@3kles/kles-material-dynamicforms 14.2.2 → 14.3.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/dynamic-form.component.mjs +14 -2
- package/esm2020/lib/interfaces/field.config.interface.mjs +1 -1
- package/fesm2015/3kles-kles-material-dynamicforms.mjs +13 -3
- package/fesm2015/3kles-kles-material-dynamicforms.mjs.map +1 -1
- package/fesm2020/3kles-kles-material-dynamicforms.mjs +13 -3
- package/fesm2020/3kles-kles-material-dynamicforms.mjs.map +1 -1
- package/lib/interfaces/field.config.interface.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
2
|
import { Validators } from '@angular/forms';
|
|
3
|
+
import { of, concat } from 'rxjs';
|
|
4
|
+
import { catchError, map, take } from 'rxjs/operators';
|
|
3
5
|
import { EnumType } from './enums/type.enum';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
7
|
import * as i1 from "@angular/forms";
|
|
@@ -157,7 +159,6 @@ export class KlesDynamicFormComponent {
|
|
|
157
159
|
if (field.disabled) {
|
|
158
160
|
range.disable();
|
|
159
161
|
}
|
|
160
|
-
console.log(range);
|
|
161
162
|
return range;
|
|
162
163
|
}
|
|
163
164
|
else {
|
|
@@ -169,6 +170,17 @@ export class KlesDynamicFormComponent {
|
|
|
169
170
|
if (field.disabled) {
|
|
170
171
|
control.disable();
|
|
171
172
|
}
|
|
173
|
+
if (field.asyncValue) {
|
|
174
|
+
concat(of({ value: null, pending: true }), field.asyncValue.pipe(take(1), catchError((err) => {
|
|
175
|
+
console.error(err);
|
|
176
|
+
return of(null);
|
|
177
|
+
}), map((value) => ({ value, pending: false })))).subscribe((response) => {
|
|
178
|
+
response.pending ? control.disable({ emitEvent: false }) : control.enable({ emitEvent: false });
|
|
179
|
+
control.setValue(response.value);
|
|
180
|
+
field.pending = response.pending;
|
|
181
|
+
field.value = response.value;
|
|
182
|
+
});
|
|
183
|
+
}
|
|
172
184
|
return control;
|
|
173
185
|
}
|
|
174
186
|
}
|
|
@@ -290,4 +302,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
290
302
|
}], direction: [{
|
|
291
303
|
type: Input
|
|
292
304
|
}] } });
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZHluYW1pYy1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQXdDLFVBQVUsRUFBd0UsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4SixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBNkI3QyxNQUFNLE9BQU8sd0JBQXdCO0lBa0JqQyxZQUFvQixFQUFzQjtRQUF0QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQWpCakMsV0FBTSxHQUF1QixFQUFFLENBQUM7UUFDaEMsZUFBVSxHQUFrQyxFQUFFLENBQUM7UUFDL0Msb0JBQWUsR0FBdUMsRUFBRSxDQUFDO1FBQ2xFLDZDQUE2QztRQUNuQyxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDcEQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEMsY0FBUyxHQUFxQixRQUFRLENBQUM7UUFHaEQscUJBQWdCLEdBQStDLHFCQUFxQixDQUFDO1FBQ3JGLHlCQUFvQixHQUF5RCwwQkFBMEIsQ0FBQztJQU0xRCxDQUFDO0lBSi9DLElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUtELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FB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QztJQUNoQixDQUFDO0lBR08sb0JBQW9CLENBQUMsV0FBK0M7UUFDeEUsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN4QixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDckIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEIsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7U0FFN0M7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8scUJBQXFCLENBQUMsU0FBMkI7UUFDckQsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7c0hBL1JRLHdCQUF3QjswR0FBeEIsd0JBQXdCLDRSQXRCdkI7Ozs7Ozs7O0tBUVQ7NEZBY1Esd0JBQXdCO2tCQXpCcEMsU0FBUzsrQkFDSSxpQkFBaUIsWUFDakIsdUJBQXVCLFlBQ3ZCOzs7Ozs7OztLQVFUO3lHQWVRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUUsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCwgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCwgVW50eXBlZEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzLCBWYWxpZGF0b3JGbiwgQXN5bmNWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVudW1UeXBlIH0gZnJvbSAnLi9lbnVtcy90eXBlLmVudW0nO1xuaW1wb3J0IHsgSUtsZXNGaWVsZENvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IElLbGVzVmFsaWRhdG9yIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3ZhbGlkYXRvci5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBleHBvcnRBczogJ2tsZXNEeW5hbWljRm9ybScsXG4gICAgc2VsZWN0b3I6ICdhcHAta2xlcy1keW5hbWljLWZvcm0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPGZvcm0gY2xhc3M9XCJ7e29yaWVudGF0aW9uQ2xhc3N9fVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChzdWJtaXQpPVwib25TdWJtaXQoJGV2ZW50KVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHM7XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQudmlzaWJsZSAhPT0gZmFsc2VcIiBjbGFzcz1cInt7b3JpZW50YXRpb25JdGVtQ2xhc3N9fVwiIGtsZXNEeW5hbWljRmllbGQgW2ZpZWxkXT1cImZpZWxkXCIgW2dyb3VwXT1cImZvcm1cIiBbc2libGluZ0ZpZWxkc109XCJmaWVsZHNcIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPCEtLTxidXR0b24gKGNsaWNrKT1cInJlc2V0KClcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIj5SRVNFVDwvYnV0dG9uPi0tPlxuICAgIDwvZm9ybT5cbiAgICBgLFxuICAgIHN0eWxlczogW1xuICAgICAgICAvLyAnLmR5bmFtaWMtZm9ybSB7ZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjt9JyxcbiAgICAgICAgLy8nLmR5bmFtaWMtZm9ybSB7ZGlzcGxheTogZmxleDt9JyxcbiAgICAgICAgLy8nLmR5bmFtaWMtZm9ybSB7IHdpZHRoOiAxMDAlOyB9JyxcbiAgICAgICAgJy5keW5hbWljLWZvcm0tY29sdW1uIHsgZGlzcGxheTogZmxleDtmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9JyxcbiAgICAgICAgJy5keW5hbWljLWZvcm0tY29sdW1uID4gKiB7IHdpZHRoOiAxMDAlOyB9JyxcbiAgICAgICAgJy5keW5hbWljLWZvcm0tcm93IHsgZGlzcGxheTogaW5saW5lLWZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjEwcHggfScsXG4gICAgICAgICcuZHluYW1pYy1mb3JtLXJvdyA+ICogeyB3aWR0aDogMTAwJTsgfScsXG4gICAgICAgICcuZHluYW1pYy1mb3JtLXJvdy1pdGVtIHsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9JyxcbiAgICAgICAgJy5keW5hbWljLWZvcm0tY29sdW1uLWl0ZW0geyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9JyxcbiAgICBdXG5cbn0pXG5leHBvcnQgY2xhc3MgS2xlc0R5bmFtaWNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIGZpZWxkczogSUtsZXNGaWVsZENvbmZpZ1tdID0gW107XG4gICAgQElucHV0KCkgdmFsaWRhdG9yczogSUtsZXNWYWxpZGF0b3I8VmFsaWRhdG9yRm4+W10gPSBbXTtcbiAgICBASW5wdXQoKSBhc3luY1ZhbGlkYXRvcnM6IElLbGVzVmFsaWRhdG9yPEFzeW5jVmFsaWRhdG9yRm4+W10gPSBbXTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLW91dHB1dC1uYXRpdmVcbiAgICBAT3V0cHV0KCkgc3VibWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBfb25Mb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASW5wdXQoKSBkaXJlY3Rpb246ICdjb2x1bW4nIHwgJ3JvdycgPSAnY29sdW1uJztcblxuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gICAgb3JpZW50YXRpb25DbGFzczogJ2R5bmFtaWMtZm9ybS1jb2x1bW4nIHwgJ2R5bmFtaWMtZm9ybS1yb3cnID0gJ2R5bmFtaWMtZm9ybS1jb2x1bW4nO1xuICAgIG9yaWVudGF0aW9uSXRlbUNsYXNzOiAnZHluYW1pYy1mb3JtLWNvbHVtbi1pdGVtJyB8ICdkeW5hbWljLWZvcm0tcm93LWl0ZW0nID0gJ2R5bmFtaWMtZm9ybS1jb2x1bW4taXRlbSc7XG5cbiAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0udmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyKSB7IH1cblxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgICAgICB0aGlzLm9yaWVudGF0aW9uQ2xhc3MgPSB0aGlzLmRpcmVjdGlvbiA9PT0gJ3JvdycgPyAnZHluYW1pYy1mb3JtLXJvdycgOiAnZHluYW1pYy1mb3JtLWNvbHVtbic7XG4gICAgICAgIHRoaXMub3JpZW50YXRpb25JdGVtQ2xhc3MgPSB0aGlzLmRpcmVjdGlvbiA9PT0gJ3JvdycgPyAnZHluYW1pYy1mb3JtLXJvdy1pdGVtJyA6ICdkeW5hbWljLWZvcm0tY29sdW1uLWl0ZW0nO1xuICAgICAgICB0aGlzLl9vbkxvYWRlZC5lbWl0KCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoIWNoYW5nZXMuZmllbGRzPy5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGb3JtKCk7XG4gICAgICAgICAgICAvLyB0aGlzLmZvcm0gPSB0aGlzLmNyZWF0ZUNvbnRyb2woKTtcbiAgICAgICAgICAgIC8vIHRoaXMuZm9ybS5jb250cm9scyA9IHt9O1xuICAgICAgICAgICAgdGhpcy5fb25Mb2FkZWQuZW1pdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjaGFuZ2VzLnZhbGlkYXRvcnM/LmZpcnN0Q2hhbmdlICYmIHRoaXMuZm9ybSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtLnNldFZhbGlkYXRvcnModGhpcy52YWxpZGF0b3JzLm1hcCh2ID0+IHYudmFsaWRhdG9yKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNoYW5nZXMuYXN5bmNWYWxpZGF0b3JzPy5maXJzdENoYW5nZSAmJiB0aGlzLmZvcm0pIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5zZXRBc3luY1ZhbGlkYXRvcnModGhpcy5hc3luY1ZhbGlkYXRvcnMubWFwKHYgPT4gdi52YWxpZGF0b3IpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghY2hhbmdlcy5kaXJlY3Rpb24/LmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uQ2xhc3MgPSB0aGlzLmRpcmVjdGlvbiA9PT0gJ3JvdycgPyAnZHluYW1pYy1mb3JtLXJvdycgOiAnZHluYW1pYy1mb3JtLWNvbHVtbic7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uSXRlbUNsYXNzID0gdGhpcy5kaXJlY3Rpb24gPT09ICdyb3cnID8gJ2R5bmFtaWMtZm9ybS1yb3ctaXRlbScgOiAnZHluYW1pYy1mb3JtLWNvbHVtbi1pdGVtJztcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLnN1Ym1pdC5lbWl0KHRoaXMuZm9ybS52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyh0aGlzLmZvcm0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVzZXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSB1cGRhdGVGb3JtKCkge1xuICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmZvcm0uY29udHJvbHMpLmZpbHRlcihrZXkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuICF0aGlzLmZpZWxkcy5tYXAoZmllbGQgPT4gZmllbGQubmFtZSkuaW5jbHVkZXMoa2V5KTtcbiAgICAgICAgfSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb3JtLnJlbW92ZUNvbnRyb2woa2V5KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5maWVsZHNcbiAgICAgICAgICAgIC8vIC5maWx0ZXIoZmllbGQgPT4gIXRoaXMuZm9ybS5jb250cm9sc1tmaWVsZC5uYW1lXSlcbiAgICAgICAgICAgIC5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRW51bVR5cGUubGluZUJyZWFrKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkLm5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLnVwZGF0ZUNvbnRyb2woZmllbGQsIHRoaXMuZm9ybS5jb250cm9sc1tmaWVsZC5uYW1lXSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5zZXRDb250cm9sKGZpZWxkLm5hbWUsIGNvbnRyb2wsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5jcmVhdGVDb250cm9sKGZpZWxkKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woZmllbGQubmFtZSwgY29udHJvbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDb250cm9sKGZpZWxkOiBJS2xlc0ZpZWxkQ29uZmlnLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRW51bVR5cGUuYXJyYXkpIHtcbiAgICAgICAgICAgIGNvbnN0IGFycmF5ID0gY29udHJvbCBhcyBGb3JtQXJyYXk7XG4gICAgICAgICAgICAvKlRPRE8qL1xuICAgICAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09IEVudW1UeXBlLmdyb3VwKSB7XG4gICAgICAgICAgICBjb25zdCBncm91cCA9IGNvbnRyb2wgYXMgRm9ybUdyb3VwO1xuICAgICAgICAgICAgaWYgKGZpZWxkLmNvbGxlY3Rpb25zICYmIEFycmF5LmlzQXJyYXkoZmllbGQuY29sbGVjdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgZmllbGQuY29sbGVjdGlvbnMuZm9yRWFjaChzdWJmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChncm91cC5jb250cm9sc1tzdWJmaWVsZF0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wgPSB0aGlzLnVwZGF0ZUNvbnRyb2woc3ViZmllbGQsIGdyb3VwLmNvbnRyb2xzW3N1YmZpZWxkXSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sID0gdGhpcy5jcmVhdGVDb250cm9sKHN1YmZpZWxkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBncm91cC5zZXRDb250cm9sKHN1YmZpZWxkLm5hbWUsIGNvbnRyb2wsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBncm91cDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLmJpbmRWYWxpZGF0aW9ucyhmaWVsZC52YWxpZGF0aW9ucyB8fCBbXSkpO1xuICAgICAgICAgICAgY29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnModGhpcy5iaW5kQXN5bmNWYWxpZGF0aW9ucyhmaWVsZC5hc3luY1ZhbGlkYXRpb25zIHx8IFtdKSk7XG4gICAgICAgICAgICBpZiAoZmllbGQudmFsdWUgJiYgY29udHJvbC52YWx1ZSAhPT0gZmllbGQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICBjb250cm9sLnNldFZhbHVlKGZpZWxkLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjb250cm9sO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUNvbnRyb2woZmllbGQ6IElLbGVzRmllbGRDb25maWcpOiBBYnN0cmFjdENvbnRyb2wge1xuXG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSBFbnVtVHlwZS5hcnJheSkge1xuICAgICAgICAgICAgY29uc3QgYXJyYXkgPSB0aGlzLmZiLmFycmF5KFtdKTtcblxuICAgICAgICAgICAgaWYgKGZpZWxkLnZhbHVlICYmIEFycmF5LmlzQXJyYXkoZmllbGQudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZpZWxkLmNvbGxlY3Rpb25zICYmIEFycmF5LmlzQXJyYXkoZmllbGQuY29sbGVjdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnZhbHVlLmZvckVhY2godmFsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gdGhpcy5mYi5ncm91cCh7fSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5jb2xsZWN0aW9ucy5mb3JFYWNoKHN1YmZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gdmFsW3N1YmZpZWxkLm5hbWVdIHx8IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuY3JlYXRlQ29udHJvbCh7IC4uLnN1YmZpZWxkLCAuLi4oZGF0YSAmJiB7IHZhbHVlOiBkYXRhIH0pIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwLmFkZENvbnRyb2woc3ViZmllbGQubmFtZSwgY29udHJvbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5LnB1c2goZ3JvdXApO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gdGhpcy5mYi5ncm91cCh7fSk7XG4gICAgICAgICAgICAgICAgZmllbGQuY29sbGVjdGlvbnMuZm9yRWFjaChzdWJmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNyZWF0ZUNvbnRyb2woeyAuLi5zdWJmaWVsZCB9KTtcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXAuYWRkQ29udHJvbChzdWJmaWVsZC5uYW1lLCBjb250cm9sKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBhcnJheS5wdXNoKGdyb3VwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhcnJheTtcbiAgICAgICAgfSBlbHNlIGlmIChmaWVsZC50eXBlID09PSBFbnVtVHlwZS5ncm91cCkge1xuICAgICAgICAgICAgY29uc3Qgc3ViR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHt9KTtcbiAgICAgICAgICAgIGlmIChmaWVsZC5jb2xsZWN0aW9ucyAmJiBBcnJheS5pc0FycmF5KGZpZWxkLmNvbGxlY3Rpb25zKSkge1xuICAgICAgICAgICAgICAgIGZpZWxkLmNvbGxlY3Rpb25zLmZvckVhY2goc3ViZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5jcmVhdGVDb250cm9sKHN1YmZpZWxkKTtcbiAgICAgICAgICAgICAgICAgICAgc3ViR3JvdXAuYWRkQ29udHJvbChzdWJmaWVsZC5uYW1lLCBjb250cm9sKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdWJHcm91cDtcbiAgICAgICAgfSBlbHNlIGlmIChmaWVsZC50eXBlID09PSBFbnVtVHlwZS5yYW5nZSkge1xuICAgICAgICAgICAgY29uc3QgcmFuZ2UgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgICBzdGFydDogdGhpcy5mYi5jb250cm9sKGZpZWxkLnZhbHVlPy5zdGFydCksXG4gICAgICAgICAgICAgICAgZW5kOiB0aGlzLmZiLmNvbnRyb2woZmllbGQudmFsdWU/LmVuZCksXG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgdmFsaWRhdG9yczogdGhpcy5iaW5kVmFsaWRhdGlvbnMoZmllbGQudmFsaWRhdGlvbnMgfHwgW10pLFxuICAgICAgICAgICAgICAgIGFzeW5jVmFsaWRhdG9yczogdGhpcy5iaW5kQXN5bmNWYWxpZGF0aW9ucyhmaWVsZC5hc3luY1ZhbGlkYXRpb25zIHx8IFtdKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoZmllbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByYW5nZS5kaXNhYmxlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJhbmdlKVxuICAgICAgICAgICAgcmV0dXJuIHJhbmdlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbChcbiAgICAgICAgICAgICAgICBmaWVsZC52YWx1ZSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvcnM6IHRoaXMuYmluZFZhbGlkYXRpb25zKGZpZWxkLnZhbGlkYXRpb25zIHx8IFtdKSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmNWYWxpZGF0b3JzOiB0aGlzLmJpbmRBc3luY1ZhbGlkYXRpb25zKGZpZWxkLmFzeW5jVmFsaWRhdGlvbnMgfHwgW10pLFxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVPbjogZmllbGQudXBkYXRlT24gfHwgJ2NoYW5nZSdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGZpZWxkLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgY29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY29udHJvbDtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICAvLyBwcml2YXRlIGNyZWF0ZUNvbnRyb2woZmllbGQ6IElLbGVzRmllbGRDb25maWcpOiBBYnN0cmFjdENvbnRyb2wge1xuXG4gICAgLy8gICAgIGlmIChmaWVsZC50eXBlID09PSAnbGlzdEZpZWxkJykge1xuICAgIC8vICAgICAgICAgY29uc3QgYXJyYXkgPSB0aGlzLmZiLmFycmF5KFtdKTtcblxuICAgIC8vICAgICAgICAgZmllbGQudmFsdWUuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgLy8gICAgICAgICAgICAgY29uc3Qgc3ViR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHt9KTtcbiAgICAvLyAgICAgICAgICAgICBmaWVsZC5jb2xsZWN0aW9ucy5mb3JFYWNoKHN1YmZpZWxkID0+IHtcbiAgICAvLyAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbChcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIGRhdGFbc3ViZmllbGQubmFtZV0gPyBkYXRhW3N1YmZpZWxkLm5hbWVdIDogbnVsbCxcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmluZFZhbGlkYXRpb25zKHN1YmZpZWxkLnZhbGlkYXRpb25zIHx8IFtdKSxcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmluZEFzeW5jVmFsaWRhdGlvbnMoc3ViZmllbGQuYXN5bmNWYWxpZGF0aW9ucyB8fCBbXSlcbiAgICAvLyAgICAgICAgICAgICAgICAgKTtcbiAgICAvLyAgICAgICAgICAgICAgICAgc3ViR3JvdXAuYWRkQ29udHJvbChzdWJmaWVsZC5uYW1lLCBjb250cm9sKTtcbiAgICAvLyAgICAgICAgICAgICB9KTtcbiAgICAvLyAgICAgICAgICAgICBhcnJheS5wdXNoKHN1Ykdyb3VwKTtcbiAgICAvLyAgICAgICAgIH0pO1xuICAgIC8vICAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgIC8vICAgICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09ICdncm91cCcpIHtcbiAgICAvLyAgICAgICAgIGNvbnN0IHN1Ykdyb3VwID0gdGhpcy5mYi5ncm91cCh7fSk7XG4gICAgLy8gICAgICAgICBpZiAoZmllbGQuY29sbGVjdGlvbnMgJiYgQXJyYXkuaXNBcnJheShmaWVsZC5jb2xsZWN0aW9ucykpIHtcbiAgICAvLyAgICAgICAgICAgICBmaWVsZC5jb2xsZWN0aW9ucy5mb3JFYWNoKHN1YmZpZWxkID0+IHtcbiAgICAvLyAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbChcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIHN1YmZpZWxkLnZhbHVlLFxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kVmFsaWRhdGlvbnMoc3ViZmllbGQudmFsaWRhdGlvbnMgfHwgW10pLFxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kQXN5bmNWYWxpZGF0aW9ucyhzdWJmaWVsZC5hc3luY1ZhbGlkYXRpb25zIHx8IFtdKVxuICAgIC8vICAgICAgICAgICAgICAgICApO1xuICAgIC8vICAgICAgICAgICAgICAgICBpZiAoc3ViZmllbGQuZGlzYWJsZWQpIHtcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgIC8vICAgICAgICAgICAgICAgICB9XG4gICAgLy8gICAgICAgICAgICAgICAgIHN1Ykdyb3VwLmFkZENvbnRyb2woc3ViZmllbGQubmFtZSwgY29udHJvbCk7XG4gICAgLy8gICAgICAgICAgICAgfSk7XG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgICAgICByZXR1cm4gc3ViR3JvdXA7XG5cbiAgICAvLyAgICAgfSBlbHNlIHtcbiAgICAvLyAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZiLmNvbnRyb2woXG4gICAgLy8gICAgICAgICAgICAgZmllbGQudmFsdWUsXG4gICAgLy8gICAgICAgICAgICAgdGhpcy5iaW5kVmFsaWRhdGlvbnMoZmllbGQudmFsaWRhdGlvbnMgfHwgW10pLFxuICAgIC8vICAgICAgICAgICAgIHRoaXMuYmluZEFzeW5jVmFsaWRhdGlvbnMoZmllbGQuYXN5bmNWYWxpZGF0aW9ucyB8fCBbXSlcbiAgICAvLyAgICAgICAgICk7XG4gICAgLy8gICAgICAgICBpZiAoZmllbGQuZGlzYWJsZWQpIHtcbiAgICAvLyAgICAgICAgICAgICBjb250cm9sLmRpc2FibGUoKTtcbiAgICAvLyAgICAgICAgIH1cbiAgICAvLyAgICAgICAgIHJldHVybiBjb250cm9sO1xuICAgIC8vICAgICB9XG4gICAgLy8gfVxuXG5cblxuICAgIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICAgICAgY29uc3QgZ3JvdXAgPSB0aGlzLmZiLmdyb3VwKHt9KTtcblxuICAgICAgICB0aGlzLmZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcblxuICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IEVudW1UeXBlLmxpbmVCcmVhaykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNyZWF0ZUNvbnRyb2woZmllbGQpO1xuXG4gICAgICAgICAgICBncm91cC5hZGRDb250cm9sKGZpZWxkLm5hbWUsIGNvbnRyb2wpO1xuICAgICAgICB9KTtcblxuICAgICAgICBncm91cC5zZXRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdG9ycy5tYXAodiA9PiB2LnZhbGlkYXRvcikpO1xuICAgICAgICBncm91cC5zZXRBc3luY1ZhbGlkYXRvcnModGhpcy5hc3luY1ZhbGlkYXRvcnMubWFwKHYgPT4gdi52YWxpZGF0b3IpKTtcblxuICAgICAgICByZXR1cm4gZ3JvdXA7XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIGJpbmRWYWxpZGF0aW9ucyh2YWxpZGF0aW9uczogSUtsZXNWYWxpZGF0b3I8VmFsaWRhdG9yRm4+W10pOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIGlmICh2YWxpZGF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHZhbGlkYXRpb25zLmZvckVhY2godmFsaWQgPT4ge1xuICAgICAgICAgICAgICAgIHZhbGlkTGlzdC5wdXNoKHZhbGlkLnZhbGlkYXRvcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBWYWxpZGF0b3JzLmNvbXBvc2UodmFsaWRMaXN0KTtcblxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBiaW5kQXN5bmNWYWxpZGF0aW9ucyh2YWxpZGF0aW9uczogSUtsZXNWYWxpZGF0b3I8QXN5bmNWYWxpZGF0b3JGbj5bXSk6IEFzeW5jVmFsaWRhdG9yRm4ge1xuICAgICAgICBpZiAodmFsaWRhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgdmFsaWRMaXN0ID0gW107XG4gICAgICAgICAgICB2YWxpZGF0aW9ucy5mb3JFYWNoKHZhbGlkID0+IHtcbiAgICAgICAgICAgICAgICB2YWxpZExpc3QucHVzaCh2YWxpZC52YWxpZGF0b3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gVmFsaWRhdG9ycy5jb21wb3NlQXN5bmModmFsaWRMaXN0KTtcblxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVBbGxGb3JtRmllbGRzKGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCkge1xuICAgICAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoZmllbGQpO1xuICAgICAgICAgICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
305
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZHluYW1pYy1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQXdDLFVBQVUsRUFBd0UsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4SixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBNkI3QyxNQUFNLE9BQU8sd0JBQXdCO0lBa0JqQyxZQUFvQixFQUFzQjtRQUF0QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQWpCakMsV0FBTSxHQUF1QixFQUFFLENBQUM7UUFDaEMsZUFBVSxHQUFrQyxFQUFFLENBQUM7UUFDL0Msb0JBQWUsR0FBdUMsRUFBRSxDQUFDO1FBQ2xFLDZDQUE2QztRQUNuQyxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDcEQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEMsY0FBUyxHQUFxQixRQUFRLENBQUM7UUFHaEQscUJBQWdCLEdBQStDLHFCQUFxQixDQUFDO1FBQ3JGLHlCQUFvQixHQUF5RCwwQkFBMEIsQ0FBQztJQU0xRCxDQUFDO0lBSi9DLElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUtELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxHQUFH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Q0FBQyxFQUFFO1lBQ3hCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNyQixXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN4QixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sVUFBVSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUU3QztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxTQUEyQjtRQUNyRCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztzSEFqVFEsd0JBQXdCOzBHQUF4Qix3QkFBd0IsNFJBdEJ2Qjs7Ozs7Ozs7S0FRVDs0RkFjUSx3QkFBd0I7a0JBekJwQyxTQUFTOytCQUNJLGlCQUFpQixZQUNqQix1QkFBdUIsWUFDdkI7Ozs7Ozs7O0tBUVQ7eUdBZVEsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFFRSxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25Jbml0LCBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuLCBBc3luY1ZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgb2YsIGNvbmNhdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRW51bVR5cGUgfSBmcm9tICcuL2VudW1zL3R5cGUuZW51bSc7XG5pbXBvcnQgeyBJS2xlc0ZpZWxkQ29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2ZpZWxkLmNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUtsZXNWYWxpZGF0b3IgfSBmcm9tICcuL2ludGVyZmFjZXMvdmFsaWRhdG9yLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIGV4cG9ydEFzOiAna2xlc0R5bmFtaWNGb3JtJyxcbiAgICBzZWxlY3RvcjogJ2FwcC1rbGVzLWR5bmFtaWMtZm9ybScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8Zm9ybSBjbGFzcz1cInt7b3JpZW50YXRpb25DbGFzc319XCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgKHN1Ym1pdCk9XCJvblN1Ym1pdCgkZXZlbnQpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkcztcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC52aXNpYmxlICE9PSBmYWxzZVwiIGNsYXNzPVwie3tvcmllbnRhdGlvbkl0ZW1DbGFzc319XCIga2xlc0R5bmFtaWNGaWVsZCBbZmllbGRdPVwiZmllbGRcIiBbZ3JvdXBdPVwiZm9ybVwiIFtzaWJsaW5nRmllbGRzXT1cImZpZWxkc1wiPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8IS0tPGJ1dHRvbiAoY2xpY2spPVwicmVzZXQoKVwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiPlJFU0VUPC9idXR0b24+LS0+XG4gICAgPC9mb3JtPlxuICAgIGAsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIC8vICcuZHluYW1pYy1mb3JtIHtkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO30nLFxuICAgICAgICAvLycuZHluYW1pYy1mb3JtIHtkaXNwbGF5OiBmbGV4O30nLFxuICAgICAgICAvLycuZHluYW1pYy1mb3JtIHsgd2lkdGg6IDEwMCU7IH0nLFxuICAgICAgICAnLmR5bmFtaWMtZm9ybS1jb2x1bW4geyBkaXNwbGF5OiBmbGV4O2ZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0nLFxuICAgICAgICAnLmR5bmFtaWMtZm9ybS1jb2x1bW4gPiAqIHsgd2lkdGg6IDEwMCU7IH0nLFxuICAgICAgICAnLmR5bmFtaWMtZm9ybS1yb3cgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6MTBweCB9JyxcbiAgICAgICAgJy5keW5hbWljLWZvcm0tcm93ID4gKiB7IHdpZHRoOiAxMDAlOyB9JyxcbiAgICAgICAgJy5keW5hbWljLWZvcm0tcm93LWl0ZW0geyBtYXJnaW4tcmlnaHQ6IDEwcHg7IH0nLFxuICAgICAgICAnLmR5bmFtaWMtZm9ybS1jb2x1bW4taXRlbSB7IG1hcmdpbi1ib3R0b206IDEwcHg7IH0nLFxuICAgIF1cblxufSlcbmV4cG9ydCBjbGFzcyBLbGVzRHluYW1pY0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgZmllbGRzOiBJS2xlc0ZpZWxkQ29uZmlnW10gPSBbXTtcbiAgICBASW5wdXQoKSB2YWxpZGF0b3JzOiBJS2xlc1ZhbGlkYXRvcjxWYWxpZGF0b3JGbj5bXSA9IFtdO1xuICAgIEBJbnB1dCgpIGFzeW5jVmFsaWRhdG9yczogSUtsZXNWYWxpZGF0b3I8QXN5bmNWYWxpZGF0b3JGbj5bXSA9IFtdO1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tb3V0cHV0LW5hdGl2ZVxuICAgIEBPdXRwdXQoKSBzdWJtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIF9vbkxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBJbnB1dCgpIGRpcmVjdGlvbjogJ2NvbHVtbicgfCAncm93JyA9ICdjb2x1bW4nO1xuXG4gICAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgICBvcmllbnRhdGlvbkNsYXNzOiAnZHluYW1pYy1mb3JtLWNvbHVtbicgfCAnZHluYW1pYy1mb3JtLXJvdycgPSAnZHluYW1pYy1mb3JtLWNvbHVtbic7XG4gICAgb3JpZW50YXRpb25JdGVtQ2xhc3M6ICdkeW5hbWljLWZvcm0tY29sdW1uLWl0ZW0nIHwgJ2R5bmFtaWMtZm9ybS1yb3ctaXRlbScgPSAnZHluYW1pYy1mb3JtLWNvbHVtbi1pdGVtJztcblxuICAgIGdldCB2YWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS52YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIpIHsgfVxuXG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgICAgIHRoaXMub3JpZW50YXRpb25DbGFzcyA9IHRoaXMuZGlyZWN0aW9uID09PSAncm93JyA/ICdkeW5hbWljLWZvcm0tcm93JyA6ICdkeW5hbWljLWZvcm0tY29sdW1uJztcbiAgICAgICAgdGhpcy5vcmllbnRhdGlvbkl0ZW1DbGFzcyA9IHRoaXMuZGlyZWN0aW9uID09PSAncm93JyA/ICdkeW5hbWljLWZvcm0tcm93LWl0ZW0nIDogJ2R5bmFtaWMtZm9ybS1jb2x1bW4taXRlbSc7XG4gICAgICAgIHRoaXMuX29uTG9hZGVkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghY2hhbmdlcy5maWVsZHM/LmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZvcm0oKTtcbiAgICAgICAgICAgIC8vIHRoaXMuZm9ybSA9IHRoaXMuY3JlYXRlQ29udHJvbCgpO1xuICAgICAgICAgICAgLy8gdGhpcy5mb3JtLmNvbnRyb2xzID0ge307XG4gICAgICAgICAgICB0aGlzLl9vbkxvYWRlZC5lbWl0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNoYW5nZXMudmFsaWRhdG9ycz8uZmlyc3RDaGFuZ2UgJiYgdGhpcy5mb3JtKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uc2V0VmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvcnMubWFwKHYgPT4gdi52YWxpZGF0b3IpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghY2hhbmdlcy5hc3luY1ZhbGlkYXRvcnM/LmZpcnN0Q2hhbmdlICYmIHRoaXMuZm9ybSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtLnNldEFzeW5jVmFsaWRhdG9ycyh0aGlzLmFzeW5jVmFsaWRhdG9ycy5tYXAodiA9PiB2LnZhbGlkYXRvcikpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjaGFuZ2VzLmRpcmVjdGlvbj8uZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb25DbGFzcyA9IHRoaXMuZGlyZWN0aW9uID09PSAncm93JyA/ICdkeW5hbWljLWZvcm0tcm93JyA6ICdkeW5hbWljLWZvcm0tY29sdW1uJztcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb25JdGVtQ2xhc3MgPSB0aGlzLmRpcmVjdGlvbiA9PT0gJ3JvdycgPyAnZHluYW1pYy1mb3JtLXJvdy1pdGVtJyA6ICdkeW5hbWljLWZvcm0tY29sdW1uLWl0ZW0nO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBvblN1Ym1pdChldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMuc3VibWl0LmVtaXQodGhpcy5mb3JtLnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKHRoaXMuZm9ybSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXNldCgpIHtcbiAgICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIHVwZGF0ZUZvcm0oKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuZm9ybS5jb250cm9scykuZmlsdGVyKGtleSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gIXRoaXMuZmllbGRzLm1hcChmaWVsZCA9PiBmaWVsZC5uYW1lKS5pbmNsdWRlcyhrZXkpO1xuICAgICAgICB9KS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvcm0ucmVtb3ZlQ29udHJvbChrZXkpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZpZWxkc1xuICAgICAgICAgICAgLy8gLmZpbHRlcihmaWVsZCA9PiAhdGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkLm5hbWVdKVxuICAgICAgICAgICAgLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSBFbnVtVHlwZS5saW5lQnJlYWspIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZvcm0uY29udHJvbHNbZmllbGQubmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMudXBkYXRlQ29udHJvbChmaWVsZCwgdGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkLm5hbWVdKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnNldENvbnRyb2woZmllbGQubmFtZSwgY29udHJvbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNyZWF0ZUNvbnRyb2woZmllbGQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbChmaWVsZC5uYW1lLCBjb250cm9sKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNvbnRyb2woZmllbGQ6IElLbGVzRmllbGRDb25maWcsIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSBFbnVtVHlwZS5hcnJheSkge1xuICAgICAgICAgICAgY29uc3QgYXJyYXkgPSBjb250cm9sIGFzIEZvcm1BcnJheTtcbiAgICAgICAgICAgIC8qVE9ETyovXG4gICAgICAgICAgICByZXR1cm4gYXJyYXk7XG4gICAgICAgIH0gZWxzZSBpZiAoZmllbGQudHlwZSA9PT0gRW51bVR5cGUuZ3JvdXApIHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gY29udHJvbCBhcyBGb3JtR3JvdXA7XG4gICAgICAgICAgICBpZiAoZmllbGQuY29sbGVjdGlvbnMgJiYgQXJyYXkuaXNBcnJheShmaWVsZC5jb2xsZWN0aW9ucykpIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5jb2xsZWN0aW9ucy5mb3JFYWNoKHN1YmZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGdyb3VwLmNvbnRyb2xzW3N1YmZpZWxkXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbCA9IHRoaXMudXBkYXRlQ29udHJvbChzdWJmaWVsZCwgZ3JvdXAuY29udHJvbHNbc3ViZmllbGRdKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wgPSB0aGlzLmNyZWF0ZUNvbnRyb2woc3ViZmllbGQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGdyb3VwLnNldENvbnRyb2woc3ViZmllbGQubmFtZSwgY29udHJvbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGdyb3VwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMuYmluZFZhbGlkYXRpb25zKGZpZWxkLnZhbGlkYXRpb25zIHx8IFtdKSk7XG4gICAgICAgICAgICBjb250cm9sLnNldEFzeW5jVmFsaWRhdG9ycyh0aGlzLmJpbmRBc3luY1ZhbGlkYXRpb25zKGZpZWxkLmFzeW5jVmFsaWRhdGlvbnMgfHwgW10pKTtcbiAgICAgICAgICAgIGlmIChmaWVsZC52YWx1ZSAmJiBjb250cm9sLnZhbHVlICE9PSBmaWVsZC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIGNvbnRyb2wuc2V0VmFsdWUoZmllbGQudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2w7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQ29udHJvbChmaWVsZDogSUtsZXNGaWVsZENvbmZpZyk6IEFic3RyYWN0Q29udHJvbCB7XG5cbiAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IEVudW1UeXBlLmFycmF5KSB7XG4gICAgICAgICAgICBjb25zdCBhcnJheSA9IHRoaXMuZmIuYXJyYXkoW10pO1xuXG4gICAgICAgICAgICBpZiAoZmllbGQudmFsdWUgJiYgQXJyYXkuaXNBcnJheShmaWVsZC52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQuY29sbGVjdGlvbnMgJiYgQXJyYXkuaXNBcnJheShmaWVsZC5jb2xsZWN0aW9ucykpIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudmFsdWUuZm9yRWFjaCh2YWwgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSB0aGlzLmZiLmdyb3VwKHt9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLmNvbGxlY3Rpb25zLmZvckVhY2goc3ViZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB2YWxbc3ViZmllbGQubmFtZV0gfHwgbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5jcmVhdGVDb250cm9sKHsgLi4uc3ViZmllbGQsIC4uLihkYXRhICYmIHsgdmFsdWU6IGRhdGEgfSkgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAuYWRkQ29udHJvbChzdWJmaWVsZC5uYW1lLCBjb250cm9sKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkucHVzaChncm91cCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSB0aGlzLmZiLmdyb3VwKHt9KTtcbiAgICAgICAgICAgICAgICBmaWVsZC5jb2xsZWN0aW9ucy5mb3JFYWNoKHN1YmZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuY3JlYXRlQ29udHJvbCh7IC4uLnN1YmZpZWxkIH0pO1xuICAgICAgICAgICAgICAgICAgICBncm91cC5hZGRDb250cm9sKHN1YmZpZWxkLm5hbWUsIGNvbnRyb2wpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGFycmF5LnB1c2goZ3JvdXApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09IEVudW1UeXBlLmdyb3VwKSB7XG4gICAgICAgICAgICBjb25zdCBzdWJHcm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xuICAgICAgICAgICAgaWYgKGZpZWxkLmNvbGxlY3Rpb25zICYmIEFycmF5LmlzQXJyYXkoZmllbGQuY29sbGVjdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgZmllbGQuY29sbGVjdGlvbnMuZm9yRWFjaChzdWJmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNyZWF0ZUNvbnRyb2woc3ViZmllbGQpO1xuICAgICAgICAgICAgICAgICAgICBzdWJHcm91cC5hZGRDb250cm9sKHN1YmZpZWxkLm5hbWUsIGNvbnRyb2wpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHN1Ykdyb3VwO1xuICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09IEVudW1UeXBlLnJhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCByYW5nZSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIHN0YXJ0OiB0aGlzLmZiLmNvbnRyb2woZmllbGQudmFsdWU/LnN0YXJ0KSxcbiAgICAgICAgICAgICAgICBlbmQ6IHRoaXMuZmIuY29udHJvbChmaWVsZC52YWx1ZT8uZW5kKSxcbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JzOiB0aGlzLmJpbmRWYWxpZGF0aW9ucyhmaWVsZC52YWxpZGF0aW9ucyB8fCBbXSksXG4gICAgICAgICAgICAgICAgYXN5bmNWYWxpZGF0b3JzOiB0aGlzLmJpbmRBc3luY1ZhbGlkYXRpb25zKGZpZWxkLmFzeW5jVmFsaWRhdGlvbnMgfHwgW10pLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHJhbmdlLmRpc2FibGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByYW5nZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZiLmNvbnRyb2woXG4gICAgICAgICAgICAgICAgZmllbGQudmFsdWUsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0b3JzOiB0aGlzLmJpbmRWYWxpZGF0aW9ucyhmaWVsZC52YWxpZGF0aW9ucyB8fCBbXSksXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jVmFsaWRhdG9yczogdGhpcy5iaW5kQXN5bmNWYWxpZGF0aW9ucyhmaWVsZC5hc3luY1ZhbGlkYXRpb25zIHx8IFtdKSxcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlT246IGZpZWxkLnVwZGF0ZU9uIHx8ICdjaGFuZ2UnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChmaWVsZC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQuYXN5bmNWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGNvbmNhdChcbiAgICAgICAgICAgICAgICAgICAgb2YoeyB2YWx1ZTogbnVsbCwgcGVuZGluZzogdHJ1ZSB9KSxcbiAgICAgICAgICAgICAgICAgICAgZmllbGQuYXN5bmNWYWx1ZS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgodmFsdWUpID0+ICh7IHZhbHVlLCBwZW5kaW5nOiBmYWxzZSB9KSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5wZW5kaW5nID8gY29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KSA6IGNvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbC5zZXRWYWx1ZShyZXNwb25zZS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnBlbmRpbmcgPSByZXNwb25zZS5wZW5kaW5nO1xuICAgICAgICAgICAgICAgICAgICBmaWVsZC52YWx1ZSA9IHJlc3BvbnNlLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjb250cm9sO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC8vIHByaXZhdGUgY3JlYXRlQ29udHJvbChmaWVsZDogSUtsZXNGaWVsZENvbmZpZyk6IEFic3RyYWN0Q29udHJvbCB7XG5cbiAgICAvLyAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdsaXN0RmllbGQnKSB7XG4gICAgLy8gICAgICAgICBjb25zdCBhcnJheSA9IHRoaXMuZmIuYXJyYXkoW10pO1xuXG4gICAgLy8gICAgICAgICBmaWVsZC52YWx1ZS5mb3JFYWNoKChkYXRhOiBhbnkpID0+IHtcbiAgICAvLyAgICAgICAgICAgICBjb25zdCBzdWJHcm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xuICAgIC8vICAgICAgICAgICAgIGZpZWxkLmNvbGxlY3Rpb25zLmZvckVhY2goc3ViZmllbGQgPT4ge1xuICAgIC8vICAgICAgICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5mYi5jb250cm9sKFxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgZGF0YVtzdWJmaWVsZC5uYW1lXSA/IGRhdGFbc3ViZmllbGQubmFtZV0gOiBudWxsLFxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kVmFsaWRhdGlvbnMoc3ViZmllbGQudmFsaWRhdGlvbnMgfHwgW10pLFxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kQXN5bmNWYWxpZGF0aW9ucyhzdWJmaWVsZC5hc3luY1ZhbGlkYXRpb25zIHx8IFtdKVxuICAgIC8vICAgICAgICAgICAgICAgICApO1xuICAgIC8vICAgICAgICAgICAgICAgICBzdWJHcm91cC5hZGRDb250cm9sKHN1YmZpZWxkLm5hbWUsIGNvbnRyb2wpO1xuICAgIC8vICAgICAgICAgICAgIH0pO1xuICAgIC8vICAgICAgICAgICAgIGFycmF5LnB1c2goc3ViR3JvdXApO1xuICAgIC8vICAgICAgICAgfSk7XG4gICAgLy8gICAgICAgICByZXR1cm4gYXJyYXk7XG4gICAgLy8gICAgIH0gZWxzZSBpZiAoZmllbGQudHlwZSA9PT0gJ2dyb3VwJykge1xuICAgIC8vICAgICAgICAgY29uc3Qgc3ViR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHt9KTtcbiAgICAvLyAgICAgICAgIGlmIChmaWVsZC5jb2xsZWN0aW9ucyAmJiBBcnJheS5pc0FycmF5KGZpZWxkLmNvbGxlY3Rpb25zKSkge1xuICAgIC8vICAgICAgICAgICAgIGZpZWxkLmNvbGxlY3Rpb25zLmZvckVhY2goc3ViZmllbGQgPT4ge1xuICAgIC8vICAgICAgICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5mYi5jb250cm9sKFxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgc3ViZmllbGQudmFsdWUsXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICB0aGlzLmJpbmRWYWxpZGF0aW9ucyhzdWJmaWVsZC52YWxpZGF0aW9ucyB8fCBbXSksXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICB0aGlzLmJpbmRBc3luY1ZhbGlkYXRpb25zKHN1YmZpZWxkLmFzeW5jVmFsaWRhdGlvbnMgfHwgW10pXG4gICAgLy8gICAgICAgICAgICAgICAgICk7XG4gICAgLy8gICAgICAgICAgICAgICAgIGlmIChzdWJmaWVsZC5kaXNhYmxlZCkge1xuICAgIC8vICAgICAgICAgICAgICAgICAgICAgY29udHJvbC5kaXNhYmxlKCk7XG4gICAgLy8gICAgICAgICAgICAgICAgIH1cbiAgICAvLyAgICAgICAgICAgICAgICAgc3ViR3JvdXAuYWRkQ29udHJvbChzdWJmaWVsZC5uYW1lLCBjb250cm9sKTtcbiAgICAvLyAgICAgICAgICAgICB9KTtcbiAgICAvLyAgICAgICAgIH1cbiAgICAvLyAgICAgICAgIHJldHVybiBzdWJHcm91cDtcblxuICAgIC8vICAgICB9IGVsc2Uge1xuICAgIC8vICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbChcbiAgICAvLyAgICAgICAgICAgICBmaWVsZC52YWx1ZSxcbiAgICAvLyAgICAgICAgICAgICB0aGlzLmJpbmRWYWxpZGF0aW9ucyhmaWVsZC52YWxpZGF0aW9ucyB8fCBbXSksXG4gICAgLy8gICAgICAgICAgICAgdGhpcy5iaW5kQXN5bmNWYWxpZGF0aW9ucyhmaWVsZC5hc3luY1ZhbGlkYXRpb25zIHx8IFtdKVxuICAgIC8vICAgICAgICAgKTtcbiAgICAvLyAgICAgICAgIGlmIChmaWVsZC5kaXNhYmxlZCkge1xuICAgIC8vICAgICAgICAgICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgIC8vICAgICAgICAgfVxuICAgIC8vICAgICAgICAgcmV0dXJuIGNvbnRyb2w7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG5cblxuXG4gICAgcHJpdmF0ZSBjcmVhdGVGb3JtKCkge1xuICAgICAgICBjb25zdCBncm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xuXG4gICAgICAgIHRoaXMuZmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuXG4gICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRW51bVR5cGUubGluZUJyZWFrKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuY3JlYXRlQ29udHJvbChmaWVsZCk7XG5cbiAgICAgICAgICAgIGdyb3VwLmFkZENvbnRyb2woZmllbGQubmFtZSwgY29udHJvbCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGdyb3VwLnNldFZhbGlkYXRvcnModGhpcy52YWxpZGF0b3JzLm1hcCh2ID0+IHYudmFsaWRhdG9yKSk7XG4gICAgICAgIGdyb3VwLnNldEFzeW5jVmFsaWRhdG9ycyh0aGlzLmFzeW5jVmFsaWRhdG9ycy5tYXAodiA9PiB2LnZhbGlkYXRvcikpO1xuXG4gICAgICAgIHJldHVybiBncm91cDtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgYmluZFZhbGlkYXRpb25zKHZhbGlkYXRpb25zOiBJS2xlc1ZhbGlkYXRvcjxWYWxpZGF0b3JGbj5bXSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgaWYgKHZhbGlkYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkTGlzdCA9IFtdO1xuICAgICAgICAgICAgdmFsaWRhdGlvbnMuZm9yRWFjaCh2YWxpZCA9PiB7XG4gICAgICAgICAgICAgICAgdmFsaWRMaXN0LnB1c2godmFsaWQudmFsaWRhdG9yKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIFZhbGlkYXRvcnMuY29tcG9zZSh2YWxpZExpc3QpO1xuXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIGJpbmRBc3luY1ZhbGlkYXRpb25zKHZhbGlkYXRpb25zOiBJS2xlc1ZhbGlkYXRvcjxBc3luY1ZhbGlkYXRvckZuPltdKTogQXN5bmNWYWxpZGF0b3JGbiB7XG4gICAgICAgIGlmICh2YWxpZGF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHZhbGlkYXRpb25zLmZvckVhY2godmFsaWQgPT4ge1xuICAgICAgICAgICAgICAgIHZhbGlkTGlzdC5wdXNoKHZhbGlkLnZhbGlkYXRvcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBWYWxpZGF0b3JzLmNvbXBvc2VBc3luYyh2YWxpZExpc3QpO1xuXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChmaWVsZCk7XG4gICAgICAgICAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJS2xlc1ZhbGlkYXRvciB9IGZyb20gJy4vdmFsaWRhdG9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiwgQXN5bmNWYWxpZGF0b3JGbiwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBpcGVUcmFuc2Zvcm0sIFR5cGUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVudW1UeXBlIH0gZnJvbSAnLi4vZW51bXMvdHlwZS5lbnVtJztcbmltcG9ydCB7IElLbGVzRmllbGQgfSBmcm9tICcuL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJS2xlc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNYXREYXRlRm9ybWF0cyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElLbGVzRmllbGRDb25maWcge1xuICAgIHR5cGU/OiBFbnVtVHlwZTsvLyBNYXBwZXIgdHlwZSBpZih0eXBlICYmICFjb21wb25lbnQpPT50eXBlXG4gICAgbmFtZTogc3RyaW5nOy8vIE5hbWUgRmllbGQgKGtleSBmb3IgRm9ybUNvbnRyb2xOYW1lKVxuICAgIGNvbXBvbmVudD86IFR5cGU8YW55PjtcbiAgICBpZD86IHN0cmluZzsvLyBBdHRyaWJ1dCBodG1sIGlkXG4gICAgbGFiZWw/OiBzdHJpbmc7Ly8gTGFiZWwgZmllbGRcbiAgICBwbGFjZWhvbGRlcj86IGFueTsvLyBQbGFjZWhvbGRlciBmaWVsZFxuICAgIHRvb2x0aXA/OiBzdHJpbmc7Ly8gVG9vbHRpcCBmaWVsZFxuICAgIGlucHV0VHlwZT86IHN0cmluZzsvLyBUeXBlIFxuICAgIG1pbj86IG51bWJlcjtcbiAgICBtYXg/OiBudW1iZXI7XG4gICAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICAgIHN0ZXA/OiBudW1iZXI7XG4gICAgb3B0aW9ucz86IGFueVtdIHwgU3ViamVjdDxhbnlbXT4gfCBPYnNlcnZhYmxlPGFueVtdPjsgLy8gTGlzdCBvcHRpb25zIGZvciBsaXN0IGNvbXBvbmVudFxuICAgIG5nQ2xhc3M/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJS2xlc1ZhbGlkYXRvciB9IGZyb20gJy4vdmFsaWRhdG9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiwgQXN5bmNWYWxpZGF0b3JGbiwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBpcGVUcmFuc2Zvcm0sIFR5cGUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVudW1UeXBlIH0gZnJvbSAnLi4vZW51bXMvdHlwZS5lbnVtJztcbmltcG9ydCB7IElLbGVzRmllbGQgfSBmcm9tICcuL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJS2xlc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNYXREYXRlRm9ybWF0cyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElLbGVzRmllbGRDb25maWcge1xuICAgIHR5cGU/OiBFbnVtVHlwZTsvLyBNYXBwZXIgdHlwZSBpZih0eXBlICYmICFjb21wb25lbnQpPT50eXBlXG4gICAgbmFtZTogc3RyaW5nOy8vIE5hbWUgRmllbGQgKGtleSBmb3IgRm9ybUNvbnRyb2xOYW1lKVxuICAgIGNvbXBvbmVudD86IFR5cGU8YW55PjtcbiAgICBpZD86IHN0cmluZzsvLyBBdHRyaWJ1dCBodG1sIGlkXG4gICAgbGFiZWw/OiBzdHJpbmc7Ly8gTGFiZWwgZmllbGRcbiAgICBwbGFjZWhvbGRlcj86IGFueTsvLyBQbGFjZWhvbGRlciBmaWVsZFxuICAgIHRvb2x0aXA/OiBzdHJpbmc7Ly8gVG9vbHRpcCBmaWVsZFxuICAgIGlucHV0VHlwZT86IHN0cmluZzsvLyBUeXBlIFxuICAgIG1pbj86IG51bWJlcjtcbiAgICBtYXg/OiBudW1iZXI7XG4gICAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICAgIHN0ZXA/OiBudW1iZXI7XG4gICAgb3B0aW9ucz86IGFueVtdIHwgU3ViamVjdDxhbnlbXT4gfCBPYnNlcnZhYmxlPGFueVtdPjsgLy8gTGlzdCBvcHRpb25zIGZvciBsaXN0IGNvbXBvbmVudFxuICAgIG5nQ2xhc3M/OiBhbnk7IC8vIG5nY2xhc3MgZm9yIGZpZWxkXG4gICAgbmdTdHlsZT86IGFueTsgLy8gbmdTdHlsZSBmb3IgZmllbGRcbiAgICBwcm9wZXJ0eT86IHN0cmluZzsvLyBQcm9wZXJ0eSBmb3IgZmllbGRcbiAgICBjb2xsZWN0aW9ucz86IGFueTsvLyBDb2xsZWN0aW9ucyBmb3Igc3ViZmllbGRcbiAgICB2YWx1ZT86IGFueTsvLyBWYWx1ZSBmaWVsZFxuICAgIGFzeW5jVmFsdWU/OiBPYnNlcnZhYmxlPGFueT47Ly8gVmFsdWUgZmllbGRcbiAgICBtdWx0aXBsZT86IGJvb2xlYW47Ly8gTXVsdGlwbGUgc2VsZWN0aW9uIGZpZWxkXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuOy8vIERpc2FibGVkIGZpZWxkXG4gICAgYXV0b2NvbXBsZXRlPzogYm9vbGVhbjsvLyBBdXRvY29tcGxldGUgaW5wdXQgZmllbGRcbiAgICBhdXRvY29tcGxldGVDb21wb25lbnQ/OiBUeXBlPGFueT47Ly9BdXRvY29tcGxldGUgY29tcG9uZW50IHRvIGRpc3BsYXkgaW4gbGlzdCBvcHRpb25cbiAgICBkaXNwbGF5V2l0aD86ICgodmFsdWU6IGFueSkgPT4gc3RyaW5nKSB8IG51bGw7IC8vIEF1dG9jb21wbGV0ZSBkaXNwbGF5IGZvcm1hdFxuICAgIHBhbmVsV2lkdGg/OiBzdHJpbmcgfCBudW1iZXI7Ly9XaXRoIGZvciBwYW5lbCBsaXN0IG9wdGlvblxuICAgIGluZGV0ZXJtaW5hdGU/OiBib29sZWFuOy8vIEluZGV0ZXJtaW5hdGUgY2hlY2thYmxlIGNvbXBvbmVudFxuICAgIGNvbG9yPzogc3RyaW5nOyAvL01hdGVyaWFsIGNvbG9yXG4gICAgaWNvbj86IHN0cmluZzsvL01hdGVyaWFsIGljb25cbiAgICBpY29uU3ZnPzogc3RyaW5nOy8vU3ZnIEljb25cbiAgICB0ZXh0YXJlYUF1dG9TaXplPzogeyBtaW5Sb3dzPzogbnVtYmVyOyBtYXhSb3dzPzogbnVtYmVyIH1cbiAgICB2YWxpZGF0aW9ucz86IElLbGVzVmFsaWRhdG9yPFZhbGlkYXRvckZuPltdO1xuICAgIGFzeW5jVmFsaWRhdGlvbnM/OiBJS2xlc1ZhbGlkYXRvcjxBc3luY1ZhbGlkYXRvckZuPltdO1xuICAgIHBpcGVUcmFuc2Zvcm0/OiB7XG4gICAgICAgIHBpcGU6IFBpcGVUcmFuc2Zvcm0sXG4gICAgICAgIG9wdGlvbnM/OiBhbnlbXVxuICAgIH1bXTtcbiAgICBkaXJlY3Rpb24/OiAncm93JyB8ICdjb2x1bW4nO1xuICAgIHZhbHVlQ2hhbmdlcz86ICgoZmllbGQ6IElLbGVzRmllbGRDb25maWcsIGdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLCBzaWJsaW5nRmllbGQ/OiBJS2xlc0ZpZWxkQ29uZmlnW10sIHZhbHVlQ2hhbmdlZD86IGFueSkgPT4gdm9pZCk7XG4gICAgdHJpZ2dlckNvbXBvbmVudD86IFR5cGU8YW55PjsgLy90cmlnZ2VyIGNvbXBvbmVudCB0byBjdXN0b21pemUgdHJpZ2dlciBsYWJlbCBpbiBzZWxlY3RcbiAgICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjsgLy9UbyBhY3RpdmF0ZSB2aXJ0dWFsIHNjcm9sbFxuICAgIGl0ZW1TaXplPzogbnVtYmVyOyAvLyBpdGVtU2l6ZSBmb3IgdmlydHVhbCBzY3JvbGwgdmlld3BvcnRcbiAgICBwZW5kaW5nPzogYm9vbGVhbjtcbiAgICBzZWFyY2hLZXlzPzogc3RyaW5nW107IC8vbGlzdCBvZiBrZXlzIGZvciBtdWx0aXBsZSBzZWFyY2hlc1xuICAgIHVwZGF0ZU9uPzogJ2NoYW5nZScgfCAnYmx1cicgfCAnc3VibWl0JztcbiAgICBkZWJvdW5jZVRpbWU/OiBudW1iZXI7XG4gICAgZGlyZWN0aXZlPzogKG5ldyAocmVmOiBWaWV3Q29udGFpbmVyUmVmLCBmaWVsZDogSUtsZXNGaWVsZCkgPT4gSUtsZXNEaXJlY3RpdmUpO1xuICAgIHZpc2libGU/OiBib29sZWFuO1xuICAgIGxhenk/OiBib29sZWFuO1xuICAgIGJ1dHRvblR5cGU/OiAnc3VibWl0JyB8ICdidXR0b24nIHwgJ3Jlc2V0JztcbiAgICBhY2NlcHQ/OiBzdHJpbmc7XG4gICAgZGF0ZU9wdGlvbnM/OiB7XG4gICAgICAgIGxhbmd1YWdlOiBzdHJpbmcsXG4gICAgICAgIGRhdGVGb3JtYXQ6IE1hdERhdGVGb3JtYXRzXG4gICAgfSxcbiAgICBoaW50Pzogc3RyaW5nO1xufVxuIl19
|
|
@@ -4,6 +4,8 @@ import * as i1 from '@angular/common';
|
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i2 from '@angular/forms';
|
|
6
6
|
import { Validators, NG_VALUE_ACCESSOR, UntypedFormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
7
|
+
import { concat, of, Subject, Observable, BehaviorSubject, ReplaySubject } from 'rxjs';
|
|
8
|
+
import { take, catchError, map, takeUntil, startWith, switchMap } from 'rxjs/operators';
|
|
7
9
|
import * as i7$1 from '@angular/material/core';
|
|
8
10
|
import { MAT_DATE_LOCALE, MAT_DATE_FORMATS, MatNativeDateModule, MatOption, ErrorStateMatcher } from '@angular/material/core';
|
|
9
11
|
import { MatSliderModule } from '@angular/material/slider';
|
|
@@ -61,8 +63,6 @@ import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
|
61
63
|
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
62
64
|
import * as i7 from '@ngx-translate/core';
|
|
63
65
|
import { TranslateModule } from '@ngx-translate/core';
|
|
64
|
-
import { Subject, Observable, of, BehaviorSubject, ReplaySubject } from 'rxjs';
|
|
65
|
-
import { takeUntil, startWith, switchMap, map, take } from 'rxjs/operators';
|
|
66
66
|
import * as i3 from '@angular/flex-layout/extended';
|
|
67
67
|
import { __decorate, __awaiter } from 'tslib';
|
|
68
68
|
import * as i3$1 from '@angular/flex-layout/flex';
|
|
@@ -308,7 +308,6 @@ class KlesDynamicFormComponent {
|
|
|
308
308
|
if (field.disabled) {
|
|
309
309
|
range.disable();
|
|
310
310
|
}
|
|
311
|
-
console.log(range);
|
|
312
311
|
return range;
|
|
313
312
|
}
|
|
314
313
|
else {
|
|
@@ -320,6 +319,17 @@ class KlesDynamicFormComponent {
|
|
|
320
319
|
if (field.disabled) {
|
|
321
320
|
control.disable();
|
|
322
321
|
}
|
|
322
|
+
if (field.asyncValue) {
|
|
323
|
+
concat(of({ value: null, pending: true }), field.asyncValue.pipe(take(1), catchError((err) => {
|
|
324
|
+
console.error(err);
|
|
325
|
+
return of(null);
|
|
326
|
+
}), map((value) => ({ value, pending: false })))).subscribe((response) => {
|
|
327
|
+
response.pending ? control.disable({ emitEvent: false }) : control.enable({ emitEvent: false });
|
|
328
|
+
control.setValue(response.value);
|
|
329
|
+
field.pending = response.pending;
|
|
330
|
+
field.value = response.value;
|
|
331
|
+
});
|
|
332
|
+
}
|
|
323
333
|
return control;
|
|
324
334
|
}
|
|
325
335
|
}
|