@netgrif/components 7.0.0-rc.10 → 7.0.0-rc.12

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 (15) hide show
  1. package/esm2022/lib/navigation/group-navigation-component-resolver/default-components/refs/default-case-ref-list-view/default-case-ref-list-view.component.mjs +68 -13
  2. package/esm2022/lib/navigation/group-navigation-component-resolver/default-components/refs/default-task-view/default-task-view.component.mjs +43 -12
  3. package/esm2022/lib/navigation/group-navigation-component-resolver/default-components/tabbed/default-tab-view/default-tab-view.component.mjs +1 -1
  4. package/esm2022/lib/navigation/group-navigation-component-resolver/default-components/tabbed/default-tabbed-case-view/default-tabbed-case-view.component.mjs +3 -3
  5. package/esm2022/lib/panel/panel.component.mjs +3 -3
  6. package/esm2022/lib/panel/task-panel/task-panel.component.mjs +3 -3
  7. package/esm2022/lib/panel/task-panel-list/task-list.component.mjs +3 -3
  8. package/esm2022/lib/panel/task-panel-list-pagination/task-list-pagination.component.mjs +3 -3
  9. package/esm2022/lib/view/case-view/components/create-case-button/create-case-button.component.mjs +23 -10
  10. package/fesm2022/netgrif-components.mjs +247 -150
  11. package/fesm2022/netgrif-components.mjs.map +1 -1
  12. package/lib/navigation/group-navigation-component-resolver/default-components/refs/default-case-ref-list-view/default-case-ref-list-view.component.d.ts +7 -2
  13. package/lib/navigation/group-navigation-component-resolver/default-components/refs/default-task-view/default-task-view.component.d.ts +8 -3
  14. package/lib/view/case-view/components/create-case-button/create-case-button.component.d.ts +5 -2
  15. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
1
  import { Component, Inject, Optional, ViewChild } from '@angular/core';
2
- import { AbstractCaseViewComponent, AllowedNetsService, AllowedNetsServiceFactory, CaseViewService, CategoryFactory, defaultCaseSearchCategoriesFactory, FilterType, NAE_CASE_REF_CREATE_CASE, NAE_CASE_REF_SEARCH, NAE_SEARCH_CATEGORIES, NAE_TAB_DATA, NAE_VIEW_ID_SEGMENT, OverflowService, SearchMode, SearchService, SimpleFilter, ViewIdService, DATA_FIELD_PORTAL_DATA, MultichoiceField, EnumerationField } from '@netgrif/components-core';
2
+ import { AbstractCaseViewComponent, AllowedNetsService, AllowedNetsServiceFactory, CaseViewService, CategoryFactory, defaultCaseSearchCategoriesFactory, FilterType, NAE_CASE_REF_CREATE_CASE, NAE_CASE_REF_SEARCH, NAE_SEARCH_CATEGORIES, NAE_TAB_DATA, NAE_VIEW_ID_SEGMENT, OverflowService, SearchMode, SearchService, SimpleFilter, ViewIdService, DATA_FIELD_PORTAL_DATA, MultichoiceField, EnumerationField, NAE_DATAFIELD_ALLOWED_NETS, NAE_DEFAULT_HEADERS, NAE_CLICKABLE_CASES, NAE_OPEN_SINGLE_TASK, NAE_SINGLE_TASK_QUERY } from '@netgrif/components-core';
3
3
  import { DefaultTabbedTaskViewComponent } from '../../tabbed/default-tabbed-task-view/default-tabbed-task-view.component';
4
+ import { DefaultTabbedSingleTaskViewComponent } from "../../tabbed/default-tabbed-single-task-view/default-tabbed-single-task-view.component";
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@netgrif/components-core";
6
7
  import * as i2 from "@angular/common";
@@ -10,19 +11,29 @@ import * as i5 from "../../../../../search/search-component/search.component";
10
11
  import * as i6 from "../../../../../header/header.component";
11
12
  import * as i7 from "../../../../../view/case-view/components/create-case-button/create-case-button.component";
12
13
  import * as i8 from "../../../../../view/case-view/components/case-list-paginator/case-list-paginator.component";
13
- const localAllowedNetsFactory = (factory) => {
14
- return factory.createWithAllNets();
14
+ const localAllowedNetsFactory = (factory, allowedNets) => {
15
+ if (allowedNets?.length > 0) {
16
+ return factory.createFromArray(allowedNets);
17
+ }
18
+ else {
19
+ return factory.createWithAllNets();
20
+ }
15
21
  };
16
22
  export class DefaultCaseRefListViewComponent extends AbstractCaseViewComponent {
17
23
  _injectedTabData;
18
24
  _dataFieldPortalData;
19
25
  _caseRefCreateCase;
20
26
  _caseRefSearch;
27
+ _caseHeaders;
28
+ _clickableCases;
29
+ _openSingleTask;
30
+ _singleTaskQuery;
21
31
  caseHeaderComponent;
22
32
  additionalFilterData;
23
33
  search;
24
34
  createCase;
25
- constructor(caseViewService, overflowService, _injectedTabData, _dataFieldPortalData, _caseRefCreateCase = false, _caseRefSearch = false) {
35
+ caseHeadersCount;
36
+ constructor(caseViewService, overflowService, _injectedTabData, _dataFieldPortalData, _caseRefCreateCase = false, _caseRefSearch = false, _caseHeaders, _clickableCases = true, _openSingleTask = false, _singleTaskQuery) {
26
37
  super(caseViewService, overflowService, undefined, {
27
38
  enableCaseTitle: true,
28
39
  isCaseTitleRequired: true
@@ -31,8 +42,13 @@ export class DefaultCaseRefListViewComponent extends AbstractCaseViewComponent {
31
42
  this._dataFieldPortalData = _dataFieldPortalData;
32
43
  this._caseRefCreateCase = _caseRefCreateCase;
33
44
  this._caseRefSearch = _caseRefSearch;
45
+ this._caseHeaders = _caseHeaders;
46
+ this._clickableCases = _clickableCases;
47
+ this._openSingleTask = _openSingleTask;
48
+ this._singleTaskQuery = _singleTaskQuery;
34
49
  this.search = !!_caseRefSearch;
35
50
  this.createCase = !!_caseRefCreateCase;
51
+ this.caseHeadersCount = this._caseHeaders?.length;
36
52
  }
37
53
  ngAfterViewInit() {
38
54
  this.initializeHeader(this.caseHeaderComponent);
@@ -41,7 +57,7 @@ export class DefaultCaseRefListViewComponent extends AbstractCaseViewComponent {
41
57
  return this._dataFieldPortalData?.dataField instanceof MultichoiceField || this._dataFieldPortalData?.dataField instanceof EnumerationField;
42
58
  }
43
59
  handleCaseClick(clickedCase) {
44
- if (this._injectedTabData !== null) {
60
+ if (this._injectedTabData !== null && this._clickableCases) {
45
61
  this.openTab(clickedCase);
46
62
  }
47
63
  }
@@ -49,15 +65,34 @@ export class DefaultCaseRefListViewComponent extends AbstractCaseViewComponent {
49
65
  return this._dataFieldPortalData?.dataField?.formControlRef.disabled;
50
66
  }
51
67
  openTab(openCase) {
68
+ let baseFilter;
69
+ if (this._singleTaskQuery !== undefined) {
70
+ const query = JSON.parse(this._singleTaskQuery);
71
+ if (query.query !== undefined) {
72
+ query.query = query.query + ` AND caseId:${openCase.stringId}`;
73
+ }
74
+ else {
75
+ if (query.case !== undefined) {
76
+ query.case.id = openCase.stringId;
77
+ }
78
+ else {
79
+ query.case = { id: `${openCase.stringId}` };
80
+ }
81
+ }
82
+ baseFilter = SimpleFilter.fromTaskQuery(query);
83
+ }
84
+ else {
85
+ baseFilter = new SimpleFilter('', FilterType.TASK, { case: { id: `${openCase.stringId}` } });
86
+ }
52
87
  this._injectedTabData.tabViewRef.openTab({
53
88
  label: {
54
89
  text: openCase.title,
55
90
  icon: openCase.icon ? openCase.icon : 'check_box'
56
91
  },
57
92
  canBeClosed: true,
58
- tabContentComponent: DefaultTabbedTaskViewComponent,
93
+ tabContentComponent: this._openSingleTask ? DefaultTabbedSingleTaskViewComponent : DefaultTabbedTaskViewComponent,
59
94
  injectedObject: {
60
- baseFilter: new SimpleFilter('', FilterType.TASK, { case: { id: `${openCase.stringId}` } }),
95
+ baseFilter: baseFilter,
61
96
  allowedNets: [openCase.processIdentifier],
62
97
  navigationItemTaskData: this._injectedTabData.navigationItemTaskData,
63
98
  searchTypeConfiguration: {
@@ -77,7 +112,7 @@ export class DefaultCaseRefListViewComponent extends AbstractCaseViewComponent {
77
112
  createdCase(caze) {
78
113
  this.handleCaseClick(caze);
79
114
  }
80
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultCaseRefListViewComponent, deps: [{ token: i1.CaseViewService }, { token: i1.OverflowService, optional: true }, { token: NAE_TAB_DATA, optional: true }, { token: DATA_FIELD_PORTAL_DATA, optional: true }, { token: NAE_CASE_REF_CREATE_CASE, optional: true }, { token: NAE_CASE_REF_SEARCH, optional: true }], target: i0.ɵɵFactoryTarget.Component });
115
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultCaseRefListViewComponent, deps: [{ token: i1.CaseViewService }, { token: i1.OverflowService, optional: true }, { token: NAE_TAB_DATA, optional: true }, { token: DATA_FIELD_PORTAL_DATA, optional: true }, { token: NAE_CASE_REF_CREATE_CASE, optional: true }, { token: NAE_CASE_REF_SEARCH, optional: true }, { token: NAE_DEFAULT_HEADERS, optional: true }, { token: NAE_CLICKABLE_CASES, optional: true }, { token: NAE_OPEN_SINGLE_TASK, optional: true }, { token: NAE_SINGLE_TASK_QUERY, optional: true }], target: i0.ɵɵFactoryTarget.Component });
81
116
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DefaultCaseRefListViewComponent, selector: "nc-default-case-view", providers: [
82
117
  CategoryFactory,
83
118
  CaseViewService,
@@ -86,12 +121,12 @@ export class DefaultCaseRefListViewComponent extends AbstractCaseViewComponent {
86
121
  {
87
122
  provide: AllowedNetsService,
88
123
  useFactory: localAllowedNetsFactory,
89
- deps: [AllowedNetsServiceFactory]
124
+ deps: [AllowedNetsServiceFactory, NAE_DATAFIELD_ALLOWED_NETS]
90
125
  },
91
126
  { provide: NAE_VIEW_ID_SEGMENT, useValue: 'case' },
92
127
  ViewIdService,
93
128
  { provide: NAE_SEARCH_CATEGORIES, useFactory: defaultCaseSearchCategoriesFactory, deps: [CategoryFactory] },
94
- ], viewQueries: [{ propertyName: "caseHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"case-view-container\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n\n <div class=\"case-view-search-container\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <div fxLayoutAlign=\"start center\" fxFlex *ngIf=\"search\">\n <nc-search class=\"search-width\" [disabled]=\"disabled()\" [additionalFilterData]=\"additionalFilterData\"></nc-search>\n </div>\n <div fxLayoutAlign=\"end center\" *ngIf=\"createCase\">\n <nc-create-case-button [disabled]=\"disabled()\" [newCaseCreationConfig]=\"newCaseCreationConfig\" (caseCreatedEvent)=\"createdCase($event)\"></nc-create-case-button>\n </div>\n </div>\n </div>\n\n <div class=\"full-height transform-div custom-scrollbar\" [ngClass]=\"{'overflow-div': getOverflowStatus()}\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <div class=\"full-height transform-div max-width-fix\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [responsiveHeaders]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\" [approval]=\"isApproval()\"></nc-header>\n\n <nc-case-list-paginator [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"false\" [width]=\"getWidth()\" [approval]=\"isApproval()\" [disabled]=\"disabled()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\"></nc-case-list-paginator>\n </div>\n </div>\n</div>\n\n", styles: [".case-view-container{margin:16px 24px;height:calc(100% - 32px);overflow:auto}@media screen and (max-width: 599.99px){.case-view-container{margin:12px}}.case-view-search-container{margin-top:16px;margin-bottom:2px;padding:0;max-height:50%}.case-header-padding{padding-top:16px;padding-left:1px;padding-right:1px}.font-size-20{font-size:20px}.search-width{width:100%}.search-fix{min-height:calc(100% + 2px);max-height:100%;overflow-y:auto}.full-height{height:100%}.overflow-div{overflow-x:scroll}.transform-div{transform:rotateX(180deg);-ms-transform:rotateX(180deg);-webkit-transform:rotateX(180deg)}.custom-scrollbar::-webkit-scrollbar{width:15px;height:15px;cursor:pointer}.max-width-fix{max-width:calc(100% - 8px)!important}.max-height{max-height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.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"] }, { kind: "directive", type: i3.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"] }, { kind: "directive", type: i3.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"] }, { kind: "directive", type: i4.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"] }, { kind: "directive", type: i4.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i5.SearchComponent, selector: "nc-search" }, { kind: "component", type: i6.HeaderComponent, selector: "nc-header" }, { kind: "component", type: i7.CreateCaseButtonComponent, selector: "nc-create-case-button", inputs: ["newCaseCreationConfig", "disabled"], outputs: ["caseCreatedEvent"] }, { kind: "component", type: i8.CaseListPaginatorComponent, selector: "nc-case-list-paginator" }] });
129
+ ], viewQueries: [{ propertyName: "caseHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"case-view-container\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n\n <div class=\"case-view-search-container\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <div fxLayoutAlign=\"start center\" fxFlex *ngIf=\"search\">\n <nc-search class=\"search-width\" [disabled]=\"disabled()\" [additionalFilterData]=\"additionalFilterData\"></nc-search>\n </div>\n <div fxLayoutAlign=\"end center\" *ngIf=\"createCase\">\n <nc-create-case-button [disabled]=\"disabled()\" [newCaseCreationConfig]=\"newCaseCreationConfig\" (caseCreatedEvent)=\"createdCase($event)\"></nc-create-case-button>\n </div>\n </div>\n </div>\n\n <div class=\"full-height transform-div custom-scrollbar\" [ngClass]=\"{'overflow-div': getOverflowStatus()}\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <div class=\"full-height transform-div max-width-fix\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [responsiveHeaders]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\" [maxHeaderColumns]=\"caseHeadersCount\" [approval]=\"isApproval()\"></nc-header>\n\n <nc-case-list-paginator [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"false\" [width]=\"getWidth()\" [approval]=\"isApproval()\" [disabled]=\"disabled()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\"></nc-case-list-paginator>\n </div>\n </div>\n</div>\n\n", styles: [".case-view-container{margin:16px 24px;height:calc(100% - 32px);overflow:auto}@media screen and (max-width: 599.99px){.case-view-container{margin:12px}}.case-view-search-container{margin-top:16px;margin-bottom:2px;padding:0;max-height:50%}.case-header-padding{padding-top:16px;padding-left:1px;padding-right:1px}.font-size-20{font-size:20px}.search-width{width:100%}.search-fix{min-height:calc(100% + 2px);max-height:100%;overflow-y:auto}.full-height{height:100%}.overflow-div{overflow-x:scroll}.transform-div{transform:rotateX(180deg);-ms-transform:rotateX(180deg);-webkit-transform:rotateX(180deg)}.custom-scrollbar::-webkit-scrollbar{width:15px;height:15px;cursor:pointer}.max-width-fix{max-width:calc(100% - 8px)!important}.max-height{max-height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.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"] }, { kind: "directive", type: i3.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"] }, { kind: "directive", type: i3.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"] }, { kind: "directive", type: i4.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"] }, { kind: "directive", type: i4.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i5.SearchComponent, selector: "nc-search" }, { kind: "component", type: i6.HeaderComponent, selector: "nc-header" }, { kind: "component", type: i7.CreateCaseButtonComponent, selector: "nc-create-case-button", inputs: ["newCaseCreationConfig", "disabled"], outputs: ["caseCreatedEvent"] }, { kind: "component", type: i8.CaseListPaginatorComponent, selector: "nc-case-list-paginator" }] });
95
130
  }
96
131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultCaseRefListViewComponent, decorators: [{
97
132
  type: Component,
@@ -103,12 +138,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
103
138
  {
104
139
  provide: AllowedNetsService,
105
140
  useFactory: localAllowedNetsFactory,
106
- deps: [AllowedNetsServiceFactory]
141
+ deps: [AllowedNetsServiceFactory, NAE_DATAFIELD_ALLOWED_NETS]
107
142
  },
108
143
  { provide: NAE_VIEW_ID_SEGMENT, useValue: 'case' },
109
144
  ViewIdService,
110
145
  { provide: NAE_SEARCH_CATEGORIES, useFactory: defaultCaseSearchCategoriesFactory, deps: [CategoryFactory] },
111
- ], template: "<div class=\"case-view-container\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n\n <div class=\"case-view-search-container\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <div fxLayoutAlign=\"start center\" fxFlex *ngIf=\"search\">\n <nc-search class=\"search-width\" [disabled]=\"disabled()\" [additionalFilterData]=\"additionalFilterData\"></nc-search>\n </div>\n <div fxLayoutAlign=\"end center\" *ngIf=\"createCase\">\n <nc-create-case-button [disabled]=\"disabled()\" [newCaseCreationConfig]=\"newCaseCreationConfig\" (caseCreatedEvent)=\"createdCase($event)\"></nc-create-case-button>\n </div>\n </div>\n </div>\n\n <div class=\"full-height transform-div custom-scrollbar\" [ngClass]=\"{'overflow-div': getOverflowStatus()}\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <div class=\"full-height transform-div max-width-fix\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [responsiveHeaders]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\" [approval]=\"isApproval()\"></nc-header>\n\n <nc-case-list-paginator [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"false\" [width]=\"getWidth()\" [approval]=\"isApproval()\" [disabled]=\"disabled()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\"></nc-case-list-paginator>\n </div>\n </div>\n</div>\n\n", styles: [".case-view-container{margin:16px 24px;height:calc(100% - 32px);overflow:auto}@media screen and (max-width: 599.99px){.case-view-container{margin:12px}}.case-view-search-container{margin-top:16px;margin-bottom:2px;padding:0;max-height:50%}.case-header-padding{padding-top:16px;padding-left:1px;padding-right:1px}.font-size-20{font-size:20px}.search-width{width:100%}.search-fix{min-height:calc(100% + 2px);max-height:100%;overflow-y:auto}.full-height{height:100%}.overflow-div{overflow-x:scroll}.transform-div{transform:rotateX(180deg);-ms-transform:rotateX(180deg);-webkit-transform:rotateX(180deg)}.custom-scrollbar::-webkit-scrollbar{width:15px;height:15px;cursor:pointer}.max-width-fix{max-width:calc(100% - 8px)!important}.max-height{max-height:100%}\n"] }]
146
+ ], template: "<div class=\"case-view-container\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n\n <div class=\"case-view-search-container\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <div fxLayoutAlign=\"start center\" fxFlex *ngIf=\"search\">\n <nc-search class=\"search-width\" [disabled]=\"disabled()\" [additionalFilterData]=\"additionalFilterData\"></nc-search>\n </div>\n <div fxLayoutAlign=\"end center\" *ngIf=\"createCase\">\n <nc-create-case-button [disabled]=\"disabled()\" [newCaseCreationConfig]=\"newCaseCreationConfig\" (caseCreatedEvent)=\"createdCase($event)\"></nc-create-case-button>\n </div>\n </div>\n </div>\n\n <div class=\"full-height transform-div custom-scrollbar\" [ngClass]=\"{'overflow-div': getOverflowStatus()}\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <div class=\"full-height transform-div max-width-fix\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [responsiveHeaders]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\" [maxHeaderColumns]=\"caseHeadersCount\" [approval]=\"isApproval()\"></nc-header>\n\n <nc-case-list-paginator [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"false\" [width]=\"getWidth()\" [approval]=\"isApproval()\" [disabled]=\"disabled()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\"></nc-case-list-paginator>\n </div>\n </div>\n</div>\n\n", styles: [".case-view-container{margin:16px 24px;height:calc(100% - 32px);overflow:auto}@media screen and (max-width: 599.99px){.case-view-container{margin:12px}}.case-view-search-container{margin-top:16px;margin-bottom:2px;padding:0;max-height:50%}.case-header-padding{padding-top:16px;padding-left:1px;padding-right:1px}.font-size-20{font-size:20px}.search-width{width:100%}.search-fix{min-height:calc(100% + 2px);max-height:100%;overflow-y:auto}.full-height{height:100%}.overflow-div{overflow-x:scroll}.transform-div{transform:rotateX(180deg);-ms-transform:rotateX(180deg);-webkit-transform:rotateX(180deg)}.custom-scrollbar::-webkit-scrollbar{width:15px;height:15px;cursor:pointer}.max-width-fix{max-width:calc(100% - 8px)!important}.max-height{max-height:100%}\n"] }]
112
147
  }], ctorParameters: () => [{ type: i1.CaseViewService }, { type: i1.OverflowService, decorators: [{
113
148
  type: Optional
114
149
  }] }, { type: undefined, decorators: [{
@@ -131,8 +166,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
131
166
  }, {
132
167
  type: Inject,
133
168
  args: [NAE_CASE_REF_SEARCH]
169
+ }] }, { type: undefined, decorators: [{
170
+ type: Optional
171
+ }, {
172
+ type: Inject,
173
+ args: [NAE_DEFAULT_HEADERS]
174
+ }] }, { type: undefined, decorators: [{
175
+ type: Optional
176
+ }, {
177
+ type: Inject,
178
+ args: [NAE_CLICKABLE_CASES]
179
+ }] }, { type: undefined, decorators: [{
180
+ type: Optional
181
+ }, {
182
+ type: Inject,
183
+ args: [NAE_OPEN_SINGLE_TASK]
184
+ }] }, { type: undefined, decorators: [{
185
+ type: Optional
186
+ }, {
187
+ type: Inject,
188
+ args: [NAE_SINGLE_TASK_QUERY]
134
189
  }] }], propDecorators: { caseHeaderComponent: [{
135
190
  type: ViewChild,
136
191
  args: ['header']
137
192
  }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jYXNlLXJlZi1saXN0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWNvbXBvbmVudHMvcmVmcy9kZWZhdWx0LWNhc2UtcmVmLWxpc3Qtdmlldy9kZWZhdWx0LWNhc2UtcmVmLWxpc3Qtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL2dyb3VwLW5hdmlnYXRpb24tY29tcG9uZW50LXJlc29sdmVyL2RlZmF1bHQtY29tcG9uZW50cy9yZWZzL2RlZmF1bHQtY2FzZS1yZWYtbGlzdC12aWV3L2RlZmF1bHQtY2FzZS1yZWYtbGlzdC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUV6QixlQUFlLEVBQ2YsZUFBZSxFQUNmLGtDQUFrQyxFQUNsQyxVQUFVLEVBQ1Ysd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUVuQixxQkFBcUIsRUFDckIsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsVUFBVSxFQUNWLGFBQWEsRUFDYixZQUFZLEVBRVosYUFBYSxFQUFFLHNCQUFzQixFQUF1QixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDakcsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQzs7Ozs7Ozs7OztBQUt4SCxNQUFNLHVCQUF1QixHQUFHLENBQUMsT0FBa0MsRUFBRSxFQUFFO0lBQ25FLE9BQU8sT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7QUFDdkMsQ0FBQyxDQUFDO0FBcUJGLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSx5QkFBeUI7SUFVbEI7SUFDVTtJQUNFO0lBQ0w7SUFYbkMsbUJBQW1CLENBQWtCO0lBRTFELG9CQUFvQixDQUEyQjtJQUMvQyxNQUFNLENBQVU7SUFDaEIsVUFBVSxDQUFVO0lBRTNCLFlBQVksZUFBZ0MsRUFDcEIsZUFBZ0MsRUFDQSxnQkFBc0UsRUFDNUQsb0JBQTZGLEVBQzNGLHFCQUE4QixLQUFLLEVBQ3hDLGlCQUEwQixLQUFLO1FBQzFGLEtBQUssQ0FBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRTtZQUMvQyxlQUFlLEVBQUUsSUFBSTtZQUNyQixtQkFBbUIsRUFBRSxJQUFJO1NBQzVCLENBQUMsQ0FBQztRQVBpRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXNEO1FBQzVELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUU7UUFDM0YsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFpQjtRQUN4QyxtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFLMUYsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO0lBQzNDLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxVQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxZQUFZLGdCQUFnQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLFlBQVksZ0JBQWdCLENBQUM7SUFDaEosQ0FBQztJQUVNLGVBQWUsQ0FBQyxXQUFpQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM3QjtJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxRQUFRLENBQUM7SUFDekUsQ0FBQztJQUVTLE9BQU8sQ0FBQyxRQUFjO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQ3JDLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3BCLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXO2FBQ3BEO1lBQ0QsV0FBVyxFQUFFLElBQUk7WUFDakIsbUJBQW1CLEVBQUUsOEJBQThCO1lBQ25ELGNBQWMsRUFBRTtnQkFDWixVQUFVLEVBQUUsSUFBSSxZQUFZLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBQyxJQUFJLEVBQUUsRUFBQyxFQUFFLEVBQUUsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUMsRUFBQyxDQUFDO2dCQUN2RixXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUM7Z0JBQ3pDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0I7Z0JBQ3BFLHVCQUF1QixFQUFFO29CQUNyQixpQkFBaUIsRUFBRSxVQUFVLENBQUMsUUFBUTtvQkFDdEMsc0JBQXNCLEVBQUUsSUFBSTtpQkFDL0I7Z0JBQ0QsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLFdBQVcsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7Z0JBQzdCLGNBQWMsRUFBRSxJQUFJO2dCQUNwQixrQkFBa0IsRUFBRSxNQUFNO2FBQzdCO1lBQ0QsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7WUFDNUMsY0FBYyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXO1NBQ3BELEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBVTtRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7d0dBckVRLCtCQUErQixnR0FVUixZQUFZLDZCQUNaLHNCQUFzQiw2QkFDdEIsd0JBQXdCLDZCQUN4QixtQkFBbUI7NEZBYjFDLCtCQUErQiwrQ0FmN0I7WUFDUCxlQUFlO1lBQ2YsZUFBZTtZQUNmLGFBQWE7WUFDYixlQUFlO1lBQ2Y7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsVUFBVSxFQUFFLHVCQUF1QjtnQkFDbkMsSUFBSSxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDcEM7WUFDRCxFQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDO1lBQ2hELGFBQWE7WUFDYixFQUFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsa0NBQWtDLEVBQUUsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUM7U0FDNUcsZ0tDbERMLDRqREF1QkE7OzRGRDZCYSwrQkFBK0I7a0JBbkIzQyxTQUFTOytCQUNJLHNCQUFzQixhQUdyQjt3QkFDUCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSx1QkFBdUI7NEJBQ25DLElBQUksRUFBRSxDQUFDLHlCQUF5QixDQUFDO3lCQUNwQzt3QkFDRCxFQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDO3dCQUNoRCxhQUFhO3dCQUNiLEVBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxrQ0FBa0MsRUFBRSxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBQztxQkFDNUc7OzBCQVdZLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsWUFBWTs7MEJBQy9CLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDekMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMzQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjt5Q0FYdkIsbUJBQW1CO3NCQUE5QyxTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDYXNlVmlld0NvbXBvbmVudCxcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICBDYXNlLFxuICAgIENhc2VWaWV3U2VydmljZSxcbiAgICBDYXRlZ29yeUZhY3RvcnksXG4gICAgZGVmYXVsdENhc2VTZWFyY2hDYXRlZ29yaWVzRmFjdG9yeSxcbiAgICBGaWx0ZXJUeXBlLFxuICAgIE5BRV9DQVNFX1JFRl9DUkVBVEVfQ0FTRSxcbiAgICBOQUVfQ0FTRV9SRUZfU0VBUkNILFxuICAgIENhc2VSZWZGaWVsZCxcbiAgICBOQUVfU0VBUkNIX0NBVEVHT1JJRVMsXG4gICAgTkFFX1RBQl9EQVRBLFxuICAgIE5BRV9WSUVXX0lEX1NFR01FTlQsXG4gICAgT3ZlcmZsb3dTZXJ2aWNlLFxuICAgIFNlYXJjaE1vZGUsXG4gICAgU2VhcmNoU2VydmljZSxcbiAgICBTaW1wbGVGaWx0ZXIsXG4gICAgVGFza1NldERhdGFSZXF1ZXN0RmllbGRzLFxuICAgIFZpZXdJZFNlcnZpY2UsIERBVEFfRklFTERfUE9SVEFMX0RBVEEsIERhdGFGaWVsZFBvcnRhbERhdGEsIE11bHRpY2hvaWNlRmllbGQsIEVudW1lcmF0aW9uRmllbGRcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcbmltcG9ydCB7SGVhZGVyQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi8uLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCdcbmltcG9ydCB7RGVmYXVsdFRhYmJlZFRhc2tWaWV3Q29tcG9uZW50fSBmcm9tICcuLi8uLi90YWJiZWQvZGVmYXVsdC10YWJiZWQtdGFzay12aWV3L2RlZmF1bHQtdGFiYmVkLXRhc2stdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBJbmplY3RlZFRhYmJlZFRhc2tWaWV3RGF0YVdpdGhOYXZpZ2F0aW9uSXRlbVRhc2tEYXRhXG59IGZyb20gXCIuLi8uLi9tb2RlbC9pbmplY3RlZC10YWJiZWQtdGFzay12aWV3LWRhdGEtd2l0aC1uYXZpZ2F0aW9uLWl0ZW0tdGFzay1kYXRhXCI7XG5cbmNvbnN0IGxvY2FsQWxsb3dlZE5ldHNGYWN0b3J5ID0gKGZhY3Rvcnk6IEFsbG93ZWROZXRzU2VydmljZUZhY3RvcnkpID0+IHtcbiAgICByZXR1cm4gZmFjdG9yeS5jcmVhdGVXaXRoQWxsTmV0cygpO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1kZWZhdWx0LWNhc2UtdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtY2FzZS1yZWYtbGlzdC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kZWZhdWx0LWNhc2UtcmVmLWxpc3Qtdmlldy5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBDYXRlZ29yeUZhY3RvcnksXG4gICAgICAgIENhc2VWaWV3U2VydmljZSxcbiAgICAgICAgU2VhcmNoU2VydmljZSxcbiAgICAgICAgT3ZlcmZsb3dTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBsb2NhbEFsbG93ZWROZXRzRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5XVxuICAgICAgICB9LFxuICAgICAgICB7cHJvdmlkZTogTkFFX1ZJRVdfSURfU0VHTUVOVCwgdXNlVmFsdWU6ICdjYXNlJ30sXG4gICAgICAgIFZpZXdJZFNlcnZpY2UsXG4gICAgICAgIHtwcm92aWRlOiBOQUVfU0VBUkNIX0NBVEVHT1JJRVMsIHVzZUZhY3Rvcnk6IGRlZmF1bHRDYXNlU2VhcmNoQ2F0ZWdvcmllc0ZhY3RvcnksIGRlcHM6IFtDYXRlZ29yeUZhY3RvcnldfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0Q2FzZVJlZkxpc3RWaWV3Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RDYXNlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyJykgcHVibGljIGNhc2VIZWFkZXJDb21wb25lbnQ6IEhlYWRlckNvbXBvbmVudDtcblxuICAgIHB1YmxpYyBhZGRpdGlvbmFsRmlsdGVyRGF0YTogVGFza1NldERhdGFSZXF1ZXN0RmllbGRzO1xuICAgIHB1YmxpYyBzZWFyY2g6IGJvb2xlYW47XG4gICAgcHVibGljIGNyZWF0ZUNhc2U6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihjYXNlVmlld1NlcnZpY2U6IENhc2VWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBvdmVyZmxvd1NlcnZpY2U6IE92ZXJmbG93U2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9UQUJfREFUQSkgcHJvdGVjdGVkIF9pbmplY3RlZFRhYkRhdGE6IEluamVjdGVkVGFiYmVkVGFza1ZpZXdEYXRhV2l0aE5hdmlnYXRpb25JdGVtVGFza0RhdGEsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBKSBwcm90ZWN0ZWQgX2RhdGFGaWVsZFBvcnRhbERhdGE6IERhdGFGaWVsZFBvcnRhbERhdGE8TXVsdGljaG9pY2VGaWVsZCB8IENhc2VSZWZGaWVsZCB8IEVudW1lcmF0aW9uRmllbGQ+LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX0NBU0VfUkVGX0NSRUFURV9DQVNFKSBwcm90ZWN0ZWQgX2Nhc2VSZWZDcmVhdGVDYXNlOiBib29sZWFuID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfQ0FTRV9SRUZfU0VBUkNIKSBwcm90ZWN0ZWQgX2Nhc2VSZWZTZWFyY2g6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBzdXBlcihjYXNlVmlld1NlcnZpY2UsIG92ZXJmbG93U2VydmljZSwgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICBlbmFibGVDYXNlVGl0bGU6IHRydWUsXG4gICAgICAgICAgICBpc0Nhc2VUaXRsZVJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNlYXJjaCA9ICEhX2Nhc2VSZWZTZWFyY2g7XG4gICAgICAgIHRoaXMuY3JlYXRlQ2FzZSA9ICEhX2Nhc2VSZWZDcmVhdGVDYXNlO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplSGVhZGVyKHRoaXMuY2FzZUhlYWRlckNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQXBwcm92YWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQgaW5zdGFuY2VvZiBNdWx0aWNob2ljZUZpZWxkIHx8IHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGE/LmRhdGFGaWVsZCBpbnN0YW5jZW9mIEVudW1lcmF0aW9uRmllbGQ7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNhc2VDbGljayhjbGlja2VkQ2FzZTogQ2FzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faW5qZWN0ZWRUYWJEYXRhICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5UYWIoY2xpY2tlZENhc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YUZpZWxkUG9ydGFsRGF0YT8uZGF0YUZpZWxkPy5mb3JtQ29udHJvbFJlZi5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3BlblRhYihvcGVuQ2FzZTogQ2FzZSkge1xuICAgICAgICB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFiVmlld1JlZi5vcGVuVGFiKHtcbiAgICAgICAgICAgIGxhYmVsOiB7XG4gICAgICAgICAgICAgICAgdGV4dDogb3BlbkNhc2UudGl0bGUsXG4gICAgICAgICAgICAgICAgaWNvbjogb3BlbkNhc2UuaWNvbiA/IG9wZW5DYXNlLmljb24gOiAnY2hlY2tfYm94J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNhbkJlQ2xvc2VkOiB0cnVlLFxuICAgICAgICAgICAgdGFiQ29udGVudENvbXBvbmVudDogRGVmYXVsdFRhYmJlZFRhc2tWaWV3Q29tcG9uZW50LFxuICAgICAgICAgICAgaW5qZWN0ZWRPYmplY3Q6IHtcbiAgICAgICAgICAgICAgICBiYXNlRmlsdGVyOiBuZXcgU2ltcGxlRmlsdGVyKCcnLCBGaWx0ZXJUeXBlLlRBU0ssIHtjYXNlOiB7aWQ6IGAke29wZW5DYXNlLnN0cmluZ0lkfWB9fSksXG4gICAgICAgICAgICAgICAgYWxsb3dlZE5ldHM6IFtvcGVuQ2FzZS5wcm9jZXNzSWRlbnRpZmllcl0sXG4gICAgICAgICAgICAgICAgbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YTogdGhpcy5faW5qZWN0ZWRUYWJEYXRhLm5hdmlnYXRpb25JdGVtVGFza0RhdGEsXG4gICAgICAgICAgICAgICAgc2VhcmNoVHlwZUNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFNlYXJjaE1vZGU6IFNlYXJjaE1vZGUuRlVMTFRFWFQsXG4gICAgICAgICAgICAgICAgICAgIHNob3dTZWFyY2hUb2dnbGVCdXR0b246IHRydWVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNob3dNb3JlTWVudTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBoZWFkZXJzQ2hhbmdlYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBoZWFkZXJzTW9kZTogWydzb3J0JywgJ2VkaXQnXSxcbiAgICAgICAgICAgICAgICBhbGxvd1RhYmxlTW9kZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0SGVhZGVyc01vZGU6ICdzb3J0J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9yZGVyOiB0aGlzLl9pbmplY3RlZFRhYkRhdGFbJ3RhYlZpZXdPcmRlciddLFxuICAgICAgICAgICAgcGFyZW50VW5pcXVlSWQ6IHRoaXMuX2luamVjdGVkVGFiRGF0YS50YWJVbmlxdWVJZFxuICAgICAgICB9LCB0cnVlLCB0cnVlKTtcbiAgICB9XG5cbiAgICBjcmVhdGVkQ2FzZShjYXplOiBDYXNlKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlQ2FzZUNsaWNrKGNhemUpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXNlLXZpZXctY29udGFpbmVyXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RhcnQgc3RyZXRjaFwiPlxuXG4gICAgPGRpdiBjbGFzcz1cImNhc2Utdmlldy1zZWFyY2gtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlblwiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGbGV4ICpuZ0lmPVwic2VhcmNoXCI+XG4gICAgICAgICAgICAgICAgPG5jLXNlYXJjaCBjbGFzcz1cInNlYXJjaC13aWR0aFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCIgW2FkZGl0aW9uYWxGaWx0ZXJEYXRhXT1cImFkZGl0aW9uYWxGaWx0ZXJEYXRhXCI+PC9uYy1zZWFyY2g+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIiAqbmdJZj1cImNyZWF0ZUNhc2VcIj5cbiAgICAgICAgICAgICAgICA8bmMtY3JlYXRlLWNhc2UtYnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCIgW25ld0Nhc2VDcmVhdGlvbkNvbmZpZ109XCJuZXdDYXNlQ3JlYXRpb25Db25maWdcIiAoY2FzZUNyZWF0ZWRFdmVudCk9XCJjcmVhdGVkQ2FzZSgkZXZlbnQpXCI+PC9uYy1jcmVhdGUtY2FzZS1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZnVsbC1oZWlnaHQgdHJhbnNmb3JtLWRpdiBjdXN0b20tc2Nyb2xsYmFyXCIgW25nQ2xhc3NdPVwieydvdmVyZmxvdy1kaXYnOiBnZXRPdmVyZmxvd1N0YXR1cygpfVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IHN0cmV0Y2hcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZ1bGwtaGVpZ2h0IHRyYW5zZm9ybS1kaXYgbWF4LXdpZHRoLWZpeFwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IHN0cmV0Y2hcIj5cbiAgICAgICAgICAgIDxuYy1oZWFkZXIgI2hlYWRlciBbdHlwZV09XCJoZWFkZXJUeXBlXCIgW3Jlc3BvbnNpdmVIZWFkZXJzXT1cInRydWVcIiBjbGFzcz1cImNhc2UtaGVhZGVyLXBhZGRpbmdcIiBbbmdTdHlsZV09XCJ7J3dpZHRoJzogZ2V0V2lkdGgoKX1cIiBbYXBwcm92YWxdPVwiaXNBcHByb3ZhbCgpXCI+PC9uYy1oZWFkZXI+XG5cbiAgICAgICAgICAgIDxuYy1jYXNlLWxpc3QtcGFnaW5hdG9yIFtzZWxlY3RlZEhlYWRlcnMkXT1cInNlbGVjdGVkSGVhZGVycyRcIiBbc2hvd0RlbGV0ZU1lbnVdPVwiZmFsc2VcIiBbd2lkdGhdPVwiZ2V0V2lkdGgoKVwiIFthcHByb3ZhbF09XCJpc0FwcHJvdmFsKClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FzZUNsaWNrKT1cImhhbmRsZUNhc2VDbGljaygkZXZlbnQpXCIgW3Jlc3BvbnNpdmVCb2R5XT1cInRydWVcIiBmeEZsZXggW3RleHRFbGxpcHNpc109XCJ0cnVlXCI+PC9uYy1jYXNlLWxpc3QtcGFnaW5hdG9yPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jYXNlLXJlZi1saXN0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWNvbXBvbmVudHMvcmVmcy9kZWZhdWx0LWNhc2UtcmVmLWxpc3Qtdmlldy9kZWZhdWx0LWNhc2UtcmVmLWxpc3Qtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL2dyb3VwLW5hdmlnYXRpb24tY29tcG9uZW50LXJlc29sdmVyL2RlZmF1bHQtY29tcG9uZW50cy9yZWZzL2RlZmF1bHQtY2FzZS1yZWYtbGlzdC12aWV3L2RlZmF1bHQtY2FzZS1yZWYtbGlzdC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUV6QixlQUFlLEVBQ2YsZUFBZSxFQUNmLGtDQUFrQyxFQUNsQyxVQUFVLEVBQ1Ysd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUVuQixxQkFBcUIsRUFDckIsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsVUFBVSxFQUNWLGFBQWEsRUFDYixZQUFZLEVBRVosYUFBYSxFQUNiLHNCQUFzQixFQUV0QixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLDBCQUEwQixFQUMxQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBRW5CLG9CQUFvQixFQUNwQixxQkFBcUIs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Qjt3QkFDUCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSx1QkFBdUI7NEJBQ25DLElBQUksRUFBRSxDQUFDLHlCQUF5QixFQUFFLDBCQUEwQixDQUFDO3lCQUNoRTt3QkFDRCxFQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDO3dCQUNoRCxhQUFhO3dCQUNiLEVBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxrQ0FBa0MsRUFBRSxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBQztxQkFDNUc7OzBCQVlZLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsWUFBWTs7MEJBQy9CLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDekMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMzQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQ3RDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1COzswQkFDdEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUN0QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQ3ZDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCO3lDQWhCekIsbUJBQW1CO3NCQUE5QyxTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDYXNlVmlld0NvbXBvbmVudCxcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSxcbiAgICBDYXNlLFxuICAgIENhc2VWaWV3U2VydmljZSxcbiAgICBDYXRlZ29yeUZhY3RvcnksXG4gICAgZGVmYXVsdENhc2VTZWFyY2hDYXRlZ29yaWVzRmFjdG9yeSxcbiAgICBGaWx0ZXJUeXBlLFxuICAgIE5BRV9DQVNFX1JFRl9DUkVBVEVfQ0FTRSxcbiAgICBOQUVfQ0FTRV9SRUZfU0VBUkNILFxuICAgIENhc2VSZWZGaWVsZCxcbiAgICBOQUVfU0VBUkNIX0NBVEVHT1JJRVMsXG4gICAgTkFFX1RBQl9EQVRBLFxuICAgIE5BRV9WSUVXX0lEX1NFR01FTlQsXG4gICAgT3ZlcmZsb3dTZXJ2aWNlLFxuICAgIFNlYXJjaE1vZGUsXG4gICAgU2VhcmNoU2VydmljZSxcbiAgICBTaW1wbGVGaWx0ZXIsXG4gICAgVGFza1NldERhdGFSZXF1ZXN0RmllbGRzLFxuICAgIFZpZXdJZFNlcnZpY2UsXG4gICAgREFUQV9GSUVMRF9QT1JUQUxfREFUQSxcbiAgICBEYXRhRmllbGRQb3J0YWxEYXRhLFxuICAgIE11bHRpY2hvaWNlRmllbGQsXG4gICAgRW51bWVyYXRpb25GaWVsZCxcbiAgICBOQUVfREFUQUZJRUxEX0FMTE9XRURfTkVUUyxcbiAgICBOQUVfREVGQVVMVF9IRUFERVJTLFxuICAgIE5BRV9DTElDS0FCTEVfQ0FTRVMsXG4gICAgRmlsdGVyLFxuICAgIE5BRV9PUEVOX1NJTkdMRV9UQVNLLFxuICAgIE5BRV9TSU5HTEVfVEFTS19RVUVSWVxufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtIZWFkZXJDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hlYWRlci9oZWFkZXIuY29tcG9uZW50J1xuaW1wb3J0IHtEZWZhdWx0VGFiYmVkVGFza1ZpZXdDb21wb25lbnR9IGZyb20gJy4uLy4uL3RhYmJlZC9kZWZhdWx0LXRhYmJlZC10YXNrLXZpZXcvZGVmYXVsdC10YWJiZWQtdGFzay12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIEluamVjdGVkVGFiYmVkVGFza1ZpZXdEYXRhV2l0aE5hdmlnYXRpb25JdGVtVGFza0RhdGFcbn0gZnJvbSBcIi4uLy4uL21vZGVsL2luamVjdGVkLXRhYmJlZC10YXNrLXZpZXctZGF0YS13aXRoLW5hdmlnYXRpb24taXRlbS10YXNrLWRhdGFcIjtcbmltcG9ydCB7XG4gICAgRGVmYXVsdFRhYmJlZFNpbmdsZVRhc2tWaWV3Q29tcG9uZW50XG59IGZyb20gXCIuLi8uLi90YWJiZWQvZGVmYXVsdC10YWJiZWQtc2luZ2xlLXRhc2stdmlldy9kZWZhdWx0LXRhYmJlZC1zaW5nbGUtdGFzay12aWV3LmNvbXBvbmVudFwiO1xuXG5jb25zdCBsb2NhbEFsbG93ZWROZXRzRmFjdG9yeSA9IChmYWN0b3J5OiBBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5LCBhbGxvd2VkTmV0czogQXJyYXk8c3RyaW5nPikgPT4ge1xuICAgIGlmIChhbGxvd2VkTmV0cz8ubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gZmFjdG9yeS5jcmVhdGVGcm9tQXJyYXkoYWxsb3dlZE5ldHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWN0b3J5LmNyZWF0ZVdpdGhBbGxOZXRzKCk7XG4gICAgfVxufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1kZWZhdWx0LWNhc2UtdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtY2FzZS1yZWYtbGlzdC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kZWZhdWx0LWNhc2UtcmVmLWxpc3Qtdmlldy5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBDYXRlZ29yeUZhY3RvcnksXG4gICAgICAgIENhc2VWaWV3U2VydmljZSxcbiAgICAgICAgU2VhcmNoU2VydmljZSxcbiAgICAgICAgT3ZlcmZsb3dTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBsb2NhbEFsbG93ZWROZXRzRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5LCBOQUVfREFUQUZJRUxEX0FMTE9XRURfTkVUU11cbiAgICAgICAgfSxcbiAgICAgICAge3Byb3ZpZGU6IE5BRV9WSUVXX0lEX1NFR01FTlQsIHVzZVZhbHVlOiAnY2FzZSd9LFxuICAgICAgICBWaWV3SWRTZXJ2aWNlLFxuICAgICAgICB7cHJvdmlkZTogTkFFX1NFQVJDSF9DQVRFR09SSUVTLCB1c2VGYWN0b3J5OiBkZWZhdWx0Q2FzZVNlYXJjaENhdGVnb3JpZXNGYWN0b3J5LCBkZXBzOiBbQ2F0ZWdvcnlGYWN0b3J5XX0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdENhc2VSZWZMaXN0Vmlld0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Q2FzZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICAgIEBWaWV3Q2hpbGQoJ2hlYWRlcicpIHB1YmxpYyBjYXNlSGVhZGVyQ29tcG9uZW50OiBIZWFkZXJDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgYWRkaXRpb25hbEZpbHRlckRhdGE6IFRhc2tTZXREYXRhUmVxdWVzdEZpZWxkcztcbiAgICBwdWJsaWMgc2VhcmNoOiBib29sZWFuO1xuICAgIHB1YmxpYyBjcmVhdGVDYXNlOiBib29sZWFuO1xuICAgIHB1YmxpYyBjYXNlSGVhZGVyc0NvdW50O1xuXG4gICAgY29uc3RydWN0b3IoY2FzZVZpZXdTZXJ2aWNlOiBDYXNlVmlld1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgb3ZlcmZsb3dTZXJ2aWNlOiBPdmVyZmxvd1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfVEFCX0RBVEEpIHByb3RlY3RlZCBfaW5qZWN0ZWRUYWJEYXRhOiBJbmplY3RlZFRhYmJlZFRhc2tWaWV3RGF0YVdpdGhOYXZpZ2F0aW9uSXRlbVRhc2tEYXRhLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoREFUQV9GSUVMRF9QT1JUQUxfREFUQSkgcHJvdGVjdGVkIF9kYXRhRmllbGRQb3J0YWxEYXRhOiBEYXRhRmllbGRQb3J0YWxEYXRhPE11bHRpY2hvaWNlRmllbGQgfCBDYXNlUmVmRmllbGQgfCBFbnVtZXJhdGlvbkZpZWxkPixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9DQVNFX1JFRl9DUkVBVEVfQ0FTRSkgcHJvdGVjdGVkIF9jYXNlUmVmQ3JlYXRlQ2FzZTogYm9vbGVhbiA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX0NBU0VfUkVGX1NFQVJDSCkgcHJvdGVjdGVkIF9jYXNlUmVmU2VhcmNoOiBib29sZWFuID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfREVGQVVMVF9IRUFERVJTKSBwcm90ZWN0ZWQgX2Nhc2VIZWFkZXJzOiBzdHJpbmdbXSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9DTElDS0FCTEVfQ0FTRVMpIHByb3RlY3RlZCBfY2xpY2thYmxlQ2FzZXM6IGJvb2xlYW4gPSB0cnVlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX09QRU5fU0lOR0xFX1RBU0spIHByb3RlY3RlZCBfb3BlblNpbmdsZVRhc2s6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9TSU5HTEVfVEFTS19RVUVSWSkgcHJvdGVjdGVkIF9zaW5nbGVUYXNrUXVlcnk6IHN0cmluZykge1xuICAgICAgICBzdXBlcihjYXNlVmlld1NlcnZpY2UsIG92ZXJmbG93U2VydmljZSwgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICBlbmFibGVDYXNlVGl0bGU6IHRydWUsXG4gICAgICAgICAgICBpc0Nhc2VUaXRsZVJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNlYXJjaCA9ICEhX2Nhc2VSZWZTZWFyY2g7XG4gICAgICAgIHRoaXMuY3JlYXRlQ2FzZSA9ICEhX2Nhc2VSZWZDcmVhdGVDYXNlO1xuICAgICAgICB0aGlzLmNhc2VIZWFkZXJzQ291bnQgPSB0aGlzLl9jYXNlSGVhZGVycz8ubGVuZ3RoO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplSGVhZGVyKHRoaXMuY2FzZUhlYWRlckNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQXBwcm92YWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhRmllbGRQb3J0YWxEYXRhPy5kYXRhRmllbGQgaW5zdGFuY2VvZiBNdWx0aWNob2ljZUZpZWxkIHx8IHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGE/LmRhdGFGaWVsZCBpbnN0YW5jZW9mIEVudW1lcmF0aW9uRmllbGQ7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNhc2VDbGljayhjbGlja2VkQ2FzZTogQ2FzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faW5qZWN0ZWRUYWJEYXRhICE9PSBudWxsICAmJiB0aGlzLl9jbGlja2FibGVDYXNlcykge1xuICAgICAgICAgICAgdGhpcy5vcGVuVGFiKGNsaWNrZWRDYXNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGE/LmRhdGFGaWVsZD8uZm9ybUNvbnRyb2xSZWYuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9wZW5UYWIob3BlbkNhc2U6IENhc2UpIHtcbiAgICAgICAgbGV0IGJhc2VGaWx0ZXI6IEZpbHRlcjtcbiAgICAgICAgaWYgKHRoaXMuX3NpbmdsZVRhc2tRdWVyeSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBxdWVyeSA9IEpTT04ucGFyc2UodGhpcy5fc2luZ2xlVGFza1F1ZXJ5KTtcbiAgICAgICAgICAgIGlmIChxdWVyeS5xdWVyeSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcXVlcnkucXVlcnkgPSBxdWVyeS5xdWVyeSArIGAgQU5EIGNhc2VJZDoke29wZW5DYXNlLnN0cmluZ0lkfWA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChxdWVyeS5jYXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkuY2FzZS5pZCA9IG9wZW5DYXNlLnN0cmluZ0lkXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkuY2FzZSA9IHtpZDogYCR7b3BlbkNhc2Uuc3RyaW5nSWR9YH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYmFzZUZpbHRlciA9IFNpbXBsZUZpbHRlci5mcm9tVGFza1F1ZXJ5KHF1ZXJ5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJhc2VGaWx0ZXIgPSBuZXcgU2ltcGxlRmlsdGVyKCcnLCBGaWx0ZXJUeXBlLlRBU0ssIHtjYXNlOiB7aWQ6IGAke29wZW5DYXNlLnN0cmluZ0lkfWB9fSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faW5qZWN0ZWRUYWJEYXRhLnRhYlZpZXdSZWYub3BlblRhYih7XG4gICAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgICAgIHRleHQ6IG9wZW5DYXNlLnRpdGxlLFxuICAgICAgICAgICAgICAgIGljb246IG9wZW5DYXNlLmljb24gPyBvcGVuQ2FzZS5pY29uIDogJ2NoZWNrX2JveCdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjYW5CZUNsb3NlZDogdHJ1ZSxcbiAgICAgICAgICAgIHRhYkNvbnRlbnRDb21wb25lbnQ6IHRoaXMuX29wZW5TaW5nbGVUYXNrID8gRGVmYXVsdFRhYmJlZFNpbmdsZVRhc2tWaWV3Q29tcG9uZW50IDogRGVmYXVsdFRhYmJlZFRhc2tWaWV3Q29tcG9uZW50LFxuICAgICAgICAgICAgaW5qZWN0ZWRPYmplY3Q6IHtcbiAgICAgICAgICAgICAgICBiYXNlRmlsdGVyOiBiYXNlRmlsdGVyLFxuICAgICAgICAgICAgICAgIGFsbG93ZWROZXRzOiBbb3BlbkNhc2UucHJvY2Vzc0lkZW50aWZpZXJdLFxuICAgICAgICAgICAgICAgIG5hdmlnYXRpb25JdGVtVGFza0RhdGE6IHRoaXMuX2luamVjdGVkVGFiRGF0YS5uYXZpZ2F0aW9uSXRlbVRhc2tEYXRhLFxuICAgICAgICAgICAgICAgIHNlYXJjaFR5cGVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIGluaXRpYWxTZWFyY2hNb2RlOiBTZWFyY2hNb2RlLkZVTExURVhULFxuICAgICAgICAgICAgICAgICAgICBzaG93U2VhcmNoVG9nZ2xlQnV0dG9uOiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzaG93TW9yZU1lbnU6IHRydWUsXG4gICAgICAgICAgICAgICAgaGVhZGVyc0NoYW5nZWFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgaGVhZGVyc01vZGU6IFsnc29ydCcsICdlZGl0J10sXG4gICAgICAgICAgICAgICAgYWxsb3dUYWJsZU1vZGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZGVmYXVsdEhlYWRlcnNNb2RlOiAnc29ydCdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmRlcjogdGhpcy5faW5qZWN0ZWRUYWJEYXRhWyd0YWJWaWV3T3JkZXInXSxcbiAgICAgICAgICAgIHBhcmVudFVuaXF1ZUlkOiB0aGlzLl9pbmplY3RlZFRhYkRhdGEudGFiVW5pcXVlSWRcbiAgICAgICAgfSwgdHJ1ZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgY3JlYXRlZENhc2UoY2F6ZTogQ2FzZSkge1xuICAgICAgICB0aGlzLmhhbmRsZUNhc2VDbGljayhjYXplKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FzZS12aWV3LWNvbnRhaW5lclwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IHN0cmV0Y2hcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJjYXNlLXZpZXctc2VhcmNoLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW5cIj5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4RmxleCAqbmdJZj1cInNlYXJjaFwiPlxuICAgICAgICAgICAgICAgIDxuYy1zZWFyY2ggY2xhc3M9XCJzZWFyY2gtd2lkdGhcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiIFthZGRpdGlvbmFsRmlsdGVyRGF0YV09XCJhZGRpdGlvbmFsRmlsdGVyRGF0YVwiPjwvbmMtc2VhcmNoPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCIgKm5nSWY9XCJjcmVhdGVDYXNlXCI+XG4gICAgICAgICAgICAgICAgPG5jLWNyZWF0ZS1jYXNlLWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiIFtuZXdDYXNlQ3JlYXRpb25Db25maWddPVwibmV3Q2FzZUNyZWF0aW9uQ29uZmlnXCIgKGNhc2VDcmVhdGVkRXZlbnQpPVwiY3JlYXRlZENhc2UoJGV2ZW50KVwiPjwvbmMtY3JlYXRlLWNhc2UtYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZ1bGwtaGVpZ2h0IHRyYW5zZm9ybS1kaXYgY3VzdG9tLXNjcm9sbGJhclwiIFtuZ0NsYXNzXT1cInsnb3ZlcmZsb3ctZGl2JzogZ2V0T3ZlcmZsb3dTdGF0dXMoKX1cIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmdWxsLWhlaWdodCB0cmFuc2Zvcm0tZGl2IG1heC13aWR0aC1maXhcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCI+XG4gICAgICAgICAgICA8bmMtaGVhZGVyICNoZWFkZXIgW3R5cGVdPVwiaGVhZGVyVHlwZVwiIFtyZXNwb25zaXZlSGVhZGVyc109XCJ0cnVlXCIgY2xhc3M9XCJjYXNlLWhlYWRlci1wYWRkaW5nXCIgW25nU3R5bGVdPVwieyd3aWR0aCc6IGdldFdpZHRoKCl9XCIgW21heEhlYWRlckNvbHVtbnNdPVwiY2FzZUhlYWRlcnNDb3VudFwiIFthcHByb3ZhbF09XCJpc0FwcHJvdmFsKClcIj48L25jLWhlYWRlcj5cblxuICAgICAgICAgICAgPG5jLWNhc2UtbGlzdC1wYWdpbmF0b3IgW3NlbGVjdGVkSGVhZGVycyRdPVwic2VsZWN0ZWRIZWFkZXJzJFwiIFtzaG93RGVsZXRlTWVudV09XCJmYWxzZVwiIFt3aWR0aF09XCJnZXRXaWR0aCgpXCIgW2FwcHJvdmFsXT1cImlzQXBwcm92YWwoKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYXNlQ2xpY2spPVwiaGFuZGxlQ2FzZUNsaWNrKCRldmVudClcIiBbcmVzcG9uc2l2ZUJvZHldPVwidHJ1ZVwiIGZ4RmxleCBbdGV4dEVsbGlwc2lzXT1cInRydWVcIj48L25jLWNhc2UtbGlzdC1wYWdpbmF0b3I+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
@@ -1,17 +1,33 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { AbstractTaskViewComponent, AllowedNetsService, AllowedNetsServiceFactory, CategoryFactory, ChangedFieldsService, NAE_ASYNC_RENDERING_CONFIGURATION, NAE_TASK_FORCE_OPEN, SearchService, TaskViewService, ViewIdService } from "@netgrif/components-core";
1
+ import { Component, Inject, Optional, ViewChild } from '@angular/core';
2
+ import { AbstractTaskViewComponent, AllowedNetsService, AllowedNetsServiceFactory, CategoryFactory, ChangedFieldsService, DATA_FIELD_PORTAL_DATA, NAE_ASYNC_RENDERING_CONFIGURATION, NAE_CLICKABLE_TASKS, NAE_DATAFIELD_ALLOWED_NETS, NAE_DEFAULT_HEADERS, NAE_TASK_FORCE_OPEN, SearchService, TaskViewService, ViewIdService } 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 "@ngbracket/ngx-layout";
6
6
  import * as i3 from "../../../../../header/header.component";
7
7
  import * as i4 from "../../../../../panel/task-panel-list-pagination/task-list-pagination.component";
8
- const localAllowedNetsFactory = (factory) => {
9
- return factory.createWithAllNets();
8
+ const localAllowedNetsFactory = (factory, allowedNets) => {
9
+ if (allowedNets?.length > 0) {
10
+ return factory.createFromArray(allowedNets);
11
+ }
12
+ else {
13
+ return factory.createWithAllNets();
14
+ }
10
15
  };
11
16
  export class DefaultTaskViewComponent extends AbstractTaskViewComponent {
17
+ _dataFieldPortalData;
18
+ clickableTasks;
19
+ _taskHeaders;
12
20
  taskHeaderComponent;
13
- constructor(taskViewService) {
21
+ taskHeadersCount;
22
+ constructor(taskViewService, _dataFieldPortalData, clickableTasks = true, _taskHeaders) {
14
23
  super(taskViewService);
24
+ this._dataFieldPortalData = _dataFieldPortalData;
25
+ this.clickableTasks = clickableTasks;
26
+ this._taskHeaders = _taskHeaders;
27
+ this.taskHeadersCount = this._taskHeaders?.length;
28
+ }
29
+ disabled() {
30
+ return this._dataFieldPortalData?.dataField?.formControlRef?.disabled;
15
31
  }
16
32
  ngAfterViewInit() {
17
33
  this.initializeHeader(this.taskHeaderComponent);
@@ -19,7 +35,7 @@ export class DefaultTaskViewComponent extends AbstractTaskViewComponent {
19
35
  logEvent(event) {
20
36
  console.log(event);
21
37
  }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultTaskViewComponent, deps: [{ token: i1.TaskViewService }], target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultTaskViewComponent, deps: [{ token: i1.TaskViewService }, { token: DATA_FIELD_PORTAL_DATA, optional: true }, { token: NAE_CLICKABLE_TASKS, optional: true }, { token: NAE_DEFAULT_HEADERS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
23
39
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DefaultTaskViewComponent, selector: "nc-default-task-view", providers: [
24
40
  CategoryFactory,
25
41
  TaskViewService,
@@ -28,7 +44,7 @@ export class DefaultTaskViewComponent extends AbstractTaskViewComponent {
28
44
  {
29
45
  provide: AllowedNetsService,
30
46
  useFactory: localAllowedNetsFactory,
31
- deps: [AllowedNetsServiceFactory]
47
+ deps: [AllowedNetsServiceFactory, NAE_DATAFIELD_ALLOWED_NETS]
32
48
  },
33
49
  { provide: NAE_TASK_FORCE_OPEN, useValue: false },
34
50
  ViewIdService,
@@ -36,7 +52,7 @@ export class DefaultTaskViewComponent extends AbstractTaskViewComponent {
36
52
  provide: NAE_ASYNC_RENDERING_CONFIGURATION,
37
53
  useValue: { enableAsyncRenderingForNewFields: false, enableAsyncRenderingOnTaskExpand: false }
38
54
  }
39
- ], viewQueries: [{ propertyName: "taskHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"task-tab-background full-height\">\n <div fxLayout=\"column\" fxLayoutAlign=\"start stretch\" class=\"content-margin full-height\" >\n <nc-header #header type=\"task\" [responsiveHeaders]=\"true\" class=\"task-panel-padding-mini\"></nc-header>\n <nc-task-list-pagination [allowMultiOpen]=\"false\" [tasks$]=\"tasks$\" [loading$]=\"loading$\" [textEllipsis]=\"true\" [forceLoadDataOnOpen]=\"true\" [responsiveBody]=\"true\"\n [selectedHeaders$]=\"selectedHeaders$\" (taskEvent)=\"logEvent($event)\" fxFlex></nc-task-list-pagination>\n </div>\n</div>\n", styles: [".task-tab-background{height:100%;width:100%;overflow:auto;background-color:transparent}.search-panel{margin-top:16px;padding:8px 16px}.content-margin{margin:8px 24px 0}@media screen and (max-width: 599.99px){.content-margin{margin:8px 12px 0}}.task-panel-padding-mini{padding-top:16px;padding-left:1px;padding-right:1px}.full-height{height:calc(100% - 8px)}.search-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i3.HeaderComponent, selector: "nc-header" }, { kind: "component", type: i4.TaskListPaginationComponent, selector: "nc-task-list-pagination" }] });
55
+ ], viewQueries: [{ propertyName: "taskHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"task-tab-background full-height\">\n <div fxLayout=\"column\" fxLayoutAlign=\"start stretch\" class=\"content-margin full-height\" >\n <nc-header #header type=\"task\" [responsiveHeaders]=\"true\" class=\"task-panel-padding-mini\" [maxHeaderColumns]=\"taskHeadersCount\"></nc-header>\n <nc-task-list-pagination [allowMultiOpen]=\"false\" [tasks$]=\"tasks$\" [loading$]=\"loading$\" [textEllipsis]=\"true\" [forceLoadDataOnOpen]=\"true\" [responsiveBody]=\"true\"\n [selectedHeaders$]=\"selectedHeaders$\" (taskEvent)=\"logEvent($event)\" fxFlex [disabled]=\"disabled()\" [preventExpand]=\"!clickableTasks\"></nc-task-list-pagination>\n </div>\n</div>\n", styles: [".task-tab-background{height:100%;width:100%;overflow:auto;background-color:transparent}.search-panel{margin-top:16px;padding:8px 16px}.content-margin{margin:8px 24px 0}@media screen and (max-width: 599.99px){.content-margin{margin:8px 12px 0}}.task-panel-padding-mini{padding-top:16px;padding-left:1px;padding-right:1px}.full-height{height:calc(100% - 8px)}.search-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i3.HeaderComponent, selector: "nc-header" }, { kind: "component", type: i4.TaskListPaginationComponent, selector: "nc-task-list-pagination" }] });
40
56
  }
41
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultTaskViewComponent, decorators: [{
42
58
  type: Component,
@@ -48,7 +64,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
48
64
  {
49
65
  provide: AllowedNetsService,
50
66
  useFactory: localAllowedNetsFactory,
51
- deps: [AllowedNetsServiceFactory]
67
+ deps: [AllowedNetsServiceFactory, NAE_DATAFIELD_ALLOWED_NETS]
52
68
  },
53
69
  { provide: NAE_TASK_FORCE_OPEN, useValue: false },
54
70
  ViewIdService,
@@ -56,9 +72,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
56
72
  provide: NAE_ASYNC_RENDERING_CONFIGURATION,
57
73
  useValue: { enableAsyncRenderingForNewFields: false, enableAsyncRenderingOnTaskExpand: false }
58
74
  }
59
- ], template: "<div class=\"task-tab-background full-height\">\n <div fxLayout=\"column\" fxLayoutAlign=\"start stretch\" class=\"content-margin full-height\" >\n <nc-header #header type=\"task\" [responsiveHeaders]=\"true\" class=\"task-panel-padding-mini\"></nc-header>\n <nc-task-list-pagination [allowMultiOpen]=\"false\" [tasks$]=\"tasks$\" [loading$]=\"loading$\" [textEllipsis]=\"true\" [forceLoadDataOnOpen]=\"true\" [responsiveBody]=\"true\"\n [selectedHeaders$]=\"selectedHeaders$\" (taskEvent)=\"logEvent($event)\" fxFlex></nc-task-list-pagination>\n </div>\n</div>\n", styles: [".task-tab-background{height:100%;width:100%;overflow:auto;background-color:transparent}.search-panel{margin-top:16px;padding:8px 16px}.content-margin{margin:8px 24px 0}@media screen and (max-width: 599.99px){.content-margin{margin:8px 12px 0}}.task-panel-padding-mini{padding-top:16px;padding-left:1px;padding-right:1px}.full-height{height:calc(100% - 8px)}.search-width{width:100%}\n"] }]
60
- }], ctorParameters: () => [{ type: i1.TaskViewService }], propDecorators: { taskHeaderComponent: [{
75
+ ], template: "<div class=\"task-tab-background full-height\">\n <div fxLayout=\"column\" fxLayoutAlign=\"start stretch\" class=\"content-margin full-height\" >\n <nc-header #header type=\"task\" [responsiveHeaders]=\"true\" class=\"task-panel-padding-mini\" [maxHeaderColumns]=\"taskHeadersCount\"></nc-header>\n <nc-task-list-pagination [allowMultiOpen]=\"false\" [tasks$]=\"tasks$\" [loading$]=\"loading$\" [textEllipsis]=\"true\" [forceLoadDataOnOpen]=\"true\" [responsiveBody]=\"true\"\n [selectedHeaders$]=\"selectedHeaders$\" (taskEvent)=\"logEvent($event)\" fxFlex [disabled]=\"disabled()\" [preventExpand]=\"!clickableTasks\"></nc-task-list-pagination>\n </div>\n</div>\n", styles: [".task-tab-background{height:100%;width:100%;overflow:auto;background-color:transparent}.search-panel{margin-top:16px;padding:8px 16px}.content-margin{margin:8px 24px 0}@media screen and (max-width: 599.99px){.content-margin{margin:8px 12px 0}}.task-panel-padding-mini{padding-top:16px;padding-left:1px;padding-right:1px}.full-height{height:calc(100% - 8px)}.search-width{width:100%}\n"] }]
76
+ }], ctorParameters: () => [{ type: i1.TaskViewService }, { type: undefined, decorators: [{
77
+ type: Optional
78
+ }, {
79
+ type: Inject,
80
+ args: [DATA_FIELD_PORTAL_DATA]
81
+ }] }, { type: undefined, decorators: [{
82
+ type: Optional
83
+ }, {
84
+ type: Inject,
85
+ args: [NAE_CLICKABLE_TASKS]
86
+ }] }, { type: undefined, decorators: [{
87
+ type: Optional
88
+ }, {
89
+ type: Inject,
90
+ args: [NAE_DEFAULT_HEADERS]
91
+ }] }], propDecorators: { taskHeaderComponent: [{
61
92
  type: ViewChild,
62
93
  args: ['header']
63
94
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10YXNrLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWNvbXBvbmVudHMvcmVmcy9kZWZhdWx0LXRhc2stdmlldy9kZWZhdWx0LXRhc2stdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL2dyb3VwLW5hdmlnYXRpb24tY29tcG9uZW50LXJlc29sdmVyL2RlZmF1bHQtY29tcG9uZW50cy9yZWZzL2RlZmF1bHQtdGFzay12aWV3L2RlZmF1bHQtdGFzay12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDekIsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixpQ0FBaUMsRUFDakMsbUJBQW1CLEVBQ25CLGFBQWEsRUFFYixlQUFlLEVBQUUsYUFBYSxFQUNqQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFHbEMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLE9BQWtDLEVBQUUsRUFBRTtJQUNuRSxPQUFPLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0FBQ3ZDLENBQUMsQ0FBQztBQXdCRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEseUJBQXlCO0lBRXZDLG1CQUFtQixDQUFrQjtJQUVqRSxZQUFZLGVBQWdDO1FBQ3hDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQTRCO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQzt3R0FkUSx3QkFBd0I7NEZBQXhCLHdCQUF3QiwrQ0FsQnRCO1lBQ1AsZUFBZTtZQUNmLGVBQWU7WUFDZixhQUFhO1lBQ2Isb0JBQW9CO1lBQ3BCO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFVBQVUsRUFBRSx1QkFBdUI7Z0JBQ25DLElBQUksRUFBRSxDQUFDLHlCQUF5QixDQUFDO2FBQ3BDO1lBQ0QsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQztZQUMvQyxhQUFhO1lBQ2I7Z0JBQ0ksT0FBTyxFQUFFLGlDQUFpQztnQkFDMUMsUUFBUSxFQUFFLEVBQUMsZ0NBQWdDLEVBQUUsS0FBSyxFQUFFLGdDQUFnQyxFQUFFLEtBQUssRUFBQzthQUMvRjtTQUNKLGdLQ3ZDTCx5bUJBT0E7OzRGRGtDYSx3QkFBd0I7a0JBdEJwQyxTQUFTOytCQUNJLHNCQUFzQixhQUdyQjt3QkFDUCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixvQkFBb0I7d0JBQ3BCOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSx1QkFBdUI7NEJBQ25DLElBQUksRUFBRSxDQUFDLHlCQUF5QixDQUFDO3lCQUNwQzt3QkFDRCxFQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFDO3dCQUMvQyxhQUFhO3dCQUNiOzRCQUNJLE9BQU8sRUFBRSxpQ0FBaUM7NEJBQzFDLFFBQVEsRUFBRSxFQUFDLGdDQUFnQyxFQUFFLEtBQUssRUFBRSxnQ0FBZ0MsRUFBRSxLQUFLLEVBQUM7eUJBQy9GO3FCQUNKO29GQUkyQixtQkFBbUI7c0JBQTlDLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFRhc2tWaWV3Q29tcG9uZW50LFxuICAgIEFsbG93ZWROZXRzU2VydmljZSxcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5LFxuICAgIENhdGVnb3J5RmFjdG9yeSxcbiAgICBDaGFuZ2VkRmllbGRzU2VydmljZSxcbiAgICBOQUVfQVNZTkNfUkVOREVSSU5HX0NPTkZJR1VSQVRJT04sXG4gICAgTkFFX1RBU0tfRk9SQ0VfT1BFTixcbiAgICBTZWFyY2hTZXJ2aWNlLFxuICAgIFRhc2tFdmVudE5vdGlmaWNhdGlvbixcbiAgICBUYXNrVmlld1NlcnZpY2UsIFZpZXdJZFNlcnZpY2Vcbn0gZnJvbSBcIkBuZXRncmlmL2NvbXBvbmVudHMtY29yZVwiO1xuaW1wb3J0IHtIZWFkZXJDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudFwiO1xuXG5jb25zdCBsb2NhbEFsbG93ZWROZXRzRmFjdG9yeSA9IChmYWN0b3J5OiBBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5KSA9PiB7XG4gICAgcmV0dXJuIGZhY3RvcnkuY3JlYXRlV2l0aEFsbE5ldHMoKTtcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtZGVmYXVsdC10YXNrLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kZWZhdWx0LXRhc2stdmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGVmYXVsdC10YXNrLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQ2F0ZWdvcnlGYWN0b3J5LFxuICAgICAgICBUYXNrVmlld1NlcnZpY2UsXG4gICAgICAgIFNlYXJjaFNlcnZpY2UsXG4gICAgICAgIENoYW5nZWRGaWVsZHNTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBbGxvd2VkTmV0c1NlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBsb2NhbEFsbG93ZWROZXRzRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5XVxuICAgICAgICB9LFxuICAgICAgICB7cHJvdmlkZTogTkFFX1RBU0tfRk9SQ0VfT1BFTiwgdXNlVmFsdWU6IGZhbHNlfSxcbiAgICAgICAgVmlld0lkU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkFFX0FTWU5DX1JFTkRFUklOR19DT05GSUdVUkFUSU9OLFxuICAgICAgICAgICAgdXNlVmFsdWU6IHtlbmFibGVBc3luY1JlbmRlcmluZ0Zvck5ld0ZpZWxkczogZmFsc2UsIGVuYWJsZUFzeW5jUmVuZGVyaW5nT25UYXNrRXhwYW5kOiBmYWxzZX1cbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdFRhc2tWaWV3Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUYXNrVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyJykgcHVibGljIHRhc2tIZWFkZXJDb21wb25lbnQ6IEhlYWRlckNvbXBvbmVudDtcblxuICAgIGNvbnN0cnVjdG9yKHRhc2tWaWV3U2VydmljZTogVGFza1ZpZXdTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKHRhc2tWaWV3U2VydmljZSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVIZWFkZXIodGhpcy50YXNrSGVhZGVyQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBsb2dFdmVudChldmVudDogVGFza0V2ZW50Tm90aWZpY2F0aW9uKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0YXNrLXRhYi1iYWNrZ3JvdW5kIGZ1bGwtaGVpZ2h0XCI+XG4gICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCIgY2xhc3M9XCJjb250ZW50LW1hcmdpbiBmdWxsLWhlaWdodFwiID5cbiAgICAgICAgPG5jLWhlYWRlciAjaGVhZGVyIHR5cGU9XCJ0YXNrXCIgW3Jlc3BvbnNpdmVIZWFkZXJzXT1cInRydWVcIiBjbGFzcz1cInRhc2stcGFuZWwtcGFkZGluZy1taW5pXCI+PC9uYy1oZWFkZXI+XG4gICAgICAgIDxuYy10YXNrLWxpc3QtcGFnaW5hdGlvbiBbYWxsb3dNdWx0aU9wZW5dPVwiZmFsc2VcIiBbdGFza3MkXT1cInRhc2tzJFwiIFtsb2FkaW5nJF09XCJsb2FkaW5nJFwiIFt0ZXh0RWxsaXBzaXNdPVwidHJ1ZVwiIFtmb3JjZUxvYWREYXRhT25PcGVuXT1cInRydWVcIiBbcmVzcG9uc2l2ZUJvZHldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRIZWFkZXJzJF09XCJzZWxlY3RlZEhlYWRlcnMkXCIgKHRhc2tFdmVudCk9XCJsb2dFdmVudCgkZXZlbnQpXCIgZnhGbGV4PjwvbmMtdGFzay1saXN0LXBhZ2luYXRpb24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10YXNrLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvbmF2aWdhdGlvbi9ncm91cC1uYXZpZ2F0aW9uLWNvbXBvbmVudC1yZXNvbHZlci9kZWZhdWx0LWNvbXBvbmVudHMvcmVmcy9kZWZhdWx0LXRhc2stdmlldy9kZWZhdWx0LXRhc2stdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL2dyb3VwLW5hdmlnYXRpb24tY29tcG9uZW50LXJlc29sdmVyL2RlZmF1bHQtY29tcG9uZW50cy9yZWZzL2RlZmF1bHQtdGFzay12aWV3L2RlZmF1bHQtdGFzay12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QixlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUV0QixpQ0FBaUMsRUFBRSxtQkFBbUIsRUFBRSwwQkFBMEIsRUFDbEYsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixhQUFhLEVBR2IsZUFBZSxFQUFFLGFBQWEsRUFDakMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBR2xDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxPQUFrQyxFQUFFLFdBQTBCLEVBQUUsRUFBRTtJQUMvRixJQUFJLFdBQVcsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3pCLE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUMvQztTQUFNO1FBQ0gsT0FBTyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztLQUN0QztBQUNMLENBQUMsQ0FBQztBQXdCRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEseUJBQXlCO0lBTUQ7SUFDTjtJQUNHO0lBTm5DLG1CQUFtQixDQUFrQjtJQUMxRCxnQkFBZ0IsQ0FBQztJQUV4QixZQUFZLGVBQWdDLEVBQ3NCLG9CQUF1RCxFQUM3RCxpQkFBMEIsSUFBSSxFQUMzQixZQUFzQjtRQUNqRixLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFIdUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFtQztRQUM3RCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQVU7UUFFakYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3RELENBQUM7SUFFTSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxRQUFRLENBQUM7SUFDMUUsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUE0QjtRQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7d0dBdkJRLHdCQUF3QixpREFNRCxzQkFBc0IsNkJBQ3RCLG1CQUFtQiw2QkFDbkIsbUJBQW1COzRGQVIxQyx3QkFBd0IsK0NBbEJ0QjtZQUNQLGVBQWU7WUFDZixlQUFlO1lBQ2YsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQjtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixVQUFVLEVBQUUsdUJBQXVCO2dCQUNuQyxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSwwQkFBMEIsQ0FBQzthQUNoRTtZQUNELEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUM7WUFDL0MsYUFBYTtZQUNiO2dCQUNJLE9BQU8sRUFBRSxpQ0FBaUM7Z0JBQzFDLFFBQVEsRUFBRSxFQUFDLGdDQUFnQyxFQUFFLEtBQUssRUFBRSxnQ0FBZ0MsRUFBRSxLQUFLLEVBQUM7YUFDL0Y7U0FDSixnS0MvQ0wsK3NCQU9BOzs0RkQwQ2Esd0JBQXdCO2tCQXRCcEMsU0FBUzsrQkFDSSxzQkFBc0IsYUFHckI7d0JBQ1AsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQjs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixVQUFVLEVBQUUsdUJBQXVCOzRCQUNuQyxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSwwQkFBMEIsQ0FBQzt5QkFDaEU7d0JBQ0QsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQzt3QkFDL0MsYUFBYTt3QkFDYjs0QkFDSSxPQUFPLEVBQUUsaUNBQWlDOzRCQUMxQyxRQUFRLEVBQUUsRUFBQyxnQ0FBZ0MsRUFBRSxLQUFLLEVBQUUsZ0NBQWdDLEVBQUUsS0FBSyxFQUFDO3lCQUMvRjtxQkFDSjs7MEJBUVksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUN6QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQ3RDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1CO3lDQU52QixtQkFBbUI7c0JBQTlDLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFRhc2tWaWV3Q29tcG9uZW50LFxuICAgIEFsbG93ZWROZXRzU2VydmljZSxcbiAgICBBbGxvd2VkTmV0c1NlcnZpY2VGYWN0b3J5LFxuICAgIENhdGVnb3J5RmFjdG9yeSxcbiAgICBDaGFuZ2VkRmllbGRzU2VydmljZSxcbiAgICBEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBLFxuICAgIERhdGFGaWVsZFBvcnRhbERhdGEsXG4gICAgTkFFX0FTWU5DX1JFTkRFUklOR19DT05GSUdVUkFUSU9OLCBOQUVfQ0xJQ0tBQkxFX1RBU0tTLCBOQUVfREFUQUZJRUxEX0FMTE9XRURfTkVUUyxcbiAgICBOQUVfREVGQVVMVF9IRUFERVJTLFxuICAgIE5BRV9UQVNLX0ZPUkNFX09QRU4sXG4gICAgU2VhcmNoU2VydmljZSxcbiAgICBUYXNrRXZlbnROb3RpZmljYXRpb24sXG4gICAgVGFza1JlZkZpZWxkLFxuICAgIFRhc2tWaWV3U2VydmljZSwgVmlld0lkU2VydmljZVxufSBmcm9tIFwiQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlXCI7XG5pbXBvcnQge0hlYWRlckNvbXBvbmVudH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2hlYWRlci9oZWFkZXIuY29tcG9uZW50XCI7XG5cbmNvbnN0IGxvY2FsQWxsb3dlZE5ldHNGYWN0b3J5ID0gKGZhY3Rvcnk6IEFsbG93ZWROZXRzU2VydmljZUZhY3RvcnksIGFsbG93ZWROZXRzOiBBcnJheTxzdHJpbmc+KSA9PiB7XG4gICAgaWYgKGFsbG93ZWROZXRzPy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWN0b3J5LmNyZWF0ZUZyb21BcnJheShhbGxvd2VkTmV0cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhY3RvcnkuY3JlYXRlV2l0aEFsbE5ldHMoKTtcbiAgICB9XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLWRlZmF1bHQtdGFzay12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGVmYXVsdC10YXNrLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RlZmF1bHQtdGFzay12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENhdGVnb3J5RmFjdG9yeSxcbiAgICAgICAgVGFza1ZpZXdTZXJ2aWNlLFxuICAgICAgICBTZWFyY2hTZXJ2aWNlLFxuICAgICAgICBDaGFuZ2VkRmllbGRzU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogbG9jYWxBbGxvd2VkTmV0c0ZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSwgTkFFX0RBVEFGSUVMRF9BTExPV0VEX05FVFNdXG4gICAgICAgIH0sXG4gICAgICAgIHtwcm92aWRlOiBOQUVfVEFTS19GT1JDRV9PUEVOLCB1c2VWYWx1ZTogZmFsc2V9LFxuICAgICAgICBWaWV3SWRTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOQUVfQVNZTkNfUkVOREVSSU5HX0NPTkZJR1VSQVRJT04sXG4gICAgICAgICAgICB1c2VWYWx1ZToge2VuYWJsZUFzeW5jUmVuZGVyaW5nRm9yTmV3RmllbGRzOiBmYWxzZSwgZW5hYmxlQXN5bmNSZW5kZXJpbmdPblRhc2tFeHBhbmQ6IGZhbHNlfVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0VGFza1ZpZXdDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFRhc2tWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBAVmlld0NoaWxkKCdoZWFkZXInKSBwdWJsaWMgdGFza0hlYWRlckNvbXBvbmVudDogSGVhZGVyQ29tcG9uZW50O1xuICAgIHB1YmxpYyB0YXNrSGVhZGVyc0NvdW50O1xuXG4gICAgY29uc3RydWN0b3IodGFza1ZpZXdTZXJ2aWNlOiBUYXNrVmlld1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBKSBwcm90ZWN0ZWQgX2RhdGFGaWVsZFBvcnRhbERhdGE6IERhdGFGaWVsZFBvcnRhbERhdGE8VGFza1JlZkZpZWxkPixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9DTElDS0FCTEVfVEFTS1MpIHB1YmxpYyBjbGlja2FibGVUYXNrczogYm9vbGVhbiA9IHRydWUsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfREVGQVVMVF9IRUFERVJTKSBwcm90ZWN0ZWQgX3Rhc2tIZWFkZXJzOiBzdHJpbmdbXSkge1xuICAgICAgICBzdXBlcih0YXNrVmlld1NlcnZpY2UpO1xuICAgICAgICB0aGlzLnRhc2tIZWFkZXJzQ291bnQgPSB0aGlzLl90YXNrSGVhZGVycz8ubGVuZ3RoO1xuICAgIH1cblxuICAgIHB1YmxpYyBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFGaWVsZFBvcnRhbERhdGE/LmRhdGFGaWVsZD8uZm9ybUNvbnRyb2xSZWY/LmRpc2FibGVkO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplSGVhZGVyKHRoaXMudGFza0hlYWRlckNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgbG9nRXZlbnQoZXZlbnQ6IFRhc2tFdmVudE5vdGlmaWNhdGlvbikge1xuICAgICAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwidGFzay10YWItYmFja2dyb3VuZCBmdWxsLWhlaWdodFwiPlxuICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RhcnQgc3RyZXRjaFwiIGNsYXNzPVwiY29udGVudC1tYXJnaW4gZnVsbC1oZWlnaHRcIiA+XG4gICAgICAgIDxuYy1oZWFkZXIgI2hlYWRlciB0eXBlPVwidGFza1wiIFtyZXNwb25zaXZlSGVhZGVyc109XCJ0cnVlXCIgY2xhc3M9XCJ0YXNrLXBhbmVsLXBhZGRpbmctbWluaVwiIFttYXhIZWFkZXJDb2x1bW5zXT1cInRhc2tIZWFkZXJzQ291bnRcIj48L25jLWhlYWRlcj5cbiAgICAgICAgPG5jLXRhc2stbGlzdC1wYWdpbmF0aW9uIFthbGxvd011bHRpT3Blbl09XCJmYWxzZVwiIFt0YXNrcyRdPVwidGFza3MkXCIgW2xvYWRpbmckXT1cImxvYWRpbmckXCIgW3RleHRFbGxpcHNpc109XCJ0cnVlXCIgW2ZvcmNlTG9hZERhdGFPbk9wZW5dPVwidHJ1ZVwiIFtyZXNwb25zaXZlQm9keV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZEhlYWRlcnMkXT1cInNlbGVjdGVkSGVhZGVycyRcIiAodGFza0V2ZW50KT1cImxvZ0V2ZW50KCRldmVudClcIiBmeEZsZXggW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIiBbcHJldmVudEV4cGFuZF09XCIhY2xpY2thYmxlVGFza3NcIj48L25jLXRhc2stbGlzdC1wYWdpbmF0aW9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -183,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
183
183
  type: Inject,
184
184
  args: [NAE_NAVIGATION_ITEM_TASK_DATA]
185
185
  }] }, { type: i1.TranslateService }, { type: i2.FilterExtractionService }, { type: i3.ActivatedRoute }] });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10YWItdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL2dyb3VwLW5hdmlnYXRpb24tY29tcG9uZW50LXJlc29sdmVyL2RlZmF1bHQtY29tcG9uZW50cy90YWJiZWQvZGVmYXVsdC10YWItdmlldy9kZWZhdWx0LXRhYi12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIvZGVmYXVsdC1jb21wb25lbnRzL3RhYmJlZC9kZWZhdWx0LXRhYi12aWV3L2RlZmF1bHQtdGFiLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUVILG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLG1DQUFtQyxFQUNuQyw2QkFBNkIsRUFDN0IsbUJBQW1CLEVBR25CLFVBQVUsRUFFVixhQUFhLEVBRWIsd0JBQXdCLEVBQ3hCLE9BQU8sRUFDVixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzlHLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzlHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQ0gsb0NBQW9DLEVBQ3ZDLE1BQU0sOEVBQThFLENB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QUFFLGNBQWdDO1FBQzFGLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRW5GLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2REFBNkQsQ0FBQyxDQUFDO1NBQ2xGO1FBRUQsT0FBTztZQUNIO2dCQUNJLEtBQUssRUFBRSxFQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFDO2dCQUNuRCxXQUFXLEVBQUUsS0FBSztnQkFDbEIsbUJBQW1CLEVBQUUsMEJBQTBCO2dCQUMvQyxjQUFjLEVBQUU7b0JBQ1osc0JBQXNCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjtvQkFDcEQsZ0JBQWdCLEVBQUUsb0NBQW9DO29CQUN0RCxZQUFZLEVBQUUsQ0FBQztpQkFDbEI7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO3dHQXZLUSx1QkFBdUIsa0JBSVosNkJBQTZCOzRGQUp4Qyx1QkFBdUIsOENBTHJCO1lBQ1AsYUFBYTtZQUNiLEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxtQ0FBbUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBQztTQUMxRywwQkNsQ0wsaU1BR0E7OzRGRGlDYSx1QkFBdUI7a0JBVG5DLFNBQVM7K0JBQ0kscUJBQXFCLGFBR3BCO3dCQUNQLGFBQWE7d0JBQ2IsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLG1DQUFtQyxFQUFFLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFDO3FCQUMxRzs7MEJBTVksTUFBTTsyQkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRGF0YUdyb3VwLFxuICAgIGV4dHJhY3RJY29uQW5kVGl0bGUsXG4gICAgZXh0cmFjdFNlYXJjaFR5cGVGcm9tRGF0YSxcbiAgICBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhLFxuICAgIGdyb3VwTmF2aWdhdGlvblZpZXdJZFNlZ21lbnRGYWN0b3J5LFxuICAgIE5BRV9OQVZJR0FUSU9OX0lURU1fVEFTS19EQVRBLFxuICAgIE5BRV9WSUVXX0lEX1NFR01FTlQsXG4gICAgTmV3Q2FzZUNyZWF0aW9uQ29uZmlndXJhdGlvbkRhdGEsXG4gICAgU2VhcmNoQ29tcG9uZW50Q29uZmlndXJhdGlvbixcbiAgICBTZWFyY2hNb2RlLFxuICAgIFRhYkNvbnRlbnQsXG4gICAgVmlld0lkU2VydmljZSxcbiAgICBGaWx0ZXJFeHRyYWN0aW9uU2VydmljZSxcbiAgICBHcm91cE5hdmlnYXRpb25Db25zdGFudHMsXG4gICAgaGFzVmlld1xufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtEZWZhdWx0VGFiYmVkQ2FzZVZpZXdDb21wb25lbnR9IGZyb20gJy4uL2RlZmF1bHQtdGFiYmVkLWNhc2Utdmlldy9kZWZhdWx0LXRhYmJlZC1jYXNlLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7RGVmYXVsdFRhYmJlZFRhc2tWaWV3Q29tcG9uZW50fSBmcm9tICcuLi9kZWZhdWx0LXRhYmJlZC10YXNrLXZpZXcvZGVmYXVsdC10YWJiZWQtdGFzay12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHtEZWZhdWx0VGlja2V0Vmlld0NvbXBvbmVudH0gZnJvbSBcIi4uL2RlZmF1bHQtdGlja2V0LXZpZXcvZGVmYXVsdC10aWNrZXQtdmlldy5jb21wb25lbnRcIjtcbmltcG9ydCB7XG4gICAgRGVmYXVsdFRhYmJlZFNpbmdsZVRhc2tWaWV3Q29tcG9uZW50XG59IGZyb20gXCIuLi9kZWZhdWx0LXRhYmJlZC1zaW5nbGUtdGFzay12aWV3L2RlZmF1bHQtdGFiYmVkLXNpbmdsZS10YXNrLXZpZXcuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmMtZGVmYXVsdC10YWItdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtdGFiLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RlZmF1bHQtdGFiLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVmlld0lkU2VydmljZSxcbiAgICAgICAge3Byb3ZpZGU6IE5BRV9WSUVXX0lEX1NFR01FTlQsIHVzZUZhY3Rvcnk6IGdyb3VwTmF2aWdhdGlvblZpZXdJZFNlZ21lbnRGYWN0b3J5LCBkZXBzOiBbQWN0aXZhdGVkUm91dGVdfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdFRhYlZpZXdDb21wb25lbnQge1xuXG4gICAgdGFiczogQXJyYXk8VGFiQ29udGVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KE5BRV9OQVZJR0FUSU9OX0lURU1fVEFTS19EQVRBKSBwcm90ZWN0ZWQgX25hdmlnYXRpb25JdGVtVGFza0RhdGE6IEFycmF5PERhdGFHcm91cD4sXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgZXh0cmFjdGlvblNlcnZpY2U6IEZpbHRlckV4dHJhY3Rpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgdGhpcy50YWJzID0gdGhpcy5nZXRUYWJzKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFRhYnMoKTogVGFiQ29udGVudFtdIHtcbiAgICAgICAgY29uc3QgbWVudUl0ZW1EYXRhR3JvdXBzOiBBcnJheTxEYXRhR3JvdXA+ID0gdGhpcy5fbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YS5zbGljZSgwLCA0KVxuICAgICAgICBjb25zdCB2aWV3RGF0YUdyb3VwczogQXJyYXk8RGF0YUdyb3VwPiA9IHRoaXMuX25hdmlnYXRpb25JdGVtVGFza0RhdGEuc2xpY2UoNCwgdGhpcy5fbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YS5sZW5ndGgpO1xuXG4gICAgICAgIGNvbnN0IHZpZXdUeXBlOiBzdHJpbmcgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhKG1lbnVJdGVtRGF0YUdyb3VwcywgXCJ2aWV3X2NvbmZpZ3VyYXRpb25fdHlwZVwiKVxuICAgICAgICBzd2l0Y2ggKHZpZXdUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwidGFiYmVkX2Nhc2Vfdmlld1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldENhc2VUYWJzKG1lbnVJdGVtRGF0YUdyb3Vwcywgdmlld0RhdGFHcm91cHMpO1xuICAgICAgICAgICAgY2FzZSBcInRhYmJlZF90YXNrX3ZpZXdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUYXNrVGFicyhtZW51SXRlbURhdGFHcm91cHMsIHZpZXdEYXRhR3JvdXBzKTtcbiAgICAgICAgICAgIGNhc2UgXCJ0YWJiZWRfdGlja2V0X3ZpZXdcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUaWNrZXRUYWJzKG1lbnVJdGVtRGF0YUdyb3Vwcywgdmlld0RhdGFHcm91cHMpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZXNvbHZlIHRhYnMgZm9yICcke3ZpZXdUeXBlfScgdmlldyB0eXBlYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0Q2FzZVRhYnMobWVudUl0ZW1EYXRhR3JvdXBzOiBBcnJheTxEYXRhR3JvdXA+LCB2aWV3RGF0YUdyb3VwczogQXJyYXk8RGF0YUdyb3VwPik6IFRhYkNvbnRlbnRbXSB7XG4gICAgICAgIGNvbnN0IGxhYmVsRGF0YSA9IGV4dHJhY3RJY29uQW5kVGl0bGUobWVudUl0ZW1EYXRhR3JvdXBzLCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgICAgICAgY29uc3QgYmxvY2tOZXRzU3RyaW5nID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxzdHJpbmc+KHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9DQVNFX0JBTk5FRF9QUk9DRVNTX0NSRUFUSU9OKTtcbiAgICAgICAgY29uc3QgYmxvY2tOZXRzID0gYmxvY2tOZXRzU3RyaW5nID09PSB1bmRlZmluZWQgPyBbXSA6IGJsb2NrTmV0c1N0cmluZy5zcGxpdCgnLCcpXG4gICAgICAgIGNvbnN0IGNyZWF0ZUNhc2VCdXR0b25UaXRsZTogc3RyaW5nID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxzdHJpbmc+KHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9DUkVBVEVfQ0FTRV9CVVRUT05fVElUTEUpO1xuICAgICAgICBjb25zdCBjcmVhdGVDYXNlQnV0dG9uSWNvbjogc3RyaW5nID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxzdHJpbmc+KHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9DUkVBVEVfQ0FTRV9CVVRUT05fSUNPTik7XG4gICAgICAgIGNvbnN0IHJlcXVpcmVUaXRsZTogYm9vbGVhbiA9IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8Ym9vbGVhbj4odmlld0RhdGFHcm91cHMsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX0NBU0VfVElUTEVfSU5fQ1JFQVRJT04pO1xuICAgICAgICBjb25zdCBzaG93Q3JlYXRlQ2FzZUJ1dHRvbjogYm9vbGVhbiA9IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8Ym9vbGVhbj4odmlld0RhdGFHcm91cHMsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX1NIT1dfQ1JFQVRFX0NBU0VfQlVUVE9OKTtcbiAgICAgICAgY29uc3QgY2hhaW5lZFZpZXdUeXBlOiBzdHJpbmcgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhKHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9DSEFJTkVEX1ZJRVdfQ09ORklHVVJBVElPTl9UWVBFKTtcblxuICAgICAgICBjb25zdCBuZXdDYXNlQnV0dG9uQ29uZmlnOiBOZXdDYXNlQ3JlYXRpb25Db25maWd1cmF0aW9uRGF0YSA9IHtcbiAgICAgICAgICAgIGVuYWJsZUNhc2VUaXRsZTogcmVxdWlyZVRpdGxlLFxuICAgICAgICAgICAgaXNDYXNlVGl0bGVSZXF1aXJlZDogcmVxdWlyZVRpdGxlLFxuICAgICAgICAgICAgbmV3Q2FzZUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICAgICAgICAgIGNyZWF0ZUNhc2VCdXR0b25UaXRsZSxcbiAgICAgICAgICAgICAgICBjcmVhdGVDYXNlQnV0dG9uSWNvbixcbiAgICAgICAgICAgICAgICBzaG93Q3JlYXRlQ2FzZUJ1dHRvbjogc2hvd0NyZWF0ZUNhc2VCdXR0b24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYmxvY2tOZXRzOiBibG9ja05ldHNcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgY2FzZVNlYXJjaFR5cGUgPSBleHRyYWN0U2VhcmNoVHlwZUZyb21EYXRhKHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9DQVNFX1ZJRVdfU0VBUkNIX1RZUEUpO1xuICAgICAgICBjb25zdCBjYXNlU2VhcmNoVHlwZUNvbmZpZzogU2VhcmNoQ29tcG9uZW50Q29uZmlndXJhdGlvbiA9IHtcbiAgICAgICAgICAgIHNob3dTZWFyY2hJY29uOiB0cnVlLFxuICAgICAgICAgICAgc2hvd1NlYXJjaFRvZ2dsZUJ1dHRvbjogY2FzZVNlYXJjaFR5cGUgPT09IFNlYXJjaE1vZGUuQURWQU5DRUQsXG4gICAgICAgICAgICBpbml0aWFsU2VhcmNoTW9kZTogKGNhc2VTZWFyY2hUeXBlID09PSB1bmRlZmluZWQpID8gdW5kZWZpbmVkIDogU2VhcmNoTW9kZS5GVUxMVEVYVCxcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjYXNlU2hvd01vcmVNZW51ID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxib29sZWFuPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfQ0FTRV9TSE9XX01PUkVfTUVOVSk7XG4gICAgICAgIGNvbnN0IGNhc2VWaWV3SGVhZGVyc0NoYW5nZWFibGUgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPGJvb2xlYW4+KHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9DQVNFX0hFQURFUlNfQ0hBTkdFQUJMRSk7XG4gICAgICAgIGNvbnN0IGNhc2VWaWV3SGVhZGVyc01vZGUgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPHN0cmluZ1tdPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfQ0FTRV9IRUFERVJTX01PREUpO1xuICAgICAgICBjb25zdCBjYXNlVmlld0FsbG93VGFibGVNb2RlID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxib29sZWFuPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfQ0FTRV9BTExPV19UQUJMRV9NT0RFKTtcbiAgICAgICAgY29uc3QgY2FzZVZpZXdEZWZhdWx0SGVhZGVyc01vZGUgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPHN0cmluZ1tdPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfQ0FTRV9ERUZBVUxUX0hFQURFUlNfTU9ERSk7XG5cbiAgICAgICAgaWYgKCFoYXNWaWV3KHZpZXdEYXRhR3JvdXBzKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYXNlIHZpZXcgaGFzIG1pc3NpbmcgY29uZmlndXJhdGlvbiBmb3IgdGFzayB2aWV3LmApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGFza1NlYXJjaFR5cGUgPSBleHRyYWN0U2VhcmNoVHlwZUZyb21EYXRhKHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9UQVNLX1ZJRVdfU0VBUkNIX1RZUEUpO1xuICAgICAgICBjb25zdCB0YXNrU2hvd01vcmVNZW51ID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxib29sZWFuPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfVEFTS19TSE9XX01PUkVfTUVOVSk7XG4gICAgICAgIGNvbnN0IHRhc2tTZWFyY2hUeXBlQ29uZmlnOiBTZWFyY2hDb21wb25lbnRDb25maWd1cmF0aW9uID0ge1xuICAgICAgICAgICAgc2hvd1NlYXJjaEljb246IHRydWUsXG4gICAgICAgICAgICBzaG93U2VhcmNoVG9nZ2xlQnV0dG9uOiB0YXNrU2VhcmNoVHlwZSA9PT0gU2VhcmNoTW9kZS5BRFZBTkNFRCxcbiAgICAgICAgICAgIGluaXRpYWxTZWFyY2hNb2RlOiAodGFza1NlYXJjaFR5cGUgPT09IHVuZGVmaW5lZCkgPyB1bmRlZmluZWQgOiBTZWFyY2hNb2RlLkZVTExURVhULFxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhc2tWaWV3SGVhZGVyc0NoYW5nZWFibGUgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPGJvb2xlYW4+KHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9UQVNLX0hFQURFUlNfQ0hBTkdFQUJMRSk7XG4gICAgICAgIGNvbnN0IHRhc2tWaWV3SGVhZGVyc01vZGUgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPHN0cmluZ1tdPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfVEFTS19IRUFERVJTX01PREUpO1xuICAgICAgICBjb25zdCB0YXNrVmlld0FsbG93VGFibGVNb2RlID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxib29sZWFuPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfVEFTS19BTExPV19UQUJMRV9NT0RFKTtcbiAgICAgICAgY29uc3QgdGFza1ZpZXdEZWZhdWx0SGVhZGVyc01vZGUgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPHN0cmluZ1tdPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfVEFTS19ERUZBVUxUX0hFQURFUlNfTU9ERSk7XG4gICAgICAgIGNvbnN0IHRhc2tWaWV3QWRkaXRpb25hbEZpbHRlciA9IHRoaXMuZXh0cmFjdGlvblNlcnZpY2UuZXh0cmFjdENvbXBsZXRlQWRkaXRpb25hbEZpbHRlckZyb21EYXRhKHZpZXdEYXRhR3JvdXBzKTtcbiAgICAgICAgbGV0IG1lcmdlV2l0aEJhc2VGaWx0ZXI6IGJvb2xlYW4gPSAoY2hhaW5lZFZpZXdUeXBlID09PSBcInRhYmJlZF90YXNrX3ZpZXdfY29uZmlndXJhdGlvblwiKSA/IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8Ym9vbGVhbj4odmlld0RhdGFHcm91cHMsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX01FUkdFX0ZJTFRFUlMpIDogdHJ1ZTtcbiAgICAgICAgY29uc3QgYWRkaXRpb25hbEFsbG93ZWROZXRzID0gdGhpcy5leHRyYWN0aW9uU2VydmljZS5leHRyYWN0QWRkaXRpb25hbEZpbHRlckFsbG93ZWROZXRzKHZpZXdEYXRhR3JvdXBzKT8uYWxsb3dlZE5ldHNJZGVudGlmaWVycztcbiAgICAgICAgY29uc3QgY2hhaW5lZFZpZXdDb21wb25lbnQgPSBjaGFpbmVkVmlld1R5cGUgPT09IFwidGFiYmVkX3NpbmdsZV90YXNrX3ZpZXdfY29uZmlndXJhdGlvblwiID8gRGVmYXVsdFRhYmJlZFNpbmdsZVRhc2tWaWV3Q29tcG9uZW50IDogRGVmYXVsdFRhYmJlZFRhc2tWaWV3Q29tcG9uZW50O1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHt0ZXh0OiBsYWJlbERhdGEubmFtZSwgaWNvbjogbGFiZWxEYXRhLmljb259LFxuICAgICAgICAgICAgICAgIGNhbkJlQ2xvc2VkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0YWJDb250ZW50Q29tcG9uZW50OiBEZWZhdWx0VGFiYmVkQ2FzZVZpZXdDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgaW5qZWN0ZWRPYmplY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAgdGFiVmlld0NvbXBvbmVudDogY2hhaW5lZFZpZXdDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgIHRhYlZpZXdPcmRlcjogMCxcbiAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YTogdGhpcy5fbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSxcblxuICAgICAgICAgICAgICAgICAgICBuZXdDYXNlQnV0dG9uQ29uZmlndXJhdGlvbjogbmV3Q2FzZUJ1dHRvbkNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgY2FzZVZpZXdTZWFyY2hUeXBlQ29uZmlndXJhdGlvbjogY2FzZVNlYXJjaFR5cGVDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIGNhc2VWaWV3U2hvd01vcmVNZW51OiBjYXNlU2hvd01vcmVNZW51LFxuICAgICAgICAgICAgICAgICAgICBjYXNlVmlld0hlYWRlcnNDaGFuZ2VhYmxlOiBjYXNlVmlld0hlYWRlcnNDaGFuZ2VhYmxlLFxuICAgICAgICAgICAgICAgICAgICBjYXNlVmlld0hlYWRlcnNNb2RlOiBjYXNlVmlld0hlYWRlcnNNb2RlLFxuICAgICAgICAgICAgICAgICAgICBjYXNlVmlld0FsbG93VGFibGVNb2RlOiBjYXNlVmlld0FsbG93VGFibGVNb2RlLFxuICAgICAgICAgICAgICAgICAgICBjYXNlVmlld0RlZmF1bHRIZWFkZXJzTW9kZTogY2FzZVZpZXdEZWZhdWx0SGVhZGVyc01vZGUsXG5cbiAgICAgICAgICAgICAgICAgICAgdGFza1ZpZXdTZWFyY2hUeXBlQ29uZmlndXJhdGlvbjogdGFza1NlYXJjaFR5cGVDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIHRhc2tWaWV3U2hvd01vcmVNZW51OiB0YXNrU2hvd01vcmVNZW51LFxuICAgICAgICAgICAgICAgICAgICB0YXNrVmlld0hlYWRlcnNDaGFuZ2VhYmxlOiB0YXNrVmlld0hlYWRlcnNDaGFuZ2VhYmxlLFxuICAgICAgICAgICAgICAgICAgICB0YXNrVmlld0hlYWRlcnNNb2RlOiB0YXNrVmlld0hlYWRlcnNNb2RlLFxuICAgICAgICAgICAgICAgICAgICB0YXNrVmlld0FsbG93VGFibGVNb2RlOiB0YXNrVmlld0FsbG93VGFibGVNb2RlLFxuICAgICAgICAgICAgICAgICAgICB0YXNrVmlld0RlZmF1bHRIZWFkZXJzTW9kZTogdGFza1ZpZXdEZWZhdWx0SGVhZGVyc01vZGUsXG4gICAgICAgICAgICAgICAgICAgIHRhc2tWaWV3TWVyZ2VXaXRoQmFzZUZpbHRlcjogbWVyZ2VXaXRoQmFzZUZpbHRlcixcbiAgICAgICAgICAgICAgICAgICAgdGFza1ZpZXdBZGRpdGlvbmFsRmlsdGVyOiB0YXNrVmlld0FkZGl0aW9uYWxGaWx0ZXIsXG4gICAgICAgICAgICAgICAgICAgIHRhc2tWaWV3QWRkaXRpb25hbEFsbG93ZWROZXRzOiBhZGRpdGlvbmFsQWxsb3dlZE5ldHNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFRhc2tUYWJzKG1lbnVJdGVtRGF0YUdyb3VwczogQXJyYXk8RGF0YUdyb3VwPiwgdmlld0RhdGFHcm91cHM6IEFycmF5PERhdGFHcm91cD4pOiBUYWJDb250ZW50W10ge1xuICAgICAgICBjb25zdCBsYWJlbERhdGEgPSBleHRyYWN0SWNvbkFuZFRpdGxlKG1lbnVJdGVtRGF0YUdyb3VwcywgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UpO1xuICAgICAgICBjb25zdCB0YXNrU2VhcmNoVHlwZSA9IGV4dHJhY3RTZWFyY2hUeXBlRnJvbURhdGEodmlld0RhdGFHcm91cHMsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX1RBU0tfVklFV19TRUFSQ0hfVFlQRSk7XG4gICAgICAgIGNvbnN0IGhlYWRlcnNDaGFuZ2VhYmxlID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxib29sZWFuPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfVEFTS19IRUFERVJTX0NIQU5HRUFCTEUpO1xuICAgICAgICBjb25zdCBoZWFkZXJzTW9kZSA9IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8c3RyaW5nW10+KHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9UQVNLX0hFQURFUlNfTU9ERSk7XG4gICAgICAgIGNvbnN0IGFsbG93VGFibGVNb2RlID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxib29sZWFuPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfVEFTS19BTExPV19UQUJMRV9NT0RFKTtcbiAgICAgICAgY29uc3QgZGVmYXVsdEhlYWRlcnNNb2RlID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxzdHJpbmdbXT4odmlld0RhdGFHcm91cHMsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX1RBU0tfREVGQVVMVF9IRUFERVJTX01PREUpO1xuICAgICAgICBjb25zdCBzaG93VG9nZ2xlQnV0dG9uID0gdGFza1NlYXJjaFR5cGUgPT09IFNlYXJjaE1vZGUuQURWQU5DRURcbiAgICAgICAgY29uc3Qgc2VhcmNoVHlwZUNvbmZpZzogU2VhcmNoQ29tcG9uZW50Q29uZmlndXJhdGlvbiA9IHtcbiAgICAgICAgICAgIHNob3dTZWFyY2hJY29uOiB0cnVlLFxuICAgICAgICAgICAgc2hvd1NlYXJjaFRvZ2dsZUJ1dHRvbjogc2hvd1RvZ2dsZUJ1dHRvbixcbiAgICAgICAgICAgIGluaXRpYWxTZWFyY2hNb2RlOiAodGFza1NlYXJjaFR5cGUgPT09IHVuZGVmaW5lZCkgPyB1bmRlZmluZWQgOiBTZWFyY2hNb2RlLkZVTExURVhULFxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNob3dNb3JlTWVudSA9IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8Ym9vbGVhbj4odmlld0RhdGFHcm91cHMsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX1RBU0tfU0hPV19NT1JFX01FTlUpO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZXh0cmFjdGlvblNlcnZpY2UuZXh0cmFjdENvbXBsZXRlRmlsdGVyRnJvbURhdGEodmlld0RhdGFHcm91cHMpO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB7dGV4dDogbGFiZWxEYXRhLm5hbWUsIGljb246IGxhYmVsRGF0YS5pY29ufSxcbiAgICAgICAgICAgICAgICBjYW5CZUNsb3NlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgdGFiQ29udGVudENvbXBvbmVudDogRGVmYXVsdFRhYmJlZFRhc2tWaWV3Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGluamVjdGVkT2JqZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgIG5hdmlnYXRpb25JdGVtVGFza0RhdGE6IHRoaXMuX25hdmlnYXRpb25JdGVtVGFza0RhdGEsXG4gICAgICAgICAgICAgICAgICAgIGJhc2VGaWx0ZXI6IGZpbHRlcixcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoVHlwZUNvbmZpZ3VyYXRpb246IHNlYXJjaFR5cGVDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIHNob3dNb3JlTWVudTogc2hvd01vcmVNZW51LFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzQ2hhbmdlYWJsZTogaGVhZGVyc0NoYW5nZWFibGUsXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnNNb2RlOiBoZWFkZXJzTW9kZSxcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dUYWJsZU1vZGU6IGFsbG93VGFibGVNb2RlLFxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0SGVhZGVyc01vZGU6IGRlZmF1bHRIZWFkZXJzTW9kZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0VGlja2V0VGFicyhtZW51SXRlbURhdGFHcm91cHM6IEFycmF5PERhdGFHcm91cD4sIHZpZXdEYXRhR3JvdXBzOiBBcnJheTxEYXRhR3JvdXA+KTogVGFiQ29udGVudFtdIHtcbiAgICAgICAgY29uc3QgbGFiZWxEYXRhID0gZXh0cmFjdEljb25BbmRUaXRsZShtZW51SXRlbURhdGFHcm91cHMsIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICAgICAgICBpZiAoIWhhc1ZpZXcodmlld0RhdGFHcm91cHMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRpY2tldCB2aWV3IGhhcyBtaXNzaW5nIGNvbmZpZ3VyYXRpb24gZm9yIHNpbmdsZSB0YXNrIHZpZXcuYCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB7dGV4dDogbGFiZWxEYXRhLm5hbWUsIGljb246IGxhYmVsRGF0YS5pY29ufSxcbiAgICAgICAgICAgICAgICBjYW5CZUNsb3NlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgdGFiQ29udGVudENvbXBvbmVudDogRGVmYXVsdFRpY2tldFZpZXdDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgaW5qZWN0ZWRPYmplY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YTogdGhpcy5fbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgdGFiVmlld0NvbXBvbmVudDogRGVmYXVsdFRhYmJlZFNpbmdsZVRhc2tWaWV3Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgICAgICB0YWJWaWV3T3JkZXI6IDAsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxufVxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCIgY2xhc3M9XCJmdWxsLWhlaWdodFwiPlxuICAgIDxuYy10YWItdmlldyBbaW5pdGlhbFRhYnNdPVwidGFic1wiIHN0cmV0Y2g9XCJmYWxzZVwiIGNsYXNzPVwiZnVsbC1oZWlnaHQgYmxvY2tcIj48L25jLXRhYi12aWV3PlxuPC9kaXY+XG4iXX0=
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10YWItdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL2dyb3VwLW5hdmlnYXRpb24tY29tcG9uZW50LXJlc29sdmVyL2RlZmF1bHQtY29tcG9uZW50cy90YWJiZWQvZGVmYXVsdC10YWItdmlldy9kZWZhdWx0LXRhYi12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vZ3JvdXAtbmF2aWdhdGlvbi1jb21wb25lbnQtcmVzb2x2ZXIvZGVmYXVsdC1jb21wb25lbnRzL3RhYmJlZC9kZWZhdWx0LXRhYi12aWV3L2RlZmF1bHQtdGFiLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUVILG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLG1DQUFtQyxFQUNuQyw2QkFBNkIsRUFDN0IsbUJBQW1CLEVBR25CLFVBQVUsRUFFVixhQUFhLEVBRWIsd0JBQXdCLEVBQ3hCLE9BQU8sRUFFVixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzlHLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQzlHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQ0gsb0NBQW9DLEVBQ3ZDLE1BQU0sOEVBQThFLENB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LEVBQUUsY0FBZ0M7UUFDMUYsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFbkYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7U0FDbEY7UUFFRCxPQUFPO1lBQ0g7Z0JBQ0ksS0FBSyxFQUFFLEVBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUM7Z0JBQ25ELFdBQVcsRUFBRSxLQUFLO2dCQUNsQixtQkFBbUIsRUFBRSwwQkFBMEI7Z0JBQy9DLGNBQWMsRUFBRTtvQkFDWixzQkFBc0IsRUFBRSxJQUFJLENBQUMsdUJBQXVCO29CQUNwRCxnQkFBZ0IsRUFBRSxvQ0FBb0M7b0JBQ3RELFlBQVksRUFBRSxDQUFDO2lCQUNsQjthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7d0dBdktRLHVCQUF1QixrQkFJWiw2QkFBNkI7NEZBSnhDLHVCQUF1Qiw4Q0FMckI7WUFDUCxhQUFhO1lBQ2IsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLG1DQUFtQyxFQUFFLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFDO1NBQzFHLDBCQ25DTCxpTUFHQTs7NEZEa0NhLHVCQUF1QjtrQkFUbkMsU0FBUzsrQkFDSSxxQkFBcUIsYUFHcEI7d0JBQ1AsYUFBYTt3QkFDYixFQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsbUNBQW1DLEVBQUUsSUFBSSxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUM7cUJBQzFHOzswQkFNWSxNQUFNOzJCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBEYXRhR3JvdXAsXG4gICAgZXh0cmFjdEljb25BbmRUaXRsZSxcbiAgICBleHRyYWN0U2VhcmNoVHlwZUZyb21EYXRhLFxuICAgIGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGEsXG4gICAgZ3JvdXBOYXZpZ2F0aW9uVmlld0lkU2VnbWVudEZhY3RvcnksXG4gICAgTkFFX05BVklHQVRJT05fSVRFTV9UQVNLX0RBVEEsXG4gICAgTkFFX1ZJRVdfSURfU0VHTUVOVCxcbiAgICBOZXdDYXNlQ3JlYXRpb25Db25maWd1cmF0aW9uRGF0YSxcbiAgICBTZWFyY2hDb21wb25lbnRDb25maWd1cmF0aW9uLFxuICAgIFNlYXJjaE1vZGUsXG4gICAgVGFiQ29udGVudCxcbiAgICBWaWV3SWRTZXJ2aWNlLFxuICAgIEZpbHRlckV4dHJhY3Rpb25TZXJ2aWNlLFxuICAgIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cyxcbiAgICBoYXNWaWV3LFxuICAgIEkxOG5GaWVsZFZhbHVlXG59IGZyb20gJ0BuZXRncmlmL2NvbXBvbmVudHMtY29yZSc7XG5pbXBvcnQge0RlZmF1bHRUYWJiZWRDYXNlVmlld0NvbXBvbmVudH0gZnJvbSAnLi4vZGVmYXVsdC10YWJiZWQtY2FzZS12aWV3L2RlZmF1bHQtdGFiYmVkLWNhc2Utdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHtEZWZhdWx0VGFiYmVkVGFza1ZpZXdDb21wb25lbnR9IGZyb20gJy4uL2RlZmF1bHQtdGFiYmVkLXRhc2stdmlldy9kZWZhdWx0LXRhYmJlZC10YXNrLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQge0RlZmF1bHRUaWNrZXRWaWV3Q29tcG9uZW50fSBmcm9tIFwiLi4vZGVmYXVsdC10aWNrZXQtdmlldy9kZWZhdWx0LXRpY2tldC12aWV3LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtcbiAgICBEZWZhdWx0VGFiYmVkU2luZ2xlVGFza1ZpZXdDb21wb25lbnRcbn0gZnJvbSBcIi4uL2RlZmF1bHQtdGFiYmVkLXNpbmdsZS10YXNrLXZpZXcvZGVmYXVsdC10YWJiZWQtc2luZ2xlLXRhc2stdmlldy5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1kZWZhdWx0LXRhYi12aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGVmYXVsdC10YWItdmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGVmYXVsdC10YWItdmlldy5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBWaWV3SWRTZXJ2aWNlLFxuICAgICAgICB7cHJvdmlkZTogTkFFX1ZJRVdfSURfU0VHTUVOVCwgdXNlRmFjdG9yeTogZ3JvdXBOYXZpZ2F0aW9uVmlld0lkU2VnbWVudEZhY3RvcnksIGRlcHM6IFtBY3RpdmF0ZWRSb3V0ZV19XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0VGFiVmlld0NvbXBvbmVudCB7XG5cbiAgICB0YWJzOiBBcnJheTxUYWJDb250ZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTkFFX05BVklHQVRJT05fSVRFTV9UQVNLX0RBVEEpIHByb3RlY3RlZCBfbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YTogQXJyYXk8RGF0YUdyb3VwPixcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBleHRyYWN0aW9uU2VydmljZTogRmlsdGVyRXh0cmFjdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICB0aGlzLnRhYnMgPSB0aGlzLmdldFRhYnMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0VGFicygpOiBUYWJDb250ZW50W10ge1xuICAgICAgICBjb25zdCBtZW51SXRlbURhdGFHcm91cHM6IEFycmF5PERhdGFHcm91cD4gPSB0aGlzLl9uYXZpZ2F0aW9uSXRlbVRhc2tEYXRhLnNsaWNlKDAsIDQpXG4gICAgICAgIGNvbnN0IHZpZXdEYXRhR3JvdXBzOiBBcnJheTxEYXRhR3JvdXA+ID0gdGhpcy5fbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YS5zbGljZSg0LCB0aGlzLl9uYXZpZ2F0aW9uSXRlbVRhc2tEYXRhLmxlbmd0aCk7XG5cbiAgICAgICAgY29uc3Qgdmlld1R5cGU6IHN0cmluZyA9IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGEobWVudUl0ZW1EYXRhR3JvdXBzLCBcInZpZXdfY29uZmlndXJhdGlvbl90eXBlXCIpXG4gICAgICAgIHN3aXRjaCAodmlld1R5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJ0YWJiZWRfY2FzZV92aWV3XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2FzZVRhYnMobWVudUl0ZW1EYXRhR3JvdXBzLCB2aWV3RGF0YUdyb3Vwcyk7XG4gICAgICAgICAgICBjYXNlIFwidGFiYmVkX3Rhc2tfdmlld1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRhc2tUYWJzKG1lbnVJdGVtRGF0YUdyb3Vwcywgdmlld0RhdGFHcm91cHMpO1xuICAgICAgICAgICAgY2FzZSBcInRhYmJlZF90aWNrZXRfdmlld1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRpY2tldFRhYnMobWVudUl0ZW1EYXRhR3JvdXBzLCB2aWV3RGF0YUdyb3Vwcyk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHJlc29sdmUgdGFicyBmb3IgJyR7dmlld1R5cGV9JyB2aWV3IHR5cGVgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRDYXNlVGFicyhtZW51SXRlbURhdGFHcm91cHM6IEFycmF5PERhdGFHcm91cD4sIHZpZXdEYXRhR3JvdXBzOiBBcnJheTxEYXRhR3JvdXA+KTogVGFiQ29udGVudFtdIHtcbiAgICAgICAgY29uc3QgbGFiZWxEYXRhID0gZXh0cmFjdEljb25BbmRUaXRsZShtZW51SXRlbURhdGFHcm91cHMsIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICAgICAgICBjb25zdCBibG9ja05ldHNTdHJpbmcgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPHN0cmluZz4odmlld0RhdGFHcm91cHMsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX0NBU0VfQkFOTkVEX1BST0NFU1NfQ1JFQVRJT04pO1xuICAgICAgICBjb25zdCBibG9ja05ldHMgPSBibG9ja05ldHNTdHJpbmcgPT09IHVuZGVmaW5lZCA/IFtdIDogYmxvY2tOZXRzU3RyaW5nLnNwbGl0KCcsJylcbiAgICAgICAgY29uc3QgY3JlYXRlQ2FzZUJ1dHRvblRpdGxlOiBJMThuRmllbGRWYWx1ZSA9IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8STE4bkZpZWxkVmFsdWU+KHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9DUkVBVEVfQ0FTRV9CVVRUT05fVElUTEUpO1xuICAgICAgICBjb25zdCBjcmVhdGVDYXNlQnV0dG9uSWNvbjogc3RyaW5nID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxzdHJpbmc+KHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9DUkVBVEVfQ0FTRV9CVVRUT05fSUNPTik7XG4gICAgICAgIGNvbnN0IHJlcXVpcmVUaXRsZTogYm9vbGVhbiA9IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8Ym9vbGVhbj4odmlld0RhdGFHcm91cHMsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX0NBU0VfVElUTEVfSU5fQ1JFQVRJT04pO1xuICAgICAgICBjb25zdCBzaG93Q3JlYXRlQ2FzZUJ1dHRvbjogYm9vbGVhbiA9IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8Ym9vbGVhbj4odmlld0RhdGFHcm91cHMsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX1NIT1dfQ1JFQVRFX0NBU0VfQlVUVE9OKTtcbiAgICAgICAgY29uc3QgY2hhaW5lZFZpZXdUeXBlOiBzdHJpbmcgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhKHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9DSEFJTkVEX1ZJRVdfQ09ORklHVVJBVElPTl9UWVBFKTtcblxuICAgICAgICBjb25zdCBuZXdDYXNlQnV0dG9uQ29uZmlnOiBOZXdDYXNlQ3JlYXRpb25Db25maWd1cmF0aW9uRGF0YSA9IHtcbiAgICAgICAgICAgIGVuYWJsZUNhc2VUaXRsZTogcmVxdWlyZVRpdGxlLFxuICAgICAgICAgICAgaXNDYXNlVGl0bGVSZXF1aXJlZDogcmVxdWlyZVRpdGxlLFxuICAgICAgICAgICAgbmV3Q2FzZUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICAgICAgICAgIGNyZWF0ZUNhc2VCdXR0b25UaXRsZSxcbiAgICAgICAgICAgICAgICBjcmVhdGVDYXNlQnV0dG9uSWNvbixcbiAgICAgICAgICAgICAgICBzaG93Q3JlYXRlQ2FzZUJ1dHRvbjogc2hvd0NyZWF0ZUNhc2VCdXR0b24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYmxvY2tOZXRzOiBibG9ja05ldHNcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgY2FzZVNlYXJjaFR5cGUgPSBleHRyYWN0U2VhcmNoVHlwZUZyb21EYXRhKHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9DQVNFX1ZJRVdfU0VBUkNIX1RZUEUpO1xuICAgICAgICBjb25zdCBjYXNlU2VhcmNoVHlwZUNvbmZpZzogU2VhcmNoQ29tcG9uZW50Q29uZmlndXJhdGlvbiA9IHtcbiAgICAgICAgICAgIHNob3dTZWFyY2hJY29uOiB0cnVlLFxuICAgICAgICAgICAgc2hvd1NlYXJjaFRvZ2dsZUJ1dHRvbjogY2FzZVNlYXJjaFR5cGUgPT09IFNlYXJjaE1vZGUuQURWQU5DRUQsXG4gICAgICAgICAgICBpbml0aWFsU2VhcmNoTW9kZTogKGNhc2VTZWFyY2hUeXBlID09PSB1bmRlZmluZWQpID8gdW5kZWZpbmVkIDogU2VhcmNoTW9kZS5GVUxMVEVYVCxcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjYXNlU2hvd01vcmVNZW51ID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxib29sZWFuPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfQ0FTRV9TSE9XX01PUkVfTUVOVSk7XG4gICAgICAgIGNvbnN0IGNhc2VWaWV3SGVhZGVyc0NoYW5nZWFibGUgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPGJvb2xlYW4+KHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9DQVNFX0hFQURFUlNfQ0hBTkdFQUJMRSk7XG4gICAgICAgIGNvbnN0IGNhc2VWaWV3SGVhZGVyc01vZGUgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPHN0cmluZ1tdPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfQ0FTRV9IRUFERVJTX01PREUpO1xuICAgICAgICBjb25zdCBjYXNlVmlld0FsbG93VGFibGVNb2RlID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxib29sZWFuPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfQ0FTRV9BTExPV19UQUJMRV9NT0RFKTtcbiAgICAgICAgY29uc3QgY2FzZVZpZXdEZWZhdWx0SGVhZGVyc01vZGUgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPHN0cmluZ1tdPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfQ0FTRV9ERUZBVUxUX0hFQURFUlNfTU9ERSk7XG5cbiAgICAgICAgaWYgKCFoYXNWaWV3KHZpZXdEYXRhR3JvdXBzKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYXNlIHZpZXcgaGFzIG1pc3NpbmcgY29uZmlndXJhdGlvbiBmb3IgdGFzayB2aWV3LmApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGFza1NlYXJjaFR5cGUgPSBleHRyYWN0U2VhcmNoVHlwZUZyb21EYXRhKHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9UQVNLX1ZJRVdfU0VBUkNIX1RZUEUpO1xuICAgICAgICBjb25zdCB0YXNrU2hvd01vcmVNZW51ID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxib29sZWFuPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfVEFTS19TSE9XX01PUkVfTUVOVSk7XG4gICAgICAgIGNvbnN0IHRhc2tTZWFyY2hUeXBlQ29uZmlnOiBTZWFyY2hDb21wb25lbnRDb25maWd1cmF0aW9uID0ge1xuICAgICAgICAgICAgc2hvd1NlYXJjaEljb246IHRydWUsXG4gICAgICAgICAgICBzaG93U2VhcmNoVG9nZ2xlQnV0dG9uOiB0YXNrU2VhcmNoVHlwZSA9PT0gU2VhcmNoTW9kZS5BRFZBTkNFRCxcbiAgICAgICAgICAgIGluaXRpYWxTZWFyY2hNb2RlOiAodGFza1NlYXJjaFR5cGUgPT09IHVuZGVmaW5lZCkgPyB1bmRlZmluZWQgOiBTZWFyY2hNb2RlLkZVTExURVhULFxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhc2tWaWV3SGVhZGVyc0NoYW5nZWFibGUgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPGJvb2xlYW4+KHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9UQVNLX0hFQURFUlNfQ0hBTkdFQUJMRSk7XG4gICAgICAgIGNvbnN0IHRhc2tWaWV3SGVhZGVyc01vZGUgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPHN0cmluZ1tdPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfVEFTS19IRUFERVJTX01PREUpO1xuICAgICAgICBjb25zdCB0YXNrVmlld0FsbG93VGFibGVNb2RlID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxib29sZWFuPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfVEFTS19BTExPV19UQUJMRV9NT0RFKTtcbiAgICAgICAgY29uc3QgdGFza1ZpZXdEZWZhdWx0SGVhZGVyc01vZGUgPSBleHRyYWN0RmllbGRWYWx1ZUZyb21EYXRhPHN0cmluZ1tdPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfVEFTS19ERUZBVUxUX0hFQURFUlNfTU9ERSk7XG4gICAgICAgIGNvbnN0IHRhc2tWaWV3QWRkaXRpb25hbEZpbHRlciA9IHRoaXMuZXh0cmFjdGlvblNlcnZpY2UuZXh0cmFjdENvbXBsZXRlQWRkaXRpb25hbEZpbHRlckZyb21EYXRhKHZpZXdEYXRhR3JvdXBzKTtcbiAgICAgICAgbGV0IG1lcmdlV2l0aEJhc2VGaWx0ZXI6IGJvb2xlYW4gPSAoY2hhaW5lZFZpZXdUeXBlID09PSBcInRhYmJlZF90YXNrX3ZpZXdfY29uZmlndXJhdGlvblwiKSA/IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8Ym9vbGVhbj4odmlld0RhdGFHcm91cHMsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX01FUkdFX0ZJTFRFUlMpIDogdHJ1ZTtcbiAgICAgICAgY29uc3QgYWRkaXRpb25hbEFsbG93ZWROZXRzID0gdGhpcy5leHRyYWN0aW9uU2VydmljZS5leHRyYWN0QWRkaXRpb25hbEZpbHRlckFsbG93ZWROZXRzKHZpZXdEYXRhR3JvdXBzKT8uYWxsb3dlZE5ldHNJZGVudGlmaWVycztcbiAgICAgICAgY29uc3QgY2hhaW5lZFZpZXdDb21wb25lbnQgPSBjaGFpbmVkVmlld1R5cGUgPT09IFwidGFiYmVkX3NpbmdsZV90YXNrX3ZpZXdfY29uZmlndXJhdGlvblwiID8gRGVmYXVsdFRhYmJlZFNpbmdsZVRhc2tWaWV3Q29tcG9uZW50IDogRGVmYXVsdFRhYmJlZFRhc2tWaWV3Q29tcG9uZW50O1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHt0ZXh0OiBsYWJlbERhdGEubmFtZSwgaWNvbjogbGFiZWxEYXRhLmljb259LFxuICAgICAgICAgICAgICAgIGNhbkJlQ2xvc2VkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0YWJDb250ZW50Q29tcG9uZW50OiBEZWZhdWx0VGFiYmVkQ2FzZVZpZXdDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgaW5qZWN0ZWRPYmplY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAgdGFiVmlld0NvbXBvbmVudDogY2hhaW5lZFZpZXdDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgIHRhYlZpZXdPcmRlcjogMCxcbiAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YTogdGhpcy5fbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSxcblxuICAgICAgICAgICAgICAgICAgICBuZXdDYXNlQnV0dG9uQ29uZmlndXJhdGlvbjogbmV3Q2FzZUJ1dHRvbkNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgY2FzZVZpZXdTZWFyY2hUeXBlQ29uZmlndXJhdGlvbjogY2FzZVNlYXJjaFR5cGVDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIGNhc2VWaWV3U2hvd01vcmVNZW51OiBjYXNlU2hvd01vcmVNZW51LFxuICAgICAgICAgICAgICAgICAgICBjYXNlVmlld0hlYWRlcnNDaGFuZ2VhYmxlOiBjYXNlVmlld0hlYWRlcnNDaGFuZ2VhYmxlLFxuICAgICAgICAgICAgICAgICAgICBjYXNlVmlld0hlYWRlcnNNb2RlOiBjYXNlVmlld0hlYWRlcnNNb2RlLFxuICAgICAgICAgICAgICAgICAgICBjYXNlVmlld0FsbG93VGFibGVNb2RlOiBjYXNlVmlld0FsbG93VGFibGVNb2RlLFxuICAgICAgICAgICAgICAgICAgICBjYXNlVmlld0RlZmF1bHRIZWFkZXJzTW9kZTogY2FzZVZpZXdEZWZhdWx0SGVhZGVyc01vZGUsXG5cbiAgICAgICAgICAgICAgICAgICAgdGFza1ZpZXdTZWFyY2hUeXBlQ29uZmlndXJhdGlvbjogdGFza1NlYXJjaFR5cGVDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIHRhc2tWaWV3U2hvd01vcmVNZW51OiB0YXNrU2hvd01vcmVNZW51LFxuICAgICAgICAgICAgICAgICAgICB0YXNrVmlld0hlYWRlcnNDaGFuZ2VhYmxlOiB0YXNrVmlld0hlYWRlcnNDaGFuZ2VhYmxlLFxuICAgICAgICAgICAgICAgICAgICB0YXNrVmlld0hlYWRlcnNNb2RlOiB0YXNrVmlld0hlYWRlcnNNb2RlLFxuICAgICAgICAgICAgICAgICAgICB0YXNrVmlld0FsbG93VGFibGVNb2RlOiB0YXNrVmlld0FsbG93VGFibGVNb2RlLFxuICAgICAgICAgICAgICAgICAgICB0YXNrVmlld0RlZmF1bHRIZWFkZXJzTW9kZTogdGFza1ZpZXdEZWZhdWx0SGVhZGVyc01vZGUsXG4gICAgICAgICAgICAgICAgICAgIHRhc2tWaWV3TWVyZ2VXaXRoQmFzZUZpbHRlcjogbWVyZ2VXaXRoQmFzZUZpbHRlcixcbiAgICAgICAgICAgICAgICAgICAgdGFza1ZpZXdBZGRpdGlvbmFsRmlsdGVyOiB0YXNrVmlld0FkZGl0aW9uYWxGaWx0ZXIsXG4gICAgICAgICAgICAgICAgICAgIHRhc2tWaWV3QWRkaXRpb25hbEFsbG93ZWROZXRzOiBhZGRpdGlvbmFsQWxsb3dlZE5ldHNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFRhc2tUYWJzKG1lbnVJdGVtRGF0YUdyb3VwczogQXJyYXk8RGF0YUdyb3VwPiwgdmlld0RhdGFHcm91cHM6IEFycmF5PERhdGFHcm91cD4pOiBUYWJDb250ZW50W10ge1xuICAgICAgICBjb25zdCBsYWJlbERhdGEgPSBleHRyYWN0SWNvbkFuZFRpdGxlKG1lbnVJdGVtRGF0YUdyb3VwcywgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UpO1xuICAgICAgICBjb25zdCB0YXNrU2VhcmNoVHlwZSA9IGV4dHJhY3RTZWFyY2hUeXBlRnJvbURhdGEodmlld0RhdGFHcm91cHMsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX1RBU0tfVklFV19TRUFSQ0hfVFlQRSk7XG4gICAgICAgIGNvbnN0IGhlYWRlcnNDaGFuZ2VhYmxlID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxib29sZWFuPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfVEFTS19IRUFERVJTX0NIQU5HRUFCTEUpO1xuICAgICAgICBjb25zdCBoZWFkZXJzTW9kZSA9IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8c3RyaW5nW10+KHZpZXdEYXRhR3JvdXBzLCBHcm91cE5hdmlnYXRpb25Db25zdGFudHMuSVRFTV9GSUVMRF9JRF9UQVNLX0hFQURFUlNfTU9ERSk7XG4gICAgICAgIGNvbnN0IGFsbG93VGFibGVNb2RlID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxib29sZWFuPih2aWV3RGF0YUdyb3VwcywgR3JvdXBOYXZpZ2F0aW9uQ29uc3RhbnRzLklURU1fRklFTERfSURfVEFTS19BTExPV19UQUJMRV9NT0RFKTtcbiAgICAgICAgY29uc3QgZGVmYXVsdEhlYWRlcnNNb2RlID0gZXh0cmFjdEZpZWxkVmFsdWVGcm9tRGF0YTxzdHJpbmdbXT4odmlld0RhdGFHcm91cHMsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX1RBU0tfREVGQVVMVF9IRUFERVJTX01PREUpO1xuICAgICAgICBjb25zdCBzaG93VG9nZ2xlQnV0dG9uID0gdGFza1NlYXJjaFR5cGUgPT09IFNlYXJjaE1vZGUuQURWQU5DRURcbiAgICAgICAgY29uc3Qgc2VhcmNoVHlwZUNvbmZpZzogU2VhcmNoQ29tcG9uZW50Q29uZmlndXJhdGlvbiA9IHtcbiAgICAgICAgICAgIHNob3dTZWFyY2hJY29uOiB0cnVlLFxuICAgICAgICAgICAgc2hvd1NlYXJjaFRvZ2dsZUJ1dHRvbjogc2hvd1RvZ2dsZUJ1dHRvbixcbiAgICAgICAgICAgIGluaXRpYWxTZWFyY2hNb2RlOiAodGFza1NlYXJjaFR5cGUgPT09IHVuZGVmaW5lZCkgPyB1bmRlZmluZWQgOiBTZWFyY2hNb2RlLkZVTExURVhULFxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNob3dNb3JlTWVudSA9IGV4dHJhY3RGaWVsZFZhbHVlRnJvbURhdGE8Ym9vbGVhbj4odmlld0RhdGFHcm91cHMsIEdyb3VwTmF2aWdhdGlvbkNvbnN0YW50cy5JVEVNX0ZJRUxEX0lEX1RBU0tfU0hPV19NT1JFX01FTlUpO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZXh0cmFjdGlvblNlcnZpY2UuZXh0cmFjdENvbXBsZXRlRmlsdGVyRnJvbURhdGEodmlld0RhdGFHcm91cHMpO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB7dGV4dDogbGFiZWxEYXRhLm5hbWUsIGljb246IGxhYmVsRGF0YS5pY29ufSxcbiAgICAgICAgICAgICAgICBjYW5CZUNsb3NlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgdGFiQ29udGVudENvbXBvbmVudDogRGVmYXVsdFRhYmJlZFRhc2tWaWV3Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGluamVjdGVkT2JqZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgIG5hdmlnYXRpb25JdGVtVGFza0RhdGE6IHRoaXMuX25hdmlnYXRpb25JdGVtVGFza0RhdGEsXG4gICAgICAgICAgICAgICAgICAgIGJhc2VGaWx0ZXI6IGZpbHRlcixcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoVHlwZUNvbmZpZ3VyYXRpb246IHNlYXJjaFR5cGVDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIHNob3dNb3JlTWVudTogc2hvd01vcmVNZW51LFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzQ2hhbmdlYWJsZTogaGVhZGVyc0NoYW5nZWFibGUsXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnNNb2RlOiBoZWFkZXJzTW9kZSxcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dUYWJsZU1vZGU6IGFsbG93VGFibGVNb2RlLFxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0SGVhZGVyc01vZGU6IGRlZmF1bHRIZWFkZXJzTW9kZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0VGlja2V0VGFicyhtZW51SXRlbURhdGFHcm91cHM6IEFycmF5PERhdGFHcm91cD4sIHZpZXdEYXRhR3JvdXBzOiBBcnJheTxEYXRhR3JvdXA+KTogVGFiQ29udGVudFtdIHtcbiAgICAgICAgY29uc3QgbGFiZWxEYXRhID0gZXh0cmFjdEljb25BbmRUaXRsZShtZW51SXRlbURhdGFHcm91cHMsIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICAgICAgICBpZiAoIWhhc1ZpZXcodmlld0RhdGFHcm91cHMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRpY2tldCB2aWV3IGhhcyBtaXNzaW5nIGNvbmZpZ3VyYXRpb24gZm9yIHNpbmdsZSB0YXNrIHZpZXcuYCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB7dGV4dDogbGFiZWxEYXRhLm5hbWUsIGljb246IGxhYmVsRGF0YS5pY29ufSxcbiAgICAgICAgICAgICAgICBjYW5CZUNsb3NlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgdGFiQ29udGVudENvbXBvbmVudDogRGVmYXVsdFRpY2tldFZpZXdDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgaW5qZWN0ZWRPYmplY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YTogdGhpcy5fbmF2aWdhdGlvbkl0ZW1UYXNrRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgdGFiVmlld0NvbXBvbmVudDogRGVmYXVsdFRhYmJlZFNpbmdsZVRhc2tWaWV3Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgICAgICB0YWJWaWV3T3JkZXI6IDAsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxufVxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCIgY2xhc3M9XCJmdWxsLWhlaWdodFwiPlxuICAgIDxuYy10YWItdmlldyBbaW5pdGlhbFRhYnNdPVwidGFic1wiIHN0cmV0Y2g9XCJmYWxzZVwiIGNsYXNzPVwiZnVsbC1oZWlnaHQgYmxvY2tcIj48L25jLXRhYi12aWV3PlxuPC9kaXY+XG4iXX0=