@progressio_resources/gravity-design-system 3.6.11 → 3.6.13

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 (26) hide show
  1. package/esm2022/lib/components/gravity-chip-group/gravity-chip-group.component.mjs +3 -3
  2. package/esm2022/lib/components/gravity-date-picker/components/day-calendar/day-calendar.component.mjs +25 -23
  3. package/esm2022/lib/components/gravity-date-picker/components/day-calendar/range-days-calendar.utils.mjs +26 -9
  4. package/esm2022/lib/components/gravity-date-picker/components/month-calendar/month-calendar.component.mjs +6 -7
  5. package/esm2022/lib/components/gravity-date-picker/components/year-calendar/year-calendar.component.mjs +6 -7
  6. package/esm2022/lib/components/gravity-date-picker/gravity-date-picker.component.mjs +5 -6
  7. package/esm2022/lib/components/gravity-date-picker/shared/date-picker.modal.mjs +1 -1
  8. package/fesm2022/progressio_resources-gravity-design-system.mjs +59 -41
  9. package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
  10. package/lib/components/gravity-date-picker/components/day-calendar/day-calendar.component.d.ts +4 -7
  11. package/lib/components/gravity-date-picker/gravity-date-picker.component.d.ts +2 -1
  12. package/lib/components/gravity-date-picker/shared/date-picker.modal.d.ts +0 -1
  13. package/package.json +1 -1
  14. package/src/lib/assets/icon-set/gt-icon-chevron-double-left/gt-icon-chevron-double-left-lg-24.svg +3 -0
  15. package/src/lib/assets/icon-set/gt-icon-chevron-double-left/gt-icon-chevron-double-left-md-16.svg +3 -0
  16. package/src/lib/assets/icon-set/gt-icon-chevron-double-left/gt-icon-chevron-double-left-sm-12.svg +3 -0
  17. package/src/lib/assets/icon-set/gt-icon-chevron-double-left/gt-icon-chevron-double-left-xl-32.svg +3 -0
  18. package/src/lib/assets/icon-set/gt-icon-chevron-double-right/gt-icon-chevron-double-right-lg-24.svg +3 -0
  19. package/src/lib/assets/icon-set/gt-icon-chevron-double-right/gt-icon-chevron-double-right-md-16.svg +3 -0
  20. package/src/lib/assets/icon-set/gt-icon-chevron-double-right/gt-icon-chevron-double-right-sm-12.svg +3 -0
  21. package/src/lib/assets/icon-set/gt-icon-chevron-double-right/gt-icon-chevron-double-right-xl-32.svg +3 -0
  22. package/src/lib/assets/icon-set/gt-icon-receipt/gt-icon-receipt-lg-24.svg +10 -0
  23. package/src/lib/assets/icon-set/gt-icon-receipt/gt-icon-receipt-md-16.svg +10 -0
  24. package/src/lib/assets/icon-set/gt-icon-receipt/gt-icon-receipt-sm-12.svg +10 -0
  25. package/src/lib/assets/icon-set/gt-icon-receipt/gt-icon-receipt-xl-32.svg +10 -0
  26. package/src/lib/assets/json/icons.json +48 -0
@@ -20,14 +20,18 @@ export function isPreview(component, day) {
20
20
  export function processPreselectedRangeDate(component) {
21
21
  let end = null;
22
22
  let start = null;
23
- component.startDateField.focus();
23
+ setTimeout(() => { if (!component.appearance.isMobile) {
24
+ component.startDateField.focus();
25
+ } }, 0);
24
26
  if (Array.isArray(component.config.initDate)) {
25
27
  [start, end] = component.config.initDate;
26
28
  }
27
29
  if (start instanceof Date) {
28
30
  component.selectedRangeStart = dateToCalendarDay(start);
29
31
  setTimeout(() => {
30
- component.endDateField.focus();
32
+ if (!component.appearance.isMobile) {
33
+ component.endDateField.focus();
34
+ }
31
35
  component.startDateField.inputValue = dateToString(start, component.appearance.language);
32
36
  }, 0);
33
37
  }
@@ -35,7 +39,9 @@ export function processPreselectedRangeDate(component) {
35
39
  component.currentDate = getStartDate(end);
36
40
  component.selectedRangeEnd = dateToCalendarDay(end);
37
41
  setTimeout(() => {
38
- component.startDateField.focus();
42
+ if (!component.appearance.isMobile) {
43
+ component.startDateField.focus();
44
+ }
39
45
  component.endDateField.inputValue = dateToString(end, component.appearance.language);
40
46
  }, 0);
41
47
  }
@@ -100,7 +106,9 @@ export function onSelectDaysRange(component, day) {
100
106
  const focusField = field === 'start' ?
101
107
  (component.selectedRangeEnd ? 'start' : 'end') :
102
108
  (component.selectedRangeStart ? 'end' : 'start');
103
- component[`${focusField}DateField`].focus();
109
+ if (!component.appearance.isMobile) {
110
+ component[`${focusField}DateField`].focus();
111
+ }
104
112
  component[`${focusField}DateField`].inputElement.nativeElement.setSelectionRange(10, 10);
105
113
  }, 100);
106
114
  };
@@ -148,9 +156,11 @@ export function searchDate(component, dateStr, target) {
148
156
  return;
149
157
  }
150
158
  if (!calendarDate) {
151
- field.focus();
152
159
  component[oppositeDisabled] = true;
153
160
  component[errorProp] = i18n.invalid_date;
161
+ if (!component.appearance.isMobile) {
162
+ field.focus();
163
+ }
154
164
  component.notification = { text: i18n.select_valid_date, error: true };
155
165
  return;
156
166
  }
@@ -162,20 +172,22 @@ export function searchDate(component, dateStr, target) {
162
172
  const otherDate = otherCalendarDate ? calendarDateToDate(otherCalendarDate) : null;
163
173
  if ((target === 'start' && otherDate && date > otherDate) ||
164
174
  (target === 'end' && otherDate && date < otherDate)) {
165
- field.focus();
166
175
  component[oppositeDisabled] = true;
167
176
  component[errorProp] = i18n.invalid_date;
177
+ if (!component.appearance.isMobile) {
178
+ field.focus();
179
+ }
168
180
  component.notification = { text: target === 'start' ? i18n.start_before_end : i18n.end_after_start, error: true };
169
181
  return;
170
182
  }
171
183
  if (target === 'start') {
172
184
  component.selectedRangeStart = calendarDate;
173
- if (!component.selectedRangeEnd)
185
+ if (!component.selectedRangeEnd && !component.appearance.isMobile)
174
186
  setTimeout(() => component.endDateField.focus(), 100);
175
187
  }
176
188
  else {
177
189
  component.selectedRangeEnd = calendarDate;
178
- if (!component.selectedRangeStart)
190
+ if (!component.selectedRangeStart && !component.appearance.isMobile)
179
191
  setTimeout(() => component.startDateField.focus(), 100);
180
192
  }
181
193
  component[errorProp] = null;
@@ -219,6 +231,11 @@ export function onDateKeyup(component, event, target) {
219
231
  }
220
232
  if (value.length > 9) {
221
233
  searchDate(this, value, target);
234
+ if (this.appearance.isMobile) {
235
+ if (document.activeElement instanceof HTMLElement) {
236
+ document.activeElement.blur();
237
+ }
238
+ }
222
239
  }
223
240
  }
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGF5cy1jYWxlbmRhci51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kYXRlLXBpY2tlci9jb21wb25lbnRzL2RheS1jYWxlbmRhci9yYW5nZS1kYXlzLWNhbGVuZGFyLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRXJKLE1BQU0sVUFBVSxTQUFTLENBQUMsU0FBK0IsRUFBRSxHQUFpQjtJQUMzRSxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV4QyxJQUFJLFNBQVMsQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFO1FBQ3hGLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxJQUFJLEtBQUssSUFBSSxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakMsT0FBTyxPQUFPLEdBQUcsS0FBSyxJQUFJLE9BQU8sSUFBSSxLQUFLLENBQUM7S0FDM0M7SUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixJQUFJLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFO1FBQ3hGLE1BQU0sR0FBRyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFH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cG9ydCB7Q2FsZW5kYXJEYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLm1vZGFsXCI7XG5pbXBvcnQge0RheUNhbGVuZGFyQ29tcG9uZW50fSBmcm9tIFwiLi9kYXktY2FsZW5kYXIuY29tcG9uZW50XCI7XG5pbXBvcnQge2NhbGVuZGFyRGF0ZVRvRGF0ZSwgZGF0ZVRvU3RyaW5nLCBnZXRTdGFydERhdGUsIHN0cmluZ1RvQ2FsZW5kYXJEYXRlLCBzdHJpbmdUb0RhdGUsIGRhdGVUb0NhbGVuZGFyRGF5fSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLnV0aWxzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByZXZpZXcoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF5OiBDYWxlbmRhckRhdGUpOiBib29sZWFuIHtcblx0Y29uc3QgY3VycmVudCA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShkYXkpO1xuXG5cdGlmIChjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmICFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCAmJiBjb21wb25lbnQuaG92ZXJlZERheSkge1xuXHRcdGNvbnN0IHN0YXJ0ID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQpO1xuXHRcdGNvbnN0IGhvdmVyID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5ob3ZlcmVkRGF5KTtcblx0XHRpZiAoaG92ZXIgPD0gc3RhcnQpIHJldHVybiBmYWxzZTtcblx0XHRyZXR1cm4gY3VycmVudCA+IHN0YXJ0ICYmIGN1cnJlbnQgPD0gaG92ZXI7XG5cdH1cblxuXHRpZiAoIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgJiYgY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgJiYgY29tcG9uZW50LmhvdmVyZWREYXkpIHtcblx0XHRjb25zdCBlbmQgPSBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQpO1xuXHRcdGNvbnN0IGhvdmVyID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5ob3ZlcmVkRGF5KTtcblx0XHRpZiAoaG92ZXIgPj0gZW5kKSByZXR1cm4gZmFsc2U7XG5cdFx0cmV0dXJuIGN1cnJlbnQgPCBlbmQgJiYgY3VycmVudCA+PSBob3Zlcjtcblx0fVxuXG5cdHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NQcmVzZWxlY3RlZFJhbmdlRGF0ZShjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50KSB7XG5cdGxldCBlbmQ6IERhdGUgfCBudWxsID0gbnVsbDtcblx0bGV0IHN0YXJ0OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cblx0Y29tcG9uZW50LnN0YXJ0RGF0ZUZpZWxkLmZvY3VzKCk7XG5cblx0aWYgKEFycmF5LmlzQXJyYXkoY29tcG9uZW50LmNvbmZpZy5pbml0RGF0ZSkpIHtbc3RhcnQsIGVuZF0gPSBjb21wb25lbnQuY29uZmlnLmluaXREYXRlO31cblxuICBpZiAoc3RhcnQgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCA9IGRhdGVUb0NhbGVuZGFyRGF5KHN0YXJ0KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcblx0ICAgIGNvbXBvbmVudC5lbmREYXRlRmllbGQuZm9jdXMoKTtcblx0XHRcdGNvbXBvbmVudC5zdGFydERhdGVGaWVsZC5pbnB1dFZhbHVlID0gZGF0ZVRvU3RyaW5nKHN0YXJ0LCBjb21wb25lbnQuYXBwZWFyYW5jZS5sYW5ndWFnZSk7XG5cdFx0fSwgMCk7XG4gIH1cblxuICBpZiAoZW5kIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIGNvbXBvbmVudC5jdXJyZW50RGF0ZSA9IGdldFN0YXJ0RGF0ZShlbmQpO1xuICAgIGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kID0gZGF0ZVRvQ2FsZW5kYXJEYXkoZW5kKTtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdGNvbXBvbmVudC5zdGFydERhdGVGaWVsZC5mb2N1cygpO1xuXHRcdFx0Y29tcG9uZW50LmVuZERhdGVGaWVsZC5pbnB1dFZhbHVlID0gZGF0ZVRvU3RyaW5nKGVuZCwgY29tcG9uZW50LmFwcGVhcmFuY2UubGFuZ3VhZ2UpO1xuXHRcdH0sIDApO1xuXG4gIH0gZWxzZSBpZiAoc3RhcnQgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgY29tcG9uZW50LmN1cnJlbnREYXRlID0gZ2V0U3RhcnREYXRlKHN0YXJ0KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmFuZ2VTZWxlY3Rpb25DbGFzcyhjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXk6IENhbGVuZGFyRGF0ZSk6IHN0cmluZyB7XG5cdGNvbnN0IGN1cnJlbnQgPSBjYWxlbmRhckRhdGVUb0RhdGUoZGF5KTtcblx0Y29uc3Qgc3RhcnQgPSBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ID8gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQpIDogbnVsbDtcblx0Y29uc3QgZW5kID0gY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgPyBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQpIDogbnVsbDtcblxuXHRpZiAoIXN0YXJ0ICYmICFlbmQpIHtcblx0XHRyZXR1cm4gY29tcG9uZW50LmZvY3VzZWQgPT09ICdzdGFydCcgPyAnbnNsLXN0YXJ0JyA6ICduc2wtZW5kJztcblx0fVxuXG5cdGlmIChzdGFydCAmJiAhZW5kKSB7XG5cdFx0aWYgKGN1cnJlbnQuZ2V0VGltZSgpID09PSBzdGFydC5nZXRUaW1lKCkpIHJldHVybiAnc2wgc3RhcnQnO1xuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA8IHN0YXJ0LmdldFRpbWUoKSkgcmV0dXJuICduc2wtc3RhcnQnO1xuXHRcdHJldHVybiAnaW4tc2x0IG5zbC1lbmQnO1xuXHR9XG5cblx0aWYgKCFzdGFydCAmJiBlbmQpIHtcblx0XHRpZiAoY3VycmVudC5nZXRUaW1lKCkgPT09IGVuZC5nZXRUaW1lKCkpIHJldHVybiAnc2wgZW5kJztcblx0XHRpZiAoY3VycmVudC5nZXRUaW1lKCkgPiBlbmQuZ2V0VGltZSgpKSByZXR1cm4gJ25zbC1lbmQnO1xuXHRcdHJldHVybiAnaW4tc2x0IG5zbC1zdGFydCc7XG5cdH1cblxuXHRpZiAoc3RhcnQgJiYgZW5kKSB7XG5cdFx0aWYoY3VycmVudC5nZXRUaW1lKCkgPT09IHN0YXJ0LmdldFRpbWUoKSAmJlxuXHRcdFx0IHN0YXJ0LmdldFRpbWUoKSA9PT0gZW5kLmdldFRpbWUoKSlcblx0XHRcdFx0cmV0dXJuICdzdGFydCBzbCBzYW1lLXNsbic7XG5cblx0XHRpZiAoY3VycmVudC5nZXRUaW1lKCkgPT09IHN0YXJ0LmdldFRpbWUoKSkgcmV0dXJuICdzbCBzdGFydCc7XG5cdFx0aWYgKGN1cnJlbnQuZ2V0VGltZSgpIDwgc3RhcnQuZ2V0VGltZSgpKSByZXR1cm4gJ25zbC1zdGFydCc7XG5cdFx0aWYgKGN1cnJlbnQuZ2V0VGltZSgpID09PSBlbmQuZ2V0VGltZSgpKSByZXR1cm4gJ3NsIGVuZCc7XG5cdFx0aWYgKGN1cnJlbnQuZ2V0VGltZSgpID4gZW5kLmdldFRpbWUoKSkgcmV0dXJuICduc2wtZW5kJztcblx0XHRpZiAoY3VycmVudCA+IHN0YXJ0ICYmIGN1cnJlbnQgPCBlbmQpIHJldHVybiAnc2wgcmFuZ2UnO1xuXHRcdHJldHVybiAnZGVmYXVsdCc7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uU2VsZWN0RGF5c1JhbmdlKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQsIGRheTogQ2FsZW5kYXJEYXRlKTogdm9pZCB7XG5cdGNvbnN0IHNlbGVjdGVkID0gY2FsZW5kYXJEYXRlVG9EYXRlKGRheSk7XG5cdGNvbnN0IGhhc0VuZCA9ICEhY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQ7XG5cdGNvbnN0IGhhc1N0YXJ0ID0gISFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0O1xuXHRjb25zdCBsYW5ndWFnZSA9IGNvbXBvbmVudC5hcHBlYXJhbmNlLmxhbmd1YWdlO1xuXHRjb25zdCBlbmREYXRlID0gaGFzRW5kID8gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kKSA6IG51bGw7XG5cdGNvbnN0IHN0YXJ0RGF0ZSA9IGhhc1N0YXJ0ID8gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQpIDogbnVsbDtcblxuXHRPYmplY3QuYXNzaWduKGNvbXBvbmVudCwge1xuXHRcdG5vdGlmaWNhdGlvbjogbnVsbCxcblx0XHRlbmREYXRlRXJyb3I6ICcnLCBzdGFydERhdGVFcnJvcjogJycsXG5cdFx0ZW5kRmllbGREaXNhYmxlZDogZmFsc2UsIHN0YXJ0RmllbGREaXNhYmxlZDogZmFsc2UsXG5cdH0pO1xuXG5cdGNvbnN0IHVwZGF0ZUZpZWxkID0gKGZpZWxkOiAnc3RhcnQnIHwgJ2VuZCcpID0+IHtcblx0XHRjb21wb25lbnRbYHNlbGVjdGVkUmFuZ2Uke2ZpZWxkID09PSAnc3RhcnQnID8gJ1N0YXJ0JyA6ICdFbmQnfWBdID0gZGF5O1xuXHRcdGNvbXBvbmVudFtgJHtmaWVsZH1EYXRlRmllbGRgXS5pbnB1dFZhbHVlID0gZGF0ZVRvU3RyaW5nKHNlbGVjdGVkLCBsYW5ndWFnZSk7XG5cblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdGNvbnN0IGZvY3VzRmllbGQgPSBmaWVsZCA9PT0gJ3N0YXJ0JyA/XG5cdFx0XHRcdChjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCA/ICdzdGFydCcgOiAnZW5kJykgOlxuXHRcdFx0XHQoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCA/ICdlbmQnIDogJ3N0YXJ0Jyk7XG5cblx0XHRcdGNvbXBvbmVudFtgJHtmb2N1c0ZpZWxkfURhdGVGaWVsZGBdLmZvY3VzKCk7XG5cdFx0XHRjb21wb25lbnRbYCR7Zm9jdXNGaWVsZH1EYXRlRmllbGRgXS5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZSgxMCwgMTApO1xuXHRcdH0sIDEwMCk7XG5cdH07XG5cblx0aWYgKCFoYXNTdGFydCAmJiAhaGFzRW5kKSB7XG5cdFx0dXBkYXRlRmllbGQoY29tcG9uZW50LmZvY3VzZWQpO1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGlmIChoYXNTdGFydCAmJiAhaGFzRW5kKSB7XG5cdFx0c2VsZWN0ZWQgPj0gc3RhcnREYXRlISA/IHVwZGF0ZUZpZWxkKCdlbmQnKSA6IHVwZGF0ZUZpZWxkKCdzdGFydCcpO1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGlmICghaGFzU3RhcnQgJiYgaGFzRW5kKSB7XG5cdFx0c2VsZWN0ZWQgPCBlbmREYXRlISA/IHVwZGF0ZUZpZWxkKCdzdGFydCcpIDogdXBkYXRlRmllbGQoJ2VuZCcpO1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGlmIChoYXNTdGFydCAmJiBoYXNFbmQpIHtcblx0XHRzZWxlY3RlZCA8IHN0YXJ0RGF0ZSEgPyB1cGRhdGVGaWVsZCgnc3RhcnQnKSA6IHVwZGF0ZUZpZWxkKCdlbmQnKTtcblx0XHRyZXR1cm47XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uQXBwbHlSYWdlRGF0ZShjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50KXtcbiAgICBjb25zdCBzdGFydCA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0KTtcbiAgICBjb25zdCBlbmQgPSBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQpO1xuICAgIGNvbXBvbmVudC5jYWxlbmRhclJlc3BvbnNlLmVtaXQoW3N0YXJ0LCBlbmRdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uSG92ZXJEYXkoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF5OiBDYWxlbmRhckRhdGUpOiB2b2lkIHtcblx0Y29uc3Qgc3RhcnRTZWxlY3RlZCA9ICEhY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCAmJiAhY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQ7XG5cdGNvbnN0IGVuZFNlbGVjdGVkID0gISFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCAmJiAhY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydDtcblx0aWYgKHN0YXJ0U2VsZWN0ZWQgfHwgZW5kU2VsZWN0ZWQpIHsgY29tcG9uZW50LmhvdmVyZWREYXkgPSBkYXk7IH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uQ2xlYXJIb3Zlcihjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50KTogdm9pZCB7XG5cdGNvbXBvbmVudC5ob3ZlcmVkRGF5ID0gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlYXJjaERhdGUoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF0ZVN0cjogc3RyaW5nLCB0YXJnZXQ6ICdzdGFydCcgfCAnZW5kJyk6IHZvaWQge1xuXHRjb25zdCBpMThuID0gY29tcG9uZW50LmkxOG47XG5cdGNvbnN0IGRhdGUgPSBzdHJpbmdUb0RhdGUoZGF0ZVN0ciwgY29tcG9uZW50LmFwcGVhcmFuY2UubGFuZ3VhZ2UpO1xuXHRjb25zdCBjYWxlbmRhckRhdGUgPSBzdHJpbmdUb0NhbGVuZGFyRGF0ZShkYXRlU3RyLCBjb21wb25lbnQuYXBwZWFyYW5jZS5sYW5ndWFnZSk7XG5cdGNvbnN0IGVycm9yUHJvcCA9IHRhcmdldCA9PT0gJ3N0YXJ0JyA/ICdzdGFydERhdGVFcnJvcicgOiAnZW5kRGF0ZUVycm9yJztcblx0Y29uc3QgZmllbGQgPSB0YXJnZXQgPT09ICdzdGFydCcgPyBjb21wb25lbnQuc3RhcnREYXRlRmllbGQgOiBjb21wb25lbnQuZW5kRGF0ZUZpZWxkO1xuXHRjb25zdCBvcHBvc2l0ZURpc2FibGVkID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gJ2VuZEZpZWxkRGlzYWJsZWQnIDogJ3N0YXJ0RmllbGREaXNhYmxlZCc7XG5cblx0aWYgKCFkYXRlU3RyKSB7IGNvbXBvbmVudFtvcHBvc2l0ZURpc2FibGVkXSA9IGZhbHNlOyByZXR1cm47IH1cblxuXHRpZiAoIWNhbGVuZGFyRGF0ZSkge1xuXHRcdGZpZWxkLmZvY3VzKCk7XG5cdFx0Y29tcG9uZW50W29wcG9zaXRlRGlzYWJsZWRdID0gdHJ1ZTtcblx0XHRjb21wb25lbnRbZXJyb3JQcm9wXSA9IGkxOG4uaW52YWxpZF9kYXRlO1xuXHRcdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSB7IHRleHQ6IGkxOG4uc2VsZWN0X3ZhbGlkX2RhdGUsIGVycm9yOiB0cnVlIH07XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0aWYgKCF2YWxpZGF0ZURhdGVMaW1pdHMoY29tcG9uZW50LCBkYXRlLCB0YXJnZXQpKSB7XG5cdFx0Y29tcG9uZW50W29wcG9zaXRlRGlzYWJsZWRdID0gdHJ1ZTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRjb25zdCBvdGhlckNhbGVuZGFyRGF0ZSA9IHRhcmdldCA9PT0gJ3N0YXJ0JyA/IGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kIDogY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydDtcblx0Y29uc3Qgb3RoZXJEYXRlID0gb3RoZXJDYWxlbmRhckRhdGUgPyBjYWxlbmRhckRhdGVUb0RhdGUob3RoZXJDYWxlbmRhckRhdGUpIDogbnVsbDtcblxuXHRpZiAoKHRhcmdldCA9PT0gJ3N0YXJ0JyAmJiBvdGhlckRhdGUgJiYgZGF0ZSA+IG90aGVyRGF0ZSkgfHxcblx0XHQodGFyZ2V0ID09PSAnZW5kJyAmJiBvdGhlckRhdGUgJiYgZGF0ZSA8IG90aGVyRGF0ZSkpIHtcblx0XHRmaWVsZC5mb2N1cygpO1xuXHRcdGNvbXBvbmVudFtvcHBvc2l0ZURpc2FibGVkXSA9IHRydWU7XG5cdFx0Y29tcG9uZW50W2Vycm9yUHJvcF0gPSBpMThuLmludmFsaWRfZGF0ZTtcblx0XHRjb21wb25lbnQubm90aWZpY2F0aW9uID0geyB0ZXh0OiB0YXJnZXQgPT09ICdzdGFydCcgPyBpMThuLnN0YXJ0X2JlZm9yZV9lbmQgOiBpMThuLmVuZF9hZnRlcl9zdGFydCwgZXJyb3I6IHRydWUgfTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRpZiAodGFyZ2V0ID09PSAnc3RhcnQnKSB7XG5cdFx0Y29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCA9IGNhbGVuZGFyRGF0ZTtcblx0XHRpZiAoIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kKSBzZXRUaW1lb3V0KCgpID0+IGNvbXBvbmVudC5lbmREYXRlRmllbGQuZm9jdXMoKSwgMTAwKTtcblx0fSBlbHNlIHtcblx0XHRjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCA9IGNhbGVuZGFyRGF0ZTtcblx0XHRpZiAoIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQpIHNldFRpbWVvdXQoKCkgPT4gY29tcG9uZW50LnN0YXJ0RGF0ZUZpZWxkLmZvY3VzKCksIDEwMCk7XG5cdH1cblxuXHRjb21wb25lbnRbZXJyb3JQcm9wXSA9IG51bGw7XG5cdGNvbXBvbmVudC5jdXJyZW50RGF0ZSA9IGRhdGU7XG5cdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSBudWxsO1xuXHRjb21wb25lbnRbb3Bwb3NpdGVEaXNhYmxlZF0gPSBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRGF0ZUxpbWl0cyhjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXRlOiBEYXRlLCB0YXJnZXQ6ICdzdGFydCcgfCAnZW5kJykgOiBib29sZWFuIHtcblx0aWYgKGNvbXBvbmVudC5jb25maWcubWluRGF0ZSAmJiBkYXRlIDwgY29tcG9uZW50LmNvbmZpZy5taW5EYXRlKSB7XG5cdFx0Y29tcG9uZW50Lm5vdGlmaWNhdGlvbiA9IHsgdGV4dDogY29tcG9uZW50LmkxOG4uZGF0ZV91bmF2YWlsYWJsZSwgZXJyb3I6IHRydWUgfTtcblx0XHR0YXJnZXQgPT09ICdzdGFydCcgPyBjb21wb25lbnQuc3RhcnREYXRlRXJyb3IgPSBjb21wb25lbnQuaTE4bi5pbnZhbGlkX2RhdGUgOiBjb21wb25lbnQuZW5kRGF0ZUVycm9yID0gY29tcG9uZW50LmkxOG4uaW52YWxpZF9kYXRlO1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdGlmIChjb21wb25lbnQuY29uZmlnLm1heERhdGUgJiYgZGF0ZSA+IGNvbXBvbmVudC5jb25maWcubWF4RGF0ZSkge1xuXHRcdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSB7IHRleHQ6IGNvbXBvbmVudC5pMThuLmRhdGVfdW5hdmFpbGFibGUsIGVycm9yOiB0cnVlIH07XG5cdFx0dGFyZ2V0ID09PSAnc3RhcnQnID8gY29tcG9uZW50LnN0YXJ0RGF0ZUVycm9yID0gY29tcG9uZW50LmkxOG4uaW52YWxpZF9kYXRlIDogY29tcG9uZW50LmVuZERhdGVFcnJvciA9IGNvbXBvbmVudC5pMThuLmludmFsaWRfZGF0ZTtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRyZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uRGF0ZUtleXVwKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQsIGV2ZW50OiBLZXlib2FyZEV2ZW50LCB0YXJnZXQ6ICdzdGFydCcgfCAnZW5kJyk6IHZvaWQge1xuXHRjb25zdCBpZ25vcmVkS2V5cyA9IFsnQXJyb3dVcCcsICdBcnJvd0Rvd24nLCAnQXJyb3dMZWZ0JywgJ0Fycm93UmlnaHQnLCAnRW50ZXInLCAnICcsICdTcGFjZWJhciddO1xuXHRpZiAoaWdub3JlZEtleXMuaW5jbHVkZXMoZXZlbnQua2V5KSkgeyByZXR1cm47IH1cblxuXHRjb25zdCBlcnJvclByb3AgPSB0YXJnZXQgPT09ICdzdGFydCcgPyAnc3RhcnREYXRlRXJyb3InIDogJ2VuZERhdGVFcnJvcic7XG5cdGNvbnN0IGRpc2FibGVkID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gJ2VuZEZpZWxkRGlzYWJsZWQnIDogJ3N0YXJ0RmllbGREaXNhYmxlZCc7XG5cdGNvbnN0IGRhdGVJbnB1dCA9IHRhcmdldCA9PT0gJ3N0YXJ0JyA/IGNvbXBvbmVudC5zdGFydERhdGVGaWVsZCA6IGNvbXBvbmVudC5lbmREYXRlRmllbGQ7XG5cdGNvbnN0IHNlbGVjdGVkUmFuZ2VQcm9wID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gJ3NlbGVjdGVkUmFuZ2VTdGFydCcgOiAnc2VsZWN0ZWRSYW5nZUVuZCc7XG5cblx0Y29uc3QgdmFsdWUgPSBkYXRlSW5wdXQ/LmlucHV0VmFsdWUgPz8gJyc7XG5cblx0aWYgKHZhbHVlLmxlbmd0aCA8IDEwKSB7XG5cdFx0Y29tcG9uZW50W3NlbGVjdGVkUmFuZ2VQcm9wXSA9IG51bGw7XG5cblx0XHRpZighY29tcG9uZW50Lm5vdGlmaWNhdGlvbj8uZXJyb3IpIHtcblx0XHRcdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSBudWxsO1xuXHRcdH1cblxuXHRcdGlmICh2YWx1ZS5sZW5ndGggPCAxKSB7XG5cdFx0XHRjb21wb25lbnRbZXJyb3JQcm9wXSA9ICcnO1xuXHRcdFx0Y29tcG9uZW50W2Rpc2FibGVkXSA9IGZhbHNlO1xuXHRcdFx0Y29tcG9uZW50Lm5vdGlmaWNhdGlvbiA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0aWYgKHZhbHVlLmxlbmd0aCA+IDkpIHtcblx0XHRzZWFyY2hEYXRlKHRoaXMsIHZhbHVlLCB0YXJnZXQpO1xuXHR9XG5cbn1cbiJdfQ==
241
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGF5cy1jYWxlbmRhci51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kYXRlLXBpY2tlci9jb21wb25lbnRzL2RheS1jYWxlbmRhci9yYW5nZS1kYXlzLWNhbGVuZGFyLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRXJKLE1BQU0sVUFBVSxTQUFTLENBQUMsU0FBK0IsRUFBRSxHQUFpQjtJQUMzRSxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV4QyxJQUFJLFNBQVMsQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFO1FBQ3hGLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxJQUFJLEtBQUssSUFBSSxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakMsT0FBTyxPQUFPLEdBQUcsS0FBSyxJQUFJLE9BQU8sSUFBSSxLQUFLLENBQUM7S0FDM0M7SUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixJQUFJLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFO1FBQ3hGLE1BQU0sR0FBRyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFH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O1FBQ3RCLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUVwQyxJQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUU7WUFDbEMsU0FBUyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDOUI7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JCLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDMUIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUM1QixTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUM5QjtLQUNEO0lBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNyQixVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQzdCLElBQUksUUFBUSxDQUFDLGFBQWEsWUFBWSxXQUFXLEVBQUU7Z0JBQ2xELFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDOUI7U0FDRDtLQUNEO0FBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FsZW5kYXJEYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLm1vZGFsXCI7XG5pbXBvcnQge0RheUNhbGVuZGFyQ29tcG9uZW50fSBmcm9tIFwiLi9kYXktY2FsZW5kYXIuY29tcG9uZW50XCI7XG5pbXBvcnQge2NhbGVuZGFyRGF0ZVRvRGF0ZSwgZGF0ZVRvU3RyaW5nLCBnZXRTdGFydERhdGUsIHN0cmluZ1RvQ2FsZW5kYXJEYXRlLCBzdHJpbmdUb0RhdGUsIGRhdGVUb0NhbGVuZGFyRGF5fSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLnV0aWxzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByZXZpZXcoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF5OiBDYWxlbmRhckRhdGUpOiBib29sZWFuIHtcblx0Y29uc3QgY3VycmVudCA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShkYXkpO1xuXG5cdGlmIChjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmICFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCAmJiBjb21wb25lbnQuaG92ZXJlZERheSkge1xuXHRcdGNvbnN0IHN0YXJ0ID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQpO1xuXHRcdGNvbnN0IGhvdmVyID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5ob3ZlcmVkRGF5KTtcblx0XHRpZiAoaG92ZXIgPD0gc3RhcnQpIHJldHVybiBmYWxzZTtcblx0XHRyZXR1cm4gY3VycmVudCA+IHN0YXJ0ICYmIGN1cnJlbnQgPD0gaG92ZXI7XG5cdH1cblxuXHRpZiAoIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgJiYgY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgJiYgY29tcG9uZW50LmhvdmVyZWREYXkpIHtcblx0XHRjb25zdCBlbmQgPSBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQpO1xuXHRcdGNvbnN0IGhvdmVyID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5ob3ZlcmVkRGF5KTtcblx0XHRpZiAoaG92ZXIgPj0gZW5kKSByZXR1cm4gZmFsc2U7XG5cdFx0cmV0dXJuIGN1cnJlbnQgPCBlbmQgJiYgY3VycmVudCA+PSBob3Zlcjtcblx0fVxuXG5cdHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NQcmVzZWxlY3RlZFJhbmdlRGF0ZShjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50KSB7XG5cdGxldCBlbmQ6IERhdGUgfCBudWxsID0gbnVsbDtcblx0bGV0IHN0YXJ0OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cblx0c2V0VGltZW91dCgoKSA9PiB7IGlmKCFjb21wb25lbnQuYXBwZWFyYW5jZS5pc01vYmlsZSkgeyBjb21wb25lbnQuc3RhcnREYXRlRmllbGQuZm9jdXMoKTsgfSB9LCAwKVxuXG5cdGlmIChBcnJheS5pc0FycmF5KGNvbXBvbmVudC5jb25maWcuaW5pdERhdGUpKSB7W3N0YXJ0LCBlbmRdID0gY29tcG9uZW50LmNvbmZpZy5pbml0RGF0ZTt9XG5cbiAgaWYgKHN0YXJ0IGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgPSBkYXRlVG9DYWxlbmRhckRheShzdGFydCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG5cdCAgICBpZighY29tcG9uZW50LmFwcGVhcmFuY2UuaXNNb2JpbGUpIHsgY29tcG9uZW50LmVuZERhdGVGaWVsZC5mb2N1cygpOyB9XG5cdFx0XHRjb21wb25lbnQuc3RhcnREYXRlRmllbGQuaW5wdXRWYWx1ZSA9IGRhdGVUb1N0cmluZyhzdGFydCwgY29tcG9uZW50LmFwcGVhcmFuY2UubGFuZ3VhZ2UpO1xuXHRcdH0sIDApO1xuICB9XG5cbiAgaWYgKGVuZCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICBjb21wb25lbnQuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUoZW5kKTtcbiAgICBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCA9IGRhdGVUb0NhbGVuZGFyRGF5KGVuZCk7XG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRpZighY29tcG9uZW50LmFwcGVhcmFuY2UuaXNNb2JpbGUpIHsgY29tcG9uZW50LnN0YXJ0RGF0ZUZpZWxkLmZvY3VzKCk7IH1cblx0XHRcdGNvbXBvbmVudC5lbmREYXRlRmllbGQuaW5wdXRWYWx1ZSA9IGRhdGVUb1N0cmluZyhlbmQsIGNvbXBvbmVudC5hcHBlYXJhbmNlLmxhbmd1YWdlKTtcblx0XHR9LCAwKTtcblxuICB9IGVsc2UgaWYgKHN0YXJ0IGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIGNvbXBvbmVudC5jdXJyZW50RGF0ZSA9IGdldFN0YXJ0RGF0ZShzdGFydCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJhbmdlU2VsZWN0aW9uQ2xhc3MoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF5OiBDYWxlbmRhckRhdGUpOiBzdHJpbmcge1xuXHRjb25zdCBjdXJyZW50ID0gY2FsZW5kYXJEYXRlVG9EYXRlKGRheSk7XG5cdGNvbnN0IHN0YXJ0ID0gY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCA/IGNhbGVuZGFyRGF0ZVRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0KSA6IG51bGw7XG5cdGNvbnN0IGVuZCA9IGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kID8gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kKSA6IG51bGw7XG5cblx0aWYgKCFzdGFydCAmJiAhZW5kKSB7XG5cdFx0cmV0dXJuIGNvbXBvbmVudC5mb2N1c2VkID09PSAnc3RhcnQnID8gJ25zbC1zdGFydCcgOiAnbnNsLWVuZCc7XG5cdH1cblxuXHRpZiAoc3RhcnQgJiYgIWVuZCkge1xuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gc3RhcnQuZ2V0VGltZSgpKSByZXR1cm4gJ3NsIHN0YXJ0Jztcblx0XHRpZiAoY3VycmVudC5nZXRUaW1lKCkgPCBzdGFydC5nZXRUaW1lKCkpIHJldHVybiAnbnNsLXN0YXJ0Jztcblx0XHRyZXR1cm4gJ2luLXNsdCBuc2wtZW5kJztcblx0fVxuXG5cdGlmICghc3RhcnQgJiYgZW5kKSB7XG5cdFx0aWYgKGN1cnJlbnQuZ2V0VGltZSgpID09PSBlbmQuZ2V0VGltZSgpKSByZXR1cm4gJ3NsIGVuZCc7XG5cdFx0aWYgKGN1cnJlbnQuZ2V0VGltZSgpID4gZW5kLmdldFRpbWUoKSkgcmV0dXJuICduc2wtZW5kJztcblx0XHRyZXR1cm4gJ2luLXNsdCBuc2wtc3RhcnQnO1xuXHR9XG5cblx0aWYgKHN0YXJ0ICYmIGVuZCkge1xuXHRcdGlmKGN1cnJlbnQuZ2V0VGltZSgpID09PSBzdGFydC5nZXRUaW1lKCkgJiZcblx0XHRcdCBzdGFydC5nZXRUaW1lKCkgPT09IGVuZC5nZXRUaW1lKCkpXG5cdFx0XHRcdHJldHVybiAnc3RhcnQgc2wgc2FtZS1zbG4nO1xuXG5cdFx0aWYgKGN1cnJlbnQuZ2V0VGltZSgpID09PSBzdGFydC5nZXRUaW1lKCkpIHJldHVybiAnc2wgc3RhcnQnO1xuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA8IHN0YXJ0LmdldFRpbWUoKSkgcmV0dXJuICduc2wtc3RhcnQnO1xuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gZW5kLmdldFRpbWUoKSkgcmV0dXJuICdzbCBlbmQnO1xuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA+IGVuZC5nZXRUaW1lKCkpIHJldHVybiAnbnNsLWVuZCc7XG5cdFx0aWYgKGN1cnJlbnQgPiBzdGFydCAmJiBjdXJyZW50IDwgZW5kKSByZXR1cm4gJ3NsIHJhbmdlJztcblx0XHRyZXR1cm4gJ2RlZmF1bHQnO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvblNlbGVjdERheXNSYW5nZShjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXk6IENhbGVuZGFyRGF0ZSk6IHZvaWQge1xuXHRjb25zdCBzZWxlY3RlZCA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShkYXkpO1xuXHRjb25zdCBoYXNFbmQgPSAhIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kO1xuXHRjb25zdCBoYXNTdGFydCA9ICEhY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydDtcblx0Y29uc3QgbGFuZ3VhZ2UgPSBjb21wb25lbnQuYXBwZWFyYW5jZS5sYW5ndWFnZTtcblx0Y29uc3QgZW5kRGF0ZSA9IGhhc0VuZCA/IGNhbGVuZGFyRGF0ZVRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCkgOiBudWxsO1xuXHRjb25zdCBzdGFydERhdGUgPSBoYXNTdGFydCA/IGNhbGVuZGFyRGF0ZVRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0KSA6IG51bGw7XG5cblx0T2JqZWN0LmFzc2lnbihjb21wb25lbnQsIHtcblx0XHRub3RpZmljYXRpb246IG51bGwsXG5cdFx0ZW5kRGF0ZUVycm9yOiAnJywgc3RhcnREYXRlRXJyb3I6ICcnLFxuXHRcdGVuZEZpZWxkRGlzYWJsZWQ6IGZhbHNlLCBzdGFydEZpZWxkRGlzYWJsZWQ6IGZhbHNlLFxuXHR9KTtcblxuXHRjb25zdCB1cGRhdGVGaWVsZCA9IChmaWVsZDogJ3N0YXJ0JyB8ICdlbmQnKSA9PiB7XG5cdFx0Y29tcG9uZW50W2BzZWxlY3RlZFJhbmdlJHtmaWVsZCA9PT0gJ3N0YXJ0JyA/ICdTdGFydCcgOiAnRW5kJ31gXSA9IGRheTtcblx0XHRjb21wb25lbnRbYCR7ZmllbGR9RGF0ZUZpZWxkYF0uaW5wdXRWYWx1ZSA9IGRhdGVUb1N0cmluZyhzZWxlY3RlZCwgbGFuZ3VhZ2UpO1xuXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRjb25zdCBmb2N1c0ZpZWxkID0gZmllbGQgPT09ICdzdGFydCcgP1xuXHRcdFx0XHQoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgPyAnc3RhcnQnIDogJ2VuZCcpIDpcblx0XHRcdFx0KGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgPyAnZW5kJyA6ICdzdGFydCcpO1xuXG5cdFx0XHRpZighY29tcG9uZW50LmFwcGVhcmFuY2UuaXNNb2JpbGUpIHsgY29tcG9uZW50W2Ake2ZvY3VzRmllbGR9RGF0ZUZpZWxkYF0uZm9jdXMoKTsgfVxuXHRcdFx0Y29tcG9uZW50W2Ake2ZvY3VzRmllbGR9RGF0ZUZpZWxkYF0uaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMTAsIDEwKTtcblx0XHR9LCAxMDApO1xuXHR9O1xuXG5cdGlmICghaGFzU3RhcnQgJiYgIWhhc0VuZCkge1xuXHRcdHVwZGF0ZUZpZWxkKGNvbXBvbmVudC5mb2N1c2VkKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRpZiAoaGFzU3RhcnQgJiYgIWhhc0VuZCkge1xuXHRcdHNlbGVjdGVkID49IHN0YXJ0RGF0ZSEgPyB1cGRhdGVGaWVsZCgnZW5kJykgOiB1cGRhdGVGaWVsZCgnc3RhcnQnKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRpZiAoIWhhc1N0YXJ0ICYmIGhhc0VuZCkge1xuXHRcdHNlbGVjdGVkIDwgZW5kRGF0ZSEgPyB1cGRhdGVGaWVsZCgnc3RhcnQnKSA6IHVwZGF0ZUZpZWxkKCdlbmQnKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRpZiAoaGFzU3RhcnQgJiYgaGFzRW5kKSB7XG5cdFx0c2VsZWN0ZWQgPCBzdGFydERhdGUhID8gdXBkYXRlRmllbGQoJ3N0YXJ0JykgOiB1cGRhdGVGaWVsZCgnZW5kJyk7XG5cdFx0cmV0dXJuO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbkFwcGx5UmFnZURhdGUoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCl7XG4gICAgY29uc3Qgc3RhcnQgPSBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCk7XG4gICAgY29uc3QgZW5kID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kKTtcbiAgICBjb21wb25lbnQuY2FsZW5kYXJSZXNwb25zZS5lbWl0KFtzdGFydCwgZW5kXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbkhvdmVyRGF5KGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQsIGRheTogQ2FsZW5kYXJEYXRlKTogdm9pZCB7XG5cdGNvbnN0IHN0YXJ0U2VsZWN0ZWQgPSAhIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgJiYgIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kO1xuXHRjb25zdCBlbmRTZWxlY3RlZCA9ICEhY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgJiYgIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQ7XG5cdGlmIChzdGFydFNlbGVjdGVkIHx8IGVuZFNlbGVjdGVkKSB7IGNvbXBvbmVudC5ob3ZlcmVkRGF5ID0gZGF5OyB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbkNsZWFySG92ZXIoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCk6IHZvaWQge1xuXHRjb21wb25lbnQuaG92ZXJlZERheSA9IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hEYXRlKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQsIGRhdGVTdHI6IHN0cmluZywgdGFyZ2V0OiAnc3RhcnQnIHwgJ2VuZCcpOiB2b2lkIHtcblx0Y29uc3QgaTE4biA9IGNvbXBvbmVudC5pMThuO1xuXHRjb25zdCBkYXRlID0gc3RyaW5nVG9EYXRlKGRhdGVTdHIsIGNvbXBvbmVudC5hcHBlYXJhbmNlLmxhbmd1YWdlKTtcblx0Y29uc3QgY2FsZW5kYXJEYXRlID0gc3RyaW5nVG9DYWxlbmRhckRhdGUoZGF0ZVN0ciwgY29tcG9uZW50LmFwcGVhcmFuY2UubGFuZ3VhZ2UpO1xuXHRjb25zdCBlcnJvclByb3AgPSB0YXJnZXQgPT09ICdzdGFydCcgPyAnc3RhcnREYXRlRXJyb3InIDogJ2VuZERhdGVFcnJvcic7XG5cdGNvbnN0IGZpZWxkID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gY29tcG9uZW50LnN0YXJ0RGF0ZUZpZWxkIDogY29tcG9uZW50LmVuZERhdGVGaWVsZDtcblx0Y29uc3Qgb3Bwb3NpdGVEaXNhYmxlZCA9IHRhcmdldCA9PT0gJ3N0YXJ0JyA/ICdlbmRGaWVsZERpc2FibGVkJyA6ICdzdGFydEZpZWxkRGlzYWJsZWQnO1xuXG5cdGlmICghZGF0ZVN0cikgeyBjb21wb25lbnRbb3Bwb3NpdGVEaXNhYmxlZF0gPSBmYWxzZTsgcmV0dXJuOyB9XG5cblx0aWYgKCFjYWxlbmRhckRhdGUpIHtcblx0XHRjb21wb25lbnRbb3Bwb3NpdGVEaXNhYmxlZF0gPSB0cnVlO1xuXHRcdGNvbXBvbmVudFtlcnJvclByb3BdID0gaTE4bi5pbnZhbGlkX2RhdGU7XG5cdFx0aWYoIWNvbXBvbmVudC5hcHBlYXJhbmNlLmlzTW9iaWxlKSB7IGZpZWxkLmZvY3VzKCk7IH1cblx0XHRjb21wb25lbnQubm90aWZpY2F0aW9uID0geyB0ZXh0OiBpMThuLnNlbGVjdF92YWxpZF9kYXRlLCBlcnJvcjogdHJ1ZSB9O1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGlmICghdmFsaWRhdGVEYXRlTGltaXRzKGNvbXBvbmVudCwgZGF0ZSwgdGFyZ2V0KSkge1xuXHRcdGNvbXBvbmVudFtvcHBvc2l0ZURpc2FibGVkXSA9IHRydWU7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0Y29uc3Qgb3RoZXJDYWxlbmRhckRhdGUgPSB0YXJnZXQgPT09ICdzdGFydCcgPyBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCA6IGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQ7XG5cdGNvbnN0IG90aGVyRGF0ZSA9IG90aGVyQ2FsZW5kYXJEYXRlID8gY2FsZW5kYXJEYXRlVG9EYXRlKG90aGVyQ2FsZW5kYXJEYXRlKSA6IG51bGw7XG5cblx0aWYgKCh0YXJnZXQgPT09ICdzdGFydCcgJiYgb3RoZXJEYXRlICYmIGRhdGUgPiBvdGhlckRhdGUpIHx8XG5cdFx0KHRhcmdldCA9PT0gJ2VuZCcgJiYgb3RoZXJEYXRlICYmIGRhdGUgPCBvdGhlckRhdGUpKSB7XG5cdFx0Y29tcG9uZW50W29wcG9zaXRlRGlzYWJsZWRdID0gdHJ1ZTtcblx0XHRjb21wb25lbnRbZXJyb3JQcm9wXSA9IGkxOG4uaW52YWxpZF9kYXRlO1xuXHRcdGlmKCFjb21wb25lbnQuYXBwZWFyYW5jZS5pc01vYmlsZSkgeyBmaWVsZC5mb2N1cygpOyB9XG5cdFx0Y29tcG9uZW50Lm5vdGlmaWNhdGlvbiA9IHsgdGV4dDogdGFyZ2V0ID09PSAnc3RhcnQnID8gaTE4bi5zdGFydF9iZWZvcmVfZW5kIDogaTE4bi5lbmRfYWZ0ZXJfc3RhcnQsIGVycm9yOiB0cnVlIH07XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0aWYgKHRhcmdldCA9PT0gJ3N0YXJ0Jykge1xuXHRcdGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgPSBjYWxlbmRhckRhdGU7XG5cdFx0aWYgKCFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCAmJiAhY29tcG9uZW50LmFwcGVhcmFuY2UuaXNNb2JpbGUpIHNldFRpbWVvdXQoKCkgPT4gY29tcG9uZW50LmVuZERhdGVGaWVsZC5mb2N1cygpLCAxMDApO1xuXHR9IGVsc2Uge1xuXHRcdGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kID0gY2FsZW5kYXJEYXRlO1xuXHRcdGlmICghY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCAmJiAhY29tcG9uZW50LmFwcGVhcmFuY2UuaXNNb2JpbGUpIHNldFRpbWVvdXQoKCkgPT4gY29tcG9uZW50LnN0YXJ0RGF0ZUZpZWxkLmZvY3VzKCksIDEwMCk7XG5cdH1cblxuXHRjb21wb25lbnRbZXJyb3JQcm9wXSA9IG51bGw7XG5cdGNvbXBvbmVudC5jdXJyZW50RGF0ZSA9IGRhdGU7XG5cdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSBudWxsO1xuXHRjb21wb25lbnRbb3Bwb3NpdGVEaXNhYmxlZF0gPSBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRGF0ZUxpbWl0cyhjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXRlOiBEYXRlLCB0YXJnZXQ6ICdzdGFydCcgfCAnZW5kJykgOiBib29sZWFuIHtcblx0aWYgKGNvbXBvbmVudC5jb25maWcubWluRGF0ZSAmJiBkYXRlIDwgY29tcG9uZW50LmNvbmZpZy5taW5EYXRlKSB7XG5cdFx0Y29tcG9uZW50Lm5vdGlmaWNhdGlvbiA9IHsgdGV4dDogY29tcG9uZW50LmkxOG4uZGF0ZV91bmF2YWlsYWJsZSwgZXJyb3I6IHRydWUgfTtcblx0XHR0YXJnZXQgPT09ICdzdGFydCcgPyBjb21wb25lbnQuc3RhcnREYXRlRXJyb3IgPSBjb21wb25lbnQuaTE4bi5pbnZhbGlkX2RhdGUgOiBjb21wb25lbnQuZW5kRGF0ZUVycm9yID0gY29tcG9uZW50LmkxOG4uaW52YWxpZF9kYXRlO1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdGlmIChjb21wb25lbnQuY29uZmlnLm1heERhdGUgJiYgZGF0ZSA+IGNvbXBvbmVudC5jb25maWcubWF4RGF0ZSkge1xuXHRcdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSB7IHRleHQ6IGNvbXBvbmVudC5pMThuLmRhdGVfdW5hdmFpbGFibGUsIGVycm9yOiB0cnVlIH07XG5cdFx0dGFyZ2V0ID09PSAnc3RhcnQnID8gY29tcG9uZW50LnN0YXJ0RGF0ZUVycm9yID0gY29tcG9uZW50LmkxOG4uaW52YWxpZF9kYXRlIDogY29tcG9uZW50LmVuZERhdGVFcnJvciA9IGNvbXBvbmVudC5pMThuLmludmFsaWRfZGF0ZTtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRyZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uRGF0ZUtleXVwKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQsIGV2ZW50OiBLZXlib2FyZEV2ZW50LCB0YXJnZXQ6ICdzdGFydCcgfCAnZW5kJyk6IHZvaWQge1xuXHRjb25zdCBpZ25vcmVkS2V5cyA9IFsnQXJyb3dVcCcsICdBcnJvd0Rvd24nLCAnQXJyb3dMZWZ0JywgJ0Fycm93UmlnaHQnLCAnRW50ZXInLCAnICcsICdTcGFjZWJhciddO1xuXHRpZiAoaWdub3JlZEtleXMuaW5jbHVkZXMoZXZlbnQua2V5KSkgeyByZXR1cm47IH1cblxuXHRjb25zdCBlcnJvclByb3AgPSB0YXJnZXQgPT09ICdzdGFydCcgPyAnc3RhcnREYXRlRXJyb3InIDogJ2VuZERhdGVFcnJvcic7XG5cdGNvbnN0IGRpc2FibGVkID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gJ2VuZEZpZWxkRGlzYWJsZWQnIDogJ3N0YXJ0RmllbGREaXNhYmxlZCc7XG5cdGNvbnN0IGRhdGVJbnB1dCA9IHRhcmdldCA9PT0gJ3N0YXJ0JyA/IGNvbXBvbmVudC5zdGFydERhdGVGaWVsZCA6IGNvbXBvbmVudC5lbmREYXRlRmllbGQ7XG5cdGNvbnN0IHNlbGVjdGVkUmFuZ2VQcm9wID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gJ3NlbGVjdGVkUmFuZ2VTdGFydCcgOiAnc2VsZWN0ZWRSYW5nZUVuZCc7XG5cblx0Y29uc3QgdmFsdWUgPSBkYXRlSW5wdXQ/LmlucHV0VmFsdWUgPz8gJyc7XG5cblx0aWYgKHZhbHVlLmxlbmd0aCA8IDEwKSB7XG5cdFx0Y29tcG9uZW50W3NlbGVjdGVkUmFuZ2VQcm9wXSA9IG51bGw7XG5cblx0XHRpZighY29tcG9uZW50Lm5vdGlmaWNhdGlvbj8uZXJyb3IpIHtcblx0XHRcdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSBudWxsO1xuXHRcdH1cblxuXHRcdGlmICh2YWx1ZS5sZW5ndGggPCAxKSB7XG5cdFx0XHRjb21wb25lbnRbZXJyb3JQcm9wXSA9ICcnO1xuXHRcdFx0Y29tcG9uZW50W2Rpc2FibGVkXSA9IGZhbHNlO1xuXHRcdFx0Y29tcG9uZW50Lm5vdGlmaWNhdGlvbiA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0aWYgKHZhbHVlLmxlbmd0aCA+IDkpIHtcblx0XHRzZWFyY2hEYXRlKHRoaXMsIHZhbHVlLCB0YXJnZXQpO1xuXHRcdGlmICh0aGlzLmFwcGVhcmFuY2UuaXNNb2JpbGUpIHtcblx0XHRcdGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcblx0XHRcdFx0ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59Il19
@@ -3,10 +3,9 @@ import { Component, EventEmitter, Input, Output, } from '@angular/core';
3
3
  import { CALENDAR_I18N, MONTHS_EN, MONTHS_SHORT_EN, MONTHS_ES, MONTHS_SHORT_ES } from "../../shared/date-picker.constants";
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
- import * as i2 from "../../../gravity-button/gravity-button.component";
7
- import * as i3 from "../../../gravity-icon-button/gravity-icon-button.component";
8
- import * as i4 from "../../../gravity-link/gravity-link.component";
9
- import * as i5 from "../../../gravity-dropdown-label/gravity-dropdown-label.component";
6
+ import * as i2 from "../../../gravity-icon-button/gravity-icon-button.component";
7
+ import * as i3 from "../../../gravity-link/gravity-link.component";
8
+ import * as i4 from "../../../gravity-dropdown-label/gravity-dropdown-label.component";
10
9
  export class MonthCalendarComponent {
11
10
  constructor() {
12
11
  this.restart = false;
@@ -87,11 +86,11 @@ export class MonthCalendarComponent {
87
86
  return months;
88
87
  }
89
88
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MonthCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MonthCalendarComponent, selector: "month-calendar", inputs: { config: "config", initDate: "initDate", restart: "restart", appearance: "appearance", integratedMode: "integratedMode" }, outputs: { clearSelection: "clearSelection", response: "response" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"gravity-calendar-header\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"header-container\">\n\n <gravity-icon-button *ngIf=\"!integratedMode\"\n [size]=\"'sm'\"\n [type]=\"'primary'\"\n [icon]=\"'arrow-left'\"\n [supportText]=\"i18n.preview_year\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, false)\"\n [state]=\"(appearance.state !== 'disabled') && isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"year-label\">\n <gravity-dropdown-label\n [size]=\"'sm'\"\n [fontClass]=\"'hr-title sm-bold'\"\n [state]=\"integratedMode && appearance.state !== 'disabled' ? 'active' : 'inactive'\"\n [label]=\"integratedMode ? monthsList[currentDate.getMonth()] : currentDate.getFullYear().toString()\"\n [isOpen]=\"integratedMode\" (onClickLabel)=\"response.emit(currentDate)\" > </gravity-dropdown-label>\n </div>\n\n <gravity-icon-button *ngIf=\"!integratedMode\"\n [size]=\"'sm'\"\n [type]=\"'primary'\"\n [icon]=\"'arrow-right'\"\n [supportText]=\"i18n.next_year\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, false)\"\n [state]=\"(appearance.state !== 'disabled') && isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </div>\n\n <div class=\"separator-line\"></div>\n</section>\n\n<section class=\"gravity-calendar-body\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"items-table\">\n <span class=\"hr-body sm-regular item\" *ngFor=\"let month of getYearMonthsList(), trackBy: trackByMonth\"\n [ngClass]=\"appearance.state === 'disabled' ? 'disabled' : getMonthSelectionClass(month)\" (click)=\"onSelectMonth(month)\"\n [class.current]=\"isCurrentMonth(month)\"> {{ monthsShortList[month.month] }} </span>\n </div>\n\n <div *ngIf=\"appearance.actions\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"!selectedMonth ? 'disabled' : 'active'\" (click)=\"clearSelectedMonth()\"/>\n <gravity-button [size]=\"'sm'\" [type]=\"'tertiary'\" [disabled]=\"!selectedMonth\" (click)=\"applySelectedMonth()\">{{i18n.apply}}</gravity-button>\n </div>\n</section>", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.gravity-calendar-header{width:215px;height:40px;display:flex;align-self:stretch;align-items:center;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);padding-top:var(--gravity-spacing-xs)}.gravity-calendar-header .header-container{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-calendar-header .separator-line{width:215px}.gravity-calendar-header.mobile,.gravity-calendar-header.mobile .separator-line{width:100%}.gravity-calendar-body{width:215px;display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);margin-top:var(--gravity-spacing-sm)}.gravity-calendar-body .items-table{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 var(--gravity-spacing-sm)}.gravity-calendar-body .items-table .item{width:37px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-calendar-body .items-table .item.current{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-body .items-table .item:not(.disabled):not(.selected):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .items-table .item.selected{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-body .items-table .item.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-body.mobile{width:100%}.gravity-calendar-body.mobile .items-table{gap:var(--gravity-spacing-md) var(--gravity-spacing-sm)}.gravity-calendar-body.mobile .items-table .item{width:70px;height:43px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "iconName", "isLoading", "showContent", "size", "iconPosition", "customState", "type"] }, { kind: "component", type: i3.GravityIconButtonComponent, selector: "gravity-icon-button", inputs: ["cypressTag", "icon", "supportText", "variant", "size", "type", "state", "badge"], outputs: ["clickOnIcon"] }, { kind: "component", type: i4.GravityLinkComponent, selector: "gravity-link", inputs: ["linkText", "fontClass", "link", "cypressTag", "iconName", "target", "iconPosition", "iconSize", "state"] }, { kind: "component", type: i5.GravityDropdownLabelComponent, selector: "gravity-dropdown-label", inputs: ["label", "fontClass", "isOpen", "stopPropagation", "size", "state"], outputs: ["onClickLabel"] }] }); }
89
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MonthCalendarComponent, selector: "month-calendar", inputs: { config: "config", initDate: "initDate", restart: "restart", appearance: "appearance", integratedMode: "integratedMode" }, outputs: { clearSelection: "clearSelection", response: "response" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"gravity-date-picker-header\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"header-container\">\n <gravity-icon-button *ngIf=\"!integratedMode\"\n [size]=\"'sm'\"\n [type]=\"'primary'\"\n [icon]=\"'arrow-left'\"\n [supportText]=\"i18n.preview_year\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, false)\"\n [state]=\"(appearance.state !== 'disabled') && isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"year-label\">\n <gravity-dropdown-label\n [size]=\"'sm'\"\n [fontClass]=\"'hr-title sm-bold'\"\n [state]=\"integratedMode && appearance.state !== 'disabled' ? 'active' : 'inactive'\"\n [label]=\"integratedMode ? monthsList[currentDate.getMonth()] : currentDate.getFullYear().toString()\"\n [isOpen]=\"integratedMode\" (onClickLabel)=\"response.emit(currentDate)\" > </gravity-dropdown-label>\n </div>\n\n <gravity-icon-button *ngIf=\"!integratedMode\"\n [size]=\"'sm'\"\n [type]=\"'primary'\"\n [icon]=\"'arrow-right'\"\n [supportText]=\"i18n.next_year\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, false)\"\n [state]=\"(appearance.state !== 'disabled') && isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </div>\n\n <div class=\"separator-line\"></div>\n</section>\n\n<section class=\"gravity-date-picker-body\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"items-table\">\n <span class=\"hr-body sm-regular item\" *ngFor=\"let month of getYearMonthsList(), trackBy: trackByMonth\"\n [ngClass]=\"appearance.state === 'disabled' ? 'disabled' : getMonthSelectionClass(month)\" (click)=\"onSelectMonth(month)\"\n [class.current]=\"isCurrentMonth(month)\"> {{ monthsShortList[month.month] }}\n </span>\n </div>\n\n <div *ngIf=\"!integratedMode && selectedMonth\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"!selectedMonth ? 'disabled' : 'active'\" (click)=\"clearSelectedMonth()\"/>\n </div>\n</section>", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.gravity-date-picker-header{width:215px;height:40px;display:flex;align-self:stretch;align-items:center;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);padding-top:var(--gravity-spacing-xs)}.gravity-date-picker-header .header-container{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-date-picker-header .separator-line{width:215px}.gravity-date-picker-header.mobile,.gravity-date-picker-header.mobile .separator-line{width:100%}.gravity-date-picker-body{width:215px;display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);margin-top:var(--gravity-spacing-sm)}.gravity-date-picker-body .items-table{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 var(--gravity-spacing-sm)}.gravity-date-picker-body .items-table .item{width:37px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-date-picker-body .items-table .item.current{border-color:var(--bg-number-calendar-hover-primary)}.gravity-date-picker-body .items-table .item:not(.disabled):not(.selected):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-body .items-table .item.selected{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-date-picker-body .items-table .item.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-date-picker-body.mobile{width:100%}.gravity-date-picker-body.mobile .items-table{gap:var(--gravity-spacing-md) var(--gravity-spacing-sm)}.gravity-date-picker-body.mobile .items-table .item{width:70px;height:43px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityIconButtonComponent, selector: "gravity-icon-button", inputs: ["cypressTag", "icon", "supportText", "variant", "size", "type", "state", "badge"], outputs: ["clickOnIcon"] }, { kind: "component", type: i3.GravityLinkComponent, selector: "gravity-link", inputs: ["linkText", "fontClass", "link", "cypressTag", "iconName", "target", "iconPosition", "iconSize", "state"] }, { kind: "component", type: i4.GravityDropdownLabelComponent, selector: "gravity-dropdown-label", inputs: ["label", "fontClass", "isOpen", "stopPropagation", "size", "state"], outputs: ["onClickLabel"] }] }); }
91
90
  }
92
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MonthCalendarComponent, decorators: [{
93
92
  type: Component,
94
- args: [{ selector: 'month-calendar', template: "<section class=\"gravity-calendar-header\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"header-container\">\n\n <gravity-icon-button *ngIf=\"!integratedMode\"\n [size]=\"'sm'\"\n [type]=\"'primary'\"\n [icon]=\"'arrow-left'\"\n [supportText]=\"i18n.preview_year\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, false)\"\n [state]=\"(appearance.state !== 'disabled') && isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"year-label\">\n <gravity-dropdown-label\n [size]=\"'sm'\"\n [fontClass]=\"'hr-title sm-bold'\"\n [state]=\"integratedMode && appearance.state !== 'disabled' ? 'active' : 'inactive'\"\n [label]=\"integratedMode ? monthsList[currentDate.getMonth()] : currentDate.getFullYear().toString()\"\n [isOpen]=\"integratedMode\" (onClickLabel)=\"response.emit(currentDate)\" > </gravity-dropdown-label>\n </div>\n\n <gravity-icon-button *ngIf=\"!integratedMode\"\n [size]=\"'sm'\"\n [type]=\"'primary'\"\n [icon]=\"'arrow-right'\"\n [supportText]=\"i18n.next_year\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, false)\"\n [state]=\"(appearance.state !== 'disabled') && isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </div>\n\n <div class=\"separator-line\"></div>\n</section>\n\n<section class=\"gravity-calendar-body\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"items-table\">\n <span class=\"hr-body sm-regular item\" *ngFor=\"let month of getYearMonthsList(), trackBy: trackByMonth\"\n [ngClass]=\"appearance.state === 'disabled' ? 'disabled' : getMonthSelectionClass(month)\" (click)=\"onSelectMonth(month)\"\n [class.current]=\"isCurrentMonth(month)\"> {{ monthsShortList[month.month] }} </span>\n </div>\n\n <div *ngIf=\"appearance.actions\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"!selectedMonth ? 'disabled' : 'active'\" (click)=\"clearSelectedMonth()\"/>\n <gravity-button [size]=\"'sm'\" [type]=\"'tertiary'\" [disabled]=\"!selectedMonth\" (click)=\"applySelectedMonth()\">{{i18n.apply}}</gravity-button>\n </div>\n</section>", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.gravity-calendar-header{width:215px;height:40px;display:flex;align-self:stretch;align-items:center;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);padding-top:var(--gravity-spacing-xs)}.gravity-calendar-header .header-container{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-calendar-header .separator-line{width:215px}.gravity-calendar-header.mobile,.gravity-calendar-header.mobile .separator-line{width:100%}.gravity-calendar-body{width:215px;display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);margin-top:var(--gravity-spacing-sm)}.gravity-calendar-body .items-table{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 var(--gravity-spacing-sm)}.gravity-calendar-body .items-table .item{width:37px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-calendar-body .items-table .item.current{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-body .items-table .item:not(.disabled):not(.selected):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .items-table .item.selected{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-body .items-table .item.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-body.mobile{width:100%}.gravity-calendar-body.mobile .items-table{gap:var(--gravity-spacing-md) var(--gravity-spacing-sm)}.gravity-calendar-body.mobile .items-table .item{width:70px;height:43px}\n"] }]
93
+ args: [{ selector: 'month-calendar', template: "<section class=\"gravity-date-picker-header\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"header-container\">\n <gravity-icon-button *ngIf=\"!integratedMode\"\n [size]=\"'sm'\"\n [type]=\"'primary'\"\n [icon]=\"'arrow-left'\"\n [supportText]=\"i18n.preview_year\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, false)\"\n [state]=\"(appearance.state !== 'disabled') && isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"year-label\">\n <gravity-dropdown-label\n [size]=\"'sm'\"\n [fontClass]=\"'hr-title sm-bold'\"\n [state]=\"integratedMode && appearance.state !== 'disabled' ? 'active' : 'inactive'\"\n [label]=\"integratedMode ? monthsList[currentDate.getMonth()] : currentDate.getFullYear().toString()\"\n [isOpen]=\"integratedMode\" (onClickLabel)=\"response.emit(currentDate)\" > </gravity-dropdown-label>\n </div>\n\n <gravity-icon-button *ngIf=\"!integratedMode\"\n [size]=\"'sm'\"\n [type]=\"'primary'\"\n [icon]=\"'arrow-right'\"\n [supportText]=\"i18n.next_year\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, false)\"\n [state]=\"(appearance.state !== 'disabled') && isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </div>\n\n <div class=\"separator-line\"></div>\n</section>\n\n<section class=\"gravity-date-picker-body\" [class.mobile]=\"appearance.isMobile\">\n <div class=\"items-table\">\n <span class=\"hr-body sm-regular item\" *ngFor=\"let month of getYearMonthsList(), trackBy: trackByMonth\"\n [ngClass]=\"appearance.state === 'disabled' ? 'disabled' : getMonthSelectionClass(month)\" (click)=\"onSelectMonth(month)\"\n [class.current]=\"isCurrentMonth(month)\"> {{ monthsShortList[month.month] }}\n </span>\n </div>\n\n <div *ngIf=\"!integratedMode && selectedMonth\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"!selectedMonth ? 'disabled' : 'active'\" (click)=\"clearSelectedMonth()\"/>\n </div>\n</section>", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.gravity-date-picker-header{width:215px;height:40px;display:flex;align-self:stretch;align-items:center;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);padding-top:var(--gravity-spacing-xs)}.gravity-date-picker-header .header-container{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-date-picker-header .separator-line{width:215px}.gravity-date-picker-header.mobile,.gravity-date-picker-header.mobile .separator-line{width:100%}.gravity-date-picker-body{width:215px;display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm);margin-top:var(--gravity-spacing-sm)}.gravity-date-picker-body .items-table{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 var(--gravity-spacing-sm)}.gravity-date-picker-body .items-table .item{width:37px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-date-picker-body .items-table .item.current{border-color:var(--bg-number-calendar-hover-primary)}.gravity-date-picker-body .items-table .item:not(.disabled):not(.selected):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-body .items-table .item.selected{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-date-picker-body .items-table .item.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-date-picker-body.mobile{width:100%}.gravity-date-picker-body.mobile .items-table{gap:var(--gravity-spacing-md) var(--gravity-spacing-sm)}.gravity-date-picker-body.mobile .items-table .item{width:70px;height:43px}\n"] }]
95
94
  }], propDecorators: { config: [{
96
95
  type: Input
97
96
  }], initDate: [{
@@ -107,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
107
106
  }], response: [{
108
107
  type: Output
109
108
  }] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWRhdGUtcGlja2VyL2NvbXBvbmVudHMvbW9udGgtY2FsZW5kYXIvbW9udGgtY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWRhdGUtcGlja2VyL2NvbXBvbmVudHMvbW9udGgtY2FsZW5kYXIvbW9udGgtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRixPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxHQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7O0FBT3pILE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFRa0IsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUV6QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUUvQixtQkFBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzlELGFBQVEsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFcEYsZ0JBQVcsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBK0VuQixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3pCLHNCQUFpQixHQUFHLGlCQUFpQixDQUFDO0tBQ3pEO0lBOUVDLElBQVcsSUFB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QUFTOytCQUNFLGdCQUFnQjs4QkFLWCxNQUFNO3NCQUFyQixLQUFLO2dCQUNXLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBRVcsY0FBYztzQkFBOUIsTUFBTTtnQkFDVSxRQUFRO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlUGlja2VyQXBwZWFyYW5jZSwgRGF0ZVBpY2tlckNvbmZpZywgQ2FsZW5kYXJQZXJpb2R9IGZyb20gXCIuLi8uLi9zaGFyZWQvZGF0ZS1waWNrZXIubW9kYWxcIjtcbmltcG9ydCB7Y2hhbmdlRGF0ZSwgZ2V0U3RhcnREYXRlLCBpc1BlcmlvZEF2YWlsYWJsZX0gZnJvbSBcIi4uLy4uL3NoYXJlZC9kYXRlLXBpY2tlci51dGlsc1wiO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NBTEVOREFSX0kxOE4sIE1PTlRIU19FTiwgTU9OVEhTX1NIT1JUX0VOLCBNT05USFNfRVMsIE1PTlRIU19TSE9SVF9FU30gZnJvbSBcIi4uLy4uL3NoYXJlZC9kYXRlLXBpY2tlci5jb25zdGFudHNcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9udGgtY2FsZW5kYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9udGgtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb250aC1jYWxlbmRhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1vbnRoQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXHRASW5wdXQoKSBwdWJsaWMgY29uZmlnOiBEYXRlUGlja2VyQ29uZmlnO1xuICBASW5wdXQoKSBwdWJsaWMgaW5pdERhdGU6IERhdGUgfCBEYXRlW107XG4gIEBJbnB1dCgpIHB1YmxpYyByZXN0YXJ0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBhcHBlYXJhbmNlOiBEYXRlUGlja2VyQXBwZWFyYW5jZTtcbiAgQElucHV0KCkgcHVibGljIGludGVncmF0ZWRNb2RlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjbGVhclNlbGVjdGlvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHJlc3BvbnNlOiBFdmVudEVtaXR0ZXI8RGF0ZVtdIHwgRGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+KCk7XG5cbiAgcHVibGljIGN1cnJlbnREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgcHVibGljIHNlbGVjdGVkTW9udGg6IENhbGVuZGFyUGVyaW9kO1xuXG4gIHB1YmxpYyBnZXQgaTE4bigpIHsgcmV0dXJuIENBTEVOREFSX0kxOE5bdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlXTsgfVxuICBwdWJsaWMgZ2V0IG1vbnRoc0xpc3QoKSB7IHJldHVybiB0aGlzLmFwcGVhcmFuY2UubGFuZ3VhZ2UgPT09ICdlbicgPyBNT05USFNfRU4gOiBNT05USFNfRVM7IH1cbiAgcHVibGljIGdldCBtb250aHNTaG9ydExpc3QoKSB7IHJldHVybiB0aGlzLmFwcGVhcmFuY2UubGFuZ3VhZ2UgPT09ICdlbicgPyBNT05USFNfU0hPUlRfRU4gOiBNT05USFNfU0hPUlRfRVM7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3Qgc2hvdWxkUmVzdGFydCA9IGNoYW5nZXNbJ3Jlc3RhcnQnXSAmJiB0aGlzLnJlc3RhcnQ7XG4gICAgY29uc3Qgc2hvdWxkUHJvY2Vzc1ByZVNlbGVjdGVkID0gY2hhbmdlc1sncHJlU2VsZWN0ZWREYXRlJ10gJiYgdGhpcy5pbml0RGF0ZTtcbiAgICBpZiAoc2hvdWxkUmVzdGFydCB8fCBzaG91bGRQcm9jZXNzUHJlU2VsZWN0ZWQpIHsgdGhpcy5wcm9jZXNzSW5pdERhdGUoKTsgfVxuICB9XG5cbiAgcHVibGljIHRyYWNrQnlNb250aChfOiBudW1iZXIsIG1vbnRoOiBDYWxlbmRhclBlcmlvZCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke21vbnRoLnllYXJ9LSR7bW9udGgubW9udGh9YDtcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc0luaXREYXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluaXREYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IGdldFN0YXJ0RGF0ZSh0aGlzLmluaXREYXRlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IHtcbiAgICAgICAgbW9udGg6IHRoaXMuaW5pdERhdGUuZ2V0TW9udGgoKSxcbiAgICAgICAgeWVhcjogdGhpcy5pbml0RGF0ZS5nZXRGdWxsWWVhcigpXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdE1vbnRoKG1vbnRoOiBDYWxlbmRhclBlcmlvZCkge1xuICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IG1vbnRoO1xuICAgIHRoaXMuY3VycmVudERhdGUgPSBuZXcgRGF0ZShtb250aC55ZWFyLCBtb250aC5tb250aCwgMSk7XG4gICAgdGhpcy5yZXNwb25zZS5lbWl0KHRoaXMuY3VycmVudERhdGUpO1xuICAgIHJldHVybjtcbiAgfVxuXG5cdHB1YmxpYyBnZXRNb250aFNlbGVjdGlvbkNsYXNzKG1vbnRoOiBDYWxlbmRhclBlcmlvZCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgY2xhc3Nlczogc3RyaW5nW10gPSBbXTtcblx0XHRjb25zdCB7IG1pbkRhdGUsIG1heERhdGUgfSA9IHRoaXMuY29uZmlnID8/IHt9O1xuXHRcdGNvbnN0IGZpcnN0RGF5ID0gbmV3IERhdGUobW9udGgueWVhciwgbW9udGgubW9udGgsIDEpO1xuXHRcdGNvbnN0IGxhc3REYXkgPSBuZXcgRGF0ZShtb250aC55ZWFyLCBtb250aC5tb250aCArIDEsIDApO1xuXG5cdFx0bGV0IGlzRGlzYWJsZWQgPSBmYWxzZTtcblx0XHRpZiAobWluRGF0ZSAmJiBsYXN0RGF5IDwgbWluRGF0ZSkgeyBpc0Rpc2FibGVkID0gdHJ1ZTsgfVxuXHRcdGlmIChtYXhEYXRlICYmIGZpcnN0RGF5ID4gbWF4RGF0ZSkgeyBpc0Rpc2FibGVkID0gdHJ1ZTsgfVxuXHRcdGlmIChpc0Rpc2FibGVkKSB7IGNsYXNzZXMucHVzaCgnZGlzYWJsZWQnKTsgfVxuXG5cdFx0aWYgKHRoaXMuc2VsZWN0ZWRNb250aCAmJiB0aGlzLnNlbGVjdGVkTW9udGgubW9udGggPT09IG1vbnRoLm1vbnRoICYmIHRoaXMuc2VsZWN0ZWRNb250aC55ZWFyID09PSBtb250aC55ZWFyKSB7XG5cdFx0XHRjbGFzc2VzLnB1c2goJ3NlbGVjdGVkJyk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNsYXNzZXMuam9pbignICcpO1xuXHR9XG5cblx0cHVibGljIGlzQ3VycmVudE1vbnRoKG1vbnRoOiBDYWxlbmRhclBlcmlvZCkge1xuICAgIGlmKG5ldyBEYXRlKCkuZ2V0TW9udGgoKSA9PT0gbW9udGgubW9udGggJiZcbiAgICAgIG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSA9PT0gbW9udGgueWVhcikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsZWFyU2VsZWN0ZWRNb250aCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9udGggPSBudWxsO1xuICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24uZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGFwcGx5U2VsZWN0ZWRNb250aCgpIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGhpcy5zZWxlY3RlZE1vbnRoLnllYXIsIHRoaXMuc2VsZWN0ZWRNb250aC5tb250aClcbiAgICB0aGlzLnJlc3BvbnNlLmVtaXQoZGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0WWVhck1vbnRoc0xpc3QoKTogQ2FsZW5kYXJQZXJpb2RbXSB7XG4gICAgY29uc3QgbW9udGhzOiBDYWxlbmRhclBlcmlvZFtdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEyOyBpKyspIHtcbiAgICAgIG1vbnRocy5wdXNoKHttb250aDogaSwgeWVhcjogdGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vbnRocztcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFuZ2VEYXRlID0gY2hhbmdlRGF0ZTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IGlzUGVyaW9kQXZhaWxhYmxlID0gaXNQZXJpb2RBdmFpbGFibGU7XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImdyYXZpdHktY2FsZW5kYXItaGVhZGVyXCIgW2NsYXNzLm1vYmlsZV09XCJhcHBlYXJhbmNlLmlzTW9iaWxlXCI+XG4gIDxkaXYgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCI+XG5cbiAgICA8Z3Jhdml0eS1pY29uLWJ1dHRvbiAqbmdJZj1cIiFpbnRlZ3JhdGVkTW9kZVwiXG4gICAgIFtzaXplXT1cIidzbSdcIlxuICAgICBbdHlwZV09XCIncHJpbWFyeSdcIlxuICAgICBbaWNvbl09XCInYXJyb3ctbGVmdCdcIlxuICAgICBbc3VwcG9ydFRleHRdPVwiaTE4bi5wcmV2aWV3X3llYXJcIlxuICAgICAoY2xpY2tPbkljb24pPVwiY3VycmVudERhdGUgPSBjaGFuZ2VEYXRlKC0xLCBjdXJyZW50RGF0ZSwgZmFsc2UpXCJcbiAgICAgW3N0YXRlXT1cIihhcHBlYXJhbmNlLnN0YXRlICE9PSAnZGlzYWJsZWQnKSAmJiBpc1BlcmlvZEF2YWlsYWJsZShjdXJyZW50RGF0ZSwgY29uZmlnLm1pbkRhdGUsICdtb250aCcsICdwcmV2JykgPyAnYWN0aXZlJyA6ICdkaXNhYmxlZCdcIi8+XG5cbiAgICA8ZGl2IGNsYXNzPVwieWVhci1sYWJlbFwiPlxuICAgICAgPGdyYXZpdHktZHJvcGRvd24tbGFiZWxcbiAgICAgICAgW3NpemVdPVwiJ3NtJ1wiXG4gICAgICAgIFtmb250Q2xhc3NdPVwiJ2hyLXRpdGxlIHNtLWJvbGQnXCJcbiAgICAgICAgW3N0YXRlXT1cImludGVncmF0ZWRNb2RlICYmIGFwcGVhcmFuY2Uuc3RhdGUgIT09ICdkaXNhYmxlZCcgPyAnYWN0aXZlJyA6ICdpbmFjdGl2ZSdcIlxuICAgICAgICBbbGFiZWxdPVwiaW50ZWdyYXRlZE1vZGUgPyBtb250aHNMaXN0W2N1cnJlbnREYXRlLmdldE1vbnRoKCldIDogY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpXCJcbiAgICAgICAgW2lzT3Blbl09XCJpbnRlZ3JhdGVkTW9kZVwiIChvbkNsaWNrTGFiZWwpPVwicmVzcG9uc2UuZW1pdChjdXJyZW50RGF0ZSlcIiA+IDwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxncmF2aXR5LWljb24tYnV0dG9uICpuZ0lmPVwiIWludGVncmF0ZWRNb2RlXCJcbiAgICAgW3NpemVdPVwiJ3NtJ1wiXG4gICAgIFt0eXBlXT1cIidwcmltYXJ5J1wiXG4gICAgIFtpY29uXT1cIidhcnJvdy1yaWdodCdcIlxuICAgICBbc3VwcG9ydFRleHRdPVwiaTE4bi5uZXh0X3llYXJcIlxuICAgICAoY2xpY2tPbkljb24pPVwiY3VycmVudERhdGUgPSBjaGFuZ2VEYXRlKDEsIGN1cnJlbnREYXRlLCBmYWxzZSlcIlxuICAgICBbc3RhdGVdPVwiKGFwcGVhcmFuY2Uuc3RhdGUgIT09ICdkaXNhYmxlZCcpICYmIGlzUGVyaW9kQXZhaWxhYmxlKGN1cnJlbnREYXRlLCBjb25maWcubWF4RGF0ZSwgJ21vbnRoJywgJ25leHQnKSA/ICdhY3RpdmUnIDogJ2Rpc2FibGVkJ1wiLz5cbiAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yLWxpbmVcIj48L2Rpdj5cbjwvc2VjdGlvbj5cblxuPHNlY3Rpb24gY2xhc3M9XCJncmF2aXR5LWNhbGVuZGFyLWJvZHlcIiBbY2xhc3MubW9iaWxlXT1cImFwcGVhcmFuY2UuaXNNb2JpbGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbXMtdGFibGVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWJvZHkgc20tcmVndWxhciBpdGVtXCIgKm5nRm9yPVwibGV0IG1vbnRoIG9mIGdldFllYXJNb250aHNMaXN0KCksIHRyYWNrQnk6IHRyYWNrQnlNb250aFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiYXBwZWFyYW5jZS5zdGF0ZSA9PT0gJ2Rpc2FibGVkJyA/ICdkaXNhYmxlZCcgOiBnZXRNb250aFNlbGVjdGlvbkNsYXNzKG1vbnRoKVwiIChjbGljayk9XCJvblNlbGVjdE1vbnRoKG1vbnRoKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmN1cnJlbnRdPVwiaXNDdXJyZW50TW9udGgobW9udGgpXCI+IHt7IG1vbnRoc1Nob3J0TGlzdFttb250aC5tb250aF0gfX0gPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImFwcGVhcmFuY2UuYWN0aW9uc1wiIGNsYXNzPVwiYWN0aW9uLXNlY3Rpb25cIiA+XG4gICAgICAgIDxncmF2aXR5LWxpbmsgW2xpbmtUZXh0XT1cImkxOG4uY2xlYXJcIiBbc3RhdGVdPVwiIXNlbGVjdGVkTW9udGggPyAnZGlzYWJsZWQnIDogJ2FjdGl2ZSdcIiAoY2xpY2spPVwiY2xlYXJTZWxlY3RlZE1vbnRoKClcIi8+XG4gICAgICAgIDxncmF2aXR5LWJ1dHRvbiBbc2l6ZV09XCInc20nXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtkaXNhYmxlZF09XCIhc2VsZWN0ZWRNb250aFwiIChjbGljayk9XCJhcHBseVNlbGVjdGVkTW9udGgoKVwiPnt7aTE4bi5hcHBseX19PC9ncmF2aXR5LWJ1dHRvbj5cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWRhdGUtcGlja2VyL2NvbXBvbmVudHMvbW9udGgtY2FsZW5kYXIvbW9udGgtY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWRhdGUtcGlja2VyL2NvbXBvbmVudHMvbW9udGgtY2FsZW5kYXIvbW9udGgtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRixPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxHQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7QUFPekgsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQVFrQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBRXpCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRS9CLG1CQUFjLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDOUQsYUFBUSxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUVwRixnQkFBVyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUErRW5CLGVBQVUsR0FBRyxVQUFVLENBQUM7UUFDekIsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7S0FDekQ7SUE5RUMsSUFBVyxJQUFJ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QVM7K0JBQ0UsZ0JBQWdCOzhCQUtYLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1csUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFFVyxjQUFjO3NCQUE5QixNQUFNO2dCQUNVLFFBQVE7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGVQaWNrZXJBcHBlYXJhbmNlLCBEYXRlUGlja2VyQ29uZmlnLCBDYWxlbmRhclBlcmlvZH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9kYXRlLXBpY2tlci5tb2RhbFwiO1xuaW1wb3J0IHtjaGFuZ2VEYXRlLCBnZXRTdGFydERhdGUsIGlzUGVyaW9kQXZhaWxhYmxlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLnV0aWxzXCI7XG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q0FMRU5EQVJfSTE4TiwgTU9OVEhTX0VOLCBNT05USFNfU0hPUlRfRU4sIE1PTlRIU19FUywgTU9OVEhTX1NIT1JUX0VTfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLmNvbnN0YW50c1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb250aC1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb250aC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vbnRoLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTW9udGhDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cdEBJbnB1dCgpIHB1YmxpYyBjb25maWc6IERhdGVQaWNrZXJDb25maWc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbml0RGF0ZTogRGF0ZSB8IERhdGVbXTtcbiAgQElucHV0KCkgcHVibGljIHJlc3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGFwcGVhcmFuY2U6IERhdGVQaWNrZXJBcHBlYXJhbmNlO1xuICBASW5wdXQoKSBwdWJsaWMgaW50ZWdyYXRlZE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcHVibGljIGNsZWFyU2VsZWN0aW9uOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxEYXRlW10gfCBEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdIHwgRGF0ZT4oKTtcblxuICBwdWJsaWMgY3VycmVudERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICBwdWJsaWMgc2VsZWN0ZWRNb250aDogQ2FsZW5kYXJQZXJpb2Q7XG5cbiAgcHVibGljIGdldCBpMThuKCkgeyByZXR1cm4gQ0FMRU5EQVJfSTE4Tlt0aGlzLmFwcGVhcmFuY2UubGFuZ3VhZ2VdOyB9XG4gIHB1YmxpYyBnZXQgbW9udGhzTGlzdCgpIHsgcmV0dXJuIHRoaXMuYXBwZWFyYW5jZS5sYW5ndWFnZSA9PT0gJ2VuJyA/IE1PTlRIU19FTiA6IE1PTlRIU19FUzsgfVxuICBwdWJsaWMgZ2V0IG1vbnRoc1Nob3J0TGlzdCgpIHsgcmV0dXJuIHRoaXMuYXBwZWFyYW5jZS5sYW5ndWFnZSA9PT0gJ2VuJyA/IE1PTlRIU19TSE9SVF9FTiA6IE1PTlRIU19TSE9SVF9FUzsgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBzaG91bGRSZXN0YXJ0ID0gY2hhbmdlc1sncmVzdGFydCddICYmIHRoaXMucmVzdGFydDtcbiAgICBjb25zdCBzaG91bGRQcm9jZXNzUHJlU2VsZWN0ZWQgPSBjaGFuZ2VzWydwcmVTZWxlY3RlZERhdGUnXSAmJiB0aGlzLmluaXREYXRlO1xuICAgIGlmIChzaG91bGRSZXN0YXJ0IHx8IHNob3VsZFByb2Nlc3NQcmVTZWxlY3RlZCkgeyB0aGlzLnByb2Nlc3NJbml0RGF0ZSgpOyB9XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeU1vbnRoKF86IG51bWJlciwgbW9udGg6IENhbGVuZGFyUGVyaW9kKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7bW9udGgueWVhcn0tJHttb250aC5tb250aH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzSW5pdERhdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5pdERhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICB0aGlzLmN1cnJlbnREYXRlID0gZ2V0U3RhcnREYXRlKHRoaXMuaW5pdERhdGUpO1xuICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoID0ge1xuICAgICAgICBtb250aDogdGhpcy5pbml0RGF0ZS5nZXRNb250aCgpLFxuICAgICAgICB5ZWFyOiB0aGlzLmluaXREYXRlLmdldEZ1bGxZZWFyKClcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0TW9udGgobW9udGg6IENhbGVuZGFyUGVyaW9kKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1vbnRoID0gbW9udGg7XG4gICAgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKG1vbnRoLnllYXIsIG1vbnRoLm1vbnRoLCAxKTtcbiAgICB0aGlzLnJlc3BvbnNlLmVtaXQodGhpcy5jdXJyZW50RGF0ZSk7XG4gICAgcmV0dXJuO1xuICB9XG5cblx0cHVibGljIGdldE1vbnRoU2VsZWN0aW9uQ2xhc3MobW9udGg6IENhbGVuZGFyUGVyaW9kKTogc3RyaW5nIHtcblx0XHRjb25zdCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdGNvbnN0IHsgbWluRGF0ZSwgbWF4RGF0ZSB9ID0gdGhpcy5jb25maWcgPz8ge307XG5cdFx0Y29uc3QgZmlyc3REYXkgPSBuZXcgRGF0ZShtb250aC55ZWFyLCBtb250aC5tb250aCwgMSk7XG5cdFx0Y29uc3QgbGFzdERheSA9IG5ldyBEYXRlKG1vbnRoLnllYXIsIG1vbnRoLm1vbnRoICsgMSwgMCk7XG5cblx0XHRsZXQgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXHRcdGlmIChtaW5EYXRlICYmIGxhc3REYXkgPCBtaW5EYXRlKSB7IGlzRGlzYWJsZWQgPSB0cnVlOyB9XG5cdFx0aWYgKG1heERhdGUgJiYgZmlyc3REYXkgPiBtYXhEYXRlKSB7IGlzRGlzYWJsZWQgPSB0cnVlOyB9XG5cdFx0aWYgKGlzRGlzYWJsZWQpIHsgY2xhc3Nlcy5wdXNoKCdkaXNhYmxlZCcpOyB9XG5cblx0XHRpZiAodGhpcy5zZWxlY3RlZE1vbnRoICYmIHRoaXMuc2VsZWN0ZWRNb250aC5tb250aCA9PT0gbW9udGgubW9udGggJiYgdGhpcy5zZWxlY3RlZE1vbnRoLnllYXIgPT09IG1vbnRoLnllYXIpIHtcblx0XHRcdGNsYXNzZXMucHVzaCgnc2VsZWN0ZWQnKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG5cdH1cblxuXHRwdWJsaWMgaXNDdXJyZW50TW9udGgobW9udGg6IENhbGVuZGFyUGVyaW9kKSB7XG4gICAgaWYobmV3IERhdGUoKS5nZXRNb250aCgpID09PSBtb250aC5tb250aCAmJlxuICAgICAgbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpID09PSBtb250aC55ZWFyKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTZWxlY3RlZE1vbnRoKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IG51bGw7XG4gICAgdGhpcy5jbGVhclNlbGVjdGlvbi5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlTZWxlY3RlZE1vbnRoKCkge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkTW9udGgueWVhciwgdGhpcy5zZWxlY3RlZE1vbnRoLm1vbnRoKVxuICAgIHRoaXMucmVzcG9uc2UuZW1pdChkYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRZZWFyTW9udGhzTGlzdCgpOiBDYWxlbmRhclBlcmlvZFtdIHtcbiAgICBjb25zdCBtb250aHM6IENhbGVuZGFyUGVyaW9kW10gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTI7IGkrKykge1xuICAgICAgbW9udGhzLnB1c2goe21vbnRoOiBpLCB5ZWFyOiB0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCl9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9udGhzO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURhdGUgPSBjaGFuZ2VEYXRlO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgaXNQZXJpb2RBdmFpbGFibGUgPSBpc1BlcmlvZEF2YWlsYWJsZTtcbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiZ3Jhdml0eS1kYXRlLXBpY2tlci1oZWFkZXJcIiBbY2xhc3MubW9iaWxlXT1cImFwcGVhcmFuY2UuaXNNb2JpbGVcIj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlci1jb250YWluZXJcIj5cbiAgICA8Z3Jhdml0eS1pY29uLWJ1dHRvbiAqbmdJZj1cIiFpbnRlZ3JhdGVkTW9kZVwiXG4gICAgIFtzaXplXT1cIidzbSdcIlxuICAgICBbdHlwZV09XCIncHJpbWFyeSdcIlxuICAgICBbaWNvbl09XCInYXJyb3ctbGVmdCdcIlxuICAgICBbc3VwcG9ydFRleHRdPVwiaTE4bi5wcmV2aWV3X3llYXJcIlxuICAgICAoY2xpY2tPbkljb24pPVwiY3VycmVudERhdGUgPSBjaGFuZ2VEYXRlKC0xLCBjdXJyZW50RGF0ZSwgZmFsc2UpXCJcbiAgICAgW3N0YXRlXT1cIihhcHBlYXJhbmNlLnN0YXRlICE9PSAnZGlzYWJsZWQnKSAmJiBpc1BlcmlvZEF2YWlsYWJsZShjdXJyZW50RGF0ZSwgY29uZmlnLm1pbkRhdGUsICdtb250aCcsICdwcmV2JykgPyAnYWN0aXZlJyA6ICdkaXNhYmxlZCdcIi8+XG5cbiAgICA8ZGl2IGNsYXNzPVwieWVhci1sYWJlbFwiPlxuICAgICAgPGdyYXZpdHktZHJvcGRvd24tbGFiZWxcbiAgICAgICAgW3NpemVdPVwiJ3NtJ1wiXG4gICAgICAgIFtmb250Q2xhc3NdPVwiJ2hyLXRpdGxlIHNtLWJvbGQnXCJcbiAgICAgICAgW3N0YXRlXT1cImludGVncmF0ZWRNb2RlICYmIGFwcGVhcmFuY2Uuc3RhdGUgIT09ICdkaXNhYmxlZCcgPyAnYWN0aXZlJyA6ICdpbmFjdGl2ZSdcIlxuICAgICAgICBbbGFiZWxdPVwiaW50ZWdyYXRlZE1vZGUgPyBtb250aHNMaXN0W2N1cnJlbnREYXRlLmdldE1vbnRoKCldIDogY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpXCJcbiAgICAgICAgW2lzT3Blbl09XCJpbnRlZ3JhdGVkTW9kZVwiIChvbkNsaWNrTGFiZWwpPVwicmVzcG9uc2UuZW1pdChjdXJyZW50RGF0ZSlcIiA+IDwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxncmF2aXR5LWljb24tYnV0dG9uICpuZ0lmPVwiIWludGVncmF0ZWRNb2RlXCJcbiAgICAgW3NpemVdPVwiJ3NtJ1wiXG4gICAgIFt0eXBlXT1cIidwcmltYXJ5J1wiXG4gICAgIFtpY29uXT1cIidhcnJvdy1yaWdodCdcIlxuICAgICBbc3VwcG9ydFRleHRdPVwiaTE4bi5uZXh0X3llYXJcIlxuICAgICAoY2xpY2tPbkljb24pPVwiY3VycmVudERhdGUgPSBjaGFuZ2VEYXRlKDEsIGN1cnJlbnREYXRlLCBmYWxzZSlcIlxuICAgICBbc3RhdGVdPVwiKGFwcGVhcmFuY2Uuc3RhdGUgIT09ICdkaXNhYmxlZCcpICYmIGlzUGVyaW9kQXZhaWxhYmxlKGN1cnJlbnREYXRlLCBjb25maWcubWF4RGF0ZSwgJ21vbnRoJywgJ25leHQnKSA/ICdhY3RpdmUnIDogJ2Rpc2FibGVkJ1wiLz5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNlcGFyYXRvci1saW5lXCI+PC9kaXY+XG48L3NlY3Rpb24+XG5cbjxzZWN0aW9uIGNsYXNzPVwiZ3Jhdml0eS1kYXRlLXBpY2tlci1ib2R5XCIgW2NsYXNzLm1vYmlsZV09XCJhcHBlYXJhbmNlLmlzTW9iaWxlXCI+XG4gICAgPGRpdiBjbGFzcz1cIml0ZW1zLXRhYmxlXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImhyLWJvZHkgc20tcmVndWxhciBpdGVtXCIgKm5nRm9yPVwibGV0IG1vbnRoIG9mIGdldFllYXJNb250aHNMaXN0KCksIHRyYWNrQnk6IHRyYWNrQnlNb250aFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJhcHBlYXJhbmNlLnN0YXRlID09PSAnZGlzYWJsZWQnID8gJ2Rpc2FibGVkJyA6IGdldE1vbnRoU2VsZWN0aW9uQ2xhc3MobW9udGgpXCIgKGNsaWNrKT1cIm9uU2VsZWN0TW9udGgobW9udGgpXCJcbiAgICAgICAgICAgIFtjbGFzcy5jdXJyZW50XT1cImlzQ3VycmVudE1vbnRoKG1vbnRoKVwiPiB7eyBtb250aHNTaG9ydExpc3RbbW9udGgubW9udGhdIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiIWludGVncmF0ZWRNb2RlICYmIHNlbGVjdGVkTW9udGhcIiBjbGFzcz1cImFjdGlvbi1zZWN0aW9uXCIgPlxuICAgICAgICA8Z3Jhdml0eS1saW5rIFtsaW5rVGV4dF09XCJpMThuLmNsZWFyXCIgW3N0YXRlXT1cIiFzZWxlY3RlZE1vbnRoID8gJ2Rpc2FibGVkJyA6ICdhY3RpdmUnXCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0ZWRNb250aCgpXCIvPlxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPiJdfQ==