@netgrif/components
Version:
Netgrif Application Engine frontend Angular components
103 lines • 18.9 kB
JavaScript
import { Component, Inject, ViewChild } from '@angular/core';
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
import { AbstractCaseViewComponent, AllowedNetsService, AllowedNetsServiceFactory, CaseViewService, getImmediateData, NAE_BASE_FILTER, NAE_DEFAULT_HEADERS, SearchService, SimpleFilter, UserFilterConstants } from '@netgrif/components-core';
import { localAllowedNetsFactory } from '../../side-menu/content-components/load-filter/load-filter.component';
import * as i0 from "@angular/core";
import * as i1 from "@angular/material/dialog";
import * as i2 from "@netgrif/components-core";
import * as i3 from "@angular/common";
import * as i4 from "@ngbracket/ngx-layout";
import * as i5 from "@ngbracket/ngx-layout/extended";
import * as i6 from "../../view/case-view/components/case-list/case-list.component";
import * as i7 from "../../header/header.component";
import * as i8 from "@ngx-translate/core";
export function loadBaseFilterFactory(dialogControl) {
if (!dialogControl) {
throw new Error('NewFilterCaseId was not provided in the side menu injection data');
}
const injectedData = dialogControl;
return { filter: injectedData.filter };
}
export class LoadFilterDialogComponent extends AbstractCaseViewComponent {
_dialogRef;
_data;
_log;
_injectedData;
caseHeaderComponent;
constructor(_dialogRef, _data, _log, caseViewService) {
super(caseViewService);
this._dialogRef = _dialogRef;
this._data = _data;
this._log = _log;
if (this._data) {
this._injectedData = this._data;
}
}
handleCaseClick(clickedCase) {
const immediate = getImmediateData(clickedCase, UserFilterConstants.FILTER_FIELD_ID);
this._dialogRef.close({
opened: false,
message: 'Filter selected',
data: {
allowedNets: immediate.allowedNets,
filterMetadata: immediate.filterMetadata,
originViewId: getImmediateData(clickedCase, UserFilterConstants.ORIGIN_VIEW_ID_FIELD_ID).value,
filterCase: clickedCase,
filterCaseId: clickedCase.stringId,
filter: new SimpleFilter(clickedCase.stringId, immediate.filterMetadata.filterType, {
query: immediate.value
}, clickedCase.title)
}
});
}
ngAfterViewInit() {
this.initializeHeader(this.caseHeaderComponent);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoadFilterDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.LoggerService }, { token: i2.CaseViewService }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LoadFilterDialogComponent, selector: "nc-load-filter-dialog", providers: [
CaseViewService,
SearchService,
{
provide: NAE_BASE_FILTER,
useFactory: loadBaseFilterFactory,
deps: [MAT_DIALOG_DATA]
},
{
provide: AllowedNetsService,
useFactory: localAllowedNetsFactory,
deps: [AllowedNetsServiceFactory]
},
{
provide: NAE_DEFAULT_HEADERS,
useValue: ['meta-title', `${UserFilterConstants.FILTER_NET_IDENTIFIER}-${UserFilterConstants.FILTER_FIELD_ID}`]
}
], viewQueries: [{ propertyName: "caseHeaderComponent", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{ 'search.tooltip.load' | translate }}\n</div>\n<div mat-dialog-content class=\"load-filter-container side-menu-root\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [maxHeaderColumns]=\"2\" [responsiveHeaders]=\"true\" [hideHeaderMenu]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\"></nc-header>\n <nc-case-list [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"false\" [width]=\"getWidth()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\" class=\"virtual-scroll-list-padding\"></nc-case-list>\n</div>\n\n", styles: [".load-filter-container{height:calc(100% - 64px);padding-left:8px;padding-right:8px;margin:0}.case-header-padding{padding-top:4px}.virtual-scroll-list-padding{padding-right:1px;margin-left:-1px}\n"], dependencies: [{ kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6.CaseListComponent, selector: "nc-case-list" }, { kind: "component", type: i7.HeaderComponent, selector: "nc-header" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LoadFilterDialogComponent, decorators: [{
type: Component,
args: [{ selector: 'nc-load-filter-dialog', providers: [
CaseViewService,
SearchService,
{
provide: NAE_BASE_FILTER,
useFactory: loadBaseFilterFactory,
deps: [MAT_DIALOG_DATA]
},
{
provide: AllowedNetsService,
useFactory: localAllowedNetsFactory,
deps: [AllowedNetsServiceFactory]
},
{
provide: NAE_DEFAULT_HEADERS,
useValue: ['meta-title', `${UserFilterConstants.FILTER_NET_IDENTIFIER}-${UserFilterConstants.FILTER_FIELD_ID}`]
}
], template: "<div class=\"mat-dialog-title\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{ 'search.tooltip.load' | translate }}\n</div>\n<div mat-dialog-content class=\"load-filter-container side-menu-root\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\n <nc-header #header [type]=\"headerType\" [maxHeaderColumns]=\"2\" [responsiveHeaders]=\"true\" [hideHeaderMenu]=\"true\" class=\"case-header-padding\" [ngStyle]=\"{'width': getWidth()}\"></nc-header>\n <nc-case-list [selectedHeaders$]=\"selectedHeaders$\" [showDeleteMenu]=\"false\" [width]=\"getWidth()\"\n (caseClick)=\"handleCaseClick($event)\" [responsiveBody]=\"true\" fxFlex [textEllipsis]=\"true\" class=\"virtual-scroll-list-padding\"></nc-case-list>\n</div>\n\n", styles: [".load-filter-container{height:calc(100% - 64px);padding-left:8px;padding-right:8px;margin:0}.case-header-padding{padding-top:4px}.virtual-scroll-list-padding{padding-right:1px;margin-left:-1px}\n"] }]
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
type: Inject,
args: [MAT_DIALOG_DATA]
}] }, { type: i2.LoggerService }, { type: i2.CaseViewService }], propDecorators: { caseHeaderComponent: [{
type: ViewChild,
args: ['header']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9sb2FkLWZpbHRlci1kaWFsb2cvbG9hZC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9sb2FkLWZpbHRlci1kaWFsb2cvbG9hZC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFDLGVBQWUsRUFBZSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFDSCx5QkFBeUIsRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFFeEUsZUFBZSxFQUNmLGdCQUFnQixFQUdoQixlQUFlLEVBQUUsbUJBQW1CLEVBRXBDLGFBQWEsRUFDYixZQUFZLEVBQ1osbUJBQW1CLEVBQ3RCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sc0VBQXNFLENBQUM7Ozs7Ozs7Ozs7QUFJN0csTUFBTSxVQUFVLHFCQUFxQixDQUFDLGFBQXNDO0lBQ3hFLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO0tBQ3ZGO0lBQ0QsTUFBTSxZQUFZLEdBQUcsYUFBd0MsQ0FBQztJQUU5RCxPQUFPLEVBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNLEVBQUMsQ0FBQztBQUN6QyxDQUFDO0FBeUJELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx5QkFBeUI7SUFLOUM7SUFDeUI7SUFDekI7SUFM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IEluamVjdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q2FzZVZpZXdDb21wb25lbnQsIEFsbG93ZWROZXRzU2VydmljZSwgQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeSwgQmFzZUZpbHRlcixcbiAgICBDYXNlLFxuICAgIENhc2VWaWV3U2VydmljZSxcbiAgICBnZXRJbW1lZGlhdGVEYXRhLFxuICAgIExvYWRGaWx0ZXJJbmplY3Rpb25EYXRhLFxuICAgIExvZ2dlclNlcnZpY2UsXG4gICAgTkFFX0JBU0VfRklMVEVSLCBOQUVfREVGQVVMVF9IRUFERVJTLFxuICAgIFNhdmVkRmlsdGVyTWV0YWRhdGEsXG4gICAgU2VhcmNoU2VydmljZSxcbiAgICBTaW1wbGVGaWx0ZXIsXG4gICAgVXNlckZpbHRlckNvbnN0YW50c1xufSBmcm9tICdAbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUnO1xuaW1wb3J0IHtsb2NhbEFsbG93ZWROZXRzRmFjdG9yeX0gZnJvbSAnLi4vLi4vc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9sb2FkLWZpbHRlci9sb2FkLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtIZWFkZXJDb21wb25lbnR9IGZyb20gJy4uLy4uL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcblxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEJhc2VGaWx0ZXJGYWN0b3J5KGRpYWxvZ0NvbnRyb2w6IExvYWRGaWx0ZXJJbmplY3Rpb25EYXRhKTogQmFzZUZpbHRlciB7XG4gICAgaWYgKCFkaWFsb2dDb250cm9sKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTmV3RmlsdGVyQ2FzZUlkIHdhcyBub3QgcHJvdmlkZWQgaW4gdGhlIHNpZGUgbWVudSBpbmplY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgICBjb25zdCBpbmplY3RlZERhdGEgPSBkaWFsb2dDb250cm9sIGFzIExvYWRGaWx0ZXJJbmplY3Rpb25EYXRhO1xuXG4gICAgcmV0dXJuIHtmaWx0ZXI6IGluamVjdGVkRGF0YS5maWx0ZXJ9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jLWxvYWQtZmlsdGVyLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvYWQtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbG9hZC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENhc2VWaWV3U2VydmljZSxcbiAgICAgICAgU2VhcmNoU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkFFX0JBU0VfRklMVEVSLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogbG9hZEJhc2VGaWx0ZXJGYWN0b3J5LFxuICAgICAgICAgICAgZGVwczogW01BVF9ESUFMT0dfREFUQV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogbG9jYWxBbGxvd2VkTmV0c0ZhY3RvcnksXG4gICAgICAgICAgICBkZXBzOiBbQWxsb3dlZE5ldHNTZXJ2aWNlRmFjdG9yeV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkFFX0RFRkFVTFRfSEVBREVSUyxcbiAgICAgICAgICAgIHVzZVZhbHVlOiBbJ21ldGEtdGl0bGUnLCBgJHtVc2VyRmlsdGVyQ29uc3RhbnRzLkZJTFRFUl9ORVRfSURFTlRJRklFUn0tJHtVc2VyRmlsdGVyQ29uc3RhbnRzLkZJTFRFUl9GSUVMRF9JRH1gXVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMb2FkRmlsdGVyRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RDYXNlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgcHJvdGVjdGVkIF9pbmplY3RlZERhdGE6IExvYWRGaWx0ZXJJbmplY3Rpb25EYXRhO1xuICAgIEBWaWV3Q2hpbGQoJ2hlYWRlcicpIHB1YmxpYyBjYXNlSGVhZGVyQ29tcG9uZW50OiBIZWFkZXJDb21wb25lbnQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPExvYWRGaWx0ZXJEaWFsb2dDb21wb25lbnQ+LFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcm90ZWN0ZWQgX2RhdGE6IExvYWRGaWx0ZXJJbmplY3Rpb25EYXRhLFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIGNhc2VWaWV3U2VydmljZTogQ2FzZVZpZXdTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGNhc2VWaWV3U2VydmljZSk7XG4gICAgICAgIGlmICh0aGlzLl9kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmplY3RlZERhdGEgPSB0aGlzLl9kYXRhIGFzIExvYWRGaWx0ZXJJbmplY3Rpb25EYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlQ2FzZUNsaWNrKGNsaWNrZWRDYXNlOiBDYXNlKSB7XG4gICAgICAgIGNvbnN0IGltbWVkaWF0ZSA9IGdldEltbWVkaWF0ZURhdGEoY2xpY2tlZENhc2UsIFVzZXJGaWx0ZXJDb25zdGFudHMuRklMVEVSX0ZJRUxEX0lEKTtcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKHtcbiAgICAgICAgICAgIG9wZW5lZDogZmFsc2UsXG4gICAgICAgICAgICBtZXNzYWdlOiAnRmlsdGVyIHNlbGVjdGVkJyxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBhbGxvd2VkTmV0czogaW1tZWRpYXRlLmFsbG93ZWROZXRzLFxuICAgICAgICAgICAgICAgIGZpbHRlck1ldGFkYXRhOiBpbW1lZGlhdGUuZmlsdGVyTWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgb3JpZ2luVmlld0lkOiBnZXRJbW1lZGlhdGVEYXRhKGNsaWNrZWRDYXNlLCBVc2VyRmlsdGVyQ29uc3RhbnRzLk9SSUdJTl9WSUVXX0lEX0ZJRUxEX0lEKS52YWx1ZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXJDYXNlOiBjbGlja2VkQ2FzZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXJDYXNlSWQ6IGNsaWNrZWRDYXNlLnN0cmluZ0lkLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogbmV3IFNpbXBsZUZpbHRlcihjbGlja2VkQ2FzZS5zdHJpbmdJZCwgaW1tZWRpYXRlLmZpbHRlck1ldGFkYXRhLmZpbHRlclR5cGUsIHtcbiAgICAgICAgICAgICAgICAgICAgcXVlcnk6IGltbWVkaWF0ZS52YWx1ZVxuICAgICAgICAgICAgICAgIH0sIGNsaWNrZWRDYXNlLnRpdGxlKVxuICAgICAgICAgICAgfSBhcyBTYXZlZEZpbHRlck1ldGFkYXRhXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplSGVhZGVyKHRoaXMuY2FzZUhlYWRlckNvbXBvbmVudCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1hdC1kaWFsb2ctdGl0bGVcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgbm9uZVwiPlxuICAgIHt7ICdzZWFyY2gudG9vbHRpcC5sb2FkJyB8IHRyYW5zbGF0ZSAgfX1cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJsb2FkLWZpbHRlci1jb250YWluZXIgc2lkZS1tZW51LXJvb3RcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBzdHJldGNoXCI+XG4gICAgPG5jLWhlYWRlciAjaGVhZGVyIFt0eXBlXT1cImhlYWRlclR5cGVcIiBbbWF4SGVhZGVyQ29sdW1uc109XCIyXCIgW3Jlc3BvbnNpdmVIZWFkZXJzXT1cInRydWVcIiBbaGlkZUhlYWRlck1lbnVdPVwidHJ1ZVwiIGNsYXNzPVwiY2FzZS1oZWFkZXItcGFkZGluZ1wiIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiBnZXRXaWR0aCgpfVwiPjwvbmMtaGVhZGVyPlxuICAgIDxuYy1jYXNlLWxpc3QgW3NlbGVjdGVkSGVhZGVycyRdPVwic2VsZWN0ZWRIZWFkZXJzJFwiIFtzaG93RGVsZXRlTWVudV09XCJmYWxzZVwiIFt3aWR0aF09XCJnZXRXaWR0aCgpXCJcbiAgICAgICAgICAgICAgICAgIChjYXNlQ2xpY2spPVwiaGFuZGxlQ2FzZUNsaWNrKCRldmVudClcIiBbcmVzcG9uc2l2ZUJvZHldPVwidHJ1ZVwiIGZ4RmxleCBbdGV4dEVsbGlwc2lzXT1cInRydWVcIiBjbGFzcz1cInZpcnR1YWwtc2Nyb2xsLWxpc3QtcGFkZGluZ1wiPjwvbmMtY2FzZS1saXN0PlxuPC9kaXY+XG5cbiJdfQ==