@coreui/angular-pro 4.2.42 → 4.2.43

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.
@@ -1,4 +1,4 @@
1
- var _SmartTableHeadComponent_selectAll, _SmartTableHeadComponent_selectedAllPreviousValue, _SmartTableHeadComponent_selectedAll, _SmartTableHeadComponent_columnFilterTemplates, _SmartTableHeadComponent_summaryRowTemplate;
1
+ var _SmartTableHeadComponent_selectAll, _SmartTableHeadComponent_selectedAllPreviousValue, _SmartTableHeadComponent_selectedAll, _SmartTableHeadComponent_columnFilterTemplates, _SmartTableHeadComponent_columnLabelTemplates, _SmartTableHeadComponent_summaryRowTemplate;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
3
  import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
4
4
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
@@ -20,6 +20,7 @@ export class SmartTableHeadComponent {
20
20
  _SmartTableHeadComponent_selectedAllPreviousValue.set(this, void 0);
21
21
  _SmartTableHeadComponent_selectedAll.set(this, false);
22
22
  _SmartTableHeadComponent_columnFilterTemplates.set(this, {});
23
+ _SmartTableHeadComponent_columnLabelTemplates.set(this, {});
23
24
  _SmartTableHeadComponent_summaryRowTemplate.set(this, null);
24
25
  // todo
25
26
  // @Input() sortingIcon?: string | TemplateRef<any>;
@@ -56,6 +57,14 @@ export class SmartTableHeadComponent {
56
57
  return __classPrivateFieldGet(this, _SmartTableHeadComponent_columnFilterTemplates, "f");
57
58
  }
58
59
  ;
60
+ set columnLabelTemplates(value) {
61
+ __classPrivateFieldSet(this, _SmartTableHeadComponent_columnLabelTemplates, { ...value }, "f");
62
+ }
63
+ ;
64
+ get columnLabelTemplates() {
65
+ return __classPrivateFieldGet(this, _SmartTableHeadComponent_columnLabelTemplates, "f");
66
+ }
67
+ ;
59
68
  set summaryRowTemplate(value) {
60
69
  __classPrivateFieldSet(this, _SmartTableHeadComponent_summaryRowTemplate, value, "f");
61
70
  }
@@ -151,17 +160,23 @@ export class SmartTableHeadComponent {
151
160
  getColumnFilter(column) {
152
161
  return `columnFilter_${this.columnKey(column) ?? '_undefined'}`;
153
162
  }
163
+ getColumnLabel(column) {
164
+ if (typeof column === 'object' && column._labelTemplateId) {
165
+ return `columnLabel_${column._labelTemplateId ?? '_undefined'}`;
166
+ }
167
+ return `columnLabel_${this.columnKey(column) ?? '_undefined'}`;
168
+ }
154
169
  get columnFilterEvent() {
155
170
  return (typeof this.columnFilter === 'object' && this.columnFilter.lazy) ? 'change' : 'input';
156
171
  }
157
172
  ;
158
173
  }
159
- _SmartTableHeadComponent_selectAll = new WeakMap(), _SmartTableHeadComponent_selectedAllPreviousValue = new WeakMap(), _SmartTableHeadComponent_selectedAll = new WeakMap(), _SmartTableHeadComponent_columnFilterTemplates = new WeakMap(), _SmartTableHeadComponent_summaryRowTemplate = new WeakMap();
174
+ _SmartTableHeadComponent_selectAll = new WeakMap(), _SmartTableHeadComponent_selectedAllPreviousValue = new WeakMap(), _SmartTableHeadComponent_selectedAll = new WeakMap(), _SmartTableHeadComponent_columnFilterTemplates = new WeakMap(), _SmartTableHeadComponent_columnLabelTemplates = new WeakMap(), _SmartTableHeadComponent_summaryRowTemplate = new WeakMap();
160
175
  SmartTableHeadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SmartTableHeadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
161
- SmartTableHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SmartTableHeadComponent, selector: "c-smart-table-head", inputs: { columnFilter: "columnFilter", columnFilterState: "columnFilterState", columnSorter: "columnSorter", component: "component", columns: "columns", selectable: "selectable", selectAll: "selectAll", selectedAll: "selectedAll", sorterValue: "sorterValue", columnFilterTemplates: "columnFilterTemplates", summaryRowTemplate: "summaryRowTemplate" }, outputs: { columnFilterStateChange: "columnFilterStateChange", sorterStateChange: "sorterStateChange", selectAllChange: "selectAllChange" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<ng-template [ngIf]=\"component==='tfoot'\">\n <ng-container *ngTemplateOutlet=\"summaryRowTemplate\"></ng-container>\n</ng-template>\n<tr>\n <th *ngIf=\"selectable\">\n <input\n cFormCheckInput\n (change)=\"handleSelectAllChecked($event)\"\n [checked]=\"selectedAll === true\"\n [indeterminate]=\"indeterminate$ | async\"\n type=\"checkbox\"\n [disabled]=\"!selectAll\"\n autocomplete=\"off\"\n >\n </th>\n <th\n (click)=\"handleSortClick(column, i)\"\n *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\n <ng-container\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\">\n </ng-container>\n </ng-template>\n <div class=\"d-inline\">{{ column | columnLabel }}</div>\n </th>\n</tr>\n<tr *ngIf=\"columnFilter\">\n <th *ngIf=\"selectable\"></th>\n <th *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-container\n *ngTemplateOutlet=\"columnFilterTemplates[getColumnFilter(column)] ?? defaultColumnFilter; context: {$implicit: column, header: this}\">\n </ng-container>\n </th>\n</tr>\n\n<ng-template #defaultColumnFilter let-column>\n <c-smart-table-column-filter\n (valueChange)=\"handleColumnFilterValueChange($event)\"\n *ngIf=\"columnFilterEnabled(column)\"\n [column]=\"column\"\n [delay]=\"300\"\n [onEvent]=\"columnFilterEvent\"\n [value]=\"columnFilterState[columnKey(column)] ?? ''\"\n cFilterInput\n sizing=\"sm\"\n ></c-smart-table-column-filter>\n</ng-template>\n\n<ng-template #columnSorterIconTemplate let-columnSorterState>\n <ng-container [ngSwitch]=\"columnSorterState\">\n <span *ngSwitchCase=\"'asc'\" class=\"float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconAscendingTemplate\"></ng-container>\n </span>\n <span *ngSwitchCase=\"'desc'\" class=\"float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconDescendingTemplate\"></ng-container>\n </span>\n <span *ngSwitchDefault class=\"opacity-25 float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconTemplate\"></ng-container>\n </span>\n </ng-container>\n</ng-template>\n\n<!--todo: sortingIconCustom Templates-->\n<ng-template #sortingIconTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"384 433.373 384 160 352 160 352 434.51 282.177 364.687 259.55 387.313 367.432 495.196 475.313 387.313 452.687 364.687 384 433.373\"\n ></polygon>\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"159.432 17.372 51.55 125.255 74.177 147.882 144 78.059 144 352 176 352 176 79.195 244.687 147.882 267.313 125.255 159.432 17.372\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconAscendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"390.624 150.625 256 16 121.376 150.625 144.004 173.252 240.001 77.254 240.001 495.236 272.001 495.236 272.001 77.257 367.996 173.252 390.624 150.625\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconDescendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"367.997 338.75 271.999 434.747 271.999 17.503 239.999 17.503 239.999 434.745 144.003 338.75 121.376 361.377 256 496 390.624 361.377 367.997 338.75\"\n ></polygon>\n </svg>\n</ng-template>\n", styles: [":host{-webkit-user-select:none;user-select:none}:host.thead{display:table-header-group;vertical-align:middle;border-color:inherit}:host.tfoot{display:table-footer-group;vertical-align:middle;border-color:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.TableColorDirective, selector: "[cTableColor]", inputs: ["cTableColor"] }, { kind: "directive", type: i3.FormCheckInputDirective, selector: "input[cFormCheckInput]", inputs: ["type", "indeterminate", "valid", "checked"] }, { kind: "directive", type: i4.HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: i5.FilterInputDirective, selector: "[cFilterInput]", inputs: ["delay", "onEvent", "value"], outputs: ["valueChange"], exportAs: ["cFilterInput"] }, { kind: "component", type: i6.SmartTableColumnFilterComponent, selector: "c-smart-table-column-filter", inputs: ["column", "sizing"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.SmartTableColumnLabelPipe, name: "columnLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
176
+ SmartTableHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SmartTableHeadComponent, selector: "c-smart-table-head", inputs: { columnFilter: "columnFilter", columnFilterState: "columnFilterState", columnSorter: "columnSorter", component: "component", columns: "columns", selectable: "selectable", selectAll: "selectAll", selectedAll: "selectedAll", sorterValue: "sorterValue", columnFilterTemplates: "columnFilterTemplates", columnLabelTemplates: "columnLabelTemplates", summaryRowTemplate: "summaryRowTemplate" }, outputs: { columnFilterStateChange: "columnFilterStateChange", sorterStateChange: "sorterStateChange", selectAllChange: "selectAllChange" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<ng-template [ngIf]=\"component==='tfoot'\">\n <ng-container *ngTemplateOutlet=\"summaryRowTemplate\"></ng-container>\n</ng-template>\n<tr>\n <th *ngIf=\"selectable\">\n <input\n cFormCheckInput\n (change)=\"handleSelectAllChecked($event)\"\n [checked]=\"selectedAll === true\"\n [indeterminate]=\"indeterminate$ | async\"\n type=\"checkbox\"\n [disabled]=\"!selectAll\"\n autocomplete=\"off\"\n >\n </th>\n <th\n (click)=\"handleSortClick(column, i)\"\n *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\n <ng-container\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\">\n </ng-container>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"columnLabelTemplates[getColumnLabel(column)] ?? defaultColumnLabel; context: {$implicit: column, header: this}\">\n </ng-container>\n </th>\n</tr>\n<tr *ngIf=\"columnFilter\">\n <th *ngIf=\"selectable\"></th>\n <th *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-container\n *ngTemplateOutlet=\"columnFilterTemplates[getColumnFilter(column)] ?? defaultColumnFilter; context: {$implicit: column, header: this}\">\n </ng-container>\n </th>\n</tr>\n\n<ng-template #defaultColumnLabel let-column>\n <div class=\"d-inline\">{{ column | columnLabel }}</div>\n</ng-template>\n\n<ng-template #defaultColumnFilter let-column>\n <c-smart-table-column-filter\n (valueChange)=\"handleColumnFilterValueChange($event)\"\n *ngIf=\"columnFilterEnabled(column)\"\n [column]=\"column\"\n [delay]=\"300\"\n [onEvent]=\"columnFilterEvent\"\n [value]=\"columnFilterState[columnKey(column)] ?? ''\"\n cFilterInput\n sizing=\"sm\"\n ></c-smart-table-column-filter>\n</ng-template>\n\n<ng-template #columnSorterIconTemplate let-columnSorterState>\n <ng-container [ngSwitch]=\"columnSorterState\">\n <span *ngSwitchCase=\"'asc'\" class=\"float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconAscendingTemplate\"></ng-container>\n </span>\n <span *ngSwitchCase=\"'desc'\" class=\"float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconDescendingTemplate\"></ng-container>\n </span>\n <span *ngSwitchDefault class=\"opacity-25 float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconTemplate\"></ng-container>\n </span>\n </ng-container>\n</ng-template>\n\n<!--todo: sortingIconCustom Templates-->\n<ng-template #sortingIconTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"384 433.373 384 160 352 160 352 434.51 282.177 364.687 259.55 387.313 367.432 495.196 475.313 387.313 452.687 364.687 384 433.373\"\n ></polygon>\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"159.432 17.372 51.55 125.255 74.177 147.882 144 78.059 144 352 176 352 176 79.195 244.687 147.882 267.313 125.255 159.432 17.372\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconAscendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"390.624 150.625 256 16 121.376 150.625 144.004 173.252 240.001 77.254 240.001 495.236 272.001 495.236 272.001 77.257 367.996 173.252 390.624 150.625\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconDescendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"367.997 338.75 271.999 434.747 271.999 17.503 239.999 17.503 239.999 434.745 144.003 338.75 121.376 361.377 256 496 390.624 361.377 367.997 338.75\"\n ></polygon>\n </svg>\n</ng-template>\n", styles: [":host{-webkit-user-select:none;user-select:none}:host.thead{display:table-header-group;vertical-align:middle;border-color:inherit}:host.tfoot{display:table-footer-group;vertical-align:middle;border-color:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.TableColorDirective, selector: "[cTableColor]", inputs: ["cTableColor"] }, { kind: "directive", type: i3.FormCheckInputDirective, selector: "input[cFormCheckInput]", inputs: ["type", "indeterminate", "valid", "checked"] }, { kind: "directive", type: i4.HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { kind: "directive", type: i5.FilterInputDirective, selector: "[cFilterInput]", inputs: ["delay", "onEvent", "value"], outputs: ["valueChange"], exportAs: ["cFilterInput"] }, { kind: "component", type: i6.SmartTableColumnFilterComponent, selector: "c-smart-table-column-filter", inputs: ["column", "sizing"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.SmartTableColumnLabelPipe, name: "columnLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
162
177
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SmartTableHeadComponent, decorators: [{
163
178
  type: Component,
164
- args: [{ selector: 'c-smart-table-head', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template [ngIf]=\"component==='tfoot'\">\n <ng-container *ngTemplateOutlet=\"summaryRowTemplate\"></ng-container>\n</ng-template>\n<tr>\n <th *ngIf=\"selectable\">\n <input\n cFormCheckInput\n (change)=\"handleSelectAllChecked($event)\"\n [checked]=\"selectedAll === true\"\n [indeterminate]=\"indeterminate$ | async\"\n type=\"checkbox\"\n [disabled]=\"!selectAll\"\n autocomplete=\"off\"\n >\n </th>\n <th\n (click)=\"handleSortClick(column, i)\"\n *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\n <ng-container\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\">\n </ng-container>\n </ng-template>\n <div class=\"d-inline\">{{ column | columnLabel }}</div>\n </th>\n</tr>\n<tr *ngIf=\"columnFilter\">\n <th *ngIf=\"selectable\"></th>\n <th *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-container\n *ngTemplateOutlet=\"columnFilterTemplates[getColumnFilter(column)] ?? defaultColumnFilter; context: {$implicit: column, header: this}\">\n </ng-container>\n </th>\n</tr>\n\n<ng-template #defaultColumnFilter let-column>\n <c-smart-table-column-filter\n (valueChange)=\"handleColumnFilterValueChange($event)\"\n *ngIf=\"columnFilterEnabled(column)\"\n [column]=\"column\"\n [delay]=\"300\"\n [onEvent]=\"columnFilterEvent\"\n [value]=\"columnFilterState[columnKey(column)] ?? ''\"\n cFilterInput\n sizing=\"sm\"\n ></c-smart-table-column-filter>\n</ng-template>\n\n<ng-template #columnSorterIconTemplate let-columnSorterState>\n <ng-container [ngSwitch]=\"columnSorterState\">\n <span *ngSwitchCase=\"'asc'\" class=\"float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconAscendingTemplate\"></ng-container>\n </span>\n <span *ngSwitchCase=\"'desc'\" class=\"float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconDescendingTemplate\"></ng-container>\n </span>\n <span *ngSwitchDefault class=\"opacity-25 float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconTemplate\"></ng-container>\n </span>\n </ng-container>\n</ng-template>\n\n<!--todo: sortingIconCustom Templates-->\n<ng-template #sortingIconTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"384 433.373 384 160 352 160 352 434.51 282.177 364.687 259.55 387.313 367.432 495.196 475.313 387.313 452.687 364.687 384 433.373\"\n ></polygon>\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"159.432 17.372 51.55 125.255 74.177 147.882 144 78.059 144 352 176 352 176 79.195 244.687 147.882 267.313 125.255 159.432 17.372\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconAscendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"390.624 150.625 256 16 121.376 150.625 144.004 173.252 240.001 77.254 240.001 495.236 272.001 495.236 272.001 77.257 367.996 173.252 390.624 150.625\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconDescendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"367.997 338.75 271.999 434.747 271.999 17.503 239.999 17.503 239.999 434.745 144.003 338.75 121.376 361.377 256 496 390.624 361.377 367.997 338.75\"\n ></polygon>\n </svg>\n</ng-template>\n", styles: [":host{-webkit-user-select:none;user-select:none}:host.thead{display:table-header-group;vertical-align:middle;border-color:inherit}:host.tfoot{display:table-footer-group;vertical-align:middle;border-color:inherit}\n"] }]
179
+ args: [{ selector: 'c-smart-table-head', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template [ngIf]=\"component==='tfoot'\">\n <ng-container *ngTemplateOutlet=\"summaryRowTemplate\"></ng-container>\n</ng-template>\n<tr>\n <th *ngIf=\"selectable\">\n <input\n cFormCheckInput\n (change)=\"handleSelectAllChecked($event)\"\n [checked]=\"selectedAll === true\"\n [indeterminate]=\"indeterminate$ | async\"\n type=\"checkbox\"\n [disabled]=\"!selectAll\"\n autocomplete=\"off\"\n >\n </th>\n <th\n (click)=\"handleSortClick(column, i)\"\n *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-template [ngIf]=\"columnSorter && columnSorterEnabled(column)\">\n <ng-container\n *ngTemplateOutlet=\"columnSorterIconTemplate; context: { $implicit: getColumnSorterState(column) }\">\n </ng-container>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"columnLabelTemplates[getColumnLabel(column)] ?? defaultColumnLabel; context: {$implicit: column, header: this}\">\n </ng-container>\n </th>\n</tr>\n<tr *ngIf=\"columnFilter\">\n <th *ngIf=\"selectable\"></th>\n <th *ngFor=\"let column of columns; let i = index\"\n [cHtmlAttr]=\"tableHeaderCellProps(column)\"\n [cTableColor]=\"tableHeaderCellColor(column)\"\n [ngStyle]=\"tableHeaderCellStyles(column)\"\n >\n <ng-container\n *ngTemplateOutlet=\"columnFilterTemplates[getColumnFilter(column)] ?? defaultColumnFilter; context: {$implicit: column, header: this}\">\n </ng-container>\n </th>\n</tr>\n\n<ng-template #defaultColumnLabel let-column>\n <div class=\"d-inline\">{{ column | columnLabel }}</div>\n</ng-template>\n\n<ng-template #defaultColumnFilter let-column>\n <c-smart-table-column-filter\n (valueChange)=\"handleColumnFilterValueChange($event)\"\n *ngIf=\"columnFilterEnabled(column)\"\n [column]=\"column\"\n [delay]=\"300\"\n [onEvent]=\"columnFilterEvent\"\n [value]=\"columnFilterState[columnKey(column)] ?? ''\"\n cFilterInput\n sizing=\"sm\"\n ></c-smart-table-column-filter>\n</ng-template>\n\n<ng-template #columnSorterIconTemplate let-columnSorterState>\n <ng-container [ngSwitch]=\"columnSorterState\">\n <span *ngSwitchCase=\"'asc'\" class=\"float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconAscendingTemplate\"></ng-container>\n </span>\n <span *ngSwitchCase=\"'desc'\" class=\"float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconDescendingTemplate\"></ng-container>\n </span>\n <span *ngSwitchDefault class=\"opacity-25 float-end mx-1\">\n <ng-container *ngTemplateOutlet=\"sortingIconTemplate\"></ng-container>\n </span>\n </ng-container>\n</ng-template>\n\n<!--todo: sortingIconCustom Templates-->\n<ng-template #sortingIconTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"384 433.373 384 160 352 160 352 434.51 282.177 364.687 259.55 387.313 367.432 495.196 475.313 387.313 452.687 364.687 384 433.373\"\n ></polygon>\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"159.432 17.372 51.55 125.255 74.177 147.882 144 78.059 144 352 176 352 176 79.195 244.687 147.882 267.313 125.255 159.432 17.372\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconAscendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"390.624 150.625 256 16 121.376 150.625 144.004 173.252 240.001 77.254 240.001 495.236 272.001 495.236 272.001 77.257 367.996 173.252 390.624 150.625\"\n ></polygon>\n </svg>\n</ng-template>\n\n<ng-template #sortingIconDescendingTemplate>\n <svg\n class=\"icon icon-custom-size\"\n role=\"img\"\n viewBox=\"0 0 512 512\"\n width=\"18\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon\n class=\"ci-primary\"\n fill=\"var(--ci-primary-color, currentColor)\"\n points=\"367.997 338.75 271.999 434.747 271.999 17.503 239.999 17.503 239.999 434.745 144.003 338.75 121.376 361.377 256 496 390.624 361.377 367.997 338.75\"\n ></polygon>\n </svg>\n</ng-template>\n", styles: [":host{-webkit-user-select:none;user-select:none}:host.thead{display:table-header-group;vertical-align:middle;border-color:inherit}:host.tfoot{display:table-footer-group;vertical-align:middle;border-color:inherit}\n"] }]
165
180
  }], ctorParameters: function () { return []; }, propDecorators: { columnFilter: [{
166
181
  type: Input
167
182
  }], columnFilterState: [{
@@ -182,6 +197,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
182
197
  type: Input
183
198
  }], columnFilterTemplates: [{
184
199
  type: Input
200
+ }], columnLabelTemplates: [{
201
+ type: Input
185
202
  }], summaryRowTemplate: [{
186
203
  type: Input
187
204
  }], columnFilterStateChange: [{
@@ -194,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
194
211
  type: HostBinding,
195
212
  args: ['class']
196
213
  }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdGFibGUtaGVhZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NtYXJ0LXRhYmxlL3NtYXJ0LXRhYmxlLWhlYWQvc21hcnQtdGFibGUtaGVhZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NtYXJ0LXRhYmxlL3NtYXJ0LXRhYmxlLWhlYWQvc21hcnQtdGFibGUtaGVhZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQVl2QyxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDO1FBR1Msc0JBQWlCLEdBQXVCLEVBQUUsQ0FBQztRQUMzQyxpQkFBWSxHQUF1QixJQUFJLENBQUM7UUFDeEMsY0FBUyxHQUFZLE9BQU8sQ0FBQztRQWF0Qyw2Q0FBYSxJQUFJLEVBQUM7UUFFbEIsb0VBQW9DO1FBZ0JwQywrQ0FBMEMsS0FBSyxFQUFDO1FBYWhELHlEQUErQixFQUFFLEVBQUM7UUFXbEMsc0RBQW1ELElBQUksRUFBQztRQUV4RCxPQUFPO1FBQ1Asb0RBQW9EO1FBQ3BELDZEQUE2RDtRQUM3RCw4REFBOEQ7UUFFckQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsQyw0QkFBdUIsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNyRSxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQU8s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Yix1QkFBdUIsQ0FBQyxNQUFNOzBFQU10QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0YsU0FBUztzQkFEWixLQUFLO2dCQWNGLFdBQVc7c0JBRGQsS0FBSztnQkFnQkcsV0FBVztzQkFBbkIsS0FBSztnQkFHRixxQkFBcUI7c0JBRHhCLEtBQUs7Z0JBWUYsa0JBQWtCO3NCQURyQixLQUFLO2dCQWtCYSx1QkFBdUI7c0JBQXpDLE1BQU07Z0JBQ1ksaUJBQWlCO3NCQUFuQyxNQUFNO2dCQUNZLGVBQWU7c0JBQWpDLE1BQU07Z0JBR0gsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElDb2x1bW4sIElDb2x1bW5GaWx0ZXIsIElDb2x1bW5GaWx0ZXJWYWx1ZSwgSVNvcnRlciwgSVNvcnRlclZhbHVlIH0gZnJvbSAnLi4vc21hcnQtdGFibGUudHlwZSc7XG5cbmltcG9ydCB7IENvbG9ycyB9IGZyb20gJy4uLy4uL2NvcmV1aS50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Mtc21hcnQtdGFibGUtaGVhZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC10YWJsZS1oZWFkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtdGFibGUtaGVhZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydFRhYmxlSGVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBASW5wdXQoKSBjb2x1bW5GaWx0ZXI/OiBib29sZWFuIHwgSUNvbHVtbkZpbHRlcjtcbiAgQElucHV0KCkgY29sdW1uRmlsdGVyU3RhdGU6IElDb2x1bW5GaWx0ZXJWYWx1ZSA9IHt9O1xuICBASW5wdXQoKSBjb2x1bW5Tb3J0ZXI/OiBib29sZWFuIHwgSVNvcnRlciA9IHRydWU7XG4gIEBJbnB1dCgpIGNvbXBvbmVudD86IHN0cmluZyA9ICd0aGVhZCc7XG4gIEBJbnB1dCgpIGNvbHVtbnM/OiAoSUNvbHVtbiB8IHN0cmluZylbXTtcbiAgQElucHV0KCkgc2VsZWN0YWJsZT86IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgc2V0IHNlbGVjdEFsbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI3NlbGVjdEFsbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH07XG5cbiAgZ2V0IHNlbGVjdEFsbCgpIHtcbiAgICByZXR1cm4gdGhpcy4jc2VsZWN0QWxsO1xuICB9XG5cbiAgI3NlbGVjdEFsbCA9IHRydWU7XG5cbiAgI3NlbGVjdGVkQWxsUHJldmlvdXNWYWx1ZT86IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgc2V0IHNlbGVjdGVkQWxsKHZhbHVlOiBib29sZWFuIHwgJ2luZGV0ZXJtaW5hdGUnKSB7XG4gICAgdGhpcy5pbmRldGVybWluYXRlJC5uZXh0KHZhbHVlID09PSAnaW5kZXRlcm1pbmF0ZScpO1xuXG4gICAgdGhpcy4jc2VsZWN0ZWRBbGwgPSB2YWx1ZSA9PT0gJ2luZGV0ZXJtaW5hdGUnID8gZmFsc2UgOiBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmICh2YWx1ZSAhPT0gJ2luZGV0ZXJtaW5hdGUnKSB7XG4gICAgICB0aGlzLiNzZWxlY3RlZEFsbFByZXZpb3VzVmFsdWUgPSB0aGlzLiNzZWxlY3RlZEFsbDtcbiAgICB9XG4gIH07XG5cbiAgZ2V0IHNlbGVjdGVkQWxsKCkge1xuICAgIHJldHVybiB0aGlzLiNzZWxlY3RlZEFsbDtcbiAgfVxuXG4gICNzZWxlY3RlZEFsbDogYm9vbGVhbiB8ICdpbmRldGVybWluYXRlJyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNvcnRlclZhbHVlPzogSVNvcnRlclZhbHVlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBjb2x1bW5GaWx0ZXJUZW1wbGF0ZXModmFsdWUpIHtcbiAgICB0aGlzLiNjb2x1bW5GaWx0ZXJUZW1wbGF0ZXMgPSB7IC4uLnZhbHVlIH07XG4gIH07XG5cbiAgZ2V0IGNvbHVtbkZpbHRlclRlbXBsYXRlcygpIHtcbiAgICByZXR1cm4gdGhpcy4jY29sdW1uRmlsdGVyVGVtcGxhdGVzO1xuICB9O1xuXG4gICNjb2x1bW5GaWx0ZXJUZW1wbGF0ZXM/OiBhbnkgPSB7fTtcblxuICBASW5wdXQoKVxuICBzZXQgc3VtbWFyeVJvd1RlbXBsYXRlKHZhbHVlKSB7XG4gICAgdGhpcy4jc3VtbWFyeVJvd1RlbXBsYXRlID0gdmFsdWU7XG4gIH07XG5cbiAgZ2V0IHN1bW1hcnlSb3dUZW1wbGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy4jc3VtbWFyeVJvd1RlbXBsYXRlO1xuICB9O1xuXG4gICNzdW1tYXJ5Um93VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG5cbiAgLy8gdG9kb1xuICAvLyBASW5wdXQoKSBzb3J0aW5nSWNvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIC8vIEBJbnB1dCgpIHNvcnRpbmdJY29uQXNjZW5kaW5nPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcbiAgLy8gQElucHV0KCkgc29ydGluZ0ljb25EZXNjZW5kaW5nPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICByZWFkb25seSBpbmRldGVybWluYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBjb2x1bW5GaWx0ZXJTdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNvcnRlclN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VsZWN0QWxsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGhlYWQ6IHRoaXMuY29tcG9uZW50ID09PSAndGhlYWQnLFxuICAgICAgdGZvb3Q6IHRoaXMuY29tcG9uZW50ID09PSAndGZvb3QnXG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1ucz8uZm9yRWFjaCgoY29sdW1uLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgY29sdW1uS2V5ID0gdGhpcy5jb2x1bW5LZXkoY29sdW1uKTtcbiAgICAgIHRoaXMuY29sdW1uRmlsdGVyU3RhdGVbY29sdW1uS2V5XSA9IHRoaXMuY29sdW1uRmlsdGVyU3RhdGVbY29sdW1uS2V5XSA/PyAnJztcbiAgICB9KTtcbiAgfVxuXG4gIHRhYmxlSGVhZGVyQ2VsbFByb3BzKGNvbHVtbjogSUNvbHVtbiB8IHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgY29sdW1uID09PSAnb2JqZWN0JyAmJiBjb2x1bW4uX3Byb3BzKSB7XG4gICAgICBjb25zdCB7IGNvbG9yLCAuLi5wcm9wcyB9ID0geyAuLi5jb2x1bW4uX3Byb3BzIH07XG4gICAgICByZXR1cm4gcHJvcHM7XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHRhYmxlSGVhZGVyQ2VsbENvbG9yKGNvbHVtbjogSUNvbHVtbiB8IHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgY29sdW1uID09PSAnb2JqZWN0JyAmJiBjb2x1bW4uX3Byb3BzKSB7XG4gICAgICBjb25zdCB7IGNvbG9yIH0gPSB7IC4uLmNvbHVtbi5fcHJvcHMgfTtcbiAgICAgIHJldHVybiA8Q29sb3JzIHwgc3RyaW5nPmNvbG9yO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB0YWJsZUhlYWRlckNlbGxTdHlsZXMoY29sdW1uOiBJQ29sdW1uIHwgc3RyaW5nKSB7XG4gICAgY29uc3Qgc3R5bGUgPSB7IHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLCBvdmVyZmxvdzogJ2hpZGRlbicsIGN1cnNvcjogJycgfTtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbHVtblNvcnRlciAmJlxuICAgICAgKHR5cGVvZiBjb2x1bW4gIT09ICdvYmplY3QnIHx8XG4gICAgICAgICh0eXBlb2YgY29sdW1uID09PSAnb2JqZWN0JyAmJiAodHlwZW9mIGNvbHVtbi5zb3J0ZXIgPT09ICd1bmRlZmluZWQnIHx8IGNvbHVtbi5zb3J0ZXIpKSlcbiAgICApIHtcbiAgICAgIHN0eWxlLmN1cnNvciA9ICdwb2ludGVyJztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNvbHVtbiA9PT0gJ29iamVjdCcgJiYgY29sdW1uLl9zdHlsZSkge1xuICAgICAgcmV0dXJuIHsgLi4uc3R5bGUsIC4uLmNvbHVtbi5fc3R5bGUgfTtcbiAgICB9XG4gICAgcmV0dXJuIHN0eWxlO1xuICB9XG5cbiAgY29sdW1uS2V5KGNvbHVtbjogSUNvbHVtbiB8IHN0cmluZykge1xuICAgIHJldHVybiB0eXBlb2YgY29sdW1uID09PSAnb2JqZWN0JyA/IGNvbHVtbi5rZXkgOiBjb2x1bW47XG4gIH1cblxuICBnZXRDb2x1bW5Tb3J0ZXJTdGF0ZShjb2x1bW46IElDb2x1bW4gfCBzdHJpbmcpIHtcbiAgICBjb25zdCBjb2x1bW5LZXkgPSB0aGlzLmNvbHVtbktleShjb2x1bW4pO1xuICAgIGlmICh0aGlzLnNvcnRlclZhbHVlPy5jb2x1bW4gPT09IGNvbHVtbktleSkge1xuICAgICAgaWYgKHRoaXMuc29ydGVyVmFsdWUuc3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc29ydGVyVmFsdWUuc3RhdGU7XG4gICAgICB9XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBoYW5kbGVTb3J0Q2xpY2soY29sdW1uOiBJQ29sdW1uIHwgc3RyaW5nLCBpOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5jb2x1bW5Tb3J0ZXJFbmFibGVkKGNvbHVtbikpIHtcbiAgICAgIGNvbnN0IGNvbHVtbktleSA9IHRoaXMuY29sdW1uS2V5KGNvbHVtbik7XG4gICAgICB0aGlzLnNvcnRlclN0YXRlQ2hhbmdlLmVtaXQoeyBjb2x1bW5LZXksIGluZGV4OiBpIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbHVtbkZpbHRlckVuYWJsZWQoY29sdW1uOiBJQ29sdW1uIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBjb2x1bW4gIT09ICdvYmplY3QnID8gdHJ1ZSA6IHR5cGVvZiBjb2x1bW4uZmlsdGVyID09PSAndW5kZWZpbmVkJyA/IHRydWUgOiBjb2x1bW4uZmlsdGVyO1xuICB9XG5cbiAgY29sdW1uU29ydGVyRW5hYmxlZChjb2x1bW46IElDb2x1bW4gfCBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuY29sdW1uU29ydGVyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiAodHlwZW9mIGNvbHVtbiAhPT0gJ29iamVjdCcpID8gdHJ1ZSA6IHR5cGVvZiBjb2x1bW4uc29ydGVyID09PSAndW5kZWZpbmVkJyA/IHRydWUgOiBjb2x1bW4uc29ydGVyO1xuICB9XG5cbiAgaGFuZGxlQ29sdW1uRmlsdGVyVmFsdWVDaGFuZ2UoJGV2ZW50OiB7IHZhbHVlOiBzdHJpbmcsIHR5cGU/OiBzdHJpbmcsIGNvbHVtbjogKElDb2x1bW4gfCBzdHJpbmcpIH0pIHtcbiAgICBjb25zdCB7IHZhbHVlLCB0eXBlOiBldmVudFR5cGUsIGNvbHVtbiB9ID0geyAuLi4kZXZlbnQgfTtcbiAgICBjb25zdCBjb2x1bW5LZXkgPSB0aGlzLmNvbHVtbktleShjb2x1bW4pO1xuICAgIGNvbnN0IGNvbHVtbkZpbHRlclZhbHVlID0gdmFsdWU7XG4gICAgY29uc3QgaXNMYXp5ID0gdHlwZW9mIHRoaXMuY29sdW1uRmlsdGVyID09PSAnb2JqZWN0JyAmJiB0aGlzLmNvbHVtbkZpbHRlci5sYXp5ID09PSB0cnVlO1xuICAgIGlmICgoKGlzTGF6eSAmJiBldmVudFR5cGUgPT09ICdpbnB1dCcpIHx8ICghaXNMYXp5ICYmIGV2ZW50VHlwZSA9PT0gJ2NoYW5nZScpKSAmJiBjb2x1bW5GaWx0ZXJWYWx1ZS5sZW5ndGggIT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb2x1bW5GaWx0ZXJTdGF0ZVt0aGlzLmNvbHVtbktleShjb2x1bW4pXSA9IGNvbHVtbkZpbHRlclZhbHVlO1xuICAgIHRoaXMuY29sdW1uRmlsdGVyU3RhdGVDaGFuZ2UuZW1pdCh7IGNvbHVtbjogY29sdW1uS2V5LCB2YWx1ZTogY29sdW1uRmlsdGVyVmFsdWUsIHR5cGU6IGV2ZW50VHlwZSB9KTtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdEFsbENoZWNrZWQoJGV2ZW50OiBFdmVudCkge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICgkZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNoZWNrZWQgPSAhdGhpcy4jc2VsZWN0ZWRBbGxQcmV2aW91c1ZhbHVlO1xuICAgIC8vICgkZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNoZWNrZWQgPSAhdGhpcy5zZWxlY3RlZEFsbDtcbiAgICBjb25zdCBzZWxlY3RBbGwgPSAoJGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkO1xuICAgIHRoaXMuc2VsZWN0QWxsQ2hhbmdlLmVtaXQoc2VsZWN0QWxsKTtcbiAgfVxuXG4gIGdldENvbHVtbkZpbHRlcihjb2x1bW46IElDb2x1bW4gfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gYGNvbHVtbkZpbHRlcl8ke3RoaXMuY29sdW1uS2V5KGNvbHVtbikgPz8gJ191bmRlZmluZWQnfWA7XG4gIH1cblxuICBnZXQgY29sdW1uRmlsdGVyRXZlbnQoKTogJ2NoYW5nZScgfCAnaW5wdXQnIHtcbiAgICByZXR1cm4gKHR5cGVvZiB0aGlzLmNvbHVtbkZpbHRlciA9PT0gJ29iamVjdCcgJiYgdGhpcy5jb2x1bW5GaWx0ZXIubGF6eSkgPyAnY2hhbmdlJyA6ICdpbnB1dCc7XG4gIH07XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJjb21wb25lbnQ9PT0ndGZvb3QnXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdW1tYXJ5Um93VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG48dHI+XG4gIDx0aCAqbmdJZj1cInNlbGVjdGFibGVcIj5cbiAgICA8aW5wdXRcbiAgICAgIGNGb3JtQ2hlY2tJbnB1dFxuICAgICAgKGNoYW5nZSk9XCJoYW5kbGVTZWxlY3RBbGxDaGVja2VkKCRldmVudClcIlxuICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRBbGwgPT09IHRydWVcIlxuICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZSQgfCBhc3luY1wiXG4gICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFzZWxlY3RBbGxcIlxuICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICA+XG4gIDwvdGg+XG4gIDx0aFxuICAgIChjbGljayk9XCJoYW5kbGVTb3J0Q2xpY2soY29sdW1uLCBpKVwiXG4gICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyBsZXQgaSA9IGluZGV4XCJcbiAgICBbY0h0bWxBdHRyXT1cInRhYmxlSGVhZGVyQ2VsbFByb3BzKGNvbHVtbilcIlxuICAgIFtjVGFibGVDb2xvcl09XCJ0YWJsZUhlYWRlckNlbGxDb2xvcihjb2x1bW4pXCJcbiAgICBbbmdTdHlsZV09XCJ0YWJsZUhlYWRlckNlbGxTdHlsZXMoY29sdW1uKVwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiY29sdW1uU29ydGVyICYmIGNvbHVtblNvcnRlckVuYWJsZWQoY29sdW1uKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtblNvcnRlckljb25UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGdldENvbHVtblNvcnRlclN0YXRlKGNvbHVtbikgfVwiPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZC1pbmxpbmVcIj57eyBjb2x1bW4gfCBjb2x1bW5MYWJlbCB9fTwvZGl2PlxuICA8L3RoPlxuPC90cj5cbjx0ciAqbmdJZj1cImNvbHVtbkZpbHRlclwiPlxuICA8dGggKm5nSWY9XCJzZWxlY3RhYmxlXCI+PC90aD5cbiAgPHRoICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICBbY0h0bWxBdHRyXT1cInRhYmxlSGVhZGVyQ2VsbFByb3BzKGNvbHVtbilcIlxuICAgICAgW2NUYWJsZUNvbG9yXT1cInRhYmxlSGVhZGVyQ2VsbENvbG9yKGNvbHVtbilcIlxuICAgICAgW25nU3R5bGVdPVwidGFibGVIZWFkZXJDZWxsU3R5bGVzKGNvbHVtbilcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW5GaWx0ZXJUZW1wbGF0ZXNbZ2V0Q29sdW1uRmlsdGVyKGNvbHVtbildID8/IGRlZmF1bHRDb2x1bW5GaWx0ZXI7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNvbHVtbiwgaGVhZGVyOiB0aGlzfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3RoPlxuPC90cj5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29sdW1uRmlsdGVyIGxldC1jb2x1bW4+XG4gIDxjLXNtYXJ0LXRhYmxlLWNvbHVtbi1maWx0ZXJcbiAgICAodmFsdWVDaGFuZ2UpPVwiaGFuZGxlQ29sdW1uRmlsdGVyVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKm5nSWY9XCJjb2x1bW5GaWx0ZXJFbmFibGVkKGNvbHVtbilcIlxuICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICBbZGVsYXldPVwiMzAwXCJcbiAgICBbb25FdmVudF09XCJjb2x1bW5GaWx0ZXJFdmVudFwiXG4gICAgW3ZhbHVlXT1cImNvbHVtbkZpbHRlclN0YXRlW2NvbHVtbktleShjb2x1bW4pXSA/PyAnJ1wiXG4gICAgY0ZpbHRlcklucHV0XG4gICAgc2l6aW5nPVwic21cIlxuICA+PC9jLXNtYXJ0LXRhYmxlLWNvbHVtbi1maWx0ZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbHVtblNvcnRlckljb25UZW1wbGF0ZSBsZXQtY29sdW1uU29ydGVyU3RhdGU+XG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbHVtblNvcnRlclN0YXRlXCI+XG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidhc2MnXCIgY2xhc3M9XCJmbG9hdC1lbmQgbXgtMVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNvcnRpbmdJY29uQXNjZW5kaW5nVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidkZXNjJ1wiIGNsYXNzPVwiZmxvYXQtZW5kIG14LTFcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3J0aW5nSWNvbkRlc2NlbmRpbmdUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0IGNsYXNzPVwib3BhY2l0eS0yNSBmbG9hdC1lbmQgbXgtMVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNvcnRpbmdJY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLXRvZG86IHNvcnRpbmdJY29uQ3VzdG9tIFRlbXBsYXRlcy0tPlxuPG5nLXRlbXBsYXRlICNzb3J0aW5nSWNvblRlbXBsYXRlPlxuICA8c3ZnXG4gICAgY2xhc3M9XCJpY29uIGljb24tY3VzdG9tLXNpemVcIlxuICAgIHJvbGU9XCJpbWdcIlxuICAgIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiXG4gICAgd2lkdGg9XCIxOFwiXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gID5cbiAgICA8cG9seWdvblxuICAgICAgY2xhc3M9XCJjaS1wcmltYXJ5XCJcbiAgICAgIGZpbGw9XCJ2YXIoLS1jaS1wcmltYXJ5LWNvbG9yLCBjdXJyZW50Q29sb3IpXCJcbiAgICAgIHBvaW50cz1cIjM4NCA0MzMuMzczIDM4NCAxNjAgMzUyIDE2MCAzNTIgNDM0LjUxIDI4Mi4xNzcgMzY0LjY4NyAyNTkuNTUgMzg3LjMxMyAzNjcuNDMyIDQ5NS4xOTYgNDc1LjMxMyAzODcuMzEzIDQ1Mi42ODcgMzY0LjY4NyAzODQgNDMzLjM3M1wiXG4gICAgPjwvcG9seWdvbj5cbiAgICA8cG9seWdvblxuICAgICAgY2xhc3M9XCJjaS1wcmltYXJ5XCJcbiAgICAgIGZpbGw9XCJ2YXIoLS1jaS1wcmltYXJ5LWNvbG9yLCBjdXJyZW50Q29sb3IpXCJcbiAgICAgIHBvaW50cz1cIjE1OS40MzIgMTcuMzcyIDUxLjU1IDEyNS4yNTUgNzQuMTc3IDE0Ny44ODIgMTQ0IDc4LjA1OSAxNDQgMzUyIDE3NiAzNTIgMTc2IDc5LjE5NSAyNDQuNjg3IDE0Ny44ODIgMjY3LjMxMyAxMjUuMjU1IDE1OS40MzIgMTcuMzcyXCJcbiAgICA+PC9wb2x5Z29uPlxuICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc29ydGluZ0ljb25Bc2NlbmRpbmdUZW1wbGF0ZT5cbiAgPHN2Z1xuICAgIGNsYXNzPVwiaWNvbiBpY29uLWN1c3RvbS1zaXplXCJcbiAgICByb2xlPVwiaW1nXCJcbiAgICB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIlxuICAgIHdpZHRoPVwiMThcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICA+XG4gICAgPHBvbHlnb25cbiAgICAgIGNsYXNzPVwiY2ktcHJpbWFyeVwiXG4gICAgICBmaWxsPVwidmFyKC0tY2ktcHJpbWFyeS1jb2xvciwgY3VycmVudENvbG9yKVwiXG4gICAgICBwb2ludHM9XCIzOTAuNjI0IDE1MC42MjUgMjU2IDE2IDEyMS4zNzYgMTUwLjYyNSAxNDQuMDA0IDE3My4yNTIgMjQwLjAwMSA3Ny4yNTQgMjQwLjAwMSA0OTUuMjM2IDI3Mi4wMDEgNDk1LjIzNiAyNzIuMDAxIDc3LjI1NyAzNjcuOTk2IDE3My4yNTIgMzkwLjYyNCAxNTAuNjI1XCJcbiAgICA+PC9wb2x5Z29uPlxuICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc29ydGluZ0ljb25EZXNjZW5kaW5nVGVtcGxhdGU+XG4gIDxzdmdcbiAgICBjbGFzcz1cImljb24gaWNvbi1jdXN0b20tc2l6ZVwiXG4gICAgcm9sZT1cImltZ1wiXG4gICAgdmlld0JveD1cIjAgMCA1MTIgNTEyXCJcbiAgICB3aWR0aD1cIjE4XCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgPlxuICAgIDxwb2x5Z29uXG4gICAgICBjbGFzcz1cImNpLXByaW1hcnlcIlxuICAgICAgZmlsbD1cInZhcigtLWNpLXByaW1hcnktY29sb3IsIGN1cnJlbnRDb2xvcilcIlxuICAgICAgcG9pbnRzPVwiMzY3Ljk5NyAzMzguNzUgMjcxLjk5OSA0MzQuNzQ3IDI3MS45OTkgMTcuNTAzIDIzOS45OTkgMTcuNTAzIDIzOS45OTkgNDM0Ljc0NSAxNDQuMDAzIDMzOC43NSAxMjEuMzc2IDM2MS4zNzcgMjU2IDQ5NiAzOTAuNjI0IDM2MS4zNzcgMzY3Ljk5NyAzMzguNzVcIlxuICAgID48L3BvbHlnb24+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdGFibGUtaGVhZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NtYXJ0LXRhYmxlL3NtYXJ0LXRhYmxlLWhlYWQvc21hcnQtdGFibGUtaGVhZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NtYXJ0LXRhYmxlL3NtYXJ0LXRhYmxlLWhlYWQvc21hcnQtdGFibGUtaGVhZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQVl2QyxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDO1FBR1Msc0JBQWlCLEdBQXVCLEVBQUUsQ0FBQztRQUMzQyxpQkFBWSxHQUF1QixJQUFJLENBQUM7UUFDeEMsY0FBUyxHQUFZLE9BQU8sQ0FBQztRQWF0Qyw2Q0FBYSxJQUFJLEVBQUM7UUFFbEIsb0VBQW9DO1FBZ0JwQywrQ0FBMEMsS0FBSyxFQUFDO1FBYWhELHlEQUErQixFQUFFLEVBQUM7UUFXbEMsd0RBQThCLEVBQUUsRUFBQztRQVdqQyxzREFBbUQsSUFBSSxFQUFDO1FBRXhELE9BQU87UUFDUCxvREFBb0Q7UUFDcEQsNkRBQTZEO1FBQzdELDhEQUE4RDtRQUVyRCxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxDLDRCQUF1QixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JFLHNCQUFp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LE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6RCxPQUFPLGVBQWUsTUFBTSxDQUFDLGdCQUFnQixJQUFJLFlBQVksRUFBRSxDQUFDO1NBQ2pFO1FBQ0QsT0FBTyxlQUFlLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksWUFBWSxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ2hHLENBQUM7SUFBQSxDQUFDOzs7b0hBdk1TLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDRvQkNkcEMsd2dKQWlJQTsyRkRuSGEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNOzBFQU10QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0YsU0FBUztzQkFEWixLQUFLO2dCQWNGLFdBQVc7c0JBRGQsS0FBSztnQkFnQkcsV0FBVztzQkFBbkIsS0FBSztnQkFHRixxQkFBcUI7c0JBRHhCLEtBQUs7Z0JBWUYsb0JBQW9CO3NCQUR2QixLQUFLO2dCQVlGLGtCQUFrQjtzQkFEckIsS0FBSztnQkFrQmEsdUJBQXVCO3NCQUF6QyxNQUFNO2dCQUNZLGlCQUFpQjtzQkFBbkMsTUFBTTtnQkFDWSxlQUFlO3NCQUFqQyxNQUFNO2dCQUdILFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJQ29sdW1uLCBJQ29sdW1uRmlsdGVyLCBJQ29sdW1uRmlsdGVyVmFsdWUsIElTb3J0ZXIsIElTb3J0ZXJWYWx1ZSB9IGZyb20gJy4uL3NtYXJ0LXRhYmxlLnR5cGUnO1xuXG5pbXBvcnQgeyBDb2xvcnMgfSBmcm9tICcuLi8uLi9jb3JldWkudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXNtYXJ0LXRhYmxlLWhlYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtdGFibGUtaGVhZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LXRhYmxlLWhlYWQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRUYWJsZUhlYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgQElucHV0KCkgY29sdW1uRmlsdGVyPzogYm9vbGVhbiB8IElDb2x1bW5GaWx0ZXI7XG4gIEBJbnB1dCgpIGNvbHVtbkZpbHRlclN0YXRlOiBJQ29sdW1uRmlsdGVyVmFsdWUgPSB7fTtcbiAgQElucHV0KCkgY29sdW1uU29ydGVyPzogYm9vbGVhbiB8IElTb3J0ZXIgPSB0cnVlO1xuICBASW5wdXQoKSBjb21wb25lbnQ/OiBzdHJpbmcgPSAndGhlYWQnO1xuICBASW5wdXQoKSBjb2x1bW5zPzogKElDb2x1bW4gfCBzdHJpbmcpW107XG4gIEBJbnB1dCgpIHNlbGVjdGFibGU/OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBzZWxlY3RBbGwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNzZWxlY3RBbGwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9O1xuXG4gIGdldCBzZWxlY3RBbGwoKSB7XG4gICAgcmV0dXJuIHRoaXMuI3NlbGVjdEFsbDtcbiAgfVxuXG4gICNzZWxlY3RBbGwgPSB0cnVlO1xuXG4gICNzZWxlY3RlZEFsbFByZXZpb3VzVmFsdWU/OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBzZWxlY3RlZEFsbCh2YWx1ZTogYm9vbGVhbiB8ICdpbmRldGVybWluYXRlJykge1xuICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSQubmV4dCh2YWx1ZSA9PT0gJ2luZGV0ZXJtaW5hdGUnKTtcblxuICAgIHRoaXMuI3NlbGVjdGVkQWxsID0gdmFsdWUgPT09ICdpbmRldGVybWluYXRlJyA/IGZhbHNlIDogY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodmFsdWUgIT09ICdpbmRldGVybWluYXRlJykge1xuICAgICAgdGhpcy4jc2VsZWN0ZWRBbGxQcmV2aW91c1ZhbHVlID0gdGhpcy4jc2VsZWN0ZWRBbGw7XG4gICAgfVxuICB9O1xuXG4gIGdldCBzZWxlY3RlZEFsbCgpIHtcbiAgICByZXR1cm4gdGhpcy4jc2VsZWN0ZWRBbGw7XG4gIH1cblxuICAjc2VsZWN0ZWRBbGw6IGJvb2xlYW4gfCAnaW5kZXRlcm1pbmF0ZScgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzb3J0ZXJWYWx1ZT86IElTb3J0ZXJWYWx1ZTtcblxuICBASW5wdXQoKVxuICBzZXQgY29sdW1uRmlsdGVyVGVtcGxhdGVzKHZhbHVlKSB7XG4gICAgdGhpcy4jY29sdW1uRmlsdGVyVGVtcGxhdGVzID0geyAuLi52YWx1ZSB9O1xuICB9O1xuXG4gIGdldCBjb2x1bW5GaWx0ZXJUZW1wbGF0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2NvbHVtbkZpbHRlclRlbXBsYXRlcztcbiAgfTtcblxuICAjY29sdW1uRmlsdGVyVGVtcGxhdGVzPzogYW55ID0ge307XG5cbiAgQElucHV0KClcbiAgc2V0IGNvbHVtbkxhYmVsVGVtcGxhdGVzKHZhbHVlKSB7XG4gICAgdGhpcy4jY29sdW1uTGFiZWxUZW1wbGF0ZXMgPSB7IC4uLnZhbHVlIH07XG4gIH07XG5cbiAgZ2V0IGNvbHVtbkxhYmVsVGVtcGxhdGVzKCkge1xuICAgIHJldHVybiB0aGlzLiNjb2x1bW5MYWJlbFRlbXBsYXRlcztcbiAgfTtcblxuICAjY29sdW1uTGFiZWxUZW1wbGF0ZXM/OiBhbnkgPSB7fTtcblxuICBASW5wdXQoKVxuICBzZXQgc3VtbWFyeVJvd1RlbXBsYXRlKHZhbHVlKSB7XG4gICAgdGhpcy4jc3VtbWFyeVJvd1RlbXBsYXRlID0gdmFsdWU7XG4gIH07XG5cbiAgZ2V0IHN1bW1hcnlSb3dUZW1wbGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy4jc3VtbWFyeVJvd1RlbXBsYXRlO1xuICB9O1xuXG4gICNzdW1tYXJ5Um93VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG5cbiAgLy8gdG9kb1xuICAvLyBASW5wdXQoKSBzb3J0aW5nSWNvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIC8vIEBJbnB1dCgpIHNvcnRpbmdJY29uQXNjZW5kaW5nPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcbiAgLy8gQElucHV0KCkgc29ydGluZ0ljb25EZXNjZW5kaW5nPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICByZWFkb25seSBpbmRldGVybWluYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBjb2x1bW5GaWx0ZXJTdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNvcnRlclN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VsZWN0QWxsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGhlYWQ6IHRoaXMuY29tcG9uZW50ID09PSAndGhlYWQnLFxuICAgICAgdGZvb3Q6IHRoaXMuY29tcG9uZW50ID09PSAndGZvb3QnXG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1ucz8uZm9yRWFjaCgoY29sdW1uLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgY29sdW1uS2V5ID0gdGhpcy5jb2x1bW5LZXkoY29sdW1uKTtcbiAgICAgIHRoaXMuY29sdW1uRmlsdGVyU3RhdGVbY29sdW1uS2V5XSA9IHRoaXMuY29sdW1uRmlsdGVyU3RhdGVbY29sdW1uS2V5XSA/PyAnJztcbiAgICB9KTtcbiAgfVxuXG4gIHRhYmxlSGVhZGVyQ2VsbFByb3BzKGNvbHVtbjogSUNvbHVtbiB8IHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgY29sdW1uID09PSAnb2JqZWN0JyAmJiBjb2x1bW4uX3Byb3BzKSB7XG4gICAgICBjb25zdCB7IGNvbG9yLCAuLi5wcm9wcyB9ID0geyAuLi5jb2x1bW4uX3Byb3BzIH07XG4gICAgICByZXR1cm4gcHJvcHM7XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHRhYmxlSGVhZGVyQ2VsbENvbG9yKGNvbHVtbjogSUNvbHVtbiB8IHN0cmluZyk6IENvbG9ycyB7XG4gICAgaWYgKHR5cGVvZiBjb2x1bW4gPT09ICdvYmplY3QnICYmIGNvbHVtbi5fcHJvcHMpIHtcbiAgICAgIGNvbnN0IHsgY29sb3IgfSA9IHsgLi4uY29sdW1uLl9wcm9wcyB9O1xuICAgICAgcmV0dXJuIDxDb2xvcnMgfCBzdHJpbmc+Y29sb3I7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHRhYmxlSGVhZGVyQ2VsbFN0eWxlcyhjb2x1bW46IElDb2x1bW4gfCBzdHJpbmcpIHtcbiAgICBjb25zdCBzdHlsZSA9IHsgdmVydGljYWxBbGlnbjogJ21pZGRsZScsIG92ZXJmbG93OiAnaGlkZGVuJywgY3Vyc29yOiAnJyB9O1xuICAgIGlmIChcbiAgICAgIHRoaXMuY29sdW1uU29ydGVyICYmXG4gICAgICAodHlwZW9mIGNvbHVtbiAhPT0gJ29iamVjdCcgfHxcbiAgICAgICAgKHR5cGVvZiBjb2x1bW4gPT09ICdvYmplY3QnICYmICh0eXBlb2YgY29sdW1uLnNvcnRlciA9PT0gJ3VuZGVmaW5lZCcgfHwgY29sdW1uLnNvcnRlcikpKVxuICAgICkge1xuICAgICAgc3R5bGUuY3Vyc29yID0gJ3BvaW50ZXInO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29sdW1uID09PSAnb2JqZWN0JyAmJiBjb2x1bW4uX3N0eWxlKSB7XG4gICAgICByZXR1cm4geyAuLi5zdHlsZSwgLi4uY29sdW1uLl9zdHlsZSB9O1xuICAgIH1cbiAgICByZXR1cm4gc3R5bGU7XG4gIH1cblxuICBjb2x1bW5LZXkoY29sdW1uOiBJQ29sdW1uIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBjb2x1bW4gPT09ICdvYmplY3QnID8gY29sdW1uLmtleSA6IGNvbHVtbjtcbiAgfVxuXG4gIGdldENvbHVtblNvcnRlclN0YXRlKGNvbHVtbjogSUNvbHVtbiB8IHN0cmluZykge1xuICAgIGNvbnN0IGNvbHVtbktleSA9IHRoaXMuY29sdW1uS2V5KGNvbHVtbik7XG4gICAgaWYgKHRoaXMuc29ydGVyVmFsdWU/LmNvbHVtbiA9PT0gY29sdW1uS2V5KSB7XG4gICAgICBpZiAodGhpcy5zb3J0ZXJWYWx1ZS5zdGF0ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3J0ZXJWYWx1ZS5zdGF0ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIGhhbmRsZVNvcnRDbGljayhjb2x1bW46IElDb2x1bW4gfCBzdHJpbmcsIGk6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmNvbHVtblNvcnRlckVuYWJsZWQoY29sdW1uKSkge1xuICAgICAgY29uc3QgY29sdW1uS2V5ID0gdGhpcy5jb2x1bW5LZXkoY29sdW1uKTtcbiAgICAgIHRoaXMuc29ydGVyU3RhdGVDaGFuZ2UuZW1pdCh7IGNvbHVtbktleSwgaW5kZXg6IGkgfSk7XG4gICAgfVxuICB9XG5cbiAgY29sdW1uRmlsdGVyRW5hYmxlZChjb2x1bW46IElDb2x1bW4gfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdHlwZW9mIGNvbHVtbiAhPT0gJ29iamVjdCcgPyB0cnVlIDogdHlwZW9mIGNvbHVtbi5maWx0ZXIgPT09ICd1bmRlZmluZWQnID8gdHJ1ZSA6IGNvbHVtbi5maWx0ZXI7XG4gIH1cblxuICBjb2x1bW5Tb3J0ZXJFbmFibGVkKGNvbHVtbjogSUNvbHVtbiB8IHN0cmluZykge1xuICAgIGlmICghdGhpcy5jb2x1bW5Tb3J0ZXIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICh0eXBlb2YgY29sdW1uICE9PSAnb2JqZWN0JykgPyB0cnVlIDogdHlwZW9mIGNvbHVtbi5zb3J0ZXIgPT09ICd1bmRlZmluZWQnID8gdHJ1ZSA6IGNvbHVtbi5zb3J0ZXI7XG4gIH1cblxuICBoYW5kbGVDb2x1bW5GaWx0ZXJWYWx1ZUNoYW5nZSgkZXZlbnQ6IHsgdmFsdWU6IHN0cmluZywgdHlwZT86IHN0cmluZywgY29sdW1uOiAoSUNvbHVtbiB8IHN0cmluZykgfSkge1xuICAgIGNvbnN0IHsgdmFsdWUsIHR5cGU6IGV2ZW50VHlwZSwgY29sdW1uIH0gPSB7IC4uLiRldmVudCB9O1xuICAgIGNvbnN0IGNvbHVtbktleSA9IHRoaXMuY29sdW1uS2V5KGNvbHVtbik7XG4gICAgY29uc3QgY29sdW1uRmlsdGVyVmFsdWUgPSB2YWx1ZTtcbiAgICBjb25zdCBpc0xhenkgPSB0eXBlb2YgdGhpcy5jb2x1bW5GaWx0ZXIgPT09ICdvYmplY3QnICYmIHRoaXMuY29sdW1uRmlsdGVyLmxhenkgPT09IHRydWU7XG4gICAgaWYgKCgoaXNMYXp5ICYmIGV2ZW50VHlwZSA9PT0gJ2lucHV0JykgfHwgKCFpc0xhenkgJiYgZXZlbnRUeXBlID09PSAnY2hhbmdlJykpICYmIGNvbHVtbkZpbHRlclZhbHVlLmxlbmd0aCAhPT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbHVtbkZpbHRlclN0YXRlW3RoaXMuY29sdW1uS2V5KGNvbHVtbildID0gY29sdW1uRmlsdGVyVmFsdWU7XG4gICAgdGhpcy5jb2x1bW5GaWx0ZXJTdGF0ZUNoYW5nZS5lbWl0KHsgY29sdW1uOiBjb2x1bW5LZXksIHZhbHVlOiBjb2x1bW5GaWx0ZXJWYWx1ZSwgdHlwZTogZXZlbnRUeXBlIH0pO1xuICB9XG5cbiAgaGFuZGxlU2VsZWN0QWxsQ2hlY2tlZCgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgKCRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZCA9ICF0aGlzLiNzZWxlY3RlZEFsbFByZXZpb3VzVmFsdWU7XG4gICAgLy8gKCRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZCA9ICF0aGlzLnNlbGVjdGVkQWxsO1xuICAgIGNvbnN0IHNlbGVjdEFsbCA9ICgkZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmNoZWNrZWQ7XG4gICAgdGhpcy5zZWxlY3RBbGxDaGFuZ2UuZW1pdChzZWxlY3RBbGwpO1xuICB9XG5cbiAgZ2V0Q29sdW1uRmlsdGVyKGNvbHVtbjogSUNvbHVtbiB8IHN0cmluZykge1xuICAgIHJldHVybiBgY29sdW1uRmlsdGVyXyR7dGhpcy5jb2x1bW5LZXkoY29sdW1uKSA/PyAnX3VuZGVmaW5lZCd9YDtcbiAgfVxuXG4gIGdldENvbHVtbkxhYmVsKGNvbHVtbjogSUNvbHVtbiB8IHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgY29sdW1uID09PSAnb2JqZWN0JyAmJiBjb2x1bW4uX2xhYmVsVGVtcGxhdGVJZCkge1xuICAgICAgcmV0dXJuIGBjb2x1bW5MYWJlbF8ke2NvbHVtbi5fbGFiZWxUZW1wbGF0ZUlkID8/ICdfdW5kZWZpbmVkJ31gO1xuICAgIH1cbiAgICByZXR1cm4gYGNvbHVtbkxhYmVsXyR7dGhpcy5jb2x1bW5LZXkoY29sdW1uKSA/PyAnX3VuZGVmaW5lZCd9YDtcbiAgfVxuXG4gIGdldCBjb2x1bW5GaWx0ZXJFdmVudCgpOiAnY2hhbmdlJyB8ICdpbnB1dCcge1xuICAgIHJldHVybiAodHlwZW9mIHRoaXMuY29sdW1uRmlsdGVyID09PSAnb2JqZWN0JyAmJiB0aGlzLmNvbHVtbkZpbHRlci5sYXp5KSA/ICdjaGFuZ2UnIDogJ2lucHV0JztcbiAgfTtcblxufVxuIiwiPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImNvbXBvbmVudD09PSd0Zm9vdCdcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN1bW1hcnlSb3dUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbjx0cj5cbiAgPHRoICpuZ0lmPVwic2VsZWN0YWJsZVwiPlxuICAgIDxpbnB1dFxuICAgICAgY0Zvcm1DaGVja0lucHV0XG4gICAgICAoY2hhbmdlKT1cImhhbmRsZVNlbGVjdEFsbENoZWNrZWQoJGV2ZW50KVwiXG4gICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZEFsbCA9PT0gdHJ1ZVwiXG4gICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlJCB8IGFzeW5jXCJcbiAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICBbZGlzYWJsZWRdPVwiIXNlbGVjdEFsbFwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgID5cbiAgPC90aD5cbiAgPHRoXG4gICAgKGNsaWNrKT1cImhhbmRsZVNvcnRDbGljayhjb2x1bW4sIGkpXCJcbiAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IGxldCBpID0gaW5kZXhcIlxuICAgIFtjSHRtbEF0dHJdPVwidGFibGVIZWFkZXJDZWxsUHJvcHMoY29sdW1uKVwiXG4gICAgW2NUYWJsZUNvbG9yXT1cInRhYmxlSGVhZGVyQ2VsbENvbG9yKGNvbHVtbilcIlxuICAgIFtuZ1N0eWxlXT1cInRhYmxlSGVhZGVyQ2VsbFN0eWxlcyhjb2x1bW4pXCJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJjb2x1bW5Tb3J0ZXIgJiYgY29sdW1uU29ydGVyRW5hYmxlZChjb2x1bW4pXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uU29ydGVySWNvblRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZ2V0Q29sdW1uU29ydGVyU3RhdGUoY29sdW1uKSB9XCI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uTGFiZWxUZW1wbGF0ZXNbZ2V0Q29sdW1uTGFiZWwoY29sdW1uKV0gPz8gZGVmYXVsdENvbHVtbkxhYmVsOyBjb250ZXh0OiB7JGltcGxpY2l0OiBjb2x1bW4sIGhlYWRlcjogdGhpc31cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC90aD5cbjwvdHI+XG48dHIgKm5nSWY9XCJjb2x1bW5GaWx0ZXJcIj5cbiAgPHRoICpuZ0lmPVwic2VsZWN0YWJsZVwiPjwvdGg+XG4gIDx0aCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgW2NIdG1sQXR0cl09XCJ0YWJsZUhlYWRlckNlbGxQcm9wcyhjb2x1bW4pXCJcbiAgICAgIFtjVGFibGVDb2xvcl09XCJ0YWJsZUhlYWRlckNlbGxDb2xvcihjb2x1bW4pXCJcbiAgICAgIFtuZ1N0eWxlXT1cInRhYmxlSGVhZGVyQ2VsbFN0eWxlcyhjb2x1bW4pXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uRmlsdGVyVGVtcGxhdGVzW2dldENvbHVtbkZpbHRlcihjb2x1bW4pXSA/PyBkZWZhdWx0Q29sdW1uRmlsdGVyOyBjb250ZXh0OiB7JGltcGxpY2l0OiBjb2x1bW4sIGhlYWRlcjogdGhpc31cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC90aD5cbjwvdHI+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdENvbHVtbkxhYmVsIGxldC1jb2x1bW4+XG4gIDxkaXYgY2xhc3M9XCJkLWlubGluZVwiPnt7IGNvbHVtbiB8IGNvbHVtbkxhYmVsIH19PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRDb2x1bW5GaWx0ZXIgbGV0LWNvbHVtbj5cbiAgPGMtc21hcnQtdGFibGUtY29sdW1uLWZpbHRlclxuICAgICh2YWx1ZUNoYW5nZSk9XCJoYW5kbGVDb2x1bW5GaWx0ZXJWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAqbmdJZj1cImNvbHVtbkZpbHRlckVuYWJsZWQoY29sdW1uKVwiXG4gICAgW2NvbHVtbl09XCJjb2x1bW5cIlxuICAgIFtkZWxheV09XCIzMDBcIlxuICAgIFtvbkV2ZW50XT1cImNvbHVtbkZpbHRlckV2ZW50XCJcbiAgICBbdmFsdWVdPVwiY29sdW1uRmlsdGVyU3RhdGVbY29sdW1uS2V5KGNvbHVtbildID8/ICcnXCJcbiAgICBjRmlsdGVySW5wdXRcbiAgICBzaXppbmc9XCJzbVwiXG4gID48L2Mtc21hcnQtdGFibGUtY29sdW1uLWZpbHRlcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY29sdW1uU29ydGVySWNvblRlbXBsYXRlIGxldC1jb2x1bW5Tb3J0ZXJTdGF0ZT5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uU29ydGVyU3RhdGVcIj5cbiAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2FzYydcIiBjbGFzcz1cImZsb2F0LWVuZCBteC0xXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic29ydGluZ0ljb25Bc2NlbmRpbmdUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2Rlc2MnXCIgY2xhc3M9XCJmbG9hdC1lbmQgbXgtMVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNvcnRpbmdJY29uRGVzY2VuZGluZ1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuICpuZ1N3aXRjaERlZmF1bHQgY2xhc3M9XCJvcGFjaXR5LTI1IGZsb2F0LWVuZCBteC0xXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic29ydGluZ0ljb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvc3Bhbj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48IS0tdG9kbzogc29ydGluZ0ljb25DdXN0b20gVGVtcGxhdGVzLS0+XG48bmctdGVtcGxhdGUgI3NvcnRpbmdJY29uVGVtcGxhdGU+XG4gIDxzdmdcbiAgICBjbGFzcz1cImljb24gaWNvbi1jdXN0b20tc2l6ZVwiXG4gICAgcm9sZT1cImltZ1wiXG4gICAgdmlld0JveD1cIjAgMCA1MTIgNTEyXCJcbiAgICB3aWR0aD1cIjE4XCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgPlxuICAgIDxwb2x5Z29uXG4gICAgICBjbGFzcz1cImNpLXByaW1hcnlcIlxuICAgICAgZmlsbD1cInZhcigtLWNpLXByaW1hcnktY29sb3IsIGN1cnJlbnRDb2xvcilcIlxuICAgICAgcG9pbnRzPVwiMzg0IDQzMy4zNzMgMzg0IDE2MCAzNTIgMTYwIDM1MiA0MzQuNTEgMjgyLjE3NyAzNjQuNjg3IDI1OS41NSAzODcuMzEzIDM2Ny40MzIgNDk1LjE5NiA0NzUuMzEzIDM4Ny4zMTMgNDUyLjY4NyAzNjQuNjg3IDM4NCA0MzMuMzczXCJcbiAgICA+PC9wb2x5Z29uPlxuICAgIDxwb2x5Z29uXG4gICAgICBjbGFzcz1cImNpLXByaW1hcnlcIlxuICAgICAgZmlsbD1cInZhcigtLWNpLXByaW1hcnktY29sb3IsIGN1cnJlbnRDb2xvcilcIlxuICAgICAgcG9pbnRzPVwiMTU5LjQzMiAxNy4zNzIgNTEuNTUgMTI1LjI1NSA3NC4xNzcgMTQ3Ljg4MiAxNDQgNzguMDU5IDE0NCAzNTIgMTc2IDM1MiAxNzYgNzkuMTk1IDI0NC42ODcgMTQ3Ljg4MiAyNjcuMzEzIDEyNS4yNTUgMTU5LjQzMiAxNy4zNzJcIlxuICAgID48L3BvbHlnb24+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzb3J0aW5nSWNvbkFzY2VuZGluZ1RlbXBsYXRlPlxuICA8c3ZnXG4gICAgY2xhc3M9XCJpY29uIGljb24tY3VzdG9tLXNpemVcIlxuICAgIHJvbGU9XCJpbWdcIlxuICAgIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiXG4gICAgd2lkdGg9XCIxOFwiXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gID5cbiAgICA8cG9seWdvblxuICAgICAgY2xhc3M9XCJjaS1wcmltYXJ5XCJcbiAgICAgIGZpbGw9XCJ2YXIoLS1jaS1wcmltYXJ5LWNvbG9yLCBjdXJyZW50Q29sb3IpXCJcbiAgICAgIHBvaW50cz1cIjM5MC42MjQgMTUwLjYyNSAyNTYgMTYgMTIxLjM3NiAxNTAuNjI1IDE0NC4wMDQgMTczLjI1MiAyNDAuMDAxIDc3LjI1NCAyNDAuMDAxIDQ5NS4yMzYgMjcyLjAwMSA0OTUuMjM2IDI3Mi4wMDEgNzcuMjU3IDM2Ny45OTYgMTczLjI1MiAzOTAuNjI0IDE1MC42MjVcIlxuICAgID48L3BvbHlnb24+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzb3J0aW5nSWNvbkRlc2NlbmRpbmdUZW1wbGF0ZT5cbiAgPHN2Z1xuICAgIGNsYXNzPVwiaWNvbiBpY29uLWN1c3RvbS1zaXplXCJcbiAgICByb2xlPVwiaW1nXCJcbiAgICB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIlxuICAgIHdpZHRoPVwiMThcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICA+XG4gICAgPHBvbHlnb25cbiAgICAgIGNsYXNzPVwiY2ktcHJpbWFyeVwiXG4gICAgICBmaWxsPVwidmFyKC0tY2ktcHJpbWFyeS1jb2xvciwgY3VycmVudENvbG9yKVwiXG4gICAgICBwb2ludHM9XCIzNjcuOTk3IDMzOC43NSAyNzEuOTk5IDQzNC43NDcgMjcxLjk5OSAxNy41MDMgMjM5Ljk5OSAxNy41MDMgMjM5Ljk5OSA0MzQuNzQ1IDE0NC4wMDMgMzM4Ljc1IDEyMS4zNzYgMzYxLjM3NyAyNTYgNDk2IDM5MC42MjQgMzYxLjM3NyAzNjcuOTk3IDMzOC43NVwiXG4gICAgPjwvcG9seWdvbj5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdGFibGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc21hcnQtdGFibGUvc21hcnQtdGFibGUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3JzIH0gZnJvbSAnLi4vY29yZXVpLnR5cGVzJztcbmltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJVGFibGUsIElUYWJsZUVsZW1lbnRQcm9wcywgSVRhYmxlUm93Q2VsbFByb3BzIH0gZnJvbSAnLi4vdGFibGUvdGFibGUudHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNtYXJ0VGFibGUge1xuICAvKipcbiAgICogU2V0cyBhY3RpdmUgcGFnZS4gSWYgJ3BhZ2luYXRpb24nIHByb3AgaXMgZW5hYmxlZCwgYWN0aXZlUGFnZSBpcyBzZXQgb25seSBpbml0aWFsbHkuXG4gICAqIEB0eXBlIG51bWJlclxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICBhY3RpdmVQYWdlPzogbnVtYmVyO1xuICAvKipcbiAgICogV2hlbiBzZXQsIGRpc3BsYXlzIHRhYmxlIGNsZWFuZXIgYWJvdmUgdGFibGUsIG5leHQgdG8gdGhlIHRhYmxlIGZpbHRlciAob3IgaW4gcGxhY2Ugb2YgdGFibGUgZmlsdGVyIGlmIGB0YWJsZUZpbHRlcmAgcHJvcCBpcyBub3Qgc2V0KVxuICAgKiBDbGVhbmVyIHJlc2V0cyBgdGFibGVGaWx0ZXJWYWx1ZWAsIGBjb2x1bW5GaWx0ZXJWYWx1ZWAsIGBzb3J0ZXJWYWx1ZWAuXG4gICAqIElmIGNsZWFuIGlzIHBvc3NpYmxlIGl0IGlzIGNsaWNrYWJsZSAoYHRhYkluZGV4PVwiMFwiYCBgcm9sZT1cImJ1dHRvblwiYCwgYGNvbG9yPVwiZGFuZ2VyXCJgKSwgb3RoZXJ3aXNlIGl0IGlzIG5vdCBjbGlja2FibGUgYW5kIHRyYW5zcGFyZW50LlxuICAgKiBDbGVhbmVyIGNhbiBiZSBjdXN0b21pemVkIHRocm91Z2ggdGhlIGBjbGVhbmVyYCBzbG90LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBjbGVhbmVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFN0eWxlIHRhYmxlIGl0ZW1zIGFzIGNsaWNrYWJsZS5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgY2xpY2thYmxlUm93cz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGVuIHNldCwgZGlzcGxheXMgYWRkaXRpb25hbCBmaWx0ZXIgcm93IGJldHdlZW4gdGFibGUgaGVhZGVyIGFuZCBpdGVtcywgYWxsb3dpbmcgZmlsdGVyaW5nIGJ5IHNwZWNpZmljIGNvbHVtbi5cbiAgICogQ29sdW1uIGZpbHRlciBjYW4gYmUgY3VzdG9taXplZCwgYnkgcGFzc2luZyBwcm9wIGFzIG9iamVjdCB3aXRoIGFkZGl0aW9uYWwgb3B0aW9ucyBhcyBrZXlzLiBBdmFpbGFibGUgb3B0aW9uczpcbiAgICogLSBleHRlcm5hbCAoQm9vbGVhbikgLSBEaXNhYmxlcyBhdXRvbWF0aWMgZmlsdGVyaW5nIGluc2lkZSBjb21wb25lbnQuXG4gICAqIC0gbGF6eSAoQm9vbGVhbikgLSBTZXQgdG8gdHJ1ZSB0byB0cmlnZ2VyIGZpbHRlciB1cGRhdGVzIG9ubHkgb24gY2hhbmdlIGV2ZW50LlxuICAgKiBAdHlwZSBib29sZWFuIHwgQ29sdW1uRmlsdGVyXG4gICAqL1xuICBjb2x1bW5GaWx0ZXI/OiBib29sZWFuIHwgSUNvbHVtbkZpbHRlcjtcbiAgLyoqXG4gICAqIFZhbHVlIG9mIHRhYmxlIGZpbHRlci4gVG8gc2V0IHBhc3Mgb2JqZWN0IHdoZXJlIGtleXMgYXJlIGNvbHVtbiBuYW1lcyBhbmQgdmFsdWVzIGFyZSBmaWx0ZXIgc3RyaW5ncyBlLmcuOlxuICAgKiB7IHVzZXI6ICdKb2huJywgYWdlOiAxMiB9XG4gICAqL1xuICBjb2x1bW5GaWx0ZXJWYWx1ZT86IElDb2x1bW5GaWx0ZXJWYWx1ZTtcbiAgLyoqXG4gICAqIFByb3AgZm9yIHRhYmxlIGNvbHVtbnMgY29uZmlndXJhdGlvbi4gSWYgcHJvcCBpcyBub3QgZGVmaW5lZCwgdGFibGUgd2lsbCBkaXNwbGF5IGNvbHVtbnMgYmFzZWQgb24gdGhlIGZpcnN0IGl0ZW0ga2V5cywgb21pdHRpbmcga2V5cyB0aGF0IGJlZ2luIHdpdGggdW5kZXJzY29yZSAoZS5nLiAnX2NsYXNzZXMnKVxuICAgKlxuICAgKiBJbiBjb2x1bW5zIHByb3AgZWFjaCBhcnJheSBpdGVtIHJlcHJlc2VudHMgb25lIGNvbHVtbi4gSXRlbSBtaWdodCBiZSBzcGVjaWZpZWQgaW4gdHdvIHdheXM6XG4gICAqIFN0cmluZzogZWFjaCBpdGVtIGRlZmluZSBjb2x1bW4gbmFtZSBlcXVhbCB0byBpdGVtIHZhbHVlLlxuICAgKiBPYmplY3Q6IGl0ZW0gaXMgb2JqZWN0IHdpdGggZm9sbG93aW5nIGtleXMgYXZhaWxhYmxlIGFzIGNvbHVtbiBjb25maWd1cmF0aW9uOlxuICAgKiAtIGtleSAocmVxdWlyZWQpKFN0cmluZykgLSBkZWZpbmUgY29sdW1uIG5hbWUgZXF1YWwgdG8gaXRlbSBrZXkuXG4gICAqIC0gbGFiZWwgKFN0cmluZykgLSBkZWZpbmUgdmlzaWJsZSBsYWJlbCBvZiBjb2x1bW4uIElmIG5vdCBkZWZpbmVkLCBsYWJlbCB3aWxsIGJlIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGNvbHVtbiBuYW1lLCBieSBjb252ZXJ0aW5nIGtlYmFiLWNhc2UgYW5kIHNuYWtlX2Nhc2UgdG8gaW5kaXZpZHVhbCB3b3JkcyBhbmQgY2FwaXRhbGl6YXRpb24gb2YgZWFjaCB3b3JkLlxuICAgKiAtIF9jbGFzc2VzIChTdHJpbmcvQXJyYXkvT2JqZWN0KSAtIGFkZHMgY2xhc3NlcyB0byBhbGwgY2VscyBpbiBjb2x1bW5cbiAgICogLSBfc3R5bGUgKFN0cmluZy9BcnJheS9PYmplY3QpIC0gYWRkcyBzdHlsZXMgdG8gdGhlIGNvbHVtbiBoZWFkZXIgKHVzZWZ1bCBmb3IgZGVmaW5pbmcgd2lkdGhzKVxuICAgKiAtIHNvcnRlciAoQm9vbGVhbikgLSBkaXNhYmxlcyBzb3J0aW5nIG9mIHRoZSBjb2x1bW4gd2hlbiBzZXQgdG8gZmFsc2VcbiAgICogLSBmaWx0ZXIgKEJvb2xlYW4pIC0gcmVtb3ZlcyBmaWx0ZXIgZnJvbSBjb2x1bW4gd2hlbiBzZXQgdG8gZmFsc2UuXG4gICAqL1xuICBjb2x1bW5zPzogKHN0cmluZyB8IElDb2x1bW4pW107XG4gIC8qKlxuICAgKiBFbmFibGVzIHRhYmxlIHNvcnRpbmcgYnkgY29sdW1uIHZhbHVlLiBTb3J0aW5nIHdpbGwgYmUgcGVyZm9ybWVkIGNvcnJlY3RseSBpZiB2YWx1ZXMgaW4gY29sdW1uIGFyZSBvbmUgb2YgdHlwZTogc3RyaW5nIChjYXNlLWluc2Vuc2l0aXZlKSBvciBudW1iZXIuXG4gICAqXG4gICAqIFNvcnRlciBjYW4gYmUgY3VzdG9taXplZCwgYnkgcGFzc2luZyBwcm9wIGFzIG9iamVjdCB3aXRoIGFkZGl0aW9uYWwgb3B0aW9ucyBhcyBrZXlzLiBBdmFpbGFibGUgb3B0aW9uczpcbiAgICogLSBleHRlcm5hbCAoQm9vbGVhbikgLSBEaXNhYmxlcyBhdXRvbWF0aWMgc29ydGluZyBpbnNpZGUgY29tcG9uZW50LlxuICAgKiAtIHJlc2V0YWJsZSAoQm9vbGVhbikgLSBJZiBzZXQgdG8gdHJ1ZSBjbGlja2luZyBvbiBzb3J0ZXIgaGF2ZSB0aHJlZSBzdGF0ZXM6IGFzY2VuZGluZywgZGVzY2VuZGluZyBhbmQgbnVsbC4gVGhhdCBtZWFucyB0aGF0IHRoaXJkIGNsaWNrIG9uIHNvcnRlciB3aWxsIHJlc2V0IHNvcnRpbmcsIGFuZCByZXN0b3JlIHRhYmxlIHRvIG9yaWdpbmFsIG9yZGVyLlxuICAgKiBAdHlwZSBib29sZWFuIHwgU29ydGVyXG4gICAqL1xuICBjb2x1bW5Tb3J0ZXI/OiBib29sZWFuIHwgSVNvcnRlcjtcbiAgLyoqXG4gICAqIERpc3BsYXlzIHRhYmxlIGZvb3Rlciwgd2hpY2ggbWlycm9ycyB0YWJsZSBoZWFkZXIuICh3aXRob3V0IGNvbHVtbiBmaWx0ZXIpLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBmb290ZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogU2V0IHRvIGZhbHNlIHRvIHJlbW92ZSB0YWJsZSBoZWFkZXIuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGhlYWRlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBcnJheSBvZiBvYmplY3RzLCB3aGVyZSBlYWNoIG9iamVjdCByZXByZXNlbnRzIG9uZSBpdGVtIC0gcm93IGluIHRhYmxlLiBBZGRpdGlvbmFsbHksIHlvdSBjYW4gYWRkIHN0eWxlIGNsYXNzZXMgdG8gZWFjaCByb3cgYnkgcGFzc2luZyB0aGVtIGJ5ICdfY2xhc3Nlcycga2V5IGFuZCB0byBzaW5nbGUgY2VsbCBieSAnX2NlbGxDbGFzc2VzJy5cbiAgICpcbiAgICogRXhhbXBsZSBpdGVtOlxuICAgKiB7IG5hbWU6ICdKb2huJyAsIGFnZTogMTIsIF9wcm9wczogeyBjb2xvcjogJ3N1Y2Nlc3MnIH0sIF9jZWxsUHJvcHM6IHsgYWdlOiB7IGNsYXNzTmFtZTogJ2Z3LWJvbGQnfX19XG4gICAqIEZvciBjb2x1bW4gZ2VuZXJhdGlvbiBkZXNjcmlwdGlvbiBzZWUgY29sdW1ucyBwcm9wLlxuICAgKiBAdHlwZSBBcnJheTxJSXRlbT5cbiAgICovXG4gIGl0ZW1zPzogSUl0ZW1bXTtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBpdGVtcyBwZXIgc2l0ZSwgd2hlbiBwYWdpbmF0aW9uIGlzIGVuYWJsZWQuXG4gICAqIEBkZWZhdWx0IDEwXG4gICAqIEB0eXBlIG51bWJlclxuICAgKi9cbiAgaXRlbXNQZXJQYWdlPzogbnVtYmVyO1xuICAvKipcbiAgICogTGFiZWwgZm9yIGl0ZW1zIHBlciBwYWdlIHNlbGVjdG9yLlxuICAgKiBAZGVmYXVsdCAnSXRlbXMgcGVyIHBhZ2U6J1xuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogdG9kbyBvciByZW1vdmU/XG4gICAqL1xuICBpdGVtc1BlclBhZ2VMYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIEl0ZW1zIHBlciBwYWdlIHNlbGVjdG9yIG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IFs1LCAxMCwgMjAsIDUwXVxuICAgKiBAdHlwZSBudW1iZXJbXVxuICAgKiB0b2RvIG9yIHJlbW92ZT9cbiAgICovXG4gIGl0ZW1zUGVyUGFnZU9wdGlvbnM/OiBudW1iZXJbXTtcbiAgLyoqXG4gICAqIEFkZHMgc2VsZWN0IGVsZW1lbnQgb3ZlciB0YWJsZSwgd2hpY2ggaXMgdXNlZCBmb3IgY29udHJvbCBpdGVtcyBwZXIgcGFnZSBpbiBwYWdpbmF0aW9uLlxuICAgKiBJZiB5b3Ugd2FudCB0byBjdXN0b21pemUgdGhpcyBlbGVtZW50LCBwYXNzIGFuIG9iamVjdCB3aXRoIG9wdGlvbmFsIHZhbHVlczpcbiAgICogLSBsYWJlbCAoU3RyaW5nKSAtIHJlcGxhY2VzIGRlZmF1bHQgbGFiZWwgdGV4dFxuICAgKiAtIHZhbHVlcyAoQXJyYXkpIC0gY3VzdG9tIGFycmF5IG9mIHBhZ2luYXRpb24gdmFsdWVzXG4gICAqIC0gZXh0ZXJuYWwgKEJvb2xlYW4pIC0gZGlzYWJsZXMgYXV0b21hdGljICdpdGVtc1BlclBhZ2UnIGNoYW5nZSAodXNlIHRvIGNoYW5nZSBwYWdlcyBleHRlcm5hbGx5IGJ5ICdwYWdpbmF0aW9uLWNoYW5nZScgZXZlbnQpLlxuICAgKi9cbiAgaXRlbXNQZXJQYWdlU2VsZWN0PzogYm9vbGVhbiB8IEl0ZW1zUGVyUGFnZVNlbGVjdDtcbiAgLyoqXG4gICAqIFdoZW4gc2V0LCB0YWJsZSB3aWxsIGhhdmUgbG9hZGluZyBzdHlsZTogbG9hZGluZyBzcGlubmVyIGFuZCByZWR1Y2VkIG9wYWNpdHkuXG4gICAqIFdoZW4gJ3NtYWxsJyBwcm9wIGlzIGVuYWJsZWQgc3Bpbm5lciB3aWxsIGJlIGFsc28gc21hbGxlci5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgbG9hZGluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZWFjdE5vZGUgb3Igc3RyaW5nIGZvciBwYXNzaW5nIGN1c3RvbSBub0l0ZW1zTGFiZWwgdGV4dHMuXG4gICAqIEBkZWZhdWx0ICdObyBpdGVtcyBmb3VuZCdcbiAgICovXG4gIG5vSXRlbXNMYWJlbD86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBFbmFibGVzIGRlZmF1bHQgcGFnaW5hdGlvbi4gU2V0IHRvIHRydWUgZm9yIGRlZmF1bHQgc2V0dXAgb3IgcGFzcyBhbiBvYmplY3Qgd2l0aCBhZGRpdGlvbmFsIENQYWdpbmF0aW9uIHByb3BzLlxuICAgKiBEZWZhdWx0IHBhZ2luYXRpb24gd2lsbCBhbHdheXMgaGF2ZSB0aGUgY29tcHV0ZWQgbnVtYmVyIG9mIHBhZ2VzIHRoYXQgY2Fubm90IGJlIGNoYW5nZWQuXG4gICAqIFRoZSBudW1iZXIgb2YgcGFnZXMgaXMgZ2VuZXJhdGVkIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgcGFzc2VkIGl0ZW1zIGFuZCAnaXRlbXNQZXJQYWdlJyBwcm9wLlxuICAgKiBJZiB0aGlzIHJlc3RyaWN0aW9uIGlzIGFuIG9ic3RhY2xlLCB5b3UgY2FuIG1ha2UgZXh0ZXJuYWwgQ1BhZ2luYXRpb24gaW5zdGVhZC5cbiAgICovXG4gIHBhZ2luYXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogUHJvcGVydGllcyB0byBgQ1NtYXJ0UGFnaW5hdGlvbmAgY29tcG9uZW50LlxuICAgKiBAbGluayBodHRwczovL2NvcmV1aS5pby9hbmd1bGFyL2RvY3MvY29tcG9uZW50cy9zbWFydC1wYWdpbmF0aW9uI2NzbWFydHBhZ2luYXRpb25cbiAgICogdG9kbyBvciByZW1vdmU/XG4gICAqL1xuICAvLyBwYWdpbmF0aW9uUHJvcHM/OiBDU21hcnRQYWdpbmF0aW9uUHJvcHNcbiAgLyoqXG4gICAqIFNjb3BlZCBjb2x1bW5zLlxuICAgKiBAdHlwZSBTY29wZWRDb2x1bW5zXG4gICAqIHRvZG8gb3IgcmVtb3ZlP1xuICAgKi9cbiAgLy8gc2NvcGVkQ29sdW1ucz86IFNjb3BlZENvbHVtbnNcbiAgLyoqXG4gICAqIEFkZCBjaGVja2JveGVzIHRvIG1ha2UgdGFibGUgcm93cyBzZWxlY3RhYmxlLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBzZWxlY3RhYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuYWJsZXMgc2VsZWN0IGFsbCBjaGVja2JveCBkaXNwbGF5ZWQgaW4gdGhlIGhlYWRlciBvZiB0aGUgdGFibGUuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIHNlbGVjdEFsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTdGF0ZSBvZiB0aGUgc29ydGVyLiBOYW1lIGtleSBpcyBjb2x1bW4gbmFtZSwgZGlyZWN0aW9uIGNhbiBiZSAnYXNjJyBvciAnZGVzYycuXG4gICAqIEB0eXBlIElTb3J0ZXJWYWx1ZVxuICAgKi9cbiAgc29ydGVyVmFsdWU/OiBJU29ydGVyVmFsdWU7XG4gIC8qKlxuICAgKiBTb3J0ZXIgaWNvbiB3aGVuIGl0ZW1zIGFyZSB1bnNvcnRlZC5cbiAgICogQGRlZmF1bHQgJzxzdmcgY0ljb24gd2lkdGg9XCIxOFwiIGNvbnRlbnQ9e2NpbEFycm93VG9wfSAvPlxuICAgKi9cbiAgc29ydGluZ0ljb24/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvKipcbiAgICogU29ydGVyIGljb24gd2hlbiBpdGVtcyBhcmUgc29ydGVkIGFzY2VuZGluZy5cbiAgICogQGRlZmF1bHQgJzxzdmcgY0ljb24gd2lkdGg9XCIxOFwiIGNvbnRlbnQ9e2NpbEFycm93VG9wfSAvPlxuICAgKi9cbiAgc29ydGluZ0ljb25Bc2NlbmRpbmc/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvKipcbiAgICogU29ydGVyIGljb24gd2hlbiBpdGVtcyBhcmUgc29ydGVkIGRlc2NlbmRpbmcuXG4gICAqIEBkZWZhdWx0ICc8c3ZnIGNJY29uIHdpZHRoPVwiMThcIiBjb250ZW50PXtjaWxBcnJvd0JvdHRvbX0gLz5cbiAgICovXG4gIHNvcnRpbmdJY29uRGVzY2VuZGluZz86IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBQcm9wZXJ0aWVzIHRvIGBDVGFibGVCb2R5YCBjb21wb25lbnQuXG4gICAqIEBsaW5rIGh0dHBzOi8vY29yZXVpLmlvL2FuZ3VsYXIvZG9jcy9jb21wb25lbnRzL3RhYmxlLyNjdGFibGVib2R5XG4gICAqIHRvZG8gb3IgcmVtb3ZlP1xuICAgKi9cbiAgLy8gdGFibGVCb2R5UHJvcHM/OiBDVGFibGVCb2R5UHJvcHNcbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgdG8gYENUYWJsZUZvb3RgIGNvbXBvbmVudC5cbiAgICogQGxpbmsgaHR0cHM6Ly9jb3JldWkuaW8vYW5ndWxhci9kb2NzL2NvbXBvbmVudHMvdGFibGUvI2N0YWJsZWZvb3RcbiAgICogdG9kbyBvciByZW1vdmU/XG4gICAqL1xuICAvLyAgIHRhYmxlRm9vdFByb3BzPzogQ1RhYmxlRm9vdFByb3BzXG4gIC8qKlxuICAgKiBXaGVuIHNldCwgZGlzcGxheXMgdGFibGUgZmlsdGVyIGFib3ZlIHRhYmxlLCBhbGxvd2luZyBmaWx0ZXJpbmcgYnkgc3BlY2lmaWMgY29sdW1uLlxuICAgKlxuICAgKiBDb2x1bW4gZmlsdGVyIGNhbiBiZSBjdXN0b21pemVkLCBieSBwYXNzaW5nIHByb3AgYXMgb2JqZWN0IHdpdGggYWRkaXRpb25hbCBvcHRpb25zIGFzIGtleXMuIEF2YWlsYWJsZSBvcHRpb25zOlxuICAgKiAtIHBsYWNlaG9sZGVyIChTdHJpbmcpIC0gU2V0cyBjdXN0b20gdGFibGUgZmlsdGVyIHBsYWNlaG9sZGVyLlxuICAgKiAtIGxhYmVsIChTdHJpbmcpIC0gU2V0cyBjdXN0b20gdGFibGUgZmlsdGVyIGxhYmVsLlxuICAgKiAtIGV4dGVybmFsIChCb29sZWFuKSAtIERpc2FibGVzIGF1dG9tYXRpYyBmaWx0ZXJpbmcgaW5zaWRlIGNvbXBvbmVudC5cbiAgICogLSBsYXp5IChCb29sZWFuKSAtIFNldCB0byB0cnVlIHRvIHRyaWdnZXIgZmlsdGVyIHVwZGF0ZXMgb25seSBvbiBjaGFuZ2UgZXZlbnQuXG4gICAqL1xuICB0YWJsZUZpbHRlcj86IGJvb2xlYW4gfCBJVGFibGVGaWx0ZXI7XG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCByZXByZXNlbnRzIGEgY2FwdGlvbiBmb3IgYSBjb21wb25lbnQuXG4gICAqIEBkZWZhdWx0ICdGaWx0ZXI6J1xuICAgKiB0b2RvIG9yIHJlbW92ZT9cbiAgICovXG4gIHRhYmxlRmlsdGVyTGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBzaG9ydCBoaW50IHRoYXQgaXMgdmlzaWJsZSBpbiB0aGUgc2VhcmNoIGlucHV0LlxuICAgKiBAZGVmYXVsdCAndHlwZSBzdHJpbmcuLi4nXG4gICAqIHRvZG8gb3IgcmVtb3ZlP1xuICAgKi9cbiAgdGFibGVGaWx0ZXJQbGFjZWhvbGRlcj86IHN0cmluZztcbiAgLyoqXG4gICAqIFZhbHVlIG9mIHRhYmxlIGZpbHRlci4gU2V0IC5zeW5jIG1vZGlmaWVyIHRvIHRyYWNrIGNoYW5nZXMuXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKi9cbiAgdGFibGVGaWx0ZXJWYWx1ZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgdG8gYENUYWJsZUhlYWRgIGNvbXBvbmVudC5cbiAgICogQGxpbmsgaHR0cHM6Ly9jb3JldWkuaW8vYW5ndWxhci9kb2NzL2NvbXBvbmVudHMvdGFibGUvI2N0YWJsZWhlYWRcbiAgICogdG9kbyBvciByZW1vdmU/XG4gICAqL1xuICAvLyB0YWJsZUhlYWRQcm9wcz86IENUYWJsZUhlYWRQcm9wc1xuICAvKipcbiAgICogUHJvcGVydGllcyB0byBgQ1RhYmxlYCBjb21wb25lbnQuXG4gICAqIEBsaW5rIGh0dHBzOi8vY29yZXVpLmlvL2FuZ3VsYXIvZG9jcy9jb21wb25lbnRzL3RhYmxlLyNjdGFibGVcbiAgICovXG4gIHRhYmxlUHJvcHM/OiBJVGFibGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbHVtbkZpbHRlciB7XG4gIGxhenk/OiBib29sZWFuO1xuICBleHRlcm5hbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbHVtbkZpbHRlclZhbHVlIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2x1bW4ge1xuICBmaWx0ZXI/OiBib29sZWFuIHwgKChjb2x1bW46IElJdGVtLCB2YWx1ZTogc3RyaW5nKSA9PiBib29sZWFuKTtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xuICBzb3J0ZXI/OiBib29sZWFuIHwgKChhOiBJSXRlbSwgYjogSUl0ZW0pID0+IG51bWJlcik7XG4gIF9zdHlsZT86IGFueTtcbiAgX3Byb3BzPzogSVRhYmxlSGVhZGVyQ2VsbFByb3BzO1xuICBfY2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFtrbGFzczogc3RyaW5nXTogYW55OyB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZUhlYWRlckNlbGxQcm9wcyB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb2xvciBjb250ZXh0IG9mIHRoZSBjb21wb25lbnQgdG8gb25lIG9mIENvcmVVSeKAmXMgdGhlbWVkIGNvbG9ycy5cbiAgICpcbiAgICogQHR5cGUgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnc3VjY2VzcycgfCAnZGFuZ2VyJyB8ICd3YXJuaW5nJyB8ICdpbmZvJyB8ICdkYXJrJyB8ICdsaWdodCcgfCBzdHJpbmdcbiAgICovXG4gIGNvbG9yPzogQ29sb3JzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNvcnRlciB7XG4gIHJlc2V0YWJsZT86IGJvb2xlYW47XG4gIGV4dGVybmFsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSXRlbSB7XG4gIF9wcm9wcz86IElUYWJsZVJvd0NlbGxQcm9wcztcbiAgX2NlbGxQcm9wcz86IElUYWJsZUNlbGxQcm9wcztcbiAgX3NlbGVjdGVkPzogYm9vbGVhbjtcbiAgX3NlbGVjdGFibGU/OiBib29sZWFuO1xuICBba2V5OiBzdHJpbmddOiBudW1iZXIgfCBzdHJpbmcgfCBhbnk7XG4gIC8vIF9kZWxldGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGFibGVDZWxsUHJvcHMge1xuICBfYWxsPzogSVRhYmxlUm93Q2VsbFByb3BzO1xuICBfYXR0cmlidXRlcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIFtrZXk6IHN0cmluZ106IElUYWJsZVJvd0NlbGxQcm9wcyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSXRlbUludGVybmFsIGV4dGVuZHMgSUl0ZW0ge1xuICBfaWQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXRlbXNQZXJQYWdlU2VsZWN0IHtcbiAgZXh0ZXJuYWw/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgdmFsdWVzPzogQXJyYXk8bnVtYmVyPjtcbn1cblxuLy8gZXhwb3J0IGludGVyZmFjZSBTY29wZWRDb2x1bW5zIHtcbi8vICAgW2tleTogc3RyaW5nXTogYW55XG4vLyAgIGRldGFpbHM/OiAoYTogSUl0ZW0sIGI6IG51bWJlcikgPT4gUmVhY3ROb2RlXG4vLyB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNvcnRlclZhbHVlIHtcbiAgY29sdW1uPzogc3RyaW5nO1xuICBzdGF0ZT86IG51bWJlciB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGFibGVGaWx0ZXIge1xuICBsYXp5PzogYm9vbGVhbjtcbiAgZXh0ZXJuYWw/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZUdyb3VwUHJvcHMgZXh0ZW5kcyBJVGFibGVFbGVtZW50UHJvcHMge1xuICBhdHRyaWJ1dGVzPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdGFibGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc21hcnQtdGFibGUvc21hcnQtdGFibGUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3JzIH0gZnJvbSAnLi4vY29yZXVpLnR5cGVzJztcbmltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJVGFibGUsIElUYWJsZUVsZW1lbnRQcm9wcywgSVRhYmxlUm93Q2VsbFByb3BzIH0gZnJvbSAnLi4vdGFibGUvdGFibGUudHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNtYXJ0VGFibGUge1xuICAvKipcbiAgICogU2V0cyBhY3RpdmUgcGFnZS4gSWYgJ3BhZ2luYXRpb24nIHByb3AgaXMgZW5hYmxlZCwgYWN0aXZlUGFnZSBpcyBzZXQgb25seSBpbml0aWFsbHkuXG4gICAqIEB0eXBlIG51bWJlclxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICBhY3RpdmVQYWdlPzogbnVtYmVyO1xuICAvKipcbiAgICogV2hlbiBzZXQsIGRpc3BsYXlzIHRhYmxlIGNsZWFuZXIgYWJvdmUgdGFibGUsIG5leHQgdG8gdGhlIHRhYmxlIGZpbHRlciAob3IgaW4gcGxhY2Ugb2YgdGFibGUgZmlsdGVyIGlmIGB0YWJsZUZpbHRlcmAgcHJvcCBpcyBub3Qgc2V0KVxuICAgKiBDbGVhbmVyIHJlc2V0cyBgdGFibGVGaWx0ZXJWYWx1ZWAsIGBjb2x1bW5GaWx0ZXJWYWx1ZWAsIGBzb3J0ZXJWYWx1ZWAuXG4gICAqIElmIGNsZWFuIGlzIHBvc3NpYmxlIGl0IGlzIGNsaWNrYWJsZSAoYHRhYkluZGV4PVwiMFwiYCBgcm9sZT1cImJ1dHRvblwiYCwgYGNvbG9yPVwiZGFuZ2VyXCJgKSwgb3RoZXJ3aXNlIGl0IGlzIG5vdCBjbGlja2FibGUgYW5kIHRyYW5zcGFyZW50LlxuICAgKiBDbGVhbmVyIGNhbiBiZSBjdXN0b21pemVkIHRocm91Z2ggdGhlIGBjbGVhbmVyYCBzbG90LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBjbGVhbmVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFN0eWxlIHRhYmxlIGl0ZW1zIGFzIGNsaWNrYWJsZS5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgY2xpY2thYmxlUm93cz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGVuIHNldCwgZGlzcGxheXMgYWRkaXRpb25hbCBmaWx0ZXIgcm93IGJldHdlZW4gdGFibGUgaGVhZGVyIGFuZCBpdGVtcywgYWxsb3dpbmcgZmlsdGVyaW5nIGJ5IHNwZWNpZmljIGNvbHVtbi5cbiAgICogQ29sdW1uIGZpbHRlciBjYW4gYmUgY3VzdG9taXplZCwgYnkgcGFzc2luZyBwcm9wIGFzIG9iamVjdCB3aXRoIGFkZGl0aW9uYWwgb3B0aW9ucyBhcyBrZXlzLiBBdmFpbGFibGUgb3B0aW9uczpcbiAgICogLSBleHRlcm5hbCAoQm9vbGVhbikgLSBEaXNhYmxlcyBhdXRvbWF0aWMgZmlsdGVyaW5nIGluc2lkZSBjb21wb25lbnQuXG4gICAqIC0gbGF6eSAoQm9vbGVhbikgLSBTZXQgdG8gdHJ1ZSB0byB0cmlnZ2VyIGZpbHRlciB1cGRhdGVzIG9ubHkgb24gY2hhbmdlIGV2ZW50LlxuICAgKiBAdHlwZSBib29sZWFuIHwgQ29sdW1uRmlsdGVyXG4gICAqL1xuICBjb2x1bW5GaWx0ZXI/OiBib29sZWFuIHwgSUNvbHVtbkZpbHRlcjtcbiAgLyoqXG4gICAqIFZhbHVlIG9mIHRhYmxlIGZpbHRlci4gVG8gc2V0IHBhc3Mgb2JqZWN0IHdoZXJlIGtleXMgYXJlIGNvbHVtbiBuYW1lcyBhbmQgdmFsdWVzIGFyZSBmaWx0ZXIgc3RyaW5ncyBlLmcuOlxuICAgKiB7IHVzZXI6ICdKb2huJywgYWdlOiAxMiB9XG4gICAqL1xuICBjb2x1bW5GaWx0ZXJWYWx1ZT86IElDb2x1bW5GaWx0ZXJWYWx1ZTtcbiAgLyoqXG4gICAqIFByb3AgZm9yIHRhYmxlIGNvbHVtbnMgY29uZmlndXJhdGlvbi4gSWYgcHJvcCBpcyBub3QgZGVmaW5lZCwgdGFibGUgd2lsbCBkaXNwbGF5IGNvbHVtbnMgYmFzZWQgb24gdGhlIGZpcnN0IGl0ZW0ga2V5cywgb21pdHRpbmcga2V5cyB0aGF0IGJlZ2luIHdpdGggdW5kZXJzY29yZSAoZS5nLiAnX2NsYXNzZXMnKVxuICAgKlxuICAgKiBJbiBjb2x1bW5zIHByb3AgZWFjaCBhcnJheSBpdGVtIHJlcHJlc2VudHMgb25lIGNvbHVtbi4gSXRlbSBtaWdodCBiZSBzcGVjaWZpZWQgaW4gdHdvIHdheXM6XG4gICAqIFN0cmluZzogZWFjaCBpdGVtIGRlZmluZSBjb2x1bW4gbmFtZSBlcXVhbCB0byBpdGVtIHZhbHVlLlxuICAgKiBPYmplY3Q6IGl0ZW0gaXMgb2JqZWN0IHdpdGggZm9sbG93aW5nIGtleXMgYXZhaWxhYmxlIGFzIGNvbHVtbiBjb25maWd1cmF0aW9uOlxuICAgKiAtIGtleSAocmVxdWlyZWQpKFN0cmluZykgLSBkZWZpbmUgY29sdW1uIG5hbWUgZXF1YWwgdG8gaXRlbSBrZXkuXG4gICAqIC0gbGFiZWwgKFN0cmluZykgLSBkZWZpbmUgdmlzaWJsZSBsYWJlbCBvZiBjb2x1bW4uIElmIG5vdCBkZWZpbmVkLCBsYWJlbCB3aWxsIGJlIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGNvbHVtbiBuYW1lLCBieSBjb252ZXJ0aW5nIGtlYmFiLWNhc2UgYW5kIHNuYWtlX2Nhc2UgdG8gaW5kaXZpZHVhbCB3b3JkcyBhbmQgY2FwaXRhbGl6YXRpb24gb2YgZWFjaCB3b3JkLlxuICAgKiAtIF9jbGFzc2VzIChTdHJpbmcvQXJyYXkvT2JqZWN0KSAtIGFkZHMgY2xhc3NlcyB0byBhbGwgY2VscyBpbiBjb2x1bW5cbiAgICogLSBfc3R5bGUgKFN0cmluZy9BcnJheS9PYmplY3QpIC0gYWRkcyBzdHlsZXMgdG8gdGhlIGNvbHVtbiBoZWFkZXIgKHVzZWZ1bCBmb3IgZGVmaW5pbmcgd2lkdGhzKVxuICAgKiAtIHNvcnRlciAoQm9vbGVhbikgLSBkaXNhYmxlcyBzb3J0aW5nIG9mIHRoZSBjb2x1bW4gd2hlbiBzZXQgdG8gZmFsc2VcbiAgICogLSBmaWx0ZXIgKEJvb2xlYW4pIC0gcmVtb3ZlcyBmaWx0ZXIgZnJvbSBjb2x1bW4gd2hlbiBzZXQgdG8gZmFsc2UuXG4gICAqL1xuICBjb2x1bW5zPzogKHN0cmluZyB8IElDb2x1bW4pW107XG4gIC8qKlxuICAgKiBFbmFibGVzIHRhYmxlIHNvcnRpbmcgYnkgY29sdW1uIHZhbHVlLiBTb3J0aW5nIHdpbGwgYmUgcGVyZm9ybWVkIGNvcnJlY3RseSBpZiB2YWx1ZXMgaW4gY29sdW1uIGFyZSBvbmUgb2YgdHlwZTogc3RyaW5nIChjYXNlLWluc2Vuc2l0aXZlKSBvciBudW1iZXIuXG4gICAqXG4gICAqIFNvcnRlciBjYW4gYmUgY3VzdG9taXplZCwgYnkgcGFzc2luZyBwcm9wIGFzIG9iamVjdCB3aXRoIGFkZGl0aW9uYWwgb3B0aW9ucyBhcyBrZXlzLiBBdmFpbGFibGUgb3B0aW9uczpcbiAgICogLSBleHRlcm5hbCAoQm9vbGVhbikgLSBEaXNhYmxlcyBhdXRvbWF0aWMgc29ydGluZyBpbnNpZGUgY29tcG9uZW50LlxuICAgKiAtIHJlc2V0YWJsZSAoQm9vbGVhbikgLSBJZiBzZXQgdG8gdHJ1ZSBjbGlja2luZyBvbiBzb3J0ZXIgaGF2ZSB0aHJlZSBzdGF0ZXM6IGFzY2VuZGluZywgZGVzY2VuZGluZyBhbmQgbnVsbC4gVGhhdCBtZWFucyB0aGF0IHRoaXJkIGNsaWNrIG9uIHNvcnRlciB3aWxsIHJlc2V0IHNvcnRpbmcsIGFuZCByZXN0b3JlIHRhYmxlIHRvIG9yaWdpbmFsIG9yZGVyLlxuICAgKiBAdHlwZSBib29sZWFuIHwgU29ydGVyXG4gICAqL1xuICBjb2x1bW5Tb3J0ZXI/OiBib29sZWFuIHwgSVNvcnRlcjtcbiAgLyoqXG4gICAqIERpc3BsYXlzIHRhYmxlIGZvb3Rlciwgd2hpY2ggbWlycm9ycyB0YWJsZSBoZWFkZXIuICh3aXRob3V0IGNvbHVtbiBmaWx0ZXIpLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBmb290ZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogU2V0IHRvIGZhbHNlIHRvIHJlbW92ZSB0YWJsZSBoZWFkZXIuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGhlYWRlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBcnJheSBvZiBvYmplY3RzLCB3aGVyZSBlYWNoIG9iamVjdCByZXByZXNlbnRzIG9uZSBpdGVtIC0gcm93IGluIHRhYmxlLiBBZGRpdGlvbmFsbHksIHlvdSBjYW4gYWRkIHN0eWxlIGNsYXNzZXMgdG8gZWFjaCByb3cgYnkgcGFzc2luZyB0aGVtIGJ5ICdfY2xhc3Nlcycga2V5IGFuZCB0byBzaW5nbGUgY2VsbCBieSAnX2NlbGxDbGFzc2VzJy5cbiAgICpcbiAgICogRXhhbXBsZSBpdGVtOlxuICAgKiB7IG5hbWU6ICdKb2huJyAsIGFnZTogMTIsIF9wcm9wczogeyBjb2xvcjogJ3N1Y2Nlc3MnIH0sIF9jZWxsUHJvcHM6IHsgYWdlOiB7IGNsYXNzTmFtZTogJ2Z3LWJvbGQnfX19XG4gICAqIEZvciBjb2x1bW4gZ2VuZXJhdGlvbiBkZXNjcmlwdGlvbiBzZWUgY29sdW1ucyBwcm9wLlxuICAgKiBAdHlwZSBBcnJheTxJSXRlbT5cbiAgICovXG4gIGl0ZW1zPzogSUl0ZW1bXTtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBpdGVtcyBwZXIgc2l0ZSwgd2hlbiBwYWdpbmF0aW9uIGlzIGVuYWJsZWQuXG4gICAqIEBkZWZhdWx0IDEwXG4gICAqIEB0eXBlIG51bWJlclxuICAgKi9cbiAgaXRlbXNQZXJQYWdlPzogbnVtYmVyO1xuICAvKipcbiAgICogTGFiZWwgZm9yIGl0ZW1zIHBlciBwYWdlIHNlbGVjdG9yLlxuICAgKiBAZGVmYXVsdCAnSXRlbXMgcGVyIHBhZ2U6J1xuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogdG9kbyBvciByZW1vdmU/XG4gICAqL1xuICBpdGVtc1BlclBhZ2VMYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIEl0ZW1zIHBlciBwYWdlIHNlbGVjdG9yIG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IFs1LCAxMCwgMjAsIDUwXVxuICAgKiBAdHlwZSBudW1iZXJbXVxuICAgKiB0b2RvIG9yIHJlbW92ZT9cbiAgICovXG4gIGl0ZW1zUGVyUGFnZU9wdGlvbnM/OiBudW1iZXJbXTtcbiAgLyoqXG4gICAqIEFkZHMgc2VsZWN0IGVsZW1lbnQgb3ZlciB0YWJsZSwgd2hpY2ggaXMgdXNlZCBmb3IgY29udHJvbCBpdGVtcyBwZXIgcGFnZSBpbiBwYWdpbmF0aW9uLlxuICAgKiBJZiB5b3Ugd2FudCB0byBjdXN0b21pemUgdGhpcyBlbGVtZW50LCBwYXNzIGFuIG9iamVjdCB3aXRoIG9wdGlvbmFsIHZhbHVlczpcbiAgICogLSBsYWJlbCAoU3RyaW5nKSAtIHJlcGxhY2VzIGRlZmF1bHQgbGFiZWwgdGV4dFxuICAgKiAtIHZhbHVlcyAoQXJyYXkpIC0gY3VzdG9tIGFycmF5IG9mIHBhZ2luYXRpb24gdmFsdWVzXG4gICAqIC0gZXh0ZXJuYWwgKEJvb2xlYW4pIC0gZGlzYWJsZXMgYXV0b21hdGljICdpdGVtc1BlclBhZ2UnIGNoYW5nZSAodXNlIHRvIGNoYW5nZSBwYWdlcyBleHRlcm5hbGx5IGJ5ICdwYWdpbmF0aW9uLWNoYW5nZScgZXZlbnQpLlxuICAgKi9cbiAgaXRlbXNQZXJQYWdlU2VsZWN0PzogYm9vbGVhbiB8IEl0ZW1zUGVyUGFnZVNlbGVjdDtcbiAgLyoqXG4gICAqIFdoZW4gc2V0LCB0YWJsZSB3aWxsIGhhdmUgbG9hZGluZyBzdHlsZTogbG9hZGluZyBzcGlubmVyIGFuZCByZWR1Y2VkIG9wYWNpdHkuXG4gICAqIFdoZW4gJ3NtYWxsJyBwcm9wIGlzIGVuYWJsZWQgc3Bpbm5lciB3aWxsIGJlIGFsc28gc21hbGxlci5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgbG9hZGluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZWFjdE5vZGUgb3Igc3RyaW5nIGZvciBwYXNzaW5nIGN1c3RvbSBub0l0ZW1zTGFiZWwgdGV4dHMuXG4gICAqIEBkZWZhdWx0ICdObyBpdGVtcyBmb3VuZCdcbiAgICovXG4gIG5vSXRlbXNMYWJlbD86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBFbmFibGVzIGRlZmF1bHQgcGFnaW5hdGlvbi4gU2V0IHRvIHRydWUgZm9yIGRlZmF1bHQgc2V0dXAgb3IgcGFzcyBhbiBvYmplY3Qgd2l0aCBhZGRpdGlvbmFsIENQYWdpbmF0aW9uIHByb3BzLlxuICAgKiBEZWZhdWx0IHBhZ2luYXRpb24gd2lsbCBhbHdheXMgaGF2ZSB0aGUgY29tcHV0ZWQgbnVtYmVyIG9mIHBhZ2VzIHRoYXQgY2Fubm90IGJlIGNoYW5nZWQuXG4gICAqIFRoZSBudW1iZXIgb2YgcGFnZXMgaXMgZ2VuZXJhdGVkIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgcGFzc2VkIGl0ZW1zIGFuZCAnaXRlbXNQZXJQYWdlJyBwcm9wLlxuICAgKiBJZiB0aGlzIHJlc3RyaWN0aW9uIGlzIGFuIG9ic3RhY2xlLCB5b3UgY2FuIG1ha2UgZXh0ZXJuYWwgQ1BhZ2luYXRpb24gaW5zdGVhZC5cbiAgICovXG4gIHBhZ2luYXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogUHJvcGVydGllcyB0byBgQ1NtYXJ0UGFnaW5hdGlvbmAgY29tcG9uZW50LlxuICAgKiBAbGluayBodHRwczovL2NvcmV1aS5pby9hbmd1bGFyL2RvY3MvY29tcG9uZW50cy9zbWFydC1wYWdpbmF0aW9uI2NzbWFydHBhZ2luYXRpb25cbiAgICogdG9kbyBvciByZW1vdmU/XG4gICAqL1xuICAvLyBwYWdpbmF0aW9uUHJvcHM/OiBDU21hcnRQYWdpbmF0aW9uUHJvcHNcbiAgLyoqXG4gICAqIFNjb3BlZCBjb2x1bW5zLlxuICAgKiBAdHlwZSBTY29wZWRDb2x1bW5zXG4gICAqIHRvZG8gb3IgcmVtb3ZlP1xuICAgKi9cbiAgLy8gc2NvcGVkQ29sdW1ucz86IFNjb3BlZENvbHVtbnNcbiAgLyoqXG4gICAqIEFkZCBjaGVja2JveGVzIHRvIG1ha2UgdGFibGUgcm93cyBzZWxlY3RhYmxlLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBzZWxlY3RhYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuYWJsZXMgc2VsZWN0IGFsbCBjaGVja2JveCBkaXNwbGF5ZWQgaW4gdGhlIGhlYWRlciBvZiB0aGUgdGFibGUuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIHNlbGVjdEFsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTdGF0ZSBvZiB0aGUgc29ydGVyLiBOYW1lIGtleSBpcyBjb2x1bW4gbmFtZSwgZGlyZWN0aW9uIGNhbiBiZSAnYXNjJyBvciAnZGVzYycuXG4gICAqIEB0eXBlIElTb3J0ZXJWYWx1ZVxuICAgKi9cbiAgc29ydGVyVmFsdWU/OiBJU29ydGVyVmFsdWU7XG4gIC8qKlxuICAgKiBTb3J0ZXIgaWNvbiB3aGVuIGl0ZW1zIGFyZSB1bnNvcnRlZC5cbiAgICogQGRlZmF1bHQgJzxzdmcgY0ljb24gd2lkdGg9XCIxOFwiIGNvbnRlbnQ9e2NpbEFycm93VG9wfSAvPlxuICAgKi9cbiAgc29ydGluZ0ljb24/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvKipcbiAgICogU29ydGVyIGljb24gd2hlbiBpdGVtcyBhcmUgc29ydGVkIGFzY2VuZGluZy5cbiAgICogQGRlZmF1bHQgJzxzdmcgY0ljb24gd2lkdGg9XCIxOFwiIGNvbnRlbnQ9e2NpbEFycm93VG9wfSAvPlxuICAgKi9cbiAgc29ydGluZ0ljb25Bc2NlbmRpbmc/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvKipcbiAgICogU29ydGVyIGljb24gd2hlbiBpdGVtcyBhcmUgc29ydGVkIGRlc2NlbmRpbmcuXG4gICAqIEBkZWZhdWx0ICc8c3ZnIGNJY29uIHdpZHRoPVwiMThcIiBjb250ZW50PXtjaWxBcnJvd0JvdHRvbX0gLz5cbiAgICovXG4gIHNvcnRpbmdJY29uRGVzY2VuZGluZz86IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBQcm9wZXJ0aWVzIHRvIGBDVGFibGVCb2R5YCBjb21wb25lbnQuXG4gICAqIEBsaW5rIGh0dHBzOi8vY29yZXVpLmlvL2FuZ3VsYXIvZG9jcy9jb21wb25lbnRzL3RhYmxlLyNjdGFibGVib2R5XG4gICAqIHRvZG8gb3IgcmVtb3ZlP1xuICAgKi9cbiAgLy8gdGFibGVCb2R5UHJvcHM/OiBDVGFibGVCb2R5UHJvcHNcbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgdG8gYENUYWJsZUZvb3RgIGNvbXBvbmVudC5cbiAgICogQGxpbmsgaHR0cHM6Ly9jb3JldWkuaW8vYW5ndWxhci9kb2NzL2NvbXBvbmVudHMvdGFibGUvI2N0YWJsZWZvb3RcbiAgICogdG9kbyBvciByZW1vdmU/XG4gICAqL1xuICAvLyAgIHRhYmxlRm9vdFByb3BzPzogQ1RhYmxlRm9vdFByb3BzXG4gIC8qKlxuICAgKiBXaGVuIHNldCwgZGlzcGxheXMgdGFibGUgZmlsdGVyIGFib3ZlIHRhYmxlLCBhbGxvd2luZyBmaWx0ZXJpbmcgYnkgc3BlY2lmaWMgY29sdW1uLlxuICAgKlxuICAgKiBDb2x1bW4gZmlsdGVyIGNhbiBiZSBjdXN0b21pemVkLCBieSBwYXNzaW5nIHByb3AgYXMgb2JqZWN0IHdpdGggYWRkaXRpb25hbCBvcHRpb25zIGFzIGtleXMuIEF2YWlsYWJsZSBvcHRpb25zOlxuICAgKiAtIHBsYWNlaG9sZGVyIChTdHJpbmcpIC0gU2V0cyBjdXN0b20gdGFibGUgZmlsdGVyIHBsYWNlaG9sZGVyLlxuICAgKiAtIGxhYmVsIChTdHJpbmcpIC0gU2V0cyBjdXN0b20gdGFibGUgZmlsdGVyIGxhYmVsLlxuICAgKiAtIGV4dGVybmFsIChCb29sZWFuKSAtIERpc2FibGVzIGF1dG9tYXRpYyBmaWx0ZXJpbmcgaW5zaWRlIGNvbXBvbmVudC5cbiAgICogLSBsYXp5IChCb29sZWFuKSAtIFNldCB0byB0cnVlIHRvIHRyaWdnZXIgZmlsdGVyIHVwZGF0ZXMgb25seSBvbiBjaGFuZ2UgZXZlbnQuXG4gICAqL1xuICB0YWJsZUZpbHRlcj86IGJvb2xlYW4gfCBJVGFibGVGaWx0ZXI7XG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCByZXByZXNlbnRzIGEgY2FwdGlvbiBmb3IgYSBjb21wb25lbnQuXG4gICAqIEBkZWZhdWx0ICdGaWx0ZXI6J1xuICAgKiB0b2RvIG9yIHJlbW92ZT9cbiAgICovXG4gIHRhYmxlRmlsdGVyTGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBzaG9ydCBoaW50IHRoYXQgaXMgdmlzaWJsZSBpbiB0aGUgc2VhcmNoIGlucHV0LlxuICAgKiBAZGVmYXVsdCAndHlwZSBzdHJpbmcuLi4nXG4gICAqIHRvZG8gb3IgcmVtb3ZlP1xuICAgKi9cbiAgdGFibGVGaWx0ZXJQbGFjZWhvbGRlcj86IHN0cmluZztcbiAgLyoqXG4gICAqIFZhbHVlIG9mIHRhYmxlIGZpbHRlci4gU2V0IC5zeW5jIG1vZGlmaWVyIHRvIHRyYWNrIGNoYW5nZXMuXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKi9cbiAgdGFibGVGaWx0ZXJWYWx1ZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgdG8gYENUYWJsZUhlYWRgIGNvbXBvbmVudC5cbiAgICogQGxpbmsgaHR0cHM6Ly9jb3JldWkuaW8vYW5ndWxhci9kb2NzL2NvbXBvbmVudHMvdGFibGUvI2N0YWJsZWhlYWRcbiAgICogdG9kbyBvciByZW1vdmU/XG4gICAqL1xuICAvLyB0YWJsZUhlYWRQcm9wcz86IENUYWJsZUhlYWRQcm9wc1xuICAvKipcbiAgICogUHJvcGVydGllcyB0byBgQ1RhYmxlYCBjb21wb25lbnQuXG4gICAqIEBsaW5rIGh0dHBzOi8vY29yZXVpLmlvL2FuZ3VsYXIvZG9jcy9jb21wb25lbnRzL3RhYmxlLyNjdGFibGVcbiAgICovXG4gIHRhYmxlUHJvcHM/OiBJVGFibGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbHVtbkZpbHRlciB7XG4gIGxhenk/OiBib29sZWFuO1xuICBleHRlcm5hbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbHVtbkZpbHRlclZhbHVlIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2x1bW4ge1xuICBmaWx0ZXI/OiBib29sZWFuIHwgKChjb2x1bW46IElJdGVtLCB2YWx1ZTogc3RyaW5nKSA9PiBib29sZWFuKTtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xuICBzb3J0ZXI/OiBib29sZWFuIHwgKChhOiBJSXRlbSwgYjogSUl0ZW0pID0+IG51bWJlcik7XG4gIF9zdHlsZT86IGFueTtcbiAgX3Byb3BzPzogSVRhYmxlSGVhZGVyQ2VsbFByb3BzO1xuICBfY2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFtrbGFzczogc3RyaW5nXTogYW55OyB9O1xuICBfbGFiZWxUZW1wbGF0ZUlkPzogc3RyaW5nO1xuICBfZGF0YT86IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZUhlYWRlckNlbGxQcm9wcyB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb2xvciBjb250ZXh0IG9mIHRoZSBjb21wb25lbnQgdG8gb25lIG9mIENvcmVVSeKAmXMgdGhlbWVkIGNvbG9ycy5cbiAgICpcbiAgICogQHR5cGUgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnc3VjY2VzcycgfCAnZGFuZ2VyJyB8ICd3YXJuaW5nJyB8ICdpbmZvJyB8ICdkYXJrJyB8ICdsaWdodCcgfCBzdHJpbmdcbiAgICovXG4gIGNvbG9yPzogQ29sb3JzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNvcnRlciB7XG4gIHJlc2V0YWJsZT86IGJvb2xlYW47XG4gIGV4dGVybmFsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSXRlbSB7XG4gIF9wcm9wcz86IElUYWJsZVJvd0NlbGxQcm9wcztcbiAgX2NlbGxQcm9wcz86IElUYWJsZUNlbGxQcm9wcztcbiAgX3NlbGVjdGVkPzogYm9vbGVhbjtcbiAgX3NlbGVjdGFibGU/OiBib29sZWFuO1xuICBba2V5OiBzdHJpbmddOiBudW1iZXIgfCBzdHJpbmcgfCBhbnk7XG4gIC8vIF9kZWxldGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGFibGVDZWxsUHJvcHMge1xuICBfYWxsPzogSVRhYmxlUm93Q2VsbFByb3BzO1xuICBfYXR0cmlidXRlcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIFtrZXk6IHN0cmluZ106IElUYWJsZVJvd0NlbGxQcm9wcyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSXRlbUludGVybmFsIGV4dGVuZHMgSUl0ZW0ge1xuICBfaWQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSXRlbXNQZXJQYWdlU2VsZWN0IHtcbiAgZXh0ZXJuYWw/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgdmFsdWVzPzogQXJyYXk8bnVtYmVyPjtcbn1cblxuLy8gZXhwb3J0IGludGVyZmFjZSBTY29wZWRDb2x1bW5zIHtcbi8vICAgW2tleTogc3RyaW5nXTogYW55XG4vLyAgIGRldGFpbHM/OiAoYTogSUl0ZW0sIGI6IG51bWJlcikgPT4gUmVhY3ROb2RlXG4vLyB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNvcnRlclZhbHVlIHtcbiAgY29sdW1uPzogc3RyaW5nO1xuICBzdGF0ZT86IG51bWJlciB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGFibGVGaWx0ZXIge1xuICBsYXp5PzogYm9vbGVhbjtcbiAgZXh0ZXJuYWw/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZUdyb3VwUHJvcHMgZXh0ZW5kcyBJVGFibGVFbGVtZW50UHJvcHMge1xuICBhdHRyaWJ1dGVzPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbn1cbiJdfQ==
@@ -30,11 +30,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
30
30
  args: [{
31
31
  selector: '[cTableActive]'
32
32
  }]
33
- }], ctorParameters: function () { return []; }, propDecorators: { active: [{
33
+ }], propDecorators: { active: [{
34
34
  type: Input,
35
35
  args: ['cTableActive']
36
36
  }], hostClasses: [{
37
37
  type: HostBinding,
38
38
  args: ['class']
39
39
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aXZlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvdGFibGUvdGFibGUtYWN0aXZlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUs1RSxNQUFNLE9BQU8sb0JBQW9CO0lBeUIvQjtRQVRRLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFTUixDQUFDO0lBckJqQjs7O09BR0c7SUFDSCxJQUNJLE1BQU0sQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUFBLENBQUM7SUFDRixJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUFBLENBQUM7SUFJRixJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQzVCLENBQUM7SUFDSixDQUFDOztpSEF2QlUsb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQjswRUFVSyxNQUFNO3NCQURULEtBQUs7dUJBQUMsY0FBYztnQkFXakIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY1RhYmxlQWN0aXZlXSdcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVBY3RpdmVEaXJlY3RpdmUge1xuXG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9hY3RpdmU6IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogSGlnaGxpZ2h0IGEgdGFibGUgcm93IG9yIGNlbGxcbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KCdjVGFibGVBY3RpdmUnKVxuICBzZXQgYWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fYWN0aXZlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfTtcbiAgZ2V0IGFjdGl2ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlO1xuICB9O1xuXG4gIHByaXZhdGUgX2FjdGl2ZSA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3RhYmxlLWFjdGl2ZSc6IHRoaXMuYWN0aXZlLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG59XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aXZlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvdGFibGUvdGFibGUtYWN0aXZlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUs1RSxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBbUJVLFlBQU8sR0FBRyxLQUFLLENBQUM7S0FRekI7SUFwQkM7OztPQUdHO0lBQ0gsSUFDSSxNQUFNLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFBQSxDQUFDO0lBQ0YsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFBQSxDQUFDO0lBSUYsSUFDSSxXQUFXO1FBQ2IsT0FBTztZQUNMLGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTTtTQUM1QixDQUFDO0lBQ0osQ0FBQzs7aUhBdkJVLG9CQUFvQjtxR0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0I7OEJBVUssTUFBTTtzQkFEVCxLQUFLO3VCQUFDLGNBQWM7Z0JBV2pCLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NUYWJsZUFjdGl2ZV0nXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQWN0aXZlRGlyZWN0aXZlIHtcblxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYWN0aXZlOiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIEhpZ2hsaWdodCBhIHRhYmxlIHJvdyBvciBjZWxsXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgnY1RhYmxlQWN0aXZlJylcbiAgc2V0IGFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2FjdGl2ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH07XG4gIGdldCBhY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcbiAgfTtcblxuICBwcml2YXRlIF9hY3RpdmUgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICd0YWJsZS1hY3RpdmUnOiB0aGlzLmFjdGl2ZSxcbiAgICB9O1xuICB9XG59XG4iXX0=