@eo-sdk/client 11.3.0-rc.1 → 11.4.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/app/eo-client/object-state/object-state/object-state.component.d.ts.map +1 -1
  2. package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts +4 -1
  3. package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts.map +1 -1
  4. package/app/eo-framework/grid/column-configurator/column-configurator.component.d.ts.map +1 -1
  5. package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
  6. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +5 -0
  7. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts.map +1 -1
  8. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +10 -8
  9. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
  10. package/app/eo-framework/util/services/utilities.service.d.ts +57 -193
  11. package/app/eo-framework/util/services/utilities.service.d.ts.map +1 -1
  12. package/assets/_default/i18n/de.json +13 -1
  13. package/assets/_default/i18n/en.json +13 -1
  14. package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
  15. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +3 -3
  16. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +4 -3
  17. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +3 -3
  18. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +3 -3
  19. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.mjs +4 -4
  20. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +2 -2
  21. package/esm2022/app/eo-client/object-state/object-state/object-state.component.mjs +4 -3
  22. package/esm2022/app/eo-client/settings/settings.component.mjs +1 -1
  23. package/esm2022/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +9 -3
  24. package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +2 -2
  25. package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +2 -2
  26. package/esm2022/app/eo-framework/grid/column-configurator/column-configurator.component.mjs +4 -1
  27. package/esm2022/app/eo-framework/grid/grid.component.mjs +5 -4
  28. package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +9 -9
  29. package/esm2022/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +2 -2
  30. package/esm2022/app/eo-framework/inbox-details/inbox-details.component.mjs +1 -1
  31. package/esm2022/app/eo-framework/object-details/object-details.component.mjs +3 -3
  32. package/esm2022/app/eo-framework/object-details/object-links/object-links.component.mjs +1 -1
  33. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +1 -1
  34. package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +3 -3
  35. package/esm2022/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +22 -9
  36. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +28 -24
  37. package/esm2022/app/eo-framework/util/services/utilities.service.mjs +59 -2
  38. package/fesm2022/eo-sdk-client.mjs +149 -65
  39. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  40. package/misc/scripts/prebuild-about-state.js +13 -10
  41. package/package.json +7 -7
@@ -271,7 +271,7 @@ export class ObjectLinksComponent {
271
271
  .subscribe(response => this.searchIcon = response.replace('<svg', '<svg focusable="false" class="search-icon"'));
272
272
  }
273
273
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ObjectLinksComponent, deps: [{ token: i1.Router }, { token: i2.ReferenceService }, { token: i3.BackendService }, { token: i3.AppCacheService }, { token: i3.TranslateService }, { token: i4.GridService }, { token: i3.SystemService }], target: i0.ɵɵFactoryTarget.Component }); }
274
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ObjectLinksComponent, selector: "eo-object-links", inputs: { dmsObject: "dmsObject" }, host: { listeners: { "click": "onClick($event)" } }, viewQueries: [{ propertyName: "gridIn", first: true, predicate: ["gridIn"], descendants: true }, { propertyName: "gridOut", first: true, predicate: ["gridOut"], descendants: true }], ngImport: i0, template: "<div class=\"eo-references\">\n <div class=\"object-not-found\" *ngIf=\"!inReferences?.length && !outReferences?.length; else refContainer\">\n <div>{{'eo.references.object.notfound' | translate}}</div>\n </div>\n\n <ng-template #refContainer>\n <div class=\"form-buttons\">\n <div class=\"gridlabels\">\n <div class=\"gridlabel\" [ngClass]=\"{'active': showInReferences}\" (click)=\"switchListVisibilityTo('in')\"\n title=\"{{'eo.references.to.label' | translate}}\">\n <span>{{'eo.references.to.label' | translate}}</span>\n </div>\n <div class=\"gridlabel\" [ngClass]=\"{'active': showOutReferences}\" (click)=\"switchListVisibilityTo('out')\"\n title=\"{{'eo.references.from.label' | translate}}\">\n <span>{{'eo.references.from.label' | translate}}</span>\n </div>\n </div>\n <a class=\"button primary\" [routerLink]=\"'/result'\" [queryParams]=\"superQueryParams\" title=\"{{'eo.references.open.resultlist' | translate}}\">\n <span>{{'eo.references.open.resultlist' | translate}}</span>\n </a>\n </div>\n\n <div class=\"eo-references-lists\">\n\n <!-- list of inReferences -->\n <div class=\"resultlist-container\" [ngClass]=\"{'hidden': !showInReferences}\">\n <div class=\"notfound\" *ngIf=\"(!inReferences?.length)\">{{'eo.references.object.notfound' | translate}}</div>\n\n <div class=\"grid-wrapper\" *ngIf=\"inReferences?.length\">\n <ag-grid-angular #gridIn [modules]=\"modules\" [gridOptions]=\"gridOptions\" class=\"ag-result\"></ag-grid-angular>\n </div>\n </div>\n\n <!-- list of outReferences -->\n <div class=\"resultlist-container\" [ngClass]=\"{'hidden': !showOutReferences}\">\n <div class=\"notfound\" *ngIf=\"(!outReferences?.length)\">{{'eo.references.object.notfound' | translate}}</div>\n\n <div class=\"grid-wrapper\" *ngIf=\"outReferences?.length\">\n <ag-grid-angular #gridOut [modules]=\"modules\" [gridOptions]=\"gridOptions2\" class=\"ag-result\"></ag-grid-angular>\n </div>\n </div>\n\n </div>\n </ng-template>\n</div>", styles: [":host ::ng-deep ag-grid-angular{background:transparent}:host ::ng-deep .ag-pinned-left-cols-viewport{display:none!important}:host ::ng-deep ag-grid-angular.ag-theme-balham .ag-column-drop-horizontal:not(.ag-hidden){display:none!important}:host ::ng-deep .ag-center-cols-container{width:100%!important}:host ::ng-deep .ag-row{background:transparent!important}:host ::ng-deep ag-grid-angular.ag-theme-balham .ag-header{border:none}:host ::ng-deep .ag-row-group>.ag-cell-wrapper{height:100%;display:flex;flex-flow:row nowrap;flex:1 1 auto;align-items:center;background:var(--color-white);border-radius:2px;padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--list-item-border-color)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon{display:inline-block;height:12px;width:12px;color:var(--color-black)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon-contracted{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMDAwIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNNSAzaDJ2Nkg1eiIvPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik05IDV2MkgzVjV6Ii8+PC9nPjwvc3ZnPg==) center/12px 12px no-repeat}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon-expanded{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMDAwIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNOSA1djJIM1Y1eiIvPjwvZz48L3N2Zz4=) center/12px 12px no-repeat}:host ::ng-deep .ag-row-group>.ag-cell-wrapper>span.ag-group-value>span{display:flex;flex-flow:row nowrap;align-items:center}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-group-child-count{position:absolute;right:48px}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link{opacity:0;height:24px;width:24px;position:absolute;right:var(--app-pane-padding);background:var(--color-accent);border-radius:2px;transition:all .2s ease-in-out;margin-left:var(--app-pane-padding)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link svg{fill:var(--color-white)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link .search-icon{width:20px;margin-left:2px}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link:hover{background:var(--color-accent)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper:hover .search-link{opacity:1}:host ::ng-deep .ag-row-group>.ag-cell-wrapper span.ag-group-value{width:calc(100% - 110px);margin:0 calc(var(--app-pane-padding) * 2)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper span.ag-group-value img{height:24px;opacity:.5;margin-right:calc(var(--app-pane-padding) / 2)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-group-child-count{color:var(--text-color-caption);font-size:var(--font-caption)}:host ::ng-deep .ag-cell{width:100%!important;border-bottom:1px solid var(--list-item-border-color);background:var(--color-white)}:host ::ng-deep .content{pointer-events:none;overflow:hidden}:host ::ng-deep .content div{pointer-events:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host ::ng-deep .content .title{font-weight:var(--font-weight-bold)}:host ::ng-deep .content .description{opacity:.6;font-size:var(--font-caption)}:host ::ng-deep .ref-list-item{padding:0 var(--app-pane-padding) 0 calc(var(--app-pane-padding) * 4.3);cursor:pointer;height:100%;display:flex;align-items:center}:host ::ng-deep .ref-list-item a{display:flex;align-items:flex-start;text-decoration:none;color:var(--text-color-body);width:100%}:host ::ng-deep .ref-list-item .content{padding:calc(var(--app-pane-padding) / 4) var(--app-pane-padding)}:host ::ng-deep .ref-list-item:hover{background:var(--color-accent)}:host ::ng-deep .ref-list-item:hover .content{color:var(--color-white)}.eo-references{background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1);margin:var(--app-pane-padding);height:calc(100% - var(--app-pane-padding) * 2);box-sizing:border-box;display:flex;flex-flow:column}.eo-references .hidden{display:none!important}.eo-references .object-not-found{height:100%;display:flex;justify-content:center;align-items:center}.eo-references .object-not-found div{color:var(--text-color-caption)}.eo-references .form-buttons{width:100%;padding:calc(var(--app-pane-padding) / 2);height:44px;display:flex;justify-content:space-between;background:var(--color-white);box-sizing:border-box}.eo-references .form-buttons .gridlabels{display:flex;width:60%}.eo-references .form-buttons .gridlabel{border:1px solid var(--list-item-border-color);border-radius:4px;padding:0 calc(var(--app-pane-padding) / 2);display:flex;align-items:center;color:var(--text-color-caption);cursor:pointer;margin-right:calc(var(--app-pane-padding) / 2);transition:all var(--app-default-transition-duration) ease-in-out;overflow:hidden}.eo-references .form-buttons .gridlabel span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eo-references .form-buttons .gridlabel:hover{color:var(--text-color-body);border-color:#0003}.eo-references .form-buttons .active{color:var(--text-color-body);border-color:#0003;background-color:var(--panel-background-grey)}.eo-references .form-buttons a.button{display:flex;align-items:center;overflow:hidden}.eo-references .form-buttons a.button span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eo-references .eo-references-lists{flex:1;overflow:hidden;border-top:4px solid rgba(var(--color-black-rgb),.2)}.eo-references .eo-references-lists .resultlist-container{display:flex;flex-flow:column;height:100%;width:100%}.eo-references .eo-references-lists .resultlist-container .notfound{color:var(--text-color-caption);display:flex;align-items:center;justify-content:center;height:100%}.eo-references .eo-references-lists .ag-result{position:absolute;inset:0}.eo-references .eo-references-lists .grid-wrapper{position:relative;flex:1}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.RouterLinkDirective, selector: "a[routerLink]" }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "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", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "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", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "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", "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", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "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", "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", "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", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
274
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ObjectLinksComponent, selector: "eo-object-links", inputs: { dmsObject: "dmsObject" }, host: { listeners: { "click": "onClick($event)" } }, viewQueries: [{ propertyName: "gridIn", first: true, predicate: ["gridIn"], descendants: true }, { propertyName: "gridOut", first: true, predicate: ["gridOut"], descendants: true }], ngImport: i0, template: "<div class=\"eo-references\">\n <div class=\"object-not-found\" *ngIf=\"!inReferences?.length && !outReferences?.length; else refContainer\">\n <div>{{'eo.references.object.notfound' | translate}}</div>\n </div>\n\n <ng-template #refContainer>\n <div class=\"form-buttons\">\n <div class=\"gridlabels\">\n <div class=\"gridlabel\" [ngClass]=\"{'active': showInReferences}\" (click)=\"switchListVisibilityTo('in')\"\n title=\"{{'eo.references.to.label' | translate}}\">\n <span>{{'eo.references.to.label' | translate}}</span>\n </div>\n <div class=\"gridlabel\" [ngClass]=\"{'active': showOutReferences}\" (click)=\"switchListVisibilityTo('out')\"\n title=\"{{'eo.references.from.label' | translate}}\">\n <span>{{'eo.references.from.label' | translate}}</span>\n </div>\n </div>\n <a class=\"button primary\" [routerLink]=\"'/result'\" [queryParams]=\"superQueryParams\" title=\"{{'eo.references.open.resultlist' | translate}}\">\n <span>{{'eo.references.open.resultlist' | translate}}</span>\n </a>\n </div>\n\n <div class=\"eo-references-lists\">\n\n <!-- list of inReferences -->\n <div class=\"resultlist-container\" [ngClass]=\"{'hidden': !showInReferences}\">\n <div class=\"notfound\" *ngIf=\"(!inReferences?.length)\">{{'eo.references.object.notfound' | translate}}</div>\n\n <div class=\"grid-wrapper\" *ngIf=\"inReferences?.length\">\n <ag-grid-angular #gridIn [modules]=\"modules\" [gridOptions]=\"gridOptions\" class=\"ag-result\"></ag-grid-angular>\n </div>\n </div>\n\n <!-- list of outReferences -->\n <div class=\"resultlist-container\" [ngClass]=\"{'hidden': !showOutReferences}\">\n <div class=\"notfound\" *ngIf=\"(!outReferences?.length)\">{{'eo.references.object.notfound' | translate}}</div>\n\n <div class=\"grid-wrapper\" *ngIf=\"outReferences?.length\">\n <ag-grid-angular #gridOut [modules]=\"modules\" [gridOptions]=\"gridOptions2\" class=\"ag-result\"></ag-grid-angular>\n </div>\n </div>\n\n </div>\n </ng-template>\n</div>", styles: [":host ::ng-deep ag-grid-angular{background:transparent}:host ::ng-deep .ag-pinned-left-cols-viewport{display:none!important}:host ::ng-deep ag-grid-angular.ag-theme-balham .ag-column-drop-horizontal:not(.ag-hidden){display:none!important}:host ::ng-deep .ag-center-cols-container{width:100%!important}:host ::ng-deep .ag-row{background:transparent!important}:host ::ng-deep ag-grid-angular.ag-theme-balham .ag-header{border:none}:host ::ng-deep .ag-row-group>.ag-cell-wrapper{height:100%;display:flex;flex-flow:row nowrap;flex:1 1 auto;align-items:center;background:var(--color-white);border-radius:2px;padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--list-item-border-color)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon{display:inline-block;height:12px;width:12px;color:var(--color-black)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon-contracted{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMDAwIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNNSAzaDJ2Nkg1eiIvPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik05IDV2MkgzVjV6Ii8+PC9nPjwvc3ZnPg==) center/12px 12px no-repeat}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-icon-expanded{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxyZWN0IHN0cm9rZS1vcGFjaXR5PSIuNSIgc3Ryb2tlPSIjMDAwIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjkiIGhlaWdodD0iOSIgcng9IjEiLz48cGF0aCBmaWxsPSIjMDAwIiBkPSJNOSA1djJIM1Y1eiIvPjwvZz48L3N2Zz4=) center/12px 12px no-repeat}:host ::ng-deep .ag-row-group>.ag-cell-wrapper>span.ag-group-value>span{display:flex;flex-flow:row nowrap;align-items:center}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-group-child-count{position:absolute;right:48px}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link{opacity:0;height:24px;width:24px;position:absolute;right:var(--app-pane-padding);background:var(--color-accent);border-radius:2px;transition:all .2s ease-in-out;margin-left:var(--app-pane-padding)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link svg{fill:var(--color-white)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link .search-icon{width:20px;margin-left:2px}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .search-link:hover{background:var(--color-accent)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper:hover .search-link{opacity:1}:host ::ng-deep .ag-row-group>.ag-cell-wrapper span.ag-group-value{width:calc(100% - 110px);margin:0 calc(var(--app-pane-padding) * 2)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper span.ag-group-value img{height:24px;opacity:.5;margin-right:calc(var(--app-pane-padding) / 2)}:host ::ng-deep .ag-row-group>.ag-cell-wrapper .ag-group-child-count{color:var(--text-color-caption);font-size:var(--font-caption)}:host ::ng-deep .ag-cell{width:100%!important;border-bottom:1px solid var(--list-item-border-color);background:var(--color-white)}:host ::ng-deep .content{pointer-events:none;overflow:hidden}:host ::ng-deep .content div{pointer-events:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host ::ng-deep .content .title{font-weight:var(--font-weight-bold)}:host ::ng-deep .content .description{opacity:.6;font-size:var(--font-caption)}:host ::ng-deep .ref-list-item{padding:0 var(--app-pane-padding) 0 calc(var(--app-pane-padding) * 4.3);cursor:pointer;height:100%;display:flex;align-items:center}:host ::ng-deep .ref-list-item a{display:flex;align-items:flex-start;text-decoration:none;color:var(--text-color-body);width:100%}:host ::ng-deep .ref-list-item .content{padding:calc(var(--app-pane-padding) / 4) var(--app-pane-padding)}:host ::ng-deep .ref-list-item:hover{background:var(--color-accent)}:host ::ng-deep .ref-list-item:hover .content{color:var(--color-white)}.eo-references{background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1);margin:var(--app-pane-padding);height:calc(100% - var(--app-pane-padding) * 2);box-sizing:border-box;display:flex;flex-flow:column}.eo-references .hidden{display:none!important}.eo-references .object-not-found{height:100%;display:flex;justify-content:center;align-items:center}.eo-references .object-not-found div{color:var(--text-color-caption)}.eo-references .form-buttons{width:100%;padding:calc(var(--app-pane-padding) / 2);height:44px;display:flex;justify-content:space-between;background:var(--color-white);box-sizing:border-box}.eo-references .form-buttons .gridlabels{display:flex;width:60%}.eo-references .form-buttons .gridlabel{border:1px solid var(--list-item-border-color);border-radius:4px;padding:0 calc(var(--app-pane-padding) / 2);display:flex;align-items:center;color:var(--text-color-caption);cursor:pointer;margin-right:calc(var(--app-pane-padding) / 2);transition:all var(--app-default-transition-duration) ease-in-out;overflow:hidden}.eo-references .form-buttons .gridlabel span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eo-references .form-buttons .gridlabel:hover{color:var(--text-color-body);border-color:#0003}.eo-references .form-buttons .active{color:var(--text-color-body);border-color:#0003;background-color:var(--panel-background-grey)}.eo-references .form-buttons a.button{display:flex;align-items:center;overflow:hidden}.eo-references .form-buttons a.button span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.eo-references .eo-references-lists{flex:1;overflow:hidden;border-top:4px solid rgba(var(--color-black-rgb),.2)}.eo-references .eo-references-lists .resultlist-container{display:flex;flex-flow:column;height:100%;width:100%}.eo-references .eo-references-lists .resultlist-container .notfound{color:var(--text-color-caption);display:flex;align-items:center;justify-content:center;height:100%}.eo-references .eo-references-lists .ag-result{position:absolute;inset:0}.eo-references .eo-references-lists .grid-wrapper{position:relative;flex:1}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.RouterLinkDirective, selector: "a[routerLink]" }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.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"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
275
275
  }
276
276
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ObjectLinksComponent, decorators: [{
277
277
  type: Component,
@@ -575,7 +575,7 @@ let FormElementTableComponent = class FormElementTableComponent {
575
575
  useExisting: forwardRef(() => FormElementTableComponent),
576
576
  multi: true,
577
577
  }
578
- ], viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }, { propertyName: "overlayGrid", first: true, predicate: ["overlayGrid"], descendants: true }, { propertyName: "rowEdit", first: true, predicate: ["rowEdit"], descendants: true }], ngImport: i0, template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"object-form-table-header\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData?.length\" [iconSrc]=\"'assets/_default/svg/ic_export.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon *ngIf=\"!_params.element.readonly\" class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_import.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.upload'| translate)\" (click)=\"file.click()\"></eo-icon>\n <input type=\"file\" accept=\".csv\" style=\"display:none;\" #file (change)=\"importCSV($event.target)\"\n (click)=\"$event.target.value = null\">\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\" [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\" (cellClicked)=\"onCellClicked($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog [title]=\"params.element.label\" [visible]=\"showDialog\" [dirtyCheck]=\"rowEdit?.pendingTaskId\"\n [minWidth]=\"_params.situation !== 'SEARCH' ? minWidth : 200\" [width]=\"_params.situation !== 'SEARCH' ? '95vw' : 500\"\n [height]=\"height\" [styleClass]=\"'object-form-table-dialog'\" (hide)=\"onClose()\" [isFormTable]=\"true\"\n [hasPreviewFile]=\"hasPreviewFile\" [showPreview]=\"showPreview\" (onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\" *ngIf=\"showDialog\">\n <yvc-split-view (layoutSettingsChange)=\"onLayoutSettingsChange($event)\">\n <!-- the table itself-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[0].size\" [visible]=\"_params.situation !== 'SEARCH'\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"object-form-table-header\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #overlayGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\" (cellClicked)=\"onCellClickedRowEdit($event)\"\n (mousedown)=\"onMouseDown($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- table edit component-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[1].size\" [visible]=\"!!editingRow\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" [limitReached]=\"limit <= overlayGridOptions?.rowData?.length\" #rowEdit\n (onSave)=\"updateRow($event)\" (onSaveCopy)=\"copyRow($event)\" (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </ng-template>\n\n <!-- viewer-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[2].size\" [visible]=\"showPreview && hasPreviewFile\">\n <eo-media *ngIf=\"hasPreviewFile\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object?.id === params.object?.content?.id\" [dmsObject]=\"params.object\"></eo-media>\n </ng-template>\n </yvc-split-view>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"('eo.form.table.csv.import.report.title' | translate)\" [visible]=\"showImportReportDialog\"\n (hide)=\"cancelImportReport()\" [styleClass]=\"'import-report__dialog'\">\n <div class=\"body\">\n <h4 translate [translateParams]=\"{readRows: mappedRows.length}\">eo.form.table.csv.import.report.readRows</h4>\n <div *ngIf=\"mappingErrorFields.length !== 0\" class=\"flex-col\">\n <h4 translate>eo.form.table.csv.import.report.errors</h4>\n <table>\n <thead>\n <tr>\n <th translate>eo.form.table.csv.import.report.errors.row</th>\n <th translate>eo.form.table.csv.import.report.errors.csvColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.tableColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.value</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let error of mappingErrorFields; let i = index\">\n <tr>\n <td>{{error.row + 1}}</td>\n <td>{{error.uploadedName}}</td>\n <td>{{error.technicalName}}</td>\n <td>{{error.value}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n <div class=\"actions\">\n <button (click)=\"cancelImportReport()\" class=\"button-cancel\" translate>eo.resubmission.cancel</button>\n <button (click)=\"addImportValuesToTable()\" class=\"primary\" translate>eo.form.table.csv.import.report.import</button>\n </div>\n</eo-dialog>\n", styles: [":host-context(.dark) .label{color:var(--color-white);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-header-cell{color:rgba(var(--color-white-rgb),.7);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-root{background-color:transparent}:host ::ng-deep{--oft-row-height: 30px}:host ::ng-deep .ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box}:host ::ng-deep .ag-theme-balham .ag-root{background-color:var(--color-white)}:host ::ng-deep .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}}:host ::ng-deep .ag-theme-balham .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}:host ::ng-deep .ag-theme-balham .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}:host ::ng-deep .ag-theme-balham .ag-cell svg{pointer-events:none}:host ::ng-deep .ag-theme-balham .ag-cell.res-ico,:host ::ng-deep .ag-theme-balham .ag-cell.col-boolean{justify-content:center}:host ::ng-deep .ag-theme-balham .ag-cell.col-number{justify-content:flex-end}:host ::ng-deep .ag-theme-balham .ag-cell .no-value{border-radius:2px;font-size:var(--font-hint);background-color:var(--color-accent);padding:calc(var(--app-pane-padding) / 4);color:var(--color-white)}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon{display:flex;cursor:pointer}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon svg{fill:var(--text-color-caption)}:host ::ng-deep .ag-theme-balham .ag-header-cell{color:var(--text-color-caption);font-size:var(--font-caption);line-height:var(--oft-row-height);padding-left:calc(var(--app-pane-padding) / 2);padding-right:calc(var(--app-pane-padding) / 2);font-weight:400;border-bottom-color:var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-header-cell:after{opacity:0}:host ::ng-deep .ag-theme-balham .ag-ltr .ag-header-cell{border-right:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-rtl .ag-header-cell{border-left:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .chip{display:flex;align-items:center}:host ::ng-deep .ag-theme-balham .chip .link{display:flex;align-items:center}:host{width:100%;display:block;padding:0!important;background:rgba(var(--color-black-rgb),.02);border:1px solid var(--color-gainsboro)}:host.ng-invalid{border-color:var(--color-error);background:rgba(var(--color-error),.15)}:host .object-form-table .grid-body{width:100%;position:relative}:host .object-form-table .grid-body.size-supersmall{height:100px}:host .object-form-table .grid-body.size-small{height:200px}:host .object-form-table .grid-body.size-medium{height:300px}:host .object-form-table .grid-body.size-large{height:400px}:host .object-form-table .grid-body ag-grid-angular{width:100%;height:100%;background-color:transparent}:host .object-form-table.medium .body{height:300px}:host .object-form-table.large .body{height:500px}:host .object-form-table-header{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);border-bottom:0}:host .object-form-table-header span{display:block;flex:1 1 auto}:host .object-form-table-header eo-icon.stf{width:16px;height:16px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}:host .object-form-table-header eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--text-color-hint);color:#fff;border-radius:2px}:host .object-form-table-header button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}:host .object-form-table-header button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}::ng-deep .import-report__dialog{padding:8px;min-height:unset!important;overflow:hidden}::ng-deep .import-report__dialog .body{overflow:auto}::ng-deep .import-report__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .import-report__dialog td,::ng-deep .import-report__dialog th{border:1px solid #dddddd;text-align:left;padding:8px}::ng-deep .import-report__dialog .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .import-report__dialog .actions button{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i7.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i8.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "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", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "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", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "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", "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", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "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", "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", "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", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: i9.MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "component", type: i10.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i10.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: i11.RowEditComponent, selector: "eo-row-edit", inputs: ["limitReached", "row"], outputs: ["onCancel", "onSave", "onSaveCopy", "onDelete"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
578
+ ], viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }, { propertyName: "overlayGrid", first: true, predicate: ["overlayGrid"], descendants: true }, { propertyName: "rowEdit", first: true, predicate: ["rowEdit"], descendants: true }], ngImport: i0, template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"object-form-table-header\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData?.length\" [iconSrc]=\"'assets/_default/svg/ic_export.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon *ngIf=\"!_params.element.readonly\" class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_import.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.upload'| translate)\" (click)=\"file.click()\"></eo-icon>\n <input type=\"file\" accept=\".csv\" style=\"display:none;\" #file (change)=\"importCSV($event.target)\"\n (click)=\"$event.target.value = null\">\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\" [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\" (cellClicked)=\"onCellClicked($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog [title]=\"params.element.label\" [visible]=\"showDialog\" [dirtyCheck]=\"rowEdit?.pendingTaskId\"\n [minWidth]=\"_params.situation !== 'SEARCH' ? minWidth : 200\" [width]=\"_params.situation !== 'SEARCH' ? '95vw' : 500\"\n [height]=\"height\" [styleClass]=\"'object-form-table-dialog'\" (hide)=\"onClose()\" [isFormTable]=\"true\"\n [hasPreviewFile]=\"hasPreviewFile\" [showPreview]=\"showPreview\" (onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\" *ngIf=\"showDialog\">\n <yvc-split-view (layoutSettingsChange)=\"onLayoutSettingsChange($event)\">\n <!-- the table itself-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[0].size\" [visible]=\"_params.situation !== 'SEARCH'\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"object-form-table-header\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #overlayGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\" (cellClicked)=\"onCellClickedRowEdit($event)\"\n (mousedown)=\"onMouseDown($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- table edit component-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[1].size\" [visible]=\"!!editingRow\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" [limitReached]=\"limit <= overlayGridOptions?.rowData?.length\" #rowEdit\n (onSave)=\"updateRow($event)\" (onSaveCopy)=\"copyRow($event)\" (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </ng-template>\n\n <!-- viewer-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[2].size\" [visible]=\"showPreview && hasPreviewFile\">\n <eo-media *ngIf=\"hasPreviewFile\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object?.id === params.object?.content?.id\" [dmsObject]=\"params.object\"></eo-media>\n </ng-template>\n </yvc-split-view>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"('eo.form.table.csv.import.report.title' | translate)\" [visible]=\"showImportReportDialog\"\n (hide)=\"cancelImportReport()\" [styleClass]=\"'import-report__dialog'\">\n <div class=\"body\">\n <h4 translate [translateParams]=\"{readRows: mappedRows.length}\">eo.form.table.csv.import.report.readRows</h4>\n <div *ngIf=\"mappingErrorFields.length !== 0\" class=\"flex-col\">\n <h4 translate>eo.form.table.csv.import.report.errors</h4>\n <table>\n <thead>\n <tr>\n <th translate>eo.form.table.csv.import.report.errors.row</th>\n <th translate>eo.form.table.csv.import.report.errors.csvColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.tableColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.value</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let error of mappingErrorFields; let i = index\">\n <tr>\n <td>{{error.row + 1}}</td>\n <td>{{error.uploadedName}}</td>\n <td>{{error.technicalName}}</td>\n <td>{{error.value}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n <div class=\"actions\">\n <button (click)=\"cancelImportReport()\" class=\"button-cancel\" translate>eo.resubmission.cancel</button>\n <button (click)=\"addImportValuesToTable()\" class=\"primary\" translate>eo.form.table.csv.import.report.import</button>\n </div>\n</eo-dialog>\n", styles: [":host-context(.dark) .label{color:var(--color-white);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-header-cell{color:rgba(var(--color-white-rgb),.7);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-root{background-color:transparent}:host ::ng-deep{--oft-row-height: 30px}:host ::ng-deep .ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box}:host ::ng-deep .ag-theme-balham .ag-root{background-color:var(--color-white)}:host ::ng-deep .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}}:host ::ng-deep .ag-theme-balham .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}:host ::ng-deep .ag-theme-balham .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}:host ::ng-deep .ag-theme-balham .ag-cell svg{pointer-events:none}:host ::ng-deep .ag-theme-balham .ag-cell.res-ico,:host ::ng-deep .ag-theme-balham .ag-cell.col-boolean{justify-content:center}:host ::ng-deep .ag-theme-balham .ag-cell.col-number{justify-content:flex-end}:host ::ng-deep .ag-theme-balham .ag-cell .no-value{border-radius:2px;font-size:var(--font-hint);background-color:var(--color-accent);padding:calc(var(--app-pane-padding) / 4);color:var(--color-white)}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon{display:flex;cursor:pointer}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon svg{fill:var(--text-color-caption)}:host ::ng-deep .ag-theme-balham .ag-header-cell{color:var(--text-color-caption);font-size:var(--font-caption);line-height:var(--oft-row-height);padding-left:calc(var(--app-pane-padding) / 2);padding-right:calc(var(--app-pane-padding) / 2);font-weight:400;border-bottom-color:var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-header-cell:after{opacity:0}:host ::ng-deep .ag-theme-balham .ag-ltr .ag-header-cell{border-right:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-rtl .ag-header-cell{border-left:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .chip{display:flex;align-items:center}:host ::ng-deep .ag-theme-balham .chip .link{display:flex;align-items:center}:host{width:100%;display:block;padding:0!important;background:rgba(var(--color-black-rgb),.02);border:1px solid var(--color-gainsboro)}:host.ng-invalid{border-color:var(--color-error);background:rgba(var(--color-error),.15)}:host .object-form-table .grid-body{width:100%;position:relative}:host .object-form-table .grid-body.size-supersmall{height:100px}:host .object-form-table .grid-body.size-small{height:200px}:host .object-form-table .grid-body.size-medium{height:300px}:host .object-form-table .grid-body.size-large{height:400px}:host .object-form-table .grid-body ag-grid-angular{width:100%;height:100%;background-color:transparent}:host .object-form-table.medium .body{height:300px}:host .object-form-table.large .body{height:500px}:host .object-form-table-header{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);border-bottom:0}:host .object-form-table-header span{display:block;flex:1 1 auto}:host .object-form-table-header eo-icon.stf{width:16px;height:16px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}:host .object-form-table-header eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--text-color-hint);color:#fff;border-radius:2px}:host .object-form-table-header button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}:host .object-form-table-header button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}::ng-deep .import-report__dialog{padding:8px;min-height:unset!important;overflow:hidden}::ng-deep .import-report__dialog .body{overflow:auto}::ng-deep .import-report__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .import-report__dialog td,::ng-deep .import-report__dialog th{border:1px solid #dddddd;text-align:left;padding:8px}::ng-deep .import-report__dialog .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .import-report__dialog .actions button{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i7.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i8.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"] }, { kind: "component", type: i9.MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "component", type: i10.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i10.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: i11.RowEditComponent, selector: "eo-row-edit", inputs: ["limitReached", "row"], outputs: ["onCancel", "onSave", "onSaveCopy", "onDelete"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
579
579
  };
580
580
  FormElementTableComponent = __decorate([
581
581
  UntilDestroy()
@@ -231,7 +231,7 @@ let RecyclebinDetailsComponent = class RecyclebinDetailsComponent {
231
231
  ngAfterViewInit() {
232
232
  }
233
233
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RecyclebinDetailsComponent, deps: [{ token: i1.Router }, { token: i2.SystemService }, { token: i3.EmptyStateService }, { token: i2.BackendService }, { token: i2.UserService }, { token: i2.NotificationsService }, { token: i2.DmsService }, { token: i4.SelectionService }, { token: i2.CapabilitiesService }, { token: i2.EventService }, { token: i2.Config }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
234
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: RecyclebinDetailsComponent, selector: "eo-recyclebin-details", inputs: { plugins: "plugins", cacheLayout: "cacheLayout", applySelection: "applySelection", parseDmsParams: "parseDmsParams", emptyState: "emptyState", dmsParams: ["params", "dmsParams"], dmsObject: ["item", "dmsObject"] }, outputs: { hasContent: "hasContent" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "confirmDeleteButton", first: true, predicate: ["confirmDelete"], descendants: true }], ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"recyclebin-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError\">\n\n <div class=\"eo-head eo-head-tabs\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"actions\">\n <eo-icon *ngIf=\"item.content\"\n class=\"button\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n (click)=\"downloadOriginalContent()\"></eo-icon>\n <eo-icon class=\"button\" [ngClass]=\"{disabled: !this.item.rights.delete}\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n [iconTitle]=\"this.item.rights.delete ? ('eo.recyclebin.details.delete.tooltip' | translate) : ('eo.recyclebin.details.delete.disabled.tooltip' | translate)\"\n (click)=\"showDialog();\"></eo-icon>\n <button (click)=\"restoreFile()\" translate>eo.recyclebin.details.restore</button>\n <button (click)=\"restoreFile(true)\" class=\"primary\"\n translate>eo.recyclebin.details.restoreopen</button>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <yvc-split-tabs>\n\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\"\n [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media *ngIf=\"item\" [useVersion]=\"item.id === item.content?.id\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n\n <ng-template *ngIf=\"isVisible('history')\"\n [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n </yvc-split-tabs>\n </div>\n</ng-container>\n\n<eo-dialog [title]=\"'eo.recyclebin.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'recyclebin-delete__dialog'\">\n\n <div>\n <span>{{'eo.recyclebin.details.delete.dialog.message' | translate}}</span>\n <br>\n <span class=\"recyclebin-delete__dialog_warning\">{{'eo.recyclebin.details.delete.dialog.message.warning' |\n translate}}</span>\n </div>\n <div class=\"action-buttons recyclebin-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.recyclebin.details.delete.dialog.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"deleteDmsObject()\" class=\"button primary\"\n translate>eo.recyclebin.details.delete.dialog.delete</button>\n </div>\n</eo-dialog>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .actions eo-icon{padding:calc(var(--app-pane-padding) / 4)}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .recyclebin-detail__loader{margin:auto}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}::ng-deep yvc-tabs{height:100%}::ng-deep yvc-tabs>header{background-color:var(--panel-background)}::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}::ng-deep eo-media{height:100%;overflow:hidden;display:block}::ng-deep .recyclebin-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .recyclebin-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .recyclebin-delete__dialog .recyclebin-delete__dialog_warning{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i10.IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["indexdata", "dmsObject", "baseparams", "enableVersions", "isChangesTab", "diff"] }, { kind: "component", type: i11.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i13.SplitTabsComponent, selector: "yvc-split-tabs", inputs: ["layoutSettingsID", "config", "panelOrder"], outputs: ["layoutSettingsChange"] }, { kind: "component", type: i14.PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { kind: "component", type: i15.ObjectHistoryComponent, selector: "eo-object-history", inputs: ["params"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
234
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: RecyclebinDetailsComponent, selector: "eo-recyclebin-details", inputs: { plugins: "plugins", cacheLayout: "cacheLayout", applySelection: "applySelection", parseDmsParams: "parseDmsParams", emptyState: "emptyState", dmsParams: ["params", "dmsParams"], dmsObject: ["item", "dmsObject"] }, outputs: { hasContent: "hasContent" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "confirmDeleteButton", first: true, predicate: ["confirmDelete"], descendants: true }], ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"recyclebin-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError\">\n\n <div class=\"eo-head eo-head-tabs\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"actions\">\n <eo-icon *ngIf=\"item.content\"\n class=\"button\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n (click)=\"downloadOriginalContent()\"></eo-icon>\n <eo-icon class=\"button\" [ngClass]=\"{disabled: !this.item.rights.delete}\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n [iconTitle]=\"this.item.rights.delete ? ('eo.recyclebin.details.delete.tooltip' | translate) : ('eo.recyclebin.details.delete.disabled.tooltip' | translate)\"\n (click)=\"showDialog();\"></eo-icon>\n <button (click)=\"restoreFile()\" translate>eo.recyclebin.details.restore</button>\n <button (click)=\"restoreFile(true)\" class=\"primary\"\n translate>eo.recyclebin.details.restoreopen</button>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <yvc-split-tabs>\n\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\"\n [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media *ngIf=\"item\" [useVersion]=\"item.id === item.content?.id\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n\n <ng-template *ngIf=\"isVisible('history')\"\n [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n </yvc-split-tabs>\n </div>\n</ng-container>\n\n<eo-dialog [title]=\"'eo.recyclebin.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'recyclebin-delete__dialog'\">\n\n <div>\n <span>{{'eo.recyclebin.details.delete.dialog.message' | translate}}</span>\n <br>\n <span class=\"recyclebin-delete__dialog_warning\">{{'eo.recyclebin.details.delete.dialog.message.warning' |\n translate}}</span>\n </div>\n <div class=\"action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.recyclebin.details.delete.dialog.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"deleteDmsObject()\" class=\"button primary\"\n translate>eo.recyclebin.details.delete.dialog.delete</button>\n </div>\n</eo-dialog>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .actions eo-icon{padding:calc(var(--app-pane-padding) / 4)}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .recyclebin-detail__loader{margin:auto}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}::ng-deep yvc-tabs{height:100%}::ng-deep yvc-tabs>header{background-color:var(--panel-background)}::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}::ng-deep eo-media{height:100%;overflow:hidden;display:block}::ng-deep .recyclebin-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .recyclebin-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .recyclebin-delete__dialog .recyclebin-delete__dialog_warning{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i10.IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["baseparams", "enableVersions", "isChangesTab", "indexdata", "dmsObject", "diff"] }, { kind: "component", type: i11.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i13.SplitTabsComponent, selector: "yvc-split-tabs", inputs: ["layoutSettingsID", "config", "panelOrder"], outputs: ["layoutSettingsChange"] }, { kind: "component", type: i14.PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { kind: "component", type: i15.ObjectHistoryComponent, selector: "eo-object-history", inputs: ["params"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
235
235
  };
236
236
  RecyclebinDetailsComponent = __decorate([
237
237
  UntilDestroy()
@@ -239,7 +239,7 @@ RecyclebinDetailsComponent = __decorate([
239
239
  export { RecyclebinDetailsComponent };
240
240
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RecyclebinDetailsComponent, decorators: [{
241
241
  type: Component,
242
- args: [{ selector: 'eo-recyclebin-details', template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"recyclebin-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError\">\n\n <div class=\"eo-head eo-head-tabs\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"actions\">\n <eo-icon *ngIf=\"item.content\"\n class=\"button\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n (click)=\"downloadOriginalContent()\"></eo-icon>\n <eo-icon class=\"button\" [ngClass]=\"{disabled: !this.item.rights.delete}\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n [iconTitle]=\"this.item.rights.delete ? ('eo.recyclebin.details.delete.tooltip' | translate) : ('eo.recyclebin.details.delete.disabled.tooltip' | translate)\"\n (click)=\"showDialog();\"></eo-icon>\n <button (click)=\"restoreFile()\" translate>eo.recyclebin.details.restore</button>\n <button (click)=\"restoreFile(true)\" class=\"primary\"\n translate>eo.recyclebin.details.restoreopen</button>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <yvc-split-tabs>\n\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\"\n [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media *ngIf=\"item\" [useVersion]=\"item.id === item.content?.id\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n\n <ng-template *ngIf=\"isVisible('history')\"\n [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n </yvc-split-tabs>\n </div>\n</ng-container>\n\n<eo-dialog [title]=\"'eo.recyclebin.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'recyclebin-delete__dialog'\">\n\n <div>\n <span>{{'eo.recyclebin.details.delete.dialog.message' | translate}}</span>\n <br>\n <span class=\"recyclebin-delete__dialog_warning\">{{'eo.recyclebin.details.delete.dialog.message.warning' |\n translate}}</span>\n </div>\n <div class=\"action-buttons recyclebin-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.recyclebin.details.delete.dialog.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"deleteDmsObject()\" class=\"button primary\"\n translate>eo.recyclebin.details.delete.dialog.delete</button>\n </div>\n</eo-dialog>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .actions eo-icon{padding:calc(var(--app-pane-padding) / 4)}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .recyclebin-detail__loader{margin:auto}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}::ng-deep yvc-tabs{height:100%}::ng-deep yvc-tabs>header{background-color:var(--panel-background)}::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}::ng-deep eo-media{height:100%;overflow:hidden;display:block}::ng-deep .recyclebin-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .recyclebin-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .recyclebin-delete__dialog .recyclebin-delete__dialog_warning{color:var(--color-error)}\n"] }]
242
+ args: [{ selector: 'eo-recyclebin-details', template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"recyclebin-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError\">\n\n <div class=\"eo-head eo-head-tabs\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"actions\">\n <eo-icon *ngIf=\"item.content\"\n class=\"button\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n (click)=\"downloadOriginalContent()\"></eo-icon>\n <eo-icon class=\"button\" [ngClass]=\"{disabled: !this.item.rights.delete}\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n [iconTitle]=\"this.item.rights.delete ? ('eo.recyclebin.details.delete.tooltip' | translate) : ('eo.recyclebin.details.delete.disabled.tooltip' | translate)\"\n (click)=\"showDialog();\"></eo-icon>\n <button (click)=\"restoreFile()\" translate>eo.recyclebin.details.restore</button>\n <button (click)=\"restoreFile(true)\" class=\"primary\"\n translate>eo.recyclebin.details.restoreopen</button>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <yvc-split-tabs>\n\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\"\n [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media *ngIf=\"item\" [useVersion]=\"item.id === item.content?.id\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n\n <ng-template *ngIf=\"isVisible('history')\"\n [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n </yvc-split-tabs>\n </div>\n</ng-container>\n\n<eo-dialog [title]=\"'eo.recyclebin.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'recyclebin-delete__dialog'\">\n\n <div>\n <span>{{'eo.recyclebin.details.delete.dialog.message' | translate}}</span>\n <br>\n <span class=\"recyclebin-delete__dialog_warning\">{{'eo.recyclebin.details.delete.dialog.message.warning' |\n translate}}</span>\n </div>\n <div class=\"action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.recyclebin.details.delete.dialog.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"deleteDmsObject()\" class=\"button primary\"\n translate>eo.recyclebin.details.delete.dialog.delete</button>\n </div>\n</eo-dialog>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .actions eo-icon{padding:calc(var(--app-pane-padding) / 4)}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .recyclebin-detail__loader{margin:auto}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}::ng-deep yvc-tabs{height:100%}::ng-deep yvc-tabs>header{background-color:var(--panel-background)}::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}::ng-deep eo-media{height:100%;overflow:hidden;display:block}::ng-deep .recyclebin-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .recyclebin-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .recyclebin-delete__dialog .recyclebin-delete__dialog_warning{color:var(--color-error)}\n"] }]
243
243
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.SystemService }, { type: i3.EmptyStateService }, { type: i2.BackendService }, { type: i2.UserService }, { type: i2.NotificationsService }, { type: i2.DmsService }, { type: i4.SelectionService }, { type: i2.CapabilitiesService }, { type: i2.EventService }, { type: i2.Config }, { type: i2.TranslateService }], propDecorators: { preview: [{
244
244
  type: ViewChild,
245
245
  args: ['viewer']
@@ -268,4 +268,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
268
268
  type: HostBinding,
269
269
  args: ['attr.data-type']
270
270
  }] } });
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjeWNsZWJpbi1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3JlY3ljbGViaW4tZGV0YWlscy9yZWN5Y2xlYmluLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvcmVjeWNsZWJpbi1kZXRhaWxzL3JlY3ljbGViaW4tZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFDLEdBQUcsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFFTyxVQUFVLEVBQW9GLEtBQUssRUFDaEgsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUMxRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZ0RBQWdELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYXZFLElBQU0sMEJBQTBCLEdBQWhDLE1BQU0sMEJBQTBCO0lBOEJyQyxJQUFJLGdCQUFnQixDQUFDLEdBQVk7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxFQUFF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b250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge29mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEJhY2tlbmRTZXJ2aWNlLCBCYXNlUGFyYW1zLCBDYXBhYmlsaXRpZXMsIENhcGFiaWxpdGllc1NlcnZpY2UsIENvbmZpZywgRG1zT2JqZWN0LCBEbXNQYXJhbXMsXG4gIERtc1NlcnZpY2UsIEVuYWlvRXZlbnQsIEV2ZW50U2VydmljZSwgTm90aWZpY2F0aW9uc1NlcnZpY2UsIFN5c3RlbVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2UsIFVzZXJTZXJ2aWNlLCBVdGlsc1xufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtFbXB0eVN0YXRlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtFbXB0eVN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge0xvY2FsZURhdGVQaXBlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9waXBlcy9sb2NhbGUtZGF0ZS5waXBlJztcbmltcG9ydCB7XG4gIFNlbGVjdGlvbkNvbmZpZyxcbiAgU2VsZWN0aW9uU2VydmljZVxufSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWxlY3Rpb24vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtNZWRpYUNvbXBvbmVudH0gZnJvbSAnLi4vbWVkaWEvbWVkaWEuY29tcG9uZW50JztcbmltcG9ydCB7SW5kZXhEYXRhfSBmcm9tICcuLi91aS9pbmRleGRhdGEtc3VtbWFyeS9pbmRleGRhdGEtc3VtbWFyeS5jb21wb25lbnQnO1xuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1yZWN5Y2xlYmluLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjeWNsZWJpbi1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjeWNsZWJpbi1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVjeWNsZWJpbkRldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ3ZpZXdlcicpIHByZXZpZXc6IE1lZGlhQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdjb25maXJtRGVsZXRlJykgY29uZmlybURlbGV0ZUJ1dHRvbjogRWxlbWVudFJlZjtcblxuICAvLyBnZW5lcmF0ZSB1bmlxdWUgaWQgdG8gcGFzcyB0byB1cGxvYWQgcmVnaXN0cnlcbiAgdXNlciQgPSB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIkO1xuICBfc2hvd0RlbGV0ZURpYWxvZyA9IGZhbHNlO1xuICB1c2VySWQgPSAnJztcbiAgaXRlbTogRG1zT2JqZWN0O1xuICBpbmRleERhdGFQcmV2aWV3OiBJbmRleERhdGE7XG4gIGJhc2VwYXJhbXM6IEJhc2VQYXJhbXM7XG4gIGhhc0Vycm9yID0gZmFsc2U7XG4gIGxvY2tUb29sdGlwOiBzdHJpbmc7XG4gIG5vZG1zb2JqZWN0ID0gZmFsc2U7XG4gIHNob3dMb2FkZXIgPSBmYWxzZTtcbiAgcGFuZWxPcmRlciA9IHsnbWFzdGVyJzogWydzdW1tYXJ5JywgJ2hpc3RvcnknXSwgJ3NsYXZlJzogWydwcmV2aWV3J119O1xuXG4gIEBJbnB1dCgpIHBsdWdpbnM6IGFueVtdO1xuICBASW5wdXQoKSBjYWNoZUxheW91dDogYW55O1xuICBpdGVtMjogRG1zT2JqZWN0O1xuICBpbmRleERhdGFQcmV2aWV3MjogSW5kZXhEYXRhO1xuICBiYXNlcGFyYW1zMjogQmFzZVBhcmFtcztcbiAgcHJpdmF0ZSBfZW1wdHlTdGF0ZTogRW1wdHlTdGF0ZSA9IHtpY29uOiAnaWNfbm8tZmlsZS5zdmcnLCB0ZXh0OiAnJywgY2xhc3NOYW1lOiAnJ307XG5cbiAgY2FwYWJpbGl0aWVzOiBDYXBhYmlsaXRpZXM7XG4gIEBJbnB1dCgpIGFwcGx5U2VsZWN0aW9uOiBTZWxlY3Rpb25Db25maWc7XG4gIEBJbnB1dCgpIHBhcnNlRG1zUGFyYW1zOiAoZGF0YSkgPT4ge30gPSB0aGlzLmdldERtc1BhcmFtcztcbiAgQE91dHB1dCgpIGhhc0NvbnRlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBzZXQgc2hvd0RlbGV0ZURpYWxvZyh2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93RGVsZXRlRGlhbG9nID0gdmFsO1xuXG4gICAgaWYgKHRoaXMuX3Nob3dEZWxldGVEaWFsb2cpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jb25maXJtRGVsZXRlQnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSwgMCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNob3dEZWxldGVEaWFsb2coKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dEZWxldGVEaWFsb2c7XG4gIH1cblxuICBzaG93RGlhbG9nKCkge1xuICAgIGlmICh0aGlzLml0ZW0ucmlnaHRzLmRlbGV0ZSkge1xuICAgICAgdGhpcy5zaG93RGVsZXRlRGlhbG9nID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZW1wdHlTdGF0ZShlOiBFbXB0eVN0YXRlKSB7XG4gICAgdGhpcy5fZW1wdHlTdGF0ZSA9IGUgfHwgRW1wdHlTdGF0ZVNlcnZpY2UuZGVmYXVsdEVtcHR5U3RhdGUoKTtcbiAgfVxuXG4gIGdldCBlbXB0eVN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9lbXB0eVN0YXRlO1xuICB9XG5cbiAgQElucHV0KCdwYXJhbXMnKVxuICBzZXQgZG1zUGFyYW1zKHBhcmFtczogRG1zUGFyYW1zKSB7XG4gICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWREbXNPYmplY3QocGFyYW1zKS5zdWJzY3JpYmUoKHJlczogRG1zT2JqZWN0KSA9PiB7XG4gICAgICB0aGlzLmRtc09iamVjdCA9IHJlcztcbiAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xuICAgIH0sXG4gICAgICBVdGlscy50aHJvdygoKSA9PiB0aGlzLm9uSGFzRXJyb3IodHJ1ZSwgdHJ1ZSwgZmFsc2UpKVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoJ2l0ZW0nKVxuICBzZXQgZG1zT2JqZWN0KHY6IERtc09iamVjdCkge1xuICAgIHRoaXMuaXRlbSA9IHY7XG4gICAgdGhpcy5vbkhhc0Vycm9yKCk7XG4gICAgLy8gcHJlcGFyZSBpbmRleGRhdGEgcHJldmlld1xuICAgIHRoaXMub25JbmRleERhdGFTYXZlZChudWxsLCB0aGlzLml0ZW0pO1xuICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX0xPQURFRCwgdGhpcy5pdGVtKTtcblxuICAgIGlmICh0aGlzLml0ZW0pIHtcblxuICAgICAgaWYgKHRoaXMuaXRlbS5sb2NrKSB7XG4gICAgICAgIHRoaXMubG9ja1Rvb2x0aXAgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3QubG9jaycpICsgJyAnXG4gICAgICAgICAgKyAobmV3IExvY2FsZURhdGVQaXBlKHRoaXMudHJhbnNsYXRlKS50cmFuc2Zvcm0odGhpcy5pdGVtLmxvY2sub24pKVxuICAgICAgICAgICsgJywgJyArIHRoaXMuaXRlbS5sb2NrLmJ5LmxhYmVsICsgJyAoJyArIHRoaXMuaXRlbS5sb2NrLmJ5Lm5hbWUgKyAnKSc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW1wdHlTdGF0ZSA9IHRoaXMuZW1wdHkuZ2V0RW1wdHlTdGF0ZSgwKTtcbiAgICB9XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10eXBlJykgZ2V0IGRhdGFUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLml0ZW0gPyB0aGlzLml0ZW0udHlwZU5hbWUgOiAnbm9uZSc7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgZW1wdHk6IEVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdDogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBkbXNTZXJ2aWNlOiBEbXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FwYWJpbGl0eVNlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZyxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuXG4gICAgdGhpcy5wYW5lbE9yZGVyID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldFJhdygncmVjeWNsZWJpbkRldGFpbHNUYWJzJykgfHwgdGhpcy5wYW5lbE9yZGVyO1xuICAgIHRoaXMudXNlciQuc3Vic2NyaWJlKHVzZXIgPT4ge3RoaXMudXNlcklkID0gdXNlci5pZDsgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldERtc1BhcmFtcyhkYXRhOiBhbnkpOiBEbXNQYXJhbXMge1xuICAgIHJldHVybiBkYXRhID8gey4uLmRhdGEsIHR5cGU6IGRhdGEudHlwZX0gOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250ZW50KCkge1xuICAgIGlmICh0aGlzLmFwcGx5U2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvblxuICAgICAgICAuZmluZCh0aGlzLmFwcGx5U2VsZWN0aW9uLmluKVxuICAgICAgICAuZm9jdXMkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgIHRoaXMuc2hvd0xvYWRlciA9IHRydWU7XG4gICAgICAgICAgdGhpcy5sb2FkRG1zT2JqZWN0KHRoaXMucGFyc2VEbXNQYXJhbXMocmVzdWx0KSBhcyBEbXNQYXJhbXMpLnN1YnNjcmliZSgocmVzOiBEbXNPYmplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLml0ZW0gJiYgcmVzICYmICh0aGlzLml0ZW0uaWQgPT09IHJlcy5pZCkgJiYgcmVzLnZlcnNpb24gPiB0aGlzLml0ZW0udmVyc2lvbikge1xuICAgICAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9VUERBVEVELCByZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kbXNPYmplY3QgPSByZXM7XG4gICAgICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgICAgVXRpbHMudGhyb3coKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLm9uSGFzRXJyb3IodHJ1ZSwgdHJ1ZSwgZmFsc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXN0b3JlRmlsZShvcGVuTG9jYXRpb25BZnRlclJlc3RvcmUgPSBmYWxzZSkge1xuICAgIHRoaXMuZG1zU2VydmljZS5yZXN0b3JlKHRoaXMuaXRlbS5pZCwgdGhpcy51c2VySWQsIHRoaXMuaXRlbS50eXBlTmFtZSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuICAgICAgaWYgKG9wZW5Mb2NhdGlvbkFmdGVyUmVzdG9yZSkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9vYmplY3QnLCB0aGlzLml0ZW0uaWRdKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVjeWNsZWJpbi5kZXRhaWxzLnJlc3RvcmUuZG9uZS50aXRsZScpLFxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5yZWN5Y2xlYmluLmRldGFpbHMucmVzdG9yZS5kb25lLm1lc3NhZ2UnLCB7aXRlbSA6IHRoaXMuaXRlbS50aXRsZX0pLFxuICAgICAgKTtcbiAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX1JFU1RPUkVEX09SX0RFTEVURUQpO1xuICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDA5KSB7XG4gICAgICAgIHRoaXMudG9hc3QuZXJyb3IodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVjeWNsZWJpbi5kZXRhaWxzLnJlc3RvcmUuZG1zLm9iamVjdC5lcnJvci40MDknKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlRG1zT2JqZWN0KCkge1xuICAgIHRoaXMuZG1zU2VydmljZVxuICAgICAgLmRlbGV0ZURtc09iamVjdCh0aGlzLml0ZW0uaWQsIHRoaXMuaXRlbS50eXBlLm5hbWUsIHRydWUpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5yZWN5Y2xlYmluLmRldGFpbHMuZGVsZXRlLmRvbmUudGl0bGUnKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlY3ljbGViaW4uZGV0YWlscy5kZWxldGUuZG9uZS5tZXNzYWdlJywge2l0ZW0gOiB0aGlzLml0ZW0udGl0bGV9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5fc2hvd0RlbGV0ZURpYWxvZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX1JFU1RPUkVEX09SX0RFTEVURUQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICBwcml2YXRlIHByZXBhcmVJbmRleERhdGFQcmV2aWV3KGl0ZW06IERtc09iamVjdCwgZm9ybURhdGE/OiBhbnkpIHtcbiAgICBjb25zdCB7aWQsIGRhdGEsIHR5cGUsIGNyZWF0ZWQsIG1vZGlmaWVkLCBjb250ZW50LCBjb250ZW50RmlsZU5hbWUsIGNvbnRlbnRGaWxlU2l6ZSwgdmVyc2lvbn0gPSBpdGVtO1xuXG4gICAgcmV0dXJuIHRoaXMuc3lzdGVtXG4gICAgICAuZ2V0T2JqZWN0VHlwZUZvcm0odHlwZS5uYW1lLCAnRURJVCcpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGZvcm0gPT4ge1xuICAgICAgICAgIGxldCBpbmRleERhdGFQcmV2aWV3ID0ge1xuICAgICAgICAgICAgZm9ybSxcbiAgICAgICAgICAgIGRhdGE6IGZvcm1EYXRhIHx8IGRhdGFcbiAgICAgICAgICB9O1xuICAgICAgICAgIGxldCBiYXNlcGFyYW1zOiBCYXNlUGFyYW1zID0ge1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICB0eXBlOiB0eXBlLm5hbWUsXG4gICAgICAgICAgICBjcmVhdGVkT246IG5ldyBEYXRlKGNyZWF0ZWQub24pLFxuICAgICAgICAgICAgbW9kaWZpZWRPbjogbmV3IERhdGUobW9kaWZpZWQub24pLFxuICAgICAgICAgICAgY3JlYXRlZEJ5OiBgJHtjcmVhdGVkLmJ5LnRpdGxlfSAoJHtjcmVhdGVkLmJ5Lm5hbWV9KWAsXG4gICAgICAgICAgICBtb2RpZmllZEJ5OiBgJHttb2RpZmllZC5ieS50aXRsZX0gKCR7bW9kaWZpZWQuYnkubmFtZX0pYCxcbiAgICAgICAgICAgIGNvbnRlbnRGaWxlTmFtZTogY29udGVudEZpbGVOYW1lID8gY29udGVudEZpbGVOYW1lIDogbnVsbCxcbiAgICAgICAgICAgIGNvbnRlbnRGaWxlU2l6ZTogY29udGVudEZpbGVTaXplID8gTnVtYmVyKGNvbnRlbnRGaWxlU2l6ZSkgOiBudWxsLFxuICAgICAgICAgICAgdmVyc2lvbjogdmVyc2lvbiB8fCAwLFxuICAgICAgICAgICAgbWltZUdyb3VwOiBjb250ZW50ID8gY29udGVudC5jb250ZW50cyA/IGNvbnRlbnQuY29udGVudHNbMF0ubWltZWdyb3VwIDogbnVsbCA6IG51bGwsXG4gICAgICAgICAgICBkaWdlc3Q6IGNvbnRlbnQgPyBjb250ZW50LmNvbnRlbnRzID8gY29udGVudC5jb250ZW50c1swXS5kaWdlc3QgOiBudWxsIDogbnVsbCxcbiAgICAgICAgICAgIGNvbnRlbnRJZDogY29udGVudCA/IGNvbnRlbnQuY29udGVudHMgPyBjb250ZW50LmlkIDogbnVsbCA6IG51bGwsXG4gICAgICAgICAgICBtaW1lVHlwZTogY29udGVudCA/IGNvbnRlbnQuY29udGVudHMgPyBjb250ZW50LmNvbnRlbnRzWzBdLm1pbWV0eXBlIDogbnVsbCA6IG51bGwsXG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4ge2luZGV4RGF0YVByZXZpZXcsIGJhc2VwYXJhbXN9O1xuICAgICAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIG9uSGFzRXJyb3IoaGFzRXJyb3IgPSBmYWxzZSwgbm9kbXNvYmplY3QgPSBmYWxzZSwgc2hvd0xvYWRlciA9IGZhbHNlKSB7XG4gICAgdGhpcy5oYXNFcnJvciA9IGhhc0Vycm9yO1xuICAgIHRoaXMubm9kbXNvYmplY3QgPSBub2Rtc29iamVjdDtcbiAgICB0aGlzLnNob3dMb2FkZXIgPSBzaG93TG9hZGVyO1xuICAgIHRoaXMuaGFzQ29udGVudC5lbWl0KCFoYXNFcnJvcik7XG4gIH1cblxuICBsb2FkRG1zT2JqZWN0KHBhcmFtczogRG1zUGFyYW1zKSB7XG4gICAgaWYgKHBhcmFtcykge1xuICAgICAgZGVsZXRlIHBhcmFtcy52ZXJzaW9uO1xuICAgIH1cbiAgICAvLyBjaGVjayBmb3IgdmFsaWQgaWRcbiAgICByZXR1cm4gcGFyYW1zPy5pZD8ubGVuZ3RoID09PSAzMiA/IHRoaXMuZG1zU2VydmljZS5nZXREbXNPYmplY3RCeVBhcmFtcyhwYXJhbXMpIDogb2YobnVsbCk7XG4gIH1cblxuICBkb3dubG9hZE9yaWdpbmFsQ29udGVudCgpIHtcbiAgICB0aGlzLmJhY2tlbmQuZG93bmxvYWRDb250ZW50KFt0aGlzLml0ZW1dLCBudWxsLCBmYWxzZSwgdHJ1ZSk7XG4gIH1cblxuICAvLyBleGVjdXRlZCB3aGVuIHRoZSBkbXMgb2JqZWN0IGNoYW5nZWQgZHVlIHRvIHNhdmluZyBpdHMgaW5kZXhkYXRhXG4gIG9uSW5kZXhEYXRhU2F2ZWQoZm9ybURhdGEsIGl0ZW0pIHtcbiAgICBpZiAoIXRoaXMuaXRlbSkge1xuICAgICAgdGhpcy5pbmRleERhdGFQcmV2aWV3ID0gbnVsbDtcbiAgICAgIHRoaXMuYmFzZXBhcmFtcyA9IG51bGw7XG4gICAgfVxuICAgIGlmICghdGhpcy5pdGVtMikge1xuICAgICAgdGhpcy5pbmRleERhdGFQcmV2aWV3MiA9IG51bGw7XG4gICAgICB0aGlzLmJhc2VwYXJhbXMyID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHRoaXMucHJlcGFyZUluZGV4RGF0YVByZXZpZXcoaXRlbSwgZm9ybURhdGEpXG4gICAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0gPT09IHRoaXMuaXRlbSkge1xuICAgICAgICAgICAgdGhpcy5pbmRleERhdGFQcmV2aWV3ID0gZGF0YS5pbmRleERhdGFQcmV2aWV3O1xuICAgICAgICAgICAgdGhpcy5iYXNlcGFyYW1zID0gZGF0YS5iYXNlcGFyYW1zO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4RGF0YVByZXZpZXcyID0gZGF0YS5pbmRleERhdGFQcmV2aWV3O1xuICAgICAgICAgICAgdGhpcy5iYXNlcGFyYW1zMiA9IGRhdGEuYmFzZXBhcmFtcztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlzVmlzaWJsZShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucGFuZWxPcmRlci5tYXN0ZXIuaW5jbHVkZXMoaWQpIHx8IHRoaXMucGFuZWxPcmRlci5zbGF2ZS5pbmNsdWRlcyhpZCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNhcGFiaWxpdGllcyA9IHRoaXMuY2FwYWJpbGl0eVNlcnZpY2UuZ2V0Q2FwYWJpbGl0aWVzKCk7XG4gICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfVVBEQVRFRClcbiAgICAgIC5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudC5kYXRhICYmIHRoaXMuaXRlbS5pZCA9PT0gZXZlbnQuZGF0YS5pZCkge1xuICAgICAgICAgIHRoaXMuZG1zT2JqZWN0ID0gdGhpcy5kbXNTZXJ2aWNlLmNyZWF0ZUxvY2FsQ29weU9mRE1TT2JqZWN0KGV2ZW50LmRhdGEpO1xuICAgICAgICAgIGlmICh0aGlzLnByZXZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMucHJldmlldy5yZWZyZXNoKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJzaG93TG9hZGVyXCI+XG4gICAgPGVvLWxvYWRpbmctc3Bpbm5lciBjbGFzcz1cInJlY3ljbGViaW4tZGV0YWlsX19sb2FkZXJcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0gJiYgIWhhc0Vycm9yXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZCBlby1oZWFkLXRhYnNcIj5cbiAgICAgICAgPGhlYWRlciBjbGFzcz1cImVvLWhlYWRlclwiPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJlby1oZWFkZXItaWNvblwiIFtvYmplY3RUeXBlXT1cIml0ZW0udHlwZVwiIFtpY29uVGl0bGVdPVwiaXRlbS50eXBlLmxhYmVsXCI+PC9lby1pY29uPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWluZm9cIj5cbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJlby1oZWFkZXItdGl0bGVcIj57e2l0ZW0udGl0bGV9fTwvaDI+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiZW8taGVhZGVyLXN1YnRpdGxlXCI+e3tpdGVtLmRlc2NyaXB0aW9ufX08L2gzPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPGVvLWljb24gKm5nSWY9XCJpdGVtLmNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfY29udGVudC1kb3dubG9hZC5zdmcnXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLmFjdGlvbi5kb3dubG9hZC5kbXMub2JqZWN0LmNvbnRlbnQubGFiZWwnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZE9yaWdpbmFsQ29udGVudCgpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uXCIgW25nQ2xhc3NdPVwie2Rpc2FibGVkOiAhdGhpcy5pdGVtLnJpZ2h0cy5kZWxldGV9XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfdHJhc2guc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwidGhpcy5pdGVtLnJpZ2h0cy5kZWxldGUgPyAoJ2VvLnJlY3ljbGViaW4uZGV0YWlscy5kZWxldGUudG9vbHRpcCcgfCB0cmFuc2xhdGUpIDogKCdlby5yZWN5Y2xlYmluLmRldGFpbHMuZGVsZXRlLmRpc2FibGVkLnRvb2x0aXAnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93RGlhbG9nKCk7XCI+PC9lby1pY29uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInJlc3RvcmVGaWxlKClcIiB0cmFuc2xhdGU+ZW8ucmVjeWNsZWJpbi5kZXRhaWxzLnJlc3RvcmU8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJyZXN0b3JlRmlsZSh0cnVlKVwiIGNsYXNzPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT5lby5yZWN5Y2xlYmluLmRldGFpbHMucmVzdG9yZW9wZW48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2hlYWRlcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZW8tYm9keVwiPlxuICAgICAgICA8eXZjLXNwbGl0LXRhYnM+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbeXZjVGFiXT1cIntpZDogJ3N1bW1hcnknLCBsYWJlbDogJ2VvLm9iamVjdC5zdW1tYXJ5LnRpdGxlJyB8IHRyYW5zbGF0ZX1cIj5cbiAgICAgICAgICAgICAgICA8ZW8taW5kZXhkYXRhLXN1bW1hcnkgW2luZGV4ZGF0YV09XCJpbmRleERhdGFQcmV2aWV3XCIgW2Jhc2VwYXJhbXNdPVwiYmFzZXBhcmFtc1wiXG4gICAgICAgICAgICAgICAgICAgIFtkbXNPYmplY3RdPVwiaXRlbVwiPjwvZW8taW5kZXhkYXRhLXN1bW1hcnk+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW3l2Y1RhYl09XCJ7aWQ6ICdwcmV2aWV3JywgbGFiZWw6ICdlby5vYmplY3QuY29udGVudC50aXRsZScgfCB0cmFuc2xhdGV9XCI+XG4gICAgICAgICAgICAgICAgPGVvLW1lZGlhICpuZ0lmPVwiaXRlbVwiIFt1c2VWZXJzaW9uXT1cIml0ZW0uaWQgPT09IGl0ZW0uY29udGVudD8uaWRcIiBbZG1zT2JqZWN0XT1cIml0ZW1cIiAjdmlld2VyPjwvZW8tbWVkaWE+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1Zpc2libGUoJ2hpc3RvcnknKVwiXG4gICAgICAgICAgICAgICAgW3l2Y1RhYl09XCJ7aWQ6ICdoaXN0b3J5JywgbGFiZWw6ICdlby5vYmplY3QuaGlzdG9yeS50aXRsZScgfCB0cmFuc2xhdGV9XCI+XG4gICAgICAgICAgICAgICAgPGVvLW9iamVjdC1oaXN0b3J5IFtwYXJhbXNdPVwie2lkOiBpdGVtLmlkLCB0eXBlOiBpdGVtLnR5cGU/LnFuYW1lfVwiPlxuICAgICAgICAgICAgICAgIDwvZW8tb2JqZWN0LWhpc3Rvcnk+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8IS0tIHBsdWdpbiB0YWJzIC0tPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0Zvcj1cImxldCBwIG9mIHBsdWdpbnNcIiBbeXZjVGFiXT1cIntpZDogcC5pZCwgbGFiZWw6IHAuaWQgfCB0cmFuc2xhdGV9XCI+XG4gICAgICAgICAgICAgICAgPGVvLXBsdWdpbiBbaWRdPVwicC5pZFwiIFtwYXJlbnRdPVwidGhpc1wiPjwvZW8tcGx1Z2luPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC95dmMtc3BsaXQtdGFicz5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZW8tZGlhbG9nIFt0aXRsZV09XCInZW8ucmVjeWNsZWJpbi5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cudGl0bGUnIHwgdHJhbnNsYXRlXCIgWyh2aXNpYmxlKV09XCJzaG93RGVsZXRlRGlhbG9nXCJcbiAgICBbZm9jdXNPblNob3ddPVwiZmFsc2VcIiBbbWluV2lkdGhdPVwiNDAwXCIgW3N0eWxlQ2xhc3NdPVwiJ3JlY3ljbGViaW4tZGVsZXRlX19kaWFsb2cnXCI+XG5cbiAgICA8ZGl2PlxuICAgICAgICA8c3Bhbj57eydlby5yZWN5Y2xlYmluLmRldGFpbHMuZGVsZXRlLmRpYWxvZy5tZXNzYWdlJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8YnI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmVjeWNsZWJpbi1kZWxldGVfX2RpYWxvZ193YXJuaW5nXCI+e3snZW8ucmVjeWNsZWJpbi5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cubWVzc2FnZS53YXJuaW5nJyB8XG4gICAgICAgICAgICB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWJ1dHRvbnMgcmVjeWNsZWJpbi1kZWxldGUtLWFjdGlvbi1idXR0b25zIGZsZXgtcm93XCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIGNhbmNlbFwiIChjbGljayk9XCJzaG93RGVsZXRlRGlhbG9nID0gZmFsc2VcIlxuICAgICAgICAgICAgdHJhbnNsYXRlPmVvLnJlY3ljbGViaW4uZGV0YWlscy5kZWxldGUuZGlhbG9nLmNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjY29uZmlybURlbGV0ZSAoY2xpY2spPVwiZGVsZXRlRG1zT2JqZWN0KClcIiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCJcbiAgICAgICAgICAgIHRyYW5zbGF0ZT5lby5yZWN5Y2xlYmluLmRldGFpbHMuZGVsZXRlLmRpYWxvZy5kZWxldGU8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZW8tZGlhbG9nPlxuIl19
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjeWNsZWJpbi1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL3JlY3ljbGViaW4tZGV0YWlscy9yZWN5Y2xlYmluLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvcmVjeWNsZWJpbi1kZXRhaWxzL3JlY3ljbGViaW4tZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFDLEdBQUcsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFFTyxVQUFVLEVBQW9GLEtBQUssRUFDaEgsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUMxRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZ0RBQWdELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYXZFLElBQU0sMEJBQTBCLEdBQWhDLE1BQU0sMEJBQTBCO0lBOEJyQyxJQUFJLGdCQUFnQixDQUFDLEdBQVk7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztRQUU3QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxFQUFF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b250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge29mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEJhY2tlbmRTZXJ2aWNlLCBCYXNlUGFyYW1zLCBDYXBhYmlsaXRpZXMsIENhcGFiaWxpdGllc1NlcnZpY2UsIENvbmZpZywgRG1zT2JqZWN0LCBEbXNQYXJhbXMsXG4gIERtc1NlcnZpY2UsIEVuYWlvRXZlbnQsIEV2ZW50U2VydmljZSwgTm90aWZpY2F0aW9uc1NlcnZpY2UsIFN5c3RlbVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2UsIFVzZXJTZXJ2aWNlLCBVdGlsc1xufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtFbXB0eVN0YXRlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtFbXB0eVN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge0xvY2FsZURhdGVQaXBlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9waXBlcy9sb2NhbGUtZGF0ZS5waXBlJztcbmltcG9ydCB7XG4gIFNlbGVjdGlvbkNvbmZpZyxcbiAgU2VsZWN0aW9uU2VydmljZVxufSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWxlY3Rpb24vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtNZWRpYUNvbXBvbmVudH0gZnJvbSAnLi4vbWVkaWEvbWVkaWEuY29tcG9uZW50JztcbmltcG9ydCB7SW5kZXhEYXRhfSBmcm9tICcuLi91aS9pbmRleGRhdGEtc3VtbWFyeS9pbmRleGRhdGEtc3VtbWFyeS5jb21wb25lbnQnO1xuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1yZWN5Y2xlYmluLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjeWNsZWJpbi1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjeWNsZWJpbi1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVjeWNsZWJpbkRldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ3ZpZXdlcicpIHByZXZpZXc6IE1lZGlhQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdjb25maXJtRGVsZXRlJykgY29uZmlybURlbGV0ZUJ1dHRvbjogRWxlbWVudFJlZjtcblxuICAvLyBnZW5lcmF0ZSB1bmlxdWUgaWQgdG8gcGFzcyB0byB1cGxvYWQgcmVnaXN0cnlcbiAgdXNlciQgPSB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIkO1xuICBfc2hvd0RlbGV0ZURpYWxvZyA9IGZhbHNlO1xuICB1c2VySWQgPSAnJztcbiAgaXRlbTogRG1zT2JqZWN0O1xuICBpbmRleERhdGFQcmV2aWV3OiBJbmRleERhdGE7XG4gIGJhc2VwYXJhbXM6IEJhc2VQYXJhbXM7XG4gIGhhc0Vycm9yID0gZmFsc2U7XG4gIGxvY2tUb29sdGlwOiBzdHJpbmc7XG4gIG5vZG1zb2JqZWN0ID0gZmFsc2U7XG4gIHNob3dMb2FkZXIgPSBmYWxzZTtcbiAgcGFuZWxPcmRlciA9IHsnbWFzdGVyJzogWydzdW1tYXJ5JywgJ2hpc3RvcnknXSwgJ3NsYXZlJzogWydwcmV2aWV3J119O1xuXG4gIEBJbnB1dCgpIHBsdWdpbnM6IGFueVtdO1xuICBASW5wdXQoKSBjYWNoZUxheW91dDogYW55O1xuICBpdGVtMjogRG1zT2JqZWN0O1xuICBpbmRleERhdGFQcmV2aWV3MjogSW5kZXhEYXRhO1xuICBiYXNlcGFyYW1zMjogQmFzZVBhcmFtcztcbiAgcHJpdmF0ZSBfZW1wdHlTdGF0ZTogRW1wdHlTdGF0ZSA9IHtpY29uOiAnaWNfbm8tZmlsZS5zdmcnLCB0ZXh0OiAnJywgY2xhc3NOYW1lOiAnJ307XG5cbiAgY2FwYWJpbGl0aWVzOiBDYXBhYmlsaXRpZXM7XG4gIEBJbnB1dCgpIGFwcGx5U2VsZWN0aW9uOiBTZWxlY3Rpb25Db25maWc7XG4gIEBJbnB1dCgpIHBhcnNlRG1zUGFyYW1zOiAoZGF0YSkgPT4ge30gPSB0aGlzLmdldERtc1BhcmFtcztcbiAgQE91dHB1dCgpIGhhc0NvbnRlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBzZXQgc2hvd0RlbGV0ZURpYWxvZyh2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93RGVsZXRlRGlhbG9nID0gdmFsO1xuXG4gICAgaWYgKHRoaXMuX3Nob3dEZWxldGVEaWFsb2cpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jb25maXJtRGVsZXRlQnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSwgMCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNob3dEZWxldGVEaWFsb2coKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dEZWxldGVEaWFsb2c7XG4gIH1cblxuICBzaG93RGlhbG9nKCkge1xuICAgIGlmICh0aGlzLml0ZW0ucmlnaHRzLmRlbGV0ZSkge1xuICAgICAgdGhpcy5zaG93RGVsZXRlRGlhbG9nID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZW1wdHlTdGF0ZShlOiBFbXB0eVN0YXRlKSB7XG4gICAgdGhpcy5fZW1wdHlTdGF0ZSA9IGUgfHwgRW1wdHlTdGF0ZVNlcnZpY2UuZGVmYXVsdEVtcHR5U3RhdGUoKTtcbiAgfVxuXG4gIGdldCBlbXB0eVN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9lbXB0eVN0YXRlO1xuICB9XG5cbiAgQElucHV0KCdwYXJhbXMnKVxuICBzZXQgZG1zUGFyYW1zKHBhcmFtczogRG1zUGFyYW1zKSB7XG4gICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWREbXNPYmplY3QocGFyYW1zKS5zdWJzY3JpYmUoKHJlczogRG1zT2JqZWN0KSA9PiB7XG4gICAgICB0aGlzLmRtc09iamVjdCA9IHJlcztcbiAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xuICAgIH0sXG4gICAgICBVdGlscy50aHJvdygoKSA9PiB0aGlzLm9uSGFzRXJyb3IodHJ1ZSwgdHJ1ZSwgZmFsc2UpKVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoJ2l0ZW0nKVxuICBzZXQgZG1zT2JqZWN0KHY6IERtc09iamVjdCkge1xuICAgIHRoaXMuaXRlbSA9IHY7XG4gICAgdGhpcy5vbkhhc0Vycm9yKCk7XG4gICAgLy8gcHJlcGFyZSBpbmRleGRhdGEgcHJldmlld1xuICAgIHRoaXMub25JbmRleERhdGFTYXZlZChudWxsLCB0aGlzLml0ZW0pO1xuICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX0xPQURFRCwgdGhpcy5pdGVtKTtcblxuICAgIGlmICh0aGlzLml0ZW0pIHtcblxuICAgICAgaWYgKHRoaXMuaXRlbS5sb2NrKSB7XG4gICAgICAgIHRoaXMubG9ja1Rvb2x0aXAgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3QubG9jaycpICsgJyAnXG4gICAgICAgICAgKyAobmV3IExvY2FsZURhdGVQaXBlKHRoaXMudHJhbnNsYXRlKS50cmFuc2Zvcm0odGhpcy5pdGVtLmxvY2sub24pKVxuICAgICAgICAgICsgJywgJyArIHRoaXMuaXRlbS5sb2NrLmJ5LmxhYmVsICsgJyAoJyArIHRoaXMuaXRlbS5sb2NrLmJ5Lm5hbWUgKyAnKSc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW1wdHlTdGF0ZSA9IHRoaXMuZW1wdHkuZ2V0RW1wdHlTdGF0ZSgwKTtcbiAgICB9XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10eXBlJykgZ2V0IGRhdGFUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLml0ZW0gPyB0aGlzLml0ZW0udHlwZU5hbWUgOiAnbm9uZSc7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgZW1wdHk6IEVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdDogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBkbXNTZXJ2aWNlOiBEbXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FwYWJpbGl0eVNlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZyxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuXG4gICAgdGhpcy5wYW5lbE9yZGVyID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldFJhdygncmVjeWNsZWJpbkRldGFpbHNUYWJzJykgfHwgdGhpcy5wYW5lbE9yZGVyO1xuICAgIHRoaXMudXNlciQuc3Vic2NyaWJlKHVzZXIgPT4ge3RoaXMudXNlcklkID0gdXNlci5pZDsgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldERtc1BhcmFtcyhkYXRhOiBhbnkpOiBEbXNQYXJhbXMge1xuICAgIHJldHVybiBkYXRhID8gey4uLmRhdGEsIHR5cGU6IGRhdGEudHlwZX0gOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250ZW50KCkge1xuICAgIGlmICh0aGlzLmFwcGx5U2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvblxuICAgICAgICAuZmluZCh0aGlzLmFwcGx5U2VsZWN0aW9uLmluKVxuICAgICAgICAuZm9jdXMkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgIHRoaXMuc2hvd0xvYWRlciA9IHRydWU7XG4gICAgICAgICAgdGhpcy5sb2FkRG1zT2JqZWN0KHRoaXMucGFyc2VEbXNQYXJhbXMocmVzdWx0KSBhcyBEbXNQYXJhbXMpLnN1YnNjcmliZSgocmVzOiBEbXNPYmplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLml0ZW0gJiYgcmVzICYmICh0aGlzLml0ZW0uaWQgPT09IHJlcy5pZCkgJiYgcmVzLnZlcnNpb24gPiB0aGlzLml0ZW0udmVyc2lvbikge1xuICAgICAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9VUERBVEVELCByZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kbXNPYmplY3QgPSByZXM7XG4gICAgICAgICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgICAgVXRpbHMudGhyb3coKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLm9uSGFzRXJyb3IodHJ1ZSwgdHJ1ZSwgZmFsc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXN0b3JlRmlsZShvcGVuTG9jYXRpb25BZnRlclJlc3RvcmUgPSBmYWxzZSkge1xuICAgIHRoaXMuZG1zU2VydmljZS5yZXN0b3JlKHRoaXMuaXRlbS5pZCwgdGhpcy51c2VySWQsIHRoaXMuaXRlbS50eXBlTmFtZSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xuICAgICAgaWYgKG9wZW5Mb2NhdGlvbkFmdGVyUmVzdG9yZSkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9vYmplY3QnLCB0aGlzLml0ZW0uaWRdKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVjeWNsZWJpbi5kZXRhaWxzLnJlc3RvcmUuZG9uZS50aXRsZScpLFxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5yZWN5Y2xlYmluLmRldGFpbHMucmVzdG9yZS5kb25lLm1lc3NhZ2UnLCB7aXRlbSA6IHRoaXMuaXRlbS50aXRsZX0pLFxuICAgICAgKTtcbiAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX1JFU1RPUkVEX09SX0RFTEVURUQpO1xuICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDA5KSB7XG4gICAgICAgIHRoaXMudG9hc3QuZXJyb3IodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVjeWNsZWJpbi5kZXRhaWxzLnJlc3RvcmUuZG1zLm9iamVjdC5lcnJvci40MDknKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgZGVsZXRlRG1zT2JqZWN0KCkge1xuICAgIHRoaXMuZG1zU2VydmljZVxuICAgICAgLmRlbGV0ZURtc09iamVjdCh0aGlzLml0ZW0uaWQsIHRoaXMuaXRlbS50eXBlLm5hbWUsIHRydWUpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5yZWN5Y2xlYmluLmRldGFpbHMuZGVsZXRlLmRvbmUudGl0bGUnKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlY3ljbGViaW4uZGV0YWlscy5kZWxldGUuZG9uZS5tZXNzYWdlJywge2l0ZW0gOiB0aGlzLml0ZW0udGl0bGV9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5fc2hvd0RlbGV0ZURpYWxvZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX1JFU1RPUkVEX09SX0RFTEVURUQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICBwcml2YXRlIHByZXBhcmVJbmRleERhdGFQcmV2aWV3KGl0ZW06IERtc09iamVjdCwgZm9ybURhdGE/OiBhbnkpIHtcbiAgICBjb25zdCB7aWQsIGRhdGEsIHR5cGUsIGNyZWF0ZWQsIG1vZGlmaWVkLCBjb250ZW50LCBjb250ZW50RmlsZU5hbWUsIGNvbnRlbnRGaWxlU2l6ZSwgdmVyc2lvbn0gPSBpdGVtO1xuXG4gICAgcmV0dXJuIHRoaXMuc3lzdGVtXG4gICAgICAuZ2V0T2JqZWN0VHlwZUZvcm0odHlwZS5uYW1lLCAnRURJVCcpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGZvcm0gPT4ge1xuICAgICAgICAgIGxldCBpbmRleERhdGFQcmV2aWV3ID0ge1xuICAgICAgICAgICAgZm9ybSxcbiAgICAgICAgICAgIGRhdGE6IGZvcm1EYXRhIHx8IGRhdGFcbiAgICAgICAgICB9O1xuICAgICAgICAgIGxldCBiYXNlcGFyYW1zOiBCYXNlUGFyYW1zID0ge1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICB0eXBlOiB0eXBlLm5hbWUsXG4gICAgICAgICAgICBjcmVhdGVkT246IG5ldyBEYXRlKGNyZWF0ZWQub24pLFxuICAgICAgICAgICAgbW9kaWZpZWRPbjogbmV3IERhdGUobW9kaWZpZWQub24pLFxuICAgICAgICAgICAgY3JlYXRlZEJ5OiBgJHtjcmVhdGVkLmJ5LnRpdGxlfSAoJHtjcmVhdGVkLmJ5Lm5hbWV9KWAsXG4gICAgICAgICAgICBtb2RpZmllZEJ5OiBgJHttb2RpZmllZC5ieS50aXRsZX0gKCR7bW9kaWZpZWQuYnkubmFtZX0pYCxcbiAgICAgICAgICAgIGNvbnRlbnRGaWxlTmFtZTogY29udGVudEZpbGVOYW1lID8gY29udGVudEZpbGVOYW1lIDogbnVsbCxcbiAgICAgICAgICAgIGNvbnRlbnRGaWxlU2l6ZTogY29udGVudEZpbGVTaXplID8gTnVtYmVyKGNvbnRlbnRGaWxlU2l6ZSkgOiBudWxsLFxuICAgICAgICAgICAgdmVyc2lvbjogdmVyc2lvbiB8fCAwLFxuICAgICAgICAgICAgbWltZUdyb3VwOiBjb250ZW50ID8gY29udGVudC5jb250ZW50cyA/IGNvbnRlbnQuY29udGVudHNbMF0ubWltZWdyb3VwIDogbnVsbCA6IG51bGwsXG4gICAgICAgICAgICBkaWdlc3Q6IGNvbnRlbnQgPyBjb250ZW50LmNvbnRlbnRzID8gY29udGVudC5jb250ZW50c1swXS5kaWdlc3QgOiBudWxsIDogbnVsbCxcbiAgICAgICAgICAgIGNvbnRlbnRJZDogY29udGVudCA/IGNvbnRlbnQuY29udGVudHMgPyBjb250ZW50LmlkIDogbnVsbCA6IG51bGwsXG4gICAgICAgICAgICBtaW1lVHlwZTogY29udGVudCA/IGNvbnRlbnQuY29udGVudHMgPyBjb250ZW50LmNvbnRlbnRzWzBdLm1pbWV0eXBlIDogbnVsbCA6IG51bGwsXG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4ge2luZGV4RGF0YVByZXZpZXcsIGJhc2VwYXJhbXN9O1xuICAgICAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIG9uSGFzRXJyb3IoaGFzRXJyb3IgPSBmYWxzZSwgbm9kbXNvYmplY3QgPSBmYWxzZSwgc2hvd0xvYWRlciA9IGZhbHNlKSB7XG4gICAgdGhpcy5oYXNFcnJvciA9IGhhc0Vycm9yO1xuICAgIHRoaXMubm9kbXNvYmplY3QgPSBub2Rtc29iamVjdDtcbiAgICB0aGlzLnNob3dMb2FkZXIgPSBzaG93TG9hZGVyO1xuICAgIHRoaXMuaGFzQ29udGVudC5lbWl0KCFoYXNFcnJvcik7XG4gIH1cblxuICBsb2FkRG1zT2JqZWN0KHBhcmFtczogRG1zUGFyYW1zKSB7XG4gICAgaWYgKHBhcmFtcykge1xuICAgICAgZGVsZXRlIHBhcmFtcy52ZXJzaW9uO1xuICAgIH1cbiAgICAvLyBjaGVjayBmb3IgdmFsaWQgaWRcbiAgICByZXR1cm4gcGFyYW1zPy5pZD8ubGVuZ3RoID09PSAzMiA/IHRoaXMuZG1zU2VydmljZS5nZXREbXNPYmplY3RCeVBhcmFtcyhwYXJhbXMpIDogb2YobnVsbCk7XG4gIH1cblxuICBkb3dubG9hZE9yaWdpbmFsQ29udGVudCgpIHtcbiAgICB0aGlzLmJhY2tlbmQuZG93bmxvYWRDb250ZW50KFt0aGlzLml0ZW1dLCBudWxsLCBmYWxzZSwgdHJ1ZSk7XG4gIH1cblxuICAvLyBleGVjdXRlZCB3aGVuIHRoZSBkbXMgb2JqZWN0IGNoYW5nZWQgZHVlIHRvIHNhdmluZyBpdHMgaW5kZXhkYXRhXG4gIG9uSW5kZXhEYXRhU2F2ZWQoZm9ybURhdGEsIGl0ZW0pIHtcbiAgICBpZiAoIXRoaXMuaXRlbSkge1xuICAgICAgdGhpcy5pbmRleERhdGFQcmV2aWV3ID0gbnVsbDtcbiAgICAgIHRoaXMuYmFzZXBhcmFtcyA9IG51bGw7XG4gICAgfVxuICAgIGlmICghdGhpcy5pdGVtMikge1xuICAgICAgdGhpcy5pbmRleERhdGFQcmV2aWV3MiA9IG51bGw7XG4gICAgICB0aGlzLmJhc2VwYXJhbXMyID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHRoaXMucHJlcGFyZUluZGV4RGF0YVByZXZpZXcoaXRlbSwgZm9ybURhdGEpXG4gICAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0gPT09IHRoaXMuaXRlbSkge1xuICAgICAgICAgICAgdGhpcy5pbmRleERhdGFQcmV2aWV3ID0gZGF0YS5pbmRleERhdGFQcmV2aWV3O1xuICAgICAgICAgICAgdGhpcy5iYXNlcGFyYW1zID0gZGF0YS5iYXNlcGFyYW1zO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4RGF0YVByZXZpZXcyID0gZGF0YS5pbmRleERhdGFQcmV2aWV3O1xuICAgICAgICAgICAgdGhpcy5iYXNlcGFyYW1zMiA9IGRhdGEuYmFzZXBhcmFtcztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlzVmlzaWJsZShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucGFuZWxPcmRlci5tYXN0ZXIuaW5jbHVkZXMoaWQpIHx8IHRoaXMucGFuZWxPcmRlci5zbGF2ZS5pbmNsdWRlcyhpZCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNhcGFiaWxpdGllcyA9IHRoaXMuY2FwYWJpbGl0eVNlcnZpY2UuZ2V0Q2FwYWJpbGl0aWVzKCk7XG4gICAgdGhpcy51cGRhdGVDb250ZW50KCk7XG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfVVBEQVRFRClcbiAgICAgIC5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudC5kYXRhICYmIHRoaXMuaXRlbS5pZCA9PT0gZXZlbnQuZGF0YS5pZCkge1xuICAgICAgICAgIHRoaXMuZG1zT2JqZWN0ID0gdGhpcy5kbXNTZXJ2aWNlLmNyZWF0ZUxvY2FsQ29weU9mRE1TT2JqZWN0KGV2ZW50LmRhdGEpO1xuICAgICAgICAgIGlmICh0aGlzLnByZXZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMucHJldmlldy5yZWZyZXNoKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJzaG93TG9hZGVyXCI+XG4gICAgPGVvLWxvYWRpbmctc3Bpbm5lciBjbGFzcz1cInJlY3ljbGViaW4tZGV0YWlsX19sb2FkZXJcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0gJiYgIWhhc0Vycm9yXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZCBlby1oZWFkLXRhYnNcIj5cbiAgICAgICAgPGhlYWRlciBjbGFzcz1cImVvLWhlYWRlclwiPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJlby1oZWFkZXItaWNvblwiIFtvYmplY3RUeXBlXT1cIml0ZW0udHlwZVwiIFtpY29uVGl0bGVdPVwiaXRlbS50eXBlLmxhYmVsXCI+PC9lby1pY29uPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWluZm9cIj5cbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJlby1oZWFkZXItdGl0bGVcIj57e2l0ZW0udGl0bGV9fTwvaDI+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiZW8taGVhZGVyLXN1YnRpdGxlXCI+e3tpdGVtLmRlc2NyaXB0aW9ufX08L2gzPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPGVvLWljb24gKm5nSWY9XCJpdGVtLmNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfY29udGVudC1kb3dubG9hZC5zdmcnXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLmFjdGlvbi5kb3dubG9hZC5kbXMub2JqZWN0LmNvbnRlbnQubGFiZWwnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZE9yaWdpbmFsQ29udGVudCgpXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uXCIgW25nQ2xhc3NdPVwie2Rpc2FibGVkOiAhdGhpcy5pdGVtLnJpZ2h0cy5kZWxldGV9XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfdHJhc2guc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwidGhpcy5pdGVtLnJpZ2h0cy5kZWxldGUgPyAoJ2VvLnJlY3ljbGViaW4uZGV0YWlscy5kZWxldGUudG9vbHRpcCcgfCB0cmFuc2xhdGUpIDogKCdlby5yZWN5Y2xlYmluLmRldGFpbHMuZGVsZXRlLmRpc2FibGVkLnRvb2x0aXAnIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93RGlhbG9nKCk7XCI+PC9lby1pY29uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInJlc3RvcmVGaWxlKClcIiB0cmFuc2xhdGU+ZW8ucmVjeWNsZWJpbi5kZXRhaWxzLnJlc3RvcmU8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJyZXN0b3JlRmlsZSh0cnVlKVwiIGNsYXNzPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT5lby5yZWN5Y2xlYmluLmRldGFpbHMucmVzdG9yZW9wZW48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2hlYWRlcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZW8tYm9keVwiPlxuICAgICAgICA8eXZjLXNwbGl0LXRhYnM+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbeXZjVGFiXT1cIntpZDogJ3N1bW1hcnknLCBsYWJlbDogJ2VvLm9iamVjdC5zdW1tYXJ5LnRpdGxlJyB8IHRyYW5zbGF0ZX1cIj5cbiAgICAgICAgICAgICAgICA8ZW8taW5kZXhkYXRhLXN1bW1hcnkgW2luZGV4ZGF0YV09XCJpbmRleERhdGFQcmV2aWV3XCIgW2Jhc2VwYXJhbXNdPVwiYmFzZXBhcmFtc1wiXG4gICAgICAgICAgICAgICAgICAgIFtkbXNPYmplY3RdPVwiaXRlbVwiPjwvZW8taW5kZXhkYXRhLXN1bW1hcnk+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW3l2Y1RhYl09XCJ7aWQ6ICdwcmV2aWV3JywgbGFiZWw6ICdlby5vYmplY3QuY29udGVudC50aXRsZScgfCB0cmFuc2xhdGV9XCI+XG4gICAgICAgICAgICAgICAgPGVvLW1lZGlhICpuZ0lmPVwiaXRlbVwiIFt1c2VWZXJzaW9uXT1cIml0ZW0uaWQgPT09IGl0ZW0uY29udGVudD8uaWRcIiBbZG1zT2JqZWN0XT1cIml0ZW1cIiAjdmlld2VyPjwvZW8tbWVkaWE+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1Zpc2libGUoJ2hpc3RvcnknKVwiXG4gICAgICAgICAgICAgICAgW3l2Y1RhYl09XCJ7aWQ6ICdoaXN0b3J5JywgbGFiZWw6ICdlby5vYmplY3QuaGlzdG9yeS50aXRsZScgfCB0cmFuc2xhdGV9XCI+XG4gICAgICAgICAgICAgICAgPGVvLW9iamVjdC1oaXN0b3J5IFtwYXJhbXNdPVwie2lkOiBpdGVtLmlkLCB0eXBlOiBpdGVtLnR5cGU/LnFuYW1lfVwiPlxuICAgICAgICAgICAgICAgIDwvZW8tb2JqZWN0LWhpc3Rvcnk+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8IS0tIHBsdWdpbiB0YWJzIC0tPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0Zvcj1cImxldCBwIG9mIHBsdWdpbnNcIiBbeXZjVGFiXT1cIntpZDogcC5pZCwgbGFiZWw6IHAuaWQgfCB0cmFuc2xhdGV9XCI+XG4gICAgICAgICAgICAgICAgPGVvLXBsdWdpbiBbaWRdPVwicC5pZFwiIFtwYXJlbnRdPVwidGhpc1wiPjwvZW8tcGx1Z2luPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC95dmMtc3BsaXQtdGFicz5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZW8tZGlhbG9nIFt0aXRsZV09XCInZW8ucmVjeWNsZWJpbi5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cudGl0bGUnIHwgdHJhbnNsYXRlXCIgWyh2aXNpYmxlKV09XCJzaG93RGVsZXRlRGlhbG9nXCJcbiAgICBbZm9jdXNPblNob3ddPVwiZmFsc2VcIiBbbWluV2lkdGhdPVwiNDAwXCIgW3N0eWxlQ2xhc3NdPVwiJ3JlY3ljbGViaW4tZGVsZXRlX19kaWFsb2cnXCI+XG5cbiAgICA8ZGl2PlxuICAgICAgICA8c3Bhbj57eydlby5yZWN5Y2xlYmluLmRldGFpbHMuZGVsZXRlLmRpYWxvZy5tZXNzYWdlJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8YnI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicmVjeWNsZWJpbi1kZWxldGVfX2RpYWxvZ193YXJuaW5nXCI+e3snZW8ucmVjeWNsZWJpbi5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cubWVzc2FnZS53YXJuaW5nJyB8XG4gICAgICAgICAgICB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWJ1dHRvbnMgZmxleC1yb3dcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gY2FuY2VsXCIgKGNsaWNrKT1cInNob3dEZWxldGVEaWFsb2cgPSBmYWxzZVwiXG4gICAgICAgICAgICB0cmFuc2xhdGU+ZW8ucmVjeWNsZWJpbi5kZXRhaWxzLmRlbGV0ZS5kaWFsb2cuY2FuY2VsPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNjb25maXJtRGVsZXRlIChjbGljayk9XCJkZWxldGVEbXNPYmplY3QoKVwiIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIlxuICAgICAgICAgICAgdHJhbnNsYXRlPmVvLnJlY3ljbGViaW4uZGV0YWlscy5kZWxldGUuZGlhbG9nLmRlbGV0ZTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9lby1kaWFsb2c+XG4iXX0=