@taiga-ui/addon-mobile 4.38.0-canary.a36a982 → 4.39.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/components/mobile-calendar/mobile-calendar.component.d.ts +2 -2
- package/components/mobile-calendar-dropdown/index.d.ts +1 -0
- package/components/mobile-calendar-dropdown/mobile-calendar-dropdown.component.d.ts +2 -0
- package/components/mobile-calendar-dropdown/mobile-calendar-dropdown.directive.d.ts +9 -0
- package/esm2022/components/mobile-calendar/mobile-calendar.component.mjs +9 -7
- package/esm2022/components/mobile-calendar-dropdown/index.mjs +2 -1
- package/esm2022/components/mobile-calendar-dropdown/mobile-calendar-dropdown.component.mjs +19 -5
- package/esm2022/components/mobile-calendar-dropdown/mobile-calendar-dropdown.directive.mjs +42 -0
- package/esm2022/components/sheet-dialog/sheet-dialog.component.mjs +6 -3
- package/esm2022/directives/dropdown-mobile/dropdown-mobile.component.mjs +6 -6
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar-dropdown.mjs +57 -7
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar-dropdown.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar.mjs +8 -6
- package/fesm2022/taiga-ui-addon-mobile-components-mobile-calendar.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-components-sheet-dialog.mjs +5 -2
- package/fesm2022/taiga-ui-addon-mobile-components-sheet-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-mobile-directives-dropdown-mobile.mjs +5 -5
- package/fesm2022/taiga-ui-addon-mobile-directives-dropdown-mobile.mjs.map +1 -1
- package/package.json +5 -5
|
@@ -41,10 +41,10 @@ export declare class TuiMobileCalendar implements AfterViewInit {
|
|
|
41
41
|
readonly confirm: EventEmitter<TuiDayRange | TuiDay | readonly TuiDay[]>;
|
|
42
42
|
readonly valueChange: import("rxjs").Observable<TuiDayRange | TuiDay | readonly TuiDay[] | null>;
|
|
43
43
|
constructor();
|
|
44
|
+
set value(value: TuiDay | TuiDayRange | readonly TuiDay[] | null | undefined);
|
|
45
|
+
get value(): TuiDay | TuiDayRange | readonly TuiDay[] | null;
|
|
44
46
|
ngAfterViewInit(): void;
|
|
45
47
|
setYear(year: number): void;
|
|
46
|
-
protected set value(value: TuiDay | TuiDayRange | readonly TuiDay[] | null);
|
|
47
|
-
protected get value(): TuiDay | TuiDayRange | readonly TuiDay[] | null;
|
|
48
48
|
protected get yearWidth(): number;
|
|
49
49
|
protected onClose(): void;
|
|
50
50
|
protected onConfirm(): void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ValueProvider } from '@angular/core';
|
|
2
2
|
import { TuiDay, TuiDayRange } from '@taiga-ui/cdk/date-time';
|
|
3
3
|
import type { TuiBooleanHandler } from '@taiga-ui/cdk/types';
|
|
4
|
+
import { TuiMobileCalendarDropdownNew } from './mobile-calendar-dropdown.directive';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@taiga-ui/cdk/directives/active-zone";
|
|
6
7
|
import * as i2 from "@taiga-ui/cdk/directives/animated";
|
|
@@ -21,6 +22,7 @@ export declare class TuiMobileCalendarDropdown {
|
|
|
21
22
|
protected readonly control: any;
|
|
22
23
|
protected readonly range: boolean;
|
|
23
24
|
protected readonly multi: boolean;
|
|
25
|
+
protected readonly directive: TuiMobileCalendarDropdownNew | null;
|
|
24
26
|
protected readonly single: boolean;
|
|
25
27
|
constructor();
|
|
26
28
|
max(): TuiDay;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TuiItemsHandlersDirective } from '@taiga-ui/core/directives/items-handlers';
|
|
2
|
+
import { TuiInputDateDirective } from '@taiga-ui/kit/components/input-date';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class TuiMobileCalendarDropdownNew {
|
|
5
|
+
readonly date?: TuiInputDateDirective;
|
|
6
|
+
readonly handlers: TuiItemsHandlersDirective<any>;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiMobileCalendarDropdownNew, never>;
|
|
8
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiMobileCalendarDropdownNew, "[tuiMobileCalendar]", never, {}, {}, ["date"], never, true, never>;
|
|
9
|
+
}
|
|
@@ -69,6 +69,14 @@ class TuiMobileCalendar {
|
|
|
69
69
|
this.value = value;
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
|
+
set value(value) {
|
|
73
|
+
if (value !== undefined) {
|
|
74
|
+
this.value$.next(value);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
get value() {
|
|
78
|
+
return this.value$.value;
|
|
79
|
+
}
|
|
72
80
|
ngAfterViewInit() {
|
|
73
81
|
this.activeYear = this.initialYear;
|
|
74
82
|
this.activeMonth = this.initialMonth;
|
|
@@ -86,12 +94,6 @@ class TuiMobileCalendar {
|
|
|
86
94
|
.pipe(tuiZonefree(this.ngZone), takeUntilDestroyed(this.destroyRef))
|
|
87
95
|
.subscribe(() => this.scrollToActiveMonth());
|
|
88
96
|
}
|
|
89
|
-
set value(value) {
|
|
90
|
-
this.value$.next(value);
|
|
91
|
-
}
|
|
92
|
-
get value() {
|
|
93
|
-
return this.value$.value;
|
|
94
|
-
}
|
|
95
97
|
get yearWidth() {
|
|
96
98
|
return this.doc.documentElement.clientWidth / YEARS_IN_ROW;
|
|
97
99
|
}
|
|
@@ -303,4 +305,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
303
305
|
}], value: [{
|
|
304
306
|
type: Input
|
|
305
307
|
}] } });
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci9tb2JpbGUtY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyL21vYmlsZS1jYWxlbmRhci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsZUFBZSxFQUNmLHdCQUF3QixHQUMzQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDL0YsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsY0FBYyxFQUNkLGFBQWEsRUFDYixZQUFZLEVBQ1osTUFBTSxFQUNOLFdBQVcsRUFDWCxRQUFRLEdBQ1gsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxvQkFBb0IsR0FDdkIsTUFBTSwyQkFB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QixTQUFTO3VCQUFDLGlCQUFpQjtnQkE2Q3JCLE1BQU07c0JBRFosS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsR0FBRztzQkFEVCxLQUFLO2dCQUlDLEdBQUc7c0JBRFQsS0FBSztnQkFJQyxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBSVUsTUFBTTtzQkFEckIsTUFBTTtnQkFJUyxPQUFPO3NCQUR0QixNQUFNO2dCQU1TLFdBQVc7c0JBRDFCLE1BQU07Z0JBc0NPLEtBQUs7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENka0ZpeGVkU2l6ZVZpcnR1YWxTY3JvbGwsXG4gICAgQ2RrVmlydHVhbEZvck9mLFxuICAgIENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge0FzeW5jUGlwZSwgRE9DVU1FTlQsIE5nRm9yT2YsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7QWZ0ZXJWaWV3SW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7VHVpTW9iaWxlQ2FsZW5kYXJTaGVldH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci1zaGVldCc7XG5pbXBvcnQge1R1aVJpcHBsZSwgVHVpVG91Y2hhYmxlfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBNT05USFNfSU5fWUVBUixcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlEYXksXG4gICAgVHVpRGF5UmFuZ2UsXG4gICAgVHVpTW9udGgsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7XG4gICAgdHVpVHlwZWRGcm9tRXZlbnQsXG4gICAgdHVpWm9uZWZyZWUsXG4gICAgdHVpWm9uZWZyZWVTY2hlZHVsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtUdWlNYXBwZXJQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL21hcHBlcic7XG5pbXBvcnQge1RVSV9JU19FMkUsIFRVSV9JU19JT1N9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlCb29sZWFuSGFuZGxlciwgVHVpTWFwcGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1RVSV9DQUxFTkRBUl9TSEVFVF9PUFRJT05TfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyJztcbmltcG9ydCB7VHVpTGlua30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9saW5rJztcbmltcG9ydCB7VHVpTW9udGhQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9waXBlcy9tb250aCc7XG5pbXBvcnQge1R1aU9yZGVyV2Vla0RheXNQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9waXBlcy9vcmRlci13ZWVrLWRheXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfQU5JTUFUSU9OU19TUEVFRCxcbiAgICBUVUlfQ0xPU0VfV09SRCxcbiAgICBUVUlfQ09NTU9OX0lDT05TLFxuICAgIFRVSV9TSE9SVF9XRUVLX0RBWVMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUdldER1cmF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7XG4gICAgVFVJX0NBTkNFTF9XT1JELFxuICAgIFRVSV9DSE9PU0VfREFZX09SX1JBTkdFX1RFWFRTLFxuICAgIFRVSV9ET05FX1dPUkQsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7dHVpVG9nZ2xlRGF5fSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcbmltcG9ydCB0eXBlIHtNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBCZWhhdmlvclN1YmplY3QsXG4gICAgZGVib3VuY2VUaW1lLFxuICAgIGRlbGF5LFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBpZGVudGl0eSxcbiAgICBtYXAsXG4gICAgbWVyZ2VNYXAsXG4gICAgcmFjZSxcbiAgICBza2lwLFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlLFxuICAgIHRha2VVbnRpbCxcbiAgICB0aW1lcixcbiAgICB3aW5kb3dUb2dnbGUsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIFJBTkdFLFxuICAgIFNDUk9MTF9ERUJPVU5DRV9USU1FLFxuICAgIFNUQVJUSU5HX1lFQVIsXG4gICAgWUVBUlNfSU5fUk9XLFxufSBmcm9tICcuL21vYmlsZS1jYWxlbmRhci5jb25zdCc7XG5pbXBvcnQge1xuICAgIFRVSV9NT0JJTEVfQ0FMRU5EQVJfUFJPVklERVJTLFxuICAgIFRVSV9WQUxVRV9TVFJFQU0sXG59IGZyb20gJy4vbW9iaWxlLWNhbGVuZGFyLnByb3ZpZGVycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktbW9iaWxlLWNhbGVuZGFyJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEFzeW5jUGlwZSxcbiAgICAgICAgQ2RrRml4ZWRTaXplVmlydHVhbFNjcm9sbCxcbiAgICAgICAgQ2RrVmlydHVhbEZvck9mLFxuICAgICAgICBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQsXG4gICAgICAgIE5nRm9yT2YsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpTWFwcGVyUGlwZSxcbiAgICAgICAgVHVpTW9iaWxlQ2FsZW5kYXJTaGVldCxcbiAgICAgICAgVHVpTW9udGhQaXBlLFxuICAgICAgICBUdWlPcmRlcldlZWtEYXlzUGlwZSxcbiAgICAgICAgVHVpUmlwcGxlLFxuICAgICAgICBUdWlUb3VjaGFibGUsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9iaWxlLWNhbGVuZGFyLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21vYmlsZS1jYWxlbmRhci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBUVUlfTU9CSUxFX0NBTEVOREFSX1BST1ZJREVSUyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MuX2lvc10nOiAnaXNJT1MnLFxuICAgICAgICAnW2NsYXNzLl9pbml0aWFsaXplZF0nOiAnaW5pdGlhbGl6ZWQnLFxuICAgICAgICAnKG1vdXNlZG93bi5wcmV2ZW50KSc6ICcwJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNb2JpbGVDYWxlbmRhciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3llYXJzU2Nyb2xsUmVmJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IHllYXJzU2Nyb2xsUmVmPzogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gICAgQFZpZXdDaGlsZCgnbW9udGhzU2Nyb2xsUmVmJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vbnRoc1Njcm9sbFJlZj86IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICAgICAgVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBUdWlEYXlbXSB8IG51bGxcbiAgICA+KG51bGwpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2RheSA9IFR1aURheS5jdXJyZW50TG9jYWwoKTtcbiAgICBwcml2YXRlIGFjdGl2ZVllYXIgPSAwO1xuICAgIHByaXZhdGUgYWN0aXZlTW9udGggPSAwO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzcGVlZCA9IGluamVjdChUVUlfQU5JTUFUSU9OU19TUEVFRCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0lPUyA9IGluamVjdChUVUlfSVNfSU9TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNFMkUgPSBpbmplY3QoVFVJX0lTX0UyRSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KFRVSV9DT01NT05fSUNPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjbG9zZVdvcmQkID0gaW5qZWN0KFRVSV9DTE9TRV9XT1JEKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FuY2VsV29yZCQgPSBpbmplY3QoVFVJX0NBTkNFTF9XT1JEKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9uZVdvcmQkID0gaW5qZWN0KFRVSV9ET05FX1dPUkQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB1bm9yZGVyZWRXZWVrRGF5cyQgPSBpbmplY3QoVFVJX1NIT1JUX1dFRUtfREFZUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNob29zZURheU9yUmFuZ2VUZXh0cyQgPSBpbmplY3QoVFVJX0NIT09TRV9EQVlfT1JfUkFOR0VfVEVYVFMsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgeWVhcnMgPSBBcnJheS5mcm9tKHtsZW5ndGg6IFJBTkdFfSwgKF8sIGkpID0+IGkgKyBTVEFSVElOR19ZRUFSKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9udGhzID0gQXJyYXkuZnJvbShcbiAgICAgICAge2xlbmd0aDogUkFOR0UgKiAxMn0sXG4gICAgICAgIChfLCBpKSA9PlxuICAgICAgICAgICAgbmV3IFR1aU1vbnRoKFxuICAgICAgICAgICAgICAgIE1hdGguZmxvb3IoaSAvIE1PTlRIU19JTl9ZRUFSKSArIFNUQVJUSU5HX1lFQVIsXG4gICAgICAgICAgICAgICAgaSAlIE1PTlRIU19JTl9ZRUFSLFxuICAgICAgICAgICAgKSxcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIHN0YXRpYyBESSBvcHRpb25zIGluc3RlYWRcbiAgICAgKiBgYGBcbiAgICAgKiB0dWlDYWxlbmRhclNoZWV0T3B0aW9uc1Byb3ZpZGVyKHtyYW5nZU1vZGU6IGJvb2xlYW59KVxuICAgICAqIGBgYFxuICAgICAqIFRPRE8odjUpOiBkZWxldGUgaXRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaW5nbGUgPSAhaW5qZWN0KFRVSV9DQUxFTkRBUl9TSEVFVF9PUFRJT05TKS5yYW5nZU1vZGU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtdWx0aSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWluID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1heCA9IFRVSV9MQVNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBUVUlfRkFMU0VfSEFORExFUjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlybSA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgICAgIFR1aURheSB8IFR1aURheVJhbmdlIHwgcmVhZG9ubHkgVHVpRGF5W11cbiAgICA+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSB0aGlzLnZhbHVlJC5waXBlKFxuICAgICAgICBza2lwKDEpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYT8udG9TdHJpbmcoKSA9PT0gYj8udG9TdHJpbmcoKSksXG4gICAgICAgIG1hcCgoeCkgPT4gKCF0aGlzLnNpbmdsZSAmJiB4IGluc3RhbmNlb2YgVHVpRGF5ID8gbmV3IFR1aURheVJhbmdlKHgsIHgpIDogeCkpLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgaW5qZWN0KFRVSV9WQUxVRV9TVFJFQU0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVZZWFyID0gdGhpcy5pbml0aWFsWWVhcjtcbiAgICAgICAgdGhpcy5hY3RpdmVNb250aCA9IHRoaXMuaW5pdGlhbE1vbnRoO1xuXG4gICAgICAgIC8vIFZpcnR1YWwgc2Nyb2xsIGhhcyBub3QgeWV0IHJlbmRlcmVkIGl0ZW1zIGV2ZW4gaW4gbmdBZnRlclZpZXdJbml0XG4gICAgICAgIHRoaXMud2FpdFNjcm9sbGVkQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFllYXIoeWVhcjogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVllYXIgPT09IHllYXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlTW9udGggKz0gdGhpcy5nZXRNb250aE9mZnNldCh5ZWFyKTtcbiAgICAgICAgdGhpcy5hY3RpdmVZZWFyID0geWVhcjtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0FjdGl2ZVllYXIoJ3Ntb290aCcpO1xuXG4gICAgICAgIHRpbWVyKDAsIHR1aVpvbmVmcmVlU2NoZWR1bGVyKHRoaXMubmdab25lKSlcbiAgICAgICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKHRoaXMubmdab25lKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2Nyb2xsVG9BY3RpdmVNb250aCgpKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHByb3RlY3RlZCBzZXQgdmFsdWUodmFsdWU6IFR1aURheSB8IFR1aURheVJhbmdlIHwgcmVhZG9ubHkgVHVpRGF5W10gfCBudWxsKSB7XG4gICAgICAgIHRoaXMudmFsdWUkLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgdmFsdWUoKTogVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBUdWlEYXlbXSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSQudmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCB5ZWFyV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAvIFlFQVJTX0lOX1JPVztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNvbmZpcm0oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpcm0uZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkRheUNsaWNrKGRheTogVHVpRGF5KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNpbmdsZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRheTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzTXVsdGlWYWx1ZSh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHR1aVRvZ2dsZURheSh0aGlzLnZhbHVlLCBkYXkpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBUdWlEYXlSYW5nZS5zb3J0KHRoaXMudmFsdWUsIGRheSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF5O1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFN0YXRlKGluZGV4OiBudW1iZXIpOiAnYWN0aXZlJyB8ICdhZGphY2VudCcgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuaXNZZWFyQWN0aXZlKGluZGV4KSkge1xuICAgICAgICAgICAgcmV0dXJuICdhY3RpdmUnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNZZWFyQWN0aXZlKGluZGV4IC0gMSkgfHwgdGhpcy5pc1llYXJBY3RpdmUoaW5kZXggKyAxKSkge1xuICAgICAgICAgICAgcmV0dXJuICdhZGphY2VudCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Nb250aENoYW5nZShtb250aDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIC8vIFNraXBwaW5nIGluaXRpYWwgY2FsbGJhY2sgd2hlcmUgaW5kZXggPT09IDBcbiAgICAgICAgaWYgKCFtb250aCB8fCB0aGlzLmFjdGl2ZU1vbnRoID09PSBtb250aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVNb250aCA9IG1vbnRoO1xuXG4gICAgICAgIGNvbnN0IGFjdGl2ZVllYXIgPSB0aGlzLm1vbnRoVG9ZZWFyKG1vbnRoKTtcblxuICAgICAgICBpZiAoYWN0aXZlWWVhciA9PT0gdGhpcy5hY3RpdmVZZWFyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZVllYXIgPSBhY3RpdmVZZWFyO1xuICAgICAgICB0aGlzLnNjcm9sbFRvQWN0aXZlWWVhcigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkaXNhYmxlZEl0ZW1IYW5kbGVyTWFwcGVyOiBUdWlNYXBwZXI8XG4gICAgICAgIFtUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+LCBUdWlEYXksIFR1aURheV0sXG4gICAgICAgIFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT5cbiAgICA+ID0gKGRpc2FibGVkSXRlbUhhbmRsZXIsIG1pbiwgbWF4KSA9PiAoaXRlbSkgPT5cbiAgICAgICAgaXRlbS5kYXlCZWZvcmUobWluKSB8fFxuICAgICAgICAobWF4ICE9PSBudWxsICYmIGl0ZW0uZGF5QWZ0ZXIobWF4KSkgfHxcbiAgICAgICAgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKTtcblxuICAgIHByaXZhdGUgZ2V0IGluaXRpYWxZZWFyKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9kYXkueWVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS55ZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU/LlswXT8ueWVhciA/PyB0aGlzLnRvZGF5LnllYXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS50by55ZWFyO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGluaXRpYWxNb250aCgpOiBudW1iZXIge1xuICAgICAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRvZGF5Lm1vbnRoICsgKHRoaXMudG9kYXkueWVhciAtIFNUQVJUSU5HX1lFQVIpICogTU9OVEhTX0lOX1lFQVI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUubW9udGggKyAodGhpcy52YWx1ZS55ZWFyIC0gU1RBUlRJTkdfWUVBUikgKiBNT05USFNfSU5fWUVBUjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBUdWlEYXlSYW5nZSkpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgKHRoaXMudmFsdWU/LlswXT8ubW9udGggPz8gdGhpcy50b2RheS5tb250aCkgK1xuICAgICAgICAgICAgICAgICgodGhpcy52YWx1ZT8uWzBdPy55ZWFyID8/IHRoaXMudG9kYXkueWVhcikgLSBTVEFSVElOR19ZRUFSKSAqXG4gICAgICAgICAgICAgICAgICAgIE1PTlRIU19JTl9ZRUFSXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudmFsdWUudG8ubW9udGggKyAodGhpcy52YWx1ZS50by55ZWFyIC0gU1RBUlRJTkdfWUVBUikgKiBNT05USFNfSU5fWUVBUlxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNNdWx0aVZhbHVlKGRheTogdW5rbm93bik6IGRheSBpcyByZWFkb25seSBUdWlEYXlbXSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiAhKGRheSBpbnN0YW5jZW9mIFR1aURheSkgJiYgIShkYXkgaW5zdGFuY2VvZiBUdWlEYXlSYW5nZSkgJiYgdGhpcy5tdWx0aTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFllYXJzVmlld3BvcnRTaXplKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXJzU2Nyb2xsUmVmPy5nZXRWaWV3cG9ydFNpemUoKSB8fCAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVmlld3BvcnREaW1lbnNpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMueWVhcnNTY3JvbGxSZWY/LmNoZWNrVmlld3BvcnRTaXplKCk7XG4gICAgICAgIHRoaXMubW9udGhzU2Nyb2xsUmVmPy5jaGVja1ZpZXdwb3J0U2l6ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbGF0ZUluaXQoKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRZZWFyc1ZpZXdwb3J0U2l6ZSgpID4gMCA/IGlkZW50aXR5IDogZGVsYXkoMjAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdhaXRTY3JvbGxlZENoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWaWV3cG9ydERpbWVuc2lvbigpO1xuXG4gICAgICAgIHRoaXMubW9udGhzU2Nyb2xsUmVmPy5zY3JvbGxlZEluZGV4Q2hhbmdlXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkZWxheSh0dWlHZXREdXJhdGlvbih0aGlzLnNwZWVkKSksXG4gICAgICAgICAgICAgICAgdGhpcy5sYXRlSW5pdCgpLFxuICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZpZXdwb3J0RGltZW5zaW9uKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0WWVhclNjcm9sbCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdE1vbnRoU2Nyb2xsKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0FjdGl2ZVllYXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFRvQWN0aXZlTW9udGgoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFllYXJTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHt5ZWFyc1Njcm9sbFJlZn0gPSB0aGlzO1xuXG4gICAgICAgIGlmICgheWVhcnNTY3JvbGxSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRvdWNoc3RhcnQkID0gdHVpVHlwZWRGcm9tRXZlbnQoXG4gICAgICAgICAgICB5ZWFyc1Njcm9sbFJlZi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAndG91Y2hzdGFydCcsXG4gICAgICAgICAgICB7cGFzc2l2ZTogdHJ1ZX0sXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHRvdWNoZW5kJCA9IHR1aVR5cGVkRnJvbUV2ZW50KFxuICAgICAgICAgICAgeWVhcnNTY3JvbGxSZWYuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ3RvdWNoZW5kJyxcbiAgICAgICAgICAgIHtwYXNzaXZlOiB0cnVlfSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgY2xpY2skID0gdHVpVHlwZWRGcm9tRXZlbnQoXG4gICAgICAgICAgICB5ZWFyc1Njcm9sbFJlZi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAnY2xpY2snLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFJlZnJlc2ggYWN0aXZlWWVhclxuICAgICAgICB5ZWFyc1Njcm9sbFJlZlxuICAgICAgICAgICAgLmVsZW1lbnRTY3JvbGxlZCgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAvLyBJZ25vcmUgc21vb3RoIHNjcm9sbCByZXN1bHRpbmcgZnJvbSBjbGljayBvbiB0aGUgZXhhY3QgeWVhclxuICAgICAgICAgICAgICAgIHdpbmRvd1RvZ2dsZSh0b3VjaHN0YXJ0JCwgKCkgPT4gY2xpY2skKSxcbiAgICAgICAgICAgICAgICBtZXJnZU1hcCgoeCkgPT4geCksXG4gICAgICAgICAgICAgICAgLy8gRGVsYXkgaXMgcmVxdWlyZWQgdG8gcnVuIG1vbnRocyBzY3JvbGwgaW4gdGhlIG5leHQgZnJhbWUgdG8gcHJldmVudCBmbGlja2VyXG4gICAgICAgICAgICAgICAgZGVsYXkoMCksXG4gICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5yb3VuZChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWFyc1Njcm9sbFJlZi5tZWFzdXJlU2Nyb2xsT2Zmc2V0KCkgLyB0aGlzLnllYXJXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5mbG9vcihZRUFSU19JTl9ST1cgLyAyKSArXG4gICAgICAgICAgICAgICAgICAgICAgICBTVEFSVElOR19ZRUFSLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChhY3RpdmVZZWFyKSA9PiBhY3RpdmVZZWFyICE9PSB0aGlzLmFjdGl2ZVllYXIpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoYWN0aXZlWWVhcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlTW9udGggKz0gdGhpcy5nZXRNb250aE9mZnNldChhY3RpdmVZZWFyKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVllYXIgPSBhY3RpdmVZZWFyO1xuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9BY3RpdmVNb250aCgpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU21vb3RoIHNjcm9sbCB0byBhY3RpdmVZZWFyIGFmdGVyIHNjcm9sbGluZyBpcyBkb25lXG4gICAgICAgIHRvdWNoc3RhcnQkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdG91Y2hlbmQkKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgcmFjZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHllYXJzU2Nyb2xsUmVmLmVsZW1lbnRTY3JvbGxlZCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZXIoU0NST0xMX0RFQk9VTkNFX1RJTUUsIHR1aVpvbmVmcmVlU2NoZWR1bGVyKHRoaXMubmdab25lKSksXG4gICAgICAgICAgICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQ1JPTExfREVCT1VOQ0VfVElNRSAqIDIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpWm9uZWZyZWVTY2hlZHVsZXIodGhpcy5uZ1pvbmUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodG91Y2hzdGFydCQpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2Nyb2xsVG9BY3RpdmVZZWFyKCdzbW9vdGgnKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0TW9udGhTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHttb250aHNTY3JvbGxSZWZ9ID0gdGhpcztcblxuICAgICAgICBpZiAoIW1vbnRoc1Njcm9sbFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG91Y2hzdGFydCQgPSB0dWlUeXBlZEZyb21FdmVudChcbiAgICAgICAgICAgIG1vbnRoc1Njcm9sbFJlZi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAndG91Y2hzdGFydCcsXG4gICAgICAgICAgICB7cGFzc2l2ZTogdHJ1ZX0sXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHRvdWNoZW5kJCA9IHR1aVR5cGVkRnJvbUV2ZW50KFxuICAgICAgICAgICAgbW9udGhzU2Nyb2xsUmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0b3VjaGVuZCcsXG4gICAgICAgICAgICB7cGFzc2l2ZTogdHJ1ZX0sXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gU21vb3RoIHNjcm9sbCB0byB0aGUgY2xvc2VzdCBtb250aCBhZnRlciBzY3JvbGxpbmcgaXMgZG9uZVxuICAgICAgICB0b3VjaHN0YXJ0JFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRvdWNoZW5kJCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgICAgICAgICAgIHJhY2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBtb250aHNTY3JvbGxSZWYuZWxlbWVudFNjcm9sbGVkKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lcihTQ1JPTExfREVCT1VOQ0VfVElNRSwgdHVpWm9uZWZyZWVTY2hlZHVsZXIodGhpcy5uZ1pvbmUpKSxcbiAgICAgICAgICAgICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNDUk9MTF9ERUJPVU5DRV9USU1FICogMixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlab25lZnJlZVNjaGVkdWxlcih0aGlzLm5nWm9uZSksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0b3VjaHN0YXJ0JCksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zY3JvbGxUb0FjdGl2ZU1vbnRoKCdzbW9vdGgnKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY3JvbGxUb0FjdGl2ZVllYXIoYmVoYXZpb3I6IFNjcm9sbEJlaGF2aW9yID0gJ2F1dG8nKTogdm9pZCB7XG4gICAgICAgIHRoaXMueWVhcnNTY3JvbGxSZWY/LnNjcm9sbFRvSW5kZXgoXG4gICAgICAgICAgICBNYXRoLm1heCh0aGlzLmFjdGl2ZVllYXIgLSBTVEFSVElOR19ZRUFSIC0gMiwgMCksXG4gICAgICAgICAgICB0aGlzLmlzRTJFID8gJ2F1dG8nIDogYmVoYXZpb3IsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY3JvbGxUb0FjdGl2ZU1vbnRoKGJlaGF2aW9yOiBTY3JvbGxCZWhhdmlvciA9ICdhdXRvJyk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vbnRoc1Njcm9sbFJlZj8uc2Nyb2xsVG9JbmRleChcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTW9udGgsXG4gICAgICAgICAgICB0aGlzLmlzRTJFID8gJ2F1dG8nIDogYmVoYXZpb3IsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1llYXJBY3RpdmUoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuYWN0aXZlWWVhcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1vbnRoVG9ZZWFyKG1vbnRoOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKChtb250aCArIDEpIC8gTU9OVEhTX0lOX1lFQVIpICsgU1RBUlRJTkdfWUVBUiAtIDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNb250aE9mZnNldCh5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKHllYXIgLSB0aGlzLmFjdGl2ZVllYXIpICogTU9OVEhTX0lOX1lFQVI7XG4gICAgfVxufVxuIiwiPGhlYWRlclxuICAgICpuZ0lmPVwiY2hvb3NlRGF5T3JSYW5nZVRleHRzJCB8IGFzeW5jIGFzIHRleHRzXCJcbiAgICBjbGFzcz1cInQtaGVhZGVyXCJcbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGFwcGVhcmFuY2U9XCJcIlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLW1vYmlsZS1jYWxlbmRhcl9fY2FuY2VsXCJcbiAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICB0dWlSaXBwbGVcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidC1jbG9zZVwiXG4gICAgICAgIFtpY29uU3RhcnRdPVwiaWNvbnMuY2xvc2VcIlxuICAgICAgICBbc3R5bGUuYm9yZGVyLXJhZGl1cy4lXT1cIjEwMFwiXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKClcIlxuICAgID5cbiAgICAgICAge3sgY2xvc2VXb3JkJCB8IGFzeW5jIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgICB0dWlMaW5rXG4gICAgICAgIHR1aVRvdWNoYWJsZT1cIm9wYWNpdHlcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJ0LWxpbmsgdC1saW5rX2Nsb3NlXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiXG4gICAgPlxuICAgICAgICB7eyBjYW5jZWxXb3JkJCB8IGFzeW5jIH19XG4gICAgPC9idXR0b24+XG4gICAgPGgyXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktbW9iaWxlLWNhbGVuZGFyX19sYWJlbFwiXG4gICAgICAgIGNsYXNzPVwidC1sYWJlbFwiXG4gICAgPlxuICAgICAgICB7eyBzaW5nbGUgPyB0ZXh0c1swXSA6IG11bHRpID8gdGV4dHNbMl0gOiB0ZXh0c1sxXSB9fVxuICAgIDwvaDI+XG4gICAgPGJ1dHRvblxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLW1vYmlsZS1jYWxlbmRhcl9fY29uZmlybVwiXG4gICAgICAgIHR1aUxpbmtcbiAgICAgICAgdHVpVG91Y2hhYmxlPVwib3BhY2l0eVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtbGlua1wiXG4gICAgICAgIChjbGljayk9XCJvbkNvbmZpcm0oKVwiXG4gICAgPlxuICAgICAgICB7eyBkb25lV29yZCQgfCBhc3luYyB9fVxuICAgIDwvYnV0dG9uPlxuPC9oZWFkZXI+XG48Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0XG4gICAgI3llYXJzU2Nyb2xsUmVmXG4gICAgb3JpZW50YXRpb249XCJob3Jpem9udGFsXCJcbiAgICBjbGFzcz1cInQteWVhcnNcIlxuICAgIFtpdGVtU2l6ZV09XCJ5ZWFyV2lkdGhcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJ0LXllYXJzLXdyYXBwZXJcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKmNka1ZpcnR1YWxGb3I9XCJsZXQgaW5kZXggb2YgeWVhcnNcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInQteWVhclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXN0YXRlXT1cImdldFN0YXRlKGluZGV4KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2V0WWVhcihpbmRleClcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBpbmRleCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuPGRpdiBjbGFzcz1cInQtd2Vla1wiPlxuICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiB1bm9yZGVyZWRXZWVrRGF5cyQgfCB0dWlPcmRlcldlZWtEYXlzIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cInQtZGF5XCJcbiAgICA+XG4gICAgICAgIHt7IGRheSB9fVxuICAgIDwvZGl2PlxuPC9kaXY+XG48Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0XG4gICAgI21vbnRoc1Njcm9sbFJlZlxuICAgIGl0ZW1TaXplPVwiMzU0XCJcbiAgICBtYXhCdWZmZXJQeD1cIjUwMDBcIlxuICAgIG1pbkJ1ZmZlclB4PVwiMFwiXG4gICAgY2xhc3M9XCJ0LW1vbnRoc1wiXG4gICAgKHNjcm9sbGVkSW5kZXhDaGFuZ2UpPVwib25Nb250aENoYW5nZSgkZXZlbnQpXCJcbj5cbiAgICA8c2VjdGlvblxuICAgICAgICAqY2RrVmlydHVhbEZvcj1cImxldCBtb250aCBvZiBtb250aHM7IHRlbXBsYXRlQ2FjaGVTaXplOiAxMFwiXG4gICAgICAgIGNsYXNzPVwidC1tb250aC13cmFwcGVyXCJcbiAgICA+XG4gICAgICAgIDxoMiBjbGFzcz1cInQtbW9udGhcIj57eyBtb250aCB8IHR1aU1vbnRoIHwgYXN5bmMgfX08L2gyPlxuICAgICAgICA8dHVpLW1vYmlsZS1jYWxlbmRhci1zaGVldFxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNhbGVuZGFyXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZEl0ZW1IYW5kbGVyXT1cImRpc2FibGVkSXRlbUhhbmRsZXIgfCB0dWlNYXBwZXI6IGRpc2FibGVkSXRlbUhhbmRsZXJNYXBwZXIgOiBtaW4gOiBtYXhcIlxuICAgICAgICAgICAgW21vbnRoXT1cIm1vbnRoXCJcbiAgICAgICAgICAgIFtzaW5nbGVdPVwic2luZ2xlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAoZGF5Q2xpY2spPVwib25EYXlDbGljaygkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICA8L3NlY3Rpb24+XG48L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbiJdfQ==
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci9tb2JpbGUtY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyL21vYmlsZS1jYWxlbmRhci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsZUFBZSxFQUNmLHdCQUF3QixHQUMzQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDL0YsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsY0FBYyxFQUNkLGFBQWEsRUFDYixZQUFZLEVBQ1osTUFBTSxFQUNOLFdBQVcsRUFDWCxRQUFRLEdBQ1gsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxvQkFBb0IsR0FDdkIsTUFBTSwyQkFB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QixTQUFTO3VCQUFDLGdCQUFnQjtnQkFJVixlQUFlO3NCQUQvQixTQUFTO3VCQUFDLGlCQUFpQjtnQkE2Q3JCLE1BQU07c0JBRFosS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsR0FBRztzQkFEVCxLQUFLO2dCQUlDLEdBQUc7c0JBRFQsS0FBSztnQkFJQyxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBSVUsTUFBTTtzQkFEckIsTUFBTTtnQkFJUyxPQUFPO3NCQUR0QixNQUFNO2dCQU1TLFdBQVc7c0JBRDFCLE1BQU07Z0JBZ0JJLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2RrRml4ZWRTaXplVmlydHVhbFNjcm9sbCxcbiAgICBDZGtWaXJ0dWFsRm9yT2YsXG4gICAgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LFxufSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7QXN5bmNQaXBlLCBET0NVTUVOVCwgTmdGb3JPZiwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHtBZnRlclZpZXdJbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtUdWlNb2JpbGVDYWxlbmRhclNoZWV0fSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyLXNoZWV0JztcbmltcG9ydCB7VHVpUmlwcGxlLCBUdWlUb3VjaGFibGV9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUvZGlyZWN0aXZlcyc7XG5pbXBvcnQge1RVSV9GQUxTRV9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICAgIE1PTlRIU19JTl9ZRUFSLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0xBU1RfREFZLFxuICAgIFR1aURheSxcbiAgICBUdWlEYXlSYW5nZSxcbiAgICBUdWlNb250aCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtcbiAgICB0dWlUeXBlZEZyb21FdmVudCxcbiAgICB0dWlab25lZnJlZSxcbiAgICB0dWlab25lZnJlZVNjaGVkdWxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1R1aU1hcHBlclBpcGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvcGlwZXMvbWFwcGVyJztcbmltcG9ydCB7VFVJX0lTX0UyRSwgVFVJX0lTX0lPU30gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aUJvb2xlYW5IYW5kbGVyLCBUdWlNYXBwZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VFVJX0NBTEVOREFSX1NIRUVUX09QVElPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvY2FsZW5kYXInO1xuaW1wb3J0IHtUdWlMaW5rfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2xpbmsnO1xuaW1wb3J0IHtUdWlNb250aFBpcGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3BpcGVzL21vbnRoJztcbmltcG9ydCB7VHVpT3JkZXJXZWVrRGF5c1BpcGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3BpcGVzL29yZGVyLXdlZWstZGF5cyc7XG5pbXBvcnQge1xuICAgIFRVSV9BTklNQVRJT05TX1NQRUVELFxuICAgIFRVSV9DTE9TRV9XT1JELFxuICAgIFRVSV9DT01NT05fSUNPTlMsXG4gICAgVFVJX1NIT1JUX1dFRUtfREFZUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0RHVyYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfQ0FOQ0VMX1dPUkQsXG4gICAgVFVJX0NIT09TRV9EQVlfT1JfUkFOR0VfVEVYVFMsXG4gICAgVFVJX0RPTkVfV09SRCxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHt0dWlUb2dnbGVEYXl9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuaW1wb3J0IHR5cGUge01vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIEJlaGF2aW9yU3ViamVjdCxcbiAgICBkZWJvdW5jZVRpbWUsXG4gICAgZGVsYXksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZmlsdGVyLFxuICAgIGlkZW50aXR5LFxuICAgIG1hcCxcbiAgICBtZXJnZU1hcCxcbiAgICByYWNlLFxuICAgIHNraXAsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2UsXG4gICAgdGFrZVVudGlsLFxuICAgIHRpbWVyLFxuICAgIHdpbmRvd1RvZ2dsZSxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgUkFOR0UsXG4gICAgU0NST0xMX0RFQk9VTkNFX1RJTUUsXG4gICAgU1RBUlRJTkdfWUVBUixcbiAgICBZRUFSU19JTl9ST1csXG59IGZyb20gJy4vbW9iaWxlLWNhbGVuZGFyLmNvbnN0JztcbmltcG9ydCB7XG4gICAgVFVJX01PQklMRV9DQUxFTkRBUl9QUk9WSURFUlMsXG4gICAgVFVJX1ZBTFVFX1NUUkVBTSxcbn0gZnJvbSAnLi9tb2JpbGUtY2FsZW5kYXIucHJvdmlkZXJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1tb2JpbGUtY2FsZW5kYXInLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgICAgICBDZGtGaXhlZFNpemVWaXJ0dWFsU2Nyb2xsLFxuICAgICAgICBDZGtWaXJ0dWFsRm9yT2YsXG4gICAgICAgIENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCxcbiAgICAgICAgTmdGb3JPZixcbiAgICAgICAgTmdJZixcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlMaW5rLFxuICAgICAgICBUdWlNYXBwZXJQaXBlLFxuICAgICAgICBUdWlNb2JpbGVDYWxlbmRhclNoZWV0LFxuICAgICAgICBUdWlNb250aFBpcGUsXG4gICAgICAgIFR1aU9yZGVyV2Vla0RheXNQaXBlLFxuICAgICAgICBUdWlSaXBwbGUsXG4gICAgICAgIFR1aVRvdWNoYWJsZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2JpbGUtY2FsZW5kYXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9iaWxlLWNhbGVuZGFyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFRVSV9NT0JJTEVfQ0FMRU5EQVJfUFJPVklERVJTLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5faW9zXSc6ICdpc0lPUycsXG4gICAgICAgICdbY2xhc3MuX2luaXRpYWxpemVkXSc6ICdpbml0aWFsaXplZCcsXG4gICAgICAgICcobW91c2Vkb3duLnByZXZlbnQpJzogJzAnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU1vYmlsZUNhbGVuZGFyIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZCgneWVhcnNTY3JvbGxSZWYnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgeWVhcnNTY3JvbGxSZWY/OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG5cbiAgICBAVmlld0NoaWxkKCdtb250aHNTY3JvbGxSZWYnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9udGhzU2Nyb2xsUmVmPzogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgICAgICBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IHJlYWRvbmx5IFR1aURheVtdIHwgbnVsbFxuICAgID4obnVsbCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvZGF5ID0gVHVpRGF5LmN1cnJlbnRMb2NhbCgpO1xuICAgIHByaXZhdGUgYWN0aXZlWWVhciA9IDA7XG4gICAgcHJpdmF0ZSBhY3RpdmVNb250aCA9IDA7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNwZWVkID0gaW5qZWN0KFRVSV9BTklNQVRJT05TX1NQRUVEKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgcHJvdGVjdGVkIGluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzSU9TID0gaW5qZWN0KFRVSV9JU19JT1MpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0UyRSA9IGluamVjdChUVUlfSVNfRTJFKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoVFVJX0NPTU1PTl9JQ09OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNsb3NlV29yZCQgPSBpbmplY3QoVFVJX0NMT1NFX1dPUkQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjYW5jZWxXb3JkJCA9IGluamVjdChUVUlfQ0FOQ0VMX1dPUkQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkb25lV29yZCQgPSBpbmplY3QoVFVJX0RPTkVfV09SRCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHVub3JkZXJlZFdlZWtEYXlzJCA9IGluamVjdChUVUlfU0hPUlRfV0VFS19EQVlTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hvb3NlRGF5T3JSYW5nZVRleHRzJCA9IGluamVjdChUVUlfQ0hPT1NFX0RBWV9PUl9SQU5HRV9URVhUUywge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB5ZWFycyA9IEFycmF5LmZyb20oe2xlbmd0aDogUkFOR0V9LCAoXywgaSkgPT4gaSArIFNUQVJUSU5HX1lFQVIpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBtb250aHMgPSBBcnJheS5mcm9tKFxuICAgICAgICB7bGVuZ3RoOiBSQU5HRSAqIDEyfSxcbiAgICAgICAgKF8sIGkpID0+XG4gICAgICAgICAgICBuZXcgVHVpTW9udGgoXG4gICAgICAgICAgICAgICAgTWF0aC5mbG9vcihpIC8gTU9OVEhTX0lOX1lFQVIpICsgU1RBUlRJTkdfWUVBUixcbiAgICAgICAgICAgICAgICBpICUgTU9OVEhTX0lOX1lFQVIsXG4gICAgICAgICAgICApLFxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2Ugc3RhdGljIERJIG9wdGlvbnMgaW5zdGVhZFxuICAgICAqIGBgYFxuICAgICAqIHR1aUNhbGVuZGFyU2hlZXRPcHRpb25zUHJvdmlkZXIoe3JhbmdlTW9kZTogYm9vbGVhbn0pXG4gICAgICogYGBgXG4gICAgICogVE9ETyh2NSk6IGRlbGV0ZSBpdFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNpbmdsZSA9ICFpbmplY3QoVFVJX0NBTEVOREFSX1NIRUVUX09QVElPTlMpLnJhbmdlTW9kZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG11bHRpID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtaW4gPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWF4ID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiA9IFRVSV9GQUxTRV9IQU5ETEVSO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBjb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICAgICAgVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBUdWlEYXlbXVxuICAgID4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZUNoYW5nZSA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgICAgIHNraXAoMSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy50b1N0cmluZygpID09PSBiPy50b1N0cmluZygpKSxcbiAgICAgICAgbWFwKCh4KSA9PiAoIXRoaXMuc2luZ2xlICYmIHggaW5zdGFuY2VvZiBUdWlEYXkgPyBuZXcgVHVpRGF5UmFuZ2UoeCwgeCkgOiB4KSksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBpbmplY3QoVFVJX1ZBTFVFX1NUUkVBTSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IFR1aURheSB8IFR1aURheVJhbmdlIHwgcmVhZG9ubHkgVHVpRGF5W10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlJC5uZXh0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBUdWlEYXlbXSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSQudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVZZWFyID0gdGhpcy5pbml0aWFsWWVhcjtcbiAgICAgICAgdGhpcy5hY3RpdmVNb250aCA9IHRoaXMuaW5pdGlhbE1vbnRoO1xuXG4gICAgICAgIC8vIFZpcnR1YWwgc2Nyb2xsIGhhcyBub3QgeWV0IHJlbmRlcmVkIGl0ZW1zIGV2ZW4gaW4gbmdBZnRlclZpZXdJbml0XG4gICAgICAgIHRoaXMud2FpdFNjcm9sbGVkQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFllYXIoeWVhcjogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVllYXIgPT09IHllYXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlTW9udGggKz0gdGhpcy5nZXRNb250aE9mZnNldCh5ZWFyKTtcbiAgICAgICAgdGhpcy5hY3RpdmVZZWFyID0geWVhcjtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0FjdGl2ZVllYXIoJ3Ntb290aCcpO1xuXG4gICAgICAgIHRpbWVyKDAsIHR1aVpvbmVmcmVlU2NoZWR1bGVyKHRoaXMubmdab25lKSlcbiAgICAgICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKHRoaXMubmdab25lKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2Nyb2xsVG9BY3RpdmVNb250aCgpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHllYXJXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC8gWUVBUlNfSU5fUk9XO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ29uZmlybSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlybS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRGF5Q2xpY2soZGF5OiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2luZ2xlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF5O1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNNdWx0aVZhbHVlKHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdHVpVG9nZ2xlRGF5KHRoaXMudmFsdWUsIGRheSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFR1aURheVJhbmdlLnNvcnQodGhpcy52YWx1ZSwgZGF5KTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0U3RhdGUoaW5kZXg6IG51bWJlcik6ICdhY3RpdmUnIHwgJ2FkamFjZW50JyB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5pc1llYXJBY3RpdmUoaW5kZXgpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2FjdGl2ZSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc1llYXJBY3RpdmUoaW5kZXggLSAxKSB8fCB0aGlzLmlzWWVhckFjdGl2ZShpbmRleCArIDEpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2FkamFjZW50JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk1vbnRoQ2hhbmdlKG1vbnRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgLy8gU2tpcHBpbmcgaW5pdGlhbCBjYWxsYmFjayB3aGVyZSBpbmRleCA9PT0gMFxuICAgICAgICBpZiAoIW1vbnRoIHx8IHRoaXMuYWN0aXZlTW9udGggPT09IG1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZU1vbnRoID0gbW9udGg7XG5cbiAgICAgICAgY29uc3QgYWN0aXZlWWVhciA9IHRoaXMubW9udGhUb1llYXIobW9udGgpO1xuXG4gICAgICAgIGlmIChhY3RpdmVZZWFyID09PSB0aGlzLmFjdGl2ZVllYXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlWWVhciA9IGFjdGl2ZVllYXI7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9BY3RpdmVZZWFyKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkSXRlbUhhbmRsZXJNYXBwZXI6IFR1aU1hcHBlcjxcbiAgICAgICAgW1R1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4sIFR1aURheSwgVHVpRGF5XSxcbiAgICAgICAgVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PlxuICAgID4gPSAoZGlzYWJsZWRJdGVtSGFuZGxlciwgbWluLCBtYXgpID0+IChpdGVtKSA9PlxuICAgICAgICBpdGVtLmRheUJlZm9yZShtaW4pIHx8XG4gICAgICAgIChtYXggIT09IG51bGwgJiYgaXRlbS5kYXlBZnRlcihtYXgpKSB8fFxuICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pO1xuXG4gICAgcHJpdmF0ZSBnZXQgaW5pdGlhbFllYXIoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b2RheS55ZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnllYXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uWzBdPy55ZWFyID8/IHRoaXMudG9kYXkueWVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnRvLnllYXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaW5pdGlhbE1vbnRoKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9kYXkubW9udGggKyAodGhpcy50b2RheS55ZWFyIC0gU1RBUlRJTkdfWUVBUikgKiBNT05USFNfSU5fWUVBUjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgVHVpRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5tb250aCArICh0aGlzLnZhbHVlLnllYXIgLSBTVEFSVElOR19ZRUFSKSAqIE1PTlRIU19JTl9ZRUFSO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAodGhpcy52YWx1ZT8uWzBdPy5tb250aCA/PyB0aGlzLnRvZGF5Lm1vbnRoKSArXG4gICAgICAgICAgICAgICAgKCh0aGlzLnZhbHVlPy5bMF0/LnllYXIgPz8gdGhpcy50b2RheS55ZWFyKSAtIFNUQVJUSU5HX1lFQVIpICpcbiAgICAgICAgICAgICAgICAgICAgTU9OVEhTX0lOX1lFQVJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy52YWx1ZS50by5tb250aCArICh0aGlzLnZhbHVlLnRvLnllYXIgLSBTVEFSVElOR19ZRUFSKSAqIE1PTlRIU19JTl9ZRUFSXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc011bHRpVmFsdWUoZGF5OiB1bmtub3duKTogZGF5IGlzIHJlYWRvbmx5IFR1aURheVtdIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuICEoZGF5IGluc3RhbmNlb2YgVHVpRGF5KSAmJiAhKGRheSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSAmJiB0aGlzLm11bHRpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0WWVhcnNWaWV3cG9ydFNpemUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhcnNTY3JvbGxSZWY/LmdldFZpZXdwb3J0U2l6ZSgpIHx8IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVWaWV3cG9ydERpbWVuc2lvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy55ZWFyc1Njcm9sbFJlZj8uY2hlY2tWaWV3cG9ydFNpemUoKTtcbiAgICAgICAgdGhpcy5tb250aHNTY3JvbGxSZWY/LmNoZWNrVmlld3BvcnRTaXplKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsYXRlSW5pdCgpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFllYXJzVmlld3BvcnRTaXplKCkgPiAwID8gaWRlbnRpdHkgOiBkZWxheSgyMDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgd2FpdFNjcm9sbGVkQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZpZXdwb3J0RGltZW5zaW9uKCk7XG5cbiAgICAgICAgdGhpcy5tb250aHNTY3JvbGxSZWY/LnNjcm9sbGVkSW5kZXhDaGFuZ2VcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRlbGF5KHR1aUdldER1cmF0aW9uKHRoaXMuc3BlZWQpKSxcbiAgICAgICAgICAgICAgICB0aGlzLmxhdGVJbml0KCksXG4gICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmlld3BvcnREaW1lbnNpb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRZZWFyU2Nyb2xsKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0TW9udGhTY3JvbGwoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFRvQWN0aXZlWWVhcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9BY3RpdmVNb250aCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0WWVhclNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3llYXJzU2Nyb2xsUmVmfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCF5ZWFyc1Njcm9sbFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG91Y2hzdGFydCQgPSB0dWlUeXBlZEZyb21FdmVudChcbiAgICAgICAgICAgIHllYXJzU2Nyb2xsUmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0b3VjaHN0YXJ0JyxcbiAgICAgICAgICAgIHtwYXNzaXZlOiB0cnVlfSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdG91Y2hlbmQkID0gdHVpVHlwZWRGcm9tRXZlbnQoXG4gICAgICAgICAgICB5ZWFyc1Njcm9sbFJlZi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAndG91Y2hlbmQnLFxuICAgICAgICAgICAge3Bhc3NpdmU6IHRydWV9LFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBjbGljayQgPSB0dWlUeXBlZEZyb21FdmVudChcbiAgICAgICAgICAgIHllYXJzU2Nyb2xsUmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICdjbGljaycsXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVmcmVzaCBhY3RpdmVZZWFyXG4gICAgICAgIHllYXJzU2Nyb2xsUmVmXG4gICAgICAgICAgICAuZWxlbWVudFNjcm9sbGVkKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIElnbm9yZSBzbW9vdGggc2Nyb2xsIHJlc3VsdGluZyBmcm9tIGNsaWNrIG9uIHRoZSBleGFjdCB5ZWFyXG4gICAgICAgICAgICAgICAgd2luZG93VG9nZ2xlKHRvdWNoc3RhcnQkLCAoKSA9PiBjbGljayQpLFxuICAgICAgICAgICAgICAgIG1lcmdlTWFwKCh4KSA9PiB4KSxcbiAgICAgICAgICAgICAgICAvLyBEZWxheSBpcyByZXF1aXJlZCB0byBydW4gbW9udGhzIHNjcm9sbCBpbiB0aGUgbmV4dCBmcmFtZSB0byBwcmV2ZW50IGZsaWNrZXJcbiAgICAgICAgICAgICAgICBkZWxheSgwKSxcbiAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBNYXRoLnJvdW5kKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllYXJzU2Nyb2xsUmVmLm1lYXN1cmVTY3JvbGxPZmZzZXQoKSAvIHRoaXMueWVhcldpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSArXG4gICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmZsb29yKFlFQVJTX0lOX1JPVyAvIDIpICtcbiAgICAgICAgICAgICAgICAgICAgICAgIFNUQVJUSU5HX1lFQVIsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGFjdGl2ZVllYXIpID0+IGFjdGl2ZVllYXIgIT09IHRoaXMuYWN0aXZlWWVhciksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChhY3RpdmVZZWFyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVNb250aCArPSB0aGlzLmdldE1vbnRoT2Zmc2V0KGFjdGl2ZVllYXIpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlWWVhciA9IGFjdGl2ZVllYXI7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb0FjdGl2ZU1vbnRoKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyBTbW9vdGggc2Nyb2xsIHRvIGFjdGl2ZVllYXIgYWZ0ZXIgc2Nyb2xsaW5nIGlzIGRvbmVcbiAgICAgICAgdG91Y2hzdGFydCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0b3VjaGVuZCQpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICByYWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgeWVhcnNTY3JvbGxSZWYuZWxlbWVudFNjcm9sbGVkKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lcihTQ1JPTExfREVCT1VOQ0VfVElNRSwgdHVpWm9uZWZyZWVTY2hlZHVsZXIodGhpcy5uZ1pvbmUpKSxcbiAgICAgICAgICAgICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNDUk9MTF9ERUJPVU5DRV9USU1FICogMixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlab25lZnJlZVNjaGVkdWxlcih0aGlzLm5nWm9uZSksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0b3VjaHN0YXJ0JCksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zY3JvbGxUb0FjdGl2ZVllYXIoJ3Ntb290aCcpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRNb250aFNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge21vbnRoc1Njcm9sbFJlZn0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghbW9udGhzU2Nyb2xsUmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b3VjaHN0YXJ0JCA9IHR1aVR5cGVkRnJvbUV2ZW50KFxuICAgICAgICAgICAgbW9udGhzU2Nyb2xsUmVmLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0b3VjaHN0YXJ0JyxcbiAgICAgICAgICAgIHtwYXNzaXZlOiB0cnVlfSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgdG91Y2hlbmQkID0gdHVpVHlwZWRGcm9tRXZlbnQoXG4gICAgICAgICAgICBtb250aHNTY3JvbGxSZWYuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ3RvdWNoZW5kJyxcbiAgICAgICAgICAgIHtwYXNzaXZlOiB0cnVlfSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBTbW9vdGggc2Nyb2xsIHRvIHRoZSBjbG9zZXN0IG1vbnRoIGFmdGVyIHNjcm9sbGluZyBpcyBkb25lXG4gICAgICAgIHRvdWNoc3RhcnQkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdG91Y2hlbmQkKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgcmFjZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoc1Njcm9sbFJlZi5lbGVtZW50U2Nyb2xsZWQoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVyKFNDUk9MTF9ERUJPVU5DRV9USU1FLCB0dWlab25lZnJlZVNjaGVkdWxlcih0aGlzLm5nWm9uZSkpLFxuICAgICAgICAgICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU0NST0xMX0RFQk9VTkNFX1RJTUUgKiAyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVpvbmVmcmVlU2NoZWR1bGVyKHRoaXMubmdab25lKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRvdWNoc3RhcnQkKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNjcm9sbFRvQWN0aXZlTW9udGgoJ3Ntb290aCcpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbFRvQWN0aXZlWWVhcihiZWhhdmlvcjogU2Nyb2xsQmVoYXZpb3IgPSAnYXV0bycpOiB2b2lkIHtcbiAgICAgICAgdGhpcy55ZWFyc1Njcm9sbFJlZj8uc2Nyb2xsVG9JbmRleChcbiAgICAgICAgICAgIE1hdGgubWF4KHRoaXMuYWN0aXZlWWVhciAtIFNUQVJUSU5HX1lFQVIgLSAyLCAwKSxcbiAgICAgICAgICAgIHRoaXMuaXNFMkUgPyAnYXV0bycgOiBiZWhhdmlvcixcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbFRvQWN0aXZlTW9udGgoYmVoYXZpb3I6IFNjcm9sbEJlaGF2aW9yID0gJ2F1dG8nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9udGhzU2Nyb2xsUmVmPy5zY3JvbGxUb0luZGV4KFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVNb250aCxcbiAgICAgICAgICAgIHRoaXMuaXNFMkUgPyAnYXV0bycgOiBiZWhhdmlvcixcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzWWVhckFjdGl2ZShpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpbmRleCA9PT0gdGhpcy5hY3RpdmVZZWFyO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW9udGhUb1llYXIobW9udGg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwoKG1vbnRoICsgMSkgLyBNT05USFNfSU5fWUVBUikgKyBTVEFSVElOR19ZRUFSIC0gMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1vbnRoT2Zmc2V0KHllYXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoeWVhciAtIHRoaXMuYWN0aXZlWWVhcikgKiBNT05USFNfSU5fWUVBUjtcbiAgICB9XG59XG4iLCI8aGVhZGVyXG4gICAgKm5nSWY9XCJjaG9vc2VEYXlPclJhbmdlVGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIlxuICAgIGNsYXNzPVwidC1oZWFkZXJcIlxuPlxuICAgIDxidXR0b25cbiAgICAgICAgYXBwZWFyYW5jZT1cIlwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktbW9iaWxlLWNhbGVuZGFyX19jYW5jZWxcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR1aVJpcHBsZVxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJ0LWNsb3NlXCJcbiAgICAgICAgW2ljb25TdGFydF09XCJpY29ucy5jbG9zZVwiXG4gICAgICAgIFtzdHlsZS5ib3JkZXItcmFkaXVzLiVdPVwiMTAwXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiXG4gICAgPlxuICAgICAgICB7eyBjbG9zZVdvcmQkIHwgYXN5bmMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR1aUxpbmtcbiAgICAgICAgdHVpVG91Y2hhYmxlPVwib3BhY2l0eVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtbGluayB0LWxpbmtfY2xvc2VcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcbiAgICA+XG4gICAgICAgIHt7IGNhbmNlbFdvcmQkIHwgYXN5bmMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8aDJcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1tb2JpbGUtY2FsZW5kYXJfX2xhYmVsXCJcbiAgICAgICAgY2xhc3M9XCJ0LWxhYmVsXCJcbiAgICA+XG4gICAgICAgIHt7IHNpbmdsZSA/IHRleHRzWzBdIDogbXVsdGkgPyB0ZXh0c1syXSA6IHRleHRzWzFdIH19XG4gICAgPC9oMj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktbW9iaWxlLWNhbGVuZGFyX19jb25maXJtXCJcbiAgICAgICAgdHVpTGlua1xuICAgICAgICB0dWlUb3VjaGFibGU9XCJvcGFjaXR5XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidC1saW5rXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ29uZmlybSgpXCJcbiAgICA+XG4gICAgICAgIHt7IGRvbmVXb3JkJCB8IGFzeW5jIH19XG4gICAgPC9idXR0b24+XG48L2hlYWRlcj5cbjxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnRcbiAgICAjeWVhcnNTY3JvbGxSZWZcbiAgICBvcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxuICAgIGNsYXNzPVwidC15ZWFyc1wiXG4gICAgW2l0ZW1TaXplXT1cInllYXJXaWR0aFwiXG4+XG4gICAgPGRpdiBjbGFzcz1cInQteWVhcnMtd3JhcHBlclwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqY2RrVmlydHVhbEZvcj1cImxldCBpbmRleCBvZiB5ZWFyc1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC15ZWFyXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc3RhdGVdPVwiZ2V0U3RhdGUoaW5kZXgpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRZZWFyKGluZGV4KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IGluZGV4IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG48ZGl2IGNsYXNzPVwidC13ZWVrXCI+XG4gICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIHVub3JkZXJlZFdlZWtEYXlzJCB8IHR1aU9yZGVyV2Vla0RheXMgfCBhc3luY1wiXG4gICAgICAgIGNsYXNzPVwidC1kYXlcIlxuICAgID5cbiAgICAgICAge3sgZGF5IH19XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnRcbiAgICAjbW9udGhzU2Nyb2xsUmVmXG4gICAgaXRlbVNpemU9XCIzNTRcIlxuICAgIG1heEJ1ZmZlclB4PVwiNTAwMFwiXG4gICAgbWluQnVmZmVyUHg9XCIwXCJcbiAgICBjbGFzcz1cInQtbW9udGhzXCJcbiAgICAoc2Nyb2xsZWRJbmRleENoYW5nZSk9XCJvbk1vbnRoQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDxzZWN0aW9uXG4gICAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoczsgdGVtcGxhdGVDYWNoZVNpemU6IDEwXCJcbiAgICAgICAgY2xhc3M9XCJ0LW1vbnRoLXdyYXBwZXJcIlxuICAgID5cbiAgICAgICAgPGgyIGNsYXNzPVwidC1tb250aFwiPnt7IG1vbnRoIHwgdHVpTW9udGggfCBhc3luYyB9fTwvaDI+XG4gICAgICAgIDx0dWktbW9iaWxlLWNhbGVuZGFyLXNoZWV0XG4gICAgICAgICAgICBjbGFzcz1cInQtY2FsZW5kYXJcIlxuICAgICAgICAgICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiZGlzYWJsZWRJdGVtSGFuZGxlciB8IHR1aU1hcHBlcjogZGlzYWJsZWRJdGVtSGFuZGxlck1hcHBlciA6IG1pbiA6IG1heFwiXG4gICAgICAgICAgICBbbW9udGhdPVwibW9udGhcIlxuICAgICAgICAgICAgW3NpbmdsZV09XCJzaW5nbGVcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgIChkYXlDbGljayk9XCJvbkRheUNsaWNrKCRldmVudClcIlxuICAgICAgICAvPlxuICAgIDwvc2VjdGlvbj5cbjwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuIl19
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './mobile-calendar-dropdown.component';
|
|
2
|
-
|
|
2
|
+
export * from './mobile-calendar-dropdown.directive';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1tb2JpbGUvY29tcG9uZW50cy9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -12,9 +12,11 @@ import { TuiDropdownDirective } from '@taiga-ui/core/directives/dropdown';
|
|
|
12
12
|
import { calculateDisabledItemHandler, TUI_DAY_CAPS_MAPPER, } from '@taiga-ui/kit/components/calendar-range';
|
|
13
13
|
import { TUI_MOBILE_CALENDAR } from '@taiga-ui/kit/tokens';
|
|
14
14
|
import { injectContext } from '@taiga-ui/polymorpheus';
|
|
15
|
+
import { TuiMobileCalendarDropdownNew } from './mobile-calendar-dropdown.directive';
|
|
15
16
|
import * as i0 from "@angular/core";
|
|
16
17
|
import * as i1 from "@taiga-ui/cdk/directives/active-zone";
|
|
17
18
|
import * as i2 from "@taiga-ui/cdk/directives/animated";
|
|
19
|
+
// TODO: Rename to TuiMobileCalendarDropdownComponent in v5, this component is terrible and needs a complete rewrite
|
|
18
20
|
class TuiMobileCalendarDropdown {
|
|
19
21
|
constructor() {
|
|
20
22
|
// TODO: Rework to use TuiDropdownOpenDirective so the focus returns to the field on closing
|
|
@@ -28,11 +30,16 @@ class TuiMobileCalendarDropdown {
|
|
|
28
30
|
this.control = inject(TuiControl, { optional: true });
|
|
29
31
|
this.range = this.is('tui-input-date-range');
|
|
30
32
|
this.multi = this.data.multi || this.is('tui-input-date[multiple]');
|
|
31
|
-
this.
|
|
33
|
+
this.directive = inject(TuiMobileCalendarDropdownNew, { optional: true });
|
|
34
|
+
this.single = !!this.directive?.date ||
|
|
35
|
+
this.data.single || // TODO(v5): use `rangeMode` from DI token `TUI_CALENDAR_SHEET_DEFAULT_OPTIONS`
|
|
32
36
|
this.is('tui-input-date:not([multiple])');
|
|
33
37
|
this.keyboard.hide();
|
|
34
38
|
}
|
|
35
39
|
max() {
|
|
40
|
+
if (this.directive?.date) {
|
|
41
|
+
return this.directive.date.max();
|
|
42
|
+
}
|
|
36
43
|
return (this.data.max ||
|
|
37
44
|
(this.range
|
|
38
45
|
? TUI_DAY_CAPS_MAPPER(this.control.max, this.selectedPeriod, this.control.maxLength, false)
|
|
@@ -40,6 +47,9 @@ class TuiMobileCalendarDropdown {
|
|
|
40
47
|
TUI_LAST_DAY);
|
|
41
48
|
}
|
|
42
49
|
min() {
|
|
50
|
+
if (this.directive?.date) {
|
|
51
|
+
return this.directive.date.min();
|
|
52
|
+
}
|
|
43
53
|
return (this.data.min ||
|
|
44
54
|
(this.range
|
|
45
55
|
? TUI_DAY_CAPS_MAPPER(this.control.min, this.selectedPeriod, this.control.maxLength, true)
|
|
@@ -58,7 +68,8 @@ class TuiMobileCalendarDropdown {
|
|
|
58
68
|
}
|
|
59
69
|
}
|
|
60
70
|
get calculatedDisabledItemHandler() {
|
|
61
|
-
return this.calculateDisabledItemHandler(this.
|
|
71
|
+
return this.calculateDisabledItemHandler(this.directive?.handlers.disabledItemHandler() ||
|
|
72
|
+
this.data.disabledItemHandler ||
|
|
62
73
|
this.control?.disabledItemHandler ||
|
|
63
74
|
TUI_FALSE_HANDLER, this.selectedPeriod, this.control?.minLength ?? null);
|
|
64
75
|
}
|
|
@@ -72,6 +83,9 @@ class TuiMobileCalendarDropdown {
|
|
|
72
83
|
if (this.control) {
|
|
73
84
|
this.control.value = normalizedValue;
|
|
74
85
|
}
|
|
86
|
+
if (this.directive?.date) {
|
|
87
|
+
this.directive.date.onChange(normalizedValue);
|
|
88
|
+
}
|
|
75
89
|
this.observer?.next(normalizedValue);
|
|
76
90
|
this.close();
|
|
77
91
|
}
|
|
@@ -82,7 +96,7 @@ class TuiMobileCalendarDropdown {
|
|
|
82
96
|
return !!this.dropdown?.el.closest(selector);
|
|
83
97
|
}
|
|
84
98
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMobileCalendarDropdown, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
85
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiMobileCalendarDropdown, isStandalone: true, selector: "tui-mobile-calendar-dropdown", hostDirectives: [{ directive: i1.TuiActiveZone }, { directive: i2.TuiAnimated }], ngImport: i0, template: "<tui-mobile-calendar\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [max]=\"max()\"\n [min]=\"min()\"\n [multi]=\"multi\"\n [single]=\"single\"\n (cancel)=\"close()\"\n (confirm)=\"confirm($event)\"\n (valueChange)=\"onValueChange($event)\"\n/>\n", styles: [":host{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;background:var(--tui-background-elevation-1);box-shadow:0 10rem var(--tui-background-elevation-1),0 -90vh 1rem 2rem var(--tui-service-backdrop);block-size:calc(100% - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}\n"], dependencies: [{ kind: "component", type: TuiMobileCalendar, selector: "tui-mobile-calendar", inputs: ["single", "multi", "min", "max", "disabledItemHandler", "value"], outputs: ["cancel", "confirm", "valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
99
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiMobileCalendarDropdown, isStandalone: true, selector: "tui-mobile-calendar-dropdown", hostDirectives: [{ directive: i1.TuiActiveZone }, { directive: i2.TuiAnimated }], ngImport: i0, template: "<tui-mobile-calendar\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [max]=\"max()\"\n [min]=\"min()\"\n [multi]=\"multi\"\n [single]=\"single\"\n [value]=\"directive?.date?.value() ?? undefined\"\n (cancel)=\"close()\"\n (confirm)=\"confirm($event)\"\n (valueChange)=\"onValueChange($event)\"\n/>\n", styles: [":host{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;background:var(--tui-background-elevation-1);box-shadow:0 10rem var(--tui-background-elevation-1),0 -90vh 1rem 2rem var(--tui-service-backdrop);block-size:calc(100% - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}\n"], dependencies: [{ kind: "component", type: TuiMobileCalendar, selector: "tui-mobile-calendar", inputs: ["single", "multi", "min", "max", "disabledItemHandler", "value"], outputs: ["cancel", "confirm", "valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
86
100
|
}
|
|
87
101
|
__decorate([
|
|
88
102
|
tuiPure
|
|
@@ -90,7 +104,7 @@ __decorate([
|
|
|
90
104
|
export { TuiMobileCalendarDropdown };
|
|
91
105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMobileCalendarDropdown, decorators: [{
|
|
92
106
|
type: Component,
|
|
93
|
-
args: [{ standalone: true, selector: 'tui-mobile-calendar-dropdown', imports: [TuiMobileCalendar], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiActiveZone, TuiAnimated], template: "<tui-mobile-calendar\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [max]=\"max()\"\n [min]=\"min()\"\n [multi]=\"multi\"\n [single]=\"single\"\n (cancel)=\"close()\"\n (confirm)=\"confirm($event)\"\n (valueChange)=\"onValueChange($event)\"\n/>\n", styles: [":host{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;background:var(--tui-background-elevation-1);box-shadow:0 10rem var(--tui-background-elevation-1),0 -90vh 1rem 2rem var(--tui-service-backdrop);block-size:calc(100% - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}\n"] }]
|
|
107
|
+
args: [{ standalone: true, selector: 'tui-mobile-calendar-dropdown', imports: [TuiMobileCalendar], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiActiveZone, TuiAnimated], template: "<tui-mobile-calendar\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [max]=\"max()\"\n [min]=\"min()\"\n [multi]=\"multi\"\n [single]=\"single\"\n [value]=\"directive?.date?.value() ?? undefined\"\n (cancel)=\"close()\"\n (confirm)=\"confirm($event)\"\n (valueChange)=\"onValueChange($event)\"\n/>\n", styles: [":host{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;background:var(--tui-background-elevation-1);box-shadow:0 10rem var(--tui-background-elevation-1),0 -90vh 1rem 2rem var(--tui-service-backdrop);block-size:calc(100% - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}\n"] }]
|
|
94
108
|
}], ctorParameters: function () { return []; }, propDecorators: { calculateDisabledItemHandler: [] } });
|
|
95
109
|
export function tuiProvideMobileCalendar() {
|
|
96
110
|
return {
|
|
@@ -98,4 +112,4 @@ export function tuiProvideMobileCalendar() {
|
|
|
98
112
|
useValue: TuiMobileCalendarDropdown,
|
|
99
113
|
};
|
|
100
114
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUNwRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsT0FBTyxFQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFOUQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFDSCw0QkFBNEIsRUFDNUIsbUJBQW1CLEdBQ3RCLE1BQU0seUNBQXlDLENBQUM7QUFDakQsT0FBTyxFQUFD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QUFXLENBQUM7MEVBOEZwQyw0QkFBNEI7QUFheEMsTUFBTSxVQUFVLHdCQUF3QjtJQUNwQyxPQUFPO1FBQ0gsT0FBTyxFQUFFLG1CQUFtQjtRQUM1QixRQUFRLEVBQUUseUJBQXlCO0tBQ3RDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlNb2JpbGVDYWxlbmRhcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhcic7XG5pbXBvcnQge1R1aUtleWJvYXJkU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1R1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9GQUxTRV9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7VHVpRGF5TGlrZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUVUlfRklSU1RfREFZLCBUVUlfTEFTVF9EQVksIFR1aURheSwgVHVpRGF5UmFuZ2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lJztcbmltcG9ydCB7VHVpQW5pbWF0ZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hbmltYXRlZCc7XG5pbXBvcnQgdHlwZSB7VHVpQm9vbGVhbkhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1xuICAgIGNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXIsXG4gICAgVFVJX0RBWV9DQVBTX01BUFBFUixcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLXJhbmdlJztcbmltcG9ydCB7VFVJX01PQklMRV9DQUxFTkRBUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtpbmplY3RDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZlcn0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpTW9iaWxlQ2FsZW5kYXJEYXRhIHtcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyPzogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PjtcbiAgICBtYXg/OiBUdWlEYXkgfCBudWxsO1xuICAgIG1pbj86IFR1aURheSB8IG51bGw7XG4gICAgbXVsdGk/OiBib29sZWFuO1xuICAgIHNpbmdsZT86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duJyxcbiAgICBpbXBvcnRzOiBbVHVpTW9iaWxlQ2FsZW5kYXJdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aUFjdGl2ZVpvbmUsIFR1aUFuaW1hdGVkXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTW9iaWxlQ2FsZW5kYXJEcm9wZG93biB7XG4gICAgLy8gVE9ETzogUmV3b3JrIHRvIHVzZSBUdWlEcm9wZG93bk9wZW5EaXJlY3RpdmUgc28gdGhlIGZvY3VzIHJldHVybnMgdG8gdGhlIGZpZWxkIG9uIGNsb3NpbmdcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGtleWJvYXJkID0gaW5qZWN0KFR1aUtleWJvYXJkU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0ID0gaW5qZWN0Q29udGV4dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9ic2VydmVyPzogT2JzZXJ2ZXI8YW55PiA9IHRoaXMuY29udGV4dD8uJGltcGxpY2l0O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YTogVHVpTW9iaWxlQ2FsZW5kYXJEYXRhID0gdGhpcy5jb250ZXh0Py5kYXRhIHx8IHt9O1xuXG4gICAgcHJpdmF0ZSBzZWxlY3RlZFBlcmlvZDogVHVpRGF5UmFuZ2UgfCBudWxsID0gbnVsbDtcblxuICAgIC8vIFRPRE86IFJlZmFjdG9yIHRvIHByb3BlciBEYXRlLCBEYXRlTXVsdGkgYW5kIERhdGVSYW5nZSBjb21wb25lbnRzIGFmdGVyIHRoZXkgYXJlIGFkZGVkIHRvIGtpdFxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250cm9sOiBhbnkgPSBpbmplY3QoVHVpQ29udHJvbCwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJhbmdlID0gdGhpcy5pcygndHVpLWlucHV0LWRhdGUtcmFuZ2UnKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbXVsdGkgPSB0aGlzLmRhdGEubXVsdGkgfHwgdGhpcy5pcygndHVpLWlucHV0LWRhdGVbbXVsdGlwbGVdJyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNpbmdsZSA9XG4gICAgICAgIHRoaXMuZGF0YS5zaW5nbGUgfHwgLy8gVE9ETyh2NSk6IHVzZSBgcmFuZ2VNb2RlYCBmcm9tIERJIHRva2VuIGBUVUlfQ0FMRU5EQVJfU0hFRVRfREVGQVVMVF9PUFRJT05TYFxuICAgICAgICB0aGlzLmlzKCd0dWktaW5wdXQtZGF0ZTpub3QoW211bHRpcGxlXSknKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmtleWJvYXJkLmhpZGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWF4KCk6IFR1aURheSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmRhdGEubWF4IHx8XG4gICAgICAgICAgICAodGhpcy5yYW5nZVxuICAgICAgICAgICAgICAgID8gVFVJX0RBWV9DQVBTX01BUFBFUihcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wubWF4LFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QsXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLm1heExlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IHRoaXMuY29udHJvbD8ubWF4KSB8fFxuICAgICAgICAgICAgVFVJX0xBU1RfREFZXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIG1pbigpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5kYXRhLm1pbiB8fFxuICAgICAgICAgICAgKHRoaXMucmFuZ2VcbiAgICAgICAgICAgICAgICA/IFRVSV9EQVlfQ0FQU19NQVBQRVIoXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLm1pbixcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGVyaW9kLFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXhMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IHRoaXMuY29udHJvbD8ubWluKSB8fFxuICAgICAgICAgICAgVFVJX0ZJUlNUX0RBWVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlKHZhbHVlOiBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IHJlYWRvbmx5IFR1aURheVtdIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucmFuZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGVyaW9kID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QgPSBuZXcgVHVpRGF5UmFuZ2UodmFsdWUsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY2FsY3VsYXRlZERpc2FibGVkSXRlbUhhbmRsZXIoKTogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXIoXG4gICAgICAgICAgICB0aGlzLmRhdGEuZGlzYWJsZWRJdGVtSGFuZGxlciB8fFxuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbD8uZGlzYWJsZWRJdGVtSGFuZGxlciB8fFxuICAgICAgICAgICAgICAgIFRVSV9GQUxTRV9IQU5ETEVSLFxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFBlcmlvZCxcbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8ubWluTGVuZ3RoID8/IG51bGwsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRyb3Bkb3duPy50b2dnbGUoZmFsc2UpO1xuICAgICAgICB0aGlzLm9ic2VydmVyPy5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmtleWJvYXJkLnNob3coKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uZmlybSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZSA9IHRoaXMucmFuZ2UgPyB0aGlzLnNlbGVjdGVkUGVyaW9kIDogdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sLnZhbHVlID0gbm9ybWFsaXplZFZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vYnNlcnZlcj8ubmV4dChub3JtYWxpemVkVmFsdWUpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXIoXG4gICAgICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4sXG4gICAgICAgIHZhbHVlOiBUdWlEYXlSYW5nZSB8IG51bGwsXG4gICAgICAgIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwsXG4gICAgKTogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiB7XG4gICAgICAgIHJldHVybiBjYWxjdWxhdGVEaXNhYmxlZEl0ZW1IYW5kbGVyKGRpc2FibGVkSXRlbUhhbmRsZXIsIHZhbHVlLCBtaW5MZW5ndGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXMoc2VsZWN0b3I6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duPy5lbC5jbG9zZXN0KHNlbGVjdG9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlQcm92aWRlTW9iaWxlQ2FsZW5kYXIoKTogVmFsdWVQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX01PQklMRV9DQUxFTkRBUixcbiAgICAgICAgdXNlVmFsdWU6IFR1aU1vYmlsZUNhbGVuZGFyRHJvcGRvd24sXG4gICAgfTtcbn1cbiIsIjx0dWktbW9iaWxlLWNhbGVuZGFyXG4gICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiY2FsY3VsYXRlZERpc2FibGVkSXRlbUhhbmRsZXJcIlxuICAgIFttYXhdPVwibWF4KClcIlxuICAgIFttaW5dPVwibWluKClcIlxuICAgIFttdWx0aV09XCJtdWx0aVwiXG4gICAgW3NpbmdsZV09XCJzaW5nbGVcIlxuICAgIChjYW5jZWwpPVwiY2xvc2UoKVwiXG4gICAgKGNvbmZpcm0pPVwiY29uZmlybSgkZXZlbnQpXCJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbi8+XG4iXX0=
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUNwRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsT0FBTyxFQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFOUQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFDSCw0QkFBNEIsRUFDNUIsbUJBQW1CLEdBQ3RCLE1BQU0seUNBQXlDLENBQUM7QUFDakQsT0FBTyxFQUFD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UUFFRCxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUdPLDRCQUE0QixDQUNoQyxtQkFBOEMsRUFDOUMsS0FBeUIsRUFDekIsU0FBNEI7UUFFNUIsT0FBTyw0QkFBNEIsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVPLEVBQUUsQ0FBQyxRQUFnQjtRQUN2QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0FySFEseUJBQXlCO21HQUF6Qix5QkFBeUIsMEtDekN0QyxvVkFXQSw2ZER3QmMsaUJBQWlCOztBQWlIbkI7SUFEUCxPQUFPOzZFQU9QO1NBakhRLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQVRyQyxTQUFTO2lDQUNNLElBQUksWUFDTiw4QkFBOEIsV0FDL0IsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGtCQUMvQixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUM7MEVBNkdwQyw0QkFBNEI7QUFheEMsTUFBTSxVQUFVLHdCQUF3QjtJQUNwQyxPQUFPO1FBQ0gsT0FBTyxFQUFFLG1CQUFtQjtRQUM1QixRQUFRLEVBQUUseUJBQXlCO0tBQ3RDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlNb2JpbGVDYWxlbmRhcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhcic7XG5pbXBvcnQge1R1aUtleWJvYXJkU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1R1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9GQUxTRV9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7VHVpRGF5TGlrZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUVUlfRklSU1RfREFZLCBUVUlfTEFTVF9EQVksIFR1aURheSwgVHVpRGF5UmFuZ2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lJztcbmltcG9ydCB7VHVpQW5pbWF0ZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hbmltYXRlZCc7XG5pbXBvcnQgdHlwZSB7VHVpQm9vbGVhbkhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1xuICAgIGNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXIsXG4gICAgVFVJX0RBWV9DQVBTX01BUFBFUixcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLXJhbmdlJztcbmltcG9ydCB7VFVJX01PQklMRV9DQUxFTkRBUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtpbmplY3RDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZlcn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpTW9iaWxlQ2FsZW5kYXJEcm9wZG93bk5ld30gZnJvbSAnLi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24uZGlyZWN0aXZlJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlNb2JpbGVDYWxlbmRhckRhdGEge1xuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI/OiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+O1xuICAgIG1heD86IFR1aURheSB8IG51bGw7XG4gICAgbWluPzogVHVpRGF5IHwgbnVsbDtcbiAgICBtdWx0aT86IGJvb2xlYW47XG4gICAgc2luZ2xlPzogYm9vbGVhbjtcbn1cblxuLy8gVE9ETzogUmVuYW1lIHRvIFR1aU1vYmlsZUNhbGVuZGFyRHJvcGRvd25Db21wb25lbnQgaW4gdjUsIHRoaXMgY29tcG9uZW50IGlzIHRlcnJpYmxlIGFuZCBuZWVkcyBhIGNvbXBsZXRlIHJld3JpdGVcbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duJyxcbiAgICBpbXBvcnRzOiBbVHVpTW9iaWxlQ2FsZW5kYXJdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aUFjdGl2ZVpvbmUsIFR1aUFuaW1hdGVkXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTW9iaWxlQ2FsZW5kYXJEcm9wZG93biB7XG4gICAgLy8gVE9ETzogUmV3b3JrIHRvIHVzZSBUdWlEcm9wZG93bk9wZW5EaXJlY3RpdmUgc28gdGhlIGZvY3VzIHJldHVybnMgdG8gdGhlIGZpZWxkIG9uIGNsb3NpbmdcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGtleWJvYXJkID0gaW5qZWN0KFR1aUtleWJvYXJkU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0ID0gaW5qZWN0Q29udGV4dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9ic2VydmVyPzogT2JzZXJ2ZXI8YW55PiA9IHRoaXMuY29udGV4dD8uJGltcGxpY2l0O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YTogVHVpTW9iaWxlQ2FsZW5kYXJEYXRhID0gdGhpcy5jb250ZXh0Py5kYXRhIHx8IHt9O1xuXG4gICAgcHJpdmF0ZSBzZWxlY3RlZFBlcmlvZDogVHVpRGF5UmFuZ2UgfCBudWxsID0gbnVsbDtcblxuICAgIC8vIFRPRE86IFJlZmFjdG9yIHRvIHByb3BlciBEYXRlLCBEYXRlTXVsdGkgYW5kIERhdGVSYW5nZSBjb21wb25lbnRzIGFmdGVyIHRoZXkgYXJlIGFkZGVkIHRvIGtpdFxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250cm9sOiBhbnkgPSBpbmplY3QoVHVpQ29udHJvbCwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJhbmdlID0gdGhpcy5pcygndHVpLWlucHV0LWRhdGUtcmFuZ2UnKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbXVsdGkgPSB0aGlzLmRhdGEubXVsdGkgfHwgdGhpcy5pcygndHVpLWlucHV0LWRhdGVbbXVsdGlwbGVdJyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpcmVjdGl2ZSA9IGluamVjdChUdWlNb2JpbGVDYWxlbmRhckRyb3Bkb3duTmV3LCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2luZ2xlID1cbiAgICAgICAgISF0aGlzLmRpcmVjdGl2ZT8uZGF0ZSB8fFxuICAgICAgICB0aGlzLmRhdGEuc2luZ2xlIHx8IC8vIFRPRE8odjUpOiB1c2UgYHJhbmdlTW9kZWAgZnJvbSBESSB0b2tlbiBgVFVJX0NBTEVOREFSX1NIRUVUX0RFRkFVTFRfT1BUSU9OU2BcbiAgICAgICAgdGhpcy5pcygndHVpLWlucHV0LWRhdGU6bm90KFttdWx0aXBsZV0pJyk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5rZXlib2FyZC5oaWRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG1heCgpOiBUdWlEYXkge1xuICAgICAgICBpZiAodGhpcy5kaXJlY3RpdmU/LmRhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRpcmVjdGl2ZS5kYXRlLm1heCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZGF0YS5tYXggfHxcbiAgICAgICAgICAgICh0aGlzLnJhbmdlXG4gICAgICAgICAgICAgICAgPyBUVUlfREFZX0NBUFNfTUFQUEVSKFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXgsXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFBlcmlvZCxcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wubWF4TGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogdGhpcy5jb250cm9sPy5tYXgpIHx8XG4gICAgICAgICAgICBUVUlfTEFTVF9EQVlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWluKCk6IFR1aURheSB7XG4gICAgICAgIGlmICh0aGlzLmRpcmVjdGl2ZT8uZGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlyZWN0aXZlLmRhdGUubWluKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5kYXRhLm1pbiB8fFxuICAgICAgICAgICAgKHRoaXMucmFuZ2VcbiAgICAgICAgICAgICAgICA/IFRVSV9EQVlfQ0FQU19NQVBQRVIoXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLm1pbixcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGVyaW9kLFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXhMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IHRoaXMuY29udHJvbD8ubWluKSB8fFxuICAgICAgICAgICAgVFVJX0ZJUlNUX0RBWVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlKHZhbHVlOiBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IHJlYWRvbmx5IFR1aURheVtdIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucmFuZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUGVyaW9kID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QgPSBuZXcgVHVpRGF5UmFuZ2UodmFsdWUsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY2FsY3VsYXRlZERpc2FibGVkSXRlbUhhbmRsZXIoKTogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXIoXG4gICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZT8uaGFuZGxlcnMuZGlzYWJsZWRJdGVtSGFuZGxlcigpIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhLmRpc2FibGVkSXRlbUhhbmRsZXIgfHxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2w/LmRpc2FibGVkSXRlbUhhbmRsZXIgfHxcbiAgICAgICAgICAgICAgICBUVUlfRkFMU0VfSEFORExFUixcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQZXJpb2QsXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2w/Lm1pbkxlbmd0aCA/PyBudWxsLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bj8udG9nZ2xlKGZhbHNlKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlcj8uY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5rZXlib2FyZC5zaG93KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbmZpcm0odmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSB0aGlzLnJhbmdlID8gdGhpcy5zZWxlY3RlZFBlcmlvZCA6IHZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC52YWx1ZSA9IG5vcm1hbGl6ZWRWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpcmVjdGl2ZT8uZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmUuZGF0ZS5vbkNoYW5nZShub3JtYWxpemVkVmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vYnNlcnZlcj8ubmV4dChub3JtYWxpemVkVmFsdWUpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXIoXG4gICAgICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4sXG4gICAgICAgIHZhbHVlOiBUdWlEYXlSYW5nZSB8IG51bGwsXG4gICAgICAgIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwsXG4gICAgKTogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiB7XG4gICAgICAgIHJldHVybiBjYWxjdWxhdGVEaXNhYmxlZEl0ZW1IYW5kbGVyKGRpc2FibGVkSXRlbUhhbmRsZXIsIHZhbHVlLCBtaW5MZW5ndGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXMoc2VsZWN0b3I6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duPy5lbC5jbG9zZXN0KHNlbGVjdG9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlQcm92aWRlTW9iaWxlQ2FsZW5kYXIoKTogVmFsdWVQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX01PQklMRV9DQUxFTkRBUixcbiAgICAgICAgdXNlVmFsdWU6IFR1aU1vYmlsZUNhbGVuZGFyRHJvcGRvd24sXG4gICAgfTtcbn1cbiIsIjx0dWktbW9iaWxlLWNhbGVuZGFyXG4gICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiY2FsY3VsYXRlZERpc2FibGVkSXRlbUhhbmRsZXJcIlxuICAgIFttYXhdPVwibWF4KClcIlxuICAgIFttaW5dPVwibWluKClcIlxuICAgIFttdWx0aV09XCJtdWx0aVwiXG4gICAgW3NpbmdsZV09XCJzaW5nbGVcIlxuICAgIFt2YWx1ZV09XCJkaXJlY3RpdmU/LmRhdGU/LnZhbHVlKCkgPz8gdW5kZWZpbmVkXCJcbiAgICAoY2FuY2VsKT1cImNsb3NlKClcIlxuICAgIChjb25maXJtKT1cImNvbmZpcm0oJGV2ZW50KVwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4vPlxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ContentChild, Directive, inject } from '@angular/core';
|
|
2
|
+
import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
|
|
3
|
+
import { TUI_DROPDOWN_COMPONENT } from '@taiga-ui/core/directives/dropdown';
|
|
4
|
+
import { TuiItemsHandlersDirective } from '@taiga-ui/core/directives/items-handlers';
|
|
5
|
+
import { TuiInputDateDirective } from '@taiga-ui/kit/components/input-date';
|
|
6
|
+
import { TuiMobileCalendarDropdown } from './mobile-calendar-dropdown.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
// TODO: Rename to TuiMobileCalendarDropdown in v5
|
|
9
|
+
class TuiMobileCalendarDropdownNew {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.handlers = inject(TuiItemsHandlersDirective);
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMobileCalendarDropdownNew, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
14
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiMobileCalendarDropdownNew, isStandalone: true, selector: "[tuiMobileCalendar]", providers: [
|
|
15
|
+
{
|
|
16
|
+
provide: TUI_DROPDOWN_COMPONENT,
|
|
17
|
+
useFactory: () => inject(TUI_IS_MOBILE)
|
|
18
|
+
? TuiMobileCalendarDropdown
|
|
19
|
+
: inject(TUI_DROPDOWN_COMPONENT, { skipSelf: true }),
|
|
20
|
+
},
|
|
21
|
+
], queries: [{ propertyName: "date", first: true, predicate: TuiInputDateDirective, descendants: true }], ngImport: i0 }); }
|
|
22
|
+
}
|
|
23
|
+
export { TuiMobileCalendarDropdownNew };
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMobileCalendarDropdownNew, decorators: [{
|
|
25
|
+
type: Directive,
|
|
26
|
+
args: [{
|
|
27
|
+
standalone: true,
|
|
28
|
+
selector: '[tuiMobileCalendar]',
|
|
29
|
+
providers: [
|
|
30
|
+
{
|
|
31
|
+
provide: TUI_DROPDOWN_COMPONENT,
|
|
32
|
+
useFactory: () => inject(TUI_IS_MOBILE)
|
|
33
|
+
? TuiMobileCalendarDropdown
|
|
34
|
+
: inject(TUI_DROPDOWN_COMPONENT, { skipSelf: true }),
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
}]
|
|
38
|
+
}], propDecorators: { date: [{
|
|
39
|
+
type: ContentChild,
|
|
40
|
+
args: [TuiInputDateDirective]
|
|
41
|
+
}] } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9iaWxlLWNhbGVuZGFyLWRyb3Bkb3duLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL21vYmlsZS1jYWxlbmRhci1kcm9wZG93bi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFMUUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7O0FBRS9FLGtEQUFrRDtBQUNsRCxNQWFhLDRCQUE0QjtJQWJ6QztRQWlCb0IsYUFBUSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBQ2hFOytHQUxZLDRCQUE0QjttR0FBNUIsNEJBQTRCLGtFQVYxQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxzQkFBc0I7Z0JBQy9CLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FDYixNQUFNLENBQUMsYUFBYSxDQUFDO29CQUNqQixDQUFDLENBQUMseUJBQXlCO29CQUMzQixDQUFDLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO2FBQzdEO1NBQ0osNERBR2EscUJBQXFCOztTQUQxQiw0QkFBNEI7NEZBQTVCLDRCQUE0QjtrQkFieEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxzQkFBc0I7NEJBQy9CLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FDYixNQUFNLENBQUMsYUFBYSxDQUFDO2dDQUNqQixDQUFDLENBQUMseUJBQXlCO2dDQUMzQixDQUFDLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO3lCQUM3RDtxQkFDSjtpQkFDSjs4QkFHbUIsSUFBSTtzQkFEbkIsWUFBWTt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge1RVSV9EUk9QRE9XTl9DT01QT05FTlR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtUdWlJdGVtc0hhbmRsZXJzRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VHVpSW5wdXREYXRlRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZSc7XG5cbmltcG9ydCB7VHVpTW9iaWxlQ2FsZW5kYXJEcm9wZG93bn0gZnJvbSAnLi9tb2JpbGUtY2FsZW5kYXItZHJvcGRvd24uY29tcG9uZW50JztcblxuLy8gVE9ETzogUmVuYW1lIHRvIFR1aU1vYmlsZUNhbGVuZGFyRHJvcGRvd24gaW4gdjVcbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpTW9iaWxlQ2FsZW5kYXJdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RST1BET1dOX0NPTVBPTkVOVCxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+XG4gICAgICAgICAgICAgICAgaW5qZWN0KFRVSV9JU19NT0JJTEUpXG4gICAgICAgICAgICAgICAgICAgID8gVHVpTW9iaWxlQ2FsZW5kYXJEcm9wZG93blxuICAgICAgICAgICAgICAgICAgICA6IGluamVjdChUVUlfRFJPUERPV05fQ09NUE9ORU5ULCB7c2tpcFNlbGY6IHRydWV9KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNb2JpbGVDYWxlbmRhckRyb3Bkb3duTmV3IHtcbiAgICBAQ29udGVudENoaWxkKFR1aUlucHV0RGF0ZURpcmVjdGl2ZSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGF0ZT86IFR1aUlucHV0RGF0ZURpcmVjdGl2ZTtcblxuICAgIHB1YmxpYyByZWFkb25seSBoYW5kbGVycyA9IGluamVjdChUdWlJdGVtc0hhbmRsZXJzRGlyZWN0aXZlKTtcbn1cbiJdfQ==
|
|
@@ -40,12 +40,15 @@ class TuiSheetDialogComponent {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
get initial() {
|
|
43
|
+
if (!this.context.closeable) {
|
|
44
|
+
return 0;
|
|
45
|
+
}
|
|
43
46
|
return (this.stops
|
|
44
47
|
.map((e) => e.nativeElement.offsetTop - this.context.offset)
|
|
45
48
|
.concat(this.el.clientHeight ?? Infinity)[this.context.initial] ?? 0);
|
|
46
49
|
}
|
|
47
50
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSheetDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetDialogComponent, isStandalone: true, selector: "tui-sheet-dialog", host: { listeners: { "document:touchstart.passive.zoneless": "onPointerChange(1)", "document:touchend.zoneless": "onPointerChange(-1)", "document:touchcancel.zoneless": "onPointerChange(-1)", "scroll.zoneless": "onPointerChange(0)", "click.self": "close$.next()" }, properties: { "style.--tui-offset.px": "context.offset", "class._closeable": "context.closeable", "class._fullscreen": "context.fullscreen === true" } }, providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], viewQueries: [{ propertyName: "stops", predicate: ["stops"], descendants: true }], hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:
|
|
51
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetDialogComponent, isStandalone: true, selector: "tui-sheet-dialog", host: { listeners: { "document:touchstart.passive.zoneless": "onPointerChange(1)", "document:touchend.zoneless": "onPointerChange(-1)", "document:touchcancel.zoneless": "onPointerChange(-1)", "scroll.zoneless": "onPointerChange(0)", "click.self": "close$.next()" }, properties: { "style.--tui-offset.px": "context.offset", "class._closeable": "context.closeable", "class._fullscreen": "context.fullscreen === true" } }, providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], viewQueries: [{ propertyName: "stops", predicate: ["stops"], descendants: true }], hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:flex;inline-size:100%;max-inline-size:40rem;block-size:calc(100% - var(--tui-offset) - env(safe-area-inset-top));flex-direction:column;font:var(--tui-font-text-m);overflow-y:scroll;scroll-snap-type:y mandatory;margin:calc(var(--tui-offset) + env(safe-area-inset-top)) auto 0;border-radius:.75rem .75rem 0 0}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1}:host._closeable{display:block}:host._closeable .t-stops{display:flex}:host._fullscreen{display:block}:host._fullscreen .t-sheet{display:flex;flex-direction:column;min-block-size:100%}:host._fullscreen .t-content{display:flex;flex-direction:column;flex-grow:1}.t-stops{display:none;block-size:100%;scroll-snap-stop:always;scroll-snap-align:start;pointer-events:none}.t-stop{position:relative;top:env(safe-area-inset-bottom);scroll-snap-stop:normal;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-sheet{scrollbar-width:none;-ms-overflow-style:none;inline-size:100%;box-shadow:var(--tui-shadow-small);border-radius:inherit;padding:0 1rem;margin-block-start:auto;background:var(--tui-background-elevation-1);box-sizing:border-box;scroll-snap-stop:always;scroll-snap-align:start}.t-sheet::-webkit-scrollbar,.t-sheet::-webkit-scrollbar-thumb{display:none}.t-top{position:sticky;top:0;z-index:1;block-size:1.5rem;margin:0 -1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-top:after{content:\"\";position:absolute;top:.5rem;left:50%;inline-size:2rem;block-size:.25rem;transform:translate(-50%);background:var(--tui-border-normal);border-radius:1rem}.t-heading{position:sticky;top:1.5rem;z-index:1;margin:0 -1rem;padding:.75rem 1rem;font:var(--tui-font-heading-6);background:var(--tui-background-elevation-1)}.t-heading:first-child{top:0;border-radius:inherit}.t-heading:last-child{padding-block-end:1.5rem}.t-content{position:relative;isolation:isolate;padding-block-end:calc(1.5rem + env(safe-area-inset-bottom));border-radius:inherit}.t-content:after{content:\"\";position:relative;top:calc(1.5rem + env(safe-area-inset-bottom));z-index:-1;display:block;scroll-snap-stop:always;scroll-snap-align:end;border-image:conic-gradient(var(--tui-background-elevation-1) 0 0) fill 0/0/0 100vh 100vh}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
49
52
|
}
|
|
50
53
|
export { TuiSheetDialogComponent };
|
|
51
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSheetDialogComponent, decorators: [{
|
|
@@ -59,9 +62,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
59
62
|
'(document:touchcancel.zoneless)': 'onPointerChange(-1)',
|
|
60
63
|
'(scroll.zoneless)': 'onPointerChange(0)',
|
|
61
64
|
'(click.self)': 'close$.next()',
|
|
62
|
-
}, template: "<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:
|
|
65
|
+
}, template: "<div class=\"t-stops\">\n <div\n *ngFor=\"let stop of context.stops\"\n #stops\n class=\"t-stop\"\n [style.margin-top]=\"stop\"\n ></div>\n</div>\n<div class=\"t-sheet\">\n <div\n *ngIf=\"context.bar\"\n class=\"t-top\"\n ></div>\n <h2\n *ngIf=\"context.label\"\n class=\"t-heading\"\n [id]=\"context.id\"\n >\n <ng-container *polymorpheusOutlet=\"context.label as label; context: context\">\n {{ label }}\n </ng-container>\n </h2>\n <div class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:flex;inline-size:100%;max-inline-size:40rem;block-size:calc(100% - var(--tui-offset) - env(safe-area-inset-top));flex-direction:column;font:var(--tui-font-text-m);overflow-y:scroll;scroll-snap-type:y mandatory;margin:calc(var(--tui-offset) + env(safe-area-inset-top)) auto 0;border-radius:.75rem .75rem 0 0}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host:before{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";z-index:-1}:host._closeable{display:block}:host._closeable .t-stops{display:flex}:host._fullscreen{display:block}:host._fullscreen .t-sheet{display:flex;flex-direction:column;min-block-size:100%}:host._fullscreen .t-content{display:flex;flex-direction:column;flex-grow:1}.t-stops{display:none;block-size:100%;scroll-snap-stop:always;scroll-snap-align:start;pointer-events:none}.t-stop{position:relative;top:env(safe-area-inset-bottom);scroll-snap-stop:normal;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-sheet{scrollbar-width:none;-ms-overflow-style:none;inline-size:100%;box-shadow:var(--tui-shadow-small);border-radius:inherit;padding:0 1rem;margin-block-start:auto;background:var(--tui-background-elevation-1);box-sizing:border-box;scroll-snap-stop:always;scroll-snap-align:start}.t-sheet::-webkit-scrollbar,.t-sheet::-webkit-scrollbar-thumb{display:none}.t-top{position:sticky;top:0;z-index:1;block-size:1.5rem;margin:0 -1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-top:after{content:\"\";position:absolute;top:.5rem;left:50%;inline-size:2rem;block-size:.25rem;transform:translate(-50%);background:var(--tui-border-normal);border-radius:1rem}.t-heading{position:sticky;top:1.5rem;z-index:1;margin:0 -1rem;padding:.75rem 1rem;font:var(--tui-font-heading-6);background:var(--tui-background-elevation-1)}.t-heading:first-child{top:0;border-radius:inherit}.t-heading:last-child{padding-block-end:1.5rem}.t-content{position:relative;isolation:isolate;padding-block-end:calc(1.5rem + env(safe-area-inset-bottom));border-radius:inherit}.t-content:after{content:\"\";position:relative;top:calc(1.5rem + env(safe-area-inset-bottom));z-index:-1;display:block;scroll-snap-stop:always;scroll-snap-align:end;border-image:conic-gradient(var(--tui-background-elevation-1) 0 0) fill 0/0/0 100vh 100vh}\n"] }]
|
|
63
66
|
}], propDecorators: { stops: [{
|
|
64
67
|
type: ViewChildren,
|
|
65
68
|
args: ['stops']
|
|
66
69
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLW1vYmlsZS9jb21wb25lbnRzL3NoZWV0LWRpYWxvZy9zaGVldC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tbW9iaWxlL2NvbXBvbmVudHMvc2hlZXQtZGlhbG9nL3NoZWV0LWRpYWxvZy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxlQUFlLEVBQUUsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFdkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBSWhGLE1Bb0JhLHVCQUF1QjtJQXBCcEM7UUFzQnFCLFVBQUssR0FBdUMsV0FBVyxDQUFDO1FBRXhELE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFFRixZQUFPLEdBQ3RCLGFBQWEsRUFBNkMsQ0FBQztRQUU1QyxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM3QixNQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLENBQUM7YUFDdkQsSUFBSSxDQUNELFdBQVcsRUFBRSxFQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN0QyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxJQUFJLENBQUMsRUFBRTtvQkFDeEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztpQkFDN0Q7Z0JBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0M7WUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxFQUNGLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDZixrQkFBa0IsRUFBRSxDQUN2QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0tBeUIzRDtJQXZCVSxlQUFlO1FBQ2xCLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDckMsQ0FBQztJQUVTLGVBQWUsQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsSUFBSSxDQUFDLEVBQUU7WUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFFRCxJQUFZLE9BQU87UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDekIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUVELE9BQU8sQ0FDSCxJQUFJLENBQUMsS0FBSzthQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7YUFDM0QsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxJQUFJLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUMzRSxDQUFDO0lBQ04sQ0FBQzsrR0FwRFEsdUJBQXVCO21HQUF2Qix1QkFBdUIsbWVBYnJCLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQyw4SkM1QnZELDh0QkE0QkEsbTdFREpjLE9BQU8sbUhBQUUsSUFBSSw2RkFBRSxrQkFBa0I7O1NBaUJsQyx1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFwQm5DLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGtCQUFrQixXQUNuQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsbUJBRzNCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDLGtCQUNuQyxDQUFDLFdBQVcsQ0FBQyxRQUN2Qjt3QkFDRix5QkFBeUIsRUFBRSxnQkFBZ0I7d0JBQzNDLG9CQUFvQixFQUFFLG1CQUFtQjt3QkFDekMscUJBQXFCLEVBQUUsNkJBQTZCO3dCQUNwRCx3Q0FBd0MsRUFBRSxvQkFBb0I7d0JBQzlELDhCQUE4QixFQUFFLHFCQUFxQjt3QkFDckQsaUNBQWlDLEVBQUUscUJBQXFCO3dCQUN4RCxtQkFBbUIsRUFBRSxvQkFBb0I7d0JBQ3pDLGNBQWMsRUFBRSxlQUFlO3FCQUNsQzs4QkFJZ0IsS0FBSztzQkFEckIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge0FmdGVyVmlld0luaXQsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlBbmltYXRlZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FuaW1hdGVkJztcbmltcG9ydCB7dHVpQ2xvc2VXYXRjaGVyLCB0dWlab25lZnVsbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQgdHlwZSB7VHVpUG9wb3Zlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VFVJX1NDUk9MTF9SRUZ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge2luamVjdENvbnRleHQsIFBvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge2V4aGF1c3RNYXAsIGZpbHRlciwgaXNPYnNlcnZhYmxlLCBtZXJnZSwgb2YsIFN1YmplY3QsIHRha2V9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgdHlwZSB7VHVpU2hlZXREaWFsb2dPcHRpb25zfSBmcm9tICcuL3NoZWV0LWRpYWxvZy5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1zaGVldC1kaWFsb2cnLFxuICAgIGltcG9ydHM6IFtOZ0Zvck9mLCBOZ0lmLCBQb2x5bW9ycGhldXNPdXRsZXRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaGVldC1kaWFsb2cudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2hlZXQtZGlhbG9nLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlQcm92aWRlKFRVSV9TQ1JPTExfUkVGLCBFbGVtZW50UmVmKV0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlBbmltYXRlZF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLi0tdHVpLW9mZnNldC5weF0nOiAnY29udGV4dC5vZmZzZXQnLFxuICAgICAgICAnW2NsYXNzLl9jbG9zZWFibGVdJzogJ2NvbnRleHQuY2xvc2VhYmxlJyxcbiAgICAgICAgJ1tjbGFzcy5fZnVsbHNjcmVlbl0nOiAnY29udGV4dC5mdWxsc2NyZWVuID09PSB0cnVlJyxcbiAgICAgICAgJyhkb2N1bWVudDp0b3VjaHN0YXJ0LnBhc3NpdmUuem9uZWxlc3MpJzogJ29uUG9pbnRlckNoYW5nZSgxKScsXG4gICAgICAgICcoZG9jdW1lbnQ6dG91Y2hlbmQuem9uZWxlc3MpJzogJ29uUG9pbnRlckNoYW5nZSgtMSknLFxuICAgICAgICAnKGRvY3VtZW50OnRvdWNoY2FuY2VsLnpvbmVsZXNzKSc6ICdvblBvaW50ZXJDaGFuZ2UoLTEpJyxcbiAgICAgICAgJyhzY3JvbGwuem9uZWxlc3MpJzogJ29uUG9pbnRlckNoYW5nZSgwKScsXG4gICAgICAgICcoY2xpY2suc2VsZiknOiAnY2xvc2UkLm5leHQoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2hlZXREaWFsb2dDb21wb25lbnQ8ST4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkcmVuKCdzdG9wcycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9wczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHBvaW50ZXJzID0gMDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250ZXh0ID1cbiAgICAgICAgaW5qZWN0Q29udGV4dDxUdWlQb3BvdmVyPFR1aVNoZWV0RGlhbG9nT3B0aW9uczxJPiwgYW55Pj4oKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjbG9zZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSAkID0gbWVyZ2UodGhpcy5jbG9zZSQsIHR1aUNsb3NlV2F0Y2hlcigpKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHR1aVpvbmVmdWxsKCksXG4gICAgICAgICAgICBleGhhdXN0TWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNPYnNlcnZhYmxlKHRoaXMuY29udGV4dC5jbG9zZWFibGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmVsLnNjcm9sbFRvcCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnNjcm9sbFRvKHt0b3A6IHRoaXMuaW5pdGlhbCwgYmVoYXZpb3I6ICdzbW9vdGgnfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmNsb3NlYWJsZS5waXBlKHRha2UoMSkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLmNvbnRleHQuY2xvc2VhYmxlKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbnRleHQuJGltcGxpY2l0LmNvbXBsZXRlKCkpO1xuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbC5zY3JvbGxUb3AgPSB0aGlzLmluaXRpYWw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uUG9pbnRlckNoYW5nZShkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucG9pbnRlcnMgPSBNYXRoLm1heCh0aGlzLnBvaW50ZXJzICsgZGVsdGEsIDApO1xuXG4gICAgICAgIGlmICghdGhpcy5wb2ludGVycyAmJiB0aGlzLmVsLnNjcm9sbFRvcCA8PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlJC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpbml0aWFsKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghdGhpcy5jb250ZXh0LmNsb3NlYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5zdG9wc1xuICAgICAgICAgICAgICAgIC5tYXAoKGUpID0+IGUubmF0aXZlRWxlbWVudC5vZmZzZXRUb3AgLSB0aGlzLmNvbnRleHQub2Zmc2V0KVxuICAgICAgICAgICAgICAgIC5jb25jYXQodGhpcy5lbC5jbGllbnRIZWlnaHQgPz8gSW5maW5pdHkpW3RoaXMuY29udGV4dC5pbml0aWFsXSA/PyAwXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInQtc3RvcHNcIj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0Zvcj1cImxldCBzdG9wIG9mIGNvbnRleHQuc3RvcHNcIlxuICAgICAgICAjc3RvcHNcbiAgICAgICAgY2xhc3M9XCJ0LXN0b3BcIlxuICAgICAgICBbc3R5bGUubWFyZ2luLXRvcF09XCJzdG9wXCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ0LXNoZWV0XCI+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImNvbnRleHQuYmFyXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRvcFwiXG4gICAgPjwvZGl2PlxuICAgIDxoMlxuICAgICAgICAqbmdJZj1cImNvbnRleHQubGFiZWxcIlxuICAgICAgICBjbGFzcz1cInQtaGVhZGluZ1wiXG4gICAgICAgIFtpZF09XCJjb250ZXh0LmlkXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRleHQubGFiZWwgYXMgbGFiZWw7IGNvbnRleHQ6IGNvbnRleHRcIj5cbiAgICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvaDI+XG4gICAgPGRpdiBjbGFzcz1cInQtY29udGVudFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZXh0LmNvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogY29udGV4dFwiPlxuICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|