@skyux/datetime 7.0.0-beta.17 → 7.0.0-beta.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/modules/date-pipe/date-pipe.module.mjs +5 -5
- package/esm2020/lib/modules/date-pipe/date.pipe.mjs +4 -5
- package/esm2020/lib/modules/date-pipe/fuzzy-date.pipe.mjs +4 -5
- package/esm2020/lib/modules/date-range-picker/date-range-picker-end-date-resource-key.pipe.mjs +4 -4
- package/esm2020/lib/modules/date-range-picker/date-range-picker-start-date-resource-key.pipe.mjs +4 -4
- package/esm2020/lib/modules/date-range-picker/date-range-picker.component.mjs +6 -9
- package/esm2020/lib/modules/date-range-picker/date-range-picker.module.mjs +5 -5
- package/esm2020/lib/modules/date-range-picker/date-range.service.mjs +4 -5
- package/esm2020/lib/modules/datepicker/datepicker-adapter.service.mjs +5 -5
- package/esm2020/lib/modules/datepicker/datepicker-calendar-inner.component.mjs +4 -4
- package/esm2020/lib/modules/datepicker/datepicker-calendar.component.mjs +4 -5
- package/esm2020/lib/modules/datepicker/datepicker-config.service.mjs +4 -4
- package/esm2020/lib/modules/datepicker/datepicker-input-fuzzy.directive.mjs +5 -9
- package/esm2020/lib/modules/datepicker/datepicker-input.directive.mjs +5 -8
- package/esm2020/lib/modules/datepicker/datepicker.component.mjs +6 -8
- package/esm2020/lib/modules/datepicker/datepicker.module.mjs +5 -5
- package/esm2020/lib/modules/datepicker/datepicker.service.mjs +4 -4
- package/esm2020/lib/modules/datepicker/daypicker-button.component.mjs +4 -5
- package/esm2020/lib/modules/datepicker/daypicker-cell.component.mjs +4 -6
- package/esm2020/lib/modules/datepicker/daypicker.component.mjs +4 -5
- package/esm2020/lib/modules/datepicker/fuzzy-date.service.mjs +4 -5
- package/esm2020/lib/modules/datepicker/monthpicker.component.mjs +4 -5
- package/esm2020/lib/modules/datepicker/yearpicker.component.mjs +4 -5
- package/esm2020/lib/modules/shared/sky-datetime-resources.module.mjs +5 -5
- package/esm2020/lib/modules/timepicker/timepicker.component.mjs +6 -8
- package/esm2020/lib/modules/timepicker/timepicker.directive.mjs +5 -6
- package/esm2020/lib/modules/timepicker/timepicker.module.mjs +5 -5
- package/fesm2015/skyux-datetime.mjs +86 -86
- package/fesm2015/skyux-datetime.mjs.map +1 -1
- package/fesm2020/skyux-datetime.mjs +88 -88
- package/fesm2020/skyux-datetime.mjs.map +1 -1
- package/package.json +12 -12
@@ -6,10 +6,10 @@ import { SkyFuzzyDatePipe } from './fuzzy-date.pipe';
|
|
6
6
|
import * as i0 from "@angular/core";
|
7
7
|
export class SkyDatePipeModule {
|
8
8
|
}
|
9
|
-
SkyDatePipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
10
|
-
SkyDatePipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
11
|
-
SkyDatePipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
9
|
+
SkyDatePipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDatePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
10
|
+
SkyDatePipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyDatePipeModule, declarations: [SkyDatePipe, SkyFuzzyDatePipe], imports: [CommonModule, SkyDatetimeResourcesModule], exports: [SkyDatePipe, SkyFuzzyDatePipe] });
|
11
|
+
SkyDatePipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDatePipeModule, providers: [SkyDatePipe, SkyFuzzyDatePipe], imports: [CommonModule, SkyDatetimeResourcesModule] });
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDatePipeModule, decorators: [{
|
13
13
|
type: NgModule,
|
14
14
|
args: [{
|
15
15
|
declarations: [SkyDatePipe, SkyFuzzyDatePipe],
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
18
18
|
exports: [SkyDatePipe, SkyFuzzyDatePipe],
|
19
19
|
}]
|
20
20
|
}] });
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waXBlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS9zcmMvbGliL21vZHVsZXMvZGF0ZS1waXBlL2RhdGUtcGlwZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFckYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFRckQsTUFBTSxPQUFPLGlCQUFpQjs7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQUxiLFdBQVcsRUFBRSxnQkFBZ0IsYUFFbEMsWUFBWSxFQUFFLDBCQUEwQixhQUN4QyxXQUFXLEVBQUUsZ0JBQWdCO2dIQUU1QixpQkFBaUIsYUFKakIsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsWUFDaEMsWUFBWSxFQUFFLDBCQUEwQjs0RkFHdkMsaUJBQWlCO2tCQU43QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDO29CQUMxQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsMEJBQTBCLENBQUM7b0JBQ25ELE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQztpQkFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RGF0ZXRpbWVSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWRhdGV0aW1lLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lEYXRlUGlwZSB9IGZyb20gJy4vZGF0ZS5waXBlJztcbmltcG9ydCB7IFNreUZ1enp5RGF0ZVBpcGUgfSBmcm9tICcuL2Z1enp5LWRhdGUucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NreURhdGVQaXBlLCBTa3lGdXp6eURhdGVQaXBlXSxcbiAgcHJvdmlkZXJzOiBbU2t5RGF0ZVBpcGUsIFNreUZ1enp5RGF0ZVBpcGVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTa3lEYXRldGltZVJlc291cmNlc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lEYXRlUGlwZSwgU2t5RnV6enlEYXRlUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGVQaXBlTW9kdWxlIHt9XG4iXX0=
|
@@ -1,7 +1,6 @@
|
|
1
1
|
var _SkyDatePipe_defaultFormat, _SkyDatePipe_format, _SkyDatePipe_defaultLocale, _SkyDatePipe_locale, _SkyDatePipe_value, _SkyDatePipe_formattedValue, _SkyDatePipe_ngUnsubscribe;
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
3
|
import { Pipe } from '@angular/core';
|
4
|
-
import { SkyAppLocaleProvider } from '@skyux/i18n';
|
5
4
|
import { Subject } from 'rxjs';
|
6
5
|
import { takeUntil } from 'rxjs/operators';
|
7
6
|
import { SkyDateFormatUtility } from './date-format-utility';
|
@@ -60,13 +59,13 @@ export class SkyDatePipe {
|
|
60
59
|
}
|
61
60
|
}
|
62
61
|
_SkyDatePipe_defaultFormat = new WeakMap(), _SkyDatePipe_format = new WeakMap(), _SkyDatePipe_defaultLocale = new WeakMap(), _SkyDatePipe_locale = new WeakMap(), _SkyDatePipe_value = new WeakMap(), _SkyDatePipe_formattedValue = new WeakMap(), _SkyDatePipe_ngUnsubscribe = new WeakMap();
|
63
|
-
SkyDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
64
|
-
SkyDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
62
|
+
SkyDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDatePipe, deps: [{ token: i1.SkyAppLocaleProvider }], target: i0.ɵɵFactoryTarget.Pipe });
|
63
|
+
SkyDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyDatePipe, name: "skyDate", pure: false });
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDatePipe, decorators: [{
|
66
65
|
type: Pipe,
|
67
66
|
args: [{
|
68
67
|
name: 'skyDate',
|
69
68
|
pure: false,
|
70
69
|
}]
|
71
70
|
}], ctorParameters: function () { return [{ type: i1.SkyAppLocaleProvider }]; } });
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXBpcGUvZGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFhLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUU3RDs7Ozs7Ozs7R0FRRztBQUtILE1BQU0sT0FBTyxXQUFXO0lBZXRCLFlBQW9CLGNBQW9DO1FBQXBDLG1CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQWR4RCxxQ0FBaUIsT0FBTyxFQUFDO1FBRXpCLHNDQUE0QjtRQUU1QixxQ0FBaUIsT0FBTyxFQUFDO1FBRXpCLHNDQUE0QjtRQUU1QixxQ0FBWTtRQUVaLDhDQUFvQztRQUVwQyxxQ0FBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUduQyxJQUFJLENBQUMsY0FBYzthQUNoQixhQUFhLEVBQUU7YUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUFBLElBQUksa0NBQWUsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxDQUFDLFVBQTRCLEVBQUUsRUFBRTtZQUMxQyx1QkFBQSxJQUFJLDhCQUFrQixVQUFVLENBQUMsTUFBTSxNQUFBLENBQUM7WUFDeEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNoQix1QkFBQSxJQUFJLGtDQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsdUJBQUEsSUFBSSxrQ0FBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksU0FBUyxDQUFDLEtBQVUsRUFBRSxNQUFlLEVBQUUsTUFBZTtRQUMzRCx1QkFBQSxJQUFJLHNCQUFVLEtBQUssTUFBQSxDQUFDO1FBQ3BCLHVCQUFBLElBQUksdUJBQVcsTUFBTSxNQUFBLENBQUM7UUFDdEIsdUJBQUEsSUFBSSx1QkFBVyxNQUFNLE1BQUEsQ0FBQztRQUV0QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUU1QixPQUFPLHVCQUFBLElBQUksbUNBQWdCLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsTUFBTSxNQUFNLEdBQUcsdUJBQUEsSUFBSSwyQkFBUSxJQUFJLHVCQUFBLElBQUksa0NBQWUsQ0FBQztRQUNuRCxNQUFNLE1BQU0sR0FBRyx1QkFBQSxJQUFJLDJCQUFRLElBQUksdUJBQUEsSUFBSSxrQ0FBZSxDQUFDO1FBRW5ELHVCQUFBLElBQUksK0JBQW1CLG9CQUFvQixDQUFDLE1BQU0sQ0FDaEQsTUFBTSxFQUNOLHVCQUFBLElBQUksMEJBQU8sRUFDWCxNQUFNLENBQ1AsTUFBQSxDQUFDO0lBQ0osQ0FBQzs7O3lHQXpEVSxXQUFXO3VHQUFYLFdBQVc7NEZBQVgsV0FBVztrQkFKdkIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztvQkFDZixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5QXBwTG9jYWxlSW5mbywgU2t5QXBwTG9jYWxlUHJvdmlkZXIgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5RGF0ZUZvcm1hdFV0aWxpdHkgfSBmcm9tICcuL2RhdGUtZm9ybWF0LXV0aWxpdHknO1xuXG4vKipcbiAqIEZvcm1hdHMgZGF0ZSB2YWx1ZXMgYWNjb3JkaW5nIHRvIGxvY2FsZSBydWxlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGBtYXJrdXBcbiAqIHt7IG15RGF0ZSB8IHNreURhdGUgfX1cbiAqIHt7IG15RGF0ZSB8IHNreURhdGU6J21lZGl1bScgfX1cbiAqIHt7IG15RGF0ZSB8IHNreURhdGU6J21lZGl1bSc6J2VuLUNBJyB9fVxuICogYGBgXG4gKi9cbkBQaXBlKHtcbiAgbmFtZTogJ3NreURhdGUnLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZVBpcGUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIFBpcGVUcmFuc2Zvcm0ge1xuICAjZGVmYXVsdEZvcm1hdCA9ICdzaG9ydCc7XG5cbiAgI2Zvcm1hdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNkZWZhdWx0TG9jYWxlID0gJ2VuLVVTJztcblxuICAjbG9jYWxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI3ZhbHVlOiBhbnk7XG5cbiAgI2Zvcm1hdHRlZFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9jYWxlUHJvdmlkZXI6IFNreUFwcExvY2FsZVByb3ZpZGVyKSB7XG4gICAgdGhpcy5sb2NhbGVQcm92aWRlclxuICAgICAgLmdldExvY2FsZUluZm8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlSW5mbzogU2t5QXBwTG9jYWxlSW5mbykgPT4ge1xuICAgICAgICB0aGlzLiNkZWZhdWx0TG9jYWxlID0gbG9jYWxlSW5mby5sb2NhbGU7XG4gICAgICAgIHRoaXMudXBkYXRlRm9ybWF0dGVkVmFsdWUoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIGEgZGF0ZSB2YWx1ZSB1c2luZyBsb2NhbGUgYW5kIGZvcm1hdCBydWxlcy5cbiAgICogQHBhcmFtIHZhbHVlIFNwZWNpZmllcyB0aGUgZGF0ZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEBwYXJhbSBmb3JtYXQgU3BlY2lmaWVzIHRoZSBmb3JtYXQgdG8gYXBwbHkgdG8gdGhlIHRyYW5zZm9ybS4gVGhlIGZvcm1hdCBzdHJpbmcgaXNcbiAgICogY29uc3RydWN0ZWQgYnkgYSBzZXJpZXMgb2Ygc3ltYm9scyB0aGF0IHJlcHJlc2VudCBkYXRlLXRpbWUgdmFsdWVzLiBUaGUgc3ltYm9scyBhcmVcbiAgICogaWRlbnRpY2FsIHRvIFtBbmd1bGFyJ3MgYERhdGVQaXBlYF0oaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb21tb24vRGF0ZVBpcGUjcHJlLWRlZmluZWQtZm9ybWF0LW9wdGlvbnMpIGZvcm1hdCBvcHRpb25zLlxuICAgKiBAcGFyYW0gbG9jYWxlIFNwZWNpZmllcyB0aGUgbG9jYWxlIGNvZGUgdG8gdXNlIGluIHRoZSB0cmFuc2Zvcm0uXG4gICAqL1xuICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGZvcm1hdD86IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0aGlzLiN2YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuI2Zvcm1hdCA9IGZvcm1hdDtcbiAgICB0aGlzLiNsb2NhbGUgPSBsb2NhbGU7XG5cbiAgICB0aGlzLnVwZGF0ZUZvcm1hdHRlZFZhbHVlKCk7XG5cbiAgICByZXR1cm4gdGhpcy4jZm9ybWF0dGVkVmFsdWUgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZvcm1hdHRlZFZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMuI2xvY2FsZSB8fCB0aGlzLiNkZWZhdWx0TG9jYWxlO1xuICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMuI2Zvcm1hdCB8fCB0aGlzLiNkZWZhdWx0Rm9ybWF0O1xuXG4gICAgdGhpcy4jZm9ybWF0dGVkVmFsdWUgPSBTa3lEYXRlRm9ybWF0VXRpbGl0eS5mb3JtYXQoXG4gICAgICBsb2NhbGUsXG4gICAgICB0aGlzLiN2YWx1ZSxcbiAgICAgIGZvcm1hdFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import { Pipe } from '@angular/core';
|
2
|
-
import { SkyFuzzyDateService } from '../datepicker/fuzzy-date.service';
|
3
2
|
import * as i0 from "@angular/core";
|
4
3
|
import * as i1 from "../datepicker/fuzzy-date.service";
|
5
4
|
/**
|
@@ -35,13 +34,13 @@ export class SkyFuzzyDatePipe {
|
|
35
34
|
return this.fuzzyDateService.format(value, fuzzyDateFormat, fuzzyDateLocale);
|
36
35
|
}
|
37
36
|
}
|
38
|
-
SkyFuzzyDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
39
|
-
SkyFuzzyDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
37
|
+
SkyFuzzyDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyFuzzyDatePipe, deps: [{ token: i1.SkyFuzzyDateService }], target: i0.ɵɵFactoryTarget.Pipe });
|
38
|
+
SkyFuzzyDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyFuzzyDatePipe, name: "skyFuzzyDate", pure: false });
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyFuzzyDatePipe, decorators: [{
|
41
40
|
type: Pipe,
|
42
41
|
args: [{
|
43
42
|
name: 'skyFuzzyDate',
|
44
43
|
pure: false,
|
45
44
|
}]
|
46
45
|
}], ctorParameters: function () { return [{ type: i1.SkyFuzzyDateService }]; } });
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnV6enktZGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXBpcGUvZnV6enktZGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFLcEQ7Ozs7Ozs7O0dBUUc7QUFLSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQW9CLGdCQUFxQztRQUFyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO0lBQUcsQ0FBQztJQUU3RDs7Ozs7Ozs7OztPQVVHO0lBQ0ksU0FBUyxDQUNkLEtBQW1CLEVBQ25CLE1BQWUsRUFDZixNQUFlO1FBRWYsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLGVBQWUsR0FDbkIsTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0UsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUNqQyxLQUFLLEVBQ0wsZUFBZSxFQUNmLGVBQWUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7OzhHQTlCVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQUo1QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxjQUFjO29CQUNwQixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RnV6enlEYXRlIH0gZnJvbSAnLi4vZGF0ZXBpY2tlci9mdXp6eS1kYXRlJztcbmltcG9ydCB7IFNreUZ1enp5RGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9kYXRlcGlja2VyL2Z1enp5LWRhdGUuc2VydmljZSc7XG5cbi8qKlxuICogRm9ybWF0cyBkYXRlIHZhbHVlcyB1c2luZyB0d28gb3IgbW9yZSBkYXRlIHRva2VucyB0aGF0IHJlcHJlc2VudCB0aGUgZGF5LCBtb250aCxcbiAqIGFuZCB5ZWFyLiBUaGUgdG9rZW5zIGFyZSBkZXNjcmliZWQgaW4gdGhlIFttb21lbnQuanMgdmFsdWVzXShodHRwczovL21vbWVudGpzLmNvbS9kb2NzLyMvZGlzcGxheWluZy8pLlxuICogQGV4YW1wbGVcbiAqIGBgYG1hcmt1cFxuICoge3sgbXlGdXp6eURhdGUgfCBza3lGdXp6eURhdGU6J01NTSBZJyB9fVxuICoge3sgbXlGdXp6eURhdGUgfCBza3lGdXp6eURhdGU6J01NTSBZJzonZW4tQ0EnIH19XG4gKiBgYGBcbiAqL1xuQFBpcGUoe1xuICBuYW1lOiAnc2t5RnV6enlEYXRlJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNreUZ1enp5RGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmdXp6eURhdGVTZXJ2aWNlOiBTa3lGdXp6eURhdGVTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIGZ1enp5IGRhdGUgdmFsdWVzIHVzaW5nIHR3byBvciBtb3JlIGRhdGUgdG9rZW5zIHRoYXQgcmVwcmVzZW50IHRoZSBkYXksIG1vbnRoLFxuICAgKiBhbmQgeWVhci5cbiAgICogQHBhcmFtIHZhbHVlIFNwZWNpZmllcyB0aGUgZGF0ZSB2YWx1ZSB0byB0cmFuc2Zvcm0uXG4gICAqIEBwYXJhbSBmb3JtYXQgU3BlY2lmaWVzIHRoZSBmb3JtYXQgdG8gYXBwbHkgdG8gdGhlIHRyYW5zZm9ybS4gWW91IGNvbnN0cnVjdCB0aGUgZm9ybWF0XG4gICAqIHN0cmluZyB3aXRoIGEgdHdvIG9yIG1vcmUgdG9rZW5zIHRoYXQgc3BlY2lmeSB0aGUgY29tcG9uZW50cyBvZiBkYXRlLXRpbWUgdmFsdWUuIFRoZVxuICAgKiB0b2tlbnMgYXJlIGRlc2NyaWJlZCBpbiB0aGUgW21vbWVudC5qcyB2YWx1ZXNdKGh0dHBzOi8vbW9tZW50anMuY29tL2RvY3MvIy9kaXNwbGF5aW5nLykuXG4gICAqIElmIHlvdSBkb24ndCBwcm92aWRlIGEgZm9ybWF0LCBgU2t5RnV6enlEYXRlUGlwZWAgYXR0ZW1wdHMgdG8gZm9ybWF0IGZ1enp5IGRhdGVzIGJhc2VkXG4gICAqIG9uIHRoZSBicm93c2VyJ3MgZGVmYXVsdCBsb2NhbGUuXG4gICAqIEBwYXJhbSBsb2NhbGUgU3BlY2lmaWVzIHRoZSBsb2NhbGUgY29kZSB0byB1c2UgaW4gdGhlIHRyYW5zZm9ybS5cbiAgICovXG4gIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgdmFsdWU6IFNreUZ1enp5RGF0ZSxcbiAgICBmb3JtYXQ/OiBzdHJpbmcsXG4gICAgbG9jYWxlPzogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCBmdXp6eURhdGVGb3JtYXQgPVxuICAgICAgZm9ybWF0IHx8IHRoaXMuZnV6enlEYXRlU2VydmljZS5nZXRMb2NhbGVTaG9ydEZvcm1hdChsb2NhbGUpO1xuICAgIGNvbnN0IGZ1enp5RGF0ZUxvY2FsZSA9IGxvY2FsZSB8fCB0aGlzLmZ1enp5RGF0ZVNlcnZpY2UuZ2V0Q3VycmVudExvY2FsZSgpO1xuICAgIHJldHVybiB0aGlzLmZ1enp5RGF0ZVNlcnZpY2UuZm9ybWF0KFxuICAgICAgdmFsdWUsXG4gICAgICBmdXp6eURhdGVGb3JtYXQsXG4gICAgICBmdXp6eURhdGVMb2NhbGVcbiAgICApO1xuICB9XG59XG4iXX0=
|
package/esm2020/lib/modules/date-range-picker/date-range-picker-end-date-resource-key.pipe.mjs
CHANGED
@@ -9,12 +9,12 @@ export class SkyDateRangePickerEndDateResourceKeyPipe {
|
|
9
9
|
return 'skyux_date_range_picker_before_date_label';
|
10
10
|
}
|
11
11
|
}
|
12
|
-
SkyDateRangePickerEndDateResourceKeyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
13
|
-
SkyDateRangePickerEndDateResourceKeyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
12
|
+
SkyDateRangePickerEndDateResourceKeyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangePickerEndDateResourceKeyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
13
|
+
SkyDateRangePickerEndDateResourceKeyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangePickerEndDateResourceKeyPipe, name: "skyDateRangePickerEndDateResourceKey" });
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangePickerEndDateResourceKeyPipe, decorators: [{
|
15
15
|
type: Pipe,
|
16
16
|
args: [{
|
17
17
|
name: 'skyDateRangePickerEndDateResourceKey',
|
18
18
|
}]
|
19
19
|
}] });
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItZW5kLWRhdGUtcmVzb3VyY2Uta2V5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLWVuZC1kYXRlLXJlc291cmNlLWtleS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUtoRixNQUFNLE9BQU8sd0NBQXdDO0lBQzVDLFNBQVMsQ0FDZCxjQUFzRDtRQUV0RCxJQUFJLGNBQWMsS0FBSywwQkFBMEIsQ0FBQyxLQUFLLEVBQUU7WUFDdkQsT0FBTyx3Q0FBd0MsQ0FBQztTQUNqRDtRQUVELE9BQU8sMkNBQTJDLENBQUM7SUFDckQsQ0FBQzs7c0lBVFUsd0NBQXdDO29JQUF4Qyx3Q0FBd0M7NEZBQXhDLHdDQUF3QztrQkFIcEQsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsc0NBQXNDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvclR5cGUgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvci10eXBlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnc2t5RGF0ZVJhbmdlUGlja2VyRW5kRGF0ZVJlc291cmNlS2V5Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZVJhbmdlUGlja2VyRW5kRGF0ZVJlc291cmNlS2V5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgIGNhbGN1bGF0b3JUeXBlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZSB8IHVuZGVmaW5lZFxuICApOiBzdHJpbmcge1xuICAgIGlmIChjYWxjdWxhdG9yVHlwZSA9PT0gU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvclR5cGUuUmFuZ2UpIHtcbiAgICAgIHJldHVybiAnc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZW5kX2RhdGVfbGFiZWwnO1xuICAgIH1cblxuICAgIHJldHVybiAnc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfYmVmb3JlX2RhdGVfbGFiZWwnO1xuICB9XG59XG4iXX0=
|
package/esm2020/lib/modules/date-range-picker/date-range-picker-start-date-resource-key.pipe.mjs
CHANGED
@@ -9,12 +9,12 @@ export class SkyDateRangePickerStartDateResourceKeyPipe {
|
|
9
9
|
return 'skyux_date_range_picker_after_date_label';
|
10
10
|
}
|
11
11
|
}
|
12
|
-
SkyDateRangePickerStartDateResourceKeyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
13
|
-
SkyDateRangePickerStartDateResourceKeyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
12
|
+
SkyDateRangePickerStartDateResourceKeyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangePickerStartDateResourceKeyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
13
|
+
SkyDateRangePickerStartDateResourceKeyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangePickerStartDateResourceKeyPipe, name: "skyDateRangePickerStartDateResourceKey" });
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangePickerStartDateResourceKeyPipe, decorators: [{
|
15
15
|
type: Pipe,
|
16
16
|
args: [{
|
17
17
|
name: 'skyDateRangePickerStartDateResourceKey',
|
18
18
|
}]
|
19
19
|
}] });
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItc3RhcnQtZGF0ZS1yZXNvdXJjZS1rZXkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS9zcmMvbGliL21vZHVsZXMvZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXItc3RhcnQtZGF0ZS1yZXNvdXJjZS1rZXkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFLaEYsTUFBTSxPQUFPLDBDQUEwQztJQUc5QyxTQUFTLENBQ2QsY0FBc0Q7UUFFdEQsSUFBSSxjQUFjLEtBQUssMEJBQTBCLENBQUMsS0FBSyxFQUFFO1lBQ3ZELE9BQU8sMENBQTBDLENBQUM7U0FDbkQ7UUFFRCxPQUFPLDBDQUEwQyxDQUFDO0lBQ3BELENBQUM7O3dJQVhVLDBDQUEwQztzSUFBMUMsMENBQTBDOzRGQUExQywwQ0FBMEM7a0JBSHRELElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHdDQUF3QztpQkFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0b3JUeXBlIH0gZnJvbSAnLi90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0b3ItdHlwZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NreURhdGVSYW5nZVBpY2tlclN0YXJ0RGF0ZVJlc291cmNlS2V5Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZVJhbmdlUGlja2VyU3RhcnREYXRlUmVzb3VyY2VLZXlQaXBlXG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgIGNhbGN1bGF0b3JUeXBlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZSB8IHVuZGVmaW5lZFxuICApOiBzdHJpbmcge1xuICAgIGlmIChjYWxjdWxhdG9yVHlwZSA9PT0gU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvclR5cGUuUmFuZ2UpIHtcbiAgICAgIHJldHVybiAnc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfc3RhcnRfZGF0ZV9sYWJlbCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9hZnRlcl9kYXRlX2xhYmVsJztcbiAgfVxufVxuIl19
|
@@ -1,13 +1,10 @@
|
|
1
1
|
var _SkyDateRangePickerComponent_instances, _SkyDateRangePickerComponent_calculatorIdControl_get, _SkyDateRangePickerComponent_defaultCalculator_get, _SkyDateRangePickerComponent_defaultValue_get, _SkyDateRangePickerComponent_endDateControl_get, _SkyDateRangePickerComponent_startDateControl_get, _SkyDateRangePickerComponent_value, _SkyDateRangePickerComponent_valueOrDefault_set, _SkyDateRangePickerComponent_valueOrDefault_get, _SkyDateRangePickerComponent_control, _SkyDateRangePickerComponent_preferredShortDateFormat, _SkyDateRangePickerComponent_ngUnsubscribe, _SkyDateRangePickerComponent__calculatorIds, _SkyDateRangePickerComponent__dateFormat, _SkyDateRangePickerComponent__disabled, _SkyDateRangePickerComponent__valueOrDefault, _SkyDateRangePickerComponent_changeDetector, _SkyDateRangePickerComponent_dateRangeService, _SkyDateRangePickerComponent_formBuilder, _SkyDateRangePickerComponent_localeProvider, _SkyDateRangePickerComponent_ngZone, _SkyDateRangePickerComponent_setValue, _SkyDateRangePickerComponent_patchValue, _SkyDateRangePickerComponent_createForm, _SkyDateRangePickerComponent_showRelevantFormFields, _SkyDateRangePickerComponent_resetFormGroupValue, _SkyDateRangePickerComponent_addEventListeners, _SkyDateRangePickerComponent_updateBasedOnControls, _SkyDateRangePickerComponent_updateCalculators, _SkyDateRangePickerComponent_getCalculatorById, _SkyDateRangePickerComponent_dateRangesEqual, _SkyDateRangePickerComponent_updateSelectedCalculator, _SkyDateRangePickerComponent_onChange, _SkyDateRangePickerComponent_onTouched;
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
-
import { ChangeDetectionStrategy,
|
4
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR,
|
5
|
-
import { SkyAppLocaleProvider } from '@skyux/i18n';
|
6
|
-
import { SkyThemeService } from '@skyux/theme';
|
3
|
+
import { ChangeDetectionStrategy, Component, Input, Optional, forwardRef, } from '@angular/core';
|
4
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, UntypedFormControl, } from '@angular/forms';
|
7
5
|
import { Subject, combineLatest } from 'rxjs';
|
8
6
|
import { distinctUntilChanged, first, takeUntil } from 'rxjs/operators';
|
9
7
|
import { SkyDateFormatter } from '../datepicker/date-formatter';
|
10
|
-
import { SkyDateRangeService } from './date-range.service';
|
11
8
|
import { SkyDateRangeCalculatorId } from './types/date-range-calculator-id';
|
12
9
|
import { SkyDateRangeCalculatorType } from './types/date-range-calculator-type';
|
13
10
|
import * as i0 from "@angular/core";
|
@@ -466,12 +463,12 @@ _SkyDateRangePickerComponent_value = new WeakMap(), _SkyDateRangePickerComponent
|
|
466
463
|
? __classPrivateFieldGet(this, _SkyDateRangePickerComponent_instances, "m", _SkyDateRangePickerComponent_getCalculatorById).call(this, __classPrivateFieldGet(this, _SkyDateRangePickerComponent_instances, "a", _SkyDateRangePickerComponent_valueOrDefault_get).calculatorId)
|
467
464
|
: undefined;
|
468
465
|
};
|
469
|
-
SkyDateRangePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
470
|
-
SkyDateRangePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
466
|
+
SkyDateRangePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyDateRangeService }, { token: i2.UntypedFormBuilder }, { token: i3.SkyAppLocaleProvider }, { token: i0.NgZone }, { token: i4.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
467
|
+
SkyDateRangePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyDateRangePickerComponent, selector: "sky-date-range-picker", inputs: { calculatorIds: "calculatorIds", dateFormat: "dateFormat", disabled: "disabled", label: "label", startDateRequired: "startDateRequired", endDateRequired: "endDateRequired" }, providers: [
|
471
468
|
SKY_DATE_RANGE_PICKER_VALUE_ACCESSOR,
|
472
469
|
SKY_DATE_RANGE_PICKER_VALIDATOR,
|
473
470
|
], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"isReady && formGroup\"\n class=\"sky-date-range-picker\"\n [formGroup]=\"formGroup\"\n>\n <div class=\"sky-date-range-picker-form-group\">\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-select-calculator'\"\n >\n {{ label || 'skyux_date_range_picker_default_label' | skyLibResources }}\n </label>\n <select\n class=\"sky-form-control\"\n formControlName=\"calculatorId\"\n [attr.id]=\"dateRangePickerId + '-select-calculator'\"\n (blur)=\"onFieldBlur()\"\n >\n <option\n *ngFor=\"let calculator of calculators\"\n [value]=\"calculator.calculatorId\"\n >\n {{ calculator.shortDescription }}\n </option>\n </select>\n </sky-input-box>\n </div>\n\n <div class=\"sky-date-range-picker-form-group\" [hidden]=\"!showStartDatePicker\">\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-start-date'\"\n [ngClass]=\"{ 'sky-control-label-required': startDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n formControlName=\"startDate\"\n [attr.aria-label]=\"\n selectedCalculator?.type\n | skyDateRangePickerStartDateResourceKey\n | skyLibResources\n \"\n [attr.id]=\"dateRangePickerId + '-start-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [required]=\"!!startDateRequired\"\n [dateFormat]=\"dateFormatOrDefault\"\n (blur)=\"onFieldBlur()\"\n skyDatepickerInput\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n\n <div class=\"sky-date-range-picker-form-group\" [hidden]=\"!showEndDatePicker\">\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.for]=\"dateRangePickerId + '-end-date'\"\n [ngClass]=\"{ 'sky-control-label-required': endDateRequired }\"\n >\n {{\n selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources\n }}\n </label>\n\n <sky-datepicker>\n <input\n formControlName=\"endDate\"\n skyDatepickerInput\n [attr.aria-label]=\"\n selectedCalculator?.type\n | skyDateRangePickerEndDateResourceKey\n | skyLibResources\n \"\n [attr.id]=\"dateRangePickerId + '-end-date'\"\n [attr.placeholder]=\"dateFormatOrDefault\"\n [dateFormat]=\"dateFormatOrDefault\"\n [required]=\"!!endDateRequired\"\n (blur)=\"onFieldBlur()\"\n />\n </sky-datepicker>\n </sky-input-box>\n </div>\n</div>\n", styles: [".sky-date-range-picker{display:flex}.sky-date-range-picker-form-group:last-child{margin-bottom:0}:host .sky-date-range-picker{flex-direction:column}:host .sky-date-range-picker-form-group{flex-basis:100%}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker,:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:column}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:100%}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:initial}:host-context(.sky-responsive-container-xs) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:initial}@media (min-width: 768px){:host .sky-date-range-picker{flex-direction:initial}:host .sky-date-range-picker-form-group{flex-basis:33.3333333333%;margin-bottom:0}:host .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}}:host-context(.sky-responsive-container-sm) .sky-date-range-picker,:host-context(.sky-responsive-container-md) .sky-date-range-picker,:host-context(.sky-responsive-container-lg) .sky-date-range-picker{flex-direction:initial}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group{flex-basis:33.3333333333%;margin-bottom:0}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:first-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:first-of-type){padding-left:5px}:host-context(.sky-responsive-container-sm) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-md) .sky-date-range-picker-form-group:not(:last-of-type),:host-context(.sky-responsive-container-lg) .sky-date-range-picker-form-group:not(:last-of-type){padding-right:5px}:host-context(.sky-theme-modern) .sky-date-range-picker-form-group{padding:0;margin:0 0 20px}@media (min-width: 768px){:host-context(.sky-theme-modern) .sky-date-range-picker-form-group{margin:0 20px 0 0}}.sky-theme-modern .sky-date-range-picker-form-group{padding:0;margin:0 0 20px}@media (min-width: 768px){.sky-theme-modern .sky-date-range-picker-form-group{margin:0 20px 0 0}}:host-context(.sky-theme-modern .sky-responsive-container-xs) .sky-date-range-picker-form-group{margin:0 0 20px}:host-context(.sky-theme-modern .sky-responsive-container-sm) .sky-date-range-picker-form-group,:host-context(.sky-theme-modern .sky-responsive-container-md) .sky-date-range-picker-form-group,:host-context(.sky-theme-modern .sky-responsive-container-lg) .sky-date-range-picker-form-group{margin:0 20px 0 0}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.SkyDatepickerComponent, selector: "sky-datepicker", inputs: ["pickerClass"], outputs: ["calendarDateRangeChange"] }, { kind: "directive", type: i7.SkyDatepickerInputDirective, selector: "[skyDatepickerInput]", inputs: ["dateFormat", "disabled", "maxDate", "minDate", "skyDatepickerInput", "skyDatepickerNoValidate", "startingDay", "strict"] }, { kind: "component", type: i8.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: i9.SkyDateRangePickerEndDateResourceKeyPipe, name: "skyDateRangePickerEndDateResourceKey" }, { kind: "pipe", type: i10.SkyDateRangePickerStartDateResourceKeyPipe, name: "skyDateRangePickerStartDateResourceKey" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
474
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
471
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangePickerComponent, decorators: [{
|
475
472
|
type: Component,
|
476
473
|
args: [{ selector: 'sky-date-range-picker', providers: [
|
477
474
|
SKY_DATE_RANGE_PICKER_VALUE_ACCESSOR,
|
@@ -492,4 +489,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
492
489
|
}], endDateRequired: [{
|
493
490
|
type: Input
|
494
491
|
}] } });
|
495
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBSU4sUUFBUSxFQUVSLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsa0JBQWtCLEdBSW5CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUczRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQ0FB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QUFZLEtBQUssRUFBRSxDQUFDO0lBQ3hDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyx1R0FHQyxNQUEyQyxFQUMzQyxNQUEyQztJQUUzQyxPQUFPLENBQ0wsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FDMUUsQ0FBQztBQUNKLENBQUM7SUFHQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsdUJBQUEsSUFBSSwrRkFBZ0I7UUFDNUMsQ0FBQyxDQUFDLHVCQUFBLElBQUksOEZBQW1CLE1BQXZCLElBQUksRUFBb0IsdUJBQUEsSUFBSSwrRkFBZ0IsQ0FBQyxZQUFZLENBQUM7UUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNoQixDQUFDO3dIQXhpQlUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsd09BTjNCO1FBQ1Qsb0NBQW9DO1FBQ3BDLCtCQUErQjtLQUNoQywrQ0NyRUgsKzRGQStGQTsyRkR2QmEsMkJBQTJCO2tCQVZ2QyxTQUFTOytCQUNFLHVCQUF1QixhQUd0Qjt3QkFDVCxvQ0FBb0M7d0JBQ3BDLCtCQUErQjtxQkFDaEMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQTZMNUMsUUFBUTs0Q0FsTEEsYUFBYTtzQkFEdkIsS0FBSztnQkF3Q0ssVUFBVTtzQkFEcEIsS0FBSztnQkFlSyxRQUFRO3NCQURsQixLQUFLO2dCQXdCQyxLQUFLO3NCQURYLEtBQUs7Z0JBUUMsaUJBQWlCO3NCQUR2QixLQUFLO2dCQVFDLGVBQWU7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBVbnR5cGVkRm9ybUdyb3VwLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUFwcExvY2FsZVByb3ZpZGVyIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpcnN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGVGb3JtYXR0ZXIgfSBmcm9tICcuLi9kYXRlcGlja2VyL2RhdGUtZm9ybWF0dGVyJztcblxuaW1wb3J0IHsgU2t5RGF0ZVJhbmdlU2VydmljZSB9IGZyb20gJy4vZGF0ZS1yYW5nZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIH0gZnJvbSAnLi90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0aW9uJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0b3IgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvcic7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvci1pZCc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZSB9IGZyb20gJy4vdHlwZXMvZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLXR5cGUnO1xuXG5jb25zdCBTS1lfREFURV9SQU5HRV9QSUNLRVJfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbmNvbnN0IFNLWV9EQVRFX1JBTkdFX1BJQ0tFUl9WQUxJREFUT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreURhdGVSYW5nZVBpY2tlckNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuLyoqXG4gKiBBY3RzIGFzIGEgZm9ybSBjb250cm9sIHdpdGggYSBmb3JtIG1vZGVsIG9mIHR5cGUgYFNreURhdGVSYW5nZUNhbGN1bGF0aW9uYC5cbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIDxza3ktZGF0ZS1yYW5nZS1waWNrZXJcbiAqICAgZm9ybUNvbnRyb2xOYW1lPVwibXlQaWNrZXJcIlxuICogPlxuICogPC9za3ktZGF0ZS1yYW5nZS1waWNrZXI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRhdGUtcmFuZ2UtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU0tZX0RBVEVfUkFOR0VfUElDS0VSX1ZBTFVFX0FDQ0VTU09SLFxuICAgIFNLWV9EQVRFX1JBTkdFX1BJQ0tFUl9WQUxJREFUT1IsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yXG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgSURzIGZvciB0aGUgZGF0ZSByYW5nZSBvcHRpb25zIHRvIGluY2x1ZGUgaW4gdGhlIHBpY2tlcidzIGRyb3Bkb3duLlxuICAgKiBUaGUgb3B0aW9ucyBzcGVjaWZ5IGNhbGN1bGF0b3Igb2JqZWN0cyB0aGF0IHJldHVybiB0d28gYERhdGVgIG9iamVjdHMgdG8gcmVwcmVzZW50IGRhdGUgcmFuZ2VzLlxuICAgKiBCeSBkZWZhdWx0LCB0aGlzIHByb3BlcnR5IGluY2x1ZGVzIGFsbCBgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkYCB2YWx1ZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNhbGN1bGF0b3JJZHModmFsdWU6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZFtdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2NhbGN1bGF0b3JJZHMgPSB2YWx1ZSB8fCBbXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQW55VGltZSxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5CZWZvcmUsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQWZ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuU3BlY2lmaWNSYW5nZSxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5ZZXN0ZXJkYXksXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9kYXksXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9tb3Jyb3csXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdFdlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1dlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dFdlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdE1vbnRoLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNNb250aCxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0TW9udGgsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdFF1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1F1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dFF1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdENhbGVuZGFyWWVhcixcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzQ2FsZW5kYXJZZWFyLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRDYWxlbmRhclllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdEZpc2NhbFllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc0Zpc2NhbFllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dEZpc2NhbFllYXIsXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FsY3VsYXRvcklkcygpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWRbXSB7XG4gICAgcmV0dXJuIHRoaXMuI19jYWxjdWxhdG9ySWRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGRhdGUgZm9ybWF0IGZvclxuICAgKiBbdGhlIGBza3ktZGF0ZXBpY2tlcmAgY29tcG9uZW50c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2RhdGVwaWNrZXIpXG4gICAqIHRoYXQgbWFrZSB1cCB0aGUgZGF0ZSByYW5nZSBwaWNrZXIuIFRoZSB0ZXh0IGlucHV0IGlzIGEgY29tcG9zaXRlIGNvbXBvbmVudCBvZlxuICAgKiB1cCB0byB0d28gYHNreS1kYXRlcGlja2VyYCBjb21wb25lbnRzLlxuICAgKiBAZGVmYXVsdCBcIk1NL0REL1lZWVlcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRlRm9ybWF0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGF0ZUZvcm1hdCA9IHZhbHVlO1xuICAgIHRoaXMuZGF0ZUZvcm1hdE9yRGVmYXVsdCA9IHZhbHVlIHx8IHRoaXMuI3ByZWZlcnJlZFNob3J0RGF0ZUZvcm1hdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZUZvcm1hdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGF0ZUZvcm1hdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSBkYXRlIHJhbmdlIHBpY2tlci5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cCkge1xuICAgICAgaWYgKHRoaXMuI19kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBsYWJlbCBmb3IgdGhlIGRhdGUgcmFuZ2UgcGlja2VyLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byByZXF1aXJlIHVzZXJzIHRvIHNwZWNpZnkgYSBzdGFydCBkYXRlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0RGF0ZVJlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIHJlcXVpcmUgdXNlcnMgdG8gc3BlY2lmeSBhIGVuZCBkYXRlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGVuZERhdGVSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZWxlY3RlZENhbGN1bGF0b3I6IFNreURhdGVSYW5nZUNhbGN1bGF0b3IgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGVSYW5nZVBpY2tlcklkID0gYHNreS1kYXRlLXJhbmdlLXBpY2tlci0ke3VuaXF1ZUlkKyt9YDtcblxuICBwdWJsaWMgY2FsY3VsYXRvcnM6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JbXSA9IFtdO1xuICBwdWJsaWMgZGF0ZUZvcm1hdE9yRGVmYXVsdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgaXNSZWFkeSA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd0VuZERhdGVQaWNrZXIgPSBmYWxzZTtcbiAgcHVibGljIHNob3dTdGFydERhdGVQaWNrZXIgPSBmYWxzZTtcblxuICBnZXQgI2NhbGN1bGF0b3JJZENvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ2NhbGN1bGF0b3JJZCcpO1xuICB9XG5cbiAgZ2V0ICNkZWZhdWx0Q2FsY3VsYXRvcigpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdG9yc1swXTtcbiAgfVxuXG4gIGdldCAjZGVmYXVsdFZhbHVlKCk6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jZGVmYXVsdENhbGN1bGF0b3I/LmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgI2VuZERhdGVDb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cD8uZ2V0KCdlbmREYXRlJyk7XG4gIH1cblxuICBnZXQgI3N0YXJ0RGF0ZUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ3N0YXJ0RGF0ZScpO1xuICB9XG5cbiAgI3ZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZDtcblxuICBzZXQgI3ZhbHVlT3JEZWZhdWx0KHZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI192YWx1ZU9yRGVmYXVsdCA9IHZhbHVlO1xuICAgIHRoaXMuI3VwZGF0ZVNlbGVjdGVkQ2FsY3VsYXRvcigpO1xuICB9XG5cbiAgZ2V0ICN2YWx1ZU9yRGVmYXVsdCgpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI192YWx1ZU9yRGVmYXVsdDtcbiAgfVxuXG4gICNjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQ7XG4gICNwcmVmZXJyZWRTaG9ydERhdGVGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfY2FsY3VsYXRvcklkczogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkW10gPSBbXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLkFueVRpbWUsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLkJlZm9yZSxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQWZ0ZXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlNwZWNpZmljUmFuZ2UsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlllc3RlcmRheSxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9kYXksXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRvbW9ycm93LFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0V2VlayxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1dlZWssXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRXZWVrLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0TW9udGgsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNNb250aCxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dE1vbnRoLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0UXVhcnRlcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1F1YXJ0ZXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRRdWFydGVyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0Q2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzQ2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0Q2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0RmlzY2FsWWVhcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc0Zpc2NhbFllYXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRGaXNjYWxZZWFyLFxuICBdO1xuICAjX2RhdGVGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI19kaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuICAjX3ZhbHVlT3JEZWZhdWx0OiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZGF0ZVJhbmdlU2VydmljZTogU2t5RGF0ZVJhbmdlU2VydmljZTtcbiAgI2Zvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXI7XG4gICNsb2NhbGVQcm92aWRlcjogU2t5QXBwTG9jYWxlUHJvdmlkZXI7XG4gICNuZ1pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgZGF0ZVJhbmdlU2VydmljZTogU2t5RGF0ZVJhbmdlU2VydmljZSxcbiAgICBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIGxvY2FsZVByb3ZpZGVyOiBTa3lBcHBMb2NhbGVQcm92aWRlcixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2RhdGVSYW5nZVNlcnZpY2UgPSBkYXRlUmFuZ2VTZXJ2aWNlO1xuICAgIHRoaXMuI2Zvcm1CdWlsZGVyID0gZm9ybUJ1aWxkZXI7XG4gICAgdGhpcy4jbG9jYWxlUHJvdmlkZXIgPSBsb2NhbGVQcm92aWRlcjtcbiAgICB0aGlzLiNuZ1pvbmUgPSBuZ1pvbmU7XG5cbiAgICB0aGlzLmRhdGVGb3JtYXRPckRlZmF1bHQgPSB0aGlzLmRhdGVGb3JtYXQ7XG5cbiAgICB0aGlzLiNsb2NhbGVQcm92aWRlclxuICAgICAgLmdldExvY2FsZUluZm8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlSW5mbykgPT4ge1xuICAgICAgICBTa3lEYXRlRm9ybWF0dGVyLnNldExvY2FsZShsb2NhbGVJbmZvLmxvY2FsZSk7XG4gICAgICAgIHRoaXMuI3ByZWZlcnJlZFNob3J0RGF0ZUZvcm1hdCA9XG4gICAgICAgICAgU2t5RGF0ZUZvcm1hdHRlci5nZXRQcmVmZXJyZWRTaG9ydERhdGVGb3JtYXQoKTtcbiAgICAgICAgdGhpcy5kYXRlRm9ybWF0T3JEZWZhdWx0ID1cbiAgICAgICAgICB0aGlzLmRhdGVGb3JtYXQgfHwgdGhpcy4jcHJlZmVycmVkU2hvcnREYXRlRm9ybWF0O1xuICAgICAgfSk7XG5cbiAgICAvLyBVcGRhdGUgaWNvbnMgd2hlbiB0aGVtZSBjaGFuZ2VzLlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdGhlbWVTdmM/LnNldHRpbmdzQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNjcmVhdGVGb3JtKCk7XG5cbiAgICB0aGlzLiN1cGRhdGVDYWxjdWxhdG9ycygpLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLiN2YWx1ZSB8fCAhdGhpcy4jdmFsdWUuY2FsY3VsYXRvcklkKSB7XG4gICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0ID0gdGhpcy4jZGVmYXVsdFZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNhZGRFdmVudExpc3RlbmVycygpO1xuXG4gICAgICB0aGlzLmlzUmVhZHkgPSB0cnVlO1xuXG4gICAgICB0aGlzLiNzaG93UmVsZXZhbnRGb3JtRmllbGRzKCk7XG5cbiAgICAgIC8vIFdlIG5lZWQgdG8gbGV0IEFuZ3VsYXIgYmUgc3RhYmxlIGFuZCBoYXZlIHJlbmRlcmVkIHRoZSBjb21wb25lbnRzIHByaW9yIHRvIHNldHRpbmcgdGhlIHZhbHVlcyBhbmQgZm9ybSBjb250cm9scy4gVGhpcyBlbnN1cmVzIGFsbCBpbml0aWFsIHZhbGlkYXRpb24gd2lsbCBiZSByYW4gY29ycmVjdGx5LlxuICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gRmlsbCBpbiBhbnkgdW5wcm92aWRlZCB2YWx1ZXMgYWZ0ZXIgdGhlIGNhbGN1bGF0b3JzIGhhdmUgYmVlbiBpbml0aWFsaXplZC5cbiAgICAgICAgLy8gRm9yIGV4YW1wbGUsIGlmIHRoZSBjb250cm9sIGlzIGluaXRpYWxpemVkIHdpdGggb25seSB0aGUgYGNhbGN1bGF0b3JJZGAsXG4gICAgICAgIC8vIGFsbG93IHRoZSBjYWxjdWxhdG9yIHRvIGZpbGwgaW4gdGhlIG1pc3Npbmcgc3RhcnQgYW5kIGVuZCBkYXRlcy5cbiAgICAgICAgY29uc3QgZGVmYXVsdFZhbHVlID0gdGhpcy5zZWxlY3RlZENhbGN1bGF0b3I/LmdldFZhbHVlKFxuICAgICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0Py5zdGFydERhdGUsXG4gICAgICAgICAgdGhpcy4jdmFsdWVPckRlZmF1bHQ/LmVuZERhdGVcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0VmFsdWUsIHRoaXMuI3ZhbHVlT3JEZWZhdWx0KTtcblxuICAgICAgICB0aGlzLiNzZXRWYWx1ZShuZXdWYWx1ZSwgZmFsc2UpO1xuXG4gICAgICAgIHRoaXMuI3Jlc2V0Rm9ybUdyb3VwVmFsdWUoKTtcblxuICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBhZGRyZXNzIGEgYnVnIGluIEFuZ3VsYXIgNC5cbiAgICAgICAgLy8gV2hlbiBhIGNvbnRyb2wgdmFsdWUgaXMgc2V0IGludGlhbGx5LCBpdHMgdmFsdWUgaXMgbm90IHJlcHJlc2VudGVkIG9uIHRoZSB2aWV3LlxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzEzNzkyXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLiNjb250cm9sKSB7XG4gICAgICAgICAgdGhpcy4jY29udHJvbC5zZXRWYWx1ZSh0aGlzLiN2YWx1ZU9yRGVmYXVsdCwge1xuICAgICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmNhbGN1bGF0b3JJZHMgJiYgY2hhbmdlcy5jYWxjdWxhdG9ySWRzLmZpcnN0Q2hhbmdlID09PSBmYWxzZSkge1xuICAgICAgdGhpcy4jdXBkYXRlQ2FsY3VsYXRvcnMoKS50aGVuKCgpID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSB0aGlzLiNjYWxjdWxhdG9ySWRDb250cm9sPy52YWx1ZTtcblxuICAgICAgICAvLyBNYWludGFpbiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHZhbHVlcyBpZiB0aGUgY2FsY3VsYXRvcnMgY2hhbmdlIGFmdGVyXG4gICAgICAgIC8vIGEgdmFsdWUgaGFzIGJlZW4gY2hvc2VuLlxuICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMuY2FsY3VsYXRvcnMuZmluZCgoY2FsY3VsYXRvcikgPT4ge1xuICAgICAgICAgIHJldHVybiBjYWxjdWxhdG9yLmNhbGN1bGF0b3JJZCA9PT0gaWQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuI2RlZmF1bHRDYWxjdWxhdG9yPy5nZXRWYWx1ZSgpO1xuICAgICAgICAgIHRoaXMuI3NldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgICB0aGlzLiNyZXNldEZvcm1Hcm91cFZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgICB0aGlzLiNzaG93UmVsZXZhbnRGb3JtRmllbGRzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb25GaWVsZEJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkKCk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24pOiB2b2lkIHtcbiAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgdW5kZXJseWluZyBjb250cm9scyB3aGVuIHRoZSBjYWxjdWxhdG9ycyBhcmUgcmVhZHkuXG4gICAgY29uc3Qgbm90aWZ5Q2hhbmdlID0gZmFsc2U7XG5cbiAgICAvLyAoV2Ugc3RpbGwgbmVlZCB0byBzYXZlIHRoZSBpbml0aWFsIHZhbHVlIHNldCBieSB0aGUgY29uc3VtZXIncyBmb3JtLCBob3dldmVyLilcbiAgICB0aGlzLiNzZXRWYWx1ZSh2YWx1ZSwgbm90aWZ5Q2hhbmdlKTtcblxuICAgIGlmICh0aGlzLmlzUmVhZHkpIHtcbiAgICAgIC8vIFdoZW4gdGhlIGNvbnRyb2wncyB2YWx1ZSBpcyBzZXQgdG8gYG51bGxgLFxuICAgICAgLy8gc2V0IGl0IHRvIHRoZSBkZWZhdWx0IHZhbHVlLlxuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICB0aGlzLiNvbkNoYW5nZSh0aGlzLiNkZWZhdWx0VmFsdWUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNyZXNldEZvcm1Hcm91cFZhbHVlKCk7XG4gICAgICB0aGlzLiNzaG93UmVsZXZhbnRGb3JtRmllbGRzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuI2NvbnRyb2wpIHtcbiAgICAgIHRoaXMuI2NvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pc1JlYWR5KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgY29uc3QgaWRDb250cm9sID0gdGhpcy4jY2FsY3VsYXRvcklkQ29udHJvbDtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnNlbGVjdGVkQ2FsY3VsYXRvcj8udmFsaWRhdGUodmFsdWUpO1xuXG4gICAgbGV0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgZXJyb3JzID0ge1xuICAgICAgICBza3lEYXRlUmFuZ2U6IHtcbiAgICAgICAgICBjYWxjdWxhdG9ySWQ6IGlkQ29udHJvbD8udmFsdWUsXG4gICAgICAgICAgZXJyb3JzOiByZXN1bHQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgc3RhcnRFcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcbiAgICAgIGxldCBlbmRFcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcbiAgICAgIGlmICh0aGlzLiNzdGFydERhdGVDb250cm9sKSB7XG4gICAgICAgIHN0YXJ0RXJyb3JzID0gdGhpcy4jc3RhcnREYXRlQ29udHJvbC5lcnJvcnM7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy4jZW5kRGF0ZUNvbnRyb2wpIHtcbiAgICAgICAgZW5kRXJyb3JzID0gdGhpcy4jZW5kRGF0ZUNvbnRyb2wuZXJyb3JzO1xuICAgICAgfVxuXG4gICAgICBlcnJvcnMgPSBzdGFydEVycm9ycyB8fCBlbmRFcnJvcnM7XG4gICAgfVxuXG4gICAgaWYgKCFlcnJvcnMpIHtcbiAgICAgIC8vIENsZWFyIGFueSBlcnJvcnMgb24gdGhlIGNhbGN1bGF0b3Igc2VsZWN0LlxuICAgICAgaWRDb250cm9sPy5zZXRFcnJvcnMobnVsbCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZENvbnRyb2w/LnNldEVycm9ycyhlcnJvcnMpO1xuICAgIGlkQ29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICAgIGlkQ29udHJvbD8ubWFya0FzRGlydHkoKTtcblxuICAgIC8vIE5lZWQgdG8gbWFyayB0aGUgY29udHJvbCBhcyB0b3VjaGVkIGZvciB0aGUgZXJyb3IgbWVzc2FnZXMgdG8gYXBwZWFyLlxuICAgIHRoaXMuI2NvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuXG4gICAgLy8gTm90aWZ5IHRoZSB2aWV3IHRvIGRpc3BsYXkgYW55IGVycm9ycy5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShcbiAgICBmbjogKHZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCkgPT4gU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb25cbiAgKTogdm9pZCB7XG4gICAgdGhpcy4jb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLiNvblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG5cbiAgI3NldFZhbHVlKFxuICAgIHZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCxcbiAgICBub3RpZnlDaGFuZ2UgPSB0cnVlXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGlzTmV3VmFsdWUgPSAhdGhpcy4jZGF0ZVJhbmdlc0VxdWFsKHRoaXMuI3ZhbHVlLCB2YWx1ZSk7XG5cbiAgICBpZiAoaXNOZXdWYWx1ZSkge1xuICAgICAgdGhpcy4jdmFsdWUgPSB2YWx1ZTtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUuY2FsY3VsYXRvcklkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy4jdmFsdWVPckRlZmF1bHQgPSB0aGlzLiNkZWZhdWx0VmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiN2YWx1ZU9yRGVmYXVsdCA9IHZhbHVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobm90aWZ5Q2hhbmdlKSB7XG4gICAgICAgIHRoaXMuI29uQ2hhbmdlKHRoaXMuI3ZhbHVlT3JEZWZhdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjcGF0Y2hWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLiN2YWx1ZU9yRGVmYXVsdCwgdmFsdWUpO1xuXG4gICAgdGhpcy4jc2V0VmFsdWUobmV3VmFsdWUpO1xuICB9XG5cbiAgI2NyZWF0ZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLiNmb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBjYWxjdWxhdG9ySWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcbiAgICAgIHN0YXJ0RGF0ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxuICAgICAgZW5kRGF0ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICAjc2hvd1JlbGV2YW50Rm9ybUZpZWxkcygpOiB2b2lkIHtcbiAgICBjb25zdCBjYWxjdWxhdG9yID0gdGhpcy5zZWxlY3RlZENhbGN1bGF0b3I7XG5cbiAgICBsZXQgc2hvd0VuZERhdGVQaWNrZXIgPSBmYWxzZTtcbiAgICBsZXQgc2hvd1N0YXJ0RGF0ZVBpY2tlciA9IGZhbHNlO1xuXG4gICAgc3dpdGNoIChjYWxjdWxhdG9yPy50eXBlKSB7XG4gICAgICBjYXNlIFNreURhdGVSYW5nZUNhbGN1bGF0b3JUeXBlLkJlZm9yZTpcbiAgICAgICAgc2hvd0VuZERhdGVQaWNrZXIgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZS5BZnRlcjpcbiAgICAgICAgc2hvd1N0YXJ0RGF0ZVBpY2tlciA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreURhdGVSYW5nZUNhbGN1bGF0b3JUeXBlLlJhbmdlOlxuICAgICAgICBzaG93RW5kRGF0ZVBpY2tlciA9IHRydWU7XG4gICAgICAgIHNob3dTdGFydERhdGVQaWNrZXIgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5zaG93RW5kRGF0ZVBpY2tlciA9IHNob3dFbmREYXRlUGlja2VyO1xuICAgIHRoaXMuc2hvd1N0YXJ0RGF0ZVBpY2tlciA9IHNob3dTdGFydERhdGVQaWNrZXI7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjcmVzZXRGb3JtR3JvdXBWYWx1ZSh2YWx1ZT86IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXA/LnJlc2V0KHZhbHVlIHx8IHRoaXMuI3ZhbHVlT3JEZWZhdWx0KTtcbiAgfVxuXG4gICNhZGRFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICAvLyBXYXRjaCBmb3Igc2VsZWN0ZWQgY2FsY3VsYXRvciBjaGFuZ2UuXG4gICAgdGhpcy4jY2FsY3VsYXRvcklkQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuI3ZhbHVlT3JEZWZhdWx0Py5jYWxjdWxhdG9ySWQpIHtcbiAgICAgICAgICBjb25zdCBpZCA9IHBhcnNlSW50KHZhbHVlLCAxMCk7XG4gICAgICAgICAgLy8gaWYgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZCBkdXJpbmcgZm9ybSBjcmVhdGlvbiwgbnVsbCBpcyBwYXNzZWRcbiAgICAgICAgICAvLyBhcyB0aGUgdmFsdWUgb2YgdGhlIGNhbGN1bGF0b3IgaWQgY29udHJvbFxuICAgICAgICAgIC8vIG9ubHkgaGFuZGxlIHRoZSB2YWx1ZSBjaGFuZ2VzIGlmIHRoZSBjYWxjdWxhdG9yIGlkIGlzIGEgbnVtYmVyXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAoIWlzTmFOKGlkKSkge1xuICAgICAgICAgICAgY29uc3QgY2FsY3VsYXRvciA9IHRoaXMuI2dldENhbGN1bGF0b3JCeUlkKGlkKTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY2FsY3VsYXRvcj8uZ2V0VmFsdWUoKTtcblxuICAgICAgICAgICAgdGhpcy4jc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgICAgICAgICAgdGhpcy4jcmVzZXRGb3JtR3JvdXBWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLiNzaG93UmVsZXZhbnRGb3JtRmllbGRzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIC8vIFdhdGNoIGZvciBzdGFydCBkYXRlIHZhbHVlIGNoYW5nZXMuXG4gICAgdGhpcy4jc3RhcnREYXRlQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChzdGFydERhdGUpID0+IHtcbiAgICAgICAgdGhpcy4jcGF0Y2hWYWx1ZSh7IHN0YXJ0RGF0ZSB9KTtcbiAgICAgIH0pO1xuXG4gICAgLy8gV2F0Y2ggZm9yIGVuZCBkYXRlIHZhbHVlIGNoYW5nZXMuXG4gICAgdGhpcy4jZW5kRGF0ZUNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZW5kRGF0ZSkgPT4ge1xuICAgICAgICB0aGlzLiNwYXRjaFZhbHVlKHsgZW5kRGF0ZSB9KTtcbiAgICAgIH0pO1xuXG4gICAgLy8gU2FmZXR5IGNoZWNrXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jc3RhcnREYXRlQ29udHJvbCAmJiB0aGlzLiNlbmREYXRlQ29udHJvbCkge1xuICAgICAgLy8gRGV0ZWN0IGVycm9ycyBmcm9tIHRoZSBkYXRlIGlucHV0cyBhbmQgdXBkYXRlIG5nLSBjbGFzc2VzIG9uIHBpY2tlci5cbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLiNzdGFydERhdGVDb250cm9sLnN0YXR1c0NoYW5nZXMsXG4gICAgICAgIHRoaXMuI2VuZERhdGVDb250cm9sLnN0YXR1c0NoYW5nZXMsXG4gICAgICBdKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUJhc2VkT25Db250cm9scygpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2wpIHtcbiAgICAgIHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2wuc3RhdHVzQ2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUJhc2VkT25Db250cm9scygpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuI2VuZERhdGVDb250cm9sKSB7XG4gICAgICB0aGlzLiNlbmREYXRlQ29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQmFzZWRPbkNvbnRyb2xzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVCYXNlZE9uQ29udHJvbHMoKTogdm9pZCB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBXYWl0IGZvciBpbml0aWFsIHZhbGlkYXRpb24gdG8gY29tcGxldGUuXG4gICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuI2NvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgI3VwZGF0ZUNhbGN1bGF0b3JzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNkYXRlUmFuZ2VTZXJ2aWNlXG4gICAgICAuZ2V0Q2FsY3VsYXRvcnModGhpcy5jYWxjdWxhdG9ySWRzKVxuICAgICAgLnRoZW4oKGNhbGN1bGF0b3JzKSA9PiB7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRvcnMgPSBjYWxjdWxhdG9ycztcbiAgICAgICAgLy8gRW5zdXJlIHRoYXQgYW55IHByZXZpb3VzbHkgc2V0IHZhbHVlIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBzZWxlY3RlZCBjYWxjdWxhdG9yXG4gICAgICAgIHRoaXMuI3VwZGF0ZVNlbGVjdGVkQ2FsY3VsYXRvcigpO1xuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgI2dldENhbGN1bGF0b3JCeUlkKFxuICAgIGlkOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWRcbiAgKTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRvcnMuZmluZCgoY2FsY3VsYXRvcikgPT4ge1xuICAgICAgcmV0dXJuIGNhbGN1bGF0b3IuY2FsY3VsYXRvcklkID09PSBpZDtcbiAgICB9KTtcbiAgfVxuXG4gICNkYXRlUmFuZ2VzRXF1YWwoXG4gICAgcmFuZ2VBOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCxcbiAgICByYW5nZUI6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHwgdW5kZWZpbmVkXG4gICk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIXJhbmdlQSAmJiAhIXJhbmdlQiAmJiBKU09OLnN0cmluZ2lmeShyYW5nZUEpID09PSBKU09OLnN0cmluZ2lmeShyYW5nZUIpXG4gICAgKTtcbiAgfVxuXG4gICN1cGRhdGVTZWxlY3RlZENhbGN1bGF0b3IoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENhbGN1bGF0b3IgPSB0aGlzLiN2YWx1ZU9yRGVmYXVsdFxuICAgICAgPyB0aGlzLiNnZXRDYWxjdWxhdG9yQnlJZCh0aGlzLiN2YWx1ZU9yRGVmYXVsdC5jYWxjdWxhdG9ySWQpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24sIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAjb25DaGFuZ2UgPSAoXzogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQpOiB2b2lkID0+IHt9O1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICNvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7fTtcbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJpc1JlYWR5ICYmIGZvcm1Hcm91cFwiXG4gIGNsYXNzPVwic2t5LWRhdGUtcmFuZ2UtcGlja2VyXCJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuPlxuICA8ZGl2IGNsYXNzPVwic2t5LWRhdGUtcmFuZ2UtcGlja2VyLWZvcm0tZ3JvdXBcIj5cbiAgICA8c2t5LWlucHV0LWJveD5cbiAgICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgICAgICAgW2F0dHIuZm9yXT1cImRhdGVSYW5nZVBpY2tlcklkICsgJy1zZWxlY3QtY2FsY3VsYXRvcidcIlxuICAgICAgPlxuICAgICAgICB7eyBsYWJlbCB8fCAnc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZGVmYXVsdF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8c2VsZWN0XG4gICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbFwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNhbGN1bGF0b3JJZFwiXG4gICAgICAgIFthdHRyLmlkXT1cImRhdGVSYW5nZVBpY2tlcklkICsgJy1zZWxlY3QtY2FsY3VsYXRvcidcIlxuICAgICAgICAoYmx1cik9XCJvbkZpZWxkQmx1cigpXCJcbiAgICAgID5cbiAgICAgICAgPG9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjYWxjdWxhdG9yIG9mIGNhbGN1bGF0b3JzXCJcbiAgICAgICAgICBbdmFsdWVdPVwiY2FsY3VsYXRvci5jYWxjdWxhdG9ySWRcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgY2FsY3VsYXRvci5zaG9ydERlc2NyaXB0aW9uIH19XG4gICAgICAgIDwvb3B0aW9uPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9za3ktaW5wdXQtYm94PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwic2t5LWRhdGUtcmFuZ2UtcGlja2VyLWZvcm0tZ3JvdXBcIiBbaGlkZGVuXT1cIiFzaG93U3RhcnREYXRlUGlja2VyXCI+XG4gICAgPHNreS1pbnB1dC1ib3g+XG4gICAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgIFthdHRyLmZvcl09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctc3RhcnQtZGF0ZSdcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZCc6IHN0YXJ0RGF0ZVJlcXVpcmVkIH1cIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgIHNlbGVjdGVkQ2FsY3VsYXRvcj8udHlwZVxuICAgICAgICAgICAgfCBza3lEYXRlUmFuZ2VQaWNrZXJTdGFydERhdGVSZXNvdXJjZUtleVxuICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgfX1cbiAgICAgIDwvbGFiZWw+XG5cbiAgICAgIDxza3ktZGF0ZXBpY2tlcj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnREYXRlXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgc2VsZWN0ZWRDYWxjdWxhdG9yPy50eXBlXG4gICAgICAgICAgICAgIHwgc2t5RGF0ZVJhbmdlUGlja2VyU3RhcnREYXRlUmVzb3VyY2VLZXlcbiAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLmlkXT1cImRhdGVSYW5nZVBpY2tlcklkICsgJy1zdGFydC1kYXRlJ1wiXG4gICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiZGF0ZUZvcm1hdE9yRGVmYXVsdFwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cIiEhc3RhcnREYXRlUmVxdWlyZWRcIlxuICAgICAgICAgIFtkYXRlRm9ybWF0XT1cImRhdGVGb3JtYXRPckRlZmF1bHRcIlxuICAgICAgICAgIChibHVyKT1cIm9uRmllbGRCbHVyKClcIlxuICAgICAgICAgIHNreURhdGVwaWNrZXJJbnB1dFxuICAgICAgICAvPlxuICAgICAgPC9za3ktZGF0ZXBpY2tlcj5cbiAgICA8L3NreS1pbnB1dC1ib3g+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJza3ktZGF0ZS1yYW5nZS1waWNrZXItZm9ybS1ncm91cFwiIFtoaWRkZW5dPVwiIXNob3dFbmREYXRlUGlja2VyXCI+XG4gICAgPHNreS1pbnB1dC1ib3g+XG4gICAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgIFthdHRyLmZvcl09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctZW5kLWRhdGUnXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnOiBlbmREYXRlUmVxdWlyZWQgfVwiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgc2VsZWN0ZWRDYWxjdWxhdG9yPy50eXBlXG4gICAgICAgICAgICB8IHNreURhdGVSYW5nZVBpY2tlckVuZERhdGVSZXNvdXJjZUtleVxuICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgfX1cbiAgICAgIDwvbGFiZWw+XG5cbiAgICAgIDxza3ktZGF0ZXBpY2tlcj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW5kRGF0ZVwiXG4gICAgICAgICAgc2t5RGF0ZXBpY2tlcklucHV0XG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgIHNlbGVjdGVkQ2FsY3VsYXRvcj8udHlwZVxuICAgICAgICAgICAgICB8IHNreURhdGVSYW5nZVBpY2tlckVuZERhdGVSZXNvdXJjZUtleVxuICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgIFwiXG4gICAgICAgICAgW2F0dHIuaWRdPVwiZGF0ZVJhbmdlUGlja2VySWQgKyAnLWVuZC1kYXRlJ1wiXG4gICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiZGF0ZUZvcm1hdE9yRGVmYXVsdFwiXG4gICAgICAgICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdE9yRGVmYXVsdFwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cIiEhZW5kRGF0ZVJlcXVpcmVkXCJcbiAgICAgICAgICAoYmx1cik9XCJvbkZpZWxkQmx1cigpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc2t5LWRhdGVwaWNrZXI+XG4gICAgPC9za3ktaW5wdXQtYm94PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
492
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsS0FBSyxFQUtMLFFBQVEsRUFFUixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGFBQWEsRUFDYixpQkFBaUIsRUFFakIsa0JBQWtCLEdBSW5CLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUtoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7O0FBRWhGLE1BQU0sb0NBQW9DLEdBQUc7SUFDM0MsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO0lBQzFELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0sK0JBQStC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SUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FDMUUsQ0FBQztBQUNKLENBQUM7SUFHQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsdUJBQUEsSUFBSSwrRkFBZ0I7UUFDNUMsQ0FBQyxDQUFDLHVCQUFBLElBQUksOEZBQW1CLE1BQXZCLElBQUksRUFBb0IsdUJBQUEsSUFBSSwrRkFBZ0IsQ0FBQyxZQUFZLENBQUM7UUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNoQixDQUFDO3lIQXhpQlUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsd09BTjNCO1FBQ1Qsb0NBQW9DO1FBQ3BDLCtCQUErQjtLQUNoQywrQ0NyRUgsKzRGQStGQTs0RkR2QmEsMkJBQTJCO2tCQVZ2QyxTQUFTOytCQUNFLHVCQUF1QixhQUd0Qjt3QkFDVCxvQ0FBb0M7d0JBQ3BDLCtCQUErQjtxQkFDaEMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQTZMNUMsUUFBUTs0Q0FsTEEsYUFBYTtzQkFEdkIsS0FBSztnQkF3Q0ssVUFBVTtzQkFEcEIsS0FBSztnQkFlSyxRQUFRO3NCQURsQixLQUFLO2dCQXdCQyxLQUFLO3NCQURYLEtBQUs7Z0JBUUMsaUJBQWlCO3NCQUR2QixLQUFLO2dCQVFDLGVBQWU7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBVbnR5cGVkRm9ybUdyb3VwLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUFwcExvY2FsZVByb3ZpZGVyIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpcnN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGVGb3JtYXR0ZXIgfSBmcm9tICcuLi9kYXRlcGlja2VyL2RhdGUtZm9ybWF0dGVyJztcblxuaW1wb3J0IHsgU2t5RGF0ZVJhbmdlU2VydmljZSB9IGZyb20gJy4vZGF0ZS1yYW5nZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIH0gZnJvbSAnLi90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0aW9uJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0b3IgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvcic7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvci1pZCc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZSB9IGZyb20gJy4vdHlwZXMvZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLXR5cGUnO1xuXG5jb25zdCBTS1lfREFURV9SQU5HRV9QSUNLRVJfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbmNvbnN0IFNLWV9EQVRFX1JBTkdFX1BJQ0tFUl9WQUxJREFUT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreURhdGVSYW5nZVBpY2tlckNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuLyoqXG4gKiBBY3RzIGFzIGEgZm9ybSBjb250cm9sIHdpdGggYSBmb3JtIG1vZGVsIG9mIHR5cGUgYFNreURhdGVSYW5nZUNhbGN1bGF0aW9uYC5cbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIDxza3ktZGF0ZS1yYW5nZS1waWNrZXJcbiAqICAgZm9ybUNvbnRyb2xOYW1lPVwibXlQaWNrZXJcIlxuICogPlxuICogPC9za3ktZGF0ZS1yYW5nZS1waWNrZXI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRhdGUtcmFuZ2UtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU0tZX0RBVEVfUkFOR0VfUElDS0VSX1ZBTFVFX0FDQ0VTU09SLFxuICAgIFNLWV9EQVRFX1JBTkdFX1BJQ0tFUl9WQUxJREFUT1IsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yXG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgSURzIGZvciB0aGUgZGF0ZSByYW5nZSBvcHRpb25zIHRvIGluY2x1ZGUgaW4gdGhlIHBpY2tlcidzIGRyb3Bkb3duLlxuICAgKiBUaGUgb3B0aW9ucyBzcGVjaWZ5IGNhbGN1bGF0b3Igb2JqZWN0cyB0aGF0IHJldHVybiB0d28gYERhdGVgIG9iamVjdHMgdG8gcmVwcmVzZW50IGRhdGUgcmFuZ2VzLlxuICAgKiBCeSBkZWZhdWx0LCB0aGlzIHByb3BlcnR5IGluY2x1ZGVzIGFsbCBgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkYCB2YWx1ZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNhbGN1bGF0b3JJZHModmFsdWU6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZFtdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2NhbGN1bGF0b3JJZHMgPSB2YWx1ZSB8fCBbXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQW55VGltZSxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5CZWZvcmUsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQWZ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuU3BlY2lmaWNSYW5nZSxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5ZZXN0ZXJkYXksXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9kYXksXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9tb3Jyb3csXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdFdlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1dlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dFdlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdE1vbnRoLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNNb250aCxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0TW9udGgsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdFF1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1F1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dFF1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdENhbGVuZGFyWWVhcixcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzQ2FsZW5kYXJZZWFyLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRDYWxlbmRhclllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdEZpc2NhbFllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc0Zpc2NhbFllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dEZpc2NhbFllYXIsXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FsY3VsYXRvcklkcygpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWRbXSB7XG4gICAgcmV0dXJuIHRoaXMuI19jYWxjdWxhdG9ySWRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGRhdGUgZm9ybWF0IGZvclxuICAgKiBbdGhlIGBza3ktZGF0ZXBpY2tlcmAgY29tcG9uZW50c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2RhdGVwaWNrZXIpXG4gICAqIHRoYXQgbWFrZSB1cCB0aGUgZGF0ZSByYW5nZSBwaWNrZXIuIFRoZSB0ZXh0IGlucHV0IGlzIGEgY29tcG9zaXRlIGNvbXBvbmVudCBvZlxuICAgKiB1cCB0byB0d28gYHNreS1kYXRlcGlja2VyYCBjb21wb25lbnRzLlxuICAgKiBAZGVmYXVsdCBcIk1NL0REL1lZWVlcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRlRm9ybWF0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGF0ZUZvcm1hdCA9IHZhbHVlO1xuICAgIHRoaXMuZGF0ZUZvcm1hdE9yRGVmYXVsdCA9IHZhbHVlIHx8IHRoaXMuI3ByZWZlcnJlZFNob3J0RGF0ZUZvcm1hdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZUZvcm1hdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGF0ZUZvcm1hdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSBkYXRlIHJhbmdlIHBpY2tlci5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cCkge1xuICAgICAgaWYgKHRoaXMuI19kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBsYWJlbCBmb3IgdGhlIGRhdGUgcmFuZ2UgcGlja2VyLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byByZXF1aXJlIHVzZXJzIHRvIHNwZWNpZnkgYSBzdGFydCBkYXRlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0RGF0ZVJlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIHJlcXVpcmUgdXNlcnMgdG8gc3BlY2lmeSBhIGVuZCBkYXRlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGVuZERhdGVSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZWxlY3RlZENhbGN1bGF0b3I6IFNreURhdGVSYW5nZUNhbGN1bGF0b3IgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGVSYW5nZVBpY2tlcklkID0gYHNreS1kYXRlLXJhbmdlLXBpY2tlci0ke3VuaXF1ZUlkKyt9YDtcblxuICBwdWJsaWMgY2FsY3VsYXRvcnM6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JbXSA9IFtdO1xuICBwdWJsaWMgZGF0ZUZvcm1hdE9yRGVmYXVsdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgaXNSZWFkeSA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd0VuZERhdGVQaWNrZXIgPSBmYWxzZTtcbiAgcHVibGljIHNob3dTdGFydERhdGVQaWNrZXIgPSBmYWxzZTtcblxuICBnZXQgI2NhbGN1bGF0b3JJZENvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ2NhbGN1bGF0b3JJZCcpO1xuICB9XG5cbiAgZ2V0ICNkZWZhdWx0Q2FsY3VsYXRvcigpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdG9yc1swXTtcbiAgfVxuXG4gIGdldCAjZGVmYXVsdFZhbHVlKCk6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jZGVmYXVsdENhbGN1bGF0b3I/LmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgI2VuZERhdGVDb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cD8uZ2V0KCdlbmREYXRlJyk7XG4gIH1cblxuICBnZXQgI3N0YXJ0RGF0ZUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ3N0YXJ0RGF0ZScpO1xuICB9XG5cbiAgI3ZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZDtcblxuICBzZXQgI3ZhbHVlT3JEZWZhdWx0KHZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI192YWx1ZU9yRGVmYXVsdCA9IHZhbHVlO1xuICAgIHRoaXMuI3VwZGF0ZVNlbGVjdGVkQ2FsY3VsYXRvcigpO1xuICB9XG5cbiAgZ2V0ICN2YWx1ZU9yRGVmYXVsdCgpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI192YWx1ZU9yRGVmYXVsdDtcbiAgfVxuXG4gICNjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQ7XG4gICNwcmVmZXJyZWRTaG9ydERhdGVGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfY2FsY3VsYXRvcklkczogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkW10gPSBbXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLkFueVRpbWUsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLkJlZm9yZSxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQWZ0ZXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlNwZWNpZmljUmFuZ2UsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlllc3RlcmRheSxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9kYXksXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRvbW9ycm93LFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0V2VlayxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1dlZWssXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRXZWVrLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0TW9udGgsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNNb250aCxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dE1vbnRoLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0UXVhcnRlcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1F1YXJ0ZXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRRdWFydGVyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0Q2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzQ2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0Q2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0RmlzY2FsWWVhcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc0Zpc2NhbFllYXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRGaXNjYWxZZWFyLFxuICBdO1xuICAjX2RhdGVGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI19kaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuICAjX3ZhbHVlT3JEZWZhdWx0OiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZGF0ZVJhbmdlU2VydmljZTogU2t5RGF0ZVJhbmdlU2VydmljZTtcbiAgI2Zvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXI7XG4gICNsb2NhbGVQcm92aWRlcjogU2t5QXBwTG9jYWxlUHJvdmlkZXI7XG4gICNuZ1pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgZGF0ZVJhbmdlU2VydmljZTogU2t5RGF0ZVJhbmdlU2VydmljZSxcbiAgICBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIGxvY2FsZVByb3ZpZGVyOiBTa3lBcHBMb2NhbGVQcm92aWRlcixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2RhdGVSYW5nZVNlcnZpY2UgPSBkYXRlUmFuZ2VTZXJ2aWNlO1xuICAgIHRoaXMuI2Zvcm1CdWlsZGVyID0gZm9ybUJ1aWxkZXI7XG4gICAgdGhpcy4jbG9jYWxlUHJvdmlkZXIgPSBsb2NhbGVQcm92aWRlcjtcbiAgICB0aGlzLiNuZ1pvbmUgPSBuZ1pvbmU7XG5cbiAgICB0aGlzLmRhdGVGb3JtYXRPckRlZmF1bHQgPSB0aGlzLmRhdGVGb3JtYXQ7XG5cbiAgICB0aGlzLiNsb2NhbGVQcm92aWRlclxuICAgICAgLmdldExvY2FsZUluZm8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlSW5mbykgPT4ge1xuICAgICAgICBTa3lEYXRlRm9ybWF0dGVyLnNldExvY2FsZShsb2NhbGVJbmZvLmxvY2FsZSk7XG4gICAgICAgIHRoaXMuI3ByZWZlcnJlZFNob3J0RGF0ZUZvcm1hdCA9XG4gICAgICAgICAgU2t5RGF0ZUZvcm1hdHRlci5nZXRQcmVmZXJyZWRTaG9ydERhdGVGb3JtYXQoKTtcbiAgICAgICAgdGhpcy5kYXRlRm9ybWF0T3JEZWZhdWx0ID1cbiAgICAgICAgICB0aGlzLmRhdGVGb3JtYXQgfHwgdGhpcy4jcHJlZmVycmVkU2hvcnREYXRlRm9ybWF0O1xuICAgICAgfSk7XG5cbiAgICAvLyBVcGRhdGUgaWNvbnMgd2hlbiB0aGVtZSBjaGFuZ2VzLlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdGhlbWVTdmM/LnNldHRpbmdzQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNjcmVhdGVGb3JtKCk7XG5cbiAgICB0aGlzLiN1cGRhdGVDYWxjdWxhdG9ycygpLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLiN2YWx1ZSB8fCAhdGhpcy4jdmFsdWUuY2FsY3VsYXRvcklkKSB7XG4gICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0ID0gdGhpcy4jZGVmYXVsdFZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNhZGRFdmVudExpc3RlbmVycygpO1xuXG4gICAgICB0aGlzLmlzUmVhZHkgPSB0cnVlO1xuXG4gICAgICB0aGlzLiNzaG93UmVsZXZhbnRGb3JtRmllbGRzKCk7XG5cbiAgICAgIC8vIFdlIG5lZWQgdG8gbGV0IEFuZ3VsYXIgYmUgc3RhYmxlIGFuZCBoYXZlIHJlbmRlcmVkIHRoZSBjb21wb25lbnRzIHByaW9yIHRvIHNldHRpbmcgdGhlIHZhbHVlcyBhbmQgZm9ybSBjb250cm9scy4gVGhpcyBlbnN1cmVzIGFsbCBpbml0aWFsIHZhbGlkYXRpb24gd2lsbCBiZSByYW4gY29ycmVjdGx5LlxuICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gRmlsbCBpbiBhbnkgdW5wcm92aWRlZCB2YWx1ZXMgYWZ0ZXIgdGhlIGNhbGN1bGF0b3JzIGhhdmUgYmVlbiBpbml0aWFsaXplZC5cbiAgICAgICAgLy8gRm9yIGV4YW1wbGUsIGlmIHRoZSBjb250cm9sIGlzIGluaXRpYWxpemVkIHdpdGggb25seSB0aGUgYGNhbGN1bGF0b3JJZGAsXG4gICAgICAgIC8vIGFsbG93IHRoZSBjYWxjdWxhdG9yIHRvIGZpbGwgaW4gdGhlIG1pc3Npbmcgc3RhcnQgYW5kIGVuZCBkYXRlcy5cbiAgICAgICAgY29uc3QgZGVmYXVsdFZhbHVlID0gdGhpcy5zZWxlY3RlZENhbGN1bGF0b3I/LmdldFZhbHVlKFxuICAgICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0Py5zdGFydERhdGUsXG4gICAgICAgICAgdGhpcy4jdmFsdWVPckRlZmF1bHQ/LmVuZERhdGVcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0VmFsdWUsIHRoaXMuI3ZhbHVlT3JEZWZhdWx0KTtcblxuICAgICAgICB0aGlzLiNzZXRWYWx1ZShuZXdWYWx1ZSwgZmFsc2UpO1xuXG4gICAgICAgIHRoaXMuI3Jlc2V0Rm9ybUdyb3VwVmFsdWUoKTtcblxuICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBhZGRyZXNzIGEgYnVnIGluIEFuZ3VsYXIgNC5cbiAgICAgICAgLy8gV2hlbiBhIGNvbnRyb2wgdmFsdWUgaXMgc2V0IGludGlhbGx5LCBpdHMgdmFsdWUgaXMgbm90IHJlcHJlc2VudGVkIG9uIHRoZSB2aWV3LlxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzEzNzkyXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLiNjb250cm9sKSB7XG4gICAgICAgICAgdGhpcy4jY29udHJvbC5zZXRWYWx1ZSh0aGlzLiN2YWx1ZU9yRGVmYXVsdCwge1xuICAgICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmNhbGN1bGF0b3JJZHMgJiYgY2hhbmdlcy5jYWxjdWxhdG9ySWRzLmZpcnN0Q2hhbmdlID09PSBmYWxzZSkge1xuICAgICAgdGhpcy4jdXBkYXRlQ2FsY3VsYXRvcnMoKS50aGVuKCgpID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSB0aGlzLiNjYWxjdWxhdG9ySWRDb250cm9sPy52YWx1ZTtcblxuICAgICAgICAvLyBNYWludGFpbiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHZhbHVlcyBpZiB0aGUgY2FsY3VsYXRvcnMgY2hhbmdlIGFmdGVyXG4gICAgICAgIC8vIGEgdmFsdWUgaGFzIGJlZW4gY2hvc2VuLlxuICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMuY2FsY3VsYXRvcnMuZmluZCgoY2FsY3VsYXRvcikgPT4ge1xuICAgICAgICAgIHJldHVybiBjYWxjdWxhdG9yLmNhbGN1bGF0b3JJZCA9PT0gaWQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuI2RlZmF1bHRDYWxjdWxhdG9yPy5nZXRWYWx1ZSgpO1xuICAgICAgICAgIHRoaXMuI3NldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgICB0aGlzLiNyZXNldEZvcm1Hcm91cFZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgICB0aGlzLiNzaG93UmVsZXZhbnRGb3JtRmllbGRzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb25GaWVsZEJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkKCk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24pOiB2b2lkIHtcbiAgICAvLyBPbmx5IHVwZGF0ZSB0aGUgdW5kZXJseWluZyBjb250cm9scyB3aGVuIHRoZSBjYWxjdWxhdG9ycyBhcmUgcmVhZHkuXG4gICAgY29uc3Qgbm90aWZ5Q2hhbmdlID0gZmFsc2U7XG5cbiAgICAvLyAoV2Ugc3RpbGwgbmVlZCB0byBzYXZlIHRoZSBpbml0aWFsIHZhbHVlIHNldCBieSB0aGUgY29uc3VtZXIncyBmb3JtLCBob3dldmVyLilcbiAgICB0aGlzLiNzZXRWYWx1ZSh2YWx1ZSwgbm90aWZ5Q2hhbmdlKTtcblxuICAgIGlmICh0aGlzLmlzUmVhZHkpIHtcbiAgICAgIC8vIFdoZW4gdGhlIGNvbnRyb2wncyB2YWx1ZSBpcyBzZXQgdG8gYG51bGxgLFxuICAgICAgLy8gc2V0IGl0IHRvIHRoZSBkZWZhdWx0IHZhbHVlLlxuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICB0aGlzLiNvbkNoYW5nZSh0aGlzLiNkZWZhdWx0VmFsdWUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNyZXNldEZvcm1Hcm91cFZhbHVlKCk7XG4gICAgICB0aGlzLiNzaG93UmVsZXZhbnRGb3JtRmllbGRzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuI2NvbnRyb2wpIHtcbiAgICAgIHRoaXMuI2NvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pc1JlYWR5KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgY29uc3QgaWRDb250cm9sID0gdGhpcy4jY2FsY3VsYXRvcklkQ29udHJvbDtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnNlbGVjdGVkQ2FsY3VsYXRvcj8udmFsaWRhdGUodmFsdWUpO1xuXG4gICAgbGV0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgZXJyb3JzID0ge1xuICAgICAgICBza3lEYXRlUmFuZ2U6IHtcbiAgICAgICAgICBjYWxjdWxhdG9ySWQ6IGlkQ29udHJvbD8udmFsdWUsXG4gICAgICAgICAgZXJyb3JzOiByZXN1bHQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgc3RhcnRFcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcbiAgICAgIGxldCBlbmRFcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcbiAgICAgIGlmICh0aGlzLiNzdGFydERhdGVDb250cm9sKSB7XG4gICAgICAgIHN0YXJ0RXJyb3JzID0gdGhpcy4jc3RhcnREYXRlQ29udHJvbC5lcnJvcnM7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy4jZW5kRGF0ZUNvbnRyb2wpIHtcbiAgICAgICAgZW5kRXJyb3JzID0gdGhpcy4jZW5kRGF0ZUNvbnRyb2wuZXJyb3JzO1xuICAgICAgfVxuXG4gICAgICBlcnJvcnMgPSBzdGFydEVycm9ycyB8fCBlbmRFcnJvcnM7XG4gICAgfVxuXG4gICAgaWYgKCFlcnJvcnMpIHtcbiAgICAgIC8vIENsZWFyIGFueSBlcnJvcnMgb24gdGhlIGNhbGN1bGF0b3Igc2VsZWN0LlxuICAgICAgaWRDb250cm9sPy5zZXRFcnJvcnMobnVsbCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZENvbnRyb2w/LnNldEVycm9ycyhlcnJvcnMpO1xuICAgIGlkQ29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICAgIGlkQ29udHJvbD8ubWFya0FzRGlydHkoKTtcblxuICAgIC8vIE5lZWQgdG8gbWFyayB0aGUgY29udHJvbCBhcyB0b3VjaGVkIGZvciB0aGUgZXJyb3IgbWVzc2FnZXMgdG8gYXBwZWFyLlxuICAgIHRoaXMuI2NvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuXG4gICAgLy8gTm90aWZ5IHRoZSB2aWV3IHRvIGRpc3BsYXkgYW55IGVycm9ycy5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShcbiAgICBmbjogKHZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCkgPT4gU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb25cbiAgKTogdm9pZCB7XG4gICAgdGhpcy4jb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLiNvblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG5cbiAgI3NldFZhbHVlKFxuICAgIHZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCxcbiAgICBub3RpZnlDaGFuZ2UgPSB0cnVlXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGlzTmV3VmFsdWUgPSAhdGhpcy4jZGF0ZVJhbmdlc0VxdWFsKHRoaXMuI3ZhbHVlLCB2YWx1ZSk7XG5cbiAgICBpZiAoaXNOZXdWYWx1ZSkge1xuICAgICAgdGhpcy4jdmFsdWUgPSB2YWx1ZTtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUuY2FsY3VsYXRvcklkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy4jdmFsdWVPckRlZmF1bHQgPSB0aGlzLiNkZWZhdWx0VmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiN2YWx1ZU9yRGVmYXVsdCA9IHZhbHVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobm90aWZ5Q2hhbmdlKSB7XG4gICAgICAgIHRoaXMuI29uQ2hhbmdlKHRoaXMuI3ZhbHVlT3JEZWZhdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjcGF0Y2hWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLiN2YWx1ZU9yRGVmYXVsdCwgdmFsdWUpO1xuXG4gICAgdGhpcy4jc2V0VmFsdWUobmV3VmFsdWUpO1xuICB9XG5cbiAgI2NyZWF0ZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLiNmb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBjYWxjdWxhdG9ySWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcbiAgICAgIHN0YXJ0RGF0ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxuICAgICAgZW5kRGF0ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICAjc2hvd1JlbGV2YW50Rm9ybUZpZWxkcygpOiB2b2lkIHtcbiAgICBjb25zdCBjYWxjdWxhdG9yID0gdGhpcy5zZWxlY3RlZENhbGN1bGF0b3I7XG5cbiAgICBsZXQgc2hvd0VuZERhdGVQaWNrZXIgPSBmYWxzZTtcbiAgICBsZXQgc2hvd1N0YXJ0RGF0ZVBpY2tlciA9IGZhbHNlO1xuXG4gICAgc3dpdGNoIChjYWxjdWxhdG9yPy50eXBlKSB7XG4gICAgICBjYXNlIFNreURhdGVSYW5nZUNhbGN1bGF0b3JUeXBlLkJlZm9yZTpcbiAgICAgICAgc2hvd0VuZERhdGVQaWNrZXIgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZS5BZnRlcjpcbiAgICAgICAgc2hvd1N0YXJ0RGF0ZVBpY2tlciA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreURhdGVSYW5nZUNhbGN1bGF0b3JUeXBlLlJhbmdlOlxuICAgICAgICBzaG93RW5kRGF0ZVBpY2tlciA9IHRydWU7XG4gICAgICAgIHNob3dTdGFydERhdGVQaWNrZXIgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5zaG93RW5kRGF0ZVBpY2tlciA9IHNob3dFbmREYXRlUGlja2VyO1xuICAgIHRoaXMuc2hvd1N0YXJ0RGF0ZVBpY2tlciA9IHNob3dTdGFydERhdGVQaWNrZXI7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjcmVzZXRGb3JtR3JvdXBWYWx1ZSh2YWx1ZT86IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXA/LnJlc2V0KHZhbHVlIHx8IHRoaXMuI3ZhbHVlT3JEZWZhdWx0KTtcbiAgfVxuXG4gICNhZGRFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICAvLyBXYXRjaCBmb3Igc2VsZWN0ZWQgY2FsY3VsYXRvciBjaGFuZ2UuXG4gICAgdGhpcy4jY2FsY3VsYXRvcklkQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuI3ZhbHVlT3JEZWZhdWx0Py5jYWxjdWxhdG9ySWQpIHtcbiAgICAgICAgICBjb25zdCBpZCA9IHBhcnNlSW50KHZhbHVlLCAxMCk7XG4gICAgICAgICAgLy8gaWYgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZCBkdXJpbmcgZm9ybSBjcmVhdGlvbiwgbnVsbCBpcyBwYXNzZWRcbiAgICAgICAgICAvLyBhcyB0aGUgdmFsdWUgb2YgdGhlIGNhbGN1bGF0b3IgaWQgY29udHJvbFxuICAgICAgICAgIC8vIG9ubHkgaGFuZGxlIHRoZSB2YWx1ZSBjaGFuZ2VzIGlmIHRoZSBjYWxjdWxhdG9yIGlkIGlzIGEgbnVtYmVyXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAoIWlzTmFOKGlkKSkge1xuICAgICAgICAgICAgY29uc3QgY2FsY3VsYXRvciA9IHRoaXMuI2dldENhbGN1bGF0b3JCeUlkKGlkKTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY2FsY3VsYXRvcj8uZ2V0VmFsdWUoKTtcblxuICAgICAgICAgICAgdGhpcy4jc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgICAgICAgICAgdGhpcy4jcmVzZXRGb3JtR3JvdXBWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLiNzaG93UmVsZXZhbnRGb3JtRmllbGRzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIC8vIFdhdGNoIGZvciBzdGFydCBkYXRlIHZhbHVlIGNoYW5nZXMuXG4gICAgdGhpcy4jc3RhcnREYXRlQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChzdGFydERhdGUpID0+IHtcbiAgICAgICAgdGhpcy4jcGF0Y2hWYWx1ZSh7IHN0YXJ0RGF0ZSB9KTtcbiAgICAgIH0pO1xuXG4gICAgLy8gV2F0Y2ggZm9yIGVuZCBkYXRlIHZhbHVlIGNoYW5nZXMuXG4gICAgdGhpcy4jZW5kRGF0ZUNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZW5kRGF0ZSkgPT4ge1xuICAgICAgICB0aGlzLiNwYXRjaFZhbHVlKHsgZW5kRGF0ZSB9KTtcbiAgICAgIH0pO1xuXG4gICAgLy8gU2FmZXR5IGNoZWNrXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jc3RhcnREYXRlQ29udHJvbCAmJiB0aGlzLiNlbmREYXRlQ29udHJvbCkge1xuICAgICAgLy8gRGV0ZWN0IGVycm9ycyBmcm9tIHRoZSBkYXRlIGlucHV0cyBhbmQgdXBkYXRlIG5nLSBjbGFzc2VzIG9uIHBpY2tlci5cbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLiNzdGFydERhdGVDb250cm9sLnN0YXR1c0NoYW5nZXMsXG4gICAgICAgIHRoaXMuI2VuZERhdGVDb250cm9sLnN0YXR1c0NoYW5nZXMsXG4gICAgICBdKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUJhc2VkT25Db250cm9scygpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2wpIHtcbiAgICAgIHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2wuc3RhdHVzQ2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUJhc2VkT25Db250cm9scygpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuI2VuZERhdGVDb250cm9sKSB7XG4gICAgICB0aGlzLiNlbmREYXRlQ29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQmFzZWRPbkNvbnRyb2xzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVCYXNlZE9uQ29udHJvbHMoKTogdm9pZCB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBXYWl0IGZvciBpbml0aWFsIHZhbGlkYXRpb24gdG8gY29tcGxldGUuXG4gICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuI2NvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgI3VwZGF0ZUNhbGN1bGF0b3JzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNkYXRlUmFuZ2VTZXJ2aWNlXG4gICAgICAuZ2V0Q2FsY3VsYXRvcnModGhpcy5jYWxjdWxhdG9ySWRzKVxuICAgICAgLnRoZW4oKGNhbGN1bGF0b3JzKSA9PiB7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRvcnMgPSBjYWxjdWxhdG9ycztcbiAgICAgICAgLy8gRW5zdXJlIHRoYXQgYW55IHByZXZpb3VzbHkgc2V0IHZhbHVlIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBzZWxlY3RlZCBjYWxjdWxhdG9yXG4gICAgICAgIHRoaXMuI3VwZGF0ZVNlbGVjdGVkQ2FsY3VsYXRvcigpO1xuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgI2dldENhbGN1bGF0b3JCeUlkKFxuICAgIGlkOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWRcbiAgKTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRvcnMuZmluZCgoY2FsY3VsYXRvcikgPT4ge1xuICAgICAgcmV0dXJuIGNhbGN1bGF0b3IuY2FsY3VsYXRvcklkID09PSBpZDtcbiAgICB9KTtcbiAgfVxuXG4gICNkYXRlUmFuZ2VzRXF1YWwoXG4gICAgcmFuZ2VBOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCxcbiAgICByYW5nZUI6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHwgdW5kZWZpbmVkXG4gICk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIXJhbmdlQSAmJiAhIXJhbmdlQiAmJiBKU09OLnN0cmluZ2lmeShyYW5nZUEpID09PSBKU09OLnN0cmluZ2lmeShyYW5nZUIpXG4gICAgKTtcbiAgfVxuXG4gICN1cGRhdGVTZWxlY3RlZENhbGN1bGF0b3IoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENhbGN1bGF0b3IgPSB0aGlzLiN2YWx1ZU9yRGVmYXVsdFxuICAgICAgPyB0aGlzLiNnZXRDYWxjdWxhdG9yQnlJZCh0aGlzLiN2YWx1ZU9yRGVmYXVsdC5jYWxjdWxhdG9ySWQpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24sIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAjb25DaGFuZ2UgPSAoXzogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQpOiB2b2lkID0+IHt9O1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICNvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7fTtcbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJpc1JlYWR5ICYmIGZvcm1Hcm91cFwiXG4gIGNsYXNzPVwic2t5LWRhdGUtcmFuZ2UtcGlja2VyXCJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuPlxuICA8ZGl2IGNsYXNzPVwic2t5LWRhdGUtcmFuZ2UtcGlja2VyLWZvcm0tZ3JvdXBcIj5cbiAgICA8c2t5LWlucHV0LWJveD5cbiAgICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgICAgICAgW2F0dHIuZm9yXT1cImRhdGVSYW5nZVBpY2tlcklkICsgJy1zZWxlY3QtY2FsY3VsYXRvcidcIlxuICAgICAgPlxuICAgICAgICB7eyBsYWJlbCB8fCAnc2t5dXhfZGF0ZV9yYW5nZV9waWNrZXJfZGVmYXVsdF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8c2VsZWN0XG4gICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbFwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNhbGN1bGF0b3JJZFwiXG4gICAgICAgIFthdHRyLmlkXT1cImRhdGVSYW5nZVBpY2tlcklkICsgJy1zZWxlY3QtY2FsY3VsYXRvcidcIlxuICAgICAgICAoYmx1cik9XCJvbkZpZWxkQmx1cigpXCJcbiAgICAgID5cbiAgICAgICAgPG9wdGlvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjYWxjdWxhdG9yIG9mIGNhbGN1bGF0b3JzXCJcbiAgICAgICAgICBbdmFsdWVdPVwiY2FsY3VsYXRvci5jYWxjdWxhdG9ySWRcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgY2FsY3VsYXRvci5zaG9ydERlc2NyaXB0aW9uIH19XG4gICAgICAgIDwvb3B0aW9uPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9za3ktaW5wdXQtYm94PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwic2t5LWRhdGUtcmFuZ2UtcGlja2VyLWZvcm0tZ3JvdXBcIiBbaGlkZGVuXT1cIiFzaG93U3RhcnREYXRlUGlja2VyXCI+XG4gICAgPHNreS1pbnB1dC1ib3g+XG4gICAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgIFthdHRyLmZvcl09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctc3RhcnQtZGF0ZSdcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZCc6IHN0YXJ0RGF0ZVJlcXVpcmVkIH1cIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgIHNlbGVjdGVkQ2FsY3VsYXRvcj8udHlwZVxuICAgICAgICAgICAgfCBza3lEYXRlUmFuZ2VQaWNrZXJTdGFydERhdGVSZXNvdXJjZUtleVxuICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgfX1cbiAgICAgIDwvbGFiZWw+XG5cbiAgICAgIDxza3ktZGF0ZXBpY2tlcj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnREYXRlXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgc2VsZWN0ZWRDYWxjdWxhdG9yPy50eXBlXG4gICAgICAgICAgICAgIHwgc2t5RGF0ZVJhbmdlUGlja2VyU3RhcnREYXRlUmVzb3VyY2VLZXlcbiAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLmlkXT1cImRhdGVSYW5nZVBpY2tlcklkICsgJy1zdGFydC1kYXRlJ1wiXG4gICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiZGF0ZUZvcm1hdE9yRGVmYXVsdFwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cIiEhc3RhcnREYXRlUmVxdWlyZWRcIlxuICAgICAgICAgIFtkYXRlRm9ybWF0XT1cImRhdGVGb3JtYXRPckRlZmF1bHRcIlxuICAgICAgICAgIChibHVyKT1cIm9uRmllbGRCbHVyKClcIlxuICAgICAgICAgIHNreURhdGVwaWNrZXJJbnB1dFxuICAgICAgICAvPlxuICAgICAgPC9za3ktZGF0ZXBpY2tlcj5cbiAgICA8L3NreS1pbnB1dC1ib3g+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJza3ktZGF0ZS1yYW5nZS1waWNrZXItZm9ybS1ncm91cFwiIFtoaWRkZW5dPVwiIXNob3dFbmREYXRlUGlja2VyXCI+XG4gICAgPHNreS1pbnB1dC1ib3g+XG4gICAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgIFthdHRyLmZvcl09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctZW5kLWRhdGUnXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnOiBlbmREYXRlUmVxdWlyZWQgfVwiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgc2VsZWN0ZWRDYWxjdWxhdG9yPy50eXBlXG4gICAgICAgICAgICB8IHNreURhdGVSYW5nZVBpY2tlckVuZERhdGVSZXNvdXJjZUtleVxuICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgfX1cbiAgICAgIDwvbGFiZWw+XG5cbiAgICAgIDxza3ktZGF0ZXBpY2tlcj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW5kRGF0ZVwiXG4gICAgICAgICAgc2t5RGF0ZXBpY2tlcklucHV0XG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgIHNlbGVjdGVkQ2FsY3VsYXRvcj8udHlwZVxuICAgICAgICAgICAgICB8IHNreURhdGVSYW5nZVBpY2tlckVuZERhdGVSZXNvdXJjZUtleVxuICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgIFwiXG4gICAgICAgICAgW2F0dHIuaWRdPVwiZGF0ZVJhbmdlUGlja2VySWQgKyAnLWVuZC1kYXRlJ1wiXG4gICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiZGF0ZUZvcm1hdE9yRGVmYXVsdFwiXG4gICAgICAgICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdE9yRGVmYXVsdFwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cIiEhZW5kRGF0ZVJlcXVpcmVkXCJcbiAgICAgICAgICAoYmx1cik9XCJvbkZpZWxkQmx1cigpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc2t5LWRhdGVwaWNrZXI+XG4gICAgPC9za3ktaW5wdXQtYm94PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
@@ -12,8 +12,8 @@ import { SkyDateRangeService } from './date-range.service';
|
|
12
12
|
import * as i0 from "@angular/core";
|
13
13
|
export class SkyDateRangePickerModule {
|
14
14
|
}
|
15
|
-
SkyDateRangePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
16
|
-
SkyDateRangePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
15
|
+
SkyDateRangePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
16
|
+
SkyDateRangePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangePickerModule, declarations: [SkyDateRangePickerComponent,
|
17
17
|
SkyDateRangePickerEndDateResourceKeyPipe,
|
18
18
|
SkyDateRangePickerStartDateResourceKeyPipe], imports: [CommonModule,
|
19
19
|
FormsModule,
|
@@ -22,14 +22,14 @@ SkyDateRangePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0"
|
|
22
22
|
SkyDatepickerModule,
|
23
23
|
SkyDatetimeResourcesModule,
|
24
24
|
SkyInputBoxModule], exports: [SkyDateRangePickerComponent] });
|
25
|
-
SkyDateRangePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
25
|
+
SkyDateRangePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangePickerModule, providers: [SkyDateRangeService], imports: [CommonModule,
|
26
26
|
FormsModule,
|
27
27
|
ReactiveFormsModule,
|
28
28
|
SkyI18nModule,
|
29
29
|
SkyDatepickerModule,
|
30
30
|
SkyDatetimeResourcesModule,
|
31
31
|
SkyInputBoxModule] });
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangePickerModule, decorators: [{
|
33
33
|
type: NgModule,
|
34
34
|
args: [{
|
35
35
|
declarations: [
|
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
50
50
|
providers: [SkyDateRangeService],
|
51
51
|
}]
|
52
52
|
}] });
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXJGLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQW9CM0QsTUFBTSxPQUFPLHdCQUF3Qjs7c0hBQXhCLHdCQUF3Qjt1SEFBeEIsd0JBQXdCLGlCQWhCakMsMkJBQTJCO1FBQzNCLHdDQUF3QztRQUN4QywwQ0FBMEMsYUFHMUMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQiwwQkFBMEI7UUFDMUIsaUJBQWlCLGFBRVQsMkJBQTJCO3VIQUcxQix3QkFBd0IsYUFGeEIsQ0FBQyxtQkFBbUIsQ0FBQyxZQVQ5QixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLDBCQUEwQjtRQUMxQixpQkFBaUI7NEZBS1Isd0JBQXdCO2tCQWxCcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osMkJBQTJCO3dCQUMzQix3Q0FBd0M7d0JBQ3hDLDBDQUEwQztxQkFDM0M7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQ3RDLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJbnB1dEJveE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJMThuTW9kdWxlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnLi4vZGF0ZXBpY2tlci9kYXRlcGlja2VyLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lEYXRldGltZVJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktZGF0ZXRpbWUtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreURhdGVSYW5nZVBpY2tlckVuZERhdGVSZXNvdXJjZUtleVBpcGUgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyLWVuZC1kYXRlLXJlc291cmNlLWtleS5waXBlJztcbmltcG9ydCB7IFNreURhdGVSYW5nZVBpY2tlclN0YXJ0RGF0ZVJlc291cmNlS2V5UGlwZSB9IGZyb20gJy4vZGF0ZS1yYW5nZS1waWNrZXItc3RhcnQtZGF0ZS1yZXNvdXJjZS1rZXkucGlwZSc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi9kYXRlLXJhbmdlLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXG4gICAgU2t5RGF0ZVJhbmdlUGlja2VyRW5kRGF0ZVJlc291cmNlS2V5UGlwZSxcbiAgICBTa3lEYXRlUmFuZ2VQaWNrZXJTdGFydERhdGVSZXNvdXJjZUtleVBpcGUsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTa3lJMThuTW9kdWxlLFxuICAgIFNreURhdGVwaWNrZXJNb2R1bGUsXG4gICAgU2t5RGF0ZXRpbWVSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5SW5wdXRCb3hNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtTa3lEYXRlUmFuZ2VTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZVJhbmdlUGlja2VyTW9kdWxlIHt9XG4iXX0=
|
@@ -1,7 +1,6 @@
|
|
1
1
|
var _SkyDateRangeService_instances, _SkyDateRangeService_calculatorReadyStream, _SkyDateRangeService_calculatorConfigs, _SkyDateRangeService_calculators, _SkyDateRangeService_resourcesService, _SkyDateRangeService_createDefaultCalculators;
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
3
|
import { Injectable } from '@angular/core';
|
4
|
-
import { SkyLibResourcesService } from '@skyux/i18n';
|
5
4
|
import { BehaviorSubject, forkJoin } from 'rxjs';
|
6
5
|
import { first, map } from 'rxjs/operators';
|
7
6
|
import { SkyDateRangeCalculator } from './types/date-range-calculator';
|
@@ -93,9 +92,9 @@ _SkyDateRangeService_calculatorReadyStream = new WeakMap(), _SkyDateRangeService
|
|
93
92
|
// Start the count higher than the number of available values
|
94
93
|
// provided in the SkyDateRangeCalculatorId enum.
|
95
94
|
SkyDateRangeService.lastId = 1000;
|
96
|
-
SkyDateRangeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
97
|
-
SkyDateRangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
95
|
+
SkyDateRangeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangeService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable });
|
96
|
+
SkyDateRangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangeService });
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyDateRangeService, decorators: [{
|
99
98
|
type: Injectable
|
100
99
|
}], ctorParameters: function () { return [{ type: i1.SkyLibResourcesService }]; } });
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHdkUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0NBQStDLENBQUM7OztBQUUvRjs7R0FFRztBQUVILE1BQU0sT0FBTyxtQkFBbUI7SUFhOUIsWUFBWSxnQkFBd0M7O1FBUnBELHFEQUF5QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsRUFBQztRQUU3RCxpREFBcUUsRUFBRSxFQUFDO1FBRXhFLDJDQUF5QyxFQUFFLEVBQUM7UUFFNUMsd0RBQTBDO1FBR3hDLHVCQUFBLElBQUkseUNBQXFCLGdCQUFnQixNQUFBLENBQUM7UUFDMUMsdUJBQUEsSUFBSSxxRkFBMEIsTUFBOUIsSUFBSSxDQUE0QixDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSSxnQkFBZ0IsQ0FDckIsTUFBb0M7UUFFcEMsTUFBTSxLQUFLLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFN0QsdUJBQUEsSUFBSSx3Q0FBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVuQyxP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LENBQUMsQ0FBQztBQUNQLENBQUM7QUE1R0QsNkRBQTZEO0FBQzdELGlEQUFpRDtBQUNsQywwQkFBTSxHQUFHLElBQUssQ0FBQTtpSEFIbEIsbUJBQW1CO3FIQUFuQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0b3IgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvcic7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yQ29uZmlnIH0gZnJvbSAnLi90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0b3ItY29uZmlnJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZCB9IGZyb20gJy4vdHlwZXMvZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLWlkJztcbmltcG9ydCB7IFNLWV9ERUZBVUxUX0NBTENVTEFUT1JfQ09ORklHUyB9IGZyb20gJy4vdHlwZXMvZGF0ZS1yYW5nZS1kZWZhdWx0LWNhbGN1bGF0b3ItY29uZmlncyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbmQgbWFuYWdlcyBgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcmAgaW5zdGFuY2VzLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5RGF0ZVJhbmdlU2VydmljZSB7XG4gIC8vIFN0YXJ0IHRoZSBjb3VudCBoaWdoZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSB2YWx1ZXNcbiAgLy8gcHJvdmlkZWQgaW4gdGhlIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZCBlbnVtLlxuICBwcml2YXRlIHN0YXRpYyBsYXN0SWQgPSAxMDAwO1xuXG4gICNjYWxjdWxhdG9yUmVhZHlTdHJlYW0gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAjY2FsY3VsYXRvckNvbmZpZ3M6IHsgW2lkOiBudW1iZXJdOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yQ29uZmlnIH0gPSB7fTtcblxuICAjY2FsY3VsYXRvcnM6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JbXSA9IFtdO1xuXG4gICNyZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKHJlc291cmNlc1NlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2UpIHtcbiAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlID0gcmVzb3VyY2VzU2VydmljZTtcbiAgICB0aGlzLiNjcmVhdGVEZWZhdWx0Q2FsY3VsYXRvcnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgY3VzdG9tIGRhdGUgcmFuZ2UgY2FsY3VsYXRvci5cbiAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsY3VsYXRvciBjb25maWcuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlQ2FsY3VsYXRvcihcbiAgICBjb25maWc6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JDb25maWdcbiAgKTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvciB7XG4gICAgY29uc3QgbmV3SWQgPSBTa3lEYXRlUmFuZ2VTZXJ2aWNlLmxhc3RJZCsrO1xuICAgIGNvbnN0IGNhbGN1bGF0b3IgPSBuZXcgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcihuZXdJZCwgY29uZmlnKTtcblxuICAgIHRoaXMuI2NhbGN1bGF0b3JzLnB1c2goY2FsY3VsYXRvcik7XG5cbiAgICByZXR1cm4gY2FsY3VsYXRvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGNhbGN1bGF0b3JzIGZyb20gYW4gYXJyYXkgb2YgY2FsY3VsYXRvciBJRHMuXG4gICAqIEBwYXJhbSBpZHMgVGhlIGFycmF5IG9mIGNhbGN1bGF0b3IgSURzLlxuICAgKi9cbiAgcHVibGljIGdldENhbGN1bGF0b3JzKFxuICAgIGlkczogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkW11cbiAgKTogUHJvbWlzZTxTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yW10+IHtcbiAgICBjb25zdCBwcm9taXNlcyA9IGlkcy5tYXAoKGlkKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDYWxjdWxhdG9yQnlJZChpZCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBjYWxjdWxhdG9yIGZyb20gYSBjYWxjdWxhdG9yIElELlxuICAgKiBAcGFyYW0gaWQgVGhlIGNhbGN1bGF0b3IgSUQuXG4gICAqL1xuICBwdWJsaWMgZ2V0Q2FsY3VsYXRvckJ5SWQoXG4gICAgaWQ6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZFxuICApOiBQcm9taXNlPFNreURhdGVSYW5nZUNhbGN1bGF0b3I+IHtcbiAgICBjb25zdCBjYWxjdWxhdG9ySWQgPSBwYXJzZUludChpZCBhcyBhbnksIDEwKTtcbiAgICBjb25zdCBmb3VuZCA9IHRoaXMuI2NhbGN1bGF0b3JzLmZpbmQoKGNhbGN1bGF0b3IpID0+IHtcbiAgICAgIHJldHVybiBjYWxjdWxhdG9yLmNhbGN1bGF0b3JJZCA9PT0gY2FsY3VsYXRvcklkO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgQSBjYWxjdWxhdG9yIHdpdGggdGhlIElEICR7aWR9IHdhcyBub3QgZm91bmQuYCkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI2NhbGN1bGF0b3JSZWFkeVN0cmVhbS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHJlc29sdmUoZm91bmQpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAjY3JlYXRlRGVmYXVsdENhbGN1bGF0b3JzKCk6IHZvaWQge1xuICAgIGNvbnN0IHRhc2tzOiBPYnNlcnZhYmxlPHZvaWQ+W10gPSBbXTtcblxuICAgIC8vIEdldCByZXNvdXJjZSBzdHJpbmdzIGZvciBzaG9ydCBkZXNjcmlwdGlvbnMuXG4gICAgU0tZX0RFRkFVTFRfQ0FMQ1VMQVRPUl9DT05GSUdTLmZvckVhY2goKGRlZmF1bHRDb25maWcpID0+IHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgICAgZ2V0VmFsdWU6IGRlZmF1bHRDb25maWcuZ2V0VmFsdWUsXG4gICAgICAgIHZhbGlkYXRlOiBkZWZhdWx0Q29uZmlnLnZhbGlkYXRlLFxuICAgICAgICBzaG9ydERlc2NyaXB0aW9uOiAnJyxcbiAgICAgICAgdHlwZTogZGVmYXVsdENvbmZpZy50eXBlLFxuICAgICAgfTtcblxuICAgICAgdGFza3MucHVzaChcbiAgICAgICAgdGhpcy4jcmVzb3VyY2VzU2VydmljZVxuICAgICAgICAgIC5nZXRTdHJpbmcoZGVmYXVsdENvbmZpZy5zaG9ydERlc2NyaXB0aW9uUmVzb3VyY2VLZXkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgbWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICBjb25maWcuc2hvcnREZXNjcmlwdGlvbiA9IHZhbHVlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICApO1xuXG4gICAgICB0aGlzLiNjYWxjdWxhdG9yQ29uZmlnc1tkZWZhdWx0Q29uZmlnLmNhbGN1bGF0b3JJZF0gPSBjb25maWc7XG4gICAgfSk7XG5cbiAgICBmb3JrSm9pbih0YXNrcylcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3QgY2FsY3VsYXRvcklkcyA9IE9iamVjdC5rZXlzKHRoaXMuI2NhbGN1bGF0b3JDb25maWdzKTtcbiAgICAgICAgY29uc3QgY2FsY3VsYXRvcnMgPSBjYWxjdWxhdG9ySWRzLm1hcCgoY2FsY3VsYXRvcklkKSA9PiB7XG4gICAgICAgICAgY29uc3QgaWQgPSBwYXJzZUludChjYWxjdWxhdG9ySWQsIDEwKTtcbiAgICAgICAgICByZXR1cm4gbmV3IFNreURhdGVSYW5nZUNhbGN1bGF0b3IoaWQsIHRoaXMuI2NhbGN1bGF0b3JDb25maWdzW2lkXSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuI2NhbGN1bGF0b3JzID0gY2FsY3VsYXRvcnM7XG4gICAgICAgIHRoaXMuI2NhbGN1bGF0b3JSZWFkeVN0cmVhbS5uZXh0KHRydWUpO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|