UNPKG

systelab-components

Version:

systelab-components is a set of components that use wide accepted and adopted standard technologies like Angular and Bootstrap, as well as other popular libraries. Please read the ATTRIBUTION.md file for a complete list of dependencies.

75 lines 39.6 kB
import { AbstractComboBox } from '../combobox/abstract-combobox.component'; import { Component, Input } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "systelab-translate"; import * as i2 from "@angular/common"; import * as i3 from "@angular/forms"; import * as i4 from "ag-grid-angular"; import * as i5 from "../combobox/renderer/combobox-input-renderer.component"; class Element { constructor(id, description) { this.id = id; this.description = description; } } export class TimeUnitSelectComponent extends AbstractComboBox { constructor(myRenderer, chRef, i18nService) { super(myRenderer, chRef); this.myRenderer = myRenderer; this.chRef = chRef; this.i18nService = i18nService; this.showEmptyOption = false; this.showMinutesOption = false; this.showHoursOption = false; this.showWeeksOption = false; } ngAfterViewInit() { const elements = new Array(); if (this.showEmptyOption) { elements.push(new Element('', '')); } if (this.showMinutesOption) { elements.push(new Element(this.i18nService.instant('COMMON_MINUTES'), this.i18nService.instant('COMMON_MINUTES'))); } if (this.showHoursOption) { elements.push(new Element(this.i18nService.instant('COMMON_HOURS'), this.i18nService.instant('COMMON_HOURS'))); } elements.push(new Element(this.i18nService.instant('COMMON_DAYS'), this.i18nService.instant('COMMON_DAYS'))); if (this.showWeeksOption) { elements.push(new Element(this.i18nService.instant('COMMON_WEEKS'), this.i18nService.instant('COMMON_WEEKS'))); } elements.push(new Element(this.i18nService.instant('COMMON_MONTHS'), this.i18nService.instant('COMMON_MONTHS'))); elements.push(new Element(this.i18nService.instant('COMMON_YEARS'), this.i18nService.instant('COMMON_YEARS'))); if (!this.id) { this._id = ''; } this.values = elements; } getInstance() { return new Element('', ''); } getDescriptionField() { return 'description'; } getCodeField() { return ''; } getIdField() { return 'id'; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TimeUnitSelectComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: TimeUnitSelectComponent, selector: "systelab-time-unit-select", inputs: { showEmptyOption: "showEmptyOption", showMinutesOption: "showMinutesOption", showHoursOption: "showHoursOption", showWeeksOption: "showWeeksOption" }, usesInheritance: true, ngImport: i0, template: "<div #combobox class=\"dropdown slab-combobox d-flex w-100\" [ngClass]=\"{'disabled': isDisabled}\">\n <div #dropdowntoogle class=\"slab-flex-1 d-flex dropdown-toggle slab-dropdown-toogle\" id=\"{{comboId}}\"\n data-toggle=\"dropdown\" (click)=\"onComboClicked($event)\" (keydown.arrowDown)=\"onComboKeyArrowDown($event)\"\n (keydown.arrowUp)=\"onComboKeyArrowUp($event)\">\n <input *ngIf=\"!customInputRenderer\" #input [readonly]=\"!allowEditInput\" type=\"text\"\n class=\"slab-flex-1 slab-combo-label slab-combo-input\"\n [tabindex]=\"tabindex\"\n [ngStyle]=\"getInputHeight()\" [style.font-family]=\"fontFamily\" [style.font-size.px]=\"fontSize\"\n [style.font-weight]=\"fontWeight\" [style.font-style]=\"fontStyle\"\n [(ngModel)]=\"description\" [disabled]=\"isDisabled\" [style.color]=\"inputColor\"/>\n <div *ngIf=\"customInputRenderer\" #input readonly type=\"text\"\n class=\"slab-flex-1 slab-combo-input combobox-input-renderer\" [ngStyle]=\"getInputHeight()\"\n [style.font-family]=\"fontFamily\" [style.font-size.px]=\"fontSize\" [style.font-weight]=\"fontWeight\"\n [style.font-style]=\"fontStyle\" [style.color]=\"inputColor\"\n [tabindex]=\"tabindex\">\n <combobox-input-renderer [componentType]=\"customInputRenderer\" [id]=\"id\" [description]=\"description\"\n [initialParams]=\"initialParams\"\n [selectedData]=\"currentSelected\"></combobox-input-renderer>\n </div>\n <button *ngIf=\"withDeleteOption && id && (id !== defaultIdValue)\" type=\"button\" #deleteButton\n class=\"slab-combo-button border-right-0 rounded-0 {{deleteIconClass}}\" (click)=\"deleteValueSelected($event)\"\n tabindex=\"-1\"></button>\n <button *ngIf=\"withIcon && id\" class=\"slab-combo-button border-right-0 rounded-0 {{iconClass}}\"\n [style.color]=\"iconColor\" tabindex=\"-1\"></button>\n <button type=\"button\" *ngIf=\"withFavourites && id!==null && (!isTree || (isTree && level))\" #favouriteButton\n class=\"slab-combo-button slab-combo-star border-right-0 rounded-0 text-primary\"\n [ngClass]=\"{'icon-star': isFavourite, 'icon-star-o': !isFavourite }\" (click)=\"doToggleFavourite($event)\"\n tabindex=\"-1\"></button>\n <button type=\"button\" #combobutton class=\"slab-combo-button slab-combo-button-icon\" [disabled]=\"isDisabled\"\n tabindex=\"-1\"></button>\n </div>\n\n <div #dropdownmenu class=\"dropdown-menu slab-combo-dropdown\" (click)=\"clickDropDownMenu($event)\"\n [ngClass]=\"{'disabled': isDisabled}\">\n <div #dropdown id=\"slab-combo-dropdown-box\" class=\"slab-combo-dropdown-box d-flex flex-column\">\n <div *ngIf=\"filter\" class=\"slab-filter-container\" [style.font-family]=\"fontFamily\"\n [style.font-size.px]=\"fontSize\" [style.font-weight]=\"fontWeight\" [tabindex]=\"tabindex\"\n [style.font-style]=\"fontStyle\">\n <input class=\"w-100 border rounded\" [value]=\"filterValue\" #filterInput (keyup)=\"doSearch($event)\">\n </div>\n <div *ngIf=\"selectDeselectAll\" class=\"slab-filter-container mb-2\">\n <div class=\"w-100 text-center btn-group\" role=\"group\">\n <button type=\"button\" class=\"btn btn-sm w-50\"\n (click)=\"doSelectAll()\">{{'COMMON_SELECT_ALL' | translate | async }}</button>\n <button type=\"button\" class=\"btn btn-sm w-50\"\n (click)=\"doDeselectAll()\">{{'COMMON_DESELECT_ALL' | translate | async }}</button>\n </div>\n </div>\n <div #hidden class=\"height-hidden\"></div>\n <div class=\"slab-flex-1 position-relative\">\n <ag-grid-angular *ngIf=\"isDropdownOpened\" #grid id=\"agGrid\" #agGrid style=\"width: 100%; height: 100%;\"\n [style.font-family]=\"fontFamily\"\n [style.font-size.px]=\"fontSize\" [style.font-weight]=\"fontWeight\"\n [style.font-style]=\"fontStyle\" class=\"ag-theme-fresh\"\n [gridOptions]=\"gridOptions\" (selectionChanged)=\"onSelectionChanged($event)\"\n (modelUpdated)=\"onModelUpdated()\"\n (rowSelected)=\"onRowSelected($event)\" (gridReady)=\"doGridReady()\"\n (cellKeyDown)=\"onCellKeyDown($event)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"listSelectedValues && multipleSelection\">\n <ul class=\"ml-1 mt-2 mb-0 pl-0\" *ngIf=\"multipleSelectedItemList.length < 8\">\n <li class=\"slab-combo-badge badge badge-primary mr-1 p-2\" role=\"badge\"\n *ngFor=\"let item of multipleSelectedItemList\"><span\n class=\"float-left mr-2\">{{item.description}}</span>\n <button data-dismiss=\"badge\" type=\"button\" class=\"close\" (click)=\"removeItem(item)\" aria-label=\"Close\"\n tabindex=\"-1\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </li>\n </ul>\n <ul class=\"ml-1 mt-2 pl-0\" *ngIf=\"multipleSelectedItemList.length > 7\">\n <li class=\"slab-combo-badge badge badge-primary mr-1 p-2\"\n role=\"badge\">{{'COMMON_SELECTED_ITEMS' | translate | async }}\n <span class=\"badge badge-light\">{{multipleSelectedItemList.length}}</span>\n </li>\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: i5.ComboBoxInputRendererComponent, selector: "combobox-input-renderer", inputs: ["componentType", "id", "description", "selectedData", "initialParams"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.GeneralTranslatePipe, name: "translate" }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TimeUnitSelectComponent, decorators: [{ type: Component, args: [{ selector: 'systelab-time-unit-select', template: "<div #combobox class=\"dropdown slab-combobox d-flex w-100\" [ngClass]=\"{'disabled': isDisabled}\">\n <div #dropdowntoogle class=\"slab-flex-1 d-flex dropdown-toggle slab-dropdown-toogle\" id=\"{{comboId}}\"\n data-toggle=\"dropdown\" (click)=\"onComboClicked($event)\" (keydown.arrowDown)=\"onComboKeyArrowDown($event)\"\n (keydown.arrowUp)=\"onComboKeyArrowUp($event)\">\n <input *ngIf=\"!customInputRenderer\" #input [readonly]=\"!allowEditInput\" type=\"text\"\n class=\"slab-flex-1 slab-combo-label slab-combo-input\"\n [tabindex]=\"tabindex\"\n [ngStyle]=\"getInputHeight()\" [style.font-family]=\"fontFamily\" [style.font-size.px]=\"fontSize\"\n [style.font-weight]=\"fontWeight\" [style.font-style]=\"fontStyle\"\n [(ngModel)]=\"description\" [disabled]=\"isDisabled\" [style.color]=\"inputColor\"/>\n <div *ngIf=\"customInputRenderer\" #input readonly type=\"text\"\n class=\"slab-flex-1 slab-combo-input combobox-input-renderer\" [ngStyle]=\"getInputHeight()\"\n [style.font-family]=\"fontFamily\" [style.font-size.px]=\"fontSize\" [style.font-weight]=\"fontWeight\"\n [style.font-style]=\"fontStyle\" [style.color]=\"inputColor\"\n [tabindex]=\"tabindex\">\n <combobox-input-renderer [componentType]=\"customInputRenderer\" [id]=\"id\" [description]=\"description\"\n [initialParams]=\"initialParams\"\n [selectedData]=\"currentSelected\"></combobox-input-renderer>\n </div>\n <button *ngIf=\"withDeleteOption && id && (id !== defaultIdValue)\" type=\"button\" #deleteButton\n class=\"slab-combo-button border-right-0 rounded-0 {{deleteIconClass}}\" (click)=\"deleteValueSelected($event)\"\n tabindex=\"-1\"></button>\n <button *ngIf=\"withIcon && id\" class=\"slab-combo-button border-right-0 rounded-0 {{iconClass}}\"\n [style.color]=\"iconColor\" tabindex=\"-1\"></button>\n <button type=\"button\" *ngIf=\"withFavourites && id!==null && (!isTree || (isTree && level))\" #favouriteButton\n class=\"slab-combo-button slab-combo-star border-right-0 rounded-0 text-primary\"\n [ngClass]=\"{'icon-star': isFavourite, 'icon-star-o': !isFavourite }\" (click)=\"doToggleFavourite($event)\"\n tabindex=\"-1\"></button>\n <button type=\"button\" #combobutton class=\"slab-combo-button slab-combo-button-icon\" [disabled]=\"isDisabled\"\n tabindex=\"-1\"></button>\n </div>\n\n <div #dropdownmenu class=\"dropdown-menu slab-combo-dropdown\" (click)=\"clickDropDownMenu($event)\"\n [ngClass]=\"{'disabled': isDisabled}\">\n <div #dropdown id=\"slab-combo-dropdown-box\" class=\"slab-combo-dropdown-box d-flex flex-column\">\n <div *ngIf=\"filter\" class=\"slab-filter-container\" [style.font-family]=\"fontFamily\"\n [style.font-size.px]=\"fontSize\" [style.font-weight]=\"fontWeight\" [tabindex]=\"tabindex\"\n [style.font-style]=\"fontStyle\">\n <input class=\"w-100 border rounded\" [value]=\"filterValue\" #filterInput (keyup)=\"doSearch($event)\">\n </div>\n <div *ngIf=\"selectDeselectAll\" class=\"slab-filter-container mb-2\">\n <div class=\"w-100 text-center btn-group\" role=\"group\">\n <button type=\"button\" class=\"btn btn-sm w-50\"\n (click)=\"doSelectAll()\">{{'COMMON_SELECT_ALL' | translate | async }}</button>\n <button type=\"button\" class=\"btn btn-sm w-50\"\n (click)=\"doDeselectAll()\">{{'COMMON_DESELECT_ALL' | translate | async }}</button>\n </div>\n </div>\n <div #hidden class=\"height-hidden\"></div>\n <div class=\"slab-flex-1 position-relative\">\n <ag-grid-angular *ngIf=\"isDropdownOpened\" #grid id=\"agGrid\" #agGrid style=\"width: 100%; height: 100%;\"\n [style.font-family]=\"fontFamily\"\n [style.font-size.px]=\"fontSize\" [style.font-weight]=\"fontWeight\"\n [style.font-style]=\"fontStyle\" class=\"ag-theme-fresh\"\n [gridOptions]=\"gridOptions\" (selectionChanged)=\"onSelectionChanged($event)\"\n (modelUpdated)=\"onModelUpdated()\"\n (rowSelected)=\"onRowSelected($event)\" (gridReady)=\"doGridReady()\"\n (cellKeyDown)=\"onCellKeyDown($event)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"listSelectedValues && multipleSelection\">\n <ul class=\"ml-1 mt-2 mb-0 pl-0\" *ngIf=\"multipleSelectedItemList.length < 8\">\n <li class=\"slab-combo-badge badge badge-primary mr-1 p-2\" role=\"badge\"\n *ngFor=\"let item of multipleSelectedItemList\"><span\n class=\"float-left mr-2\">{{item.description}}</span>\n <button data-dismiss=\"badge\" type=\"button\" class=\"close\" (click)=\"removeItem(item)\" aria-label=\"Close\"\n tabindex=\"-1\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </li>\n </ul>\n <ul class=\"ml-1 mt-2 pl-0\" *ngIf=\"multipleSelectedItemList.length > 7\">\n <li class=\"slab-combo-badge badge badge-primary mr-1 p-2\"\n role=\"badge\">{{'COMMON_SELECTED_ITEMS' | translate | async }}\n <span class=\"badge badge-light\">{{multipleSelectedItemList.length}}</span>\n </li>\n </ul>\n</div>\n" }] }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.I18nService }], propDecorators: { showEmptyOption: [{ type: Input }], showMinutesOption: [{ type: Input }], showHoursOption: [{ type: Input }], showWeeksOption: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS11bml0LWNvbWJvYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5c3RlbGFiLWNvbXBvbmVudHMvc3JjL2xpYi9zZWxlY3QvdGltZS11bml0LWNvbWJvYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5c3RlbGFiLWNvbXBvbmVudHMvc3JjL2xpYi9jb21ib2JveC9hYnN0cmFjdC1jb21ib2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQW9DLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFHOUYsTUFBTSxPQUFPO0lBQ1osWUFBbUIsRUFBVSxFQUFTLFdBQW1CO1FBQXRDLE9BQUUsR0FBRixFQUFFLENBQVE7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUV6RCxDQUFDO0NBQ0Q7QUFPRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZ0JBQXlCO0lBT3JFLFlBQTRCLFVBQXFCLEVBQWtCLEtBQXdCLEVBQVMsV0FBd0I7UUFDM0gsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQURFLGVBQVUsR0FBVixVQUFVLENBQVc7UUFBa0IsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUw1RyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFJeEMsQ0FBQztJQUVNLGVBQWU7UUFDckIsTUFBTSxRQUFRLEdBQUcsSUFBSSxLQUFLLEVBQVcsQ0FBQztRQUN0QyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekIsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNuQztRQUNELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzNCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuSDtRQUNELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN6QixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvRztRQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdHLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN6QixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvRztRQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pILFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9HLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7U0FDZDtRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1YsT0FBTyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELG1CQUFtQjtRQUNsQixPQUFPLGFBQWEsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNYLE9BQU8sRUFBRSxDQUFDO0lBQ1gsQ0FBQztJQUVELFVBQVU7UUFDVCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7OEdBbERXLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHdQQ2ZwQyw0dExBa0ZBOzsyRkRuRWEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNJLDJCQUEyQjt3SUFNeEIsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb21ib0JveCB9IGZyb20gJy4uL2NvbWJvYm94L2Fic3RyYWN0LWNvbWJvYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJ3N5c3RlbGFiLXRyYW5zbGF0ZSc7XG5cbmNsYXNzIEVsZW1lbnQge1xuXHRjb25zdHJ1Y3RvcihwdWJsaWMgaWQ6IHN0cmluZywgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcpIHtcblxuXHR9XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogICAgJ3N5c3RlbGFiLXRpbWUtdW5pdC1zZWxlY3QnLFxuXHR0ZW1wbGF0ZVVybDogJy4uL2NvbWJvYm94L2Fic3RyYWN0LWNvbWJvYm94LmNvbXBvbmVudC5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIFRpbWVVbml0U2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RDb21ib0JveDxFbGVtZW50PiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG5cdEBJbnB1dCgpIHB1YmxpYyBzaG93RW1wdHlPcHRpb24gPSBmYWxzZTtcblx0QElucHV0KCkgcHVibGljIHNob3dNaW51dGVzT3B0aW9uID0gZmFsc2U7XG5cdEBJbnB1dCgpIHB1YmxpYyBzaG93SG91cnNPcHRpb24gPSBmYWxzZTtcblx0QElucHV0KCkgcHVibGljIHNob3dXZWVrc09wdGlvbiA9IGZhbHNlO1xuXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyBvdmVycmlkZSBteVJlbmRlcmVyOiBSZW5kZXJlcjIsIHB1YmxpYyBvdmVycmlkZSBjaFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBpMThuU2VydmljZTogSTE4blNlcnZpY2UpIHtcblx0XHRzdXBlcihteVJlbmRlcmVyLCBjaFJlZik7XG5cdH1cblxuXHRwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdGNvbnN0IGVsZW1lbnRzID0gbmV3IEFycmF5PEVsZW1lbnQ+KCk7XG5cdFx0aWYgKHRoaXMuc2hvd0VtcHR5T3B0aW9uKSB7XG5cdFx0XHRlbGVtZW50cy5wdXNoKG5ldyBFbGVtZW50KCcnLCAnJykpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5zaG93TWludXRlc09wdGlvbikge1xuXHRcdFx0ZWxlbWVudHMucHVzaChuZXcgRWxlbWVudCh0aGlzLmkxOG5TZXJ2aWNlLmluc3RhbnQoJ0NPTU1PTl9NSU5VVEVTJyksIHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCgnQ09NTU9OX01JTlVURVMnKSkpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5zaG93SG91cnNPcHRpb24pIHtcblx0XHRcdGVsZW1lbnRzLnB1c2gobmV3IEVsZW1lbnQodGhpcy5pMThuU2VydmljZS5pbnN0YW50KCdDT01NT05fSE9VUlMnKSwgdGhpcy5pMThuU2VydmljZS5pbnN0YW50KCdDT01NT05fSE9VUlMnKSkpO1xuXHRcdH1cblx0XHRlbGVtZW50cy5wdXNoKG5ldyBFbGVtZW50KHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCgnQ09NTU9OX0RBWVMnKSwgdGhpcy5pMThuU2VydmljZS5pbnN0YW50KCdDT01NT05fREFZUycpKSk7XG5cdFx0aWYgKHRoaXMuc2hvd1dlZWtzT3B0aW9uKSB7XG5cdFx0XHRlbGVtZW50cy5wdXNoKG5ldyBFbGVtZW50KHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCgnQ09NTU9OX1dFRUtTJyksIHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCgnQ09NTU9OX1dFRUtTJykpKTtcblx0XHR9XG5cdFx0ZWxlbWVudHMucHVzaChuZXcgRWxlbWVudCh0aGlzLmkxOG5TZXJ2aWNlLmluc3RhbnQoJ0NPTU1PTl9NT05USFMnKSwgdGhpcy5pMThuU2VydmljZS5pbnN0YW50KCdDT01NT05fTU9OVEhTJykpKTtcblx0XHRlbGVtZW50cy5wdXNoKG5ldyBFbGVtZW50KHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCgnQ09NTU9OX1lFQVJTJyksIHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCgnQ09NTU9OX1lFQVJTJykpKTtcblxuXHRcdGlmICghdGhpcy5pZCkge1xuXHRcdFx0dGhpcy5faWQgPSAnJztcblx0XHR9XG5cblx0XHR0aGlzLnZhbHVlcyA9IGVsZW1lbnRzO1xuXHR9XG5cblx0Z2V0SW5zdGFuY2UoKTogRWxlbWVudCB7XG5cdFx0cmV0dXJuIG5ldyBFbGVtZW50KCcnLCAnJyk7XG5cdH1cblxuXHRnZXREZXNjcmlwdGlvbkZpZWxkKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuICdkZXNjcmlwdGlvbic7XG5cdH1cblxuXHRnZXRDb2RlRmllbGQoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gJyc7XG5cdH1cblxuXHRnZXRJZEZpZWxkKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuICdpZCc7XG5cdH1cblxufVxuIiwiPGRpdiAjY29tYm9ib3ggY2xhc3M9XCJkcm9wZG93biBzbGFiLWNvbWJvYm94IGQtZmxleCB3LTEwMFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOiBpc0Rpc2FibGVkfVwiPlxuICAgIDxkaXYgI2Ryb3Bkb3dudG9vZ2xlIGNsYXNzPVwic2xhYi1mbGV4LTEgZC1mbGV4IGRyb3Bkb3duLXRvZ2dsZSBzbGFiLWRyb3Bkb3duLXRvb2dsZVwiIGlkPVwie3tjb21ib0lkfX1cIlxuICAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiIChjbGljayk9XCJvbkNvbWJvQ2xpY2tlZCgkZXZlbnQpXCIgKGtleWRvd24uYXJyb3dEb3duKT1cIm9uQ29tYm9LZXlBcnJvd0Rvd24oJGV2ZW50KVwiXG4gICAgICAgICAoa2V5ZG93bi5hcnJvd1VwKT1cIm9uQ29tYm9LZXlBcnJvd1VwKCRldmVudClcIj5cbiAgICAgICAgPGlucHV0ICpuZ0lmPVwiIWN1c3RvbUlucHV0UmVuZGVyZXJcIiAjaW5wdXQgW3JlYWRvbmx5XT1cIiFhbGxvd0VkaXRJbnB1dFwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgIGNsYXNzPVwic2xhYi1mbGV4LTEgc2xhYi1jb21iby1sYWJlbCBzbGFiLWNvbWJvLWlucHV0XCJcbiAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICAgICBbbmdTdHlsZV09XCJnZXRJbnB1dEhlaWdodCgpXCIgW3N0eWxlLmZvbnQtZmFtaWx5XT1cImZvbnRGYW1pbHlcIiBbc3R5bGUuZm9udC1zaXplLnB4XT1cImZvbnRTaXplXCJcbiAgICAgICAgICAgICAgIFtzdHlsZS5mb250LXdlaWdodF09XCJmb250V2VpZ2h0XCIgW3N0eWxlLmZvbnQtc3R5bGVdPVwiZm9udFN0eWxlXCJcbiAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZGVzY3JpcHRpb25cIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiIFtzdHlsZS5jb2xvcl09XCJpbnB1dENvbG9yXCIvPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VzdG9tSW5wdXRSZW5kZXJlclwiICNpbnB1dCByZWFkb25seSB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgY2xhc3M9XCJzbGFiLWZsZXgtMSBzbGFiLWNvbWJvLWlucHV0IGNvbWJvYm94LWlucHV0LXJlbmRlcmVyXCIgW25nU3R5bGVdPVwiZ2V0SW5wdXRIZWlnaHQoKVwiXG4gICAgICAgICAgICAgW3N0eWxlLmZvbnQtZmFtaWx5XT1cImZvbnRGYW1pbHlcIiBbc3R5bGUuZm9udC1zaXplLnB4XT1cImZvbnRTaXplXCIgW3N0eWxlLmZvbnQtd2VpZ2h0XT1cImZvbnRXZWlnaHRcIlxuICAgICAgICAgICAgIFtzdHlsZS5mb250LXN0eWxlXT1cImZvbnRTdHlsZVwiIFtzdHlsZS5jb2xvcl09XCJpbnB1dENvbG9yXCJcbiAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIj5cbiAgICAgICAgICAgIDxjb21ib2JveC1pbnB1dC1yZW5kZXJlciBbY29tcG9uZW50VHlwZV09XCJjdXN0b21JbnB1dFJlbmRlcmVyXCIgW2lkXT1cImlkXCIgW2Rlc2NyaXB0aW9uXT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5pdGlhbFBhcmFtc109XCJpbml0aWFsUGFyYW1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWREYXRhXT1cImN1cnJlbnRTZWxlY3RlZFwiPjwvY29tYm9ib3gtaW5wdXQtcmVuZGVyZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwid2l0aERlbGV0ZU9wdGlvbiAmJiBpZCAmJiAoaWQgIT09IGRlZmF1bHRJZFZhbHVlKVwiIHR5cGU9XCJidXR0b25cIiAjZGVsZXRlQnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzbGFiLWNvbWJvLWJ1dHRvbiBib3JkZXItcmlnaHQtMCByb3VuZGVkLTAge3tkZWxldGVJY29uQ2xhc3N9fVwiIChjbGljayk9XCJkZWxldGVWYWx1ZVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIndpdGhJY29uICYmIGlkXCIgY2xhc3M9XCJzbGFiLWNvbWJvLWJ1dHRvbiBib3JkZXItcmlnaHQtMCByb3VuZGVkLTAge3tpY29uQ2xhc3N9fVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImljb25Db2xvclwiIHRhYmluZGV4PVwiLTFcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJ3aXRoRmF2b3VyaXRlcyAmJiBpZCE9PW51bGwgJiYgKCFpc1RyZWUgfHwgKGlzVHJlZSAmJiBsZXZlbCkpXCIgI2Zhdm91cml0ZUJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2xhYi1jb21iby1idXR0b24gc2xhYi1jb21iby1zdGFyIGJvcmRlci1yaWdodC0wIHJvdW5kZWQtMCB0ZXh0LXByaW1hcnlcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaWNvbi1zdGFyJzogaXNGYXZvdXJpdGUsICdpY29uLXN0YXItbyc6ICFpc0Zhdm91cml0ZSB9XCIgKGNsaWNrKT1cImRvVG9nZ2xlRmF2b3VyaXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2NvbWJvYnV0dG9uIGNsYXNzPVwic2xhYi1jb21iby1idXR0b24gc2xhYi1jb21iby1idXR0b24taWNvblwiIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCI+PC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICNkcm9wZG93bm1lbnUgY2xhc3M9XCJkcm9wZG93bi1tZW51IHNsYWItY29tYm8tZHJvcGRvd25cIiAoY2xpY2spPVwiY2xpY2tEcm9wRG93bk1lbnUoJGV2ZW50KVwiXG4gICAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzogaXNEaXNhYmxlZH1cIj5cbiAgICAgICAgPGRpdiAjZHJvcGRvd24gaWQ9XCJzbGFiLWNvbWJvLWRyb3Bkb3duLWJveFwiIGNsYXNzPVwic2xhYi1jb21iby1kcm9wZG93bi1ib3ggZC1mbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZmlsdGVyXCIgY2xhc3M9XCJzbGFiLWZpbHRlci1jb250YWluZXJcIiBbc3R5bGUuZm9udC1mYW1pbHldPVwiZm9udEZhbWlseVwiXG4gICAgICAgICAgICAgICAgIFtzdHlsZS5mb250LXNpemUucHhdPVwiZm9udFNpemVcIiBbc3R5bGUuZm9udC13ZWlnaHRdPVwiZm9udFdlaWdodFwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICAgICAgIFtzdHlsZS5mb250LXN0eWxlXT1cImZvbnRTdHlsZVwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInctMTAwIGJvcmRlciByb3VuZGVkXCIgW3ZhbHVlXT1cImZpbHRlclZhbHVlXCIgI2ZpbHRlcklucHV0IChrZXl1cCk9XCJkb1NlYXJjaCgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3REZXNlbGVjdEFsbFwiIGNsYXNzPVwic2xhYi1maWx0ZXItY29udGFpbmVyIG1iLTJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgYnRuLWdyb3VwXCIgcm9sZT1cImdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSB3LTUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZG9TZWxlY3RBbGwoKVwiPnt7J0NPTU1PTl9TRUxFQ1RfQUxMJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSB3LTUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZG9EZXNlbGVjdEFsbCgpXCI+e3snQ09NTU9OX0RFU0VMRUNUX0FMTCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICNoaWRkZW4gY2xhc3M9XCJoZWlnaHQtaGlkZGVuXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2xhYi1mbGV4LTEgcG9zaXRpb24tcmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICA8YWctZ3JpZC1hbmd1bGFyICpuZ0lmPVwiaXNEcm9wZG93bk9wZW5lZFwiICNncmlkIGlkPVwiYWdHcmlkXCIgI2FnR3JpZCBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5mb250LWZhbWlseV09XCJmb250RmFtaWx5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5mb250LXNpemUucHhdPVwiZm9udFNpemVcIiBbc3R5bGUuZm9udC13ZWlnaHRdPVwiZm9udFdlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuZm9udC1zdHlsZV09XCJmb250U3R5bGVcIiBjbGFzcz1cImFnLXRoZW1lLWZyZXNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiIChzZWxlY3Rpb25DaGFuZ2VkKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbFVwZGF0ZWQpPVwib25Nb2RlbFVwZGF0ZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocm93U2VsZWN0ZWQpPVwib25Sb3dTZWxlY3RlZCgkZXZlbnQpXCIgKGdyaWRSZWFkeSk9XCJkb0dyaWRSZWFkeSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjZWxsS2V5RG93bik9XCJvbkNlbGxLZXlEb3duKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8L2FnLWdyaWQtYW5ndWxhcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwibGlzdFNlbGVjdGVkVmFsdWVzICYmIG11bHRpcGxlU2VsZWN0aW9uXCI+XG4gICAgPHVsIGNsYXNzPVwibWwtMSBtdC0yIG1iLTAgcGwtMFwiICpuZ0lmPVwibXVsdGlwbGVTZWxlY3RlZEl0ZW1MaXN0Lmxlbmd0aCA8IDhcIj5cbiAgICAgICAgPGxpIGNsYXNzPVwic2xhYi1jb21iby1iYWRnZSBiYWRnZSBiYWRnZS1wcmltYXJ5IG1yLTEgcC0yXCIgcm9sZT1cImJhZGdlXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIG11bHRpcGxlU2VsZWN0ZWRJdGVtTGlzdFwiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbG9hdC1sZWZ0IG1yLTJcIj57e2l0ZW0uZGVzY3JpcHRpb259fTwvc3Bhbj5cbiAgICAgICAgICAgIDxidXR0b24gZGF0YS1kaXNtaXNzPVwiYmFkZ2VcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZVwiIChjbGljayk9XCJyZW1vdmVJdGVtKGl0ZW0pXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuICAgIDx1bCBjbGFzcz1cIm1sLTEgbXQtMiBwbC0wXCIgKm5nSWY9XCJtdWx0aXBsZVNlbGVjdGVkSXRlbUxpc3QubGVuZ3RoID4gN1wiPlxuICAgICAgICA8bGkgY2xhc3M9XCJzbGFiLWNvbWJvLWJhZGdlIGJhZGdlIGJhZGdlLXByaW1hcnkgbXItMSBwLTJcIlxuICAgICAgICAgICAgcm9sZT1cImJhZGdlXCI+e3snQ09NTU9OX1NFTEVDVEVEX0lURU1TJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0XCI+e3ttdWx0aXBsZVNlbGVjdGVkSXRlbUxpc3QubGVuZ3RofX08L3NwYW4+XG4gICAgICAgIDwvbGk+XG4gICAgPC91bD5cbjwvZGl2PlxuIl19