@alfresco/adf-process-services-cloud 8.1.0-15865093855 → 8.1.0-15928551305

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 (38) hide show
  1. package/esm2022/lib/app/components/app-details-cloud/app-details-cloud.component.mjs +4 -4
  2. package/esm2022/lib/app/components/app-list-cloud/app-list-cloud.component.mjs +8 -9
  3. package/esm2022/lib/common/date-range-filter/date-range-filter.component.mjs +9 -10
  4. package/esm2022/lib/form/components/form-cloud.component.mjs +9 -10
  5. package/esm2022/lib/form/components/form-definition-selector-cloud.component.mjs +7 -8
  6. package/esm2022/lib/form/components/spinner/form-spinner.component.mjs +5 -6
  7. package/esm2022/lib/form/components/widgets/attach-file/attach-file-cloud-widget.component.mjs +6 -7
  8. package/esm2022/lib/form/components/widgets/attach-file/file-properties-table/file-properties-table-cloud.component.mjs +9 -10
  9. package/esm2022/lib/form/components/widgets/data-table/data-table.widget.mjs +4 -5
  10. package/esm2022/lib/form/components/widgets/date/date-cloud.widget.mjs +10 -11
  11. package/esm2022/lib/form/components/widgets/display-external-property/display-external-property.widget.mjs +8 -9
  12. package/esm2022/lib/form/components/widgets/dropdown/dropdown-cloud.widget.mjs +5 -6
  13. package/esm2022/lib/form/components/widgets/file-viewer/file-viewer.widget.mjs +4 -5
  14. package/esm2022/lib/form/components/widgets/group/group-cloud.widget.mjs +5 -6
  15. package/esm2022/lib/form/components/widgets/people/people-cloud.widget.mjs +5 -6
  16. package/esm2022/lib/form/components/widgets/properties-viewer/properties-viewer.widget.mjs +4 -5
  17. package/esm2022/lib/form/components/widgets/radio-buttons/radio-buttons-cloud.widget.mjs +5 -6
  18. package/esm2022/lib/form/components/widgets/upload/upload-cloud.widget.mjs +8 -9
  19. package/esm2022/lib/group/components/group-cloud.component.mjs +14 -15
  20. package/esm2022/lib/people/components/people-cloud.component.mjs +14 -15
  21. package/esm2022/lib/process/process-filters/components/edit-process-filter/edit-process-filter-cloud.component.mjs +11 -12
  22. package/esm2022/lib/process/process-filters/components/process-filter-dialog/process-filter-dialog-cloud.component.mjs +10 -11
  23. package/esm2022/lib/process/process-filters/components/process-filters/process-filters-cloud.component.mjs +6 -7
  24. package/esm2022/lib/process/process-list/components/process-list-cloud.component.mjs +4 -5
  25. package/esm2022/lib/process/start-process/components/start-process-cloud.component.mjs +13 -14
  26. package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-service-task-filter/edit-service-task-filter-cloud.component.mjs +15 -16
  27. package/esm2022/lib/task/task-filters/components/edit-task-filters/edit-task-filter/edit-task-filter-cloud.component.mjs +15 -16
  28. package/esm2022/lib/task/task-filters/components/service-task-filters/service-task-filters-cloud.component.mjs +6 -7
  29. package/esm2022/lib/task/task-filters/components/task-assignment-filter/task-assignment-filter.component.mjs +8 -9
  30. package/esm2022/lib/task/task-filters/components/task-filter-dialog/task-filter-dialog-cloud.component.mjs +8 -9
  31. package/esm2022/lib/task/task-filters/components/task-filters/task-filters-cloud.component.mjs +5 -6
  32. package/esm2022/lib/task/task-form/components/user-task-cloud/user-task-cloud.component.mjs +7 -8
  33. package/esm2022/lib/task/task-form/components/user-task-cloud-buttons/user-task-cloud-buttons.component.mjs +5 -6
  34. package/esm2022/lib/task/task-list/components/service-task-list/service-task-list-cloud.component.mjs +5 -6
  35. package/esm2022/lib/task/task-list/components/task-list/task-list-cloud.component.mjs +5 -6
  36. package/fesm2022/adf-process-services-cloud.mjs +113 -114
  37. package/fesm2022/adf-process-services-cloud.mjs.map +1 -1
  38. package/package.json +4 -4
@@ -20,17 +20,16 @@ import { AssignmentType, TaskStatusFilter } from '../../models/filter-cloud.mode
20
20
  import { IdentityUserService } from '../../../../people/services/identity-user.service';
21
21
  import { FormControl, FormsModule } from '@angular/forms';
22
22
  import { CommonModule } from '@angular/common';
23
- import { TranslateModule } from '@ngx-translate/core';
23
+ import { TranslatePipe } from '@ngx-translate/core';
24
24
  import { GroupCloudComponent } from '../../../../group/components/group-cloud.component';
25
25
  import { PeopleCloudComponent } from '../../../../people/components/people-cloud.component';
26
26
  import * as i0 from "@angular/core";
27
27
  import * as i1 from "../../../../people/services/identity-user.service";
28
28
  import * as i2 from "@angular/common";
29
- import * as i3 from "@ngx-translate/core";
30
- import * as i4 from "@angular/material/form-field";
31
- import * as i5 from "@angular/material/select";
32
- import * as i6 from "@angular/material/core";
33
- import * as i7 from "@angular/forms";
29
+ import * as i3 from "@angular/material/form-field";
30
+ import * as i4 from "@angular/material/select";
31
+ import * as i5 from "@angular/material/core";
32
+ import * as i6 from "@angular/forms";
34
33
  export class TaskAssignmentFilterCloudComponent {
35
34
  constructor(identityUserService) {
36
35
  this.identityUserService = identityUserService;
@@ -122,11 +121,11 @@ export class TaskAssignmentFilterCloudComponent {
122
121
  return !!this.taskFilterProperty.attributes && !!this.taskFilterProperty.value;
123
122
  }
124
123
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskAssignmentFilterCloudComponent, deps: [{ token: i1.IdentityUserService }], target: i0.ɵɵFactoryTarget.Component }); }
125
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TaskAssignmentFilterCloudComponent, isStandalone: true, selector: "adf-cloud-task-assignment-filter", inputs: { appName: "appName", taskFilterProperty: "taskFilterProperty", status: "status" }, outputs: { assignedUsersChange: "assignedUsersChange", assignedGroupsChange: "assignedGroupsChange", assignmentTypeChange: "assignmentTypeChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"adf-cloud-assignment-container\">\n <mat-form-field floatLabel=\"auto\" class=\"adf-task-assignment-filter-container\">\n <mat-label class=\"adf-task-assignment-filter-label\"\n [ngClass]=\"{'adf-task-assignment-filter-label--focus': typeDropdown.focused}\">\n {{ 'ADF_CLOUD_TASK_ASSIGNMENT_FILTER.ASSIGNMENT_TYPE' | translate }}\n </mat-label>\n <mat-select class=\"adf-task-assignment-filter\"\n [(ngModel)]=\"assignmentType\" #typeDropdown\n [attr.data-automation-id]=\"'adf-task-assignment-filter-select'\"\n (selectionChange)=\"onAssignmentTypeChange($event)\">\n <mat-option *ngFor=\"let assignmentType of assignmentTypeOptions\"\n class=\"adf-task-assignment-filter-option\"\n [ngClass]=\"{'adf-task-assignment-filter-option--selected': filterOption.selected}\"\n [value]=\"assignmentType.value\" #filterOption\n [attr.data-automation-id]=\"'adf-task-assignment-filter-' + assignmentType.value\">\n {{ assignmentType.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <adf-cloud-group *ngIf=\"isCandidateGroupsType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-candidate-groups-filter\"\n [appName]=\"appName\"\n [preSelectGroups]=\"candidateGroups\"\n [mode]=\"taskFilterProperty.selectionMode\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.CANDIDATE_GROUP'\"\n (changedGroups)=\"onChangedGroups($event)\" />\n\n <adf-cloud-people *ngIf=\"isAssignedToType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-assigned-to-filter\"\n [preSelectUsers]=\"assignedUsers\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.ASSIGNEE'\"\n [appName]=\"appName\"\n (changedUsers)=\"onChangedAssignedUsers($event)\" />\n</div>\n", styles: [".adf-cloud-assignment-container{display:flex;flex-wrap:wrap}.adf-task-assignment-filter{margin-right:10px}.adf-task-assignment-filter-container{width:100%}.adf-task-assignment-filter-label{color:var(--adf-theme-foreground-secondary-text-color)}.adf-task-assignment-filter-label.adf-task-assignment-filter-label--focus{color:var(--theme-primary-color)}.adf-task-assignment-filter-option{color:var(--adf-theme-foreground-text-color)}.adf-task-assignment-filter-option.adf-task-assignment-filter-option--selected:not(.adf-task-assignment-filter-option:disabled){color:var(--theme-primary-color)}.adf-group-cloud-filter{flex:1;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GroupCloudComponent, selector: "adf-cloud-group", inputs: ["label", "appName", "title", "mode", "preSelectGroups", "validate", "readOnly", "required", "groupChipsCtrl", "searchGroupsControl", "roles"], outputs: ["selectGroup", "removeGroup", "changedGroups", "warning"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PeopleCloudComponent, selector: "adf-cloud-people", inputs: ["label", "appName", "mode", "roles", "validate", "readOnly", "required", "preSelectUsers", "excludedUsers", "groupsRestriction", "userChipsCtrl", "searchUserCtrl", "title", "placeholder", "hideInputOnSingleSelection", "formFieldAppearance", "formFieldSubscriptSizing", "showErrors", "showFullNameOnHover"], outputs: ["selectUser", "removeUser", "changedUsers", "warning"] }] }); }
124
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TaskAssignmentFilterCloudComponent, isStandalone: true, selector: "adf-cloud-task-assignment-filter", inputs: { appName: "appName", taskFilterProperty: "taskFilterProperty", status: "status" }, outputs: { assignedUsersChange: "assignedUsersChange", assignedGroupsChange: "assignedGroupsChange", assignmentTypeChange: "assignmentTypeChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"adf-cloud-assignment-container\">\n <mat-form-field floatLabel=\"auto\" class=\"adf-task-assignment-filter-container\">\n <mat-label class=\"adf-task-assignment-filter-label\"\n [ngClass]=\"{'adf-task-assignment-filter-label--focus': typeDropdown.focused}\">\n {{ 'ADF_CLOUD_TASK_ASSIGNMENT_FILTER.ASSIGNMENT_TYPE' | translate }}\n </mat-label>\n <mat-select class=\"adf-task-assignment-filter\"\n [(ngModel)]=\"assignmentType\" #typeDropdown\n [attr.data-automation-id]=\"'adf-task-assignment-filter-select'\"\n (selectionChange)=\"onAssignmentTypeChange($event)\">\n <mat-option *ngFor=\"let assignmentType of assignmentTypeOptions\"\n class=\"adf-task-assignment-filter-option\"\n [ngClass]=\"{'adf-task-assignment-filter-option--selected': filterOption.selected}\"\n [value]=\"assignmentType.value\" #filterOption\n [attr.data-automation-id]=\"'adf-task-assignment-filter-' + assignmentType.value\">\n {{ assignmentType.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <adf-cloud-group *ngIf=\"isCandidateGroupsType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-candidate-groups-filter\"\n [appName]=\"appName\"\n [preSelectGroups]=\"candidateGroups\"\n [mode]=\"taskFilterProperty.selectionMode\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.CANDIDATE_GROUP'\"\n (changedGroups)=\"onChangedGroups($event)\" />\n\n <adf-cloud-people *ngIf=\"isAssignedToType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-assigned-to-filter\"\n [preSelectUsers]=\"assignedUsers\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.ASSIGNEE'\"\n [appName]=\"appName\"\n (changedUsers)=\"onChangedAssignedUsers($event)\" />\n</div>\n", styles: [".adf-cloud-assignment-container{display:flex;flex-wrap:wrap}.adf-task-assignment-filter{margin-right:10px}.adf-task-assignment-filter-container{width:100%}.adf-task-assignment-filter-label{color:var(--adf-theme-foreground-secondary-text-color)}.adf-task-assignment-filter-label.adf-task-assignment-filter-label--focus{color:var(--theme-primary-color)}.adf-task-assignment-filter-option{color:var(--adf-theme-foreground-text-color)}.adf-task-assignment-filter-option.adf-task-assignment-filter-option--selected:not(.adf-task-assignment-filter-option:disabled){color:var(--theme-primary-color)}.adf-group-cloud-filter{flex:1;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GroupCloudComponent, selector: "adf-cloud-group", inputs: ["label", "appName", "title", "mode", "preSelectGroups", "validate", "readOnly", "required", "groupChipsCtrl", "searchGroupsControl", "roles"], outputs: ["selectGroup", "removeGroup", "changedGroups", "warning"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PeopleCloudComponent, selector: "adf-cloud-people", inputs: ["label", "appName", "mode", "roles", "validate", "readOnly", "required", "preSelectUsers", "excludedUsers", "groupsRestriction", "userChipsCtrl", "searchUserCtrl", "title", "placeholder", "hideInputOnSingleSelection", "formFieldAppearance", "formFieldSubscriptSizing", "showErrors", "showFullNameOnHover"], outputs: ["selectUser", "removeUser", "changedUsers", "warning"] }] }); }
126
125
  }
127
126
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskAssignmentFilterCloudComponent, decorators: [{
128
127
  type: Component,
129
- args: [{ selector: 'adf-cloud-task-assignment-filter', standalone: true, imports: [CommonModule, GroupCloudComponent, TranslateModule, MatSelectModule, FormsModule, PeopleCloudComponent], template: "<div class=\"adf-cloud-assignment-container\">\n <mat-form-field floatLabel=\"auto\" class=\"adf-task-assignment-filter-container\">\n <mat-label class=\"adf-task-assignment-filter-label\"\n [ngClass]=\"{'adf-task-assignment-filter-label--focus': typeDropdown.focused}\">\n {{ 'ADF_CLOUD_TASK_ASSIGNMENT_FILTER.ASSIGNMENT_TYPE' | translate }}\n </mat-label>\n <mat-select class=\"adf-task-assignment-filter\"\n [(ngModel)]=\"assignmentType\" #typeDropdown\n [attr.data-automation-id]=\"'adf-task-assignment-filter-select'\"\n (selectionChange)=\"onAssignmentTypeChange($event)\">\n <mat-option *ngFor=\"let assignmentType of assignmentTypeOptions\"\n class=\"adf-task-assignment-filter-option\"\n [ngClass]=\"{'adf-task-assignment-filter-option--selected': filterOption.selected}\"\n [value]=\"assignmentType.value\" #filterOption\n [attr.data-automation-id]=\"'adf-task-assignment-filter-' + assignmentType.value\">\n {{ assignmentType.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <adf-cloud-group *ngIf=\"isCandidateGroupsType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-candidate-groups-filter\"\n [appName]=\"appName\"\n [preSelectGroups]=\"candidateGroups\"\n [mode]=\"taskFilterProperty.selectionMode\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.CANDIDATE_GROUP'\"\n (changedGroups)=\"onChangedGroups($event)\" />\n\n <adf-cloud-people *ngIf=\"isAssignedToType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-assigned-to-filter\"\n [preSelectUsers]=\"assignedUsers\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.ASSIGNEE'\"\n [appName]=\"appName\"\n (changedUsers)=\"onChangedAssignedUsers($event)\" />\n</div>\n", styles: [".adf-cloud-assignment-container{display:flex;flex-wrap:wrap}.adf-task-assignment-filter{margin-right:10px}.adf-task-assignment-filter-container{width:100%}.adf-task-assignment-filter-label{color:var(--adf-theme-foreground-secondary-text-color)}.adf-task-assignment-filter-label.adf-task-assignment-filter-label--focus{color:var(--theme-primary-color)}.adf-task-assignment-filter-option{color:var(--adf-theme-foreground-text-color)}.adf-task-assignment-filter-option.adf-task-assignment-filter-option--selected:not(.adf-task-assignment-filter-option:disabled){color:var(--theme-primary-color)}.adf-group-cloud-filter{flex:1;width:100%}\n"] }]
128
+ args: [{ selector: 'adf-cloud-task-assignment-filter', standalone: true, imports: [CommonModule, GroupCloudComponent, TranslatePipe, MatSelectModule, FormsModule, PeopleCloudComponent], template: "<div class=\"adf-cloud-assignment-container\">\n <mat-form-field floatLabel=\"auto\" class=\"adf-task-assignment-filter-container\">\n <mat-label class=\"adf-task-assignment-filter-label\"\n [ngClass]=\"{'adf-task-assignment-filter-label--focus': typeDropdown.focused}\">\n {{ 'ADF_CLOUD_TASK_ASSIGNMENT_FILTER.ASSIGNMENT_TYPE' | translate }}\n </mat-label>\n <mat-select class=\"adf-task-assignment-filter\"\n [(ngModel)]=\"assignmentType\" #typeDropdown\n [attr.data-automation-id]=\"'adf-task-assignment-filter-select'\"\n (selectionChange)=\"onAssignmentTypeChange($event)\">\n <mat-option *ngFor=\"let assignmentType of assignmentTypeOptions\"\n class=\"adf-task-assignment-filter-option\"\n [ngClass]=\"{'adf-task-assignment-filter-option--selected': filterOption.selected}\"\n [value]=\"assignmentType.value\" #filterOption\n [attr.data-automation-id]=\"'adf-task-assignment-filter-' + assignmentType.value\">\n {{ assignmentType.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <adf-cloud-group *ngIf=\"isCandidateGroupsType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-candidate-groups-filter\"\n [appName]=\"appName\"\n [preSelectGroups]=\"candidateGroups\"\n [mode]=\"taskFilterProperty.selectionMode\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.CANDIDATE_GROUP'\"\n (changedGroups)=\"onChangedGroups($event)\" />\n\n <adf-cloud-people *ngIf=\"isAssignedToType()\"\n class=\"adf-group-cloud-filter\"\n data-automation-id=\"adf-group-cloud-assigned-to-filter\"\n [preSelectUsers]=\"assignedUsers\"\n [title]=\"'ADF_CLOUD_TASK_LIST.START_TASK.FORM.LABEL.ASSIGNEE'\"\n [appName]=\"appName\"\n (changedUsers)=\"onChangedAssignedUsers($event)\" />\n</div>\n", styles: [".adf-cloud-assignment-container{display:flex;flex-wrap:wrap}.adf-task-assignment-filter{margin-right:10px}.adf-task-assignment-filter-container{width:100%}.adf-task-assignment-filter-label{color:var(--adf-theme-foreground-secondary-text-color)}.adf-task-assignment-filter-label.adf-task-assignment-filter-label--focus{color:var(--theme-primary-color)}.adf-task-assignment-filter-option{color:var(--adf-theme-foreground-text-color)}.adf-task-assignment-filter-option.adf-task-assignment-filter-option--selected:not(.adf-task-assignment-filter-option:disabled){color:var(--theme-primary-color)}.adf-group-cloud-filter{flex:1;width:100%}\n"] }]
130
129
  }], ctorParameters: () => [{ type: i1.IdentityUserService }], propDecorators: { appName: [{
131
130
  type: Input
132
131
  }], taskFilterProperty: [{
@@ -140,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
140
139
  }], assignmentTypeChange: [{
141
140
  type: Output
142
141
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1hc3NpZ25tZW50LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL3Rhc2svdGFzay1maWx0ZXJzL2NvbXBvbmVudHMvdGFzay1hc3NpZ25tZW50LWZpbHRlci90YXNrLWFzc2lnbm1lbnQtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy90YXNrLWFzc2lnbm1lbnQtZmlsdGVyL3Rhc2stYXNzaWdubWVudC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUF3QixnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXpHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBR3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0FBUzVGLE1B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a0IsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7SUFDbkYsQ0FBQzsrR0FoSFEsa0NBQWtDO21HQUFsQyxrQ0FBa0Msa1dDckMvQyw2L0RBcUNBLHFyQkRKYyxZQUFZLDhWQUFFLG1CQUFtQix3UkFBRSxlQUFlLDJGQUFFLGVBQWUsKzdCQUFFLFdBQVcsK1ZBQUUsb0JBQW9COzs0RkFJdkcsa0NBQWtDO2tCQVA5QyxTQUFTOytCQUNJLGtDQUFrQyxjQUNoQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLENBQUM7d0ZBS3hHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFFRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBRUcsb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSwgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEFzc2lnbm1lbnRUeXBlLCBUYXNrRmlsdGVyUHJvcGVydGllcywgVGFza1N0YXR1c0ZpbHRlciB9IGZyb20gJy4uLy4uL21vZGVscy9maWx0ZXItY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgSWRlbnRpdHlVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9wZW9wbGUvbW9kZWxzL2lkZW50aXR5LXVzZXIubW9kZWwnO1xuaW1wb3J0IHsgSWRlbnRpdHlVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Blb3BsZS9zZXJ2aWNlcy9pZGVudGl0eS11c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWRlbnRpdHlHcm91cE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vZ3JvdXAvbW9kZWxzL2lkZW50aXR5LWdyb3VwLm1vZGVsJztcbmltcG9ydCB7IERyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi4vZWRpdC10YXNrLWZpbHRlcnMvYmFzZS1lZGl0LXRhc2stZmlsdGVyLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBHcm91cENsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vZ3JvdXAvY29tcG9uZW50cy9ncm91cC1jbG91ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVvcGxlQ2xvdWRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtY2xvdWQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2xvdWQtdGFzay1hc3NpZ25tZW50LWZpbHRlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBHcm91cENsb3VkQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSwgRm9ybXNNb2R1bGUsIFBlb3BsZUNsb3VkQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFzay1hc3NpZ25tZW50LWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFzay1hc3NpZ25tZW50LWZpbHRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tBc3NpZ25tZW50RmlsdGVyQ2xvdWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgYXBwTmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgdGFza0ZpbHRlclByb3BlcnR5OiBUYXNrRmlsdGVyUHJvcGVydGllcztcblxuICAgIEBJbnB1dCgpIHN0YXR1czogVGFza1N0YXR1c0ZpbHRlcjtcblxuICAgIEBPdXRwdXQoKSBhc3NpZ25lZFVzZXJzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJZGVudGl0eVVzZXJNb2RlbFtdPigpO1xuXG4gICAgQE91dHB1dCgpIGFzc2lnbmVkR3JvdXBzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJZGVudGl0eUdyb3VwTW9kZWxbXT4oKTtcblxuICAgIEBPdXRwdXQoKSBhc3NpZ25tZW50VHlwZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXNzaWdubWVudFR5cGU+KCk7XG5cbiAgICBhc3NpZ25tZW50VHlwZTogQXNzaWdubWVudFR5cGU7XG4gICAgYXNzaWduZWRVc2VyczogSWRlbnRpdHlVc2VyTW9kZWxbXSA9IFtdO1xuICAgIGNhbmRpZGF0ZUdyb3VwczogSWRlbnRpdHlHcm91cE1vZGVsW10gPSBbXTtcbiAgICBncm91cEZvcm0gPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICAgIGFzc2lnbm1lbnRUeXBlT3B0aW9uczogRHJvcGRvd25PcHRpb25bXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaWRlbnRpdHlVc2VyU2VydmljZTogSWRlbnRpdHlVc2VyU2VydmljZSkge31cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXM/LnN0YXR1cz8uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzPy5zdGF0dXM/LnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlQXNzaWdubWVudFR5cGVCeVN0YXR1cyhjaGFuZ2VzPy5zdGF0dXM/LmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hc3NpZ25tZW50VHlwZU9wdGlvbnMgPSB0aGlzLmdldEFzc2lnbm1lbnRUeXBlT3B0aW9ucygpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzRmlsdGVyUHJvcGVydHlEZWZpbmVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0SW5pdGlhbENhbmRpZGF0ZUdyb3VwcygpO1xuICAgICAgICAgICAgdGhpcy5zZXRJbml0aWFsQXNzaWduZWRVc2VycygpO1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0QXNzaWdubWVudFR5cGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzQ2FuZGlkYXRlR3JvdXBzVHlwZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXNzaWdubWVudFR5cGUgPT09IEFzc2lnbm1lbnRUeXBlLkNBTkRJREFURV9HUk9VUFM7XG4gICAgfVxuXG4gICAgaXNBc3NpZ25lZFRvVHlwZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXNzaWdubWVudFR5cGUgPT09IEFzc2lnbm1lbnRUeXBlLkFTU0lHTkVEX1RPO1xuICAgIH1cblxuICAgIG9uQXNzaWdubWVudFR5cGVDaGFuZ2UoYXNzaWdubWVudENoYW5nZTogTWF0U2VsZWN0Q2hhbmdlKSB7XG4gICAgICAgIHRoaXMuY2FuZGlkYXRlR3JvdXBzID0gW107XG4gICAgICAgIHRoaXMuYXNzaWduZWRVc2VycyA9IFtdO1xuXG4gICAgICAgIGlmIChhc3NpZ25tZW50Q2hhbmdlLnZhbHVlID09PSBBc3NpZ25tZW50VHlwZS5DVVJSRU5UX1VTRVIpIHtcbiAgICAgICAgICAgIHRoaXMuYXNzaWduZWRVc2Vyc0NoYW5nZS5lbWl0KFt0aGlzLmlkZW50aXR5VXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXJJbmZvKCldKTtcbiAgICAgICAgfSBlbHNlIGlmIChhc3NpZ25tZW50Q2hhbmdlLnZhbHVlID09PSBBc3NpZ25tZW50VHlwZS5OT05FKSB7XG4gICAgICAgICAgICB0aGlzLmFzc2lnbmVkVXNlcnNDaGFuZ2UuZW1pdChbXSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFzc2lnbm1lbnRUeXBlID0gYXNzaWdubWVudENoYW5nZS52YWx1ZTtcbiAgICAgICAgdGhpcy5hc3NpZ25tZW50VHlwZUNoYW5nZS5lbWl0KHRoaXMuYXNzaWdubWVudFR5cGUpO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlZEdyb3Vwcyhncm91cHM6IElkZW50aXR5R3JvdXBNb2RlbFtdKSB7XG4gICAgICAgIHRoaXMuYXNzaWduZWRHcm91cHNDaGFuZ2UuZW1pdChncm91cHMpO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlZEFzc2lnbmVkVXNlcnModXNlcnM6IElkZW50aXR5VXNlck1vZGVsW10pIHtcbiAgICAgICAgdGhpcy5hc3NpZ25lZFVzZXJzQ2hhbmdlLmVtaXQodXNlcnMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlQXNzaWdubWVudFR5cGVCeVN0YXR1cyhzdGF0dXM6IFRhc2tTdGF0dXNGaWx0ZXIpIHtcbiAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICAgIGNhc2UgVGFza1N0YXR1c0ZpbHRlci5DUkVBVEVEOlxuICAgICAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5VTkFTU0lHTkVEO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUYXNrU3RhdHVzRmlsdGVyLkFTU0lHTkVEOlxuICAgICAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5BU1NJR05FRF9UTztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5hc3NpZ25tZW50VHlwZSA9IEFzc2lnbm1lbnRUeXBlLk5PTkU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFzc2lnbm1lbnRUeXBlT3B0aW9ucygpOiBEcm9wZG93bk9wdGlvbltdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgdmFsdWU6IEFzc2lnbm1lbnRUeXBlLk5PTkUsIGxhYmVsOiBgQURGX0NMT1VEX1RBU0tfQVNTSUdOTUVOVF9GSUxURVIuJHtBc3NpZ25tZW50VHlwZS5OT05FfWAgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IEFzc2lnbm1lbnRUeXBlLlVOQVNTSUdORUQsIGxhYmVsOiBgQURGX0NMT1VEX1RBU0tfQVNTSUdOTUVOVF9GSUxURVIuJHtBc3NpZ25tZW50VHlwZS5VTkFTU0lHTkVEfWAgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IEFzc2lnbm1lbnRUeXBlLkFTU0lHTkVEX1RPLCBsYWJlbDogYEFERl9DTE9VRF9UQVNLX0FTU0lHTk1FTlRfRklMVEVSLiR7QXNzaWdubWVudFR5cGUuQVNTSUdORURfVE99YCB9LFxuICAgICAgICAgICAgeyB2YWx1ZTogQXNzaWdubWVudFR5cGUuQ1VSUkVOVF9VU0VSLCBsYWJlbDogYEFERl9DTE9VRF9UQVNLX0FTU0lHTk1FTlRfRklMVEVSLiR7QXNzaWdubWVudFR5cGUuQ1VSUkVOVF9VU0VSfWAgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IEFzc2lnbm1lbnRUeXBlLkNBTkRJREFURV9HUk9VUFMsIGxhYmVsOiBgQURGX0NMT1VEX1RBU0tfQVNTSUdOTUVOVF9GSUxURVIuJHtBc3NpZ25tZW50VHlwZS5DQU5ESURBVEVfR1JPVVBTfWAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdEFzc2lnbm1lbnRUeXBlKCkge1xuICAgICAgICBpZiAodGhpcy5jYW5kaWRhdGVHcm91cHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5hc3NpZ25tZW50VHlwZSA9IEFzc2lnbm1lbnRUeXBlLkNBTkRJREFURV9HUk9VUFM7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5hc3NpZ25lZFVzZXJzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5BU1NJR05FRF9UTztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5OT05FO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbml0aWFsQ2FuZGlkYXRlR3JvdXBzKCkge1xuICAgICAgICBjb25zdCBjYW5kaWRhdGVHcm91cHNBdHRyID0gdGhpcy50YXNrRmlsdGVyUHJvcGVydHkuYXR0cmlidXRlc1snY2FuZGlkYXRlR3JvdXBzJ107XG4gICAgICAgIHRoaXMuY2FuZGlkYXRlR3JvdXBzID0gdGhpcy50YXNrRmlsdGVyUHJvcGVydHkudmFsdWVbY2FuZGlkYXRlR3JvdXBzQXR0cl07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbml0aWFsQXNzaWduZWRVc2VycygpIHtcbiAgICAgICAgY29uc3QgYXNzaWduZWRVc2Vyc0F0dHIgPSB0aGlzLnRhc2tGaWx0ZXJQcm9wZXJ0eS5hdHRyaWJ1dGVzWydhc3NpZ25lZFVzZXJzJ107XG4gICAgICAgIHRoaXMuYXNzaWduZWRVc2VycyA9IHRoaXMudGFza0ZpbHRlclByb3BlcnR5LnZhbHVlW2Fzc2lnbmVkVXNlcnNBdHRyXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRmlsdGVyUHJvcGVydHlEZWZpbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRhc2tGaWx0ZXJQcm9wZXJ0eS5hdHRyaWJ1dGVzICYmICEhdGhpcy50YXNrRmlsdGVyUHJvcGVydHkudmFsdWU7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1jbG91ZC1hc3NpZ25tZW50LWNvbnRhaW5lclwiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYXV0b1wiIGNsYXNzPVwiYWRmLXRhc2stYXNzaWdubWVudC1maWx0ZXItY29udGFpbmVyXCI+XG4gICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJhZGYtdGFzay1hc3NpZ25tZW50LWZpbHRlci1sYWJlbFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FkZi10YXNrLWFzc2lnbm1lbnQtZmlsdGVyLWxhYmVsLS1mb2N1cyc6IHR5cGVEcm9wZG93bi5mb2N1c2VkfVwiPlxuICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9UQVNLX0FTU0lHTk1FTlRfRklMVEVSLkFTU0lHTk1FTlRfVFlQRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IGNsYXNzPVwiYWRmLXRhc2stYXNzaWdubWVudC1maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFzc2lnbm1lbnRUeXBlXCIgI3R5cGVEcm9wZG93blxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi10YXNrLWFzc2lnbm1lbnQtZmlsdGVyLXNlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQXNzaWdubWVudFR5cGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGFzc2lnbm1lbnRUeXBlIG9mIGFzc2lnbm1lbnRUeXBlT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtdGFzay1hc3NpZ25tZW50LWZpbHRlci1vcHRpb25cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWRmLXRhc2stYXNzaWdubWVudC1maWx0ZXItb3B0aW9uLS1zZWxlY3RlZCc6IGZpbHRlck9wdGlvbi5zZWxlY3RlZH1cIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJhc3NpZ25tZW50VHlwZS52YWx1ZVwiICNmaWx0ZXJPcHRpb25cbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi10YXNrLWFzc2lnbm1lbnQtZmlsdGVyLScgKyBhc3NpZ25tZW50VHlwZS52YWx1ZVwiPlxuICAgICAgICAgICAgICAgIHt7IGFzc2lnbm1lbnRUeXBlLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPGFkZi1jbG91ZC1ncm91cCAqbmdJZj1cImlzQ2FuZGlkYXRlR3JvdXBzVHlwZSgpXCJcbiAgICAgICAgY2xhc3M9XCJhZGYtZ3JvdXAtY2xvdWQtZmlsdGVyXCJcbiAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWdyb3VwLWNsb3VkLWNhbmRpZGF0ZS1ncm91cHMtZmlsdGVyXCJcbiAgICAgICAgW2FwcE5hbWVdPVwiYXBwTmFtZVwiXG4gICAgICAgIFtwcmVTZWxlY3RHcm91cHNdPVwiY2FuZGlkYXRlR3JvdXBzXCJcbiAgICAgICAgW21vZGVdPVwidGFza0ZpbHRlclByb3BlcnR5LnNlbGVjdGlvbk1vZGVcIlxuICAgICAgICBbdGl0bGVdPVwiJ0FERl9DTE9VRF9UQVNLX0xJU1QuU1RBUlRfVEFTSy5GT1JNLkxBQkVMLkNBTkRJREFURV9HUk9VUCdcIlxuICAgICAgICAoY2hhbmdlZEdyb3Vwcyk9XCJvbkNoYW5nZWRHcm91cHMoJGV2ZW50KVwiIC8+XG5cbiAgICA8YWRmLWNsb3VkLXBlb3BsZSAqbmdJZj1cImlzQXNzaWduZWRUb1R5cGUoKVwiXG4gICAgICAgIGNsYXNzPVwiYWRmLWdyb3VwLWNsb3VkLWZpbHRlclwiXG4gICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1ncm91cC1jbG91ZC1hc3NpZ25lZC10by1maWx0ZXJcIlxuICAgICAgICBbcHJlU2VsZWN0VXNlcnNdPVwiYXNzaWduZWRVc2Vyc1wiXG4gICAgICAgIFt0aXRsZV09XCInQURGX0NMT1VEX1RBU0tfTElTVC5TVEFSVF9UQVNLLkZPUk0uTEFCRUwuQVNTSUdORUUnXCJcbiAgICAgICAgW2FwcE5hbWVdPVwiYXBwTmFtZVwiXG4gICAgICAgIChjaGFuZ2VkVXNlcnMpPVwib25DaGFuZ2VkQXNzaWduZWRVc2VycygkZXZlbnQpXCIgLz5cbjwvZGl2PlxuIl19
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1hc3NpZ25tZW50LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL3Rhc2svdGFzay1maWx0ZXJzL2NvbXBvbmVudHMvdGFzay1hc3NpZ25tZW50LWZpbHRlci90YXNrLWFzc2lnbm1lbnQtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy90YXNrLWFzc2lnbm1lbnQtZmlsdGVyL3Rhc2stYXNzaWdubWVudC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUF3QixnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXpHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBR3hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7QUFTNUYsTUFB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QixDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTyx1QkFBdUI7UUFDM0IsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTyx1QkFBdUI7UUFDM0IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztJQUNuRixDQUFDOytHQWhIUSxrQ0FBa0M7bUdBQWxDLGtDQUFrQyxrV0NyQy9DLDYvREFxQ0EscXJCREpjLFlBQVksOFZBQUUsbUJBQW1CLG9SQUFFLGFBQWEsaURBQUUsZUFBZSwrN0JBQUUsV0FBVywrVkFBRSxvQkFBb0I7OzRGQUlyRyxrQ0FBa0M7a0JBUDlDLFNBQVM7K0JBQ0ksa0NBQWtDLGNBQ2hDLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQzt3RkFLdEcsT0FBTztzQkFBZixLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUVHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFFRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlLCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgQXNzaWdubWVudFR5cGUsIFRhc2tGaWx0ZXJQcm9wZXJ0aWVzLCBUYXNrU3RhdHVzRmlsdGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbHRlci1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBJZGVudGl0eVVzZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3Blb3BsZS9tb2RlbHMvaWRlbnRpdHktdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBJZGVudGl0eVVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGVvcGxlL3NlcnZpY2VzL2lkZW50aXR5LXVzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJZGVudGl0eUdyb3VwTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9ncm91cC9tb2RlbHMvaWRlbnRpdHktZ3JvdXAubW9kZWwnO1xuaW1wb3J0IHsgRHJvcGRvd25PcHRpb24gfSBmcm9tICcuLi9lZGl0LXRhc2stZmlsdGVycy9iYXNlLWVkaXQtdGFzay1maWx0ZXItY2xvdWQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBHcm91cENsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vZ3JvdXAvY29tcG9uZW50cy9ncm91cC1jbG91ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVvcGxlQ2xvdWRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtY2xvdWQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2xvdWQtdGFzay1hc3NpZ25tZW50LWZpbHRlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBHcm91cENsb3VkQ29tcG9uZW50LCBUcmFuc2xhdGVQaXBlLCBNYXRTZWxlY3RNb2R1bGUsIEZvcm1zTW9kdWxlLCBQZW9wbGVDbG91ZENvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stYXNzaWdubWVudC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rhc2stYXNzaWdubWVudC1maWx0ZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYXNrQXNzaWdubWVudEZpbHRlckNsb3VkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIGFwcE5hbWU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHRhc2tGaWx0ZXJQcm9wZXJ0eTogVGFza0ZpbHRlclByb3BlcnRpZXM7XG5cbiAgICBASW5wdXQoKSBzdGF0dXM6IFRhc2tTdGF0dXNGaWx0ZXI7XG5cbiAgICBAT3V0cHV0KCkgYXNzaWduZWRVc2Vyc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SWRlbnRpdHlVc2VyTW9kZWxbXT4oKTtcblxuICAgIEBPdXRwdXQoKSBhc3NpZ25lZEdyb3Vwc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SWRlbnRpdHlHcm91cE1vZGVsW10+KCk7XG5cbiAgICBAT3V0cHV0KCkgYXNzaWdubWVudFR5cGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFzc2lnbm1lbnRUeXBlPigpO1xuXG4gICAgYXNzaWdubWVudFR5cGU6IEFzc2lnbm1lbnRUeXBlO1xuICAgIGFzc2lnbmVkVXNlcnM6IElkZW50aXR5VXNlck1vZGVsW10gPSBbXTtcbiAgICBjYW5kaWRhdGVHcm91cHM6IElkZW50aXR5R3JvdXBNb2RlbFtdID0gW107XG4gICAgZ3JvdXBGb3JtID0gbmV3IEZvcm1Db250cm9sKCcnKTtcbiAgICBhc3NpZ25tZW50VHlwZU9wdGlvbnM6IERyb3Bkb3duT3B0aW9uW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGlkZW50aXR5VXNlclNlcnZpY2U6IElkZW50aXR5VXNlclNlcnZpY2UpIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzPy5zdGF0dXM/LmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcz8uc3RhdHVzPy5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZUFzc2lnbm1lbnRUeXBlQnlTdGF0dXMoY2hhbmdlcz8uc3RhdHVzPy5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGVPcHRpb25zID0gdGhpcy5nZXRBc3NpZ25tZW50VHlwZU9wdGlvbnMoKTtcblxuICAgICAgICBpZiAodGhpcy5pc0ZpbHRlclByb3BlcnR5RGVmaW5lZCgpKSB7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxDYW5kaWRhdGVHcm91cHMoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0SW5pdGlhbEFzc2lnbmVkVXNlcnMoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEFzc2lnbm1lbnRUeXBlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0NhbmRpZGF0ZUdyb3Vwc1R5cGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFzc2lnbm1lbnRUeXBlID09PSBBc3NpZ25tZW50VHlwZS5DQU5ESURBVEVfR1JPVVBTO1xuICAgIH1cblxuICAgIGlzQXNzaWduZWRUb1R5cGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFzc2lnbm1lbnRUeXBlID09PSBBc3NpZ25tZW50VHlwZS5BU1NJR05FRF9UTztcbiAgICB9XG5cbiAgICBvbkFzc2lnbm1lbnRUeXBlQ2hhbmdlKGFzc2lnbm1lbnRDaGFuZ2U6IE1hdFNlbGVjdENoYW5nZSkge1xuICAgICAgICB0aGlzLmNhbmRpZGF0ZUdyb3VwcyA9IFtdO1xuICAgICAgICB0aGlzLmFzc2lnbmVkVXNlcnMgPSBbXTtcblxuICAgICAgICBpZiAoYXNzaWdubWVudENoYW5nZS52YWx1ZSA9PT0gQXNzaWdubWVudFR5cGUuQ1VSUkVOVF9VU0VSKSB7XG4gICAgICAgICAgICB0aGlzLmFzc2lnbmVkVXNlcnNDaGFuZ2UuZW1pdChbdGhpcy5pZGVudGl0eVVzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VySW5mbygpXSk7XG4gICAgICAgIH0gZWxzZSBpZiAoYXNzaWdubWVudENoYW5nZS52YWx1ZSA9PT0gQXNzaWdubWVudFR5cGUuTk9ORSkge1xuICAgICAgICAgICAgdGhpcy5hc3NpZ25lZFVzZXJzQ2hhbmdlLmVtaXQoW10pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hc3NpZ25tZW50VHlwZSA9IGFzc2lnbm1lbnRDaGFuZ2UudmFsdWU7XG4gICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGVDaGFuZ2UuZW1pdCh0aGlzLmFzc2lnbm1lbnRUeXBlKTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZWRHcm91cHMoZ3JvdXBzOiBJZGVudGl0eUdyb3VwTW9kZWxbXSkge1xuICAgICAgICB0aGlzLmFzc2lnbmVkR3JvdXBzQ2hhbmdlLmVtaXQoZ3JvdXBzKTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZWRBc3NpZ25lZFVzZXJzKHVzZXJzOiBJZGVudGl0eVVzZXJNb2RlbFtdKSB7XG4gICAgICAgIHRoaXMuYXNzaWduZWRVc2Vyc0NoYW5nZS5lbWl0KHVzZXJzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoYW5nZUFzc2lnbm1lbnRUeXBlQnlTdGF0dXMoc3RhdHVzOiBUYXNrU3RhdHVzRmlsdGVyKSB7XG4gICAgICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICAgICAgICBjYXNlIFRhc2tTdGF0dXNGaWx0ZXIuQ1JFQVRFRDpcbiAgICAgICAgICAgICAgICB0aGlzLmFzc2lnbm1lbnRUeXBlID0gQXNzaWdubWVudFR5cGUuVU5BU1NJR05FRDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVGFza1N0YXR1c0ZpbHRlci5BU1NJR05FRDpcbiAgICAgICAgICAgICAgICB0aGlzLmFzc2lnbm1lbnRUeXBlID0gQXNzaWdubWVudFR5cGUuQVNTSUdORURfVE87XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5OT05FO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBc3NpZ25tZW50VHlwZU9wdGlvbnMoKTogRHJvcGRvd25PcHRpb25bXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IHZhbHVlOiBBc3NpZ25tZW50VHlwZS5OT05FLCBsYWJlbDogYEFERl9DTE9VRF9UQVNLX0FTU0lHTk1FTlRfRklMVEVSLiR7QXNzaWdubWVudFR5cGUuTk9ORX1gIH0sXG4gICAgICAgICAgICB7IHZhbHVlOiBBc3NpZ25tZW50VHlwZS5VTkFTU0lHTkVELCBsYWJlbDogYEFERl9DTE9VRF9UQVNLX0FTU0lHTk1FTlRfRklMVEVSLiR7QXNzaWdubWVudFR5cGUuVU5BU1NJR05FRH1gIH0sXG4gICAgICAgICAgICB7IHZhbHVlOiBBc3NpZ25tZW50VHlwZS5BU1NJR05FRF9UTywgbGFiZWw6IGBBREZfQ0xPVURfVEFTS19BU1NJR05NRU5UX0ZJTFRFUi4ke0Fzc2lnbm1lbnRUeXBlLkFTU0lHTkVEX1RPfWAgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6IEFzc2lnbm1lbnRUeXBlLkNVUlJFTlRfVVNFUiwgbGFiZWw6IGBBREZfQ0xPVURfVEFTS19BU1NJR05NRU5UX0ZJTFRFUi4ke0Fzc2lnbm1lbnRUeXBlLkNVUlJFTlRfVVNFUn1gIH0sXG4gICAgICAgICAgICB7IHZhbHVlOiBBc3NpZ25tZW50VHlwZS5DQU5ESURBVEVfR1JPVVBTLCBsYWJlbDogYEFERl9DTE9VRF9UQVNLX0FTU0lHTk1FTlRfRklMVEVSLiR7QXNzaWdubWVudFR5cGUuQ0FORElEQVRFX0dST1VQU31gIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERlZmF1bHRBc3NpZ25tZW50VHlwZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY2FuZGlkYXRlR3JvdXBzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuYXNzaWdubWVudFR5cGUgPSBBc3NpZ25tZW50VHlwZS5DQU5ESURBVEVfR1JPVVBTO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYXNzaWduZWRVc2Vycz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmFzc2lnbm1lbnRUeXBlID0gQXNzaWdubWVudFR5cGUuQVNTSUdORURfVE87XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFzc2lnbm1lbnRUeXBlID0gQXNzaWdubWVudFR5cGUuTk9ORTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SW5pdGlhbENhbmRpZGF0ZUdyb3VwcygpIHtcbiAgICAgICAgY29uc3QgY2FuZGlkYXRlR3JvdXBzQXR0ciA9IHRoaXMudGFza0ZpbHRlclByb3BlcnR5LmF0dHJpYnV0ZXNbJ2NhbmRpZGF0ZUdyb3VwcyddO1xuICAgICAgICB0aGlzLmNhbmRpZGF0ZUdyb3VwcyA9IHRoaXMudGFza0ZpbHRlclByb3BlcnR5LnZhbHVlW2NhbmRpZGF0ZUdyb3Vwc0F0dHJdO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SW5pdGlhbEFzc2lnbmVkVXNlcnMoKSB7XG4gICAgICAgIGNvbnN0IGFzc2lnbmVkVXNlcnNBdHRyID0gdGhpcy50YXNrRmlsdGVyUHJvcGVydHkuYXR0cmlidXRlc1snYXNzaWduZWRVc2VycyddO1xuICAgICAgICB0aGlzLmFzc2lnbmVkVXNlcnMgPSB0aGlzLnRhc2tGaWx0ZXJQcm9wZXJ0eS52YWx1ZVthc3NpZ25lZFVzZXJzQXR0cl07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0ZpbHRlclByb3BlcnR5RGVmaW5lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50YXNrRmlsdGVyUHJvcGVydHkuYXR0cmlidXRlcyAmJiAhIXRoaXMudGFza0ZpbHRlclByb3BlcnR5LnZhbHVlO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGYtY2xvdWQtYXNzaWdubWVudC1jb250YWluZXJcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImF1dG9cIiBjbGFzcz1cImFkZi10YXNrLWFzc2lnbm1lbnQtZmlsdGVyLWNvbnRhaW5lclwiPlxuICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiYWRmLXRhc2stYXNzaWdubWVudC1maWx0ZXItbGFiZWxcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydhZGYtdGFzay1hc3NpZ25tZW50LWZpbHRlci1sYWJlbC0tZm9jdXMnOiB0eXBlRHJvcGRvd24uZm9jdXNlZH1cIj5cbiAgICAgICAgICAgIHt7ICdBREZfQ0xPVURfVEFTS19BU1NJR05NRU5UX0ZJTFRFUi5BU1NJR05NRU5UX1RZUEUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBjbGFzcz1cImFkZi10YXNrLWFzc2lnbm1lbnQtZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhc3NpZ25tZW50VHlwZVwiICN0eXBlRHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidhZGYtdGFzay1hc3NpZ25tZW50LWZpbHRlci1zZWxlY3QnXCJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkFzc2lnbm1lbnRUeXBlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBhc3NpZ25tZW50VHlwZSBvZiBhc3NpZ25tZW50VHlwZU9wdGlvbnNcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXRhc2stYXNzaWdubWVudC1maWx0ZXItb3B0aW9uXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FkZi10YXNrLWFzc2lnbm1lbnQtZmlsdGVyLW9wdGlvbi0tc2VsZWN0ZWQnOiBmaWx0ZXJPcHRpb24uc2VsZWN0ZWR9XCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiYXNzaWdubWVudFR5cGUudmFsdWVcIiAjZmlsdGVyT3B0aW9uXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidhZGYtdGFzay1hc3NpZ25tZW50LWZpbHRlci0nICsgYXNzaWdubWVudFR5cGUudmFsdWVcIj5cbiAgICAgICAgICAgICAgICB7eyBhc3NpZ25tZW50VHlwZS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxhZGYtY2xvdWQtZ3JvdXAgKm5nSWY9XCJpc0NhbmRpZGF0ZUdyb3Vwc1R5cGUoKVwiXG4gICAgICAgIGNsYXNzPVwiYWRmLWdyb3VwLWNsb3VkLWZpbHRlclwiXG4gICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1ncm91cC1jbG91ZC1jYW5kaWRhdGUtZ3JvdXBzLWZpbHRlclwiXG4gICAgICAgIFthcHBOYW1lXT1cImFwcE5hbWVcIlxuICAgICAgICBbcHJlU2VsZWN0R3JvdXBzXT1cImNhbmRpZGF0ZUdyb3Vwc1wiXG4gICAgICAgIFttb2RlXT1cInRhc2tGaWx0ZXJQcm9wZXJ0eS5zZWxlY3Rpb25Nb2RlXCJcbiAgICAgICAgW3RpdGxlXT1cIidBREZfQ0xPVURfVEFTS19MSVNULlNUQVJUX1RBU0suRk9STS5MQUJFTC5DQU5ESURBVEVfR1JPVVAnXCJcbiAgICAgICAgKGNoYW5nZWRHcm91cHMpPVwib25DaGFuZ2VkR3JvdXBzKCRldmVudClcIiAvPlxuXG4gICAgPGFkZi1jbG91ZC1wZW9wbGUgKm5nSWY9XCJpc0Fzc2lnbmVkVG9UeXBlKClcIlxuICAgICAgICBjbGFzcz1cImFkZi1ncm91cC1jbG91ZC1maWx0ZXJcIlxuICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtZ3JvdXAtY2xvdWQtYXNzaWduZWQtdG8tZmlsdGVyXCJcbiAgICAgICAgW3ByZVNlbGVjdFVzZXJzXT1cImFzc2lnbmVkVXNlcnNcIlxuICAgICAgICBbdGl0bGVdPVwiJ0FERl9DTE9VRF9UQVNLX0xJU1QuU1RBUlRfVEFTSy5GT1JNLkxBQkVMLkFTU0lHTkVFJ1wiXG4gICAgICAgIFthcHBOYW1lXT1cImFwcE5hbWVcIlxuICAgICAgICAoY2hhbmdlZFVzZXJzKT1cIm9uQ2hhbmdlZEFzc2lnbmVkVXNlcnMoJGV2ZW50KVwiIC8+XG48L2Rpdj5cbiJdfQ==
@@ -18,18 +18,17 @@ import { Component, Inject, ViewEncapsulation } from '@angular/core';
18
18
  import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';
19
19
  import { ReactiveFormsModule, UntypedFormBuilder, Validators } from '@angular/forms';
20
20
  import { CommonModule } from '@angular/common';
21
- import { TranslateModule } from '@ngx-translate/core';
21
+ import { TranslatePipe } from '@ngx-translate/core';
22
22
  import { MatInputModule } from '@angular/material/input';
23
23
  import { MatCardModule } from '@angular/material/card';
24
24
  import { MatButtonModule } from '@angular/material/button';
25
25
  import * as i0 from "@angular/core";
26
26
  import * as i1 from "@angular/forms";
27
27
  import * as i2 from "@angular/material/dialog";
28
- import * as i3 from "@ngx-translate/core";
29
- import * as i4 from "@angular/material/input";
30
- import * as i5 from "@angular/material/form-field";
31
- import * as i6 from "@angular/material/card";
32
- import * as i7 from "@angular/material/button";
28
+ import * as i3 from "@angular/material/input";
29
+ import * as i4 from "@angular/material/form-field";
30
+ import * as i5 from "@angular/material/card";
31
+ import * as i6 from "@angular/material/button";
33
32
  export class TaskFilterDialogCloudComponent {
34
33
  // eslint-disable-next-line @typescript-eslint/naming-convention
35
34
  static { this.ACTION_SAVE = 'SAVE'; }
@@ -61,13 +60,13 @@ export class TaskFilterDialogCloudComponent {
61
60
  return this.filterForm.valid;
62
61
  }
63
62
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFilterDialogCloudComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TaskFilterDialogCloudComponent, isStandalone: true, selector: "adf-cloud-task-filter-dialog", ngImport: i0, template: "<div class=\"adf-task-filter-dialog\">\n <span mat-dialog-title id=\"adf-task-filter-dialog-title\">\n {{ 'ADF_CLOUD_EDIT_TASK_FILTER.DIALOG.TITLE' | translate}}\n </span>\n <mat-card appearance=\"outlined\" class=\"adf-task-filter-dialog-card\">\n <mat-card-content class=\"adf-task-filter-dialog-card-content\">\n <form [formGroup]=\"filterForm\">\n <mat-form-field class=\"adf-task-filter-name\" [floatLabel]=\"'auto'\">\n <input matInput placeholder=\"{{ 'ADF_CLOUD_EDIT_TASK_FILTER.FILTER_NAME' | translate }}\" formControlName=\"name\" id=\"adf-filter-name-id\">\n </mat-form-field>\n </form>\n </mat-card-content>\n <mat-card-actions class=\"adf-task-filter-dialog-card-actions\">\n <button mat-button (click)=\"onSaveClick()\" id=\"adf-save-button-id\" [disabled]=\"!isValid()\">\n {{ 'ADF_CLOUD_EDIT_TASK_FILTER.DIALOG.SAVE' | translate}}\n </button>\n <button mat-button (click)=\"onCancelClick()\" id=\"adf-cancel-button-id\">\n {{ 'ADF_CLOUD_EDIT_TASK_FILTER.DIALOG.CANCEL' | translate}}\n </button>\n </mat-card-actions>\n </mat-card>\n</div>\n", styles: ["adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card{padding:0;box-shadow:none}adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card .adf-task-filter-dialog-card-actions{display:flex;max-height:100%;place-content:flex-end;align-items:flex-end}adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card-content{padding:0;box-shadow:none}adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card-content .adf-task-filter-name{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.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: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i6.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i6.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i6.MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TaskFilterDialogCloudComponent, isStandalone: true, selector: "adf-cloud-task-filter-dialog", ngImport: i0, template: "<div class=\"adf-task-filter-dialog\">\n <span mat-dialog-title id=\"adf-task-filter-dialog-title\">\n {{ 'ADF_CLOUD_EDIT_TASK_FILTER.DIALOG.TITLE' | translate}}\n </span>\n <mat-card appearance=\"outlined\" class=\"adf-task-filter-dialog-card\">\n <mat-card-content class=\"adf-task-filter-dialog-card-content\">\n <form [formGroup]=\"filterForm\">\n <mat-form-field class=\"adf-task-filter-name\" [floatLabel]=\"'auto'\">\n <input matInput placeholder=\"{{ 'ADF_CLOUD_EDIT_TASK_FILTER.FILTER_NAME' | translate }}\" formControlName=\"name\" id=\"adf-filter-name-id\">\n </mat-form-field>\n </form>\n </mat-card-content>\n <mat-card-actions class=\"adf-task-filter-dialog-card-actions\">\n <button mat-button (click)=\"onSaveClick()\" id=\"adf-save-button-id\" [disabled]=\"!isValid()\">\n {{ 'ADF_CLOUD_EDIT_TASK_FILTER.DIALOG.SAVE' | translate}}\n </button>\n <button mat-button (click)=\"onCancelClick()\" id=\"adf-cancel-button-id\">\n {{ 'ADF_CLOUD_EDIT_TASK_FILTER.DIALOG.CANCEL' | translate}}\n </button>\n </mat-card-actions>\n </mat-card>\n</div>\n", styles: ["adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card{padding:0;box-shadow:none}adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card .adf-task-filter-dialog-card-actions{display:flex;max-height:100%;place-content:flex-end;align-items:flex-end}adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card-content{padding:0;box-shadow:none}adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card-content .adf-task-filter-name{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { 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: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i5.MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
65
64
  }
66
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFilterDialogCloudComponent, decorators: [{
67
66
  type: Component,
68
- args: [{ selector: 'adf-cloud-task-filter-dialog', standalone: true, imports: [CommonModule, TranslateModule, MatInputModule, ReactiveFormsModule, MatDialogModule, MatCardModule, MatButtonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-task-filter-dialog\">\n <span mat-dialog-title id=\"adf-task-filter-dialog-title\">\n {{ 'ADF_CLOUD_EDIT_TASK_FILTER.DIALOG.TITLE' | translate}}\n </span>\n <mat-card appearance=\"outlined\" class=\"adf-task-filter-dialog-card\">\n <mat-card-content class=\"adf-task-filter-dialog-card-content\">\n <form [formGroup]=\"filterForm\">\n <mat-form-field class=\"adf-task-filter-name\" [floatLabel]=\"'auto'\">\n <input matInput placeholder=\"{{ 'ADF_CLOUD_EDIT_TASK_FILTER.FILTER_NAME' | translate }}\" formControlName=\"name\" id=\"adf-filter-name-id\">\n </mat-form-field>\n </form>\n </mat-card-content>\n <mat-card-actions class=\"adf-task-filter-dialog-card-actions\">\n <button mat-button (click)=\"onSaveClick()\" id=\"adf-save-button-id\" [disabled]=\"!isValid()\">\n {{ 'ADF_CLOUD_EDIT_TASK_FILTER.DIALOG.SAVE' | translate}}\n </button>\n <button mat-button (click)=\"onCancelClick()\" id=\"adf-cancel-button-id\">\n {{ 'ADF_CLOUD_EDIT_TASK_FILTER.DIALOG.CANCEL' | translate}}\n </button>\n </mat-card-actions>\n </mat-card>\n</div>\n", styles: ["adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card{padding:0;box-shadow:none}adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card .adf-task-filter-dialog-card-actions{display:flex;max-height:100%;place-content:flex-end;align-items:flex-end}adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card-content{padding:0;box-shadow:none}adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card-content .adf-task-filter-name{flex:1}\n"] }]
67
+ args: [{ selector: 'adf-cloud-task-filter-dialog', standalone: true, imports: [CommonModule, TranslatePipe, MatInputModule, ReactiveFormsModule, MatDialogModule, MatCardModule, MatButtonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-task-filter-dialog\">\n <span mat-dialog-title id=\"adf-task-filter-dialog-title\">\n {{ 'ADF_CLOUD_EDIT_TASK_FILTER.DIALOG.TITLE' | translate}}\n </span>\n <mat-card appearance=\"outlined\" class=\"adf-task-filter-dialog-card\">\n <mat-card-content class=\"adf-task-filter-dialog-card-content\">\n <form [formGroup]=\"filterForm\">\n <mat-form-field class=\"adf-task-filter-name\" [floatLabel]=\"'auto'\">\n <input matInput placeholder=\"{{ 'ADF_CLOUD_EDIT_TASK_FILTER.FILTER_NAME' | translate }}\" formControlName=\"name\" id=\"adf-filter-name-id\">\n </mat-form-field>\n </form>\n </mat-card-content>\n <mat-card-actions class=\"adf-task-filter-dialog-card-actions\">\n <button mat-button (click)=\"onSaveClick()\" id=\"adf-save-button-id\" [disabled]=\"!isValid()\">\n {{ 'ADF_CLOUD_EDIT_TASK_FILTER.DIALOG.SAVE' | translate}}\n </button>\n <button mat-button (click)=\"onCancelClick()\" id=\"adf-cancel-button-id\">\n {{ 'ADF_CLOUD_EDIT_TASK_FILTER.DIALOG.CANCEL' | translate}}\n </button>\n </mat-card-actions>\n </mat-card>\n</div>\n", styles: ["adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card{padding:0;box-shadow:none}adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card .adf-task-filter-dialog-card-actions{display:flex;max-height:100%;place-content:flex-end;align-items:flex-end}adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card-content{padding:0;box-shadow:none}adf-cloud-task-filter-dialog .adf-task-filter-dialog .adf-task-filter-dialog-card-content .adf-task-filter-name{flex:1}\n"] }]
69
68
  }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.MatDialogRef }, { type: undefined, decorators: [{
70
69
  type: Inject,
71
70
  args: [MAT_DIALOG_DATA]
72
71
  }] }] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1maWx0ZXItZGlhbG9nLWNsb3VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy90YXNrLWZpbHRlci1kaWFsb2cvdGFzay1maWx0ZXItZGlhbG9nLWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy90YXNrLWZpbHRlci1kaWFsb2cvdGFzay1maWx0ZXItZGlhbG9nLWNsb3VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFGLE9BQU8sRUFBbUIsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7OztBQVUzRCxNQUFNLE9BQU8sOEJBQThCO0lBQ3ZDLGdFQUFnRTthQUNsRCxnQkFBVyxHQUFHLE1BQU0sQUFBVCxDQUFVO0lBS25DLFlBQ1ksRUFBc0IsRUFDdkIsU0FBdUQsRUFDOUIsSUFBSTtRQUY1QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUE4QztRQUM5QixTQUFJLEdBQUosSUFBSSxDQUFBO1FBUHhDLGdCQUFXLEdBQUcsT0FBTyxDQUFDO0lBUW5CLENBQUM7SUFFSixRQUFRO1FBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUM1QixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzlDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDakIsTUFBTSxFQUFFLDhCQUE4QixDQUFDLFdBQVc7WUFDbEQsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUs7U0FDbEMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDOytHQXJDUSw4QkFBOEIsZ0ZBVTNCLGVBQWU7bUdBVmxCLDhCQUE4Qix3RkNsQzNDLCtzQ0FzQkEsa2xCRE9jLFlBQVksOEJBQUUsZUFBZSwyRkFBRSxjQUFjLHFqQkFBRSxtQkFBbUIsNDhCQUFFLGVBQWUsOEtBQUUsYUFBYSx5VkFBRSxlQUFlOzs0RkFLcEgsOEJBQThCO2tCQVIxQyxTQUFTOytCQUNJLDhCQUE4QixjQUM1QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxpQkFHL0csaUJBQWlCLENBQUMsSUFBSTs7MEJBWWhDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWNsb3VkLXRhc2stZmlsdGVyLWRpYWxvZycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIE1hdElucHV0TW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXREaWFsb2dNb2R1bGUsIE1hdENhcmRNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stZmlsdGVyLWRpYWxvZy1jbG91ZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFzay1maWx0ZXItZGlhbG9nLWNsb3VkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBUYXNrRmlsdGVyRGlhbG9nQ2xvdWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBwdWJsaWMgc3RhdGljIEFDVElPTl9TQVZFID0gJ1NBVkUnO1xuICAgIGRlZmF1bHRJY29uID0gJ2luYm94JztcblxuICAgIGZpbHRlckZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGFza0ZpbHRlckRpYWxvZ0Nsb3VkQ29tcG9uZW50PixcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgbmFtZTogW3RoaXMuZGF0YS5uYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblNhdmVDbGljaygpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xuICAgICAgICAgICAgYWN0aW9uOiBUYXNrRmlsdGVyRGlhbG9nQ2xvdWRDb21wb25lbnQuQUNUSU9OX1NBVkUsXG4gICAgICAgICAgICBpY29uOiB0aGlzLmRlZmF1bHRJY29uLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lQ29udHJvbGxlci52YWx1ZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNhbmNlbENsaWNrKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIH1cblxuICAgIGdldCBuYW1lQ29udHJvbGxlcigpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJGb3JtLmdldCgnbmFtZScpO1xuICAgIH1cblxuICAgIGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckZvcm0udmFsaWQ7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi10YXNrLWZpbHRlci1kaWFsb2dcIj5cbiAgICA8c3BhbiBtYXQtZGlhbG9nLXRpdGxlIGlkPVwiYWRmLXRhc2stZmlsdGVyLWRpYWxvZy10aXRsZVwiPlxuICAgICAgICAge3sgJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkRJQUxPRy5USVRMRScgfCB0cmFuc2xhdGV9fVxuICAgIDwvc3Bhbj5cbiAgICA8bWF0LWNhcmQgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCIgY2xhc3M9XCJhZGYtdGFzay1maWx0ZXItZGlhbG9nLWNhcmRcIj5cbiAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJhZGYtdGFzay1maWx0ZXItZGlhbG9nLWNhcmQtY29udGVudFwiPlxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi10YXNrLWZpbHRlci1uYW1lXCIgW2Zsb2F0TGFiZWxdPVwiJ2F1dG8nXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwie3sgJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkZJTFRFUl9OQU1FJyB8IHRyYW5zbGF0ZSB9fVwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiBpZD1cImFkZi1maWx0ZXItbmFtZS1pZFwiPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9mb3JtPlxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zIGNsYXNzPVwiYWRmLXRhc2stZmlsdGVyLWRpYWxvZy1jYXJkLWFjdGlvbnNcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwib25TYXZlQ2xpY2soKVwiIGlkPVwiYWRmLXNhdmUtYnV0dG9uLWlkXCIgW2Rpc2FibGVkXT1cIiFpc1ZhbGlkKClcIj5cbiAgICAgICAgICAgICAgICB7eyAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuRElBTE9HLlNBVkUnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJvbkNhbmNlbENsaWNrKClcIiBpZD1cImFkZi1jYW5jZWwtYnV0dG9uLWlkXCI+XG4gICAgICAgICAgICAgICB7eyAnQURGX0NMT1VEX0VESVRfVEFTS19GSUxURVIuRElBTE9HLkNBTkNFTCcgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICA8L21hdC1jYXJkPlxuPC9kaXY+XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1maWx0ZXItZGlhbG9nLWNsb3VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy90YXNrLWZpbHRlci1kaWFsb2cvdGFzay1maWx0ZXItZGlhbG9nLWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy90YXNrLWZpbHRlci1kaWFsb2cvdGFzay1maWx0ZXItZGlhbG9nLWNsb3VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFGLE9BQU8sRUFBbUIsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBVTNELE1BQU0sT0FBTyw4QkFBOEI7SUFDdkMsZ0VBQWdFO2FBQ2xELGdCQUFXLEdBQUcsTUFBTSxBQUFULENBQVU7SUFLbkMsWUFDWSxFQUFzQixFQUN2QixTQUF1RCxFQUM5QixJQUFJO1FBRjVCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQThDO1FBQzlCLFNBQUksR0FBSixJQUFJLENBQUE7UUFQeEMsZ0JBQVcsR0FBRyxPQUFPLENBQUM7SUFRbkIsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzVCLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDOUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUNqQixNQUFNLEVBQUUsOEJBQThCLENBQUMsV0FBVztZQUNsRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSztTQUNsQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQ2pDLENBQUM7K0dBckNRLDhCQUE4QixnRkFVM0IsZUFBZTttR0FWbEIsOEJBQThCLHdGQ2xDM0MsK3NDQXNCQSxrbEJET2MsWUFBWSwwQkFBRSxhQUFhLGlEQUFFLGNBQWMscWpCQUFFLG1CQUFtQiw0OEJBQUUsZUFBZSw4S0FBRSxhQUFhLHlWQUFFLGVBQWU7OzRGQUtsSCw4QkFBOEI7a0JBUjFDLFNBQVM7K0JBQ0ksOEJBQThCLGNBQzVCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLGlCQUc3RyxpQkFBaUIsQ0FBQyxJQUFJOzswQkFZaEMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWNsb3VkLXRhc2stZmlsdGVyLWRpYWxvZycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVQaXBlLCBNYXRJbnB1dE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0RGlhbG9nTW9kdWxlLCBNYXRDYXJkTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YXNrLWZpbHRlci1kaWFsb2ctY2xvdWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rhc2stZmlsdGVyLWRpYWxvZy1jbG91ZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgVGFza0ZpbHRlckRpYWxvZ0Nsb3VkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgcHVibGljIHN0YXRpYyBBQ1RJT05fU0FWRSA9ICdTQVZFJztcbiAgICBkZWZhdWx0SWNvbiA9ICdpbmJveCc7XG5cbiAgICBmaWx0ZXJGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRhc2tGaWx0ZXJEaWFsb2dDbG91ZENvbXBvbmVudD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YVxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmZpbHRlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIG5hbWU6IFt0aGlzLmRhdGEubmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25TYXZlQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcbiAgICAgICAgICAgIGFjdGlvbjogVGFza0ZpbHRlckRpYWxvZ0Nsb3VkQ29tcG9uZW50LkFDVElPTl9TQVZFLFxuICAgICAgICAgICAgaWNvbjogdGhpcy5kZWZhdWx0SWNvbixcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZUNvbnRyb2xsZXIudmFsdWVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25DYW5jZWxDbGljaygpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBnZXQgbmFtZUNvbnRyb2xsZXIoKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyRm9ybS5nZXQoJ25hbWUnKTtcbiAgICB9XG5cbiAgICBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJGb3JtLnZhbGlkO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGYtdGFzay1maWx0ZXItZGlhbG9nXCI+XG4gICAgPHNwYW4gbWF0LWRpYWxvZy10aXRsZSBpZD1cImFkZi10YXNrLWZpbHRlci1kaWFsb2ctdGl0bGVcIj5cbiAgICAgICAgIHt7ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5ESUFMT0cuVElUTEUnIHwgdHJhbnNsYXRlfX1cbiAgICA8L3NwYW4+XG4gICAgPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIGNsYXNzPVwiYWRmLXRhc2stZmlsdGVyLWRpYWxvZy1jYXJkXCI+XG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiYWRmLXRhc2stZmlsdGVyLWRpYWxvZy1jYXJkLWNvbnRlbnRcIj5cbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhZGYtdGFzay1maWx0ZXItbmFtZVwiIFtmbG9hdExhYmVsXT1cIidhdXRvJ1wiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cInt7ICdBREZfQ0xPVURfRURJVF9UQVNLX0ZJTFRFUi5GSUxURVJfTkFNRScgfCB0cmFuc2xhdGUgfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgaWQ9XCJhZGYtZmlsdGVyLW5hbWUtaWRcIj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucyBjbGFzcz1cImFkZi10YXNrLWZpbHRlci1kaWFsb2ctY2FyZC1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9uU2F2ZUNsaWNrKClcIiBpZD1cImFkZi1zYXZlLWJ1dHRvbi1pZFwiIFtkaXNhYmxlZF09XCIhaXNWYWxpZCgpXCI+XG4gICAgICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkRJQUxPRy5TQVZFJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwib25DYW5jZWxDbGljaygpXCIgaWQ9XCJhZGYtY2FuY2VsLWJ1dHRvbi1pZFwiPlxuICAgICAgICAgICAgICAge3sgJ0FERl9DTE9VRF9FRElUX1RBU0tfRklMVEVSLkRJQUxPRy5DQU5DRUwnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gICAgPC9tYXQtY2FyZD5cbjwvZGl2PlxuIl19
@@ -23,14 +23,13 @@ import { TaskListCloudService } from '../../../task-list/services/task-list-clou
23
23
  import { TaskFilterCloudAdapter } from '../../../../models/filter-cloud-model';
24
24
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
25
25
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
26
- import { TranslateModule } from '@ngx-translate/core';
26
+ import { TranslatePipe } from '@ngx-translate/core';
27
27
  import { CommonModule } from '@angular/common';
28
28
  import { MatListModule } from '@angular/material/list';
29
29
  import * as i0 from "@angular/core";
30
30
  import * as i1 from "@angular/common";
31
31
  import * as i2 from "@angular/material/progress-spinner";
32
- import * as i3 from "@ngx-translate/core";
33
- import * as i4 from "@angular/material/list";
32
+ import * as i3 from "@angular/material/list";
34
33
  export class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent {
35
34
  constructor() {
36
35
  super(...arguments);
@@ -237,11 +236,11 @@ export class TaskFiltersCloudComponent extends BaseTaskFiltersCloudComponent {
237
236
  });
238
237
  }
239
238
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFiltersCloudComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
240
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TaskFiltersCloudComponent, isStandalone: true, selector: "adf-cloud-task-filters", inputs: { searchApiMethod: "searchApiMethod" }, outputs: { filterSelected: "filterSelected", filterClicked: "filterClicked", filterCounterUpdated: "filterCounterUpdated", updatedFilter: "updatedFilter" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-action-list class=\"adf-task-filters\" *ngIf=\"filters$ | async as filterList; else loading\">\n <button\n *ngFor=\"let filter of filterList\"\n mat-list-item\n (click)=\"onFilterClick(filter)\"\n [attr.aria-label]=\"filter.name | translate\"\n [id]=\"filter.id\"\n [attr.data-automation-id]=\"filter.key + '_filter'\"\n [class.adf-active]=\"currentFilter === filter\">\n <div class=\"adf-task-filters__entry\">\n <div class=\"adf-task-filters__entry-label\">\n <adf-icon data-automation-id=\"adf-filter-icon\"\n *ngIf=\"showIcons\"\n [value]=\"filter.icon\"\n />\n <span data-automation-id=\"adf-filter-label\">\n {{ filter.name | translate }}\n </span>\n </div>\n <span *ngIf=\"counters[filter.key]\"\n [attr.data-automation-id]=\"filter.key + '_filter-counter'\"\n class=\"adf-task-filters__entry-counter\"\n [class.adf-active]=\"wasFilterUpdated(filter.key)\">\n {{ counters[filter.key] }}\n </span>\n </div>\n </button>\n </mat-action-list>\n<ng-template #loading>\n <ng-container>\n <div class=\"adf-app-list-spinner\">\n <mat-spinner />\n </div>\n </ng-container>\n</ng-template>\n", styles: [".adf-task-filters{margin-right:calc(-1 * var(--adf-theme-spacing))}.adf-task-filters__entry{font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-054);display:flex;justify-content:space-between;align-items:center;flex:1;height:100%}.adf-task-filters__entry:hover{color:var(--theme-primary-color)}.adf-task-filters__entry-label{display:flex;flex:1;align-items:center;gap:var(--adf-theme-spacing)}.adf-task-filters__entry-counter{padding:0 5px;border-radius:15px}.adf-task-filters__entry-counter.adf-active{background-color:var(--theme-accent-color);color:var(--theme-accent-color-default-contrast);font-size:smaller}.adf-task-filters .adf-active .adf-task-filters__entry-label{color:var(--theme-primary-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i4.MatActionList, selector: "mat-action-list", exportAs: ["matActionList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }], encapsulation: i0.ViewEncapsulation.None }); }
239
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TaskFiltersCloudComponent, isStandalone: true, selector: "adf-cloud-task-filters", inputs: { searchApiMethod: "searchApiMethod" }, outputs: { filterSelected: "filterSelected", filterClicked: "filterClicked", filterCounterUpdated: "filterCounterUpdated", updatedFilter: "updatedFilter" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-action-list class=\"adf-task-filters\" *ngIf=\"filters$ | async as filterList; else loading\">\n <button\n *ngFor=\"let filter of filterList\"\n mat-list-item\n (click)=\"onFilterClick(filter)\"\n [attr.aria-label]=\"filter.name | translate\"\n [id]=\"filter.id\"\n [attr.data-automation-id]=\"filter.key + '_filter'\"\n [class.adf-active]=\"currentFilter === filter\">\n <div class=\"adf-task-filters__entry\">\n <div class=\"adf-task-filters__entry-label\">\n <adf-icon data-automation-id=\"adf-filter-icon\"\n *ngIf=\"showIcons\"\n [value]=\"filter.icon\"\n />\n <span data-automation-id=\"adf-filter-label\">\n {{ filter.name | translate }}\n </span>\n </div>\n <span *ngIf=\"counters[filter.key]\"\n [attr.data-automation-id]=\"filter.key + '_filter-counter'\"\n class=\"adf-task-filters__entry-counter\"\n [class.adf-active]=\"wasFilterUpdated(filter.key)\">\n {{ counters[filter.key] }}\n </span>\n </div>\n </button>\n </mat-action-list>\n<ng-template #loading>\n <ng-container>\n <div class=\"adf-app-list-spinner\">\n <mat-spinner />\n </div>\n </ng-container>\n</ng-template>\n", styles: [".adf-task-filters{margin-right:calc(-1 * var(--adf-theme-spacing))}.adf-task-filters__entry{font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-054);display:flex;justify-content:space-between;align-items:center;flex:1;height:100%}.adf-task-filters__entry:hover{color:var(--theme-primary-color)}.adf-task-filters__entry-label{display:flex;flex:1;align-items:center;gap:var(--adf-theme-spacing)}.adf-task-filters__entry-counter{padding:0 5px;border-radius:15px}.adf-task-filters__entry-counter.adf-active{background-color:var(--theme-accent-color);color:var(--theme-accent-color-default-contrast);font-size:smaller}.adf-task-filters .adf-active .adf-task-filters__entry-label{color:var(--theme-primary-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i3.MatActionList, selector: "mat-action-list", exportAs: ["matActionList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }], encapsulation: i0.ViewEncapsulation.None }); }
241
240
  }
242
241
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFiltersCloudComponent, decorators: [{
243
242
  type: Component,
244
- args: [{ selector: 'adf-cloud-task-filters', standalone: true, imports: [CommonModule, MatProgressSpinnerModule, TranslateModule, IconComponent, MatListModule], encapsulation: ViewEncapsulation.None, template: "<mat-action-list class=\"adf-task-filters\" *ngIf=\"filters$ | async as filterList; else loading\">\n <button\n *ngFor=\"let filter of filterList\"\n mat-list-item\n (click)=\"onFilterClick(filter)\"\n [attr.aria-label]=\"filter.name | translate\"\n [id]=\"filter.id\"\n [attr.data-automation-id]=\"filter.key + '_filter'\"\n [class.adf-active]=\"currentFilter === filter\">\n <div class=\"adf-task-filters__entry\">\n <div class=\"adf-task-filters__entry-label\">\n <adf-icon data-automation-id=\"adf-filter-icon\"\n *ngIf=\"showIcons\"\n [value]=\"filter.icon\"\n />\n <span data-automation-id=\"adf-filter-label\">\n {{ filter.name | translate }}\n </span>\n </div>\n <span *ngIf=\"counters[filter.key]\"\n [attr.data-automation-id]=\"filter.key + '_filter-counter'\"\n class=\"adf-task-filters__entry-counter\"\n [class.adf-active]=\"wasFilterUpdated(filter.key)\">\n {{ counters[filter.key] }}\n </span>\n </div>\n </button>\n </mat-action-list>\n<ng-template #loading>\n <ng-container>\n <div class=\"adf-app-list-spinner\">\n <mat-spinner />\n </div>\n </ng-container>\n</ng-template>\n", styles: [".adf-task-filters{margin-right:calc(-1 * var(--adf-theme-spacing))}.adf-task-filters__entry{font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-054);display:flex;justify-content:space-between;align-items:center;flex:1;height:100%}.adf-task-filters__entry:hover{color:var(--theme-primary-color)}.adf-task-filters__entry-label{display:flex;flex:1;align-items:center;gap:var(--adf-theme-spacing)}.adf-task-filters__entry-counter{padding:0 5px;border-radius:15px}.adf-task-filters__entry-counter.adf-active{background-color:var(--theme-accent-color);color:var(--theme-accent-color-default-contrast);font-size:smaller}.adf-task-filters .adf-active .adf-task-filters__entry-label{color:var(--theme-primary-color)}\n"] }]
243
+ args: [{ selector: 'adf-cloud-task-filters', standalone: true, imports: [CommonModule, MatProgressSpinnerModule, TranslatePipe, IconComponent, MatListModule], encapsulation: ViewEncapsulation.None, template: "<mat-action-list class=\"adf-task-filters\" *ngIf=\"filters$ | async as filterList; else loading\">\n <button\n *ngFor=\"let filter of filterList\"\n mat-list-item\n (click)=\"onFilterClick(filter)\"\n [attr.aria-label]=\"filter.name | translate\"\n [id]=\"filter.id\"\n [attr.data-automation-id]=\"filter.key + '_filter'\"\n [class.adf-active]=\"currentFilter === filter\">\n <div class=\"adf-task-filters__entry\">\n <div class=\"adf-task-filters__entry-label\">\n <adf-icon data-automation-id=\"adf-filter-icon\"\n *ngIf=\"showIcons\"\n [value]=\"filter.icon\"\n />\n <span data-automation-id=\"adf-filter-label\">\n {{ filter.name | translate }}\n </span>\n </div>\n <span *ngIf=\"counters[filter.key]\"\n [attr.data-automation-id]=\"filter.key + '_filter-counter'\"\n class=\"adf-task-filters__entry-counter\"\n [class.adf-active]=\"wasFilterUpdated(filter.key)\">\n {{ counters[filter.key] }}\n </span>\n </div>\n </button>\n </mat-action-list>\n<ng-template #loading>\n <ng-container>\n <div class=\"adf-app-list-spinner\">\n <mat-spinner />\n </div>\n </ng-container>\n</ng-template>\n", styles: [".adf-task-filters{margin-right:calc(-1 * var(--adf-theme-spacing))}.adf-task-filters__entry{font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-054);display:flex;justify-content:space-between;align-items:center;flex:1;height:100%}.adf-task-filters__entry:hover{color:var(--theme-primary-color)}.adf-task-filters__entry-label{display:flex;flex:1;align-items:center;gap:var(--adf-theme-spacing)}.adf-task-filters__entry-counter{padding:0 5px;border-radius:15px}.adf-task-filters__entry-counter.adf-active{background-color:var(--theme-accent-color);color:var(--theme-accent-color-default-contrast);font-size:smaller}.adf-task-filters .adf-active .adf-task-filters__entry-label{color:var(--theme-primary-color)}\n"] }]
245
244
  }], propDecorators: { searchApiMethod: [{
246
245
  type: Input
247
246
  }], filterSelected: [{
@@ -253,4 +252,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
253
252
  }], updatedFilter: [{
254
253
  type: Output
255
254
  }] } });
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy90YXNrLWZpbHRlcnMvdGFzay1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy90YXNrLWZpbHRlcnMvdGFzay1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEksT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FB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QkFEZCxLQUFLO2dCQUtOLGNBQWM7c0JBRGIsTUFBTTtnQkFLUCxhQUFhO3NCQURaLE1BQU07Z0JBS1Asb0JBQW9CO3NCQURuQixNQUFNO2dCQUtQLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUYXNrRmlsdGVyQ2xvdWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFzay1maWx0ZXItY2xvdWQuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJQYXJhbXNNb2RlbCwgVGFza0ZpbHRlckNsb3VkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVyLWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UsIEljb25Db21wb25lbnQsIFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhc2VUYXNrRmlsdGVyc0Nsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS10YXNrLWZpbHRlcnMtY2xvdWQuY29tcG9uZW50JztcbmltcG9ydCB7IFRhc2tEZXRhaWxzQ2xvdWRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90YXNrLWRldGFpbHMtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgVGFza0Nsb3VkRW5naW5lRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZW5naW5lLWV2ZW50LWNsb3VkLm1vZGVsJztcbmltcG9ydCB7IFRhc2tMaXN0Q2xvdWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGFzay1saXN0L3NlcnZpY2VzL3Rhc2stbGlzdC1jbG91ZC5zZXJ2aWNlJztcbmltcG9ydCB7IFRhc2tGaWx0ZXJDbG91ZEFkYXB0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmlsdGVyLWNsb3VkLW1vZGVsJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1jbG91ZC10YXNrLWZpbHRlcnMnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEljb25Db21wb25lbnQsIE1hdExpc3RNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YXNrLWZpbHRlcnMtY2xvdWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rhc2stZmlsdGVycy1jbG91ZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgVGFza0ZpbHRlcnNDbG91ZENvbXBvbmVudCBleHRlbmRzIEJhc2VUYXNrRmlsdGVyc0Nsb3VkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIC8qKiAob3B0aW9uYWwpIEZyb20gQWN0aXZpdGkgOC43LjAgZm9yd2FyZCwgdXNlIHRoZSAnUE9TVCcgbWV0aG9kIHRvIGdldCB0aGUgdGFzayBjb3VudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNlYXJjaEFwaU1ldGhvZDogJ0dFVCcgfCAnUE9TVCcgPSAnR0VUJztcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYSBmaWx0ZXIgaXMgYmVpbmcgc2VsZWN0ZWQgYmFzZWQgb24gdGhlIGZpbHRlclBhcmFtIGlucHV0LiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZpbHRlclNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxUYXNrRmlsdGVyQ2xvdWRNb2RlbD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYSBmaWx0ZXIgaXMgYmVpbmcgY2xpY2tlZCBmcm9tIHRoZSBVSS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmaWx0ZXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxUYXNrRmlsdGVyQ2xvdWRNb2RlbD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gZmlsdGVyIGNvdW50ZXJzIGFyZSB1cGRhdGVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZpbHRlckNvdW50ZXJVcGRhdGVkOiBFdmVudEVtaXR0ZXI8VGFza0Nsb3VkRW5naW5lRXZlbnRbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhc2tDbG91ZEVuZ2luZUV2ZW50W10+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGZpbHRlciBpcyB1cGRhdGVkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHVwZGF0ZWRGaWx0ZXI6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBmaWx0ZXJzJDogT2JzZXJ2YWJsZTxUYXNrRmlsdGVyQ2xvdWRNb2RlbFtdPjtcbiAgICBmaWx0ZXJzOiBUYXNrRmlsdGVyQ2xvdWRNb2RlbFtdID0gW107XG4gICAgY3VycmVudEZpbHRlcjogVGFza0ZpbHRlckNsb3VkTW9kZWw7XG4gICAgZW5hYmxlTm90aWZpY2F0aW9uczogYm9vbGVhbjtcbiAgICBjdXJyZW50RmlsdGVyc1ZhbHVlczogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YXNrRmlsdGVyQ2xvdWRTZXJ2aWNlID0gaW5qZWN0KFRhc2tGaWx0ZXJDbG91ZFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFza0xpc3RDbG91ZFNlcnZpY2UgPSBpbmplY3QoVGFza0xpc3RDbG91ZFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0aW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWdTZXJ2aWNlID0gaW5qZWN0KEFwcENvbmZpZ1NlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZW5hYmxlTm90aWZpY2F0aW9ucyA9IHRoaXMuYXBwQ29uZmlnU2VydmljZS5nZXQoJ25vdGlmaWNhdGlvbnMnLCB0cnVlKTtcbiAgICAgICAgdGhpcy5nZXRGaWx0ZXJzKHRoaXMuYXBwTmFtZSk7XG4gICAgICAgIHRoaXMuaW5pdEZpbHRlckNvdW50ZXJOb3RpZmljYXRpb25zKCk7XG4gICAgICAgIHRoaXMuZ2V0RmlsdGVyS2V5c0FmdGVyRXh0ZXJuYWxSZWZyZXNoaW5nKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBjb25zdCBhcHBOYW1lID0gY2hhbmdlc1snYXBwTmFtZSddO1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSBjaGFuZ2VzWydmaWx0ZXJQYXJhbSddO1xuICAgICAgICBpZiAoYXBwTmFtZSAmJiBhcHBOYW1lLmN1cnJlbnRWYWx1ZSAhPT0gYXBwTmFtZS5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmdldEZpbHRlcnMoYXBwTmFtZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlciAmJiBmaWx0ZXIuY3VycmVudFZhbHVlICE9PSBmaWx0ZXIucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXJBbmRFbWl0KGZpbHRlci5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZHMgdGhlIGZpbHRlciBsaXN0IGZpbHRlcmVkIGJ5IGFwcE5hbWVcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBOYW1lIGFwcGxpY2F0aW9uIG5hbWVcbiAgICAgKi9cbiAgICBnZXRGaWx0ZXJzKGFwcE5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlcnMkID0gdGhpcy50YXNrRmlsdGVyQ2xvdWRTZXJ2aWNlLmdldFRhc2tMaXN0RmlsdGVycyhhcHBOYW1lKTtcblxuICAgICAgICB0aGlzLmZpbHRlcnMkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldEZpbHRlcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVycyA9IHJlcyB8fCBbXTtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRGaWx0ZXJDb3VudGVycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyQW5kRW1pdCh0aGlzLmZpbHRlclBhcmFtKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlckNvdW50ZXJzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQocmVzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplIGNvdW50ZXIgY29sbGVjdGlvbiBmb3IgZmlsdGVyc1xuICAgICAqL1xuICAgIGluaXRGaWx0ZXJDb3VudGVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzLmZvckVhY2goKGZpbHRlcikgPT4gKHRoaXMuY291bnRlcnNbZmlsdGVyLmtleV0gPSAwKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXRlcmF0ZSBvdmVyIGZpbHRlcnMgYW5kIHVwZGF0ZSBjb3VudGVyc1xuICAgICAqL1xuICAgIHVwZGF0ZUZpbHRlckNvdW50ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyOiBUYXNrRmlsdGVyQ2xvdWRNb2RlbCkgPT4gdGhpcy51cGRhdGVGaWx0ZXJDb3VudGVyKGZpbHRlcikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBHZXQgY3VycmVudCB2YWx1ZSBmb3IgZmlsdGVyIGFuZCBjaGVjayBpZiB2YWx1ZSBoYXMgY2hhbmdlZFxuICAgICAqXG4gICAgICogQHBhcmFtIGZpbHRlciBmaWx0ZXJcbiAgICAgKi9cbiAgICB1cGRhdGVGaWx0ZXJDb3VudGVyKGZpbHRlcjogVGFza0ZpbHRlckNsb3VkTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFmaWx0ZXI/LnNob3dDb3VudGVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mZXRjaFRhc2tGaWx0ZXJDb3VudGVyKGZpbHRlcilcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoZmlsdGVyQ291bnRlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrSWZGaWx0ZXJWYWx1ZXNIYXNCZWVuVXBkYXRlZChmaWx0ZXIua2V5LCBmaWx0ZXJDb3VudGVyKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY291bnRlcnMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY291bnRlcnMsXG4gICAgICAgICAgICAgICAgICAgIFtmaWx0ZXIua2V5XTogZGF0YVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZldGNoVGFza0ZpbHRlckNvdW50ZXIoZmlsdGVyOiBUYXNrRmlsdGVyQ2xvdWRNb2RlbCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaEFwaU1ldGhvZCA9PT0gJ1BPU1QnXG4gICAgICAgICAgICA/IHRoaXMudGFza0xpc3RDbG91ZFNlcnZpY2UuZ2V0VGFza0xpc3RDb3VudGVyKG5ldyBUYXNrRmlsdGVyQ2xvdWRBZGFwdGVyKGZpbHRlcikpXG4gICAgICAgICAgICA6IHRoaXMudGFza0ZpbHRlckNsb3VkU2VydmljZS5nZXRUYXNrRmlsdGVyQ291bnRlcihmaWx0ZXIpO1xuICAgIH1cblxuICAgIGluaXRGaWx0ZXJDb3VudGVyTm90aWZpY2F0aW9ucygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmFwcE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5lbmFibGVOb3RpZmljYXRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLnRhc2tGaWx0ZXJDbG91ZFNlcnZpY2VcbiAgICAgICAgICAgICAgICAuZ2V0VGFza05vdGlmaWNhdGlvblN1YnNjcmlwdGlvbih0aGlzLmFwcE5hbWUpXG4gICAgICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMDApKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQuZm9yRWFjaCgodGFza0V2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrRmlsdGVyQ291bnRlcih0YXNrRXZlbnQuZW50aXR5KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJDb3VudGVycygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckNvdW50ZXJVcGRhdGVkLmVtaXQocmVzdWx0KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY291bnRlcnMgPSB7fTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrRmlsdGVyQ291bnRlcihmaWx0ZXJOb3RpZmljYXRpb246IFRhc2tEZXRhaWxzQ2xvdWRNb2RlbCkge1xuICAgICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0ZpbHRlclByZXNlbnQoZmlsdGVyLCBmaWx0ZXJOb3RpZmljYXRpb24pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRUb1VwZGF0ZWRDb3VudGVycyhmaWx0ZXIua2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaXNGaWx0ZXJQcmVzZW50KGZpbHRlcjogVGFza0ZpbHRlckNsb3VkTW9kZWwsIGZpbHRlck5vdGlmaWNhdGlvbjogVGFza0RldGFpbHNDbG91ZE1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBmaWx0ZXIuc3RhdHVzID09PSBmaWx0ZXJOb3RpZmljYXRpb24uc3RhdHVzICYmXG4gICAgICAgICAgICAoZmlsdGVyLmFzc2lnbmVlID09PSBmaWx0ZXJOb3RpZmljYXRpb24uYXNzaWduZWUgfHwgZmlsdGVyTm90aWZpY2F0aW9uLmFzc2lnbmVlID09PSB1bmRlZmluZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdEZpbHRlcihwYXJhbUZpbHRlcjogRmlsdGVyUGFyYW1zTW9kZWwpIHtcbiAgICAgICAgaWYgKCFwYXJhbUZpbHRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJlZmVycmVkRmlsdGVyID0gdGhpcy5maWx0ZXJzLmZpbmQoKGZpbHRlcikgPT4gZmlsdGVyLmlkID09PSBwYXJhbUZpbHRlci5pZCk7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyID1cbiAgICAgICAgICAgIHByZWZlcnJlZEZpbHRlciA/P1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJzLmZpbmQoXG4gICAgICAgICAgICAgICAgKGZpbHRlciwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtRmlsdGVyLmluZGV4ID09PSBpbmRleCB8fFxuICAgICAgICAgICAgICAgICAgICBwYXJhbUZpbHRlci5rZXkgPT09IGZpbHRlci5rZXkgfHxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1GaWx0ZXIuaWQgPT09IGZpbHRlci5pZCB8fFxuICAgICAgICAgICAgICAgICAgICAocGFyYW1GaWx0ZXIubmFtZSAmJiBwYXJhbUZpbHRlci5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmluc3RhbnQoZmlsdGVyLm5hbWUpLnRvTG9jYWxlTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICApOyAvLyBmYWxsYmFjayB0byBwcmVzZXJ2ZSB0aGUgcHJldmlvdXMgYmVoYXZpb3JcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0RmlsdGVyQW5kRW1pdChuZXdQYXJhbUZpbHRlcjogRmlsdGVyUGFyYW1zTW9kZWwpIHtcbiAgICAgICAgaWYgKG5ld1BhcmFtRmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEZpbHRlcihuZXdQYXJhbUZpbHRlcik7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRGaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0RmlsdGVyQ291bnRlcih0aGlzLmN1cnJlbnRGaWx0ZXIua2V5KTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlclNlbGVjdGVkLmVtaXQodGhpcy5jdXJyZW50RmlsdGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEZpbHRlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdHMgYW5kIGVtaXRzIHRoZSBjbGlja2VkIGZpbHRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXIgZmlsdGVyIG1vZGVsXG4gICAgICovXG4gICAgb25GaWx0ZXJDbGljayhmaWx0ZXI6IEZpbHRlclBhcmFtc01vZGVsKSB7XG4gICAgICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyKGZpbHRlcik7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlckNvdW50ZXIodGhpcy5jdXJyZW50RmlsdGVyKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQ2xpY2tlZC5lbWl0KHRoaXMuY3VycmVudEZpbHRlcik7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZWRDb3VudGVyc1NldC5kZWxldGUoZmlsdGVyLmtleSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1bnVzZWQgbWV0aG9kXG4gICAgICogU2VsZWN0IGFzIGRlZmF1bHQgdGFzayBmaWx0ZXIgdGhlIGZpcnN0IGluIHRoZSBsaXN0XG4gICAgICovXG4gICAgcHVibGljIHNlbGVjdERlZmF1bHRUYXNrRmlsdGVyKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNGaWx0ZXJMaXN0RW1wdHkoKSkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyID0gdGhpcy5maWx0ZXJzWzBdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIGZpbHRlciBsaXN0IGlzIGVtcHR5XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgZmlsdGVyIGxpc3QgaXMgZW1wdHksIG90aGVyd2lzZSBgZmFsc2VgXG4gICAgICovXG4gICAgaXNGaWx0ZXJMaXN0RW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlcnMgPT09IHVuZGVmaW5lZCB8fCAodGhpcy5maWx0ZXJzICYmIHRoaXMuZmlsdGVycy5sZW5ndGggPT09IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc2V0IHRoZSBmaWx0ZXJzIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlc2V0RmlsdGVyKCkge1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSBbXTtcbiAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNoZWNrSWZGaWx0ZXJWYWx1ZXNIYXNCZWVuVXBkYXRlZChmaWx0ZXJLZXk6IHN0cmluZywgZmlsdGVyVmFsdWU6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50RmlsdGVyc1ZhbHVlc1tmaWx0ZXJLZXldID09PSB1bmRlZmluZWQgfHwgdGhpcy5jdXJyZW50RmlsdGVyc1ZhbHVlc1tmaWx0ZXJLZXldICE9PSBmaWx0ZXJWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyc1ZhbHVlc1tmaWx0ZXJLZXldID0gZmlsdGVyVmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZWRGaWx0ZXIuZW1pdChmaWx0ZXJLZXkpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVkQ291bnRlcnNTZXQuYWRkKGZpbHRlcktleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgZmlsZXIga2V5IHdoZW4gZmlsdGVyIHdhcyByZWZyZXNoZWQgYnkgZXh0ZXJuYWwgYWN0aW9uXG4gICAgICpcbiAgICAgKi9cbiAgICBnZXRGaWx0ZXJLZXlzQWZ0ZXJFeHRlcm5hbFJlZnJlc2hpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFza0ZpbHRlckNsb3VkU2VydmljZS5maWx0ZXJLZXlUb0JlUmVmcmVzaGVkJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKGZpbHRlcktleTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZWRDb3VudGVyc1NldC5kZWxldGUoZmlsdGVyS2V5KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPG1hdC1hY3Rpb24tbGlzdCBjbGFzcz1cImFkZi10YXNrLWZpbHRlcnNcIiAqbmdJZj1cImZpbHRlcnMkIHwgYXN5bmMgYXMgZmlsdGVyTGlzdDsgZWxzZSBsb2FkaW5nXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgZmlsdGVyTGlzdFwiXG4gICAgICAgICAgICBtYXQtbGlzdC1pdGVtXG4gICAgICAgICAgICAoY2xpY2spPVwib25GaWx0ZXJDbGljayhmaWx0ZXIpXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsdGVyLm5hbWUgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2lkXT1cImZpbHRlci5pZFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiZmlsdGVyLmtleSArICdfZmlsdGVyJ1wiXG4gICAgICAgICAgICBbY2xhc3MuYWRmLWFjdGl2ZV09XCJjdXJyZW50RmlsdGVyID09PSBmaWx0ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtdGFzay1maWx0ZXJzX19lbnRyeVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtdGFzay1maWx0ZXJzX19lbnRyeS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8YWRmLWljb24gZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWZpbHRlci1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0ljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJmaWx0ZXIuaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1maWx0ZXItbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpbHRlci5uYW1lIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvdW50ZXJzW2ZpbHRlci5rZXldXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cImZpbHRlci5rZXkgKyAnX2ZpbHRlci1jb3VudGVyJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXRhc2stZmlsdGVyc19fZW50cnktY291bnRlclwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hZGYtYWN0aXZlXT1cIndhc0ZpbHRlclVwZGF0ZWQoZmlsdGVyLmtleSlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY291bnRlcnNbZmlsdGVyLmtleV0gfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtYWN0aW9uLWxpc3Q+XG48bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1hcHAtbGlzdC1zcGlubmVyXCI+XG4gICAgICAgICAgICA8bWF0LXNwaW5uZXIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy90YXNrLWZpbHRlcnMvdGFzay1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvdGFzay90YXNrLWZpbHRlcnMvY29tcG9uZW50cy90YXNrLWZpbHRlcnMvdGFzay1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEksT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FB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QURkLEtBQUs7Z0JBS04sY0FBYztzQkFEYixNQUFNO2dCQUtQLGFBQWE7c0JBRFosTUFBTTtnQkFLUCxvQkFBb0I7c0JBRG5CLE1BQU07Z0JBS1AsYUFBYTtzQkFEWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRhc2tGaWx0ZXJDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YXNrLWZpbHRlci1jbG91ZC5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlclBhcmFtc01vZGVsLCBUYXNrRmlsdGVyQ2xvdWRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9maWx0ZXItY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSwgSWNvbkNvbXBvbmVudCwgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFzZVRhc2tGaWx0ZXJzQ2xvdWRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLXRhc2stZmlsdGVycy1jbG91ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFza0RldGFpbHNDbG91ZE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Rhc2stZGV0YWlscy1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBUYXNrQ2xvdWRFbmdpbmVFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9lbmdpbmUtZXZlbnQtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgVGFza0xpc3RDbG91ZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90YXNrLWxpc3Qvc2VydmljZXMvdGFzay1saXN0LWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFza0ZpbHRlckNsb3VkQWRhcHRlciB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXItY2xvdWQtbW9kZWwnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1jbG91ZC10YXNrLWZpbHRlcnMnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLCBUcmFuc2xhdGVQaXBlLCBJY29uQ29tcG9uZW50LCBNYXRMaXN0TW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFzay1maWx0ZXJzLWNsb3VkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YXNrLWZpbHRlcnMtY2xvdWQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tGaWx0ZXJzQ2xvdWRDb21wb25lbnQgZXh0ZW5kcyBCYXNlVGFza0ZpbHRlcnNDbG91ZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICAvKiogKG9wdGlvbmFsKSBGcm9tIEFjdGl2aXRpIDguNy4wIGZvcndhcmQsIHVzZSB0aGUgJ1BPU1QnIG1ldGhvZCB0byBnZXQgdGhlIHRhc2sgY291bnQuICovXG4gICAgQElucHV0KClcbiAgICBzZWFyY2hBcGlNZXRob2Q6ICdHRVQnIHwgJ1BPU1QnID0gJ0dFVCc7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZmlsdGVyIGlzIGJlaW5nIHNlbGVjdGVkIGJhc2VkIG9uIHRoZSBmaWx0ZXJQYXJhbSBpbnB1dC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmaWx0ZXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VGFza0ZpbHRlckNsb3VkTW9kZWw+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZmlsdGVyIGlzIGJlaW5nIGNsaWNrZWQgZnJvbSB0aGUgVUkuICovXG4gICAgQE91dHB1dCgpXG4gICAgZmlsdGVyQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VGFza0ZpbHRlckNsb3VkTW9kZWw+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGZpbHRlciBjb3VudGVycyBhcmUgdXBkYXRlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmaWx0ZXJDb3VudGVyVXBkYXRlZDogRXZlbnRFbWl0dGVyPFRhc2tDbG91ZEVuZ2luZUV2ZW50W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxUYXNrQ2xvdWRFbmdpbmVFdmVudFtdPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBmaWx0ZXIgaXMgdXBkYXRlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICB1cGRhdGVkRmlsdGVyOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgZmlsdGVycyQ6IE9ic2VydmFibGU8VGFza0ZpbHRlckNsb3VkTW9kZWxbXT47XG4gICAgZmlsdGVyczogVGFza0ZpbHRlckNsb3VkTW9kZWxbXSA9IFtdO1xuICAgIGN1cnJlbnRGaWx0ZXI6IFRhc2tGaWx0ZXJDbG91ZE1vZGVsO1xuICAgIGVuYWJsZU5vdGlmaWNhdGlvbnM6IGJvb2xlYW47XG4gICAgY3VycmVudEZpbHRlcnNWYWx1ZXM6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFza0ZpbHRlckNsb3VkU2VydmljZSA9IGluamVjdChUYXNrRmlsdGVyQ2xvdWRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhc2tMaXN0Q2xvdWRTZXJ2aWNlID0gaW5qZWN0KFRhc2tMaXN0Q2xvdWRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChUcmFuc2xhdGlvblNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnU2VydmljZSA9IGluamVjdChBcHBDb25maWdTZXJ2aWNlKTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmVuYWJsZU5vdGlmaWNhdGlvbnMgPSB0aGlzLmFwcENvbmZpZ1NlcnZpY2UuZ2V0KCdub3RpZmljYXRpb25zJywgdHJ1ZSk7XG4gICAgICAgIHRoaXMuZ2V0RmlsdGVycyh0aGlzLmFwcE5hbWUpO1xuICAgICAgICB0aGlzLmluaXRGaWx0ZXJDb3VudGVyTm90aWZpY2F0aW9ucygpO1xuICAgICAgICB0aGlzLmdldEZpbHRlcktleXNBZnRlckV4dGVybmFsUmVmcmVzaGluZygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgYXBwTmFtZSA9IGNoYW5nZXNbJ2FwcE5hbWUnXTtcbiAgICAgICAgY29uc3QgZmlsdGVyID0gY2hhbmdlc1snZmlsdGVyUGFyYW0nXTtcbiAgICAgICAgaWYgKGFwcE5hbWUgJiYgYXBwTmFtZS5jdXJyZW50VmFsdWUgIT09IGFwcE5hbWUucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5nZXRGaWx0ZXJzKGFwcE5hbWUuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIgJiYgZmlsdGVyLmN1cnJlbnRWYWx1ZSAhPT0gZmlsdGVyLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0RmlsdGVyQW5kRW1pdChmaWx0ZXIuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWRzIHRoZSBmaWx0ZXIgbGlzdCBmaWx0ZXJlZCBieSBhcHBOYW1lXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwTmFtZSBhcHBsaWNhdGlvbiBuYW1lXG4gICAgICovXG4gICAgZ2V0RmlsdGVycyhhcHBOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzJCA9IHRoaXMudGFza0ZpbHRlckNsb3VkU2VydmljZS5nZXRUYXNrTGlzdEZpbHRlcnMoYXBwTmFtZSk7XG5cbiAgICAgICAgdGhpcy5maWx0ZXJzJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRGaWx0ZXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcnMgPSByZXMgfHwgW107XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0RmlsdGVyQ291bnRlcnMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEZpbHRlckFuZEVtaXQodGhpcy5maWx0ZXJQYXJhbSk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJDb3VudGVycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHJlcyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZSBjb3VudGVyIGNvbGxlY3Rpb24gZm9yIGZpbHRlcnNcbiAgICAgKi9cbiAgICBpbml0RmlsdGVyQ291bnRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVycy5mb3JFYWNoKChmaWx0ZXIpID0+ICh0aGlzLmNvdW50ZXJzW2ZpbHRlci5rZXldID0gMCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEl0ZXJhdGUgb3ZlciBmaWx0ZXJzIGFuZCB1cGRhdGUgY291bnRlcnNcbiAgICAgKi9cbiAgICB1cGRhdGVGaWx0ZXJDb3VudGVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzLmZvckVhY2goKGZpbHRlcjogVGFza0ZpbHRlckNsb3VkTW9kZWwpID0+IHRoaXMudXBkYXRlRmlsdGVyQ291bnRlcihmaWx0ZXIpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgR2V0IGN1cnJlbnQgdmFsdWUgZm9yIGZpbHRlciBhbmQgY2hlY2sgaWYgdmFsdWUgaGFzIGNoYW5nZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXIgZmlsdGVyXG4gICAgICovXG4gICAgdXBkYXRlRmlsdGVyQ291bnRlcihmaWx0ZXI6IFRhc2tGaWx0ZXJDbG91ZE1vZGVsKTogdm9pZCB7XG4gICAgICAgIGlmICghZmlsdGVyPy5zaG93Q291bnRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZmV0Y2hUYXNrRmlsdGVyQ291bnRlcihmaWx0ZXIpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKGZpbHRlckNvdW50ZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja0lmRmlsdGVyVmFsdWVzSGFzQmVlblVwZGF0ZWQoZmlsdGVyLmtleSwgZmlsdGVyQ291bnRlcik7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50ZXJzID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmNvdW50ZXJzLFxuICAgICAgICAgICAgICAgICAgICBbZmlsdGVyLmtleV06IGRhdGFcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmZXRjaFRhc2tGaWx0ZXJDb3VudGVyKGZpbHRlcjogVGFza0ZpbHRlckNsb3VkTW9kZWwpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2hBcGlNZXRob2QgPT09ICdQT1NUJ1xuICAgICAgICAgICAgPyB0aGlzLnRhc2tMaXN0Q2xvdWRTZXJ2aWNlLmdldFRhc2tMaXN0Q291bnRlcihuZXcgVGFza0ZpbHRlckNsb3VkQWRhcHRlcihmaWx0ZXIpKVxuICAgICAgICAgICAgOiB0aGlzLnRhc2tGaWx0ZXJDbG91ZFNlcnZpY2UuZ2V0VGFza0ZpbHRlckNvdW50ZXIoZmlsdGVyKTtcbiAgICB9XG5cbiAgICBpbml0RmlsdGVyQ291bnRlck5vdGlmaWNhdGlvbnMoKSB7XG4gICAgICAgIGlmICghdGhpcy5hcHBOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlTm90aWZpY2F0aW9ucykge1xuICAgICAgICAgICAgdGhpcy50YXNrRmlsdGVyQ2xvdWRTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmdldFRhc2tOb3RpZmljYXRpb25TdWJzY3JpcHRpb24odGhpcy5hcHBOYW1lKVxuICAgICAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDAwKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmZvckVhY2goKHRhc2tFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja0ZpbHRlckNvdW50ZXIodGFza0V2ZW50LmVudGl0eSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRmlsdGVyQ291bnRlcnMoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJDb3VudGVyVXBkYXRlZC5lbWl0KHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvdW50ZXJzID0ge307XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja0ZpbHRlckNvdW50ZXIoZmlsdGVyTm90aWZpY2F0aW9uOiBUYXNrRGV0YWlsc0Nsb3VkTW9kZWwpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzLmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNGaWx0ZXJQcmVzZW50KGZpbHRlciwgZmlsdGVyTm90aWZpY2F0aW9uKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkVG9VcGRhdGVkQ291bnRlcnMoZmlsdGVyLmtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGlzRmlsdGVyUHJlc2VudChmaWx0ZXI6IFRhc2tGaWx0ZXJDbG91ZE1vZGVsLCBmaWx0ZXJOb3RpZmljYXRpb246IFRhc2tEZXRhaWxzQ2xvdWRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZmlsdGVyLnN0YXR1cyA9PT0gZmlsdGVyTm90aWZpY2F0aW9uLnN0YXR1cyAmJlxuICAgICAgICAgICAgKGZpbHRlci5hc3NpZ25lZSA9PT0gZmlsdGVyTm90aWZpY2F0aW9uLmFzc2lnbmVlIHx8IGZpbHRlck5vdGlmaWNhdGlvbi5hc3NpZ25lZSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RGaWx0ZXIocGFyYW1GaWx0ZXI6IEZpbHRlclBhcmFtc01vZGVsKSB7XG4gICAgICAgIGlmICghcGFyYW1GaWx0ZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZWZlcnJlZEZpbHRlciA9IHRoaXMuZmlsdGVycy5maW5kKChmaWx0ZXIpID0+IGZpbHRlci5pZCA9PT0gcGFyYW1GaWx0ZXIuaWQpO1xuXG4gICAgICAgIHRoaXMuY3VycmVudEZpbHRlciA9XG4gICAgICAgICAgICBwcmVmZXJyZWRGaWx0ZXIgPz9cbiAgICAgICAgICAgIHRoaXMuZmlsdGVycy5maW5kKFxuICAgICAgICAgICAgICAgIChmaWx0ZXIsIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICBwYXJhbUZpbHRlci5pbmRleCA9PT0gaW5kZXggfHxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1GaWx0ZXIua2V5ID09PSBmaWx0ZXIua2V5IHx8XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtRmlsdGVyLmlkID09PSBmaWx0ZXIuaWQgfHxcbiAgICAgICAgICAgICAgICAgICAgKHBhcmFtRmlsdGVyLm5hbWUgJiYgcGFyYW1GaWx0ZXIubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pbnN0YW50KGZpbHRlci5uYW1lKS50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgKTsgLy8gZmFsbGJhY2sgdG8gcHJlc2VydmUgdGhlIHByZXZpb3VzIGJlaGF2aW9yXG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdEZpbHRlckFuZEVtaXQobmV3UGFyYW1GaWx0ZXI6IEZpbHRlclBhcmFtc01vZGVsKSB7XG4gICAgICAgIGlmIChuZXdQYXJhbUZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RGaWx0ZXIobmV3UGFyYW1GaWx0ZXIpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50RmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldEZpbHRlckNvdW50ZXIodGhpcy5jdXJyZW50RmlsdGVyLmtleSk7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJTZWxlY3RlZC5lbWl0KHRoaXMuY3VycmVudEZpbHRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3RzIGFuZCBlbWl0cyB0aGUgY2xpY2tlZCBmaWx0ZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsdGVyIGZpbHRlciBtb2RlbFxuICAgICAqL1xuICAgIG9uRmlsdGVyQ2xpY2soZmlsdGVyOiBGaWx0ZXJQYXJhbXNNb2RlbCkge1xuICAgICAgICBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEZpbHRlcihmaWx0ZXIpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJDb3VudGVyKHRoaXMuY3VycmVudEZpbHRlcik7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckNsaWNrZWQuZW1pdCh0aGlzLmN1cnJlbnRGaWx0ZXIpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVkQ291bnRlcnNTZXQuZGVsZXRlKGZpbHRlci5rZXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdW51c2VkIG1ldGhvZFxuICAgICAqIFNlbGVjdCBhcyBkZWZhdWx0IHRhc2sgZmlsdGVyIHRoZSBmaXJzdCBpbiB0aGUgbGlzdFxuICAgICAqL1xuICAgIHB1YmxpYyBzZWxlY3REZWZhdWx0VGFza0ZpbHRlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzRmlsdGVyTGlzdEVtcHR5KCkpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEZpbHRlciA9IHRoaXMuZmlsdGVyc1swXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSBmaWx0ZXIgbGlzdCBpcyBlbXB0eVxuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIGZpbHRlciBsaXN0IGlzIGVtcHR5LCBvdGhlcndpc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIGlzRmlsdGVyTGlzdEVtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJzID09PSB1bmRlZmluZWQgfHwgKHRoaXMuZmlsdGVycyAmJiB0aGlzLmZpbHRlcnMubGVuZ3RoID09PSAwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldCB0aGUgZmlsdGVycyBwcm9wZXJ0aWVzXG4gICAgICovXG4gICAgcHJpdmF0ZSByZXNldEZpbHRlcigpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzID0gW107XG4gICAgICAgIHRoaXMuY3VycmVudEZpbHRlciA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjaGVja0lmRmlsdGVyVmFsdWVzSGFzQmVlblVwZGF0ZWQoZmlsdGVyS2V5OiBzdHJpbmcsIGZpbHRlclZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEZpbHRlcnNWYWx1ZXNbZmlsdGVyS2V5XSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuY3VycmVudEZpbHRlcnNWYWx1ZXNbZmlsdGVyS2V5XSAhPT0gZmlsdGVyVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEZpbHRlcnNWYWx1ZXNbZmlsdGVyS2V5XSA9IGZpbHRlclZhbHVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVkRmlsdGVyLmVtaXQoZmlsdGVyS2V5KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlZENvdW50ZXJzU2V0LmFkZChmaWx0ZXJLZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGZpbGVyIGtleSB3aGVuIGZpbHRlciB3YXMgcmVmcmVzaGVkIGJ5IGV4dGVybmFsIGFjdGlvblxuICAgICAqXG4gICAgICovXG4gICAgZ2V0RmlsdGVyS2V5c0FmdGVyRXh0ZXJuYWxSZWZyZXNoaW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhc2tGaWx0ZXJDbG91ZFNlcnZpY2UuZmlsdGVyS2V5VG9CZVJlZnJlc2hlZCQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChmaWx0ZXJLZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVkQ291bnRlcnNTZXQuZGVsZXRlKGZpbHRlcktleSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxtYXQtYWN0aW9uLWxpc3QgY2xhc3M9XCJhZGYtdGFzay1maWx0ZXJzXCIgKm5nSWY9XCJmaWx0ZXJzJCB8IGFzeW5jIGFzIGZpbHRlckxpc3Q7IGVsc2UgbG9hZGluZ1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGZpbHRlckxpc3RcIlxuICAgICAgICAgICAgbWF0LWxpc3QtaXRlbVxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRmlsdGVyQ2xpY2soZmlsdGVyKVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImZpbHRlci5uYW1lIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtpZF09XCJmaWx0ZXIuaWRcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cImZpbHRlci5rZXkgKyAnX2ZpbHRlcidcIlxuICAgICAgICAgICAgW2NsYXNzLmFkZi1hY3RpdmVdPVwiY3VycmVudEZpbHRlciA9PT0gZmlsdGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXRhc2stZmlsdGVyc19fZW50cnlcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXRhc2stZmlsdGVyc19fZW50cnktbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFkZi1pY29uIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1maWx0ZXItaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dJY29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmlsdGVyLmljb25cIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtZmlsdGVyLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBmaWx0ZXIubmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb3VudGVyc1tmaWx0ZXIua2V5XVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCJmaWx0ZXIua2V5ICsgJ19maWx0ZXItY291bnRlcidcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi10YXNrLWZpbHRlcnNfX2VudHJ5LWNvdW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWRmLWFjdGl2ZV09XCJ3YXNGaWx0ZXJVcGRhdGVkKGZpbHRlci5rZXkpXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGNvdW50ZXJzW2ZpbHRlci5rZXldIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LWFjdGlvbi1saXN0PlxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtYXBwLWxpc3Qtc3Bpbm5lclwiPlxuICAgICAgICAgICAgPG1hdC1zcGlubmVyIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==