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.

65 lines 19.8 kB
import { Component, Input } from '@angular/core'; import { AbstractListBox } from './abstract-listbox.component'; import * as i0 from "@angular/core"; import * as i1 from "systelab-translate"; import * as i2 from "@angular/common"; import * as i3 from "ag-grid-angular"; class Element { constructor(id, description) { this.id = id; this.description = description; } } export class SystelabGenderListBox extends AbstractListBox { constructor(i18nService) { super(); this.i18nService = i18nService; this.showAll = false; } ngAfterViewInit() { const elements = []; if (this.showAll) { elements.push(new Element('A', this.i18nService.instant('COMMON_ALL'))); } elements.push(new Element('U', this.getDescriptionForGender('U'))); elements.push(new Element('F', this.getDescriptionForGender('F'))); elements.push(new Element('M', this.getDescriptionForGender('M'))); this.values = elements; } getAllFieldID() { return 'A'; } getAllFieldDescription() { return this.i18nService.instant('COMMON_ALL'); } getIdField() { return 'id'; } getDescriptionField() { return 'description'; } getInstance() { return new Element('', ''); } getDescriptionForGender(gender) { switch (gender) { case 'U': return this.i18nService.instant('COMMON_UNKNOWN'); case 'M': return this.i18nService.instant('COMMON_MALE'); case 'F': return this.i18nService.instant('COMMON_FEMALE'); default: return this.i18nService.instant('COMMON_UNKNOWN'); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SystelabGenderListBox, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: SystelabGenderListBox, selector: "systelab-gender-listbox", inputs: { showAll: "showAll" }, usesInheritance: true, ngImport: i0, template: "<div class=\"slab-listbox\" [ngClass]=\"{'disabled': isDisabled}\">\n <div #hidden class=\"height-hidden\"></div>\n <ag-grid-angular #grid id=\"agGrid\" style=\"position:absolute; top:0; bottom:0; left:0; right:0; overflow: hidden;\"\n class=\"ag-theme-fresh border rounded\" [ngClass]=\"{'disabled': isDisabled}\"\n [gridOptions]=\"gridOptions\"\n [rowDragManaged]=\"rowDrag\"\n [animateRows]=\"rowDrag\"\n (rowDragEnd)=\"onRowDragEnd($event)\"\n (gridReady)=\"doGridReady($event)\"\n (gridSizeChanged)=\"doGridSizeChanged($event)\"\n (cellClicked)=\"doClick($event)\"\n (clickRow)=\"doClick($event)\"\n (rowSelected)=\"onRowSelected($event)\"\n (modelUpdated)=\"onModelUpdated($event)\">\n </ag-grid-angular>\n</div>", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.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"] }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SystelabGenderListBox, decorators: [{ type: Component, args: [{ selector: 'systelab-gender-listbox', template: "<div class=\"slab-listbox\" [ngClass]=\"{'disabled': isDisabled}\">\n <div #hidden class=\"height-hidden\"></div>\n <ag-grid-angular #grid id=\"agGrid\" style=\"position:absolute; top:0; bottom:0; left:0; right:0; overflow: hidden;\"\n class=\"ag-theme-fresh border rounded\" [ngClass]=\"{'disabled': isDisabled}\"\n [gridOptions]=\"gridOptions\"\n [rowDragManaged]=\"rowDrag\"\n [animateRows]=\"rowDrag\"\n (rowDragEnd)=\"onRowDragEnd($event)\"\n (gridReady)=\"doGridReady($event)\"\n (gridSizeChanged)=\"doGridSizeChanged($event)\"\n (cellClicked)=\"doClick($event)\"\n (clickRow)=\"doClick($event)\"\n (rowSelected)=\"onRowSelected($event)\"\n (modelUpdated)=\"onModelUpdated($event)\">\n </ag-grid-angular>\n</div>" }] }], ctorParameters: () => [{ type: i1.I18nService }], propDecorators: { showAll: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZGVyLWxpc3Rib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3lzdGVsYWItY29tcG9uZW50cy9zcmMvbGliL2xpc3Rib3gvZ2VuZGVyLWxpc3Rib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3lzdGVsYWItY29tcG9uZW50cy9zcmMvbGliL2xpc3Rib3gvYWJzdHJhY3QtbGlzdGJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7OztBQUUvRCxNQUFNLE9BQU87SUFDWixZQUFtQixFQUFVLEVBQVMsV0FBbUI7UUFBdEMsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBRXpELENBQUM7Q0FDRDtBQU9ELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUF3QjtJQUlsRSxZQUFtQixXQUF3QjtRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQURVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRnpCLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFJbEMsQ0FBQztJQUVNLGVBQWU7UUFDckIsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEU7UUFDRCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuRSxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBRWUsYUFBYTtRQUM1QixPQUFPLEdBQUcsQ0FBQztJQUNaLENBQUM7SUFFZSxzQkFBc0I7UUFDckMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sVUFBVTtRQUNoQixPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFFTSxtQkFBbUI7UUFDekIsT0FBTyxhQUFhLENBQUM7SUFDdEIsQ0FBQztJQUVNLFdBQVc7UUFDakIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLE1BQWM7UUFDNUMsUUFBUSxNQUFNLEVBQUU7WUFDZixLQUFLLEdBQUc7Z0JBQ1AsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ25ELEtBQUssR0FBRztnQkFDUCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2hELEtBQUssR0FBRztnQkFDUCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xEO2dCQUNDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNuRDtJQUNGLENBQUM7OEdBbkRXLHFCQUFxQjtrR0FBckIscUJBQXFCLHNIQ2ZsQyxxN0JBZU07OzJGREFPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSx5QkFBeUI7Z0ZBTXBCLE9BQU87c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJ3N5c3RlbGFiLXRyYW5zbGF0ZSc7XG5pbXBvcnQgeyBBYnN0cmFjdExpc3RCb3ggfSBmcm9tICcuL2Fic3RyYWN0LWxpc3Rib3guY29tcG9uZW50JztcblxuY2xhc3MgRWxlbWVudCB7XG5cdGNvbnN0cnVjdG9yKHB1YmxpYyBpZDogc3RyaW5nLCBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZykge1xuXG5cdH1cbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAgICAnc3lzdGVsYWItZ2VuZGVyLWxpc3Rib3gnLFxuXHR0ZW1wbGF0ZVVybDogJ2Fic3RyYWN0LWxpc3Rib3guY29tcG9uZW50Lmh0bWwnXG5cbn0pXG5leHBvcnQgY2xhc3MgU3lzdGVsYWJHZW5kZXJMaXN0Qm94IGV4dGVuZHMgQWJzdHJhY3RMaXN0Qm94PEVsZW1lbnQ+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cblx0QElucHV0KCkgb3ZlcnJpZGUgc2hvd0FsbCA9IGZhbHNlO1xuXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyBpMThuU2VydmljZTogSTE4blNlcnZpY2UpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0cHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHRjb25zdCBlbGVtZW50cyA9IFtdO1xuXHRcdGlmICh0aGlzLnNob3dBbGwpIHtcblx0XHRcdGVsZW1lbnRzLnB1c2gobmV3IEVsZW1lbnQoJ0EnLCB0aGlzLmkxOG5TZXJ2aWNlLmluc3RhbnQoJ0NPTU1PTl9BTEwnKSkpO1xuXHRcdH1cblx0XHRlbGVtZW50cy5wdXNoKG5ldyBFbGVtZW50KCdVJywgdGhpcy5nZXREZXNjcmlwdGlvbkZvckdlbmRlcignVScpKSk7XG5cdFx0ZWxlbWVudHMucHVzaChuZXcgRWxlbWVudCgnRicsIHRoaXMuZ2V0RGVzY3JpcHRpb25Gb3JHZW5kZXIoJ0YnKSkpO1xuXHRcdGVsZW1lbnRzLnB1c2gobmV3IEVsZW1lbnQoJ00nLCB0aGlzLmdldERlc2NyaXB0aW9uRm9yR2VuZGVyKCdNJykpKTtcblxuXHRcdHRoaXMudmFsdWVzID0gZWxlbWVudHM7XG5cdH1cblxuXHRwdWJsaWMgb3ZlcnJpZGUgZ2V0QWxsRmllbGRJRCgpOiBudW1iZXIgfCBzdHJpbmcge1xuXHRcdHJldHVybiAnQSc7XG5cdH1cblxuXHRwdWJsaWMgb3ZlcnJpZGUgZ2V0QWxsRmllbGREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLmkxOG5TZXJ2aWNlLmluc3RhbnQoJ0NPTU1PTl9BTEwnKTtcblx0fVxuXG5cdHB1YmxpYyBnZXRJZEZpZWxkKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuICdpZCc7XG5cdH1cblxuXHRwdWJsaWMgZ2V0RGVzY3JpcHRpb25GaWVsZCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiAnZGVzY3JpcHRpb24nO1xuXHR9XG5cblx0cHVibGljIGdldEluc3RhbmNlKCkge1xuXHRcdHJldHVybiBuZXcgRWxlbWVudCgnJywgJycpO1xuXHR9XG5cblx0cHVibGljIGdldERlc2NyaXB0aW9uRm9yR2VuZGVyKGdlbmRlcjogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRzd2l0Y2ggKGdlbmRlcikge1xuXHRcdFx0Y2FzZSAnVSc6XG5cdFx0XHRcdHJldHVybiB0aGlzLmkxOG5TZXJ2aWNlLmluc3RhbnQoJ0NPTU1PTl9VTktOT1dOJyk7XG5cdFx0XHRjYXNlICdNJzpcblx0XHRcdFx0cmV0dXJuIHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCgnQ09NTU9OX01BTEUnKTtcblx0XHRcdGNhc2UgJ0YnOlxuXHRcdFx0XHRyZXR1cm4gdGhpcy5pMThuU2VydmljZS5pbnN0YW50KCdDT01NT05fRkVNQUxFJyk7XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRyZXR1cm4gdGhpcy5pMThuU2VydmljZS5pbnN0YW50KCdDT01NT05fVU5LTk9XTicpO1xuXHRcdH1cblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cInNsYWItbGlzdGJveFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOiBpc0Rpc2FibGVkfVwiPlxuICAgIDxkaXYgI2hpZGRlbiBjbGFzcz1cImhlaWdodC1oaWRkZW5cIj48L2Rpdj5cbiAgICA8YWctZ3JpZC1hbmd1bGFyICNncmlkIGlkPVwiYWdHcmlkXCIgc3R5bGU9XCJwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGJvdHRvbTowOyBsZWZ0OjA7IHJpZ2h0OjA7IG92ZXJmbG93OiBoaWRkZW47XCJcbiAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWctdGhlbWUtZnJlc2ggYm9yZGVyIHJvdW5kZWRcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzogaXNEaXNhYmxlZH1cIlxuICAgICAgICAgICAgICAgICAgICAgW2dyaWRPcHRpb25zXT1cImdyaWRPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgIFtyb3dEcmFnTWFuYWdlZF09XCJyb3dEcmFnXCJcbiAgICAgICAgICAgICAgICAgICAgIFthbmltYXRlUm93c109XCJyb3dEcmFnXCJcbiAgICAgICAgICAgICAgICAgICAgIChyb3dEcmFnRW5kKT1cIm9uUm93RHJhZ0VuZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgIChncmlkUmVhZHkpPVwiZG9HcmlkUmVhZHkoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAoZ3JpZFNpemVDaGFuZ2VkKT1cImRvR3JpZFNpemVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgKGNlbGxDbGlja2VkKT1cImRvQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2tSb3cpPVwiZG9DbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgIChyb3dTZWxlY3RlZCk9XCJvblJvd1NlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgKG1vZGVsVXBkYXRlZCk9XCJvbk1vZGVsVXBkYXRlZCgkZXZlbnQpXCI+XG4gICAgPC9hZy1ncmlkLWFuZ3VsYXI+XG48L2Rpdj4iXX0=