nuxeo-development-framework 5.6.9 → 5.7.0
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 +72 -25
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/ndf-filters/base/base-aggregation-field.component.js +2 -2
- package/esm2015/lib/components/ndf-filters/containers/aggregation-field/aggregation-field.component.js +16 -14
- package/esm2015/lib/components/ndf-filters/containers/base-field.js +4 -3
- package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +47 -6
- package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +1 -1
- package/fesm2015/nuxeo-development-framework.js +63 -20
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/ndf-filters/containers/aggregation-field/aggregation-field.component.d.ts +2 -1
- package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +6 -2
- package/lib/components/reports/ndf-reports/models/ndf-reports.config.d.ts +9 -1
- package/package.json +1 -1
|
@@ -23,7 +23,7 @@ export class BaseAggregationField extends BaseSelector {
|
|
|
23
23
|
this.sourceState$ = this._sourceState.asObservable().pipe(filter((data) => !!(data === null || data === void 0 ? void 0 : data.fieldConfig) && !!data.aggregation));
|
|
24
24
|
this.renderOptions$ = this.sourceState$.pipe(map((data) => { var _a, _b; return (_b = (_a = data.fieldConfig) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.options; }), filter(Boolean));
|
|
25
25
|
this._optionsSub = new BehaviorSubject([]);
|
|
26
|
-
this.options$ = this.sourceState$.pipe(switchMap((res) => this._aggregationService.prepareAggregationFiled(res)),
|
|
26
|
+
this.options$ = this.sourceState$.pipe(switchMap((res) => this._aggregationService.prepareAggregationFiled(res)), tap((options) => {
|
|
27
27
|
this._optionsSub.next(options);
|
|
28
28
|
}));
|
|
29
29
|
}
|
|
@@ -88,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
88
88
|
}], aggregation: [{
|
|
89
89
|
type: Input
|
|
90
90
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1hZ2dyZWdhdGlvbi1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1maWx0ZXJzL2Jhc2UvYmFzZS1hZ2dyZWdhdGlvbi1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBWSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUtMLGdCQUFnQixFQUdqQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3RELE1BQU0sT0FBZ0Isb0JBQXVFLFNBQVEsWUFHcEc7SUFrREE7O09BRUc7SUFDSCxZQUFzQixRQUFrQjtRQUN2QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFESyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBcER2Qix3QkFBbUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2xGLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFHZCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFtQjtZQUM5RCxXQUFXLEVBQUUsSUFBSTtZQUNqQixXQUFXLEVBQUUsSUFBSTtTQUNqQixDQUFD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QUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxpQ0FDbEIsV0FBVyxHQUNYLElBQUksRUFDTixDQUFDO0lBQ0osQ0FBQzs7a0hBaEdvQixvQkFBb0I7c0dBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQUR6QyxTQUFTOytGQVFBLGVBQWU7c0JBQXZCLEtBQUs7Z0JBZ0JHLE1BQU07c0JBQWQsS0FBSztnQkFFTyxXQUFXO3NCQUF2QixLQUFLO2dCQVVPLFdBQVc7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdG9yLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYXNlU2VsZWN0b3IgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEZJRUxEX1NFTkRfTU9ERSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7XHJcbiAgQWdncmVnYXRpb25GaWVsZENvbmZpZyxcclxuICBBZ2dyZWdhdGlvbkZpZWxkVHlwZSxcclxuICBBZ2dyZWdhdGlvblJlc3BvbnNlLFxyXG4gIEZpZWxkT3B0aW9uc1R5cGUsXHJcbiAgRmllbGRWYWx1ZU9iamVjdCxcclxuICBGaWx0ZXJPcHRpb24sXHJcbiAgT3B0aW9uc1R5cGVcclxufSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBBZ2dyZWdhdGlvbkZpZWxkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUFnZ3JlZ2F0aW9uRmllbGQ8VFR5cGUgZXh0ZW5kcyBBZ2dyZWdhdGlvbkZpZWxkVHlwZSwgVFZhbHVlID0gYW55PiBleHRlbmRzIEJhc2VTZWxlY3RvcjxcclxuXHRGaWx0ZXJPcHRpb25bXSxcclxuXHRUVmFsdWVcclxuPiB7XHJcblx0cHJpdmF0ZSByZWFkb25seSBfYWdncmVnYXRpb25TZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQWdncmVnYXRpb25GaWVsZFNlcnZpY2UpO1xyXG5cdHNlYXJjaFRleHQ6IHN0cmluZyA9ICcnO1xyXG5cclxuXHRASW5wdXQoKSBjb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XHJcblx0cHJvdGVjdGVkIF9pc0ZpZWxkRGlydHkgPSBmYWxzZTtcclxuXHRwcm90ZWN0ZWQgX3NvdXJjZVN0YXRlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWVsZE9wdGlvbnNUeXBlPih7XHJcblx0XHRmaWVsZENvbmZpZzogbnVsbCxcclxuXHRcdGFnZ3JlZ2F0aW9uOiBudWxsXHJcblx0fSk7XHJcblxyXG5cdHNvdXJjZVN0YXRlJCA9IHRoaXMuX3NvdXJjZVN0YXRlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmlsdGVyKChkYXRhKSA9PiAhIWRhdGE/LmZpZWxkQ29uZmlnICYmICEhZGF0YS5hZ2dyZWdhdGlvbikpO1xyXG5cclxuXHRyZW5kZXJPcHRpb25zJCA9IHRoaXMuc291cmNlU3RhdGUkLnBpcGUoXHJcblx0XHRtYXAoKGRhdGEpID0+IGRhdGEuZmllbGRDb25maWc/LnJlbmRlcj8ub3B0aW9ucyksXHJcblx0XHRmaWx0ZXI8T3B0aW9uc1R5cGU8VFR5cGU+PihCb29sZWFuKVxyXG5cdCk7XHJcblxyXG5cdHByb3RlY3RlZCBfb3B0aW9uc1N1YiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmlsdGVyT3B0aW9uW10+KFtdKTtcclxuXHJcblx0QElucHV0KCkgcHJlZml4OiBzdHJpbmc7XHJcblxyXG5cdEBJbnB1dCgpIHNldCBmaWVsZENvbmZpZyh2YWw6IEFnZ3JlZ2F0aW9uRmllbGRDb25maWcpIHtcclxuXHRcdGlmICh2YWwpIHtcclxuXHRcdFx0dGhpcy5fdXBkYXRlT3B0aW9uKHsgZmllbGRDb25maWc6IHZhbCB9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGdldCBmaWVsZENvbmZpZygpIHtcclxuXHRcdHJldHVybiB0aGlzLl9zb3VyY2VTdGF0ZS5nZXRWYWx1ZSgpLmZpZWxkQ29uZmlnO1xyXG5cdH1cclxuXHJcblx0QElucHV0KCkgc2V0IGFnZ3JlZ2F0aW9uKHZhbDogQWdncmVnYXRpb25SZXNwb25zZSkge1xyXG5cdFx0aWYgKHZhbCkge1xyXG5cdFx0XHR0aGlzLl91cGRhdGVPcHRpb24oeyBhZ2dyZWdhdGlvbjogdmFsIH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0IGFnZ3JlZ2F0aW9uKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX3NvdXJjZVN0YXRlLmdldFZhbHVlKCkuYWdncmVnYXRpb247XHJcblx0fVxyXG5cclxuXHRnZXQgcmVuZGVyT3B0aW9ucygpIHtcclxuXHRcdHJldHVybiB0aGlzLmZpZWxkQ29uZmlnPy5yZW5kZXI/Lm9wdGlvbnMgYXMgT3B0aW9uc1R5cGU8VFR5cGU+O1xyXG5cdH1cclxuXHJcblx0Z2V0IGxhbmd1YWdlKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZztcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqXHJcblx0ICovXHJcblx0Y29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG5cdFx0c3VwZXIoaW5qZWN0b3IpO1xyXG5cdFx0dGhpcy5vcHRpb25zJCA9IHRoaXMuc291cmNlU3RhdGUkLnBpcGUoXHJcblx0XHRcdHN3aXRjaE1hcCgocmVzKSA9PiB0aGlzLl9hZ2dyZWdhdGlvblNlcnZpY2UucHJlcGFyZUFnZ3JlZ2F0aW9uRmlsZWQocmVzKSksXHJcblx0XHRcdHRhcCgob3B0aW9ucykgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX29wdGlvbnNTdWIubmV4dChvcHRpb25zKTtcclxuXHRcdFx0fSlcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHR2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHtcclxuXHRcdHJldHVybiBjb250cm9sLnZhbGlkID8gbnVsbCA6IGNvbnRyb2wuZXJyb3JzO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9pc1ZhbHVlT2JqZWN0KCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuZmllbGRDb25maWc/LnZhbHVlVHlwZSA9PT0gJ3ZhbHVlT2JqZWN0JztcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBfaXNTZW5kQXNRdWVyeVBhcmFtcygpIHtcclxuXHRcdHJldHVybiB0aGlzLmZpZWxkQ29uZmlnPy5zZW5kTW9kZSA9PT0gRklFTERfU0VORF9NT0RFLnF1ZXJ5UGFyYW07XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX3ByZXBhcmVWYWx1ZU9iamVjdChcclxuXHRcdHZhbHVlOiBUVmFsdWUsXHJcblx0XHRvcGVyYXRvciA9IHRoaXMuZmllbGRDb25maWc/Lm9wZXJhdG9yLFxyXG5cdFx0cHJlZml4Pzogc3RyaW5nXHJcblx0KTogRmllbGRWYWx1ZU9iamVjdDxUVmFsdWU+IHtcclxuXHRcdHJldHVybiBuZXcgRmllbGRWYWx1ZU9iamVjdCh7XHJcblx0XHRcdG9wZXJhdG9yOiBvcGVyYXRvcixcclxuXHRcdFx0dmFsdWU6IHZhbHVlLFxyXG5cdFx0XHRwcmVmaXhcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfdXBkYXRlT3B0aW9uKGRhdGE6IFBhcnRpYWw8RmllbGRPcHRpb25zVHlwZT4pIHtcclxuXHRcdGNvbnN0IGN1cnJlbnREYXRhID0gdGhpcy5fc291cmNlU3RhdGUuZ2V0VmFsdWUoKTtcclxuXHRcdHRoaXMuX3NvdXJjZVN0YXRlLm5leHQoe1xyXG5cdFx0XHQuLi5jdXJyZW50RGF0YSxcclxuXHRcdFx0Li4uZGF0YVxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, forwardRef, Input, ViewEncapsulation
|
|
1
|
+
import { Component, forwardRef, Input, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
3
|
import { AGGREGATION_FIELD_TYPES } from '../../constants';
|
|
4
4
|
import { BaseField } from '../base-field';
|
|
@@ -13,7 +13,7 @@ export class AggregationFieldComponent extends BaseField {
|
|
|
13
13
|
[AGGREGATION_FIELD_TYPES.switch]: this._prepareField.bind(this),
|
|
14
14
|
[AGGREGATION_FIELD_TYPES.autocomplete]: this._prepareField.bind(this),
|
|
15
15
|
[AGGREGATION_FIELD_TYPES.dateList]: this._prepareField.bind(this),
|
|
16
|
-
[AGGREGATION_FIELD_TYPES.custom]: this._prepareField.bind(this)
|
|
16
|
+
[AGGREGATION_FIELD_TYPES.custom]: this._prepareField.bind(this)
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
ngOnInit() {
|
|
@@ -25,9 +25,11 @@ export class AggregationFieldComponent extends BaseField {
|
|
|
25
25
|
(_d = (_c = this.handlers)[componentType]) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
+
ngOnChanges(changes) {
|
|
29
|
+
super.ngOnChanges(changes);
|
|
30
|
+
}
|
|
28
31
|
_prepareField() {
|
|
29
|
-
const instance = this._componentRef
|
|
30
|
-
.instance;
|
|
32
|
+
const instance = this._componentRef.instance;
|
|
31
33
|
instance.aggregation = this.aggregation;
|
|
32
34
|
instance.fieldConfig = this.fieldConfig;
|
|
33
35
|
if (this.contentTemplate) {
|
|
@@ -40,14 +42,14 @@ AggregationFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
40
42
|
{
|
|
41
43
|
provide: NG_VALUE_ACCESSOR,
|
|
42
44
|
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
43
|
-
multi: true
|
|
45
|
+
multi: true
|
|
44
46
|
},
|
|
45
47
|
{
|
|
46
48
|
provide: NG_VALIDATORS,
|
|
47
49
|
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
48
|
-
multi: true
|
|
49
|
-
}
|
|
50
|
-
], usesInheritance: true, ngImport: i0, template: '<ng-container #dynamicContainer></ng-container>', isInline: true, styles: [""], encapsulation: i0.ViewEncapsulation.None });
|
|
50
|
+
multi: true
|
|
51
|
+
}
|
|
52
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '<ng-container #dynamicContainer></ng-container>', isInline: true, styles: [""], encapsulation: i0.ViewEncapsulation.None });
|
|
51
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldComponent, decorators: [{
|
|
52
54
|
type: Component,
|
|
53
55
|
args: [{
|
|
@@ -59,21 +61,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
59
61
|
{
|
|
60
62
|
provide: NG_VALUE_ACCESSOR,
|
|
61
63
|
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
62
|
-
multi: true
|
|
64
|
+
multi: true
|
|
63
65
|
},
|
|
64
66
|
{
|
|
65
67
|
provide: NG_VALIDATORS,
|
|
66
68
|
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
67
|
-
multi: true
|
|
68
|
-
}
|
|
69
|
+
multi: true
|
|
70
|
+
}
|
|
69
71
|
],
|
|
70
72
|
host: {
|
|
71
|
-
'[class]': "'aggregation-field' + ' aggregation-field__fieldConfig?.render?.type' "
|
|
72
|
-
}
|
|
73
|
+
'[class]': "'aggregation-field' + ' aggregation-field__fieldConfig?.render?.type' "
|
|
74
|
+
}
|
|
73
75
|
}]
|
|
74
76
|
}], propDecorators: { aggregation: [{
|
|
75
77
|
type: Input
|
|
76
78
|
}], contentTemplate: [{
|
|
77
79
|
type: Input
|
|
78
80
|
}] } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtZmlsdGVycy9jb250YWluZXJzL2FnZ3JlZ2F0aW9uLWZpZWxkL2FnZ3JlZ2F0aW9uLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXdDLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFFTCxhQUFhLEVBQ2IsaUJBQWlCLEdBRWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFNMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUF1QjFDLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxTQUFpQztJQXJCaEY7O1FBeUJrQixhQUFRLEdBQTZDO1lBQ3JFLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2pFLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2pFLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzlELENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQy9ELENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3JFLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2pFLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQy9ELENBQUM7S0F3QkY7SUF0QkEsUUFBUTs7UUFDUCxNQUFNLGFBQWEsR0FBRyxNQUFBLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsTUFBTSwwQ0FBRSxJQUFJLENBQUM7UUFDckQsSUFBSSxhQUFhLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDMUYsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsTUFBQSxNQUFBLElBQUksQ0FBQyxRQUFRLEVBQUMsYUFBYSxDQUFDLGtEQUFJLENBQUM7U0FDakM7SUFDRixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2pDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVPLGFBQWE7UUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFzRCxDQUFDO1FBQzNGLFFBQVEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFeEMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pCLFFBQVEsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUNoRDtJQUNGLENBQUM7O3VIQW5DVyx5QkFBeUI7MkdBQXpCLHlCQUF5QiwwT0FoQjFCO1FBQ1Y7WUFDQyxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7WUFDeEQsS0FBSyxFQUFFLElBQUk7U0FDWDtRQUNEO1lBQ0MsT0FBTyxFQUFFLGFBQWE7WUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztZQUN4RCxLQUFLLEVBQUUsSUFBSTtTQUNYO0tBQ0Qsc0VBZFMsaURBQWlEOzRGQW1CL0MseUJBQXlCO2tCQXJCckMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUsaURBQWlEO29CQUMzRCxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBQ1osYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFNBQVMsRUFBRTt3QkFDVjs0QkFDQyxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQzs0QkFDeEQsS0FBSyxFQUFFLElBQUk7eUJBQ1g7d0JBQ0Q7NEJBQ0MsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDOzRCQUN4RCxLQUFLLEVBQUUsSUFBSTt5QkFDWDtxQkFDRDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0wsU0FBUyxFQUFFLHlFQUF5RTtxQkFDcEY7aUJBQ0Q7OEJBRVMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgTmdNb2R1bGUsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEZvcm1zTW9kdWxlLFxyXG4gIE5HX1ZBTElEQVRPUlMsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJhc2VBZ2dyZWdhdGlvbkZpZWxkIH0gZnJvbSAnLi4vLi4vYmFzZSc7XHJcbmltcG9ydCB7IEFHR1JFR0FUSU9OX0ZJRUxEX1RZUEVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHtcclxuICBBZ2dyZWdhdGlvbkZpZWxkQ29uZmlnLFxyXG4gIEFnZ3JlZ2F0aW9uRmllbGRUeXBlLFxyXG4gIEFnZ3JlZ2F0aW9uUmVzcG9uc2UsXHJcbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQmFzZUZpZWxkIH0gZnJvbSAnLi4vYmFzZS1maWVsZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1hZ2dyZWdhdGlvbi1maWVsZCcsXHJcblx0dGVtcGxhdGU6ICc8bmctY29udGFpbmVyICNkeW5hbWljQ29udGFpbmVyPjwvbmctY29udGFpbmVyPicsXHJcblx0c3R5bGVzOiBbJyddLFxyXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBZ2dyZWdhdGlvbkZpZWxkQ29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFnZ3JlZ2F0aW9uRmllbGRDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZVxyXG5cdFx0fVxyXG5cdF0sXHJcblx0aG9zdDoge1xyXG5cdFx0J1tjbGFzc10nOiBcIidhZ2dyZWdhdGlvbi1maWVsZCcgKyAnICBhZ2dyZWdhdGlvbi1maWVsZF9fZmllbGRDb25maWc/LnJlbmRlcj8udHlwZScgXCJcclxuXHR9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZ2dyZWdhdGlvbkZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZpZWxkPEFnZ3JlZ2F0aW9uRmllbGRDb25maWc+IHtcclxuXHRASW5wdXQoKSBhZ2dyZWdhdGlvbjogQWdncmVnYXRpb25SZXNwb25zZTtcclxuXHRASW5wdXQoKSBjb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlcnM6IFJlY29yZDxBZ2dyZWdhdGlvbkZpZWxkVHlwZSwgKCkgPT4gdm9pZD4gPSB7XHJcblx0XHRbQUdHUkVHQVRJT05fRklFTERfVFlQRVMuZHJvcGRvd25dOiB0aGlzLl9wcmVwYXJlRmllbGQuYmluZCh0aGlzKSxcclxuXHRcdFtBR0dSRUdBVElPTl9GSUVMRF9UWVBFUy5jaGVja2JveF06IHRoaXMuX3ByZXBhcmVGaWVsZC5iaW5kKHRoaXMpLFxyXG5cdFx0W0FHR1JFR0FUSU9OX0ZJRUxEX1RZUEVTLnJhZGlvXTogdGhpcy5fcHJlcGFyZUZpZWxkLmJpbmQodGhpcyksXHJcblx0XHRbQUdHUkVHQVRJT05fRklFTERfVFlQRVMuc3dpdGNoXTogdGhpcy5fcHJlcGFyZUZpZWxkLmJpbmQodGhpcyksXHJcblx0XHRbQUdHUkVHQVRJT05fRklFTERfVFlQRVMuYXV0b2NvbXBsZXRlXTogdGhpcy5fcHJlcGFyZUZpZWxkLmJpbmQodGhpcyksXHJcblx0XHRbQUdHUkVHQVRJT05fRklFTERfVFlQRVMuZGF0ZUxpc3RdOiB0aGlzLl9wcmVwYXJlRmllbGQuYmluZCh0aGlzKSxcclxuXHRcdFtBR0dSRUdBVElPTl9GSUVMRF9UWVBFUy5jdXN0b21dOiB0aGlzLl9wcmVwYXJlRmllbGQuYmluZCh0aGlzKVxyXG5cdH07XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgY29tcG9uZW50VHlwZSA9IHRoaXMuZmllbGRDb25maWc/LnJlbmRlcj8udHlwZTtcclxuXHRcdGlmIChjb21wb25lbnRUeXBlKSB7XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZiA9IHRoaXMuZHluYW1pY0NvbXBvbmVudC5yZW5kZXJDb21wb25lbnQoY29tcG9uZW50VHlwZSwgdGhpcy5jb250YWluZXIpO1xyXG5cdFx0XHR0aGlzLl9wcmVwYXJlVmFsdWVBY2Nlc3NvcigpO1xyXG5cdFx0XHR0aGlzLmhhbmRsZXJzW2NvbXBvbmVudFR5cGVdPy4oKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuXHRcdHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcHJlcGFyZUZpZWxkKCkge1xyXG5cdFx0Y29uc3QgaW5zdGFuY2UgPSB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgQmFzZUFnZ3JlZ2F0aW9uRmllbGQ8QWdncmVnYXRpb25GaWVsZFR5cGU+O1xyXG5cdFx0aW5zdGFuY2UuYWdncmVnYXRpb24gPSB0aGlzLmFnZ3JlZ2F0aW9uO1xyXG5cdFx0aW5zdGFuY2UuZmllbGRDb25maWcgPSB0aGlzLmZpZWxkQ29uZmlnO1xyXG5cclxuXHRcdGlmICh0aGlzLmNvbnRlbnRUZW1wbGF0ZSkge1xyXG5cdFx0XHRpbnN0YW5jZS5jb250ZW50VGVtcGxhdGUgPSB0aGlzLmNvbnRlbnRUZW1wbGF0ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -2,6 +2,7 @@ import { BaseCustomValueAccessor } from '../base';
|
|
|
2
2
|
import { Directive, Input, ViewChild, ViewContainerRef } from '@angular/core';
|
|
3
3
|
import { NgControl } from '@angular/forms';
|
|
4
4
|
import { DynamicComponentLoaderService } from '../services';
|
|
5
|
+
import _ from 'lodash';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class BaseField extends BaseCustomValueAccessor {
|
|
7
8
|
constructor() {
|
|
@@ -35,9 +36,9 @@ export class BaseField extends BaseCustomValueAccessor {
|
|
|
35
36
|
return;
|
|
36
37
|
}
|
|
37
38
|
Object.keys(changes).forEach((key) => {
|
|
38
|
-
this._componentRef.instance[key] = changes[key].currentValue;
|
|
39
|
+
this._componentRef.instance[key] = _.cloneDeep(changes[key].currentValue);
|
|
39
40
|
});
|
|
40
|
-
this._componentRef.changeDetectorRef.
|
|
41
|
+
this._componentRef.changeDetectorRef.detectChanges();
|
|
41
42
|
}
|
|
42
43
|
ngOnDestroy() {
|
|
43
44
|
if (this._componentRef) {
|
|
@@ -59,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
59
60
|
}], fieldConfig: [{
|
|
60
61
|
type: Input
|
|
61
62
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvY29udGFpbmVycy9iYXNlLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBRU4sU0FBUyxFQUNULEtBQUssRUFJTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUIsU0FBUyxFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1RCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7O0FBR3ZCLE1BQU0sT0FBZ0IsU0FDckIsU0FBUSx1QkFBaUM7SUFGMUM7O1FBUVcscUJBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztLQWlEOUU7SUF6Q0EsVUFBVSxDQUFDLEdBQVE7O1FBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO1FBQ3pCLElBQUksTUFBQSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLFFBQVEsMENBQUUsVUFBVSxFQUFHO1lBQzlDLE1BQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxRQUFRLDBDQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM5QztJQUNGLENBQUM7SUFFRCxRQUFRLENBQUMsT0FBd0I7O1FBQ2hDLElBQUksTUFBQSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLFFBQVEsMENBQUUsUUFBUSxFQUFFO1lBQzNDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3JEO2FBQU07WUFDTixPQUFPLElBQUksQ0FBQztTQUNaO0lBQ0YsQ0FBQztJQUVELHlCQUF5QixDQUFFLEVBQWM7O1FBQ3hDLElBQUksTUFBQSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLFFBQVEsMENBQUUseUJBQXlCLEVBQUU7WUFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDMUQ7SUFDRixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3hCLE9BQU87U0FDUDtRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0UsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDN0I7SUFDRixDQUFDO0lBRVMscUJBQXFCO1FBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLFNBQVMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDdkQsQ0FBQzs7dUdBdkRvQixTQUFTOzJGQUFULFNBQVMsNEpBSVMsZ0JBQWdCOzRGQUpsQyxTQUFTO2tCQUQ5QixTQUFTOzhCQU1ULFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUs5RCxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUN1c3RvbVZhbHVlQWNjZXNzb3IgfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHtcclxuXHRDb21wb25lbnRSZWYsXHJcblx0RGlyZWN0aXZlLFxyXG5cdElucHV0LFxyXG5cdE9uQ2hhbmdlcyxcclxuXHRPbkRlc3Ryb3ksXHJcblx0U2ltcGxlQ2hhbmdlcyxcclxuXHRWaWV3Q2hpbGQsXHJcblx0Vmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5nQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRHluYW1pY0NvbXBvbmVudExvYWRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUZpZWxkPFRGaWVsZENvbmZpZyBleHRlbmRzIEZpZWxkQ29uZmlnPlxyXG5cdGV4dGVuZHMgQmFzZUN1c3RvbVZhbHVlQWNjZXNzb3I8YW55LCBhbnk+XHJcblx0aW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveVxyXG57XHJcblx0QFZpZXdDaGlsZCgnZHluYW1pY0NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXHJcblx0Y29udGFpbmVyITogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcblx0cHJvdGVjdGVkIGR5bmFtaWNDb21wb25lbnQgPSB0aGlzLmluamVjdG9yLmdldChEeW5hbWljQ29tcG9uZW50TG9hZGVyU2VydmljZSk7XHJcblxyXG5cdEBJbnB1dCgpIGZpZWxkQ29uZmlnOiBURmllbGRDb25maWc7XHJcblxyXG5cdHByb3RlY3RlZCBfY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcclxuXHJcblx0aW50ZXJuYWxWYWx1ZTogYW55O1xyXG5cclxuXHR3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcblx0XHR0aGlzLmludGVybmFsVmFsdWUgPSBvYmo7XHJcblx0XHRpZiAodGhpcy5fY29tcG9uZW50UmVmPy5pbnN0YW5jZT8ud3JpdGVWYWx1ZSApIHtcclxuXHRcdFx0dGhpcy5fY29tcG9uZW50UmVmPy5pbnN0YW5jZT8ud3JpdGVWYWx1ZShvYmopO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XHJcblx0XHRpZiAodGhpcy5fY29tcG9uZW50UmVmPy5pbnN0YW5jZT8udmFsaWRhdGUpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS52YWxpZGF0ZShjb250cm9sKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZT8oZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLl9jb21wb25lbnRSZWY/Lmluc3RhbmNlPy5yZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKSB7XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5yZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHRcdGlmICghdGhpcy5fY29tcG9uZW50UmVmKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdE9iamVjdC5rZXlzKGNoYW5nZXMpLmZvckVhY2goKGtleSkgPT4ge1xyXG5cdFx0XHR0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2Vba2V5XSA9IF8uY2xvbmVEZWVwKGNoYW5nZXNba2V5XS5jdXJyZW50VmFsdWUpO1xyXG5cdFx0fSk7XHJcblx0XHR0aGlzLl9jb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5fY29tcG9uZW50UmVmKSB7XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgX3ByZXBhcmVWYWx1ZUFjY2Vzc29yKCkge1xyXG5cdFx0Y29uc3QgbmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sKTtcclxuXHRcdG5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlO1xyXG5cdH1cclxufVxyXG4iXX0=
|
package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js
CHANGED
|
@@ -48,7 +48,8 @@ export class NdfReportsComponent extends DestroySubject {
|
|
|
48
48
|
this.isPanelOpened = false;
|
|
49
49
|
this.isLoadingResult = false;
|
|
50
50
|
this.isExpanded = false;
|
|
51
|
-
|
|
51
|
+
// activeQuery: Record<string, any> = {};
|
|
52
|
+
this._activeQuerySub = new BehaviorSubject(null);
|
|
52
53
|
this._activeFiltersQuerySub = new ReplaySubject();
|
|
53
54
|
this.activeFiltersQuery$ = this._activeFiltersQuerySub.asObservable();
|
|
54
55
|
this._configSubject = new BehaviorSubject(null);
|
|
@@ -70,6 +71,10 @@ export class NdfReportsComponent extends DestroySubject {
|
|
|
70
71
|
this.direction = res.lang === 'ar' ? 'rtl' : 'ltr';
|
|
71
72
|
});
|
|
72
73
|
}
|
|
74
|
+
get activeQuery() {
|
|
75
|
+
var _a;
|
|
76
|
+
return (_a = this._activeQuerySub.getValue()) === null || _a === void 0 ? void 0 : _a.current;
|
|
77
|
+
}
|
|
73
78
|
get showDetails() {
|
|
74
79
|
return !!this._reportDetailsSubject.getValue();
|
|
75
80
|
}
|
|
@@ -251,23 +256,59 @@ export class NdfReportsComponent extends DestroySubject {
|
|
|
251
256
|
};
|
|
252
257
|
}
|
|
253
258
|
_updateActiveQuery(query) {
|
|
254
|
-
this.
|
|
259
|
+
this._activeQuerySub.next({
|
|
260
|
+
previous: this.activeQuery,
|
|
261
|
+
current: query
|
|
262
|
+
});
|
|
255
263
|
this._activeFiltersQuerySub.next({
|
|
256
264
|
query,
|
|
257
265
|
emitEvent: false
|
|
258
266
|
});
|
|
259
267
|
}
|
|
260
268
|
_prepareAggregations(aggregations) {
|
|
261
|
-
var _a;
|
|
269
|
+
var _a, _b, _c;
|
|
262
270
|
if (this._isConfigChanged && this.aggregations) {
|
|
263
271
|
this.aggregations = null;
|
|
264
272
|
}
|
|
265
|
-
|
|
273
|
+
const reloadStrategy = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.reload) === null || _c === void 0 ? void 0 : _c.strategy;
|
|
274
|
+
if (this.aggregations && reloadStrategy === 'never') {
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
if (this.aggregations && reloadStrategy === 'onChange') {
|
|
278
|
+
if (this._shouldReloadOnChange()) {
|
|
279
|
+
this._updateAggregations(aggregations);
|
|
280
|
+
}
|
|
266
281
|
return;
|
|
267
282
|
}
|
|
268
|
-
this.aggregations
|
|
283
|
+
this._updateAggregations(aggregations);
|
|
269
284
|
this._isConfigChanged = false;
|
|
270
285
|
}
|
|
286
|
+
_shouldReloadOnChange() {
|
|
287
|
+
var _a, _b, _c, _d, _e, _f;
|
|
288
|
+
if (((_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.reload) === null || _c === void 0 ? void 0 : _c.strategy) !== 'onChange') {
|
|
289
|
+
return false;
|
|
290
|
+
}
|
|
291
|
+
const triggerFields = (_f = (_e = (_d = this.config) === null || _d === void 0 ? void 0 : _d.filters) === null || _e === void 0 ? void 0 : _e.reload) === null || _f === void 0 ? void 0 : _f.triggerFields;
|
|
292
|
+
if (!Array.isArray(triggerFields)) {
|
|
293
|
+
return false;
|
|
294
|
+
}
|
|
295
|
+
const validFields = triggerFields.filter(Boolean);
|
|
296
|
+
if (!validFields.length) {
|
|
297
|
+
return false;
|
|
298
|
+
}
|
|
299
|
+
const activatedQuery = this._activeQuerySub.getValue();
|
|
300
|
+
const currentValue = (activatedQuery === null || activatedQuery === void 0 ? void 0 : activatedQuery.current) || {};
|
|
301
|
+
const previousValue = (activatedQuery === null || activatedQuery === void 0 ? void 0 : activatedQuery.previous) || {};
|
|
302
|
+
const changedKeys = this._getChangedKeys(previousValue, currentValue);
|
|
303
|
+
return validFields.some((field) => changedKeys.includes(field));
|
|
304
|
+
}
|
|
305
|
+
_getChangedKeys(previous, current) {
|
|
306
|
+
const allKeys = _.union(_.keys(previous), _.keys(current));
|
|
307
|
+
return allKeys.filter((key) => !_.isEqual(previous[key], current[key]));
|
|
308
|
+
}
|
|
309
|
+
_updateAggregations(aggregations) {
|
|
310
|
+
this.aggregations = _.cloneDeep(aggregations);
|
|
311
|
+
}
|
|
271
312
|
_checkConfigChange(value) {
|
|
272
313
|
const { activeQuery } = value, config = __rest(value, ["activeQuery"]);
|
|
273
314
|
const _a = this._configSubject.getValue() || {}, { activeQuery: aq } = _a, currentConfig = __rest(_a, ["activeQuery"]);
|
|
@@ -331,4 +372,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
331
372
|
}], onQueryChange: [{
|
|
332
373
|
type: Output
|
|
333
374
|
}] } });
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXJlcG9ydHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbnRhaW5lcnMvbmRmLXJlcG9ydHMvbmRmLXJlcG9ydHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbnRhaW5lcnMvbmRmLXJlcG9ydHMvbmRmLXJlcG9ydHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWtCLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpHLE9BQU8sRUFFTixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFLTCxNQUFNLEVBRU4sU0FBUyxFQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBbUJ4RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztB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Qyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7aUhBbFZXLG1CQUFtQjtxR0FBbkIsbUJBQW1CLGlXQUNwQixvQkFBb0IsNEZDM0RoQywrdUdBK0VBLHd3U0R2QmEsQ0FBQyxjQUFjLENBQUM7NEZBRWhCLG1CQUFtQjtrQkFWL0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUsOEJBQThCO29CQUMzQyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztvQkFDM0MsSUFBSSxFQUFFO3dCQUNMLEtBQUssRUFBRSxhQUFhO3dCQUNwQixPQUFPLEVBQUUsV0FBVztxQkFDcEI7b0JBQ0QsVUFBVSxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM1Qjt1YUFFaUMsY0FBYztzQkFBOUMsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBd0N0QixpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtPLE1BQU07c0JBQWxCLEtBQUs7Z0JBUUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQge1xyXG5cdENoYW5nZURldGVjdG9yUmVmLFxyXG5cdENvbXBvbmVudCxcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5wdXQsXHJcblx0Tmdab25lLFxyXG5cdE9uQ2hhbmdlcyxcclxuXHRPbkRlc3Ryb3ksXHJcblx0T25Jbml0LFxyXG5cdE91dHB1dCxcclxuXHRTaW1wbGVDaGFuZ2VzLFxyXG5cdFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IERlc3Ryb3lTdWJqZWN0LCBGbHVpZEhlaWdodERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZm9ya0pvaW4sIGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgZmluYWxpemUsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IE5kZlRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vdGFibGVzJztcclxuaW1wb3J0IHtcclxuXHRBZ2dyZWdhdGlvblJlc3BvbnNlLFxyXG5cdEZpZWxkQ29uZmlnTW9kZWwsXHJcblx0RmlsdGVyUXVlcnlTZXJ2aWNlLFxyXG5cdEZpbHRlcnNNYXBwZXJTZXJ2aWNlLFxyXG5cdEZvcm1RdWVyeU1vZGVsXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vbmRmLWZpbHRlcnMnO1xyXG5pbXBvcnQgeyBDcml0ZXJpYU1vZGVsLCBOZGZSZXBvcnRzQ29uZmlnLCBSZXBvcnRDb25maWdNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7XHJcblx0Q2hhcnRNYW5hZ2VyU2VydmljZSxcclxuXHROZGZSZXBvcnRzU2VydmljZSxcclxuXHRSZXBvcnRDb25maWd1cmF0aW9uU2VydmljZSxcclxuXHRSZXBvcnRzU3RhdGVTZXJ2aWNlLFxyXG5cdFJlcG9ydFRyYW5zZm9ybVNlcnZpY2VcclxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IG1hcFRvTmRmVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBOREZfRURJVE9SX1RZUEUgfSBmcm9tICcuLi8uLi8uLi8uLi9uZGYtY29uZmlnLWVkaXRvci9jb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IHNsaWRlQW5pbWF0aW9uID0gdHJpZ2dlcignc2xpZGVJbk91dCcsIFtcclxuXHRzdGF0ZSgnY2xvc2VkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHZhcigtLW5kZi1yZXBvcnRzLWRldGFpbHMtdHJhbnNsYXRlWCwgLTEwMCUpKScgfSkpLFxyXG5cdHN0YXRlKCdvcGVuJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyB9KSksXHJcblx0dHJhbnNpdGlvbignY2xvc2VkIDw9PiBvcGVuJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnKSlcclxuXSk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1uZGYtcmVwb3J0cycsXHJcblx0dGVtcGxhdGVVcmw6ICcuL25kZi1yZXBvcnRzLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9uZGYtcmVwb3J0cy5jb21wb25lbnQuc2NzcyddLFxyXG5cdGhvc3Q6IHtcclxuXHRcdGNsYXNzOiAnbmRmLXJlcG9ydHMnLFxyXG5cdFx0J1tkaXJdJzogJ2RpcmVjdGlvbidcclxuXHR9LFxyXG5cdGFuaW1hdGlvbnM6IFtzbGlkZUFuaW1hdGlvbl1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5kZlJlcG9ydHNDb21wb25lbnQgZXh0ZW5kcyBEZXN0cm95U3ViamVjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG5cdEBWaWV3Q2hpbGQoRmx1aWRIZWlnaHREaXJlY3RpdmUpIGZsdWlkRGlyZWN0aXZlOiBGbHVpZEhlaWdodERpcmVjdGl2ZTtcclxuXHRfaXNIZWlnaHRVcGRhdGVkID0gZmFsc2U7XHJcblx0ZGlyZWN0aW9uOiBEaXJlY3Rpb24gPSAncnRsJztcclxuXHRpc1BhbmVsT3BlbmVkID0gZmFsc2U7XHJcblx0aXNMb2FkaW5nUmVzdWx0ID0gZmFsc2U7XHJcblx0cmVwb3J0c0RhdGEkOiBPYnNlcnZhYmxlPGFueT47XHJcblx0aXNFeHBhbmRlZCA9IGZhbHNlO1xyXG5cclxuXHRhY3RpdmVRdWVyeTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZUZpbHRlcnNRdWVyeVN1YiA9IG5ldyBSZXBsYXlTdWJqZWN0PEZvcm1RdWVyeU1vZGVsPigpO1xyXG5cdHJlYWRvbmx5IGFjdGl2ZUZpbHRlcnNRdWVyeSQgPSB0aGlzLl9hY3RpdmVGaWx0ZXJzUXVlcnlTdWIuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5kZlJlcG9ydHNDb25maWc+KG51bGwpO1xyXG5cdHJlYWRvbmx5IHJlcG9ydENvbmZpZyQgPSB0aGlzLl9jb25maWdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJzQ3JpdGVyaWFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDcml0ZXJpYU1vZGVsPihudWxsKTtcclxuXHRyZWFkb25seSBmaWx0ZXJzUGFyYW1zJCA9IHRoaXMuX2ZpbHRlcnNDcml0ZXJpYVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHByaXZhdGUgX3JlcG9ydERldGFpbHNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7XHJcblx0XHRsYWJlbD86IHN0cmluZztcclxuXHRcdGNvbmZpZzogTmRmVGFibGVDb25maWc7XHJcblx0fT4obnVsbCk7XHJcblx0cmVwb3J0RGV0YWlscyQgPSB0aGlzLl9yZXBvcnREZXRhaWxzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0YWdncmVnYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBBZ2dyZWdhdGlvblJlc3BvbnNlPjtcclxuXHJcblx0Z2V0IHNob3dEZXRhaWxzKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuICEhdGhpcy5fcmVwb3J0RGV0YWlsc1N1YmplY3QuZ2V0VmFsdWUoKTtcclxuXHR9XHJcblxyXG5cdGlzRGV0YWlsc09wZW5lZCA9IGZhbHNlO1xyXG5cclxuXHRnZXQgZmlsdGVyc0NvbmZpZygpIHtcclxuXHRcdHJldHVybiB0aGlzLmNvbmZpZz8uZmlsdGVycztcclxuXHR9XHJcblxyXG5cdGdldCByZXBvcnRDb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5jb25maWc/LnJlcG9ydHM7XHJcblx0fVxyXG5cclxuXHRASW5wdXQoKSBqc29uRWRpdG9yRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHJlcG9ydHNLZXk6IHN0cmluZztcclxuXHRlZGl0b3JUeXBlID0gTkRGX0VESVRPUl9UWVBFLlJFUE9SVFM7XHJcblxyXG5cdEBJbnB1dCgpIG5hdmlnYXRlUm91dGU6IHN0cmluZ1tdID0gW107XHJcblxyXG5cdHByaXZhdGUgX2lzQ29uZmlnQ2hhbmdlZCA9IGZhbHNlO1xyXG5cclxuXHRwcml2YXRlIF9jb25maWc6IE5kZlJlcG9ydHNDb25maWc7XHJcblx0QElucHV0KCkgc2V0IGNvbmZpZyhjb25maWc6IE5kZlJlcG9ydHNDb25maWcpIHtcclxuXHRcdHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcclxuXHR9XHJcblxyXG5cdGdldCBjb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fY29uZmlnU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG5cdH1cclxuXHJcblx0QE91dHB1dCgpIG9uUXVlcnlDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdHRyYWNrQnlGbiA9IChfOiBudW1iZXIsIHJlcG9ydDogUmVwb3J0Q29uZmlnTW9kZWwpID0+IHtcclxuXHRcdHJldHVybiByZXBvcnQuaWQ7XHJcblx0fTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfZmlsdGVyc01hcHBlcjogRmlsdGVyc01hcHBlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9uZGZSZXBvcnRzU2VydmljZTogTmRmUmVwb3J0c1NlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9jaGFydEhlbHBlclNlcnZpY2U6IENoYXJ0TWFuYWdlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF90cmFuc2Zvcm1TZXJ2aWNlOiBSZXBvcnRUcmFuc2Zvcm1TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRcdHByaXZhdGUgX2ZpbHRlclF1ZXJ5U2VydmljZTogRmlsdGVyUXVlcnlTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfc3RhdGVTZXJ2aWNlOiBSZXBvcnRzU3RhdGVTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfY29uZmlndXJhdGlvblNlcnZpY2U6IFJlcG9ydENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXHJcblx0XHRwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZVxyXG5cdCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHRcdHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHR0aGlzLmRpcmVjdGlvbiA9IHJlcy5sYW5nID09PSAnYXInID8gJ3J0bCcgOiAnbHRyJztcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLnJlcG9ydHNEYXRhJCA9IHRoaXMuX3ByZXBhcmVSZXBvcnRzKCk7XHJcblx0XHR0aGlzLl9oYW5kbGVLZXlib2FyZEV2ZW50KCk7XHJcblx0fVxyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcblx0XHRjb25zdCByZXBvcnRzS2V5ID0gY2hhbmdlcy5yZXBvcnRzS2V5Py5jdXJyZW50VmFsdWU7XHJcblx0XHRjb25zdCBjb25maWcgPSBjaGFuZ2VzLmNvbmZpZz8uY3VycmVudFZhbHVlO1xyXG5cclxuXHRcdGlmIChyZXBvcnRzS2V5ICYmIGNvbmZpZykge1xyXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3Qgc2V0IGJvdGggcmVwb3J0c0tleSBhbmQgcmVwb3J0cyBDb25maWcgYXQgdGhlIHNhbWUgdGltZS4nKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoY29uZmlnKSB7XHJcblx0XHRcdHRoaXMuX2luaXRSZXBvcnRzQ29uZmlnKGNvbmZpZyk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHJlcG9ydHNLZXkpIHtcclxuXHRcdFx0dGhpcy5fbG9hZFJlcG9ydHNDb25maWcocmVwb3J0c0tleSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvbk5hdmlnYXRlKGRhdGE6IHsgcmVwb3J0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+OyBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0pIHtcclxuXHRcdGNvbnN0IHJlcG9ydCA9IGRhdGE/LnJlcG9ydDtcclxuXHRcdGNvbnN0IF9jdXN0b21Sb3V0ZSA9IHJlcG9ydC5uYXZpZ2F0ZT8ucm91dGUgfHwgW107XHJcblx0XHQvLyBsZXQgcm91dGUgPSBbUk1TX0JBU0UucmVwbGFjZSgvXFwvJC8sICcnKV07XHJcblx0XHRsZXQgcm91dGUgPSB0aGlzLm5hdmlnYXRlUm91dGU7XHJcblx0XHRpZiAoISFfY3VzdG9tUm91dGUubGVuZ3RoKSB7XHJcblx0XHRcdHJvdXRlID0gWy4uLnJvdXRlLCAuLi5fY3VzdG9tUm91dGVdO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHF1ZXJ5UGFyYW1zID0ge307XHJcblx0XHRpZiAocmVwb3J0Lm5hdmlnYXRlPy5pbmNsdWRlUGFyYW1zID8/IHRydWUpIHtcclxuXHRcdFx0aWYgKE9iamVjdC5rZXlzKHRoaXMuYWN0aXZlUXVlcnkgfHwge30pLmxlbmd0aCkge1xyXG5cdFx0XHRcdGNvbnN0IGRhdGEgPSB0aGlzLl9maWx0ZXJRdWVyeVNlcnZpY2UuZW5jb2RlUXVlcnkodGhpcy5hY3RpdmVRdWVyeSk7XHJcblx0XHRcdFx0aWYgKGRhdGEpIHtcclxuXHRcdFx0XHRcdHF1ZXJ5UGFyYW1zWydmaWx0ZXJzJ10gPSBkYXRhO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShyb3V0ZSwgeyBxdWVyeVBhcmFtczogcXVlcnlQYXJhbXMgfSkudGhlbigoKSA9PiB7fSk7XHJcblx0fVxyXG5cclxuXHR0b2dnbGVQYW5lbCgpIHtcclxuXHRcdHRoaXMuaXNQYW5lbE9wZW5lZCA9ICF0aGlzLmlzUGFuZWxPcGVuZWQ7XHJcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0dGhpcy5fY2hhcnRIZWxwZXJTZXJ2aWNlLnJlc2l6ZUNoYXJ0cygpO1xyXG5cdFx0fSwgNTAwKTtcclxuXHR9XHJcblxyXG5cdHByaW50QWxsKCkge1xyXG5cdFx0d2luZG93LnByaW50KCk7XHJcblx0fVxyXG5cclxuXHRmaWx0ZXJDaGFuZ2VkKGNyaXRlcmlhOiBSZWNvcmQ8YW55LCBhbnk+KSB7XHJcblx0XHRpZiAoXy5pc0VxdWFsKHRoaXMuYWN0aXZlUXVlcnksIGNyaXRlcmlhKSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLm9uUXVlcnlDaGFuZ2UuZW1pdChjcml0ZXJpYSk7XHJcblx0XHR0aGlzLl91cGRhdGVBY3RpdmVRdWVyeShjcml0ZXJpYSk7XHJcblx0XHRjb25zdCBfZGF0ZSA9IHRoaXMuX3ByZXBhcmVNYXBwZWRRdWVyeShjcml0ZXJpYSwgdGhpcy5maWx0ZXJzQ29uZmlnLm1vZGUpO1xyXG5cdFx0dGhpcy5fZmlsdGVyc0NyaXRlcmlhU3ViamVjdC5uZXh0KF9kYXRlKTtcclxuXHR9XHJcblxyXG5cdG9uQ29udGVudFNjcm9sbChpc1Njcm9sbGluZzogYm9vbGVhbik6IHZvaWQge1xyXG5cdFx0dGhpcy5fc3RhdGVTZXJ2aWNlLm9uQ29udGVudFNjcm9sbChpc1Njcm9sbGluZyk7XHJcblxyXG5cdFx0aWYgKGlzU2Nyb2xsaW5nICYmICF0aGlzLl9pc0hlaWdodFVwZGF0ZWQpIHtcclxuXHRcdFx0dGhpcy5faXNIZWlnaHRVcGRhdGVkID0gdHJ1ZTtcclxuXHRcdFx0dGhpcy5mbHVpZERpcmVjdGl2ZS5zY2hlZHVsZVNldEhlaWdodCgxMDApO1xyXG5cdFx0fSBlbHNlIGlmICghaXNTY3JvbGxpbmcgJiYgdGhpcy5faXNIZWlnaHRVcGRhdGVkKSB7XHJcblx0XHRcdHRoaXMuX2lzSGVpZ2h0VXBkYXRlZCA9IGZhbHNlO1xyXG5cdFx0XHR0aGlzLmZsdWlkRGlyZWN0aXZlLnNjaGVkdWxlU2V0SGVpZ2h0KDEwMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvcGVuUmVwb3J0RGV0YWlscyhjcml0ZXJpYU1vZGVsOiBDcml0ZXJpYU1vZGVsLCByZXBvcnRDb25maWc6IFJlcG9ydENvbmZpZ01vZGVsKSB7XHJcblx0XHRpZiAoIXJlcG9ydENvbmZpZz8uZGV0YWlscz8uZW5hYmxlZCkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3Qgc291cmNlID0gcmVwb3J0Q29uZmlnPy5kZXRhaWxzPy5zb3VyY2U7XHJcblx0XHRjb25zdCBjb25maWckID1cclxuXHRcdFx0c291cmNlICYmIHR5cGVvZiBzb3VyY2UgPT09ICdzdHJpbmcnXHJcblx0XHRcdFx0PyB0aGlzLl9jb25maWd1cmF0aW9uU2VydmljZS5nZXRUYWJsZUNvbmZpZ3VyYXRpb24oc291cmNlKS5waXBlKFxyXG5cdFx0XHRcdFx0XHRtYXAoKGNvbmZpZykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBfLm1lcmdlKGNvbmZpZywge1xyXG5cdFx0XHRcdFx0XHRcdFx0b3B0aW9uczoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRmaWx0ZXJzOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bW9kZTogJ3BheWxvYWQnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZpZWxkczogW10sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFuZWw6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dG9nZ2xlQnV0dG9uOiBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0KVxyXG5cdFx0XHRcdDogb2YobWFwVG9OZGZUYWJsZUNvbmZpZyh0aGlzLmNvbmZpZywgcmVwb3J0Q29uZmlnLmRldGFpbHMpKTtcclxuXHJcblx0XHRjb25maWckLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xyXG5cdFx0XHR0aGlzLl9yZXBvcnREZXRhaWxzU3ViamVjdC5uZXh0KHtcclxuXHRcdFx0XHRjb25maWcsXHJcblx0XHRcdFx0bGFiZWw6IHJlcG9ydENvbmZpZy5sYWJlbFxyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Y2xvc2VEZXRhaWxzUGFuZWwoKSB7XHJcblx0XHR0aGlzLl9yZXBvcnREZXRhaWxzU3ViamVjdC5uZXh0KG51bGwpO1xyXG5cdH1cclxuXHJcblx0b25EZXRhaWxzQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xyXG5cdFx0dGhpcy5pc0RldGFpbHNPcGVuZWQgPSBldmVudC50b1N0YXRlID09PSAnb3Blbic7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdHN1cGVyLm5nT25EZXN0cm95KCk7XHJcblx0XHR0aGlzLl9jaGFydEhlbHBlclNlcnZpY2UuZGVzdHJveUFsbCgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBwcmVwYXJlQ3JpdGVyaWFQYXlsb2FkKGNyaXRlcmlhOiBSZWNvcmQ8YW55LCBhbnk+LCBmaWVsZHM6IEZpZWxkQ29uZmlnTW9kZWxbXSA9IHRoaXMuZmlsdGVyc0NvbmZpZy5maWVsZHMpIHtcclxuXHRcdHJldHVybiB0aGlzLl9maWx0ZXJzTWFwcGVyLnByZXBhcmVQYXlsb2FkKGZpZWxkcywgY3JpdGVyaWEpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfc3RyaW5naWZ5VmFsdWVzKGNyaXRlcmlhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcblx0XHRyZXR1cm4gT2JqZWN0LmVudHJpZXMoY3JpdGVyaWEpLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcclxuXHRcdFx0YWNjW2tleV0gPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6IHZhbHVlO1xyXG5cdFx0XHRyZXR1cm4gYWNjO1xyXG5cdFx0fSwge30pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcHJlcGFyZVJlcG9ydHMoKSB7XHJcblx0XHR0aGlzLmlzTG9hZGluZ1Jlc3VsdCA9IHRydWU7XHJcblx0XHRyZXR1cm4gY29tYmluZUxhdGVzdChbXHJcblx0XHRcdHRoaXMuZmlsdGVyc1BhcmFtcyQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gXy5pc0VxdWFsKGEsIGIpKSksXHJcblx0XHRcdHRoaXMucmVwb3J0Q29uZmlnJFxyXG5cdFx0XSkucGlwZShcclxuXHRcdFx0dGFwKCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLmlzTG9hZGluZ1Jlc3VsdCA9IHRydWU7XHJcblx0XHRcdFx0dGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuXHRcdFx0fSksXHJcblx0XHRcdHN3aXRjaE1hcCgoW2NyaXRlcmlhLCBjb25maWddKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgcmVxdWVzdCA9IGNvbmZpZz8ucmVxdWVzdDtcclxuXHRcdFx0XHRpZiAoIXJlcXVlc3QpIHtcclxuXHRcdFx0XHRcdHJldHVybiBvZihudWxsKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGV0IF9wYXlsb2FkID0gY3JpdGVyaWE7XHJcblx0XHRcdFx0aWYgKCFjcml0ZXJpYSAmJiAhIWNvbmZpZy5hY3RpdmVRdWVyeSkge1xyXG5cdFx0XHRcdFx0X3BheWxvYWQgPSB0aGlzLnByZXBhcmVDcml0ZXJpYVBheWxvYWQoY29uZmlnLmFjdGl2ZVF1ZXJ5KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGNvbnN0IGRhdGEkID0gdGhpcy5fbmRmUmVwb3J0c1NlcnZpY2UuZ2V0RGF0YShyZXF1ZXN0LCBfcGF5bG9hZCkucGlwZShcclxuXHRcdFx0XHRcdHN3aXRjaE1hcCgocmVwb3J0czogQXBpUmVzcG9uc2VNb2RlbCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5fdHJhbnNmb3JtU2VydmljZS5wcmVwYXJlRGF0YShyZXBvcnRzLCBjb25maWcpO1xyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXNMb2FkaW5nUmVzdWx0ID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdHJldHVybiBmb3JrSm9pbihbb2YoY29uZmlnKSwgZGF0YSRdKTtcclxuXHRcdFx0fSksXHJcblx0XHRcdG1hcCgoW2NvbmZpZywgcmVzcG9uc2VdKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5fcHJlcGFyZUFnZ3JlZ2F0aW9ucyhyZXNwb25zZT8uYWdncmVnYXRpb25zKTtcclxuXHRcdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdFx0Y29uZmlnLFxyXG5cdFx0XHRcdFx0cmVzcG9uc2VcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2hhbmRsZUtleWJvYXJkRXZlbnQoKSB7XHJcblx0XHR0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG5cdFx0XHRmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oZG9jdW1lbnQsICdrZXlkb3duJylcclxuXHRcdFx0XHQucGlwZShcclxuXHRcdFx0XHRcdGZpbHRlcigoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IGV2ZW50LmtleSA9PT0gJ0VzY2FwZScgJiYgdGhpcy5zaG93RGV0YWlscyksXHJcblx0XHRcdFx0XHR0YWtlVW50aWwodGhpcy5kZXN0cm95JClcclxuXHRcdFx0XHQpXHJcblx0XHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmNsb3NlRGV0YWlsc1BhbmVsKCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVNYXBwZWRRdWVyeShjcml0ZXJpYTogUmVjb3JkPHN0cmluZywgYW55PiwgbW9kZTogJ3BheWxvYWQnIHwgJ3BhcmFtcycpIHtcclxuXHRcdHJldHVybiBtb2RlID09ICdwYXlsb2FkJ1xyXG5cdFx0XHQ/IHRoaXMucHJlcGFyZUNyaXRlcmlhUGF5bG9hZChjcml0ZXJpYSlcclxuXHRcdFx0OiB7XHJcblx0XHRcdFx0XHRwYXJhbXM6IHRoaXMuX3N0cmluZ2lmeVZhbHVlcyhjcml0ZXJpYSlcclxuXHRcdFx0XHR9O1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfdXBkYXRlQWN0aXZlUXVlcnkocXVlcnk6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcclxuXHRcdHRoaXMuYWN0aXZlUXVlcnkgPSBxdWVyeTtcclxuXHRcdHRoaXMuX2FjdGl2ZUZpbHRlcnNRdWVyeVN1Yi5uZXh0KHtcclxuXHRcdFx0cXVlcnksXHJcblx0XHRcdGVtaXRFdmVudDogZmFsc2VcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcHJlcGFyZUFnZ3JlZ2F0aW9ucyhhZ2dyZWdhdGlvbnM6IGFueSkge1xyXG5cdFx0aWYgKHRoaXMuX2lzQ29uZmlnQ2hhbmdlZCAmJiB0aGlzLmFnZ3JlZ2F0aW9ucykge1xyXG5cdFx0XHR0aGlzLmFnZ3JlZ2F0aW9ucyA9IG51bGw7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMuYWdncmVnYXRpb25zICYmIHRoaXMuY29uZmlnLmZpbHRlcnM/LnJlbG9hZFN0cmF0ZWd5ID09PSAnbmV2ZXInKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmFnZ3JlZ2F0aW9ucyA9IGFnZ3JlZ2F0aW9ucztcclxuXHRcdHRoaXMuX2lzQ29uZmlnQ2hhbmdlZCA9IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfY2hlY2tDb25maWdDaGFuZ2UodmFsdWU6IE5kZlJlcG9ydHNDb25maWcpIHtcclxuXHRcdGNvbnN0IHsgYWN0aXZlUXVlcnksIC4uLmNvbmZpZyB9ID0gdmFsdWU7XHJcblx0XHRjb25zdCB7IGFjdGl2ZVF1ZXJ5OiBhcSwgLi4uY3VycmVudENvbmZpZyB9ID0gdGhpcy5fY29uZmlnU3ViamVjdC5nZXRWYWx1ZSgpIHx8IHt9O1xyXG5cclxuXHRcdHRoaXMuX2lzQ29uZmlnQ2hhbmdlZCA9ICFfLmlzRXF1YWwoY3VycmVudENvbmZpZywgY29uZmlnKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2xvYWRSZXBvcnRzQ29uZmlnKGtleTogc3RyaW5nKSB7XHJcblx0XHR0aGlzLl9jb25maWd1cmF0aW9uU2VydmljZVxyXG5cdFx0XHQuZ2V0UmVwb3J0c0NvbmZpZ3VyYXRpb24oa2V5KVxyXG5cdFx0XHQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcblx0XHRcdC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xyXG5cdFx0XHRcdGlmIChjb25maWcpIHtcclxuXHRcdFx0XHRcdHRoaXMuX2luaXRSZXBvcnRzQ29uZmlnKGNvbmZpZyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2luaXRSZXBvcnRzQ29uZmlnKGNvbmZpZzogTmRmUmVwb3J0c0NvbmZpZykge1xyXG5cdFx0Y29uc3QgdmFsdWUgPSBfLmNsb25lRGVlcChjb25maWcpO1xyXG5cdFx0dGhpcy5fY2hlY2tDb25maWdDaGFuZ2UodmFsdWUpO1xyXG5cdFx0dGhpcy5fY29uZmlnU3ViamVjdC5uZXh0KHZhbHVlKTtcclxuXHRcdGlmICh2YWx1ZT8uYWN0aXZlUXVlcnkgJiYgISFPYmplY3Qua2V5cyh2YWx1ZT8uYWN0aXZlUXVlcnkpLmxlbmd0aCkge1xyXG5cdFx0XHR0aGlzLl91cGRhdGVBY3RpdmVRdWVyeSh2YWx1ZT8uYWN0aXZlUXVlcnkpO1xyXG5cdFx0XHR0aGlzLl9maWx0ZXJzQ3JpdGVyaWFTdWJqZWN0Lm5leHQodGhpcy5fcHJlcGFyZU1hcHBlZFF1ZXJ5KHZhbHVlPy5hY3RpdmVRdWVyeSwgdGhpcy5maWx0ZXJzQ29uZmlnLm1vZGUpKTtcclxuXHRcdH0gZWxzZSBpZiAoIXRoaXMuYWN0aXZlUXVlcnkgfHwgT2JqZWN0LmtleXModGhpcy5hY3RpdmVRdWVyeSkubGVuZ3RoID09IDApIHtcclxuXHRcdFx0dGhpcy5fcmVzZXRRdWVyeUFuZEZpbHRlcnNDcml0ZXJpYSgpO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5pc1BhbmVsT3BlbmVkID0gZmFsc2U7XHJcblx0XHR0aGlzLmlzRGV0YWlsc09wZW5lZCA9IGZhbHNlO1xyXG5cdFx0dGhpcy5fcmVwb3J0RGV0YWlsc1N1YmplY3QubmV4dChudWxsKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3Jlc2V0UXVlcnlBbmRGaWx0ZXJzQ3JpdGVyaWEoKSB7XHJcblx0XHR0aGlzLl91cGRhdGVBY3RpdmVRdWVyeSh7fSk7XHJcblx0XHR0aGlzLl9maWx0ZXJzQ3JpdGVyaWFTdWJqZWN0Lm5leHQobnVsbCk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXZcclxuXHQqbmdJZj1cInJlcG9ydHNEYXRhJCB8IGFzeW5jIGFzIHJlcG9ydHNcIlxyXG5cdGNsYXNzPVwibmRmLXJlcG9ydHNfX2NvbnRhaW5lclwiXHJcblx0W2NsYXNzLnBhbmVsLW9wZW5lZF09XCJpc1BhbmVsT3BlbmVkICYmIGZpbHRlcnNDb25maWdcIlxyXG5cdFtkaXJdPVwiZGlyZWN0aW9uXCJcclxuXHRuZGZGbHVpZEhlaWdodFxyXG4+XHJcblx0PGRpdiBjbGFzcz1cIm5kZi1yZXBvcnRzX19wYW5lbCBwcmludDpoaWRkZW5cIiAqbmdJZj1cIiEhZmlsdGVyc0NvbmZpZz8uZmllbGRzPy5sZW5ndGhcIj5cclxuXHRcdDxhcHAtZmlsdGVycy1wYW5lbFxyXG5cdFx0XHRbZmllbGRzXT1cImZpbHRlcnNDb25maWc/LmZpZWxkc1wiXHJcblx0XHRcdFthZ2dyZWdhdGlvbnNdPVwiYWdncmVnYXRpb25zXCJcclxuXHRcdFx0KGZpbHRlckNoYW5nZWQpPVwiZmlsdGVyQ2hhbmdlZCgkZXZlbnQpXCJcclxuXHRcdFx0W2FjdGl2ZVF1ZXJ5XT1cImFjdGl2ZUZpbHRlcnNRdWVyeSQgfCBhc3luY1wiXHJcblx0XHRcdGNsYXNzPVwibmRmLXJlcG9ydHNfX2ZpbHRlcnNcIlxyXG5cdFx0PjwvYXBwLWZpbHRlcnMtcGFuZWw+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJuZGYtcmVwb3J0c19fY29udGVudFwiIChzY3JvbGxlZCk9XCJvbkNvbnRlbnRTY3JvbGwoJGV2ZW50KVwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cIm5kZi1yZXBvcnRzX19oZWFkZXIgZmxleCBwdC00IHByaW50OmhpZGRlblwiPlxyXG5cdFx0XHQ8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvZ2dsZS1idXR0b25cIiAoY2xpY2spPVwidG9nZ2xlUGFuZWwoKVwiPlxyXG5cdFx0XHRcdDxtYXQtaWNvbj4gZmlsdGVyX2FsdDwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHQ8YXBwLWVkaXRvci1idXR0b25cclxuXHRcdFx0XHQqbmdJZj1cImpzb25FZGl0b3JFbmFibGVkICYmIHJlcG9ydHNLZXlcIlxyXG5cdFx0XHRcdFtrZXldPVwicmVwb3J0c0tleVwiXHJcblx0XHRcdFx0W3R5cGVdPVwiZWRpdG9yVHlwZVwiXHJcblx0XHRcdD48L2FwcC1lZGl0b3ItYnV0dG9uPlxyXG5cdFx0XHQ8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAqbmdJZj1cImNvbmZpZz8ub3B0aW9ucz8ucHJpbnRcIiBjbGFzcz1cInByaW50LWJ1dHRvblwiIChjbGljayk9XCJwcmludEFsbCgpXCI+XHJcblx0XHRcdFx0PG1hdC1pY29uPiBwcmludDwvbWF0LWljb24+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8bWF0LXNwaW5uZXIgKm5nSWY9XCJpc0xvYWRpbmdSZXN1bHRcIiBjbGFzcz1cIm10LTUgbXgtYXV0b1wiIFtkaWFtZXRlcl09XCI0OFwiPjwvbWF0LXNwaW5uZXI+XHJcblxyXG5cdFx0PGRpdiBjbGFzcz1cInJlcG9ydHMtZ3JpZFwiICpuZ0lmPVwiIWlzTG9hZGluZ1Jlc3VsdFwiPlxyXG5cdFx0XHQ8YXBwLW5kZi1yZXBvcnRcclxuXHRcdFx0XHQqbmdGb3I9XCJsZXQgY29uZmlnIG9mIHJlcG9ydENvbmZpZy5pdGVtczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuXHRcdFx0XHRbY29uZmlnXT1cImNvbmZpZ1wiXHJcblx0XHRcdFx0W2RhdGFdPVwicmVwb3J0cz8ucmVzcG9uc2VcIlxyXG5cdFx0XHRcdFtjcml0ZXJpYV09XCJmaWx0ZXJzUGFyYW1zJCB8IGFzeW5jXCJcclxuXHRcdFx0XHRbZGlyZWN0aW9uXT1cImRpcmVjdGlvblwiXHJcblx0XHRcdFx0W2F0dHIuZGF0YS13aWR0aF09XCJjb25maWc/LmxheW91dD8ud2lkdGggfHwgNFwiXHJcblx0XHRcdFx0W2F0dHIuZGF0YS1oZWlnaHRdPVwiY29uZmlnPy5sYXlvdXQ/LmhlaWdodCB8fCAnYXV0bydcIlxyXG5cdFx0XHRcdFthdHRyLmRhdGEtc3RhcnQtY29sdW1uXT1cImNvbmZpZz8ubGF5b3V0Py5jb2x1bW5Qb3NpdGlvbiB8fCAnYXV0bydcIlxyXG5cdFx0XHRcdFthdHRyLmRhdGEtc3RhcnQtcm93XT1cImNvbmZpZz8ubGF5b3V0Py5yb3dQb3NpdGlvbiB8fCAnYXV0bydcIlxyXG5cdFx0XHRcdFtjbGFzcy53aWRlXT1cImNvbmZpZz8ubGF5b3V0Py53aWR0aCA+PSA2XCJcclxuXHRcdFx0XHRjbGFzcz1cInJlcG9ydHMtZ3JpZF9faXRlbSB7eyBjb25maWc/LmxheW91dD8uc3R5bGVDbGFzcyB9fSBcIlxyXG5cdFx0XHRcdChvbk5hdmlnYXRlKT1cIm9uTmF2aWdhdGUoJGV2ZW50KVwiXHJcblx0XHRcdFx0KG9uT3Blbik9XCJvcGVuUmVwb3J0RGV0YWlscygkZXZlbnQsIGNvbmZpZylcIlxyXG5cdFx0XHQ+PC9hcHAtbmRmLXJlcG9ydD5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cdDxkaXZcclxuXHRcdGNsYXNzPVwibmRmLXJlcG9ydHNfX2RldGFpbHMgcHJpbnQ6aGlkZGVuXCJcclxuXHRcdFtjbGFzcy5vcGVuZWRdPVwic2hvd0RldGFpbHNcIlxyXG5cdFx0W0BzbGlkZUluT3V0XT1cInNob3dEZXRhaWxzID8gJ29wZW4nIDogJ2Nsb3NlZCdcIlxyXG5cdFx0KEBzbGlkZUluT3V0LmRvbmUpPVwib25EZXRhaWxzQW5pbWF0aW9uRW5kKCRldmVudClcIlxyXG5cdD5cclxuXHRcdDxhcHAtbmRmLXRhYmxlXHJcblx0XHRcdCpuZ0lmPVwicmVwb3J0RGV0YWlscyQgfCBhc3luYyBhcyByZXBvcnRcIlxyXG5cdFx0XHRbY29uZmlnXT1cInJlcG9ydC5jb25maWdcIlxyXG5cdFx0XHRbYWN0aXZlUXVlcnldPVwiYWN0aXZlRmlsdGVyc1F1ZXJ5JCB8IGFzeW5jXCJcclxuXHRcdFx0W2N1c3RvbUNyaXRlcmlhXT1cImZpbHRlcnNQYXJhbXMkIHwgYXN5bmNcIlxyXG5cdFx0PlxyXG5cdFx0XHQ8bmctdGVtcGxhdGUgc2VhcmNoVGFibGVUZW1wbGF0ZT5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibmRmLXJlcG9ydHNfX2RldGFpbHNfX2hlYWRlciBmbGV4IGdhcC0yXCI+XHJcblx0XHRcdFx0XHQ8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInRvZ2dsZS1idXR0b25cIiAoY2xpY2spPVwidG9nZ2xlUGFuZWwoKVwiPlxyXG5cdFx0XHRcdFx0XHQ8bWF0LWljb24+IGZpbHRlcl9hbHQ8L21hdC1pY29uPlxyXG5cdFx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdFx0XHQ8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiIChjbGljayk9XCJjbG9zZURldGFpbHNQYW5lbCgpXCI+XHJcblx0XHRcdFx0XHRcdDxtYXQtaWNvbj4gY2xvc2U8L21hdC1pY29uPlxyXG5cdFx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PGgzPlxyXG5cdFx0XHRcdFx0e3sgcmVwb3J0LmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcblx0XHRcdFx0PC9oMz5cclxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdDwvYXBwLW5kZi10YWJsZT5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
375
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXJlcG9ydHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbnRhaW5lcnMvbmRmLXJlcG9ydHMvbmRmLXJlcG9ydHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL2NvbnRhaW5lcnMvbmRmLXJlcG9ydHMvbmRmLXJlcG9ydHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWtCLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpHLE9BQU8sRUFFTixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFLTCxNQUFNLEVBRU4sU0FBUyxFQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBbUJ4RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztB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QzNDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUMzQyxJQUFJLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLGFBQWE7d0JBQ3BCLE9BQU8sRUFBRSxXQUFXO3FCQUNwQjtvQkFDRCxVQUFVLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzVCO3VhQUVpQyxjQUFjO3NCQUE5QyxTQUFTO3VCQUFDLG9CQUFvQjtnQkFtRHRCLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS08sTUFBTTtzQkFBbEIsS0FBSztnQkFRSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgQW5pbWF0aW9uRXZlbnQsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7XHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0Q29tcG9uZW50LFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRJbnB1dCxcclxuXHROZ1pvbmUsXHJcblx0T25DaGFuZ2VzLFxyXG5cdE9uRGVzdHJveSxcclxuXHRPbkluaXQsXHJcblx0T3V0cHV0LFxyXG5cdFNpbXBsZUNoYW5nZXMsXHJcblx0Vmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgRGVzdHJveVN1YmplY3QsIEZsdWlkSGVpZ2h0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmb3JrSm9pbiwgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBmaW5hbGl6ZSwgbWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQXBpUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgTmRmVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi90YWJsZXMnO1xyXG5pbXBvcnQge1xyXG5cdEFnZ3JlZ2F0aW9uUmVzcG9uc2UsXHJcblx0RmllbGRDb25maWdNb2RlbCxcclxuXHRGaWx0ZXJRdWVyeVNlcnZpY2UsXHJcblx0RmlsdGVyc01hcHBlclNlcnZpY2UsXHJcblx0Rm9ybVF1ZXJ5TW9kZWxcclxufSBmcm9tICcuLi8uLi8uLi8uLi9uZGYtZmlsdGVycyc7XHJcbmltcG9ydCB7IENyaXRlcmlhTW9kZWwsIE5kZlJlcG9ydHNDb25maWcsIFJlcG9ydENvbmZpZ01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHtcclxuXHRDaGFydE1hbmFnZXJTZXJ2aWNlLFxyXG5cdE5kZlJlcG9ydHNTZXJ2aWNlLFxyXG5cdFJlcG9ydENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG5cdFJlcG9ydHNTdGF0ZVNlcnZpY2UsXHJcblx0UmVwb3J0VHJhbnNmb3JtU2VydmljZVxyXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgbWFwVG9OZGZUYWJsZUNvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcyc7XHJcbmltcG9ydCB7IE5ERl9FRElUT1JfVFlQRSB9IGZyb20gJy4uLy4uLy4uLy4uL25kZi1jb25maWctZWRpdG9yL2NvbnN0YW50cyc7XHJcblxyXG5leHBvcnQgY29uc3Qgc2xpZGVBbmltYXRpb24gPSB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xyXG5cdHN0YXRlKCdjbG9zZWQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgodmFyKC0tbmRmLXJlcG9ydHMtZGV0YWlscy10cmFuc2xhdGVYLCAtMTAwJSkpJyB9KSksXHJcblx0c3RhdGUoJ29wZW4nLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknIH0pKSxcclxuXHR0cmFuc2l0aW9uKCdjbG9zZWQgPD0+IG9wZW4nLCBhbmltYXRlKCcyMDBtcyBlYXNlLW91dCcpKVxyXG5dKTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLW5kZi1yZXBvcnRzJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vbmRmLXJlcG9ydHMuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL25kZi1yZXBvcnRzLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0aG9zdDoge1xyXG5cdFx0Y2xhc3M6ICduZGYtcmVwb3J0cycsXHJcblx0XHQnW2Rpcl0nOiAnZGlyZWN0aW9uJ1xyXG5cdH0sXHJcblx0YW5pbWF0aW9uczogW3NsaWRlQW5pbWF0aW9uXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmRmUmVwb3J0c0NvbXBvbmVudCBleHRlbmRzIERlc3Ryb3lTdWJqZWN0IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcblx0QFZpZXdDaGlsZChGbHVpZEhlaWdodERpcmVjdGl2ZSkgZmx1aWREaXJlY3RpdmU6IEZsdWlkSGVpZ2h0RGlyZWN0aXZlO1xyXG5cdF9pc0hlaWdodFVwZGF0ZWQgPSBmYWxzZTtcclxuXHRkaXJlY3Rpb246IERpcmVjdGlvbiA9ICdydGwnO1xyXG5cdGlzUGFuZWxPcGVuZWQgPSBmYWxzZTtcclxuXHRpc0xvYWRpbmdSZXN1bHQgPSBmYWxzZTtcclxuXHRyZXBvcnRzRGF0YSQ6IE9ic2VydmFibGU8YW55PjtcclxuXHRpc0V4cGFuZGVkID0gZmFsc2U7XHJcblxyXG5cdC8vIGFjdGl2ZVF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVF1ZXJ5U3ViID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7XHJcblx0XHRwcmV2aW91czogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHRcdGN1cnJlbnQ6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0fT4obnVsbCk7XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZUZpbHRlcnNRdWVyeVN1YiA9IG5ldyBSZXBsYXlTdWJqZWN0PEZvcm1RdWVyeU1vZGVsPigpO1xyXG5cdHJlYWRvbmx5IGFjdGl2ZUZpbHRlcnNRdWVyeSQgPSB0aGlzLl9hY3RpdmVGaWx0ZXJzUXVlcnlTdWIuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5kZlJlcG9ydHNDb25maWc+KG51bGwpO1xyXG5cdHJlYWRvbmx5IHJlcG9ydENvbmZpZyQgPSB0aGlzLl9jb25maWdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJzQ3JpdGVyaWFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDcml0ZXJpYU1vZGVsPihudWxsKTtcclxuXHRyZWFkb25seSBmaWx0ZXJzUGFyYW1zJCA9IHRoaXMuX2ZpbHRlcnNDcml0ZXJpYVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHByaXZhdGUgX3JlcG9ydERldGFpbHNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7XHJcblx0XHRsYWJlbD86IHN0cmluZztcclxuXHRcdGNvbmZpZzogTmRmVGFibGVDb25maWc7XHJcblx0fT4obnVsbCk7XHJcblxyXG5cdGdldCBhY3RpdmVRdWVyeSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9hY3RpdmVRdWVyeVN1Yi5nZXRWYWx1ZSgpPy5jdXJyZW50O1xyXG5cdH1cclxuXHJcblx0cmVwb3J0RGV0YWlscyQgPSB0aGlzLl9yZXBvcnREZXRhaWxzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcblx0YWdncmVnYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBBZ2dyZWdhdGlvblJlc3BvbnNlPjtcclxuXHJcblx0Z2V0IHNob3dEZXRhaWxzKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuICEhdGhpcy5fcmVwb3J0RGV0YWlsc1N1YmplY3QuZ2V0VmFsdWUoKTtcclxuXHR9XHJcblxyXG5cdGlzRGV0YWlsc09wZW5lZCA9IGZhbHNlO1xyXG5cclxuXHRnZXQgZmlsdGVyc0NvbmZpZygpIHtcclxuXHRcdHJldHVybiB0aGlzLmNvbmZpZz8uZmlsdGVycztcclxuXHR9XHJcblxyXG5cdGdldCByZXBvcnRDb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5jb25maWc/LnJlcG9ydHM7XHJcblx0fVxyXG5cclxuXHRASW5wdXQoKSBqc29uRWRpdG9yRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHJlcG9ydHNLZXk6IHN0cmluZztcclxuXHRlZGl0b3JUeXBlID0gTkRGX0VESVRPUl9UWVBFLlJFUE9SVFM7XHJcblxyXG5cdEBJbnB1dCgpIG5hdmlnYXRlUm91dGU6IHN0cmluZ1tdID0gW107XHJcblxyXG5cdHByaXZhdGUgX2lzQ29uZmlnQ2hhbmdlZCA9IGZhbHNlO1xyXG5cclxuXHRwcml2YXRlIF9jb25maWc6IE5kZlJlcG9ydHNDb25maWc7XHJcblx0QElucHV0KCkgc2V0IGNvbmZpZyhjb25maWc6IE5kZlJlcG9ydHNDb25maWcpIHtcclxuXHRcdHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcclxuXHR9XHJcblxyXG5cdGdldCBjb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fY29uZmlnU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG5cdH1cclxuXHJcblx0QE91dHB1dCgpIG9uUXVlcnlDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdHRyYWNrQnlGbiA9IChfOiBudW1iZXIsIHJlcG9ydDogUmVwb3J0Q29uZmlnTW9kZWwpID0+IHtcclxuXHRcdHJldHVybiByZXBvcnQuaWQ7XHJcblx0fTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfZmlsdGVyc01hcHBlcjogRmlsdGVyc01hcHBlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9uZGZSZXBvcnRzU2VydmljZTogTmRmUmVwb3J0c1NlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9jaGFydEhlbHBlclNlcnZpY2U6IENoYXJ0TWFuYWdlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF90cmFuc2Zvcm1TZXJ2aWNlOiBSZXBvcnRUcmFuc2Zvcm1TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRcdHByaXZhdGUgX2ZpbHRlclF1ZXJ5U2VydmljZTogRmlsdGVyUXVlcnlTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfc3RhdGVTZXJ2aWNlOiBSZXBvcnRzU3RhdGVTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfY29uZmlndXJhdGlvblNlcnZpY2U6IFJlcG9ydENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXHJcblx0XHRwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZVxyXG5cdCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHRcdHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHR0aGlzLmRpcmVjdGlvbiA9IHJlcy5sYW5nID09PSAnYXInID8gJ3J0bCcgOiAnbHRyJztcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLnJlcG9ydHNEYXRhJCA9IHRoaXMuX3ByZXBhcmVSZXBvcnRzKCk7XHJcblx0XHR0aGlzLl9oYW5kbGVLZXlib2FyZEV2ZW50KCk7XHJcblx0fVxyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcblx0XHRjb25zdCByZXBvcnRzS2V5ID0gY2hhbmdlcy5yZXBvcnRzS2V5Py5jdXJyZW50VmFsdWU7XHJcblx0XHRjb25zdCBjb25maWcgPSBjaGFuZ2VzLmNvbmZpZz8uY3VycmVudFZhbHVlO1xyXG5cclxuXHRcdGlmIChyZXBvcnRzS2V5ICYmIGNvbmZpZykge1xyXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3Qgc2V0IGJvdGggcmVwb3J0c0tleSBhbmQgcmVwb3J0cyBDb25maWcgYXQgdGhlIHNhbWUgdGltZS4nKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoY29uZmlnKSB7XHJcblx0XHRcdHRoaXMuX2luaXRSZXBvcnRzQ29uZmlnKGNvbmZpZyk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHJlcG9ydHNLZXkpIHtcclxuXHRcdFx0dGhpcy5fbG9hZFJlcG9ydHNDb25maWcocmVwb3J0c0tleSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvbk5hdmlnYXRlKGRhdGE6IHsgcmVwb3J0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+OyBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0pIHtcclxuXHRcdGNvbnN0IHJlcG9ydCA9IGRhdGE/LnJlcG9ydDtcclxuXHRcdGNvbnN0IF9jdXN0b21Sb3V0ZSA9IHJlcG9ydC5uYXZpZ2F0ZT8ucm91dGUgfHwgW107XHJcblx0XHQvLyBsZXQgcm91dGUgPSBbUk1TX0JBU0UucmVwbGFjZSgvXFwvJC8sICcnKV07XHJcblx0XHRsZXQgcm91dGUgPSB0aGlzLm5hdmlnYXRlUm91dGU7XHJcblx0XHRpZiAoISFfY3VzdG9tUm91dGUubGVuZ3RoKSB7XHJcblx0XHRcdHJvdXRlID0gWy4uLnJvdXRlLCAuLi5fY3VzdG9tUm91dGVdO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHF1ZXJ5UGFyYW1zID0ge307XHJcblx0XHRpZiAocmVwb3J0Lm5hdmlnYXRlPy5pbmNsdWRlUGFyYW1zID8/IHRydWUpIHtcclxuXHRcdFx0aWYgKE9iamVjdC5rZXlzKHRoaXMuYWN0aXZlUXVlcnkgfHwge30pLmxlbmd0aCkge1xyXG5cdFx0XHRcdGNvbnN0IGRhdGEgPSB0aGlzLl9maWx0ZXJRdWVyeVNlcnZpY2UuZW5jb2RlUXVlcnkodGhpcy5hY3RpdmVRdWVyeSk7XHJcblx0XHRcdFx0aWYgKGRhdGEpIHtcclxuXHRcdFx0XHRcdHF1ZXJ5UGFyYW1zWydmaWx0ZXJzJ10gPSBkYXRhO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShyb3V0ZSwgeyBxdWVyeVBhcmFtczogcXVlcnlQYXJhbXMgfSkudGhlbigoKSA9PiB7fSk7XHJcblx0fVxyXG5cclxuXHR0b2dnbGVQYW5lbCgpIHtcclxuXHRcdHRoaXMuaXNQYW5lbE9wZW5lZCA9ICF0aGlzLmlzUGFuZWxPcGVuZWQ7XHJcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0dGhpcy5fY2hhcnRIZWxwZXJTZXJ2aWNlLnJlc2l6ZUNoYXJ0cygpO1xyXG5cdFx0fSwgNTAwKTtcclxuXHR9XHJcblxyXG5cdHByaW50QWxsKCkge1xyXG5cdFx0d2luZG93LnByaW50KCk7XHJcblx0fVxyXG5cclxuXHRmaWx0ZXJDaGFuZ2VkKGNyaXRlcmlhOiBSZWNvcmQ8YW55LCBhbnk+KSB7XHJcblx0XHRpZiAoXy5pc0VxdWFsKHRoaXMuYWN0aXZlUXVlcnksIGNyaXRlcmlhKSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLm9uUXVlcnlDaGFuZ2UuZW1pdChjcml0ZXJpYSk7XHJcblx0XHR0aGlzLl91cGRhdGVBY3RpdmVRdWVyeShjcml0ZXJpYSk7XHJcblx0XHRjb25zdCBfZGF0ZSA9IHRoaXMuX3ByZXBhcmVNYXBwZWRRdWVyeShjcml0ZXJpYSwgdGhpcy5maWx0ZXJzQ29uZmlnLm1vZGUpO1xyXG5cdFx0dGhpcy5fZmlsdGVyc0NyaXRlcmlhU3ViamVjdC5uZXh0KF9kYXRlKTtcclxuXHR9XHJcblxyXG5cdG9uQ29udGVudFNjcm9sbChpc1Njcm9sbGluZzogYm9vbGVhbik6IHZvaWQge1xyXG5cdFx0dGhpcy5fc3RhdGVTZXJ2aWNlLm9uQ29udGVudFNjcm9sbChpc1Njcm9sbGluZyk7XHJcblxyXG5cdFx0aWYgKGlzU2Nyb2xsaW5nICYmICF0aGlzLl9pc0hlaWdodFVwZGF0ZWQpIHtcclxuXHRcdFx0dGhpcy5faXNIZWlnaHRVcGRhdGVkID0gdHJ1ZTtcclxuXHRcdFx0dGhpcy5mbHVpZERpcmVjdGl2ZS5zY2hlZHVsZVNldEhlaWdodCgxMDApO1xyXG5cdFx0fSBlbHNlIGlmICghaXNTY3JvbGxpbmcgJiYgdGhpcy5faXNIZWlnaHRVcGRhdGVkKSB7XHJcblx0XHRcdHRoaXMuX2lzSGVpZ2h0VXBkYXRlZCA9IGZhbHNlO1xyXG5cdFx0XHR0aGlzLmZsdWlkRGlyZWN0aXZlLnNjaGVkdWxlU2V0SGVpZ2h0KDEwMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvcGVuUmVwb3J0RGV0YWlscyhjcml0ZXJpYU1vZGVsOiBDcml0ZXJpYU1vZGVsLCByZXBvcnRDb25maWc6IFJlcG9ydENvbmZpZ01vZGVsKSB7XHJcblx0XHRpZiAoIXJlcG9ydENvbmZpZz8uZGV0YWlscz8uZW5hYmxlZCkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3Qgc291cmNlID0gcmVwb3J0Q29uZmlnPy5kZXRhaWxzPy5zb3VyY2U7XHJcblx0XHRjb25zdCBjb25maWckID1cclxuXHRcdFx0c291cmNlICYmIHR5cGVvZiBzb3VyY2UgPT09ICdzdHJpbmcnXHJcblx0XHRcdFx0PyB0aGlzLl9jb25maWd1cmF0aW9uU2VydmljZS5nZXRUYWJsZUNvbmZpZ3VyYXRpb24oc291cmNlKS5waXBlKFxyXG5cdFx0XHRcdFx0XHRtYXAoKGNvbmZpZykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBfLm1lcmdlKGNvbmZpZywge1xyXG5cdFx0XHRcdFx0XHRcdFx0b3B0aW9uczoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRmaWx0ZXJzOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bW9kZTogJ3BheWxvYWQnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZpZWxkczogW10sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFuZWw6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dG9nZ2xlQnV0dG9uOiBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0KVxyXG5cdFx0XHRcdDogb2YobWFwVG9OZGZUYWJsZUNvbmZpZyh0aGlzLmNvbmZpZywgcmVwb3J0Q29uZmlnLmRldGFpbHMpKTtcclxuXHJcblx0XHRjb25maWckLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xyXG5cdFx0XHR0aGlzLl9yZXBvcnREZXRhaWxzU3ViamVjdC5uZXh0KHtcclxuXHRcdFx0XHRjb25maWcsXHJcblx0XHRcdFx0bGFiZWw6IHJlcG9ydENvbmZpZy5sYWJlbFxyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Y2xvc2VEZXRhaWxzUGFuZWwoKSB7XHJcblx0XHR0aGlzLl9yZXBvcnREZXRhaWxzU3ViamVjdC5uZXh0KG51bGwpO1xyXG5cdH1cclxuXHJcblx0b25EZXRhaWxzQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xyXG5cdFx0dGhpcy5pc0RldGFpbHNPcGVuZWQgPSBldmVudC50b1N0YXRlID09PSAnb3Blbic7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdHN1cGVyLm5nT25EZXN0cm95KCk7XHJcblx0XHR0aGlzLl9jaGFydEhlbHBlclNlcnZpY2UuZGVzdHJveUFsbCgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBwcmVwYXJlQ3JpdGVyaWFQYXlsb2FkKGNyaXRlcmlhOiBSZWNvcmQ8YW55LCBhbnk+LCBmaWVsZHM6IEZpZWxkQ29uZmlnTW9kZWxbXSA9IHRoaXMuZmlsdGVyc0NvbmZpZy5maWVsZHMpIHtcclxuXHRcdHJldHVybiB0aGlzLl9maWx0ZXJzTWFwcGVyLnByZXBhcmVQYXlsb2FkKGZpZWxkcywgY3JpdGVyaWEpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfc3RyaW5naWZ5VmFsdWVzKGNyaXRlcmlhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcblx0XHRyZXR1cm4gT2JqZWN0LmVudHJpZXMoY3JpdGVyaWEpLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcclxuXHRcdFx0YWNjW2tleV0gPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6IHZhbHVlO1xyXG5cdFx0XHRyZXR1cm4gYWNjO1xyXG5cdFx0fSwge30pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcHJlcGFyZVJlcG9ydHMoKSB7XHJcblx0XHR0aGlzLmlzTG9hZGluZ1Jlc3VsdCA9IHRydWU7XHJcblx0XHRyZXR1cm4gY29tYmluZUxhdGVzdChbXHJcblx0XHRcdHRoaXMuZmlsdGVyc1BhcmFtcyQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gXy5pc0VxdWFsKGEsIGIpKSksXHJcblx0XHRcdHRoaXMucmVwb3J0Q29uZmlnJFxyXG5cdFx0XSkucGlwZShcclxuXHRcdFx0dGFwKCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLmlzTG9hZGluZ1Jlc3VsdCA9IHRydWU7XHJcblx0XHRcdFx0dGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuXHRcdFx0fSksXHJcblx0XHRcdHN3aXRjaE1hcCgoW2NyaXRlcmlhLCBjb25maWddKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgcmVxdWVzdCA9IGNvbmZpZz8ucmVxdWVzdDtcclxuXHRcdFx0XHRpZiAoIXJlcXVlc3QpIHtcclxuXHRcdFx0XHRcdHJldHVybiBvZihudWxsKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGV0IF9wYXlsb2FkID0gY3JpdGVyaWE7XHJcblx0XHRcdFx0aWYgKCFjcml0ZXJpYSAmJiAhIWNvbmZpZy5hY3RpdmVRdWVyeSkge1xyXG5cdFx0XHRcdFx0X3BheWxvYWQgPSB0aGlzLnByZXBhcmVDcml0ZXJpYVBheWxvYWQoY29uZmlnLmFjdGl2ZVF1ZXJ5KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGNvbnN0IGRhdGEkID0gdGhpcy5fbmRmUmVwb3J0c1NlcnZpY2UuZ2V0RGF0YShyZXF1ZXN0LCBfcGF5bG9hZCkucGlwZShcclxuXHRcdFx0XHRcdHN3aXRjaE1hcCgocmVwb3J0czogQXBpUmVzcG9uc2VNb2RlbCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5fdHJhbnNmb3JtU2VydmljZS5wcmVwYXJlRGF0YShyZXBvcnRzLCBjb25maWcpO1xyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXNMb2FkaW5nUmVzdWx0ID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdHJldHVybiBmb3JrSm9pbihbb2YoY29uZmlnKSwgZGF0YSRdKTtcclxuXHRcdFx0fSksXHJcblx0XHRcdG1hcCgoW2NvbmZpZywgcmVzcG9uc2VdKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5fcHJlcGFyZUFnZ3JlZ2F0aW9ucyhyZXNwb25zZT8uYWdncmVnYXRpb25zKTtcclxuXHRcdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdFx0Y29uZmlnLFxyXG5cdFx0XHRcdFx0cmVzcG9uc2VcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2hhbmRsZUtleWJvYXJkRXZlbnQoKSB7XHJcblx0XHR0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG5cdFx0XHRmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oZG9jdW1lbnQsICdrZXlkb3duJylcclxuXHRcdFx0XHQucGlwZShcclxuXHRcdFx0XHRcdGZpbHRlcigoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IGV2ZW50LmtleSA9PT0gJ0VzY2FwZScgJiYgdGhpcy5zaG93RGV0YWlscyksXHJcblx0XHRcdFx0XHR0YWtlVW50aWwodGhpcy5kZXN0cm95JClcclxuXHRcdFx0XHQpXHJcblx0XHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmNsb3NlRGV0YWlsc1BhbmVsKCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVNYXBwZWRRdWVyeShjcml0ZXJpYTogUmVjb3JkPHN0cmluZywgYW55PiwgbW9kZTogJ3BheWxvYWQnIHwgJ3BhcmFtcycpIHtcclxuXHRcdHJldHVybiBtb2RlID09ICdwYXlsb2FkJ1xyXG5cdFx0XHQ/IHRoaXMucHJlcGFyZUNyaXRlcmlhUGF5bG9hZChjcml0ZXJpYSlcclxuXHRcdFx0OiB7XHJcblx0XHRcdFx0XHRwYXJhbXM6IHRoaXMuX3N0cmluZ2lmeVZhbHVlcyhjcml0ZXJpYSlcclxuXHRcdFx0XHR9O1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfdXBkYXRlQWN0aXZlUXVlcnkocXVlcnk6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcclxuXHRcdHRoaXMuX2FjdGl2ZVF1ZXJ5U3ViLm5leHQoe1xyXG5cdFx0XHRwcmV2aW91czogdGhpcy5hY3RpdmVRdWVyeSxcclxuXHRcdFx0Y3VycmVudDogcXVlcnlcclxuXHRcdH0pO1xyXG5cdFx0dGhpcy5fYWN0aXZlRmlsdGVyc1F1ZXJ5U3ViLm5leHQoe1xyXG5cdFx0XHRxdWVyeSxcclxuXHRcdFx0ZW1pdEV2ZW50OiBmYWxzZVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9wcmVwYXJlQWdncmVnYXRpb25zKGFnZ3JlZ2F0aW9uczogYW55KSB7XHJcblx0XHRpZiAodGhpcy5faXNDb25maWdDaGFuZ2VkICYmIHRoaXMuYWdncmVnYXRpb25zKSB7XHJcblx0XHRcdHRoaXMuYWdncmVnYXRpb25zID0gbnVsbDtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCByZWxvYWRTdHJhdGVneSA9IHRoaXMuY29uZmlnPy5maWx0ZXJzPy5yZWxvYWQ/LnN0cmF0ZWd5O1xyXG5cclxuXHRcdGlmICh0aGlzLmFnZ3JlZ2F0aW9ucyAmJiByZWxvYWRTdHJhdGVneSA9PT0gJ25ldmVyJykge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMuYWdncmVnYXRpb25zICYmIHJlbG9hZFN0cmF0ZWd5ID09PSAnb25DaGFuZ2UnKSB7XHJcblx0XHRcdGlmICh0aGlzLl9zaG91bGRSZWxvYWRPbkNoYW5nZSgpKSB7XHJcblx0XHRcdFx0dGhpcy5fdXBkYXRlQWdncmVnYXRpb25zKGFnZ3JlZ2F0aW9ucyk7XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMuX3VwZGF0ZUFnZ3JlZ2F0aW9ucyhhZ2dyZWdhdGlvbnMpO1xyXG5cdFx0dGhpcy5faXNDb25maWdDaGFuZ2VkID0gZmFsc2U7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9zaG91bGRSZWxvYWRPbkNoYW5nZSgpIHtcclxuXHRcdGlmICh0aGlzLmNvbmZpZz8uZmlsdGVycz8ucmVsb2FkPy5zdHJhdGVneSAhPT0gJ29uQ2hhbmdlJykge1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgdHJpZ2dlckZpZWxkcyA9IHRoaXMuY29uZmlnPy5maWx0ZXJzPy5yZWxvYWQ/LnRyaWdnZXJGaWVsZHM7XHJcblxyXG5cdFx0aWYgKCFBcnJheS5pc0FycmF5KHRyaWdnZXJGaWVsZHMpKSB7XHJcblx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCB2YWxpZEZpZWxkcyA9IHRyaWdnZXJGaWVsZHMuZmlsdGVyKEJvb2xlYW4pO1xyXG5cdFx0aWYgKCF2YWxpZEZpZWxkcy5sZW5ndGgpIHtcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGFjdGl2YXRlZFF1ZXJ5ID0gdGhpcy5fYWN0aXZlUXVlcnlTdWIuZ2V0VmFsdWUoKTtcclxuXHRcdGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGFjdGl2YXRlZFF1ZXJ5Py5jdXJyZW50IHx8IHt9O1xyXG5cdFx0Y29uc3QgcHJldmlvdXNWYWx1ZSA9IGFjdGl2YXRlZFF1ZXJ5Py5wcmV2aW91cyB8fCB7fTtcclxuXHJcblx0XHRjb25zdCBjaGFuZ2VkS2V5cyA9IHRoaXMuX2dldENoYW5nZWRLZXlzKHByZXZpb3VzVmFsdWUsIGN1cnJlbnRWYWx1ZSk7XHJcblxyXG5cdFx0cmV0dXJuIHZhbGlkRmllbGRzLnNvbWUoKGZpZWxkKSA9PiBjaGFuZ2VkS2V5cy5pbmNsdWRlcyhmaWVsZCkpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfZ2V0Q2hhbmdlZEtleXMocHJldmlvdXM6IFJlY29yZDxzdHJpbmcsIGFueT4sIGN1cnJlbnQ6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBzdHJpbmdbXSB7XHJcblx0XHRjb25zdCBhbGxLZXlzID0gXy51bmlvbihfLmtleXMocHJldmlvdXMpLCBfLmtleXMoY3VycmVudCkpO1xyXG5cdFx0cmV0dXJuIGFsbEtleXMuZmlsdGVyKChrZXkpID0+ICFfLmlzRXF1YWwocHJldmlvdXNba2V5XSwgY3VycmVudFtrZXldKSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF91cGRhdGVBZ2dyZWdhdGlvbnMoYWdncmVnYXRpb25zOiBhbnkpOiB2b2lkIHtcclxuXHRcdHRoaXMuYWdncmVnYXRpb25zID0gXy5jbG9uZURlZXAoYWdncmVnYXRpb25zKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX2NoZWNrQ29uZmlnQ2hhbmdlKHZhbHVlOiBOZGZSZXBvcnRzQ29uZmlnKSB7XHJcblx0XHRjb25zdCB7IGFjdGl2ZVF1ZXJ5LCAuLi5jb25maWcgfSA9IHZhbHVlO1xyXG5cdFx0Y29uc3QgeyBhY3RpdmVRdWVyeTogYXEsIC4uLmN1cnJlbnRDb25maWcgfSA9IHRoaXMuX2NvbmZpZ1N1YmplY3QuZ2V0VmFsdWUoKSB8fCB7fTtcclxuXHJcblx0XHR0aGlzLl9pc0NvbmZpZ0NoYW5nZWQgPSAhXy5pc0VxdWFsKGN1cnJlbnRDb25maWcsIGNvbmZpZyk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9sb2FkUmVwb3J0c0NvbmZpZyhrZXk6IHN0cmluZykge1xyXG5cdFx0dGhpcy5fY29uZmlndXJhdGlvblNlcnZpY2VcclxuXHRcdFx0LmdldFJlcG9ydHNDb25maWd1cmF0aW9uKGtleSlcclxuXHRcdFx0LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG5cdFx0XHQuc3Vic2NyaWJlKChjb25maWcpID0+IHtcclxuXHRcdFx0XHRpZiAoY29uZmlnKSB7XHJcblx0XHRcdFx0XHR0aGlzLl9pbml0UmVwb3J0c0NvbmZpZyhjb25maWcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9pbml0UmVwb3J0c0NvbmZpZyhjb25maWc6IE5kZlJlcG9ydHNDb25maWcpIHtcclxuXHRcdGNvbnN0IHZhbHVlID0gXy5jbG9uZURlZXAoY29uZmlnKTtcclxuXHRcdHRoaXMuX2NoZWNrQ29uZmlnQ2hhbmdlKHZhbHVlKTtcclxuXHRcdHRoaXMuX2NvbmZpZ1N1YmplY3QubmV4dCh2YWx1ZSk7XHJcblx0XHRpZiAodmFsdWU/LmFjdGl2ZVF1ZXJ5ICYmICEhT2JqZWN0LmtleXModmFsdWU/LmFjdGl2ZVF1ZXJ5KS5sZW5ndGgpIHtcclxuXHRcdFx0dGhpcy5fdXBkYXRlQWN0aXZlUXVlcnkodmFsdWU/LmFjdGl2ZVF1ZXJ5KTtcclxuXHRcdFx0dGhpcy5fZmlsdGVyc0NyaXRlcmlhU3ViamVjdC5uZXh0KHRoaXMuX3ByZXBhcmVNYXBwZWRRdWVyeSh2YWx1ZT8uYWN0aXZlUXVlcnksIHRoaXMuZmlsdGVyc0NvbmZpZy5tb2RlKSk7XHJcblx0XHR9IGVsc2UgaWYgKCF0aGlzLmFjdGl2ZVF1ZXJ5IHx8IE9iamVjdC5rZXlzKHRoaXMuYWN0aXZlUXVlcnkpLmxlbmd0aCA9PSAwKSB7XHJcblx0XHRcdHRoaXMuX3Jlc2V0UXVlcnlBbmRGaWx0ZXJzQ3JpdGVyaWEoKTtcclxuXHRcdH1cclxuXHRcdHRoaXMuaXNQYW5lbE9wZW5lZCA9IGZhbHNlO1xyXG5cdFx0dGhpcy5pc0RldGFpbHNPcGVuZWQgPSBmYWxzZTtcclxuXHRcdHRoaXMuX3JlcG9ydERldGFpbHNTdWJqZWN0Lm5leHQobnVsbCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9yZXNldFF1ZXJ5QW5kRmlsdGVyc0NyaXRlcmlhKCkge1xyXG5cdFx0dGhpcy5fdXBkYXRlQWN0aXZlUXVlcnkoe30pO1xyXG5cdFx0dGhpcy5fZmlsdGVyc0NyaXRlcmlhU3ViamVjdC5uZXh0KG51bGwpO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2XHJcblx0Km5nSWY9XCJyZXBvcnRzRGF0YSQgfCBhc3luYyBhcyByZXBvcnRzXCJcclxuXHRjbGFzcz1cIm5kZi1yZXBvcnRzX19jb250YWluZXJcIlxyXG5cdFtjbGFzcy5wYW5lbC1vcGVuZWRdPVwiaXNQYW5lbE9wZW5lZCAmJiBmaWx0ZXJzQ29uZmlnXCJcclxuXHRbZGlyXT1cImRpcmVjdGlvblwiXHJcblx0bmRmRmx1aWRIZWlnaHRcclxuPlxyXG5cdDxkaXYgY2xhc3M9XCJuZGYtcmVwb3J0c19fcGFuZWwgcHJpbnQ6aGlkZGVuXCIgKm5nSWY9XCIhIWZpbHRlcnNDb25maWc/LmZpZWxkcz8ubGVuZ3RoXCI+XHJcblx0XHQ8YXBwLWZpbHRlcnMtcGFuZWxcclxuXHRcdFx0W2ZpZWxkc109XCJmaWx0ZXJzQ29uZmlnPy5maWVsZHNcIlxyXG5cdFx0XHRbYWdncmVnYXRpb25zXT1cImFnZ3JlZ2F0aW9uc1wiXHJcblx0XHRcdChmaWx0ZXJDaGFuZ2VkKT1cImZpbHRlckNoYW5nZWQoJGV2ZW50KVwiXHJcblx0XHRcdFthY3RpdmVRdWVyeV09XCJhY3RpdmVGaWx0ZXJzUXVlcnkkIHwgYXN5bmNcIlxyXG5cdFx0XHRjbGFzcz1cIm5kZi1yZXBvcnRzX19maWx0ZXJzXCJcclxuXHRcdD48L2FwcC1maWx0ZXJzLXBhbmVsPlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8ZGl2IGNsYXNzPVwibmRmLXJlcG9ydHNfX2NvbnRlbnRcIiAoc2Nyb2xsZWQpPVwib25Db250ZW50U2Nyb2xsKCRldmVudClcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJuZGYtcmVwb3J0c19faGVhZGVyIGZsZXggcHQtNCBwcmludDpoaWRkZW5cIj5cclxuXHRcdFx0PGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b2dnbGUtYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKClcIj5cclxuXHRcdFx0XHQ8bWF0LWljb24+IGZpbHRlcl9hbHQ8L21hdC1pY29uPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0PGFwcC1lZGl0b3ItYnV0dG9uXHJcblx0XHRcdFx0Km5nSWY9XCJqc29uRWRpdG9yRW5hYmxlZCAmJiByZXBvcnRzS2V5XCJcclxuXHRcdFx0XHRba2V5XT1cInJlcG9ydHNLZXlcIlxyXG5cdFx0XHRcdFt0eXBlXT1cImVkaXRvclR5cGVcIlxyXG5cdFx0XHQ+PC9hcHAtZWRpdG9yLWJ1dHRvbj5cclxuXHRcdFx0PGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKm5nSWY9XCJjb25maWc/Lm9wdGlvbnM/LnByaW50XCIgY2xhc3M9XCJwcmludC1idXR0b25cIiAoY2xpY2spPVwicHJpbnRBbGwoKVwiPlxyXG5cdFx0XHRcdDxtYXQtaWNvbj4gcHJpbnQ8L21hdC1pY29uPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PG1hdC1zcGlubmVyICpuZ0lmPVwiaXNMb2FkaW5nUmVzdWx0XCIgY2xhc3M9XCJtdC01IG14LWF1dG9cIiBbZGlhbWV0ZXJdPVwiNDhcIj48L21hdC1zcGlubmVyPlxyXG5cclxuXHRcdDxkaXYgY2xhc3M9XCJyZXBvcnRzLWdyaWRcIiAqbmdJZj1cIiFpc0xvYWRpbmdSZXN1bHRcIj5cclxuXHRcdFx0PGFwcC1uZGYtcmVwb3J0XHJcblx0XHRcdFx0Km5nRm9yPVwibGV0IGNvbmZpZyBvZiByZXBvcnRDb25maWcuaXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcblx0XHRcdFx0W2NvbmZpZ109XCJjb25maWdcIlxyXG5cdFx0XHRcdFtkYXRhXT1cInJlcG9ydHM/LnJlc3BvbnNlXCJcclxuXHRcdFx0XHRbY3JpdGVyaWFdPVwiZmlsdGVyc1BhcmFtcyQgfCBhc3luY1wiXHJcblx0XHRcdFx0W2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIlxyXG5cdFx0XHRcdFthdHRyLmRhdGEtd2lkdGhdPVwiY29uZmlnPy5sYXlvdXQ/LndpZHRoIHx8IDRcIlxyXG5cdFx0XHRcdFthdHRyLmRhdGEtaGVpZ2h0XT1cImNvbmZpZz8ubGF5b3V0Py5oZWlnaHQgfHwgJ2F1dG8nXCJcclxuXHRcdFx0XHRbYXR0ci5kYXRhLXN0YXJ0LWNvbHVtbl09XCJjb25maWc/LmxheW91dD8uY29sdW1uUG9zaXRpb24gfHwgJ2F1dG8nXCJcclxuXHRcdFx0XHRbYXR0ci5kYXRhLXN0YXJ0LXJvd109XCJjb25maWc/LmxheW91dD8ucm93UG9zaXRpb24gfHwgJ2F1dG8nXCJcclxuXHRcdFx0XHRbY2xhc3Mud2lkZV09XCJjb25maWc/LmxheW91dD8ud2lkdGggPj0gNlwiXHJcblx0XHRcdFx0Y2xhc3M9XCJyZXBvcnRzLWdyaWRfX2l0ZW0ge3sgY29uZmlnPy5sYXlvdXQ/LnN0eWxlQ2xhc3MgfX0gXCJcclxuXHRcdFx0XHQob25OYXZpZ2F0ZSk9XCJvbk5hdmlnYXRlKCRldmVudClcIlxyXG5cdFx0XHRcdChvbk9wZW4pPVwib3BlblJlcG9ydERldGFpbHMoJGV2ZW50LCBjb25maWcpXCJcclxuXHRcdFx0PjwvYXBwLW5kZi1yZXBvcnQ+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cIm5kZi1yZXBvcnRzX19kZXRhaWxzIHByaW50OmhpZGRlblwiXHJcblx0XHRbY2xhc3Mub3BlbmVkXT1cInNob3dEZXRhaWxzXCJcclxuXHRcdFtAc2xpZGVJbk91dF09XCJzaG93RGV0YWlscyA/ICdvcGVuJyA6ICdjbG9zZWQnXCJcclxuXHRcdChAc2xpZGVJbk91dC5kb25lKT1cIm9uRGV0YWlsc0FuaW1hdGlvbkVuZCgkZXZlbnQpXCJcclxuXHQ+XHJcblx0XHQ8YXBwLW5kZi10YWJsZVxyXG5cdFx0XHQqbmdJZj1cInJlcG9ydERldGFpbHMkIHwgYXN5bmMgYXMgcmVwb3J0XCJcclxuXHRcdFx0W2NvbmZpZ109XCJyZXBvcnQuY29uZmlnXCJcclxuXHRcdFx0W2FjdGl2ZVF1ZXJ5XT1cImFjdGl2ZUZpbHRlcnNRdWVyeSQgfCBhc3luY1wiXHJcblx0XHRcdFtjdXN0b21Dcml0ZXJpYV09XCJmaWx0ZXJzUGFyYW1zJCB8IGFzeW5jXCJcclxuXHRcdD5cclxuXHRcdFx0PG5nLXRlbXBsYXRlIHNlYXJjaFRhYmxlVGVtcGxhdGU+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cIm5kZi1yZXBvcnRzX19kZXRhaWxzX19oZWFkZXIgZmxleCBnYXAtMlwiPlxyXG5cdFx0XHRcdFx0PGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ0b2dnbGUtYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKClcIj5cclxuXHRcdFx0XHRcdFx0PG1hdC1pY29uPiBmaWx0ZXJfYWx0PC9tYXQtaWNvbj5cclxuXHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0PGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIiAoY2xpY2spPVwiY2xvc2VEZXRhaWxzUGFuZWwoKVwiPlxyXG5cdFx0XHRcdFx0XHQ8bWF0LWljb24+IGNsb3NlPC9tYXQtaWNvbj5cclxuXHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDxoMz5cclxuXHRcdFx0XHRcdHt7IHJlcG9ydC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0XHRcdDwvaDM+XHJcblx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHQ8L2FwcC1uZGYtdGFibGU+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXJlcG9ydHMuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9yZXBvcnRzL25kZi1yZXBvcnRzL21vZGVscy9uZGYtcmVwb3J0cy5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkQ29uZmlnTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9uZGYtZmlsdGVycyc7XHJcbmltcG9ydCB7IE5kZlJlcG9ydHNSZXF1ZXN0IH0gZnJvbSAnLi9yZXF1ZXN0JztcclxuaW1wb3J0IHsgUmVwb3J0RGVmaW5pdGlvbk1vZGVsIH0gZnJvbSAnLi9yZXBvcnQtY29uZmlnJztcclxuXHJcbmV4cG9ydCB0eXBlIE5kZlJlcG9ydHNGaWx0ZXJzUmVsb2FkQ29uZmlnID1cclxuXHR8IHsgc3RyYXRlZ3k6ICdhbHdheXMnIH1cclxuXHR8IHsgc3RyYXRlZ3k6ICduZXZlcicgfVxyXG5cdHwgeyBzdHJhdGVneTogJ29uQ2hhbmdlJzsgdHJpZ2dlckZpZWxkczogc3RyaW5nW10gfTtcclxuXHJcbnR5cGUgTmRmUmVwb3J0c0ZpbHRlcnMgPSB7XHJcblx0bW9kZTogJ3BheWxvYWQnIHwgJ3BhcmFtcyc7XHJcblx0cGF5bG9hZD86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0cGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHRmaWVsZHM6IEZpZWxkQ29uZmlnTW9kZWxbXTtcclxuXHR2aXNpYmxlPzogYm9vbGVhbjtcclxuXHR0b2dnbGVQYW5lbD86IGJvb2xlYW47XHJcblx0cmVsb2FkPzogTmRmUmVwb3J0c0ZpbHRlcnNSZWxvYWRDb25maWc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZXBvcnRzRGVmaW5pdGlvbiA9IHtcclxuXHRpdGVtczogUmVwb3J0RGVmaW5pdGlvbk1vZGVsW107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBOZGZSZXBvcnRzQ29uZmlnID0ge1xyXG5cdHJlcXVlc3Q6IE5kZlJlcG9ydHNSZXF1ZXN0O1xyXG5cdGZpbHRlcnM/OiBOZGZSZXBvcnRzRmlsdGVycztcclxuXHRvcHRpb25zPzoge1xyXG5cdFx0cHJpbnQ/OiBib29sZWFuO1xyXG5cdH07XHJcblx0cmVwb3J0czogUmVwb3J0c0RlZmluaXRpb247XHJcblx0YWN0aXZlUXVlcnk/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG59O1xyXG4iXX0=
|