@odx/angular 5.7.4 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/components/calendar/lib/calendar.config.d.ts +24 -93
  3. package/components/calendar/lib/directives/calendar-cell.directive.d.ts +0 -9
  4. package/components/calendar/lib/directives/calendar-view.directive.d.ts +0 -9
  5. package/components/calendar/lib/pipes/date-label.pipe.d.ts +7 -21
  6. package/components/calendar/lib/utils/get-A11y-label.d.ts +1 -2
  7. package/esm2022/components/calendar/lib/calendar.config.mjs +1 -12
  8. package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +3 -3
  9. package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +3 -3
  10. package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +3 -3
  11. package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +2 -2
  12. package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +22 -9
  13. package/esm2022/components/calendar/lib/utils/get-A11y-label.mjs +10 -8
  14. package/esm2022/internal/lib/helpers/fast-equals.mjs +3 -0
  15. package/esm2022/internal/lib/helpers/index.mjs +2 -1
  16. package/esm2022/localization/lib/localization.config.mjs +3 -5
  17. package/esm2022/localization/lib/localization.logger.mjs +3 -0
  18. package/esm2022/localization/lib/localization.service.mjs +20 -29
  19. package/fesm2022/odx-angular-components-calendar.mjs +39 -34
  20. package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
  21. package/fesm2022/odx-angular-internal.mjs +4 -1
  22. package/fesm2022/odx-angular-internal.mjs.map +1 -1
  23. package/fesm2022/odx-angular-localization.mjs +24 -32
  24. package/fesm2022/odx-angular-localization.mjs.map +1 -1
  25. package/internal/lib/helpers/fast-equals.d.ts +1 -0
  26. package/internal/lib/helpers/index.d.ts +1 -0
  27. package/localization/lib/localization.config.d.ts +0 -2
  28. package/localization/lib/localization.logger.d.ts +3 -0
  29. package/localization/lib/localization.service.d.ts +3 -7
  30. package/package.json +8 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @odx/angular
2
2
 
3
+ ## 6.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - a931064: Breaking changes:
8
+
9
+ - The CalendarComponent no longer uses date-fns for providing translated months and weekdays names. This is because previously, in order to configure the CalendarComponent, the developer was forced to use date-fns types, which required to have date-fns installed.
10
+ - Configuration options of CalendarComponent were reduced. Properties such as monthYearLabel, monthLabel, weekLabel, dayLabel, yearLabel, dayA11yLabel, monthA11yLabel, yearA11yLabel and locale are no longer available. Now instead of adjusting unreasonable number of formatting options, the developer just sets the language through LocalizationService and the native Intl.DateTimeFormat() gets the right translations in right locale and format internally. So in order to use translated version of the CalendarComponent, call localizationService.setActiveLanguage() method with valid and available language code.
11
+ - Simplified approach to LocalizationService. Fields availableLocales, defaultLocale and methods getActiveLocale() and setActiveLocale() are no longer available and should be substituted with availableLanguages, defaultLanguage, getActiveLanguage() and setActiveLanguage(). It's up to developer to supply either language subcode ('en'), or language with specified region ('en-US'). Both are treated as same locale with or without information about the region (which can obviously have an impact on label formatting appearance). It also goes for 'availableLanguages' configuration property, which can hold variously represented language codes, in example: ['en-US', 'en-GB', 'en', 'fr', 'de-DE']. Internally, LocalizationService also uses the Intl.Locale features.
12
+
3
13
  ## 5.7.4
4
14
 
5
15
  ### Patch Changes
@@ -1,81 +1,48 @@
1
- import { Locale } from 'date-fns';
2
- import { BehaviorSubject } from 'rxjs';
3
1
  import { CalendarSelectionMode } from './models/selection-mode';
4
2
  export interface CalendarConfig {
5
3
  /**
6
- * Pattern by which month-year label is transformed
7
- * @default 'LLLL yyyy'
8
- */
9
- monthYearLabel: string;
10
- /**
11
- * Pattern by which month label is transformed
12
- * @default 'LLL'
13
- */
14
- monthLabel: string;
15
- /**
16
- * Pattern by which week label is transformed
17
- * @default 'EEEEE'
18
- */
19
- weekLabel: string;
20
- /**
21
- * Pattern by which day label is transformed
22
- * @default 'd'
23
- */
24
- dayLabel: string;
25
- /**
26
- * Pattern by which Year label is transformed
27
- * @default 'yyyy'
28
- */
29
- yearLabel: string;
30
- /**
31
- * Pattern by which A11y day label is transformed
32
- * @default 'MMMM dd, yyyy'
4
+ * Displays the adjacent days in month calendar view.
5
+ * @default true
33
6
  */
34
- dayA11yLabel: string;
7
+ displayAdjacentDays: boolean;
35
8
  /**
36
- * Pattern by which A11y month label is transformed
37
- * @default 'MMMM, yyyy'
9
+ * Switches between single selection and a daterange selection.
10
+ * @default CalendarSelectionMode.Date
38
11
  */
39
- monthA11yLabel: string;
12
+ selectionMode: CalendarSelectionMode;
40
13
  /**
41
- * Pattern by which A11y year label is transformed
42
- * @default 'yyyy'
14
+ * Configuration for the year view.
15
+ * @typedef {Object} YearViewConfig
16
+ * @property {number} itemsPerRow - Number of items to display per row in the year view.
17
+ * @default 3
43
18
  */
44
- yearA11yLabel: string;
45
19
  /**
46
- * Displays the adjacent days in month calendar view
47
- * @default true
20
+ * Configuration options for the calendar's year view.
21
+ * @type {YearViewConfig}
48
22
  */
49
- displayAdjacentDays: boolean;
23
+ yearView: {
24
+ itemsPerRow: number;
25
+ };
50
26
  /**
51
- * Locale by which calendar labels are transformed
52
- * @default enGB
27
+ * Configuration for the years view.
28
+ * @typedef {Object} YearsViewConfig
29
+ * @property {number} itemsPerRow - Number of items to display per row in the years view.
30
+ * @property {number} [padding=100] - The number of year items before and after the current year
31
+ * @default
32
+ * itemsPerRow: 3,
33
+ * padding: 100
53
34
  */
54
- locale: BehaviorSubject<Locale>;
55
35
  /**
56
- * Setting by which calendar switches to selecting a date range
57
- * @default CalendarSelectionMode.Date
36
+ * Configuration options for the calendar's years view.
37
+ * @type {YearsViewConfig}
58
38
  */
59
- selectionMode: CalendarSelectionMode;
60
- yearView: {
61
- itemsPerRow: number;
62
- };
63
39
  yearsView: {
64
40
  itemsPerRow: number;
65
41
  padding: number;
66
42
  };
67
43
  }
68
44
  export declare const CalendarConfig: import("@angular/core").InjectionToken<Partial<{
69
- monthYearLabel: string;
70
- monthLabel: string;
71
- weekLabel: string;
72
- dayLabel: string;
73
- yearLabel: string;
74
- dayA11yLabel: string;
75
- monthA11yLabel: string;
76
- yearA11yLabel: string;
77
45
  displayAdjacentDays: boolean;
78
- locale: BehaviorSubject<Locale>;
79
46
  selectionMode: CalendarSelectionMode;
80
47
  yearView: {
81
48
  itemsPerRow: number;
@@ -85,16 +52,7 @@ export declare const CalendarConfig: import("@angular/core").InjectionToken<Part
85
52
  padding: number;
86
53
  };
87
54
  }>>, CalendarDefaultConfig: {
88
- monthYearLabel: string;
89
- monthLabel: string;
90
- weekLabel: string;
91
- dayLabel: string;
92
- yearLabel: string;
93
- dayA11yLabel: string;
94
- monthA11yLabel: string;
95
- yearA11yLabel: string;
96
55
  displayAdjacentDays: boolean;
97
- locale: BehaviorSubject<Locale>;
98
56
  selectionMode: CalendarSelectionMode;
99
57
  yearView: {
100
58
  itemsPerRow: number;
@@ -104,16 +62,7 @@ export declare const CalendarConfig: import("@angular/core").InjectionToken<Part
104
62
  padding: number;
105
63
  };
106
64
  }, injectCalendarConfig: () => {
107
- monthYearLabel: string;
108
- monthLabel: string;
109
- weekLabel: string;
110
- dayLabel: string;
111
- yearLabel: string;
112
- dayA11yLabel: string;
113
- monthA11yLabel: string;
114
- yearA11yLabel: string;
115
65
  displayAdjacentDays: boolean;
116
- locale: BehaviorSubject<Locale>;
117
66
  selectionMode: CalendarSelectionMode;
118
67
  yearView: {
119
68
  itemsPerRow: number;
@@ -123,16 +72,7 @@ export declare const CalendarConfig: import("@angular/core").InjectionToken<Part
123
72
  padding: number;
124
73
  };
125
74
  }, provideCalendarConfig: <D extends import("@odx/angular/utils").ConfigDependencies<unknown> = import("@odx/angular/utils").ConfigDependencies<Partial<{
126
- monthYearLabel: string;
127
- monthLabel: string;
128
- weekLabel: string;
129
- dayLabel: string;
130
- yearLabel: string;
131
- dayA11yLabel: string;
132
- monthA11yLabel: string;
133
- yearA11yLabel: string;
134
75
  displayAdjacentDays: boolean;
135
- locale: BehaviorSubject<Locale>;
136
76
  selectionMode: CalendarSelectionMode;
137
77
  yearView: {
138
78
  itemsPerRow: number;
@@ -142,16 +82,7 @@ export declare const CalendarConfig: import("@angular/core").InjectionToken<Part
142
82
  padding: number;
143
83
  };
144
84
  }>>>(config: import("@odx/angular/utils").ConfigProvider<Partial<{
145
- monthYearLabel: string;
146
- monthLabel: string;
147
- weekLabel: string;
148
- dayLabel: string;
149
- yearLabel: string;
150
- dayA11yLabel: string;
151
- monthA11yLabel: string;
152
- yearA11yLabel: string;
153
85
  displayAdjacentDays: boolean;
154
- locale: BehaviorSubject<Locale>;
155
86
  selectionMode: CalendarSelectionMode;
156
87
  yearView: {
157
88
  itemsPerRow: number;
@@ -9,16 +9,7 @@ export declare class CalendarCellDirective implements OnChanges, OnInit, OnDestr
9
9
  private readonly calendarService;
10
10
  private registeredEventId;
11
11
  protected readonly config: {
12
- monthYearLabel: string;
13
- monthLabel: string;
14
- weekLabel: string;
15
- dayLabel: string;
16
- yearLabel: string;
17
- dayA11yLabel: string;
18
- monthA11yLabel: string;
19
- yearA11yLabel: string;
20
12
  displayAdjacentDays: boolean;
21
- locale: import("rxjs").BehaviorSubject<import("date-fns").Locale>;
22
13
  selectionMode: CalendarSelectionMode;
23
14
  yearView: {
24
15
  itemsPerRow: number;
@@ -6,16 +6,7 @@ export declare abstract class CalendarViewDirective {
6
6
  protected readonly takeUntilDestroyed: <T>() => import("rxjs").MonoTypeOperatorFunction<T>;
7
7
  protected readonly calendar: CalendarService;
8
8
  protected readonly config: {
9
- monthYearLabel: string;
10
- monthLabel: string;
11
- weekLabel: string;
12
- dayLabel: string;
13
- yearLabel: string;
14
- dayA11yLabel: string;
15
- monthA11yLabel: string;
16
- yearA11yLabel: string;
17
9
  displayAdjacentDays: boolean;
18
- locale: import("rxjs").BehaviorSubject<import("date-fns").Locale>;
19
10
  selectionMode: import("../models").CalendarSelectionMode;
20
11
  yearView: {
21
12
  itemsPerRow: number;
@@ -1,27 +1,13 @@
1
1
  import { PipeTransform } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class DateLabelPipe implements PipeTransform {
4
- readonly config: {
5
- monthYearLabel: string;
6
- monthLabel: string;
7
- weekLabel: string;
8
- dayLabel: string;
9
- yearLabel: string;
10
- dayA11yLabel: string;
11
- monthA11yLabel: string;
12
- yearA11yLabel: string;
13
- displayAdjacentDays: boolean;
14
- locale: import("rxjs").BehaviorSubject<import("date-fns").Locale>;
15
- selectionMode: import("@odx/angular/components/calendar").CalendarSelectionMode;
16
- yearView: {
17
- itemsPerRow: number;
18
- };
19
- yearsView: {
20
- itemsPerRow: number;
21
- padding: number;
22
- };
23
- };
24
- transform(value: Date | null, dateFormat: string): string;
4
+ private readonly localizationService;
5
+ private readonly windowRef;
6
+ private readonly cdr;
7
+ private lastValue;
8
+ private lastFormatOptions;
9
+ private formattedValue;
10
+ transform(value: Date | null, formatOptions: Intl.DateTimeFormatOptions): string;
25
11
  static ɵfac: i0.ɵɵFactoryDeclaration<DateLabelPipe, never>;
26
12
  static ɵpipe: i0.ɵɵPipeDeclaration<DateLabelPipe, "odxDateLabel", true>;
27
13
  }
@@ -1,3 +1,2 @@
1
- import { CalendarConfig } from '../calendar.config';
2
1
  import { CalendarView } from '../models';
3
- export declare function getA11yLabel(calendarView: CalendarView, config: CalendarConfig): string;
2
+ export declare function getA11yLabel(calendarView: CalendarView): Intl.DateTimeFormatOptions;
@@ -1,18 +1,7 @@
1
1
  import { createConfigTokens } from '@odx/angular/utils';
2
- import { enGB } from 'date-fns/locale';
3
- import { BehaviorSubject } from 'rxjs';
4
2
  import { CalendarSelectionMode } from './models/selection-mode';
5
3
  export const { CalendarConfig, CalendarDefaultConfig, injectCalendarConfig, provideCalendarConfig } = createConfigTokens('Calendar', '@odx/angular/components/calendar', {
6
- monthYearLabel: 'LLLL yyyy',
7
- monthLabel: 'LLL',
8
- weekLabel: 'EEEEE',
9
- dayLabel: 'd',
10
- yearLabel: 'yyyy',
11
- dayA11yLabel: 'MMMM dd, yyyy',
12
- monthA11yLabel: 'MMMM, yyyy',
13
- yearA11yLabel: 'yyyy',
14
4
  displayAdjacentDays: true,
15
- locale: new BehaviorSubject(enGB),
16
5
  selectionMode: CalendarSelectionMode.Date,
17
6
  yearView: {
18
7
  itemsPerRow: 3,
@@ -22,4 +11,4 @@ export const { CalendarConfig, CalendarDefaultConfig, injectCalendarConfig, prov
22
11
  padding: 100,
23
12
  },
24
13
  });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jYWxlbmRhci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUE4RGhFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLEdBQUcsa0JBQWtCLENBQ3RILFVBQVUsRUFDVixrQ0FBa0MsRUFDbEM7SUFDRSxjQUFjLEVBQUUsV0FBVztJQUMzQixVQUFVLEVBQUUsS0FBSztJQUNqQixTQUFTLEVBQUUsT0FBTztJQUNsQixRQUFRLEVBQUUsR0FBRztJQUNiLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFlBQVksRUFBRSxlQUFlO0lBQzdCLGNBQWMsRUFBRSxZQUFZO0lBQzVCLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLG1CQUFtQixFQUFFLElBQUk7SUFDekIsTUFBTSxFQUFFLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQztJQUN6QyxhQUFhLEVBQUUscUJBQXFCLENBQUMsSUFBSTtJQUN6QyxRQUFRLEVBQUU7UUFDUixXQUFXLEVBQUUsQ0FBQztLQUNmO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsV0FBVyxFQUFFLENBQUM7UUFDZCxPQUFPLEVBQUUsR0FBRztLQUNiO0NBQ0YsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ29uZmlnVG9rZW5zIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IExvY2FsZSB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGVuR0IgfSBmcm9tICdkYXRlLWZucy9sb2NhbGUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYWxlbmRhclNlbGVjdGlvbk1vZGUgfSBmcm9tICcuL21vZGVscy9zZWxlY3Rpb24tbW9kZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJDb25maWcge1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBtb250aC15ZWFyIGxhYmVsIGlzIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0ICdMTExMIHl5eXknXG4gICAqL1xuICBtb250aFllYXJMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBtb250aCBsYWJlbCBpcyB0cmFuc2Zvcm1lZFxuICAgKiBAZGVmYXVsdCAnTExMJ1xuICAgKi9cbiAgbW9udGhMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCB3ZWVrIGxhYmVsIGlzIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0ICdFRUVFRSdcbiAgICovXG4gIHdlZWtMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBkYXkgbGFiZWwgaXMgdHJhbnNmb3JtZWRcbiAgICogQGRlZmF1bHQgJ2QnXG4gICAqL1xuICBkYXlMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBZZWFyIGxhYmVsIGlzIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0ICd5eXl5J1xuICAgKi9cbiAgeWVhckxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXR0ZXJuIGJ5IHdoaWNoIEExMXkgZGF5IGxhYmVsIGlzIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0ICdNTU1NIGRkLCB5eXl5J1xuICAgKi9cbiAgZGF5QTExeUxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXR0ZXJuIGJ5IHdoaWNoIEExMXkgbW9udGggbGFiZWwgaXMgdHJhbnNmb3JtZWRcbiAgICogQGRlZmF1bHQgJ01NTU0sIHl5eXknXG4gICAqL1xuICBtb250aEExMXlMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBBMTF5IHllYXIgbGFiZWwgaXMgdHJhbnNmb3JtZWRcbiAgICogQGRlZmF1bHQgJ3l5eXknXG4gICAqL1xuICB5ZWFyQTExeUxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0aGUgYWRqYWNlbnQgZGF5cyBpbiBtb250aCBjYWxlbmRhciB2aWV3XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRpc3BsYXlBZGphY2VudERheXM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBMb2NhbGUgYnkgd2hpY2ggY2FsZW5kYXIgbGFiZWxzIGFyZSB0cmFuc2Zvcm1lZFxuICAgKiBAZGVmYXVsdCBlbkdCXG4gICAqL1xuICBsb2NhbGU6IEJlaGF2aW9yU3ViamVjdDxMb2NhbGU+O1xuICAvKipcbiAgICogU2V0dGluZyBieSB3aGljaCBjYWxlbmRhciBzd2l0Y2hlcyB0byBzZWxlY3RpbmcgYSBkYXRlIHJhbmdlXG4gICAqIEBkZWZhdWx0IENhbGVuZGFyU2VsZWN0aW9uTW9kZS5EYXRlXG4gICAqL1xuICBzZWxlY3Rpb25Nb2RlOiBDYWxlbmRhclNlbGVjdGlvbk1vZGU7XG4gIHllYXJWaWV3OiB7IGl0ZW1zUGVyUm93OiBudW1iZXIgfTtcbiAgeWVhcnNWaWV3OiB7IGl0ZW1zUGVyUm93OiBudW1iZXI7IHBhZGRpbmc6IG51bWJlciB9O1xufVxuXG5leHBvcnQgY29uc3QgeyBDYWxlbmRhckNvbmZpZywgQ2FsZW5kYXJEZWZhdWx0Q29uZmlnLCBpbmplY3RDYWxlbmRhckNvbmZpZywgcHJvdmlkZUNhbGVuZGFyQ29uZmlnIH0gPSBjcmVhdGVDb25maWdUb2tlbnMoXG4gICdDYWxlbmRhcicsXG4gICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhcicsXG4gIHtcbiAgICBtb250aFllYXJMYWJlbDogJ0xMTEwgeXl5eScsXG4gICAgbW9udGhMYWJlbDogJ0xMTCcsXG4gICAgd2Vla0xhYmVsOiAnRUVFRUUnLFxuICAgIGRheUxhYmVsOiAnZCcsXG4gICAgeWVhckxhYmVsOiAneXl5eScsXG4gICAgZGF5QTExeUxhYmVsOiAnTU1NTSBkZCwgeXl5eScsXG4gICAgbW9udGhBMTF5TGFiZWw6ICdNTU1NLCB5eXl5JyxcbiAgICB5ZWFyQTExeUxhYmVsOiAneXl5eScsXG4gICAgZGlzcGxheUFkamFjZW50RGF5czogdHJ1ZSxcbiAgICBsb2NhbGU6IG5ldyBCZWhhdmlvclN1YmplY3Q8TG9jYWxlPihlbkdCKSxcbiAgICBzZWxlY3Rpb25Nb2RlOiBDYWxlbmRhclNlbGVjdGlvbk1vZGUuRGF0ZSxcbiAgICB5ZWFyVmlldzoge1xuICAgICAgaXRlbXNQZXJSb3c6IDMsXG4gICAgfSxcbiAgICB5ZWFyc1ZpZXc6IHtcbiAgICAgIGl0ZW1zUGVyUm93OiAzLFxuICAgICAgcGFkZGluZzogMTAwLFxuICAgIH0sXG4gIH0sXG4pO1xuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jYWxlbmRhci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUF5Q2hFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLEdBQUcsa0JBQWtCLENBQ3RILFVBQVUsRUFDVixrQ0FBa0MsRUFDbEM7SUFDRSxtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLGFBQWEsRUFBRSxxQkFBcUIsQ0FBQyxJQUFJO0lBQ3pDLFFBQVEsRUFBRTtRQUNSLFdBQVcsRUFBRSxDQUFDO0tBQ2Y7SUFDRCxTQUFTLEVBQUU7UUFDVCxXQUFXLEVBQUUsQ0FBQztRQUNkLE9BQU8sRUFBRSxHQUFHO0tBQ2I7Q0FDRixDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDb25maWdUb2tlbnMgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZWxlY3Rpb25Nb2RlIH0gZnJvbSAnLi9tb2RlbHMvc2VsZWN0aW9uLW1vZGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyQ29uZmlnIHtcbiAgLyoqXG4gICAqIERpc3BsYXlzIHRoZSBhZGphY2VudCBkYXlzIGluIG1vbnRoIGNhbGVuZGFyIHZpZXcuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRpc3BsYXlBZGphY2VudERheXM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTd2l0Y2hlcyBiZXR3ZWVuIHNpbmdsZSBzZWxlY3Rpb24gYW5kIGEgZGF0ZXJhbmdlIHNlbGVjdGlvbi5cbiAgICogQGRlZmF1bHQgQ2FsZW5kYXJTZWxlY3Rpb25Nb2RlLkRhdGVcbiAgICovXG4gIHNlbGVjdGlvbk1vZGU6IENhbGVuZGFyU2VsZWN0aW9uTW9kZTtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHllYXIgdmlldy5cbiAgICogQHR5cGVkZWYge09iamVjdH0gWWVhclZpZXdDb25maWdcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGl0ZW1zUGVyUm93IC0gTnVtYmVyIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHJvdyBpbiB0aGUgeWVhciB2aWV3LlxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgY2FsZW5kYXIncyB5ZWFyIHZpZXcuXG4gICAqIEB0eXBlIHtZZWFyVmlld0NvbmZpZ31cbiAgICovXG4gIHllYXJWaWV3OiB7IGl0ZW1zUGVyUm93OiBudW1iZXIgfTtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSB5ZWFycyB2aWV3LlxuICAgKiBAdHlwZWRlZiB7T2JqZWN0fSBZZWFyc1ZpZXdDb25maWdcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGl0ZW1zUGVyUm93IC0gTnVtYmVyIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHJvdyBpbiB0aGUgeWVhcnMgdmlldy5cbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IFtwYWRkaW5nPTEwMF0gLSBUaGUgbnVtYmVyIG9mIHllYXIgaXRlbXMgYmVmb3JlIGFuZCBhZnRlciB0aGUgY3VycmVudCB5ZWFyXG4gICAqIEBkZWZhdWx0XG4gICAqICAgaXRlbXNQZXJSb3c6IDMsXG4gICAqICAgcGFkZGluZzogMTAwXG4gICAqL1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgY2FsZW5kYXIncyB5ZWFycyB2aWV3LlxuICAgKiBAdHlwZSB7WWVhcnNWaWV3Q29uZmlnfVxuICAgKi9cbiAgeWVhcnNWaWV3OiB7IGl0ZW1zUGVyUm93OiBudW1iZXI7IHBhZGRpbmc6IG51bWJlciB9O1xufVxuXG5leHBvcnQgY29uc3QgeyBDYWxlbmRhckNvbmZpZywgQ2FsZW5kYXJEZWZhdWx0Q29uZmlnLCBpbmplY3RDYWxlbmRhckNvbmZpZywgcHJvdmlkZUNhbGVuZGFyQ29uZmlnIH0gPSBjcmVhdGVDb25maWdUb2tlbnMoXG4gICdDYWxlbmRhcicsXG4gICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhcicsXG4gIHtcbiAgICBkaXNwbGF5QWRqYWNlbnREYXlzOiB0cnVlLFxuICAgIHNlbGVjdGlvbk1vZGU6IENhbGVuZGFyU2VsZWN0aW9uTW9kZS5EYXRlLFxuICAgIHllYXJWaWV3OiB7XG4gICAgICBpdGVtc1BlclJvdzogMyxcbiAgICB9LFxuICAgIHllYXJzVmlldzoge1xuICAgICAgaXRlbXNQZXJSb3c6IDMsXG4gICAgICBwYWRkaW5nOiAxMDAsXG4gICAgfSxcbiAgfSxcbik7XG4iXX0=
@@ -42,13 +42,13 @@ export let CalendarMonthComponent = class CalendarMonthComponent extends Calenda
42
42
  this.calendar.selectDate(value, { emitOutside: true });
43
43
  }
44
44
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarMonthComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarMonthComponent, isStandalone: true, selector: "odx-calendar-month", providers: [CalendarMonthService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"7\">\n <odx-calendar-header\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (previous)=\"previousMonth($event)\"\n (next)=\"nextMonth($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: config.monthYearLabel }}\n </odx-calendar-header>\n </th>\n </tr>\n\n <tr class=\"odx-calendar__weekdays\">\n <td *ngFor=\"let day of calendarMonth.weekDays$ | async\">\n {{ day | odxDateLabel: config.weekLabel }}\n </td>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousDay($event)\"\n (keydown.ArrowRight)=\"nextDay($event)\"\n (keydown.ArrowUp)=\"previousWeek($event)\"\n (keydown.ArrowDown)=\"nextWeek($event)\"\n (keydown.PageUp)=\"previousMonth($event)\"\n (keydown.PageDown)=\"nextMonth($event)\"\n >\n <tr *ngFor=\"let week of calendarMonth.weeks$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let day of week; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(day)\"\n [odxCalendarCell]=\"day\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n [odxCalendarCellPreviewDate]=\"previewDate\"\n (click)=\"selectDate(day)\"\n >\n {{ day | odxDateLabel: config.dayLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate", "odxCalendarCellSelectedDateRange", "odxCalendarCellPreviewDate"] }, { kind: "component", type: CalendarHeaderComponent, selector: "odx-calendar-header", inputs: ["activeDate", "calendarView", "minDate", "maxDate"], outputs: ["previous", "next", "changeView"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarMonthComponent, isStandalone: true, selector: "odx-calendar-month", providers: [CalendarMonthService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"7\">\n <odx-calendar-header\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (previous)=\"previousMonth($event)\"\n (next)=\"nextMonth($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: { month: 'long', year: 'numeric' } }}\n </odx-calendar-header>\n </th>\n </tr>\n\n <tr class=\"odx-calendar__weekdays\">\n <td *ngFor=\"let day of calendarMonth.weekDays$ | async\">\n {{ (day | odxDateLabel: { weekday: 'short' }).charAt(0) }}\n </td>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousDay($event)\"\n (keydown.ArrowRight)=\"nextDay($event)\"\n (keydown.ArrowUp)=\"previousWeek($event)\"\n (keydown.ArrowDown)=\"nextWeek($event)\"\n (keydown.PageUp)=\"previousMonth($event)\"\n (keydown.PageDown)=\"nextMonth($event)\"\n >\n <tr *ngFor=\"let week of calendarMonth.weeks$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let day of week; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(day)\"\n [odxCalendarCell]=\"day\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n [odxCalendarCellPreviewDate]=\"previewDate\"\n (click)=\"selectDate(day)\"\n >\n {{ day | odxDateLabel: { day: 'numeric' } }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate", "odxCalendarCellSelectedDateRange", "odxCalendarCellPreviewDate"] }, { kind: "component", type: CalendarHeaderComponent, selector: "odx-calendar-header", inputs: ["activeDate", "calendarView", "minDate", "maxDate"], outputs: ["previous", "next", "changeView"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
46
46
  };
47
47
  CalendarMonthComponent = __decorate([
48
48
  CSSComponent('calendar-month')
49
49
  ], CalendarMonthComponent);
50
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarMonthComponent, decorators: [{
51
51
  type: Component,
52
- args: [{ selector: 'odx-calendar-month', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarMonthService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"7\">\n <odx-calendar-header\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (previous)=\"previousMonth($event)\"\n (next)=\"nextMonth($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: config.monthYearLabel }}\n </odx-calendar-header>\n </th>\n </tr>\n\n <tr class=\"odx-calendar__weekdays\">\n <td *ngFor=\"let day of calendarMonth.weekDays$ | async\">\n {{ day | odxDateLabel: config.weekLabel }}\n </td>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousDay($event)\"\n (keydown.ArrowRight)=\"nextDay($event)\"\n (keydown.ArrowUp)=\"previousWeek($event)\"\n (keydown.ArrowDown)=\"nextWeek($event)\"\n (keydown.PageUp)=\"previousMonth($event)\"\n (keydown.PageDown)=\"nextMonth($event)\"\n >\n <tr *ngFor=\"let week of calendarMonth.weeks$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let day of week; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(day)\"\n [odxCalendarCell]=\"day\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n [odxCalendarCellPreviewDate]=\"previewDate\"\n (click)=\"selectDate(day)\"\n >\n {{ day | odxDateLabel: config.dayLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
52
+ args: [{ selector: 'odx-calendar-month', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarMonthService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"7\">\n <odx-calendar-header\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (previous)=\"previousMonth($event)\"\n (next)=\"nextMonth($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: { month: 'long', year: 'numeric' } }}\n </odx-calendar-header>\n </th>\n </tr>\n\n <tr class=\"odx-calendar__weekdays\">\n <td *ngFor=\"let day of calendarMonth.weekDays$ | async\">\n {{ (day | odxDateLabel: { weekday: 'short' }).charAt(0) }}\n </td>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousDay($event)\"\n (keydown.ArrowRight)=\"nextDay($event)\"\n (keydown.ArrowUp)=\"previousWeek($event)\"\n (keydown.ArrowDown)=\"nextWeek($event)\"\n (keydown.PageUp)=\"previousMonth($event)\"\n (keydown.PageDown)=\"nextMonth($event)\"\n >\n <tr *ngFor=\"let week of calendarMonth.weeks$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let day of week; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(day)\"\n [odxCalendarCell]=\"day\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n [odxCalendarCellPreviewDate]=\"previewDate\"\n (click)=\"selectDate(day)\"\n >\n {{ day | odxDateLabel: { day: 'numeric' } }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
53
53
  }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVl0RCxXQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUF1QixTQUFRLHFCQUFxQjtJQUExRDs7UUFDYyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzdDLGFBQVEsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztLQStCckQ7SUE3QlcsV0FBVyxDQUFDLEtBQVk7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFUyxPQUFPLENBQUMsS0FBWTtRQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFUyxhQUFhLENBQUMsS0FBWTtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQVc7UUFDOUIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFFdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FqQ1Usc0JBQXNCO21HQUF0QixzQkFBc0IsaUVBRnRCLENBQUMsb0JBQW9CLENBQUMsaURDbEJuQywweURBb0RBLDJDRHRDWSxVQUFVLG1UQUFFLHFCQUFxQix3UEFBRSx1QkFBdUIsc0tBQUUsYUFBYTs7QUFNeEUsc0JBQXNCO0lBVmxDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztHQVVsQixzQkFBc0IsQ0FrQ2xDOzRGQWxDWSxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxhQUFhLENBQUMsbUJBRW5FLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGFkZERheXMsIGFkZE1vbnRocywgYWRkV2Vla3MsIHN1YkRheXMsIHN1Yk1vbnRocywgc3ViV2Vla3MgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDYWxlbmRhckNlbGxEaXJlY3RpdmUsIENhbGVuZGFyVmlld0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IERhdGVMYWJlbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBDYWxlbmRhck1vbnRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENhbGVuZGFySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FsZW5kYXItaGVhZGVyJztcblxuQENTU0NvbXBvbmVudCgnY2FsZW5kYXItbW9udGgnKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2R4LWNhbGVuZGFyLW1vbnRoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQsIERhdGVMYWJlbFBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItbW9udGguY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbQ2FsZW5kYXJNb250aFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhck1vbnRoQ29tcG9uZW50IGV4dGVuZHMgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyTW9udGggPSBpbmplY3QoQ2FsZW5kYXJNb250aFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmV4dFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcnM7XG4gIHByb3RlY3RlZCByZWFkb25seSBjdXJyZW50VmlldyA9IENhbGVuZGFyVmlldy5Nb250aDtcblxuICBwcm90ZWN0ZWQgcHJldmlvdXNEYXkoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJEYXlzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHREYXkoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGREYXlzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZXZpb3VzV2VlayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1YldlZWtzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRXZWVrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkV2Vla3ModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNNb250aChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1Yk1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0TW9udGgoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGRNb250aHModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0RGF0ZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGF0ZURpc2FibGVkKHZhbHVlKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5jYWxlbmRhci5zZWxlY3REYXRlKHZhbHVlLCB7IGVtaXRPdXRzaWRlOiB0cnVlIH0pO1xuICB9XG59XG4iLCI8dGFibGUgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX3RhYmxlXCIgcm9sZT1cImdyaWRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwib2R4LWNhbGVuZGFyXCI+XG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGggY29sc3Bhbj1cIjdcIj5cbiAgICAgICAgPG9keC1jYWxlbmRhci1oZWFkZXJcbiAgICAgICAgICBbY2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAocHJldmlvdXMpPVwicHJldmlvdXNNb250aCgkZXZlbnQpXCJcbiAgICAgICAgICAobmV4dCk9XCJuZXh0TW9udGgoJGV2ZW50KVwiXG4gICAgICAgICAgKGNoYW5nZVZpZXcpPVwiY2hhbmdlVmlldygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGFjdGl2ZURhdGUgfCBvZHhEYXRlTGFiZWw6IGNvbmZpZy5tb250aFllYXJMYWJlbCB9fVxuICAgICAgICA8L29keC1jYWxlbmRhci1oZWFkZXI+XG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG5cbiAgICA8dHIgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX3dlZWtkYXlzXCI+XG4gICAgICA8dGQgKm5nRm9yPVwibGV0IGRheSBvZiBjYWxlbmRhck1vbnRoLndlZWtEYXlzJCB8IGFzeW5jXCI+XG4gICAgICAgIHt7IGRheSB8IG9keERhdGVMYWJlbDogY29uZmlnLndlZWtMYWJlbCB9fVxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuXG4gIDx0Ym9keVxuICAgIGNsYXNzPVwib2R4LWNhbGVuZGFyX19ib2R5XCJcbiAgICAoa2V5ZG93bi5BcnJvd0xlZnQpPVwicHJldmlvdXNEYXkoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dSaWdodCk9XCJuZXh0RGF5KCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93VXApPVwicHJldmlvdXNXZWVrKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93RG93bik9XCJuZXh0V2VlaygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5QYWdlVXApPVwicHJldmlvdXNNb250aCgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5QYWdlRG93bik9XCJuZXh0TW9udGgoJGV2ZW50KVwiXG4gID5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHdlZWsgb2YgY2FsZW5kYXJNb250aC53ZWVrcyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICA8dGQgcm9sZT1cImdyaWRjZWxsXCIgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0RhdGVEaXNhYmxlZChkYXkpXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsXT1cImRheVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbEFjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbENhbGVuZGFyVmlld109XCJjdXJyZW50Vmlld1wiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuICAgICAgICAgIFtvZHhDYWxlbmRhckNlbGxTZWxlY3RlZERhdGVSYW5nZV09XCJzZWxlY3RlZERhdGVSYW5nZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFByZXZpZXdEYXRlXT1cInByZXZpZXdEYXRlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZShkYXkpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGRheSB8IG9keERhdGVMYWJlbDogY29uZmlnLmRheUxhYmVsIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVl0RCxXQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUF1QixTQUFRLHFCQUFxQjtJQUExRDs7UUFDYyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzdDLGFBQVEsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztLQStCckQ7SUE3QlcsV0FBVyxDQUFDLEtBQVk7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFUyxPQUFPLENBQUMsS0FBWTtRQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFUyxhQUFhLENBQUMsS0FBWTtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQVc7UUFDOUIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFFdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FqQ1Usc0JBQXNCO21HQUF0QixzQkFBc0IsaUVBRnRCLENBQUMsb0JBQW9CLENBQUMsaURDbEJuQywwMERBb0RBLDJDRHRDWSxVQUFVLG1UQUFFLHFCQUFxQix3UEFBRSx1QkFBdUIsc0tBQUUsYUFBYTs7QUFNeEUsc0JBQXNCO0lBVmxDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztHQVVsQixzQkFBc0IsQ0FrQ2xDOzRGQWxDWSxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxhQUFhLENBQUMsbUJBRW5FLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGFkZERheXMsIGFkZE1vbnRocywgYWRkV2Vla3MsIHN1YkRheXMsIHN1Yk1vbnRocywgc3ViV2Vla3MgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDYWxlbmRhckNlbGxEaXJlY3RpdmUsIENhbGVuZGFyVmlld0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IERhdGVMYWJlbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBDYWxlbmRhck1vbnRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENhbGVuZGFySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FsZW5kYXItaGVhZGVyJztcblxuQENTU0NvbXBvbmVudCgnY2FsZW5kYXItbW9udGgnKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2R4LWNhbGVuZGFyLW1vbnRoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQsIERhdGVMYWJlbFBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItbW9udGguY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbQ2FsZW5kYXJNb250aFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhck1vbnRoQ29tcG9uZW50IGV4dGVuZHMgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyTW9udGggPSBpbmplY3QoQ2FsZW5kYXJNb250aFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmV4dFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcnM7XG4gIHByb3RlY3RlZCByZWFkb25seSBjdXJyZW50VmlldyA9IENhbGVuZGFyVmlldy5Nb250aDtcblxuICBwcm90ZWN0ZWQgcHJldmlvdXNEYXkoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJEYXlzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHREYXkoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGREYXlzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZXZpb3VzV2VlayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1YldlZWtzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRXZWVrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkV2Vla3ModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNNb250aChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1Yk1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0TW9udGgoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGRNb250aHModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0RGF0ZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGF0ZURpc2FibGVkKHZhbHVlKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5jYWxlbmRhci5zZWxlY3REYXRlKHZhbHVlLCB7IGVtaXRPdXRzaWRlOiB0cnVlIH0pO1xuICB9XG59XG4iLCI8dGFibGUgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX3RhYmxlXCIgcm9sZT1cImdyaWRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwib2R4LWNhbGVuZGFyXCI+XG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGggY29sc3Bhbj1cIjdcIj5cbiAgICAgICAgPG9keC1jYWxlbmRhci1oZWFkZXJcbiAgICAgICAgICBbY2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAocHJldmlvdXMpPVwicHJldmlvdXNNb250aCgkZXZlbnQpXCJcbiAgICAgICAgICAobmV4dCk9XCJuZXh0TW9udGgoJGV2ZW50KVwiXG4gICAgICAgICAgKGNoYW5nZVZpZXcpPVwiY2hhbmdlVmlldygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGFjdGl2ZURhdGUgfCBvZHhEYXRlTGFiZWw6IHsgbW9udGg6ICdsb25nJywgeWVhcjogJ251bWVyaWMnIH0gfX1cbiAgICAgICAgPC9vZHgtY2FsZW5kYXItaGVhZGVyPlxuICAgICAgPC90aD5cbiAgICA8L3RyPlxuXG4gICAgPHRyIGNsYXNzPVwib2R4LWNhbGVuZGFyX193ZWVrZGF5c1wiPlxuICAgICAgPHRkICpuZ0Zvcj1cImxldCBkYXkgb2YgY2FsZW5kYXJNb250aC53ZWVrRGF5cyQgfCBhc3luY1wiPlxuICAgICAgICB7eyAoZGF5IHwgb2R4RGF0ZUxhYmVsOiB7IHdlZWtkYXk6ICdzaG9ydCcgfSkuY2hhckF0KDApIH19XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG5cbiAgPHRib2R5XG4gICAgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX2JvZHlcIlxuICAgIChrZXlkb3duLkFycm93TGVmdCk9XCJwcmV2aW91c0RheSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd1JpZ2h0KT1cIm5leHREYXkoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dVcCk9XCJwcmV2aW91c1dlZWsoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dEb3duKT1cIm5leHRXZWVrKCRldmVudClcIlxuICAgIChrZXlkb3duLlBhZ2VVcCk9XCJwcmV2aW91c01vbnRoKCRldmVudClcIlxuICAgIChrZXlkb3duLlBhZ2VEb3duKT1cIm5leHRNb250aCgkZXZlbnQpXCJcbiAgPlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgd2VlayBvZiBjYWxlbmRhck1vbnRoLndlZWtzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgIDx0ZCByb2xlPVwiZ3JpZGNlbGxcIiAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWs7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzRGF0ZURpc2FibGVkKGRheSlcIlxuICAgICAgICAgIFtvZHhDYWxlbmRhckNlbGxdPVwiZGF5XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZVJhbmdlXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsUHJldmlld0RhdGVdPVwicHJldmlld0RhdGVcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKGRheSlcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZGF5IHwgb2R4RGF0ZUxhYmVsOiB7IGRheTogJ251bWVyaWMnIH0gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
@@ -44,13 +44,13 @@ export let CalendarYearComponent = class CalendarYearComponent extends CalendarV
44
44
  this.changeView();
45
45
  }
46
46
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarYearComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarYearComponent, isStandalone: true, selector: "odx-calendar-year", providers: [CalendarYearService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"3\">\n <odx-calendar-header\n (previous)=\"previousYear($event)\"\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (next)=\"nextYear($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: config.yearLabel }}\n </odx-calendar-header>\n </th>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousMonth($event)\"\n (keydown.ArrowRight)=\"nextMonth($event)\"\n (keydown.ArrowUp)=\"previousSeason($event)\"\n (keydown.ArrowDown)=\"nextSeason($event)\"\n (keydown.PageDown)=\"nextYear($event)\"\n (keydown.PageUp)=\"previousYear($event)\"\n >\n <tr class=\"odx-calendar__season\" *ngFor=\"let season of calendarYear.seasons$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let month of season; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(month)\"\n [odxCalendarCell]=\"month\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(month)\"\n >\n {{ month | odxDateLabel: config.monthLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate", "odxCalendarCellSelectedDateRange", "odxCalendarCellPreviewDate"] }, { kind: "component", type: CalendarHeaderComponent, selector: "odx-calendar-header", inputs: ["activeDate", "calendarView", "minDate", "maxDate"], outputs: ["previous", "next", "changeView"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarYearComponent, isStandalone: true, selector: "odx-calendar-year", providers: [CalendarYearService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"3\">\n <odx-calendar-header\n (previous)=\"previousYear($event)\"\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (next)=\"nextYear($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: { year: 'numeric' } }}\n </odx-calendar-header>\n </th>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousMonth($event)\"\n (keydown.ArrowRight)=\"nextMonth($event)\"\n (keydown.ArrowUp)=\"previousSeason($event)\"\n (keydown.ArrowDown)=\"nextSeason($event)\"\n (keydown.PageDown)=\"nextYear($event)\"\n (keydown.PageUp)=\"previousYear($event)\"\n >\n <tr class=\"odx-calendar__season\" *ngFor=\"let season of calendarYear.seasons$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let month of season; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(month)\"\n [odxCalendarCell]=\"month\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(month)\"\n >\n {{ month | odxDateLabel: { month: 'short' } }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate", "odxCalendarCellSelectedDateRange", "odxCalendarCellPreviewDate"] }, { kind: "component", type: CalendarHeaderComponent, selector: "odx-calendar-header", inputs: ["activeDate", "calendarView", "minDate", "maxDate"], outputs: ["previous", "next", "changeView"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
48
48
  };
49
49
  CalendarYearComponent = __decorate([
50
50
  CSSComponent('calendar-year')
51
51
  ], CalendarYearComponent);
52
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarYearComponent, decorators: [{
53
53
  type: Component,
54
- args: [{ selector: 'odx-calendar-year', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarYearService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"3\">\n <odx-calendar-header\n (previous)=\"previousYear($event)\"\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (next)=\"nextYear($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: config.yearLabel }}\n </odx-calendar-header>\n </th>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousMonth($event)\"\n (keydown.ArrowRight)=\"nextMonth($event)\"\n (keydown.ArrowUp)=\"previousSeason($event)\"\n (keydown.ArrowDown)=\"nextSeason($event)\"\n (keydown.PageDown)=\"nextYear($event)\"\n (keydown.PageUp)=\"previousYear($event)\"\n >\n <tr class=\"odx-calendar__season\" *ngFor=\"let season of calendarYear.seasons$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let month of season; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(month)\"\n [odxCalendarCell]=\"month\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(month)\"\n >\n {{ month | odxDateLabel: config.monthLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
54
+ args: [{ selector: 'odx-calendar-year', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarYearService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"3\">\n <odx-calendar-header\n (previous)=\"previousYear($event)\"\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (next)=\"nextYear($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: { year: 'numeric' } }}\n </odx-calendar-header>\n </th>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousMonth($event)\"\n (keydown.ArrowRight)=\"nextMonth($event)\"\n (keydown.ArrowUp)=\"previousSeason($event)\"\n (keydown.ArrowDown)=\"nextSeason($event)\"\n (keydown.PageDown)=\"nextYear($event)\"\n (keydown.PageUp)=\"previousYear($event)\"\n >\n <tr class=\"odx-calendar__season\" *ngFor=\"let season of calendarYear.seasons$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let month of season; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(month)\"\n [odxCalendarCell]=\"month\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(month)\"\n >\n {{ month | odxDateLabel: { month: 'short' } }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
55
55
  }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIteWVhci9jYWxlbmRhci15ZWFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci15ZWFyL2NhbGVuZGFyLXllYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBWXRELFdBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXNCLFNBQVEscUJBQXFCO0lBQXpEOztRQUNjLGlCQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0MsYUFBUSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO0tBa0NwRDtJQWhDVyxhQUFhLENBQUMsS0FBWTtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQVk7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFUyxVQUFVLENBQUMsS0FBWTtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFUyxVQUFVLENBQUMsS0FBVztRQUM5QixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUV2QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDOytHQXBDVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixnRUFGckIsQ0FBQyxtQkFBbUIsQ0FBQyxpRENsQmxDLHNtREE2Q0EsMkNEL0JZLFVBQVUsbVRBQUUscUJBQXFCLHdQQUFFLHVCQUF1QixzS0FBRSxhQUFhOztBQU14RSxxQkFBcUI7SUFWakMsWUFBWSxDQUFDLGVBQWUsQ0FBQztHQVVqQixxQkFBcUIsQ0FxQ2pDOzRGQXJDWSxxQkFBcUI7a0JBVGpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxhQUFhLENBQUMsbUJBRW5FLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGFkZE1vbnRocywgZ2V0TW9udGgsIHNldE1vbnRoLCBzdWJNb250aHMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDYWxlbmRhckNlbGxEaXJlY3RpdmUsIENhbGVuZGFyVmlld0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IERhdGVMYWJlbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBDYWxlbmRhclllYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci1oZWFkZXInO1xuXG5AQ1NTQ29tcG9uZW50KCdjYWxlbmRhci15ZWFyJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYWxlbmRhci15ZWFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQsIERhdGVMYWJlbFBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIteWVhci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtDYWxlbmRhclllYXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJZZWFyQ29tcG9uZW50IGV4dGVuZHMgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyWWVhciA9IGluamVjdChDYWxlbmRhclllYXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5leHRWaWV3ID0gQ2FsZW5kYXJWaWV3Lk1vbnRoO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3VycmVudFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcjtcblxuICBwcm90ZWN0ZWQgcHJldmlvdXNNb250aChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1Yk1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0TW9udGgoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGRNb250aHModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNTZWFzb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAzKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dFNlYXNvbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZE1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDMpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2aW91c1llYXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAxMikpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRZZWFyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3REYXRlKHZhbHVlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEYXRlRGlzYWJsZWQodmFsdWUpKSByZXR1cm47XG5cbiAgICBjb25zdCBkYXRlID0gc2V0TW9udGgodGhpcy5hY3RpdmVEYXRlLCBnZXRNb250aCh2YWx1ZSkpO1xuICAgIHRoaXMuY2FsZW5kYXIuc2VsZWN0RGF0ZShkYXRlLCB7IHNraXBEYXRlcmFuZ2VVcGRhdGU6IHRydWUgfSk7XG5cbiAgICB0aGlzLmNoYW5nZVZpZXcoKTtcbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwib2R4LWNhbGVuZGFyX190YWJsZVwiIHJvbGU9XCJncmlkXCIgYXJpYS1kZXNjcmliZWRieT1cIm9keC1jYWxlbmRhclwiPlxuICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgPHRoIGNvbHNwYW49XCIzXCI+XG4gICAgICAgIDxvZHgtY2FsZW5kYXItaGVhZGVyXG4gICAgICAgICAgKHByZXZpb3VzKT1cInByZXZpb3VzWWVhcigkZXZlbnQpXCJcbiAgICAgICAgICBbY2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAobmV4dCk9XCJuZXh0WWVhcigkZXZlbnQpXCJcbiAgICAgICAgICAoY2hhbmdlVmlldyk9XCJjaGFuZ2VWaWV3KClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgYWN0aXZlRGF0ZSB8IG9keERhdGVMYWJlbDogY29uZmlnLnllYXJMYWJlbCB9fVxuICAgICAgICA8L29keC1jYWxlbmRhci1oZWFkZXI+XG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG5cbiAgPHRib2R5XG4gICAgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX2JvZHlcIlxuICAgIChrZXlkb3duLkFycm93TGVmdCk9XCJwcmV2aW91c01vbnRoKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93UmlnaHQpPVwibmV4dE1vbnRoKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93VXApPVwicHJldmlvdXNTZWFzb24oJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dEb3duKT1cIm5leHRTZWFzb24oJGV2ZW50KVwiXG4gICAgKGtleWRvd24uUGFnZURvd24pPVwibmV4dFllYXIoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uUGFnZVVwKT1cInByZXZpb3VzWWVhcigkZXZlbnQpXCJcbiAgPlxuICAgIDx0ciBjbGFzcz1cIm9keC1jYWxlbmRhcl9fc2Vhc29uXCIgKm5nRm9yPVwibGV0IHNlYXNvbiBvZiBjYWxlbmRhclllYXIuc2Vhc29ucyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICA8dGQgcm9sZT1cImdyaWRjZWxsXCIgKm5nRm9yPVwibGV0IG1vbnRoIG9mIHNlYXNvbjsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEYXRlRGlzYWJsZWQobW9udGgpXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsXT1cIm1vbnRoXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZVJhbmdlXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZShtb250aClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgbW9udGggfCBvZHhEYXRlTGFiZWw6IGNvbmZpZy5tb250aExhYmVsIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIteWVhci9jYWxlbmRhci15ZWFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci15ZWFyL2NhbGVuZGFyLXllYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBWXRELFdBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXNCLFNBQVEscUJBQXFCO0lBQXpEOztRQUNjLGlCQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0MsYUFBUSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO0tBa0NwRDtJQWhDVyxhQUFhLENBQUMsS0FBWTtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQVk7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFUyxVQUFVLENBQUMsS0FBWTtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFUyxVQUFVLENBQUMsS0FBVztRQUM5QixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUV2QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDOytHQXBDVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixnRUFGckIsQ0FBQyxtQkFBbUIsQ0FBQyxpRENsQmxDLDBtREE2Q0EsMkNEL0JZLFVBQVUsbVRBQUUscUJBQXFCLHdQQUFFLHVCQUF1QixzS0FBRSxhQUFhOztBQU14RSxxQkFBcUI7SUFWakMsWUFBWSxDQUFDLGVBQWUsQ0FBQztHQVVqQixxQkFBcUIsQ0FxQ2pDOzRGQXJDWSxxQkFBcUI7a0JBVGpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxhQUFhLENBQUMsbUJBRW5FLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGFkZE1vbnRocywgZ2V0TW9udGgsIHNldE1vbnRoLCBzdWJNb250aHMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDYWxlbmRhckNlbGxEaXJlY3RpdmUsIENhbGVuZGFyVmlld0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IERhdGVMYWJlbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBDYWxlbmRhclllYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci1oZWFkZXInO1xuXG5AQ1NTQ29tcG9uZW50KCdjYWxlbmRhci15ZWFyJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYWxlbmRhci15ZWFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQsIERhdGVMYWJlbFBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIteWVhci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtDYWxlbmRhclllYXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJZZWFyQ29tcG9uZW50IGV4dGVuZHMgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyWWVhciA9IGluamVjdChDYWxlbmRhclllYXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5leHRWaWV3ID0gQ2FsZW5kYXJWaWV3Lk1vbnRoO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3VycmVudFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcjtcblxuICBwcm90ZWN0ZWQgcHJldmlvdXNNb250aChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1Yk1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0TW9udGgoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGRNb250aHModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNTZWFzb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAzKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dFNlYXNvbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZE1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDMpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2aW91c1llYXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAxMikpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRZZWFyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3REYXRlKHZhbHVlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEYXRlRGlzYWJsZWQodmFsdWUpKSByZXR1cm47XG5cbiAgICBjb25zdCBkYXRlID0gc2V0TW9udGgodGhpcy5hY3RpdmVEYXRlLCBnZXRNb250aCh2YWx1ZSkpO1xuICAgIHRoaXMuY2FsZW5kYXIuc2VsZWN0RGF0ZShkYXRlLCB7IHNraXBEYXRlcmFuZ2VVcGRhdGU6IHRydWUgfSk7XG5cbiAgICB0aGlzLmNoYW5nZVZpZXcoKTtcbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwib2R4LWNhbGVuZGFyX190YWJsZVwiIHJvbGU9XCJncmlkXCIgYXJpYS1kZXNjcmliZWRieT1cIm9keC1jYWxlbmRhclwiPlxuICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgPHRoIGNvbHNwYW49XCIzXCI+XG4gICAgICAgIDxvZHgtY2FsZW5kYXItaGVhZGVyXG4gICAgICAgICAgKHByZXZpb3VzKT1cInByZXZpb3VzWWVhcigkZXZlbnQpXCJcbiAgICAgICAgICBbY2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAobmV4dCk9XCJuZXh0WWVhcigkZXZlbnQpXCJcbiAgICAgICAgICAoY2hhbmdlVmlldyk9XCJjaGFuZ2VWaWV3KClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgYWN0aXZlRGF0ZSB8IG9keERhdGVMYWJlbDogeyB5ZWFyOiAnbnVtZXJpYycgfSB9fVxuICAgICAgICA8L29keC1jYWxlbmRhci1oZWFkZXI+XG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG5cbiAgPHRib2R5XG4gICAgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX2JvZHlcIlxuICAgIChrZXlkb3duLkFycm93TGVmdCk9XCJwcmV2aW91c01vbnRoKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93UmlnaHQpPVwibmV4dE1vbnRoKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93VXApPVwicHJldmlvdXNTZWFzb24oJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dEb3duKT1cIm5leHRTZWFzb24oJGV2ZW50KVwiXG4gICAgKGtleWRvd24uUGFnZURvd24pPVwibmV4dFllYXIoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uUGFnZVVwKT1cInByZXZpb3VzWWVhcigkZXZlbnQpXCJcbiAgPlxuICAgIDx0ciBjbGFzcz1cIm9keC1jYWxlbmRhcl9fc2Vhc29uXCIgKm5nRm9yPVwibGV0IHNlYXNvbiBvZiBjYWxlbmRhclllYXIuc2Vhc29ucyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICA8dGQgcm9sZT1cImdyaWRjZWxsXCIgKm5nRm9yPVwibGV0IG1vbnRoIG9mIHNlYXNvbjsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEYXRlRGlzYWJsZWQobW9udGgpXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsXT1cIm1vbnRoXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZVJhbmdlXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZShtb250aClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgbW9udGggfCBvZHhEYXRlTGFiZWw6IHsgbW9udGg6ICdzaG9ydCcgfSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
@@ -53,13 +53,13 @@ export let CalendarYearsComponent = class CalendarYearsComponent extends Calenda
53
53
  }
54
54
  }
55
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarYearsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarYearsComponent, isStandalone: true, selector: "odx-calendar-years", providers: [CalendarYearsService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(year)\"\n >\n {{ year | odxDateLabel: config.yearLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: i3.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "directive", type: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate", "odxCalendarCellSelectedDateRange", "odxCalendarCellPreviewDate"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarYearsComponent, isStandalone: true, selector: "odx-calendar-years", providers: [CalendarYearsService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(year)\"\n >\n {{ year | odxDateLabel: { year: 'numeric' } }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: i3.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "directive", type: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate", "odxCalendarCellSelectedDateRange", "odxCalendarCellPreviewDate"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
57
57
  };
58
58
  CalendarYearsComponent = __decorate([
59
59
  CSSComponent('calendar-years')
60
60
  ], CalendarYearsComponent);
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarYearsComponent, decorators: [{
62
62
  type: Component,
63
- args: [{ selector: 'odx-calendar-years', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarYearsService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(year)\"\n >\n {{ year | odxDateLabel: config.yearLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
63
+ args: [{ selector: 'odx-calendar-years', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarYearsService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(year)\"\n >\n {{ year | odxDateLabel: { year: 'numeric' } }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
64
64
  }] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLXllYXJzL2NhbGVuZGFyLXllYXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci15ZWFycy9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFv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RE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZGVmZXJGbiwgaXNGdW5jdGlvbiB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBhZGRNb250aHMsIGdldFllYXIsIHNldFllYXIsIHN1Yk1vbnRocyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDYWxlbmRhclZpZXcgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgRGF0ZUxhYmVsUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IENhbGVuZGFyWWVhcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci1oZWFkZXInO1xuXG5AQ1NTQ29tcG9uZW50KCdjYWxlbmRhci15ZWFycycpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtY2FsZW5kYXIteWVhcnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgQ2FsZW5kYXJDZWxsRGlyZWN0aXZlLCBDYWxlbmRhckhlYWRlckNvbXBvbmVudCwgRGF0ZUxhYmVsUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtDYWxlbmRhclllYXJzU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyWWVhcnNDb21wb25lbnQgZXh0ZW5kcyBDYWxlbmRhclZpZXdEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyWWVhcnMgPSBpbmplY3QoQ2FsZW5kYXJZZWFyc1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmV4dFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1cnJlbnRWaWV3ID0gQ2FsZW5kYXJWaWV3LlllYXJzO1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgZGVmZXJGbigoKSA9PiB0aGlzLnNjcm9sbEN1cnJlbnRZZWFySW50b1ZpZXcoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNZZWFyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgc3ViTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0WWVhcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZE1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEyKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNSb3coZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAxMiAqIDMpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0Um93KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIgKiAzKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0RGF0ZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGF0ZURpc2FibGVkKHZhbHVlKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0ZSA9IHNldFllYXIodGhpcy5hY3RpdmVEYXRlLCBnZXRZZWFyKHZhbHVlKSk7XG4gICAgdGhpcy5jYWxlbmRhci5zZWxlY3REYXRlKGRhdGUsIHsgc2tpcERhdGVyYW5nZVVwZGF0ZTogdHJ1ZSB9KTtcblxuICAgIHRoaXMuY2hhbmdlVmlldygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxDdXJyZW50WWVhckludG9WaWV3KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkWWVhciA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm9keC1jYWxlbmRhci1jZWxsLmlzLXNlbGVjdGVkJyk7XG4gICAgY29uc3QgY3VycmVudFllYXIgPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vZHgtY2FsZW5kYXItY2VsbC0taXMtY3VycmVudCcpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IHNlbGVjdGVkWWVhciB8fCBjdXJyZW50WWVhcjtcblxuICAgIGlmIChlbGVtZW50ICYmIGlzRnVuY3Rpb24oZWxlbWVudC5zY3JvbGxJbnRvVmlldykpIHtcbiAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ2NlbnRlcicsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjx0YWJsZSBjbGFzcz1cIm9keC1jYWxlbmRhcl9fdGFibGVcIiByb2xlPVwiZ3JpZFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJvZHgtY2FsZW5kYXJcIiAqbmdyeExldD1cImNhbGVuZGFyLmFjdGl2ZURhdGUkIGFzIGFjdGl2ZURhdGVcIj5cbiAgPHRoZWFkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgIDx0aD48L3RoPlxuICA8L3RoZWFkPlxuXG4gIDx0Ym9keVxuICAgIGNsYXNzPVwib2R4LWNhbGVuZGFyX19ib2R5XCJcbiAgICAoa2V5ZG93bi5BcnJvd0xlZnQpPVwicHJldmlvdXNZZWFyKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93UmlnaHQpPVwibmV4dFllYXIoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dVcCk9XCJwcmV2aW91c1JvdygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd0Rvd24pPVwibmV4dFJvdygkZXZlbnQpXCJcbiAgPlxuICAgIDx0ciBjbGFzcz1cIm9keC1jYWxlbmRhcl9feWVhci1yb3dcIiAqbmdGb3I9XCJsZXQgeWVhclJvdyBvZiBjYWxlbmRhclllYXJzLnllYXJzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgIDx0ZCByb2xlPVwiZ3JpZGNlbGxcIiAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyUm93OyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0RhdGVEaXNhYmxlZCh5ZWFyKVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbF09XCJ5ZWFyXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZVJhbmdlXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZSh5ZWFyKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB5ZWFyIHwgb2R4RGF0ZUxhYmVsOiBjb25maWcueWVhckxhYmVsIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLXllYXJzL2NhbGVuZGFyLXllYXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci15ZWFycy9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFv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RE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZGVmZXJGbiwgaXNGdW5jdGlvbiB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBhZGRNb250aHMsIGdldFllYXIsIHNldFllYXIsIHN1Yk1vbnRocyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDYWxlbmRhclZpZXcgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgRGF0ZUxhYmVsUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IENhbGVuZGFyWWVhcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci1oZWFkZXInO1xuXG5AQ1NTQ29tcG9uZW50KCdjYWxlbmRhci15ZWFycycpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtY2FsZW5kYXIteWVhcnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgQ2FsZW5kYXJDZWxsRGlyZWN0aXZlLCBDYWxlbmRhckhlYWRlckNvbXBvbmVudCwgRGF0ZUxhYmVsUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtDYWxlbmRhclllYXJzU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyWWVhcnNDb21wb25lbnQgZXh0ZW5kcyBDYWxlbmRhclZpZXdEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyWWVhcnMgPSBpbmplY3QoQ2FsZW5kYXJZZWFyc1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmV4dFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1cnJlbnRWaWV3ID0gQ2FsZW5kYXJWaWV3LlllYXJzO1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgZGVmZXJGbigoKSA9PiB0aGlzLnNjcm9sbEN1cnJlbnRZZWFySW50b1ZpZXcoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNZZWFyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgc3ViTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0WWVhcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZE1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEyKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNSb3coZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAxMiAqIDMpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0Um93KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIgKiAzKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0RGF0ZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGF0ZURpc2FibGVkKHZhbHVlKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0ZSA9IHNldFllYXIodGhpcy5hY3RpdmVEYXRlLCBnZXRZZWFyKHZhbHVlKSk7XG4gICAgdGhpcy5jYWxlbmRhci5zZWxlY3REYXRlKGRhdGUsIHsgc2tpcERhdGVyYW5nZVVwZGF0ZTogdHJ1ZSB9KTtcblxuICAgIHRoaXMuY2hhbmdlVmlldygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxDdXJyZW50WWVhckludG9WaWV3KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkWWVhciA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm9keC1jYWxlbmRhci1jZWxsLmlzLXNlbGVjdGVkJyk7XG4gICAgY29uc3QgY3VycmVudFllYXIgPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vZHgtY2FsZW5kYXItY2VsbC0taXMtY3VycmVudCcpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IHNlbGVjdGVkWWVhciB8fCBjdXJyZW50WWVhcjtcblxuICAgIGlmIChlbGVtZW50ICYmIGlzRnVuY3Rpb24oZWxlbWVudC5zY3JvbGxJbnRvVmlldykpIHtcbiAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ2NlbnRlcicsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjx0YWJsZSBjbGFzcz1cIm9keC1jYWxlbmRhcl9fdGFibGVcIiByb2xlPVwiZ3JpZFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJvZHgtY2FsZW5kYXJcIiAqbmdyeExldD1cImNhbGVuZGFyLmFjdGl2ZURhdGUkIGFzIGFjdGl2ZURhdGVcIj5cbiAgPHRoZWFkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgIDx0aD48L3RoPlxuICA8L3RoZWFkPlxuXG4gIDx0Ym9keVxuICAgIGNsYXNzPVwib2R4LWNhbGVuZGFyX19ib2R5XCJcbiAgICAoa2V5ZG93bi5BcnJvd0xlZnQpPVwicHJldmlvdXNZZWFyKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93UmlnaHQpPVwibmV4dFllYXIoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dVcCk9XCJwcmV2aW91c1JvdygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd0Rvd24pPVwibmV4dFJvdygkZXZlbnQpXCJcbiAgPlxuICAgIDx0ciBjbGFzcz1cIm9keC1jYWxlbmRhcl9feWVhci1yb3dcIiAqbmdGb3I9XCJsZXQgeWVhclJvdyBvZiBjYWxlbmRhclllYXJzLnllYXJzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgIDx0ZCByb2xlPVwiZ3JpZGNlbGxcIiAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyUm93OyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0RhdGVEaXNhYmxlZCh5ZWFyKVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbF09XCJ5ZWFyXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZVJhbmdlXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZSh5ZWFyKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB5ZWFyIHwgb2R4RGF0ZUxhYmVsOiB7IHllYXI6ICdudW1lcmljJyB9IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==