@netgrif/components 6.4.0-beta.4 → 6.4.0-beta.6

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 (47) hide show
  1. package/esm2020/lib/data-fields/data-fields.module.mjs +18 -7
  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/data-fields/task-ref-field/task-ref-dashboard-field/task-ref-dashboard-tile/task-ref-dashboard-tile.component.mjs +4 -2
  5. package/esm2020/lib/dialog/dialog.module.mjs +28 -14
  6. package/esm2020/lib/dialog/model/dialog-actions.mjs +18 -0
  7. package/esm2020/lib/dialog/public-api.mjs +2 -1
  8. package/esm2020/lib/dialog/task-view-dialog/task-view-dialog.component.mjs +91 -0
  9. package/esm2020/lib/header/header-modes/edit-mode/edit-mode.component.mjs +15 -10
  10. package/esm2020/lib/header/header-modes/search-mode/search-mode.component.mjs +18 -13
  11. package/esm2020/lib/header/header-modes/sort-mode/sort-mode.component.mjs +14 -8
  12. package/esm2020/lib/header/header.component.mjs +47 -7
  13. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-case-ref-list-view/default-case-ref-list-view.component.mjs +38 -10
  14. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-case-view/default-tabbed-case-view.component.mjs +6 -6
  15. package/esm2020/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-task-view/default-tabbed-task-view.component.mjs +4 -4
  16. package/esm2020/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.mjs +7 -7
  17. package/esm2020/lib/panel/case-panel/case-panel.component.mjs +68 -13
  18. package/esm2020/lib/panel/task-panel/task-panel.component.mjs +6 -4
  19. package/esm2020/lib/panel/task-panel-list-pagination/task-list-pagination.component.mjs +5 -4
  20. package/esm2020/lib/panel/task-panel-single/single-task.component.mjs +10 -11
  21. package/esm2020/lib/search/search-component/search.component.mjs +3 -3
  22. package/esm2020/lib/view/case-view/components/case-list-paginator/case-list-paginator.component.mjs +5 -4
  23. package/esm2020/lib/view/case-view/components/create-case-button/create-case-button.component.mjs +5 -3
  24. package/esm2020/lib/view/tree-case-view/tree-task-content/tree-task-content.component.mjs +4 -2
  25. package/fesm2015/netgrif-components.mjs +561 -259
  26. package/fesm2015/netgrif-components.mjs.map +1 -1
  27. package/fesm2020/netgrif-components.mjs +547 -259
  28. package/fesm2020/netgrif-components.mjs.map +1 -1
  29. package/lib/data-fields/data-fields.module.d.ts +21 -19
  30. package/lib/data-fields/enumeration-field/enumeration-caseref-field/enumeration-caseref-field.component.d.ts +8 -0
  31. package/lib/data-fields/multichoice-field/multichoice-caseref-field/multichoice-caseref-field.component.d.ts +8 -0
  32. package/lib/dialog/dialog.module.d.ts +20 -17
  33. package/lib/dialog/model/dialog-actions.d.ts +2 -0
  34. package/lib/dialog/public-api.d.ts +1 -0
  35. package/lib/dialog/task-view-dialog/task-view-dialog.component.d.ts +20 -0
  36. package/lib/header/header-modes/edit-mode/edit-mode.component.d.ts +1 -0
  37. package/lib/header/header-modes/search-mode/search-mode.component.d.ts +1 -0
  38. package/lib/header/header-modes/sort-mode/sort-mode.component.d.ts +1 -0
  39. package/lib/header/header.component.d.ts +10 -5
  40. package/lib/navigation/group-navigation-component-resolver/default-components/default-case-ref-list-view/default-case-ref-list-view.component.d.ts +9 -4
  41. package/lib/navigation/group-navigation-component-resolver/default-components/default-tabbed-case-view/default-tabbed-case-view.component.d.ts +2 -2
  42. package/lib/navigation/navigation-double-drawer/navigation-double-drawer.component.d.ts +2 -2
  43. package/lib/panel/case-panel/case-panel.component.d.ts +10 -4
  44. package/lib/view/case-view/components/create-case-button/create-case-button.component.d.ts +2 -1
  45. package/package.json +2 -2
  46. package/src/lib/dialog/dialog.theme.scss +14 -0
  47. package/src/lib/panel/panel.theme.scss +6 -0
@@ -1,18 +1,21 @@
1
- import { Component, Optional } from '@angular/core';
2
- import { AbstractCasePanelComponent } from '@netgrif/components-core';
1
+ import { Component, Inject, Optional } from '@angular/core';
2
+ import { AbstractCasePanelComponent, DATA_FIELD_PORTAL_DATA, EnumerationField, MultichoiceField } from '@netgrif/components-core';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@netgrif/components-core";
5
5
  import * as i2 from "@ngx-translate/core";
6
6
  import * as i3 from "@angular/common";
7
7
  import * as i4 from "../panel.component";
8
- import * as i5 from "../panel-item/panel-item.component";
9
- import * as i6 from "@angular/material/button";
10
- import * as i7 from "@angular/material/icon";
11
- import * as i8 from "@angular/material/menu";
12
- import * as i9 from "@angular/flex-layout/flex";
13
- import * as i10 from "@angular/flex-layout/extended";
8
+ import * as i5 from "@angular/material/checkbox";
9
+ import * as i6 from "@angular/material/radio";
10
+ import * as i7 from "../panel-item/panel-item.component";
11
+ import * as i8 from "@angular/material/button";
12
+ import * as i9 from "@angular/material/icon";
13
+ import * as i10 from "@angular/material/menu";
14
+ import * as i11 from "@angular/flex-layout/flex";
15
+ import * as i12 from "@angular/forms";
16
+ import * as i13 from "@angular/flex-layout/extended";
14
17
  export class CasePanelComponent extends AbstractCasePanelComponent {
15
- constructor(_caseResourceService, _caseViewService, _snackBarService, _translateService, _log, _userService, _currencyPipe, _permissionService, _overflowService) {
18
+ constructor(_caseResourceService, _caseViewService, _snackBarService, _translateService, _log, _userService, _currencyPipe, _permissionService, _overflowService, _dataFieldPortalData) {
16
19
  super(_caseResourceService, _caseViewService, _snackBarService, _translateService, _log, _userService, _currencyPipe, _permissionService, _overflowService);
17
20
  this._caseResourceService = _caseResourceService;
18
21
  this._caseViewService = _caseViewService;
@@ -23,14 +26,66 @@ export class CasePanelComponent extends AbstractCasePanelComponent {
23
26
  this._currencyPipe = _currencyPipe;
24
27
  this._permissionService = _permissionService;
25
28
  this._overflowService = _overflowService;
29
+ this._dataFieldPortalData = _dataFieldPortalData;
30
+ this._changeValue = true;
31
+ }
32
+ typeApproval() {
33
+ return this._dataFieldPortalData?.dataField instanceof MultichoiceField ? 'multichoice' : 'enumeration';
34
+ }
35
+ caseValue() {
36
+ return this.case_.stringId;
37
+ }
38
+ ngOnInit() {
39
+ super.ngOnInit();
40
+ if (this._dataFieldPortalData !== null && this._dataFieldPortalData.dataField instanceof MultichoiceField) {
41
+ this.approvalFormControl.setValue(this._dataFieldPortalData.dataField.value.includes(this.case_.stringId));
42
+ this.approvalFormControl.valueChanges.subscribe(value => {
43
+ if (this._changeValue) {
44
+ if (value) {
45
+ this._dataFieldPortalData.dataField.value = [...this._dataFieldPortalData.dataField.value, this.case_.stringId];
46
+ }
47
+ else {
48
+ const index = this._dataFieldPortalData.dataField.value.indexOf(this.case_.stringId);
49
+ if (index >= 0) {
50
+ const arr = [...this._dataFieldPortalData.dataField.value];
51
+ arr.splice(index, 1);
52
+ this._dataFieldPortalData.dataField.value = arr;
53
+ }
54
+ }
55
+ }
56
+ this._changeValue = true;
57
+ });
58
+ this._dataFieldPortalData.dataField.valueChanges().subscribe(() => {
59
+ this._changeValue = false;
60
+ this.approvalFormControl.setValue(this._dataFieldPortalData.dataField.value.includes(this.case_.stringId));
61
+ });
62
+ }
63
+ if (this._dataFieldPortalData !== null && this._dataFieldPortalData.dataField instanceof EnumerationField) {
64
+ this.approvalFormControl.setValue(this._dataFieldPortalData.dataField.value);
65
+ this.approvalFormControl.valueChanges.subscribe(value => {
66
+ if (this._changeValue) {
67
+ this._dataFieldPortalData.dataField.value = this.case_.stringId;
68
+ }
69
+ this._changeValue = true;
70
+ });
71
+ this._dataFieldPortalData.dataField.valueChanges().subscribe(() => {
72
+ this._changeValue = false;
73
+ this.approvalFormControl.setValue(this._dataFieldPortalData.dataField.value);
74
+ });
75
+ }
26
76
  }
27
77
  }
28
- CasePanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CasePanelComponent, deps: [{ token: i1.CaseResourceService }, { token: i1.CaseViewService }, { token: i1.SnackBarService }, { token: i2.TranslateService }, { token: i1.LoggerService }, { token: i1.UserService }, { token: i3.CurrencyPipe }, { token: i1.PermissionService }, { token: i1.OverflowService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
29
- CasePanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CasePanelComponent, selector: "nc-case-panel", usesInheritance: true, ngImport: i0, template: "<nc-app-panel [panelHeader]=\"casePanelHeader\" [preventExpand]=\"true\" [first]=\"first\" [last]=\"last\"\n [caseColor]=case_.color>\n <ng-template #casePanelHeader>\n <div fxLayoutAlign=\"start center\" fxLayout=\"row\" fxFlex=\"95\" (click)=\"preventSelectionClick($event)\">\n <div *ngFor=\"let field of featuredFieldsValues; let i = index\" fxFlex\n class=\"text-column-div\" [ngStyle]=\"{'min-width': getMinWidth()}\"\n [fxHide.lt-xl]=\"i >= 4 && responsiveBody && !overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && responsiveBody && !overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && responsiveBody && !overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && responsiveBody && !overflowMode\"\n [ngClass]=\"{'panel-header-padding': !textEllipsis && field.type !== 'button'}\">\n <nc-panel-item\n [leadingIcon]=\"case_.icon\"\n [leadingIconEnabled]=\"i === 0\"\n [featuredValue]=\"field\"\n [textEllipsis]=\"textEllipsis\">\n </nc-panel-item>\n </div>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxFlex=\"5\">\n <div *ngIf=\"showDeleteMenu && canDelete()\">\n <button mat-icon-button (click)=\"show($event)\" [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"deleteCase()\">\n <mat-icon>delete</mat-icon>\n <span>{{ 'panel.case.delete' | translate}}</span>\n </button>\n </mat-menu>\n </div>\n </div>\n </ng-template>\n</nc-app-panel>\n", styles: [".case-panel-icon{margin-right:8px}.panel-main-content{margin-top:16px}.text-column-ellipsis{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.text-column-word-wrap{word-break:break-word!important;white-space:pre-line!important}.text-column-margin{margin-right:15px;line-height:24px}.text-column-div{min-width:0;width:0}.panel-header-padding{padding:9px 0!important}.width-100{width:100%}.pre-line-dialog{white-space:pre-line!important}\n"], components: [{ type: i4.PanelComponent, selector: "nc-app-panel" }, { type: i5.PanelItemComponent, selector: "nc-panel-item" }, { type: i6.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: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ 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: 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.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: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i10.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.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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], pipes: { "translate": i2.TranslatePipe } });
78
+ CasePanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CasePanelComponent, deps: [{ token: i1.CaseResourceService }, { token: i1.CaseViewService }, { token: i1.SnackBarService }, { token: i2.TranslateService }, { token: i1.LoggerService }, { token: i1.UserService }, { token: i3.CurrencyPipe }, { token: i1.PermissionService }, { token: i1.OverflowService, optional: true }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
79
+ CasePanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CasePanelComponent, selector: "nc-case-panel", usesInheritance: true, ngImport: i0, template: "<nc-app-panel [panelHeader]=\"casePanelHeader\" [preventExpand]=\"true\" [first]=\"first\" [last]=\"last\"\n [caseColor]=case_.color>\n <ng-template #casePanelHeader>\n <div fxLayoutAlign=\"start center\" fxLayout=\"row\" fxFlex=\"95\" (click)=\"preventSelectionClick($event)\">\n <mat-checkbox *ngIf=\"approval && typeApproval() === 'multichoice'\" [formControl]=\"approvalFormControl\" (click)=\"$event.stopPropagation();\" color='primary' class=\"checkbox-padding\"></mat-checkbox>\n <mat-radio-group *ngIf=\"approval && typeApproval() === 'enumeration'\" [formControl]=\"approvalFormControl\" (click)=\"$event.stopPropagation();\" class=\"radio-padding\" color='primary'>\n <mat-radio-button [value]=\"caseValue()\"></mat-radio-button>\n </mat-radio-group>\n <div *ngFor=\"let field of featuredFieldsValues; let i = index\" fxFlex\n class=\"text-column-div\" [ngStyle]=\"{'min-width': getMinWidth()}\"\n [fxHide.lt-xl]=\"i >= 4 && responsiveBody && !overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && responsiveBody && !overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && responsiveBody && !overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && responsiveBody && !overflowMode\"\n [ngClass]=\"{'panel-header-padding': !textEllipsis && field.type !== 'button'}\">\n <nc-panel-item\n [leadingIcon]=\"case_.icon\"\n [leadingIconEnabled]=\"i === 0\"\n [featuredValue]=\"field\"\n [textEllipsis]=\"textEllipsis\">\n </nc-panel-item>\n </div>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxFlex=\"5\">\n <div *ngIf=\"showDeleteMenu && canDelete()\">\n <button mat-icon-button (click)=\"show($event)\" [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"deleteCase()\">\n <mat-icon>delete</mat-icon>\n <span>{{ 'panel.case.delete' | translate}}</span>\n </button>\n </mat-menu>\n </div>\n </div>\n </ng-template>\n</nc-app-panel>\n", styles: [".case-panel-icon{margin-right:8px}.panel-main-content{margin-top:16px}.text-column-ellipsis{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.text-column-word-wrap{word-break:break-word!important;white-space:pre-line!important}.text-column-margin{margin-right:15px;line-height:24px}.text-column-div{min-width:0;width:0}.panel-header-padding{padding:9px 0!important}.width-100{width:100%}.pre-line-dialog{white-space:pre-line!important}.checkbox-padding{padding-right:12px}.radio-padding{padding-left:2px;padding-right:6px}\n"], components: [{ type: i4.PanelComponent, selector: "nc-app-panel" }, { type: i5.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: i6.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: i7.PanelItemComponent, selector: "nc-panel-item" }, { 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"] }], directives: [{ type: i11.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: i11.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: i11.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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i12.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i13.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: i13.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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.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: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], pipes: { "translate": i2.TranslatePipe } });
30
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CasePanelComponent, decorators: [{
31
81
  type: Component,
32
- args: [{ selector: 'nc-case-panel', template: "<nc-app-panel [panelHeader]=\"casePanelHeader\" [preventExpand]=\"true\" [first]=\"first\" [last]=\"last\"\n [caseColor]=case_.color>\n <ng-template #casePanelHeader>\n <div fxLayoutAlign=\"start center\" fxLayout=\"row\" fxFlex=\"95\" (click)=\"preventSelectionClick($event)\">\n <div *ngFor=\"let field of featuredFieldsValues; let i = index\" fxFlex\n class=\"text-column-div\" [ngStyle]=\"{'min-width': getMinWidth()}\"\n [fxHide.lt-xl]=\"i >= 4 && responsiveBody && !overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && responsiveBody && !overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && responsiveBody && !overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && responsiveBody && !overflowMode\"\n [ngClass]=\"{'panel-header-padding': !textEllipsis && field.type !== 'button'}\">\n <nc-panel-item\n [leadingIcon]=\"case_.icon\"\n [leadingIconEnabled]=\"i === 0\"\n [featuredValue]=\"field\"\n [textEllipsis]=\"textEllipsis\">\n </nc-panel-item>\n </div>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxFlex=\"5\">\n <div *ngIf=\"showDeleteMenu && canDelete()\">\n <button mat-icon-button (click)=\"show($event)\" [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"deleteCase()\">\n <mat-icon>delete</mat-icon>\n <span>{{ 'panel.case.delete' | translate}}</span>\n </button>\n </mat-menu>\n </div>\n </div>\n </ng-template>\n</nc-app-panel>\n", styles: [".case-panel-icon{margin-right:8px}.panel-main-content{margin-top:16px}.text-column-ellipsis{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.text-column-word-wrap{word-break:break-word!important;white-space:pre-line!important}.text-column-margin{margin-right:15px;line-height:24px}.text-column-div{min-width:0;width:0}.panel-header-padding{padding:9px 0!important}.width-100{width:100%}.pre-line-dialog{white-space:pre-line!important}\n"] }]
82
+ args: [{ selector: 'nc-case-panel', template: "<nc-app-panel [panelHeader]=\"casePanelHeader\" [preventExpand]=\"true\" [first]=\"first\" [last]=\"last\"\n [caseColor]=case_.color>\n <ng-template #casePanelHeader>\n <div fxLayoutAlign=\"start center\" fxLayout=\"row\" fxFlex=\"95\" (click)=\"preventSelectionClick($event)\">\n <mat-checkbox *ngIf=\"approval && typeApproval() === 'multichoice'\" [formControl]=\"approvalFormControl\" (click)=\"$event.stopPropagation();\" color='primary' class=\"checkbox-padding\"></mat-checkbox>\n <mat-radio-group *ngIf=\"approval && typeApproval() === 'enumeration'\" [formControl]=\"approvalFormControl\" (click)=\"$event.stopPropagation();\" class=\"radio-padding\" color='primary'>\n <mat-radio-button [value]=\"caseValue()\"></mat-radio-button>\n </mat-radio-group>\n <div *ngFor=\"let field of featuredFieldsValues; let i = index\" fxFlex\n class=\"text-column-div\" [ngStyle]=\"{'min-width': getMinWidth()}\"\n [fxHide.lt-xl]=\"i >= 4 && responsiveBody && !overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && responsiveBody && !overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && responsiveBody && !overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && responsiveBody && !overflowMode\"\n [ngClass]=\"{'panel-header-padding': !textEllipsis && field.type !== 'button'}\">\n <nc-panel-item\n [leadingIcon]=\"case_.icon\"\n [leadingIconEnabled]=\"i === 0\"\n [featuredValue]=\"field\"\n [textEllipsis]=\"textEllipsis\">\n </nc-panel-item>\n </div>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxFlex=\"5\">\n <div *ngIf=\"showDeleteMenu && canDelete()\">\n <button mat-icon-button (click)=\"show($event)\" [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"deleteCase()\">\n <mat-icon>delete</mat-icon>\n <span>{{ 'panel.case.delete' | translate}}</span>\n </button>\n </mat-menu>\n </div>\n </div>\n </ng-template>\n</nc-app-panel>\n", styles: [".case-panel-icon{margin-right:8px}.panel-main-content{margin-top:16px}.text-column-ellipsis{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.text-column-word-wrap{word-break:break-word!important;white-space:pre-line!important}.text-column-margin{margin-right:15px;line-height:24px}.text-column-div{min-width:0;width:0}.panel-header-padding{padding:9px 0!important}.width-100{width:100%}.pre-line-dialog{white-space:pre-line!important}.checkbox-padding{padding-right:12px}.radio-padding{padding-left:2px;padding-right:6px}\n"] }]
33
83
  }], ctorParameters: function () { return [{ type: i1.CaseResourceService }, { type: i1.CaseViewService }, { type: i1.SnackBarService }, { type: i2.TranslateService }, { type: i1.LoggerService }, { type: i1.UserService }, { type: i3.CurrencyPipe }, { type: i1.PermissionService }, { type: i1.OverflowService, decorators: [{
34
84
  type: Optional
85
+ }] }, { type: undefined, decorators: [{
86
+ type: Optional
87
+ }, {
88
+ type: Inject,
89
+ args: [DATA_FIELD_PORTAL_DATA]
35
90
  }] }]; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9wYW5lbC9jYXNlLXBhbmVsL2Nhc2UtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvcGFuZWwvY2FzZS1wYW5lbC9jYXNlLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFDSCwwQkFBMEIsRUFLN0IsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBV2xDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSwwQkFBMEI7SUFDOUQsWUFBc0Isb0JBQXlDLEVBQ3pDLGdCQUFpQyxFQUNqQyxnQkFBaUMsRUFDakMsaUJBQW1DLEVBQ25DLElBQW1CLEVBQ25CLFlBQXlCLEVBQ3pCLGFBQTJCLEVBQzlCLGtCQUFxQyxFQUN0QixnQkFBaUM7UUFDL0QsS0FBSyxDQUFDLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUMxRCxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBVjlFLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ2pDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUNuQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3RCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7SUFHbkUsQ0FBQzs7Z0hBWlEsa0JBQWtCO29HQUFsQixrQkFBa0IsNEVDbEIvQiw0MURBa0NBOzRGRGhCYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksZUFBZTs7MEJBYVosUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q2FzZVBhbmVsQ29tcG9uZW50LFxuICAgIENhc2VWaWV3U2VydmljZSxcbiAgICBMb2dnZXJTZXJ2aWNlLFxuICAgIE92ZXJmbG93U2VydmljZSxcbiAgICBVc2VyU2VydmljZVxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtDYXNlUmVzb3VyY2VTZXJ2aWNlLCBQZXJtaXNzaW9uU2VydmljZX0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7U25hY2tCYXJTZXJ2aWNlfSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q3VycmVuY3lQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLWNhc2UtcGFuZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXNlLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXNlLXBhbmVsLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2FzZVBhbmVsQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RDYXNlUGFuZWxDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfY2FzZVJlc291cmNlU2VydmljZTogQ2FzZVJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2Nhc2VWaWV3U2VydmljZTogQ2FzZVZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfc25hY2tCYXJTZXJ2aWNlOiBTbmFja0JhclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY3VycmVuY3lQaXBlOiBDdXJyZW5jeVBpcGUsXG4gICAgICAgICAgICAgICAgcHVibGljIF9wZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF9vdmVyZmxvd1NlcnZpY2U6IE92ZXJmbG93U2VydmljZSkge1xuICAgICAgICBzdXBlcihfY2FzZVJlc291cmNlU2VydmljZSwgX2Nhc2VWaWV3U2VydmljZSwgX3NuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgIF90cmFuc2xhdGVTZXJ2aWNlLCBfbG9nLCBfdXNlclNlcnZpY2UsIF9jdXJyZW5jeVBpcGUsIF9wZXJtaXNzaW9uU2VydmljZSwgX292ZXJmbG93U2VydmljZSk7XG4gICAgfVxufVxuIiwiPG5jLWFwcC1wYW5lbCBbcGFuZWxIZWFkZXJdPVwiY2FzZVBhbmVsSGVhZGVyXCIgW3ByZXZlbnRFeHBhbmRdPVwidHJ1ZVwiIFtmaXJzdF09XCJmaXJzdFwiIFtsYXN0XT1cImxhc3RcIlxuICAgICAgICAgICAgICBbY2FzZUNvbG9yXT1jYXNlXy5jb2xvcj5cbiAgICA8bmctdGVtcGxhdGUgI2Nhc2VQYW5lbEhlYWRlcj5cbiAgICAgICAgPGRpdiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeEZsZXg9XCI5NVwiIChjbGljayk9XCJwcmV2ZW50U2VsZWN0aW9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmVhdHVyZWRGaWVsZHNWYWx1ZXM7IGxldCBpID0gaW5kZXhcIiBmeEZsZXhcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWNvbHVtbi1kaXZcIiBbbmdTdHlsZV09XCJ7J21pbi13aWR0aCc6IGdldE1pbldpZHRoKCl9XCJcbiAgICAgICAgICAgICAgICAgW2Z4SGlkZS5sdC14bF09XCJpID49IDQgJiYgcmVzcG9uc2l2ZUJvZHkgJiYgIW92ZXJmbG93TW9kZVwiXG4gICAgICAgICAgICAgICAgIFtmeEhpZGUubHQtbGddPVwiaSA+PSAzICYmIHJlc3BvbnNpdmVCb2R5ICYmICFvdmVyZmxvd01vZGVcIlxuICAgICAgICAgICAgICAgICBbZnhIaWRlLmx0LW1kXT1cImkgPj0gMiAmJiByZXNwb25zaXZlQm9keSAmJiAhb3ZlcmZsb3dNb2RlXCJcbiAgICAgICAgICAgICAgICAgW2Z4SGlkZS5sdC1zbV09XCJpID49IDEgJiYgcmVzcG9uc2l2ZUJvZHkgJiYgIW92ZXJmbG93TW9kZVwiXG4gICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncGFuZWwtaGVhZGVyLXBhZGRpbmcnOiAhdGV4dEVsbGlwc2lzICYmIGZpZWxkLnR5cGUgIT09ICdidXR0b24nfVwiPlxuICAgICAgICAgICAgICAgIDxuYy1wYW5lbC1pdGVtXG4gICAgICAgICAgICAgICAgICAgIFtsZWFkaW5nSWNvbl09XCJjYXNlXy5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2xlYWRpbmdJY29uRW5hYmxlZF09XCJpID09PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZlYXR1cmVkVmFsdWVdPVwiZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICBbdGV4dEVsbGlwc2lzXT1cInRleHRFbGxpcHNpc1wiPlxuICAgICAgICAgICAgICAgIDwvbmMtcGFuZWwtaXRlbT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCIgZnhGbGV4PVwiNVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVNZW51ICYmIGNhbkRlbGV0ZSgpXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInNob3coJGV2ZW50KVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJkZWxldGVDYXNlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ3BhbmVsLmNhc2UuZGVsZXRlJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25jLWFwcC1wYW5lbD5cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9wYW5lbC9jYXNlLXBhbmVsL2Nhc2UtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvcGFuZWwvY2FzZS1wYW5lbC9jYXNlLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFVLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQ0gsMEJBQTBCLEVBQ1Qsc0JBQXNCLEVBQXVCLGdCQUFnQixFQUMvRCxnQkFBZ0IsRUFHbEMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBV2xDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSwwQkFBMEI7SUFHOUQsWUFBc0Isb0JBQXlDLEVBQ3pDLGdCQUFpQyxFQUNqQyxnQkFBaUMsRUFDakMsaUJBQW1DLEVBQ25DLElBQW1CLEVBQ25CLFlBQXlCLEVBQ3pCLGFBQTJCLEVBQzlCLGtCQUFxQyxFQUN0QixnQkFBaUMsRUFDRCxvQkFBOEU7UUFDNUksS0FBSyxDQUFDLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUMxRCxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBWDlFLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ2pDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUNu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Q3BELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtvQkFDbEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQThCLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO2lCQUN6RjtnQkFDRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQTtZQUNGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDOUQsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqRixDQUFDLENBQUMsQ0FBQTtTQUNMO0lBQ0wsQ0FBQzs7Z0hBL0RRLGtCQUFrQix1VEFZSyxzQkFBc0I7b0dBWjdDLGtCQUFrQiw0RUNsQi9CLDgyRUFzQ0E7NEZEcEJhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDSSxlQUFlOzswQkFlWixRQUFROzswQkFDUixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENhc2VQYW5lbENvbXBvbmVudCxcbiAgICBDYXNlVmlld1NlcnZpY2UsIERBVEFfRklFTERfUE9SVEFMX0RBVEEsIERhdGFGaWVsZFBvcnRhbERhdGEsIEVudW1lcmF0aW9uRmllbGQsXG4gICAgTG9nZ2VyU2VydmljZSwgTXVsdGljaG9pY2VGaWVsZCxcbiAgICBPdmVyZmxvd1NlcnZpY2UsXG4gICAgVXNlclNlcnZpY2Vcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7Q2FzZVJlc291cmNlU2VydmljZSwgUGVybWlzc2lvblNlcnZpY2V9IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge1NuYWNrQmFyU2VydmljZX0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0N1cnJlbmN5UGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1jYXNlLXBhbmVsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FzZS1wYW5lbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENhc2VQYW5lbENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Q2FzZVBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcm90ZWN0ZWQgX2NoYW5nZVZhbHVlOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jYXNlUmVzb3VyY2VTZXJ2aWNlOiBDYXNlUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2FzZVZpZXdTZXJ2aWNlOiBDYXNlVmlld1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja0JhclNlcnZpY2U6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF91c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jdXJyZW5jeVBpcGU6IEN1cnJlbmN5UGlwZSxcbiAgICAgICAgICAgICAgICBwdWJsaWMgX3Blcm1pc3Npb25TZXJ2aWNlOiBQZXJtaXNzaW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX292ZXJmbG93U2VydmljZTogT3ZlcmZsb3dTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoREFUQV9GSUVMRF9QT1JUQUxfREFUQSkgcHJvdGVjdGVkIF9kYXRhRmllbGRQb3J0YWxEYXRhOiBEYXRhRmllbGRQb3J0YWxEYXRhPE11bHRpY2hvaWNlRmllbGQgfCBFbnVtZXJhdGlvbkZpZWxkPikge1xuICAgICAgICBzdXBlcihfY2FzZVJlc291cmNlU2VydmljZSwgX2Nhc2VWaWV3U2VydmljZSwgX3NuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgIF90cmFuc2xhdGVTZXJ2aWNlLCBfbG9nLCBfdXNlclNlcnZpY2UsIF9jdXJyZW5jeVBpcGUsIF9wZXJtaXNzaW9uU2VydmljZSwgX292ZXJmbG93U2VydmljZSk7XG4gICAgICAgIHRoaXMuX2NoYW5nZVZhbHVlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHlwZUFwcHJvdmFsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkIGluc3RhbmNlb2YgTXVsdGljaG9pY2VGaWVsZCA/ICdtdWx0aWNob2ljZScgOiAnZW51bWVyYXRpb24nO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYXNlVmFsdWUoKSB7XG4gICAgICAgcmV0dXJuIHRoaXMuY2FzZV8uc3RyaW5nSWQ7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGlmICh0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhICE9PSBudWxsICYmIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEuZGF0YUZpZWxkIGluc3RhbmNlb2YgTXVsdGljaG9pY2VGaWVsZCkge1xuICAgICAgICAgICAgdGhpcy5hcHByb3ZhbEZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEuZGF0YUZpZWxkLnZhbHVlLmluY2x1ZGVzKHRoaXMuY2FzZV8uc3RyaW5nSWQpKTtcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fY2hhbmdlVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YS5kYXRhRmllbGQgYXMgTXVsdGljaG9pY2VGaWVsZCkudmFsdWUgPSBbLi4udGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YS5kYXRhRmllbGQudmFsdWUsIHRoaXMuY2FzZV8uc3RyaW5nSWRdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhLmRhdGFGaWVsZC52YWx1ZS5pbmRleE9mKHRoaXMuY2FzZV8uc3RyaW5nSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID49IDAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJyID0gWy4uLnRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEuZGF0YUZpZWxkLnZhbHVlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnIuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YS5kYXRhRmllbGQgYXMgTXVsdGljaG9pY2VGaWVsZCkudmFsdWUgPSBhcnI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlVmFsdWUgPSB0cnVlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEuZGF0YUZpZWxkLnZhbHVlQ2hhbmdlcygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcHJvdmFsRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YS5kYXRhRmllbGQudmFsdWUuaW5jbHVkZXModGhpcy5jYXNlXy5zdHJpbmdJZCkpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YSAhPT0gbnVsbCAmJiB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhLmRhdGFGaWVsZCBpbnN0YW5jZW9mIEVudW1lcmF0aW9uRmllbGQpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhLmRhdGFGaWVsZC52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NoYW5nZVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhLmRhdGFGaWVsZCBhcyBFbnVtZXJhdGlvbkZpZWxkKS52YWx1ZSA9IHRoaXMuY2FzZV8uc3RyaW5nSWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlVmFsdWUgPSB0cnVlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGEuZGF0YUZpZWxkLnZhbHVlQ2hhbmdlcygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmFwcHJvdmFsRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YS5kYXRhRmllbGQudmFsdWUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuYy1hcHAtcGFuZWwgW3BhbmVsSGVhZGVyXT1cImNhc2VQYW5lbEhlYWRlclwiIFtwcmV2ZW50RXhwYW5kXT1cInRydWVcIiBbZmlyc3RdPVwiZmlyc3RcIiBbbGFzdF09XCJsYXN0XCJcbiAgICAgICAgICAgICAgW2Nhc2VDb2xvcl09Y2FzZV8uY29sb3I+XG4gICAgPG5nLXRlbXBsYXRlICNjYXNlUGFuZWxIZWFkZXI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4PVwiOTVcIiAoY2xpY2spPVwicHJldmVudFNlbGVjdGlvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggKm5nSWY9XCJhcHByb3ZhbCAmJiB0eXBlQXBwcm92YWwoKSA9PT0gJ211bHRpY2hvaWNlJ1wiIFtmb3JtQ29udHJvbF09XCJhcHByb3ZhbEZvcm1Db250cm9sXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIiBjb2xvcj0ncHJpbWFyeScgY2xhc3M9XCJjaGVja2JveC1wYWRkaW5nXCI+PC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICA8bWF0LXJhZGlvLWdyb3VwICpuZ0lmPVwiYXBwcm92YWwgJiYgdHlwZUFwcHJvdmFsKCkgPT09ICdlbnVtZXJhdGlvbidcIiBbZm9ybUNvbnRyb2xdPVwiYXBwcm92YWxGb3JtQ29udHJvbFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCIgY2xhc3M9XCJyYWRpby1wYWRkaW5nXCIgY29sb3I9J3ByaW1hcnknPlxuICAgICAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJjYXNlVmFsdWUoKVwiPjwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmVhdHVyZWRGaWVsZHNWYWx1ZXM7IGxldCBpID0gaW5kZXhcIiBmeEZsZXhcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWNvbHVtbi1kaXZcIiBbbmdTdHlsZV09XCJ7J21pbi13aWR0aCc6IGdldE1pbldpZHRoKCl9XCJcbiAgICAgICAgICAgICAgICAgW2Z4SGlkZS5sdC14bF09XCJpID49IDQgJiYgcmVzcG9uc2l2ZUJvZHkgJiYgIW92ZXJmbG93TW9kZVwiXG4gICAgICAgICAgICAgICAgIFtmeEhpZGUubHQtbGddPVwiaSA+PSAzICYmIHJlc3BvbnNpdmVCb2R5ICYmICFvdmVyZmxvd01vZGVcIlxuICAgICAgICAgICAgICAgICBbZnhIaWRlLmx0LW1kXT1cImkgPj0gMiAmJiByZXNwb25zaXZlQm9keSAmJiAhb3ZlcmZsb3dNb2RlXCJcbiAgICAgICAgICAgICAgICAgW2Z4SGlkZS5sdC1zbV09XCJpID49IDEgJiYgcmVzcG9uc2l2ZUJvZHkgJiYgIW92ZXJmbG93TW9kZVwiXG4gICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncGFuZWwtaGVhZGVyLXBhZGRpbmcnOiAhdGV4dEVsbGlwc2lzICYmIGZpZWxkLnR5cGUgIT09ICdidXR0b24nfVwiPlxuICAgICAgICAgICAgICAgIDxuYy1wYW5lbC1pdGVtXG4gICAgICAgICAgICAgICAgICAgIFtsZWFkaW5nSWNvbl09XCJjYXNlXy5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2xlYWRpbmdJY29uRW5hYmxlZF09XCJpID09PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZlYXR1cmVkVmFsdWVdPVwiZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICBbdGV4dEVsbGlwc2lzXT1cInRleHRFbGxpcHNpc1wiPlxuICAgICAgICAgICAgICAgIDwvbmMtcGFuZWwtaXRlbT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCIgZnhGbGV4PVwiNVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVNZW51ICYmIGNhbkRlbGV0ZSgpXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInNob3coJGV2ZW50KVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJkZWxldGVDYXNlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ3BhbmVsLmNhc2UuZGVsZXRlJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25jLWFwcC1wYW5lbD5cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Component, Inject, Injector, Optional } from '@angular/core';
2
2
  import { ComponentPortal } from '@angular/cdk/portal';
3
- import { AbstractTaskPanelComponent, AssignPolicyService, AssignTaskService, BOOLEAN_VALUE_LABEL_ENABLED, CancelTaskService, ChangedFieldsService, DataFocusPolicyService, DelegateTaskService, FinishPolicyService, FinishTaskService, NAE_TASK_FORCE_OPEN, NAE_TASK_OPERATIONS, NAE_TASK_PANEL_DISABLE_BUTTON_FUNCTIONS, SingleTaskContentService, SubjectTaskOperations, TaskContentService, TaskDataService, TaskEventService, TaskRequestStateService } from '@netgrif/components-core';
3
+ import { AbstractTaskPanelComponent, AssignPolicyService, AssignTaskService, BOOLEAN_VALUE_LABEL_ENABLED, CancelTaskService, ChangedFieldsService, DataFocusPolicyService, DelegateTaskService, FinishPolicyService, FinishTaskService, NAE_TASK_FORCE_OPEN, NAE_TASK_OPERATIONS, NAE_TASK_PANEL_DISABLE_BUTTON_FUNCTIONS, SingleTaskContentService, SubjectTaskOperations, TaskContentService, TaskDataService, TaskEventService, TaskRequestStateService, FrontActionService } from '@netgrif/components-core';
4
4
  import { TaskContentComponent } from '../../task-content/task-content/task-content.component';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@netgrif/components-core";
@@ -63,6 +63,7 @@ TaskPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", versi
63
63
  TaskPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TaskPanelComponent, selector: "nc-task-panel", providers: [
64
64
  { provide: TaskContentService, useClass: SingleTaskContentService },
65
65
  TaskDataService,
66
+ FrontActionService,
66
67
  TaskEventService,
67
68
  AssignTaskService,
68
69
  DelegateTaskService,
@@ -74,12 +75,13 @@ TaskPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
74
75
  FinishPolicyService,
75
76
  ChangedFieldsService,
76
77
  { provide: NAE_TASK_OPERATIONS, useClass: SubjectTaskOperations },
77
- ], usesInheritance: true, ngImport: i0, template: "<nc-app-panel [panelContent]=\"taskPanelContent\" [panelHeader]=\"taskPanelHeader\"\n (stopLoading)=\"stopLoading()\" (getExpansionPanelRef)=\"setPanelRef($event)\" [first]=\"first\" [last]=\"last\"\n [preventCollapse]='preventCollapse' [hidePanelHeader]='hidePanelHeader'>\n <ng-template #taskPanelHeader>\n <div fxLayoutAlign=\"start center\" fxLayout=\"row\" fxFlex=\"95\" (click)=\"preventSelectionClick($event)\">\n <div *ngFor=\"let field of featuredFieldsValues; let i = index\" fxFlex\n class=\"text-column-div\"\n [fxHide.lt-xl]=\"i >= 4 && responsiveBody && !overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && responsiveBody && !overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && responsiveBody && !overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && responsiveBody && !overflowMode\"\n [ngClass]=\"{'panel-header-padding': !textEllipsis && field.type !== 'button'}\">\n <nc-panel-item\n [leadingIcon]=\"taskPanelData.task.icon\"\n [leadingIconEnabled]=\"i === 0\"\n [featuredValue]=\"field\"\n [textEllipsis]=\"textEllipsis\">\n </nc-panel-item>\n </div>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxFlex=\"5\">\n <button mat-icon-button (click)=\"preventPanelOpen($event)\"\n *ngIf=\"!isLoading && showMoreMenu && (canAssign() || canDo('delegate') || canReassign() || canCancel() || canFinish())\"\n [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngIf=\"canAssign()\" (click)=\"assign()\" [disabled]=\"canDisable('assign')\">\n <mat-icon>person</mat-icon>\n <span>{{ getAssignTitle() | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canDo('delegate')\" (click)=\"delegate()\"\n [disabled]=\"canDisable('delegate')\">\n <mat-icon>person_outline</mat-icon>\n <span>{{ getDelegateTitle() | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canReassign()\" (click)=\"delegate()\" [disabled]=\"canDisable('reassign')\">\n <mat-icon>person_add</mat-icon>\n <span>{{ 'tasks.view.reassign' | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canCancel()\" (click)=\"cancel()\" [disabled]=\"canDisable('cancel')\">\n <mat-icon>cancel</mat-icon>\n <span>{{ getCancelTitle() | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canFinish()\" (click)=\"finish()\" [disabled]=\"canDisable('finish')\">\n <mat-icon>done</mat-icon>\n <span>{{ getFinishTitle() | translate}}</span>\n </button>\n </mat-menu>\n <mat-spinner *ngIf=\"isLoading\" [diameter]=\"30\"></mat-spinner>\n </div>\n </ng-template>\n <ng-template #taskPanelContent>\n <div class=\"panel-main-content\" fxLayout=\"column\"\n [ngStyle]=\"(isForceOpen() && {'min-height': getContentMinHeight()}) || null\">\n <div class=\"task-panel-body\" [ngClass]=\"{'paper-view': isPaperView()}\" fxFlex=\"100\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </div>\n <mat-action-row fxLayout.lt-sm=\"column\" [ngStyle]=\"{'justify-content': actionRowJustifyContent ?? 'flex-end' }\">\n <mat-spinner class='action-row-spinner' *ngIf=\"isLoading && hidePanelHeader\"\n [diameter]=\"20\"></mat-spinner>\n <div fxLayoutAlign.lt-sm=\"center stretch\" ngClass.lt-sm=\"width-100\"\n *ngFor='let button of (!!actionButtonTemplates && actionButtonTemplates.length > 0 ?\n actionButtonTemplates : [assignButton, delegateButton, reassignButton, cancelButton, finishButton, collapseButton])'>\n <ng-container *ngTemplateOutlet='button; context:thisContext'></ng-container>\n </div>\n </mat-action-row>\n </div>\n </ng-template>\n</nc-app-panel>\n\n<ng-template #assignButton>\n <button *ngIf=\"canAssign() && getAssignTitle()?.length > 0\" (click)=\"assign()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('assign')\">\n {{ getAssignTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #delegateButton>\n <button *ngIf=\"canDo('delegate') && getDelegateTitle()?.length > 0\" (click)=\"delegate()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('delegate')\">\n {{ getDelegateTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #reassignButton>\n <button *ngIf=\"canReassign()\" (click)=\"delegate()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('reassign')\">\n {{ 'tasks.view.reassign' | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #cancelButton>\n <button *ngIf=\"canCancel() && getCancelTitle()?.length > 0\" (click)=\"cancel()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('cancel')\">\n {{ getCancelTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #finishButton>\n <button *ngIf=\"canFinish() && getFinishTitle()?.length > 0\" (click)=\"finish()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('finish')\">\n {{ getFinishTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #collapseButton>\n <button *ngIf=\"canCollapse()\" color=\"primary\" (click)=\"collapse()\" mat-stroked-button color=\"primary\">\n {{ 'tasks.view.collapse' | translate | uppercase }}</button>\n</ng-template>\n", styles: [".task-panel-icon{margin-right:8px}.task-panel-footer{border-top:1px solid rgba(0,0,0,.03);padding:5px 24px}.task-panel-body{padding:10px 24px}.paper-view{margin:auto}.width-100{width:100%}.text-column-ellipsis{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.text-column-word-wrap{word-break:break-word!important;white-space:pre-line!important}.text-column-div{min-width:0;width:0}.text-column-margin{margin-right:15px;line-height:24px}.panel-header-padding{padding:9px 0!important}.pre-line-dialog{white-space:pre-line!important}.action-row-spinner{box-sizing:border-box;width:20px;height:20px;display:inline;margin:auto 5px}@media only screen and (max-width: 959.99px){.task-panel-body{padding:10px 0}.task-panel-action-row{padding:8px}}\n"], components: [{ type: i4.PanelComponent, selector: "nc-app-panel" }, { type: i5.PanelItemComponent, selector: "nc-panel-item" }, { type: i6.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: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i10.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.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: i10.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: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i11.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: i12.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { type: i13.MatExpansionPanelActionRow, selector: "mat-action-row" }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "translate": i2.TranslatePipe, "uppercase": i3.UpperCasePipe } });
78
+ ], usesInheritance: true, ngImport: i0, template: "<nc-app-panel [panelContent]=\"taskPanelContent\" [panelHeader]=\"taskPanelHeader\"\n (stopLoading)=\"stopLoading()\" (getExpansionPanelRef)=\"setPanelRef($event)\" [first]=\"first\" [last]=\"last\"\n [preventCollapse]='preventCollapse' [hidePanelHeader]='hidePanelHeader'>\n <ng-template #taskPanelHeader>\n <div fxLayoutAlign=\"start center\" fxLayout=\"row\" fxFlex=\"95\" (click)=\"preventSelectionClick($event)\">\n <div *ngFor=\"let field of featuredFieldsValues; let i = index\" fxFlex\n class=\"text-column-div\"\n [fxHide.lt-xl]=\"i >= 4 && responsiveBody && !overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && responsiveBody && !overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && responsiveBody && !overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && responsiveBody && !overflowMode\"\n [ngClass]=\"{'panel-header-padding': !textEllipsis && field.type !== 'button'}\">\n <nc-panel-item\n [leadingIcon]=\"taskPanelData.task.icon\"\n [leadingIconEnabled]=\"i === 0\"\n [featuredValue]=\"field\"\n [textEllipsis]=\"textEllipsis\">\n </nc-panel-item>\n </div>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxFlex=\"5\">\n <button mat-icon-button (click)=\"preventPanelOpen($event)\"\n *ngIf=\"!isLoading && showMoreMenu && (canAssign() || canDo('delegate') || canReassign() || canCancel() || canFinish())\"\n [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngIf=\"canAssign()\" (click)=\"assign()\" [disabled]=\"canDisable('assign')\">\n <mat-icon>person</mat-icon>\n <span>{{ getAssignTitle() | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canDo('delegate')\" (click)=\"delegate()\"\n [disabled]=\"canDisable('delegate')\">\n <mat-icon>person_outline</mat-icon>\n <span>{{ getDelegateTitle() | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canReassign()\" (click)=\"delegate()\" [disabled]=\"canDisable('reassign')\">\n <mat-icon>person_add</mat-icon>\n <span>{{ 'tasks.view.reassign' | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canCancel()\" (click)=\"cancel()\" [disabled]=\"canDisable('cancel')\">\n <mat-icon>cancel</mat-icon>\n <span>{{ getCancelTitle() | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canFinish()\" (click)=\"finish()\" [disabled]=\"canDisable('finish')\">\n <mat-icon>done</mat-icon>\n <span>{{ getFinishTitle() | translate}}</span>\n </button>\n </mat-menu>\n <mat-spinner *ngIf=\"isLoading\" [diameter]=\"30\"></mat-spinner>\n </div>\n </ng-template>\n <ng-template #taskPanelContent>\n <div class=\"panel-main-content\" fxLayout=\"column\"\n [ngStyle]=\"(isForceOpen() && {'min-height': getContentMinHeight()}) || null\">\n <div class=\"task-panel-body\" [ngClass]=\"{'paper-view': isPaperView()}\" fxFlex=\"100\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </div>\n <mat-action-row *ngIf=\"!hideActionRow\" fxLayout.lt-sm=\"column\" [ngStyle]=\"{'justify-content': actionRowJustifyContent ?? 'flex-end' }\">\n <mat-spinner class='action-row-spinner' *ngIf=\"isLoading && hidePanelHeader\"\n [diameter]=\"20\"></mat-spinner>\n <div fxLayoutAlign.lt-sm=\"center stretch\" ngClass.lt-sm=\"width-100\"\n *ngFor='let button of (!!actionButtonTemplates && actionButtonTemplates.length > 0 ?\n actionButtonTemplates : [assignButton, delegateButton, reassignButton, cancelButton, finishButton, collapseButton])'>\n <ng-container *ngTemplateOutlet='button; context:thisContext'></ng-container>\n </div>\n </mat-action-row>\n </div>\n </ng-template>\n</nc-app-panel>\n\n<ng-template #assignButton>\n <button *ngIf=\"canAssign() && getAssignTitle()?.length > 0\" (click)=\"assign()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('assign')\">\n {{ getAssignTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #delegateButton>\n <button *ngIf=\"canDo('delegate') && getDelegateTitle()?.length > 0\" (click)=\"delegate()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('delegate')\">\n {{ getDelegateTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #reassignButton>\n <button *ngIf=\"canReassign()\" (click)=\"delegate()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('reassign')\">\n {{ 'tasks.view.reassign' | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #cancelButton>\n <button *ngIf=\"canCancel() && getCancelTitle()?.length > 0\" (click)=\"cancel()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('cancel')\">\n {{ getCancelTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #finishButton>\n <button *ngIf=\"canFinish() && getFinishTitle()?.length > 0\" (click)=\"finish()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('finish')\">\n {{ getFinishTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #collapseButton>\n <button *ngIf=\"canCollapse()\" color=\"primary\" (click)=\"collapse()\" mat-stroked-button color=\"primary\">\n {{ 'tasks.view.collapse' | translate | uppercase }}</button>\n</ng-template>\n", styles: [".task-panel-icon{margin-right:8px}.task-panel-footer{border-top:1px solid rgba(0,0,0,.03);padding:5px 24px}.task-panel-body{padding:10px 24px}.paper-view{margin:auto}.width-100{width:100%}.text-column-ellipsis{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.text-column-word-wrap{word-break:break-word!important;white-space:pre-line!important}.text-column-div{min-width:0;width:0}.text-column-margin{margin-right:15px;line-height:24px}.panel-header-padding{padding:9px 0!important}.pre-line-dialog{white-space:pre-line!important}.action-row-spinner{box-sizing:border-box;width:20px;height:20px;display:inline;margin:auto 5px}@media only screen and (max-width: 959.99px){.task-panel-body{padding:10px 0}.task-panel-action-row{padding:8px}}\n"], components: [{ type: i4.PanelComponent, selector: "nc-app-panel" }, { type: i5.PanelItemComponent, selector: "nc-panel-item" }, { type: i6.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: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i10.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.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: i10.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: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i11.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: i12.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { type: i13.MatExpansionPanelActionRow, selector: "mat-action-row" }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "translate": i2.TranslatePipe, "uppercase": i3.UpperCasePipe } });
78
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TaskPanelComponent, decorators: [{
79
80
  type: Component,
80
81
  args: [{ selector: 'nc-task-panel', providers: [
81
82
  { provide: TaskContentService, useClass: SingleTaskContentService },
82
83
  TaskDataService,
84
+ FrontActionService,
83
85
  TaskEventService,
84
86
  AssignTaskService,
85
87
  DelegateTaskService,
@@ -91,7 +93,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
91
93
  FinishPolicyService,
92
94
  ChangedFieldsService,
93
95
  { provide: NAE_TASK_OPERATIONS, useClass: SubjectTaskOperations },
94
- ], template: "<nc-app-panel [panelContent]=\"taskPanelContent\" [panelHeader]=\"taskPanelHeader\"\n (stopLoading)=\"stopLoading()\" (getExpansionPanelRef)=\"setPanelRef($event)\" [first]=\"first\" [last]=\"last\"\n [preventCollapse]='preventCollapse' [hidePanelHeader]='hidePanelHeader'>\n <ng-template #taskPanelHeader>\n <div fxLayoutAlign=\"start center\" fxLayout=\"row\" fxFlex=\"95\" (click)=\"preventSelectionClick($event)\">\n <div *ngFor=\"let field of featuredFieldsValues; let i = index\" fxFlex\n class=\"text-column-div\"\n [fxHide.lt-xl]=\"i >= 4 && responsiveBody && !overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && responsiveBody && !overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && responsiveBody && !overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && responsiveBody && !overflowMode\"\n [ngClass]=\"{'panel-header-padding': !textEllipsis && field.type !== 'button'}\">\n <nc-panel-item\n [leadingIcon]=\"taskPanelData.task.icon\"\n [leadingIconEnabled]=\"i === 0\"\n [featuredValue]=\"field\"\n [textEllipsis]=\"textEllipsis\">\n </nc-panel-item>\n </div>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxFlex=\"5\">\n <button mat-icon-button (click)=\"preventPanelOpen($event)\"\n *ngIf=\"!isLoading && showMoreMenu && (canAssign() || canDo('delegate') || canReassign() || canCancel() || canFinish())\"\n [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngIf=\"canAssign()\" (click)=\"assign()\" [disabled]=\"canDisable('assign')\">\n <mat-icon>person</mat-icon>\n <span>{{ getAssignTitle() | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canDo('delegate')\" (click)=\"delegate()\"\n [disabled]=\"canDisable('delegate')\">\n <mat-icon>person_outline</mat-icon>\n <span>{{ getDelegateTitle() | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canReassign()\" (click)=\"delegate()\" [disabled]=\"canDisable('reassign')\">\n <mat-icon>person_add</mat-icon>\n <span>{{ 'tasks.view.reassign' | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canCancel()\" (click)=\"cancel()\" [disabled]=\"canDisable('cancel')\">\n <mat-icon>cancel</mat-icon>\n <span>{{ getCancelTitle() | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canFinish()\" (click)=\"finish()\" [disabled]=\"canDisable('finish')\">\n <mat-icon>done</mat-icon>\n <span>{{ getFinishTitle() | translate}}</span>\n </button>\n </mat-menu>\n <mat-spinner *ngIf=\"isLoading\" [diameter]=\"30\"></mat-spinner>\n </div>\n </ng-template>\n <ng-template #taskPanelContent>\n <div class=\"panel-main-content\" fxLayout=\"column\"\n [ngStyle]=\"(isForceOpen() && {'min-height': getContentMinHeight()}) || null\">\n <div class=\"task-panel-body\" [ngClass]=\"{'paper-view': isPaperView()}\" fxFlex=\"100\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </div>\n <mat-action-row fxLayout.lt-sm=\"column\" [ngStyle]=\"{'justify-content': actionRowJustifyContent ?? 'flex-end' }\">\n <mat-spinner class='action-row-spinner' *ngIf=\"isLoading && hidePanelHeader\"\n [diameter]=\"20\"></mat-spinner>\n <div fxLayoutAlign.lt-sm=\"center stretch\" ngClass.lt-sm=\"width-100\"\n *ngFor='let button of (!!actionButtonTemplates && actionButtonTemplates.length > 0 ?\n actionButtonTemplates : [assignButton, delegateButton, reassignButton, cancelButton, finishButton, collapseButton])'>\n <ng-container *ngTemplateOutlet='button; context:thisContext'></ng-container>\n </div>\n </mat-action-row>\n </div>\n </ng-template>\n</nc-app-panel>\n\n<ng-template #assignButton>\n <button *ngIf=\"canAssign() && getAssignTitle()?.length > 0\" (click)=\"assign()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('assign')\">\n {{ getAssignTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #delegateButton>\n <button *ngIf=\"canDo('delegate') && getDelegateTitle()?.length > 0\" (click)=\"delegate()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('delegate')\">\n {{ getDelegateTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #reassignButton>\n <button *ngIf=\"canReassign()\" (click)=\"delegate()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('reassign')\">\n {{ 'tasks.view.reassign' | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #cancelButton>\n <button *ngIf=\"canCancel() && getCancelTitle()?.length > 0\" (click)=\"cancel()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('cancel')\">\n {{ getCancelTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #finishButton>\n <button *ngIf=\"canFinish() && getFinishTitle()?.length > 0\" (click)=\"finish()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('finish')\">\n {{ getFinishTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #collapseButton>\n <button *ngIf=\"canCollapse()\" color=\"primary\" (click)=\"collapse()\" mat-stroked-button color=\"primary\">\n {{ 'tasks.view.collapse' | translate | uppercase }}</button>\n</ng-template>\n", styles: [".task-panel-icon{margin-right:8px}.task-panel-footer{border-top:1px solid rgba(0,0,0,.03);padding:5px 24px}.task-panel-body{padding:10px 24px}.paper-view{margin:auto}.width-100{width:100%}.text-column-ellipsis{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.text-column-word-wrap{word-break:break-word!important;white-space:pre-line!important}.text-column-div{min-width:0;width:0}.text-column-margin{margin-right:15px;line-height:24px}.panel-header-padding{padding:9px 0!important}.pre-line-dialog{white-space:pre-line!important}.action-row-spinner{box-sizing:border-box;width:20px;height:20px;display:inline;margin:auto 5px}@media only screen and (max-width: 959.99px){.task-panel-body{padding:10px 0}.task-panel-action-row{padding:8px}}\n"] }]
96
+ ], template: "<nc-app-panel [panelContent]=\"taskPanelContent\" [panelHeader]=\"taskPanelHeader\"\n (stopLoading)=\"stopLoading()\" (getExpansionPanelRef)=\"setPanelRef($event)\" [first]=\"first\" [last]=\"last\"\n [preventCollapse]='preventCollapse' [hidePanelHeader]='hidePanelHeader'>\n <ng-template #taskPanelHeader>\n <div fxLayoutAlign=\"start center\" fxLayout=\"row\" fxFlex=\"95\" (click)=\"preventSelectionClick($event)\">\n <div *ngFor=\"let field of featuredFieldsValues; let i = index\" fxFlex\n class=\"text-column-div\"\n [fxHide.lt-xl]=\"i >= 4 && responsiveBody && !overflowMode\"\n [fxHide.lt-lg]=\"i >= 3 && responsiveBody && !overflowMode\"\n [fxHide.lt-md]=\"i >= 2 && responsiveBody && !overflowMode\"\n [fxHide.lt-sm]=\"i >= 1 && responsiveBody && !overflowMode\"\n [ngClass]=\"{'panel-header-padding': !textEllipsis && field.type !== 'button'}\">\n <nc-panel-item\n [leadingIcon]=\"taskPanelData.task.icon\"\n [leadingIconEnabled]=\"i === 0\"\n [featuredValue]=\"field\"\n [textEllipsis]=\"textEllipsis\">\n </nc-panel-item>\n </div>\n </div>\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxFlex=\"5\">\n <button mat-icon-button (click)=\"preventPanelOpen($event)\"\n *ngIf=\"!isLoading && showMoreMenu && (canAssign() || canDo('delegate') || canReassign() || canCancel() || canFinish())\"\n [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngIf=\"canAssign()\" (click)=\"assign()\" [disabled]=\"canDisable('assign')\">\n <mat-icon>person</mat-icon>\n <span>{{ getAssignTitle() | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canDo('delegate')\" (click)=\"delegate()\"\n [disabled]=\"canDisable('delegate')\">\n <mat-icon>person_outline</mat-icon>\n <span>{{ getDelegateTitle() | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canReassign()\" (click)=\"delegate()\" [disabled]=\"canDisable('reassign')\">\n <mat-icon>person_add</mat-icon>\n <span>{{ 'tasks.view.reassign' | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canCancel()\" (click)=\"cancel()\" [disabled]=\"canDisable('cancel')\">\n <mat-icon>cancel</mat-icon>\n <span>{{ getCancelTitle() | translate}}</span>\n </button>\n <button mat-menu-item *ngIf=\"canFinish()\" (click)=\"finish()\" [disabled]=\"canDisable('finish')\">\n <mat-icon>done</mat-icon>\n <span>{{ getFinishTitle() | translate}}</span>\n </button>\n </mat-menu>\n <mat-spinner *ngIf=\"isLoading\" [diameter]=\"30\"></mat-spinner>\n </div>\n </ng-template>\n <ng-template #taskPanelContent>\n <div class=\"panel-main-content\" fxLayout=\"column\"\n [ngStyle]=\"(isForceOpen() && {'min-height': getContentMinHeight()}) || null\">\n <div class=\"task-panel-body\" [ngClass]=\"{'paper-view': isPaperView()}\" fxFlex=\"100\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </div>\n <mat-action-row *ngIf=\"!hideActionRow\" fxLayout.lt-sm=\"column\" [ngStyle]=\"{'justify-content': actionRowJustifyContent ?? 'flex-end' }\">\n <mat-spinner class='action-row-spinner' *ngIf=\"isLoading && hidePanelHeader\"\n [diameter]=\"20\"></mat-spinner>\n <div fxLayoutAlign.lt-sm=\"center stretch\" ngClass.lt-sm=\"width-100\"\n *ngFor='let button of (!!actionButtonTemplates && actionButtonTemplates.length > 0 ?\n actionButtonTemplates : [assignButton, delegateButton, reassignButton, cancelButton, finishButton, collapseButton])'>\n <ng-container *ngTemplateOutlet='button; context:thisContext'></ng-container>\n </div>\n </mat-action-row>\n </div>\n </ng-template>\n</nc-app-panel>\n\n<ng-template #assignButton>\n <button *ngIf=\"canAssign() && getAssignTitle()?.length > 0\" (click)=\"assign()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('assign')\">\n {{ getAssignTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #delegateButton>\n <button *ngIf=\"canDo('delegate') && getDelegateTitle()?.length > 0\" (click)=\"delegate()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('delegate')\">\n {{ getDelegateTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #reassignButton>\n <button *ngIf=\"canReassign()\" (click)=\"delegate()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('reassign')\">\n {{ 'tasks.view.reassign' | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #cancelButton>\n <button *ngIf=\"canCancel() && getCancelTitle()?.length > 0\" (click)=\"cancel()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('cancel')\">\n {{ getCancelTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #finishButton>\n <button *ngIf=\"canFinish() && getFinishTitle()?.length > 0\" (click)=\"finish()\" mat-stroked-button color=\"primary\" [disabled]=\"canDisable('finish')\">\n {{ getFinishTitle() | translate | uppercase }}</button>\n</ng-template>\n\n<ng-template #collapseButton>\n <button *ngIf=\"canCollapse()\" color=\"primary\" (click)=\"collapse()\" mat-stroked-button color=\"primary\">\n {{ 'tasks.view.collapse' | translate | uppercase }}</button>\n</ng-template>\n", styles: [".task-panel-icon{margin-right:8px}.task-panel-footer{border-top:1px solid rgba(0,0,0,.03);padding:5px 24px}.task-panel-body{padding:10px 24px}.paper-view{margin:auto}.width-100{width:100%}.text-column-ellipsis{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.text-column-word-wrap{word-break:break-word!important;white-space:pre-line!important}.text-column-div{min-width:0;width:0}.text-column-margin{margin-right:15px;line-height:24px}.panel-header-padding{padding:9px 0!important}.pre-line-dialog{white-space:pre-line!important}.action-row-spinner{box-sizing:border-box;width:20px;height:20px;display:inline;margin:auto 5px}@media only screen and (max-width: 959.99px){.task-panel-body{padding:10px 0}.task-panel-action-row{padding:8px}}\n"] }]
95
97
  }], ctorParameters: function () { return [{ type: i1.TaskContentService }, { type: i1.LoggerService }, { type: i1.TaskViewService }, { type: i1.PaperViewService }, { type: i1.TaskEventService }, { type: i1.AssignTaskService }, { type: i1.DelegateTaskService }, { type: i1.CancelTaskService }, { type: i1.FinishTaskService }, { type: i1.TaskRequestStateService }, { type: i1.TaskDataService }, { type: i1.AssignPolicyService }, { type: i1.FinishPolicyService }, { type: i1.CallChainService }, { type: i2.TranslateService }, { type: i1.SubjectTaskOperations, decorators: [{
96
98
  type: Inject,
97
99
  args: [NAE_TASK_OPERATIONS]
@@ -113,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
113
115
  type: Inject,
114
116
  args: [NAE_TASK_FORCE_OPEN]
115
117
  }] }]; } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9wYW5lbC90YXNrLXBhbmVsL3Rhc2stcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvcGFuZWwvdGFzay1wYW5lbC90YXNrLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsMkJBQTJCLEVBRTNCLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUVuQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBRWpCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsdUNBQXVDLEVBSXZDLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBRTFCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0RBQXdELENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQXdCNUYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLDBCQUEwQjtJQUU5RCxZQUFzQixtQkFBdUMsRUFDdkMsSUFBbUIsRUFDbkIsZ0JBQWlDLEVBQ2pDLFVBQTRCLEVBQzVCLGlCQUFtQyxFQUNuQyxrQkFBcUMsRUFDckMsb0JBQXlDLEVBQ3pDLGtCQUFxQyxFQUNyQyxrQkFBcUMsRUFDckMsVUFBbUMsRUFDbkMsZ0JBQWlDLEVBQ2pDLG9CQUF5QyxFQUN6QyxvQkFBeUMsRUFDekMsVUFBNEIsRUFDNUIsVUFBNEIsRUFDVCxlQUFzQyxFQUNJLGlCQUF3QyxFQUNwRCxTQUFrQixFQUNuRSxlQUF5QixFQUN6QixhQUEyQixFQUMzQixxQkFBMkMsRUFDM0Msa0JBQXFDLEVBQ25DLGVBQWdDLEVBQ08sY0FBdUI7UUFDbEYsS0FBSyxDQUFDLG1CQUFtQixFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQ2hHLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFDMUYsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUM1SSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7UUEzQnZDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ2pDLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBQ3pDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ2pDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUVpQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXVCO1FBQ3BELGNBQVMsR0FBVCxTQUFTLENBQVM7UUFDbkUsb0JBQWUsR0FBZixlQUFlLENBQVU7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFzQjtRQUMzQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBRUksbUJBQWMsR0FBZCxjQUFjLENBQVM7UUFLbEYsSUFBSSxjQUFjLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBRVMsbUJBQW1CO1FBQ3pCLE1BQU0sU0FBUyxHQUEwQjtZQUNyQyxFQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFDO1lBQ2pFLEVBQUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFDO1NBQ25FLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFDLENBQUMsQ0FBQztRQUU1RSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxTQUFTLEVBQUU7WUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDM0U7YUFBTTtZQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNqRjtJQUNMLENBQUM7O2dIQS9DUSxrQkFBa0Isa2dCQWlCUCxtQkFBbUIsYUFDUCx1Q0FBdUMsNkJBQ3ZDLDJCQUEyQixxTUFNM0IsbUJBQW1CO29HQXpCMUMsa0JBQWtCLHdDQWhCaEI7UUFDUCxFQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUM7UUFDakUsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLHNCQUFzQjtRQUN0QixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixFQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUM7S0FDbEUsaURDcERMLG8rTEFvR0E7NEZEOUNhLGtCQUFrQjtrQkFwQjlCLFNBQVM7K0JBQ0ksZUFBZSxhQUdkO3dCQUNQLEVBQUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBQzt3QkFDakUsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBQztxQkFDbEU7OzBCQW1CWSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsdUNBQXVDOzswQkFDMUQsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywyQkFBMkI7OzBCQUs5QyxRQUFROzswQkFDUixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbCwgU3RhdGljUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnRQb3J0YWx9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFRhc2tQYW5lbENvbXBvbmVudCxcbiAgICBBc3NpZ25Qb2xpY3lTZXJ2aWNlLFxuICAgIEFzc2lnblRhc2tTZXJ2aWNlLFxuICAgIEJPT0xFQU5fVkFMVUVfTEFCRUxfRU5BQkxFRCxcbiAgICBDYWxsQ2hhaW5TZXJ2aWNlLFxuICAgIENhbmNlbFRhc2tTZXJ2aWNlLFxuICAgIENoYW5nZWRGaWVsZHNTZXJ2aWNlLFxuICAgIERhdGFGb2N1c1BvbGljeVNlcnZpY2UsXG4gICAgRGVsZWdhdGVUYXNrU2VydmljZSxcbiAgICBEaXNhYmxlQnV0dG9uRnVudGlvbnMsXG4gICAgRmluaXNoUG9saWN5U2VydmljZSxcbiAgICBGaW5pc2hUYXNrU2VydmljZSxcbiAgICBMb2dnZXJTZXJ2aWNlLFxuICAgIE5BRV9UQVNLX0ZPUkNFX09QRU4sXG4gICAgTkFFX1RBU0tfT1BFUkFUSU9OUyxcbiAgICBOQUVfVEFTS19QQU5FTF9ESVNBQkxFX0JVVFRPTl9GVU5DVElPTlMsXG4gICAgT3ZlcmZsb3dTZXJ2aWNlLFxuICAgIFBhcGVyVmlld1NlcnZpY2UsXG4gICAgUGVybWlzc2lvblNlcnZpY2UsXG4gICAgU2luZ2xlVGFza0NvbnRlbnRTZXJ2aWNlLFxuICAgIFN1YmplY3RUYXNrT3BlcmF0aW9ucyxcbiAgICBUYXNrQ29udGVudFNlcnZpY2UsXG4gICAgVGFza0RhdGFTZXJ2aWNlLFxuICAgIFRhc2tFdmVudFNlcnZpY2UsXG4gICAgVGFza1JlcXVlc3RTdGF0ZVNlcnZpY2UsXG4gICAgVGFza1ZpZXdTZXJ2aWNlXG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge1Rhc2tDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi90YXNrLWNvbnRlbnQvdGFzay1jb250ZW50L3Rhc2stY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q3VycmVuY3lQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLXRhc2stcGFuZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YXNrLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YXNrLXBhbmVsLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtwcm92aWRlOiBUYXNrQ29udGVudFNlcnZpY2UsIHVzZUNsYXNzOiBTaW5nbGVUYXNrQ29udGVudFNlcnZpY2V9LFxuICAgICAgICBUYXNrRGF0YVNlcnZpY2UsXG4gICAgICAgIFRhc2tFdmVudFNlcnZpY2UsXG4gICAgICAgIEFzc2lnblRhc2tTZXJ2aWNlLFxuICAgICAgICBEZWxlZ2F0ZVRhc2tTZXJ2aWNlLFxuICAgICAgICBDYW5jZWxUYXNrU2VydmljZSxcbiAgICAgICAgRmluaXNoVGFza1NlcnZpY2UsXG4gICAgICAgIFRhc2tSZXF1ZXN0U3RhdGVTZXJ2aWNlLFxuICAgICAgICBEYXRhRm9jdXNQb2xpY3lTZXJ2aWNlLFxuICAgICAgICBBc3NpZ25Qb2xpY3lTZXJ2aWNlLFxuICAgICAgICBGaW5pc2hQb2xpY3lTZXJ2aWNlLFxuICAgICAgICBDaGFuZ2VkRmllbGRzU2VydmljZSxcbiAgICAgICAge3Byb3ZpZGU6IE5BRV9UQVNLX09QRVJBVElPTlMsIHVzZUNsYXNzOiBTdWJqZWN0VGFza09wZXJhdGlvbnN9LFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGFza1BhbmVsQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUYXNrUGFuZWxDb21wb25lbnQge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrQ29udGVudFNlcnZpY2U6IFRhc2tDb250ZW50U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tWaWV3U2VydmljZTogVGFza1ZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcGFwZXJWaWV3OiBQYXBlclZpZXdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza0V2ZW50U2VydmljZTogVGFza0V2ZW50U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2Fzc2lnblRhc2tTZXJ2aWNlOiBBc3NpZ25UYXNrU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2RlbGVnYXRlVGFza1NlcnZpY2U6IERlbGVnYXRlVGFza1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jYW5jZWxUYXNrU2VydmljZTogQ2FuY2VsVGFza1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9maW5pc2hUYXNrU2VydmljZTogRmluaXNoVGFza1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90YXNrU3RhdGU6IFRhc2tSZXF1ZXN0U3RhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza0RhdGFTZXJ2aWNlOiBUYXNrRGF0YVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9hc3NpZ25Qb2xpY3lTZXJ2aWNlOiBBc3NpZ25Qb2xpY3lTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZmluaXNoUG9saWN5U2VydmljZTogRmluaXNoUG9saWN5U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NhbGxDaGFpbjogQ2FsbENoYWluU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KE5BRV9UQVNLX09QRVJBVElPTlMpIF90YXNrT3BlcmF0aW9uczogU3ViamVjdFRhc2tPcGVyYXRpb25zLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX1RBU0tfUEFORUxfRElTQUJMRV9CVVRUT05fRlVOQ1RJT05TKSBwcm90ZWN0ZWQgX2Rpc2FibGVGdW5jdGlvbnM6IERpc2FibGVCdXR0b25GdW50aW9ucyxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEJPT0xFQU5fVkFMVUVfTEFCRUxfRU5BQkxFRCkgcHJvdGVjdGVkIGlzRW5hYmxlZDogYm9vbGVhbixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3BhcmVudEluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2N1cnJlbmN5UGlwZTogQ3VycmVuY3lQaXBlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2hhbmdlZEZpZWxkc1NlcnZpY2U6IENoYW5nZWRGaWVsZHNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIG92ZXJmbG93U2VydmljZTogT3ZlcmZsb3dTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX1RBU0tfRk9SQ0VfT1BFTikgcHJvdGVjdGVkIF90YXNrRm9yY2VPcGVuOiBib29sZWFuKSB7XG4gICAgICAgIHN1cGVyKF90YXNrQ29udGVudFNlcnZpY2UsIF9sb2csIF90YXNrVmlld1NlcnZpY2UsIF9wYXBlclZpZXcsIF90YXNrRXZlbnRTZXJ2aWNlLCBfYXNzaWduVGFza1NlcnZpY2UsXG4gICAgICAgICAgICBfZGVsZWdhdGVUYXNrU2VydmljZSwgX2NhbmNlbFRhc2tTZXJ2aWNlLCBfZmluaXNoVGFza1NlcnZpY2UsIF90YXNrU3RhdGUsIF90YXNrRGF0YVNlcnZpY2UsXG4gICAgICAgICAgICBfYXNzaWduUG9saWN5U2VydmljZSwgX2ZpbmlzaFBvbGljeVNlcnZpY2UsIF9jYWxsQ2hhaW4sIF90YXNrT3BlcmF0aW9ucywgX2Rpc2FibGVGdW5jdGlvbnMsIF90cmFuc2xhdGUsIF9jdXJyZW5jeVBpcGUsIF9jaGFuZ2VkRmllbGRzU2VydmljZSxcbiAgICAgICAgICAgIF9wZXJtaXNzaW9uU2VydmljZSwgb3ZlcmZsb3dTZXJ2aWNlLCBfdGFza0ZvcmNlT3Blbik7XG4gICAgICAgIGlmIChfdGFza0ZvcmNlT3Blbikge1xuICAgICAgICAgICAgdGhpcy5oaWRlUGFuZWxIZWFkZXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRlbnRQb3J0YWwoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVyczogQXJyYXk8U3RhdGljUHJvdmlkZXI+ID0gW1xuICAgICAgICAgICAge3Byb3ZpZGU6IFRhc2tDb250ZW50U2VydmljZSwgdXNlVmFsdWU6IHRoaXMuX3Rhc2tDb250ZW50U2VydmljZX0sXG4gICAgICAgICAgICB7cHJvdmlkZTogQk9PTEVBTl9WQUxVRV9MQUJFTF9FTkFCTEVELCB1c2VWYWx1ZTogdGhpcy5pc0VuYWJsZWR9XG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtwcm92aWRlcnMsIHBhcmVudDogdGhpcy5fcGFyZW50SW5qZWN0b3J9KTtcblxuICAgICAgICBpZiAodGhpcy5wYW5lbENvbnRlbnRDb21wb25lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFRhc2tDb250ZW50Q29tcG9uZW50LCBudWxsLCBpbmplY3Rvcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5wYW5lbENvbnRlbnRDb21wb25lbnQsIG51bGwsIGluamVjdG9yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuYy1hcHAtcGFuZWwgW3BhbmVsQ29udGVudF09XCJ0YXNrUGFuZWxDb250ZW50XCIgW3BhbmVsSGVhZGVyXT1cInRhc2tQYW5lbEhlYWRlclwiXG4gICAgICAgICAgICAgIChzdG9wTG9hZGluZyk9XCJzdG9wTG9hZGluZygpXCIgKGdldEV4cGFuc2lvblBhbmVsUmVmKT1cInNldFBhbmVsUmVmKCRldmVudClcIiBbZmlyc3RdPVwiZmlyc3RcIiBbbGFzdF09XCJsYXN0XCJcbiAgICAgICAgICAgICAgW3ByZXZlbnRDb2xsYXBzZV09J3ByZXZlbnRDb2xsYXBzZScgW2hpZGVQYW5lbEhlYWRlcl09J2hpZGVQYW5lbEhlYWRlcic+XG4gICAgPG5nLXRlbXBsYXRlICN0YXNrUGFuZWxIZWFkZXI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4PVwiOTVcIiAoY2xpY2spPVwicHJldmVudFNlbGVjdGlvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZlYXR1cmVkRmllbGRzVmFsdWVzOyBsZXQgaSA9IGluZGV4XCIgZnhGbGV4XG4gICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1jb2x1bW4tZGl2XCJcbiAgICAgICAgICAgICAgICAgW2Z4SGlkZS5sdC14bF09XCJpID49IDQgJiYgcmVzcG9uc2l2ZUJvZHkgJiYgIW92ZXJmbG93TW9kZVwiXG4gICAgICAgICAgICAgICAgIFtmeEhpZGUubHQtbGddPVwiaSA+PSAzICYmIHJlc3BvbnNpdmVCb2R5ICYmICFvdmVyZmxvd01vZGVcIlxuICAgICAgICAgICAgICAgICBbZnhIaWRlLmx0LW1kXT1cImkgPj0gMiAmJiByZXNwb25zaXZlQm9keSAmJiAhb3ZlcmZsb3dNb2RlXCJcbiAgICAgICAgICAgICAgICAgW2Z4SGlkZS5sdC1zbV09XCJpID49IDEgJiYgcmVzcG9uc2l2ZUJvZHkgJiYgIW92ZXJmbG93TW9kZVwiXG4gICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncGFuZWwtaGVhZGVyLXBhZGRpbmcnOiAhdGV4dEVsbGlwc2lzICYmIGZpZWxkLnR5cGUgIT09ICdidXR0b24nfVwiPlxuICAgICAgICAgICAgICAgIDxuYy1wYW5lbC1pdGVtXG4gICAgICAgICAgICAgICAgICAgIFtsZWFkaW5nSWNvbl09XCJ0YXNrUGFuZWxEYXRhLnRhc2suaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtsZWFkaW5nSWNvbkVuYWJsZWRdPVwiaSA9PT0gMFwiXG4gICAgICAgICAgICAgICAgICAgIFtmZWF0dXJlZFZhbHVlXT1cImZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgW3RleHRFbGxpcHNpc109XCJ0ZXh0RWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICA8L25jLXBhbmVsLWl0ZW0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiIGZ4RmxleD1cIjVcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJwcmV2ZW50UGFuZWxPcGVuKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc0xvYWRpbmcgJiYgc2hvd01vcmVNZW51ICYmIChjYW5Bc3NpZ24oKSB8fCBjYW5EbygnZGVsZWdhdGUnKSB8fCBjYW5SZWFzc2lnbigpIHx8IGNhbkNhbmNlbCgpIHx8IGNhbkZpbmlzaCgpKVwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJjYW5Bc3NpZ24oKVwiIChjbGljayk9XCJhc3NpZ24oKVwiIFtkaXNhYmxlZF09XCJjYW5EaXNhYmxlKCdhc3NpZ24nKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+cGVyc29uPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZ2V0QXNzaWduVGl0bGUoKSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdJZj1cImNhbkRvKCdkZWxlZ2F0ZScpXCIgKGNsaWNrKT1cImRlbGVnYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNhbkRpc2FibGUoJ2RlbGVnYXRlJylcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnBlcnNvbl9vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZ2V0RGVsZWdhdGVUaXRsZSgpIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0lmPVwiY2FuUmVhc3NpZ24oKVwiIChjbGljayk9XCJkZWxlZ2F0ZSgpXCIgW2Rpc2FibGVkXT1cImNhbkRpc2FibGUoJ3JlYXNzaWduJylcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnBlcnNvbl9hZGQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyAndGFza3Mudmlldy5yZWFzc2lnbicgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJjYW5DYW5jZWwoKVwiIChjbGljayk9XCJjYW5jZWwoKVwiIFtkaXNhYmxlZF09XCJjYW5EaXNhYmxlKCdjYW5jZWwnKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZ2V0Q2FuY2VsVGl0bGUoKSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdJZj1cImNhbkZpbmlzaCgpXCIgKGNsaWNrKT1cImZpbmlzaCgpXCIgW2Rpc2FibGVkXT1cImNhbkRpc2FibGUoJ2ZpbmlzaCcpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kb25lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZ2V0RmluaXNoVGl0bGUoKSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cImlzTG9hZGluZ1wiIFtkaWFtZXRlcl09XCIzMFwiPjwvbWF0LXNwaW5uZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICN0YXNrUGFuZWxDb250ZW50PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwtbWFpbi1jb250ZW50XCIgZnhMYXlvdXQ9XCJjb2x1bW5cIlxuICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIihpc0ZvcmNlT3BlbigpICYmIHsnbWluLWhlaWdodCc6IGdldENvbnRlbnRNaW5IZWlnaHQoKX0pIHx8IG51bGxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YXNrLXBhbmVsLWJvZHlcIiBbbmdDbGFzc109XCJ7J3BhcGVyLXZpZXcnOiBpc1BhcGVyVmlldygpfVwiIGZ4RmxleD1cIjEwMFwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxtYXQtYWN0aW9uLXJvdyBmeExheW91dC5sdC1zbT1cImNvbHVtblwiIFtuZ1N0eWxlXT1cInsnanVzdGlmeS1jb250ZW50JzogYWN0aW9uUm93SnVzdGlmeUNvbnRlbnQgPz8gJ2ZsZXgtZW5kJyB9XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zcGlubmVyIGNsYXNzPSdhY3Rpb24tcm93LXNwaW5uZXInICpuZ0lmPVwiaXNMb2FkaW5nICYmIGhpZGVQYW5lbEhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaWFtZXRlcl09XCIyMFwiPjwvbWF0LXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgPGRpdiBmeExheW91dEFsaWduLmx0LXNtPVwiY2VudGVyIHN0cmV0Y2hcIiBuZ0NsYXNzLmx0LXNtPVwid2lkdGgtMTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj0nbGV0IGJ1dHRvbiBvZiAoISFhY3Rpb25CdXR0b25UZW1wbGF0ZXMgJiYgYWN0aW9uQnV0dG9uVGVtcGxhdGVzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb25CdXR0b25UZW1wbGF0ZXMgOiBbYXNzaWduQnV0dG9uLCBkZWxlZ2F0ZUJ1dHRvbiwgcmVhc3NpZ25CdXR0b24sIGNhbmNlbEJ1dHRvbiwgZmluaXNoQnV0dG9uLCBjb2xsYXBzZUJ1dHRvbl0pJz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD0nYnV0dG9uOyBjb250ZXh0OnRoaXNDb250ZXh0Jz48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWFjdGlvbi1yb3c+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25jLWFwcC1wYW5lbD5cblxuPG5nLXRlbXBsYXRlICNhc3NpZ25CdXR0b24+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImNhbkFzc2lnbigpICYmIGdldEFzc2lnblRpdGxlKCk/Lmxlbmd0aCA+IDBcIiAoY2xpY2spPVwiYXNzaWduKClcIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImNhbkRpc2FibGUoJ2Fzc2lnbicpXCI+XG4gICAgICAgIHt7IGdldEFzc2lnblRpdGxlKCkgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVsZWdhdGVCdXR0b24+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImNhbkRvKCdkZWxlZ2F0ZScpICYmIGdldERlbGVnYXRlVGl0bGUoKT8ubGVuZ3RoID4gMFwiIChjbGljayk9XCJkZWxlZ2F0ZSgpXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJjYW5EaXNhYmxlKCdkZWxlZ2F0ZScpXCI+XG4gICAgICAgIHt7IGdldERlbGVnYXRlVGl0bGUoKSB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZSB9fTwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNyZWFzc2lnbkJ1dHRvbj5cbiAgICA8YnV0dG9uICpuZ0lmPVwiY2FuUmVhc3NpZ24oKVwiIChjbGljayk9XCJkZWxlZ2F0ZSgpXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJjYW5EaXNhYmxlKCdyZWFzc2lnbicpXCI+XG4gICAgICAgIHt7ICd0YXNrcy52aWV3LnJlYXNzaWduJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZSB9fTwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjYW5jZWxCdXR0b24+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImNhbkNhbmNlbCgpICYmIGdldENhbmNlbFRpdGxlKCk/Lmxlbmd0aCA+IDBcIiAoY2xpY2spPVwiY2FuY2VsKClcIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImNhbkRpc2FibGUoJ2NhbmNlbCcpXCI+XG4gICAgICAgIHt7IGdldENhbmNlbFRpdGxlKCkgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZmluaXNoQnV0dG9uPlxuICAgIDxidXR0b24gKm5nSWY9XCJjYW5GaW5pc2goKSAmJiBnZXRGaW5pc2hUaXRsZSgpPy5sZW5ndGggPiAwXCIgKGNsaWNrKT1cImZpbmlzaCgpXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJjYW5EaXNhYmxlKCdmaW5pc2gnKVwiPlxuICAgICAgICB7eyBnZXRGaW5pc2hUaXRsZSgpIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbGxhcHNlQnV0dG9uPlxuICAgIDxidXR0b24gKm5nSWY9XCJjYW5Db2xsYXBzZSgpXCIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNvbGxhcHNlKClcIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgIHt7ICd0YXNrcy52aWV3LmNvbGxhcHNlJyB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZSB9fTwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9wYW5lbC90YXNrLXBhbmVsL3Rhc2stcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvcGFuZWwvdGFzay1wYW5lbC90YXNrLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsMkJBQTJCLEVBRTNCLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUVuQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBRWpCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsdUNBQXVDLEVBSXZDLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBRXZCLGtCQUFrQixFQUNyQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHdEQUF3RCxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUF5QjVGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSwwQkFBMEI7SUFFOUQsWUFBc0IsbUJBQXVDLEVBQ3ZDLElBQW1CLEVBQ25CLGdCQUFpQyxFQUNqQyxVQUE0QixFQUM1QixpQkFBbUMsRUFDbkMsa0JBQXFDLEVBQ3JDLG9CQUF5QyxFQUN6QyxrQkFBcUMs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QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFDO1FBQ2pFLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixtQkFBbUI7UUFDbkIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBQztLQUNsRSxpREN0REwsNi9MQW9HQTs0RkQ1Q2Esa0JBQWtCO2tCQXJCOUIsU0FBUzsrQkFDSSxlQUFlLGFBR2Q7d0JBQ1AsRUFBQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFDO3dCQUNqRSxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixFQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUM7cUJBQ2xFOzswQkFtQlksTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUMxQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHVDQUF1Qzs7MEJBQzFELFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsMkJBQTJCOzswQkFLOUMsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgT3B0aW9uYWwsIFN0YXRpY1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUYXNrUGFuZWxDb21wb25lbnQsXG4gICAgQXNzaWduUG9saWN5U2VydmljZSxcbiAgICBBc3NpZ25UYXNrU2VydmljZSxcbiAgICBCT09MRUFOX1ZBTFVFX0xBQkVMX0VOQUJMRUQsXG4gICAgQ2FsbENoYWluU2VydmljZSxcbiAgICBDYW5jZWxUYXNrU2VydmljZSxcbiAgICBDaGFuZ2VkRmllbGRzU2VydmljZSxcbiAgICBEYXRhRm9jdXNQb2xpY3lTZXJ2aWNlLFxuICAgIERlbGVnYXRlVGFza1NlcnZpY2UsXG4gICAgRGlzYWJsZUJ1dHRvbkZ1bnRpb25zLFxuICAgIEZpbmlzaFBvbGljeVNlcnZpY2UsXG4gICAgRmluaXNoVGFza1NlcnZpY2UsXG4gICAgTG9nZ2VyU2VydmljZSxcbiAgICBOQUVfVEFTS19GT1JDRV9PUEVOLFxuICAgIE5BRV9UQVNLX09QRVJBVElPTlMsXG4gICAgTkFFX1RBU0tfUEFORUxfRElTQUJMRV9CVVRUT05fRlVOQ1RJT05TLFxuICAgIE92ZXJmbG93U2VydmljZSxcbiAgICBQYXBlclZpZXdTZXJ2aWNlLFxuICAgIFBlcm1pc3Npb25TZXJ2aWNlLFxuICAgIFNpbmdsZVRhc2tDb250ZW50U2VydmljZSxcbiAgICBTdWJqZWN0VGFza09wZXJhdGlvbnMsXG4gICAgVGFza0NvbnRlbnRTZXJ2aWNlLFxuICAgIFRhc2tEYXRhU2VydmljZSxcbiAgICBUYXNrRXZlbnRTZXJ2aWNlLFxuICAgIFRhc2tSZXF1ZXN0U3RhdGVTZXJ2aWNlLFxuICAgIFRhc2tWaWV3U2VydmljZSxcbiAgICBGcm9udEFjdGlvblNlcnZpY2Vcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7VGFza0NvbnRlbnRDb21wb25lbnR9IGZyb20gJy4uLy4uL3Rhc2stY29udGVudC90YXNrLWNvbnRlbnQvdGFzay1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDdXJyZW5jeVBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtdGFzay1wYW5lbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rhc2stcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge3Byb3ZpZGU6IFRhc2tDb250ZW50U2VydmljZSwgdXNlQ2xhc3M6IFNpbmdsZVRhc2tDb250ZW50U2VydmljZX0sXG4gICAgICAgIFRhc2tEYXRhU2VydmljZSxcbiAgICAgICAgRnJvbnRBY3Rpb25TZXJ2aWNlLFxuICAgICAgICBUYXNrRXZlbnRTZXJ2aWNlLFxuICAgICAgICBBc3NpZ25UYXNrU2VydmljZSxcbiAgICAgICAgRGVsZWdhdGVUYXNrU2VydmljZSxcbiAgICAgICAgQ2FuY2VsVGFza1NlcnZpY2UsXG4gICAgICAgIEZpbmlzaFRhc2tTZXJ2aWNlLFxuICAgICAgICBUYXNrUmVxdWVzdFN0YXRlU2VydmljZSxcbiAgICAgICAgRGF0YUZvY3VzUG9saWN5U2VydmljZSxcbiAgICAgICAgQXNzaWduUG9saWN5U2VydmljZSxcbiAgICAgICAgRmluaXNoUG9saWN5U2VydmljZSxcbiAgICAgICAgQ2hhbmdlZEZpZWxkc1NlcnZpY2UsXG4gICAgICAgIHtwcm92aWRlOiBOQUVfVEFTS19PUEVSQVRJT05TLCB1c2VDbGFzczogU3ViamVjdFRhc2tPcGVyYXRpb25zfSxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tQYW5lbENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0VGFza1BhbmVsQ29tcG9uZW50IHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfdGFza0NvbnRlbnRTZXJ2aWNlOiBUYXNrQ29udGVudFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9sb2c6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90YXNrVmlld1NlcnZpY2U6IFRhc2tWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3BhcGVyVmlldzogUGFwZXJWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tFdmVudFNlcnZpY2U6IFRhc2tFdmVudFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9hc3NpZ25UYXNrU2VydmljZTogQXNzaWduVGFza1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9kZWxlZ2F0ZVRhc2tTZXJ2aWNlOiBEZWxlZ2F0ZVRhc2tTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2FuY2VsVGFza1NlcnZpY2U6IENhbmNlbFRhc2tTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZmluaXNoVGFza1NlcnZpY2U6IEZpbmlzaFRhc2tTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfdGFza1N0YXRlOiBUYXNrUmVxdWVzdFN0YXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Rhc2tEYXRhU2VydmljZTogVGFza0RhdGFTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfYXNzaWduUG9saWN5U2VydmljZTogQXNzaWduUG9saWN5U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2ZpbmlzaFBvbGljeVNlcnZpY2U6IEZpbmlzaFBvbGljeVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jYWxsQ2hhaW46IENhbGxDaGFpblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQEluamVjdChOQUVfVEFTS19PUEVSQVRJT05TKSBfdGFza09wZXJhdGlvbnM6IFN1YmplY3RUYXNrT3BlcmF0aW9ucyxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9UQVNLX1BBTkVMX0RJU0FCTEVfQlVUVE9OX0ZVTkNUSU9OUykgcHJvdGVjdGVkIF9kaXNhYmxlRnVuY3Rpb25zOiBEaXNhYmxlQnV0dG9uRnVudGlvbnMsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChCT09MRUFOX1ZBTFVFX0xBQkVMX0VOQUJMRUQpIHByb3RlY3RlZCBpc0VuYWJsZWQ6IGJvb2xlYW4sXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9wYXJlbnRJbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jdXJyZW5jeVBpcGU6IEN1cnJlbmN5UGlwZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2NoYW5nZWRGaWVsZHNTZXJ2aWNlOiBDaGFuZ2VkRmllbGRzU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3Blcm1pc3Npb25TZXJ2aWNlOiBQZXJtaXNzaW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBvdmVyZmxvd1NlcnZpY2U6IE92ZXJmbG93U2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9UQVNLX0ZPUkNFX09QRU4pIHByb3RlY3RlZCBfdGFza0ZvcmNlT3BlbjogYm9vbGVhbikge1xuICAgICAgICBzdXBlcihfdGFza0NvbnRlbnRTZXJ2aWNlLCBfbG9nLCBfdGFza1ZpZXdTZXJ2aWNlLCBfcGFwZXJWaWV3LCBfdGFza0V2ZW50U2VydmljZSwgX2Fzc2lnblRhc2tTZXJ2aWNlLFxuICAgICAgICAgICAgX2RlbGVnYXRlVGFza1NlcnZpY2UsIF9jYW5jZWxUYXNrU2VydmljZSwgX2ZpbmlzaFRhc2tTZXJ2aWNlLCBfdGFza1N0YXRlLCBfdGFza0RhdGFTZXJ2aWNlLFxuICAgICAgICAgICAgX2Fzc2lnblBvbGljeVNlcnZpY2UsIF9maW5pc2hQb2xpY3lTZXJ2aWNlLCBfY2FsbENoYWluLCBfdGFza09wZXJhdGlvbnMsIF9kaXNhYmxlRnVuY3Rpb25zLCBfdHJhbnNsYXRlLCBfY3VycmVuY3lQaXBlLCBfY2hhbmdlZEZpZWxkc1NlcnZpY2UsXG4gICAgICAgICAgICBfcGVybWlzc2lvblNlcnZpY2UsIG92ZXJmbG93U2VydmljZSwgX3Rhc2tGb3JjZU9wZW4pO1xuICAgICAgICBpZiAoX3Rhc2tGb3JjZU9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZVBhbmVsSGVhZGVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVDb250ZW50UG9ydGFsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcm92aWRlcnM6IEFycmF5PFN0YXRpY1Byb3ZpZGVyPiA9IFtcbiAgICAgICAgICAgIHtwcm92aWRlOiBUYXNrQ29udGVudFNlcnZpY2UsIHVzZVZhbHVlOiB0aGlzLl90YXNrQ29udGVudFNlcnZpY2V9LFxuICAgICAgICAgICAge3Byb3ZpZGU6IEJPT0xFQU5fVkFMVUVfTEFCRUxfRU5BQkxFRCwgdXNlVmFsdWU6IHRoaXMuaXNFbmFibGVkfVxuICAgICAgICBdO1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7cHJvdmlkZXJzLCBwYXJlbnQ6IHRoaXMuX3BhcmVudEluamVjdG9yfSk7XG5cbiAgICAgICAgaWYgKHRoaXMucGFuZWxDb250ZW50Q29tcG9uZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMucG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChUYXNrQ29udGVudENvbXBvbmVudCwgbnVsbCwgaW5qZWN0b3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHRoaXMucGFuZWxDb250ZW50Q29tcG9uZW50LCBudWxsLCBpbmplY3Rvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmMtYXBwLXBhbmVsIFtwYW5lbENvbnRlbnRdPVwidGFza1BhbmVsQ29udGVudFwiIFtwYW5lbEhlYWRlcl09XCJ0YXNrUGFuZWxIZWFkZXJcIlxuICAgICAgICAgICAgICAoc3RvcExvYWRpbmcpPVwic3RvcExvYWRpbmcoKVwiIChnZXRFeHBhbnNpb25QYW5lbFJlZik9XCJzZXRQYW5lbFJlZigkZXZlbnQpXCIgW2ZpcnN0XT1cImZpcnN0XCIgW2xhc3RdPVwibGFzdFwiXG4gICAgICAgICAgICAgIFtwcmV2ZW50Q29sbGFwc2VdPSdwcmV2ZW50Q29sbGFwc2UnIFtoaWRlUGFuZWxIZWFkZXJdPSdoaWRlUGFuZWxIZWFkZXInPlxuICAgIDxuZy10ZW1wbGF0ZSAjdGFza1BhbmVsSGVhZGVyPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeExheW91dD1cInJvd1wiIGZ4RmxleD1cIjk1XCIgKGNsaWNrKT1cInByZXZlbnRTZWxlY3Rpb25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmZWF0dXJlZEZpZWxkc1ZhbHVlczsgbGV0IGkgPSBpbmRleFwiIGZ4RmxleFxuICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtY29sdW1uLWRpdlwiXG4gICAgICAgICAgICAgICAgIFtmeEhpZGUubHQteGxdPVwiaSA+PSA0ICYmIHJlc3BvbnNpdmVCb2R5ICYmICFvdmVyZmxvd01vZGVcIlxuICAgICAgICAgICAgICAgICBbZnhIaWRlLmx0LWxnXT1cImkgPj0gMyAmJiByZXNwb25zaXZlQm9keSAmJiAhb3ZlcmZsb3dNb2RlXCJcbiAgICAgICAgICAgICAgICAgW2Z4SGlkZS5sdC1tZF09XCJpID49IDIgJiYgcmVzcG9uc2l2ZUJvZHkgJiYgIW92ZXJmbG93TW9kZVwiXG4gICAgICAgICAgICAgICAgIFtmeEhpZGUubHQtc21dPVwiaSA+PSAxICYmIHJlc3BvbnNpdmVCb2R5ICYmICFvdmVyZmxvd01vZGVcIlxuICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3BhbmVsLWhlYWRlci1wYWRkaW5nJzogIXRleHRFbGxpcHNpcyAmJiBmaWVsZC50eXBlICE9PSAnYnV0dG9uJ31cIj5cbiAgICAgICAgICAgICAgICA8bmMtcGFuZWwtaXRlbVxuICAgICAgICAgICAgICAgICAgICBbbGVhZGluZ0ljb25dPVwidGFza1BhbmVsRGF0YS50YXNrLmljb25cIlxuICAgICAgICAgICAgICAgICAgICBbbGVhZGluZ0ljb25FbmFibGVkXT1cImkgPT09IDBcIlxuICAgICAgICAgICAgICAgICAgICBbZmVhdHVyZWRWYWx1ZV09XCJmaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgIFt0ZXh0RWxsaXBzaXNdPVwidGV4dEVsbGlwc2lzXCI+XG4gICAgICAgICAgICAgICAgPC9uYy1wYW5lbC1pdGVtPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIiBmeEZsZXg9XCI1XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicHJldmVudFBhbmVsT3BlbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNMb2FkaW5nICYmIHNob3dNb3JlTWVudSAmJiAoY2FuQXNzaWduKCkgfHwgY2FuRG8oJ2RlbGVnYXRlJykgfHwgY2FuUmVhc3NpZ24oKSB8fCBjYW5DYW5jZWwoKSB8fCBjYW5GaW5pc2goKSlcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0lmPVwiY2FuQXNzaWduKClcIiAoY2xpY2spPVwiYXNzaWduKClcIiBbZGlzYWJsZWRdPVwiY2FuRGlzYWJsZSgnYXNzaWduJylcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnBlcnNvbjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGdldEFzc2lnblRpdGxlKCkgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJjYW5EbygnZGVsZWdhdGUnKVwiIChjbGljayk9XCJkZWxlZ2F0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjYW5EaXNhYmxlKCdkZWxlZ2F0ZScpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5wZXJzb25fb3V0bGluZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGdldERlbGVnYXRlVGl0bGUoKSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdJZj1cImNhblJlYXNzaWduKClcIiAoY2xpY2spPVwiZGVsZWdhdGUoKVwiIFtkaXNhYmxlZF09XCJjYW5EaXNhYmxlKCdyZWFzc2lnbicpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5wZXJzb25fYWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgJ3Rhc2tzLnZpZXcucmVhc3NpZ24nIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0lmPVwiY2FuQ2FuY2VsKClcIiAoY2xpY2spPVwiY2FuY2VsKClcIiBbZGlzYWJsZWRdPVwiY2FuRGlzYWJsZSgnY2FuY2VsJylcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGdldENhbmNlbFRpdGxlKCkgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJjYW5GaW5pc2goKVwiIChjbGljayk9XCJmaW5pc2goKVwiIFtkaXNhYmxlZF09XCJjYW5EaXNhYmxlKCdmaW5pc2gnKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZG9uZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGdldEZpbmlzaFRpdGxlKCkgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8bWF0LXNwaW5uZXIgKm5nSWY9XCJpc0xvYWRpbmdcIiBbZGlhbWV0ZXJdPVwiMzBcIj48L21hdC1zcGlubmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjdGFza1BhbmVsQ29udGVudD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLW1haW4tY29udGVudFwiIGZ4TGF5b3V0PVwiY29sdW1uXCJcbiAgICAgICAgICAgICBbbmdTdHlsZV09XCIoaXNGb3JjZU9wZW4oKSAmJiB7J21pbi1oZWlnaHQnOiBnZXRDb250ZW50TWluSGVpZ2h0KCl9KSB8fCBudWxsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFzay1wYW5lbC1ib2R5XCIgW25nQ2xhc3NdPVwieydwYXBlci12aWV3JzogaXNQYXBlclZpZXcoKX1cIiBmeEZsZXg9XCIxMDBcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJwb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bWF0LWFjdGlvbi1yb3cgKm5nSWY9XCIhaGlkZUFjdGlvblJvd1wiIGZ4TGF5b3V0Lmx0LXNtPVwiY29sdW1uXCIgW25nU3R5bGVdPVwieydqdXN0aWZ5LWNvbnRlbnQnOiBhY3Rpb25Sb3dKdXN0aWZ5Q29udGVudCA/PyAnZmxleC1lbmQnIH1cIj5cbiAgICAgICAgICAgICAgICA8bWF0LXNwaW5uZXIgY2xhc3M9J2FjdGlvbi1yb3ctc3Bpbm5lcicgKm5nSWY9XCJpc0xvYWRpbmcgJiYgaGlkZVBhbmVsSGVhZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RpYW1ldGVyXT1cIjIwXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0QWxpZ24ubHQtc209XCJjZW50ZXIgc3RyZXRjaFwiIG5nQ2xhc3MubHQtc209XCJ3aWR0aC0xMDBcIlxuICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPSdsZXQgYnV0dG9uIG9mICghIWFjdGlvbkJ1dHRvblRlbXBsYXRlcyAmJiBhY3Rpb25CdXR0b25UZW1wbGF0ZXMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbkJ1dHRvblRlbXBsYXRlcyA6IFthc3NpZ25CdXR0b24sIGRlbGVnYXRlQnV0dG9uLCByZWFzc2lnbkJ1dHRvbiwgY2FuY2VsQnV0dG9uLCBmaW5pc2hCdXR0b24sIGNvbGxhcHNlQnV0dG9uXSknPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PSdidXR0b247IGNvbnRleHQ6dGhpc0NvbnRleHQnPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtYWN0aW9uLXJvdz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmMtYXBwLXBhbmVsPlxuXG48bmctdGVtcGxhdGUgI2Fzc2lnbkJ1dHRvbj5cbiAgICA8YnV0dG9uICpuZ0lmPVwiY2FuQXNzaWduKCkgJiYgZ2V0QXNzaWduVGl0bGUoKT8ubGVuZ3RoID4gMFwiIChjbGljayk9XCJhc3NpZ24oKVwiIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiY2FuRGlzYWJsZSgnYXNzaWduJylcIj5cbiAgICAgICAge3sgZ2V0QXNzaWduVGl0bGUoKSB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZSB9fTwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWxlZ2F0ZUJ1dHRvbj5cbiAgICA8YnV0dG9uICpuZ0lmPVwiY2FuRG8oJ2RlbGVnYXRlJykgJiYgZ2V0RGVsZWdhdGVUaXRsZSgpPy5sZW5ndGggPiAwXCIgKGNsaWNrKT1cImRlbGVnYXRlKClcIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImNhbkRpc2FibGUoJ2RlbGVnYXRlJylcIj5cbiAgICAgICAge3sgZ2V0RGVsZWdhdGVUaXRsZSgpIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3JlYXNzaWduQnV0dG9uPlxuICAgIDxidXR0b24gKm5nSWY9XCJjYW5SZWFzc2lnbigpXCIgKGNsaWNrKT1cImRlbGVnYXRlKClcIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImNhbkRpc2FibGUoJ3JlYXNzaWduJylcIj5cbiAgICAgICAge3sgJ3Rhc2tzLnZpZXcucmVhc3NpZ24nIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NhbmNlbEJ1dHRvbj5cbiAgICA8YnV0dG9uICpuZ0lmPVwiY2FuQ2FuY2VsKCkgJiYgZ2V0Q2FuY2VsVGl0bGUoKT8ubGVuZ3RoID4gMFwiIChjbGljayk9XCJjYW5jZWwoKVwiIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiY2FuRGlzYWJsZSgnY2FuY2VsJylcIj5cbiAgICAgICAge3sgZ2V0Q2FuY2VsVGl0bGUoKSB8IHRyYW5zbGF0ZSB8IHVwcGVyY2FzZSB9fTwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmaW5pc2hCdXR0b24+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImNhbkZpbmlzaCgpICYmIGdldEZpbmlzaFRpdGxlKCk/Lmxlbmd0aCA+IDBcIiAoY2xpY2spPVwiZmluaXNoKClcIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImNhbkRpc2FibGUoJ2ZpbmlzaCcpXCI+XG4gICAgICAgIHt7IGdldEZpbmlzaFRpdGxlKCkgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX08L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY29sbGFwc2VCdXR0b24+XG4gICAgPGJ1dHRvbiAqbmdJZj1cImNhbkNvbGxhcHNlKClcIiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY29sbGFwc2UoKVwiIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAge3sgJ3Rhc2tzLnZpZXcuY29sbGFwc2UnIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19PC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,5 +1,6 @@
1
1
  import { Component, Inject, Optional, } from '@angular/core';
2
- import { NAE_TAB_DATA, AbstractTaskListPaginationComponent } from '@netgrif/components-core';
2
+ import { NAE_TAB_DATA, NetgrifPaginatorIntl, AbstractTaskListPaginationComponent } from '@netgrif/components-core';
3
+ import { MatPaginatorIntl } from '@angular/material/paginator';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@netgrif/components-core";
5
6
  import * as i2 from "@angular/router";
@@ -20,14 +21,14 @@ export class TaskListPaginationComponent extends AbstractTaskListPaginationCompo
20
21
  }
21
22
  }
22
23
  TaskListPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TaskListPaginationComponent, deps: [{ token: i1.TaskViewService }, { token: i1.LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
23
- TaskListPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TaskListPaginationComponent, selector: "nc-task-list-pagination", usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxFlex>\n <ng-container *ngIf=\"tasks$ | async as tasks\">\n\n <div *ngIf=\"(loading$ | async) === false && tasks.length === 0\" fxLayout=\"column\" fxLayoutAlign=\"center center\"\n fxFlex>\n <mat-icon color=\"accent\">check_box</mat-icon>\n <span class=\"font-size-20\">{{ 'tasks.view.noTasksSatisfyingThisFilter' | translate }}</span>\n </div>\n\n <mat-accordion [multi]=\"allowMultiOpen\" class=\"full-width\" >\n <div class=\"fix-padding\">\n <nc-task-panel\n [textEllipsis]=\"textEllipsis\"\n *ngFor=\"let task of tasks | slice: (pageIndex) * pageSize : (pageIndex + 1) * pageSize;\n let i = index;\n let first = first;\n let last = last;\n trackBy: trackBy\"\n [taskPanelData]=\"task\" [selectedHeaders$]=\"selectedHeaders$\" [first]=\"first\" [last]=\"last\"\n [forceLoadDataOnOpen]=\"forceLoadDataOnOpen\"\n [responsiveBody]=\"responsiveBody\"\n (taskEvent)=\"emitTaskEvent($event)\"\n (panelRefOutput)=\"addToPanelRefs(task, $event)\"\n class=\"panel-expanded-spacing\">\n </nc-task-panel>\n\n <div *ngIf=\"loading$ | async\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <mat-spinner color=\"primary\" diameter=\"52\"></mat-spinner>\n </div>\n </div>\n </mat-accordion>\n <mat-paginator [length]=\"length\" [pageSize]=\"pageSize\" [pageIndex]=\"pageIndex\" color=\"primary\"\n [pageSizeOptions]=\"pageSizeOptions\" (page)=\"onPageChanged($event)\" showFirstLastButtons>\n </mat-paginator>\n </ng-container>\n</div>\n", styles: [".font-size-20{font-size:20px}.full-width{width:100%}.full-height{height:100%}.fix-padding{padding:0 1px}\n"], components: [{ type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.TaskPanelComponent, selector: "nc-task-panel" }, { type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ 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: 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: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i8.AsyncPipe, "translate": i10.TranslatePipe, "slice": i8.SlicePipe } });
24
+ TaskListPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TaskListPaginationComponent, selector: "nc-task-list-pagination", providers: [{ provide: MatPaginatorIntl, useClass: NetgrifPaginatorIntl }], usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxFlex>\n <ng-container *ngIf=\"tasks$ | async as tasks\">\n\n <div *ngIf=\"(loading$ | async) === false && tasks.length === 0\" fxLayout=\"column\" fxLayoutAlign=\"center center\"\n fxFlex>\n <mat-icon color=\"accent\">check_box</mat-icon>\n <span class=\"font-size-20\">{{ 'tasks.view.noTasksSatisfyingThisFilter' | translate }}</span>\n </div>\n\n <mat-accordion [multi]=\"allowMultiOpen\" class=\"full-width\" >\n <div class=\"fix-padding\">\n <nc-task-panel\n [textEllipsis]=\"textEllipsis\"\n *ngFor=\"let task of tasks | slice: (pageIndex) * pageSize : (pageIndex + 1) * pageSize;\n let i = index;\n let first = first;\n let last = last;\n trackBy: trackBy\"\n [taskPanelData]=\"task\" [selectedHeaders$]=\"selectedHeaders$\" [first]=\"first\" [last]=\"last\"\n [forceLoadDataOnOpen]=\"forceLoadDataOnOpen\"\n [responsiveBody]=\"responsiveBody\"\n (taskEvent)=\"emitTaskEvent($event)\"\n (panelRefOutput)=\"addToPanelRefs(task, $event)\"\n [showMoreMenu]=\"showMoreMenu\"\n class=\"panel-expanded-spacing\">\n </nc-task-panel>\n\n <div *ngIf=\"loading$ | async\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <mat-spinner color=\"primary\" diameter=\"52\"></mat-spinner>\n </div>\n </div>\n </mat-accordion>\n <mat-paginator [length]=\"length\" [pageSize]=\"pageSize\" [pageIndex]=\"pageIndex\" color=\"primary\" [disabled]=\"disabled\"\n [pageSizeOptions]=\"pageSizeOptions\" (page)=\"onPageChanged($event)\" showFirstLastButtons>\n </mat-paginator>\n </ng-container>\n</div>\n", styles: [".font-size-20{font-size:20px}.full-width{width:100%}.full-height{height:100%}.fix-padding{padding:0 1px}\n"], components: [{ type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.TaskPanelComponent, selector: "nc-task-panel" }, { type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ 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: 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: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i8.AsyncPipe, "translate": i10.TranslatePipe, "slice": i8.SlicePipe } });
24
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TaskListPaginationComponent, decorators: [{
25
26
  type: Component,
26
- args: [{ selector: 'nc-task-list-pagination', template: "<div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxFlex>\n <ng-container *ngIf=\"tasks$ | async as tasks\">\n\n <div *ngIf=\"(loading$ | async) === false && tasks.length === 0\" fxLayout=\"column\" fxLayoutAlign=\"center center\"\n fxFlex>\n <mat-icon color=\"accent\">check_box</mat-icon>\n <span class=\"font-size-20\">{{ 'tasks.view.noTasksSatisfyingThisFilter' | translate }}</span>\n </div>\n\n <mat-accordion [multi]=\"allowMultiOpen\" class=\"full-width\" >\n <div class=\"fix-padding\">\n <nc-task-panel\n [textEllipsis]=\"textEllipsis\"\n *ngFor=\"let task of tasks | slice: (pageIndex) * pageSize : (pageIndex + 1) * pageSize;\n let i = index;\n let first = first;\n let last = last;\n trackBy: trackBy\"\n [taskPanelData]=\"task\" [selectedHeaders$]=\"selectedHeaders$\" [first]=\"first\" [last]=\"last\"\n [forceLoadDataOnOpen]=\"forceLoadDataOnOpen\"\n [responsiveBody]=\"responsiveBody\"\n (taskEvent)=\"emitTaskEvent($event)\"\n (panelRefOutput)=\"addToPanelRefs(task, $event)\"\n class=\"panel-expanded-spacing\">\n </nc-task-panel>\n\n <div *ngIf=\"loading$ | async\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <mat-spinner color=\"primary\" diameter=\"52\"></mat-spinner>\n </div>\n </div>\n </mat-accordion>\n <mat-paginator [length]=\"length\" [pageSize]=\"pageSize\" [pageIndex]=\"pageIndex\" color=\"primary\"\n [pageSizeOptions]=\"pageSizeOptions\" (page)=\"onPageChanged($event)\" showFirstLastButtons>\n </mat-paginator>\n </ng-container>\n</div>\n", styles: [".font-size-20{font-size:20px}.full-width{width:100%}.full-height{height:100%}.fix-padding{padding:0 1px}\n"] }]
27
+ args: [{ selector: 'nc-task-list-pagination', providers: [{ provide: MatPaginatorIntl, useClass: NetgrifPaginatorIntl }], template: "<div fxLayout=\"column\" fxLayoutAlign=\"start center\" fxFlex>\n <ng-container *ngIf=\"tasks$ | async as tasks\">\n\n <div *ngIf=\"(loading$ | async) === false && tasks.length === 0\" fxLayout=\"column\" fxLayoutAlign=\"center center\"\n fxFlex>\n <mat-icon color=\"accent\">check_box</mat-icon>\n <span class=\"font-size-20\">{{ 'tasks.view.noTasksSatisfyingThisFilter' | translate }}</span>\n </div>\n\n <mat-accordion [multi]=\"allowMultiOpen\" class=\"full-width\" >\n <div class=\"fix-padding\">\n <nc-task-panel\n [textEllipsis]=\"textEllipsis\"\n *ngFor=\"let task of tasks | slice: (pageIndex) * pageSize : (pageIndex + 1) * pageSize;\n let i = index;\n let first = first;\n let last = last;\n trackBy: trackBy\"\n [taskPanelData]=\"task\" [selectedHeaders$]=\"selectedHeaders$\" [first]=\"first\" [last]=\"last\"\n [forceLoadDataOnOpen]=\"forceLoadDataOnOpen\"\n [responsiveBody]=\"responsiveBody\"\n (taskEvent)=\"emitTaskEvent($event)\"\n (panelRefOutput)=\"addToPanelRefs(task, $event)\"\n [showMoreMenu]=\"showMoreMenu\"\n class=\"panel-expanded-spacing\">\n </nc-task-panel>\n\n <div *ngIf=\"loading$ | async\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <mat-spinner color=\"primary\" diameter=\"52\"></mat-spinner>\n </div>\n </div>\n </mat-accordion>\n <mat-paginator [length]=\"length\" [pageSize]=\"pageSize\" [pageIndex]=\"pageIndex\" color=\"primary\" [disabled]=\"disabled\"\n [pageSizeOptions]=\"pageSizeOptions\" (page)=\"onPageChanged($event)\" showFirstLastButtons>\n </mat-paginator>\n </ng-container>\n</div>\n", styles: [".font-size-20{font-size:20px}.full-width{width:100%}.full-height{height:100%}.fix-padding{padding:0 1px}\n"] }]
27
28
  }], ctorParameters: function () { return [{ type: i1.TaskViewService }, { type: i1.LoggerService }, { type: undefined, decorators: [{
28
29
  type: Optional
29
30
  }, {
30
31
  type: Inject,
31
32
  args: [NAE_TAB_DATA]
32
33
  }] }, { type: i2.ActivatedRoute }]; } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvcGFuZWwvdGFzay1wYW5lbC1saXN0LXBhZ2luYXRpb24vdGFzay1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvcGFuZWwvdGFzay1wYW5lbC1saXN0LXBhZ2luYXRpb24vdGFzay1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHSCxZQUFZLEVBRVosbUNBQW1DLEVBQ3RDLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7OztBQVFsQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUNBQW1DO0lBQ2hGLFlBQXNCLGdCQUFpQyxFQUNqQyxJQUFtQixFQUNLLGVBQWdDLEVBQ3hELEtBQXNCO1FBQ3hDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSnBDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUVuQixVQUFLLEdBQUwsS0FBSyxDQUFpQjtJQUU1QyxDQUFDOzt5SEFOUSwyQkFBMkIsOEVBR0osWUFBWTs2R0FIbkMsMkJBQTJCLHNGQ25CeEMsdThEQW9DQTs0RkRqQmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNJLHlCQUF5Qjs7MEJBT3RCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdCxcbiAgICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEluamVjdGVkVGFiRGF0YSxcbiAgICBMb2dnZXJTZXJ2aWNlLFxuICAgIE5BRV9UQUJfREFUQSxcbiAgICBUYXNrVmlld1NlcnZpY2UsXG4gICAgQWJzdHJhY3RUYXNrTGlzdFBhZ2luYXRpb25Db21wb25lbnRcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtdGFzay1saXN0LXBhZ2luYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YXNrLWxpc3QtcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFzay1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYXNrTGlzdFBhZ2luYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFRhc2tMaXN0UGFnaW5hdGlvbkNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrVmlld1NlcnZpY2U6IFRhc2tWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9UQUJfREFUQSkgaW5qZWN0ZWRUYWJEYXRhOiBJbmplY3RlZFRhYkRhdGEsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIHJvdXRlPzogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgc3VwZXIoX3Rhc2tWaWV3U2VydmljZSwgX2xvZywgaW5qZWN0ZWRUYWJEYXRhLCByb3V0ZSk7XG4gICAgfVxufVxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZsZXg+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhc2tzJCB8IGFzeW5jIGFzIHRhc2tzXCI+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIihsb2FkaW5nJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiYgdGFza3MubGVuZ3RoID09PSAwXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXG4gICAgICAgICAgICAgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwiYWNjZW50XCI+Y2hlY2tfYm94PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1zaXplLTIwXCI+e3sgJ3Rhc2tzLnZpZXcubm9UYXNrc1NhdGlzZnlpbmdUaGlzRmlsdGVyJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG1hdC1hY2NvcmRpb24gW211bHRpXT1cImFsbG93TXVsdGlPcGVuXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCIgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpeC1wYWRkaW5nXCI+XG4gICAgICAgICAgICAgICAgPG5jLXRhc2stcGFuZWxcbiAgICAgICAgICAgICAgICAgICAgW3RleHRFbGxpcHNpc109XCJ0ZXh0RWxsaXBzaXNcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFzayBvZiB0YXNrcyB8IHNsaWNlOiAocGFnZUluZGV4KSAqIHBhZ2VTaXplIDogKHBhZ2VJbmRleCArIDEpICogcGFnZVNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpcnN0ID0gZmlyc3Q7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFzdCA9IGxhc3Q7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5XCJcbiAgICAgICAgICAgICAgICAgICAgW3Rhc2tQYW5lbERhdGFdPVwidGFza1wiIFtzZWxlY3RlZEhlYWRlcnMkXT1cInNlbGVjdGVkSGVhZGVycyRcIiBbZmlyc3RdPVwiZmlyc3RcIiBbbGFzdF09XCJsYXN0XCJcbiAgICAgICAgICAgICAgICAgICAgW2ZvcmNlTG9hZERhdGFPbk9wZW5dPVwiZm9yY2VMb2FkRGF0YU9uT3BlblwiXG4gICAgICAgICAgICAgICAgICAgIFtyZXNwb25zaXZlQm9keV09XCJyZXNwb25zaXZlQm9keVwiXG4gICAgICAgICAgICAgICAgICAgICh0YXNrRXZlbnQpPVwiZW1pdFRhc2tFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKHBhbmVsUmVmT3V0cHV0KT1cImFkZFRvUGFuZWxSZWZzKHRhc2ssICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBhbmVsLWV4cGFuZGVkLXNwYWNpbmdcIj5cbiAgICAgICAgICAgICAgICA8L25jLXRhc2stcGFuZWw+XG5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZyQgfCBhc3luY1wiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zcGlubmVyIGNvbG9yPVwicHJpbWFyeVwiIGRpYW1ldGVyPVwiNTJcIj48L21hdC1zcGlubmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LWFjY29yZGlvbj5cbiAgICAgICAgPG1hdC1wYWdpbmF0b3IgW2xlbmd0aF09XCJsZW5ndGhcIiBbcGFnZVNpemVdPVwicGFnZVNpemVcIiBbcGFnZUluZGV4XT1cInBhZ2VJbmRleFwiIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnZVNpemVPcHRpb25zXCIgKHBhZ2UpPVwib25QYWdlQ2hhbmdlZCgkZXZlbnQpXCIgc2hvd0ZpcnN0TGFzdEJ1dHRvbnM+XG4gICAgICAgIDwvbWF0LXBhZ2luYXRvcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvcGFuZWwvdGFzay1wYW5lbC1saXN0LXBhZ2luYXRpb24vdGFzay1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvcGFuZWwvdGFzay1wYW5lbC1saXN0LXBhZ2luYXRpb24vdGFzay1saXN0LXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHSCxZQUFZLEVBRVosb0JBQW9CLEVBQ3BCLG1DQUFtQyxFQUN0QyxNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7Ozs7QUFRN0QsTUFBTSxPQUFPLDJCQUE0QixTQUFRLG1DQUFtQztJQUNoRixZQUFzQixnQkFBaUMsRUFDakMsSUFBbUIsRUFDSyxlQUFnQyxFQUN4RCxLQUFzQjtRQUN4QyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUpwQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ2pDLFNBQUksR0FBSixJQUFJLENBQWU7UUFFbkIsVUFBSyxHQUFMLEtBQUssQ0FBaUI7SUFFNUMsQ0FBQzs7eUhBTlEsMkJBQTJCLDhFQUdKLFlBQVk7NkdBSG5DLDJCQUEyQixrREFGekIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUMsQ0FBQyxpRENwQjVFLG9oRUFxQ0E7NEZEZmEsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNJLHlCQUF5QixhQUd4QixDQUFDLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBQyxDQUFDOzswQkFLM0QsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgSW5qZWN0ZWRUYWJEYXRhLFxuICAgIExvZ2dlclNlcnZpY2UsXG4gICAgTkFFX1RBQl9EQVRBLFxuICAgIFRhc2tWaWV3U2VydmljZSxcbiAgICBOZXRncmlmUGFnaW5hdG9ySW50bCxcbiAgICBBYnN0cmFjdFRhc2tMaXN0UGFnaW5hdGlvbkNvbXBvbmVudFxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TWF0UGFnaW5hdG9ySW50bH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy10YXNrLWxpc3QtcGFnaW5hdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stbGlzdC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YXNrLWxpc3QtcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW3twcm92aWRlOiBNYXRQYWdpbmF0b3JJbnRsLCB1c2VDbGFzczogTmV0Z3JpZlBhZ2luYXRvckludGx9XVxufSlcbmV4cG9ydCBjbGFzcyBUYXNrTGlzdFBhZ2luYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFRhc2tMaXN0UGFnaW5hdGlvbkNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrVmlld1NlcnZpY2U6IFRhc2tWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9UQUJfREFUQSkgaW5qZWN0ZWRUYWJEYXRhOiBJbmplY3RlZFRhYkRhdGEsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIHJvdXRlPzogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgc3VwZXIoX3Rhc2tWaWV3U2VydmljZSwgX2xvZywgaW5qZWN0ZWRUYWJEYXRhLCByb3V0ZSk7XG4gICAgfVxufVxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZsZXg+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhc2tzJCB8IGFzeW5jIGFzIHRhc2tzXCI+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIihsb2FkaW5nJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiYgdGFza3MubGVuZ3RoID09PSAwXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXG4gICAgICAgICAgICAgZnhGbGV4PlxuICAgICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwiYWNjZW50XCI+Y2hlY2tfYm94PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1zaXplLTIwXCI+e3sgJ3Rhc2tzLnZpZXcubm9UYXNrc1NhdGlzZnlpbmdUaGlzRmlsdGVyJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG1hdC1hY2NvcmRpb24gW211bHRpXT1cImFsbG93TXVsdGlPcGVuXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCIgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpeC1wYWRkaW5nXCI+XG4gICAgICAgICAgICAgICAgPG5jLXRhc2stcGFuZWxcbiAgICAgICAgICAgICAgICAgICAgW3RleHRFbGxpcHNpc109XCJ0ZXh0RWxsaXBzaXNcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFzayBvZiB0YXNrcyB8IHNsaWNlOiAocGFnZUluZGV4KSAqIHBhZ2VTaXplIDogKHBhZ2VJbmRleCArIDEpICogcGFnZVNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpcnN0ID0gZmlyc3Q7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFzdCA9IGxhc3Q7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5XCJcbiAgICAgICAgICAgICAgICAgICAgW3Rhc2tQYW5lbERhdGFdPVwidGFza1wiIFtzZWxlY3RlZEhlYWRlcnMkXT1cInNlbGVjdGVkSGVhZGVycyRcIiBbZmlyc3RdPVwiZmlyc3RcIiBbbGFzdF09XCJsYXN0XCJcbiAgICAgICAgICAgICAgICAgICAgW2ZvcmNlTG9hZERhdGFPbk9wZW5dPVwiZm9yY2VMb2FkRGF0YU9uT3BlblwiXG4gICAgICAgICAgICAgICAgICAgIFtyZXNwb25zaXZlQm9keV09XCJyZXNwb25zaXZlQm9keVwiXG4gICAgICAgICAgICAgICAgICAgICh0YXNrRXZlbnQpPVwiZW1pdFRhc2tFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKHBhbmVsUmVmT3V0cHV0KT1cImFkZFRvUGFuZWxSZWZzKHRhc2ssICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbc2hvd01vcmVNZW51XT1cInNob3dNb3JlTWVudVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGFuZWwtZXhwYW5kZWQtc3BhY2luZ1wiPlxuICAgICAgICAgICAgICAgIDwvbmMtdGFzay1wYW5lbD5cblxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nJCB8IGFzeW5jXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJwcmltYXJ5XCIgZGlhbWV0ZXI9XCI1MlwiPjwvbWF0LXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtYWNjb3JkaW9uPlxuICAgICAgICA8bWF0LXBhZ2luYXRvciBbbGVuZ3RoXT1cImxlbmd0aFwiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiIFtwYWdlSW5kZXhdPVwicGFnZUluZGV4XCIgY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIiAocGFnZSk9XCJvblBhZ2VDaGFuZ2VkKCRldmVudClcIiBzaG93Rmlyc3RMYXN0QnV0dG9ucz5cbiAgICAgICAgPC9tYXQtcGFnaW5hdG9yPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=