@eo-sdk/client 11.5.0-rc.2 → 11.6.0-rc.1
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.
- package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/custom-actions/custom-actions.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +1 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/organization/organization.component.d.ts +1 -0
- package/app/eo-framework/form-elements/organization/organization.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.component.d.ts +7 -0
- package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
- package/app/eo-framework/media/media.component.d.ts +3 -2
- package/app/eo-framework/media/media.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.component.d.ts +13 -4
- package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts +3 -2
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
- package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +50 -0
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts +10 -0
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts.map +1 -0
- package/app/eo-framework-core/search/app-search.service.d.ts +12 -1
- package/app/eo-framework-core/search/app-search.service.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +5 -3
- package/assets/_default/i18n/en.json +10 -8
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +2 -1
- package/esm2022/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.mjs +2 -2
- package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +18 -4
- package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +25 -16
- package/esm2022/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +3 -3
- package/esm2022/app/eo-framework/grid/grid.component.mjs +36 -10
- package/esm2022/app/eo-framework/media/media.component.mjs +8 -4
- package/esm2022/app/eo-framework/object-details/object-details.component.mjs +30 -15
- package/esm2022/app/eo-framework/object-details/object-history/object-history.component.mjs +11 -6
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +3 -3
- package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +1 -1
- package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +1 -1
- package/esm2022/app/eo-framework/result-list/result-list.component.mjs +7 -2
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +2 -2
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +138 -5
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.mjs +2 -0
- package/esm2022/app/eo-framework-core/api/grid.service.mjs +3 -3
- package/esm2022/app/eo-framework-core/search/app-search.service.mjs +25 -4
- package/fesm2022/eo-sdk-client.mjs +303 -746
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/misc/scripts/copy-client-assets.js +1 -1
- package/package.json +3 -3
- package/proxy.config.js +13 -0
- package/scss/_migrationTemp.scss +1 -0
- package/styles.css +1 -0
- package/app/eo-framework/grid/row-grouping/batchRemover.d.ts +0 -13
- package/app/eo-framework/grid/row-grouping/batchRemover.d.ts.map +0 -1
- package/app/eo-framework/grid/row-grouping/group-stage.d.ts +0 -45
- package/app/eo-framework/grid/row-grouping/group-stage.d.ts.map +0 -1
- package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts +0 -8
- package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts.map +0 -1
- package/esm2022/app/eo-framework/grid/row-grouping/batchRemover.mjs +0 -50
- package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +0 -623
- package/esm2022/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +0 -8
- package/proxy.config.json +0 -97
|
@@ -2,7 +2,6 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';
|
|
3
3
|
import { Component, EventEmitter, HostListener, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
4
4
|
import { debounceTime } from 'rxjs/operators';
|
|
5
|
-
import { RowGroupingModule } from './row-grouping/row-grouping.module';
|
|
6
5
|
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
7
6
|
import { Subject } from 'rxjs';
|
|
8
7
|
import { CodesystemFilterComponent } from './filters/codesystem-filter.component';
|
|
@@ -10,6 +9,7 @@ import { DatetimeFilterComponent } from './filters/datetime-filter.component';
|
|
|
10
9
|
import { DynamicListFilterComponent } from './filters/dynamic-list-filter.component';
|
|
11
10
|
import { ListFilterComponent } from './filters/list-filter.component';
|
|
12
11
|
import { OrganizationFilterComponent } from './filters/organization-filter.component';
|
|
12
|
+
import { delay } from 'rxjs/operators';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
import * as i1 from "@eo-sdk/core";
|
|
15
15
|
import * as i2 from "../../eo-framework-core/api/grid.service";
|
|
@@ -49,7 +49,8 @@ let GridComponent = class GridComponent {
|
|
|
49
49
|
this.gridApi = gridApi;
|
|
50
50
|
this.router = router;
|
|
51
51
|
this.pendingChanges = pendingChanges;
|
|
52
|
-
this.modules = [ClientSideRowModelModule
|
|
52
|
+
this.modules = [ClientSideRowModelModule];
|
|
53
|
+
this.scrollPosition = 0;
|
|
53
54
|
this.components = {
|
|
54
55
|
agDateInput: DatetimeFilterComponent,
|
|
55
56
|
OrganizationFilterComponent: OrganizationFilterComponent,
|
|
@@ -64,7 +65,7 @@ let GridComponent = class GridComponent {
|
|
|
64
65
|
filter: false,
|
|
65
66
|
sortable: false,
|
|
66
67
|
resizable: false,
|
|
67
|
-
|
|
68
|
+
suppressHeaderMenuButton: true,
|
|
68
69
|
suppressMovable: true,
|
|
69
70
|
suppressNavigable: true,
|
|
70
71
|
suppressPaste: true,
|
|
@@ -110,7 +111,16 @@ let GridComponent = class GridComponent {
|
|
|
110
111
|
let value = translate.instant(gridKey, variableValues);
|
|
111
112
|
return ~value.indexOf(gridKey) ? defaultValue : value;
|
|
112
113
|
},
|
|
113
|
-
components: this.components
|
|
114
|
+
components: this.components,
|
|
115
|
+
/**
|
|
116
|
+
* Triggers horizontal scroll reset after sorting with a delay.
|
|
117
|
+
*/
|
|
118
|
+
postSortRows: () => {
|
|
119
|
+
this.calculateDebouncer.pipe(delay(750))
|
|
120
|
+
.subscribe(() => {
|
|
121
|
+
this.setHorizontalScrollPosition();
|
|
122
|
+
});
|
|
123
|
+
}
|
|
114
124
|
};
|
|
115
125
|
this.loadingMessage();
|
|
116
126
|
this.getUser();
|
|
@@ -221,7 +231,7 @@ let GridComponent = class GridComponent {
|
|
|
221
231
|
return this.updateFocus();
|
|
222
232
|
}
|
|
223
233
|
if ($event.rowIndex !== null) {
|
|
224
|
-
$event.focusedNode = this.api.
|
|
234
|
+
$event.focusedNode = this.api.getDisplayedRowAtIndex($event.rowIndex);
|
|
225
235
|
if ($event.focusedNode && !$event.focusedNode.group && $event.focusedNode.data) {
|
|
226
236
|
this.focusedRowID = $event.focusedNode.id;
|
|
227
237
|
this.eoGridFocusChanged.emit($event.focusedNode.data);
|
|
@@ -261,6 +271,22 @@ let GridComponent = class GridComponent {
|
|
|
261
271
|
this.api.sizeColumnsToFit();
|
|
262
272
|
}
|
|
263
273
|
}
|
|
274
|
+
/*
|
|
275
|
+
* This method is called when the grid is sorted.
|
|
276
|
+
*/
|
|
277
|
+
onSortChanged(event) {
|
|
278
|
+
this.scrollPosition = event.api.getHorizontalPixelRange().left;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Scrolls the grid horizontally to a predefined initial position.
|
|
282
|
+
* This method is called when the grid is sorted.
|
|
283
|
+
*/
|
|
284
|
+
setHorizontalScrollPosition() {
|
|
285
|
+
const gridBody = document.querySelector('.ag-body-horizontal-scroll-viewport');
|
|
286
|
+
if (gridBody) {
|
|
287
|
+
gridBody.scrollLeft = this.scrollPosition;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
264
290
|
onQuickFilterChanged($event) {
|
|
265
291
|
this.api.setQuickFilter($event.target.value);
|
|
266
292
|
}
|
|
@@ -268,12 +294,12 @@ let GridComponent = class GridComponent {
|
|
|
268
294
|
if (!this.api) {
|
|
269
295
|
return;
|
|
270
296
|
}
|
|
271
|
-
const rowNode = typeof row === 'number' ? !this.api?.isDestroyed() && this.api.
|
|
297
|
+
const rowNode = typeof row === 'number' ? !this.api?.isDestroyed() && this.api.getDisplayedRowAtIndex(row) : this.api.getRowNode(row);
|
|
272
298
|
let index = rowNode ? rowNode.rowIndex : 0;
|
|
273
299
|
if (rowNode && rowNode.data) {
|
|
274
300
|
if (selection) {
|
|
275
301
|
selection.forEach((rowIndex, i) => {
|
|
276
|
-
this.api.
|
|
302
|
+
this.api.getDisplayedRowAtIndex(rowIndex).setSelected(true, i === 0);
|
|
277
303
|
});
|
|
278
304
|
this.gridOptions.context.selection = null; //reset initial selection
|
|
279
305
|
}
|
|
@@ -368,7 +394,7 @@ let GridComponent = class GridComponent {
|
|
|
368
394
|
return !this._gridCount.rowCount;
|
|
369
395
|
}
|
|
370
396
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: GridComponent, deps: [{ token: i1.TranslateService }, { token: i1.UserService }, { token: i2.GridService }, { token: i3.Router }, { token: i4.PendingChangesService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
371
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: GridComponent, selector: "eo-grid", inputs: { selectFirst: "selectFirst", selectionLimit: "selectionLimit", sizeToFit: "sizeToFit", fullWidth: "fullWidth", showHeader: "showHeader", showFooter: "showFooter", loaderContent: "loaderContent", options: "options", gridOptions: "gridOptions" }, outputs: { eoGridCountChanged: "eoGridCountChanged", eoGridSelectionChanged: "eoGridSelectionChanged", eoGridFocusChanged: "eoGridFocusChanged", eoGridCellClick: "eoGridCellClick", eoGridDoubleClick: "eoGridDoubleClick", eoGridContextMenuClick: "eoGridContextMenuClick", eoGridColumnResized: "eoGridColumnResized" }, host: { listeners: { "keydown.control.alt.shift.c": "copyCellHandler($event)", "keydown.control.shift.c": "copyCellHandler($event)", "keydown.control.alt.c": "copyCellHandler($event)", "keydown.control.c": "copyCellHandler($event)" } }, viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }], ngImport: i0, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-color:#0000!important;border-bottom-color:var(--list-item-border-color)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus[col-id=__custom]{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{opacity:.5;height:24px;width:24px;vertical-align:bottom}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{none:right;background-position-x:left}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding) / 4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding) / 4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{margin:2px calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}eo-grid .multiCell span{display:flex;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
397
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: GridComponent, selector: "eo-grid", inputs: { selectFirst: "selectFirst", selectionLimit: "selectionLimit", sizeToFit: "sizeToFit", fullWidth: "fullWidth", showHeader: "showHeader", showFooter: "showFooter", loaderContent: "loaderContent", options: "options", gridOptions: "gridOptions" }, outputs: { eoGridCountChanged: "eoGridCountChanged", eoGridSelectionChanged: "eoGridSelectionChanged", eoGridFocusChanged: "eoGridFocusChanged", eoGridCellClick: "eoGridCellClick", eoGridDoubleClick: "eoGridDoubleClick", eoGridContextMenuClick: "eoGridContextMenuClick", eoGridColumnResized: "eoGridColumnResized" }, host: { listeners: { "keydown.control.alt.shift.c": "copyCellHandler($event)", "keydown.control.shift.c": "copyCellHandler($event)", "keydown.control.alt.c": "copyCellHandler($event)", "keydown.control.c": "copyCellHandler($event)" } }, viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }], ngImport: i0, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\"\n (sortChanged)=\"onSortChanged($event)\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-color:#0000!important;border-bottom-color:var(--list-item-border-color)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus[col-id=__custom]{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{opacity:.5;height:24px;width:24px;vertical-align:bottom}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{none:right;background-position-x:left}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding) / 4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding) / 4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{margin:2px calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}eo-grid .multiCell span{display:flex;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
372
398
|
};
|
|
373
399
|
GridComponent = __decorate([
|
|
374
400
|
UntilDestroy()
|
|
@@ -376,7 +402,7 @@ GridComponent = __decorate([
|
|
|
376
402
|
export { GridComponent };
|
|
377
403
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: GridComponent, decorators: [{
|
|
378
404
|
type: Component,
|
|
379
|
-
args: [{ selector: 'eo-grid', encapsulation: ViewEncapsulation.None, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-color:#0000!important;border-bottom-color:var(--list-item-border-color)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus[col-id=__custom]{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{opacity:.5;height:24px;width:24px;vertical-align:bottom}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{none:right;background-position-x:left}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding) / 4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding) / 4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{margin:2px calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}eo-grid .multiCell span{display:flex;flex-direction:row}\n"] }]
|
|
405
|
+
args: [{ selector: 'eo-grid', encapsulation: ViewEncapsulation.None, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\"\n (sortChanged)=\"onSortChanged($event)\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-color:#0000!important;border-bottom-color:var(--list-item-border-color)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus[col-id=__custom]{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{opacity:.5;height:24px;width:24px;vertical-align:bottom}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{none:right;background-position-x:left}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding) / 4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding) / 4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{margin:2px calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}eo-grid .multiCell span{display:flex;flex-direction:row}\n"] }]
|
|
380
406
|
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.UserService }, { type: i2.GridService }, { type: i3.Router }, { type: i4.PendingChangesService }], propDecorators: { agGrid: [{
|
|
381
407
|
type: ViewChild,
|
|
382
408
|
args: ['agGrid']
|
|
@@ -425,4 +451,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
425
451
|
type: HostListener,
|
|
426
452
|
args: ['keydown.control.c', ['$event']]
|
|
427
453
|
}] } });
|
|
428
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2dyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRixPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBSXJFLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc3QixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7QUFVN0UsSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYTtJQXNEeEIsSUFDSSxPQUFPLENBQUMsT0FBWTtRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQs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LFlBQVk7dUJBQUMsdUJBQXVCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNoRCxZQUFZO3VCQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGllbnRTaWRlUm93TW9kZWxNb2R1bGV9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jbGllbnQtc2lkZS1yb3ctbW9kZWwnO1xuaW1wb3J0IHtDZWxsUG9zaXRpb24sIENvbERlZiwgQ29sdW1uLCBHcmlkQXBpLCBHcmlkT3B0aW9ucywgTW9kdWxlfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY29yZSc7XG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Um93R3JvdXBpbmdNb2R1bGV9IGZyb20gJy4vcm93LWdyb3VwaW5nL3Jvdy1ncm91cGluZy5tb2R1bGUnO1xuXG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RW9Vc2VyLCBUcmFuc2xhdGVTZXJ2aWNlLCBVc2VyU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0dyaWRTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9hcGkvZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtDb2Rlc3lzdGVtRmlsdGVyQ29tcG9uZW50fSBmcm9tICcuL2ZpbHRlcnMvY29kZXN5c3RlbS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7RGF0ZXRpbWVGaWx0ZXJDb21wb25lbnR9IGZyb20gJy4vZmlsdGVycy9kYXRldGltZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7RHluYW1pY0xpc3RGaWx0ZXJDb21wb25lbnR9IGZyb20gJy4vZmlsdGVycy9keW5hbWljLWxpc3QtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0xpc3RGaWx0ZXJDb21wb25lbnR9IGZyb20gJy4vZmlsdGVycy9saXN0LWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtPcmdhbml6YXRpb25GaWx0ZXJDb21wb25lbnR9IGZyb20gJy4vZmlsdGVycy9vcmdhbml6YXRpb24tZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0lMb2FkZXJ9IGZyb20gJy4vbG9hZGVyLmludGVyZmFjZSc7XG5pbXBvcnQge0FnR3JpZEFuZ3VsYXJ9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyJztcbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRDb21wb25lbnQge1xuXG4gIHB1YmxpYyBtb2R1bGVzOiBNb2R1bGVbXSA9IFtDbGllbnRTaWRlUm93TW9kZWxNb2R1bGUsIFJvd0dyb3VwaW5nTW9kdWxlXTtcblxuICBvdmVybGF5TG9hZGluZ1RlbXBsYXRlOiBzdHJpbmc7XG4gIHByaXZhdGUgY29tcG9uZW50cyA9IHtcbiAgICBhZ0RhdGVJbnB1dDogRGF0ZXRpbWVGaWx0ZXJDb21wb25lbnQsXG4gICAgT3JnYW5pemF0aW9uRmlsdGVyQ29tcG9uZW50OiBPcmdhbml6YXRpb25GaWx0ZXJDb21wb25lbnQsXG4gICAgQ29kZXN5c3RlbUZpbHRlckNvbXBvbmVudDogQ29kZXN5c3RlbUZpbHRlckNvbXBvbmVudCxcbiAgICBEeW5hbWljTGlzdEZpbHRlckNvbXBvbmVudDogRHluYW1pY0xpc3RGaWx0ZXJDb21wb25lbnQsXG4gICAgTGlzdEZpbHRlckNvbXBvbmVudDogTGlzdEZpbHRlckNvbXBvbmVudFxuICB9O1xuXG4gIHByaXZhdGUgX2dyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgcHJpdmF0ZSBfb3B0aW9uczogYW55ID0ge307XG4gIHByaXZhdGUgX2dyaWRDb3VudDogYW55ID0ge307XG4gIHByaXZhdGUgcGlubmVkQ29sdW1uOiBDb2xEZWYgPSB7XG4gICAgaGVhZGVyTmFtZTogJycsXG4gICAgZmlsdGVyOiBmYWxzZSxcbiAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgcmVzaXphYmxlOiBmYWxzZSxcbiAgICBzdXBwcmVzc01lbnU6IHRydWUsXG4gICAgc3VwcHJlc3NNb3ZhYmxlOiB0cnVlLFxuICAgIHN1cHByZXNzTmF2aWdhYmxlOiB0cnVlLFxuICAgIHN1cHByZXNzUGFzdGU6IHRydWUsXG4gICAgc3VwcHJlc3NTaXplVG9GaXQ6IHRydWUsXG4gICAgcGlubmVkOiAnbGVmdCcsXG4gICAgd2lkdGg6IDMsXG4gICAgbWF4V2lkdGg6IDMsXG4gICAgZmllbGQ6ICdfX3NlbGVjdGlvbkZpZWxkJyxcbiAgICB2YWx1ZUdldHRlcjogKCkgPT4gJydcbiAgfTtcblxuICBAVmlld0NoaWxkKCdhZ0dyaWQnKSBhZ0dyaWQhOiBBZ0dyaWRBbmd1bGFyO1xuXG4gIEBPdXRwdXQoKSBlb0dyaWRDb3VudENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGVvR3JpZFNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGVvR3JpZEZvY3VzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZW9HcmlkQ2VsbENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBlb0dyaWREb3VibGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZW9HcmlkQ29udGV4dE1lbnVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZW9HcmlkQ29sdW1uUmVzaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHByaXZhdGUgY29sUmVzaXplRGVib3VuY2VyID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBjYWxjdWxhdGVEZWJvdW5jZXIgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIGZvY3VzZWRSb3dJRCA9ICcnO1xuXG4gIEBJbnB1dCgpIHNlbGVjdEZpcnN0ID0gdHJ1ZTtcbiAgQElucHV0KCkgc2VsZWN0aW9uTGltaXQ6IG51bWJlcjtcbiAgQElucHV0KCkgc2l6ZVRvRml0ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGZ1bGxXaWR0aCA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93SGVhZGVyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dGb290ZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgbG9hZGVyQ29udGVudDogSUxvYWRlciA9IHtzaG93OiBmYWxzZSwgaW1hZ2U6IG51bGwsIHRleHQ6IG51bGx9O1xuICBASW5wdXQoKVxuICBzZXQgb3B0aW9ucyhvcHRpb25zOiBhbnkpIHtcbiAgICB0aGlzLl9vcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIGdldCBvcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGdyaWRPcHRpb25zKGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyB8IGFueSkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBncmlkT3B0aW9ucz8uX2dyaWRPcHRpb25zIHx8IGdyaWRPcHRpb25zO1xuICAgIE9iamVjdC5hc3NpZ24odGhpcy5fZ3JpZE9wdGlvbnMsIG9wdGlvbnMsIHtcbiAgICAgIGNvbnRleHQ6IE9iamVjdC5hc3NpZ24odGhpcy5fZ3JpZE9wdGlvbnMuY29udGV4dCwgb3B0aW9ucy5jb250ZXh0KSxcbiAgICAgIGNvbHVtbkRlZnM6IG9wdGlvbnMuY29sdW1uRGVmcyA/IFt0aGlzLnBpbm5lZENvbHVtbl0uY29uY2F0KG9wdGlvbnMuY29sdW1uRGVmcykgOiBudWxsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgZ3JpZE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2dyaWRPcHRpb25zO1xuICB9XG5cbiAgZ2V0IGNvbnRleHRDb3VudCgpIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudCA9PT0gJ251bWJlcicgPyB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgOiB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQudmFsdWU7XG4gIH1cblxuICBnZXQgY29udGV4dFJlbGF0aW9uKCkge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50ID09PSAnbnVtYmVyJyA/ICdlcScgOiB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQucmVsYXRpb247XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmNvbnRyb2wuYWx0LnNoaWZ0LmMnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmNvbnRyb2wuc2hpZnQuYycsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uY29udHJvbC5hbHQuYycsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uY29udHJvbC5jJywgWyckZXZlbnQnXSlcbiAgY29weUNlbGxIYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy5ncmlkQXBpLmNvcHlUb0NsaXBib2FyZChldmVudCwgdGhpcy5hZ0dyaWQsIHRoaXMuZ3JpZE9wdGlvbnMpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHVibGljIGdyaWRBcGk6IEdyaWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlXG4gICkge1xuXG4gICAgdGhpcy5fZ3JpZE9wdGlvbnMgPSB7XG4gICAgICBjb250ZXh0OiBncmlkQXBpLmdldENvbnRleHQoKSxcbiAgICAgIGFuaW1hdGVSb3dzOiB0cnVlLFxuICAgICAgaGVhZGVySGVpZ2h0OiAzMCxcbiAgICAgIHJvd0hlaWdodDogNDgsXG4gICAgICByb3dCdWZmZXI6IDIwLFxuICAgICAgcm93U2VsZWN0aW9uOiAnbXVsdGlwbGUnLFxuICAgICAgbXVsdGlTb3J0S2V5OiAnY3RybCcsXG4gICAgICBhY2NlbnRlZFNvcnQ6IHRydWUsXG4gICAgICBzdXBwcmVzc0NvbnRleHRNZW51OiB0cnVlLFxuICAgICAgc3VwcHJlc3NOb1Jvd3NPdmVybGF5OiB0cnVlLFxuICAgICAgb3ZlcmxheUxvYWRpbmdUZW1wbGF0ZTogJyAnLFxuICAgICAgb3ZlcmxheU5vUm93c1RlbXBsYXRlOiAnICcsXG4gICAgICBnZXRSb3dJZDogKHJvdykgPT4gcm93Py5kYXRhPy5pZCB8fCByb3cgfHwgbnVsbCxcbiAgICAgIGdldExvY2FsZVRleHQ6ICh7a2V5LCBkZWZhdWx0VmFsdWUsIHZhcmlhYmxlVmFsdWVzfSkgPT4ge1xuICAgICAgICBsZXQgZ3JpZEtleSA9ICdlby5yZXN1bHRsaXN0LmdyaWQuJyArIGtleTtcbiAgICAgICAgbGV0IHZhbHVlID0gdHJhbnNsYXRlLmluc3RhbnQoZ3JpZEtleSwgdmFyaWFibGVWYWx1ZXMpO1xuICAgICAgICByZXR1cm4gfnZhbHVlLmluZGV4T2YoZ3JpZEtleSkgPyBkZWZhdWx0VmFsdWUgOiB2YWx1ZTtcbiAgICAgIH0sXG4gICAgICBjb21wb25lbnRzOiB0aGlzLmNvbXBvbmVudHNcbiAgICB9O1xuXG4gICAgdGhpcy5sb2FkaW5nTWVzc2FnZSgpO1xuICAgIHRoaXMuZ2V0VXNlcigpO1xuXG4gICAgdGhpcy5wZW5kaW5nQ2hhbmdlcy50YXNrcyRcbiAgICAgIC5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodGFza3MpID0+IHRoaXMuYXBpPy51cGRhdGVHcmlkT3B0aW9ucyh7IHN1cHByZXNzUm93Q2xpY2tTZWxlY3Rpb246ICEhdGFza3MubGVuZ3RoLCBzdXBwcmVzc0NlbGxGb2N1czogISF0YXNrcy5sZW5ndGggfSkpO1xuXG4gICAgdGhpcy5jb2xSZXNpemVEZWJvdW5jZXIucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgxMDAwKSlcbiAgICAgIC5zdWJzY3JpYmUoY29sID0+IHRoaXMuZW9HcmlkQ29sdW1uUmVzaXplZC5lbWl0KGNvbCkpO1xuXG4gICAgdGhpcy5jYWxjdWxhdGVEZWJvdW5jZXIucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgxMDApKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNhbGN1bGF0ZVJvd0NvdW50KCkpO1xuICB9XG5cbiAgbG9hZGluZ01lc3NhZ2UoKSB7XG4gICAgbGV0IGxvYWRlckNvbnRlbnQgPSAnJztcblxuICAgIGlmICh0aGlzLmxvYWRlckNvbnRlbnQuc2hvdykge1xuICAgICAgaWYgKHRoaXMubG9hZGVyQ29udGVudC5pbWFnZSkge1xuICAgICAgICBsb2FkZXJDb250ZW50ID0gYDxzcGFuIGNsYXNzPVwiYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlclwiPjxpbWcgW3NyY109XCIke3RoaXMubG9hZGVyQ29udGVudC5pbWFnZX1cIiBhbHQ9XCJsb2FkZXIgaW1hZ2VcIj48L3NwYW4+YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvYWRlckNvbnRlbnQgPSBgPHNwYW4gY2xhc3M9XCJhZy1vdmVybGF5LWxvYWRpbmctY2VudGVyXCI+JHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRoaXMubG9hZGVyQ29udGVudC50ZXh0KX08L3NwYW4+YDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5vdmVybGF5TG9hZGluZ1RlbXBsYXRlID0gbG9hZGVyQ29udGVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VXNlcigpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIkLnN1YnNjcmliZSgodXNlcjogRW9Vc2VyKSA9PiB7XG4gICAgICAodGhpcy5ncmlkT3B0aW9ucyB8fCB0aGlzLl9ncmlkT3B0aW9ucykuZW5hYmxlUnRsID0gKHVzZXIudWlEaXJlY3Rpb24gPT09ICdydGwnKTtcbiAgICAgIHRoaXMucGlubmVkQ29sdW1uLnBpbm5lZCA9ICh1c2VyLnVpRGlyZWN0aW9uID09PSAncnRsJykgPyAncmlnaHQnIDogJ2xlZnQnO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVSb3dDb3VudCgpIHtcbiAgICBsZXQgcm93Q291bnQgPSAwO1xuICAgIGxldCB0b3RhbENvdW50ID0gdGhpcy5jb250ZXh0Q291bnQ7XG4gICAgbGV0IHJvd0luZGV4ID0gdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LnJvd0luZGV4O1xuICAgIGxldCBzZWxlY3Rpb24gPSB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuc2VsZWN0aW9uO1xuXG4gICAgaWYgKCF0aGlzLmFwaT8uaXNEZXN0cm95ZWQoKSAmJiB0aGlzLmFwaT8uZ2V0R3JpZE9wdGlvbigncm93RGF0YScpKSB7XG4gICAgICB0aGlzLmFwaS5mb3JFYWNoTm9kZUFmdGVyRmlsdGVyKG4gPT4gbi5ncm91cCB8fCByb3dDb3VudCsrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm93Q291bnQgPSB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQucm93Q291bnQgfHwgMDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0Rmlyc3QgJiYgIXRoaXMuYXBpPy5pc0Rlc3Ryb3llZCgpICYmICF0aGlzLmFwaS5nZXRGb2N1c2VkQ2VsbCgpICYmIChyb3dJbmRleCAhPT0gbnVsbCB8fCAhdGhpcy5mb2N1c2VkUm93SUQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VsZWN0Um93KHJvd0luZGV4IHx8IDAsIHNlbGVjdGlvbiksIDIwMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlRm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy5fZ3JpZENvdW50ID0ge3RvdGFsQ291bnQsIHJvd0NvdW50LCByZWxhdGlvbjogdGhpcy5jb250ZXh0UmVsYXRpb259O1xuICAgIHRoaXMuZW9HcmlkQ291bnRDaGFuZ2VkLmVtaXQodGhpcy5fZ3JpZENvdW50KTtcbiAgfVxuXG4gIHVwZGF0ZUZvY3VzKGlkID0gdGhpcy5mb2N1c2VkUm93SUQpIHtcbiAgICBpZiAoIXRoaXMuYXBpPy5pc0Rlc3Ryb3llZCgpKSB7XG4gICAgICBjb25zdCBjZWxsID0gdGhpcy5hcGkuZ2V0Rm9jdXNlZENlbGwoKTtcbiAgICAgIGNvbnN0IHJvdyA9IHRoaXMuYXBpLmdldFJvd05vZGUoaWQpO1xuICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZmlsdGVyQWN0aXZlICYmIChjZWxsICYmIGNlbGwucm93SW5kZXgpICE9PSAocm93ICYmIHJvdy5yb3dJbmRleCkpIHtcbiAgICAgICAgaWYgKHJvdykge1xuICAgICAgICAgIHRoaXMuYXBpLnNldEZvY3VzZWRDZWxsKHJvdy5yb3dJbmRleCwgKHRoaXMuZ3JpZE9wdGlvbnMuY29sdW1uRGVmc1sxXSBhcyBDb2xEZWYpLmZpZWxkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFwaS5jbGVhckZvY3VzZWRDZWxsKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNlbGxDbGlja2VkKCRldmVudCkge1xuXG4gICAgaWYgKCRldmVudC5yb3dJbmRleCAhPT0gbnVsbCkge1xuICAgICAgaWYgKCEkZXZlbnQubm9kZS5ncm91cCAmJiAkZXZlbnQuZGF0YSkge1xuICAgICAgICBpZiAoJGV2ZW50LmNvbERlZi5jZWxsQ2xhc3MgPT09ICdyb3V0ZXItbGluay1jZWxsJykge1xuICAgICAgICAgIHRoaXMuZ3JpZEFwaS5vcGVuUm91dGVyTGluaygkZXZlbnQuZXZlbnQsICdhZy1yb3cnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZW9HcmlkQ2VsbENsaWNrLmVtaXQoJGV2ZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNlbGxEb3VibGVDbGlja2VkKCRldmVudCkge1xuXG4gICAgaWYgKCRldmVudC5yb3dJbmRleCAhPT0gbnVsbCkge1xuICAgICAgaWYgKCEkZXZlbnQubm9kZS5ncm91cCAmJiAkZXZlbnQuZGF0YSkge1xuICAgICAgICB0aGlzLmVvR3JpZERvdWJsZUNsaWNrLmVtaXQoJGV2ZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbk1vdXNlRG93bigkZXZlbnQ6IE1vdXNlRXZlbnQgfCBhbnkpIHtcbiAgICBpZiAodGhpcy5hcGk/LmdldEdyaWRPcHRpb24oJ3N1cHByZXNzUm93Q2xpY2tTZWxlY3Rpb24nKSkge1xuICAgICAgaWYgKCF0aGlzLnBlbmRpbmdDaGFuZ2VzLmNoZWNrKCkpIHtcbiAgICAgICAgdGhpcy5hcGk/LnVwZGF0ZUdyaWRPcHRpb25zKHsgc3VwcHJlc3NSb3dDbGlja1NlbGVjdGlvbjogZmFsc2UsIHN1cHByZXNzQ2VsbEZvY3VzOiBmYWxzZSB9KTtcbiAgICAgICAgdGhpcy5zZWxlY3RFdmVudCgkZXZlbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdEV2ZW50KCRldmVudDogTW91c2VFdmVudCB8IGFueSkge1xuICAgIGNvbnN0IGNvbElkID0gJGV2ZW50LmNvbXBvc2VkUGF0aD8uKCkuZmluZCgoZWwpID0+IGVsPy5nZXRBdHRyaWJ1dGUoJ2NvbC1pZCcpKT8uZ2V0QXR0cmlidXRlKCdjb2wtaWQnKTtcbiAgICBjb25zdCByb3dJZCA9ICRldmVudC5jb21wb3NlZFBhdGg/LigpLmZpbmQoKGVsKSA9PiBlbD8uZ2V0QXR0cmlidXRlKCdyb3ctaWQnKSk/LmdldEF0dHJpYnV0ZSgncm93LWlkJyk7XG4gICAgaWYgKGNvbElkKSB7XG4gICAgICBjb25zdCByb3cgPSB0aGlzLmFwaT8uZ2V0Um93Tm9kZShyb3dJZCk7XG4gICAgICAvL3NlbGVjdCByb3cgb25seSBvbiBsZWZ0IGNsaWNrXG4gICAgICB0aGlzLnNlbGVjdFJvdyhyb3cucm93SW5kZXgsICRldmVudC5idXR0b24gPT09IDAgPyBudWxsIDogW10sICEkZXZlbnQuY3RybEtleSk7XG4gICAgICBpZiAoJGV2ZW50LmJ1dHRvbiA9PT0gMikge1xuICAgICAgICAvL29wZW4gY29udGV4dCBtZW51IG9uIHJpZ2h0IGNsaWNrXG4gICAgICAgIHRoaXMub25Db250ZXh0TWVudUNsaWNrZWQoeyByb3dJbmRleDogcm93LnJvd0luZGV4LCBub2RlOiByb3csIGRhdGE6IHJvdy5kYXRhIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQ2VsbEZvY3VzZWQoJGV2ZW50KSB7XG4gICAgaWYgKHRoaXMuYXBpLmdldEdyaWRPcHRpb24oJ3N1cHByZXNzQ2VsbEZvY3VzJykpIHtcbiAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUZvY3VzKCk7XG4gICAgfVxuICAgIGlmICgkZXZlbnQucm93SW5kZXggIT09IG51bGwpIHtcbiAgICAgICRldmVudC5mb2N1c2VkTm9kZSA9IHRoaXMuYXBpLmdldE1vZGVsKCkuZ2V0Um93KCRldmVudC5yb3dJbmRleCk7XG4gICAgICBpZiAoJGV2ZW50LmZvY3VzZWROb2RlICYmICEkZXZlbnQuZm9jdXNlZE5vZGUuZ3JvdXAgJiYgJGV2ZW50LmZvY3VzZWROb2RlLmRhdGEpIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkUm93SUQgPSAkZXZlbnQuZm9jdXNlZE5vZGUuaWQ7XG4gICAgICAgIHRoaXMuZW9HcmlkRm9jdXNDaGFuZ2VkLmVtaXQoJGV2ZW50LmZvY3VzZWROb2RlLmRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQ29udGV4dE1lbnVDbGlja2VkKCRldmVudCkge1xuICAgIGlmICgkZXZlbnQucm93SW5kZXggIT09IG51bGwgJiYgISRldmVudC5ub2RlLmdyb3VwICYmICRldmVudC5kYXRhKSB7XG4gICAgICBsZXQgc2VsZWN0ZWROb2RlcyA9IHRoaXMuYXBpLmdldFNlbGVjdGVkTm9kZXMoKS5tYXAobiA9PiBuLmRhdGEpLmZpbHRlcihkID0+IGQpO1xuICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoICYmIHNlbGVjdGVkTm9kZXMuc29tZShuID0+IG4uaWQgPT09ICRldmVudC5kYXRhLmlkKSkge1xuICAgICAgICB0aGlzLmVvR3JpZENvbnRleHRNZW51Q2xpY2suZW1pdChzZWxlY3RlZE5vZGVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZW9HcmlkQ29udGV4dE1lbnVDbGljay5lbWl0KFskZXZlbnQuZGF0YV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpIHtcbiAgICBsZXQgc2VsZWN0ZWROb2RlcyA9IHRoaXMuYXBpLmdldFNlbGVjdGVkTm9kZXMoKS5tYXAobiA9PiBuLmRhdGEpLmZpbHRlcihkID0+IGQpO1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbkxpbWl0ICYmIHNlbGVjdGVkTm9kZXMubGVuZ3RoID4gdGhpcy5zZWxlY3Rpb25MaW1pdCkge1xuICAgICAgdGhpcy5zZWxlY3RSb3codGhpcy5hcGkuZ2V0Rm9jdXNlZENlbGwoKS5yb3dJbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW9HcmlkU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KHNlbGVjdGVkTm9kZXMpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29sdW1uUmVzaXplZCgkZXZlbnQpIHtcbiAgICBpZiAoJGV2ZW50LmNvbHVtbikge1xuICAgICAgdGhpcy5jb2xSZXNpemVEZWJvdW5jZXIubmV4dCgkZXZlbnQuY29sdW1uKTtcbiAgICB9XG4gIH1cblxuICBvbk1vZGVsVXBkYXRlZCgpIHtcbiAgICB0aGlzLmNhbGN1bGF0ZURlYm91bmNlci5uZXh0KHt9KTtcbiAgfVxuXG4gIG9uUmVhZHkoKSB7XG4gICAgaWYgKHRoaXMuc2l6ZVRvRml0KSB7XG4gICAgICB0aGlzLmFwaS5zaXplQ29sdW1uc1RvRml0KCk7XG4gICAgfVxuICB9XG5cbiAgb25RdWlja0ZpbHRlckNoYW5nZWQoJGV2ZW50KSB7XG4gICAgdGhpcy5hcGkuc2V0UXVpY2tGaWx0ZXIoJGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gIH1cblxuICBzZWxlY3RSb3cocm93OiBudW1iZXIgfCBzdHJpbmcsIHNlbGVjdGlvbj86IG51bWJlcltdLCBjbGVhclNlbGVjdGlvbiA9IHRydWUsIHBvc2l0aW9uID0gbnVsbCkge1xuICAgIGlmICghdGhpcy5hcGkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCByb3dOb2RlID0gdHlwZW9mIHJvdyA9PT0gJ251bWJlcicgPyAhdGhpcy5hcGk/LmlzRGVzdHJveWVkKCkgJiYgdGhpcy5hcGkuZ2V0TW9kZWwoKT8uZ2V0Um93KHJvdykgOiB0aGlzLmFwaS5nZXRSb3dOb2RlKHJvdyk7XG4gICAgbGV0IGluZGV4ID0gcm93Tm9kZSA/IHJvd05vZGUucm93SW5kZXggOiAwO1xuXG4gICAgaWYgKHJvd05vZGUgJiYgcm93Tm9kZS5kYXRhKSB7XG4gICAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICAgIHNlbGVjdGlvbi5mb3JFYWNoKChyb3dJbmRleCwgaSkgPT4ge1xuICAgICAgICAgIHRoaXMuYXBpLmdldE1vZGVsKCkuZ2V0Um93KHJvd0luZGV4KS5zZXRTZWxlY3RlZCh0cnVlLCBpID09PSAwKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5zZWxlY3Rpb24gPSBudWxsOyAvL3Jlc2V0IGluaXRpYWwgc2VsZWN0aW9uXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByb3dOb2RlLnNldFNlbGVjdGVkKHRydWUsIGNsZWFyU2VsZWN0aW9uKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5hcGkuc2V0Rm9jdXNlZENlbGwoaW5kZXgsICh0aGlzLmdyaWRPcHRpb25zLmNvbHVtbkRlZnNbMV0gYXMgQ29sRGVmKS5maWVsZCk7XG4gICAgICB0aGlzLnNjcm9sbFRvUm93KGluZGV4LCBwb3NpdGlvbik7XG4gICAgICB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQucm93SW5kZXggPSBudWxsOyAvL3Jlc2V0IGluaXRpYWwgcm93SW5kZXhcbiAgICB9IGVsc2UgaWYgKGluZGV4ID4gMCAmJiB0aGlzLmNvbnRleHRDb3VudCkge1xuICAgICAgdGhpcy5zZWxlY3RSb3coLS1pbmRleCwgc2VsZWN0aW9uLCBjbGVhclNlbGVjdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5hcGk/LmlzRGVzdHJveWVkKCkpIHtcbiAgICAgICAgdGhpcy5hcGkuY2xlYXJGb2N1c2VkQ2VsbCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5lb0dyaWRGb2N1c0NoYW5nZWQuZW1pdChudWxsKTtcbiAgICB9XG4gIH1cblxuICBzY3JvbGxUb1JvdyhpbmRleD86IG51bWJlciwgcG9zaXRpb24gPSBudWxsKSB7XG4gICAgdGhpcy5hcGkuZW5zdXJlSW5kZXhWaXNpYmxlKGluZGV4ID09PSB1bmRlZmluZWQgPyAodGhpcy5hcGkuZ2V0Rm9jdXNlZENlbGwoKSA/IHRoaXMuYXBpLmdldEZvY3VzZWRDZWxsKCkucm93SW5kZXggOiAwKSA6IGluZGV4LCBwb3NpdGlvbik7XG4gIH1cblxuICBzZWxlY3RSb3dCeUlkKGlkLCBwb3NpdGlvbiA9ICcnKSB7XG4gICAgY29uc3Qgcm93Tm9kZSA9IGlkICYmIHRoaXMuYXBpLmdldFJvd05vZGUoaWQpO1xuICAgIGlmIChyb3dOb2RlKSB7XG4gICAgICByb3dOb2RlLnNldFNlbGVjdGVkKHRydWUpO1xuICAgICAgdGhpcy5zZWxlY3RSb3cocm93Tm9kZS5yb3dJbmRleCwgW10sIHRydWUsIHBvc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICBzZXRDb2x1bW5EZWZzKGNvbHVtbkRlZnM6IENvbERlZltdKSB7XG4gICAgdGhpcy5hcGkuc2V0R3JpZE9wdGlvbignY29sdW1uRGVmcycsIGNvbHVtbkRlZnMgPyBbdGhpcy5waW5uZWRDb2x1bW5dLmNvbmNhdChjb2x1bW5EZWZzKSA6IG51bGwpO1xuICB9XG5cbiAgc2V0Um93RGF0YShkYXRhOiBhbnlbXSA9IFtdLCByb3c/OiBhbnkpIHtcbiAgICB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSBkYXRhLmxlbmd0aDtcbiAgICB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQucm93SW5kZXggPSByb3c7XG4gICAgdGhpcy5hcGkuY2xlYXJGb2N1c2VkQ2VsbCgpO1xuICAgIHRoaXMuYXBpLnNldEdyaWRPcHRpb24oJ3Jvd0RhdGEnLCBkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc1NvZnREYXRhKGRhdGE6IGFueVtdID0gW10pIHtcbiAgICBsZXQgcmVtb3ZlID0gZGF0YS5maWx0ZXIoaSA9PiBpLl9fcmVtb3ZlZCkubWFwKGkgPT4ge1xuICAgICAgZGVsZXRlIGkuX19yZW1vdmVkO1xuICAgICAgcmV0dXJuIGk7XG4gICAgfSk7XG5cbiAgICBsZXQgdXBkYXRlID0gZGF0YS5maWx0ZXIoaSA9PiBpLl9fdXBkYXRlZCkubWFwKGkgPT4ge1xuICAgICAgZGVsZXRlIGkuX191cGRhdGVkO1xuICAgICAgcmV0dXJuIGk7XG4gICAgfSk7XG5cbiAgICAvLyBmaW5hbGx5IHJlbW92ZSBpdGVtcyBmcm9tIGFycmF5XG4gICAgcmVtb3ZlLmZvckVhY2goaSA9PiBkYXRhLnNwbGljZShkYXRhLmluZGV4T2YoaSksIDEpKTtcblxuICAgIGxldCBhcHBseVVwZGF0ZSA9IHJlbW92ZS5sZW5ndGggfHwgdXBkYXRlLmxlbmd0aDtcblxuICAgIHJldHVybiB7YXBwbHlVcGRhdGUsIHJlbW92ZSwgdXBkYXRlfTtcbiAgfVxuXG4gIHVwZGF0ZVJvd0RhdGEoZGF0YTogYW55W10gPSBbXSwgcm93PzogYW55LCBzZWxlY3Rpb24/OiBudW1iZXJbXSkge1xuXG4gICAgbGV0IHthcHBseVVwZGF0ZSwgcmVtb3ZlLCB1cGRhdGV9ID0gdGhpcy5wcm9jZXNzU29mdERhdGEoZGF0YSk7XG4gICAgaWYgKCFhcHBseVVwZGF0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2V0Um93RGF0YShkYXRhLCByb3cpO1xuICAgIH1cblxuICAgIHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudCA9IGRhdGEubGVuZ3RoO1xuICAgIGxldCBsYXN0Rm9jdXNlZENlbGw6IENlbGxQb3NpdGlvbiA9IHRoaXMuYXBpLmdldEZvY3VzZWRDZWxsKCk7XG4gICAgdGhpcy5hcGkuYXBwbHlUcmFuc2FjdGlvbih7cmVtb3ZlLCB1cGRhdGV9KTtcbiAgICB0aGlzLmFwaS5yZWRyYXdSb3dzKCk7XG4gICAgc2V0VGltZW91dChfID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0Um93KGxhc3RGb2N1c2VkQ2VsbCA/IGxhc3RGb2N1c2VkQ2VsbC5yb3dJbmRleCA6IChyb3cgfHwgMCksIHNlbGVjdGlvbik7XG4gICAgfSwgdGhpcy5jb250ZXh0Q291bnQgPyA1MDAgOiAwKTtcbiAgfVxuXG4gIHVwZGF0ZVJvd3MoZGF0YTogYW55W10gPSBbXSkge1xuXG4gICAgbGV0IHthcHBseVVwZGF0ZSwgcmVtb3ZlLCB1cGRhdGV9ID0gdGhpcy5wcm9jZXNzU29mdERhdGEoZGF0YSk7XG4gICAgaWYgKCFhcHBseVVwZGF0ZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudCA9IHRoaXMuY29udGV4dENvdW50IC0gcmVtb3ZlLmxlbmd0aDtcbiAgICBsZXQgbGFzdEZvY3VzZWRJbmRleCA9IHRoaXMuYXBpLmdldEZvY3VzZWRDZWxsKCkgPyB0aGlzLmFwaS5nZXRGb2N1c2VkQ2VsbCgpLnJvd0luZGV4IDogMDtcblxuICAgIHRoaXMuYXBpLmFwcGx5VHJhbnNhY3Rpb24oe3JlbW92ZSwgdXBkYXRlfSk7XG5cbiAgICBzZXRUaW1lb3V0KF8gPT4ge1xuICAgICAgdGhpcy5zZWxlY3RSb3cobGFzdEZvY3VzZWRJbmRleCk7XG4gICAgfSwgdGhpcy5jb250ZXh0Q291bnQgPyA1MDAgOiAwKTtcbiAgfVxuXG4gIGdldCBjb2x1bW5zKCk6IENvbHVtbltdIHtcbiAgICByZXR1cm4gdGhpcy5hcGkuZ2V0Q29sdW1ucygpLmZpbHRlcihjID0+IGMuZ2V0Q29sSWQoKSAhPT0gdGhpcy5waW5uZWRDb2x1bW4uZmllbGQpO1xuICB9XG5cbiAgZ2V0IGFwaSgpOiBHcmlkQXBpIHtcbiAgICByZXR1cm4gdGhpcy5hZ0dyaWQ/LmFwaTtcbiAgfVxuXG4gIGdldCBpc1JlYWR5KCkge1xuICAgIHJldHVybiAhIXRoaXMuYXBpO1xuICB9XG5cbiAgZ2V0IGlzRW1wdHkoKSB7XG4gICAgcmV0dXJuICF0aGlzLl9ncmlkQ291bnQudG90YWxDb3VudCAmJiAoIXRoaXMuYXBpIHx8ICFPYmplY3Qua2V5cyh0aGlzLmFwaS5nZXRGaWx0ZXJNb2RlbCgpKS5sZW5ndGgpO1xuICB9XG5cbiAgZ2V0IGlzRW1wdHlSb3dzKCkge1xuICAgIHJldHVybiAhdGhpcy5fZ3JpZENvdW50LnJvd0NvdW50O1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJlby1ncmlkLWVtcHR5XCIgW2hpZGRlbl09XCIhKGlzRW1wdHkgfHwgaXNFbXB0eVJvd3MpXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi5lbXB0eVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImVvLWdyaWQtaGVhZGVyXCIgKm5nSWY9XCJzaG93SGVhZGVyXCIgW2hpZGRlbl09XCJpc0VtcHR5XCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi5oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxhZy1ncmlkLWFuZ3VsYXIgI2FnR3JpZCBjbGFzcz1cImFnLXRoZW1lLWJhbGhhbVwiIFttb2R1bGVzXT1cIm1vZHVsZXNcIlxuICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cImlzRW1wdHlcIlxuICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2hpZGUtaGVhZGVyJzogc2hvd0hlYWRlciwgJ2VuYWJsZS1mb290ZXInOiBzaG93Rm9vdGVyLCAnZnVsbC13aWR0aCc6IGZ1bGxXaWR0aH1cIlxuICAgICAgICAgICAgICAgICBbZ3JpZE9wdGlvbnNdPVwiZ3JpZE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAobW9kZWxVcGRhdGVkKT1cIm9uTW9kZWxVcGRhdGVkKClcIlxuICAgICAgICAgICAgICAgICAoY2VsbEZvY3VzZWQpPVwib25DZWxsRm9jdXNlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGNlbGxDb250ZXh0TWVudSk9XCJvbkNvbnRleHRNZW51Q2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGNvbnRleHRtZW51KT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTskZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChjZWxsQ2xpY2tlZCk9XCJvbkNlbGxDbGlja2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAoY2VsbERvdWJsZUNsaWNrZWQpPVwib25DZWxsRG91YmxlQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZWQpPVwib25TZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAoY29sdW1uUmVzaXplZCk9XCJvbkNvbHVtblJlc2l6ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChncmlkUmVhZHkpPVwib25SZWFkeSgpXCI+XG48L2FnLWdyaWQtYW5ndWxhcj5cbjxkaXYgY2xhc3M9XCJlby1ncmlkLWZvb3RlclwiICpuZ0lmPVwic2hvd0Zvb3RlclwiIFtoaWRkZW5dPVwiaXNFbXB0eVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCIuZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
|
454
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9ncmlkL2dyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRixPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRzVDLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc3QixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUdwRixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBUTlCLElBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWE7SUF1RHhCLElBQ0ksT0FBTyxDQUFDLE9BQVk7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELElB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LHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFNRSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVGLE9BQU87c0JBRFYsS0FBSztnQkFVRixXQUFXO3NCQURkLEtBQUs7Z0JBeUJOLGVBQWU7c0JBSmQsWUFBWTt1QkFBQyw2QkFBNkIsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3RELFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNsRCxZQUFZO3VCQUFDLHVCQUF1QixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDaEQsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xpZW50U2lkZVJvd01vZGVsTW9kdWxlfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY2xpZW50LXNpZGUtcm93LW1vZGVsJztcbmltcG9ydCB7Q2VsbFBvc2l0aW9uLCBDb2xEZWYsIENvbHVtbiwgR3JpZEFwaSwgR3JpZE9wdGlvbnMsIE1vZHVsZX0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RW9Vc2VyLCBUcmFuc2xhdGVTZXJ2aWNlLCBVc2VyU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0dyaWRTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9hcGkvZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtDb2Rlc3lzdGVtRmlsdGVyQ29tcG9uZW50fSBmcm9tICcuL2ZpbHRlcnMvY29kZXN5c3RlbS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7RGF0ZXRpbWVGaWx0ZXJDb21wb25lbnR9IGZyb20gJy4vZmlsdGVycy9kYXRldGltZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7RHluYW1pY0xpc3RGaWx0ZXJDb21wb25lbnR9IGZyb20gJy4vZmlsdGVycy9keW5hbWljLWxpc3QtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0xpc3RGaWx0ZXJDb21wb25lbnR9IGZyb20gJy4vZmlsdGVycy9saXN0LWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtPcmdhbml6YXRpb25GaWx0ZXJDb21wb25lbnR9IGZyb20gJy4vZmlsdGVycy9vcmdhbml6YXRpb24tZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0lMb2FkZXJ9IGZyb20gJy4vbG9hZGVyLmludGVyZmFjZSc7XG5pbXBvcnQge0FnR3JpZEFuZ3VsYXJ9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyJztcbmltcG9ydCB7ZGVsYXl9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRDb21wb25lbnQge1xuXG4gIHB1YmxpYyBtb2R1bGVzOiBNb2R1bGVbXSA9IFtDbGllbnRTaWRlUm93TW9kZWxNb2R1bGVdO1xuICBzY3JvbGxQb3NpdGlvbiA9IDA7XG5cbiAgb3ZlcmxheUxvYWRpbmdUZW1wbGF0ZTogc3RyaW5nO1xuICBwcml2YXRlIGNvbXBvbmVudHMgPSB7XG4gICAgYWdEYXRlSW5wdXQ6IERhdGV0aW1lRmlsdGVyQ29tcG9uZW50LFxuICAgIE9yZ2FuaXphdGlvbkZpbHRlckNvbXBvbmVudDogT3JnYW5pemF0aW9uRmlsdGVyQ29tcG9uZW50LFxuICAgIENvZGVzeXN0ZW1GaWx0ZXJDb21wb25lbnQ6IENvZGVzeXN0ZW1GaWx0ZXJDb21wb25lbnQsXG4gICAgRHluYW1pY0xpc3RGaWx0ZXJDb21wb25lbnQ6IER5bmFtaWNMaXN0RmlsdGVyQ29tcG9uZW50LFxuICAgIExpc3RGaWx0ZXJDb21wb25lbnQ6IExpc3RGaWx0ZXJDb21wb25lbnRcbiAgfTtcblxuICBwcml2YXRlIF9ncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIHByaXZhdGUgX29wdGlvbnM6IGFueSA9IHt9O1xuICBwcml2YXRlIF9ncmlkQ291bnQ6IGFueSA9IHt9O1xuICBwcml2YXRlIHBpbm5lZENvbHVtbjogQ29sRGVmID0ge1xuICAgIGhlYWRlck5hbWU6ICcnLFxuICAgIGZpbHRlcjogZmFsc2UsXG4gICAgc29ydGFibGU6IGZhbHNlLFxuICAgIHJlc2l6YWJsZTogZmFsc2UsXG4gICAgc3VwcHJlc3NIZWFkZXJNZW51QnV0dG9uOiB0cnVlLFxuICAgIHN1cHByZXNzTW92YWJsZTogdHJ1ZSxcbiAgICBzdXBwcmVzc05hdmlnYWJsZTogdHJ1ZSxcbiAgICBzdXBwcmVzc1Bhc3RlOiB0cnVlLFxuICAgIHN1cHByZXNzU2l6ZVRvRml0OiB0cnVlLFxuICAgIHBpbm5lZDogJ2xlZnQnLFxuICAgIHdpZHRoOiAzLFxuICAgIG1heFdpZHRoOiAzLFxuICAgIGZpZWxkOiAnX19zZWxlY3Rpb25GaWVsZCcsXG4gICAgdmFsdWVHZXR0ZXI6ICgpID0+ICcnXG4gIH07XG5cbiAgQFZpZXdDaGlsZCgnYWdHcmlkJykgYWdHcmlkITogQWdHcmlkQW5ndWxhcjtcblxuICBAT3V0cHV0KCkgZW9HcmlkQ291bnRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBlb0dyaWRTZWxlY3Rpb25DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBlb0dyaWRGb2N1c0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGVvR3JpZENlbGxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZW9HcmlkRG91YmxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGVvR3JpZENvbnRleHRNZW51Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGVvR3JpZENvbHVtblJlc2l6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcml2YXRlIGNvbFJlc2l6ZURlYm91bmNlciA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgY2FsY3VsYXRlRGVib3VuY2VyID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBmb2N1c2VkUm93SUQgPSAnJztcblxuICBASW5wdXQoKSBzZWxlY3RGaXJzdCA9IHRydWU7XG4gIEBJbnB1dCgpIHNlbGVjdGlvbkxpbWl0OiBudW1iZXI7XG4gIEBJbnB1dCgpIHNpemVUb0ZpdCA9IGZhbHNlO1xuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd0hlYWRlciA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93Rm9vdGVyID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxvYWRlckNvbnRlbnQ6IElMb2FkZXIgPSB7c2hvdzogZmFsc2UsIGltYWdlOiBudWxsLCB0ZXh0OiBudWxsfTtcbiAgQElucHV0KClcbiAgc2V0IG9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBncmlkT3B0aW9ucyhncmlkT3B0aW9uczogR3JpZE9wdGlvbnMgfCBhbnkpIHtcbiAgICBjb25zdCBvcHRpb25zID0gZ3JpZE9wdGlvbnM/Ll9ncmlkT3B0aW9ucyB8fCBncmlkT3B0aW9ucztcbiAgICBPYmplY3QuYXNzaWduKHRoaXMuX2dyaWRPcHRpb25zLCBvcHRpb25zLCB7XG4gICAgICBjb250ZXh0OiBPYmplY3QuYXNzaWduKHRoaXMuX2dyaWRPcHRpb25zLmNvbnRleHQsIG9wdGlvbnMuY29udGV4dCksXG4gICAgICBjb2x1bW5EZWZzOiBvcHRpb25zLmNvbHVtbkRlZnMgPyBbdGhpcy5waW5uZWRDb2x1bW5dLmNvbmNhdChvcHRpb25zLmNvbHVtbkRlZnMpIDogbnVsbFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGdyaWRPcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9ncmlkT3B0aW9ucztcbiAgfVxuXG4gIGdldCBjb250ZXh0Q291bnQoKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPT09ICdudW1iZXInID8gdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50IDogdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50LnZhbHVlO1xuICB9XG5cbiAgZ2V0IGNvbnRleHRSZWxhdGlvbigpIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5jb3VudCA9PT0gJ251bWJlcicgPyAnZXEnIDogdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50LnJlbGF0aW9uO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5jb250cm9sLmFsdC5zaGlmdC5jJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5jb250cm9sLnNoaWZ0LmMnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmNvbnRyb2wuYWx0LmMnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmNvbnRyb2wuYycsIFsnJGV2ZW50J10pXG4gIGNvcHlDZWxsSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMuZ3JpZEFwaS5jb3B5VG9DbGlwYm9hcmQoZXZlbnQsIHRoaXMuYWdHcmlkLCB0aGlzLmdyaWRPcHRpb25zKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyBncmlkQXBpOiBHcmlkU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZVxuICApIHtcblxuICAgIHRoaXMuX2dyaWRPcHRpb25zID0ge1xuICAgICAgY29udGV4dDogZ3JpZEFwaS5nZXRDb250ZXh0KCksXG4gICAgICBhbmltYXRlUm93czogdHJ1ZSxcbiAgICAgIGhlYWRlckhlaWdodDogMzAsXG4gICAgICByb3dIZWlnaHQ6IDQ4LFxuICAgICAgcm93QnVmZmVyOiAyMCxcbiAgICAgIHJvd1NlbGVjdGlvbjogJ211bHRpcGxlJyxcbiAgICAgIG11bHRpU29ydEtleTogJ2N0cmwnLFxuICAgICAgYWNjZW50ZWRTb3J0OiB0cnVlLFxuICAgICAgc3VwcHJlc3NDb250ZXh0TWVudTogdHJ1ZSxcbiAgICAgIHN1cHByZXNzTm9Sb3dzT3ZlcmxheTogdHJ1ZSxcbiAgICAgIG92ZXJsYXlMb2FkaW5nVGVtcGxhdGU6ICcgJyxcbiAgICAgIG92ZXJsYXlOb1Jvd3NUZW1wbGF0ZTogJyAnLFxuICAgICAgZ2V0Um93SWQ6IChyb3cpID0+IHJvdz8uZGF0YT8uaWQgfHwgcm93IHx8IG51bGwsXG4gICAgICBnZXRMb2NhbGVUZXh0OiAoe2tleSwgZGVmYXVsdFZhbHVlLCB2YXJpYWJsZVZhbHVlc30pID0+IHtcbiAgICAgICAgbGV0IGdyaWRLZXkgPSAnZW8ucmVzdWx0bGlzdC5ncmlkLicgKyBrZXk7XG4gICAgICAgIGxldCB2YWx1ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KGdyaWRLZXksIHZhcmlhYmxlVmFsdWVzKTtcbiAgICAgICAgcmV0dXJuIH52YWx1ZS5pbmRleE9mKGdyaWRLZXkpID8gZGVmYXVsdFZhbHVlIDogdmFsdWU7XG4gICAgICB9LFxuICAgICAgY29tcG9uZW50czogdGhpcy5jb21wb25lbnRzLFxuICAgICAgLyoqXG4gICAgICAgKiBUcmlnZ2VycyBob3Jpem9udGFsIHNjcm9sbCByZXNldCBhZnRlciBzb3J0aW5nIHdpdGggYSBkZWxheS5cbiAgICAgICAqL1xuICAgICAgcG9zdFNvcnRSb3dzOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlRGVib3VuY2VyLnBpcGUoXG4gICAgICAgICAgZGVsYXkoNzUwKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0SG9yaXpvbnRhbFNjcm9sbFBvc2l0aW9uKCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMubG9hZGluZ01lc3NhZ2UoKTtcbiAgICB0aGlzLmdldFVzZXIoKTtcblxuICAgIHRoaXMucGVuZGluZ0NoYW5nZXMudGFza3MkXG4gICAgICAucGlwZShcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHRhc2tzKSA9PiB0aGlzLmFwaT8udXBkYXRlR3JpZE9wdGlvbnMoeyBzdXBwcmVzc1Jvd0NsaWNrU2VsZWN0aW9uOiAhIXRhc2tzLmxlbmd0aCwgc3VwcHJlc3NDZWxsRm9jdXM6ICEhdGFza3MubGVuZ3RoIH0pKTtcblxuICAgIHRoaXMuY29sUmVzaXplRGVib3VuY2VyLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwMCkpXG4gICAgICAuc3Vic2NyaWJlKGNvbCA9PiB0aGlzLmVvR3JpZENvbHVtblJlc2l6ZWQuZW1pdChjb2wpKTtcblxuICAgIHRoaXMuY2FsY3VsYXRlRGVib3VuY2VyLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jYWxjdWxhdGVSb3dDb3VudCgpKTtcbiAgfVxuXG4gIGxvYWRpbmdNZXNzYWdlKCkge1xuICAgIGxldCBsb2FkZXJDb250ZW50ID0gJyc7XG5cbiAgICBpZiAodGhpcy5sb2FkZXJDb250ZW50LnNob3cpIHtcbiAgICAgIGlmICh0aGlzLmxvYWRlckNvbnRlbnQuaW1hZ2UpIHtcbiAgICAgICAgbG9hZGVyQ29udGVudCA9IGA8c3BhbiBjbGFzcz1cImFnLW92ZXJsYXktbG9hZGluZy1jZW50ZXJcIj48aW1nIFtzcmNdPVwiJHt0aGlzLmxvYWRlckNvbnRlbnQuaW1hZ2V9XCIgYWx0PVwibG9hZGVyIGltYWdlXCI+PC9zcGFuPmA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2FkZXJDb250ZW50ID0gYDxzcGFuIGNsYXNzPVwiYWctb3ZlcmxheS1sb2FkaW5nLWNlbnRlclwiPiR7dGhpcy50cmFuc2xhdGUuaW5zdGFudCh0aGlzLmxvYWRlckNvbnRlbnQudGV4dCl9PC9zcGFuPmA7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMub3ZlcmxheUxvYWRpbmdUZW1wbGF0ZSA9IGxvYWRlckNvbnRlbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldFVzZXIoKSB7XG4gICAgdGhpcy51c2VyU2VydmljZS51c2VyJC5zdWJzY3JpYmUoKHVzZXI6IEVvVXNlcikgPT4ge1xuICAgICAgKHRoaXMuZ3JpZE9wdGlvbnMgfHwgdGhpcy5fZ3JpZE9wdGlvbnMpLmVuYWJsZVJ0bCA9ICh1c2VyLnVpRGlyZWN0aW9uID09PSAncnRsJyk7XG4gICAgICB0aGlzLnBpbm5lZENvbHVtbi5waW5uZWQgPSAodXNlci51aURpcmVjdGlvbiA9PT0gJ3J0bCcpID8gJ3JpZ2h0JyA6ICdsZWZ0JztcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlUm93Q291bnQoKSB7XG4gICAgbGV0IHJvd0NvdW50ID0gMDtcbiAgICBsZXQgdG90YWxDb3VudCA9IHRoaXMuY29udGV4dENvdW50O1xuICAgIGxldCByb3dJbmRleCA9IHRoaXMuZ3JpZE9wdGlvbnMuY29udGV4dC5yb3dJbmRleDtcbiAgICBsZXQgc2VsZWN0aW9uID0gdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LnNlbGVjdGlvbjtcblxuICAgIGlmICghdGhpcy5hcGk/LmlzRGVzdHJveWVkKCkgJiYgdGhpcy5hcGk/LmdldEdyaWRPcHRpb24oJ3Jvd0RhdGEnKSkge1xuICAgICAgdGhpcy5hcGkuZm9yRWFjaE5vZGVBZnRlckZpbHRlcihuID0+IG4uZ3JvdXAgfHwgcm93Q291bnQrKyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJvd0NvdW50ID0gdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LnJvd0NvdW50IHx8IDA7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdEZpcnN0ICYmICF0aGlzLmFwaT8uaXNEZXN0cm95ZWQoKSAmJiAhdGhpcy5hcGkuZ2V0Rm9jdXNlZENlbGwoKSAmJiAocm93SW5kZXggIT09IG51bGwgfHwgIXRoaXMuZm9jdXNlZFJvd0lEKSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNlbGVjdFJvdyhyb3dJbmRleCB8fCAwLCBzZWxlY3Rpb24pLCAyMDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZUZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMuX2dyaWRDb3VudCA9IHt0b3RhbENvdW50LCByb3dDb3VudCwgcmVsYXRpb246IHRoaXMuY29udGV4dFJlbGF0aW9ufTtcbiAgICB0aGlzLmVvR3JpZENvdW50Q2hhbmdlZC5lbWl0KHRoaXMuX2dyaWRDb3VudCk7XG4gIH1cblxuICB1cGRhdGVGb2N1cyhpZCA9IHRoaXMuZm9jdXNlZFJvd0lEKSB7XG4gICAgaWYgKCF0aGlzLmFwaT8uaXNEZXN0cm95ZWQoKSkge1xuICAgICAgY29uc3QgY2VsbCA9IHRoaXMuYXBpLmdldEZvY3VzZWRDZWxsKCk7XG4gICAgICBjb25zdCByb3cgPSB0aGlzLmFwaS5nZXRSb3dOb2RlKGlkKTtcbiAgICAgIGlmICghdGhpcy5vcHRpb25zLmZpbHRlckFjdGl2ZSAmJiAoY2VsbCAmJiBjZWxsLnJvd0luZGV4KSAhPT0gKHJvdyAmJiByb3cucm93SW5kZXgpKSB7XG4gICAgICAgIGlmIChyb3cpIHtcbiAgICAgICAgICB0aGlzLmFwaS5zZXRGb2N1c2VkQ2VsbChyb3cucm93SW5kZXgsICh0aGlzLmdyaWRPcHRpb25zLmNvbHVtbkRlZnNbMV0gYXMgQ29sRGVmKS5maWVsZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hcGkuY2xlYXJGb2N1c2VkQ2VsbCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25DZWxsQ2xpY2tlZCgkZXZlbnQpIHtcblxuICAgIGlmICgkZXZlbnQucm93SW5kZXggIT09IG51bGwpIHtcbiAgICAgIGlmICghJGV2ZW50Lm5vZGUuZ3JvdXAgJiYgJGV2ZW50LmRhdGEpIHtcbiAgICAgICAgaWYgKCRldmVudC5jb2xEZWYuY2VsbENsYXNzID09PSAncm91dGVyLWxpbmstY2VsbCcpIHtcbiAgICAgICAgICB0aGlzLmdyaWRBcGkub3BlblJvdXRlckxpbmsoJGV2ZW50LmV2ZW50LCAnYWctcm93Jyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVvR3JpZENlbGxDbGljay5lbWl0KCRldmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25DZWxsRG91YmxlQ2xpY2tlZCgkZXZlbnQpIHtcblxuICAgIGlmICgkZXZlbnQucm93SW5kZXggIT09IG51bGwpIHtcbiAgICAgIGlmICghJGV2ZW50Lm5vZGUuZ3JvdXAgJiYgJGV2ZW50LmRhdGEpIHtcbiAgICAgICAgdGhpcy5lb0dyaWREb3VibGVDbGljay5lbWl0KCRldmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25Nb3VzZURvd24oJGV2ZW50OiBNb3VzZUV2ZW50IHwgYW55KSB7XG4gICAgaWYgKHRoaXMuYXBpPy5nZXRHcmlkT3B0aW9uKCdzdXBwcmVzc1Jvd0NsaWNrU2VsZWN0aW9uJykpIHtcbiAgICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVjaygpKSB7XG4gICAgICAgIHRoaXMuYXBpPy51cGRhdGVHcmlkT3B0aW9ucyh7IHN1cHByZXNzUm93Q2xpY2tTZWxlY3Rpb246IGZhbHNlLCBzdXBwcmVzc0NlbGxGb2N1czogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMuc2VsZWN0RXZlbnQoJGV2ZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RFdmVudCgkZXZlbnQ6IE1vdXNlRXZlbnQgfCBhbnkpIHtcbiAgICBjb25zdCBjb2xJZCA9ICRldmVudC5jb21wb3NlZFBhdGg/LigpLmZpbmQoKGVsKSA9PiBlbD8uZ2V0QXR0cmlidXRlKCdjb2wtaWQnKSk/LmdldEF0dHJpYnV0ZSgnY29sLWlkJyk7XG4gICAgY29uc3Qgcm93SWQgPSAkZXZlbnQuY29tcG9zZWRQYXRoPy4oKS5maW5kKChlbCkgPT4gZWw/LmdldEF0dHJpYnV0ZSgncm93LWlkJykpPy5nZXRBdHRyaWJ1dGUoJ3Jvdy1pZCcpO1xuICAgIGlmIChjb2xJZCkge1xuICAgICAgY29uc3Qgcm93ID0gdGhpcy5hcGk/LmdldFJvd05vZGUocm93SWQpO1xuICAgICAgLy9zZWxlY3Qgcm93IG9ubHkgb24gbGVmdCBjbGlja1xuICAgICAgdGhpcy5zZWxlY3RSb3cocm93LnJvd0luZGV4LCAkZXZlbnQuYnV0dG9uID09PSAwID8gbnVsbCA6IFtdLCAhJGV2ZW50LmN0cmxLZXkpO1xuICAgICAgaWYgKCRldmVudC5idXR0b24gPT09IDIpIHtcbiAgICAgICAgLy9vcGVuIGNvbnRleHQgbWVudSBvbiByaWdodCBjbGlja1xuICAgICAgICB0aGlzLm9uQ29udGV4dE1lbnVDbGlja2VkKHsgcm93SW5kZXg6IHJvdy5yb3dJbmRleCwgbm9kZTogcm93LCBkYXRhOiByb3cuZGF0YSB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkNlbGxGb2N1c2VkKCRldmVudCkge1xuICAgIGlmICh0aGlzLmFwaS5nZXRHcmlkT3B0aW9uKCdzdXBwcmVzc0NlbGxGb2N1cycpKSB7XG4gICAgICByZXR1cm4gdGhpcy51cGRhdGVGb2N1cygpO1xuICAgIH1cbiAgICBpZiAoJGV2ZW50LnJvd0luZGV4ICE9PSBudWxsKSB7XG4gICAgICAkZXZlbnQuZm9jdXNlZE5vZGUgPSB0aGlzLmFwaS5nZXREaXNwbGF5ZWRSb3dBdEluZGV4KCRldmVudC5yb3dJbmRleCk7XG4gICAgICBpZiAoJGV2ZW50LmZvY3VzZWROb2RlICYmICEkZXZlbnQuZm9jdXNlZE5vZGUuZ3JvdXAgJiYgJGV2ZW50LmZvY3VzZWROb2RlLmRhdGEpIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkUm93SUQgPSAkZXZlbnQuZm9jdXNlZE5vZGUuaWQ7XG4gICAgICAgIHRoaXMuZW9HcmlkRm9jdXNDaGFuZ2VkLmVtaXQoJGV2ZW50LmZvY3VzZWROb2RlLmRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQ29udGV4dE1lbnVDbGlja2VkKCRldmVudCkge1xuICAgIGlmICgkZXZlbnQucm93SW5kZXggIT09IG51bGwgJiYgISRldmVudC5ub2RlLmdyb3VwICYmICRldmVudC5kYXRhKSB7XG4gICAgICBsZXQgc2VsZWN0ZWROb2RlcyA9IHRoaXMuYXBpLmdldFNlbGVjdGVkTm9kZXMoKS5tYXAobiA9PiBuLmRhdGEpLmZpbHRlcihkID0+IGQpO1xuICAgICAgaWYgKHNlbGVjdGVkTm9kZXMubGVuZ3RoICYmIHNlbGVjdGVkTm9kZXMuc29tZShuID0+IG4uaWQgPT09ICRldmVudC5kYXRhLmlkKSkge1xuICAgICAgICB0aGlzLmVvR3JpZENvbnRleHRNZW51Q2xpY2suZW1pdChzZWxlY3RlZE5vZGVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZW9HcmlkQ29udGV4dE1lbnVDbGljay5lbWl0KFskZXZlbnQuZGF0YV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpIHtcbiAgICBsZXQgc2VsZWN0ZWROb2RlcyA9IHRoaXMuYXBpLmdldFNlbGVjdGVkTm9kZXMoKS5tYXAobiA9PiBuLmRhdGEpLmZpbHRlcihkID0+IGQpO1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbkxpbWl0ICYmIHNlbGVjdGVkTm9kZXMubGVuZ3RoID4gdGhpcy5zZWxlY3Rpb25MaW1pdCkge1xuICAgICAgdGhpcy5zZWxlY3RSb3codGhpcy5hcGkuZ2V0Rm9jdXNlZENlbGwoKS5yb3dJbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW9HcmlkU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KHNlbGVjdGVkTm9kZXMpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29sdW1uUmVzaXplZCgkZXZlbnQpIHtcbiAgICBpZiAoJGV2ZW50LmNvbHVtbikge1xuICAgICAgdGhpcy5jb2xSZXNpemVEZWJvdW5jZXIubmV4dCgkZXZlbnQuY29sdW1uKTtcbiAgICB9XG4gIH1cblxuICBvbk1vZGVsVXBkYXRlZCgpIHtcbiAgICB0aGlzLmNhbGN1bGF0ZURlYm91bmNlci5uZXh0KHt9KTtcbiAgfVxuXG4gIG9uUmVhZHkoKSB7XG4gICAgaWYgKHRoaXMuc2l6ZVRvRml0KSB7XG4gICAgICB0aGlzLmFwaS5zaXplQ29sdW1uc1RvRml0KCk7XG4gICAgfVxuICB9XG5cbiAgLypcbiAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiB0aGUgZ3JpZCBpcyBzb3J0ZWQuXG4gICovXG4gIG9uU29ydENoYW5nZWQoZXZlbnQpIHtcbiAgICB0aGlzLnNjcm9sbFBvc2l0aW9uID0gZXZlbnQuYXBpLmdldEhvcml6b250YWxQaXhlbFJhbmdlKCkubGVmdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTY3JvbGxzIHRoZSBncmlkIGhvcml6b250YWxseSB0byBhIHByZWRlZmluZWQgaW5pdGlhbCBwb3NpdGlvbi5cbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW4gdGhlIGdyaWQgaXMgc29ydGVkLlxuICAgKi9cbiAgc2V0SG9yaXpvbnRhbFNjcm9sbFBvc2l0aW9uKCkge1xuICAgIGNvbnN0IGdyaWRCb2R5ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtdmlld3BvcnQnKSBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoZ3JpZEJvZHkpIHtcbiAgICAgIGdyaWRCb2R5LnNjcm9sbExlZnQgPSB0aGlzLnNjcm9sbFBvc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIG9uUXVpY2tGaWx0ZXJDaGFuZ2VkKCRldmVudCkge1xuICAgIHRoaXMuYXBpLnNldFF1aWNrRmlsdGVyKCRldmVudC50YXJnZXQudmFsdWUpO1xuICB9XG5cbiAgc2VsZWN0Um93KHJvdzogbnVtYmVyIHwgc3RyaW5nLCBzZWxlY3Rpb24/OiBudW1iZXJbXSwgY2xlYXJTZWxlY3Rpb24gPSB0cnVlLCBwb3NpdGlvbiA9IG51bGwpIHtcbiAgICBpZiAoIXRoaXMuYXBpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgcm93Tm9kZSA9IHR5cGVvZiByb3cgPT09ICdudW1iZXInID8gIXRoaXMuYXBpPy5pc0Rlc3Ryb3llZCgpICYmIHRoaXMuYXBpLmdldERpc3BsYXllZFJvd0F0SW5kZXgocm93KSA6IHRoaXMuYXBpLmdldFJvd05vZGUocm93KTtcbiAgICBsZXQgaW5kZXggPSByb3dOb2RlID8gcm93Tm9kZS5yb3dJbmRleCA6IDA7XG5cbiAgICBpZiAocm93Tm9kZSAmJiByb3dOb2RlLmRhdGEpIHtcbiAgICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgICAgc2VsZWN0aW9uLmZvckVhY2goKHJvd0luZGV4LCBpKSA9PiB7XG4gICAgICAgICAgdGhpcy5hcGkuZ2V0RGlzcGxheWVkUm93QXRJbmRleChyb3dJbmRleCkuc2V0U2VsZWN0ZWQodHJ1ZSwgaSA9PT0gMCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuc2VsZWN0aW9uID0gbnVsbDsgLy9yZXNldCBpbml0aWFsIHNlbGVjdGlvblxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcm93Tm9kZS5zZXRTZWxlY3RlZCh0cnVlLCBjbGVhclNlbGVjdGlvbik7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYXBpLnNldEZvY3VzZWRDZWxsKGluZGV4LCAodGhpcy5ncmlkT3B0aW9ucy5jb2x1bW5EZWZzWzFdIGFzIENvbERlZikuZmllbGQpO1xuICAgICAgdGhpcy5zY3JvbGxUb1JvdyhpbmRleCwgcG9zaXRpb24pO1xuICAgICAgdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LnJvd0luZGV4ID0gbnVsbDsgLy9yZXNldCBpbml0aWFsIHJvd0luZGV4XG4gICAgfSBlbHNlIGlmIChpbmRleCA+IDAgJiYgdGhpcy5jb250ZXh0Q291bnQpIHtcbiAgICAgIHRoaXMuc2VsZWN0Um93KC0taW5kZXgsIHNlbGVjdGlvbiwgY2xlYXJTZWxlY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMuYXBpPy5pc0Rlc3Ryb3llZCgpKSB7XG4gICAgICAgIHRoaXMuYXBpLmNsZWFyRm9jdXNlZENlbGwoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZW9HcmlkRm9jdXNDaGFuZ2VkLmVtaXQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsVG9Sb3coaW5kZXg/OiBudW1iZXIsIHBvc2l0aW9uID0gbnVsbCkge1xuICAgIHRoaXMuYXBpLmVuc3VyZUluZGV4VmlzaWJsZShpbmRleCA9PT0gdW5kZWZpbmVkID8gKHRoaXMuYXBpLmdldEZvY3VzZWRDZWxsKCkgPyB0aGlzLmFwaS5nZXRGb2N1c2VkQ2VsbCgpLnJvd0luZGV4IDogMCkgOiBpbmRleCwgcG9zaXRpb24pO1xuICB9XG5cbiAgc2VsZWN0Um93QnlJZChpZCwgcG9zaXRpb24gPSAnJykge1xuICAgIGNvbnN0IHJvd05vZGUgPSBpZCAmJiB0aGlzLmFwaS5nZXRSb3dOb2RlKGlkKTtcbiAgICBpZiAocm93Tm9kZSkge1xuICAgICAgcm93Tm9kZS5zZXRTZWxlY3RlZCh0cnVlKTtcbiAgICAgIHRoaXMuc2VsZWN0Um93KHJvd05vZGUucm93SW5kZXgsIFtdLCB0cnVlLCBwb3NpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgc2V0Q29sdW1uRGVmcyhjb2x1bW5EZWZzOiBDb2xEZWZbXSkge1xuICAgIHRoaXMuYXBpLnNldEdyaWRPcHRpb24oJ2NvbHVtbkRlZnMnLCBjb2x1bW5EZWZzID8gW3RoaXMucGlubmVkQ29sdW1uXS5jb25jYXQoY29sdW1uRGVmcykgOiBudWxsKTtcbiAgfVxuXG4gIHNldFJvd0RhdGEoZGF0YTogYW55W10gPSBbXSwgcm93PzogYW55KSB7XG4gICAgdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50ID0gZGF0YS5sZW5ndGg7XG4gICAgdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LnJvd0luZGV4ID0gcm93O1xuICAgIHRoaXMuYXBpLmNsZWFyRm9jdXNlZENlbGwoKTtcbiAgICB0aGlzLmFwaS5zZXRHcmlkT3B0aW9uKCdyb3dEYXRhJywgZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NTb2Z0RGF0YShkYXRhOiBhbnlbXSA9IFtdKSB7XG4gICAgbGV0IHJlbW92ZSA9IGRhdGEuZmlsdGVyKGkgPT4gaS5fX3JlbW92ZWQpLm1hcChpID0+IHtcbiAgICAgIGRlbGV0ZSBpLl9fcmVtb3ZlZDtcbiAgICAgIHJldHVybiBpO1xuICAgIH0pO1xuXG4gICAgbGV0IHVwZGF0ZSA9IGRhdGEuZmlsdGVyKGkgPT4gaS5fX3VwZGF0ZWQpLm1hcChpID0+IHtcbiAgICAgIGRlbGV0ZSBpLl9fdXBkYXRlZDtcbiAgICAgIHJldHVybiBpO1xuICAgIH0pO1xuXG4gICAgLy8gZmluYWxseSByZW1vdmUgaXRlbXMgZnJvbSBhcnJheVxuICAgIHJlbW92ZS5mb3JFYWNoKGkgPT4gZGF0YS5zcGxpY2UoZGF0YS5pbmRleE9mKGkpLCAxKSk7XG5cbiAgICBsZXQgYXBwbHlVcGRhdGUgPSByZW1vdmUubGVuZ3RoIHx8IHVwZGF0ZS5sZW5ndGg7XG5cbiAgICByZXR1cm4ge2FwcGx5VXBkYXRlLCByZW1vdmUsIHVwZGF0ZX07XG4gIH1cblxuICB1cGRhdGVSb3dEYXRhKGRhdGE6IGFueVtdID0gW10sIHJvdz86IGFueSwgc2VsZWN0aW9uPzogbnVtYmVyW10pIHtcblxuICAgIGxldCB7YXBwbHlVcGRhdGUsIHJlbW92ZSwgdXBkYXRlfSA9IHRoaXMucHJvY2Vzc1NvZnREYXRhKGRhdGEpO1xuICAgIGlmICghYXBwbHlVcGRhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnNldFJvd0RhdGEoZGF0YSwgcm93KTtcbiAgICB9XG5cbiAgICB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSBkYXRhLmxlbmd0aDtcbiAgICBsZXQgbGFzdEZvY3VzZWRDZWxsOiBDZWxsUG9zaXRpb24gPSB0aGlzLmFwaS5nZXRGb2N1c2VkQ2VsbCgpO1xuICAgIHRoaXMuYXBpLmFwcGx5VHJhbnNhY3Rpb24oe3JlbW92ZSwgdXBkYXRlfSk7XG4gICAgdGhpcy5hcGkucmVkcmF3Um93cygpO1xuICAgIHNldFRpbWVvdXQoXyA9PiB7XG4gICAgICB0aGlzLnNlbGVjdFJvdyhsYXN0Rm9jdXNlZENlbGwgPyBsYXN0Rm9jdXNlZENlbGwucm93SW5kZXggOiAocm93IHx8IDApLCBzZWxlY3Rpb24pO1xuICAgIH0sIHRoaXMuY29udGV4dENvdW50ID8gNTAwIDogMCk7XG4gIH1cblxuICB1cGRhdGVSb3dzKGRhdGE6IGFueVtdID0gW10pIHtcblxuICAgIGxldCB7YXBwbHlVcGRhdGUsIHJlbW92ZSwgdXBkYXRlfSA9IHRoaXMucHJvY2Vzc1NvZnREYXRhKGRhdGEpO1xuICAgIGlmICghYXBwbHlVcGRhdGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmdyaWRPcHRpb25zLmNvbnRleHQuY291bnQgPSB0aGlzLmNvbnRleHRDb3VudCAtIHJlbW92ZS5sZW5ndGg7XG4gICAgbGV0IGxhc3RGb2N1c2VkSW5kZXggPSB0aGlzLmFwaS5nZXRGb2N1c2VkQ2VsbCgpID8gdGhpcy5hcGkuZ2V0Rm9jdXNlZENlbGwoKS5yb3dJbmRleCA6IDA7XG5cbiAgICB0aGlzLmFwaS5hcHBseVRyYW5zYWN0aW9uKHtyZW1vdmUsIHVwZGF0ZX0pO1xuXG4gICAgc2V0VGltZW91dChfID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0Um93KGxhc3RGb2N1c2VkSW5kZXgpO1xuICAgIH0sIHRoaXMuY29udGV4dENvdW50ID8gNTAwIDogMCk7XG4gIH1cblxuICBnZXQgY29sdW1ucygpOiBDb2x1bW5bXSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpLmdldENvbHVtbnMoKS5maWx0ZXIoYyA9PiBjLmdldENvbElkKCkgIT09IHRoaXMucGlubmVkQ29sdW1uLmZpZWxkKTtcbiAgfVxuXG4gIGdldCBhcGkoKTogR3JpZEFwaSB7XG4gICAgcmV0dXJuIHRoaXMuYWdHcmlkPy5hcGk7XG4gIH1cblxuICBnZXQgaXNSZWFkeSgpIHtcbiAgICByZXR1cm4gISF0aGlzLmFwaTtcbiAgfVxuXG4gIGdldCBpc0VtcHR5KCkge1xuICAgIHJldHVybiAhdGhpcy5fZ3JpZENvdW50LnRvdGFsQ291bnQgJiYgKCF0aGlzLmFwaSB8fCAhT2JqZWN0LmtleXModGhpcy5hcGkuZ2V0RmlsdGVyTW9kZWwoKSkubGVuZ3RoKTtcbiAgfVxuXG4gIGdldCBpc0VtcHR5Um93cygpIHtcbiAgICByZXR1cm4gIXRoaXMuX2dyaWRDb3VudC5yb3dDb3VudDtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tZ3JpZC1lbXB0eVwiIFtoaWRkZW5dPVwiIShpc0VtcHR5IHx8IGlzRW1wdHlSb3dzKVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCIuZW1wdHlcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJlby1ncmlkLWhlYWRlclwiICpuZ0lmPVwic2hvd0hlYWRlclwiIFtoaWRkZW5dPVwiaXNFbXB0eVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCIuaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48YWctZ3JpZC1hbmd1bGFyICNhZ0dyaWQgY2xhc3M9XCJhZy10aGVtZS1iYWxoYW1cIiBbbW9kdWxlc109XCJtb2R1bGVzXCJcbiAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJpc0VtcHR5XCJcbiAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydoaWRlLWhlYWRlcic6IHNob3dIZWFkZXIsICdlbmFibGUtZm9vdGVyJzogc2hvd0Zvb3RlciwgJ2Z1bGwtd2lkdGgnOiBmdWxsV2lkdGh9XCJcbiAgICAgICAgICAgICAgICAgW2dyaWRPcHRpb25zXT1cImdyaWRPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgKG1vZGVsVXBkYXRlZCk9XCJvbk1vZGVsVXBkYXRlZCgpXCJcbiAgICAgICAgICAgICAgICAgKGNlbGxGb2N1c2VkKT1cIm9uQ2VsbEZvY3VzZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChjZWxsQ29udGV4dE1lbnUpPVwib25Db250ZXh0TWVudUNsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChjb250ZXh0bWVudSk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7JGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAoY2VsbENsaWNrZWQpPVwib25DZWxsQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGNlbGxEb3VibGVDbGlja2VkKT1cIm9uQ2VsbERvdWJsZUNsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2VkKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGNvbHVtblJlc2l6ZWQpPVwib25Db2x1bW5SZXNpemVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAoZ3JpZFJlYWR5KT1cIm9uUmVhZHkoKVwiXG4gICAgICAgICAgICAgICAgIChzb3J0Q2hhbmdlZCk9XCJvblNvcnRDaGFuZ2VkKCRldmVudClcIj5cbjwvYWctZ3JpZC1hbmd1bGFyPlxuPGRpdiBjbGFzcz1cImVvLWdyaWQtZm9vdGVyXCIgKm5nSWY9XCJzaG93Rm9vdGVyXCIgW2hpZGRlbl09XCJpc0VtcHR5XCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi5mb290ZXJcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
|