@indigina/ui-kit 1.1.89 → 1.1.91

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.
@@ -0,0 +1,10 @@
1
+ <svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g id="Icons/Details" clip-path="url(#clip0_10033_28830)">
3
+ <path id="Vector" fill-rule="evenodd" clip-rule="evenodd" d="M2.9284 0.498169H13.0723C13.8791 0.498169 14.6089 0.829047 15.1392 1.35483C15.6695 1.88061 16.0004 2.61488 16.0004 3.42168V13.5656C16.0004 14.3724 15.6695 15.1021 15.1392 15.6324C14.6089 16.1628 13.8791 16.4936 13.0723 16.4936H2.9284C2.1216 16.4936 1.39185 16.1628 0.86154 15.6324C0.331228 15.1021 0.00488281 14.3724 0.00488281 13.5656V3.42621C0.00488281 2.62395 0.335761 1.88967 0.86154 1.35936C1.38732 0.829047 2.1216 0.498169 2.9284 0.498169ZM13.0723 1.74916H2.9284C2.46607 1.74916 2.04908 1.935 1.74539 2.24321C1.44171 2.54689 1.25134 2.96842 1.25134 3.42621V13.5701C1.25134 14.0324 1.43718 14.4494 1.74539 14.7531C2.05361 15.0568 2.47061 15.2472 2.9284 15.2472H13.0723C13.5346 15.2472 13.9516 15.0613 14.2553 14.7531C14.559 14.4494 14.7494 14.0279 14.7494 13.5701V3.42621C14.7494 2.96389 14.5635 2.54689 14.2553 2.24321C13.9471 1.93953 13.5301 1.74916 13.0723 1.74916ZM4.45587 5.49307C4.1114 5.49307 3.83038 5.21205 3.83038 4.86757C3.83038 4.5231 4.1114 4.24208 4.45587 4.24208H11.5448C11.8893 4.24208 12.1703 4.5231 12.1703 4.86757C12.1703 5.21205 11.8893 5.49307 11.5448 5.49307H4.45587ZM4.45587 9.11913C4.1114 9.11913 3.83038 8.84264 3.83038 8.49364C3.83038 8.14463 4.1114 7.86814 4.45587 7.86814H8.00035C8.34483 7.86814 8.62585 8.14463 8.62585 8.49364C8.62585 8.84264 8.34936 9.11913 8.00035 9.11913H4.45587ZM4.45587 12.7497C4.1114 12.7497 3.83038 12.4687 3.83038 12.1242C3.83038 11.7798 4.1114 11.4987 4.45587 11.4987H9.85888C10.2034 11.4987 10.4844 11.7798 10.4844 12.1242C10.4844 12.4687 10.2034 12.7497 9.85888 12.7497H4.45587Z"/>
4
+ </g>
5
+ <defs>
6
+ <clipPath id="clip0_10033_28830">
7
+ <rect width="16" height="16" fill="white" transform="translate(0 0.498169)"/>
8
+ </clipPath>
9
+ </defs>
10
+ </svg>
@@ -33,6 +33,10 @@ export class KitGridComponent {
33
33
  * Function to determine if the detail template should be visible
34
34
  */
35
35
  this.detailTemplateShowIf = () => false;
36
+ /**
37
+ * Function to determine if the caret of detail template should be disabled
38
+ */
39
+ this.detailTemplateExpandDisableIf = () => false;
36
40
  /**
37
41
  * Flag to show or hide the footer row
38
42
  */
@@ -72,8 +76,10 @@ export class KitGridComponent {
72
76
  this.expandedRows = [];
73
77
  this.getCssRowClass = (context) => {
74
78
  const expanded = this.expandedRows.includes(context.dataItem);
79
+ const expandDisabled = this.detailTemplateExpandDisableIf(context.dataItem);
75
80
  return {
76
81
  expanded,
82
+ 'expand-disabled': expandDisabled,
77
83
  };
78
84
  };
79
85
  }
@@ -119,11 +125,11 @@ export class KitGridComponent {
119
125
  this.expandedRows = [];
120
126
  }
121
127
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KitGridComponent, selector: "kit-grid", inputs: { data: "data", gridDataBinding: "gridDataBinding", sortable: "sortable", sort: "sort", pageable: "pageable", pageSize: "pageSize", skip: "skip", loading: "loading", detailTemplateShowIf: "detailTemplateShowIf", showFooter: "showFooter", footerTitle: "footerTitle", footerData: "footerData" }, outputs: { pageChanged: "pageChanged", sortChanged: "sortChanged", dataStateChanged: "dataStateChanged", detailExpanded: "detailExpanded", detailCollapsed: "detailCollapsed", cellClicked: "cellClicked" }, queries: [{ propertyName: "columns", predicate: KitGridColumnComponent, isSignal: true }, { propertyName: "kitGridDetailTemplate", first: true, predicate: KitGridDetailTemplateDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "@if (data) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [data]=\"data\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n@if (gridDataBinding) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [kendoGridBinding]=\"gridDataBinding\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n<ng-template #columnHeaderTemplate let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (KitGridSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (KitGridSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate let-column>\n @if (columns()) {\n @if (footerTitle && column === columns()[0]) {\n {{ footerTitle }}\n }\n @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n", styles: [".kit-grid{border:none;background:none}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-17);border-radius:2px}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15)}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:20px 0;justify-content:flex-start}.kit-grid ::ng-deep .k-detail-row .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-12);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:0;border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-nav:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-nav:after{opacity:0}.kit-grid ::ng-deep .k-pager-nav.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav:not(.k-selected):hover:before{background-color:#0000000f}.kit-grid ::ng-deep .k-pager-nav.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager .k-pager-first,.kit-grid ::ng-deep .k-pager .k-pager-last{display:none}.kit-grid ::ng-deep .k-pager .k-button-icon{font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-left:before{content:\"\\e016\"}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-right:before{content:\"\\e014\"}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i2.DataBindingDirective, selector: "[kendoGridBinding]", inputs: ["skip", "sort", "filter", "pageSize", "group", "kendoGridBinding"], exportAs: ["kendoGridBinding"] }, { kind: "directive", type: i2.ExpandDetailsDirective, selector: "[kendoGridExpandDetailsBy]", inputs: ["kendoGridExpandDetailsBy", "expandDetailBy", "expandedDetailKeys", "initiallyExpanded"], outputs: ["expandedDetailKeysChange"], exportAs: ["kendoGridExpandDetailsBy"] }, { kind: "component", type: i2.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i2.FooterTemplateDirective, selector: "[kendoGridFooterTemplate]" }, { kind: "directive", type: i2.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "directive", type: i2.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i2.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "component", type: i3.KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KitGridComponent, selector: "kit-grid", inputs: { data: "data", gridDataBinding: "gridDataBinding", sortable: "sortable", sort: "sort", pageable: "pageable", pageSize: "pageSize", skip: "skip", loading: "loading", detailTemplateShowIf: "detailTemplateShowIf", detailTemplateExpandDisableIf: "detailTemplateExpandDisableIf", showFooter: "showFooter", footerTitle: "footerTitle", footerData: "footerData" }, outputs: { pageChanged: "pageChanged", sortChanged: "sortChanged", dataStateChanged: "dataStateChanged", detailExpanded: "detailExpanded", detailCollapsed: "detailCollapsed", cellClicked: "cellClicked" }, queries: [{ propertyName: "columns", predicate: KitGridColumnComponent, isSignal: true }, { propertyName: "kitGridDetailTemplate", first: true, predicate: KitGridDetailTemplateDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "@if (data) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [data]=\"data\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n@if (gridDataBinding) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [kendoGridBinding]=\"gridDataBinding\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n<ng-template #columnHeaderTemplate let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (KitGridSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (KitGridSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate let-column>\n @if (columns()) {\n @if (footerTitle && column === columns()[0]) {\n {{ footerTitle }}\n }\n @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n", styles: [".kit-grid{border:none;background:none}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-17);border-radius:2px}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15)}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:20px 0;justify-content:flex-start}.kit-grid ::ng-deep .k-detail-row .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-12);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:0;border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-nav:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-nav:after{opacity:0}.kit-grid ::ng-deep .k-pager-nav.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav:not(.k-selected):hover:before{background-color:#0000000f}.kit-grid ::ng-deep .k-pager-nav.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager .k-pager-first,.kit-grid ::ng-deep .k-pager .k-pager-last{display:none}.kit-grid ::ng-deep .k-pager .k-button-icon{font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-left:before{content:\"\\e016\"}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-right:before{content:\"\\e014\"}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .expand-disabled .k-hierarchy-cell a{pointer-events:none;opacity:.6}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i2.DataBindingDirective, selector: "[kendoGridBinding]", inputs: ["skip", "sort", "filter", "pageSize", "group", "kendoGridBinding"], exportAs: ["kendoGridBinding"] }, { kind: "directive", type: i2.ExpandDetailsDirective, selector: "[kendoGridExpandDetailsBy]", inputs: ["kendoGridExpandDetailsBy", "expandDetailBy", "expandedDetailKeys", "initiallyExpanded"], outputs: ["expandedDetailKeysChange"], exportAs: ["kendoGridExpandDetailsBy"] }, { kind: "component", type: i2.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i2.FooterTemplateDirective, selector: "[kendoGridFooterTemplate]" }, { kind: "directive", type: i2.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "directive", type: i2.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i2.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "component", type: i3.KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
123
129
  }
124
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KitGridComponent, decorators: [{
125
131
  type: Component,
126
- args: [{ selector: 'kit-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (data) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [data]=\"data\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n@if (gridDataBinding) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [kendoGridBinding]=\"gridDataBinding\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n<ng-template #columnHeaderTemplate let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (KitGridSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (KitGridSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate let-column>\n @if (columns()) {\n @if (footerTitle && column === columns()[0]) {\n {{ footerTitle }}\n }\n @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n", styles: [".kit-grid{border:none;background:none}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-17);border-radius:2px}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15)}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:20px 0;justify-content:flex-start}.kit-grid ::ng-deep .k-detail-row .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-12);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:0;border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-nav:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-nav:after{opacity:0}.kit-grid ::ng-deep .k-pager-nav.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav:not(.k-selected):hover:before{background-color:#0000000f}.kit-grid ::ng-deep .k-pager-nav.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager .k-pager-first,.kit-grid ::ng-deep .k-pager .k-pager-last{display:none}.kit-grid ::ng-deep .k-pager .k-button-icon{font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-left:before{content:\"\\e016\"}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-right:before{content:\"\\e014\"}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}\n"] }]
132
+ args: [{ selector: 'kit-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (data) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [data]=\"data\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n@if (gridDataBinding) {\n <kendo-grid class=\"kit-grid\"\n kendoGridExpandDetailsBy\n [kendoGridBinding]=\"gridDataBinding\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip\"\n [loading]=\"loading\"\n [(expandedDetailKeys)]=\"expandedRows\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\">\n @for (column of columns(); track column) {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (kitGridDetailTemplate) {\n <ng-template kendoGridDetailTemplate let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"kitGridDetailTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n </kendo-grid>\n}\n\n<ng-template #columnHeaderTemplate let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (KitGridSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (KitGridSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"KitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate let-column>\n @if (columns()) {\n @if (footerTitle && column === columns()[0]) {\n {{ footerTitle }}\n }\n @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n", styles: [".kit-grid{border:none;background:none}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-17);border-radius:2px}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15)}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:20px 0;justify-content:flex-start}.kit-grid ::ng-deep .k-detail-row .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-12);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:0;border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-nav:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-nav:after{opacity:0}.kit-grid ::ng-deep .k-pager-nav.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-nav:not(.k-selected):hover:before{background-color:#0000000f}.kit-grid ::ng-deep .k-pager-nav.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager .k-pager-first,.kit-grid ::ng-deep .k-pager .k-pager-last{display:none}.kit-grid ::ng-deep .k-pager .k-button-icon{font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-left:before{content:\"\\e016\"}.kit-grid ::ng-deep .k-pager .k-svg-i-caret-alt-right:before{content:\"\\e014\"}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .expand-disabled .k-hierarchy-cell a{pointer-events:none;opacity:.6}\n"] }]
127
133
  }], propDecorators: { data: [{
128
134
  type: Input
129
135
  }], gridDataBinding: [{
@@ -142,6 +148,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
142
148
  type: Input
143
149
  }], detailTemplateShowIf: [{
144
150
  type: Input
151
+ }], detailTemplateExpandDisableIf: [{
152
+ type: Input
145
153
  }], showFooter: [{
146
154
  type: Input
147
155
  }], footerTitle: [{
@@ -164,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
164
172
  type: ContentChild,
165
173
  args: [KitGridDetailTemplateDirective, { read: TemplateRef }]
166
174
  }] } });
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0LWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9raXQtZ3JpZC9raXQtZ3JpZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2tpdC1ncmlkL2tpdC1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBS3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQVdoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7QUFRdEYsTUFBTSxPQUFPLGdCQUFnQjtJQU43QjtRQWlCRTs7V0FFRztRQUNNLGFBQVEsR0FBa0MsS0FBSyxDQUFDO1FBRXpEOztXQUVHO1FBQ00sU0FBSSxHQUE0QixFQUFFLENBQUM7UUFFNUM7O1dBRUc7UUFDTSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBT25DOztXQUVHO1FBQ00sU0FBSSxHQUFXLENBQUMsQ0FBQztRQUUxQjs7V0FFRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbEM7O1dBRUc7UUFDTSx5QkFBb0IsR0FBNkIsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1FBRXRFOztXQUVHO1FBQ00sZUFBVSxHQUFZLEtBQUssQ0FBQztRQUVyQzs7V0FFRztRQUNNLGdCQUFXLEdBQVcs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Q2pELENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBNUpVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLG1rQkE2Rm1ELHNCQUFzQixxRkFGdEYsOEJBQThCLDJCQUFVLFdBQVcsNkJDL0huRSw0NEtBbUpBOzsyRkQvR2EsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLFVBQVUsbUJBR0gsdUJBQXVCLENBQUMsTUFBTTs4QkFNdEMsSUFBSTtzQkFBWixLQUFLO2dCQUtHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtJLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBS0csY0FBYztzQkFBdkIsTUFBTTtnQkFLRyxlQUFlO3NCQUF4QixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRThELHFCQUFxQjtzQkFBekYsWUFBWTt1QkFBQyw4QkFBOEIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBTaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtpdEdyaWRDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2tpdC1ncmlkLWNvbHVtbi9raXQtZ3JpZC1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFBhZ2VyU2V0dGluZ3MsXG4gIFJvd0NsYXNzQXJncyxcbn0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ3JpZCc7XG5pbXBvcnQgeyBLaXRTdmdJY29uIH0gZnJvbSAnLi4va2l0LXN2Zy1pY29uL2tpdC1zdmctaWNvbi5jb25zdCc7XG5pbXBvcnQge1xuICBLaXRHcmlkRGF0YVN0YXRlQ2hhbmdlRXZlbnQsXG4gIEtpdEdyaWRTb3J0RGVzY3JpcHRvcixcbiAgS2l0R3JpZFNvcnRTZXR0aW5ncyxcbiAgS2l0R3JpZFBhZ2VDaGFuZ2VFdmVudCxcbiAgS2l0R3JpZERldGFpbEV4cGFuZEV2ZW50LFxuICBLaXRHcmlkRGV0YWlsQ29sbGFwc2VFdmVudCxcbiAgS2l0R3JpZERhdGFSZXN1bHQsXG4gIEtpdEdyaWRDZWxsQ2xpY2tFdmVudCxcbn0gZnJvbSAnLi9raXQtZ3JpZC5tb2RlbCc7XG5pbXBvcnQgeyBLaXRHcmlkU29ydERpcmVjdGlvbiB9IGZyb20gJy4va2l0LWdyaWQuY29uc3QnO1xuaW1wb3J0IHsgS2l0R3JpZERldGFpbFRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9raXQtZ3JpZC1kZXRhaWwtdGVtcGxhdGUuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna2l0LWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4va2l0LWdyaWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4va2l0LWdyaWQuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgS2l0R3JpZENvbXBvbmVudDxUPiB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkYXRhIG9mIHRoZSBncmlkLiBBbGxvd3MgdXNlciB0byBpbXBsZW1lbnQgZGF0YSBvcGVyYXRpb25zIG1hbnVhbGx5XG4gICAqL1xuICBASW5wdXQoKSBkYXRhPzogVFtdIHwgS2l0R3JpZERhdGFSZXN1bHQ8VD47XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRhdGEgb2YgdGhlIGdyaWQuIEFsbG93cyB1c2VyIHRvIGltcGxlbWVudCBkYXRhIG9wZXJhdGlvbnMgYXV0b21hdGljYWxseVxuICAgKi9cbiAgQElucHV0KCkgZ3JpZERhdGFCaW5kaW5nPzogVFtdO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHRoZSBzb3J0aW5nIG9mIHRoZSBncmlkIGNvbHVtbnNcbiAgICovXG4gIEBJbnB1dCgpIHNvcnRhYmxlOiBLaXRHcmlkU29ydFNldHRpbmdzIHwgYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRvcnMgYnkgd2hpY2ggdGhlIGRhdGEgd2lsbCBiZSBzb3J0ZWRcbiAgICovXG4gIEBJbnB1dCgpIHNvcnQ6IEtpdEdyaWRTb3J0RGVzY3JpcHRvcltdID0gW107XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgdGhlIHBhZ2VyIG9mIHRoZSBncmlkXG4gICAqL1xuICBASW5wdXQoKSBwYWdlYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBwYWdlIHNpemVcbiAgICovXG4gIEBJbnB1dCgpIHBhZ2VTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBudW1iZXIgb2YgcmVjb3JkcyB0byBiZSBza2lwcGVkIGJ5IHRoZSBwYWdlclxuICAgKi9cbiAgQElucHV0KCkgc2tpcDogbnVtYmVyID0gMDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGlmIHRoZSBsb2FkaW5nIGluZGljYXRvciBvZiB0aGUgZ3JpZCB3aWxsIGJlIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgdGhlIGRldGFpbCB0ZW1wbGF0ZSBzaG91bGQgYmUgdmlzaWJsZVxuICAgKi9cbiAgQElucHV0KCkgZGV0YWlsVGVtcGxhdGVTaG93SWY6IChkYXRhSXRlbTogVCkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIHNob3cgb3IgaGlkZSB0aGUgZm9vdGVyIHJvd1xuICAgKi9cbiAgQElucHV0KCkgc2hvd0Zvb3RlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaXRsZSB0byBkaXNwbGF5IGluIHRoZSBmaXJzdCBjb2x1bW4gb2YgdGhlIGZvb3RlciByb3dcbiAgICovXG4gIEBJbnB1dCgpIGZvb3RlclRpdGxlOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogRGF0YSB0byBkaXNwbGF5IGluIHRoZSBmb290ZXIgcm93XG4gICAqL1xuICBASW5wdXQoKSBmb290ZXJEYXRhPzogUGFydGlhbDxSZWNvcmQ8a2V5b2YgVCwgVFtrZXlvZiBUXT4+O1xuXG4gIC8qKlxuICAgKiBBbiBhY3Rpb24gd2hpY2ggaXMgZW1pdHRlZCB3aGVuIHRoZSBwYWdlIG9mIHRoZSBncmlkIGlzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEtpdEdyaWRQYWdlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLaXRHcmlkUGFnZUNoYW5nZUV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBBbiBhY3Rpb24gd2hpY2ggaXMgZW1pdHRlZCBvbmNlIHRoZSBzb3J0aW5nIG9mIHRoZSBncmlkIGlzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEtpdEdyaWRTb3J0RGVzY3JpcHRvcltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8S2l0R3JpZFNvcnREZXNjcmlwdG9yW10+KCk7XG5cbiAgLyoqXG4gICAqIEFuIGFjdGlvbiB3aGljaCBpcyBlbWl0dGVkIHdoZW4gdGhlIGRhdGEgc3RhdGUgb2YgdGhlIGdyaWQgaXMgY2hhbmdlZFxuICAgKi9cbiAgQE91dHB1dCgpIGRhdGFTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxLaXRHcmlkRGF0YVN0YXRlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLaXRHcmlkRGF0YVN0YXRlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIEFuIGFjdGlvbiB3aGljaCBpcyBlbWl0dGVkIHdoZW4gdGhlIG1hc3RlciByb3cgaXMgZXhwYW5kZWRcbiAgICovXG4gIEBPdXRwdXQoKSBkZXRhaWxFeHBhbmRlZDogRXZlbnRFbWl0dGVyPEtpdEdyaWREZXRhaWxFeHBhbmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtpdEdyaWREZXRhaWxFeHBhbmRFdmVudD4oKTtcblxuICAvKipcbiAgICogQW4gYWN0aW9uIHdoaWNoIGlzIGVtaXR0ZWQgd2hlbiB0aGUgbWFzdGVyIHJvdyBpcyBjb2xsYXBzZWRcbiAgICovXG4gIEBPdXRwdXQoKSBkZXRhaWxDb2xsYXBzZWQ6IEV2ZW50RW1pdHRlcjxLaXRHcmlkRGV0YWlsQ29sbGFwc2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtpdEdyaWREZXRhaWxDb2xsYXBzZUV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBBbiBhY3Rpb24gd2hpY2ggaXMgZW1pdHRlZCB3aGVuIHVzZXIgY2xpY2tzIGEgY2VsbFxuICAgKi9cbiAgQE91dHB1dCgpIGNlbGxDbGlja2VkOiBFdmVudEVtaXR0ZXI8S2l0R3JpZENlbGxDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2l0R3JpZENlbGxDbGlja0V2ZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGQoS2l0R3JpZERldGFpbFRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGtpdEdyaWREZXRhaWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcmVhZG9ubHkgY29sdW1uczogU2lnbmFsPHJlYWRvbmx5IEtpdEdyaWRDb2x1bW5Db21wb25lbnRbXT4gPSBjb250ZW50Q2hpbGRyZW4oS2l0R3JpZENvbHVtbkNvbXBvbmVudCk7XG4gIHJlYWRvbmx5IEtpdFN2Z0ljb246IHR5cGVvZiBLaXRTdmdJY29uID0gS2l0U3ZnSWNvbjtcbiAgcmVhZG9ubHkgS2l0R3JpZFNvcnREaXJlY3Rpb246IHR5cGVvZiBLaXRHcmlkU29ydERpcmVjdGlvbiA9IEtpdEdyaWRTb3J0RGlyZWN0aW9uO1xuICBleHBhbmRlZFJvd3M6IFRbXSA9IFtdO1xuXG4gIG9uRGF0YVN0YXRlQ2hhbmdlKGV2ZW50OiBLaXRHcmlkRGF0YVN0YXRlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNraXAgPSBldmVudC5za2lwO1xuICAgIHRoaXMuc29ydCA9IGV2ZW50LnNvcnQgfHwgW107XG4gICAgdGhpcy5jb2xsYXBzZUFsbFJvd3MoKTtcbiAgICB0aGlzLmRhdGFTdGF0ZUNoYW5nZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBvblNvcnRDaGFuZ2UoZXZlbnQ6IEtpdEdyaWRTb3J0RGVzY3JpcHRvcltdKTogdm9pZCB7XG4gICAgdGhpcy5zb3J0ID0gZXZlbnQ7XG4gICAgdGhpcy5jb2xsYXBzZUFsbFJvd3MoKTtcbiAgICB0aGlzLnNvcnRDaGFuZ2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZ2V0U29ydGluZ0RpcmVjdGlvbihjb2x1bW5GaWVsZDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc29ydC5maW5kKGl0ZW0gPT4gaXRlbS5maWVsZCA9PT0gY29sdW1uRmllbGQpPy5kaXIgPz8gbnVsbDtcbiAgfVxuXG4gIGlzQ29sdW1uU29ydGFibGUoY29sdW1uOiBLaXRHcmlkQ29sdW1uQ29tcG9uZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zb3J0YWJsZSAmJiBjb2x1bW4uc29ydGFibGU7XG4gIH1cblxuICBvbkRldGFpbEV4cGFuZChldmVudDogS2l0R3JpZERldGFpbEV4cGFuZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kZXRhaWxFeHBhbmRlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uRGV0YWlsQ29sbGFwc2UoZXZlbnQ6IEtpdEdyaWREZXRhaWxDb2xsYXBzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kZXRhaWxDb2xsYXBzZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZXZlbnQ6IEtpdEdyaWRQYWdlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNraXAgPSBldmVudC5za2lwO1xuICAgIHRoaXMuY29sbGFwc2VBbGxSb3dzKCk7XG4gICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQ2VsbENsaWNrKGV2ZW50OiBLaXRHcmlkQ2VsbENsaWNrRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNlbGxDbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZ2V0Q3NzUm93Q2xhc3MgPSAoY29udGV4dDogUm93Q2xhc3NBcmdzKTogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IGV4cGFuZGVkOiBib29sZWFuID0gdGhpcy5leHBhbmRlZFJvd3MuaW5jbHVkZXMoY29udGV4dC5kYXRhSXRlbSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZXhwYW5kZWQsXG4gICAgfTtcbiAgfTtcblxuICBnZXRQYWdlclNldHRpbmdzKCk6IGJvb2xlYW4gfCBQYWdlclNldHRpbmdzIHtcbiAgICBjb25zdCBwYWdlclNldHRpbmdzOiBQYWdlclNldHRpbmdzID0ge1xuICAgICAgYnV0dG9uQ291bnQ6IDUsXG4gICAgICBpbmZvOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMucGFnZWFibGUgJiYgcGFnZXJTZXR0aW5ncyB8fCBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgY29sbGFwc2VBbGxSb3dzKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWRSb3dzID0gW107XG4gIH1cbn1cbiIsIkBpZiAoZGF0YSkge1xuICA8a2VuZG8tZ3JpZCBjbGFzcz1cImtpdC1ncmlkXCJcbiAgICAgICAgICAgICAga2VuZG9HcmlkRXhwYW5kRGV0YWlsc0J5XG4gICAgICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICAgICAgICBbc29ydGFibGVdPVwic29ydGFibGVcIlxuICAgICAgICAgICAgICBbc29ydF09XCJzb3J0XCJcbiAgICAgICAgICAgICAgW3Jvd0NsYXNzXT1cImdldENzc1Jvd0NsYXNzXCJcbiAgICAgICAgICAgICAgW3BhZ2VhYmxlXT1cImdldFBhZ2VyU2V0dGluZ3MoKVwiXG4gICAgICAgICAgICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXG4gICAgICAgICAgICAgIFtza2lwXT1cInNraXBcIlxuICAgICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgICAgWyhleHBhbmRlZERldGFpbEtleXMpXT1cImV4cGFuZGVkUm93c1wiXG4gICAgICAgICAgICAgIChjZWxsQ2xpY2spPVwib25DZWxsQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChkZXRhaWxFeHBhbmQpPVwib25EZXRhaWxFeHBhbmQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChkZXRhaWxDb2xsYXBzZSk9XCJvbkRldGFpbENvbGxhcHNlKCRldmVudClcIlxuICAgICAgICAgICAgICAoc29ydENoYW5nZSk9XCJvblNvcnRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGRhdGFTdGF0ZUNoYW5nZSk9XCJvbkRhdGFTdGF0ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnMoKTsgdHJhY2sgY29sdW1uKSB7XG4gICAgICA8a2VuZG8tZ3JpZC1jb2x1bW4gW2ZpZWxkXT1cImNvbHVtbi5maWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3NvcnRhYmxlXT1cImNvbHVtbi5zb3J0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJjb2x1bW4uaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbd2lkdGhdPVwiY29sdW1uLndpZHRoXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRIZWFkZXJUZW1wbGF0ZT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uSGVhZGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjb2x1bW4gfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIEBpZiAoY29sdW1uLmNlbGxUZW1wbGF0ZSkge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbi5jZWxsVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBkYXRhSXRlbSB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChzaG93Rm9vdGVyKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZEZvb3RlclRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sdW1uIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuXG4gICAgICBAaWYgKGtpdEdyaWREZXRhaWxUZW1wbGF0ZSkge1xuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkRGV0YWlsVGVtcGxhdGUgbGV0LWRhdGFJdGVtXG4gICAgICAgICAgICAgICAgICAgICBba2VuZG9HcmlkRGV0YWlsVGVtcGxhdGVTaG93SWZdPVwiZGV0YWlsVGVtcGxhdGVTaG93SWZcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwia2l0R3JpZERldGFpbFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZGF0YUl0ZW0gfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgfVxuICAgIH1cbiAgPC9rZW5kby1ncmlkPlxufVxuXG5AaWYgKGdyaWREYXRhQmluZGluZykge1xuICA8a2VuZG8tZ3JpZCBjbGFzcz1cImtpdC1ncmlkXCJcbiAgICAgICAgICAgICAga2VuZG9HcmlkRXhwYW5kRGV0YWlsc0J5XG4gICAgICAgICAgICAgIFtrZW5kb0dyaWRCaW5kaW5nXT1cImdyaWREYXRhQmluZGluZ1wiXG4gICAgICAgICAgICAgIFtyb3dDbGFzc109XCJnZXRDc3NSb3dDbGFzc1wiXG4gICAgICAgICAgICAgIFtwYWdlYWJsZV09XCJnZXRQYWdlclNldHRpbmdzKClcIlxuICAgICAgICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgICAgICAgICAgICBbc29ydGFibGVdPVwic29ydGFibGVcIlxuICAgICAgICAgICAgICBbc29ydF09XCJzb3J0XCJcbiAgICAgICAgICAgICAgW3NraXBdPVwic2tpcFwiXG4gICAgICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICAgICAgICBbKGV4cGFuZGVkRGV0YWlsS2V5cyldPVwiZXhwYW5kZWRSb3dzXCJcbiAgICAgICAgICAgICAgKGNlbGxDbGljayk9XCJvbkNlbGxDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGRldGFpbEV4cGFuZCk9XCJvbkRldGFpbEV4cGFuZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGRldGFpbENvbGxhcHNlKT1cIm9uRGV0YWlsQ29sbGFwc2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKHNvcnRDaGFuZ2UpPVwib25Tb3J0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAoZGF0YVN0YXRlQ2hhbmdlKT1cIm9uRGF0YVN0YXRlQ2hhbmdlKCRldmVudClcIj5cbiAgICBAZm9yIChjb2x1bW4gb2YgY29sdW1ucygpOyB0cmFjayBjb2x1bW4pIHtcbiAgICAgIDxrZW5kby1ncmlkLWNvbHVtbiBbZmllbGRdPVwiY29sdW1uLmZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc29ydGFibGVdPVwiY29sdW1uLnNvcnRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cImNvbHVtbi5oaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCJjb2x1bW4ud2lkdGhcIj5cbiAgICAgICAgQGlmIChjb2x1bW4uY2VsbFRlbXBsYXRlKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uLmNlbGxUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGRhdGFJdGVtIH1cIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIH1cblxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkSGVhZGVyVGVtcGxhdGU+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbkhlYWRlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sdW1uIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICBAaWYgKHNob3dGb290ZXIpIHtcbiAgICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkRm9vdGVyVGVtcGxhdGU+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjb2x1bW4gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIH1cbiAgICAgIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG5cbiAgICAgIEBpZiAoa2l0R3JpZERldGFpbFRlbXBsYXRlKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWREZXRhaWxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgIFtrZW5kb0dyaWREZXRhaWxUZW1wbGF0ZVNob3dJZl09XCJkZXRhaWxUZW1wbGF0ZVNob3dJZlwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJraXRHcmlkRGV0YWlsVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBkYXRhSXRlbSB9XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICB9XG4gICAgfVxuICA8L2tlbmRvLWdyaWQ+XG59XG5cbjxuZy10ZW1wbGF0ZSAjY29sdW1uSGVhZGVyVGVtcGxhdGUgbGV0LWNvbHVtbj5cbiAgPGRpdiBjbGFzcz1cImdyaWQtdGl0bGVcIlxuICAgICAgIFtjbGFzcy5zb3J0YWJsZV09XCJpc0NvbHVtblNvcnRhYmxlKGNvbHVtbilcIj5cbiAgICBAaWYgKGNvbHVtbi50aXRsZUljb24pIHtcbiAgICAgIDxraXQtc3ZnLWljb24gY2xhc3M9XCJncmlkLXRpdGxlLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJjb2x1bW4udGl0bGVJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29sdW1uLnRpdGxlSWNvblR5cGVcIlxuICAgICAgPjwva2l0LXN2Zy1pY29uPlxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJncmlkLXRpdGxlLXRleHRcIj5cbiAgICAgIHt7IGNvbHVtbi50aXRsZSB9fVxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChzb3J0YWJsZSAmJiBjb2x1bW4uc29ydGFibGUpIHtcbiAgICAgIEBzd2l0Y2ggKGdldFNvcnRpbmdEaXJlY3Rpb24oY29sdW1uLmZpZWxkKSkge1xuICAgICAgICBAY2FzZSAoS2l0R3JpZFNvcnREaXJlY3Rpb24uQVNDKSB7XG4gICAgICAgICAgPGtpdC1zdmctaWNvbiBjbGFzcz1cImdyaWQtdGl0bGUtc29ydC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cIktpdFN2Z0ljb24uU09SVF9BU0NFTkRJTkdcIlxuICAgICAgICAgID48L2tpdC1zdmctaWNvbj5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoS2l0R3JpZFNvcnREaXJlY3Rpb24uREVTQykge1xuICAgICAgICAgIDxraXQtc3ZnLWljb24gY2xhc3M9XCJncmlkLXRpdGxlLXNvcnQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJLaXRTdmdJY29uLlNPUlRfREVTQ0VORElOR1wiXG4gICAgICAgICAgPjwva2l0LXN2Zy1pY29uPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGUgbGV0LWNvbHVtbj5cbiAgQGlmIChjb2x1bW5zKCkpIHtcbiAgICBAaWYgKGZvb3RlclRpdGxlICYmIGNvbHVtbiA9PT0gY29sdW1ucygpWzBdKSB7XG4gICAgICB7eyBmb290ZXJUaXRsZSB9fVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB7eyBmb290ZXJEYXRhPy5bY29sdW1uLmZpZWxkXSB8fCAnJyB9fVxuICAgIH1cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0LWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9raXQtZ3JpZC9raXQtZ3JpZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2tpdC1ncmlkL2tpdC1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBS3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQVdoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7QUFRdEYsTUFBTSxPQUFPLGdCQUFnQjtJQU43QjtRQWlCRTs7V0FFRztRQUNNLGFBQVEsR0FBa0MsS0FBSyxDQUFDO1FBRXpEOztXQUVHO1FBQ00sU0FBSSxHQUE0QixFQUFFLENBQUM7UUFFNUM7O1dBRUc7UUFDTSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBT25DOztXQUVHO1FBQ00sU0FBSSxHQUFXLENBQUMsQ0FBQztRQUUxQjs7V0FFRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbEM7O1dBRUc7UUFDTSx5QkFBb0IsR0FBNkIsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1FBRXRFOztTQUVDO1FBQ1Esa0NBQTZCLEdBQTZCLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUUvRTs7V0FF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Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgU2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLaXRHcmlkQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9raXQtZ3JpZC1jb2x1bW4va2l0LWdyaWQtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBQYWdlclNldHRpbmdzLFxuICBSb3dDbGFzc0FyZ3MsXG59IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xuaW1wb3J0IHsgS2l0U3ZnSWNvbiB9IGZyb20gJy4uL2tpdC1zdmctaWNvbi9raXQtc3ZnLWljb24uY29uc3QnO1xuaW1wb3J0IHtcbiAgS2l0R3JpZERhdGFTdGF0ZUNoYW5nZUV2ZW50LFxuICBLaXRHcmlkU29ydERlc2NyaXB0b3IsXG4gIEtpdEdyaWRTb3J0U2V0dGluZ3MsXG4gIEtpdEdyaWRQYWdlQ2hhbmdlRXZlbnQsXG4gIEtpdEdyaWREZXRhaWxFeHBhbmRFdmVudCxcbiAgS2l0R3JpZERldGFpbENvbGxhcHNlRXZlbnQsXG4gIEtpdEdyaWREYXRhUmVzdWx0LFxuICBLaXRHcmlkQ2VsbENsaWNrRXZlbnQsXG59IGZyb20gJy4va2l0LWdyaWQubW9kZWwnO1xuaW1wb3J0IHsgS2l0R3JpZFNvcnREaXJlY3Rpb24gfSBmcm9tICcuL2tpdC1ncmlkLmNvbnN0JztcbmltcG9ydCB7IEtpdEdyaWREZXRhaWxUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4va2l0LWdyaWQtZGV0YWlsLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tpdC1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2tpdC1ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2tpdC1ncmlkLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEtpdEdyaWRDb21wb25lbnQ8VD4ge1xuICAvKipcbiAgICogU2V0cyB0aGUgZGF0YSBvZiB0aGUgZ3JpZC4gQWxsb3dzIHVzZXIgdG8gaW1wbGVtZW50IGRhdGEgb3BlcmF0aW9ucyBtYW51YWxseVxuICAgKi9cbiAgQElucHV0KCkgZGF0YT86IFRbXSB8IEtpdEdyaWREYXRhUmVzdWx0PFQ+O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkYXRhIG9mIHRoZSBncmlkLiBBbGxvd3MgdXNlciB0byBpbXBsZW1lbnQgZGF0YSBvcGVyYXRpb25zIGF1dG9tYXRpY2FsbHlcbiAgICovXG4gIEBJbnB1dCgpIGdyaWREYXRhQmluZGluZz86IFRbXTtcblxuICAvKipcbiAgICogRW5hYmxlcyB0aGUgc29ydGluZyBvZiB0aGUgZ3JpZCBjb2x1bW5zXG4gICAqL1xuICBASW5wdXQoKSBzb3J0YWJsZTogS2l0R3JpZFNvcnRTZXR0aW5ncyB8IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0b3JzIGJ5IHdoaWNoIHRoZSBkYXRhIHdpbGwgYmUgc29ydGVkXG4gICAqL1xuICBASW5wdXQoKSBzb3J0OiBLaXRHcmlkU29ydERlc2NyaXB0b3JbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHRoZSBwYWdlciBvZiB0aGUgZ3JpZFxuICAgKi9cbiAgQElucHV0KCkgcGFnZWFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgcGFnZSBzaXplXG4gICAqL1xuICBASW5wdXQoKSBwYWdlU2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgbnVtYmVyIG9mIHJlY29yZHMgdG8gYmUgc2tpcHBlZCBieSB0aGUgcGFnZXJcbiAgICovXG4gIEBJbnB1dCgpIHNraXA6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBpZiB0aGUgbG9hZGluZyBpbmRpY2F0b3Igb2YgdGhlIGdyaWQgd2lsbCBiZSBkaXNwbGF5ZWRcbiAgICovXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIHRoZSBkZXRhaWwgdGVtcGxhdGUgc2hvdWxkIGJlIHZpc2libGVcbiAgICovXG4gIEBJbnB1dCgpIGRldGFpbFRlbXBsYXRlU2hvd0lmOiAoZGF0YUl0ZW06IFQpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcblxuICAvKipcbiAqIEZ1bmN0aW9uIHRvIGRldGVybWluZSBpZiB0aGUgY2FyZXQgb2YgZGV0YWlsIHRlbXBsYXRlIHNob3VsZCBiZSBkaXNhYmxlZFxuICovXG4gIEBJbnB1dCgpIGRldGFpbFRlbXBsYXRlRXhwYW5kRGlzYWJsZUlmOiAoZGF0YUl0ZW06IFQpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcblxuICAvKipcbiAgICogRmxhZyB0byBzaG93IG9yIGhpZGUgdGhlIGZvb3RlciByb3dcbiAgICovXG4gIEBJbnB1dCgpIHNob3dGb290ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGl0bGUgdG8gZGlzcGxheSBpbiB0aGUgZmlyc3QgY29sdW1uIG9mIHRoZSBmb290ZXIgcm93XG4gICAqL1xuICBASW5wdXQoKSBmb290ZXJUaXRsZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIERhdGEgdG8gZGlzcGxheSBpbiB0aGUgZm9vdGVyIHJvd1xuICAgKi9cbiAgQElucHV0KCkgZm9vdGVyRGF0YT86IFBhcnRpYWw8UmVjb3JkPGtleW9mIFQsIFRba2V5b2YgVF0+PjtcbiAgXG4gIC8qKlxuICAgKiBBbiBhY3Rpb24gd2hpY2ggaXMgZW1pdHRlZCB3aGVuIHRoZSBwYWdlIG9mIHRoZSBncmlkIGlzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEtpdEdyaWRQYWdlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLaXRHcmlkUGFnZUNoYW5nZUV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBBbiBhY3Rpb24gd2hpY2ggaXMgZW1pdHRlZCBvbmNlIHRoZSBzb3J0aW5nIG9mIHRoZSBncmlkIGlzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEtpdEdyaWRTb3J0RGVzY3JpcHRvcltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8S2l0R3JpZFNvcnREZXNjcmlwdG9yW10+KCk7XG5cbiAgLyoqXG4gICAqIEFuIGFjdGlvbiB3aGljaCBpcyBlbWl0dGVkIHdoZW4gdGhlIGRhdGEgc3RhdGUgb2YgdGhlIGdyaWQgaXMgY2hhbmdlZFxuICAgKi9cbiAgQE91dHB1dCgpIGRhdGFTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxLaXRHcmlkRGF0YVN0YXRlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLaXRHcmlkRGF0YVN0YXRlQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIEFuIGFjdGlvbiB3aGljaCBpcyBlbWl0dGVkIHdoZW4gdGhlIG1hc3RlciByb3cgaXMgZXhwYW5kZWRcbiAgICovXG4gIEBPdXRwdXQoKSBkZXRhaWxFeHBhbmRlZDogRXZlbnRFbWl0dGVyPEtpdEdyaWREZXRhaWxFeHBhbmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtpdEdyaWREZXRhaWxFeHBhbmRFdmVudD4oKTtcblxuICAvKipcbiAgICogQW4gYWN0aW9uIHdoaWNoIGlzIGVtaXR0ZWQgd2hlbiB0aGUgbWFzdGVyIHJvdyBpcyBjb2xsYXBzZWRcbiAgICovXG4gIEBPdXRwdXQoKSBkZXRhaWxDb2xsYXBzZWQ6IEV2ZW50RW1pdHRlcjxLaXRHcmlkRGV0YWlsQ29sbGFwc2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtpdEdyaWREZXRhaWxDb2xsYXBzZUV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBBbiBhY3Rpb24gd2hpY2ggaXMgZW1pdHRlZCB3aGVuIHVzZXIgY2xpY2tzIGEgY2VsbFxuICAgKi9cbiAgQE91dHB1dCgpIGNlbGxDbGlja2VkOiBFdmVudEVtaXR0ZXI8S2l0R3JpZENlbGxDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2l0R3JpZENlbGxDbGlja0V2ZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGQoS2l0R3JpZERldGFpbFRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGtpdEdyaWREZXRhaWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcmVhZG9ubHkgY29sdW1uczogU2lnbmFsPHJlYWRvbmx5IEtpdEdyaWRDb2x1bW5Db21wb25lbnRbXT4gPSBjb250ZW50Q2hpbGRyZW4oS2l0R3JpZENvbHVtbkNvbXBvbmVudCk7XG4gIHJlYWRvbmx5IEtpdFN2Z0ljb246IHR5cGVvZiBLaXRTdmdJY29uID0gS2l0U3ZnSWNvbjtcbiAgcmVhZG9ubHkgS2l0R3JpZFNvcnREaXJlY3Rpb246IHR5cGVvZiBLaXRHcmlkU29ydERpcmVjdGlvbiA9IEtpdEdyaWRTb3J0RGlyZWN0aW9uO1xuICBleHBhbmRlZFJvd3M6IFRbXSA9IFtdO1xuXG4gIG9uRGF0YVN0YXRlQ2hhbmdlKGV2ZW50OiBLaXRHcmlkRGF0YVN0YXRlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNraXAgPSBldmVudC5za2lwO1xuICAgIHRoaXMuc29ydCA9IGV2ZW50LnNvcnQgfHwgW107XG4gICAgdGhpcy5jb2xsYXBzZUFsbFJvd3MoKTtcbiAgICB0aGlzLmRhdGFTdGF0ZUNoYW5nZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBvblNvcnRDaGFuZ2UoZXZlbnQ6IEtpdEdyaWRTb3J0RGVzY3JpcHRvcltdKTogdm9pZCB7XG4gICAgdGhpcy5zb3J0ID0gZXZlbnQ7XG4gICAgdGhpcy5jb2xsYXBzZUFsbFJvd3MoKTtcbiAgICB0aGlzLnNvcnRDaGFuZ2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZ2V0U29ydGluZ0RpcmVjdGlvbihjb2x1bW5GaWVsZDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc29ydC5maW5kKGl0ZW0gPT4gaXRlbS5maWVsZCA9PT0gY29sdW1uRmllbGQpPy5kaXIgPz8gbnVsbDtcbiAgfVxuXG4gIGlzQ29sdW1uU29ydGFibGUoY29sdW1uOiBLaXRHcmlkQ29sdW1uQ29tcG9uZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zb3J0YWJsZSAmJiBjb2x1bW4uc29ydGFibGU7XG4gIH1cblxuICBvbkRldGFpbEV4cGFuZChldmVudDogS2l0R3JpZERldGFpbEV4cGFuZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kZXRhaWxFeHBhbmRlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uRGV0YWlsQ29sbGFwc2UoZXZlbnQ6IEtpdEdyaWREZXRhaWxDb2xsYXBzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kZXRhaWxDb2xsYXBzZWQuZW1pdChldmVudCk7XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoZXZlbnQ6IEtpdEdyaWRQYWdlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNraXAgPSBldmVudC5za2lwO1xuICAgIHRoaXMuY29sbGFwc2VBbGxSb3dzKCk7XG4gICAgdGhpcy5wYWdlQ2hhbmdlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQ2VsbENsaWNrKGV2ZW50OiBLaXRHcmlkQ2VsbENsaWNrRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNlbGxDbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZ2V0Q3NzUm93Q2xhc3MgPSAoY29udGV4dDogUm93Q2xhc3NBcmdzKTogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IGV4cGFuZGVkOiBib29sZWFuID0gdGhpcy5leHBhbmRlZFJvd3MuaW5jbHVkZXMoY29udGV4dC5kYXRhSXRlbSk7XG4gICAgY29uc3QgZXhwYW5kRGlzYWJsZWQ6IGJvb2xlYW4gPSB0aGlzLmRldGFpbFRlbXBsYXRlRXhwYW5kRGlzYWJsZUlmKGNvbnRleHQuZGF0YUl0ZW0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGV4cGFuZGVkLFxuICAgICAgJ2V4cGFuZC1kaXNhYmxlZCc6IGV4cGFuZERpc2FibGVkLFxuICAgIH07XG4gIH07XG5cbiAgZ2V0UGFnZXJTZXR0aW5ncygpOiBib29sZWFuIHwgUGFnZXJTZXR0aW5ncyB7XG4gICAgY29uc3QgcGFnZXJTZXR0aW5nczogUGFnZXJTZXR0aW5ncyA9IHtcbiAgICAgIGJ1dHRvbkNvdW50OiA1LFxuICAgICAgaW5mbzogZmFsc2UsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLnBhZ2VhYmxlICYmIHBhZ2VyU2V0dGluZ3MgfHwgZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGNvbGxhcHNlQWxsUm93cygpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZGVkUm93cyA9IFtdO1xuICB9XG59XG4iLCJAaWYgKGRhdGEpIHtcbiAgPGtlbmRvLWdyaWQgY2xhc3M9XCJraXQtZ3JpZFwiXG4gICAgICAgICAgICAgIGtlbmRvR3JpZEV4cGFuZERldGFpbHNCeVxuICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcbiAgICAgICAgICAgICAgW3NvcnRhYmxlXT1cInNvcnRhYmxlXCJcbiAgICAgICAgICAgICAgW3NvcnRdPVwic29ydFwiXG4gICAgICAgICAgICAgIFtyb3dDbGFzc109XCJnZXRDc3NSb3dDbGFzc1wiXG4gICAgICAgICAgICAgIFtwYWdlYWJsZV09XCJnZXRQYWdlclNldHRpbmdzKClcIlxuICAgICAgICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgICAgICAgICAgICBbc2tpcF09XCJza2lwXCJcbiAgICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICAgICAgICAgIFsoZXhwYW5kZWREZXRhaWxLZXlzKV09XCJleHBhbmRlZFJvd3NcIlxuICAgICAgICAgICAgICAoY2VsbENsaWNrKT1cIm9uQ2VsbENsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAoZGV0YWlsRXhwYW5kKT1cIm9uRGV0YWlsRXhwYW5kKCRldmVudClcIlxuICAgICAgICAgICAgICAoZGV0YWlsQ29sbGFwc2UpPVwib25EZXRhaWxDb2xsYXBzZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKHNvcnRDaGFuZ2UpPVwib25Tb3J0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChkYXRhU3RhdGVDaGFuZ2UpPVwib25EYXRhU3RhdGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgIEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zKCk7IHRyYWNrIGNvbHVtbikge1xuICAgICAgPGtlbmRvLWdyaWQtY29sdW1uIFtmaWVsZF09XCJjb2x1bW4uZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3J0YWJsZV09XCJjb2x1bW4uc29ydGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiY29sdW1uLmhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cImNvbHVtbi53aWR0aFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkSGVhZGVyVGVtcGxhdGU+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbkhlYWRlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sdW1uIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICBAaWYgKGNvbHVtbi5jZWxsVGVtcGxhdGUpIHtcbiAgICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW4uY2VsbFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZGF0YUl0ZW0gfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoc2hvd0Zvb3Rlcikge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRGb290ZXJUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNvbHVtbiB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgfVxuICAgICAgPC9rZW5kby1ncmlkLWNvbHVtbj5cblxuICAgICAgQGlmIChraXRHcmlkRGV0YWlsVGVtcGxhdGUpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZERldGFpbFRlbXBsYXRlIGxldC1kYXRhSXRlbVxuICAgICAgICAgICAgICAgICAgICAgW2tlbmRvR3JpZERldGFpbFRlbXBsYXRlU2hvd0lmXT1cImRldGFpbFRlbXBsYXRlU2hvd0lmXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImtpdEdyaWREZXRhaWxUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGRhdGFJdGVtIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIH1cbiAgICB9XG4gIDwva2VuZG8tZ3JpZD5cbn1cblxuQGlmIChncmlkRGF0YUJpbmRpbmcpIHtcbiAgPGtlbmRvLWdyaWQgY2xhc3M9XCJraXQtZ3JpZFwiXG4gICAgICAgICAgICAgIGtlbmRvR3JpZEV4cGFuZERldGFpbHNCeVxuICAgICAgICAgICAgICBba2VuZG9HcmlkQmluZGluZ109XCJncmlkRGF0YUJpbmRpbmdcIlxuICAgICAgICAgICAgICBbcm93Q2xhc3NdPVwiZ2V0Q3NzUm93Q2xhc3NcIlxuICAgICAgICAgICAgICBbcGFnZWFibGVdPVwiZ2V0UGFnZXJTZXR0aW5ncygpXCJcbiAgICAgICAgICAgICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgICAgICAgICAgICAgW3NvcnRhYmxlXT1cInNvcnRhYmxlXCJcbiAgICAgICAgICAgICAgW3NvcnRdPVwic29ydFwiXG4gICAgICAgICAgICAgIFtza2lwXT1cInNraXBcIlxuICAgICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgICAgWyhleHBhbmRlZERldGFpbEtleXMpXT1cImV4cGFuZGVkUm93c1wiXG4gICAgICAgICAgICAgIChjZWxsQ2xpY2spPVwib25DZWxsQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChkZXRhaWxFeHBhbmQpPVwib25EZXRhaWxFeHBhbmQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChkZXRhaWxDb2xsYXBzZSk9XCJvbkRldGFpbENvbGxhcHNlKCRldmVudClcIlxuICAgICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChzb3J0Q2hhbmdlKT1cIm9uU29ydENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGRhdGFTdGF0ZUNoYW5nZSk9XCJvbkRhdGFTdGF0ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnMoKTsgdHJhY2sgY29sdW1uKSB7XG4gICAgICA8a2VuZG8tZ3JpZC1jb2x1bW4gW2ZpZWxkXT1cImNvbHVtbi5maWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3NvcnRhYmxlXT1cImNvbHVtbi5zb3J0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJjb2x1bW4uaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbd2lkdGhdPVwiY29sdW1uLndpZHRoXCI+XG4gICAgICAgIEBpZiAoY29sdW1uLmNlbGxUZW1wbGF0ZSkge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbi5jZWxsVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBkYXRhSXRlbSB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZEhlYWRlclRlbXBsYXRlPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW5IZWFkZXJUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNvbHVtbiB9XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgQGlmIChzaG93Rm9vdGVyKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZEZvb3RlclRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogY29sdW1uIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuXG4gICAgICBAaWYgKGtpdEdyaWREZXRhaWxUZW1wbGF0ZSkge1xuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkRGV0YWlsVGVtcGxhdGUgbGV0LWRhdGFJdGVtXG4gICAgICAgICAgICAgICAgICAgICBba2VuZG9HcmlkRGV0YWlsVGVtcGxhdGVTaG93SWZdPVwiZGV0YWlsVGVtcGxhdGVTaG93SWZcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwia2l0R3JpZERldGFpbFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZGF0YUl0ZW0gfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgfVxuICAgIH1cbiAgPC9rZW5kby1ncmlkPlxufVxuXG48bmctdGVtcGxhdGUgI2NvbHVtbkhlYWRlclRlbXBsYXRlIGxldC1jb2x1bW4+XG4gIDxkaXYgY2xhc3M9XCJncmlkLXRpdGxlXCJcbiAgICAgICBbY2xhc3Muc29ydGFibGVdPVwiaXNDb2x1bW5Tb3J0YWJsZShjb2x1bW4pXCI+XG4gICAgQGlmIChjb2x1bW4udGl0bGVJY29uKSB7XG4gICAgICA8a2l0LXN2Zy1pY29uIGNsYXNzPVwiZ3JpZC10aXRsZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiY29sdW1uLnRpdGxlSWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbi50aXRsZUljb25UeXBlXCJcbiAgICAgID48L2tpdC1zdmctaWNvbj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZC10aXRsZS10ZXh0XCI+XG4gICAgICB7eyBjb2x1bW4udGl0bGUgfX1cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoc29ydGFibGUgJiYgY29sdW1uLnNvcnRhYmxlKSB7XG4gICAgICBAc3dpdGNoIChnZXRTb3J0aW5nRGlyZWN0aW9uKGNvbHVtbi5maWVsZCkpIHtcbiAgICAgICAgQGNhc2UgKEtpdEdyaWRTb3J0RGlyZWN0aW9uLkFTQykge1xuICAgICAgICAgIDxraXQtc3ZnLWljb24gY2xhc3M9XCJncmlkLXRpdGxlLXNvcnQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJLaXRTdmdJY29uLlNPUlRfQVNDRU5ESU5HXCJcbiAgICAgICAgICA+PC9raXQtc3ZnLWljb24+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKEtpdEdyaWRTb3J0RGlyZWN0aW9uLkRFU0MpIHtcbiAgICAgICAgICA8a2l0LXN2Zy1pY29uIGNsYXNzPVwiZ3JpZC10aXRsZS1zb3J0LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiS2l0U3ZnSWNvbi5TT1JUX0RFU0NFTkRJTkdcIlxuICAgICAgICAgID48L2tpdC1zdmctaWNvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlIGxldC1jb2x1bW4+XG4gIEBpZiAoY29sdW1ucygpKSB7XG4gICAgQGlmIChmb290ZXJUaXRsZSAmJiBjb2x1bW4gPT09IGNvbHVtbnMoKVswXSkge1xuICAgICAge3sgZm9vdGVyVGl0bGUgfX1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAge3sgZm9vdGVyRGF0YT8uW2NvbHVtbi5maWVsZF0gfHwgJycgfX1cbiAgICB9XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -133,10 +133,11 @@ export var KitSvgIcon;
133
133
  KitSvgIcon["PRODUCT"] = "product";
134
134
  KitSvgIcon["NOTIFICATION"] = "notification";
135
135
  KitSvgIcon["COLUMNS"] = "columns";
136
+ KitSvgIcon["DETAILS"] = "details";
136
137
  })(KitSvgIcon || (KitSvgIcon = {}));
137
138
  export var KitSvgIconType;
138
139
  (function (KitSvgIconType) {
139
140
  KitSvgIconType["FILL"] = "fill";
140
141
  KitSvgIconType["STROKE"] = "stroke";
141
142
  })(KitSvgIconType || (KitSvgIconType = {}));
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0LXN2Zy1pY29uLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9raXQtc3ZnLWljb24va2l0LXN2Zy1pY29uLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFVBc0lYO0FBdElELFdBQVksVUFBVTtJQUNwQiwyQkFBYSxDQUFBO0lBQ2IsMkNBQTZCLENBQUE7SUFDN0IsdUNBQXlCLENBQUE7SUFDekIsNkNBQStCLENBQUE7SUFDL0IsMkJBQWEsQ0FBQTtJQUNiLDJCQUFhLENBQUE7SUFDYixtQ0FBcUIsQ0FBQTtJQUNyQixpQ0FBbUIsQ0FBQTtJQUNuQiw2QkFBZSxDQUFBO0lBQ2YsaUNBQW1CLENBQUE7SUFDbkIseUJBQVcsQ0FBQTtJQUNYLCtCQUFpQixDQUFBO0lBQ2pCLDJCQUFhLENBQUE7SUFDYixtQ0FBcUIsQ0FBQTtJQUNyQiw2QkFBZSxDQUFBO0lBQ2YsNkJBQWUsQ0FBQTtJQUNmLDJDQUE2QixDQUFBO0lBQzdCLG1DQUFxQixDQUFBO0lBQ3JCLHFDQUF1QixDQUFBO0lBQ3ZCLCtCQUFpQixDQUFBO0lBQ2pCLGtDQUFvQixDQUFBO0lBQ3BCLDJCQUFhLENBQUE7SUFDYiw2Q0FBK0IsQ0FBQTtJQUMvQiwrQkFBaUIsQ0FBQTtJQUNqQiw2QkFBZSxDQUFBO0lBQ2YsNkJBQWUsQ0FBQTtJQUNmLDJDQUE2QixDQUFBO0lBQzdCLDZCQUFlLENBQUE7SUFDZixxQ0FBdUIsQ0FBQTtJQUN2Qix5QkFBVyxDQUFBO0lBQ1gseUJBQVcsQ0FBQTtJQUNYLHlCQUFXLENBQUE7SUFDWCxpQ0FBbUIsQ0FBQTtJQUNuQiwrQkFBaUIsQ0FBQTtJQUNqQixxQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBbUIsQ0FBQTtJQUNuQiwrQkFBaUIsQ0FBQTtJQUNqQiwyQkFBYSxDQUFBO0lBQ2IsNkJBQWUsQ0FBQTtJQUNmLCtCQUFpQixDQUFBO0lBQ2pCLHVDQUF5QixDQUFBO0lBQ3pCLCtDQUFpQyxDQUFBO0lBQ2pDLGlEQUFtQyxDQUFBO0lBQ25DLHVDQUF5QixDQUFBO0lBQ3pCLCtDQUFpQyxDQUFBO0lBQ2pDLDJDQUE2QixDQUFBO0lBQzdCLHlDQUEyQixDQUFBO0lBQzNCLGlFQUFtRCxDQUFBO0lBQ25ELG1FQUFxRCxDQUFBO0lBQ3JELDJCQUFhLENBQUE7SUFDYiwrQ0FBaUMsQ0FBQTtJQUNqQywrQ0FBaUMsQ0FBQTtJQUNqQywrQkFBaUIsQ0FBQTtJQUNqQiwyQ0FBNkIsQ0FBQTtJQUM3QixxREFBdUMsQ0FBQTtJQUN2Qyw2QkFBZSxDQUFBO0lBQ2YsK0JBQWlCLENBQUE7SUFDakIsMkJBQWEsQ0FBQTtJQUNiLGlEQUFtQyxDQUFBO0lBQ25DLHlDQUEyQixDQUFBO0lBQzNCLG1DQUFxQixDQUFBO0lBQ3JCLHFDQUF1QixDQUFBO0lBQ3ZCLHVFQUF5RCxDQUFBO0lBQ3pELHVEQUF5QyxDQUFBO0lBQ3pDLDJEQUE2QyxDQUFBO0lBQzdDLDJCQUFhLENBQUE7SUFDYiw2QkFBZSxDQUFBO0lBQ2YsaUNBQW1CLENBQUE7SUFDbkIsMkJBQWEsQ0FBQTtJQUNiLCtCQUFpQixDQUFBO0lBQ2pCLDZCQUFlLENBQUE7SUFDZiw2QkFBZSxDQUFBO0lBQ2YsMkJBQWEsQ0FBQTtJQUNiLDJCQUFhLENBQUE7SUFDYiwyQkFBYSxDQUFBO0lBQ2IsaUNBQW1CLENBQUE7SUFDbkIsK0JBQWlCLENBQUE7SUFDakIsK0NBQWlDLENBQUE7SUFDakMsdUNBQXlCLENBQUE7SUFDekIsMkJBQWEsQ0FBQTtJQUNiLHVDQUF5QixDQUFBO0lBQ3pCLG1DQUFxQixDQUFBO0lBQ3JCLHlDQUEyQixDQUFBO0lBQzNCLHlEQUEyQyxDQUFBO0lBQzNDLCtDQUFpQyxDQUFBO0lBQ2pDLDZEQUErQyxDQUFBO0lBQy9DLHlEQUEyQyxDQUFBO0lBQzNDLGlEQUFtQyxDQUFBO0lBQ25DLDJCQUFhLENBQUE7SUFDYiwrQ0FBaUMsQ0FBQTtJQUNqQyxpREFBbUMsQ0FBQTtJQUNuQyxtQ0FBcUIsQ0FBQTtJQUNyQiwyQ0FBNkIsQ0FBQTtJQUM3QixxQ0FBdUIsQ0FBQTtJQUN2Qiw2Q0FBK0IsQ0FBQTtJQUMvQiwyQkFBYSxDQUFBO0lBQ2IsbUNBQXFCLENBQUE7SUFDckIseUNBQTJCLENBQUE7SUFDM0IscUNBQXVCLENBQUE7SUFDdkIsbUNBQXFCLENBQUE7SUFDckIsK0NBQWlDLENBQUE7SUFDakMsK0JBQWlCLENBQUE7SUFDakIsMkRBQTZDLENBQUE7SUFDN0MsMkRBQTZDLENBQUE7SUFDN0MsNkRBQStDLENBQUE7SUFDL0MsaURBQW1DLENBQUE7SUFDbkMsaUZBQW1FLENBQUE7SUFDbkUsNkRBQStDLENBQUE7SUFDL0MsaUVBQW1ELENBQUE7SUFDbkQsK0NBQWlDLENBQUE7SUFDakMsK0VBQWlFLENBQUE7SUFDakUseUVBQTJELENBQUE7SUFDM0QsdURBQXlDLENBQUE7SUFDekMsaUZBQW1FLENBQUE7SUFDbkUsbUVBQXFELENBQUE7SUFDckQsNkVBQStELENBQUE7SUFDL0QsaUZBQW1FLENBQUE7SUFDbkUsK0VBQWlFLENBQUE7SUFDakUseUJBQVcsQ0FBQTtJQUNYLHlCQUFXLENBQUE7SUFDWCwyQkFBYSxDQUFBO0lBQ2IseUJBQVcsQ0FBQTtJQUNYLHlCQUFXLENBQUE7SUFDWCx5QkFBVyxDQUFBO0lBQ1gseUJBQVcsQ0FBQTtJQUNYLHVDQUF5QixDQUFBO0lBQ3pCLHFDQUF1QixDQUFBO0lBQ3ZCLG1DQUFxQixDQUFBO0lBQ3JCLHVDQUF5QixDQUFBO0lBQ3pCLDZCQUFlLENBQUE7SUFDZixpQ0FBbUIsQ0FBQTtJQUNuQiwyQ0FBNkIsQ0FBQTtJQUM3QixpQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBdElXLFVBQVUsS0FBVixVQUFVLFFBc0lyQjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDeEIsK0JBQWEsQ0FBQTtJQUNiLG1DQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEtpdFN2Z0ljb24ge1xuICBMT0dPID0gJ2xvZ28nLFxuICBDSEVWUk9OX0RPV04gPSAnY2hldnJvbi1kb3duJyxcbiAgQ0hFVlJPTl9VUCA9ICdjaGV2cm9uLXVwJyxcbiAgQ0hFVlJPTl9SSUdIVCA9ICdjaGV2cm9uLXJpZ2h0JyxcbiAgUExVUyA9ICdwbHVzJyxcbiAgSU5GTyA9ICdpbmZvJyxcbiAgQ0FMRU5EQVIgPSAnY2FsZW5kYXInLFxuICBXQVJOSU5HID0gJ3dhcm5pbmcnLFxuICBFUlJPUiA9ICdlcnJvcicsXG4gIFNVQ0NFU1MgPSAnc3VjY2VzcycsXG4gIEVZRSA9ICdleWUnLFxuICBTRUFSQ0ggPSAnc2VhcmNoJyxcbiAgRURJVCA9ICdlZGl0JyxcbiAgTE9DQVRJT04gPSAnbG9jYXRpb24nLFxuICBDUk9TUyA9ICdjcm9zcycsXG4gIENIRUNLID0gJ2NoZWNrJyxcbiAgQ0hFQ0tfQ0lSQ0xFID0gJ2NoZWNrLWNpcmNsZScsXG4gIERJU0tFVFRFID0gJ2Rpc2tldHRlJyxcbiAgQ0xJUEJPQVJEID0gJ2NsaXBib2FyZCcsXG4gIExBWUVSUyA9ICdsYXllcnMnLFxuICBLTkFVRiA9ICdrbmF1Zi1sb2dvJyxcbiAgSE9NRSA9ICdob21lJyxcbiAgRE9VQkxFX0NJUkNMRSA9ICdkb3VibGUtY2lyY2xlJyxcbiAgUEVOQ0lMID0gJ3BlbmNpbCcsXG4gIE9SREVSID0gJ29yZGVyJyxcbiAgUkVTRVQgPSAncmVzZXQnLFxuICBDSVJDTEVfQ1JPU1MgPSAnY2lyY2xlLWNyb3NzJyxcbiAgVFJVQ0sgPSAndHJ1Y2snLFxuICBERUxJVkVSRUQgPSAnZGVsaXZlcmVkJyxcbiAgRlRMID0gJ2Z0bCcsXG4gIExUTCA9ICdsdGwnLFxuICBPUkcgPSAnb3JnJyxcbiAgQVJDSElWRSA9ICdhcmNoaXZlJyxcbiAgTE9HT1VUID0gJ2xvZ291dCcsXG4gIENPTlRBSU5FUiA9ICdjb250YWluZXInLFxuICBDQVJSSUVSID0gJ2NhcnJpZXInLFxuICBFWFBPUlQgPSAnZXhwb3J0JyxcbiAgR0VBUiA9ICdnZWFyJyxcbiAgU1RPQ0sgPSAnc3RvY2snLFxuICBTVEFUVVMgPSAnc3RhdHVzJyxcbiAgQ0xPU0VfU0lHTiA9ICdjbG9zZS1zaWduJyxcbiAgQ0xPU0VfU0lHTl9SRUQgPSAnY2xvc2Utc2lnbi1yZWQnLFxuICBPUEVOX1NJR05fR1JFRU4gPSAnb3Blbi1zaWduLWdyZWVuJyxcbiAgQVJST1dfTEVGVCA9ICdhcnJvdy1sZWZ0JyxcbiAgV0FSTklOR19ZRUxMT1cgPSAnd2FybmluZy15ZWxsb3cnLFxuICBDSVJDTEVfTUlOVVMgPSAnY2lyY2xlLW1pbnVzJyxcbiAgQ0lSQ0xFX1BMVVMgPSAnY2lyY2xlLXBsdXMnLFxuICBUSFJFRV9DSVJDTEVfQVJST1dfTEVGVCA9ICd0aHJlZS1jaXJjbGUtYXJyb3ctbGVmdCcsXG4gIFRIUkVFX0NJUkNMRV9BUlJPV19SSUdIVCA9ICd0aHJlZS1jaXJjbGUtYXJyb3ctcmlnaHQnLFxuICBTRU5EID0gJ3NlbmQnLFxuICBDQUxFTkRBUl9DSEVDSyA9ICdjYWxlbmRhci1jaGVjaycsXG4gIENMSVBCT0FSRF9USElOID0gJ2NsaXBib2FyZC10aGluJyxcbiAgV0FMTEVUID0gJ3dhbGxldCcsXG4gIENJUkNMRV9QVUxTRSA9ICdjaXJjbGUtcHVsc2UnLFxuICBDSVJDTEVfQ1JPU1NfVEhJTiA9ICdjaXJjbGUtY3Jvc3MtdGhpbicsXG4gIFRSQVNIID0gJ3RyYXNoJyxcbiAgV1JFTkNIID0gJ3dyZW5jaCcsXG4gIFRJTUUgPSAndGltZScsXG4gIFdBUk5JTkdfREVGQVVMVCA9ICd3YXJuaW5nLWRlZmF1bHQnLFxuICBST1RBVEVfTEVGVCA9ICdyb3RhdGUtbGVmdCcsXG4gIERPV05MT0FEID0gJ2Rvd25sb2FkJyxcbiAgRklMRV9URVhUID0gJ2ZpbGUtdGV4dCcsXG4gIEFSUk9XX1VQX1JJR0hUX0ZST01fU1FVQVJFID0gJ2Fycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlJyxcbiAgQ0lSQ0xFX0VYQ0xBTUFUSU9OID0gJ2NpcmNsZS1leGNsYW1hdGlvbicsXG4gIFRSSUFOR0xFX0VYQ0xBTUFUSU9OID0gJ3RyaWFuZ2xlLWV4Y2xhbWF0aW9uJyxcbiAgU0hJUCA9ICdzaGlwJyxcbiAgQ0xPQ0sgPSAnY2xvY2snLFxuICBGQUNUT1JZID0gJ2ZhY3RvcnknLFxuICBDT1BZID0gJ2NvcHknLFxuICBHRUFSXzEgPSAnZ2Vhci0xJyxcbiAgSE9VU0UgPSAnaG91c2UnLFxuICBDSEFSVCA9ICdjaGFydCcsXG4gIENMSVAgPSAnY2xpcCcsXG4gIE1BSUwgPSAnbWFpbCcsXG4gIE1FTlUgPSAnbWVudScsXG4gIE1FU1NBR0UgPSAnbWVzc2FnZScsXG4gIFJFTE9BRCA9ICdyZWxvYWQnLFxuICBXSU5ET1dfUkVTVE9SRSA9ICd3aW5kb3ctcmVzdG9yZScsXG4gIEJBQ0tfQVJST1cgPSAnYmFjay1hcnJvdycsXG4gIFVTRVIgPSAndXNlcicsXG4gIENBUkVUX0RPV04gPSAnY2FyZXQtZG93bicsXG4gIENBUkVUX1VQID0gJ2NhcmV0LXVwJyxcbiAgSU5GT19DSVJDTEUgPSAnaW5mby1jaXJjbGUnLFxuICBDSEVDS19DSVJDTEVfRklMTEVEID0gJ2NoZWNrLWNpcmNsZS1maWxsZWQnLFxuICBXQVJOSU5HX0NJUkNMRSA9ICd3YXJuaW5nLWNpcmNsZScsXG4gIFdBUk5JTkdfQ0lSQ0xFX0ZJTExFRCA9ICd3YXJuaW5nLWNpcmNsZS1maWxsZWQnLFxuICBDTE9TRV9DSVJDTEVfRklMTEVEID0gJ2Nsb3NlLWNpcmNsZS1maWxsZWQnLFxuICBRVUVTVElPTl9DSVJDTEUgPSAncXVlc3Rpb24tY2lyY2xlJyxcbiAgU1RBUiA9ICdzdGFyJyxcbiAgU09SVF9BU0NFTkRJTkcgPSAnc29ydC1hc2NlbmRpbmcnLFxuICBTT1JUX0RFU0NFTkRJTkcgPSAnc29ydC1kZXNjZW5kaW5nJyxcbiAgUEFZTUVOVFMgPSAncGF5bWVudHMnLFxuICBTVVBQTFlfQ0hBSU4gPSAnc3VwcGx5LWNoYWluJyxcbiAgQU5BTFlUSUNTID0gJ2FuYWx5dGljcycsXG4gIENPTlRST0xfUEFORUwgPSAnY29udHJvbC1wYW5lbCcsXG4gIFNFS08gPSAnc2VrbycsXG4gIFNFS09fMzYwID0gJ3Nla28tMzYwJyxcbiAgRk9VUl9TUVVBUkUgPSAnZm91ci1zcXVhcmUnLFxuICBMT0dJU1RJQ1MgPSAnbG9naXN0aWNzJyxcbiAgUFJJTlRJTkcgPSAncHJpbnRpbmcnLFxuICBTQUxFU19DSEFOTkVMUyA9ICdzYWxlcy1jaGFubmVscycsXG4gIERFU0lHTiA9ICdkZXNpZ24nLFxuICBTSElQTUVOVFNfVE9fQVBQUk9WRSA9ICdzaGlwbWVudHMtdG8tYXBwcm92ZScsXG4gIFNISVBNRU5UU19JTl9UUkFOU0lUID0gJ3NoaXBtZW50cy1pbi10cmFuc2l0JyxcbiAgQ09OVEFJTkVSU19UT19ERUxJVkVSID0gJ2NvbnRhaW5lcnMtdG8tZGVsaXZlcicsXG4gIFNISVBNRU5UU19EUkFGVCA9ICdzaGlwbWVudHMtZHJhZnQnLFxuICBTSElQTUVOVFNfQ0FOQ0VMTEFUSU9OX1JFUVVFU1RTID0gJ3NoaXBtZW50cy1jYW5jZWxsYXRpb24tcmVxdWVzdHMnLFxuICBTSElQTUVOVFNfRk9SX1JFX0FVVEggPSAnc2hpcG1lbnRzLWZvci1yZS1hdXRoJyxcbiAgU0hJUE1FTlRTX1JFQURZX1RPX1NISVAgPSAnc2hpcG1lbnRzLXJlYWR5LXRvLXNoaXAnLFxuICBCT09LSU5HU19EUkFGVCA9ICdib29raW5ncy1kcmFmdCcsXG4gIFNISVBNRU5UU19QRU5ESU5HX0lOU1RSVUNUSU9OUyA9ICdzaGlwbWVudHMtcGVuZGluZy1pbnN0cnVjdGlvbnMnLFxuICBTSElQTUVOVFNfUEVORElOR19ET0NVTUVOVFMgPSAnc2hpcG1lbnRzLXBlbmRpbmctZG9jdW1lbnRzJyxcbiAgREVMSVZFUklFU19UT19CT09LID0gJ2RlbGl2ZXJpZXMtdG8tYm9vaycsXG4gIERFTElWRVJJRVNfUkVRVUlSRV9DT05GSVJNQVRJT04gPSAnZGVsaXZlcmllcy1yZXF1aXJlLWNvbmZpcm1hdGlvbicsXG4gIERFTElWRVJJRVNfVE9fUkVTQ0hFRFVMRSA9ICdkZWxpdmVyaWVzLXRvLXJlc2NoZWR1bGUnLFxuICBERUxJVkVSSUVTX1JFUVVJUkVfQU1FTkRNRU5UUyA9ICdkZWxpdmVyaWVzLXJlcXVpcmUtYW1lbmRtZW50cycsXG4gIERFTElWRVJJRVNfUkVRVUlSRV9DQU5DRUxMQVRJT04gPSAnZGVsaXZlcmllcy1yZXF1aXJlLWNhbmNlbGxhdGlvbicsXG4gIERFTElWRVJJRVNfUkVRVUlSRV9QT0RfQ1VTVE9NUyA9ICdkZWxpdmVyaWVzLXJlcXVpcmUtcG9kLWN1c3RvbXMnLFxuICBXTVMgPSAnd21zJyxcbiAgRENNID0gJ2RjbScsXG4gIElIVUIgPSAnaWh1YicsXG4gIFRNUyA9ICd0bXMnLFxuICBOU1MgPSAnbnNzJyxcbiAgRE1TID0gJ2RtcycsXG4gIFBNUyA9ICdwbXMnLFxuICBFWENFTF9GSUxFID0gJ2V4Y2VsLWZpbGUnLFxuICBXT1JEX0ZJTEUgPSAnd29yZC1maWxlJyxcbiAgUERGX0ZJTEUgPSAncGRmLWZpbGUnLFxuICBJTUFHRV9GSUxFID0gJ2ltYWdlLWZpbGUnLFxuICBFTVBUWSA9ICdlbXB0eScsXG4gIFBST0RVQ1QgPSAncHJvZHVjdCcsXG4gIE5PVElGSUNBVElPTiA9ICdub3RpZmljYXRpb24nLFxuICBDT0xVTU5TID0gJ2NvbHVtbnMnLFxufVxuXG5leHBvcnQgZW51bSBLaXRTdmdJY29uVHlwZSB7XG4gIEZJTEwgPSAnZmlsbCcsXG4gIFNUUk9LRSA9ICdzdHJva2UnLFxufVxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0LXN2Zy1pY29uLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9raXQtc3ZnLWljb24va2l0LXN2Zy1pY29uLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFVBdUlYO0FBdklELFdBQVksVUFBVTtJQUNwQiwyQkFBYSxDQUFBO0lBQ2IsMkNBQTZCLENBQUE7SUFDN0IsdUNBQXlCLENBQUE7SUFDekIsNkNBQStCLENBQUE7SUFDL0IsMkJBQWEsQ0FBQTtJQUNiLDJCQUFhLENBQUE7SUFDYixtQ0FBcUIsQ0FBQTtJQUNyQixpQ0FBbUIsQ0FBQTtJQUNuQiw2QkFBZSxDQUFBO0lBQ2YsaUNBQW1CLENBQUE7SUFDbkIseUJBQVcsQ0FBQTtJQUNYLCtCQUFpQixDQUFBO0lBQ2pCLDJCQUFhLENBQUE7SUFDYixtQ0FBcUIsQ0FBQTtJQUNyQiw2QkFBZSxDQUFBO0lBQ2YsNkJBQWUsQ0FBQTtJQUNmLDJDQUE2QixDQUFBO0lBQzdCLG1DQUFxQixDQUFBO0lBQ3JCLHFDQUF1QixDQUFBO0lBQ3ZCLCtCQUFpQixDQUFBO0lBQ2pCLGtDQUFvQixDQUFBO0lBQ3BCLDJCQUFhLENBQUE7SUFDYiw2Q0FBK0IsQ0FBQTtJQUMvQiwrQkFBaUIsQ0FBQTtJQUNqQiw2QkFBZSxDQUFBO0lBQ2YsNkJBQWUsQ0FBQTtJQUNmLDJDQUE2QixDQUFBO0lBQzdCLDZCQUFlLENBQUE7SUFDZixxQ0FBdUIsQ0FBQTtJQUN2Qix5QkFBVyxDQUFBO0lBQ1gseUJBQVcsQ0FBQTtJQUNYLHlCQUFXLENBQUE7SUFDWCxpQ0FBbUIsQ0FBQTtJQUNuQiwrQkFBaUIsQ0FBQTtJQUNqQixxQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBbUIsQ0FBQTtJQUNuQiwrQkFBaUIsQ0FBQTtJQUNqQiwyQkFBYSxDQUFBO0lBQ2IsNkJBQWUsQ0FBQTtJQUNm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Y0FBYyxRQUd6QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEtpdFN2Z0ljb24ge1xuICBMT0dPID0gJ2xvZ28nLFxuICBDSEVWUk9OX0RPV04gPSAnY2hldnJvbi1kb3duJyxcbiAgQ0hFVlJPTl9VUCA9ICdjaGV2cm9uLXVwJyxcbiAgQ0hFVlJPTl9SSUdIVCA9ICdjaGV2cm9uLXJpZ2h0JyxcbiAgUExVUyA9ICdwbHVzJyxcbiAgSU5GTyA9ICdpbmZvJyxcbiAgQ0FMRU5EQVIgPSAnY2FsZW5kYXInLFxuICBXQVJOSU5HID0gJ3dhcm5pbmcnLFxuICBFUlJPUiA9ICdlcnJvcicsXG4gIFNVQ0NFU1MgPSAnc3VjY2VzcycsXG4gIEVZRSA9ICdleWUnLFxuICBTRUFSQ0ggPSAnc2VhcmNoJyxcbiAgRURJVCA9ICdlZGl0JyxcbiAgTE9DQVRJT04gPSAnbG9jYXRpb24nLFxuICBDUk9TUyA9ICdjcm9zcycsXG4gIENIRUNLID0gJ2NoZWNrJyxcbiAgQ0hFQ0tfQ0lSQ0xFID0gJ2NoZWNrLWNpcmNsZScsXG4gIERJU0tFVFRFID0gJ2Rpc2tldHRlJyxcbiAgQ0xJUEJPQVJEID0gJ2NsaXBib2FyZCcsXG4gIExBWUVSUyA9ICdsYXllcnMnLFxuICBLTkFVRiA9ICdrbmF1Zi1sb2dvJyxcbiAgSE9NRSA9ICdob21lJyxcbiAgRE9VQkxFX0NJUkNMRSA9ICdkb3VibGUtY2lyY2xlJyxcbiAgUEVOQ0lMID0gJ3BlbmNpbCcsXG4gIE9SREVSID0gJ29yZGVyJyxcbiAgUkVTRVQgPSAncmVzZXQnLFxuICBDSVJDTEVfQ1JPU1MgPSAnY2lyY2xlLWNyb3NzJyxcbiAgVFJVQ0sgPSAndHJ1Y2snLFxuICBERUxJVkVSRUQgPSAnZGVsaXZlcmVkJyxcbiAgRlRMID0gJ2Z0bCcsXG4gIExUTCA9ICdsdGwnLFxuICBPUkcgPSAnb3JnJyxcbiAgQVJDSElWRSA9ICdhcmNoaXZlJyxcbiAgTE9HT1VUID0gJ2xvZ291dCcsXG4gIENPTlRBSU5FUiA9ICdjb250YWluZXInLFxuICBDQVJSSUVSID0gJ2NhcnJpZXInLFxuICBFWFBPUlQgPSAnZXhwb3J0JyxcbiAgR0VBUiA9ICdnZWFyJyxcbiAgU1RPQ0sgPSAnc3RvY2snLFxuICBTVEFUVVMgPSAnc3RhdHVzJyxcbiAgQ0xPU0VfU0lHTiA9ICdjbG9zZS1zaWduJyxcbiAgQ0xPU0VfU0lHTl9SRUQgPSAnY2xvc2Utc2lnbi1yZWQnLFxuICBPUEVOX1NJR05fR1JFRU4gPSAnb3Blbi1zaWduLWdyZWVuJyxcbiAgQVJST1dfTEVGVCA9ICdhcnJvdy1sZWZ0JyxcbiAgV0FSTklOR19ZRUxMT1cgPSAnd2FybmluZy15ZWxsb3cnLFxuICBDSVJDTEVfTUlOVVMgPSAnY2lyY2xlLW1pbnVzJyxcbiAgQ0lSQ0xFX1BMVVMgPSAnY2lyY2xlLXBsdXMnLFxuICBUSFJFRV9DSVJDTEVfQVJST1dfTEVGVCA9ICd0aHJlZS1jaXJjbGUtYXJyb3ctbGVmdCcsXG4gIFRIUkVFX0NJUkNMRV9BUlJPV19SSUdIVCA9ICd0aHJlZS1jaXJjbGUtYXJyb3ctcmlnaHQnLFxuICBTRU5EID0gJ3NlbmQnLFxuICBDQUxFTkRBUl9DSEVDSyA9ICdjYWxlbmRhci1jaGVjaycsXG4gIENMSVBCT0FSRF9USElOID0gJ2NsaXBib2FyZC10aGluJyxcbiAgV0FMTEVUID0gJ3dhbGxldCcsXG4gIENJUkNMRV9QVUxTRSA9ICdjaXJjbGUtcHVsc2UnLFxuICBDSVJDTEVfQ1JPU1NfVEhJTiA9ICdjaXJjbGUtY3Jvc3MtdGhpbicsXG4gIFRSQVNIID0gJ3RyYXNoJyxcbiAgV1JFTkNIID0gJ3dyZW5jaCcsXG4gIFRJTUUgPSAndGltZScsXG4gIFdBUk5JTkdfREVGQVVMVCA9ICd3YXJuaW5nLWRlZmF1bHQnLFxuICBST1RBVEVfTEVGVCA9ICdyb3RhdGUtbGVmdCcsXG4gIERPV05MT0FEID0gJ2Rvd25sb2FkJyxcbiAgRklMRV9URVhUID0gJ2ZpbGUtdGV4dCcsXG4gIEFSUk9XX1VQX1JJR0hUX0ZST01fU1FVQVJFID0gJ2Fycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlJyxcbiAgQ0lSQ0xFX0VYQ0xBTUFUSU9OID0gJ2NpcmNsZS1leGNsYW1hdGlvbicsXG4gIFRSSUFOR0xFX0VYQ0xBTUFUSU9OID0gJ3RyaWFuZ2xlLWV4Y2xhbWF0aW9uJyxcbiAgU0hJUCA9ICdzaGlwJyxcbiAgQ0xPQ0sgPSAnY2xvY2snLFxuICBGQUNUT1JZID0gJ2ZhY3RvcnknLFxuICBDT1BZID0gJ2NvcHknLFxuICBHRUFSXzEgPSAnZ2Vhci0xJyxcbiAgSE9VU0UgPSAnaG91c2UnLFxuICBDSEFSVCA9ICdjaGFydCcsXG4gIENMSVAgPSAnY2xpcCcsXG4gIE1BSUwgPSAnbWFpbCcsXG4gIE1FTlUgPSAnbWVudScsXG4gIE1FU1NBR0UgPSAnbWVzc2FnZScsXG4gIFJFTE9BRCA9ICdyZWxvYWQnLFxuICBXSU5ET1dfUkVTVE9SRSA9ICd3aW5kb3ctcmVzdG9yZScsXG4gIEJBQ0tfQVJST1cgPSAnYmFjay1hcnJvdycsXG4gIFVTRVIgPSAndXNlcicsXG4gIENBUkVUX0RPV04gPSAnY2FyZXQtZG93bicsXG4gIENBUkVUX1VQID0gJ2NhcmV0LXVwJyxcbiAgSU5GT19DSVJDTEUgPSAnaW5mby1jaXJjbGUnLFxuICBDSEVDS19DSVJDTEVfRklMTEVEID0gJ2NoZWNrLWNpcmNsZS1maWxsZWQnLFxuICBXQVJOSU5HX0NJUkNMRSA9ICd3YXJuaW5nLWNpcmNsZScsXG4gIFdBUk5JTkdfQ0lSQ0xFX0ZJTExFRCA9ICd3YXJuaW5nLWNpcmNsZS1maWxsZWQnLFxuICBDTE9TRV9DSVJDTEVfRklMTEVEID0gJ2Nsb3NlLWNpcmNsZS1maWxsZWQnLFxuICBRVUVTVElPTl9DSVJDTEUgPSAncXVlc3Rpb24tY2lyY2xlJyxcbiAgU1RBUiA9ICdzdGFyJyxcbiAgU09SVF9BU0NFTkRJTkcgPSAnc29ydC1hc2NlbmRpbmcnLFxuICBTT1JUX0RFU0NFTkRJTkcgPSAnc29ydC1kZXNjZW5kaW5nJyxcbiAgUEFZTUVOVFMgPSAncGF5bWVudHMnLFxuICBTVVBQTFlfQ0hBSU4gPSAnc3VwcGx5LWNoYWluJyxcbiAgQU5BTFlUSUNTID0gJ2FuYWx5dGljcycsXG4gIENPTlRST0xfUEFORUwgPSAnY29udHJvbC1wYW5lbCcsXG4gIFNFS08gPSAnc2VrbycsXG4gIFNFS09fMzYwID0gJ3Nla28tMzYwJyxcbiAgRk9VUl9TUVVBUkUgPSAnZm91ci1zcXVhcmUnLFxuICBMT0dJU1RJQ1MgPSAnbG9naXN0aWNzJyxcbiAgUFJJTlRJTkcgPSAncHJpbnRpbmcnLFxuICBTQUxFU19DSEFOTkVMUyA9ICdzYWxlcy1jaGFubmVscycsXG4gIERFU0lHTiA9ICdkZXNpZ24nLFxuICBTSElQTUVOVFNfVE9fQVBQUk9WRSA9ICdzaGlwbWVudHMtdG8tYXBwcm92ZScsXG4gIFNISVBNRU5UU19JTl9UUkFOU0lUID0gJ3NoaXBtZW50cy1pbi10cmFuc2l0JyxcbiAgQ09OVEFJTkVSU19UT19ERUxJVkVSID0gJ2NvbnRhaW5lcnMtdG8tZGVsaXZlcicsXG4gIFNISVBNRU5UU19EUkFGVCA9ICdzaGlwbWVudHMtZHJhZnQnLFxuICBTSElQTUVOVFNfQ0FOQ0VMTEFUSU9OX1JFUVVFU1RTID0gJ3NoaXBtZW50cy1jYW5jZWxsYXRpb24tcmVxdWVzdHMnLFxuICBTSElQTUVOVFNfRk9SX1JFX0FVVEggPSAnc2hpcG1lbnRzLWZvci1yZS1hdXRoJyxcbiAgU0hJUE1FTlRTX1JFQURZX1RPX1NISVAgPSAnc2hpcG1lbnRzLXJlYWR5LXRvLXNoaXAnLFxuICBCT09LSU5HU19EUkFGVCA9ICdib29raW5ncy1kcmFmdCcsXG4gIFNISVBNRU5UU19QRU5ESU5HX0lOU1RSVUNUSU9OUyA9ICdzaGlwbWVudHMtcGVuZGluZy1pbnN0cnVjdGlvbnMnLFxuICBTSElQTUVOVFNfUEVORElOR19ET0NVTUVOVFMgPSAnc2hpcG1lbnRzLXBlbmRpbmctZG9jdW1lbnRzJyxcbiAgREVMSVZFUklFU19UT19CT09LID0gJ2RlbGl2ZXJpZXMtdG8tYm9vaycsXG4gIERFTElWRVJJRVNfUkVRVUlSRV9DT05GSVJNQVRJT04gPSAnZGVsaXZlcmllcy1yZXF1aXJlLWNvbmZpcm1hdGlvbicsXG4gIERFTElWRVJJRVNfVE9fUkVTQ0hFRFVMRSA9ICdkZWxpdmVyaWVzLXRvLXJlc2NoZWR1bGUnLFxuICBERUxJVkVSSUVTX1JFUVVJUkVfQU1FTkRNRU5UUyA9ICdkZWxpdmVyaWVzLXJlcXVpcmUtYW1lbmRtZW50cycsXG4gIERFTElWRVJJRVNfUkVRVUlSRV9DQU5DRUxMQVRJT04gPSAnZGVsaXZlcmllcy1yZXF1aXJlLWNhbmNlbGxhdGlvbicsXG4gIERFTElWRVJJRVNfUkVRVUlSRV9QT0RfQ1VTVE9NUyA9ICdkZWxpdmVyaWVzLXJlcXVpcmUtcG9kLWN1c3RvbXMnLFxuICBXTVMgPSAnd21zJyxcbiAgRENNID0gJ2RjbScsXG4gIElIVUIgPSAnaWh1YicsXG4gIFRNUyA9ICd0bXMnLFxuICBOU1MgPSAnbnNzJyxcbiAgRE1TID0gJ2RtcycsXG4gIFBNUyA9ICdwbXMnLFxuICBFWENFTF9GSUxFID0gJ2V4Y2VsLWZpbGUnLFxuICBXT1JEX0ZJTEUgPSAnd29yZC1maWxlJyxcbiAgUERGX0ZJTEUgPSAncGRmLWZpbGUnLFxuICBJTUFHRV9GSUxFID0gJ2ltYWdlLWZpbGUnLFxuICBFTVBUWSA9ICdlbXB0eScsXG4gIFBST0RVQ1QgPSAncHJvZHVjdCcsXG4gIE5PVElGSUNBVElPTiA9ICdub3RpZmljYXRpb24nLFxuICBDT0xVTU5TID0gJ2NvbHVtbnMnLFxuICBERVRBSUxTID0gJ2RldGFpbHMnLFxufVxuXG5leHBvcnQgZW51bSBLaXRTdmdJY29uVHlwZSB7XG4gIEZJTEwgPSAnZmlsbCcsXG4gIFNUUk9LRSA9ICdzdHJva2UnLFxufVxuIl19