@ecodev/natural 44.0.6 → 45.1.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/esm2020/lib/classes/abstract-detail.mjs +39 -40
- package/esm2020/lib/classes/abstract-navigable-list.mjs +6 -2
- package/esm2020/lib/classes/rxjs.mjs +2 -1
- package/esm2020/lib/classes/validators.mjs +2 -2
- package/esm2020/lib/modules/dropdown-components/type-date/type-date.component.mjs +1 -1
- package/esm2020/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +1 -1
- package/esm2020/lib/modules/dropdown-components/type-number/type-number.component.mjs +7 -3
- package/esm2020/lib/modules/dropdown-components/type-select/type-select.component.mjs +8 -4
- package/esm2020/lib/modules/file/abstract-file.mjs +26 -29
- package/esm2020/lib/modules/file/utils.mjs +12 -1
- package/esm2020/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +22 -9
- package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +3 -3
- package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +3 -9
- package/esm2020/lib/services/abstract-model.service.mjs +8 -41
- package/esm2020/lib/services/debounce.service.mjs +128 -0
- package/esm2020/lib/services/swiss-parsing-date-adapter.service.mjs +21 -13
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/ecodev-natural.mjs +266 -141
- package/fesm2015/ecodev-natural.mjs.map +1 -1
- package/fesm2020/ecodev-natural.mjs +263 -139
- package/fesm2020/ecodev-natural.mjs.map +1 -1
- package/lib/modules/dropdown-components/type-date/type-date.component.d.ts +1 -1
- package/lib/modules/dropdown-components/type-date-range/type-date-range.component.d.ts +1 -1
- package/lib/modules/dropdown-components/type-number/type-number.component.d.ts +2 -1
- package/lib/modules/dropdown-components/type-select/type-select.component.d.ts +7 -3
- package/lib/modules/file/abstract-file.d.ts +0 -3
- package/lib/modules/file/utils.d.ts +1 -0
- package/lib/modules/fixed-button-detail/fixed-button-detail.component.d.ts +14 -6
- package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.d.ts +5 -6
- package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.d.ts +5 -14
- package/lib/services/abstract-model.service.d.ts +4 -6
- package/lib/services/debounce.service.d.ts +46 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -7,7 +7,7 @@ import { NaturalAbstractPanel } from '../modules/panels/abstract-panel';
|
|
|
7
7
|
import { finalize } from 'rxjs/operators';
|
|
8
8
|
import { ifValid, validateAllFormControls } from './validators';
|
|
9
9
|
import { mergeOverrideArray } from './utility';
|
|
10
|
-
import { EMPTY } from 'rxjs';
|
|
10
|
+
import { EMPTY, endWith, last, switchMap } from 'rxjs';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
// @dynamic
|
|
13
13
|
export class NaturalAbstractDetail extends NaturalAbstractPanel {
|
|
@@ -79,51 +79,50 @@ export class NaturalAbstractDetail extends NaturalAbstractPanel {
|
|
|
79
79
|
this.form.disable();
|
|
80
80
|
this.service
|
|
81
81
|
.create(this.data.model)
|
|
82
|
-
.pipe(
|
|
83
|
-
.subscribe(model => {
|
|
82
|
+
.pipe(switchMap(model => {
|
|
84
83
|
this.alertService.info($localize `Créé`);
|
|
85
84
|
this.form.patchValue(model);
|
|
86
|
-
this.postCreate(model).
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
85
|
+
return this.postCreate(model).pipe(endWith(model), last());
|
|
86
|
+
}), switchMap(model => {
|
|
87
|
+
if (redirect) {
|
|
88
|
+
if (this.isPanel) {
|
|
89
|
+
const oldUrl = this.router.url;
|
|
90
|
+
const nextUrl = this.panelData?.config.params.nextRoute;
|
|
91
|
+
const newUrl = oldUrl.replace('/new', '/' + model.id) + (nextUrl ? '/' + nextUrl : '');
|
|
92
|
+
return this.router.navigateByUrl(newUrl); // replace /new by /123
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
return this.router.navigate(['..', model.id], { relativeTo: this.route });
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return EMPTY;
|
|
99
|
+
}), finalize(() => this.form.enable()))
|
|
100
|
+
.subscribe();
|
|
102
101
|
}
|
|
103
102
|
delete(redirectionRoute) {
|
|
103
|
+
this.form.disable();
|
|
104
104
|
this.alertService
|
|
105
105
|
.confirm($localize `Suppression`, $localize `Voulez-vous supprimer définitivement cet élément ?`, $localize `Supprimer définitivement`)
|
|
106
|
-
.
|
|
107
|
-
if (confirmed) {
|
|
108
|
-
|
|
109
|
-
this.form.disable();
|
|
110
|
-
this.service
|
|
111
|
-
.delete([this.data.model])
|
|
112
|
-
.pipe(finalize(() => this.form.enable()))
|
|
113
|
-
.subscribe(() => {
|
|
114
|
-
this.alertService.info($localize `Supprimé`);
|
|
115
|
-
if (!this.isPanel) {
|
|
116
|
-
const defaultRoute = ['../../' + kebabCase(this.key)];
|
|
117
|
-
this.router.navigate(redirectionRoute ? redirectionRoute : defaultRoute, {
|
|
118
|
-
relativeTo: this.route,
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
this.panelService?.goToPenultimatePanel();
|
|
123
|
-
}
|
|
124
|
-
});
|
|
106
|
+
.pipe(switchMap(confirmed => {
|
|
107
|
+
if (!confirmed) {
|
|
108
|
+
return EMPTY;
|
|
125
109
|
}
|
|
126
|
-
|
|
110
|
+
this.preDelete(this.data.model);
|
|
111
|
+
return this.service.delete([this.data.model]).pipe(switchMap(() => {
|
|
112
|
+
this.alertService.info($localize `Supprimé`);
|
|
113
|
+
if (this.isPanel) {
|
|
114
|
+
this.panelService?.goToPenultimatePanel();
|
|
115
|
+
return EMPTY;
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
const defaultRoute = ['../../' + kebabCase(this.key)];
|
|
119
|
+
return this.router.navigate(redirectionRoute ? redirectionRoute : defaultRoute, {
|
|
120
|
+
relativeTo: this.route,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}));
|
|
124
|
+
}), finalize(() => this.form.enable()))
|
|
125
|
+
.subscribe();
|
|
127
126
|
}
|
|
128
127
|
postUpdate(model) { }
|
|
129
128
|
/**
|
|
@@ -149,4 +148,4 @@ NaturalAbstractDetail.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0",
|
|
|
149
148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalAbstractDetail, decorators: [{
|
|
150
149
|
type: Directive
|
|
151
150
|
}], ctorParameters: function () { return [{ type: undefined }, { type: undefined }, { type: i0.Injector }]; } });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL2NsYXNzZXMvYWJzdHJhY3QtZGV0YWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUM1RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUd0RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFHN0MsT0FBTyxFQUFDLEtBQUssRUFBYSxNQUFNLE1BQU0sQ0FBQzs7QUFFdkMsV0FBVztBQUVYLE1BQU0sT0FBTyxxQkFjVCxTQUFRLG9CQUFvQjtJQW9DNUIsWUFDdUIsR0FBVyxFQUNkLE9BQWlCLEVBQ2QsUUFBa0I7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFKVyxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFwQ3pDOztXQUVHO1FBQ0ksU0FBSSxHQUFRO1lBQ2YsS0FBSyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBRUY7O1dBRUc7UUFDSSxTQUFJ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QUMsS0FBK0IsSUFBUyxDQUFDO0lBRTlEOzs7T0FHRztJQUNPLFVBQVUsQ0FBQyxLQUErQjtRQUNoRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRVMsU0FBUyxDQUFDLEtBQTRCLElBQVMsQ0FBQztJQUVoRCxRQUFRO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7T0FFRztJQUNPLFVBQVU7UUFDaEIsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDcEUsQ0FBQzs7a0hBM0xRLHFCQUFxQjtzR0FBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSW5qZWN0b3IsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VudHlwZWRGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7a2ViYWJDYXNlLCBtZXJnZSwgbWVyZ2VXaXRoLCBvbWl0fSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtOYXR1cmFsQWxlcnRTZXJ2aWNlfSBmcm9tICcuLi9tb2R1bGVzL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RQYW5lbH0gZnJvbSAnLi4vbW9kdWxlcy9wYW5lbHMvYWJzdHJhY3QtcGFuZWwnO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RNb2RlbFNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2Fic3RyYWN0LW1vZGVsLnNlcnZpY2UnO1xuaW1wb3J0IHtFeHRyYWN0VGNyZWF0ZSwgRXh0cmFjdFRvbmUsIEV4dHJhY3RUdXBkYXRlLCBMaXRlcmFsfSBmcm9tICcuLi90eXBlcy90eXBlcyc7XG5pbXBvcnQge2ZpbmFsaXplfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge2lmVmFsaWQsIHZhbGlkYXRlQWxsRm9ybUNvbnRyb2xzfSBmcm9tICcuL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHttZXJnZU92ZXJyaWRlQXJyYXl9IGZyb20gJy4vdXRpbGl0eSc7XG5pbXBvcnQge1BhZ2luYXRlZERhdGF9IGZyb20gJy4vZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtRdWVyeVZhcmlhYmxlc30gZnJvbSAnLi9xdWVyeS12YXJpYWJsZS1tYW5hZ2VyJztcbmltcG9ydCB7RU1QVFksIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgTmF0dXJhbEFic3RyYWN0RGV0YWlsPFxuICAgICAgICBUU2VydmljZSBleHRlbmRzIE5hdHVyYWxBYnN0cmFjdE1vZGVsU2VydmljZTxcbiAgICAgICAgICAgIHVua25vd24sXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBQYWdpbmF0ZWREYXRhPExpdGVyYWw+LFxuICAgICAgICAgICAgUXVlcnlWYXJpYWJsZXMsXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICB1bmtub3duLFxuICAgICAgICAgICAgYW55XG4gICAgICAgID4sXG4gICAgPlxuICAgIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0UGFuZWxcbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICAgIC8qKlxuICAgICAqIEVtcHR5IHBsYWNlaG9sZGVyIGZvciBkYXRhIHJldHJpZXZlZCBieSB0aGUgc2VydmVyXG4gICAgICovXG4gICAgcHVibGljIGRhdGE6IGFueSA9IHtcbiAgICAgICAgbW9kZWw6IHt9LFxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBGb3JtIHRoYXQgbWFuYWdlcyB0aGUgZGF0YSBmcm9tIHRoZSBjb250cm9sbGVyXG4gICAgICovXG4gICAgcHVibGljIGZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG5cbiAgICAvKipcbiAgICAgKiBTaG93IC8gaGlkZXMgdGhlIGJvdHRvbSBmYWIgYnV0dG9uIChtb3N0bHkgdG8gaGlkZSBpdCB3aGVuIHdlIGFyZSBvbiBvdGhlciB0YWJzIHdoZXJlIHNlbWFudGljIG9mIGJ1dHRvbiBjYW4gY29uZmxpY3Qgd2l0aCAuLi5cbiAgICAgKiBzZW1hbnRpYyBvZiBkYXRhIG9uIG90aGVyIHRhYiwgbGlrZSByZWxhdGlvbnMgdGhhdCBsaXN0IG90aGVyIG9iamVjdHMpXG4gICAgICovXG4gICAgcHVibGljIHNob3dGYWJCdXR0b24gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogSW5qZWN0ZWQgc2VydmljZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhbGVydFNlcnZpY2U6IE5hdHVyYWxBbGVydFNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBJbmplY3RlZCBzZXJ2aWNlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyO1xuXG4gICAgLyoqXG4gICAgICogSW5qZWN0ZWQgc2VydmljZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGU7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBrZXk6IHN0cmluZyxcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2U6IFRTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KE5hdHVyYWxBbGVydFNlcnZpY2UpO1xuICAgICAgICB0aGlzLnJvdXRlciA9IGluamVjdG9yLmdldChSb3V0ZXIpO1xuICAgICAgICB0aGlzLnJvdXRlID0gaW5qZWN0b3IuZ2V0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc1BhbmVsKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlLmRhdGEuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IG1lcmdlKHttb2RlbDogdGhpcy5zZXJ2aWNlLmdldENvbnNvbGlkYXRlZEZvckNsaWVudCgpfSwgZGF0YVt0aGlzLmtleV0pO1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IG1lcmdlKHRoaXMuZGF0YSwgb21pdChkYXRhLCBbdGhpcy5rZXldKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2hhbmdlVGFiKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93RmFiQnV0dG9uID0gaW5kZXggPT09IDA7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZShub3c6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YS5tb2RlbC5pZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFsaWRhdGVBbGxGb3JtQ29udHJvbHModGhpcy5mb3JtKTtcblxuICAgICAgICBpZlZhbGlkKHRoaXMuZm9ybSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVRvRGF0YSgpO1xuICAgICAgICAgICAgY29uc3QgcG9zdFVwZGF0ZSA9IChtb2RlbDogRXh0cmFjdFR1cGRhdGU8VFNlcnZpY2U+KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuaW5mbygkbG9jYWxpemVgTWlzIMOgIGpvdXJgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShtb2RlbCk7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3N0VXBkYXRlKG1vZGVsKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmIChub3cpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UudXBkYXRlTm93KHRoaXMuZGF0YS5tb2RlbCkuc3Vic2NyaWJlKHBvc3RVcGRhdGUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UudXBkYXRlKHRoaXMuZGF0YS5tb2RlbCkuc3Vic2NyaWJlKHBvc3RVcGRhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlKHJlZGlyZWN0OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICB2YWxpZGF0ZUFsbEZvcm1Db250cm9scyh0aGlzLmZvcm0pO1xuXG4gICAgICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZvcm1Ub0RhdGEoKTtcbiAgICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcblxuICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5jcmVhdGUodGhpcy5kYXRhLm1vZGVsKVxuICAgICAgICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5mb3JtLmVuYWJsZSgpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUobW9kZWwgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmluZm8oJGxvY2FsaXplYENyw6nDqWApO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKG1vZGVsKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucG9zdENyZWF0ZShtb2RlbCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZWRpcmVjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzUGFuZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2xkVXJsID0gdGhpcy5yb3V0ZXIudXJsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXh0VXJsID0gdGhpcy5wYW5lbERhdGE/LmNvbmZpZy5wYXJhbXMubmV4dFJvdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdVcmwgPSBvbGRVcmwucmVwbGFjZSgnL25ldycsICcvJyArIG1vZGVsLmlkKSArIChuZXh0VXJsID8gJy8nICsgbmV4dFVybCA6ICcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChuZXdVcmwpOyAvLyByZXBsYWNlIC9uZXcgYnkgLzEyM1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4nLCBtb2RlbC5pZF0sIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZShyZWRpcmVjdGlvblJvdXRlPzogdW5rbm93bltdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlXG4gICAgICAgICAgICAuY29uZmlybShcbiAgICAgICAgICAgICAgICAkbG9jYWxpemVgU3VwcHJlc3Npb25gLFxuICAgICAgICAgICAgICAgICRsb2NhbGl6ZWBWb3VsZXotdm91cyBzdXBwcmltZXIgZMOpZmluaXRpdmVtZW50IGNldCDDqWzDqW1lbnQgP2AsXG4gICAgICAgICAgICAgICAgJGxvY2FsaXplYFN1cHByaW1lciBkw6lmaW5pdGl2ZW1lbnRgLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShjb25maXJtZWQgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjb25maXJtZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmVEZWxldGUodGhpcy5kYXRhLm1vZGVsKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kZWxldGUoW3RoaXMuZGF0YS5tb2RlbF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLmZvcm0uZW5hYmxlKCkpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuaW5mbygkbG9jYWxpemVgU3VwcHJpbcOpYCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNQYW5lbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0Um91dGUgPSBbJy4uLy4uLycgKyBrZWJhYkNhc2UodGhpcy5rZXkpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocmVkaXJlY3Rpb25Sb3V0ZSA/IHJlZGlyZWN0aW9uUm91dGUgOiBkZWZhdWx0Um91dGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGFuZWxTZXJ2aWNlPy5nb1RvUGVudWx0aW1hdGVQYW5lbCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBwb3N0VXBkYXRlKG1vZGVsOiBFeHRyYWN0VHVwZGF0ZTxUU2VydmljZT4pOiB2b2lkIHt9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCB3aWxsIGJlIHN1YnNjcmliZWQgdG8gaW1tZWRpYXRlbHkgYW5kIHRoZVxuICAgICAqIHJlZGlyZWN0IG5hdmlnYXRpb24gd2lsbCBvbmx5IGhhcHBlbiBhZnRlciB0aGUgb2JzZXJ2YWJsZSBjb21wbGV0ZXMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHBvc3RDcmVhdGUobW9kZWw6IEV4dHJhY3RUY3JlYXRlPFRTZXJ2aWNlPik6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHByZURlbGV0ZShtb2RlbDogRXh0cmFjdFRvbmU8VFNlcnZpY2U+KTogdm9pZCB7fVxuXG4gICAgcHJvdGVjdGVkIGluaXRGb3JtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLnNlcnZpY2UuZ2V0Rm9ybUdyb3VwKHRoaXMuZGF0YS5tb2RlbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWVyZ2UgdmFsdWVzIG9mIGZvcm0gaW50byBgdGhpcy5kYXRhLm1vZGVsYC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZm9ybVRvRGF0YSgpOiB2b2lkIHtcbiAgICAgICAgbWVyZ2VXaXRoKHRoaXMuZGF0YS5tb2RlbCwgdGhpcy5mb3JtLnZhbHVlLCBtZXJnZU92ZXJyaWRlQXJyYXkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL2NsYXNzZXMvYWJzdHJhY3QtZGV0YWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUM1RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUd0RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFHN0MsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFjLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFFakUsV0FBVztBQUVYLE1BQU0sT0FBTyxxQkFjVCxTQUFRLG9CQUFvQjtJQW9DNUIsWUFDdUIsR0FBVyxFQUNkLE9BQWlCLEVBQ2QsUUFBa0I7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFKVyxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFwQ3pDOztXQUVHO1FBQ0ksU0FBSSxHQUFRO1lBQ2YsS0FBSyxFQUFFLEVBQUU7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QUFFLElBQUksQ0FBQyxLQUFLO3FCQUN6QixDQUFDLENBQUM7aUJBQ047WUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ04sQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FDckM7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQStCLElBQVMsQ0FBQztJQUU5RDs7O09BR0c7SUFDTyxVQUFVLENBQUMsS0FBK0I7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUE0QixJQUFTLENBQUM7SUFFaEQsUUFBUTtRQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxVQUFVO1FBQ2hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7O2tIQXRNUSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdG9yLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge2tlYmFiQ2FzZSwgbWVyZ2UsIG1lcmdlV2l0aCwgb21pdH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7TmF0dXJhbEFsZXJ0U2VydmljZX0gZnJvbSAnLi4vbW9kdWxlcy9hbGVydC9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0UGFuZWx9IGZyb20gJy4uL21vZHVsZXMvcGFuZWxzL2Fic3RyYWN0LXBhbmVsJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9hYnN0cmFjdC1tb2RlbC5zZXJ2aWNlJztcbmltcG9ydCB7RXh0cmFjdFRjcmVhdGUsIEV4dHJhY3RUb25lLCBFeHRyYWN0VHVwZGF0ZSwgTGl0ZXJhbH0gZnJvbSAnLi4vdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHtmaW5hbGl6ZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtpZlZhbGlkLCB2YWxpZGF0ZUFsbEZvcm1Db250cm9sc30gZnJvbSAnLi92YWxpZGF0b3JzJztcbmltcG9ydCB7bWVyZ2VPdmVycmlkZUFycmF5fSBmcm9tICcuL3V0aWxpdHknO1xuaW1wb3J0IHtQYWdpbmF0ZWREYXRhfSBmcm9tICcuL2RhdGEtc291cmNlJztcbmltcG9ydCB7UXVlcnlWYXJpYWJsZXN9IGZyb20gJy4vcXVlcnktdmFyaWFibGUtbWFuYWdlcic7XG5pbXBvcnQge0VNUFRZLCBlbmRXaXRoLCBsYXN0LCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgTmF0dXJhbEFic3RyYWN0RGV0YWlsPFxuICAgICAgICBUU2VydmljZSBleHRlbmRzIE5hdHVyYWxBYnN0cmFjdE1vZGVsU2VydmljZTxcbiAgICAgICAgICAgIHVua25vd24sXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBQYWdpbmF0ZWREYXRhPExpdGVyYWw+LFxuICAgICAgICAgICAgUXVlcnlWYXJpYWJsZXMsXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICB1bmtub3duLFxuICAgICAgICAgICAgYW55XG4gICAgICAgID4sXG4gICAgPlxuICAgIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0UGFuZWxcbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICAgIC8qKlxuICAgICAqIEVtcHR5IHBsYWNlaG9sZGVyIGZvciBkYXRhIHJldHJpZXZlZCBieSB0aGUgc2VydmVyXG4gICAgICovXG4gICAgcHVibGljIGRhdGE6IGFueSA9IHtcbiAgICAgICAgbW9kZWw6IHt9LFxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBGb3JtIHRoYXQgbWFuYWdlcyB0aGUgZGF0YSBmcm9tIHRoZSBjb250cm9sbGVyXG4gICAgICovXG4gICAgcHVibGljIGZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG5cbiAgICAvKipcbiAgICAgKiBTaG93IC8gaGlkZXMgdGhlIGJvdHRvbSBmYWIgYnV0dG9uIChtb3N0bHkgdG8gaGlkZSBpdCB3aGVuIHdlIGFyZSBvbiBvdGhlciB0YWJzIHdoZXJlIHNlbWFudGljIG9mIGJ1dHRvbiBjYW4gY29uZmxpY3Qgd2l0aCAuLi5cbiAgICAgKiBzZW1hbnRpYyBvZiBkYXRhIG9uIG90aGVyIHRhYiwgbGlrZSByZWxhdGlvbnMgdGhhdCBsaXN0IG90aGVyIG9iamVjdHMpXG4gICAgICovXG4gICAgcHVibGljIHNob3dGYWJCdXR0b24gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogSW5qZWN0ZWQgc2VydmljZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhbGVydFNlcnZpY2U6IE5hdHVyYWxBbGVydFNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBJbmplY3RlZCBzZXJ2aWNlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyO1xuXG4gICAgLyoqXG4gICAgICogSW5qZWN0ZWQgc2VydmljZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGU7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBrZXk6IHN0cmluZyxcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2U6IFRTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KE5hdHVyYWxBbGVydFNlcnZpY2UpO1xuICAgICAgICB0aGlzLnJvdXRlciA9IGluamVjdG9yLmdldChSb3V0ZXIpO1xuICAgICAgICB0aGlzLnJvdXRlID0gaW5qZWN0b3IuZ2V0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc1BhbmVsKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlLmRhdGEuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IG1lcmdlKHttb2RlbDogdGhpcy5zZXJ2aWNlLmdldENvbnNvbGlkYXRlZEZvckNsaWVudCgpfSwgZGF0YVt0aGlzLmtleV0pO1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IG1lcmdlKHRoaXMuZGF0YSwgb21pdChkYXRhLCBbdGhpcy5rZXldKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2hhbmdlVGFiKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93RmFiQnV0dG9uID0gaW5kZXggPT09IDA7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZShub3c6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YS5tb2RlbC5pZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFsaWRhdGVBbGxGb3JtQ29udHJvbHModGhpcy5mb3JtKTtcblxuICAgICAgICBpZlZhbGlkKHRoaXMuZm9ybSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVRvRGF0YSgpO1xuICAgICAgICAgICAgY29uc3QgcG9zdFVwZGF0ZSA9IChtb2RlbDogRXh0cmFjdFR1cGRhdGU8VFNlcnZpY2U+KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuaW5mbygkbG9jYWxpemVgTWlzIMOgIGpvdXJgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShtb2RlbCk7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3N0VXBkYXRlKG1vZGVsKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmIChub3cpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UudXBkYXRlTm93KHRoaXMuZGF0YS5tb2RlbCkuc3Vic2NyaWJlKHBvc3RVcGRhdGUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UudXBkYXRlKHRoaXMuZGF0YS5tb2RlbCkuc3Vic2NyaWJlKHBvc3RVcGRhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlKHJlZGlyZWN0OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICB2YWxpZGF0ZUFsbEZvcm1Db250cm9scyh0aGlzLmZvcm0pO1xuXG4gICAgICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZvcm1Ub0RhdGEoKTtcbiAgICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcblxuICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5jcmVhdGUodGhpcy5kYXRhLm1vZGVsKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKG1vZGVsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuaW5mbygkbG9jYWxpemVgQ3LDqcOpYCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKG1vZGVsKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wb3N0Q3JlYXRlKG1vZGVsKS5waXBlKGVuZFdpdGgobW9kZWwpLCBsYXN0KCkpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChtb2RlbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZWRpcmVjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNQYW5lbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9sZFVybCA9IHRoaXMucm91dGVyLnVybDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXh0VXJsID0gdGhpcy5wYW5lbERhdGE/LmNvbmZpZy5wYXJhbXMubmV4dFJvdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1VybCA9IG9sZFVybC5yZXBsYWNlKCcvbmV3JywgJy8nICsgbW9kZWwuaWQpICsgKG5leHRVcmwgPyAnLycgKyBuZXh0VXJsIDogJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKG5ld1VybCk7IC8vIHJlcGxhY2UgL25ldyBieSAvMTIzXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4uJywgbW9kZWwuaWRdLCB7cmVsYXRpdmVUbzogdGhpcy5yb3V0ZX0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuZm9ybS5lbmFibGUoKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZShyZWRpcmVjdGlvblJvdXRlPzogdW5rbm93bltdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybS5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlXG4gICAgICAgICAgICAuY29uZmlybShcbiAgICAgICAgICAgICAgICAkbG9jYWxpemVgU3VwcHJlc3Npb25gLFxuICAgICAgICAgICAgICAgICRsb2NhbGl6ZWBWb3VsZXotdm91cyBzdXBwcmltZXIgZMOpZmluaXRpdmVtZW50IGNldCDDqWzDqW1lbnQgP2AsXG4gICAgICAgICAgICAgICAgJGxvY2FsaXplYFN1cHByaW1lciBkw6lmaW5pdGl2ZW1lbnRgLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGNvbmZpcm1lZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghY29uZmlybWVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByZURlbGV0ZSh0aGlzLmRhdGEubW9kZWwpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2UuZGVsZXRlKFt0aGlzLmRhdGEubW9kZWxdKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5pbmZvKCRsb2NhbGl6ZWBTdXBwcmltw6lgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzUGFuZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYW5lbFNlcnZpY2U/LmdvVG9QZW51bHRpbWF0ZVBhbmVsKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRSb3V0ZSA9IFsnLi4vLi4vJyArIGtlYmFiQ2FzZSh0aGlzLmtleSldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUocmVkaXJlY3Rpb25Sb3V0ZSA/IHJlZGlyZWN0aW9uUm91dGUgOiBkZWZhdWx0Um91dGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuZm9ybS5lbmFibGUoKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHBvc3RVcGRhdGUobW9kZWw6IEV4dHJhY3RUdXBkYXRlPFRTZXJ2aWNlPik6IHZvaWQge31cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IHdpbGwgYmUgc3Vic2NyaWJlZCB0byBpbW1lZGlhdGVseSBhbmQgdGhlXG4gICAgICogcmVkaXJlY3QgbmF2aWdhdGlvbiB3aWxsIG9ubHkgaGFwcGVuIGFmdGVyIHRoZSBvYnNlcnZhYmxlIGNvbXBsZXRlcy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcG9zdENyZWF0ZShtb2RlbDogRXh0cmFjdFRjcmVhdGU8VFNlcnZpY2U+KTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiBFTVBUWTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcHJlRGVsZXRlKG1vZGVsOiBFeHRyYWN0VG9uZTxUU2VydmljZT4pOiB2b2lkIHt9XG5cbiAgICBwcm90ZWN0ZWQgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuc2VydmljZS5nZXRGb3JtR3JvdXAodGhpcy5kYXRhLm1vZGVsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXJnZSB2YWx1ZXMgb2YgZm9ybSBpbnRvIGB0aGlzLmRhdGEubW9kZWxgLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBmb3JtVG9EYXRhKCk6IHZvaWQge1xuICAgICAgICBtZXJnZVdpdGgodGhpcy5kYXRhLm1vZGVsLCB0aGlzLmZvcm0udmFsdWUsIG1lcmdlT3ZlcnJpZGVBcnJheSk7XG4gICAgfVxufVxuIl19
|
|
@@ -2,6 +2,7 @@ import { Directive, Input } from '@angular/core';
|
|
|
2
2
|
import { map, takeUntil } from 'rxjs/operators';
|
|
3
3
|
import { NaturalAbstractList } from './abstract-list';
|
|
4
4
|
import { NaturalQueryVariablesManager } from './query-variable-manager';
|
|
5
|
+
import { first } from 'rxjs';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
/**
|
|
7
8
|
* This class helps managing a list of paginated items that can be filtered,
|
|
@@ -65,7 +66,10 @@ export class NaturalAbstractNavigableList extends NaturalAbstractList {
|
|
|
65
66
|
const variables = { filter: { groups: [{ conditions: [condition] }] } };
|
|
66
67
|
const qvm = new NaturalQueryVariablesManager();
|
|
67
68
|
qvm.set('variables', variables);
|
|
68
|
-
this.service
|
|
69
|
+
this.service
|
|
70
|
+
.count(qvm)
|
|
71
|
+
.pipe(first())
|
|
72
|
+
.subscribe(count => (navigableItem.hasNavigation = count > 0));
|
|
69
73
|
return navigableItem;
|
|
70
74
|
});
|
|
71
75
|
const navigableResult = {
|
|
@@ -123,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
|
|
|
123
127
|
}], ctorParameters: function () { return [{ type: undefined }, { type: i0.Injector }]; }, propDecorators: { ancestorRelationName: [{
|
|
124
128
|
type: Input
|
|
125
129
|
}] } });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhYmxlLWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvY2xhc3Nlcy9hYnN0cmFjdC1uYXZpZ2FibGUtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFZLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUc5QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsNEJBQTRCLEVBQWlCLE1BQU0sMEJBQTBCLENBQUM7O0FBY3RGOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFPLDRCQWNULFNBQVEsbUJBQThGO0lBWXRHLFlBQW1CLE9BQWlCLEVBQUUsUUFBa0I7UUFDcEQsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQVY3Qjs7V0FFRztRQUNhLHlCQUFvQixHQUFHLFFBQVEsQ0FBQztRQUV4QyxrQkFBYSxHQUFrQixJQUFJLENBQUM7UUFFckMsZ0JBQVcsR0FBcUIsRUFBRSxDQUFDO0lBSTFDLENBQUM7SUFFTSxRQUFRO1FBQ1gsZ0ZBQWdGO1FBQ2hGLHlEQUF5RDtRQUN6RCxrRkFBa0Y7UUFDbEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pDLHNEQUFzRDtZQUN0RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDZCxPQUFPO2FBQ1Y7WUFFRCxJQUFJLHdCQUF3QixHQUFlLElBQUksQ0FBQztZQUVoRCxpREFBaUQ7WUFDakQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2Qsd0JBQXdCLEdBQUcsRUFBQyxJQUFJLEVBQUUsRUFBQyxNQUFNLEVBQUUs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RSxFQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ0gsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDTyxhQUFhLENBQUMsSUFBb0I7UUFDeEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2pELElBQUksUUFBUSxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDdEQ7UUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQzs7eUhBdEpRLDRCQUE0Qjs2R0FBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFNBQVM7b0hBcUJVLG9CQUFvQjtzQkFBbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF2aWdhdGlvbkV4dHJhcywgUm91dGVyTGlua30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7bWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TmF0dXJhbFNlYXJjaFNlbGVjdGlvbnN9IGZyb20gJy4uL21vZHVsZXMvc2VhcmNoL3R5cGVzL3ZhbHVlcyc7XG5pbXBvcnQge05hdHVyYWxBYnN0cmFjdE1vZGVsU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvYWJzdHJhY3QtbW9kZWwuc2VydmljZSc7XG5pbXBvcnQge05hdHVyYWxBYnN0cmFjdExpc3R9IGZyb20gJy4vYWJzdHJhY3QtbGlzdCc7XG5pbXBvcnQge1BhZ2luYXRlZERhdGF9IGZyb20gJy4vZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyLCBRdWVyeVZhcmlhYmxlc30gZnJvbSAnLi9xdWVyeS12YXJpYWJsZS1tYW5hZ2VyJztcbmltcG9ydCB7RXh0cmFjdFRhbGwsIEV4dHJhY3RUYWxsT25lLCBFeHRyYWN0VmFsbCwgTGl0ZXJhbH0gZnJvbSAnLi4vdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxudHlwZSBCcmVhZGNydW1iSXRlbSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbn0gJiBMaXRlcmFsO1xuXG5leHBvcnQgdHlwZSBOYXZpZ2FibGVJdGVtPFQ+ID0ge1xuICAgIGl0ZW06IFQ7XG4gICAgaGFzTmF2aWdhdGlvbjogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogVGhpcyBjbGFzcyBoZWxwcyBtYW5hZ2luZyBhIGxpc3Qgb2YgcGFnaW5hdGVkIGl0ZW1zIHRoYXQgY2FuIGJlIGZpbHRlcmVkLFxuICogc2VsZWN0ZWQsIGFuZCB0aGVuIGJ1bGsgYWN0aW9ucyBjYW4gYmUgcGVyZm9ybWVkIG9uIHNlbGVjdGlvbi5cbiAqXG4gKiBAZHluYW1pY1xuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBOYXR1cmFsQWJzdHJhY3ROYXZpZ2FibGVMaXN0PFxuICAgICAgICBUU2VydmljZSBleHRlbmRzIE5hdHVyYWxBYnN0cmFjdE1vZGVsU2VydmljZTxcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIFBhZ2luYXRlZERhdGE8e2lkOiBzdHJpbmd9PixcbiAgICAgICAgICAgIFF1ZXJ5VmFyaWFibGVzLFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55XG4gICAgICAgID4sXG4gICAgPlxuICAgIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0TGlzdDxUU2VydmljZSwgUGFnaW5hdGVkRGF0YTxOYXZpZ2FibGVJdGVtPEV4dHJhY3RUYWxsPFRTZXJ2aWNlPlsnaXRlbXMnXVswXT4+PlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIGZpbHRlciBmb3IgY2hpbGQgaXRlbXMgdG8gYWNjZXNzIGFuY2VzdG9yIGl0ZW1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgYW5jZXN0b3JSZWxhdGlvbk5hbWUgPSAncGFyZW50JztcblxuICAgIHByaXZhdGUgb2xkQW5jZXJ0b3JJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgYnJlYWRjcnVtYnM6IEJyZWFkY3J1bWJJdGVtW10gPSBbXTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihzZXJ2aWNlOiBUU2VydmljZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKHNlcnZpY2UsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIEluIGZhY3QsIFwibmFcIiBhbmQgXCJuc1wiIGtleSBtYXkgZXhpc3QgYXQgdGhlIHNhbWUgdGltZSBpbiB1cmwgKGJ1dCBzaG91bGRuJ3QpLlxuICAgICAgICAvLyBXaGVuIHRoaXMgaGFwcGVucywgb24gcGFnZSByZWxvYWQsIHNlYXJjaCBpcyBwcmlvcml0eS5cbiAgICAgICAgLy8gXCJuYVwiIGlzIGEgdHJhaWxpbmcgcGFyYW0sIGFuZCBzaG91bGQgYmUgY29uc2lkZXJlZCBvbmx5IHdoZW4gdGhlcmUgaXMgbm8gc2VhcmNoXG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgICAgICAgLy8gXCJuc1wiIHN0YW5kcyBmb3IgbmF0dXJhbC1zZWFyY2ggdG8gYmUgc2hvcnRlciBpbiB1cmxcbiAgICAgICAgICAgIGlmIChwYXJhbXNbJ25zJ10pIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBuYXZpZ2F0aW9uQ29uZGl0aW9uVmFsdWU6IGFueSB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgICAgICAvLyBcIm5hXCIgc3RhbmRzIGZvciBcIm5hdmlnYXRpb25cIiAocmVsYXRpb24pIGluIHVybFxuICAgICAgICAgICAgaWYgKHBhcmFtc1snbmEnXSkge1xuICAgICAgICAgICAgICAgIG5hdmlnYXRpb25Db25kaXRpb25WYWx1ZSA9IHtoYXZlOiB7dmFsdWVzOiBbcGFyYW1zWyduYSddXX19O1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5nZXRPbmUocGFyYW1zWyduYSddKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE8gY2FzdGluZyBzaG91bGQgZGlzYXBwZWFyIGFuZCBpbnN0ZWFkIHRoaXMgY2xhc3Mgc2hvdWxkIGVuZm9yY2VcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHNlcnZpY2UgdG8gc3VwcG9ydCBUb25lIHdpdGggYSBuZXcgZ2VuZXJpY1xuICAgICAgICAgICAgICAgICAgICAoYW5jZXN0b3I6IEJyZWFkY3J1bWJJdGVtKSA9PiAodGhpcy5icmVhZGNydW1icyA9IHRoaXMuZ2V0QnJlYWRjcnVtYihhbmNlc3RvcikpLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBoYXNBbmNlc3RvckNoYW5nZWQgPSBwYXJhbXNbJ25hJ10gIT09IHRoaXMub2xkQW5jZXJ0b3JJZDtcbiAgICAgICAgICAgICAgICB0aGlzLm9sZEFuY2VydG9ySWQgPSBwYXJhbXNbJ25hJ107XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhclNlYXJjaChoYXNBbmNlc3RvckNoYW5nZWQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uQ29uZGl0aW9uVmFsdWUgPSB7ZW1wdHk6IHt9fTtcbiAgICAgICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWJzID0gW107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbjogTGl0ZXJhbCA9IHt9O1xuICAgICAgICAgICAgY29uZGl0aW9uW3RoaXMuYW5jZXN0b3JSZWxhdGlvbk5hbWVdID0gbmF2aWdhdGlvbkNvbmRpdGlvblZhbHVlO1xuICAgICAgICAgICAgY29uc3QgdmFyaWFibGVzOiBRdWVyeVZhcmlhYmxlcyA9IHtmaWx0ZXI6IHtncm91cHM6IFt7Y29uZGl0aW9uczogW2NvbmRpdGlvbl19XX19O1xuXG4gICAgICAgICAgICAvLyB0b2RvIDogY2hlY2sgd2h5IHdpdGhvdXQgXCJhcyBWYWxsXCIgaXQgZXJyb3JzLiBWYWxsIGlzIHN1cHBvc2VkIHRvIGJlIFF1ZXJ5VmFyaWFibGVzLCBhbmQgZmlsdGVyIHRvby5cbiAgICAgICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5zZXQoJ25hdmlnYXRpb24nLCB2YXJpYWJsZXMgYXMgRXh0cmFjdFZhbGw8VFNlcnZpY2U+KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RGF0YU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxQYWdpbmF0ZWREYXRhPE5hdmlnYWJsZUl0ZW08RXh0cmFjdFRhbGxPbmU8VFNlcnZpY2U+Pj4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZS53YXRjaEFsbCh0aGlzLnZhcmlhYmxlc01hbmFnZXIgYXMgdW5rbm93biBhcyBhbnkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIC8vIE9uIGVhY2ggZGF0YSBhcnJpdmluZywgd2UgcXVlcnkgY2hpbGRyZW4gY291bnQgdG8gc2hvdy9oaWRlIGNoZXZyb25cbiAgICAgICAgICAgICAgICBjb25zdCBuYXZpZ2FibGVJdGVtczogTmF2aWdhYmxlSXRlbTxFeHRyYWN0VGFsbE9uZTxUU2VydmljZT4+W10gPSByZXN1bHQuaXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuYXZpZ2FibGVJdGVtOiBOYXZpZ2FibGVJdGVtPEV4dHJhY3RUYWxsT25lPFRTZXJ2aWNlPj4gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtOiBpdGVtIGFzIEV4dHJhY3RUYWxsT25lPFRTZXJ2aWNlPixcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc05hdmlnYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbjogTGl0ZXJhbCA9IHt9O1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25bdGhpcy5hbmNlc3RvclJlbGF0aW9uTmFtZV0gPSB7aGF2ZToge3ZhbHVlczogW2l0ZW0uaWRdfX07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlczogUXVlcnlWYXJpYWJsZXMgPSB7ZmlsdGVyOiB7Z3JvdXBzOiBbe2NvbmRpdGlvbnM6IFtjb25kaXRpb25dfV19fTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBxdm0gPSBuZXcgTmF0dXJhbFF1ZXJ5VmFyaWFibGVzTWFuYWdlcigpO1xuICAgICAgICAgICAgICAgICAgICBxdm0uc2V0KCd2YXJpYWJsZXMnLCB2YXJpYWJsZXMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UuY291bnQocXZtKS5zdWJzY3JpYmUoY291bnQgPT4gKG5hdmlnYWJsZUl0ZW0uaGFzTmF2aWdhdGlvbiA9IGNvdW50ID4gMCkpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuYXZpZ2FibGVJdGVtO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgbmF2aWdhYmxlUmVzdWx0OiBQYWdpbmF0ZWREYXRhPE5hdmlnYWJsZUl0ZW08RXh0cmFjdFRhbGxPbmU8VFNlcnZpY2U+Pj4gPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IG5hdmlnYWJsZUl0ZW1zLFxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gbmF2aWdhYmxlUmVzdWx0O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlYXJjaEFuZFJlZnJlc2hMaXN0KG5hdHVyYWxTZWFyY2hTZWxlY3Rpb25zOiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9ucyk6IHZvaWQge1xuICAgICAgICAvLyBDbGVhciBuYXZpZ2F0aW9uIGZpbHRlciBpZiB0aGVyZSBpcyBhIHNlYXJjaFxuICAgICAgICBpZiAobmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMuc29tZShzID0+IHMubGVuZ3RoKSkge1xuICAgICAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLnNldCgnbmF2aWdhdGlvbicsIG51bGwpO1xuICAgICAgICAgICAgdGhpcy5icmVhZGNydW1icyA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VwZXIudHJhbnNsYXRlU2VhcmNoQW5kUmVmcmVzaExpc3QobmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhclNlYXJjaChyZXNldFBhZ2luYXRpb24gPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMgPSBbW11dO1xuICAgICAgICBzdXBlci5zZWFyY2goW1tdXSwgdW5kZWZpbmVkLCByZXNldFBhZ2luYXRpb24pO1xuICAgICAgICB0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0SW5TdG9yYWdlKCducycsIG51bGwsIHRoaXMuZ2V0U3RvcmFnZUtleSgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VhcmNoKFxuICAgICAgICBuYXR1cmFsU2VhcmNoU2VsZWN0aW9uczogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMsXG4gICAgICAgIG5hdmlnYXRpb25FeHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzLFxuICAgICAgICByZXNldFBhZ2luYXRpb24gPSB0cnVlLFxuICAgICk6IHZvaWQge1xuICAgICAgICB0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0SW5VcmwoJ25hJywgbnVsbCwgdGhpcy5yb3V0ZSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBzdXBlci5zZWFyY2gobmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMsIG5hdmlnYXRpb25FeHRyYXMsIHJlc2V0UGFnaW5hdGlvbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybiBhbiBhcnJheSBmb3Igcm91dGVyIGxpbmsgdXNhZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2hpbGRMaW5rKGFuY2VzdG9yOiB7aWQ6IHN0cmluZ30gfCBudWxsKTogUm91dGVyTGlua1sncm91dGVyTGluayddIHtcbiAgICAgICAgaWYgKGFuY2VzdG9yICYmIGFuY2VzdG9yLmlkKSB7XG4gICAgICAgICAgICByZXR1cm4gWycuJywge25hOiBhbmNlc3Rvci5pZH1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFsnLicsIHt9XTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlcHRoIGlzIGxpbWl0ZWQgYnkgcXVlcmllc1xuICAgICAqIEBwYXJhbSBpdGVtIHdpdGggYW4gYW5jZXN0b3IgcmVsYXRpb24gKG11c3QgbWF0Y2ggYW5jZXN0b3JSZWxhdGlvbk5hbWUgYXR0cmlidXRlKVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXRCcmVhZGNydW1iKGl0ZW06IEJyZWFkY3J1bWJJdGVtKTogQnJlYWRjcnVtYkl0ZW1bXSB7XG4gICAgICAgIGNvbnN0IGFuY2VzdG9yID0gaXRlbVt0aGlzLmFuY2VzdG9yUmVsYXRpb25OYW1lXTtcbiAgICAgICAgaWYgKGFuY2VzdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRCcmVhZGNydW1iKGFuY2VzdG9yKS5jb25jYXQoW2l0ZW1dKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbaXRlbV07XG4gICAgfVxufVxuIl19
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbmF2aWdhYmxlLWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvY2xhc3Nlcy9hYnN0cmFjdC1uYXZpZ2FibGUtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFZLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUc5QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsNEJBQTRCLEVBQWlCLE1BQU0sMEJBQTBCLENBQUM7QUFFdEYsT0FBTyxFQUFDLEtBQUssRUFBYSxNQUFNLE1BQU0sQ0FBQzs7QUFZdkM7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sNEJBY1QsU0FBUSxtQkFBOEY7SUFZdEcsWUFBbUIsT0FBaUIsRUFBRSxRQUFrQjtRQUNwRCxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBVjdCOztXQUVHO1FBQ2EseUJBQW9CLEdBQUcsUUFBUSxDQUFDO1FBRXhDLGtCQUFhLEdBQWtCLElBQUksQ0FBQztRQUVyQyxnQkFBVyxHQUFxQixFQUFFLENBQUM7SUFJMUMsQ0FBQztJQUVNLFFBQVE7UUFDWCxnRkFBZ0Y7UUFDaEYseURBQXlEO1FBQ3pELGtGQUFrRjtRQUNsRixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakMsc0RBQXNEO1lBQ3RELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNkLE9BQU87YUFDVjtZQUVELElBQUksd0JBQXdCLEdBQWUsSUFBSSxDQUFDO1lBRWhELGlEQUFpRDtZQUNqRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDZCx3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QUMsUUFBNkI7UUFDN0MsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN6QixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDO1NBQ25DO2FBQU07WUFDSCxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGFBQWEsQ0FBQyxJQUFvQjtRQUN4QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDakQsSUFBSSxRQUFRLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN0RDtRQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDOzt5SEF6SlEsNEJBQTRCOzZHQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFEeEMsU0FBUztvSEFxQlUsb0JBQW9CO3NCQUFuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRXh0cmFzLCBSb3V0ZXJMaW5rfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHttYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtOYXR1cmFsU2VhcmNoU2VsZWN0aW9uc30gZnJvbSAnLi4vbW9kdWxlcy9zZWFyY2gvdHlwZXMvdmFsdWVzJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9hYnN0cmFjdC1tb2RlbC5zZXJ2aWNlJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0TGlzdH0gZnJvbSAnLi9hYnN0cmFjdC1saXN0JztcbmltcG9ydCB7UGFnaW5hdGVkRGF0YX0gZnJvbSAnLi9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge05hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIsIFF1ZXJ5VmFyaWFibGVzfSBmcm9tICcuL3F1ZXJ5LXZhcmlhYmxlLW1hbmFnZXInO1xuaW1wb3J0IHtFeHRyYWN0VGFsbCwgRXh0cmFjdFRhbGxPbmUsIEV4dHJhY3RWYWxsLCBMaXRlcmFsfSBmcm9tICcuLi90eXBlcy90eXBlcyc7XG5pbXBvcnQge2ZpcnN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxudHlwZSBCcmVhZGNydW1iSXRlbSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbn0gJiBMaXRlcmFsO1xuXG5leHBvcnQgdHlwZSBOYXZpZ2FibGVJdGVtPFQ+ID0ge1xuICAgIGl0ZW06IFQ7XG4gICAgaGFzTmF2aWdhdGlvbjogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogVGhpcyBjbGFzcyBoZWxwcyBtYW5hZ2luZyBhIGxpc3Qgb2YgcGFnaW5hdGVkIGl0ZW1zIHRoYXQgY2FuIGJlIGZpbHRlcmVkLFxuICogc2VsZWN0ZWQsIGFuZCB0aGVuIGJ1bGsgYWN0aW9ucyBjYW4gYmUgcGVyZm9ybWVkIG9uIHNlbGVjdGlvbi5cbiAqXG4gKiBAZHluYW1pY1xuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBOYXR1cmFsQWJzdHJhY3ROYXZpZ2FibGVMaXN0PFxuICAgICAgICBUU2VydmljZSBleHRlbmRzIE5hdHVyYWxBYnN0cmFjdE1vZGVsU2VydmljZTxcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIFBhZ2luYXRlZERhdGE8e2lkOiBzdHJpbmd9PixcbiAgICAgICAgICAgIFF1ZXJ5VmFyaWFibGVzLFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55XG4gICAgICAgID4sXG4gICAgPlxuICAgIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0TGlzdDxUU2VydmljZSwgUGFnaW5hdGVkRGF0YTxOYXZpZ2FibGVJdGVtPEV4dHJhY3RUYWxsPFRTZXJ2aWNlPlsnaXRlbXMnXVswXT4+PlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIGZpbHRlciBmb3IgY2hpbGQgaXRlbXMgdG8gYWNjZXNzIGFuY2VzdG9yIGl0ZW1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgYW5jZXN0b3JSZWxhdGlvbk5hbWUgPSAncGFyZW50JztcblxuICAgIHByaXZhdGUgb2xkQW5jZXJ0b3JJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgYnJlYWRjcnVtYnM6IEJyZWFkY3J1bWJJdGVtW10gPSBbXTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihzZXJ2aWNlOiBUU2VydmljZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKHNlcnZpY2UsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIEluIGZhY3QsIFwibmFcIiBhbmQgXCJuc1wiIGtleSBtYXkgZXhpc3QgYXQgdGhlIHNhbWUgdGltZSBpbiB1cmwgKGJ1dCBzaG91bGRuJ3QpLlxuICAgICAgICAvLyBXaGVuIHRoaXMgaGFwcGVucywgb24gcGFnZSByZWxvYWQsIHNlYXJjaCBpcyBwcmlvcml0eS5cbiAgICAgICAgLy8gXCJuYVwiIGlzIGEgdHJhaWxpbmcgcGFyYW0sIGFuZCBzaG91bGQgYmUgY29uc2lkZXJlZCBvbmx5IHdoZW4gdGhlcmUgaXMgbm8gc2VhcmNoXG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgICAgICAgLy8gXCJuc1wiIHN0YW5kcyBmb3IgbmF0dXJhbC1zZWFyY2ggdG8gYmUgc2hvcnRlciBpbiB1cmxcbiAgICAgICAgICAgIGlmIChwYXJhbXNbJ25zJ10pIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBuYXZpZ2F0aW9uQ29uZGl0aW9uVmFsdWU6IGFueSB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgICAgICAvLyBcIm5hXCIgc3RhbmRzIGZvciBcIm5hdmlnYXRpb25cIiAocmVsYXRpb24pIGluIHVybFxuICAgICAgICAgICAgaWYgKHBhcmFtc1snbmEnXSkge1xuICAgICAgICAgICAgICAgIG5hdmlnYXRpb25Db25kaXRpb25WYWx1ZSA9IHtoYXZlOiB7dmFsdWVzOiBbcGFyYW1zWyduYSddXX19O1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5nZXRPbmUocGFyYW1zWyduYSddKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE8gY2FzdGluZyBzaG91bGQgZGlzYXBwZWFyIGFuZCBpbnN0ZWFkIHRoaXMgY2xhc3Mgc2hvdWxkIGVuZm9yY2VcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHNlcnZpY2UgdG8gc3VwcG9ydCBUb25lIHdpdGggYSBuZXcgZ2VuZXJpY1xuICAgICAgICAgICAgICAgICAgICAoYW5jZXN0b3I6IEJyZWFkY3J1bWJJdGVtKSA9PiAodGhpcy5icmVhZGNydW1icyA9IHRoaXMuZ2V0QnJlYWRjcnVtYihhbmNlc3RvcikpLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBoYXNBbmNlc3RvckNoYW5nZWQgPSBwYXJhbXNbJ25hJ10gIT09IHRoaXMub2xkQW5jZXJ0b3JJZDtcbiAgICAgICAgICAgICAgICB0aGlzLm9sZEFuY2VydG9ySWQgPSBwYXJhbXNbJ25hJ107XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhclNlYXJjaChoYXNBbmNlc3RvckNoYW5nZWQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uQ29uZGl0aW9uVmFsdWUgPSB7ZW1wdHk6IHt9fTtcbiAgICAgICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWJzID0gW107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbjogTGl0ZXJhbCA9IHt9O1xuICAgICAgICAgICAgY29uZGl0aW9uW3RoaXMuYW5jZXN0b3JSZWxhdGlvbk5hbWVdID0gbmF2aWdhdGlvbkNvbmRpdGlvblZhbHVlO1xuICAgICAgICAgICAgY29uc3QgdmFyaWFibGVzOiBRdWVyeVZhcmlhYmxlcyA9IHtmaWx0ZXI6IHtncm91cHM6IFt7Y29uZGl0aW9uczogW2NvbmRpdGlvbl19XX19O1xuXG4gICAgICAgICAgICAvLyB0b2RvIDogY2hlY2sgd2h5IHdpdGhvdXQgXCJhcyBWYWxsXCIgaXQgZXJyb3JzLiBWYWxsIGlzIHN1cHBvc2VkIHRvIGJlIFF1ZXJ5VmFyaWFibGVzLCBhbmQgZmlsdGVyIHRvby5cbiAgICAgICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5zZXQoJ25hdmlnYXRpb24nLCB2YXJpYWJsZXMgYXMgRXh0cmFjdFZhbGw8VFNlcnZpY2U+KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RGF0YU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxQYWdpbmF0ZWREYXRhPE5hdmlnYWJsZUl0ZW08RXh0cmFjdFRhbGxPbmU8VFNlcnZpY2U+Pj4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZS53YXRjaEFsbCh0aGlzLnZhcmlhYmxlc01hbmFnZXIgYXMgdW5rbm93biBhcyBhbnkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIC8vIE9uIGVhY2ggZGF0YSBhcnJpdmluZywgd2UgcXVlcnkgY2hpbGRyZW4gY291bnQgdG8gc2hvdy9oaWRlIGNoZXZyb25cbiAgICAgICAgICAgICAgICBjb25zdCBuYXZpZ2FibGVJdGVtczogTmF2aWdhYmxlSXRlbTxFeHRyYWN0VGFsbE9uZTxUU2VydmljZT4+W10gPSByZXN1bHQuaXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuYXZpZ2FibGVJdGVtOiBOYXZpZ2FibGVJdGVtPEV4dHJhY3RUYWxsT25lPFRTZXJ2aWNlPj4gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtOiBpdGVtIGFzIEV4dHJhY3RUYWxsT25lPFRTZXJ2aWNlPixcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc05hdmlnYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbjogTGl0ZXJhbCA9IHt9O1xuICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25bdGhpcy5hbmNlc3RvclJlbGF0aW9uTmFtZV0gPSB7aGF2ZToge3ZhbHVlczogW2l0ZW0uaWRdfX07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlczogUXVlcnlWYXJpYWJsZXMgPSB7ZmlsdGVyOiB7Z3JvdXBzOiBbe2NvbmRpdGlvbnM6IFtjb25kaXRpb25dfV19fTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBxdm0gPSBuZXcgTmF0dXJhbFF1ZXJ5VmFyaWFibGVzTWFuYWdlcigpO1xuICAgICAgICAgICAgICAgICAgICBxdm0uc2V0KCd2YXJpYWJsZXMnLCB2YXJpYWJsZXMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb3VudChxdm0pXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShjb3VudCA9PiAobmF2aWdhYmxlSXRlbS5oYXNOYXZpZ2F0aW9uID0gY291bnQgPiAwKSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5hdmlnYWJsZUl0ZW07XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBuYXZpZ2FibGVSZXN1bHQ6IFBhZ2luYXRlZERhdGE8TmF2aWdhYmxlSXRlbTxFeHRyYWN0VGFsbE9uZTxUU2VydmljZT4+PiA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICBpdGVtczogbmF2aWdhYmxlSXRlbXMsXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBuYXZpZ2FibGVSZXN1bHQ7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VhcmNoQW5kUmVmcmVzaExpc3QobmF0dXJhbFNlYXJjaFNlbGVjdGlvbnM6IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb25zKTogdm9pZCB7XG4gICAgICAgIC8vIENsZWFyIG5hdmlnYXRpb24gZmlsdGVyIGlmIHRoZXJlIGlzIGEgc2VhcmNoXG4gICAgICAgIGlmIChuYXR1cmFsU2VhcmNoU2VsZWN0aW9ucy5zb21lKHMgPT4gcy5sZW5ndGgpKSB7XG4gICAgICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuc2V0KCduYXZpZ2F0aW9uJywgbnVsbCk7XG4gICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWJzID0gW107XG4gICAgICAgIH1cblxuICAgICAgICBzdXBlci50cmFuc2xhdGVTZWFyY2hBbmRSZWZyZXNoTGlzdChuYXR1cmFsU2VhcmNoU2VsZWN0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyU2VhcmNoKHJlc2V0UGFnaW5hdGlvbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXR1cmFsU2VhcmNoU2VsZWN0aW9ucyA9IFtbXV07XG4gICAgICAgIHN1cGVyLnNlYXJjaChbW11dLCB1bmRlZmluZWQsIHJlc2V0UGFnaW5hdGlvbik7XG4gICAgICAgIHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RJblN0b3JhZ2UoJ25zJywgbnVsbCwgdGhpcy5nZXRTdG9yYWdlS2V5KCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWFyY2goXG4gICAgICAgIG5hdHVyYWxTZWFyY2hTZWxlY3Rpb25zOiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9ucyxcbiAgICAgICAgbmF2aWdhdGlvbkV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMsXG4gICAgICAgIHJlc2V0UGFnaW5hdGlvbiA9IHRydWUsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RJblVybCgnbmEnLCBudWxsLCB0aGlzLnJvdXRlKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHN1cGVyLnNlYXJjaChuYXR1cmFsU2VhcmNoU2VsZWN0aW9ucywgbmF2aWdhdGlvbkV4dHJhcywgcmVzZXRQYWdpbmF0aW9uKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGFuIGFycmF5IGZvciByb3V0ZXIgbGluayB1c2FnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDaGlsZExpbmsoYW5jZXN0b3I6IHtpZDogc3RyaW5nfSB8IG51bGwpOiBSb3V0ZXJMaW5rWydyb3V0ZXJMaW5rJ10ge1xuICAgICAgICBpZiAoYW5jZXN0b3IgJiYgYW5jZXN0b3IuaWQpIHtcbiAgICAgICAgICAgIHJldHVybiBbJy4nLCB7bmE6IGFuY2VzdG9yLmlkfV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gWycuJywge31dO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVwdGggaXMgbGltaXRlZCBieSBxdWVyaWVzXG4gICAgICogQHBhcmFtIGl0ZW0gd2l0aCBhbiBhbmNlc3RvciByZWxhdGlvbiAobXVzdCBtYXRjaCBhbmNlc3RvclJlbGF0aW9uTmFtZSBhdHRyaWJ1dGUpXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldEJyZWFkY3J1bWIoaXRlbTogQnJlYWRjcnVtYkl0ZW0pOiBCcmVhZGNydW1iSXRlbVtdIHtcbiAgICAgICAgY29uc3QgYW5jZXN0b3IgPSBpdGVtW3RoaXMuYW5jZXN0b3JSZWxhdGlvbk5hbWVdO1xuICAgICAgICBpZiAoYW5jZXN0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEJyZWFkY3J1bWIoYW5jZXN0b3IpLmNvbmNhdChbaXRlbV0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtpdGVtXTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -40,9 +40,10 @@ export function cancellableTimeout(canceller, milliSeconds = 0) {
|
|
|
40
40
|
export function debug(debugName) {
|
|
41
41
|
return tap({
|
|
42
42
|
subscribe: () => console.log('SUBSCRIBE', debugName),
|
|
43
|
+
unsubscribe: () => console.log('UNSUBSCRIBE', debugName),
|
|
43
44
|
next: value => console.log('NEXT', debugName, value),
|
|
44
45
|
error: error => console.log('ERROR', debugName, error),
|
|
45
46
|
complete: () => console.log('COMPLETE', debugName),
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhqcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9jbGFzc2VzL3J4anMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QyxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQkc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsU0FBOEIsRUFBRSxlQUF1QixDQUFDO0lBQ3ZGLE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDM0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDcEIsR0FBRyxDQUFDLEdBQUcsRUFBRTtRQUNMLE9BQU87SUFDWCxDQUFDLENBQUMsQ0FDTCxDQUFDO0FBQ04sQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUksU0FBaUI7SUFDdEMsT0FBTyxHQUFHLENBQUk7UUFDVixTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO1FBQ3BELFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUM7UUFDeEQsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQztRQUNwRCxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDO1FBQ3RELFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUM7S0FDckQsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFrZSwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBCZWhhdmUgbGlrZSBzZXRUaW1lb3V0KCksIGJ1dCB3aXRoIGEgbWFuZGF0b3J5IGNhbmNlbCBtZWNoYW5pc20uXG4gKlxuICogVGhpcyBpcyB0eXBpY2FsbHkgdXNlZnVsIHRvIHJlcGxhY2Ugc2V0VGltZW91dCgpIGluIGNvbXBvbmVudHMgd2hlcmUgdGhlIGNhbGxiYWNrXG4gKiB3b3VsZCBjcmFzaCBpZiBleGVjdXRlZCBhZnRlciB0aGUgY29tcG9uZW50IGRlc3RydWN0aW9uLiBUaGF0IGNhbiBlYXNpbHkgaGFwcGVuXG4gKiB3aGVuIHRoZSB1c2VyIG5hdmlnYXRlIHF1aWNrbHkgYmV0d2VlbiBwYWdlcy5cbiAqXG4gKiBUeXBpY2FsIHVzYWdlIGluIGEgY29tcG9uZW50IHdvdWxkIGJlOlxuICpcbiAqIGBgYHRzXG4gKiBjYW5jZWxsYWJsZVRpbWVvdXQodGhpcy5uZ1Vuc3Vic2NyaWJlKS5zdWJzY3JpYmUobXlDYWxsYmFjayk7XG4gKiBgYGBcbiAqXG4gKiBJbnN0ZWFkIG9mIHRoZSBtb3JlIGVycm9yIHByb25lOlxuICpcbiAqIGBgYHRzXG4gKiBwdWJsaWMgZm9vKCk6IHZvaWQge1xuICogICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQobXlDYWxsQmFjayk7XG4gKiB9XG4gKlxuICogcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICogICAgIGlmICh0aGlzLnRpbWVvdXQpIHtcbiAqICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG4gKiAgICAgICAgIHRoaXMudGltZW91dCA9IG51bGw7XG4gKiAgICAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FuY2VsbGFibGVUaW1lb3V0KGNhbmNlbGxlcjogT2JzZXJ2YWJsZTx1bmtub3duPiwgbWlsbGlTZWNvbmRzOiBudW1iZXIgPSAwKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRpbWVyKG1pbGxpU2Vjb25kcykucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgdGFrZVVudGlsKGNhbmNlbGxlciksXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0pLFxuICAgICk7XG59XG5cbi8qKlxuICogRm9yIGRlYnVnZ2luZyBwdXJwb3NlIG9ubHksIHdpbGwgZHVtcCBpbiBjb25zb2xlIGV2ZXJ5dGhpbmcgdGhhdCBoYXBwZW4gdG9cbiAqIHRoZSBvYnNlcnZhYmxlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWJ1ZzxUPihkZWJ1Z05hbWU6IHN0cmluZyk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gICAgcmV0dXJuIHRhcDxUPih7XG4gICAgICAgIHN1YnNjcmliZTogKCkgPT4gY29uc29sZS5sb2coJ1NVQlNDUklCRScsIGRlYnVnTmFtZSksXG4gICAgICAgIHVuc3Vic2NyaWJlOiAoKSA9PiBjb25zb2xlLmxvZygnVU5TVUJTQ1JJQkUnLCBkZWJ1Z05hbWUpLFxuICAgICAgICBuZXh0OiB2YWx1ZSA9PiBjb25zb2xlLmxvZygnTkVYVCcsIGRlYnVnTmFtZSwgdmFsdWUpLFxuICAgICAgICBlcnJvcjogZXJyb3IgPT4gY29uc29sZS5sb2coJ0VSUk9SJywgZGVidWdOYW1lLCBlcnJvciksXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiBjb25zb2xlLmxvZygnQ09NUExFVEUnLCBkZWJ1Z05hbWUpLFxuICAgIH0pO1xufVxuIl19
|
|
@@ -22,7 +22,7 @@ export function unique(fieldName, excludedId, modelService) {
|
|
|
22
22
|
};
|
|
23
23
|
const qvm = new NaturalQueryVariablesManager();
|
|
24
24
|
qvm.set('variables', variables);
|
|
25
|
-
return timer(500).pipe(switchMap(() => modelService.count(qvm).pipe(map(count => (count > 0 ? { duplicateValue: count } : null)))));
|
|
25
|
+
return timer(500).pipe(switchMap(() => modelService.count(qvm).pipe(first(), map(count => (count > 0 ? { duplicateValue: count } : null)))));
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
@@ -176,4 +176,4 @@ const twoDecimals = decimal(2);
|
|
|
176
176
|
export function money(control) {
|
|
177
177
|
return twoDecimals(control) ? { money: true } : null;
|
|
178
178
|
}
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9jbGFzc2VzL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILFNBQVMsRUFFVCxTQUFTLEVBR1QsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFhLEVBQUUsRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTdELE9BQU8sRUFBQyw0QkFBNEIsRUFBaUIsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sT0FBTyxDQUFDO0FBR2hDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FDbEIsU0FBaUIsRUFDakIsVUFBcUMsRUFDckMsWUFBc0I7SUFFdEIsT0FBTyxDQUFDLE9BQXdCLEVBQXVDLEVBQUU7UUFDckUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2xDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25CO1FBRUQsTUFBTSxTQUFTLEdBQXlCLEVBQUUsQ0FBQztRQUMzQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBQyxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBQyxFQUFDLENBQUM7UUFFdkQsSUFBSSxVQUFVLEVBQUU7WUFDWixTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUMsRUFBQyxDQUFDO1NBQzdEO1FBRUQsTUFBTSxTQUFTLEdBQW1CO1lB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Q0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUUvQjs7R0FFRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBd0I7SUFDMUMsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIEFzeW5jVmFsaWRhdG9yRm4sXG4gICAgRm9ybUFycmF5LFxuICAgIEZvcm1Db250cm9sU3RhdHVzLFxuICAgIEZvcm1Hcm91cCxcbiAgICBWYWxpZGF0aW9uRXJyb3JzLFxuICAgIFZhbGlkYXRvckZuLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2YsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9hYnN0cmFjdC1tb2RlbC5zZXJ2aWNlJztcbmltcG9ydCB7TmF0dXJhbFF1ZXJ5VmFyaWFibGVzTWFuYWdlciwgUXVlcnlWYXJpYWJsZXN9IGZyb20gJy4vcXVlcnktdmFyaWFibGUtbWFuYWdlcic7XG5pbXBvcnQge3ZhbGlkVGxkc30gZnJvbSAnLi90bGQnO1xuaW1wb3J0IHtGaWx0ZXJHcm91cENvbmRpdGlvbn0gZnJvbSAnLi4vbW9kdWxlcy9zZWFyY2gvY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lLnR5cGVzJztcblxuLyoqXG4gKiBSZXR1cm5zIGFuIGFzeW5jIHZhbGlkYXRvciBmdW5jdGlvbiB0aGF0IGNoZWNrcyB0aGF0IHRoZSBmb3JtIGNvbnRyb2wgdmFsdWUgaXMgdW5pcXVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bmlxdWU8VFNlcnZpY2UgZXh0ZW5kcyBOYXR1cmFsQWJzdHJhY3RNb2RlbFNlcnZpY2U8YW55LCBhbnksIGFueSwgYW55LCBhbnksIGFueSwgYW55LCBhbnksIGFueSwgYW55Pj4oXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXG4gICAgZXhjbHVkZWRJZDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICBtb2RlbFNlcnZpY2U6IFRTZXJ2aWNlLFxuKTogQXN5bmNWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiA9PiB7XG4gICAgICAgIGlmICghY29udHJvbC52YWx1ZSB8fCAhY29udHJvbC5kaXJ0eSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29uZGl0aW9uOiBGaWx0ZXJHcm91cENvbmRpdGlvbiA9IHt9O1xuICAgICAgICBjb25kaXRpb25bZmllbGROYW1lXSA9IHtlcXVhbDoge3ZhbHVlOiBjb250cm9sLnZhbHVlfX07XG5cbiAgICAgICAgaWYgKGV4Y2x1ZGVkSWQpIHtcbiAgICAgICAgICAgIGNvbmRpdGlvblsnaWQnXSA9IHtlcXVhbDoge3ZhbHVlOiBleGNsdWRlZElkLCBub3Q6IHRydWV9fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhcmlhYmxlczogUXVlcnlWYXJpYWJsZXMgPSB7XG4gICAgICAgICAgICBwYWdpbmF0aW9uOiB7cGFnZUluZGV4OiAwLCBwYWdlU2l6ZTogMH0sXG4gICAgICAgICAgICBmaWx0ZXI6IHtncm91cHM6IFt7Y29uZGl0aW9uczogW2NvbmRpdGlvbl19XX0sXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgcXZtID0gbmV3IE5hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIoKTtcbiAgICAgICAgcXZtLnNldCgndmFyaWFibGVzJywgdmFyaWFibGVzKTtcblxuICAgICAgICByZXR1cm4gdGltZXIoNTAwKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IG1vZGVsU2VydmljZS5jb3VudChxdm0pLnBpcGUobWFwKGNvdW50ID0+IChjb3VudCA+IDAgPyB7ZHVwbGljYXRlVmFsdWU6IGNvdW50fSA6IG51bGwpKSkpLFxuICAgICAgICApO1xuICAgIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhbiBhc3luYyB2YWxpZGF0b3IgZnVuY3Rpb24gdGhhdCBjaGVja3MgdGhhdCB0aGUgZm9ybSBjb250cm9sIHZhbHVlIGlzIGF2YWlsYWJsZVxuICpcbiAqIFNpbWlsYXIgdG8gYHVuaXF1ZWAgdmFsaWRhdG9yLCBidXQgYWxsb3dzIHRvIHVzZSBhIGN1c3RvbSBxdWVyeSBmb3Igd2hlbiB0aGUgY2xpZW50IGRvZXNcbiAqIG5vdCBoYXZlIHBlcm1pc3Npb25zIGZvciBgbW9kZWxTZXJ2aWNlLmNvdW50KClgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXZhaWxhYmxlKFxuICAgIGdldEF2YWlsYWJsZVF1ZXJ5OiAodmFsdWU6IHN0cmluZywgZXhjbHVkZWRJZDogc3RyaW5nIHwgbnVsbCkgPT4gT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICBleGNsdWRlZElkOiBzdHJpbmcgfCBudWxsID0gbnVsbCxcbik6IEFzeW5jVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogT2JzZXJ2YWJsZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4gPT4ge1xuICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWUgfHwgIWNvbnRyb2wuZGlydHkpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aW1lcig1MDApLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICBnZXRBdmFpbGFibGVRdWVyeShjb250cm9sLnZhbHVlLCBleGNsdWRlZElkKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoaXNBdmFpbGFibGUgPT4gKGlzQXZhaWxhYmxlID8gbnVsbCA6IHthdmFpbGFibGU6IHRydWV9KSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gYWxsIGVycm9ycyByZWN1cnNpdmVseSBmb3IgdGhlIGdpdmVuIEZvcm0gb3IgY29udHJvbFxuICovXG5leHBvcnQgZnVuY3Rpb24gY29sbGVjdEVycm9ycyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8dW5rbm93bj4pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgbGV0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwIHx8IGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgICAgZXJyb3JzID0gT2JqZWN0LmVudHJpZXMoY29udHJvbC5jb250cm9scykucmVkdWNlKChhY2M6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsLCBba2V5LCBjaGlsZENvbnRyb2xdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZEVycm9ycyA9IGNvbGxlY3RFcnJvcnMoY2hpbGRDb250cm9sKTtcbiAgICAgICAgICAgIGlmIChjaGlsZEVycm9ycykge1xuICAgICAgICAgICAgICAgIGFjYyA9IHsuLi5hY2MsIFtrZXldOiBjaGlsZEVycm9yc307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCBudWxsKTtcbiAgICB9XG5cbiAgICBpZiAoIWVycm9ycykge1xuICAgICAgICBlcnJvcnMgPSBjb250cm9sLmVycm9ycztcbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JzO1xufVxuXG4vKipcbiAqIEZvcmNlIHZhbGlkYXRpb24gb2YgYWxsIGZvcm0gY29udHJvbHMgcmVjdXJzaXZlbHkuXG4gKlxuICogUmVjdXJzaXZlbHkgbWFyayBkZXNjZW5kaW5nIGZvcm0gdHJlZSBhcyBkaXJ0eSBhbmQgdG91Y2hlZCBpbiBvcmRlciB0byBzaG93IGFsbCBpbnZhbGlkIGZpZWxkcyBvbiBkZW1hbmQuXG4gKiBUeXBpY2FsbHkgdXNlZCB3aGVuIGNyZWF0aW5nIGEgbmV3IG9iamVjdCBhbmQgdXNlciBjbGlja2VkIG9uIGNyZWF0ZSBidXR0b24gYnV0IHNldmVyYWwgZmllbGRzIHdlcmUgbm90XG4gKiB0b3VjaGVkIGFuZCBhcmUgaW52YWxpZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQWxsRm9ybUNvbnRyb2xzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDx1bmtub3duPik6IHZvaWQge1xuICAgIGNvbnRyb2wubWFya0FzRGlydHkoe29ubHlTZWxmOiB0cnVlfSk7XG4gICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKHtvbmx5U2VsZjogdHJ1ZX0pO1xuXG4gICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXAgfHwgY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgICBmb3IgKGNvbnN0IFssIGNoaWxkXSBvZiBPYmplY3QuZW50cmllcyhjb250cm9sLmNvbnRyb2xzKSkge1xuICAgICAgICAgICAgdmFsaWRhdGVBbGxGb3JtQ29udHJvbHMoY2hpbGQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBpc1ZhbGlkKHN0YXR1czogRm9ybUNvbnRyb2xTdGF0dXMpOiBzdGF0dXMgaXMgJ1ZBTElEJyB7XG4gICAgcmV0dXJuIHN0YXR1cyA9PT0gJ1ZBTElEJztcbn1cblxuLyoqXG4gKiBFbWl0cyBleGFjdGx5IDAgb3IgMSB0aW1lOlxuICpcbiAqIC0gaWYgdGhlIGZvcm0gaXMgVkFMSUQsIGVtaXRzIGltbWVkaWF0ZWx5XG4gKiAtIGlmIHRoZSBmb3JtIGlzIFBFTkRJTkcgZW1pdHMgaWYgaXQgY2hhbmdlcyBmcm9tIFBFTkRJTkcgdG8gVkFMSURcbiAqIC0gYW55IG90aGVyIGNhc2VzIHdpbGwgKipuZXZlcioqIGVtaXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlmVmFsaWQoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogT2JzZXJ2YWJsZTwnVkFMSUQnPiB7XG4gICAgY29uc3Qgb2JzZXJ2YWJsZSA9IGNvbnRyb2wucGVuZGluZyA/IGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKGZpcnN0KCkpIDogb2YoY29udHJvbC5zdGF0dXMpO1xuXG4gICAgcmV0dXJuIG9ic2VydmFibGUucGlwZShmaWx0ZXIoaXNWYWxpZCkpO1xufVxuXG4vLyBUaGlzIGlzIGlzIGFuIGFwcHJveGltYXRpb24gb2YgUkZDXzUzMjIgd2hlcmUgdGhlIGhvc3RuYW1lOlxuLy9cbi8vIC0gaXMgdG9vIHN0cmljdCBiZWNhdXNlIGl0IHJlamVjdHMgSVAgYWRkcmVzc1xuLy8gLSBpcyB0b28gbGF4IGJlY2F1c2UgaXQgYWNjZXB0cyBwcmV0dHkgbXVjaCBhbnl0aGluZyBlbHNlXG4vL1xuLy8gYnV0IHRoZSBUTEQgd2lsbCBiZSB2YWxpZGF0ZWQgYWdhaW5zdCBhIHdoaXRlbGlzdCBzbyB0aGF0IHNob3VsZCBtYWtlIHRoZSB3aG9sZSB0aGluZyBhY2NlcHRhYmxlXG5jb25zdCBSRkNfNTMyMiA9IC9eW2EtekEtWjAtOS4hIyQlJicqK1xcLz0/Xl9ge3x9fi1dK0BbXkAgXStcXC5bXkBdKyQvdTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBhbiBlbWFpbCBhZGRyZXNzIGFjY29yZGluZyB0byBSRkMsIGFuZCBhbHNvIHRoYXQgaXQgaXMgcHVibGljbHkgZGVsaXZlcmFibGUgKG5vdCBcInJvb3RAbG9jYWxob3N0XCIgb3IgXCJyb290QDEyNy4wLjAuMVwiKVxuICpcbiAqIFRoaXMgaXMgbWVhbnQgdG8gcmVwbGFjZSAqKmFsbCoqIHVzYWdlcyBvZiBBbmd1bGFyIHRvbyBwZXJtaXNzaXZlIGBWYWxpZGF0b3JzLmVtYWlsYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVsaXZlcmFibGVFbWFpbChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgLy8gZG9uJ3QgdmFsaWRhdGUgZW1wdHkgdmFsdWVzIHRvIGFsbG93IG9wdGlvbmFsIGNvbnRyb2xzXG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZXJyb3IgPSB7ZW1haWw6IHRydWV9O1xuICAgIGlmICh2YWx1ZS5sZW5ndGggPiAyNTQpIHtcbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICAgIGlmICghUkZDXzUzMjIudGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICAgIGNvbnN0IHRsZCA9IHZhbHVlLnNwbGl0KCcuJykucG9wKCk7XG4gICAgaWYgKCF2YWxpZFRsZHMuaW5jbHVkZXModGxkKSkge1xuICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogTmFpdmUgVVJMIHZhbGlkYXRvciBmb3IgXCJub3JtYWxcIiB3ZWIgbGlua3MsIHRoYXQgaXMgYSBiaXQgdG9vIHBlcm1pc3NpdmVcbiAqXG4gKiBJdCBlbmZvcmNlczpcbiAqXG4gKiAgICAgLSBodHRwL2h0dHBzIHByb3RvY29sXG4gKiAgICAgLSBvbmUgZG9tYWluXG4gKiAgICAgLSBvbmUgdGxkXG4gKlxuICogSXQgYWxsb3dzOlxuICpcbiAqICAgICAtIGFueSBudW1iZXIgb2Ygc3ViZG9tYWluc1xuICogICAgIC0gYW55IHBhcmFtZXRlcnNcbiAqICAgICAtIGFueSBmcmFnbWVudHNcbiAqICAgICAtIGFueSBjaGFyYWN0ZXJzIGZvciBhbnkgcGFydHMgKGRvZXMgbm90IGNvbmZvcm0gdG8gcmZjMTczOClcbiAqL1xuZXhwb3J0IGNvbnN0IHVybFZhbGlkYXRvciA9IFZhbGlkYXRvcnMucGF0dGVybigvXmh0dHBzPzpcXC9cXC8oPzpbXi5cXHNdK1xcLikrW14uXFxzXSskLyk7XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoYXQgdGhlIHZhbHVlIGlzIGFuIGludGVnZXIgKG5vbi1mbG9hdClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludGVnZXIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIC8vIERvbid0IHZhbGlkYXRlIGVtcHR5IHZhbHVlcyB0byBhbGxvdyBvcHRpb25hbCBjb250cm9sc1xuICAgIGlmIChjb250cm9sLnZhbHVlID09PSBudWxsIHx8IGNvbnRyb2wudmFsdWUgPT09IHVuZGVmaW5lZCB8fCBjb250cm9sLnZhbHVlID09PSAnJykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihwYXJzZUZsb2F0KGNvbnRyb2wudmFsdWUpKSA/IG51bGwgOiB7aW50ZWdlcjogdHJ1ZX07XG59XG5cbi8qKlxuICogVmFsaWRhdGUgdGhhdCB0aGUgdmFsdWUgaXMgYSBkZWNpbWFsIG51bWJlciB3aXRoIHVwIHRvIGBzY2FsZWAgZGlnaXRzXG4gKlxuICogVGhlIGVycm9yIGNvbnRhaW5zIHRoZSBleHBlY3RlZCBzY2FsZSwgc28gdGhhdCB0aGUgZXJyb3IgbWVzc2FnZSBjYW4gZXhwbGFpblxuICogaXQgdG8gdGhlIGVuZC11c2VyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVjaW1hbChzY2FsZTogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xuICAgIGNvbnN0IHJlZ0V4cCA9IG5ldyBSZWdFeHAoYF4tP1xcXFxkKyhcXFxcLlxcXFxkezAsJHtzY2FsZX19KT8kYCk7XG4gICAgcmV0dXJuIGNvbnRyb2wgPT4ge1xuICAgICAgICAvLyBEb24ndCB2YWxpZGF0ZSBlbXB0eSB2YWx1ZXMgdG8gYWxsb3cgb3B0aW9uYWwgY29udHJvbHNcbiAgICAgICAgaWYgKGNvbnRyb2wudmFsdWUgPT09IG51bGwgfHwgY29udHJvbC52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGNvbnRyb2wudmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gJycgKyBjb250cm9sLnZhbHVlO1xuICAgICAgICBpZiAodmFsdWUubWF0Y2gocmVnRXhwKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge2RlY2ltYWw6IHNjYWxlfTtcbiAgICB9O1xufVxuXG4vKipcbiAqIEZvciBpbnRlcm5hbCB1c2UgdG8gYXZvaWQgcmUtY3JlYXRpbmcgcmVnZXhwIG9uIGVhY2ggY2FsbCBvZiBgbW9uZXlgXG4gKi9cbmNvbnN0IHR3b0RlY2ltYWxzID0gZGVjaW1hbCgyKTtcblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IHRoZSB2YWx1ZSBpcyBhbiBhbW91bnQgb2YgbW9uZXksIG1lYW5pbmcgYSBudW1iZXIgd2l0aCBhdCBtb3N0IDIgZGVjaW1hbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vbmV5KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdHdvRGVjaW1hbHMoY29udHJvbCkgPyB7bW9uZXk6IHRydWV9IDogbnVsbDtcbn1cbiJdfQ==
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9jbGFzc2VzL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILFNBQVMsRUFFVCxTQUFTLEVBR1QsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFhLEVBQUUsRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTdELE9BQU8sRUFBQyw0QkFBNEIsRUFBaUIsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sT0FBTyxDQUFDO0FBR2hDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FDbEIsU0FBaUIsRUFDakIsVUFBcUMsRUFDckMsWUFBc0I7SUFFdEIsT0FBTyxDQUFDLE9BQXdCLEVBQXVDLEVBQUU7UUFDckUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2xDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25CO1FBRUQsTUFBTSxTQUFTLEdBQXlCLEVBQUUsQ0FBQztRQUMzQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBQyxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBQyxFQUFDLENBQUM7UUFFdkQsSUFBSSxVQUFVLEVBQUU7WUFDWixTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUMsRUFBQyxDQUFDO1NBQzdEO1FBRUQsTUFBTSxTQUFTLEdBQW1CO1lB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LEVBQUUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQztJQUM1QixDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFL0I7O0dBRUc7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUFDLE9BQXdCO0lBQzFDLE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFic3RyYWN0Q29udHJvbCxcbiAgICBBc3luY1ZhbGlkYXRvckZuLFxuICAgIEZvcm1BcnJheSxcbiAgICBGb3JtQ29udHJvbFN0YXR1cyxcbiAgICBGb3JtR3JvdXAsXG4gICAgVmFsaWRhdGlvbkVycm9ycyxcbiAgICBWYWxpZGF0b3JGbixcbiAgICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgZmlyc3QsIG1hcCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge05hdHVyYWxBYnN0cmFjdE1vZGVsU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvYWJzdHJhY3QtbW9kZWwuc2VydmljZSc7XG5pbXBvcnQge05hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIsIFF1ZXJ5VmFyaWFibGVzfSBmcm9tICcuL3F1ZXJ5LXZhcmlhYmxlLW1hbmFnZXInO1xuaW1wb3J0IHt2YWxpZFRsZHN9IGZyb20gJy4vdGxkJztcbmltcG9ydCB7RmlsdGVyR3JvdXBDb25kaXRpb259IGZyb20gJy4uL21vZHVsZXMvc2VhcmNoL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZS50eXBlcyc7XG5cbi8qKlxuICogUmV0dXJucyBhbiBhc3luYyB2YWxpZGF0b3IgZnVuY3Rpb24gdGhhdCBjaGVja3MgdGhhdCB0aGUgZm9ybSBjb250cm9sIHZhbHVlIGlzIHVuaXF1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdW5pcXVlPFRTZXJ2aWNlIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlPGFueSwgYW55LCBhbnksIGFueSwgYW55LCBhbnksIGFueSwgYW55LCBhbnksIGFueT4+KFxuICAgIGZpZWxkTmFtZTogc3RyaW5nLFxuICAgIGV4Y2x1ZGVkSWQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgbW9kZWxTZXJ2aWNlOiBUU2VydmljZSxcbik6IEFzeW5jVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogT2JzZXJ2YWJsZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4gPT4ge1xuICAgICAgICBpZiAoIWNvbnRyb2wudmFsdWUgfHwgIWNvbnRyb2wuZGlydHkpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb24gPSB7fTtcbiAgICAgICAgY29uZGl0aW9uW2ZpZWxkTmFtZV0gPSB7ZXF1YWw6IHt2YWx1ZTogY29udHJvbC52YWx1ZX19O1xuXG4gICAgICAgIGlmIChleGNsdWRlZElkKSB7XG4gICAgICAgICAgICBjb25kaXRpb25bJ2lkJ10gPSB7ZXF1YWw6IHt2YWx1ZTogZXhjbHVkZWRJZCwgbm90OiB0cnVlfX07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YXJpYWJsZXM6IFF1ZXJ5VmFyaWFibGVzID0ge1xuICAgICAgICAgICAgcGFnaW5hdGlvbjoge3BhZ2VJbmRleDogMCwgcGFnZVNpemU6IDB9LFxuICAgICAgICAgICAgZmlsdGVyOiB7Z3JvdXBzOiBbe2NvbmRpdGlvbnM6IFtjb25kaXRpb25dfV19LFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHF2bSA9IG5ldyBOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyKCk7XG4gICAgICAgIHF2bS5zZXQoJ3ZhcmlhYmxlcycsIHZhcmlhYmxlcyk7XG5cbiAgICAgICAgcmV0dXJuIHRpbWVyKDUwMCkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgIG1vZGVsU2VydmljZS5jb3VudChxdm0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgICAgIG1hcChjb3VudCA9PiAoY291bnQgPiAwID8ge2R1cGxpY2F0ZVZhbHVlOiBjb3VudH0gOiBudWxsKSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFuIGFzeW5jIHZhbGlkYXRvciBmdW5jdGlvbiB0aGF0IGNoZWNrcyB0aGF0IHRoZSBmb3JtIGNvbnRyb2wgdmFsdWUgaXMgYXZhaWxhYmxlXG4gKlxuICogU2ltaWxhciB0byBgdW5pcXVlYCB2YWxpZGF0b3IsIGJ1dCBhbGxvd3MgdG8gdXNlIGEgY3VzdG9tIHF1ZXJ5IGZvciB3aGVuIHRoZSBjbGllbnQgZG9lc1xuICogbm90IGhhdmUgcGVybWlzc2lvbnMgZm9yIGBtb2RlbFNlcnZpY2UuY291bnQoKWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhdmFpbGFibGUoXG4gICAgZ2V0QXZhaWxhYmxlUXVlcnk6ICh2YWx1ZTogc3RyaW5nLCBleGNsdWRlZElkOiBzdHJpbmcgfCBudWxsKSA9PiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgIGV4Y2x1ZGVkSWQ6IHN0cmluZyB8IG51bGwgPSBudWxsLFxuKTogQXN5bmNWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiA9PiB7XG4gICAgICAgIGlmICghY29udHJvbC52YWx1ZSB8fCAhY29udHJvbC5kaXJ0eSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRpbWVyKDUwMCkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgIGdldEF2YWlsYWJsZVF1ZXJ5KGNvbnRyb2wudmFsdWUsIGV4Y2x1ZGVkSWQpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcChpc0F2YWlsYWJsZSA9PiAoaXNBdmFpbGFibGUgPyBudWxsIDoge2F2YWlsYWJsZTogdHJ1ZX0pKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9O1xufVxuXG4vKipcbiAqIFJldHVybiBhbGwgZXJyb3JzIHJlY3Vyc2l2ZWx5IGZvciB0aGUgZ2l2ZW4gRm9ybSBvciBjb250cm9sXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb2xsZWN0RXJyb3JzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDx1bmtub3duPik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBsZXQgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG4gICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXAgfHwgY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgICBlcnJvcnMgPSBPYmplY3QuZW50cmllcyhjb250cm9sLmNvbnRyb2xzKS5yZWR1Y2UoKGFjYzogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwsIFtrZXksIGNoaWxkQ29udHJvbF0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gY29sbGVjdEVycm9ycyhjaGlsZENvbnRyb2wpO1xuICAgICAgICAgICAgaWYgKGNoaWxkRXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgYWNjID0gey4uLmFjYywgW2tleV06IGNoaWxkRXJyb3JzfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIG51bGwpO1xuICAgIH1cblxuICAgIGlmICghZXJyb3JzKSB7XG4gICAgICAgIGVycm9ycyA9IGNvbnRyb2wuZXJyb3JzO1xuICAgIH1cblxuICAgIHJldHVybiBlcnJvcnM7XG59XG5cbi8qKlxuICogRm9yY2UgdmFsaWRhdGlvbiBvZiBhbGwgZm9ybSBjb250cm9scyByZWN1cnNpdmVseS5cbiAqXG4gKiBSZWN1cnNpdmVseSBtYXJrIGRlc2NlbmRpbmcgZm9ybSB0cmVlIGFzIGRpcnR5IGFuZCB0b3VjaGVkIGluIG9yZGVyIHRvIHNob3cgYWxsIGludmFsaWQgZmllbGRzIG9uIGRlbWFuZC5cbiAqIFR5cGljYWxseSB1c2VkIHdoZW4gY3JlYXRpbmcgYSBuZXcgb2JqZWN0IGFuZCB1c2VyIGNsaWNrZWQgb24gY3JlYXRlIGJ1dHRvbiBidXQgc2V2ZXJhbCBmaWVsZHMgd2VyZSBub3RcbiAqIHRvdWNoZWQgYW5kIGFyZSBpbnZhbGlkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVBbGxGb3JtQ29udHJvbHMoY29udHJvbDogQWJzdHJhY3RDb250cm9sPHVua25vd24+KTogdm9pZCB7XG4gICAgY29udHJvbC5tYXJrQXNEaXJ0eSh7b25seVNlbGY6IHRydWV9KTtcbiAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoe29ubHlTZWxmOiB0cnVlfSk7XG5cbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCB8fCBjb250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG4gICAgICAgIGZvciAoY29uc3QgWywgY2hpbGRdIG9mIE9iamVjdC5lbnRyaWVzKGNvbnRyb2wuY29udHJvbHMpKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZUFsbEZvcm1Db250cm9scyhjaGlsZCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIGlzVmFsaWQoc3RhdHVzOiBGb3JtQ29udHJvbFN0YXR1cyk6IHN0YXR1cyBpcyAnVkFMSUQnIHtcbiAgICByZXR1cm4gc3RhdHVzID09PSAnVkFMSUQnO1xufVxuXG4vKipcbiAqIEVtaXRzIGV4YWN0bHkgMCBvciAxIHRpbWU6XG4gKlxuICogLSBpZiB0aGUgZm9ybSBpcyBWQUxJRCwgZW1pdHMgaW1tZWRpYXRlbHlcbiAqIC0gaWYgdGhlIGZvcm0gaXMgUEVORElORyBlbWl0cyBpZiBpdCBjaGFuZ2VzIGZyb20gUEVORElORyB0byBWQUxJRFxuICogLSBhbnkgb3RoZXIgY2FzZXMgd2lsbCAqKm5ldmVyKiogZW1pdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaWZWYWxpZChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBPYnNlcnZhYmxlPCdWQUxJRCc+IHtcbiAgICBjb25zdCBvYnNlcnZhYmxlID0gY29udHJvbC5wZW5kaW5nID8gY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoZmlyc3QoKSkgOiBvZihjb250cm9sLnN0YXR1cyk7XG5cbiAgICByZXR1cm4gb2JzZXJ2YWJsZS5waXBlKGZpbHRlcihpc1ZhbGlkKSk7XG59XG5cbi8vIFRoaXMgaXMgaXMgYW4gYXBwcm94aW1hdGlvbiBvZiBSRkNfNTMyMiB3aGVyZSB0aGUgaG9zdG5hbWU6XG4vL1xuLy8gLSBpcyB0b28gc3RyaWN0IGJlY2F1c2UgaXQgcmVqZWN0cyBJUCBhZGRyZXNzXG4vLyAtIGlzIHRvbyBsYXggYmVjYXVzZSBpdCBhY2NlcHRzIHByZXR0eSBtdWNoIGFueXRoaW5nIGVsc2Vcbi8vXG4vLyBidXQgdGhlIFRMRCB3aWxsIGJlIHZhbGlkYXRlZCBhZ2FpbnN0IGEgd2hpdGVsaXN0IHNvIHRoYXQgc2hvdWxkIG1ha2UgdGhlIHdob2xlIHRoaW5nIGFjY2VwdGFibGVcbmNvbnN0IFJGQ181MzIyID0gL15bYS16QS1aMC05LiEjJCUmJyorXFwvPT9eX2B7fH1+LV0rQFteQCBdK1xcLlteQF0rJC91O1xuXG4vKipcbiAqIFZhbGlkYXRlIGFuIGVtYWlsIGFkZHJlc3MgYWNjb3JkaW5nIHRvIFJGQywgYW5kIGFsc28gdGhhdCBpdCBpcyBwdWJsaWNseSBkZWxpdmVyYWJsZSAobm90IFwicm9vdEBsb2NhbGhvc3RcIiBvciBcInJvb3RAMTI3LjAuMC4xXCIpXG4gKlxuICogVGhpcyBpcyBtZWFudCB0byByZXBsYWNlICoqYWxsKiogdXNhZ2VzIG9mIEFuZ3VsYXIgdG9vIHBlcm1pc3NpdmUgYFZhbGlkYXRvcnMuZW1haWxgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxpdmVyYWJsZUVtYWlsKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAvLyBkb24ndCB2YWxpZGF0ZSBlbXB0eSB2YWx1ZXMgdG8gYWxsb3cgb3B0aW9uYWwgY29udHJvbHNcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvciA9IHtlbWFpbDogdHJ1ZX07XG4gICAgaWYgKHZhbHVlLmxlbmd0aCA+IDI1NCkge1xuICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgfVxuXG4gICAgaWYgKCFSRkNfNTMyMi50ZXN0KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgfVxuXG4gICAgY29uc3QgdGxkID0gdmFsdWUuc3BsaXQoJy4nKS5wb3AoKTtcbiAgICBpZiAoIXZhbGlkVGxkcy5pbmNsdWRlcyh0bGQpKSB7XG4gICAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBOYWl2ZSBVUkwgdmFsaWRhdG9yIGZvciBcIm5vcm1hbFwiIHdlYiBsaW5rcywgdGhhdCBpcyBhIGJpdCB0b28gcGVybWlzc2l2ZVxuICpcbiAqIEl0IGVuZm9yY2VzOlxuICpcbiAqICAgICAtIGh0dHAvaHR0cHMgcHJvdG9jb2xcbiAqICAgICAtIG9uZSBkb21haW5cbiAqICAgICAtIG9uZSB0bGRcbiAqXG4gKiBJdCBhbGxvd3M6XG4gKlxuICogICAgIC0gYW55IG51bWJlciBvZiBzdWJkb21haW5zXG4gKiAgICAgLSBhbnkgcGFyYW1ldGVyc1xuICogICAgIC0gYW55IGZyYWdtZW50c1xuICogICAgIC0gYW55IGNoYXJhY3RlcnMgZm9yIGFueSBwYXJ0cyAoZG9lcyBub3QgY29uZm9ybSB0byByZmMxNzM4KVxuICovXG5leHBvcnQgY29uc3QgdXJsVmFsaWRhdG9yID0gVmFsaWRhdG9ycy5wYXR0ZXJuKC9eaHR0cHM/OlxcL1xcLyg/OlteLlxcc10rXFwuKStbXi5cXHNdKyQvKTtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhhdCB0aGUgdmFsdWUgaXMgYW4gaW50ZWdlciAobm9uLWZsb2F0KVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW50ZWdlcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgLy8gRG9uJ3QgdmFsaWRhdGUgZW1wdHkgdmFsdWVzIHRvIGFsbG93IG9wdGlvbmFsIGNvbnRyb2xzXG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT09IG51bGwgfHwgY29udHJvbC52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGNvbnRyb2wudmFsdWUgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKHBhcnNlRmxvYXQoY29udHJvbC52YWx1ZSkpID8gbnVsbCA6IHtpbnRlZ2VyOiB0cnVlfTtcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGF0IHRoZSB2YWx1ZSBpcyBhIGRlY2ltYWwgbnVtYmVyIHdpdGggdXAgdG8gYHNjYWxlYCBkaWdpdHNcbiAqXG4gKiBUaGUgZXJyb3IgY29udGFpbnMgdGhlIGV4cGVjdGVkIHNjYWxlLCBzbyB0aGF0IHRoZSBlcnJvciBtZXNzYWdlIGNhbiBleHBsYWluXG4gKiBpdCB0byB0aGUgZW5kLXVzZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNpbWFsKHNjYWxlOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3QgcmVnRXhwID0gbmV3IFJlZ0V4cChgXi0/XFxcXGQrKFxcXFwuXFxcXGR7MCwke3NjYWxlfX0pPyRgKTtcbiAgICByZXR1cm4gY29udHJvbCA9PiB7XG4gICAgICAgIC8vIERvbid0IHZhbGlkYXRlIGVtcHR5IHZhbHVlcyB0byBhbGxvdyBvcHRpb25hbCBjb250cm9sc1xuICAgICAgICBpZiAoY29udHJvbC52YWx1ZSA9PT0gbnVsbCB8fCBjb250cm9sLnZhbHVlID09PSB1bmRlZmluZWQgfHwgY29udHJvbC52YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSAnJyArIGNvbnRyb2wudmFsdWU7XG4gICAgICAgIGlmICh2YWx1ZS5tYXRjaChyZWdFeHApKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7ZGVjaW1hbDogc2NhbGV9O1xuICAgIH07XG59XG5cbi8qKlxuICogRm9yIGludGVybmFsIHVzZSB0byBhdm9pZCByZS1jcmVhdGluZyByZWdleHAgb24gZWFjaCBjYWxsIG9mIGBtb25leWBcbiAqL1xuY29uc3QgdHdvRGVjaW1hbHMgPSBkZWNpbWFsKDIpO1xuXG4vKipcbiAqIFZhbGlkYXRlIHRoYXQgdGhlIHZhbHVlIGlzIGFuIGFtb3VudCBvZiBtb25leSwgbWVhbmluZyBhIG51bWJlciB3aXRoIGF0IG1vc3QgMiBkZWNpbWFsc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbW9uZXkoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiB0d29EZWNpbWFscyhjb250cm9sKSA/IHttb25leTogdHJ1ZX0gOiBudWxsO1xufVxuIl19
|
|
@@ -130,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
|
|
|
130
130
|
type: Inject,
|
|
131
131
|
args: [MAT_DATE_FORMATS]
|
|
132
132
|
}] }]; } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duLWNvbXBvbmVudHMvdHlwZS1kYXRlL3R5cGUtZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtZGF0ZS90eXBlLWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQWUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFjLGdCQUFnQixFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSxrREFBa0QsQ0FBQztBQUU1RyxPQUFPLEVBQUMsMkJBQTJCLEVBQWdDLE1BQU0sVUFBVSxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7O0FBVXJELE1BQU0sT0FBTyxpQkFBaUI7SUFpQjFCLFlBQ21DLElBQW1ELEVBQzFFLFdBQTJCLEVBQ0QsV0FBMkI7UUFEckQsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQ0QsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBbkJqRCxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRWhELGlCQUFZLEdBQUcsSUFBSSxXQUFXLENBQWdDLE9BQU8sRUFBRSxFQUFD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T0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzVDLE9BQU8sRUFBRSxDQUFDO1NBQ2I7YUFBTTtZQUNILE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWhHLE9BQU8sUUFBUSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQzs7OEdBN0hRLGlCQUFpQixrQkFrQmQscUJBQXFCLHdDQUVyQixnQkFBZ0I7a0dBcEJuQixpQkFBaUIsb0RDbEI5QixxckNBNkJBOzJGRFhhLGlCQUFpQjtrQkFIN0IsU0FBUzs7OzBCQXFCRCxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBRTVCLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0RhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNYXREYXRlRm9ybWF0c30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgbWVyZ2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkfSBmcm9tICcuLi8uLi9zZWFyY2gvY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lLnR5cGVzJztcbmltcG9ydCB7TkFUVVJBTF9EUk9QRE9XTl9EQVRBLCBOYXR1cmFsRHJvcGRvd25EYXRhfSBmcm9tICcuLi8uLi9zZWFyY2gvZHJvcGRvd24tY29udGFpbmVyL2Ryb3Bkb3duLnNlcnZpY2UnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vc2VhcmNoL3R5cGVzL2Ryb3Bkb3duLWNvbXBvbmVudCc7XG5pbXBvcnQge3Bvc3NpYmxlQ29tcGFyYWJsZU9wZXJhdG9ycywgUG9zc2libGVDb21wYXJhYmxlT3BlcnRvcktleXN9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7ZGF0ZU1heCwgZGF0ZU1pbiwgc2VyaWFsaXplfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURhdGVDb25maWd1cmF0aW9uPEQgPSBhbnk+IHtcbiAgICBtaW4/OiBEIHwgbnVsbDtcbiAgICBtYXg/OiBEIHwgbnVsbDtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL3R5cGUtZGF0ZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFR5cGVEYXRlQ29tcG9uZW50PEQgPSBhbnk+IGltcGxlbWVudHMgRHJvcGRvd25Db21wb25lbnQge1xuICAgIHB1YmxpYyByZWFkb25seSByZW5kZXJlZFZhbHVlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlndXJhdGlvbjogVHlwZURhdGVDb25maWd1cmF0aW9uPEQ+O1xuICAgIHB1YmxpYyByZWFkb25seSBvcGVyYXRvckN0cmwgPSBuZXcgRm9ybUNvbnRyb2w8UG9zc2libGVDb21wYXJhYmxlT3BlcnRvcktleXM+KCdlcXVhbCcsIHtub25OdWxsYWJsZTogdHJ1ZX0pO1xuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZUN0cmwgPSBuZXcgRm9ybUNvbnRyb2w8RCB8IG51bGw+KG51bGwpO1xuICAgIHB1YmxpYyByZWFkb25seSBvcGVyYXRvcnMgPSBwb3NzaWJsZUNvbXBhcmFibGVPcGVyYXRvcnM7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBvcGVyYXRvcjogdGhpcy5vcGVyYXRvckN0cmwsXG4gICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlQ3RybCxcbiAgICB9KTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdHM6IFR5cGVEYXRlQ29uZmlndXJhdGlvbjxEPiA9IHtcbiAgICAgICAgbWluOiBudWxsLFxuICAgICAgICBtYXg6IG51bGwsXG4gICAgfTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChOQVRVUkFMX0RST1BET1dOX0RBVEEpIGRhdGE6IE5hdHVyYWxEcm9wZG93bkRhdGE8VHlwZURhdGVDb25maWd1cmF0aW9uPEQ+PixcbiAgICAgICAgcHJpdmF0ZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RBVEVfRk9STUFUUykgcHJpdmF0ZSBkYXRlRm9ybWF0czogTWF0RGF0ZUZvcm1hdHMsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHsuLi50aGlzLmRlZmF1bHRzLCAuLi5kYXRhLmNvbmZpZ3VyYXRpb259O1xuXG4gICAgICAgIG1lcmdlKHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlQ2hhbmdlcywgdGhpcy52YWx1ZUN0cmwudmFsdWVDaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlZFZhbHVlLm5leHQodGhpcy5nZXRSZW5kZXJlZFZhbHVlKCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmluaXRWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMucmVsb2FkQ29uZGl0aW9uKGRhdGEuY29uZGl0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29uZGl0aW9uKCk6IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQge1xuICAgICAgICBpZiAoIXRoaXMudmFsdWVDdHJsLnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb25kaXRpb246IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQgPSB7fTtcbiAgICAgICAgbGV0IG9wZXJhdG9yID0gdGhpcy5vcGVyYXRvckN0cmwudmFsdWU7XG4gICAgICAgIGxldCBkYXRlID0gdGhpcy52YWx1ZUN0cmwudmFsdWU7XG4gICAgICAgIGNvbnN0IGRheUFmdGVyID0gdGhpcy5nZXREYXlBZnRlcihkYXRlKTtcbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSAnZXF1YWwnKSB7XG4gICAgICAgICAgICBjb25kaXRpb24uZ3JlYXRlck9yRXF1YWwgPSB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHNlcmlhbGl6ZTxEPih0aGlzLmRhdGVBZGFwdGVyLCBkYXRlKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25kaXRpb24ubGVzcyA9IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogc2VyaWFsaXplPEQ+KHRoaXMuZGF0ZUFkYXB0ZXIsIGRheUFmdGVyKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUcmFuc3BhcmVudGx5IGFkYXB0IGV4Y2x1c2l2ZS9pbmNsdXNpdmUgcmFuZ2VzXG4gICAgICAgICAgICBpZiAob3BlcmF0b3IgPT09ICdncmVhdGVyJykge1xuICAgICAgICAgICAgICAgIG9wZXJhdG9yID0gJ2dyZWF0ZXJPckVxdWFsJztcbiAgICAgICAgICAgICAgICBkYXRlID0gZGF5QWZ0ZXI7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG9wZXJhdG9yID09PSAnbGVzc09yRXF1YWwnKSB7XG4gICAgICAgICAgICAgICAgb3BlcmF0b3IgPSAnbGVzcyc7XG4gICAgICAgICAgICAgICAgZGF0ZSA9IGRheUFmdGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25kaXRpb25bb3BlcmF0b3JdID0ge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBzZXJpYWxpemU8RD4odGhpcy5kYXRlQWRhcHRlciwgZGF0ZSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbmRpdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS52YWxpZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNEaXJ0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5kaXJ0eTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbG9hZENvbmRpdGlvbihjb25kaXRpb246IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICghY29uZGl0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTcGVjaWFsIGNhc2UgZm9yICc9J1xuICAgICAgICBpZiAoY29uZGl0aW9uLmdyZWF0ZXJPckVxdWFsICYmIGNvbmRpdGlvbi5sZXNzKSB7XG4gICAgICAgICAgICB0aGlzLm9wZXJhdG9yQ3RybC5zZXRWYWx1ZSgnZXF1YWwnKTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZShjb25kaXRpb24uZ3JlYXRlck9yRXF1YWwudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy52YWx1ZUN0cmwuc2V0VmFsdWUodmFsdWUpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IG9wZXJhdG9yIG9mIHRoaXMub3BlcmF0b3JzKSB7XG4gICAgICAgICAgICBjb25zdCByZWxvYWRlZE9wZXJhdG9yID0gY29uZGl0aW9uW29wZXJhdG9yLmtleV07XG4gICAgICAgICAgICBpZiAocmVsb2FkZWRPcGVyYXRvcikge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlcmF0b3JDdHJsLnNldFZhbHVlKG9wZXJhdG9yLmtleSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUocmVsb2FkZWRPcGVyYXRvci52YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUN0cmwuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0VmFsaWRhdG9ycygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkXTtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5taW4pIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChkYXRlTWluPEQ+KHRoaXMuZGF0ZUFkYXB0ZXIsIHRoaXMuY29uZmlndXJhdGlvbi5taW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24ubWF4KSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goZGF0ZU1heDxEPih0aGlzLmRhdGVBZGFwdGVyLCB0aGlzLmNvbmZpZ3VyYXRpb24ubWF4KSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlQ3RybC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGF5QWZ0ZXIoZGF0ZTogRCk6IEQge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhckRheXModGhpcy5kYXRlQWRhcHRlci5jbG9uZShkYXRlKSwgMSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSZW5kZXJlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG9wZXJhdG9yID0gdGhpcy5vcGVyYXRvcnMuZmluZCh2ID0+IHYua2V5ID09PSB0aGlzLm9wZXJhdG9yQ3RybC52YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlQ3RybC52YWx1ZSA9PT0gbnVsbCB8fCAhb3BlcmF0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5kYXRlQWRhcHRlci5mb3JtYXQodGhpcy52YWx1ZUN0cmwudmFsdWUsIHRoaXMuZGF0ZUZvcm1hdHMuZGlzcGxheS5kYXRlSW5wdXQpO1xuXG4gICAgICAgICAgICByZXR1cm4gb3BlcmF0b3IubGFiZWwgKyAnICcgKyB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBzdHlsZT1cIm1heC13aWR0aDogNGVtOyBtYXJnaW4tcmlnaHQ6IDFlbVwiPlxuICAgICAgICA8bWF0LWxhYmVsIGkxOG49XCJNYXRoZW1hdGljYWwgb3BlcmF0b3IgPCA+ID1cIj5PcMOpcmF0ZXVyPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJvcGVyYXRvckN0cmxcIiBbcmVxdWlyZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3BlcmF0b3JzXCIgW3ZhbHVlXT1cIml0ZW0ua2V5XCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPkRhdGU8L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwidmFsdWVDdHJsXCJcbiAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cInZhbHVlXCJcbiAgICAgICAgICAgIFttYXhdPVwiY29uZmlndXJhdGlvbi5tYXhcIlxuICAgICAgICAgICAgW21pbl09XCJjb25maWd1cmF0aW9uLm1pblwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIFtmb3JdPVwidmFsdWVcIiBtYXRTdWZmaXg+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjdmFsdWU+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidmFsdWVDdHJsLmhhc0Vycm9yKCdtaW4nKVwiPjwge3sgY29uZmlndXJhdGlvbi5taW4gfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInZhbHVlQ3RybC5oYXNFcnJvcignbWF4JylcIj4+IHt7IGNvbmZpZ3VyYXRpb24ubWF4IH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ2YWx1ZUN0cmwuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj4qPC9zcGFuPlxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9mb3JtPlxuIl19
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duLWNvbXBvbmVudHMvdHlwZS1kYXRlL3R5cGUtZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtZGF0ZS90eXBlLWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBRSxTQUFTLEVBQWUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFjLGdCQUFnQixFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxlQUFlLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBQyxxQkFBcUIsRUFBc0IsTUFBTSxrREFBa0QsQ0FBQztBQUU1RyxPQUFPLEVBQUMsMkJBQTJCLEVBQWdDLE1BQU0sVUFBVSxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7O0FBVXJELE1BQU0sT0FBTyxpQkFBaUI7SUFpQjFCLFlBQ21DLElBQW1ELEVBQzFFLFdBQTJCLEVBQ0QsV0FBMkI7UUFEckQsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQ0QsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBbkJqRCxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRWhELGlCQUFZLEdBQUcsSUFBSSxXQUFXLENBQWdDLE9BQU8sRUFBRSxFQUFD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T0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzVDLE9BQU8sRUFBRSxDQUFDO1NBQ2I7YUFBTTtZQUNILE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWhHLE9BQU8sUUFBUSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQzs7OEdBN0hRLGlCQUFpQixrQkFrQmQscUJBQXFCLHdDQUVyQixnQkFBZ0I7a0dBcEJuQixpQkFBaUIsb0RDbEI5QixxckNBNkJBOzJGRFhhLGlCQUFpQjtrQkFIN0IsU0FBUzs7OzBCQXFCRCxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBRTVCLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0RhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNYXREYXRlRm9ybWF0c30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgbWVyZ2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkfSBmcm9tICcuLi8uLi9zZWFyY2gvY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lLnR5cGVzJztcbmltcG9ydCB7TkFUVVJBTF9EUk9QRE9XTl9EQVRBLCBOYXR1cmFsRHJvcGRvd25EYXRhfSBmcm9tICcuLi8uLi9zZWFyY2gvZHJvcGRvd24tY29udGFpbmVyL2Ryb3Bkb3duLnNlcnZpY2UnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vc2VhcmNoL3R5cGVzL2Ryb3Bkb3duLWNvbXBvbmVudCc7XG5pbXBvcnQge3Bvc3NpYmxlQ29tcGFyYWJsZU9wZXJhdG9ycywgUG9zc2libGVDb21wYXJhYmxlT3BlcnRvcktleXN9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7ZGF0ZU1heCwgZGF0ZU1pbiwgc2VyaWFsaXplfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURhdGVDb25maWd1cmF0aW9uPEQgPSBhbnk+IHtcbiAgICBtaW4/OiBEIHwgbnVsbDtcbiAgICBtYXg/OiBEIHwgbnVsbDtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL3R5cGUtZGF0ZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFR5cGVEYXRlQ29tcG9uZW50PEQgPSBhbnk+IGltcGxlbWVudHMgRHJvcGRvd25Db21wb25lbnQge1xuICAgIHB1YmxpYyByZWFkb25seSByZW5kZXJlZFZhbHVlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlndXJhdGlvbjogUmVxdWlyZWQ8VHlwZURhdGVDb25maWd1cmF0aW9uPEQ+PjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0b3JDdHJsID0gbmV3IEZvcm1Db250cm9sPFBvc3NpYmxlQ29tcGFyYWJsZU9wZXJ0b3JLZXlzPignZXF1YWwnLCB7bm9uTnVsbGFibGU6IHRydWV9KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVDdHJsID0gbmV3IEZvcm1Db250cm9sPEQgfCBudWxsPihudWxsKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0b3JzID0gcG9zc2libGVDb21wYXJhYmxlT3BlcmF0b3JzO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgb3BlcmF0b3I6IHRoaXMub3BlcmF0b3JDdHJsLFxuICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZUN0cmwsXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRzOiBSZXF1aXJlZDxUeXBlRGF0ZUNvbmZpZ3VyYXRpb248RD4+ID0ge1xuICAgICAgICBtaW46IG51bGwsXG4gICAgICAgIG1heDogbnVsbCxcbiAgICB9O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KE5BVFVSQUxfRFJPUERPV05fREFUQSkgZGF0YTogTmF0dXJhbERyb3Bkb3duRGF0YTxUeXBlRGF0ZUNvbmZpZ3VyYXRpb248RD4+LFxuICAgICAgICBwcml2YXRlIGRhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcml2YXRlIGRhdGVGb3JtYXRzOiBNYXREYXRlRm9ybWF0cyxcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gey4uLnRoaXMuZGVmYXVsdHMsIC4uLmRhdGEuY29uZmlndXJhdGlvbn07XG5cbiAgICAgICAgbWVyZ2UodGhpcy5vcGVyYXRvckN0cmwudmFsdWVDaGFuZ2VzLCB0aGlzLnZhbHVlQ3RybC52YWx1ZUNoYW5nZXMpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVkVmFsdWUubmV4dCh0aGlzLmdldFJlbmRlcmVkVmFsdWUoKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaW5pdFZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5yZWxvYWRDb25kaXRpb24oZGF0YS5jb25kaXRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25kaXRpb24oKTogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZUN0cmwudmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCA9IHt9O1xuICAgICAgICBsZXQgb3BlcmF0b3IgPSB0aGlzLm9wZXJhdG9yQ3RybC52YWx1ZTtcbiAgICAgICAgbGV0IGRhdGUgPSB0aGlzLnZhbHVlQ3RybC52YWx1ZTtcbiAgICAgICAgY29uc3QgZGF5QWZ0ZXIgPSB0aGlzLmdldERheUFmdGVyKGRhdGUpO1xuICAgICAgICBpZiAob3BlcmF0b3IgPT09ICdlcXVhbCcpIHtcbiAgICAgICAgICAgIGNvbmRpdGlvbi5ncmVhdGVyT3JFcXVhbCA9IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogc2VyaWFsaXplPEQ+KHRoaXMuZGF0ZUFkYXB0ZXIsIGRhdGUpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbmRpdGlvbi5sZXNzID0ge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBzZXJpYWxpemU8RD4odGhpcy5kYXRlQWRhcHRlciwgZGF5QWZ0ZXIpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFRyYW5zcGFyZW50bHkgYWRhcHQgZXhjbHVzaXZlL2luY2x1c2l2ZSByYW5nZXNcbiAgICAgICAgICAgIGlmIChvcGVyYXRvciA9PT0gJ2dyZWF0ZXInKSB7XG4gICAgICAgICAgICAgICAgb3BlcmF0b3IgPSAnZ3JlYXRlck9yRXF1YWwnO1xuICAgICAgICAgICAgICAgIGRhdGUgPSBkYXlBZnRlcjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAob3BlcmF0b3IgPT09ICdsZXNzT3JFcXVhbCcpIHtcbiAgICAgICAgICAgICAgICBvcGVyYXRvciA9ICdsZXNzJztcbiAgICAgICAgICAgICAgICBkYXRlID0gZGF5QWZ0ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbmRpdGlvbltvcGVyYXRvcl0gPSB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHNlcmlhbGl6ZTxEPih0aGlzLmRhdGVBZGFwdGVyLCBkYXRlKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29uZGl0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLnZhbGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0RpcnR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmRpcnR5O1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVsb2FkQ29uZGl0aW9uKGNvbmRpdGlvbjogRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNwZWNpYWwgY2FzZSBmb3IgJz0nXG4gICAgICAgIGlmIChjb25kaXRpb24uZ3JlYXRlck9yRXF1YWwgJiYgY29uZGl0aW9uLmxlc3MpIHtcbiAgICAgICAgICAgIHRoaXMub3BlcmF0b3JDdHJsLnNldFZhbHVlKCdlcXVhbCcpO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmRhdGVBZGFwdGVyLmRlc2VyaWFsaXplKGNvbmRpdGlvbi5ncmVhdGVyT3JFcXVhbC52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ3RybC5zZXRWYWx1ZSh2YWx1ZSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3Qgb3BlcmF0b3Igb2YgdGhpcy5vcGVyYXRvcnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbG9hZGVkT3BlcmF0b3IgPSBjb25kaXRpb25bb3BlcmF0b3Iua2V5XTtcbiAgICAgICAgICAgIGlmIChyZWxvYWRlZE9wZXJhdG9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVyYXRvckN0cmwuc2V0VmFsdWUob3BlcmF0b3Iua2V5KTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZShyZWxvYWRlZE9wZXJhdG9yLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlQ3RybC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRWYWxpZGF0b3JzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW1ZhbGlkYXRvcnMucmVxdWlyZWRdO1xuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLm1pbikge1xuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKGRhdGVNaW48RD4odGhpcy5kYXRlQWRhcHRlciwgdGhpcy5jb25maWd1cmF0aW9uLm1pbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5tYXgpIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChkYXRlTWF4PEQ+KHRoaXMuZGF0ZUFkYXB0ZXIsIHRoaXMuY29uZmlndXJhdGlvbi5tYXgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWVDdHJsLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREYXlBZnRlcihkYXRlOiBEKTogRCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyRGF5cyh0aGlzLmRhdGVBZGFwdGVyLmNsb25lKGRhdGUpLCAxKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlbmRlcmVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSB0aGlzLm9wZXJhdG9ycy5maW5kKHYgPT4gdi5rZXkgPT09IHRoaXMub3BlcmF0b3JDdHJsLnZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMudmFsdWVDdHJsLnZhbHVlID09PSBudWxsIHx8ICFvcGVyYXRvcikge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmRhdGVBZGFwdGVyLmZvcm1hdCh0aGlzLnZhbHVlQ3RybC52YWx1ZSwgdGhpcy5kYXRlRm9ybWF0cy5kaXNwbGF5LmRhdGVJbnB1dCk7XG5cbiAgICAgICAgICAgIHJldHVybiBvcGVyYXRvci5sYWJlbCArICcgJyArIHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwibWF4LXdpZHRoOiA0ZW07IG1hcmdpbi1yaWdodDogMWVtXCI+XG4gICAgICAgIDxtYXQtbGFiZWwgaTE4bj1cIk1hdGhlbWF0aWNhbCBvcGVyYXRvciA8ID4gPVwiPk9ww6lyYXRldXI8L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sXT1cIm9wZXJhdG9yQ3RybFwiIFtyZXF1aXJlZF09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcGVyYXRvcnNcIiBbdmFsdWVdPVwiaXRlbS5rZXlcIj5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsIGkxOG4+RGF0ZTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJ2YWx1ZUN0cmxcIlxuICAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwidmFsdWVcIlxuICAgICAgICAgICAgW21heF09XCJjb25maWd1cmF0aW9uLm1heFwiXG4gICAgICAgICAgICBbbWluXT1cImNvbmZpZ3VyYXRpb24ubWluXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgW2Zvcl09XCJ2YWx1ZVwiIG1hdFN1ZmZpeD48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1kYXRlcGlja2VyICN2YWx1ZT48L21hdC1kYXRlcGlja2VyPlxuICAgICAgICA8bWF0LWVycm9yPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ2YWx1ZUN0cmwuaGFzRXJyb3IoJ21pbicpXCI+PCB7eyBjb25maWd1cmF0aW9uLm1pbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidmFsdWVDdHJsLmhhc0Vycm9yKCdtYXgnKVwiPj4ge3sgY29uZmlndXJhdGlvbi5tYXggfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInZhbHVlQ3RybC5oYXNFcnJvcigncmVxdWlyZWQnKVwiPio8L3NwYW4+XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Zvcm0+XG4iXX0=
|
package/esm2020/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs
CHANGED
|
@@ -134,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
|
|
|
134
134
|
type: Inject,
|
|
135
135
|
args: [MAT_DATE_FORMATS]
|
|
136
136
|
}] }]; } });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kYXRlLXJhbmdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duLWNvbXBvbmVudHMvdHlwZS1kYXRlLXJhbmdlL3R5cGUtZGF0ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtZGF0ZS1yYW5nZS90eXBlLWRhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUVILFdBQVcsRUFDWCxTQUFTLEVBS1QsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFpQyxnQkFBZ0IsRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RyxPQUFPLEVBQUMsZUFBZSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUMscUJBQXFCLEVBQXNCLE1BQU0sa0RBQWtELENBQUM7QUFFNUcsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDOzs7Ozs7OztBQU9yRCxNQUFNLDRCQUE0QjtJQUN2QixZQUFZLENBQUMsT0FBb0MsRUFBRSxJQUF3QztRQUM5RixPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hHLENBQUM7Q0FDSjtB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Q0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDcEIsaUJBQWlCLENBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFlBQVk7U0FDdkQsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFlO1FBQ3pCLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUMsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFO1lBQ1osT0FBTyxJQUFJLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUM1QjthQUFNO1lBQ0gsT0FBTyxFQUFFLENBQUM7U0FDYjtJQUNMLENBQUM7O21IQW5HUSxzQkFBc0Isa0JBaUJuQixxQkFBcUIsd0NBRXJCLGdCQUFnQjt1R0FuQm5CLHNCQUFzQixvREM5RG5DLHEzREE4Q0E7MkZEZ0JhLHNCQUFzQjtrQkFIbEMsU0FBUzs7OzBCQW9CRCxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBRTVCLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q29udHJvbCxcbiAgICBGb3JtQ29udHJvbCxcbiAgICBGb3JtR3JvdXAsXG4gICAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIE5nRm9ybSxcbiAgICBWYWxpZGF0aW9uRXJyb3JzLFxuICAgIFZhbGlkYXRvckZuLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGF0ZUFkYXB0ZXIsIEVycm9yU3RhdGVNYXRjaGVyLCBNQVRfREFURV9GT1JNQVRTLCBNYXREYXRlRm9ybWF0c30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgbWVyZ2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vc2VhcmNoL3R5cGVzL2Ryb3Bkb3duLWNvbXBvbmVudCc7XG5pbXBvcnQge05BVFVSQUxfRFJPUERPV05fREFUQSwgTmF0dXJhbERyb3Bkb3duRGF0YX0gZnJvbSAnLi4vLi4vc2VhcmNoL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7RmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZH0gZnJvbSAnLi4vLi4vc2VhcmNoL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZS50eXBlcyc7XG5pbXBvcnQge2RhdGVNYXgsIGRhdGVNaW4sIHNlcmlhbGl6ZX0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVEYXRlUmFuZ2VDb25maWd1cmF0aW9uPEQgPSBhbnk+IHtcbiAgICBtaW4/OiBEIHwgbnVsbDtcbiAgICBtYXg/OiBEIHwgbnVsbDtcbn1cblxuY2xhc3MgSW52YWxpZFdpdGhWYWx1ZVN0YXRlTWF0Y2hlciBpbXBsZW1lbnRzIEVycm9yU3RhdGVNYXRjaGVyIHtcbiAgICBwdWJsaWMgaXNFcnJvclN0YXRlKGNvbnRyb2w6IEZvcm1Db250cm9sPHVua25vd24+IHwgbnVsbCwgZm9ybTogRm9ybUdyb3VwRGlyZWN0aXZlIHwgTmdGb3JtIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKGZvcm0gJiYgZm9ybS5pbnZhbGlkICYmIChmb3JtLnZhbHVlLnRvIHx8IGZvcm0udmFsdWUuZnJvbSkpIHx8IChjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUZyb21Db250cm9sPEQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwga2V5OiBzdHJpbmcpOiBEIHwgbnVsbCB7XG4gICAgY29uc3QgYyA9IGNvbnRyb2wuZ2V0KGtleSk7XG4gICAgaWYgKCFjKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBjLnZhbHVlO1xufVxuXG4vKipcbiAqIEZyb20gPj0gVG9cbiAqL1xuZnVuY3Rpb24gdG9HcmVhdGVyVGhhbkZyb208RD4oZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+KTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCBmcm9tID0gcGFyc2VGcm9tQ29udHJvbDxEPihjb250cm9sLCAnZnJvbScpO1xuICAgICAgICBjb25zdCB0byA9IHBhcnNlRnJvbUNvbnRyb2w8RD4oY29udHJvbCwgJ3RvJyk7XG5cbiAgICAgICAgaWYgKGZyb20gJiYgdG8gJiYgZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUoZnJvbSwgdG8pID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHt0b0dyZWF0ZXJUaGFuRnJvbTogdHJ1ZX07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xufVxuXG4vKipcbiAqIERhdGUgcmFuZ2Ugd2l0aCBtYW5kYXRvcnkgYm91bmRpbmcgZGF0ZXMuXG4gKlxuICogSWYgeW91IG5lZWQgb29wdGlvbmFsIGJvdW5kaW5nIGRhdGUsIHRoZW4gdXNlIGBUeXBlRGF0ZUNvbXBvbmVudGAgaW5zdGVhZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL3R5cGUtZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFR5cGVEYXRlUmFuZ2VDb21wb25lbnQ8RCA9IGFueT4gaW1wbGVtZW50cyBEcm9wZG93bkNvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IHJlbmRlcmVkVmFsdWUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb25maWd1cmF0aW9uOiBUeXBlRGF0ZVJhbmdlQ29uZmlndXJhdGlvbjxEPjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWF0Y2hlciA9IG5ldyBJbnZhbGlkV2l0aFZhbHVlU3RhdGVNYXRjaGVyKCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGZyb21DdHJsID0gbmV3IEZvcm1Db250cm9sPEQgfCBudWxsPihudWxsKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9DdHJsID0gbmV3IEZvcm1Db250cm9sPEQgfCBudWxsPihudWxsKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBmcm9tOiB0aGlzLmZyb21DdHJsLFxuICAgICAgICB0bzogdGhpcy50b0N0cmwsXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRzOiBUeXBlRGF0ZVJhbmdlQ29uZmlndXJhdGlvbjxEPiA9IHtcbiAgICAgICAgbWluOiBudWxsLFxuICAgICAgICBtYXg6IG51bGwsXG4gICAgfTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChOQVRVUkFMX0RST1BET1dOX0RBVEEpIGRhdGE6IE5hdHVyYWxEcm9wZG93bkRhdGE8VHlwZURhdGVSYW5nZUNvbmZpZ3VyYXRpb248RD4+LFxuICAgICAgICBwcml2YXRlIGRhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxEPixcbiAgICAgICAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcml2YXRlIGRhdGVGb3JtYXRzOiBNYXREYXRlRm9ybWF0cyxcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gey4uLnRoaXMuZGVmYXVsdHMsIC4uLmRhdGEuY29uZmlndXJhdGlvbn07XG5cbiAgICAgICAgbWVyZ2UodGhpcy5mcm9tQ3RybC52YWx1ZUNoYW5nZXMsIHRoaXMudG9DdHJsLnZhbHVlQ2hhbmdlcykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZWRWYWx1ZS5uZXh0KHRoaXMuZ2V0UmVuZGVyZWRWYWx1ZSgpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5pbml0VmFsaWRhdG9ycygpO1xuICAgICAgICB0aGlzLnJlbG9hZENvbmRpdGlvbihkYXRhLmNvbmRpdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbmRpdGlvbigpOiBGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkIHtcbiAgICAgICAgY29uc3QgZnJvbSA9IHNlcmlhbGl6ZTxEPih0aGlzLmRhdGVBZGFwdGVyLCB0aGlzLmZyb21DdHJsLnZhbHVlKTtcbiAgICAgICAgY29uc3QgdG8gPSBzZXJpYWxpemU8RD4odGhpcy5kYXRlQWRhcHRlciwgdGhpcy50b0N0cmwudmFsdWUpO1xuXG4gICAgICAgIGlmIChmcm9tICYmIHRvKSB7XG4gICAgICAgICAgICByZXR1cm4ge2JldHdlZW46IHtmcm9tLCB0b319O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0udmFsaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRGlydHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uZGlydHk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWxvYWRDb25kaXRpb24oY29uZGl0aW9uOiBGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIWNvbmRpdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSB7XG4gICAgICAgICAgICBmcm9tOiBudWxsIGFzIEQgfCBudWxsLFxuICAgICAgICAgICAgdG86IG51bGwgYXMgRCB8IG51bGwsXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGNvbmRpdGlvbi5iZXR3ZWVuKSB7XG4gICAgICAgICAgICB2YWx1ZS5mcm9tID0gdGhpcy5kYXRlQWRhcHRlci5wYXJzZShjb25kaXRpb24uYmV0d2Vlbi5mcm9tLCBudWxsKTtcbiAgICAgICAgICAgIHZhbHVlLnRvID0gdGhpcy5kYXRlQWRhcHRlci5wYXJzZShjb25kaXRpb24uYmV0d2Vlbi50bywgbnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZvcm0uc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFZhbGlkYXRvcnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbVmFsaWRhdG9ycy5yZXF1aXJlZF07XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24ubWluKSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goZGF0ZU1pbjxEPih0aGlzLmRhdGVBZGFwdGVyLCB0aGlzLmNvbmZpZ3VyYXRpb24ubWluKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLm1heCkge1xuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKGRhdGVNYXg8RD4odGhpcy5kYXRlQWRhcHRlciwgdGhpcy5jb25maWd1cmF0aW9uLm1heCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mcm9tQ3RybC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgICAgICB0aGlzLnRvQ3RybC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuXG4gICAgICAgIHRoaXMuZm9ybS5zZXRWYWxpZGF0b3JzKFtcbiAgICAgICAgICAgIHRvR3JlYXRlclRoYW5Gcm9tPEQ+KHRoaXMuZGF0ZUFkYXB0ZXIpLCAvLyBGcm9tIDwgVG9cbiAgICAgICAgXSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbmRlcih2YWx1ZTogRCB8IG51bGwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdmFsdWUgPyB0aGlzLmRhdGVBZGFwdGVyLmZvcm1hdCh2YWx1ZSwgdGhpcy5kYXRlRm9ybWF0cy5kaXNwbGF5LmRhdGVJbnB1dCkgOiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlbmRlcmVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZnJvbSA9IHRoaXMucmVuZGVyKHRoaXMuZnJvbUN0cmwudmFsdWUpO1xuICAgICAgICBjb25zdCB0byA9IHRoaXMucmVuZGVyKHRoaXMudG9DdHJsLnZhbHVlKTtcblxuICAgICAgICBpZiAoZnJvbSAmJiB0bykge1xuICAgICAgICAgICAgcmV0dXJuIGZyb20gKyAnIC0gJyArIHRvO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJmcm9tXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRGVcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZyb21DdHJsXCJcbiAgICAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJtYXRjaGVyXCJcbiAgICAgICAgICAgIFttaW5dPVwiY29uZmlndXJhdGlvbi5taW5cIlxuICAgICAgICAgICAgW21heF09XCJjb25maWd1cmF0aW9uLm1heFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwiZnJvbVwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI2Zyb20+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZm9ybS5oYXNFcnJvcigndG9HcmVhdGVyVGhhbkZyb20nKVwiXG4gICAgICAgICAgICAgICAgPnt7IHJlbmRlcihmcm9tQ3RybC52YWx1ZSkgfX0gPiB7eyByZW5kZXIodG9DdHJsLnZhbHVlKSB9fTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJmcm9tQ3RybC5oYXNFcnJvcignbWluJykgJiYgIWZvcm0uaGFzRXJyb3IoJ3RvR3JlYXRlclRoYW5Gcm9tJylcIlxuICAgICAgICAgICAgICAgID48IHt7IGNvbmZpZ3VyYXRpb24ubWluIH19PC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImZyb21DdHJsLmhhc0Vycm9yKCdtYXgnKSAmJiAhZm9ybS5oYXNFcnJvcigndG9HcmVhdGVyVGhhbkZyb20nKVwiXG4gICAgICAgICAgICAgICAgPj4ge3sgY29uZmlndXJhdGlvbi5tYXggfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZnJvbUN0cmwuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj4qPC9zcGFuPlxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJ0b1wiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIsOgXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJ0b0N0cmxcIlxuICAgICAgICAgICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cIm1hdGNoZXJcIlxuICAgICAgICAgICAgW21pbl09XCJjb25maWd1cmF0aW9uLm1pblwiXG4gICAgICAgICAgICBbbWF4XT1cImNvbmZpZ3VyYXRpb24ubWF4XCJcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJ0b1wiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI3RvPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgICAgIDxtYXQtZXJyb3I+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRvQ3RybC5oYXNFcnJvcignbWluJykgJiYgIWZvcm0uaGFzRXJyb3IoJ3RvR3JlYXRlclRoYW5Gcm9tJylcIj48IHt7IGNvbmZpZ3VyYXRpb24ubWluIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0b0N0cmwuaGFzRXJyb3IoJ21heCcpICYmICFmb3JtLmhhc0Vycm9yKCd0b0dyZWF0ZXJUaGFuRnJvbScpXCI+PiB7eyBjb25maWd1cmF0aW9uLm1heCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidG9DdHJsLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+Kjwvc3Bhbj5cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZm9ybT5cbiJdfQ==
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kYXRlLXJhbmdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duLWNvbXBvbmVudHMvdHlwZS1kYXRlLXJhbmdlL3R5cGUtZGF0ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGUtZGF0ZS1yYW5nZS90eXBlLWRhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUVILFdBQVcsRUFDWCxTQUFTLEVBS1QsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFpQyxnQkFBZ0IsRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RyxPQUFPLEVBQUMsZUFBZSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUMscUJBQXFCLEVBQXNCLE1BQU0sa0RBQWtELENBQUM7QUFFNUcsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDOzs7Ozs7OztBQU9yRCxNQUFNLDRCQUE0QjtJQUN2QixZQUFZLENBQUMsT0FBb0MsRUFBRSxJQUF3QztRQUM5RixPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hHLENBQUM7Q0FDSjtB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Q0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDcEIsaUJBQWlCLENBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFlBQVk7U0FDdkQsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFlO1FBQ3pCLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUMsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFO1lBQ1osT0FBTyxJQUFJLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUM1QjthQUFNO1lBQ0gsT0FBTyxFQUFFLENBQUM7U0FDYjtJQUNMLENBQUM7O21IQW5HUSxzQkFBc0Isa0JBaUJuQixxQkFBcUIsd0NBRXJCLGdCQUFnQjt1R0FuQm5CLHNCQUFzQixvREM5RG5DLHEzREE4Q0E7MkZEZ0JhLHNCQUFzQjtrQkFIbEMsU0FBUzs7OzBCQW9CRCxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBRTVCLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q29udHJvbCxcbiAgICBGb3JtQ29udHJvbCxcbiAgICBGb3JtR3JvdXAsXG4gICAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIE5nRm9ybSxcbiAgICBWYWxpZGF0aW9uRXJyb3JzLFxuICAgIFZhbGlkYXRvckZuLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGF0ZUFkYXB0ZXIsIEVycm9yU3RhdGVNYXRjaGVyLCBNQVRfREFURV9GT1JNQVRTLCBNYXREYXRlRm9ybWF0c30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgbWVyZ2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vc2VhcmNoL3R5cGVzL2Ryb3Bkb3duLWNvbXBvbmVudCc7XG5pbXBvcnQge05BVFVSQUxfRFJPUERPV05fREFUQSwgTmF0dXJhbERyb3Bkb3duRGF0YX0gZnJvbSAnLi4vLi4vc2VhcmNoL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7RmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZH0gZnJvbSAnLi4vLi4vc2VhcmNoL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZS50eXBlcyc7XG5pbXBvcnQge2RhdGVNYXgsIGRhdGVNaW4sIHNlcmlhbGl6ZX0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVEYXRlUmFuZ2VDb25maWd1cmF0aW9uPEQgPSBhbnk+IHtcbiAgICBtaW4/OiBEIHwgbnVsbDtcbiAgICBtYXg/OiBEIHwgbnVsbDtcbn1cblxuY2xhc3MgSW52YWxpZFdpdGhWYWx1ZVN0YXRlTWF0Y2hlciBpbXBsZW1lbnRzIEVycm9yU3RhdGVNYXRjaGVyIHtcbiAgICBwdWJsaWMgaXNFcnJvclN0YXRlKGNvbnRyb2w6IEZvcm1Db250cm9sPHVua25vd24+IHwgbnVsbCwgZm9ybTogRm9ybUdyb3VwRGlyZWN0aXZlIHwgTmdGb3JtIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKGZvcm0gJiYgZm9ybS5pbnZhbGlkICYmIChmb3JtLnZhbHVlLnRvIHx8IGZvcm0udmFsdWUuZnJvbSkpIHx8IChjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUZyb21Db250cm9sPEQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwga2V5OiBzdHJpbmcpOiBEIHwgbnVsbCB7XG4gICAgY29uc3QgYyA9IGNvbnRyb2wuZ2V0KGtleSk7XG4gICAgaWYgKCFjKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBjLnZhbHVlO1xufVxuXG4vKipcbiAqIEZyb20gPj0gVG9cbiAqL1xuZnVuY3Rpb24gdG9HcmVhdGVyVGhhbkZyb208RD4oZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+KTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCBmcm9tID0gcGFyc2VGcm9tQ29udHJvbDxEPihjb250cm9sLCAnZnJvbScpO1xuICAgICAgICBjb25zdCB0byA9IHBhcnNlRnJvbUNvbnRyb2w8RD4oY29udHJvbCwgJ3RvJyk7XG5cbiAgICAgICAgaWYgKGZyb20gJiYgdG8gJiYgZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGUoZnJvbSwgdG8pID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHt0b0dyZWF0ZXJUaGFuRnJvbTogdHJ1ZX07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xufVxuXG4vKipcbiAqIERhdGUgcmFuZ2Ugd2l0aCBtYW5kYXRvcnkgYm91bmRpbmcgZGF0ZXMuXG4gKlxuICogSWYgeW91IG5lZWQgb29wdGlvbmFsIGJvdW5kaW5nIGRhdGUsIHRoZW4gdXNlIGBUeXBlRGF0ZUNvbXBvbmVudGAgaW5zdGVhZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL3R5cGUtZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFR5cGVEYXRlUmFuZ2VDb21wb25lbnQ8RCA9IGFueT4gaW1wbGVtZW50cyBEcm9wZG93bkNvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IHJlbmRlcmVkVmFsdWUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb25maWd1cmF0aW9uOiBSZXF1aXJlZDxUeXBlRGF0ZVJhbmdlQ29uZmlndXJhdGlvbjxEPj47XG4gICAgcHVibGljIHJlYWRvbmx5IG1hdGNoZXIgPSBuZXcgSW52YWxpZFdpdGhWYWx1ZVN0YXRlTWF0Y2hlcigpO1xuICAgIHB1YmxpYyByZWFkb25seSBmcm9tQ3RybCA9IG5ldyBGb3JtQ29udHJvbDxEIHwgbnVsbD4obnVsbCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHRvQ3RybCA9IG5ldyBGb3JtQ29udHJvbDxEIHwgbnVsbD4obnVsbCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgZnJvbTogdGhpcy5mcm9tQ3RybCxcbiAgICAgICAgdG86IHRoaXMudG9DdHJsLFxuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0czogUmVxdWlyZWQ8VHlwZURhdGVSYW5nZUNvbmZpZ3VyYXRpb248RD4+ID0ge1xuICAgICAgICBtaW46IG51bGwsXG4gICAgICAgIG1heDogbnVsbCxcbiAgICB9O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KE5BVFVSQUxfRFJPUERPV05fREFUQSkgZGF0YTogTmF0dXJhbERyb3Bkb3duRGF0YTxUeXBlRGF0ZVJhbmdlQ29uZmlndXJhdGlvbjxEPj4sXG4gICAgICAgIHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LFxuICAgICAgICBASW5qZWN0KE1BVF9EQVRFX0ZPUk1BVFMpIHByaXZhdGUgZGF0ZUZvcm1hdHM6IE1hdERhdGVGb3JtYXRzLFxuICAgICkge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSB7Li4udGhpcy5kZWZhdWx0cywgLi4uZGF0YS5jb25maWd1cmF0aW9ufTtcblxuICAgICAgICBtZXJnZSh0aGlzLmZyb21DdHJsLnZhbHVlQ2hhbmdlcywgdGhpcy50b0N0cmwudmFsdWVDaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlZFZhbHVlLm5leHQodGhpcy5nZXRSZW5kZXJlZFZhbHVlKCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmluaXRWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMucmVsb2FkQ29uZGl0aW9uKGRhdGEuY29uZGl0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29uZGl0aW9uKCk6IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQge1xuICAgICAgICBjb25zdCBmcm9tID0gc2VyaWFsaXplPEQ+KHRoaXMuZGF0ZUFkYXB0ZXIsIHRoaXMuZnJvbUN0cmwudmFsdWUpO1xuICAgICAgICBjb25zdCB0byA9IHNlcmlhbGl6ZTxEPih0aGlzLmRhdGVBZGFwdGVyLCB0aGlzLnRvQ3RybC52YWx1ZSk7XG5cbiAgICAgICAgaWYgKGZyb20gJiYgdG8pIHtcbiAgICAgICAgICAgIHJldHVybiB7YmV0d2Vlbjoge2Zyb20sIHRvfX07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS52YWxpZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNEaXJ0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5kaXJ0eTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbG9hZENvbmRpdGlvbihjb25kaXRpb246IEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICghY29uZGl0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZSA9IHtcbiAgICAgICAgICAgIGZyb206IG51bGwgYXMgRCB8IG51bGwsXG4gICAgICAgICAgICB0bzogbnVsbCBhcyBEIHwgbnVsbCxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoY29uZGl0aW9uLmJldHdlZW4pIHtcbiAgICAgICAgICAgIHZhbHVlLmZyb20gPSB0aGlzLmRhdGVBZGFwdGVyLnBhcnNlKGNvbmRpdGlvbi5iZXR3ZWVuLmZyb20sIG51bGwpO1xuICAgICAgICAgICAgdmFsdWUudG8gPSB0aGlzLmRhdGVBZGFwdGVyLnBhcnNlKGNvbmRpdGlvbi5iZXR3ZWVuLnRvLCBudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0VmFsaWRhdG9ycygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkXTtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5taW4pIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChkYXRlTWluPEQ+KHRoaXMuZGF0ZUFkYXB0ZXIsIHRoaXMuY29uZmlndXJhdGlvbi5taW4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24ubWF4KSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goZGF0ZU1heDxEPih0aGlzLmRhdGVBZGFwdGVyLCB0aGlzLmNvbmZpZ3VyYXRpb24ubWF4KSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZyb21DdHJsLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG4gICAgICAgIHRoaXMudG9DdHJsLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG5cbiAgICAgICAgdGhpcy5mb3JtLnNldFZhbGlkYXRvcnMoW1xuICAgICAgICAgICAgdG9HcmVhdGVyVGhhbkZyb208RD4odGhpcy5kYXRlQWRhcHRlciksIC8vIEZyb20gPCBUb1xuICAgICAgICBdKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVuZGVyKHZhbHVlOiBEIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZSA/IHRoaXMuZGF0ZUFkYXB0ZXIuZm9ybWF0KHZhbHVlLCB0aGlzLmRhdGVGb3JtYXRzLmRpc3BsYXkuZGF0ZUlucHV0KSA6ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UmVuZGVyZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmcm9tID0gdGhpcy5yZW5kZXIodGhpcy5mcm9tQ3RybC52YWx1ZSk7XG4gICAgICAgIGNvbnN0IHRvID0gdGhpcy5yZW5kZXIodGhpcy50b0N0cmwudmFsdWUpO1xuXG4gICAgICAgIGlmIChmcm9tICYmIHRvKSB7XG4gICAgICAgICAgICByZXR1cm4gZnJvbSArICcgLSAnICsgdG87XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cImZyb21cIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJEZVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZnJvbUN0cmxcIlxuICAgICAgICAgICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cIm1hdGNoZXJcIlxuICAgICAgICAgICAgW21pbl09XCJjb25maWd1cmF0aW9uLm1pblwiXG4gICAgICAgICAgICBbbWF4XT1cImNvbmZpZ3VyYXRpb24ubWF4XCJcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJmcm9tXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjZnJvbT48L21hdC1kYXRlcGlja2VyPlxuICAgICAgICA8bWF0LWVycm9yPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJmb3JtLmhhc0Vycm9yKCd0b0dyZWF0ZXJUaGFuRnJvbScpXCJcbiAgICAgICAgICAgICAgICA+e3sgcmVuZGVyKGZyb21DdHJsLnZhbHVlKSB9fSA+IHt7IHJlbmRlcih0b0N0cmwudmFsdWUpIH19PC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImZyb21DdHJsLmhhc0Vycm9yKCdtaW4nKSAmJiAhZm9ybS5oYXNFcnJvcigndG9HcmVhdGVyVGhhbkZyb20nKVwiXG4gICAgICAgICAgICAgICAgPjwge3sgY29uZmlndXJhdGlvbi5taW4gfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZnJvbUN0cmwuaGFzRXJyb3IoJ21heCcpICYmICFmb3JtLmhhc0Vycm9yKCd0b0dyZWF0ZXJUaGFuRnJvbScpXCJcbiAgICAgICAgICAgICAgICA+PiB7eyBjb25maWd1cmF0aW9uLm1heCB9fTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJmcm9tQ3RybC5oYXNFcnJvcigncmVxdWlyZWQnKVwiPio8L3NwYW4+XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cInRvXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiw6BcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInRvQ3RybFwiXG4gICAgICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwibWF0Y2hlclwiXG4gICAgICAgICAgICBbbWluXT1cImNvbmZpZ3VyYXRpb24ubWluXCJcbiAgICAgICAgICAgIFttYXhdPVwiY29uZmlndXJhdGlvbi5tYXhcIlxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cInRvXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjdG8+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidG9DdHJsLmhhc0Vycm9yKCdtaW4nKSAmJiAhZm9ybS5oYXNFcnJvcigndG9HcmVhdGVyVGhhbkZyb20nKVwiPjwge3sgY29uZmlndXJhdGlvbi5taW4gfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRvQ3RybC5oYXNFcnJvcignbWF4JykgJiYgIWZvcm0uaGFzRXJyb3IoJ3RvR3JlYXRlclRoYW5Gcm9tJylcIj4+IHt7IGNvbmZpZ3VyYXRpb24ubWF4IH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0b0N0cmwuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj4qPC9zcGFuPlxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9mb3JtPlxuIl19
|