@netgrif/components 6.4.0-beta.5 → 6.4.0-beta.7

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 (36) hide show
  1. package/esm2020/lib/data-fields/data-fields.module.mjs +11 -3
  2. package/esm2020/lib/data-fields/enumeration-field/enumeration-caseref-field/enumeration-caseref-field.component.mjs +22 -0
  3. package/esm2020/lib/data-fields/multichoice-field/multichoice-caseref-field/multichoice-caseref-field.component.mjs +22 -0
  4. package/esm2020/lib/dialog/model/dialog-actions.mjs +2 -2
  5. package/esm2020/lib/header/header-modes/edit-mode/edit-mode.component.mjs +15 -10
  6. package/esm2020/lib/header/header-modes/search-mode/search-mode.component.mjs +18 -13
  7. package/esm2020/lib/header/header-modes/sort-mode/sort-mode.component.mjs +14 -8
  8. package/esm2020/lib/header/header.component.mjs +47 -7
  9. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-case-ref-list-view/default-case-ref-list-view.component.mjs +38 -10
  10. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-case-view/default-tabbed-case-view.component.mjs +1 -1
  11. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-task-view/default-tabbed-task-view.component.mjs +4 -4
  12. package/esm2020/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.mjs +7 -7
  13. package/esm2020/lib/panel/case-panel/case-panel.component.mjs +68 -13
  14. package/esm2020/lib/panel/task-panel-list-pagination/task-list-pagination.component.mjs +5 -4
  15. package/esm2020/lib/panel/task-panel-single/single-task.component.mjs +10 -11
  16. package/esm2020/lib/search/search-component/search.component.mjs +3 -3
  17. package/esm2020/lib/view/case-view/components/case-list-paginator/case-list-paginator.component.mjs +5 -4
  18. package/esm2020/lib/view/case-view/components/create-case-button/create-case-button.component.mjs +5 -3
  19. package/fesm2015/netgrif-components.mjs +426 -241
  20. package/fesm2015/netgrif-components.mjs.map +1 -1
  21. package/fesm2020/netgrif-components.mjs +414 -241
  22. package/fesm2020/netgrif-components.mjs.map +1 -1
  23. package/lib/data-fields/data-fields.module.d.ts +21 -19
  24. package/lib/data-fields/enumeration-field/enumeration-caseref-field/enumeration-caseref-field.component.d.ts +8 -0
  25. package/lib/data-fields/multichoice-field/multichoice-caseref-field/multichoice-caseref-field.component.d.ts +8 -0
  26. package/lib/header/header-modes/edit-mode/edit-mode.component.d.ts +1 -0
  27. package/lib/header/header-modes/search-mode/search-mode.component.d.ts +1 -0
  28. package/lib/header/header-modes/sort-mode/sort-mode.component.d.ts +1 -0
  29. package/lib/header/header.component.d.ts +10 -5
  30. package/lib/navigation/group-navigation-component-resolver/default-components/default-case-ref-list-view/default-case-ref-list-view.component.d.ts +9 -4
  31. package/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.d.ts +2 -2
  32. package/lib/panel/case-panel/case-panel.component.d.ts +10 -4
  33. package/lib/view/case-view/components/create-case-button/create-case-button.component.d.ts +2 -1
  34. package/package.json +2 -2
  35. package/src/lib/dialog/dialog.theme.scss +14 -0
  36. package/src/lib/panel/panel.theme.scss +6 -0
@@ -5,17 +5,19 @@ import { UserAssignComponent } from '../../../side-menu/content-components/user-
5
5
  import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@netgrif/components-core";
8
- import * as i2 from "@angular/material/form-field";
9
- import * as i3 from "@angular/material/datepicker";
10
- import * as i4 from "@angular-material-components/datetime-picker";
11
- import * as i5 from "@angular/material/select";
12
- import * as i6 from "@angular/material/core";
13
- import * as i7 from "@angular/flex-layout/flex";
14
- import * as i8 from "@angular/common";
15
- import * as i9 from "@angular/flex-layout/extended";
16
- import * as i10 from "@angular/material/input";
8
+ import * as i2 from "@angular/material/checkbox";
9
+ import * as i3 from "@angular/material/icon";
10
+ import * as i4 from "@angular/material/form-field";
11
+ import * as i5 from "@angular/material/datepicker";
12
+ import * as i6 from "@angular-material-components/datetime-picker";
13
+ import * as i7 from "@angular/material/select";
14
+ import * as i8 from "@angular/material/core";
15
+ import * as i9 from "@angular/flex-layout/flex";
16
+ import * as i10 from "@angular/common";
17
17
  import * as i11 from "@angular/forms";
18
- import * as i12 from "@ngx-translate/core";
18
+ import * as i12 from "@angular/flex-layout/extended";
19
+ import * as i13 from "@angular/material/input";
20
+ import * as i14 from "@ngx-translate/core";
19
21
  export class SearchModeComponent extends AbstractSearchModeComponent {
20
22
  constructor(_sideMenuService) {
21
23
  super(_sideMenuService);
@@ -24,17 +26,20 @@ export class SearchModeComponent extends AbstractSearchModeComponent {
24
26
  selectUser(column) {
25
27
  this.selectAbstractUser(column, UserAssignComponent);
26
28
  }
29
+ setValue() {
30
+ this.approvalFormControl.setValue(true);
31
+ }
27
32
  }
28
33
  SearchModeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SearchModeComponent, deps: [{ token: i1.SideMenuService }], target: i0.ɵɵFactoryTarget.Component });
29
34
  SearchModeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SearchModeComponent, selector: "nc-search-mode", providers: [
30
35
  { provide: MAT_DATE_FORMATS, useValue: DATE_FORMAT },
31
36
  { provide: NGX_MAT_DATE_FORMATS, useValue: DATE_TIME_FORMAT }
32
- ], usesInheritance: true, ngImport: i0, template: "<div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\" center\">\n <div *ngFor=\"let header of this.headerService.selectedHeaders$ | async; let i = index\"\n [fxHide.lt-xl]=\"i >= 4 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n fxFlex [ngStyle]=\"{'min-width': getMinWidth()}\">\n <div\n *ngIf=\"!!header && header.fieldType !== 'button'; then thenBlock else elseBlock\"\n fxFlex></div>\n <ng-template #thenBlock>\n <div fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex [ngSwitch]=\"header.fieldType\" class=\"netgrif-input netgrif-header-input netgrif-input-fix netgrif-zero-field-wrapper\">\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'date'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [matDatepicker]=\"datepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.date' | translate\"\n (click)=\"datepicker.open()\"\n (keydown.enter)=\"datepicker.close()\">\n<!-- <mat-datepicker-toggle matPrefix [for]=\"datepicker\"></mat-datepicker-toggle>-->\n <mat-datepicker #datepicker></mat-datepicker>\n </mat-form-field>\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'dateTime'\"\n appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [ngxMatDatetimePicker]=\"datetimepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.dateTime' | translate\"\n (click)=\"datetimepicker.open()\"\n (keydown.enter)=\"datetimepicker.close()\">\n<!-- <mat-datepicker-toggle matPrefix [for]=\"datetimepicker\"></mat-datepicker-toggle>-->\n <ngx-mat-datetime-picker #datetimepicker\n [showSpinners]=\"true\"\n [showSeconds]=\"false\"\n [stepHour]=\"1\"\n [stepMinute]=\"5\"\n [color]=\"'primary'\"\n [enableMeridian]=\"false\">\n </ngx-mat-datetime-picker>\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'number'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"formControls[i]\">\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'boolean'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <mat-select matInput [formControl]=\"formControls[i]\">\n <mat-option>---</mat-option>\n <mat-option [value]=\"true\">{{'dataField.values.boolean.true' | translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'user'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput (click)=\"selectUser(i)\" autocomplete=\"false\"\n [formControl]=\"formControls[i]\">\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchDefault\n appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput [formControl]=\"formControls[i]\">\n </mat-form-field>\n </div>\n </ng-template>\n\n <ng-template #elseBlock>\n <div fxFlex></div>\n </ng-template>\n </div>\n</div>\n", styles: [""], components: [{ type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i4.NgxMatDatetimePicker, selector: "ngx-mat-datetime-picker", inputs: ["calendarHeaderComponent", "startAt", "startView", "defaultColor", "color", "touchUi", "hideTime", "disabled", "panelClass", "dateClass", "opened", "showSpinners", "showSeconds", "stepHour", "stepMinute", "stepSecond", "enableMeridian", "disableMinute", "defaultTime"], outputs: ["yearSelected", "monthSelected", "opened", "closed"], exportAs: ["ngxMatDatetimePicker"] }, { type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i9.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i10.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"] }, { type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i11.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.NgxMatDatetimeInput, selector: "input[ngxMatDatetimePicker]", inputs: ["ngxMatDatetimePicker", "ngxMatDatetimePickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["ngxMatDatetimePickerInput"] }, { type: i11.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i8.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "async": i8.AsyncPipe, "translate": i12.TranslatePipe } });
37
+ ], usesInheritance: true, ngImport: i0, template: "<div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\" center\">\n <mat-checkbox *ngIf=\"approval && typeApproval === 'multichoice'\" [formControl]=\"approvalFormControl\" [indeterminate]=\"indeterminate\"\n (click)=\"$event.stopPropagation();\" color='primary' class=\"checkbox-padding\"></mat-checkbox>\n <mat-icon *ngIf=\"approval && typeApproval === 'enumeration'\" color=\"warn\" (click)=\"setValue();$event.stopPropagation();\" class=\"checkbox-padding cursor-fix\">close</mat-icon>\n <div *ngFor=\"let header of this.headerService.selectedHeaders$ | async; let i = index\"\n [fxHide.lt-xl]=\"i >= 4 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n fxFlex [ngStyle]=\"{'min-width': getMinWidth()}\">\n <div\n *ngIf=\"!!header && header.fieldType !== 'button'; then thenBlock else elseBlock\"\n fxFlex></div>\n <ng-template #thenBlock>\n <div fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex [ngSwitch]=\"header.fieldType\" class=\"netgrif-input netgrif-header-input netgrif-input-fix netgrif-zero-field-wrapper\">\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'date'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [matDatepicker]=\"datepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.date' | translate\"\n (click)=\"datepicker.open()\"\n (keydown.enter)=\"datepicker.close()\">\n<!-- <mat-datepicker-toggle matPrefix [for]=\"datepicker\"></mat-datepicker-toggle>-->\n <mat-datepicker #datepicker></mat-datepicker>\n </mat-form-field>\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'dateTime'\"\n appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [ngxMatDatetimePicker]=\"datetimepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.dateTime' | translate\"\n (click)=\"datetimepicker.open()\"\n (keydown.enter)=\"datetimepicker.close()\">\n<!-- <mat-datepicker-toggle matPrefix [for]=\"datetimepicker\"></mat-datepicker-toggle>-->\n <ngx-mat-datetime-picker #datetimepicker\n [showSpinners]=\"true\"\n [showSeconds]=\"false\"\n [stepHour]=\"1\"\n [stepMinute]=\"5\"\n [color]=\"'primary'\"\n [enableMeridian]=\"false\">\n </ngx-mat-datetime-picker>\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'number'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"formControls[i]\">\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'boolean'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <mat-select matInput [formControl]=\"formControls[i]\">\n <mat-option>---</mat-option>\n <mat-option [value]=\"true\">{{'dataField.values.boolean.true' | translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'user'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput (click)=\"selectUser(i)\" autocomplete=\"false\"\n [formControl]=\"formControls[i]\">\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchDefault\n appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput [formControl]=\"formControls[i]\">\n </mat-form-field>\n </div>\n </ng-template>\n\n <ng-template #elseBlock>\n <div fxFlex></div>\n </ng-template>\n </div>\n</div>\n", styles: [".checkbox-padding{padding-right:12px}.cursor-fix{cursor:pointer}\n"], components: [{ type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i6.NgxMatDatetimePicker, selector: "ngx-mat-datetime-picker", inputs: ["calendarHeaderComponent", "startAt", "startView", "defaultColor", "color", "touchUi", "hideTime", "disabled", "panelClass", "dateClass", "opened", "showSpinners", "showSeconds", "stepHour", "stepMinute", "stepSecond", "enableMeridian", "disableMinute", "defaultTime"], outputs: ["yearSelected", "monthSelected", "opened", "closed"], exportAs: ["ngxMatDatetimePicker"] }, { type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i9.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i9.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i9.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i10.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i12.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.MatLabel, selector: "mat-label" }, { type: i13.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"] }, { type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i11.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.NgxMatDatetimeInput, selector: "input[ngxMatDatetimePicker]", inputs: ["ngxMatDatetimePicker", "ngxMatDatetimePickerFilter", "value", "min", "max", "disabled"], outputs: ["dateChange", "dateInput"], exportAs: ["ngxMatDatetimePickerInput"] }, { type: i11.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i10.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "async": i10.AsyncPipe, "translate": i14.TranslatePipe } });
33
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SearchModeComponent, decorators: [{
34
39
  type: Component,
35
40
  args: [{ selector: 'nc-search-mode', providers: [
36
41
  { provide: MAT_DATE_FORMATS, useValue: DATE_FORMAT },
37
42
  { provide: NGX_MAT_DATE_FORMATS, useValue: DATE_TIME_FORMAT }
38
- ], template: "<div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\" center\">\n <div *ngFor=\"let header of this.headerService.selectedHeaders$ | async; let i = index\"\n [fxHide.lt-xl]=\"i >= 4 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n fxFlex [ngStyle]=\"{'min-width': getMinWidth()}\">\n <div\n *ngIf=\"!!header && header.fieldType !== 'button'; then thenBlock else elseBlock\"\n fxFlex></div>\n <ng-template #thenBlock>\n <div fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex [ngSwitch]=\"header.fieldType\" class=\"netgrif-input netgrif-header-input netgrif-input-fix netgrif-zero-field-wrapper\">\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'date'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [matDatepicker]=\"datepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.date' | translate\"\n (click)=\"datepicker.open()\"\n (keydown.enter)=\"datepicker.close()\">\n<!-- <mat-datepicker-toggle matPrefix [for]=\"datepicker\"></mat-datepicker-toggle>-->\n <mat-datepicker #datepicker></mat-datepicker>\n </mat-form-field>\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'dateTime'\"\n appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [ngxMatDatetimePicker]=\"datetimepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.dateTime' | translate\"\n (click)=\"datetimepicker.open()\"\n (keydown.enter)=\"datetimepicker.close()\">\n<!-- <mat-datepicker-toggle matPrefix [for]=\"datetimepicker\"></mat-datepicker-toggle>-->\n <ngx-mat-datetime-picker #datetimepicker\n [showSpinners]=\"true\"\n [showSeconds]=\"false\"\n [stepHour]=\"1\"\n [stepMinute]=\"5\"\n [color]=\"'primary'\"\n [enableMeridian]=\"false\">\n </ngx-mat-datetime-picker>\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'number'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"formControls[i]\">\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'boolean'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <mat-select matInput [formControl]=\"formControls[i]\">\n <mat-option>---</mat-option>\n <mat-option [value]=\"true\">{{'dataField.values.boolean.true' | translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'user'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput (click)=\"selectUser(i)\" autocomplete=\"false\"\n [formControl]=\"formControls[i]\">\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchDefault\n appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput [formControl]=\"formControls[i]\">\n </mat-form-field>\n </div>\n </ng-template>\n\n <ng-template #elseBlock>\n <div fxFlex></div>\n </ng-template>\n </div>\n</div>\n", styles: [""] }]
43
+ ], template: "<div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\" center\">\n <mat-checkbox *ngIf=\"approval && typeApproval === 'multichoice'\" [formControl]=\"approvalFormControl\" [indeterminate]=\"indeterminate\"\n (click)=\"$event.stopPropagation();\" color='primary' class=\"checkbox-padding\"></mat-checkbox>\n <mat-icon *ngIf=\"approval && typeApproval === 'enumeration'\" color=\"warn\" (click)=\"setValue();$event.stopPropagation();\" class=\"checkbox-padding cursor-fix\">close</mat-icon>\n <div *ngFor=\"let header of this.headerService.selectedHeaders$ | async; let i = index\"\n [fxHide.lt-xl]=\"i >= 4 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n fxFlex [ngStyle]=\"{'min-width': getMinWidth()}\">\n <div\n *ngIf=\"!!header && header.fieldType !== 'button'; then thenBlock else elseBlock\"\n fxFlex></div>\n <ng-template #thenBlock>\n <div fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex [ngSwitch]=\"header.fieldType\" class=\"netgrif-input netgrif-header-input netgrif-input-fix netgrif-zero-field-wrapper\">\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'date'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [matDatepicker]=\"datepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.date' | translate\"\n (click)=\"datepicker.open()\"\n (keydown.enter)=\"datepicker.close()\">\n<!-- <mat-datepicker-toggle matPrefix [for]=\"datepicker\"></mat-datepicker-toggle>-->\n <mat-datepicker #datepicker></mat-datepicker>\n </mat-form-field>\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'dateTime'\"\n appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput autocomplete=\"off\"\n [ngxMatDatetimePicker]=\"datetimepicker\"\n [formControl]=\"formControls[i]\"\n [placeholder]=\"'headers.dateTime' | translate\"\n (click)=\"datetimepicker.open()\"\n (keydown.enter)=\"datetimepicker.close()\">\n<!-- <mat-datepicker-toggle matPrefix [for]=\"datetimepicker\"></mat-datepicker-toggle>-->\n <ngx-mat-datetime-picker #datetimepicker\n [showSpinners]=\"true\"\n [showSeconds]=\"false\"\n [stepHour]=\"1\"\n [stepMinute]=\"5\"\n [color]=\"'primary'\"\n [enableMeridian]=\"false\">\n </ngx-mat-datetime-picker>\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'number'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"formControls[i]\">\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'boolean'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <mat-select matInput [formControl]=\"formControls[i]\">\n <mat-option>---</mat-option>\n <mat-option [value]=\"true\">{{'dataField.values.boolean.true' | translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchCase=\"'user'\" appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput (click)=\"selectUser(i)\" autocomplete=\"false\"\n [formControl]=\"formControls[i]\">\n </mat-form-field>\n\n <mat-form-field color=\"primary\" fxLayout=\"row\" fxLayoutAlign=\" center\" fxFlex *ngSwitchDefault\n appearance=\"outline\">\n <mat-label>{{header.title | translate}}</mat-label>\n <input matInput [formControl]=\"formControls[i]\">\n </mat-form-field>\n </div>\n </ng-template>\n\n <ng-template #elseBlock>\n <div fxFlex></div>\n </ng-template>\n </div>\n</div>\n", styles: [".checkbox-padding{padding-right:12px}.cursor-fix{cursor:pointer}\n"] }]
39
44
  }], ctorParameters: function () { return [{ type: i1.SideMenuService }]; } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW1vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvaGVhZGVyL2hlYWRlci1tb2Rlcy9zZWFyY2gtbW9kZS9zZWFyY2gtbW9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLW1vZGVzL3NlYXJjaC1tb2RlL3NlYXJjaC1tb2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFDLDJCQUEyQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNySCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUM1RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFXbEYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLDJCQUEyQjtJQUVoRSxZQUFzQixnQkFBaUM7UUFDbkQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFETixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO0lBRXZELENBQUM7SUFFTSxVQUFVLENBQUMsTUFBYztRQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDekQsQ0FBQzs7aUhBUlEsbUJBQW1CO3FHQUFuQixtQkFBbUIseUNBTGpCO1FBQ1AsRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQztRQUNsRCxFQUFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUM7S0FDOUQsaURDYkwsMjNKQTJFQTs0RkQ1RGEsbUJBQW1CO2tCQVQvQixTQUFTOytCQUNJLGdCQUFnQixhQUdmO3dCQUNQLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUM7d0JBQ2xELEVBQUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQztxQkFDOUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01BVF9EQVRFX0ZPUk1BVFN9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFNlYXJjaE1vZGVDb21wb25lbnQsIERBVEVfRk9STUFULCBEQVRFX1RJTUVfRk9STUFULCBTaWRlTWVudVNlcnZpY2V9IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge1VzZXJBc3NpZ25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvdXNlci1hc3NpZ24vdXNlci1hc3NpZ24uY29tcG9uZW50JztcbmltcG9ydCB7TkdYX01BVF9EQVRFX0ZPUk1BVFN9IGZyb20gJ0Bhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1zZWFyY2gtbW9kZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1tb2RlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtbW9kZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7cHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IERBVEVfRk9STUFUfSxcbiAgICAgICAge3Byb3ZpZGU6IE5HWF9NQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogREFURV9USU1FX0ZPUk1BVH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaE1vZGVDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFNlYXJjaE1vZGVDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9zaWRlTWVudVNlcnZpY2U6IFNpZGVNZW51U2VydmljZSkge1xuICAgICAgICBzdXBlcihfc2lkZU1lbnVTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0VXNlcihjb2x1bW46IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdEFic3RyYWN0VXNlcihjb2x1bW4sIFVzZXJBc3NpZ25Db21wb25lbnQpO1xuICAgIH1cbn1cbiIsIjxkaXYgZnhGbGV4PVwiMTAwXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiIGNlbnRlclwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGhlYWRlciBvZiB0aGlzLmhlYWRlclNlcnZpY2Uuc2VsZWN0ZWRIZWFkZXJzJCB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgIFtmeEhpZGUubHQteGxdPVwiaSA+PSA0ICYmIHRoaXMuaGVhZGVyU2VydmljZS5yZXNwb25zaXZlSGVhZGVycyAmJiAhdGhpcy5oZWFkZXJTZXJ2aWNlLm92ZXJmbG93TW9kZVwiXG4gICAgICAgICBbZnhIaWRlLmx0LWxnXT1cImkgPj0gMyAmJiB0aGlzLmhlYWRlclNlcnZpY2UucmVzcG9uc2l2ZUhlYWRlcnMgJiYgIXRoaXMuaGVhZGVyU2VydmljZS5vdmVyZmxvd01vZGVcIlxuICAgICAgICAgW2Z4SGlkZS5sdC1tZF09XCJpID49IDIgJiYgdGhpcy5oZWFkZXJTZXJ2aWNlLnJlc3BvbnNpdmVIZWFkZXJzICYmICF0aGlzLmhlYWRlclNlcnZpY2Uub3ZlcmZsb3dNb2RlXCJcbiAgICAgICAgIFtmeEhpZGUubHQtc21dPVwiaSA+PSAxICYmIHRoaXMuaGVhZGVyU2VydmljZS5yZXNwb25zaXZlSGVhZGVycyAmJiAhdGhpcy5oZWFkZXJTZXJ2aWNlLm92ZXJmbG93TW9kZVwiXG4gICAgICAgICBmeEZsZXggW25nU3R5bGVdPVwieydtaW4td2lkdGgnOiBnZXRNaW5XaWR0aCgpfVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cIiEhaGVhZGVyICYmIGhlYWRlci5maWVsZFR5cGUgIT09ICdidXR0b24nOyB0aGVuIHRoZW5CbG9jayBlbHNlIGVsc2VCbG9ja1wiXG4gICAgICAgICAgICBmeEZsZXg+PC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdGhlbkJsb2NrPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCIgY2VudGVyXCIgZnhGbGV4IFtuZ1N3aXRjaF09XCJoZWFkZXIuZmllbGRUeXBlXCIgY2xhc3M9XCJuZXRncmlmLWlucHV0IG5ldGdyaWYtaGVhZGVyLWlucHV0IG5ldGdyaWYtaW5wdXQtZml4IG5ldGdyaWYtemVyby1maWVsZC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwicHJpbWFyeVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXggKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3toZWFkZXIudGl0bGUgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cImRhdGVwaWNrZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sc1tpXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2hlYWRlcnMuZGF0ZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXIub3BlbigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImRhdGVwaWNrZXIuY2xvc2UoKVwiPlxuPCEtLSAgICAgICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRQcmVmaXggW2Zvcl09XCJkYXRlcGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+LS0+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjZGF0ZXBpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwicHJpbWFyeVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXggKm5nU3dpdGNoQ2FzZT1cIidkYXRlVGltZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7aGVhZGVyLnRpdGxlIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbmd4TWF0RGF0ZXRpbWVQaWNrZXJdPVwiZGF0ZXRpbWVwaWNrZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sc1tpXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2hlYWRlcnMuZGF0ZVRpbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkYXRldGltZXBpY2tlci5vcGVuKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGF0ZXRpbWVwaWNrZXIuY2xvc2UoKVwiPlxuPCEtLSAgICAgICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRQcmVmaXggW2Zvcl09XCJkYXRldGltZXBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPi0tPlxuICAgICAgICAgICAgICAgICAgICA8bmd4LW1hdC1kYXRldGltZS1waWNrZXIgI2RhdGV0aW1lcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1NwaW5uZXJzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwSG91cl09XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwTWludXRlXT1cIjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIidwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlTWVyaWRpYW5dPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZ3gtbWF0LWRhdGV0aW1lLXBpY2tlcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwicHJpbWFyeVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXggKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e2hlYWRlci50aXRsZSB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sc1tpXVwiPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY29sb3I9XCJwcmltYXJ5XCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiIGNlbnRlclwiIGZ4RmxleCAqbmdTd2l0Y2hDYXNlPVwiJ2Jvb2xlYW4nXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e2hlYWRlci50aXRsZSB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbHNbaV1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uPi0tLTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ0cnVlXCI+e3snZGF0YUZpZWxkLnZhbHVlcy5ib29sZWFuLnRydWUnIHwgdHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwicHJpbWFyeVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXggKm5nU3dpdGNoQ2FzZT1cIid1c2VyJ1wiICBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7aGVhZGVyLnRpdGxlIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IChjbGljayk9XCJzZWxlY3RVc2VyKGkpXCIgYXV0b2NvbXBsZXRlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbHNbaV1cIj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwicHJpbWFyeVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXggKm5nU3dpdGNoRGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7aGVhZGVyLnRpdGxlIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbHNbaV1cIj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlQmxvY2s+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW1vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvaGVhZGVyL2hlYWRlci1tb2Rlcy9zZWFyY2gtbW9kZS9zZWFyY2gtbW9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLW1vZGVzL3NlYXJjaC1tb2RlL3NlYXJjaC1tb2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFDLDJCQUEyQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNySCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUM1RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVdsRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsMkJBQTJCO0lBRWhFLFlBQXNCLGdCQUFpQztRQUNuRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUROLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7SUFFdkQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUFjO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7aUhBWlEsbUJBQW1CO3FHQUFuQixtQkFBbUIseUNBTGpCO1FBQ1AsRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQztRQUNsRCxFQUFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUM7S0FDOUQsaURDYkwsMHpLQThFQTs0RkQvRGEsbUJBQW1CO2tCQVQvQixTQUFTOytCQUNJLGdCQUFnQixhQUdmO3dCQUNQLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUM7d0JBQ2xELEVBQUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQztxQkFDOUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01BVF9EQVRFX0ZPUk1BVFN9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFNlYXJjaE1vZGVDb21wb25lbnQsIERBVEVfRk9STUFULCBEQVRFX1RJTUVfRk9STUFULCBTaWRlTWVudVNlcnZpY2V9IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge1VzZXJBc3NpZ25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvdXNlci1hc3NpZ24vdXNlci1hc3NpZ24uY29tcG9uZW50JztcbmltcG9ydCB7TkdYX01BVF9EQVRFX0ZPUk1BVFN9IGZyb20gJ0Bhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1zZWFyY2gtbW9kZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1tb2RlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtbW9kZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7cHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IERBVEVfRk9STUFUfSxcbiAgICAgICAge3Byb3ZpZGU6IE5HWF9NQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogREFURV9USU1FX0ZPUk1BVH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaE1vZGVDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFNlYXJjaE1vZGVDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9zaWRlTWVudVNlcnZpY2U6IFNpZGVNZW51U2VydmljZSkge1xuICAgICAgICBzdXBlcihfc2lkZU1lbnVTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0VXNlcihjb2x1bW46IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdEFic3RyYWN0VXNlcihjb2x1bW4sIFVzZXJBc3NpZ25Db21wb25lbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRWYWx1ZSgpIHtcbiAgICAgICAgdGhpcy5hcHByb3ZhbEZvcm1Db250cm9sLnNldFZhbHVlKHRydWUpO1xuICAgIH1cbn1cbiIsIjxkaXYgZnhGbGV4PVwiMTAwXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiIGNlbnRlclwiPlxuICAgIDxtYXQtY2hlY2tib3ggKm5nSWY9XCJhcHByb3ZhbCAmJiB0eXBlQXBwcm92YWwgPT09ICdtdWx0aWNob2ljZSdcIiBbZm9ybUNvbnRyb2xdPVwiYXBwcm92YWxGb3JtQ29udHJvbFwiIFtpbmRldGVybWluYXRlXT1cImluZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIiBjb2xvcj0ncHJpbWFyeScgY2xhc3M9XCJjaGVja2JveC1wYWRkaW5nXCI+PC9tYXQtY2hlY2tib3g+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiYXBwcm92YWwgJiYgdHlwZUFwcHJvdmFsID09PSAnZW51bWVyYXRpb24nXCIgY29sb3I9XCJ3YXJuXCIgKGNsaWNrKT1cInNldFZhbHVlKCk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiIGNsYXNzPVwiY2hlY2tib3gtcGFkZGluZyBjdXJzb3ItZml4XCI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGhlYWRlciBvZiB0aGlzLmhlYWRlclNlcnZpY2Uuc2VsZWN0ZWRIZWFkZXJzJCB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgIFtmeEhpZGUubHQteGxdPVwiaSA+PSA0ICYmIHRoaXMuaGVhZGVyU2VydmljZS5yZXNwb25zaXZlSGVhZGVycyAmJiAhdGhpcy5oZWFkZXJTZXJ2aWNlLm92ZXJmbG93TW9kZVwiXG4gICAgICAgICBbZnhIaWRlLmx0LWxnXT1cImkgPj0gMyAmJiB0aGlzLmhlYWRlclNlcnZpY2UucmVzcG9uc2l2ZUhlYWRlcnMgJiYgIXRoaXMuaGVhZGVyU2VydmljZS5vdmVyZmxvd01vZGVcIlxuICAgICAgICAgW2Z4SGlkZS5sdC1tZF09XCJpID49IDIgJiYgdGhpcy5oZWFkZXJTZXJ2aWNlLnJlc3BvbnNpdmVIZWFkZXJzICYmICF0aGlzLmhlYWRlclNlcnZpY2Uub3ZlcmZsb3dNb2RlXCJcbiAgICAgICAgIFtmeEhpZGUubHQtc21dPVwiaSA+PSAxICYmIHRoaXMuaGVhZGVyU2VydmljZS5yZXNwb25zaXZlSGVhZGVycyAmJiAhdGhpcy5oZWFkZXJTZXJ2aWNlLm92ZXJmbG93TW9kZVwiXG4gICAgICAgICBmeEZsZXggW25nU3R5bGVdPVwieydtaW4td2lkdGgnOiBnZXRNaW5XaWR0aCgpfVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cIiEhaGVhZGVyICYmIGhlYWRlci5maWVsZFR5cGUgIT09ICdidXR0b24nOyB0aGVuIHRoZW5CbG9jayBlbHNlIGVsc2VCbG9ja1wiXG4gICAgICAgICAgICBmeEZsZXg+PC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdGhlbkJsb2NrPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCIgY2VudGVyXCIgZnhGbGV4IFtuZ1N3aXRjaF09XCJoZWFkZXIuZmllbGRUeXBlXCIgY2xhc3M9XCJuZXRncmlmLWlucHV0IG5ldGdyaWYtaGVhZGVyLWlucHV0IG5ldGdyaWYtaW5wdXQtZml4IG5ldGdyaWYtemVyby1maWVsZC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwicHJpbWFyeVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXggKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3toZWFkZXIudGl0bGUgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cImRhdGVwaWNrZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sc1tpXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2hlYWRlcnMuZGF0ZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXIub3BlbigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImRhdGVwaWNrZXIuY2xvc2UoKVwiPlxuPCEtLSAgICAgICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRQcmVmaXggW2Zvcl09XCJkYXRlcGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+LS0+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjZGF0ZXBpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwicHJpbWFyeVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXggKm5nU3dpdGNoQ2FzZT1cIidkYXRlVGltZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7aGVhZGVyLnRpdGxlIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbbmd4TWF0RGF0ZXRpbWVQaWNrZXJdPVwiZGF0ZXRpbWVwaWNrZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sc1tpXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2hlYWRlcnMuZGF0ZVRpbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkYXRldGltZXBpY2tlci5vcGVuKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGF0ZXRpbWVwaWNrZXIuY2xvc2UoKVwiPlxuPCEtLSAgICAgICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRQcmVmaXggW2Zvcl09XCJkYXRldGltZXBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPi0tPlxuICAgICAgICAgICAgICAgICAgICA8bmd4LW1hdC1kYXRldGltZS1waWNrZXIgI2RhdGV0aW1lcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1NwaW5uZXJzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dTZWNvbmRzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwSG91cl09XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwTWludXRlXT1cIjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIidwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlTWVyaWRpYW5dPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZ3gtbWF0LWRhdGV0aW1lLXBpY2tlcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwicHJpbWFyeVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXggKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e2hlYWRlci50aXRsZSB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sc1tpXVwiPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY29sb3I9XCJwcmltYXJ5XCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiIGNlbnRlclwiIGZ4RmxleCAqbmdTd2l0Y2hDYXNlPVwiJ2Jvb2xlYW4nXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e2hlYWRlci50aXRsZSB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbHNbaV1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uPi0tLTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ0cnVlXCI+e3snZGF0YUZpZWxkLnZhbHVlcy5ib29sZWFuLnRydWUnIHwgdHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwicHJpbWFyeVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXggKm5nU3dpdGNoQ2FzZT1cIid1c2VyJ1wiICBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7aGVhZGVyLnRpdGxlIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IChjbGljayk9XCJzZWxlY3RVc2VyKGkpXCIgYXV0b2NvbXBsZXRlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbHNbaV1cIj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwicHJpbWFyeVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIiBmeEZsZXggKm5nU3dpdGNoRGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7aGVhZGVyLnRpdGxlIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbHNbaV1cIj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlQmxvY2s+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleD48L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,20 +1,26 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { AbstractSortModeComponent } from '@netgrif/components-core';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/sort";
5
- import * as i2 from "@angular/flex-layout/flex";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/flex-layout/extended";
8
- import * as i5 from "@ngx-translate/core";
4
+ import * as i1 from "@angular/material/checkbox";
5
+ import * as i2 from "@angular/material/icon";
6
+ import * as i3 from "@angular/material/sort";
7
+ import * as i4 from "@angular/flex-layout/flex";
8
+ import * as i5 from "@angular/common";
9
+ import * as i6 from "@angular/forms";
10
+ import * as i7 from "@angular/flex-layout/extended";
11
+ import * as i8 from "@ngx-translate/core";
9
12
  export class SortModeComponent extends AbstractSortModeComponent {
10
13
  constructor() {
11
14
  super();
12
15
  }
16
+ setValue() {
17
+ this.approvalFormControl.setValue(true);
18
+ }
13
19
  }
14
20
  SortModeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SortModeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
- SortModeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SortModeComponent, selector: "nc-sort-mode", usesInheritance: true, ngImport: i0, template: "<div matSort (matSortChange)=\"sortHeaderChanged($event)\" fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\" center\">\n <div [ngStyle]=\"{'min-width': getMinWidth()}\" *ngFor=\"let header of headerService.headerState.selectedHeaders$ | async; let i = index\" fxFlex\n [fxHide.lt-xl]=\"i >= 4 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\">\n <div *ngIf=\"!!header; then thenBlock else elseBlock\" fxFlex></div>\n <ng-template #thenBlock>\n <span fxFlex class=\"header-text\"\n mat-sort-header=\"{{i}}-{{header.uniqueId}}\">\n {{ header.title | translate}}\n </span>\n </ng-template>\n <ng-template #elseBlock>\n <div fxFlex></div>\n </ng-template>\n </div>\n</div>\n", styles: [".header-text{font-style:normal;font-weight:500;font-size:14px;line-height:20px;letter-spacing:.1px;color:#64748b}\n"], components: [{ type: i1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }], directives: [{ type: i1.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i4.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe, "translate": i5.TranslatePipe } });
21
+ SortModeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SortModeComponent, selector: "nc-sort-mode", usesInheritance: true, ngImport: i0, template: "<div matSort (matSortChange)=\"sortHeaderChanged($event)\" fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\" center\">\n <mat-checkbox *ngIf=\"approval && typeApproval === 'multichoice'\" [formControl]=\"approvalFormControl\" [indeterminate]=\"indeterminate\"\n (click)=\"$event.stopPropagation();\" color='primary' class=\"checkbox-padding\"></mat-checkbox>\n <mat-icon *ngIf=\"approval && typeApproval === 'enumeration'\" color=\"warn\" (click)=\"setValue();$event.stopPropagation();\" class=\"checkbox-padding cursor-fix\">close</mat-icon>\n <div [ngStyle]=\"{'min-width': getMinWidth()}\" *ngFor=\"let header of headerService.headerState.selectedHeaders$ | async; let i = index\" fxFlex\n [fxHide.lt-xl]=\"i >= 4 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\">\n <div *ngIf=\"!!header; then thenBlock else elseBlock\" fxFlex></div>\n <ng-template #thenBlock>\n <span fxFlex class=\"header-text\"\n mat-sort-header=\"{{i}}-{{header.uniqueId}}\">\n {{ header.title | translate}}\n </span>\n </ng-template>\n <ng-template #elseBlock>\n <div fxFlex></div>\n </ng-template>\n </div>\n</div>\n", styles: [".header-text{font-style:normal;font-weight:500;font-size:14px;line-height:20px;letter-spacing:.1px;color:#64748b}.checkbox-padding{padding-right:12px}.cursor-fix{cursor:pointer}\n"], components: [{ type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }], directives: [{ type: i3.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i4.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i7.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i7.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }], pipes: { "async": i5.AsyncPipe, "translate": i8.TranslatePipe } });
16
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SortModeComponent, decorators: [{
17
23
  type: Component,
18
- args: [{ selector: 'nc-sort-mode', template: "<div matSort (matSortChange)=\"sortHeaderChanged($event)\" fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\" center\">\n <div [ngStyle]=\"{'min-width': getMinWidth()}\" *ngFor=\"let header of headerService.headerState.selectedHeaders$ | async; let i = index\" fxFlex\n [fxHide.lt-xl]=\"i >= 4 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\">\n <div *ngIf=\"!!header; then thenBlock else elseBlock\" fxFlex></div>\n <ng-template #thenBlock>\n <span fxFlex class=\"header-text\"\n mat-sort-header=\"{{i}}-{{header.uniqueId}}\">\n {{ header.title | translate}}\n </span>\n </ng-template>\n <ng-template #elseBlock>\n <div fxFlex></div>\n </ng-template>\n </div>\n</div>\n", styles: [".header-text{font-style:normal;font-weight:500;font-size:14px;line-height:20px;letter-spacing:.1px;color:#64748b}\n"] }]
24
+ args: [{ selector: 'nc-sort-mode', template: "<div matSort (matSortChange)=\"sortHeaderChanged($event)\" fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\" center\">\n <mat-checkbox *ngIf=\"approval && typeApproval === 'multichoice'\" [formControl]=\"approvalFormControl\" [indeterminate]=\"indeterminate\"\n (click)=\"$event.stopPropagation();\" color='primary' class=\"checkbox-padding\"></mat-checkbox>\n <mat-icon *ngIf=\"approval && typeApproval === 'enumeration'\" color=\"warn\" (click)=\"setValue();$event.stopPropagation();\" class=\"checkbox-padding cursor-fix\">close</mat-icon>\n <div [ngStyle]=\"{'min-width': getMinWidth()}\" *ngFor=\"let header of headerService.headerState.selectedHeaders$ | async; let i = index\" fxFlex\n [fxHide.lt-xl]=\"i >= 4 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && this.headerService.responsiveHeaders && !this.headerService.overflowMode\">\n <div *ngIf=\"!!header; then thenBlock else elseBlock\" fxFlex></div>\n <ng-template #thenBlock>\n <span fxFlex class=\"header-text\"\n mat-sort-header=\"{{i}}-{{header.uniqueId}}\">\n {{ header.title | translate}}\n </span>\n </ng-template>\n <ng-template #elseBlock>\n <div fxFlex></div>\n </ng-template>\n </div>\n</div>\n", styles: [".header-text{font-style:normal;font-weight:500;font-size:14px;line-height:20px;letter-spacing:.1px;color:#64748b}.checkbox-padding{padding-right:12px}.cursor-fix{cursor:pointer}\n"] }]
19
25
  }], ctorParameters: function () { return []; } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1tb2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2hlYWRlci9oZWFkZXItbW9kZXMvc29ydC1tb2RlL3NvcnQtbW9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLW1vZGVzL3NvcnQtbW9kZS9zb3J0LW1vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQU9uRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEseUJBQXlCO0lBQzVEO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDOzsrR0FIUSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwyRUNSOUIseW5DQWtCQTs0RkRWYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0ksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RTb3J0TW9kZUNvbXBvbmVudH0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1zb3J0LW1vZGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zb3J0LW1vZGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NvcnQtbW9kZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNvcnRNb2RlQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RTb3J0TW9kZUNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxufVxuXG5cbiIsIjxkaXYgbWF0U29ydCAobWF0U29ydENoYW5nZSk9XCJzb3J0SGVhZGVyQ2hhbmdlZCgkZXZlbnQpXCIgZnhGbGV4PVwiMTAwXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiIGNlbnRlclwiPlxuICAgIDxkaXYgW25nU3R5bGVdPVwieydtaW4td2lkdGgnOiBnZXRNaW5XaWR0aCgpfVwiICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgaGVhZGVyU2VydmljZS5oZWFkZXJTdGF0ZS5zZWxlY3RlZEhlYWRlcnMkIHwgYXN5bmM7IGxldCBpID0gaW5kZXhcIiBmeEZsZXhcbiAgICAgICAgIFtmeEhpZGUubHQteGxdPVwiaSA+PSA0ICYmIHRoaXMuaGVhZGVyU2VydmljZS5yZXNwb25zaXZlSGVhZGVycyAmJiAhdGhpcy5oZWFkZXJTZXJ2aWNlLm92ZXJmbG93TW9kZVwiXG4gICAgICAgICBbZnhIaWRlLmx0LWxnXT1cImkgPj0gMyAmJiB0aGlzLmhlYWRlclNlcnZpY2UucmVzcG9uc2l2ZUhlYWRlcnMgJiYgIXRoaXMuaGVhZGVyU2VydmljZS5vdmVyZmxvd01vZGVcIlxuICAgICAgICAgW2Z4SGlkZS5sdC1tZF09XCJpID49IDIgJiYgdGhpcy5oZWFkZXJTZXJ2aWNlLnJlc3BvbnNpdmVIZWFkZXJzICYmICF0aGlzLmhlYWRlclNlcnZpY2Uub3ZlcmZsb3dNb2RlXCJcbiAgICAgICAgIFtmeEhpZGUubHQtc21dPVwiaSA+PSAxICYmIHRoaXMuaGVhZGVyU2VydmljZS5yZXNwb25zaXZlSGVhZGVycyAmJiAhdGhpcy5oZWFkZXJTZXJ2aWNlLm92ZXJmbG93TW9kZVwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiISFoZWFkZXI7IHRoZW4gdGhlbkJsb2NrIGVsc2UgZWxzZUJsb2NrXCIgZnhGbGV4PjwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI3RoZW5CbG9jaz5cbiAgICAgICAgICAgIDxzcGFuIGZ4RmxleCBjbGFzcz1cImhlYWRlci10ZXh0XCJcbiAgICAgICAgICAgICAgICAgIG1hdC1zb3J0LWhlYWRlcj1cInt7aX19LXt7aGVhZGVyLnVuaXF1ZUlkfX1cIj5cbiAgICAgICAgICAgIHt7IGhlYWRlci50aXRsZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUJsb2NrPlxuICAgICAgICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1tb2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2hlYWRlci9oZWFkZXItbW9kZXMvc29ydC1tb2RlL3NvcnQtbW9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLW1vZGVzL3NvcnQtbW9kZS9zb3J0LW1vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7OztBQU9uRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEseUJBQXlCO0lBQzVEO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7K0dBUFEsaUJBQWlCO21HQUFqQixpQkFBaUIsMkVDUjlCLHdqREFxQkE7NEZEYmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNJLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0U29ydE1vZGVDb21wb25lbnR9IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtc29ydC1tb2RlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc29ydC1tb2RlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zb3J0LW1vZGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTb3J0TW9kZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0U29ydE1vZGVDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRWYWx1ZSgpIHtcbiAgICAgICAgdGhpcy5hcHByb3ZhbEZvcm1Db250cm9sLnNldFZhbHVlKHRydWUpO1xuICAgIH1cbn1cblxuXG4iLCI8ZGl2IG1hdFNvcnQgKG1hdFNvcnRDaGFuZ2UpPVwic29ydEhlYWRlckNoYW5nZWQoJGV2ZW50KVwiIGZ4RmxleD1cIjEwMFwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cIiBjZW50ZXJcIj5cbiAgICA8bWF0LWNoZWNrYm94ICpuZ0lmPVwiYXBwcm92YWwgJiYgdHlwZUFwcHJvdmFsID09PSAnbXVsdGljaG9pY2UnXCIgW2Zvcm1Db250cm9sXT1cImFwcHJvdmFsRm9ybUNvbnRyb2xcIiBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCIgY29sb3I9J3ByaW1hcnknIGNsYXNzPVwiY2hlY2tib3gtcGFkZGluZ1wiPjwvbWF0LWNoZWNrYm94PlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImFwcHJvdmFsICYmIHR5cGVBcHByb3ZhbCA9PT0gJ2VudW1lcmF0aW9uJ1wiIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJzZXRWYWx1ZSgpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIiBjbGFzcz1cImNoZWNrYm94LXBhZGRpbmcgY3Vyc29yLWZpeFwiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8ZGl2IFtuZ1N0eWxlXT1cInsnbWluLXdpZHRoJzogZ2V0TWluV2lkdGgoKX1cIiAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGhlYWRlclNlcnZpY2UuaGVhZGVyU3RhdGUuc2VsZWN0ZWRIZWFkZXJzJCB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCIgZnhGbGV4XG4gICAgICAgICBbZnhIaWRlLmx0LXhsXT1cImkgPj0gNCAmJiB0aGlzLmhlYWRlclNlcnZpY2UucmVzcG9uc2l2ZUhlYWRlcnMgJiYgIXRoaXMuaGVhZGVyU2VydmljZS5vdmVyZmxvd01vZGVcIlxuICAgICAgICAgW2Z4SGlkZS5sdC1sZ109XCJpID49IDMgJiYgdGhpcy5oZWFkZXJTZXJ2aWNlLnJlc3BvbnNpdmVIZWFkZXJzICYmICF0aGlzLmhlYWRlclNlcnZpY2Uub3ZlcmZsb3dNb2RlXCJcbiAgICAgICAgIFtmeEhpZGUubHQtbWRdPVwiaSA+PSAyICYmIHRoaXMuaGVhZGVyU2VydmljZS5yZXNwb25zaXZlSGVhZGVycyAmJiAhdGhpcy5oZWFkZXJTZXJ2aWNlLm92ZXJmbG93TW9kZVwiXG4gICAgICAgICBbZnhIaWRlLmx0LXNtXT1cImkgPj0gMSAmJiB0aGlzLmhlYWRlclNlcnZpY2UucmVzcG9uc2l2ZUhlYWRlcnMgJiYgIXRoaXMuaGVhZGVyU2VydmljZS5vdmVyZmxvd01vZGVcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiEhaGVhZGVyOyB0aGVuIHRoZW5CbG9jayBlbHNlIGVsc2VCbG9ja1wiIGZ4RmxleD48L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0aGVuQmxvY2s+XG4gICAgICAgICAgICA8c3BhbiBmeEZsZXggY2xhc3M9XCJoZWFkZXItdGV4dFwiXG4gICAgICAgICAgICAgICAgICBtYXQtc29ydC1oZWFkZXI9XCJ7e2l9fS17e2hlYWRlci51bmlxdWVJZH19XCI+XG4gICAgICAgICAgICB7eyBoZWFkZXIudGl0bGUgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { Component, Optional } from '@angular/core';
2
- import { AbstractHeaderComponent, CaseHeaderService, CategoryFactory, HeaderSearchService, TaskHeaderService, WorkflowHeaderService } from '@netgrif/components-core';
1
+ import { Component, Inject, Optional } from '@angular/core';
2
+ import { AbstractHeaderComponent, CaseHeaderService, CategoryFactory, HeaderSearchService, TaskHeaderService, WorkflowHeaderService, MultichoiceField, DATA_FIELD_PORTAL_DATA, EnumerationField } from '@netgrif/components-core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@ngx-translate/core";
5
5
  import * as i2 from "@netgrif/components-core";
@@ -19,18 +19,53 @@ import * as i15 from "@angular/flex-layout/flex";
19
19
  import * as i16 from "@angular/forms";
20
20
  import * as i17 from "@angular/material/input";
21
21
  export class HeaderComponent extends AbstractHeaderComponent {
22
- constructor(injector, translate, overflowService) {
22
+ constructor(injector, translate, overflowService, _dataFieldPortalData) {
23
23
  super(injector, translate, overflowService);
24
+ this._dataFieldPortalData = _dataFieldPortalData;
25
+ this._changeValue = true;
26
+ }
27
+ indeterminate() {
28
+ return this._dataFieldPortalData?.dataField?.value?.length > 0 &&
29
+ this._dataFieldPortalData?.dataField?.value?.length < this._dataFieldPortalData?.dataField?.choices?.length;
30
+ }
31
+ typeApproval() {
32
+ return this._dataFieldPortalData?.dataField instanceof MultichoiceField ? 'multichoice' : 'enumeration';
33
+ }
34
+ ngOnInit() {
35
+ super.ngOnInit();
36
+ if (this._dataFieldPortalData !== null && this._dataFieldPortalData.dataField instanceof MultichoiceField) {
37
+ this.approvalFormControl.setValue(this._dataFieldPortalData?.dataField.value.length === this._dataFieldPortalData?.dataField.choices.length);
38
+ this.approvalFormControl.valueChanges.subscribe(value => {
39
+ if (this._changeValue) {
40
+ if (value) {
41
+ this._dataFieldPortalData.dataField.value = this._dataFieldPortalData?.dataField.choices.map(val => val.key);
42
+ }
43
+ else {
44
+ this._dataFieldPortalData.dataField.value = [];
45
+ }
46
+ }
47
+ this._changeValue = true;
48
+ });
49
+ this._dataFieldPortalData.dataField.valueChanges().subscribe(() => {
50
+ this._changeValue = false;
51
+ this.approvalFormControl.setValue(this._dataFieldPortalData?.dataField.value.length === this._dataFieldPortalData?.dataField.choices.length);
52
+ });
53
+ }
54
+ if (this._dataFieldPortalData !== null && this._dataFieldPortalData.dataField instanceof EnumerationField) {
55
+ this.approvalFormControl.valueChanges.subscribe(value => {
56
+ this._dataFieldPortalData.dataField.value = null;
57
+ });
58
+ }
24
59
  }
25
60
  }
26
- HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.Injector }, { token: i1.TranslateService }, { token: i2.OverflowService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
61
+ HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.Injector }, { token: i1.TranslateService }, { token: i2.OverflowService, optional: true }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
27
62
  HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HeaderComponent, selector: "nc-header", providers: [
28
63
  CaseHeaderService,
29
64
  TaskHeaderService,
30
65
  WorkflowHeaderService,
31
66
  HeaderSearchService,
32
67
  CategoryFactory
33
- ], usesInheritance: true, ngImport: i0, template: "<mat-card [ngClass]=\"{'padding-custom': headerService.headerState.mode === headerModeEnum.SORT}\" class=\"header-color header-card\">\n <div fxLayout=\"row\">\n <div fxLayout=\"row\" fxFlex=\"95\" class=\"header-content-container flex-95\" fxLayoutAlign=\"start center\"\n [ngSwitch]=\"headerService.headerState.mode\" *ngIf=\"!headerService.loading.isActive\">\n <div *ngSwitchCase=\"headerModeEnum.SORT\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-sort-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"></nc-sort-mode>\n </div>\n <div *ngSwitchCase=\"headerModeEnum.SEARCH\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-search-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"></nc-search-mode>\n </div>\n <div *ngSwitchCase=\"headerModeEnum.EDIT\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-edit-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"></nc-edit-mode>\n </div>\n </div>\n <div fxLayout=\"row\" fxFlex=\"95\" class=\"header-content-container\" fxLayoutAlign=\"start center\"\n *ngIf=\"headerService.loading.isActive\">\n <div fxFlex=\"100\" fxLayout=\"row\">\n <nc-loading-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"></nc-loading-mode>\n </div>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxFlex=\"5\" class=\"flex-5\">\n <div *ngIf=\"!hideHeaderMenu\">\n <button mat-icon-button [matMenuTriggerFor]=\"headerMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #headerMenu=\"matMenu\" class=\"mat-menu-border-radius mat-menu-padding\">\n <div *ngIf=\"headerService.headerState.mode !== headerModeEnum.EDIT && showSortButton\">\n <button mat-menu-item\n [ngClass]=\"{'active-header-item': headerService.headerState.mode === headerModeEnum.SORT}\"\n (click)=\"headerService.changeMode(headerModeEnum.SORT, false)\">\n <mat-icon>sort</mat-icon>\n {{ 'headers.orderMode' | translate}}\n </button>\n <button *ngIf=\"type === headerTypeEnum.CASE && showSearchButton\" mat-menu-item\n [ngClass]=\"{'active-header-item': headerService.headerState.mode === headerModeEnum.SEARCH}\"\n (click)=\"headerService.changeMode(headerModeEnum.SEARCH, false)\">\n <mat-icon>search</mat-icon>\n {{ 'headers.searchMode' | translate}}\n </button>\n <button *ngIf=\"showEditButton\" mat-menu-item\n (click)=\"headerService.changeMode(headerModeEnum.EDIT)\">\n <mat-icon>edit</mat-icon>\n {{ 'headers.editMode' | translate}}\n </button>\n </div>\n <div *ngIf=\"headerService.headerState.mode === headerModeEnum.EDIT\">\n <button mat-menu-item (click)=\"confirmEditMode()\">\n <mat-icon color=\"primary\">done</mat-icon>\n {{ 'dialog.submit' | translate}}\n </button>\n <button mat-menu-item (click)=\"headerService.revertEditMode()\">\n <mat-icon color=\"warn\">close</mat-icon>\n {{ 'tasks.view.cancel' | translate}}\n </button>\n <div class=\"mat-menu-item-look\" *ngIf=\"canOverflow && showTableSection\">\n <mat-slide-toggle\n [formControl]=\"overflowControl\">{{ 'headers.overflowMode' | translate}}</mat-slide-toggle>\n </div>\n <div class=\"mat-menu-item-look mat-menu-item-height\" (click)=\"clickStop($event)\"\n *ngIf=\"canOverflow && showTableSection && overflowControl.value\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ 'headers.columnWidth' | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"columnWidthControl\">\n <mat-error *ngIf=\"!columnWidthControl.valid\">{{getErrorMessageWidth()}}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"mat-menu-item-look mat-menu-item-height\" (click)=\"clickStop($event)\"\n *ngIf=\"canOverflow && showTableSection && overflowControl.value\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ 'headers.columnCount' | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"columnCountControl\">\n <mat-error *ngIf=\"!columnCountControl.valid\">{{getErrorMessageCount()}}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-menu>\n </div>\n </div>\n </div>\n</mat-card>\n", styles: [".header-content-container{height:40px}.header-card{border-radius:8px 8px 0 0;padding:10px 16px}.padding-custom{padding:4px 16px}.flex-95{flex:1 1 95%}.flex-5{flex:1 1 5%}.mat-menu-item-look{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;font-size:14px}.mat-menu-item-height{min-height:64px;height:auto}\n"], components: [{ type: i3.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i4.SortModeComponent, selector: "nc-sort-mode" }, { type: i5.SearchModeComponent, selector: "nc-search-mode" }, { type: i6.EditModeComponent, selector: "nc-edit-mode" }, { type: i7.LoadingModeComponent, selector: "nc-loading-mode" }, { type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: i12.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i14.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i15.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i15.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i15.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i13.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i13.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i16.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i16.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i12.MatLabel, selector: "mat-label" }, { type: i17.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"] }, { type: i16.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i16.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i12.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe } });
68
+ ], usesInheritance: true, ngImport: i0, template: "<mat-card [ngClass]=\"{'padding-custom': headerService.headerState.mode === headerModeEnum.SORT}\" class=\"header-color header-card\">\n <div fxLayout=\"row\">\n <div fxLayout=\"row\" fxFlex=\"95\" class=\"header-content-container flex-95\" fxLayoutAlign=\"start center\"\n [ngSwitch]=\"headerService.headerState.mode\" *ngIf=\"!headerService.loading.isActive\">\n <div *ngSwitchCase=\"headerModeEnum.SORT\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-sort-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"\n [approvalFormControl]=\"approvalFormControl\"\n [indeterminate]=\"indeterminate()\"\n [approval]=\"approval\"\n [typeApproval]=\"typeApproval()\"\n ></nc-sort-mode>\n </div>\n <div *ngSwitchCase=\"headerModeEnum.SEARCH\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-search-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"\n [approvalFormControl]=\"approvalFormControl\"\n [indeterminate]=\"indeterminate()\"\n [approval]=\"approval\"\n [typeApproval]=\"typeApproval()\"\n ></nc-search-mode>\n </div>\n <div *ngSwitchCase=\"headerModeEnum.EDIT\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-edit-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"\n [approvalFormControl]=\"approvalFormControl\"\n [indeterminate]=\"indeterminate()\"\n [approval]=\"approval\"\n [typeApproval]=\"typeApproval()\"\n ></nc-edit-mode>\n </div>\n </div>\n <div fxLayout=\"row\" fxFlex=\"95\" class=\"header-content-container\" fxLayoutAlign=\"start center\"\n *ngIf=\"headerService.loading.isActive\">\n <div fxFlex=\"100\" fxLayout=\"row\">\n <nc-loading-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"></nc-loading-mode>\n </div>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxFlex=\"5\" class=\"flex-5\">\n <div *ngIf=\"!hideHeaderMenu\">\n <button mat-icon-button [matMenuTriggerFor]=\"headerMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #headerMenu=\"matMenu\" class=\"mat-menu-border-radius mat-menu-padding\">\n <div *ngIf=\"headerService.headerState.mode !== headerModeEnum.EDIT && showSortButton\">\n <button mat-menu-item\n [ngClass]=\"{'active-header-item': headerService.headerState.mode === headerModeEnum.SORT}\"\n (click)=\"headerService.changeMode(headerModeEnum.SORT, false)\">\n <mat-icon>sort</mat-icon>\n {{ 'headers.orderMode' | translate}}\n </button>\n <button *ngIf=\"type === headerTypeEnum.CASE && showSearchButton\" mat-menu-item\n [ngClass]=\"{'active-header-item': headerService.headerState.mode === headerModeEnum.SEARCH}\"\n (click)=\"headerService.changeMode(headerModeEnum.SEARCH, false)\">\n <mat-icon>search</mat-icon>\n {{ 'headers.searchMode' | translate}}\n </button>\n <button *ngIf=\"showEditButton\" mat-menu-item\n (click)=\"headerService.changeMode(headerModeEnum.EDIT)\">\n <mat-icon>edit</mat-icon>\n {{ 'headers.editMode' | translate}}\n </button>\n </div>\n <div *ngIf=\"headerService.headerState.mode === headerModeEnum.EDIT\">\n <button mat-menu-item (click)=\"confirmEditMode()\">\n <mat-icon color=\"primary\">done</mat-icon>\n {{ 'dialog.submit' | translate}}\n </button>\n <button mat-menu-item (click)=\"headerService.revertEditMode()\">\n <mat-icon color=\"warn\">close</mat-icon>\n {{ 'tasks.view.cancel' | translate}}\n </button>\n <div class=\"mat-menu-item-look\" *ngIf=\"canOverflow && showTableSection\">\n <mat-slide-toggle\n [formControl]=\"overflowControl\">{{ 'headers.overflowMode' | translate}}</mat-slide-toggle>\n </div>\n <div class=\"mat-menu-item-look mat-menu-item-height\" (click)=\"clickStop($event)\"\n *ngIf=\"canOverflow && showTableSection && overflowControl.value\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ 'headers.columnWidth' | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"columnWidthControl\">\n <mat-error *ngIf=\"!columnWidthControl.valid\">{{getErrorMessageWidth()}}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"mat-menu-item-look mat-menu-item-height\" (click)=\"clickStop($event)\"\n *ngIf=\"canOverflow && showTableSection && overflowControl.value\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ 'headers.columnCount' | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"columnCountControl\">\n <mat-error *ngIf=\"!columnCountControl.valid\">{{getErrorMessageCount()}}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-menu>\n </div>\n </div>\n </div>\n</mat-card>\n", styles: [".header-content-container{height:40px}.header-card{border-radius:8px 8px 0 0;padding:10px 16px}.padding-custom{padding:4px 16px}.flex-95{flex:1 1 95%}.flex-5{flex:1 1 5%}.mat-menu-item-look{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;font-size:14px}.mat-menu-item-height{min-height:64px;height:auto}\n"], components: [{ type: i3.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i4.SortModeComponent, selector: "nc-sort-mode" }, { type: i5.SearchModeComponent, selector: "nc-search-mode" }, { type: i6.EditModeComponent, selector: "nc-edit-mode" }, { type: i7.LoadingModeComponent, selector: "nc-loading-mode" }, { type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: i12.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i14.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i15.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i15.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i15.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i13.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i13.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i16.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i16.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i12.MatLabel, selector: "mat-label" }, { type: i17.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"] }, { type: i16.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i16.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i12.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i1.TranslatePipe } });
34
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, decorators: [{
35
70
  type: Component,
36
71
  args: [{ selector: 'nc-header', providers: [
@@ -39,8 +74,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
39
74
  WorkflowHeaderService,
40
75
  HeaderSearchService,
41
76
  CategoryFactory
42
- ], template: "<mat-card [ngClass]=\"{'padding-custom': headerService.headerState.mode === headerModeEnum.SORT}\" class=\"header-color header-card\">\n <div fxLayout=\"row\">\n <div fxLayout=\"row\" fxFlex=\"95\" class=\"header-content-container flex-95\" fxLayoutAlign=\"start center\"\n [ngSwitch]=\"headerService.headerState.mode\" *ngIf=\"!headerService.loading.isActive\">\n <div *ngSwitchCase=\"headerModeEnum.SORT\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-sort-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"></nc-sort-mode>\n </div>\n <div *ngSwitchCase=\"headerModeEnum.SEARCH\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-search-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"></nc-search-mode>\n </div>\n <div *ngSwitchCase=\"headerModeEnum.EDIT\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-edit-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"></nc-edit-mode>\n </div>\n </div>\n <div fxLayout=\"row\" fxFlex=\"95\" class=\"header-content-container\" fxLayoutAlign=\"start center\"\n *ngIf=\"headerService.loading.isActive\">\n <div fxFlex=\"100\" fxLayout=\"row\">\n <nc-loading-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"></nc-loading-mode>\n </div>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxFlex=\"5\" class=\"flex-5\">\n <div *ngIf=\"!hideHeaderMenu\">\n <button mat-icon-button [matMenuTriggerFor]=\"headerMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #headerMenu=\"matMenu\" class=\"mat-menu-border-radius mat-menu-padding\">\n <div *ngIf=\"headerService.headerState.mode !== headerModeEnum.EDIT && showSortButton\">\n <button mat-menu-item\n [ngClass]=\"{'active-header-item': headerService.headerState.mode === headerModeEnum.SORT}\"\n (click)=\"headerService.changeMode(headerModeEnum.SORT, false)\">\n <mat-icon>sort</mat-icon>\n {{ 'headers.orderMode' | translate}}\n </button>\n <button *ngIf=\"type === headerTypeEnum.CASE && showSearchButton\" mat-menu-item\n [ngClass]=\"{'active-header-item': headerService.headerState.mode === headerModeEnum.SEARCH}\"\n (click)=\"headerService.changeMode(headerModeEnum.SEARCH, false)\">\n <mat-icon>search</mat-icon>\n {{ 'headers.searchMode' | translate}}\n </button>\n <button *ngIf=\"showEditButton\" mat-menu-item\n (click)=\"headerService.changeMode(headerModeEnum.EDIT)\">\n <mat-icon>edit</mat-icon>\n {{ 'headers.editMode' | translate}}\n </button>\n </div>\n <div *ngIf=\"headerService.headerState.mode === headerModeEnum.EDIT\">\n <button mat-menu-item (click)=\"confirmEditMode()\">\n <mat-icon color=\"primary\">done</mat-icon>\n {{ 'dialog.submit' | translate}}\n </button>\n <button mat-menu-item (click)=\"headerService.revertEditMode()\">\n <mat-icon color=\"warn\">close</mat-icon>\n {{ 'tasks.view.cancel' | translate}}\n </button>\n <div class=\"mat-menu-item-look\" *ngIf=\"canOverflow && showTableSection\">\n <mat-slide-toggle\n [formControl]=\"overflowControl\">{{ 'headers.overflowMode' | translate}}</mat-slide-toggle>\n </div>\n <div class=\"mat-menu-item-look mat-menu-item-height\" (click)=\"clickStop($event)\"\n *ngIf=\"canOverflow && showTableSection && overflowControl.value\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ 'headers.columnWidth' | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"columnWidthControl\">\n <mat-error *ngIf=\"!columnWidthControl.valid\">{{getErrorMessageWidth()}}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"mat-menu-item-look mat-menu-item-height\" (click)=\"clickStop($event)\"\n *ngIf=\"canOverflow && showTableSection && overflowControl.value\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ 'headers.columnCount' | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"columnCountControl\">\n <mat-error *ngIf=\"!columnCountControl.valid\">{{getErrorMessageCount()}}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-menu>\n </div>\n </div>\n </div>\n</mat-card>\n", styles: [".header-content-container{height:40px}.header-card{border-radius:8px 8px 0 0;padding:10px 16px}.padding-custom{padding:4px 16px}.flex-95{flex:1 1 95%}.flex-5{flex:1 1 5%}.mat-menu-item-look{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;font-size:14px}.mat-menu-item-height{min-height:64px;height:auto}\n"] }]
77
+ ], template: "<mat-card [ngClass]=\"{'padding-custom': headerService.headerState.mode === headerModeEnum.SORT}\" class=\"header-color header-card\">\n <div fxLayout=\"row\">\n <div fxLayout=\"row\" fxFlex=\"95\" class=\"header-content-container flex-95\" fxLayoutAlign=\"start center\"\n [ngSwitch]=\"headerService.headerState.mode\" *ngIf=\"!headerService.loading.isActive\">\n <div *ngSwitchCase=\"headerModeEnum.SORT\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-sort-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"\n [approvalFormControl]=\"approvalFormControl\"\n [indeterminate]=\"indeterminate()\"\n [approval]=\"approval\"\n [typeApproval]=\"typeApproval()\"\n ></nc-sort-mode>\n </div>\n <div *ngSwitchCase=\"headerModeEnum.SEARCH\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-search-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"\n [approvalFormControl]=\"approvalFormControl\"\n [indeterminate]=\"indeterminate()\"\n [approval]=\"approval\"\n [typeApproval]=\"typeApproval()\"\n ></nc-search-mode>\n </div>\n <div *ngSwitchCase=\"headerModeEnum.EDIT\" fxFlex=\"100\" fxLayout=\"row\">\n <nc-edit-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"\n [approvalFormControl]=\"approvalFormControl\"\n [indeterminate]=\"indeterminate()\"\n [approval]=\"approval\"\n [typeApproval]=\"typeApproval()\"\n ></nc-edit-mode>\n </div>\n </div>\n <div fxLayout=\"row\" fxFlex=\"95\" class=\"header-content-container\" fxLayoutAlign=\"start center\"\n *ngIf=\"headerService.loading.isActive\">\n <div fxFlex=\"100\" fxLayout=\"row\">\n <nc-loading-mode fxFlex=\"100\" [headerService]=\"headerService\"\n [overflowWidth]=\"getMinWidth()\"></nc-loading-mode>\n </div>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxFlex=\"5\" class=\"flex-5\">\n <div *ngIf=\"!hideHeaderMenu\">\n <button mat-icon-button [matMenuTriggerFor]=\"headerMenu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #headerMenu=\"matMenu\" class=\"mat-menu-border-radius mat-menu-padding\">\n <div *ngIf=\"headerService.headerState.mode !== headerModeEnum.EDIT && showSortButton\">\n <button mat-menu-item\n [ngClass]=\"{'active-header-item': headerService.headerState.mode === headerModeEnum.SORT}\"\n (click)=\"headerService.changeMode(headerModeEnum.SORT, false)\">\n <mat-icon>sort</mat-icon>\n {{ 'headers.orderMode' | translate}}\n </button>\n <button *ngIf=\"type === headerTypeEnum.CASE && showSearchButton\" mat-menu-item\n [ngClass]=\"{'active-header-item': headerService.headerState.mode === headerModeEnum.SEARCH}\"\n (click)=\"headerService.changeMode(headerModeEnum.SEARCH, false)\">\n <mat-icon>search</mat-icon>\n {{ 'headers.searchMode' | translate}}\n </button>\n <button *ngIf=\"showEditButton\" mat-menu-item\n (click)=\"headerService.changeMode(headerModeEnum.EDIT)\">\n <mat-icon>edit</mat-icon>\n {{ 'headers.editMode' | translate}}\n </button>\n </div>\n <div *ngIf=\"headerService.headerState.mode === headerModeEnum.EDIT\">\n <button mat-menu-item (click)=\"confirmEditMode()\">\n <mat-icon color=\"primary\">done</mat-icon>\n {{ 'dialog.submit' | translate}}\n </button>\n <button mat-menu-item (click)=\"headerService.revertEditMode()\">\n <mat-icon color=\"warn\">close</mat-icon>\n {{ 'tasks.view.cancel' | translate}}\n </button>\n <div class=\"mat-menu-item-look\" *ngIf=\"canOverflow && showTableSection\">\n <mat-slide-toggle\n [formControl]=\"overflowControl\">{{ 'headers.overflowMode' | translate}}</mat-slide-toggle>\n </div>\n <div class=\"mat-menu-item-look mat-menu-item-height\" (click)=\"clickStop($event)\"\n *ngIf=\"canOverflow && showTableSection && overflowControl.value\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ 'headers.columnWidth' | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"columnWidthControl\">\n <mat-error *ngIf=\"!columnWidthControl.valid\">{{getErrorMessageWidth()}}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"mat-menu-item-look mat-menu-item-height\" (click)=\"clickStop($event)\"\n *ngIf=\"canOverflow && showTableSection && overflowControl.value\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ 'headers.columnCount' | translate}}</mat-label>\n <input matInput type=\"number\" [formControl]=\"columnCountControl\">\n <mat-error *ngIf=\"!columnCountControl.valid\">{{getErrorMessageCount()}}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-menu>\n </div>\n </div>\n </div>\n</mat-card>\n", styles: [".header-content-container{height:40px}.header-card{border-radius:8px 8px 0 0;padding:10px 16px}.padding-custom{padding:4px 16px}.flex-95{flex:1 1 95%}.flex-5{flex:1 1 5%}.mat-menu-item-look{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;font-size:14px}.mat-menu-item-height{min-height:64px;height:auto}\n"] }]
43
78
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.TranslateService }, { type: i2.OverflowService, decorators: [{
44
79
  type: Optional
80
+ }] }, { type: undefined, decorators: [{
81
+ type: Optional
82
+ }, {
83
+ type: Inject,
84
+ args: [DATA_FIELD_PORTAL_DATA]
45
85
  }] }]; } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFZLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixxQkFBcUIsRUFFeEIsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVsQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSx1QkFBdUI7SUFFeEQsWUFBWSxRQUFrQixFQUNsQixTQUEyQixFQUNmLGVBQWdDO1FBQ3BELEtBQUssQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7OzZHQU5RLGVBQWU7aUdBQWYsZUFBZSxvQ0FSYjtRQUNQLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixlQUFlO0tBQ2xCLGlEQ3RCTCxrcUxBb0ZBOzRGRDVEYSxlQUFlO2tCQVozQixTQUFTOytCQUNJLFdBQVcsYUFHVjt3QkFDUCxpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2xCOzswQkFNWSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdG9yLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0SGVhZGVyQ29tcG9uZW50LFxuICAgIENhc2VIZWFkZXJTZXJ2aWNlLFxuICAgIENhdGVnb3J5RmFjdG9yeSxcbiAgICBIZWFkZXJTZWFyY2hTZXJ2aWNlLFxuICAgIFRhc2tIZWFkZXJTZXJ2aWNlLFxuICAgIFdvcmtmbG93SGVhZGVyU2VydmljZSxcbiAgICBPdmVyZmxvd1NlcnZpY2Vcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQ2FzZUhlYWRlclNlcnZpY2UsXG4gICAgICAgIFRhc2tIZWFkZXJTZXJ2aWNlLFxuICAgICAgICBXb3JrZmxvd0hlYWRlclNlcnZpY2UsXG4gICAgICAgIEhlYWRlclNlYXJjaFNlcnZpY2UsXG4gICAgICAgIENhdGVnb3J5RmFjdG9yeVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RIZWFkZXJDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBvdmVyZmxvd1NlcnZpY2U6IE92ZXJmbG93U2VydmljZSkge1xuICAgICAgICBzdXBlcihpbmplY3RvciwgdHJhbnNsYXRlLCBvdmVyZmxvd1NlcnZpY2UpO1xuICAgIH1cbn1cbiIsIjxtYXQtY2FyZCBbbmdDbGFzc109XCJ7J3BhZGRpbmctY3VzdG9tJzogaGVhZGVyU2VydmljZS5oZWFkZXJTdGF0ZS5tb2RlID09PSBoZWFkZXJNb2RlRW51bS5TT1JUfVwiIGNsYXNzPVwiaGVhZGVyLWNvbG9yIGhlYWRlci1jYXJkXCI+XG4gICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4PVwiOTVcIiBjbGFzcz1cImhlYWRlci1jb250ZW50LWNvbnRhaW5lciBmbGV4LTk1XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiXG4gICAgICAgICAgICAgW25nU3dpdGNoXT1cImhlYWRlclNlcnZpY2UuaGVhZGVyU3RhdGUubW9kZVwiICpuZ0lmPVwiIWhlYWRlclNlcnZpY2UubG9hZGluZy5pc0FjdGl2ZVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiaGVhZGVyTW9kZUVudW0uU09SVFwiIGZ4RmxleD1cIjEwMFwiIGZ4TGF5b3V0PVwicm93XCI+XG4gICAgICAgICAgICAgICAgPG5jLXNvcnQtbW9kZSBmeEZsZXg9XCIxMDBcIiBbaGVhZGVyU2VydmljZV09XCJoZWFkZXJTZXJ2aWNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVyZmxvd1dpZHRoXT1cImdldE1pbldpZHRoKClcIj48L25jLXNvcnQtbW9kZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiaGVhZGVyTW9kZUVudW0uU0VBUkNIXCIgZnhGbGV4PVwiMTAwXCIgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8bmMtc2VhcmNoLW1vZGUgZnhGbGV4PVwiMTAwXCIgW2hlYWRlclNlcnZpY2VdPVwiaGVhZGVyU2VydmljZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVyZmxvd1dpZHRoXT1cImdldE1pbldpZHRoKClcIj48L25jLXNlYXJjaC1tb2RlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCJoZWFkZXJNb2RlRW51bS5FRElUXCIgZnhGbGV4PVwiMTAwXCIgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8bmMtZWRpdC1tb2RlIGZ4RmxleD1cIjEwMFwiIFtoZWFkZXJTZXJ2aWNlXT1cImhlYWRlclNlcnZpY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW292ZXJmbG93V2lkdGhdPVwiZ2V0TWluV2lkdGgoKVwiPjwvbmMtZWRpdC1tb2RlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4PVwiOTVcIiBjbGFzcz1cImhlYWRlci1jb250ZW50LWNvbnRhaW5lclwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIlxuICAgICAgICAgICAgICpuZ0lmPVwiaGVhZGVyU2VydmljZS5sb2FkaW5nLmlzQWN0aXZlXCI+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjEwMFwiIGZ4TGF5b3V0PVwicm93XCI+XG4gICAgICAgICAgICAgICAgPG5jLWxvYWRpbmctbW9kZSBmeEZsZXg9XCIxMDBcIiBbaGVhZGVyU2VydmljZV09XCJoZWFkZXJTZXJ2aWNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVyZmxvd1dpZHRoXT1cImdldE1pbldpZHRoKClcIj48L25jLWxvYWRpbmctbW9kZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCIgZnhGbGV4PVwiNVwiIGNsYXNzPVwiZmxleC01XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVIZWFkZXJNZW51XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImhlYWRlck1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPG1hdC1tZW51ICAjaGVhZGVyTWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cIm1hdC1tZW51LWJvcmRlci1yYWRpdXMgbWF0LW1lbnUtcGFkZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyU2VydmljZS5oZWFkZXJTdGF0ZS5tb2RlICE9PSBoZWFkZXJNb2RlRW51bS5FRElUICYmIHNob3dTb3J0QnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydhY3RpdmUtaGVhZGVyLWl0ZW0nOiBoZWFkZXJTZXJ2aWNlLmhlYWRlclN0YXRlLm1vZGUgPT09IGhlYWRlck1vZGVFbnVtLlNPUlR9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhlYWRlclNlcnZpY2UuY2hhbmdlTW9kZShoZWFkZXJNb2RlRW51bS5TT1JULCBmYWxzZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+c29ydDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2hlYWRlcnMub3JkZXJNb2RlJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ0eXBlID09PSBoZWFkZXJUeXBlRW51bS5DQVNFICYmIHNob3dTZWFyY2hCdXR0b25cIiBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlLWhlYWRlci1pdGVtJzogaGVhZGVyU2VydmljZS5oZWFkZXJTdGF0ZS5tb2RlID09PSBoZWFkZXJNb2RlRW51bS5TRUFSQ0h9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhlYWRlclNlcnZpY2UuY2hhbmdlTW9kZShoZWFkZXJNb2RlRW51bS5TRUFSQ0gsIGZhbHNlKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdoZWFkZXJzLnNlYXJjaE1vZGUnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dFZGl0QnV0dG9uXCIgbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGVhZGVyU2VydmljZS5jaGFuZ2VNb2RlKGhlYWRlck1vZGVFbnVtLkVESVQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdoZWFkZXJzLmVkaXRNb2RlJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJTZXJ2aWNlLmhlYWRlclN0YXRlLm1vZGUgPT09IGhlYWRlck1vZGVFbnVtLkVESVRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY29uZmlybUVkaXRNb2RlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCI+ZG9uZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2RpYWxvZy5zdWJtaXQnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJoZWFkZXJTZXJ2aWNlLnJldmVydEVkaXRNb2RlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJ3YXJuXCI+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICd0YXNrcy52aWV3LmNhbmNlbCcgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LW1lbnUtaXRlbS1sb29rXCIgKm5nSWY9XCJjYW5PdmVyZmxvdyAmJiBzaG93VGFibGVTZWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm92ZXJmbG93Q29udHJvbFwiPnt7ICdoZWFkZXJzLm92ZXJmbG93TW9kZScgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1tZW51LWl0ZW0tbG9vayBtYXQtbWVudS1pdGVtLWhlaWdodFwiIChjbGljayk9XCJjbGlja1N0b3AoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2FuT3ZlcmZsb3cgJiYgc2hvd1RhYmxlU2VjdGlvbiAmJiBvdmVyZmxvd0NvbnRyb2wudmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57eyAnaGVhZGVycy5jb2x1bW5XaWR0aCcgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIFtmb3JtQ29udHJvbF09XCJjb2x1bW5XaWR0aENvbnRyb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cIiFjb2x1bW5XaWR0aENvbnRyb2wudmFsaWRcIj57e2dldEVycm9yTWVzc2FnZVdpZHRoKCl9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtbWVudS1pdGVtLWxvb2sgbWF0LW1lbnUtaXRlbS1oZWlnaHRcIiAoY2xpY2spPVwiY2xpY2tTdG9wKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNhbk92ZXJmbG93ICYmIHNob3dUYWJsZVNlY3Rpb24gJiYgb3ZlcmZsb3dDb250cm9sLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgJ2hlYWRlcnMuY29sdW1uQ291bnQnIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBbZm9ybUNvbnRyb2xdPVwiY29sdW1uQ291bnRDb250cm9sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCIhY29sdW1uQ291bnRDb250cm9sLnZhbGlkXCI+e3tnZXRFcnJvck1lc3NhZ2VDb3VudCgpfX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L21hdC1jYXJkPlxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBb0IsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNKLGdCQUFnQixFQUFFLHNCQUFzQixFQUF1QixnQkFBZ0IsRUFDbkcsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVsQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSx1QkFBdUI7SUFHeEQsWUFBWSxRQUFrQixFQUNsQixTQUEyQixFQUNmLGVBQWdDLEVBQ1Usb0JBQTJEO1FBQ3pILEtBQUssQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRGtCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBdUM7UUFFekgsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVNLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQztZQUMxRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ3BILENBQUM7SUFFTSxZQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxZQUFZLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1RyxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsWUFBWSxnQkFBZ0IsRUFBRTtZQUN2RyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3SSxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUNuQixJQUFJLEtBQUssRUFBRTt3QkFDUCxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ2hIO3lCQUFNO3dCQUNILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztxQkFDbEQ7aUJBQ0o7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzlELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2dCQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqSixDQUFDLENBQUMsQ0FBQTtTQUNMO1FBQ0QsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLFlBQVksZ0JBQWdCLEVBQUU7WUFDdkcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNyRCxDQUFDLENBQUMsQ0FBQTtTQUNMO0lBQ0wsQ0FBQzs7NkdBNUNRLGVBQWUseUhBTVEsc0JBQXNCO2lHQU43QyxlQUFlLG9DQVJiO1FBQ1AsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLGVBQWU7S0FDbEIsaURDdEJMLHcvTUFtR0E7NEZEM0VhLGVBQWU7a0JBWjNCLFNBQVM7K0JBQ0ksV0FBVyxhQUdWO3dCQUNQLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsZUFBZTtxQkFDbEI7OzBCQU9ZLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdEhlYWRlckNvbXBvbmVudCxcbiAgICBDYXNlSGVhZGVyU2VydmljZSxcbiAgICBDYXRlZ29yeUZhY3RvcnksXG4gICAgSGVhZGVyU2VhcmNoU2VydmljZSxcbiAgICBUYXNrSGVhZGVyU2VydmljZSxcbiAgICBXb3JrZmxvd0hlYWRlclNlcnZpY2UsXG4gICAgT3ZlcmZsb3dTZXJ2aWNlLCBNdWx0aWNob2ljZUZpZWxkLCBEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBLCBEYXRhRmllbGRQb3J0YWxEYXRhLCBFbnVtZXJhdGlvbkZpZWxkXG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENhc2VIZWFkZXJTZXJ2aWNlLFxuICAgICAgICBUYXNrSGVhZGVyU2VydmljZSxcbiAgICAgICAgV29ya2Zsb3dIZWFkZXJTZXJ2aWNlLFxuICAgICAgICBIZWFkZXJTZWFyY2hTZXJ2aWNlLFxuICAgICAgICBDYXRlZ29yeUZhY3RvcnlcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0SGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcm90ZWN0ZWQgX2NoYW5nZVZhbHVlOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBvdmVyZmxvd1NlcnZpY2U6IE92ZXJmbG93U2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfRklFTERfUE9SVEFMX0RBVEEpIHByb3RlY3RlZCBfZGF0YUZpZWxkUG9ydGFsRGF0YTogRGF0YUZpZWxkUG9ydGFsRGF0YTxNdWx0aWNob2ljZUZpZWxkPikge1xuICAgICAgICBzdXBlcihpbmplY3RvciwgdHJhbnNsYXRlLCBvdmVyZmxvd1NlcnZpY2UpO1xuICAgICAgICB0aGlzLl9jaGFuZ2VWYWx1ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGluZGV0ZXJtaW5hdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQ/LnZhbHVlPy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQ/LnZhbHVlPy5sZW5ndGggPCB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQ/LmNob2ljZXM/Lmxlbmd0aDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHlwZUFwcHJvdmFsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkIGluc3RhbmNlb2YgTXVsdGljaG9pY2VGaWVsZCA/ICdtdWx0aWNob2ljZScgOiAnZW51bWVyYXRpb24nO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAodGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YSAhPT0gbnVsbCAmJiB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhLmRhdGFGaWVsZCBpbnN0YW5jZW9mIE11bHRpY2hvaWNlRmllbGQpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQudmFsdWUubGVuZ3RoID09PSB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQuY2hvaWNlcy5sZW5ndGgpO1xuICAgICAgICAgICAgdGhpcy5hcHByb3ZhbEZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jaGFuZ2VWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEuZGF0YUZpZWxkLnZhbHVlID0gdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkLmNob2ljZXMubWFwKHZhbCA9PiB2YWwua2V5KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEuZGF0YUZpZWxkLnZhbHVlID0gW107XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlVmFsdWUgPSB0cnVlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEuZGF0YUZpZWxkLnZhbHVlQ2hhbmdlcygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcHJvdmFsRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkLnZhbHVlLmxlbmd0aCA9PT0gdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkLmNob2ljZXMubGVuZ3RoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEgIT09IG51bGwgJiYgdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YS5kYXRhRmllbGQgaW5zdGFuY2VvZiBFbnVtZXJhdGlvbkZpZWxkKSB7XG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YS5kYXRhRmllbGQudmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxtYXQtY2FyZCBbbmdDbGFzc109XCJ7J3BhZGRpbmctY3VzdG9tJzogaGVhZGVyU2VydmljZS5oZWFkZXJTdGF0ZS5tb2RlID09PSBoZWFkZXJNb2RlRW51bS5TT1JUfVwiIGNsYXNzPVwiaGVhZGVyLWNvbG9yIGhlYWRlci1jYXJkXCI+XG4gICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4PVwiOTVcIiBjbGFzcz1cImhlYWRlci1jb250ZW50LWNvbnRhaW5lciBmbGV4LTk1XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiXG4gICAgICAgICAgICAgW25nU3dpdGNoXT1cImhlYWRlclNlcnZpY2UuaGVhZGVyU3RhdGUubW9kZVwiICpuZ0lmPVwiIWhlYWRlclNlcnZpY2UubG9hZGluZy5pc0FjdGl2ZVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiaGVhZGVyTW9kZUVudW0uU09SVFwiIGZ4RmxleD1cIjEwMFwiIGZ4TGF5b3V0PVwicm93XCI+XG4gICAgICAgICAgICAgICAgPG5jLXNvcnQtbW9kZSBmeEZsZXg9XCIxMDBcIiBbaGVhZGVyU2VydmljZV09XCJoZWFkZXJTZXJ2aWNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVyZmxvd1dpZHRoXT1cImdldE1pbldpZHRoKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcHJvdmFsRm9ybUNvbnRyb2xdPVwiYXBwcm92YWxGb3JtQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcHJvdmFsXT1cImFwcHJvdmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlQXBwcm92YWxdPVwidHlwZUFwcHJvdmFsKClcIlxuICAgICAgICAgICAgICAgID48L25jLXNvcnQtbW9kZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiaGVhZGVyTW9kZUVudW0uU0VBUkNIXCIgZnhGbGV4PVwiMTAwXCIgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8bmMtc2VhcmNoLW1vZGUgZnhGbGV4PVwiMTAwXCIgW2hlYWRlclNlcnZpY2VdPVwiaGVhZGVyU2VydmljZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVyZmxvd1dpZHRoXT1cImdldE1pbldpZHRoKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwcm92YWxGb3JtQ29udHJvbF09XCJhcHByb3ZhbEZvcm1Db250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcHJvdmFsXT1cImFwcHJvdmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVBcHByb3ZhbF09XCJ0eXBlQXBwcm92YWwoKVwiXG4gICAgICAgICAgICAgICAgPjwvbmMtc2VhcmNoLW1vZGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cImhlYWRlck1vZGVFbnVtLkVESVRcIiBmeEZsZXg9XCIxMDBcIiBmeExheW91dD1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxuYy1lZGl0LW1vZGUgZnhGbGV4PVwiMTAwXCIgW2hlYWRlclNlcnZpY2VdPVwiaGVhZGVyU2VydmljZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3ZlcmZsb3dXaWR0aF09XCJnZXRNaW5XaWR0aCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHByb3ZhbEZvcm1Db250cm9sXT1cImFwcHJvdmFsRm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHByb3ZhbF09XCJhcHByb3ZhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHlwZUFwcHJvdmFsXT1cInR5cGVBcHByb3ZhbCgpXCJcbiAgICAgICAgICAgICAgICA+PC9uYy1lZGl0LW1vZGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeEZsZXg9XCI5NVwiIGNsYXNzPVwiaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiXG4gICAgICAgICAgICAgKm5nSWY9XCJoZWFkZXJTZXJ2aWNlLmxvYWRpbmcuaXNBY3RpdmVcIj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4PVwiMTAwXCIgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8bmMtbG9hZGluZy1tb2RlIGZ4RmxleD1cIjEwMFwiIFtoZWFkZXJTZXJ2aWNlXT1cImhlYWRlclNlcnZpY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW292ZXJmbG93V2lkdGhdPVwiZ2V0TWluV2lkdGgoKVwiPjwvbmMtbG9hZGluZy1tb2RlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIiBmeEZsZXg9XCI1XCIgY2xhc3M9XCJmbGV4LTVcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZUhlYWRlck1lbnVcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiaGVhZGVyTWVudVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8bWF0LW1lbnUgICNoZWFkZXJNZW51PVwibWF0TWVudVwiIGNsYXNzPVwibWF0LW1lbnUtYm9yZGVyLXJhZGl1cyBtYXQtbWVudS1wYWRkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXJTZXJ2aWNlLmhlYWRlclN0YXRlLm1vZGUgIT09IGhlYWRlck1vZGVFbnVtLkVESVQgJiYgc2hvd1NvcnRCdXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZS1oZWFkZXItaXRlbSc6IGhlYWRlclNlcnZpY2UuaGVhZGVyU3RhdGUubW9kZSA9PT0gaGVhZGVyTW9kZUVudW0uU09SVH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGVhZGVyU2VydmljZS5jaGFuZ2VNb2RlKGhlYWRlck1vZGVFbnVtLlNPUlQsIGZhbHNlKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5zb3J0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnaGVhZGVycy5vcmRlck1vZGUnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInR5cGUgPT09IGhlYWRlclR5cGVFbnVtLkNBU0UgJiYgc2hvd1NlYXJjaEJ1dHRvblwiIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydhY3RpdmUtaGVhZGVyLWl0ZW0nOiBoZWFkZXJTZXJ2aWNlLmhlYWRlclN0YXRlLm1vZGUgPT09IGhlYWRlck1vZGVFbnVtLlNFQVJDSH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGVhZGVyU2VydmljZS5jaGFuZ2VNb2RlKGhlYWRlck1vZGVFbnVtLlNFQVJDSCwgZmFsc2UpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2hlYWRlcnMuc2VhcmNoTW9kZScgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0VkaXRCdXR0b25cIiBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoZWFkZXJTZXJ2aWNlLmNoYW5nZU1vZGUoaGVhZGVyTW9kZUVudW0uRURJVClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2hlYWRlcnMuZWRpdE1vZGUnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlclNlcnZpY2UuaGVhZGVyU3RhdGUubW9kZSA9PT0gaGVhZGVyTW9kZUVudW0uRURJVFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJjb25maXJtRWRpdE1vZGUoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIj5kb25lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnZGlhbG9nLnN1Ym1pdCcgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImhlYWRlclNlcnZpY2UucmV2ZXJ0RWRpdE1vZGUoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cIndhcm5cIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3Rhc2tzLnZpZXcuY2FuY2VsJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtbWVudS1pdGVtLWxvb2tcIiAqbmdJZj1cImNhbk92ZXJmbG93ICYmIHNob3dUYWJsZVNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwib3ZlcmZsb3dDb250cm9sXCI+e3sgJ2hlYWRlcnMub3ZlcmZsb3dNb2RlJyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LW1lbnUtaXRlbS1sb29rIG1hdC1tZW51LWl0ZW0taGVpZ2h0XCIgKGNsaWNrKT1cImNsaWNrU3RvcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjYW5PdmVyZmxvdyAmJiBzaG93VGFibGVTZWN0aW9uICYmIG92ZXJmbG93Q29udHJvbC52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdoZWFkZXJzLmNvbHVtbldpZHRoJyB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgW2Zvcm1Db250cm9sXT1cImNvbHVtbldpZHRoQ29udHJvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiIWNvbHVtbldpZHRoQ29udHJvbC52YWxpZFwiPnt7Z2V0RXJyb3JNZXNzYWdlV2lkdGgoKX19PC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1tZW51LWl0ZW0tbG9vayBtYXQtbWVudS1pdGVtLWhlaWdodFwiIChjbGljayk9XCJjbGlja1N0b3AoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2FuT3ZlcmZsb3cgJiYgc2hvd1RhYmxlU2VjdGlvbiAmJiBvdmVyZmxvd0NvbnRyb2wudmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57eyAnaGVhZGVycy5jb2x1bW5Db3VudCcgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIFtmb3JtQ29udHJvbF09XCJjb2x1bW5Db3VudENvbnRyb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cIiFjb2x1bW5Db3VudENvbnRyb2wudmFsaWRcIj57e2dldEVycm9yTWVzc2FnZUNvdW50KCl9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbWF0LWNhcmQ+XG4iXX0=