ets-fe-ng-sdk 17.0.200 → 17.0.202
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.
|
@@ -9,7 +9,7 @@ import { MatBadgeModule } from '@angular/material/badge';
|
|
|
9
9
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
10
10
|
import { NgClass, NgIf, AsyncPipe } from '@angular/common';
|
|
11
11
|
import { isEqual } from 'lodash-es';
|
|
12
|
-
import { debounceTime, merge } from 'rxjs';
|
|
12
|
+
import { debounceTime, merge, tap } from 'rxjs';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
import * as i1 from "@angular/material/tooltip";
|
|
15
15
|
import * as i2 from "@angular/material/badge";
|
|
@@ -128,7 +128,9 @@ export class BtnComponent {
|
|
|
128
128
|
debugger;
|
|
129
129
|
this.form = v;
|
|
130
130
|
if (v) {
|
|
131
|
-
const sub = v.
|
|
131
|
+
const sub = merge(v.valueChanges.pipe(debounceTime(200)), v.statusChanges.pipe(debounceTime(200)))
|
|
132
|
+
.pipe(tap((r) => this.checkFormState.set(v)), debounceTime(1000))
|
|
133
|
+
.subscribe((v) => this.checkFormState.set(v));
|
|
132
134
|
this.destroyRef.onDestroy(() => sub?.unsubscribe());
|
|
133
135
|
}
|
|
134
136
|
this.checkFormState.set(true);
|
|
@@ -332,4 +334,4 @@ var OnFormInvalid;
|
|
|
332
334
|
OnFormInvalid["disable"] = "disable";
|
|
333
335
|
OnFormInvalid["warn"] = "warn";
|
|
334
336
|
})(OnFormInvalid || (OnFormInvalid = {}));
|
|
335
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9idG4vYnRuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9idG4vYnRuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSxTQUFTLEVBQThCLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxFQUFrQixNQUFNLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFF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QkFBdEIsS0FBSztnQkFHNEIsU0FBUztzQkFBMUMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7Z0JBY1QsS0FBSztzQkFBdkIsS0FBSzt1QkFBQyxNQUFNO2dCQVdPLE1BQU07c0JBQXpCLEtBQUs7dUJBQUMsT0FBTztnQkF5QmlELFFBQVE7c0JBQXRFLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtnQkFHbkMsUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxTQUFTO2dCQU15QixnQkFBZ0I7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7Z0JBS0ssZUFBZTtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRTtnQkFReEIsTUFBTTtzQkFBZixNQUFNO2dCQUNpQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7O0FBNEV4QixJQUFLLGFBR0o7QUFIRCxXQUFLLGFBQWE7SUFDaEIsb0NBQW1CLENBQUE7SUFDbkIsOEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFISSxhQUFhLEtBQWIsYUFBYSxRQUdqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIERlc3Ryb3lSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybUFycmF5LCBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJY29uRGVmaW5pdGlvbiwgZmFMb2NrIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEJ0blNlcnZpY2UgfSBmcm9tICcuL2J0bi5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBUcmFuc2xhdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90cmFuc2xhdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElGb3JtU2NoZW1hIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tc2NoZW1hLm1vZGVsJztcbmltcG9ydCB7IEljb25UeXBlLCBCdG5UeXBlLCBCdG5Hcm91cCB9IGZyb20gJy4vYnRuLm1vZGVsJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuXG5mdW5jdGlvbiBib29sZWFuQXR0cmlidXRlMih2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICByZXR1cm4gYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSk7XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYnRuJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J0bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J0bi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICAvLyAvL1xuICBpbXBvcnRzOiBbTmdDbGFzcywgTmdJZiwgTWF0VG9vbHRpcE1vZHVsZSwgTWF0QmFkZ2VNb2R1bGUsIEZvbnRBd2Vzb21lTW9kdWxlLCBUcmFuc2xhdG9yRGlyZWN0aXZlLCBBc3luY1BpcGUsIFRyYW5zbGF0ZVBpcGVdLFxufSkgLy8gSW5oZXJpdGVkXG5leHBvcnQgY2xhc3MgQnRuQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqIFRvIGJlIHBhc3NlZCB3aGVuIHRvIGNoZWNrIGZvciBzcGVjaWZpYyBpbnZhbGlkIGZvcm0gZmllbGRzICovXG4gIGZvcm1TY2hlbWEgPSBpbnB1dDxJRm9ybVNjaGVtYVtdPigpO1xuICBkZWJ1ZyA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGZvcm1Jc0ludmFsaWQgPSBjb21wdXRlZDxib29sZWFuPihcbiAgICAoKSA9PiB7XG4gICAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU3RhdGUoKSxcbiAgICAgICAgb25Gb3JtSW52YWxpZCA9IHRoaXMub25Gb3JtSW52YWxpZCgpLFxuICAgICAgICBmb3JtU2NoZW1hID0gdGhpcy5mb3JtU2NoZW1hKCk7XG5cbiAgICAgIHJldHVybiBmb3JtICYmIGZvcm0uaW52YWxpZCAmJiBvbkZvcm1JbnZhbGlkID09IE9uRm9ybUludmFsaWQud2FybiAmJiBmb3JtU2NoZW1hPy5sZW5ndGhcbiAgICAgICAgPyBmb3JtU2NoZW1hLnNvbWUoKGYpID0+ICg8Rm9ybUdyb3VwPmZvcm0pLmNvbnRyb2xzW2YuZmllbGQ/LnRvU3RyaW5nKCldPy5pbnZhbGlkKVxuICAgICAgICA6IG51bGw7XG4gICAgfSxcbiAgICB7IGVxdWFsOiBpc0VxdWFsIH0sXG4gICk7XG4gIGNlbnRlckJ0biA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICBkYW5nZXIgPSBpbnB1dDxib29sZWFuPigpO1xuICB3YXJuaW5nID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICBwcm90ZWN0ZWQgaWNvblR5cGU6IEljb25UeXBlO1xuICBpY29uQnRuID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgbG9hZGluZyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGZvcm1zOiAoRm9ybUdyb3VwPGFueT4gfCBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgRm9ybUNvbnRyb2w8YW55PiB8IEZvcm1BcnJheTxhbnk+KVtdO1xuICBmb3JtOiBGb3JtR3JvdXA8YW55PiB8IEZvcm1Db250cm9sPGFueT4gfCBGb3JtQXJyYXk8YW55PiB8IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT47XG5cbiAgQElucHV0KCdpY29uJykgc2V0IF9pY29uKHY6IEljb25UeXBlKSB7XG4gICAgdGhpcy5pY29uVHlwZSA9IHY7XG4gICAgY29uc3QgcmVzID0gdGhpcy5idG5TLmdldEljb24odik7XG4gICAgaWYgKCFyZXMpIHJldHVybjtcbiAgICBpZiAocmVzLmljb25Qb3NpdGlvbiA9PSAncmlnaHQnKSB7XG4gICAgICB0aGlzLnJpZ2h0SWNvbi5zZXQocmVzLmljb24pO1xuICAgICAgdGhpcy5yaWdodEN1c3RvbUljb24uc2V0KHJlcy5pY29uU3RyaW5nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sZWZ0SWNvbi5zZXQocmVzLmljb24pO1xuICAgICAgdGhpcy5sZWZ0Q3VzdG9tSWNvbi5zZXQocmVzLmljb25TdHJpbmcpO1xuICAgIH1cbiAgfVxuICBASW5wdXQoJ3JpZ2h0SWNvbicpIHNldCBfcmlnaHRJY29uKHY6IEljb25UeXBlKSB7XG4gICAgdGhpcy5pY29uVHlwZSA9IHY7XG4gICAgY29uc3QgcmVzID0gdGhpcy5idG5TLmdldEljb24odik7XG4gICAgdGhpcy5yaWdodEljb24uc2V0KHJlcy5pY29uKTtcbiAgICB0aGlzLnJpZ2h0Q3VzdG9tSWNvbi5zZXQocmVzLmljb25TdHJpbmcpO1xuICB9XG4gIEBJbnB1dCgnbGVmdEljb24nKSBzZXQgX2xlZnRJY29uKHY6IEljb25UeXBlKSB7XG4gICAgdGhpcy5pY29uVHlwZSA9IHY7XG4gICAgY29uc3QgcmVzID0gdGhpcy5idG5TLmdldEljb24odik7XG4gICAgdGhpcy5sZWZ0SWNvbi5zZXQocmVzLmljb24pO1xuICAgIHRoaXMubGVmdEN1c3RvbUljb24uc2V0KHJlcy5pY29uU3RyaW5nKTtcbiAgfVxuXG4gIEBJbnB1dCgndHlwZScpIHNldCBfdHlwZSh2OiBCdG5UeXBlKSB7XG4gICAgY29uc3QgeyBfaWNvbiwgX21jbGFzcywgX3R5cGUgfSA9IHRoaXMuYnRuUy5nZXRUeXBlKHYpO1xuICAgIHRoaXMuX21jbGFzcy51cGRhdGUoKG1jbGFzcykgPT4gX21jbGFzcyB8fCBtY2xhc3MpO1xuICAgIGlmIChfaWNvbikgdGhpcy5faWNvbiA9IF9pY29uO1xuICAgIGlmIChfdHlwZSkgdGhpcy5fdHlwZSA9IF90eXBlO1xuICB9XG5cbiAgQElucHV0KCdncm91cCcpIHNldCBfZ3JvdXAodjogQnRuR3JvdXApIHtcbiAgICBzd2l0Y2ggKHYpIHtcbiAgICAgIGNhc2UgJ2FkZCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnb3V0bGluZSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnYWRkJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjbG9uZSc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdjbG9uZSc7XG4gICAgICAgIHRoaXMuX3RleHQuc2V0KCdDbG9uZScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NyZWF0ZSc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnb3V0bGluZSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnYWRkJztcbiAgICAgICAgdGhpcy5fdGV4dC5zZXQoJ0NyZWF0ZScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Nsb3NlJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdkYW5nZXItb3V0bGluZSc7XG4gICAgICAgIHRoaXMuY3VzdG9tSWNvbiA9IHRoaXMuYnRuUy5nZXRJY29uKCdjbG9zZScpLmljb25TdHJpbmc7XG4gICAgICAgIHRoaXMuaWNvbkJ0bi5zZXQodHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdkYW5nZXItb3V0bGluZSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnZGVsZXRlJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkb3dubG9hZCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdkb3dubG9hZCc7XG4gICAgICAgIHRoaXMuaWNvbkJ0bi5zZXQodHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZWRpdCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdlZGl0JztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdsaW5rJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLmN1c3RvbUljb24gPSAnZmEgZmEtZXllJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzZWFyY2gnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ3NlY29uZGFyeSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnc2VhcmNoJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzaG93JzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLl9pY29uID0gJ3Nob3cnO1xuICAgICAgICB0aGlzLl90ZXh0LnNldCgnU2hvdycpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3N1Ym1pdCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdzYXZlJztcbiAgICAgICAgdGhpcy5fdGV4dC5zZXQoJ1N1Ym1pdCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NhdmUnOlxuICAgICAgICB0aGlzLl9ncm91cCA9ICdzdWJtaXQnO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgX21jbGFzcyA9IHNpZ25hbDxzdHJpbmc+KG51bGwpO1xuICBhY3Rpb25UeXBlID0gaW5wdXQ8J3N1Ym1pdCcgfCAnYnV0dG9uJyB8ICdyZXNldCc+KCdidXR0b24nKTtcbiAgYW5pbWF0ZSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZTIgYXMgdW5kZWZpbmVkIH0pO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUyIH0pIGV4Y2x1ZGVMb2dnaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxvZ2dpbmdWYWx1ZTogc3RyaW5nO1xuICBiYWRnZSA9IGlucHV0PHN0cmluZyB8IG51bWJlcj4obnVsbCk7XG4gIGNsYXNzID0gaW5wdXQ8c3RyaW5nPigpO1xuICAvKipcbiAgICogU2V0cyB0aGUgbGVmdCBzaWRlIGljb25cbiAgICovXG4gIEBJbnB1dCgpIHNldCBjdXN0b21JY29uKHY6IHN0cmluZykge1xuICAgIHRoaXMubGVmdEN1c3RvbUljb24uc2V0KHYpO1xuICB9XG4gIEBJbnB1dCh7IGFsaWFzOiAnZGlzYWJsZWQnIH0pIHNldCBfZGlzYWJsZWQodjogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQuc2V0KHYgfHwgZmFsc2UpO1xuICB9XG4gIGZvcm1TdGF0ZSA9IGNvbXB1dGVkPElGb3JtU3RhdGU+KCgpID0+IHtcbiAgICB0aGlzLmNoZWNrRm9ybVN0YXRlKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBlbmRpbmc6IHRoaXMuZm9ybT8ucGVuZGluZyxcbiAgICAgIGRpcnR5OiB0aGlzLmZvcm0/LmRpcnR5LFxuICAgICAgaW52YWxpZDogdGhpcy5mb3JtPy5pbnZhbGlkLFxuICAgICAgcHJpc3RpbmU6IHRoaXMuZm9ybT8ucHJpc3RpbmUsXG4gICAgICB2YWxpZDogdGhpcy5mb3JtPy52YWxpZCxcbiAgICB9O1xuICB9KTtcbiAgcHJvdGVjdGVkIGNoZWNrRm9ybVN0YXRlID0gc2lnbmFsKG51bGwpO1xuICBASW5wdXQoJ2Zvcm0nKSBzZXQgX2Zvcm0odjogRm9ybUdyb3VwIHwgRm9ybUNvbnRyb2wgfCBGb3JtQXJyYXkgfCBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAodGhpcy5kZWJ1ZygpKSBkZWJ1Z2dlcjtcbiAgICB0aGlzLmZvcm0gPSB2O1xuICAgIGlmICh2KSB7XG4gICAgICBjb25zdCBzdWIgPSB2LnN0YXR1c0NoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hlY2tGb3JtU3RhdGUuc2V0KHRydWUpKTtcbiAgICAgIHRoaXMuZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gc3ViPy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG4gICAgdGhpcy5jaGVja0Zvcm1TdGF0ZS5zZXQodHJ1ZSk7XG4gIH1cblxuICBmb3Jtc1N0YXRlID0gc2lnbmFsPElGb3JtU3RhdGVbXT4odW5kZWZpbmVkKTtcbiAgQElucHV0KCdmb3JtcycpIHNldCBfZm9ybXModjogKEZvcm1Hcm91cCB8IEZvcm1Db250cm9sIHwgRm9ybUFycmF5IHwgQWJzdHJhY3RDb250cm9sKVtdKSB7XG4gICAgdGhpcy5mb3JtcyA9IHY7XG4gICAgaWYgKCF2KSB7XG4gICAgICB0aGlzLmZvcm1zU3RhdGUuc2V0KHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN1YiA9IG1lcmdlKHYubWFwKChmKSA9PiBmLnN0YXR1c0NoYW5nZXMpKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDcwMCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5mb3Jtc1N0YXRlLnNldChcbiAgICAgICAgICB2Lm1hcCgoeCkgPT4gKHtcbiAgICAgICAgICAgIHBlbmRpbmc6IHgucGVuZGluZyxcbiAgICAgICAgICAgIGRpcnR5OiB4LmRpcnR5LFxuICAgICAgICAgICAgaW52YWxpZDogeC5pbnZhbGlkLFxuICAgICAgICAgICAgcHJpc3RpbmU6IHgucHJpc3RpbmUsXG4gICAgICAgICAgICB2YWxpZDogeC52YWxpZCxcbiAgICAgICAgICB9KSksXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB0aGlzLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHN1Yj8udW5zdWJzY3JpYmUoKSk7XG4gIH1cbiAgaGVscCA9IGlucHV0PHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KCk7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBubyBsb25nZXIgbmVlZGVkIHRvIGRldGVjdCB0aGUgY29ycmVjdCBzcGFjaW5nIGJldHdlZW4gaWNvbiBhbmQgdGV4dFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlMiwgYWxpYXM6ICdpY29uQnRuJyB9KSBzZXQgX2ljb25CdG4odjogYm9vbGVhbikge1xuICAgIHRoaXMuaWNvbkJ0bi5zZXQodiB8fCBmYWxzZSk7XG4gIH1cbiAgQElucHV0KCdsb2FkaW5nJykgc2V0IF9sb2FkaW5nKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmxvYWRpbmcuc2V0KHYpO1xuICB9XG4gIG1jbGFzcyA9IGlucHV0PHN0cmluZz4obnVsbCk7XG4gIHNob3dIZWxwSWNvbiA9IGlucHV0KHRydWUpO1xuICByaWdodEljb24gPSBzaWduYWw8SWNvbkRlZmluaXRpb24+KG51bGwpO1xuICBASW5wdXQoeyBhbGlhczogJ3JpZ2h0Q3VzdG9tSWNvbicgfSkgc2V0IF9yaWdodEN1c3RvbUljb24odjogc3RyaW5nKSB7XG4gICAgdGhpcy5yaWdodEN1c3RvbUljb24uc2V0KHYpO1xuICB9XG4gIHJpZ2h0Q3VzdG9tSWNvbiA9IHNpZ25hbDxzdHJpbmc+KG51bGwpO1xuICBsZWZ0SWNvbiA9IHNpZ25hbDxJY29uRGVmaW5pdGlvbj4obnVsbCk7XG4gIEBJbnB1dCh7IGFsaWFzOiAnbGVmdEN1c3RvbUljb24nIH0pIHNldCBfbGVmdEN1c3RvbUljb24odjogc3RyaW5nKSB7XG4gICAgdGhpcy5sZWZ0Q3VzdG9tSWNvbi5zZXQodik7XG4gIH1cbiAgbGVmdEN1c3RvbUljb24gPSBzaWduYWw8c3RyaW5nPihudWxsKTtcbiAgdGV4dCA9IGlucHV0PHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KCk7XG4gIHZhbGlkID0gaW5wdXQodHJ1ZSk7XG4gIG1pbmkgPSBpbnB1dDxib29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUyIGFzIHVuZGVmaW5lZCB9KTtcbiAgb25Gb3JtSW52YWxpZCA9IGlucHV0PGtleW9mIHR5cGVvZiBPbkZvcm1JbnZhbGlkPihPbkZvcm1JbnZhbGlkLmRpc2FibGUpO1xuICBAT3V0cHV0KCkgbWNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAVmlld0NoaWxkKCdpbm5lclRleHQnKSBpbm5lclRleHQ6IEVsZW1lbnRSZWY8SFRNTFNwYW5FbGVtZW50PjtcbiAgbG9ja2VkID0gc2lnbmFsKGZhTG9jayk7XG4gIHByb3RlY3RlZCBfdGV4dCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPih1bmRlZmluZWQpO1xuICBwcm90ZWN0ZWQgZGlzYWJsZWQgPSBzaWduYWw8Ym9vbGVhbiB8IG51bGw+KHVuZGVmaW5lZCk7XG4gIGNvbXB1dGVkVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMudGV4dCgpLFxuICAgICAgbG9jYWwgPSB0aGlzLl90ZXh0KCk7XG4gICAgcmV0dXJuIGlucHV0ID09IG51bGwgPyBsb2NhbCA6IGlucHV0O1xuICB9KTtcbiAgcHVibGljIGJ0blMgPSBpbmplY3QoQnRuU2VydmljZSk7XG4gIHB1YmxpYyBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgLy9DYWxsZWQgYWZ0ZXIgZXZlcnkgY2hlY2sgb2YgdGhlIGNvbXBvbmVudCdzIHZpZXcuIEFwcGxpZXMgdG8gY29tcG9uZW50cyBvbmx5LlxuICAgIC8vQWRkICdpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQnIHRvIHRoZSBjbGFzcy5cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbWNsYXNzKCkpIHRoaXMuX3R5cGUgPSB0aGlzLmJ0blMuZGVmYXVsdFR5cGU7XG4gIH1cblxuICBjaGVja0Zvcm0oKSB7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCgpICYmIHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm07XG4gICAgICBjb25zb2xlLmxvZyhmb3JtKTtcbiAgICAgIGlmIChmb3JtIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpXG4gICAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAhZm9ybS5jb250cm9sc1t4XS52YWxpZClcbiAgICAgICAgICAgIC5tYXAoKHgpID0+IGZvcm0uY29udHJvbHNbeF0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKCkgJiYgdGhpcy5mb3Jtcykge1xuICAgICAgdGhpcy5mb3Jtcy5mb3JFYWNoKChmb3JtKSA9PiBmb3JtLm1hcmtBbGxBc1RvdWNoZWQoKSk7XG4gICAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmZvcm1zKTtcbiAgICB9XG4gIH1cblxuICBzZXRMb2FkZXIodmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5sb2FkaW5nLnNldCh2YWwpO1xuICB9XG4gIGdldCBleHRyYWN0VGV4dCgpIHtcbiAgICByZXR1cm4gYENsaWNrZWQgb24gJHt0aGlzLnRleHQoKSB8fCB0aGlzLmlubmVyVGV4dD8ubmF0aXZlRWxlbWVudD8uaW5uZXJIVE1MIHx8IHRoaXMuaWNvblR5cGUgfHwgJ2J1dHRvbid9ICR7XG4gICAgICB0aGlzLmxvZ2dpbmdWYWx1ZSA/ICdcXG5UcmFjayB2YWx1ZTogJyArIHRoaXMubG9nZ2luZ1ZhbHVlIDogJydcbiAgICB9YDtcbiAgfVxuICBjbGljaygkZXZlbnQpIHtcbiAgICAvLyBkZWJ1Z2dlclxuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQoKSB8fCB0aGlzLmxvYWRpbmcoKSkgcmV0dXJuO1xuICAgIHRoaXMubWNsaWNrLmVtaXQoJGV2ZW50KTtcbiAgICB0aGlzLmJ0blMubG9nQ2xpY2sodGhpcyk7XG4gIH1cblxuICBpc0Rpc2FibGVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgIGNvbnN0IGRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCgpLFxuICAgICAgdmFsaWQgPSB0aGlzLnZhbGlkKCksXG4gICAgICBvbkZvcm1JbnZhbGlkID0gdGhpcy5vbkZvcm1JbnZhbGlkKCksXG4gICAgICBmb3JtID0gdGhpcy5mb3JtU3RhdGUoKSxcbiAgICAgIGZvcm1zID0gdGhpcy5mb3Jtc1N0YXRlKCkgfHwgW107XG4gICAgcmV0dXJuIGRpc2FibGVkIHx8ICF2YWxpZCB8fCAob25Gb3JtSW52YWxpZCA9PSBPbkZvcm1JbnZhbGlkLmRpc2FibGUgJiYgKGZvcm0/LmludmFsaWQgfHwgZm9ybT8ucGVuZGluZyB8fCBmb3Jtcy5zb21lKCh4KSA9PiB4LnBlbmRpbmcpKSk7XG4gIH0pO1xuXG4gIGRpc2FibGUoKSB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQodHJ1ZSk7XG4gIH1cblxuICBlbmFibGUoKSB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQoZmFsc2UpO1xuICB9XG59XG5lbnVtIE9uRm9ybUludmFsaWQge1xuICBkaXNhYmxlID0gJ2Rpc2FibGUnLFxuICB3YXJuID0gJ3dhcm4nLFxufVxuaW50ZXJmYWNlIElGb3JtU3RhdGUge1xuICBwZW5kaW5nPzogYm9vbGVhbjtcbiAgZGlydHk/OiBib29sZWFuO1xuICBpbnZhbGlkPzogYm9vbGVhbjtcbiAgcHJpc3RpbmU/OiBib29sZWFuO1xuICB2YWxpZD86IGJvb2xlYW47XG59XG4iLCI8c3BhblxuICBjbGFzcz1cInt7IGNsYXNzKCkgfX0gIGQtZmxleCAgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBpc0Rpc2FibGVkKCksIG1pbmk6IG1pbmkoKSB9XCJcbiAgKGNsaWNrKT1cImNoZWNrRm9ybSgpXCI+XG4gIEBpZiAoc2hvd0hlbHBJY29uKCkgJiYgaGVscCgpKSB7XG4gICAgPGkgY2xhc3M9XCJmYSBmYS1pbmZvLWNpcmNsZSBtZS0yIHRleHQtcHJpbWFyeVwiIFttYXRUb29sdGlwXT1cImhlbHAoKSB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jXCI+PC9pPlxuICB9XG4gIDxidXR0b25cbiAgICB0eXBlPVwie3sgYWN0aW9uVHlwZSgpIH19XCJcbiAgICBjbGFzcz1cInt7IG1jbGFzcygpIH19IHt7IF9tY2xhc3MoKSB9fSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIFwiXG4gICAgW21hdEJhZGdlXT1cImJhZGdlKClcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgIGNoYW5nZWNvbG9yOiB2YWxpZCgpLFxuICAgICAgJ2J0bi1yYWlzZWQnOiBhbmltYXRlKCksXG4gICAgICBkaXNhYmxlZDogaXNEaXNhYmxlZCgpLFxuICAgICAgaXNEYW5nZXI6IGRhbmdlcigpLFxuICAgICAgaXNXYXJuaW5nOiB3YXJuaW5nKCksXG4gICAgICBpbnZhbGlkOiBmb3JtSXNJbnZhbGlkKCksXG4gICAgICAnanVzdGlmeS1jb250ZW50LWNlbnRlcic6IGNlbnRlckJ0bigpXG4gICAgfVwiXG4gICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWQoKVwiXG4gICAgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIlxuICAgIFttYXRUb29sdGlwXT1cInNob3dIZWxwSWNvbigpID8gbnVsbCA6IChoZWxwKCkgfCBhcHBUcmFuc2xhdGUgfCBhc3luYylcIj5cbiAgICBAaWYgKCFsb2FkaW5nKCkpIHtcbiAgICAgIEBpZiAobGVmdEljb24oKSkge1xuICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJpc0Rpc2FibGVkKCkgPyBsb2NrZWQoKSA6IGxlZnRJY29uKClcIj48L2ZhLWljb24+XG4gICAgICB9IEBlbHNlIGlmIChsZWZ0Q3VzdG9tSWNvbigpKSB7XG4gICAgICAgIDxpIGNsYXNzPVwie3sgbGVmdEN1c3RvbUljb24oKSB9fVwiPjwvaT5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKGNvbXB1dGVkVGV4dCgpKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cIlwiIFtuZ0NsYXNzXT1cInsgJ21zLTEnOiBsZWZ0SWNvbigpIHx8IGxlZnRDdXN0b21JY29uKCksICdtZS0xJzogcmlnaHRJY29uKCkgfHwgcmlnaHRDdXN0b21JY29uKCkgfVwiPlxuICAgICAgICB7eyBjb21wdXRlZFRleHQoKSB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICA8L3NwYW4+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cIiBcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ21zLTEnOiBpbm5lclRleHQuaW5uZXJUZXh0ICYmIChsZWZ0SWNvbigpIHx8IGxlZnRDdXN0b21JY29uKCkpLFxuICAgICAgICAgICdtZS0xJzogaW5uZXJUZXh0LmlubmVyVGV4dCAmJiAocmlnaHRJY29uKCkgfHwgcmlnaHRDdXN0b21JY29uKCkpXG4gICAgICAgIH1cIlxuICAgICAgICAjaW5uZXJUZXh0XG4gICAgICAgIGFwcFRyYW5zbGF0b3I+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG5cbiAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1zcGlubmVyIG1zLXt7IGljb25CdG4oKSA/ICcnIDogJzInIH19IGZhLXNwaW5cIj48L3NwYW4+XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgKHJpZ2h0SWNvbigpKSB7XG4gICAgICAgIDxmYS1pY29uIFtpY29uXT1cImlzRGlzYWJsZWQoKSA/IGxvY2tlZCgpIDogcmlnaHRJY29uKClcIj48L2ZhLWljb24+XG4gICAgICB9IEBlbHNlIGlmIChyaWdodEN1c3RvbUljb24oKSkge1xuICAgICAgICA8aSBjbGFzcz1cInt7IHJpZ2h0Q3VzdG9tSWNvbigpIH19XCI+PC9pPlxuICAgICAgfVxuICAgIH1cbiAgPC9idXR0b24+XG48L3NwYW4+XG4iXX0=
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9idG4vYnRuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9idG4vYnRuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSxTQUFTLEVBQThCLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxFQUFrQixNQUFNLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFF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VyxVQUFVO3NCQUFqQyxLQUFLO3VCQUFDLFdBQVc7Z0JBTUssU0FBUztzQkFBL0IsS0FBSzt1QkFBQyxVQUFVO2dCQU9FLEtBQUs7c0JBQXZCLEtBQUs7dUJBQUMsTUFBTTtnQkFPTyxNQUFNO3NCQUF6QixLQUFLO3VCQUFDLE9BQU87Z0JBaUUyQixjQUFjO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFO2dCQUM5QixZQUFZO3NCQUFwQixLQUFLO2dCQU1PLFVBQVU7c0JBQXRCLEtBQUs7Z0JBRzRCLFNBQVM7c0JBQTFDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO2dCQWNULEtBQUs7c0JBQXZCLEtBQUs7dUJBQUMsTUFBTTtnQkFnQk8sTUFBTTtzQkFBekIsS0FBSzt1QkFBQyxPQUFPO2dCQXlCaUQsUUFBUTtzQkFBdEUsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO2dCQUduQyxRQUFRO3NCQUE3QixLQUFLO3VCQUFDLFNBQVM7Z0JBTXlCLGdCQUFnQjtzQkFBeEQsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtnQkFLSyxlQUFlO3NCQUF0RCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO2dCQVF4QixNQUFNO3NCQUFmLE1BQU07Z0JBQ2lCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVzs7QUE0RXhCLElBQUssYUFHSjtBQUhELFdBQUssYUFBYTtJQUNoQixvQ0FBbUIsQ0FBQTtJQUNuQiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhJLGFBQWEsS0FBYixhQUFhLFFBR2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3JtQXJyYXksIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEljb25EZWZpbml0aW9uLCBmYUxvY2sgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgQnRuU2VydmljZSB9IGZyb20gJy4vYnRuLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IFRyYW5zbGF0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RyYW5zbGF0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSUZvcm1TY2hlbWEgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1zY2hlbWEubW9kZWwnO1xuaW1wb3J0IHsgSWNvblR5cGUsIEJ0blR5cGUsIEJ0bkdyb3VwIH0gZnJvbSAnLi9idG4ubW9kZWwnO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1lcmdlLCB0YXAsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5cbmZ1bmN0aW9uIGJvb2xlYW5BdHRyaWJ1dGUyKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gIHJldHVybiBib29sZWFuQXR0cmlidXRlKHZhbHVlKTtcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1idG4nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnRuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnRuLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIC8vIC8vXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ0lmLCBNYXRUb29sdGlwTW9kdWxlLCBNYXRCYWRnZU1vZHVsZSwgRm9udEF3ZXNvbWVNb2R1bGUsIFRyYW5zbGF0b3JEaXJlY3RpdmUsIEFzeW5jUGlwZSwgVHJhbnNsYXRlUGlwZV0sXG59KSAvLyBJbmhlcml0ZWRcbmV4cG9ydCBjbGFzcyBCdG5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKiogVG8gYmUgcGFzc2VkIHdoZW4gdG8gY2hlY2sgZm9yIHNwZWNpZmljIGludmFsaWQgZm9ybSBmaWVsZHMgKi9cbiAgZm9ybVNjaGVtYSA9IGlucHV0PElGb3JtU2NoZW1hW10+KCk7XG4gIGRlYnVnID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgZm9ybUlzSW52YWxpZCA9IGNvbXB1dGVkPGJvb2xlYW4+KFxuICAgICgpID0+IHtcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TdGF0ZSgpLFxuICAgICAgICBvbkZvcm1JbnZhbGlkID0gdGhpcy5vbkZvcm1JbnZhbGlkKCksXG4gICAgICAgIGZvcm1TY2hlbWEgPSB0aGlzLmZvcm1TY2hlbWEoKTtcblxuICAgICAgcmV0dXJuIGZvcm0gJiYgZm9ybS5pbnZhbGlkICYmIG9uRm9ybUludmFsaWQgPT0gT25Gb3JtSW52YWxpZC53YXJuICYmIGZvcm1TY2hlbWE/Lmxlbmd0aFxuICAgICAgICA/IGZvcm1TY2hlbWEuc29tZSgoZikgPT4gKDxGb3JtR3JvdXA+Zm9ybSkuY29udHJvbHNbZi5maWVsZD8udG9TdHJpbmcoKV0/LmludmFsaWQpXG4gICAgICAgIDogbnVsbDtcbiAgICB9LFxuICAgIHsgZXF1YWw6IGlzRXF1YWwgfSxcbiAgKTtcbiAgY2VudGVyQnRuID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIGRhbmdlciA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHdhcm5pbmcgPSBpbnB1dDxib29sZWFuPigpO1xuXG4gIHByb3RlY3RlZCBpY29uVHlwZTogSWNvblR5cGU7XG4gIGljb25CdG4gPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBsb2FkaW5nID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgZm9ybXM6IChGb3JtR3JvdXA8YW55PiB8IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4gfCBGb3JtQ29udHJvbDxhbnk+IHwgRm9ybUFycmF5PGFueT4pW107XG4gIGZvcm06IEZvcm1Hcm91cDxhbnk+IHwgRm9ybUNvbnRyb2w8YW55PiB8IEZvcm1BcnJheTxhbnk+IHwgQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcblxuICBASW5wdXQoJ2ljb24nKSBzZXQgX2ljb24odjogSWNvblR5cGUpIHtcbiAgICB0aGlzLmljb25UeXBlID0gdjtcbiAgICBjb25zdCByZXMgPSB0aGlzLmJ0blMuZ2V0SWNvbih2KTtcbiAgICBpZiAoIXJlcykgcmV0dXJuO1xuICAgIGlmIChyZXMuaWNvblBvc2l0aW9uID09ICdyaWdodCcpIHtcbiAgICAgIHRoaXMucmlnaHRJY29uLnNldChyZXMuaWNvbik7XG4gICAgICB0aGlzLnJpZ2h0Q3VzdG9tSWNvbi5zZXQocmVzLmljb25TdHJpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxlZnRJY29uLnNldChyZXMuaWNvbik7XG4gICAgICB0aGlzLmxlZnRDdXN0b21JY29uLnNldChyZXMuaWNvblN0cmluZyk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgncmlnaHRJY29uJykgc2V0IF9yaWdodEljb24odjogSWNvblR5cGUpIHtcbiAgICB0aGlzLmljb25UeXBlID0gdjtcbiAgICBjb25zdCByZXMgPSB0aGlzLmJ0blMuZ2V0SWNvbih2KTtcbiAgICB0aGlzLnJpZ2h0SWNvbi5zZXQocmVzLmljb24pO1xuICAgIHRoaXMucmlnaHRDdXN0b21JY29uLnNldChyZXMuaWNvblN0cmluZyk7XG4gIH1cbiAgQElucHV0KCdsZWZ0SWNvbicpIHNldCBfbGVmdEljb24odjogSWNvblR5cGUpIHtcbiAgICB0aGlzLmljb25UeXBlID0gdjtcbiAgICBjb25zdCByZXMgPSB0aGlzLmJ0blMuZ2V0SWNvbih2KTtcbiAgICB0aGlzLmxlZnRJY29uLnNldChyZXMuaWNvbik7XG4gICAgdGhpcy5sZWZ0Q3VzdG9tSWNvbi5zZXQocmVzLmljb25TdHJpbmcpO1xuICB9XG5cbiAgQElucHV0KCd0eXBlJykgc2V0IF90eXBlKHY6IEJ0blR5cGUpIHtcbiAgICBjb25zdCB7IF9pY29uLCBfbWNsYXNzLCBfdHlwZSB9ID0gdGhpcy5idG5TLmdldFR5cGUodik7XG4gICAgdGhpcy5fbWNsYXNzLnVwZGF0ZSgobWNsYXNzKSA9PiBfbWNsYXNzIHx8IG1jbGFzcyk7XG4gICAgaWYgKF9pY29uKSB0aGlzLl9pY29uID0gX2ljb247XG4gICAgaWYgKF90eXBlKSB0aGlzLl90eXBlID0gX3R5cGU7XG4gIH1cblxuICBASW5wdXQoJ2dyb3VwJykgc2V0IF9ncm91cCh2OiBCdG5Hcm91cCkge1xuICAgIHN3aXRjaCAodikge1xuICAgICAgY2FzZSAnYWRkJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdvdXRsaW5lJztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdhZGQnO1xuICAgICAgICB0aGlzLmljb25CdG4uc2V0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Nsb25lJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLl9pY29uID0gJ2Nsb25lJztcbiAgICAgICAgdGhpcy5fdGV4dC5zZXQoJ0Nsb25lJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY3JlYXRlJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdvdXRsaW5lJztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdhZGQnO1xuICAgICAgICB0aGlzLl90ZXh0LnNldCgnQ3JlYXRlJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2xvc2UnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ2Rhbmdlci1vdXRsaW5lJztcbiAgICAgICAgdGhpcy5jdXN0b21JY29uID0gdGhpcy5idG5TLmdldEljb24oJ2Nsb3NlJykuaWNvblN0cmluZztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ2Rhbmdlci1vdXRsaW5lJztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdkZWxldGUnO1xuICAgICAgICB0aGlzLmljb25CdG4uc2V0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLl9pY29uID0gJ2Rvd25sb2FkJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdlZGl0JzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLl9pY29uID0gJ2VkaXQnO1xuICAgICAgICB0aGlzLmljb25CdG4uc2V0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2xpbmsnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ3NlY29uZGFyeSc7XG4gICAgICAgIHRoaXMuY3VzdG9tSWNvbiA9ICdmYSBmYS1leWUnO1xuICAgICAgICB0aGlzLmljb25CdG4uc2V0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NlYXJjaCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdzZWFyY2gnO1xuICAgICAgICB0aGlzLmljb25CdG4uc2V0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3Nob3cnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ3NlY29uZGFyeSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnc2hvdyc7XG4gICAgICAgIHRoaXMuX3RleHQuc2V0KCdTaG93Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc3VibWl0JzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLl9pY29uID0gJ3NhdmUnO1xuICAgICAgICB0aGlzLl90ZXh0LnNldCgnU3VibWl0Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2F2ZSc6XG4gICAgICAgIHRoaXMuX2dyb3VwID0gJ3N1Ym1pdCc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBfbWNsYXNzID0gc2lnbmFsPHN0cmluZz4obnVsbCk7XG4gIGFjdGlvblR5cGUgPSBpbnB1dDwnc3VibWl0JyB8ICdidXR0b24nIHwgJ3Jlc2V0Jz4oJ2J1dHRvbicpO1xuICBhbmltYXRlID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlMiBhcyB1bmRlZmluZWQgfSk7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZTIgfSkgZXhjbHVkZUxvZ2dpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgbG9nZ2luZ1ZhbHVlOiBzdHJpbmc7XG4gIGJhZGdlID0gaW5wdXQ8c3RyaW5nIHwgbnVtYmVyPihudWxsKTtcbiAgY2xhc3MgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBsZWZ0IHNpZGUgaWNvblxuICAgKi9cbiAgQElucHV0KCkgc2V0IGN1c3RvbUljb24odjogc3RyaW5nKSB7XG4gICAgdGhpcy5sZWZ0Q3VzdG9tSWNvbi5zZXQodik7XG4gIH1cbiAgQElucHV0KHsgYWxpYXM6ICdkaXNhYmxlZCcgfSkgc2V0IF9kaXNhYmxlZCh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQodiB8fCBmYWxzZSk7XG4gIH1cbiAgZm9ybVN0YXRlID0gY29tcHV0ZWQ8SUZvcm1TdGF0ZT4oKCkgPT4ge1xuICAgIHRoaXMuY2hlY2tGb3JtU3RhdGUoKTtcbiAgICByZXR1cm4ge1xuICAgICAgcGVuZGluZzogdGhpcy5mb3JtPy5wZW5kaW5nLFxuICAgICAgZGlydHk6IHRoaXMuZm9ybT8uZGlydHksXG4gICAgICBpbnZhbGlkOiB0aGlzLmZvcm0/LmludmFsaWQsXG4gICAgICBwcmlzdGluZTogdGhpcy5mb3JtPy5wcmlzdGluZSxcbiAgICAgIHZhbGlkOiB0aGlzLmZvcm0/LnZhbGlkLFxuICAgIH07XG4gIH0pO1xuICBjaGVja0Zvcm1TdGF0ZSA9IHNpZ25hbChudWxsKTtcbiAgQElucHV0KCdmb3JtJykgc2V0IF9mb3JtKHY6IEZvcm1Hcm91cCB8IEZvcm1Db250cm9sIHwgRm9ybUFycmF5IHwgQWJzdHJhY3RDb250cm9sKSB7XG4gICAgaWYgKHRoaXMuZGVidWcoKSkgZGVidWdnZXI7XG4gICAgdGhpcy5mb3JtID0gdjtcbiAgICBpZiAodikge1xuICAgICAgY29uc3Qgc3ViID0gbWVyZ2Uodi52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMjAwKSksIHYuc3RhdHVzQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgyMDApKSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwKChyKSA9PiB0aGlzLmNoZWNrRm9ybVN0YXRlLnNldCh2KSksXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHYpID0+IHRoaXMuY2hlY2tGb3JtU3RhdGUuc2V0KHYpKTtcbiAgICAgIHRoaXMuZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gc3ViPy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG4gICAgdGhpcy5jaGVja0Zvcm1TdGF0ZS5zZXQodHJ1ZSk7XG4gIH1cblxuICBmb3Jtc1N0YXRlID0gc2lnbmFsPElGb3JtU3RhdGVbXT4odW5kZWZpbmVkKTtcbiAgQElucHV0KCdmb3JtcycpIHNldCBfZm9ybXModjogKEZvcm1Hcm91cCB8IEZvcm1Db250cm9sIHwgRm9ybUFycmF5IHwgQWJzdHJhY3RDb250cm9sKVtdKSB7XG4gICAgdGhpcy5mb3JtcyA9IHY7XG4gICAgaWYgKCF2KSB7XG4gICAgICB0aGlzLmZvcm1zU3RhdGUuc2V0KHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN1YiA9IG1lcmdlKHYubWFwKChmKSA9PiBmLnN0YXR1c0NoYW5nZXMpKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDcwMCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5mb3Jtc1N0YXRlLnNldChcbiAgICAgICAgICB2Lm1hcCgoeCkgPT4gKHtcbiAgICAgICAgICAgIHBlbmRpbmc6IHgucGVuZGluZyxcbiAgICAgICAgICAgIGRpcnR5OiB4LmRpcnR5LFxuICAgICAgICAgICAgaW52YWxpZDogeC5pbnZhbGlkLFxuICAgICAgICAgICAgcHJpc3RpbmU6IHgucHJpc3RpbmUsXG4gICAgICAgICAgICB2YWxpZDogeC52YWxpZCxcbiAgICAgICAgICB9KSksXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB0aGlzLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHN1Yj8udW5zdWJzY3JpYmUoKSk7XG4gIH1cbiAgaGVscCA9IGlucHV0PHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KCk7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBubyBsb25nZXIgbmVlZGVkIHRvIGRldGVjdCB0aGUgY29ycmVjdCBzcGFjaW5nIGJldHdlZW4gaWNvbiBhbmQgdGV4dFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlMiwgYWxpYXM6ICdpY29uQnRuJyB9KSBzZXQgX2ljb25CdG4odjogYm9vbGVhbikge1xuICAgIHRoaXMuaWNvbkJ0bi5zZXQodiB8fCBmYWxzZSk7XG4gIH1cbiAgQElucHV0KCdsb2FkaW5nJykgc2V0IF9sb2FkaW5nKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmxvYWRpbmcuc2V0KHYpO1xuICB9XG4gIG1jbGFzcyA9IGlucHV0PHN0cmluZz4obnVsbCk7XG4gIHNob3dIZWxwSWNvbiA9IGlucHV0KHRydWUpO1xuICByaWdodEljb24gPSBzaWduYWw8SWNvbkRlZmluaXRpb24+KG51bGwpO1xuICBASW5wdXQoeyBhbGlhczogJ3JpZ2h0Q3VzdG9tSWNvbicgfSkgc2V0IF9yaWdodEN1c3RvbUljb24odjogc3RyaW5nKSB7XG4gICAgdGhpcy5yaWdodEN1c3RvbUljb24uc2V0KHYpO1xuICB9XG4gIHJpZ2h0Q3VzdG9tSWNvbiA9IHNpZ25hbDxzdHJpbmc+KG51bGwpO1xuICBsZWZ0SWNvbiA9IHNpZ25hbDxJY29uRGVmaW5pdGlvbj4obnVsbCk7XG4gIEBJbnB1dCh7IGFsaWFzOiAnbGVmdEN1c3RvbUljb24nIH0pIHNldCBfbGVmdEN1c3RvbUljb24odjogc3RyaW5nKSB7XG4gICAgdGhpcy5sZWZ0Q3VzdG9tSWNvbi5zZXQodik7XG4gIH1cbiAgbGVmdEN1c3RvbUljb24gPSBzaWduYWw8c3RyaW5nPihudWxsKTtcbiAgdGV4dCA9IGlucHV0PHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KCk7XG4gIHZhbGlkID0gaW5wdXQodHJ1ZSk7XG4gIG1pbmkgPSBpbnB1dDxib29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUyIGFzIHVuZGVmaW5lZCB9KTtcbiAgb25Gb3JtSW52YWxpZCA9IGlucHV0PGtleW9mIHR5cGVvZiBPbkZvcm1JbnZhbGlkPihPbkZvcm1JbnZhbGlkLmRpc2FibGUpO1xuICBAT3V0cHV0KCkgbWNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAVmlld0NoaWxkKCdpbm5lclRleHQnKSBpbm5lclRleHQ6IEVsZW1lbnRSZWY8SFRNTFNwYW5FbGVtZW50PjtcbiAgbG9ja2VkID0gc2lnbmFsKGZhTG9jayk7XG4gIHByb3RlY3RlZCBfdGV4dCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPih1bmRlZmluZWQpO1xuICBwcm90ZWN0ZWQgZGlzYWJsZWQgPSBzaWduYWw8Ym9vbGVhbiB8IG51bGw+KHVuZGVmaW5lZCk7XG4gIGNvbXB1dGVkVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMudGV4dCgpLFxuICAgICAgbG9jYWwgPSB0aGlzLl90ZXh0KCk7XG4gICAgcmV0dXJuIGlucHV0ID09IG51bGwgPyBsb2NhbCA6IGlucHV0O1xuICB9KTtcbiAgcHVibGljIGJ0blMgPSBpbmplY3QoQnRuU2VydmljZSk7XG4gIHB1YmxpYyBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgLy9DYWxsZWQgYWZ0ZXIgZXZlcnkgY2hlY2sgb2YgdGhlIGNvbXBvbmVudCdzIHZpZXcuIEFwcGxpZXMgdG8gY29tcG9uZW50cyBvbmx5LlxuICAgIC8vQWRkICdpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQnIHRvIHRoZSBjbGFzcy5cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbWNsYXNzKCkpIHRoaXMuX3R5cGUgPSB0aGlzLmJ0blMuZGVmYXVsdFR5cGU7XG4gIH1cblxuICBjaGVja0Zvcm0oKSB7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCgpICYmIHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm07XG4gICAgICBjb25zb2xlLmxvZyhmb3JtKTtcbiAgICAgIGlmIChmb3JtIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpXG4gICAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAhZm9ybS5jb250cm9sc1t4XS52YWxpZClcbiAgICAgICAgICAgIC5tYXAoKHgpID0+IGZvcm0uY29udHJvbHNbeF0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKCkgJiYgdGhpcy5mb3Jtcykge1xuICAgICAgdGhpcy5mb3Jtcy5mb3JFYWNoKChmb3JtKSA9PiBmb3JtLm1hcmtBbGxBc1RvdWNoZWQoKSk7XG4gICAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLmZvcm1zKTtcbiAgICB9XG4gIH1cblxuICBzZXRMb2FkZXIodmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5sb2FkaW5nLnNldCh2YWwpO1xuICB9XG4gIGdldCBleHRyYWN0VGV4dCgpIHtcbiAgICByZXR1cm4gYENsaWNrZWQgb24gJHt0aGlzLnRleHQoKSB8fCB0aGlzLmlubmVyVGV4dD8ubmF0aXZlRWxlbWVudD8uaW5uZXJIVE1MIHx8IHRoaXMuaWNvblR5cGUgfHwgJ2J1dHRvbid9ICR7XG4gICAgICB0aGlzLmxvZ2dpbmdWYWx1ZSA/ICdcXG5UcmFjayB2YWx1ZTogJyArIHRoaXMubG9nZ2luZ1ZhbHVlIDogJydcbiAgICB9YDtcbiAgfVxuICBjbGljaygkZXZlbnQpIHtcbiAgICAvLyBkZWJ1Z2dlclxuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQoKSB8fCB0aGlzLmxvYWRpbmcoKSkgcmV0dXJuO1xuICAgIHRoaXMubWNsaWNrLmVtaXQoJGV2ZW50KTtcbiAgICB0aGlzLmJ0blMubG9nQ2xpY2sodGhpcyk7XG4gIH1cblxuICBpc0Rpc2FibGVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgIGNvbnN0IGRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCgpLFxuICAgICAgdmFsaWQgPSB0aGlzLnZhbGlkKCksXG4gICAgICBvbkZvcm1JbnZhbGlkID0gdGhpcy5vbkZvcm1JbnZhbGlkKCksXG4gICAgICBmb3JtID0gdGhpcy5mb3JtU3RhdGUoKSxcbiAgICAgIGZvcm1zID0gdGhpcy5mb3Jtc1N0YXRlKCkgfHwgW107XG4gICAgcmV0dXJuIGRpc2FibGVkIHx8ICF2YWxpZCB8fCAob25Gb3JtSW52YWxpZCA9PSBPbkZvcm1JbnZhbGlkLmRpc2FibGUgJiYgKGZvcm0/LmludmFsaWQgfHwgZm9ybT8ucGVuZGluZyB8fCBmb3Jtcy5zb21lKCh4KSA9PiB4LnBlbmRpbmcpKSk7XG4gIH0pO1xuXG4gIGRpc2FibGUoKSB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQodHJ1ZSk7XG4gIH1cblxuICBlbmFibGUoKSB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQoZmFsc2UpO1xuICB9XG59XG5lbnVtIE9uRm9ybUludmFsaWQge1xuICBkaXNhYmxlID0gJ2Rpc2FibGUnLFxuICB3YXJuID0gJ3dhcm4nLFxufVxuaW50ZXJmYWNlIElGb3JtU3RhdGUge1xuICBwZW5kaW5nPzogYm9vbGVhbjtcbiAgZGlydHk/OiBib29sZWFuO1xuICBpbnZhbGlkPzogYm9vbGVhbjtcbiAgcHJpc3RpbmU/OiBib29sZWFuO1xuICB2YWxpZD86IGJvb2xlYW47XG59XG4iLCI8c3BhblxuICBjbGFzcz1cInt7IGNsYXNzKCkgfX0gIGQtZmxleCAgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBpc0Rpc2FibGVkKCksIG1pbmk6IG1pbmkoKSB9XCJcbiAgKGNsaWNrKT1cImNoZWNrRm9ybSgpXCI+XG4gIEBpZiAoc2hvd0hlbHBJY29uKCkgJiYgaGVscCgpKSB7XG4gICAgPGkgY2xhc3M9XCJmYSBmYS1pbmZvLWNpcmNsZSBtZS0yIHRleHQtcHJpbWFyeVwiIFttYXRUb29sdGlwXT1cImhlbHAoKSB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jXCI+PC9pPlxuICB9XG4gIDxidXR0b25cbiAgICB0eXBlPVwie3sgYWN0aW9uVHlwZSgpIH19XCJcbiAgICBjbGFzcz1cInt7IG1jbGFzcygpIH19IHt7IF9tY2xhc3MoKSB9fSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIFwiXG4gICAgW21hdEJhZGdlXT1cImJhZGdlKClcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgIGNoYW5nZWNvbG9yOiB2YWxpZCgpLFxuICAgICAgJ2J0bi1yYWlzZWQnOiBhbmltYXRlKCksXG4gICAgICBkaXNhYmxlZDogaXNEaXNhYmxlZCgpLFxuICAgICAgaXNEYW5nZXI6IGRhbmdlcigpLFxuICAgICAgaXNXYXJuaW5nOiB3YXJuaW5nKCksXG4gICAgICBpbnZhbGlkOiBmb3JtSXNJbnZhbGlkKCksXG4gICAgICAnanVzdGlmeS1jb250ZW50LWNlbnRlcic6IGNlbnRlckJ0bigpXG4gICAgfVwiXG4gICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWQoKVwiXG4gICAgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIlxuICAgIFttYXRUb29sdGlwXT1cInNob3dIZWxwSWNvbigpID8gbnVsbCA6IChoZWxwKCkgfCBhcHBUcmFuc2xhdGUgfCBhc3luYylcIj5cbiAgICBAaWYgKCFsb2FkaW5nKCkpIHtcbiAgICAgIEBpZiAobGVmdEljb24oKSkge1xuICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJpc0Rpc2FibGVkKCkgPyBsb2NrZWQoKSA6IGxlZnRJY29uKClcIj48L2ZhLWljb24+XG4gICAgICB9IEBlbHNlIGlmIChsZWZ0Q3VzdG9tSWNvbigpKSB7XG4gICAgICAgIDxpIGNsYXNzPVwie3sgbGVmdEN1c3RvbUljb24oKSB9fVwiPjwvaT5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKGNvbXB1dGVkVGV4dCgpKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cIlwiIFtuZ0NsYXNzXT1cInsgJ21zLTEnOiBsZWZ0SWNvbigpIHx8IGxlZnRDdXN0b21JY29uKCksICdtZS0xJzogcmlnaHRJY29uKCkgfHwgcmlnaHRDdXN0b21JY29uKCkgfVwiPlxuICAgICAgICB7eyBjb21wdXRlZFRleHQoKSB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICA8L3NwYW4+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cIiBcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ21zLTEnOiBpbm5lclRleHQuaW5uZXJUZXh0ICYmIChsZWZ0SWNvbigpIHx8IGxlZnRDdXN0b21JY29uKCkpLFxuICAgICAgICAgICdtZS0xJzogaW5uZXJUZXh0LmlubmVyVGV4dCAmJiAocmlnaHRJY29uKCkgfHwgcmlnaHRDdXN0b21JY29uKCkpXG4gICAgICAgIH1cIlxuICAgICAgICAjaW5uZXJUZXh0XG4gICAgICAgIGFwcFRyYW5zbGF0b3I+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG5cbiAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1zcGlubmVyIG1zLXt7IGljb25CdG4oKSA/ICcnIDogJzInIH19IGZhLXNwaW5cIj48L3NwYW4+XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgKHJpZ2h0SWNvbigpKSB7XG4gICAgICAgIDxmYS1pY29uIFtpY29uXT1cImlzRGlzYWJsZWQoKSA/IGxvY2tlZCgpIDogcmlnaHRJY29uKClcIj48L2ZhLWljb24+XG4gICAgICB9IEBlbHNlIGlmIChyaWdodEN1c3RvbUljb24oKSkge1xuICAgICAgICA8aSBjbGFzcz1cInt7IHJpZ2h0Q3VzdG9tSWNvbigpIH19XCI+PC9pPlxuICAgICAgfVxuICAgIH1cbiAgPC9idXR0b24+XG48L3NwYW4+XG4iXX0=
|
|
@@ -3422,7 +3422,9 @@ class BtnComponent {
|
|
|
3422
3422
|
debugger;
|
|
3423
3423
|
this.form = v;
|
|
3424
3424
|
if (v) {
|
|
3425
|
-
const sub = v.
|
|
3425
|
+
const sub = merge(v.valueChanges.pipe(debounceTime(200)), v.statusChanges.pipe(debounceTime(200)))
|
|
3426
|
+
.pipe(tap$1((r) => this.checkFormState.set(v)), debounceTime(1000))
|
|
3427
|
+
.subscribe((v) => this.checkFormState.set(v));
|
|
3426
3428
|
this.destroyRef.onDestroy(() => sub?.unsubscribe());
|
|
3427
3429
|
}
|
|
3428
3430
|
this.checkFormState.set(true);
|