nuxeo-development-framework 6.1.1 → 6.1.3
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.
- package/bundles/nuxeo-development-framework.umd.js +893 -674
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/aggregation-date-list/aggregation-date-list.component.js +76 -23
- package/esm2015/lib/components/ndf-filters/models/field-options/date-list-options.js +1 -1
- package/esm2015/lib/components/ndf-filters/models/filter-option.model.js +1 -1
- package/esm2015/lib/components/ndf-filters/services/aggregation-field.service.js +23 -12
- package/esm2015/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.js +2 -2
- package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +32 -16
- package/esm2015/lib/components/reports/ndf-reports/models/common.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/dynamic-line.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/pipes/check-condition.pipe.js +4 -4
- package/esm2015/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.js +26 -31
- package/esm2015/lib/components/reports/ndf-reports/services/ndf-reports.service.js +16 -21
- package/esm2015/lib/components/reports/ndf-reports/services/reports-hooks.service.js +34 -1
- package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +116 -102
- package/esm2015/lib/components/tables/dynamic-table/public-api.js +3 -2
- package/esm2015/lib/components/tables/dynamic-table/services/table-hooks.service.js +56 -0
- package/esm2015/lib/shared/services/base/base.service.js +9 -10
- package/fesm2015/nuxeo-development-framework.js +613 -446
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/ndf-filters/components/aggregation-date-list/aggregation-date-list.component.d.ts +7 -0
- package/lib/components/ndf-filters/models/field-options/date-list-options.d.ts +2 -1
- package/lib/components/ndf-filters/models/filter-option.model.d.ts +6 -0
- package/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.d.ts +1 -1
- package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +9 -3
- package/lib/components/reports/ndf-reports/models/common.d.ts +9 -1
- package/lib/components/reports/ndf-reports/models/dynamic-line.d.ts +4 -5
- package/lib/components/reports/ndf-reports/models/ndf-reports.config.d.ts +1 -0
- package/lib/components/reports/ndf-reports/pipes/check-condition.pipe.d.ts +2 -2
- package/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.d.ts +4 -2
- package/lib/components/reports/ndf-reports/services/ndf-reports.service.d.ts +6 -6
- package/lib/components/reports/ndf-reports/services/reports-hooks.service.d.ts +15 -3
- package/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.d.ts +23 -9
- package/lib/components/tables/dynamic-table/public-api.d.ts +2 -1
- package/lib/components/tables/dynamic-table/services/table-hooks.service.d.ts +13 -0
- package/lib/shared/services/base/base.service.d.ts +4 -2
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@ export class ConfigPreviewComponent {
|
|
|
12
12
|
ngOnInit() { }
|
|
13
13
|
}
|
|
14
14
|
ConfigPreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
-
ConfigPreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ConfigPreviewComponent, selector: "app-config-preview", inputs: { type: "type", data: "data" }, ngImport: i0, template: "<ng-container *ngIf=\"data | validateObject\">\r\n\t<ng-container [ngSwitch]=\"type\">\r\n\t\t<app-ndf-table *ngSwitchCase=\"types.TABLES\" [config]=\"data\"></app-ndf-table>\r\n\t\t<app-ndf-reports *ngSwitchCase=\"types.REPORTS\" [config]=\"data\"></app-ndf-reports>\r\n\t</ng-container>\r\n</ng-container>\r\n", styles: [":host{display:block;height:var(--monaco-config-editor-height, 100%);border:var(--monaco-config-editor-border, 1px solid var(--monaco-border-color, #bbb))}\n"], components: [{ type: i1.NdfTableComponent, selector: "app-ndf-table", inputs: ["rows", "totalRecords", "autoCalculateHeight", "emptyMessage", "activeQuery", "configPath", "styleClass", "configTransformer", "tableKey", "jsonEditorEnabled", "config", "customCriteria", "searchTerm"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "onPage", "onInitialized", "onLoaded", "onQueryChange", "onSort"] }, { type: i2.NdfReportsComponent, selector: "app-ndf-reports", inputs: ["jsonEditorEnabled", "reportsKey", "navigateRoute", "config"], outputs: ["onQueryChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "validateObject": i4.ValidateObjectPipe } });
|
|
15
|
+
ConfigPreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ConfigPreviewComponent, selector: "app-config-preview", inputs: { type: "type", data: "data" }, ngImport: i0, template: "<ng-container *ngIf=\"data | validateObject\">\r\n\t<ng-container [ngSwitch]=\"type\">\r\n\t\t<app-ndf-table *ngSwitchCase=\"types.TABLES\" [config]=\"data\"></app-ndf-table>\r\n\t\t<app-ndf-reports *ngSwitchCase=\"types.REPORTS\" [config]=\"data\"></app-ndf-reports>\r\n\t</ng-container>\r\n</ng-container>\r\n", styles: [":host{display:block;height:var(--monaco-config-editor-height, 100%);border:var(--monaco-config-editor-border, 1px solid var(--monaco-border-color, #bbb))}\n"], components: [{ type: i1.NdfTableComponent, selector: "app-ndf-table", inputs: ["rows", "totalRecords", "autoCalculateHeight", "emptyMessage", "activeQuery", "configPath", "styleClass", "configTransformer", "tableKey", "jsonEditorEnabled", "config", "customCriteria", "searchTerm"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "onPage", "onInitialized", "onLoaded", "onQueryChange", "onSort"] }, { type: i2.NdfReportsComponent, selector: "app-ndf-reports", inputs: ["jsonEditorEnabled", "reportsKey", "navigateRoute", "loadCondition", "config"], outputs: ["onQueryChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "validateObject": i4.ValidateObjectPipe } });
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigPreviewComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
18
|
args: [{
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Host, Optional, Renderer2, SkipSelf, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { ControlContainer, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Host, Optional, Renderer2, SkipSelf, ViewEncapsulation, } from '@angular/core';
|
|
3
|
+
import { ControlContainer, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
4
|
+
import moment from 'moment';
|
|
4
5
|
import { map, takeUntil } from 'rxjs/operators';
|
|
5
6
|
import { BaseAggregationField } from '../../base';
|
|
6
7
|
import { DATE_LIST_VIEW, FIELD_SEND_MODE } from '../../constants';
|
|
@@ -38,11 +39,16 @@ export class AggregationDateListComponent extends BaseAggregationField {
|
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
_initValue(obj) {
|
|
42
|
+
var _a;
|
|
41
43
|
if (!isFieldValueObject(obj)) {
|
|
42
44
|
this._handleSelection(obj);
|
|
43
45
|
return;
|
|
44
46
|
}
|
|
45
47
|
const { min, max, value } = obj;
|
|
48
|
+
if ((_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.convertTime) {
|
|
49
|
+
this._handleConvertedTime(this._dateToTimestamp(min), this._dateToTimestamp(max));
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
46
52
|
if (min || max) {
|
|
47
53
|
this.minMaxDateCtrl.patchValue({ min, max }, { emitEvent: false });
|
|
48
54
|
}
|
|
@@ -50,6 +56,13 @@ export class AggregationDateListComponent extends BaseAggregationField {
|
|
|
50
56
|
this._handleSelection(value);
|
|
51
57
|
}
|
|
52
58
|
}
|
|
59
|
+
_handleConvertedTime(from, to) {
|
|
60
|
+
const options = this._optionsSub.getValue();
|
|
61
|
+
const option = this.findByRange(options, { from, to });
|
|
62
|
+
if (option) {
|
|
63
|
+
this.selectionModel.select(option === null || option === void 0 ? void 0 : option.value);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
53
66
|
_handleSelection(values) {
|
|
54
67
|
this.internalValue = values;
|
|
55
68
|
if (this._isList()) {
|
|
@@ -64,13 +77,31 @@ export class AggregationDateListComponent extends BaseAggregationField {
|
|
|
64
77
|
this._updateVisibility();
|
|
65
78
|
}
|
|
66
79
|
updateValueSelection(value) {
|
|
67
|
-
var _a;
|
|
68
|
-
this._onChange(value);
|
|
80
|
+
var _a, _b;
|
|
81
|
+
this._onChange(!!((_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.convertTime) ? this._convertToTime(value) : value);
|
|
69
82
|
if (this.renderOptions.minMax) {
|
|
70
|
-
const _emitEvent = ((
|
|
83
|
+
const _emitEvent = ((_b = this.fieldConfig) === null || _b === void 0 ? void 0 : _b.sendMode) === FIELD_SEND_MODE.queryParam;
|
|
71
84
|
this._resetMinMaxCtrl(_emitEvent);
|
|
72
85
|
}
|
|
73
86
|
}
|
|
87
|
+
_convertToTime(value) {
|
|
88
|
+
var _a;
|
|
89
|
+
const [_val] = value;
|
|
90
|
+
const options = this._optionsSub.getValue();
|
|
91
|
+
const option = options.find((opt) => opt.value === _val);
|
|
92
|
+
if (option && ((_a = option.constraints) === null || _a === void 0 ? void 0 : _a.range)) {
|
|
93
|
+
const { from, to } = option.constraints.range;
|
|
94
|
+
const _val = {
|
|
95
|
+
min: this._toEndOfDayISO(from),
|
|
96
|
+
max: this._toEndOfDayISO(to),
|
|
97
|
+
};
|
|
98
|
+
if (this._isValueObject()) {
|
|
99
|
+
return this._prepareValueRange(_val);
|
|
100
|
+
}
|
|
101
|
+
return _val;
|
|
102
|
+
}
|
|
103
|
+
return value;
|
|
104
|
+
}
|
|
74
105
|
updateSelectValue(value) {
|
|
75
106
|
this.updateValueSelection([value]);
|
|
76
107
|
}
|
|
@@ -83,13 +114,15 @@ export class AggregationDateListComponent extends BaseAggregationField {
|
|
|
83
114
|
this._internalReset();
|
|
84
115
|
this._isFieldDirty = !!_hasData;
|
|
85
116
|
if (this._isValueObject()) {
|
|
86
|
-
|
|
87
|
-
const _val = NxQL._getValueRange(value, 'DATE', _operator);
|
|
88
|
-
this._onChange(_val);
|
|
117
|
+
this._onChange(this._prepareValueRange(value));
|
|
89
118
|
return;
|
|
90
119
|
}
|
|
91
120
|
this._onChange(value);
|
|
92
121
|
}
|
|
122
|
+
_prepareValueRange(value) {
|
|
123
|
+
const _operator = NxQL._getRangeOperator(value);
|
|
124
|
+
return NxQL._getValueRange(value, 'DATE', _operator);
|
|
125
|
+
}
|
|
93
126
|
updateValue(value) {
|
|
94
127
|
this.internalValue = value;
|
|
95
128
|
this._onChange(value);
|
|
@@ -105,7 +138,9 @@ export class AggregationDateListComponent extends BaseAggregationField {
|
|
|
105
138
|
}
|
|
106
139
|
if (this._isSendAsQueryParams()) {
|
|
107
140
|
formGroup.addControl(`${this.fieldConfig.aggregation}__minMaxDate`, this.minMaxDateCtrl);
|
|
108
|
-
this.minMaxDateCtrl.valueChanges
|
|
141
|
+
this.minMaxDateCtrl.valueChanges
|
|
142
|
+
.pipe(takeUntil(this.destroy$))
|
|
143
|
+
.subscribe((_) => {
|
|
109
144
|
this._internalReset();
|
|
110
145
|
this.updateValue(null);
|
|
111
146
|
});
|
|
@@ -122,22 +157,20 @@ export class AggregationDateListComponent extends BaseAggregationField {
|
|
|
122
157
|
}
|
|
123
158
|
}
|
|
124
159
|
_addSelectionListener() {
|
|
125
|
-
if (!!this.renderOptions.view &&
|
|
160
|
+
if (!!this.renderOptions.view &&
|
|
161
|
+
this.renderOptions.view !== DATE_LIST_VIEW.list) {
|
|
126
162
|
return;
|
|
127
163
|
}
|
|
128
164
|
this.selectionModel.changed
|
|
129
165
|
.asObservable()
|
|
130
166
|
.pipe(map((data) => data.source.selected), takeUntil(this.destroy$))
|
|
131
167
|
.subscribe((value) => {
|
|
132
|
-
if (this.renderOptions.minMax) {
|
|
133
|
-
this._resetMinMaxCtrl(false);
|
|
134
|
-
}
|
|
135
168
|
this.updateValueSelection(value);
|
|
136
169
|
});
|
|
137
170
|
}
|
|
138
171
|
_resetMinMaxCtrl(emitEvent = true) {
|
|
139
172
|
this.minMaxDateCtrl.reset(null, {
|
|
140
|
-
emitEvent: emitEvent
|
|
173
|
+
emitEvent: emitEvent,
|
|
141
174
|
});
|
|
142
175
|
}
|
|
143
176
|
_internalReset() {
|
|
@@ -171,19 +204,39 @@ export class AggregationDateListComponent extends BaseAggregationField {
|
|
|
171
204
|
}
|
|
172
205
|
});
|
|
173
206
|
}
|
|
207
|
+
_toEndOfDayISO(timestamp) {
|
|
208
|
+
moment.locale('en');
|
|
209
|
+
return moment(timestamp).format('YYYY-MM-DDTHH:mm:ssZ');
|
|
210
|
+
}
|
|
211
|
+
_dateToTimestamp(date) {
|
|
212
|
+
moment.locale('en');
|
|
213
|
+
return moment.parseZone(date).valueOf();
|
|
214
|
+
}
|
|
215
|
+
normalize(ts) {
|
|
216
|
+
return moment(ts).startOf('second').valueOf();
|
|
217
|
+
}
|
|
218
|
+
findByRange(list, range) {
|
|
219
|
+
const from = this.normalize(range.from);
|
|
220
|
+
const to = this.normalize(range.to);
|
|
221
|
+
return list.find(item => {
|
|
222
|
+
const itemFrom = this.normalize(item.constraints.range.from);
|
|
223
|
+
const itemTo = this.normalize(item.constraints.range.to);
|
|
224
|
+
return itemFrom === from && itemTo === to;
|
|
225
|
+
});
|
|
226
|
+
}
|
|
174
227
|
}
|
|
175
228
|
AggregationDateListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationDateListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
176
229
|
AggregationDateListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AggregationDateListComponent, selector: "aggregation-date-list", host: { classAttribute: "filter-date-list" }, providers: [
|
|
177
230
|
{
|
|
178
231
|
provide: NG_VALUE_ACCESSOR,
|
|
179
232
|
useExisting: forwardRef(() => AggregationDateListComponent),
|
|
180
|
-
multi: true
|
|
233
|
+
multi: true,
|
|
181
234
|
},
|
|
182
235
|
{
|
|
183
236
|
provide: NG_VALIDATORS,
|
|
184
237
|
useExisting: forwardRef(() => AggregationDateListComponent),
|
|
185
|
-
multi: true
|
|
186
|
-
}
|
|
238
|
+
multi: true,
|
|
239
|
+
},
|
|
187
240
|
], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"options$ | async as options\">\r\n\t<field-header *ngIf=\"fieldConfig.label && !renderOptions?.hideLabel\" class=\"filter-date-list__label\">{{\r\n\t\tfieldConfig.label | translate\r\n\t}}</field-header>\r\n\r\n\t<div class=\"filter-date-list__wrapper\">\r\n\t\t<ng-container *ngIf=\"!renderOptions?.view || renderOptions.view === viewLayout.list\">\r\n\t\t\t<mat-radio-button\r\n\t\t\t\tclass=\"filter-date-list__item\"\r\n\t\t\t\t*ngFor=\"let option of options; index as index\"\r\n\t\t\t\t[checked]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t(change)=\"selectionModel.toggle(option.value)\"\r\n\t\t\t\t[class.checkedBox]=\"selectionModel.isSelected(option.value)\"\r\n\t\t\t\t[class.unCheckedBox]=\"!selectionModel.isSelected(option.value)\"\r\n\t\t\t>\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"contentTemplate || defaultTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: option, fieldConfig, aggregation }\"\r\n\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t<ng-template #defaultTemplate>\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"option\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</mat-radio-button>\r\n\r\n\t\t\t<button *ngIf=\"selectionModel.hasValue()\" mat-flat-button class=\"mb-2\" (click)=\"clearSelected()\">\r\n\t\t\t\t{{ 'FILTERS.clear' | translate }}\r\n\t\t\t</button>\r\n\t\t</ng-container>\r\n\r\n\t\t<ng-container *ngIf=\"renderOptions.view === viewLayout.dropdown\">\r\n\t\t\t<ng-select\r\n\t\t\t\tclass=\"filter-date-list__select\"\r\n\t\t\t\t[items]=\"options\"\r\n\t\t\t\tbindValue=\"value\"\r\n\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t[ngModel]=\"internalValue\"\r\n\t\t\t\t(ngModelChange)=\"updateSelectValue($event)\"\r\n\t\t\t\t[notFoundText]=\"emptyPlaceholder || 'SELECT.notFoundText' | translate\"\r\n\t\t\t\t[placeholder]=\"'SELECT.placeholder' | translate\"\r\n\t\t\t\t[clearAllText]=\"'SELECT.clearAllText' | translate\"\r\n\t\t\t\t[typeToSearchText]=\"'SELECT.typeToSearchText' | translate\"\r\n\t\t\t\t[searchable]=\"false\"\r\n\t\t\t>\r\n\t\t\t\t<ng-template ng-option-tmp let-item=\"item\">\r\n\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t[ngTemplateOutlet]=\"contentTemplate || defaultTemplate\"\r\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: item, fieldConfig, aggregation }\"\r\n\t\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t\t<ng-template #defaultTemplate>\r\n\t\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t\t[option]=\"item\"\r\n\t\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t\t</ng-template>\r\n\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t<ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\r\n\t\t\t\t\t<div *ngFor=\"let item of items\" class=\"ng-value\">\r\n\t\t\t\t\t\t<span class=\"ng-value-label\">{{ item | localizedLabel : language }}</span>\r\n\t\t\t\t\t\t<button class=\"ng-value-icon left\" (click)=\"clear(item)\" aria-hidden=\"true\">\u00D7</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t<ng-template ng-label-tmp let-item=\"item\">\r\n\t\t\t\t\t<filter-option-text\r\n\t\t\t\t\t\t[option]=\"item\"\r\n\t\t\t\t\t\t[language]=\"language\"\r\n\t\t\t\t\t\t[showCount]=\"renderOptions?.showTotal\"\r\n\t\t\t\t\t></filter-option-text>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</ng-select>\r\n\t\t</ng-container>\r\n\r\n\t\t<filter-date-range\r\n\t\t\tclass=\"filter-date-list__range\"\r\n\t\t\t*ngIf=\"renderOptions?.minMax\"\r\n\t\t\t[formControl]=\"minMaxDateCtrl\"\r\n\t\t></filter-date-range>\r\n\t</div>\r\n</div>\r\n", styles: [".filter-date-list{display:var(--fdl-display, block)}.filter-date-list__label{display:var(--fdl-label-display, block);margin-block:var(--fdl-label-margin-block, 0 .5rem);margin-inline:var(--fdl-label-margin-inline, 0 .2rem);padding:var(--fdl-padding, .2rem);font-weight:var(--fdl-weight, 600)}.filter-date-list__wrapper{display:var(--fdl-wrapper-display, flex);flex-direction:var(--fdl-wrapper-direction, column)}.filter-date-list__item{padding-inline-start:.5rem;margin-bottom:var(--fdl-row-margin-bottom, .3rem)}.filter-date-list__item .mat-radio-label{display:flex}.filter-date-list__item .mat-radio-label .mat-radio-label-content{flex-grow:1}.filter-date-list__select{margin-bottom:var(--fdl-row-margin-bottom, .3rem)}.filter-date-list__range{margin-top:var(--fdl-range-margin-top, .5rem);display:var(--fdl-range-display, flex);flex-direction:var(--fdl-range-direction, column)}\n"], components: [{ type: i1.FieldHeaderComponent, selector: "field-header" }, { type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: i3.FilterOptionTextComponent, selector: "filter-option-text", inputs: ["option", "showCount", "language"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i6.FilterDateRangeComponent, selector: "filter-date-range" }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.ɵf, selector: "[ng-option-tmp]" }, { type: i5.ɵi, selector: "[ng-multi-label-tmp]" }, { type: i5.ɵh, selector: "[ng-label-tmp]" }, { type: i8.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i7.AsyncPipe, "translate": i9.TranslatePipe, "localizedLabel": i10.LocalizedLabelPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
188
241
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationDateListComponent, decorators: [{
|
|
189
242
|
type: Component,
|
|
@@ -197,17 +250,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
197
250
|
{
|
|
198
251
|
provide: NG_VALUE_ACCESSOR,
|
|
199
252
|
useExisting: forwardRef(() => AggregationDateListComponent),
|
|
200
|
-
multi: true
|
|
253
|
+
multi: true,
|
|
201
254
|
},
|
|
202
255
|
{
|
|
203
256
|
provide: NG_VALIDATORS,
|
|
204
257
|
useExisting: forwardRef(() => AggregationDateListComponent),
|
|
205
|
-
multi: true
|
|
206
|
-
}
|
|
258
|
+
multi: true,
|
|
259
|
+
},
|
|
207
260
|
],
|
|
208
261
|
host: {
|
|
209
|
-
class: 'filter-date-list'
|
|
210
|
-
}
|
|
262
|
+
class: 'filter-date-list',
|
|
263
|
+
},
|
|
211
264
|
}]
|
|
212
265
|
}], propDecorators: { _controlContainer: [{
|
|
213
266
|
type: Optional
|
|
@@ -216,4 +269,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
216
269
|
}, {
|
|
217
270
|
type: SkipSelf
|
|
218
271
|
}] } });
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tZGF0ZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvY29tcG9uZW50cy9hZ2dyZWdhdGlvbi1kYXRlLWxpc3QvYWdncmVnYXRpb24tZGF0ZS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvY29tcG9uZW50cy9hZ2dyZWdhdGlvbi1kYXRlLWxpc3QvYWdncmVnYXRpb24tZGF0ZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLElBQUksRUFFSixRQUFRLEVBQ1IsU0FBUyxFQUNULFFBQVEsRUFDUixpQkFBaUIsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBYSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7OztBQXdCekQs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bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLHdDQUF3QztvQkFDckQsU0FBUyxFQUFFLENBQUMsd0NBQXdDLENBQUM7b0JBQ3JELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsT0FBTztvQkFDaEQsU0FBUyxFQUFFO3dCQUNWOzRCQUNDLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDZCQUE2QixDQUFDOzRCQUMzRCxLQUFLLEVBQUUsSUFBSTt5QkFDWDt3QkFDRDs0QkFDQyxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNkJBQTZCLENBQUM7NEJBQzNELEtBQUssRUFBRSxJQUFJO3lCQUNYO3FCQUNEO29CQUNELElBQUksRUFBRTt3QkFDTCxLQUFLLEVBQUUsa0JBQWtCO3FCQUN6QjtpQkFDRDs4QkFRUSxpQkFBaUI7c0JBSHhCLFFBQVE7O3NCQUNSLElBQUk7O3NCQUNKLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XHJcbmltcG9ydCB7XHJcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcblx0Q29tcG9uZW50LFxyXG5cdEVsZW1lbnRSZWYsXHJcblx0Zm9yd2FyZFJlZixcclxuXHRIb3N0LFxyXG5cdE9uSW5pdCxcclxuXHRPcHRpb25hbCxcclxuXHRSZW5kZXJlcjIsXHJcblx0U2tpcFNlbGYsXHJcblx0Vmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYXNlQWdncmVnYXRpb25GaWVsZCB9IGZyb20gJy4uLy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBEQVRFX0xJU1RfVklFVywgRklFTERfU0VORF9NT0RFIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgRmllbGRWYWx1ZU9iamVjdCB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IGlzRmllbGRWYWx1ZU9iamVjdCwgTnhRTCB9IGZyb20gJy4uLy4uL3V0aWxpdHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhZ2dyZWdhdGlvbi1kYXRlLWxpc3QnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9hZ2dyZWdhdGlvbi1kYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2FnZ3JlZ2F0aW9uLWRhdGUtbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQWdncmVnYXRpb25EYXRlTGlzdENvbXBvbmVudCksXHJcblx0XHRcdG11bHRpOiB0cnVlXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBZ2dyZWdhdGlvbkRhdGVMaXN0Q29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH1cclxuXHRdLFxyXG5cdGhvc3Q6IHtcclxuXHRcdGNsYXNzOiAnZmlsdGVyLWRhdGUtbGlzdCdcclxuXHR9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZ2dyZWdhdGlvbkRhdGVMaXN0Q29tcG9uZW50XHJcblx0ZXh0ZW5kcyBCYXNlQWdncmVnYXRpb25GaWVsZDwnZGF0ZUxpc3QnLCBzdHJpbmdbXSB8IEZpZWxkVmFsdWVPYmplY3Q8c3RyaW5nPj5cclxuXHRpbXBsZW1lbnRzIE9uSW5pdFxyXG57XHJcblx0QE9wdGlvbmFsKClcclxuXHRASG9zdCgpXHJcblx0QFNraXBTZWxmKClcclxuXHRwcml2YXRlIF9jb250cm9sQ29udGFpbmVyID0gdGhpcy5pbmplY3Rvci5nZXQoQ29udHJvbENvbnRhaW5lcik7XHJcblx0cHJpdmF0ZSBfcmVuZGVyZXIgPSB0aGlzLmluamVjdG9yLmdldChSZW5kZXJlcjIpO1xyXG5cdHByaXZhdGUgX2VsID0gdGhpcy5pbmplY3Rvci5nZXQoRWxlbWVudFJlZik7XHJcblxyXG5cdG1pbk1heERhdGVDdHJsID0gbmV3IEZvcm1Db250cm9sKG51bGwpO1xyXG5cdHNlbGVjdGlvbk1vZGVsID0gbmV3IFNlbGVjdGlvbk1vZGVsKGZhbHNlLCBbXSk7XHJcblxyXG5cdGludGVybmFsVmFsdWU6IGFueTtcclxuXHJcblx0dmlld0xheW91dCA9IERBVEVfTElTVF9WSUVXO1xyXG5cclxuXHR3cml0ZVZhbHVlKG9iajogc3RyaW5nW10gfCBGaWVsZFZhbHVlT2JqZWN0KTogdm9pZCB7XHJcblx0XHRpZiAob2JqKSB7XHJcblx0XHRcdHRoaXMuX2luaXRWYWx1ZShvYmopO1xyXG5cdFx0fSBlbHNlIGlmICh0aGlzLl9pc0ZpZWxkRGlydHkpIHtcclxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Nb2RlbC5jbGVhcigpO1xyXG5cdFx0XHR0aGlzLmludGVybmFsVmFsdWUgPSBudWxsO1xyXG5cdFx0XHR0aGlzLl9pc0ZpZWxkRGlydHkgPSBmYWxzZTtcclxuXHRcdFx0dGhpcy5taW5NYXhEYXRlQ3RybC5yZXNldCh1bmRlZmluZWQsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2luaXRWYWx1ZShvYmo6IHN0cmluZ1tdIHwgRmllbGRWYWx1ZU9iamVjdDxhbnk+KSB7XHJcblx0XHRpZiAoIWlzRmllbGRWYWx1ZU9iamVjdChvYmopKSB7XHJcblx0XHRcdHRoaXMuX2hhbmRsZVNlbGVjdGlvbihvYmopO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRjb25zdCB7IG1pbiwgbWF4LCB2YWx1ZSB9ID0gb2JqIGFzIEZpZWxkVmFsdWVPYmplY3Q7XHJcblx0XHRpZiAobWluIHx8IG1heCkge1xyXG5cdFx0XHR0aGlzLm1pbk1heERhdGVDdHJsLnBhdGNoVmFsdWUoeyBtaW4sIG1heCB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLl9oYW5kbGVTZWxlY3Rpb24odmFsdWUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfaGFuZGxlU2VsZWN0aW9uKHZhbHVlczogYW55KSB7XHJcblx0XHR0aGlzLmludGVybmFsVmFsdWUgPSB2YWx1ZXM7XHJcblxyXG5cdFx0aWYgKHRoaXMuX2lzTGlzdCgpKSB7XHJcblx0XHRcdGNvbnN0IHNlbGVjdGVkVmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZXMpID8gdmFsdWVzIDogW3ZhbHVlc107XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0KC4uLnNlbGVjdGVkVmFsdWVzKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5fYXBwZW5kTWluTWF4Q29udHJvbCgpO1xyXG5cdFx0dGhpcy5fYWRkU2VsZWN0aW9uTGlzdGVuZXIoKTtcclxuXHRcdHRoaXMuX2FkZE1pbk1heExpc3RlbmVyKCk7XHJcblx0XHR0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCk7XHJcblx0fVxyXG5cclxuXHR1cGRhdGVWYWx1ZVNlbGVjdGlvbih2YWx1ZTogc3RyaW5nW10pIHtcclxuXHRcdHRoaXMuX29uQ2hhbmdlKHZhbHVlKTtcclxuXHRcdGlmICh0aGlzLnJlbmRlck9wdGlvbnMubWluTWF4KSB7XHJcblx0XHRcdGNvbnN0IF9lbWl0RXZlbnQgPSB0aGlzLmZpZWxkQ29uZmlnPy5zZW5kTW9kZSA9PT0gRklFTERfU0VORF9NT0RFLnF1ZXJ5UGFyYW07XHJcblx0XHRcdHRoaXMuX3Jlc2V0TWluTWF4Q3RybChfZW1pdEV2ZW50KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHVwZGF0ZVNlbGVjdFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcclxuXHRcdHRoaXMudXBkYXRlVmFsdWVTZWxlY3Rpb24oW3ZhbHVlXSk7XHJcblx0fVxyXG5cclxuXHR1cGRhdGVWYWx1ZU1pbk1heCh2YWx1ZTogeyBtaW46IHN0cmluZzsgbWF4OiBzdHJpbmcgfSkge1xyXG5cdFx0Y29uc3QgX2hhc0RhdGEgPSB2YWx1ZT8ubWluIHx8IHZhbHVlPy5tYXg7XHJcblx0XHRpZiAoIV9oYXNEYXRhKSB7XHJcblx0XHRcdHRoaXMuX29uQ2hhbmdlKHZhbHVlKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5faW50ZXJuYWxSZXNldCgpO1xyXG5cdFx0dGhpcy5faXNGaWVsZERpcnR5ID0gISFfaGFzRGF0YTtcclxuXHRcdGlmICh0aGlzLl9pc1ZhbHVlT2JqZWN0KCkpIHtcclxuXHRcdFx0Y29uc3QgX29wZXJhdG9yID0gTnhRTC5fZ2V0UmFuZ2VPcGVyYXRvcih2YWx1ZSk7XHJcblx0XHRcdGNvbnN0IF92YWwgPSBOeFFMLl9nZXRWYWx1ZVJhbmdlKHZhbHVlLCAnREFURScsIF9vcGVyYXRvcik7XHJcblx0XHRcdHRoaXMuX29uQ2hhbmdlKF92YWwpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHR1cGRhdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcblx0XHR0aGlzLmludGVybmFsVmFsdWUgPSB2YWx1ZTtcclxuXHRcdHRoaXMuX29uQ2hhbmdlKHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdGNsZWFyU2VsZWN0ZWQoKSB7XHJcblx0XHR0aGlzLl9pbnRlcm5hbFJlc2V0KCk7XHJcblx0XHR0aGlzLl9vbkNoYW5nZShudWxsKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2FwcGVuZE1pbk1heENvbnRyb2woKSB7XHJcblx0XHRjb25zdCBmb3JtR3JvdXAgPSB0aGlzLl9jb250cm9sQ29udGFpbmVyLmNvbnRyb2wgYXMgRm9ybUdyb3VwO1xyXG5cdFx0aWYgKCF0aGlzLnJlbmRlck9wdGlvbnMubWluTWF4IHx8ICFmb3JtR3JvdXApIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLl9pc1NlbmRBc1F1ZXJ5UGFyYW1zKCkpIHtcclxuXHRcdFx0Zm9ybUdyb3VwLmFkZENvbnRyb2woYCR7dGhpcy5maWVsZENvbmZpZy5hZ2dyZWdhdGlvbn1fX21pbk1heERhdGVgLCB0aGlzLm1pbk1heERhdGVDdHJsKTtcclxuXHRcdFx0dGhpcy5taW5NYXhEYXRlQ3RybC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoXzogeyBtaW46IHN0cmluZzsgbWF4OiBzdHJpbmcgfSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX2ludGVybmFsUmVzZXQoKTtcclxuXHRcdFx0XHR0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2FkZE1pbk1heExpc3RlbmVyKCkge1xyXG5cdFx0aWYgKFtGSUVMRF9TRU5EX01PREUuY3VzdG9tLCBGSUVMRF9TRU5EX01PREUucGF5bG9hZF0uaW5jbHVkZXModGhpcy5maWVsZENvbmZpZz8uc2VuZE1vZGUgYXMgYW55KSkge1xyXG5cdFx0XHR0aGlzLm1pbk1heERhdGVDdHJsLnZhbHVlQ2hhbmdlc1xyXG5cdFx0XHRcdC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuXHRcdFx0XHQuc3Vic2NyaWJlKCh2YWx1ZTogeyBtaW46IHN0cmluZzsgbWF4OiBzdHJpbmcgfSkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy51cGRhdGVWYWx1ZU1pbk1heCh2YWx1ZSk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9hZGRTZWxlY3Rpb25MaXN0ZW5lcigpIHtcclxuXHRcdGlmICghIXRoaXMucmVuZGVyT3B0aW9ucy52aWV3ICYmIHRoaXMucmVuZGVyT3B0aW9ucy52aWV3ICE9PSBEQVRFX0xJU1RfVklFVy5saXN0KSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMuc2VsZWN0aW9uTW9kZWwuY2hhbmdlZFxyXG5cdFx0XHQuYXNPYnNlcnZhYmxlKClcclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0bWFwKChkYXRhKSA9PiBkYXRhLnNvdXJjZS5zZWxlY3RlZCksXHJcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgodmFsdWU6IHN0cmluZ1tdKSA9PiB7XHJcblx0XHRcdFx0aWYgKHRoaXMucmVuZGVyT3B0aW9ucy5taW5NYXgpIHtcclxuXHRcdFx0XHRcdHRoaXMuX3Jlc2V0TWluTWF4Q3RybChmYWxzZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMudXBkYXRlVmFsdWVTZWxlY3Rpb24odmFsdWUpO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3Jlc2V0TWluTWF4Q3RybChlbWl0RXZlbnQgPSB0cnVlKSB7XHJcblx0XHR0aGlzLm1pbk1heERhdGVDdHJsLnJlc2V0KG51bGwsIHtcclxuXHRcdFx0ZW1pdEV2ZW50OiBlbWl0RXZlbnRcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfaW50ZXJuYWxSZXNldCgpIHtcclxuXHRcdHRoaXMuaW50ZXJuYWxWYWx1ZSA9IG51bGw7XHJcblx0XHR0aGlzLnNlbGVjdGlvbk1vZGVsLmNsZWFyKCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9vbkNoYW5nZSh2YWx1ZTogYW55KSB7XHJcblx0XHR0aGlzLl9pc0ZpZWxkRGlydHkgPSAhIXZhbHVlO1xyXG5cdFx0dGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9pc0Ryb3Bkb3duKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMucmVuZGVyT3B0aW9ucz8udmlldyA9PSBEQVRFX0xJU1RfVklFVy5kcm9wZG93bjtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2lzTGlzdCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLnJlbmRlck9wdGlvbnM/LnZpZXcgPT0gREFURV9MSVNUX1ZJRVcubGlzdDtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3VwZGF0ZVZpc2liaWxpdHkoKSB7XHJcblx0XHR0aGlzLl9vcHRpb25zU3ViXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdG1hcCgoZGF0YSkgPT4gZGF0YS5zb21lKChpdGVtKSA9PiAhIWl0ZW0/LmNvdW50KSksXHJcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgoaGFzRGF0YSkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGVsID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudDtcclxuXHRcdFx0XHRpZiAoaGFzRGF0YSkge1xyXG5cdFx0XHRcdFx0dGhpcy5fcmVuZGVyZXIucmVtb3ZlU3R5bGUoZWwsICdkaXNwbGF5Jyk7XHJcblx0XHRcdFx0XHR0aGlzLl9yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUoZWwsICdoaWRkZW4nKTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsLCAnaGlkZGVuJywgJ3RydWUnKTtcclxuXHRcdFx0XHRcdHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKGVsLCAnZGlzcGxheScsICdub25lJyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIm9wdGlvbnMkIHwgYXN5bmMgYXMgb3B0aW9uc1wiPlxyXG5cdDxmaWVsZC1oZWFkZXIgKm5nSWY9XCJmaWVsZENvbmZpZy5sYWJlbCAmJiAhcmVuZGVyT3B0aW9ucz8uaGlkZUxhYmVsXCIgY2xhc3M9XCJmaWx0ZXItZGF0ZS1saXN0X19sYWJlbFwiPnt7XHJcblx0XHRmaWVsZENvbmZpZy5sYWJlbCB8IHRyYW5zbGF0ZVxyXG5cdH19PC9maWVsZC1oZWFkZXI+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJmaWx0ZXItZGF0ZS1saXN0X193cmFwcGVyXCI+XHJcblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIXJlbmRlck9wdGlvbnM/LnZpZXcgfHwgcmVuZGVyT3B0aW9ucy52aWV3ID09PSB2aWV3TGF5b3V0Lmxpc3RcIj5cclxuXHRcdFx0PG1hdC1yYWRpby1idXR0b25cclxuXHRcdFx0XHRjbGFzcz1cImZpbHRlci1kYXRlLWxpc3RfX2l0ZW1cIlxyXG5cdFx0XHRcdCpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgaW5kZXggYXMgaW5kZXhcIlxyXG5cdFx0XHRcdFtjaGVja2VkXT1cInNlbGVjdGlvbk1vZGVsLmlzU2VsZWN0ZWQob3B0aW9uLnZhbHVlKVwiXHJcblx0XHRcdFx0KGNoYW5nZSk9XCJzZWxlY3Rpb25Nb2RlbC50b2dnbGUob3B0aW9uLnZhbHVlKVwiXHJcblx0XHRcdFx0W2NsYXNzLmNoZWNrZWRCb3hdPVwic2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZChvcHRpb24udmFsdWUpXCJcclxuXHRcdFx0XHRbY2xhc3MudW5DaGVja2VkQm94XT1cIiFzZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKG9wdGlvbi52YWx1ZSlcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PG5nLWNvbnRhaW5lclxyXG5cdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFRlbXBsYXRlIHx8IGRlZmF1bHRUZW1wbGF0ZVwiXHJcblx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG9wdGlvbiwgZmllbGRDb25maWcsIGFnZ3JlZ2F0aW9uIH1cIlxyXG5cdFx0XHRcdD48L25nLWNvbnRhaW5lcj5cclxuXHJcblx0XHRcdFx0PG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8ZmlsdGVyLW9wdGlvbi10ZXh0XHJcblx0XHRcdFx0XHRcdFtvcHRpb25dPVwib3B0aW9uXCJcclxuXHRcdFx0XHRcdFx0W2xhbmd1YWdlXT1cImxhbmd1YWdlXCJcclxuXHRcdFx0XHRcdFx0W3Nob3dDb3VudF09XCJyZW5kZXJPcHRpb25zPy5zaG93VG90YWxcIlxyXG5cdFx0XHRcdFx0PjwvZmlsdGVyLW9wdGlvbi10ZXh0PlxyXG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuXHJcblx0XHRcdDxidXR0b24gKm5nSWY9XCJzZWxlY3Rpb25Nb2RlbC5oYXNWYWx1ZSgpXCIgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwibWItMlwiIChjbGljayk9XCJjbGVhclNlbGVjdGVkKClcIj5cclxuXHRcdFx0XHR7eyAnRklMVEVSUy5jbGVhcicgfCB0cmFuc2xhdGUgfX1cclxuXHRcdFx0PC9idXR0b24+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHJcblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwicmVuZGVyT3B0aW9ucy52aWV3ID09PSB2aWV3TGF5b3V0LmRyb3Bkb3duXCI+XHJcblx0XHRcdDxuZy1zZWxlY3RcclxuXHRcdFx0XHRjbGFzcz1cImZpbHRlci1kYXRlLWxpc3RfX3NlbGVjdFwiXHJcblx0XHRcdFx0W2l0ZW1zXT1cIm9wdGlvbnNcIlxyXG5cdFx0XHRcdGJpbmRWYWx1ZT1cInZhbHVlXCJcclxuXHRcdFx0XHRbbXVsdGlwbGVdPVwiZmFsc2VcIlxyXG5cdFx0XHRcdFtuZ01vZGVsXT1cImludGVybmFsVmFsdWVcIlxyXG5cdFx0XHRcdChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVNlbGVjdFZhbHVlKCRldmVudClcIlxyXG5cdFx0XHRcdFtub3RGb3VuZFRleHRdPVwiZW1wdHlQbGFjZWhvbGRlciB8fCAnU0VMRUNULm5vdEZvdW5kVGV4dCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdFtwbGFjZWhvbGRlcl09XCInU0VMRUNULnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0W2NsZWFyQWxsVGV4dF09XCInU0VMRUNULmNsZWFyQWxsVGV4dCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdFt0eXBlVG9TZWFyY2hUZXh0XT1cIidTRUxFQ1QudHlwZVRvU2VhcmNoVGV4dCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxyXG5cdFx0XHRcdFx0PG5nLWNvbnRhaW5lclxyXG5cdFx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VGVtcGxhdGUgfHwgZGVmYXVsdFRlbXBsYXRlXCJcclxuXHRcdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLCBmaWVsZENvbmZpZywgYWdncmVnYXRpb24gfVwiXHJcblx0XHRcdFx0XHQ+PC9uZy1jb250YWluZXI+XHJcblxyXG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcblx0XHRcdFx0XHRcdDxmaWx0ZXItb3B0aW9uLXRleHRcclxuXHRcdFx0XHRcdFx0XHRbb3B0aW9uXT1cIml0ZW1cIlxyXG5cdFx0XHRcdFx0XHRcdFtsYW5ndWFnZV09XCJsYW5ndWFnZVwiXHJcblx0XHRcdFx0XHRcdFx0W3Nob3dDb3VudF09XCJyZW5kZXJPcHRpb25zPy5zaG93VG90YWxcIlxyXG5cdFx0XHRcdFx0XHQ+PC9maWx0ZXItb3B0aW9uLXRleHQ+XHJcblx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZy1tdWx0aS1sYWJlbC10bXAgbGV0LWl0ZW1zPVwiaXRlbXNcIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxyXG5cdFx0XHRcdFx0PGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiIGNsYXNzPVwibmctdmFsdWVcIj5cclxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJuZy12YWx1ZS1sYWJlbFwiPnt7IGl0ZW0gfCBsb2NhbGl6ZWRMYWJlbCA6IGxhbmd1YWdlIH19PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uIGNsYXNzPVwibmctdmFsdWUtaWNvbiBsZWZ0XCIgKGNsaWNrKT1cImNsZWFyKGl0ZW0pXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+w5c8L2J1dHRvbj5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XHJcblx0XHRcdFx0XHQ8ZmlsdGVyLW9wdGlvbi10ZXh0XHJcblx0XHRcdFx0XHRcdFtvcHRpb25dPVwiaXRlbVwiXHJcblx0XHRcdFx0XHRcdFtsYW5ndWFnZV09XCJsYW5ndWFnZVwiXHJcblx0XHRcdFx0XHRcdFtzaG93Q291bnRdPVwicmVuZGVyT3B0aW9ucz8uc2hvd1RvdGFsXCJcclxuXHRcdFx0XHRcdD48L2ZpbHRlci1vcHRpb24tdGV4dD5cclxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHQ8L25nLXNlbGVjdD5cclxuXHRcdDwvbmctY29udGFpbmVyPlxyXG5cclxuXHRcdDxmaWx0ZXItZGF0ZS1yYW5nZVxyXG5cdFx0XHRjbGFzcz1cImZpbHRlci1kYXRlLWxpc3RfX3JhbmdlXCJcclxuXHRcdFx0Km5nSWY9XCJyZW5kZXJPcHRpb25zPy5taW5NYXhcIlxyXG5cdFx0XHRbZm9ybUNvbnRyb2xdPVwibWluTWF4RGF0ZUN0cmxcIlxyXG5cdFx0PjwvZmlsdGVyLWRhdGUtcmFuZ2U+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tZGF0ZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvY29tcG9uZW50cy9hZ2dyZWdhdGlvbi1kYXRlLWxpc3QvYWdncmVnYXRpb24tZGF0ZS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvY29tcG9uZW50cy9hZ2dyZWdhdGlvbi1kYXRlLWxpc3QvYWdncmVnYXRpb24tZGF0ZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLElBQUksRUFFSixRQUFRLEVBQ1IsU0FBUyxFQUNULFFBQVEsRUFDUixpQkFBaUIsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNOLGdCQUFnQixFQUNoQixXQUFXLEVBRVgsYUFBYSxFQUNiLGlCQUFpQixHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUs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QUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDO1lBQzNELEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRDtZQUNFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7WUFDM0QsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLGlEQzVDSCwrbUhBdUZBOzRGRHRDYSw0QkFBNEI7a0JBdEJ4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO29CQUNyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE9BQU87b0JBQ2hELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQzs0QkFDM0QsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDZCQUE2QixDQUFDOzRCQUMzRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLGtCQUFrQjtxQkFDMUI7aUJBQ0Y7OEJBUVMsaUJBQWlCO3NCQUh4QixRQUFROztzQkFDUixJQUFJOztzQkFDSixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xyXG5pbXBvcnQge1xyXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG5cdENvbXBvbmVudCxcclxuXHRFbGVtZW50UmVmLFxyXG5cdGZvcndhcmRSZWYsXHJcblx0SG9zdCxcclxuXHRPbkluaXQsXHJcblx0T3B0aW9uYWwsXHJcblx0UmVuZGVyZXIyLFxyXG5cdFNraXBTZWxmLFxyXG5cdFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG5cdENvbnRyb2xDb250YWluZXIsXHJcblx0Rm9ybUNvbnRyb2wsXHJcblx0Rm9ybUdyb3VwLFxyXG5cdE5HX1ZBTElEQVRPUlMsXHJcblx0TkdfVkFMVUVfQUNDRVNTT1IsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYXNlQWdncmVnYXRpb25GaWVsZCB9IGZyb20gJy4uLy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBEQVRFX0xJU1RfVklFVywgRklFTERfU0VORF9NT0RFIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgRmllbGRWYWx1ZU9iamVjdCB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IGlzRmllbGRWYWx1ZU9iamVjdCwgTnhRTCB9IGZyb20gJy4uLy4uL3V0aWxpdHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhZ2dyZWdhdGlvbi1kYXRlLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZ2dyZWdhdGlvbi1kYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FnZ3JlZ2F0aW9uLWRhdGUtbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQWdncmVnYXRpb25EYXRlTGlzdENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQWdncmVnYXRpb25EYXRlTGlzdENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnZmlsdGVyLWRhdGUtbGlzdCcsXHJcbiAgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFnZ3JlZ2F0aW9uRGF0ZUxpc3RDb21wb25lbnRcclxuICBleHRlbmRzIEJhc2VBZ2dyZWdhdGlvbkZpZWxkPCdkYXRlTGlzdCcsIHN0cmluZ1tdIHwgRmllbGRWYWx1ZU9iamVjdDxzdHJpbmc+PlxyXG4gIGltcGxlbWVudHMgT25Jbml0XHJcbntcclxuICBAT3B0aW9uYWwoKVxyXG4gIEBIb3N0KClcclxuICBAU2tpcFNlbGYoKVxyXG4gIHByaXZhdGUgX2NvbnRyb2xDb250YWluZXIgPSB0aGlzLmluamVjdG9yLmdldChDb250cm9sQ29udGFpbmVyKTtcclxuICBwcml2YXRlIF9yZW5kZXJlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KFJlbmRlcmVyMik7XHJcbiAgcHJpdmF0ZSBfZWwgPSB0aGlzLmluamVjdG9yLmdldChFbGVtZW50UmVmKTtcclxuXHJcbiAgbWluTWF4RGF0ZUN0cmwgPSBuZXcgRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWwoZmFsc2UsIFtdKTtcclxuXHJcbiAgaW50ZXJuYWxWYWx1ZTogYW55O1xyXG5cclxuICB2aWV3TGF5b3V0ID0gREFURV9MSVNUX1ZJRVc7XHJcblxyXG4gIHdyaXRlVmFsdWUob2JqOiBzdHJpbmdbXSB8IEZpZWxkVmFsdWVPYmplY3QpOiB2b2lkIHtcclxuICAgIGlmIChvYmopIHtcclxuICAgICAgdGhpcy5faW5pdFZhbHVlKG9iaik7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2lzRmllbGREaXJ0eSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLmNsZWFyKCk7XHJcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuX2lzRmllbGREaXJ0eSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLm1pbk1heERhdGVDdHJsLnJlc2V0KHVuZGVmaW5lZCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5pdFZhbHVlKG9iajogc3RyaW5nW10gfCBGaWVsZFZhbHVlT2JqZWN0PGFueT4pIHtcclxuICAgIGlmICghaXNGaWVsZFZhbHVlT2JqZWN0KG9iaikpIHtcclxuICAgICAgdGhpcy5faGFuZGxlU2VsZWN0aW9uKG9iaik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHsgbWluLCBtYXgsIHZhbHVlIH0gPSBvYmogYXMgRmllbGRWYWx1ZU9iamVjdDtcclxuICAgIGlmICh0aGlzLnJlbmRlck9wdGlvbnM/LmNvbnZlcnRUaW1lKSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZUNvbnZlcnRlZFRpbWUoXHJcbiAgICAgICAgdGhpcy5fZGF0ZVRvVGltZXN0YW1wKG1pbiksXHJcbiAgICAgICAgdGhpcy5fZGF0ZVRvVGltZXN0YW1wKG1heClcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChtaW4gfHwgbWF4KSB7XHJcbiAgICAgIHRoaXMubWluTWF4RGF0ZUN0cmwucGF0Y2hWYWx1ZSh7IG1pbiwgbWF4IH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2hhbmRsZVNlbGVjdGlvbih2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hhbmRsZUNvbnZlcnRlZFRpbWUoZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fb3B0aW9uc1N1Yi5nZXRWYWx1ZSgpO1xyXG5cclxuXHRcdGNvbnN0IG9wdGlvbiA9IHRoaXMuZmluZEJ5UmFuZ2Uob3B0aW9ucywgeyBmcm9tLCB0byB9KVxyXG5cdFx0aWYgKG9wdGlvbil7XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0KG9wdGlvbj8udmFsdWUpO1xyXG5cdFx0fVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlU2VsZWN0aW9uKHZhbHVlczogYW55KSB7XHJcbiAgICB0aGlzLmludGVybmFsVmFsdWUgPSB2YWx1ZXM7XHJcblxyXG4gICAgaWYgKHRoaXMuX2lzTGlzdCgpKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkVmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZXMpID8gdmFsdWVzIDogW3ZhbHVlc107XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0KC4uLnNlbGVjdGVkVmFsdWVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fYXBwZW5kTWluTWF4Q29udHJvbCgpO1xyXG4gICAgdGhpcy5fYWRkU2VsZWN0aW9uTGlzdGVuZXIoKTtcclxuICAgIHRoaXMuX2FkZE1pbk1heExpc3RlbmVyKCk7XHJcbiAgICB0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZVNlbGVjdGlvbih2YWx1ZTogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuX29uQ2hhbmdlKFxyXG4gICAgICAhIXRoaXMucmVuZGVyT3B0aW9ucz8uY29udmVydFRpbWUgPyB0aGlzLl9jb252ZXJ0VG9UaW1lKHZhbHVlKSA6IHZhbHVlXHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMucmVuZGVyT3B0aW9ucy5taW5NYXgpIHtcclxuICAgICAgY29uc3QgX2VtaXRFdmVudCA9XHJcbiAgICAgICAgdGhpcy5maWVsZENvbmZpZz8uc2VuZE1vZGUgPT09IEZJRUxEX1NFTkRfTU9ERS5xdWVyeVBhcmFtO1xyXG4gICAgICB0aGlzLl9yZXNldE1pbk1heEN0cmwoX2VtaXRFdmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb252ZXJ0VG9UaW1lKHZhbHVlOiBzdHJpbmdbXSk6IGFueSB7XHJcbiAgICBjb25zdCBbX3ZhbF0gPSB2YWx1ZTtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9vcHRpb25zU3ViLmdldFZhbHVlKCk7XHJcblxyXG4gICAgY29uc3Qgb3B0aW9uID0gb3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC52YWx1ZSA9PT0gX3ZhbCk7XHJcbiAgICBpZiAob3B0aW9uICYmIG9wdGlvbi5jb25zdHJhaW50cz8ucmFuZ2UpIHtcclxuICAgICAgY29uc3QgeyBmcm9tLCB0byB9ID0gb3B0aW9uLmNvbnN0cmFpbnRzLnJhbmdlO1xyXG4gICAgICBjb25zdCBfdmFsID0ge1xyXG4gICAgICAgIG1pbjogdGhpcy5fdG9FbmRPZkRheUlTTyhmcm9tKSxcclxuICAgICAgICBtYXg6IHRoaXMuX3RvRW5kT2ZEYXlJU08odG8pLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAodGhpcy5faXNWYWx1ZU9iamVjdCgpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ByZXBhcmVWYWx1ZVJhbmdlKF92YWwpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBfdmFsO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVNlbGVjdFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudXBkYXRlVmFsdWVTZWxlY3Rpb24oW3ZhbHVlXSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZU1pbk1heCh2YWx1ZTogeyBtaW46IHN0cmluZzsgbWF4OiBzdHJpbmcgfSkge1xyXG4gICAgY29uc3QgX2hhc0RhdGEgPSB2YWx1ZT8ubWluIHx8IHZhbHVlPy5tYXg7XHJcbiAgICBpZiAoIV9oYXNEYXRhKSB7XHJcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHZhbHVlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faW50ZXJuYWxSZXNldCgpO1xyXG4gICAgdGhpcy5faXNGaWVsZERpcnR5ID0gISFfaGFzRGF0YTtcclxuICAgIGlmICh0aGlzLl9pc1ZhbHVlT2JqZWN0KCkpIHtcclxuICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy5fcHJlcGFyZVZhbHVlUmFuZ2UodmFsdWUpKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fb25DaGFuZ2UodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZVZhbHVlUmFuZ2UodmFsdWU6IHsgbWluOiBzdHJpbmc7IG1heDogc3RyaW5nIH0pIHtcclxuICAgIGNvbnN0IF9vcGVyYXRvciA9IE54UUwuX2dldFJhbmdlT3BlcmF0b3IodmFsdWUpO1xyXG4gICAgcmV0dXJuIE54UUwuX2dldFZhbHVlUmFuZ2UodmFsdWUsICdEQVRFJywgX29wZXJhdG9yKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fb25DaGFuZ2UodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJTZWxlY3RlZCgpIHtcclxuICAgIHRoaXMuX2ludGVybmFsUmVzZXQoKTtcclxuICAgIHRoaXMuX29uQ2hhbmdlKG51bGwpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYXBwZW5kTWluTWF4Q29udHJvbCgpIHtcclxuICAgIGNvbnN0IGZvcm1Hcm91cCA9IHRoaXMuX2NvbnRyb2xDb250YWluZXIuY29udHJvbCBhcyBGb3JtR3JvdXA7XHJcbiAgICBpZiAoIXRoaXMucmVuZGVyT3B0aW9ucy5taW5NYXggfHwgIWZvcm1Hcm91cCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2lzU2VuZEFzUXVlcnlQYXJhbXMoKSkge1xyXG4gICAgICBmb3JtR3JvdXAuYWRkQ29udHJvbChcclxuICAgICAgICBgJHt0aGlzLmZpZWxkQ29uZmlnLmFnZ3JlZ2F0aW9ufV9fbWluTWF4RGF0ZWAsXHJcbiAgICAgICAgdGhpcy5taW5NYXhEYXRlQ3RybFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLm1pbk1heERhdGVDdHJsLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChfOiB7IG1pbjogc3RyaW5nOyBtYXg6IHN0cmluZyB9KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9pbnRlcm5hbFJlc2V0KCk7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYWRkTWluTWF4TGlzdGVuZXIoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIFtGSUVMRF9TRU5EX01PREUuY3VzdG9tLCBGSUVMRF9TRU5EX01PREUucGF5bG9hZF0uaW5jbHVkZXMoXHJcbiAgICAgICAgdGhpcy5maWVsZENvbmZpZz8uc2VuZE1vZGUgYXMgYW55XHJcbiAgICAgIClcclxuICAgICkge1xyXG4gICAgICB0aGlzLm1pbk1heERhdGVDdHJsLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogeyBtaW46IHN0cmluZzsgbWF4OiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZU1pbk1heCh2YWx1ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hZGRTZWxlY3Rpb25MaXN0ZW5lcigpIHtcclxuICAgIGlmIChcclxuICAgICAgISF0aGlzLnJlbmRlck9wdGlvbnMudmlldyAmJlxyXG4gICAgICB0aGlzLnJlbmRlck9wdGlvbnMudmlldyAhPT0gREFURV9MSVNUX1ZJRVcubGlzdFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuY2hhbmdlZFxyXG4gICAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiBkYXRhLnNvdXJjZS5zZWxlY3RlZCksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZ1tdKSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZVNlbGVjdGlvbih2YWx1ZSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVzZXRNaW5NYXhDdHJsKGVtaXRFdmVudCA9IHRydWUpIHtcclxuICAgIHRoaXMubWluTWF4RGF0ZUN0cmwucmVzZXQobnVsbCwge1xyXG4gICAgICBlbWl0RXZlbnQ6IGVtaXRFdmVudCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW50ZXJuYWxSZXNldCgpIHtcclxuICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vbkNoYW5nZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9pc0ZpZWxkRGlydHkgPSAhIXZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pc0Ryb3Bkb3duKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucmVuZGVyT3B0aW9ucz8udmlldyA9PSBEQVRFX0xJU1RfVklFVy5kcm9wZG93bjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2lzTGlzdCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnJlbmRlck9wdGlvbnM/LnZpZXcgPT0gREFURV9MSVNUX1ZJRVcubGlzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZVZpc2liaWxpdHkoKSB7XHJcbiAgICB0aGlzLl9vcHRpb25zU3ViXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YSkgPT4gZGF0YS5zb21lKChpdGVtKSA9PiAhIWl0ZW0/LmNvdW50KSksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoaGFzRGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBpZiAoaGFzRGF0YSkge1xyXG4gICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlU3R5bGUoZWwsICdkaXNwbGF5Jyk7XHJcbiAgICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUoZWwsICdoaWRkZW4nKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsLCAnaGlkZGVuJywgJ3RydWUnKTtcclxuICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKGVsLCAnZGlzcGxheScsICdub25lJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3RvRW5kT2ZEYXlJU08odGltZXN0YW1wOiBudW1iZXIpIHtcclxuICAgIG1vbWVudC5sb2NhbGUoJ2VuJyk7XHJcbiAgICByZXR1cm4gbW9tZW50KHRpbWVzdGFtcCkuZm9ybWF0KCdZWVlZLU1NLUREVEhIOm1tOnNzWicpO1xyXG4gIH1cclxuICBwcml2YXRlIF9kYXRlVG9UaW1lc3RhbXAoZGF0ZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIG1vbWVudC5sb2NhbGUoJ2VuJyk7XHJcbiAgICByZXR1cm4gbW9tZW50LnBhcnNlWm9uZShkYXRlKS52YWx1ZU9mKCk7XHJcbiAgfVxyXG5cclxuXHRwcml2YXRlIG5vcm1hbGl6ZSh0czogbnVtYmVyKTogbnVtYmVyIHtcclxuXHRcdHJldHVybiBtb21lbnQodHMpLnN0YXJ0T2YoJ3NlY29uZCcpLnZhbHVlT2YoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZmluZEJ5UmFuZ2UoXHJcblx0XHRsaXN0OiBhbnlbXSxcclxuXHRcdHJhbmdlOiB7IGZyb206IG51bWJlcjsgdG86IG51bWJlciB9XHJcblx0KSB7XHJcblx0XHRjb25zdCBmcm9tID0gdGhpcy5ub3JtYWxpemUocmFuZ2UuZnJvbSk7XHJcblx0XHRjb25zdCB0byA9IHRoaXMubm9ybWFsaXplKHJhbmdlLnRvKTtcclxuXHJcblx0XHRyZXR1cm4gbGlzdC5maW5kKGl0ZW0gPT4ge1xyXG5cdFx0XHRjb25zdCBpdGVtRnJvbSA9IHRoaXMubm9ybWFsaXplKGl0ZW0uY29uc3RyYWludHMucmFuZ2UuZnJvbSk7XHJcblx0XHRcdGNvbnN0IGl0ZW1UbyA9IHRoaXMubm9ybWFsaXplKGl0ZW0uY29uc3RyYWludHMucmFuZ2UudG8pO1xyXG5cclxuXHRcdFx0cmV0dXJuIGl0ZW1Gcm9tID09PSBmcm9tICYmIGl0ZW1UbyA9PT0gdG87XHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIm9wdGlvbnMkIHwgYXN5bmMgYXMgb3B0aW9uc1wiPlxyXG5cdDxmaWVsZC1oZWFkZXIgKm5nSWY9XCJmaWVsZENvbmZpZy5sYWJlbCAmJiAhcmVuZGVyT3B0aW9ucz8uaGlkZUxhYmVsXCIgY2xhc3M9XCJmaWx0ZXItZGF0ZS1saXN0X19sYWJlbFwiPnt7XHJcblx0XHRmaWVsZENvbmZpZy5sYWJlbCB8IHRyYW5zbGF0ZVxyXG5cdH19PC9maWVsZC1oZWFkZXI+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJmaWx0ZXItZGF0ZS1saXN0X193cmFwcGVyXCI+XHJcblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIXJlbmRlck9wdGlvbnM/LnZpZXcgfHwgcmVuZGVyT3B0aW9ucy52aWV3ID09PSB2aWV3TGF5b3V0Lmxpc3RcIj5cclxuXHRcdFx0PG1hdC1yYWRpby1idXR0b25cclxuXHRcdFx0XHRjbGFzcz1cImZpbHRlci1kYXRlLWxpc3RfX2l0ZW1cIlxyXG5cdFx0XHRcdCpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgaW5kZXggYXMgaW5kZXhcIlxyXG5cdFx0XHRcdFtjaGVja2VkXT1cInNlbGVjdGlvbk1vZGVsLmlzU2VsZWN0ZWQob3B0aW9uLnZhbHVlKVwiXHJcblx0XHRcdFx0KGNoYW5nZSk9XCJzZWxlY3Rpb25Nb2RlbC50b2dnbGUob3B0aW9uLnZhbHVlKVwiXHJcblx0XHRcdFx0W2NsYXNzLmNoZWNrZWRCb3hdPVwic2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZChvcHRpb24udmFsdWUpXCJcclxuXHRcdFx0XHRbY2xhc3MudW5DaGVja2VkQm94XT1cIiFzZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKG9wdGlvbi52YWx1ZSlcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PG5nLWNvbnRhaW5lclxyXG5cdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFRlbXBsYXRlIHx8IGRlZmF1bHRUZW1wbGF0ZVwiXHJcblx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG9wdGlvbiwgZmllbGRDb25maWcsIGFnZ3JlZ2F0aW9uIH1cIlxyXG5cdFx0XHRcdD48L25nLWNvbnRhaW5lcj5cclxuXHJcblx0XHRcdFx0PG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8ZmlsdGVyLW9wdGlvbi10ZXh0XHJcblx0XHRcdFx0XHRcdFtvcHRpb25dPVwib3B0aW9uXCJcclxuXHRcdFx0XHRcdFx0W2xhbmd1YWdlXT1cImxhbmd1YWdlXCJcclxuXHRcdFx0XHRcdFx0W3Nob3dDb3VudF09XCJyZW5kZXJPcHRpb25zPy5zaG93VG90YWxcIlxyXG5cdFx0XHRcdFx0PjwvZmlsdGVyLW9wdGlvbi10ZXh0PlxyXG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuXHJcblx0XHRcdDxidXR0b24gKm5nSWY9XCJzZWxlY3Rpb25Nb2RlbC5oYXNWYWx1ZSgpXCIgbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwibWItMlwiIChjbGljayk9XCJjbGVhclNlbGVjdGVkKClcIj5cclxuXHRcdFx0XHR7eyAnRklMVEVSUy5jbGVhcicgfCB0cmFuc2xhdGUgfX1cclxuXHRcdFx0PC9idXR0b24+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHJcblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwicmVuZGVyT3B0aW9ucy52aWV3ID09PSB2aWV3TGF5b3V0LmRyb3Bkb3duXCI+XHJcblx0XHRcdDxuZy1zZWxlY3RcclxuXHRcdFx0XHRjbGFzcz1cImZpbHRlci1kYXRlLWxpc3RfX3NlbGVjdFwiXHJcblx0XHRcdFx0W2l0ZW1zXT1cIm9wdGlvbnNcIlxyXG5cdFx0XHRcdGJpbmRWYWx1ZT1cInZhbHVlXCJcclxuXHRcdFx0XHRbbXVsdGlwbGVdPVwiZmFsc2VcIlxyXG5cdFx0XHRcdFtuZ01vZGVsXT1cImludGVybmFsVmFsdWVcIlxyXG5cdFx0XHRcdChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVNlbGVjdFZhbHVlKCRldmVudClcIlxyXG5cdFx0XHRcdFtub3RGb3VuZFRleHRdPVwiZW1wdHlQbGFjZWhvbGRlciB8fCAnU0VMRUNULm5vdEZvdW5kVGV4dCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdFtwbGFjZWhvbGRlcl09XCInU0VMRUNULnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0W2NsZWFyQWxsVGV4dF09XCInU0VMRUNULmNsZWFyQWxsVGV4dCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdFt0eXBlVG9TZWFyY2hUZXh0XT1cIidTRUxFQ1QudHlwZVRvU2VhcmNoVGV4dCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxyXG5cdFx0XHRcdFx0PG5nLWNvbnRhaW5lclxyXG5cdFx0XHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VGVtcGxhdGUgfHwgZGVmYXVsdFRlbXBsYXRlXCJcclxuXHRcdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLCBmaWVsZENvbmZpZywgYWdncmVnYXRpb24gfVwiXHJcblx0XHRcdFx0XHQ+PC9uZy1jb250YWluZXI+XHJcblxyXG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcblx0XHRcdFx0XHRcdDxmaWx0ZXItb3B0aW9uLXRleHRcclxuXHRcdFx0XHRcdFx0XHRbb3B0aW9uXT1cIml0ZW1cIlxyXG5cdFx0XHRcdFx0XHRcdFtsYW5ndWFnZV09XCJsYW5ndWFnZVwiXHJcblx0XHRcdFx0XHRcdFx0W3Nob3dDb3VudF09XCJyZW5kZXJPcHRpb25zPy5zaG93VG90YWxcIlxyXG5cdFx0XHRcdFx0XHQ+PC9maWx0ZXItb3B0aW9uLXRleHQ+XHJcblx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZy1tdWx0aS1sYWJlbC10bXAgbGV0LWl0ZW1zPVwiaXRlbXNcIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxyXG5cdFx0XHRcdFx0PGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiIGNsYXNzPVwibmctdmFsdWVcIj5cclxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJuZy12YWx1ZS1sYWJlbFwiPnt7IGl0ZW0gfCBsb2NhbGl6ZWRMYWJlbCA6IGxhbmd1YWdlIH19PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uIGNsYXNzPVwibmctdmFsdWUtaWNvbiBsZWZ0XCIgKGNsaWNrKT1cImNsZWFyKGl0ZW0pXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+w5c8L2J1dHRvbj5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XHJcblx0XHRcdFx0XHQ8ZmlsdGVyLW9wdGlvbi10ZXh0XHJcblx0XHRcdFx0XHRcdFtvcHRpb25dPVwiaXRlbVwiXHJcblx0XHRcdFx0XHRcdFtsYW5ndWFnZV09XCJsYW5ndWFnZVwiXHJcblx0XHRcdFx0XHRcdFtzaG93Q291bnRdPVwicmVuZGVyT3B0aW9ucz8uc2hvd1RvdGFsXCJcclxuXHRcdFx0XHRcdD48L2ZpbHRlci1vcHRpb24tdGV4dD5cclxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHQ8L25nLXNlbGVjdD5cclxuXHRcdDwvbmctY29udGFpbmVyPlxyXG5cclxuXHRcdDxmaWx0ZXItZGF0ZS1yYW5nZVxyXG5cdFx0XHRjbGFzcz1cImZpbHRlci1kYXRlLWxpc3RfX3JhbmdlXCJcclxuXHRcdFx0Km5nSWY9XCJyZW5kZXJPcHRpb25zPy5taW5NYXhcIlxyXG5cdFx0XHRbZm9ybUNvbnRyb2xdPVwibWluTWF4RGF0ZUN0cmxcIlxyXG5cdFx0PjwvZmlsdGVyLWRhdGUtcmFuZ2U+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1saXN0LW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1maWx0ZXJzL21vZGVscy9maWVsZC1vcHRpb25zL2RhdGUtbGlzdC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcmV0dGlmeSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMnO1xyXG5pbXBvcnQgeyBEQVRFX0xJU1RfVklFVyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEhpZGVMYWJlbCwgU2hvd1RvdGFsQ29uZmlnIH0gZnJvbSAnLi9jb21tb24tdXRpbHMnO1xyXG5cclxuLy8gRGF0ZUxpc3QgT3B0aW9uIFR5cGVzXHJcbmV4cG9ydCB0eXBlIERhdGVMaXN0T3B0aW9ucyA9IHtcclxuICB0eXBlOiAnZGF0ZUxpc3QnO1xyXG4gIG9wdGlvbnM6IFByZXR0aWZ5PFNob3dUb3RhbENvbmZpZyAmIEhpZGVMYWJlbD4gJiB7XHJcbiAgICB2aWV3OiAodHlwZW9mIERBVEVfTElTVF9WSUVXKVtrZXlvZiB0eXBlb2YgREFURV9MSVNUX1ZJRVddO1xyXG4gICAgbWluTWF4PzogYm9vbGVhbjtcclxuICAgIGNvbnZlcnRUaW1lPzogYm9vbGVhbjtcclxuICB9O1xyXG59O1xyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW9wdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvbW9kZWxzL2ZpbHRlci1vcHRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsaXplZFZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZGVscyc7XHJcbmltcG9ydCB7IEFnZ3JlZ2F0aW9uVG9vbHRpcFR5cGUgfSBmcm9tICcuL2FnZ3JlZ2F0aW9uLWZpZWxkLWNvbmZpZyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlck9wdGlvbiB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHZhbHVlOiBhbnk7XHJcbiAgY291bnQ/OiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgbG9jYWxpemVkTGFiZWw/OiBMb2NhbGl6ZWRWYWx1ZSB8IG51bGw7XHJcbiAgdG9vbHRpcD86IHtcclxuICAgIGNvbmZpZzogT21pdDxBZ2dyZWdhdGlvblRvb2x0aXBUeXBlLCAncHJvcGVydGllcyc+O1xyXG4gICAgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIH07XHJcblxyXG4gIGNvbnN0cmFpbnRzPzoge1xyXG4gICAgcmFuZ2U/OiB7XHJcbiAgICAgIGZyb206IG51bWJlcjtcclxuICAgICAgdG86IG51bWJlcjtcclxuICAgIH07XHJcbiAgfTtcclxufVxyXG4iXX0=
|
|
@@ -10,18 +10,19 @@ export class AggregationFieldService {
|
|
|
10
10
|
this._ndfTransformService = _ndfTransformService;
|
|
11
11
|
}
|
|
12
12
|
prepareAggregationFiled(data) {
|
|
13
|
-
var _a
|
|
13
|
+
var _a;
|
|
14
14
|
return !!((_a = data.fieldConfig) === null || _a === void 0 ? void 0 : _a.dataTransformer)
|
|
15
|
-
? this._transformData(data.aggregation,
|
|
15
|
+
? this._transformData(data.aggregation, data.fieldConfig)
|
|
16
16
|
: this._prepareOptions(data);
|
|
17
17
|
}
|
|
18
|
-
_prepareOptions({ fieldConfig, aggregation }) {
|
|
18
|
+
_prepareOptions({ fieldConfig, aggregation, }) {
|
|
19
19
|
return of(aggregation).pipe(map((aggregation) => {
|
|
20
20
|
const _items = _.get(aggregation, (fieldConfig === null || fieldConfig === void 0 ? void 0 : fieldConfig.propertyPath) || 'buckets') || [];
|
|
21
21
|
return _items.map((item) => this._mapOption(item, fieldConfig));
|
|
22
22
|
}));
|
|
23
23
|
}
|
|
24
|
-
_transformData(aggregation,
|
|
24
|
+
_transformData(aggregation, config) {
|
|
25
|
+
const transformer = config.dataTransformer;
|
|
25
26
|
const _key = (k) => `${k}`.split('/').pop();
|
|
26
27
|
const createMappedData = (res, aggregation) => {
|
|
27
28
|
return res.map((item) => {
|
|
@@ -32,7 +33,7 @@ export class AggregationFieldService {
|
|
|
32
33
|
};
|
|
33
34
|
const dataMappers = {
|
|
34
35
|
subject: (res, aggregation) => createMappedData(res, aggregation),
|
|
35
|
-
format: (res, aggregation) => createMappedData(res, aggregation)
|
|
36
|
+
format: (res, aggregation) => createMappedData(res, aggregation),
|
|
36
37
|
};
|
|
37
38
|
if (!this._ndfTransformService.has(transformer)) {
|
|
38
39
|
throw new Error(`No transformer defined for type: ${transformer}`);
|
|
@@ -51,13 +52,14 @@ export class AggregationFieldService {
|
|
|
51
52
|
}
|
|
52
53
|
_createFilterOption(item, docCount) {
|
|
53
54
|
const code = item.code || item.id;
|
|
54
|
-
|
|
55
|
+
const option = {
|
|
55
56
|
id: code,
|
|
56
57
|
label: item.code,
|
|
57
58
|
value: code,
|
|
58
59
|
count: docCount,
|
|
59
|
-
localizedLabel: { ar: item.arabicTitle, en: item.englishTitle }
|
|
60
|
+
localizedLabel: { ar: item.arabicTitle, en: item.englishTitle },
|
|
60
61
|
};
|
|
62
|
+
return option;
|
|
61
63
|
}
|
|
62
64
|
_mapOption(item, config) {
|
|
63
65
|
const prefix = (config === null || config === void 0 ? void 0 : config.prefix) || '';
|
|
@@ -71,15 +73,24 @@ export class AggregationFieldService {
|
|
|
71
73
|
localizedLabel: config.bindLabel
|
|
72
74
|
? {
|
|
73
75
|
ar: _.get(item, config === null || config === void 0 ? void 0 : config.bindLabel.ar),
|
|
74
|
-
en: _.get(item, config === null || config === void 0 ? void 0 : config.bindLabel.en)
|
|
76
|
+
en: _.get(item, config === null || config === void 0 ? void 0 : config.bindLabel.en),
|
|
75
77
|
}
|
|
76
|
-
: null
|
|
78
|
+
: null,
|
|
77
79
|
};
|
|
78
80
|
if (config === null || config === void 0 ? void 0 : config.tooltip) {
|
|
79
81
|
const _a = config === null || config === void 0 ? void 0 : config.tooltip, { properties } = _a, tooltipConfig = __rest(_a, ["properties"]);
|
|
80
82
|
option.tooltip = {
|
|
81
83
|
config: tooltipConfig,
|
|
82
|
-
values: this._prepareTooltip(item, config === null || config === void 0 ? void 0 : config.tooltip) || null
|
|
84
|
+
values: this._prepareTooltip(item, config === null || config === void 0 ? void 0 : config.tooltip) || null,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
const keys = Object.keys(item);
|
|
88
|
+
if (keys.includes('from') || keys.includes('to')) {
|
|
89
|
+
option.constraints = {
|
|
90
|
+
range: {
|
|
91
|
+
from: item === null || item === void 0 ? void 0 : item.from,
|
|
92
|
+
to: item.to,
|
|
93
|
+
},
|
|
83
94
|
};
|
|
84
95
|
}
|
|
85
96
|
return option;
|
|
@@ -99,7 +110,7 @@ AggregationFieldService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.
|
|
|
99
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldService, decorators: [{
|
|
100
111
|
type: Injectable,
|
|
101
112
|
args: [{
|
|
102
|
-
providedIn: 'root'
|
|
113
|
+
providedIn: 'root',
|
|
103
114
|
}]
|
|
104
115
|
}], ctorParameters: function () { return [{ type: i1.NdfTransformService }]; } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tZmllbGQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvc2VydmljZXMvYWdncmVnYXRpb24tZmllbGQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWVyQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ25DLFlBQTZCLG9CQUF5QztRQUF6Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO0lBQUcsQ0FBQztJQUUxRSx1QkFBdUIsQ0FBQyxJQUFzQjs7UUFDN0MsT0FBTyxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLGVBQWUsQ0FBQTtZQUN6QyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsZUFBZSxDQUFDO1lBQzFFLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxlQUFlLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFvQjtRQUNyRSxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ25CLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUEsV0FBVyxhQUFYLFdB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QU07NEZBRU4sdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgTmRmVHJhbnNmb3JtU2VydmljZSwgTmRmVHJhbnNmb3JtZXJEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzJztcclxuaW1wb3J0IHtcclxuXHRBZ2dyZWdhdGlvbkJ1Y2tldCxcclxuXHRBZ2dyZWdhdGlvbkZpZWxkQ29uZmlnLFxyXG5cdEFnZ3JlZ2F0aW9uUmVzcG9uc2UsXHJcblx0QWdncmVnYXRpb25Ub29sdGlwVHlwZSxcclxuXHRGaWVsZE9wdGlvbnNUeXBlLFxyXG5cdEZpbHRlck9wdGlvblxyXG59IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZ2dyZWdhdGlvbkZpZWxkU2VydmljZSB7XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfbmRmVHJhbnNmb3JtU2VydmljZTogTmRmVHJhbnNmb3JtU2VydmljZSkge31cclxuXHJcblx0cHJlcGFyZUFnZ3JlZ2F0aW9uRmlsZWQoZGF0YTogRmllbGRPcHRpb25zVHlwZSkge1xyXG5cdFx0cmV0dXJuICEhZGF0YS5maWVsZENvbmZpZz8uZGF0YVRyYW5zZm9ybWVyXHJcblx0XHRcdD8gdGhpcy5fdHJhbnNmb3JtRGF0YShkYXRhLmFnZ3JlZ2F0aW9uLCBkYXRhLmZpZWxkQ29uZmlnPy5kYXRhVHJhbnNmb3JtZXIpXHJcblx0XHRcdDogdGhpcy5fcHJlcGFyZU9wdGlvbnMoZGF0YSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9wcmVwYXJlT3B0aW9ucyh7IGZpZWxkQ29uZmlnLCBhZ2dyZWdhdGlvbiB9OiBGaWVsZE9wdGlvbnNUeXBlKTogT2JzZXJ2YWJsZTxGaWx0ZXJPcHRpb25bXT4ge1xyXG5cdFx0cmV0dXJuIG9mKGFnZ3JlZ2F0aW9uKS5waXBlKFxyXG5cdFx0XHRtYXAoKGFnZ3JlZ2F0aW9uKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgX2l0ZW1zID0gXy5nZXQoYWdncmVnYXRpb24sIGZpZWxkQ29uZmlnPy5wcm9wZXJ0eVBhdGggfHwgJ2J1Y2tldHMnKSB8fCBbXTtcclxuXHRcdFx0XHRyZXR1cm4gX2l0ZW1zLm1hcCgoaXRlbTogQWdncmVnYXRpb25CdWNrZXQpID0+IHRoaXMuX21hcE9wdGlvbihpdGVtLCBmaWVsZENvbmZpZykpO1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3RyYW5zZm9ybURhdGEoYWdncmVnYXRpb246IEFnZ3JlZ2F0aW9uUmVzcG9uc2UsIHRyYW5zZm9ybWVyOiBzdHJpbmcpIHtcclxuXHRcdGNvbnN0IF9rZXkgPSAoazogc3RyaW5nKSA9PiBgJHtrfWAuc3BsaXQoJy8nKS5wb3AoKTtcclxuXHJcblx0XHRjb25zdCBjcmVhdGVNYXBwZWREYXRhID0gKHJlczogTmRmVHJhbnNmb3JtZXJEYXRhTW9kZWxbXSwgYWdncmVnYXRpb246IEFnZ3JlZ2F0aW9uUmVzcG9uc2UpID0+IHtcclxuXHRcdFx0cmV0dXJuIHJlcy5tYXAoKGl0ZW0pID0+IHtcclxuXHRcdFx0XHRjb25zdCBidWNrZXQgPSBhZ2dyZWdhdGlvbi5idWNrZXRzLmZpbmQoKGl0KSA9PiBfa2V5KGl0LmtleSkgPT09IF9rZXkoaXRlbS5jb2RlKSk7XHJcblx0XHRcdFx0aXRlbS5jb2RlID0gYnVja2V0LmtleTtcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5fY3JlYXRlRmlsdGVyT3B0aW9uKGl0ZW0sIGJ1Y2tldD8uZG9jQ291bnQgfHwgMCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fTtcclxuXHJcblx0XHRjb25zdCBkYXRhTWFwcGVyczogUGFydGlhbDxcclxuXHRcdFx0UmVjb3JkPFxyXG5cdFx0XHRcdHN0cmluZyxcclxuXHRcdFx0XHQocmVzOiBOZGZUcmFuc2Zvcm1lckRhdGFNb2RlbFtdLCBhZ2dyZWdhdGlvbjogQWdncmVnYXRpb25SZXNwb25zZSkgPT4gUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlTWFwcGVkRGF0YT5cclxuXHRcdFx0PlxyXG5cdFx0PiA9IHtcclxuXHRcdFx0c3ViamVjdDogKHJlcywgYWdncmVnYXRpb24pID0+IGNyZWF0ZU1hcHBlZERhdGEocmVzLCBhZ2dyZWdhdGlvbiksXHJcblx0XHRcdGZvcm1hdDogKHJlcywgYWdncmVnYXRpb24pID0+IGNyZWF0ZU1hcHBlZERhdGEocmVzLCBhZ2dyZWdhdGlvbilcclxuXHRcdH07XHJcblxyXG5cdFx0aWYgKCF0aGlzLl9uZGZUcmFuc2Zvcm1TZXJ2aWNlLmhhcyh0cmFuc2Zvcm1lcikpIHtcclxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBObyB0cmFuc2Zvcm1lciBkZWZpbmVkIGZvciB0eXBlOiAke3RyYW5zZm9ybWVyfWApO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGtleXMgPSBhZ2dyZWdhdGlvbi5idWNrZXRzLm1hcCgoYnQpID0+IGJ0LmtleSk7XHJcblx0XHRyZXR1cm4gdGhpcy5fbmRmVHJhbnNmb3JtU2VydmljZS50cmFuc2Zvcm0odHJhbnNmb3JtZXIsIGtleXMpLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgX2RhdGFNYXBwZXIgPSBkYXRhTWFwcGVyc1t0cmFuc2Zvcm1lcl07XHJcblx0XHRcdFx0aWYgKF9kYXRhTWFwcGVyKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gX2RhdGFNYXBwZXIocmVzLCBhZ2dyZWdhdGlvbik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJldHVybiByZXMubWFwKChpdGVtKSA9PiB7XHJcblx0XHRcdFx0XHRjb25zdCBidWNrZXQgPSBhZ2dyZWdhdGlvbi5idWNrZXRzLmZpbmQoKGJrdCkgPT4gYmt0LmtleSA9PT0gaXRlbS5jb2RlIHx8IGJrdC5rZXkgPT09IGl0ZW0/LmlkKTtcclxuXHRcdFx0XHRcdHJldHVybiB0aGlzLl9jcmVhdGVGaWx0ZXJPcHRpb24oaXRlbSwgYnVja2V0Py5kb2NDb3VudCB8fCAwKTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSlcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9jcmVhdGVGaWx0ZXJPcHRpb24oaXRlbTogYW55LCBkb2NDb3VudDogbnVtYmVyKTogRmlsdGVyT3B0aW9uIHtcclxuXHRcdGNvbnN0IGNvZGUgPSBpdGVtLmNvZGUgfHwgaXRlbS5pZDtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdGlkOiBjb2RlLFxyXG5cdFx0XHRsYWJlbDogaXRlbS5jb2RlLFxyXG5cdFx0XHR2YWx1ZTogY29kZSxcclxuXHRcdFx0Y291bnQ6IGRvY0NvdW50LFxyXG5cdFx0XHRsb2NhbGl6ZWRMYWJlbDogeyBhcjogaXRlbS5hcmFiaWNUaXRsZSwgZW46IGl0ZW0uZW5nbGlzaFRpdGxlIH1cclxuXHRcdH07XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9tYXBPcHRpb24oaXRlbTogQWdncmVnYXRpb25CdWNrZXQsIGNvbmZpZzogQWdncmVnYXRpb25GaWVsZENvbmZpZyk6IEZpbHRlck9wdGlvbiB7XHJcblx0XHRjb25zdCBwcmVmaXggPSBjb25maWc/LnByZWZpeCB8fCAnJztcclxuXHRcdGNvbnN0IGJpbmRWYWx1ZSA9IGNvbmZpZz8uYmluZFZhbHVlO1xyXG5cdFx0Y29uc3QgdmFsdWUgPSBfLmdldChpdGVtLCBiaW5kVmFsdWUgfHwgJ2tleScpIHx8IF8uZ2V0KGl0ZW0sIGJpbmRWYWx1ZSB8fCAnaWQnKTtcclxuXHJcblx0XHRjb25zdCBvcHRpb246IEZpbHRlck9wdGlvbiA9IHtcclxuXHRcdFx0aWQ6IGl0ZW0ua2V5LFxyXG5cdFx0XHRsYWJlbDogYCR7cHJlZml4fSR7aXRlbS5rZXl9YCxcclxuXHRcdFx0dmFsdWU6IHZhbHVlLFxyXG5cdFx0XHRjb3VudDogaXRlbT8uZG9jQ291bnQsXHJcblx0XHRcdGxvY2FsaXplZExhYmVsOiBjb25maWcuYmluZExhYmVsXHJcblx0XHRcdFx0PyB7XHJcblx0XHRcdFx0XHRcdGFyOiBfLmdldChpdGVtLCBjb25maWc/LmJpbmRMYWJlbC5hciksXHJcblx0XHRcdFx0XHRcdGVuOiBfLmdldChpdGVtLCBjb25maWc/LmJpbmRMYWJlbC5lbilcclxuXHRcdFx0XHQgIH1cclxuXHRcdFx0XHQ6IG51bGxcclxuXHRcdH07XHJcblx0XHRpZiAoY29uZmlnPy50b29sdGlwKSB7XHJcblx0XHRcdGNvbnN0IHsgcHJvcGVydGllcywgLi4udG9vbHRpcENvbmZpZyB9ID0gY29uZmlnPy50b29sdGlwO1xyXG5cdFx0XHRvcHRpb24udG9vbHRpcCA9IHtcclxuXHRcdFx0XHRjb25maWc6IHRvb2x0aXBDb25maWcsXHJcblx0XHRcdFx0dmFsdWVzOiB0aGlzLl9wcmVwYXJlVG9vbHRpcChpdGVtLCBjb25maWc/LnRvb2x0aXApIHx8IG51bGxcclxuXHRcdFx0fTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBvcHRpb247XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9wcmVwYXJlVG9vbHRpcChpdGVtOiBBZ2dyZWdhdGlvbkJ1Y2tldCwgY29uZmlnOiBBZ2dyZWdhdGlvblRvb2x0aXBUeXBlKSB7XHJcblx0XHRyZXR1cm4gT2JqZWN0LmVudHJpZXMoY29uZmlnLnByb3BlcnRpZXMpLnJlZHVjZSgoYWNjLCBba2V5XSkgPT4ge1xyXG5cdFx0XHRjb25zdCB2YWwgPSBfLmdldChpdGVtLCBrZXkpO1xyXG5cdFx0XHRpZiAodmFsKSB7XHJcblx0XHRcdFx0YWNjW2tleV0gPSB2YWw7XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuIGFjYztcclxuXHRcdH0sIHt9KTtcclxuXHR9XHJcbn1cclxuIl19
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tZmllbGQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvc2VydmljZXMvYWdncmVnYXRpb24tZmllbGQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWtCckMsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUE2QixvQkFBeUM7UUFBekMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtJQUFHLENBQUM7SUFFMUUsdUJBQXVCLENBQUMsSUFBc0I7O1FBQzVDLE9BQU8sQ0FBQyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxlQUFlLENBQUE7WUFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxlQUFlLENBQUMsRUFDdEIsV0FBVyxFQUNYLFdBQVcsR0FDTTtRQUNqQixPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ3pCLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2xCLE1BQU0sTUFBTSxHQUNWLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUEsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxD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QixJQUF1QixFQUN2QixNQUE4QjtRQUU5QixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUU7WUFDN0QsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDN0IsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQzthQUNoQjtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQzs7cUhBcEpVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHtcclxuXHROZGZUcmFuc2Zvcm1TZXJ2aWNlLFxyXG5cdE5kZlRyYW5zZm9ybWVyRGF0YU1vZGVsLFxyXG59IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMnO1xyXG5pbXBvcnQge1xyXG5cdEFnZ3JlZ2F0aW9uQnVja2V0LFxyXG5cdEFnZ3JlZ2F0aW9uRmllbGRDb25maWcsXHJcblx0QWdncmVnYXRpb25SZXNwb25zZSxcclxuXHRBZ2dyZWdhdGlvblRvb2x0aXBUeXBlLFxyXG5cdEZpZWxkT3B0aW9uc1R5cGUsXHJcblx0RmlsdGVyT3B0aW9uLFxyXG59IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWdncmVnYXRpb25GaWVsZFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX25kZlRyYW5zZm9ybVNlcnZpY2U6IE5kZlRyYW5zZm9ybVNlcnZpY2UpIHt9XHJcblxyXG4gIHByZXBhcmVBZ2dyZWdhdGlvbkZpbGVkKGRhdGE6IEZpZWxkT3B0aW9uc1R5cGUpIHtcclxuICAgIHJldHVybiAhIWRhdGEuZmllbGRDb25maWc/LmRhdGFUcmFuc2Zvcm1lclxyXG4gICAgICA/IHRoaXMuX3RyYW5zZm9ybURhdGEoZGF0YS5hZ2dyZWdhdGlvbiwgZGF0YS5maWVsZENvbmZpZylcclxuICAgICAgOiB0aGlzLl9wcmVwYXJlT3B0aW9ucyhkYXRhKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVPcHRpb25zKHtcclxuICAgIGZpZWxkQ29uZmlnLFxyXG4gICAgYWdncmVnYXRpb24sXHJcbiAgfTogRmllbGRPcHRpb25zVHlwZSk6IE9ic2VydmFibGU8RmlsdGVyT3B0aW9uW10+IHtcclxuICAgIHJldHVybiBvZihhZ2dyZWdhdGlvbikucGlwZShcclxuICAgICAgbWFwKChhZ2dyZWdhdGlvbikgPT4ge1xyXG4gICAgICAgIGNvbnN0IF9pdGVtcyA9XHJcbiAgICAgICAgICBfLmdldChhZ2dyZWdhdGlvbiwgZmllbGRDb25maWc/LnByb3BlcnR5UGF0aCB8fCAnYnVja2V0cycpIHx8IFtdO1xyXG4gICAgICAgIHJldHVybiBfaXRlbXMubWFwKChpdGVtOiBBZ2dyZWdhdGlvbkJ1Y2tldCkgPT5cclxuICAgICAgICAgIHRoaXMuX21hcE9wdGlvbihpdGVtLCBmaWVsZENvbmZpZylcclxuICAgICAgICApO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3RyYW5zZm9ybURhdGEoXHJcbiAgICBhZ2dyZWdhdGlvbjogQWdncmVnYXRpb25SZXNwb25zZSxcclxuICAgIGNvbmZpZzogQWdncmVnYXRpb25GaWVsZENvbmZpZ1xyXG4gICkge1xyXG4gICAgY29uc3QgdHJhbnNmb3JtZXIgPSBjb25maWcuZGF0YVRyYW5zZm9ybWVyO1xyXG5cclxuICAgIGNvbnN0IF9rZXkgPSAoazogc3RyaW5nKSA9PiBgJHtrfWAuc3BsaXQoJy8nKS5wb3AoKTtcclxuXHJcbiAgICBjb25zdCBjcmVhdGVNYXBwZWREYXRhID0gKFxyXG4gICAgICByZXM6IE5kZlRyYW5zZm9ybWVyRGF0YU1vZGVsW10sXHJcbiAgICAgIGFnZ3JlZ2F0aW9uOiBBZ2dyZWdhdGlvblJlc3BvbnNlXHJcbiAgICApID0+IHtcclxuICAgICAgcmV0dXJuIHJlcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICBjb25zdCBidWNrZXQgPSBhZ2dyZWdhdGlvbi5idWNrZXRzLmZpbmQoXHJcbiAgICAgICAgICAoaXQpID0+IF9rZXkoaXQua2V5KSA9PT0gX2tleShpdGVtLmNvZGUpXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpdGVtLmNvZGUgPSBidWNrZXQua2V5O1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVGaWx0ZXJPcHRpb24oaXRlbSwgYnVja2V0Py5kb2NDb3VudCB8fCAwKTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGRhdGFNYXBwZXJzOiBQYXJ0aWFsPFxyXG4gICAgICBSZWNvcmQ8XHJcbiAgICAgICAgc3RyaW5nLFxyXG4gICAgICAgIChcclxuICAgICAgICAgIHJlczogTmRmVHJhbnNmb3JtZXJEYXRhTW9kZWxbXSxcclxuICAgICAgICAgIGFnZ3JlZ2F0aW9uOiBBZ2dyZWdhdGlvblJlc3BvbnNlXHJcbiAgICAgICAgKSA9PiBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVNYXBwZWREYXRhPlxyXG4gICAgICA+XHJcbiAgICA+ID0ge1xyXG4gICAgICBzdWJqZWN0OiAocmVzLCBhZ2dyZWdhdGlvbikgPT4gY3JlYXRlTWFwcGVkRGF0YShyZXMsIGFnZ3JlZ2F0aW9uKSxcclxuICAgICAgZm9ybWF0OiAocmVzLCBhZ2dyZWdhdGlvbikgPT4gY3JlYXRlTWFwcGVkRGF0YShyZXMsIGFnZ3JlZ2F0aW9uKSxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKCF0aGlzLl9uZGZUcmFuc2Zvcm1TZXJ2aWNlLmhhcyh0cmFuc2Zvcm1lcikpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyB0cmFuc2Zvcm1lciBkZWZpbmVkIGZvciB0eXBlOiAke3RyYW5zZm9ybWVyfWApO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGtleXMgPSBhZ2dyZWdhdGlvbi5idWNrZXRzLm1hcCgoYnQpID0+IGJ0LmtleSk7XHJcbiAgICByZXR1cm4gdGhpcy5fbmRmVHJhbnNmb3JtU2VydmljZS50cmFuc2Zvcm0odHJhbnNmb3JtZXIsIGtleXMpLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgX2RhdGFNYXBwZXIgPSBkYXRhTWFwcGVyc1t0cmFuc2Zvcm1lcl07XHJcbiAgICAgICAgaWYgKF9kYXRhTWFwcGVyKSB7XHJcbiAgICAgICAgICByZXR1cm4gX2RhdGFNYXBwZXIocmVzLCBhZ2dyZWdhdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBidWNrZXQgPSBhZ2dyZWdhdGlvbi5idWNrZXRzLmZpbmQoXHJcbiAgICAgICAgICAgIChia3QpID0+IGJrdC5rZXkgPT09IGl0ZW0uY29kZSB8fCBia3Qua2V5ID09PSBpdGVtPy5pZFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVGaWx0ZXJPcHRpb24oaXRlbSwgYnVja2V0Py5kb2NDb3VudCB8fCAwKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVGaWx0ZXJPcHRpb24oXHJcbiAgICBpdGVtOiBOZGZUcmFuc2Zvcm1lckRhdGFNb2RlbCxcclxuICAgIGRvY0NvdW50OiBudW1iZXJcclxuICApOiBGaWx0ZXJPcHRpb24ge1xyXG4gICAgY29uc3QgY29kZSA9IGl0ZW0uY29kZSB8fCBpdGVtLmlkO1xyXG4gICAgY29uc3Qgb3B0aW9uOiBGaWx0ZXJPcHRpb24gPSB7XHJcbiAgICAgIGlkOiBjb2RlLFxyXG4gICAgICBsYWJlbDogaXRlbS5jb2RlLFxyXG4gICAgICB2YWx1ZTogY29kZSxcclxuICAgICAgY291bnQ6IGRvY0NvdW50LFxyXG4gICAgICBsb2NhbGl6ZWRMYWJlbDogeyBhcjogaXRlbS5hcmFiaWNUaXRsZSwgZW46IGl0ZW0uZW5nbGlzaFRpdGxlIH0sXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBvcHRpb247XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9tYXBPcHRpb24oXHJcbiAgICBpdGVtOiBBZ2dyZWdhdGlvbkJ1Y2tldCxcclxuICAgIGNvbmZpZzogQWdncmVnYXRpb25GaWVsZENvbmZpZ1xyXG4gICk6IEZpbHRlck9wdGlvbiB7XHJcbiAgICBjb25zdCBwcmVmaXggPSBjb25maWc/LnByZWZpeCB8fCAnJztcclxuICAgIGNvbnN0IGJpbmRWYWx1ZSA9IGNvbmZpZz8uYmluZFZhbHVlO1xyXG4gICAgY29uc3QgdmFsdWUgPVxyXG4gICAgICBfLmdldChpdGVtLCBiaW5kVmFsdWUgfHwgJ2tleScpIHx8IF8uZ2V0KGl0ZW0sIGJpbmRWYWx1ZSB8fCAnaWQnKTtcclxuXHJcbiAgICBjb25zdCBvcHRpb246IEZpbHRlck9wdGlvbiA9IHtcclxuICAgICAgaWQ6IGl0ZW0ua2V5LFxyXG4gICAgICBsYWJlbDogYCR7cHJlZml4fSR7aXRlbS5rZXl9YCxcclxuICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICBjb3VudDogaXRlbT8uZG9jQ291bnQsXHJcbiAgICAgIGxvY2FsaXplZExhYmVsOiBjb25maWcuYmluZExhYmVsXHJcbiAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIGFyOiBfLmdldChpdGVtLCBjb25maWc/LmJpbmRMYWJlbC5hciksXHJcbiAgICAgICAgICAgIGVuOiBfLmdldChpdGVtLCBjb25maWc/LmJpbmRMYWJlbC5lbiksXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgOiBudWxsLFxyXG4gICAgfTtcclxuICAgIGlmIChjb25maWc/LnRvb2x0aXApIHtcclxuICAgICAgY29uc3QgeyBwcm9wZXJ0aWVzLCAuLi50b29sdGlwQ29uZmlnIH0gPSBjb25maWc/LnRvb2x0aXA7XHJcbiAgICAgIG9wdGlvbi50b29sdGlwID0ge1xyXG4gICAgICAgIGNvbmZpZzogdG9vbHRpcENvbmZpZyxcclxuICAgICAgICB2YWx1ZXM6IHRoaXMuX3ByZXBhcmVUb29sdGlwKGl0ZW0sIGNvbmZpZz8udG9vbHRpcCkgfHwgbnVsbCxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoaXRlbSk7XHJcbiAgICBpZiAoa2V5cy5pbmNsdWRlcygnZnJvbScpIHx8IGtleXMuaW5jbHVkZXMoJ3RvJykpIHtcclxuICAgICAgb3B0aW9uLmNvbnN0cmFpbnRzID0ge1xyXG4gICAgICAgIHJhbmdlOiB7XHJcbiAgICAgICAgICBmcm9tOiBpdGVtPy5mcm9tLFxyXG4gICAgICAgICAgdG86IGl0ZW0udG8sXHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb3B0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZVRvb2x0aXAoXHJcbiAgICBpdGVtOiBBZ2dyZWdhdGlvbkJ1Y2tldCxcclxuICAgIGNvbmZpZzogQWdncmVnYXRpb25Ub29sdGlwVHlwZVxyXG4gICkge1xyXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGNvbmZpZy5wcm9wZXJ0aWVzKS5yZWR1Y2UoKGFjYywgW2tleV0pID0+IHtcclxuICAgICAgY29uc3QgdmFsID0gXy5nZXQoaXRlbSwga2V5KTtcclxuICAgICAgaWYgKHZhbCkge1xyXG4gICAgICAgIGFjY1trZXldID0gdmFsO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBhY2M7XHJcbiAgICB9LCB7fSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
|
|
2
|
+
import _ from 'lodash';
|
|
2
3
|
import { combineLatest } from 'rxjs';
|
|
3
4
|
import { distinctUntilChanged, filter, map, takeUntil } from 'rxjs/operators';
|
|
4
|
-
import _ from 'lodash';
|
|
5
5
|
import { BaseGraphReport } from '../../base/base-graph.report';
|
|
6
6
|
import { ChartThemeService, DynamicTimelineReportService } from '../../services';
|
|
7
7
|
import { TimelineDialogComponent } from '../_parts';
|
|
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
67
67
|
type: ViewChild,
|
|
68
68
|
args: ['graphChart']
|
|
69
69
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbXBvbmVudHMvZHluYW1pYy10aW1lbGluZS1yZXBvcnQvZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbXBvbmVudHMvZHluYW1pYy10aW1lbGluZS1yZXBvcnQvZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQXVCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQW1CLGFBQWEsRUFBaUIsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7Ozs7QUFhcEQsTUFBTSxPQUFPLDhCQUErQixTQUFRLGVBQTZEO0lBbUJoSCxZQUFtQixRQUFrQjtRQUNwQyxLQUFLLENBQUMs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QUNoRDtvQkFDRCxTQUFTLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxpQkFBaUIsQ0FBQztpQkFDNUQ7K0ZBSXlCLG1CQUFtQjtzQkFBM0MsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBHcmFwaENoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2hhcnRzLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBCYXNlR3JhcGhSZXBvcnQgfSBmcm9tICcuLi8uLi9iYXNlL2Jhc2UtZ3JhcGgucmVwb3J0JztcclxuaW1wb3J0IHsgQ2hhcnRUaGVtZVNlcnZpY2UsIER5bmFtaWNUaW1lbGluZVJlcG9ydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFRpbWVsaW5lRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vX3BhcnRzJztcclxuaW1wb3J0IHsgRHluYW1pY0xpbmVDaGFydCwgRHluYW1pY0xpbmVDaGFydERlZmluaXRpb24sIFRpbWVHcm91cHMgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtZHluYW1pYy10aW1lbGluZS1yZXBvcnQnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXRpbWVsaW5lLXJlcG9ydC5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50LnNjc3MnXSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuXHRob3N0OiB7XHJcblx0XHRjbGFzczogJ3RpbWVsaW5lLXJlcG9ydCBmbGV4IGZsZXgtY29sIGZsZXgtZ3JvdydcclxuXHR9LFxyXG5cdHByb3ZpZGVyczogW0R5bmFtaWNUaW1lbGluZVJlcG9ydFNlcnZpY2UsIENoYXJ0VGhlbWVTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY1RpbWVsaW5lUmVwb3J0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUdyYXBoUmVwb3J0PER5bmFtaWNMaW5lQ2hhcnREZWZpbml0aW9uLCBEeW5hbWljTGluZUNoYXJ0PiB7XHJcblx0cHJpdmF0ZSByZWFkb25seSBfdGltZWxpbmVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoRHluYW1pY1RpbWVsaW5lUmVwb3J0U2VydmljZSk7XHJcblxyXG5cdEBWaWV3Q2hpbGQoJ2dyYXBoQ2hhcnQnKSBncmFwaENoYXJ0Q29tcG9uZW50OiBHcmFwaENoYXJ0Q29tcG9uZW50O1xyXG5cclxuXHRwcml2YXRlIF9jcml0ZXJpYSQgPSB0aGlzLmNyaXRlcmlhJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBfLmlzRXF1YWwoYSwgYikpKTtcclxuXHJcblx0c2VsZWN0ZWRHcm91cCQgPSB0aGlzLl90aW1lbGluZVNlcnZpY2Uuc2VsZWN0ZWRHcm91cCQ7XHJcblxyXG5cdGZpbHRlckNyaXRlcmlhJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2NyaXRlcmlhJCwgdGhpcy5fdGltZWxpbmVTZXJ2aWNlLnNlbGVjdGVkR3JvdXAkXSkucGlwZShcclxuXHRcdG1hcCgoW2NyaXRlcmlhXSkgPT4ge1xyXG5cdFx0XHRyZXR1cm4gXy5jbG9uZURlZXAoXy5tZXJnZShjcml0ZXJpYSB8fCB7fSwgdGhpcy5fdGltZWxpbmVTZXJ2aWNlLnByZXBhcmVTZWxlY3RlZEdyb3Vwcyh0aGlzLmNvbmZpZykpKTtcclxuXHRcdH0pXHJcblx0KTtcclxuXHJcblx0cmVwb3J0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuY29uZmlnJCwgdGhpcy5fY3JpdGVyaWEkLCB0aGlzLl90aW1lbGluZVNlcnZpY2UucmVidWlsZCRdKS5waXBlKFxyXG5cdFx0dGhpcy5fdGltZWxpbmVTZXJ2aWNlLnByZXBhcmVEYXRhKClcclxuXHQpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcblx0XHRzdXBlcihpbmplY3Rvcik7XHJcblx0XHR0aGlzLl9zdWJzY3JpYmVUb0xhbmd1YWdlKCk7XHJcblx0fVxyXG5cclxuXHRfc3Vic2NyaWJlVG9MYW5ndWFnZSgpIHtcclxuXHRcdHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmUsIG5leHQpID0+IHByZS5sYW5nID09IG5leHQubGFuZyksXHJcblx0XHRcdFx0ZmlsdGVyKCgpID0+IHRoaXMuX3RpbWVsaW5lU2VydmljZS5faXNJbml0aWFsaXplZCksXHJcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgoXykgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX3RpbWVsaW5lU2VydmljZS5yZWJ1aWxkKCk7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpbnRDaGFydCgpIHtcclxuXHRcdGlmICh0aGlzLmdyYXBoQ2hhcnRDb21wb25lbnQpIHtcclxuXHRcdFx0dGhpcy5ncmFwaENoYXJ0Q29tcG9uZW50LnByaW50Q2hhcnQoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGNoYW5nZUdyb3VwKGdyb3VwOiBUaW1lR3JvdXBzKSB7XHJcblx0XHR0aGlzLl90aW1lbGluZVNlcnZpY2UuY2hhbmdlR3JvdXAoZ3JvdXApO1xyXG5cdH1cclxuXHJcblx0b3BlblRpbWVsaW5lRGlhbG9nKCkge1xyXG5cdFx0dGhpcy5vcGVuR3JhcGhEaWFsb2coVGltZWxpbmVEaWFsb2dDb21wb25lbnQpO1xyXG5cdH1cclxuXHJcblx0b3BlbkRldGFpbHMoKSB7XHJcblx0XHR0aGlzLm9uT3Blbi5lbWl0KHRoaXMuX3RpbWVsaW5lU2VydmljZS5wYXlsb2FkKTtcclxuXHR9XHJcbn1cclxuIiwiPGNoYXJ0LXBhbmVsICpuZ0lmPVwicmVwb3J0JCB8IGFzeW5jIGFzIHJlcG9ydDsgZWxzZSBub0RhdGFcIiBjbGFzcz1cIm5kZi1yZXBvcnRcIj5cclxuXHQ8Y2hhcnQtcGFuZWwtaGVhZGVyIGNsYXNzPVwibmRmLXJlcG9ydF9faGVhZGVyIG1iLTNcIj5cclxuXHRcdDxzcGFuPlxyXG5cdFx0XHR7eyBjb25maWcubGFiZWwgfCB0cmFuc2xhdGUgfX1cclxuXHRcdDwvc3Bhbj5cclxuXHJcblx0XHQ8YnV0dG9uXHJcblx0XHRcdCpuZ0lmPVwiY29uZmlnPy5kaWFsb2c/LmFjdGl2ZVwiXHJcblx0XHRcdGNsYXNzPVwiZGlhbG9nLWJ1dHRvbiBwcmludDpoaWRkZW5cIlxyXG5cdFx0XHQoY2xpY2spPVwib3BlblRpbWVsaW5lRGlhbG9nKClcIlxyXG5cdFx0XHRbbWF0VG9vbHRpcF09XCInUkVQT1JUUy5mdWxsc2NyZWVuJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHQ+XHJcblx0XHRcdDxtYXQtaWNvbj5mdWxsc2NyZWVuPC9tYXQtaWNvbj5cclxuXHRcdDwvYnV0dG9uPlxyXG5cdDwvY2hhcnQtcGFuZWwtaGVhZGVyPlxyXG5cclxuXHQ8YXBwLWdyYXBoLWNoYXJ0XHJcblx0XHQjZ3JhcGhDaGFydFxyXG5cdFx0Y2xhc3M9XCJuZGYtcmVwb3J0X19jb250ZW50IG5kZi1yZXBvcnRfX2NvbnRlbnQgdGltZWxpbmUtY2hhcnRcIlxyXG5cdFx0W2NvbmZpZ109XCJyZXBvcnQuY29uZmlnXCJcclxuXHRcdFtjcml0ZXJpYV09XCJmaWx0ZXJDcml0ZXJpYSQgfCBhc3luY1wiXHJcblx0XHRbZGF0YV09XCJyZXBvcnQuZGF0YVwiXHJcblx0PjwvYXBwLWdyYXBoLWNoYXJ0PlxyXG5cclxuXHQ8Y2hhcnQtcGFuZWwtZm9vdGVyIGNsYXNzPVwibmRmLXJlcG9ydF9fZm9vdGVyIFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImNoYXJ0LWFjdGlvbnMgZmxleCBpdGVtcy1jZW50ZXIgcm91bmRlZC1sZyBnYXAtMiBmbGV4LXdyYXAgcC0xXCI+XHJcblx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRjbGFzcz1cInByaW50LWJ1dHRvbiBjaGFydC1hY3Rpb25zX19pdGVtXCJcclxuXHRcdFx0XHQoY2xpY2spPVwicHJpbnRDaGFydCgpXCJcclxuXHRcdFx0XHRbbWF0VG9vbHRpcF09XCInUkVQT1JUUy5wcmludCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdCpuZ0lmPVwiY29uZmlnPy5wcmludFwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8bWF0LWljb24+cHJpbnQ8L21hdC1pY29uPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdGNsYXNzPVwibmF2aWdhdGUtYnV0dG9uIGNoYXJ0LWFjdGlvbnNfX2l0ZW1cIlxyXG5cdFx0XHRcdChjbGljayk9XCJuYXZpZ2F0ZSgpXCJcclxuXHRcdFx0XHQqbmdJZj1cImNvbmZpZz8ubmF2aWdhdGU/LmVuYWJsZWRcIlxyXG5cdFx0XHRcdFttYXRUb29sdGlwXT1cIidSRVBPUlRTLmVuYWJsZWQnIHwgdHJhbnNsYXRlXCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5zZW5kPC9tYXQtaWNvbj5cclxuXHRcdFx0PC9idXR0b24+XHJcblxyXG5cdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0Y2xhc3M9XCJuYXZpZ2F0ZS1idXR0b24gY2hhcnQtYWN0aW9uc19faXRlbVwiXHJcblx0XHRcdFx0KGNsaWNrKT1cIm9wZW5EZXRhaWxzKClcIlxyXG5cdFx0XHRcdCpuZ0lmPVwiY29uZmlnPy5kZXRhaWxzPy5lbmFibGVkXCJcclxuXHRcdFx0XHRbbWF0VG9vbHRpcF09XCInUkVQT1JUUy5kZXRhaWxzJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8bWF0LWljb24+aW5mbzwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8dGltZS1ncm91cC1zZWxlY3RvclxyXG5cdFx0XHQqbmdJZj1cImNvbmZpZz8uZ3JvdXA/LmFjdGl2ZSA/PyB0cnVlXCJcclxuXHRcdFx0W2dyb3VwXT1cInNlbGVjdGVkR3JvdXAkIHwgYXN5bmNcIlxyXG5cdFx0XHQoZ3JvdXBDaGFuZ2UpPVwiY2hhbmdlR3JvdXAoJGV2ZW50KVwiXHJcblx0XHQ+PC90aW1lLWdyb3VwLXNlbGVjdG9yPlxyXG5cdDwvY2hhcnQtcGFuZWwtZm9vdGVyPlxyXG48L2NoYXJ0LXBhbmVsPlxyXG5cclxuPG5nLXRlbXBsYXRlICNub0RhdGE+XHJcblx0PGNoYXJ0LXBhbmVsIGNsYXNzPVwibmRmLXJlcG9ydFwiPlxyXG5cdFx0PGNoYXJ0LXBhbmVsLWhlYWRlciBjbGFzcz1cIm5kZi1yZXBvcnRfX2hlYWRlciBtYi0zXCI+XHJcblx0XHRcdHt7IGNvbmZpZy5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9jaGFydC1wYW5lbC1oZWFkZXI+XHJcblx0XHQ8YXBwLXNrZWxldG9uXHJcblx0XHRcdGFuaW1hdGlvbj1cIm9wYWNpdHlcIlxyXG5cdFx0XHRjbGFzcz1cIm5kZi1yZXBvcnRfX2NvbnRlbnQgbmRmLXJlcG9ydF9fY29udGVudCB0aW1lbGluZS1jaGFydFwiXHJcblx0XHRcdGhlaWdodD1cIjIyMHB4XCJcclxuXHRcdD48L2FwcC1za2VsZXRvbj5cclxuXHQ8L2NoYXJ0LXBhbmVsPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbXBvbmVudHMvZHluYW1pYy10aW1lbGluZS1yZXBvcnQvZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbXBvbmVudHMvZHluYW1pYy10aW1lbGluZS1yZXBvcnQvZHluYW1pYy10aW1lbGluZS1yZXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBWSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7OztBQVlwRCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsZUFBNkQ7SUFtQmhILFlBQW1CLFFBQWtCO1FBQ3BDLEtBQUssQ0FBQyxRQUFR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O29CQUNELFNBQVMsRUFBRSxDQUFDLDRCQUE0QixFQUFFLGlCQUFpQixDQUFDO2lCQUM1RDsrRkFJeUIsbUJBQW1CO3NCQUEzQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3RvciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEJhc2VHcmFwaFJlcG9ydCB9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS1ncmFwaC5yZXBvcnQnO1xyXG5pbXBvcnQgeyBHcmFwaENoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2hhcnRzLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBEeW5hbWljTGluZUNoYXJ0LCBEeW5hbWljTGluZUNoYXJ0RGVmaW5pdGlvbiwgVGltZUdyb3VwcyB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IENoYXJ0VGhlbWVTZXJ2aWNlLCBEeW5hbWljVGltZWxpbmVSZXBvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUaW1lbGluZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL19wYXJ0cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1keW5hbWljLXRpbWVsaW5lLXJlcG9ydCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtdGltZWxpbmUtcmVwb3J0LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9keW5hbWljLXRpbWVsaW5lLXJlcG9ydC5jb21wb25lbnQuc2NzcyddLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG5cdGhvc3Q6IHtcclxuXHRcdGNsYXNzOiAndGltZWxpbmUtcmVwb3J0IGZsZXggZmxleC1jb2wgZmxleC1ncm93J1xyXG5cdH0sXHJcblx0cHJvdmlkZXJzOiBbRHluYW1pY1RpbWVsaW5lUmVwb3J0U2VydmljZSwgQ2hhcnRUaGVtZVNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljVGltZWxpbmVSZXBvcnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlR3JhcGhSZXBvcnQ8RHluYW1pY0xpbmVDaGFydERlZmluaXRpb24sIER5bmFtaWNMaW5lQ2hhcnQ+IHtcclxuXHRwcml2YXRlIHJlYWRvbmx5IF90aW1lbGluZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChEeW5hbWljVGltZWxpbmVSZXBvcnRTZXJ2aWNlKTtcclxuXHJcblx0QFZpZXdDaGlsZCgnZ3JhcGhDaGFydCcpIGdyYXBoQ2hhcnRDb21wb25lbnQ6IEdyYXBoQ2hhcnRDb21wb25lbnQ7XHJcblxyXG5cdHByaXZhdGUgX2NyaXRlcmlhJCA9IHRoaXMuY3JpdGVyaWEkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IF8uaXNFcXVhbChhLCBiKSkpO1xyXG5cclxuXHRzZWxlY3RlZEdyb3VwJCA9IHRoaXMuX3RpbWVsaW5lU2VydmljZS5zZWxlY3RlZEdyb3VwJDtcclxuXHJcblx0ZmlsdGVyQ3JpdGVyaWEkID0gY29tYmluZUxhdGVzdChbdGhpcy5fY3JpdGVyaWEkLCB0aGlzLl90aW1lbGluZVNlcnZpY2Uuc2VsZWN0ZWRHcm91cCRdKS5waXBlKFxyXG5cdFx0bWFwKChbY3JpdGVyaWFdKSA9PiB7XHJcblx0XHRcdHJldHVybiBfLmNsb25lRGVlcChfLm1lcmdlKGNyaXRlcmlhIHx8IHt9LCB0aGlzLl90aW1lbGluZVNlcnZpY2UucHJlcGFyZVNlbGVjdGVkR3JvdXBzKHRoaXMuY29uZmlnKSkpO1xyXG5cdFx0fSlcclxuXHQpO1xyXG5cclxuXHRyZXBvcnQkID0gY29tYmluZUxhdGVzdChbdGhpcy5jb25maWckLCB0aGlzLl9jcml0ZXJpYSQsIHRoaXMuX3RpbWVsaW5lU2VydmljZS5yZWJ1aWxkJF0pLnBpcGUoXHJcblx0XHR0aGlzLl90aW1lbGluZVNlcnZpY2UucHJlcGFyZURhdGEoKVxyXG5cdCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuXHRcdHN1cGVyKGluamVjdG9yKTtcclxuXHRcdHRoaXMuX3N1YnNjcmliZVRvTGFuZ3VhZ2UoKTtcclxuXHR9XHJcblxyXG5cdF9zdWJzY3JpYmVUb0xhbmd1YWdlKCkge1xyXG5cdFx0dGhpcy5fdHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2VcclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0ZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZSwgbmV4dCkgPT4gcHJlLmxhbmcgPT0gbmV4dC5sYW5nKSxcclxuXHRcdFx0XHRmaWx0ZXIoKCkgPT4gdGhpcy5fdGltZWxpbmVTZXJ2aWNlLl9pc0luaXRpYWxpemVkKSxcclxuXHRcdFx0XHR0YWtlVW50aWwodGhpcy5kZXN0cm95JClcclxuXHRcdFx0KVxyXG5cdFx0XHQuc3Vic2NyaWJlKChfKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5fdGltZWxpbmVTZXJ2aWNlLnJlYnVpbGQoKTtcclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcmludENoYXJ0KCkge1xyXG5cdFx0aWYgKHRoaXMuZ3JhcGhDaGFydENvbXBvbmVudCkge1xyXG5cdFx0XHR0aGlzLmdyYXBoQ2hhcnRDb21wb25lbnQucHJpbnRDaGFydCgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Y2hhbmdlR3JvdXAoZ3JvdXA6IFRpbWVHcm91cHMpIHtcclxuXHRcdHRoaXMuX3RpbWVsaW5lU2VydmljZS5jaGFuZ2VHcm91cChncm91cCk7XHJcblx0fVxyXG5cclxuXHRvcGVuVGltZWxpbmVEaWFsb2coKSB7XHJcblx0XHR0aGlzLm9wZW5HcmFwaERpYWxvZyhUaW1lbGluZURpYWxvZ0NvbXBvbmVudCk7XHJcblx0fVxyXG5cclxuXHRvcGVuRGV0YWlscygpIHtcclxuXHRcdHRoaXMub25PcGVuLmVtaXQodGhpcy5fdGltZWxpbmVTZXJ2aWNlLnBheWxvYWQpO1xyXG5cdH1cclxufVxyXG4iLCI8Y2hhcnQtcGFuZWwgKm5nSWY9XCJyZXBvcnQkIHwgYXN5bmMgYXMgcmVwb3J0OyBlbHNlIG5vRGF0YVwiIGNsYXNzPVwibmRmLXJlcG9ydFwiPlxyXG5cdDxjaGFydC1wYW5lbC1oZWFkZXIgY2xhc3M9XCJuZGYtcmVwb3J0X19oZWFkZXIgbWItM1wiPlxyXG5cdFx0PHNwYW4+XHJcblx0XHRcdHt7IGNvbmZpZy5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9zcGFuPlxyXG5cclxuXHRcdDxidXR0b25cclxuXHRcdFx0Km5nSWY9XCJjb25maWc/LmRpYWxvZz8uYWN0aXZlXCJcclxuXHRcdFx0Y2xhc3M9XCJkaWFsb2ctYnV0dG9uIHByaW50OmhpZGRlblwiXHJcblx0XHRcdChjbGljayk9XCJvcGVuVGltZWxpbmVEaWFsb2coKVwiXHJcblx0XHRcdFttYXRUb29sdGlwXT1cIidSRVBPUlRTLmZ1bGxzY3JlZW4nIHwgdHJhbnNsYXRlXCJcclxuXHRcdD5cclxuXHRcdFx0PG1hdC1pY29uPmZ1bGxzY3JlZW48L21hdC1pY29uPlxyXG5cdFx0PC9idXR0b24+XHJcblx0PC9jaGFydC1wYW5lbC1oZWFkZXI+XHJcblxyXG5cdDxhcHAtZ3JhcGgtY2hhcnRcclxuXHRcdCNncmFwaENoYXJ0XHJcblx0XHRjbGFzcz1cIm5kZi1yZXBvcnRfX2NvbnRlbnQgbmRmLXJlcG9ydF9fY29udGVudCB0aW1lbGluZS1jaGFydFwiXHJcblx0XHRbY29uZmlnXT1cInJlcG9ydC5jb25maWdcIlxyXG5cdFx0W2NyaXRlcmlhXT1cImZpbHRlckNyaXRlcmlhJCB8IGFzeW5jXCJcclxuXHRcdFtkYXRhXT1cInJlcG9ydC5kYXRhXCJcclxuXHQ+PC9hcHAtZ3JhcGgtY2hhcnQ+XHJcblxyXG5cdDxjaGFydC1wYW5lbC1mb290ZXIgY2xhc3M9XCJuZGYtcmVwb3J0X19mb290ZXIgXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiY2hhcnQtYWN0aW9ucyBmbGV4IGl0ZW1zLWNlbnRlciByb3VuZGVkLWxnIGdhcC0yIGZsZXgtd3JhcCBwLTFcIj5cclxuXHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdGNsYXNzPVwicHJpbnQtYnV0dG9uIGNoYXJ0LWFjdGlvbnNfX2l0ZW1cIlxyXG5cdFx0XHRcdChjbGljayk9XCJwcmludENoYXJ0KClcIlxyXG5cdFx0XHRcdFttYXRUb29sdGlwXT1cIidSRVBPUlRTLnByaW50JyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0Km5nSWY9XCJjb25maWc/LnByaW50XCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5wcmludDwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0Y2xhc3M9XCJuYXZpZ2F0ZS1idXR0b24gY2hhcnQtYWN0aW9uc19faXRlbVwiXHJcblx0XHRcdFx0KGNsaWNrKT1cIm5hdmlnYXRlKClcIlxyXG5cdFx0XHRcdCpuZ0lmPVwiY29uZmlnPy5uYXZpZ2F0ZT8uZW5hYmxlZFwiXHJcblx0XHRcdFx0W21hdFRvb2x0aXBdPVwiJ1JFUE9SVFMuZW5hYmxlZCcgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PG1hdC1pY29uPnNlbmQ8L21hdC1pY29uPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHJcblx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRjbGFzcz1cIm5hdmlnYXRlLWJ1dHRvbiBjaGFydC1hY3Rpb25zX19pdGVtXCJcclxuXHRcdFx0XHQoY2xpY2spPVwib3BlbkRldGFpbHMoKVwiXHJcblx0XHRcdFx0Km5nSWY9XCJjb25maWc/LmRldGFpbHM/LmVuYWJsZWRcIlxyXG5cdFx0XHRcdFttYXRUb29sdGlwXT1cIidSRVBPUlRTLmRldGFpbHMnIHwgdHJhbnNsYXRlXCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxtYXQtaWNvbj5pbmZvPC9tYXQtaWNvbj5cclxuXHRcdFx0PC9idXR0b24+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDx0aW1lLWdyb3VwLXNlbGVjdG9yXHJcblx0XHRcdCpuZ0lmPVwiY29uZmlnPy5ncm91cD8uYWN0aXZlID8/IHRydWVcIlxyXG5cdFx0XHRbZ3JvdXBdPVwic2VsZWN0ZWRHcm91cCQgfCBhc3luY1wiXHJcblx0XHRcdChncm91cENoYW5nZSk9XCJjaGFuZ2VHcm91cCgkZXZlbnQpXCJcclxuXHRcdD48L3RpbWUtZ3JvdXAtc2VsZWN0b3I+XHJcblx0PC9jaGFydC1wYW5lbC1mb290ZXI+XHJcbjwvY2hhcnQtcGFuZWw+XHJcblxyXG48bmctdGVtcGxhdGUgI25vRGF0YT5cclxuXHQ8Y2hhcnQtcGFuZWwgY2xhc3M9XCJuZGYtcmVwb3J0XCI+XHJcblx0XHQ8Y2hhcnQtcGFuZWwtaGVhZGVyIGNsYXNzPVwibmRmLXJlcG9ydF9faGVhZGVyIG1iLTNcIj5cclxuXHRcdFx0e3sgY29uZmlnLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2NoYXJ0LXBhbmVsLWhlYWRlcj5cclxuXHRcdDxhcHAtc2tlbGV0b25cclxuXHRcdFx0YW5pbWF0aW9uPVwib3BhY2l0eVwiXHJcblx0XHRcdGNsYXNzPVwibmRmLXJlcG9ydF9fY29udGVudCBuZGYtcmVwb3J0X19jb250ZW50IHRpbWVsaW5lLWNoYXJ0XCJcclxuXHRcdFx0aGVpZ2h0PVwiMjIwcHhcIlxyXG5cdFx0PjwvYXBwLXNrZWxldG9uPlxyXG5cdDwvY2hhcnQtcGFuZWw+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|