@taiga-ui/kit 4.39.2 → 4.40.0-canary.cdfddf4

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 (71) hide show
  1. package/components/calendar-range/calendar-range.component.d.ts +4 -1
  2. package/components/combo-box/combo-box.directive.d.ts +13 -9
  3. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +4 -1
  4. package/components/files/file/file.component.d.ts +1 -0
  5. package/components/files/file/file.options.d.ts +1 -1
  6. package/components/files/files.utils.d.ts +1 -1
  7. package/components/index.d.ts +1 -0
  8. package/components/input-date/index.d.ts +0 -1
  9. package/components/input-date/input-date.d.ts +1 -2
  10. package/components/input-date/input-date.directive.d.ts +14 -3
  11. package/components/input-date-range/index.d.ts +3 -0
  12. package/components/input-date-range/input-date-range.d.ts +3 -0
  13. package/components/input-date-range/input-date-range.directive.d.ts +20 -0
  14. package/components/input-date-range/input-date-range.options.d.ts +9 -0
  15. package/components/input-phone-international/input-phone-international.component.d.ts +1 -0
  16. package/esm2022/components/calendar-range/calendar-range.component.mjs +44 -27
  17. package/esm2022/components/combo-box/combo-box.directive.mjs +60 -37
  18. package/esm2022/components/data-list-wrapper/data-list-wrapper.component.mjs +16 -4
  19. package/esm2022/components/files/file/file.component.mjs +4 -3
  20. package/esm2022/components/files/file/file.options.mjs +1 -1
  21. package/esm2022/components/files/files.utils.mjs +3 -3
  22. package/esm2022/components/index.mjs +2 -1
  23. package/esm2022/components/input-date/index.mjs +1 -2
  24. package/esm2022/components/input-date/input-date.directive.mjs +49 -37
  25. package/esm2022/components/input-date/input-date.mjs +1 -3
  26. package/esm2022/components/input-date-range/index.mjs +4 -0
  27. package/esm2022/components/input-date-range/input-date-range.directive.mjs +75 -0
  28. package/esm2022/components/input-date-range/input-date-range.mjs +4 -0
  29. package/esm2022/components/input-date-range/input-date-range.options.mjs +10 -0
  30. package/esm2022/components/input-date-range/taiga-ui-kit-components-input-date-range.mjs +5 -0
  31. package/esm2022/components/input-month/input-month.directive.mjs +2 -3
  32. package/esm2022/components/input-month-range/input-month-range.directive.mjs +2 -3
  33. package/esm2022/components/input-number/input-number.directive.mjs +2 -4
  34. package/esm2022/components/input-phone-international/input-phone-international.component.mjs +2 -1
  35. package/esm2022/components/input-pin/input-pin.component.mjs +3 -3
  36. package/esm2022/components/input-slider/input-slider.directive.mjs +3 -2
  37. package/esm2022/components/segmented/segmented.component.mjs +2 -2
  38. package/esm2022/components/select/select.directive.mjs +2 -3
  39. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +43 -26
  40. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +61 -38
  42. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +15 -3
  44. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-kit-components-files.mjs +5 -4
  46. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +89 -0
  48. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -0
  49. package/fesm2022/taiga-ui-kit-components-input-date.mjs +50 -63
  50. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +1 -2
  52. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-kit-components-input-month.mjs +1 -2
  54. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-kit-components-input-number.mjs +1 -3
  56. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +1 -0
  58. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +2 -2
  60. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +2 -1
  62. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-kit-components-segmented.mjs +2 -2
  64. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-kit-components-select.mjs +1 -2
  66. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-kit-components.mjs +1 -0
  68. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  69. package/package.json +26 -20
  70. package/components/input-date/input-date.validator.d.ts +0 -10
  71. package/esm2022/components/input-date/input-date.validator.mjs +0 -31
@@ -11,23 +11,23 @@ import { changeDateSeparator, tuiDirectiveBinding, } from '@taiga-ui/cdk/utils/m
11
11
  import { TuiCalendar } from '@taiga-ui/core/components/calendar';
12
12
  import { tuiInjectAuxiliary, TuiTextfieldComponent, TuiTextfieldDirective, tuiTextfieldIconBinding, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
13
13
  import { TuiDropdownAuto, tuiDropdownEnabled, tuiDropdownOpen, } from '@taiga-ui/core/directives/dropdown';
14
- import { TuiItemsHandlersDirective } from '@taiga-ui/core/directives/items-handlers';
14
+ import { TuiItemsHandlersDirective, TuiItemsHandlersValidator, } from '@taiga-ui/core/directives/items-handlers';
15
15
  import { TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT } from '@taiga-ui/core/tokens';
16
+ import { TuiCalendarRange } from '@taiga-ui/kit/components/calendar-range';
16
17
  import { TUI_DATE_TEXTS } from '@taiga-ui/kit/tokens';
17
18
  import { tuiMaskito } from '@taiga-ui/kit/utils';
18
19
  import { TUI_INPUT_DATE_OPTIONS_NEW } from './input-date.options';
19
- import { TuiInputDateValidator } from './input-date.validator';
20
20
  import * as i0 from "@angular/core";
21
21
  import * as i1 from "@taiga-ui/core/components/textfield";
22
22
  import * as i2 from "@taiga-ui/core/directives/dropdown";
23
- import * as i3 from "./input-date.validator";
23
+ import * as i3 from "@taiga-ui/core/directives/items-handlers";
24
24
  import * as i4 from "@maskito/angular";
25
- const ADAPTER = {
25
+ export const TUI_DATE_ADAPTER = {
26
26
  DMY: 'dd/mm/yyyy',
27
27
  MDY: 'mm/dd/yyyy',
28
28
  YMD: 'yyyy/mm/dd',
29
29
  };
30
- class TuiInputDateDirective extends TuiControl {
30
+ class TuiInputDateBase extends TuiControl {
31
31
  constructor() {
32
32
  super(...arguments);
33
33
  this.el = tuiInjectElement();
@@ -36,7 +36,7 @@ class TuiInputDateDirective extends TuiControl {
36
36
  this.handlers = inject(TuiItemsHandlersDirective);
37
37
  this.textfield = inject(TuiTextfieldDirective);
38
38
  this.texts = toSignal(inject(TUI_DATE_TEXTS));
39
- this.calendar = tuiInjectAuxiliary((x) => x instanceof TuiCalendar);
39
+ this.calendar = tuiInjectAuxiliary((x) => x instanceof TuiCalendar || x instanceof TuiCalendarRange);
40
40
  this.filler = tuiDirectiveBinding(TuiTextfieldComponent, 'fillerSetter', computed(() => {
41
41
  const { mode, separator } = this.format();
42
42
  const texts = this.texts() || '';
@@ -50,7 +50,7 @@ class TuiInputDateDirective extends TuiControl {
50
50
  });
51
51
  this.mask = tuiMaskito(computed(() => maskitoDateOptionsGenerator({
52
52
  separator: this.format().separator,
53
- mode: ADAPTER[this.format().mode],
53
+ mode: TUI_DATE_ADAPTER[this.format().mode],
54
54
  min: this.min().toLocalNativeDate(),
55
55
  max: this.max().toLocalNativeDate(),
56
56
  })));
@@ -60,19 +60,15 @@ class TuiInputDateDirective extends TuiControl {
60
60
  this.textfield.value.set(value);
61
61
  }, TUI_ALLOW_SIGNAL_WRITES);
62
62
  this.calendarIn = effect(() => {
63
- const calendar = this.calendar();
64
- if (!calendar) {
65
- return;
63
+ if (this.calendar()) {
64
+ this.processCalendar(this.calendar());
66
65
  }
67
- calendar.value = this.value();
68
- calendar.disabledItemHandler = this.handlers.disabledItemHandler();
69
- calendar.min = this.min();
70
- calendar.max = this.max();
71
66
  }, TUI_ALLOW_SIGNAL_WRITES);
72
67
  this.calendarOut = effect((onCleanup) => {
73
- const subscription = this.calendar()?.dayClick.subscribe((day) => {
74
- this.onChange(day);
68
+ const subscription = this.calendar()?.valueChange.subscribe((value) => {
69
+ this.onChange(value);
75
70
  this.open.set(false);
71
+ this.el.blur();
76
72
  });
77
73
  onCleanup(() => subscription?.unsubscribe());
78
74
  });
@@ -86,22 +82,51 @@ class TuiInputDateDirective extends TuiControl {
86
82
  set maxSetter(max) {
87
83
  this.max.set(max || this.options.max);
88
84
  }
85
+ processCalendar(calendar) {
86
+ calendar.value = this.value();
87
+ calendar.disabledItemHandler = this.handlers.disabledItemHandler();
88
+ calendar.min = this.min();
89
+ calendar.max = this.max();
90
+ }
89
91
  onClick() {
90
92
  if (!this.mobile) {
91
93
  this.open.update((open) => !open);
92
94
  }
93
95
  }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
97
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateBase, isStandalone: true, inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, host: { listeners: { "input": "onValueChange($event.target.value)", "click.capture.stop": "onClick()" }, properties: { "attr.inputmode": "mobile && open() ? \"none\" : \"numeric\"", "disabled": "disabled()" } }, usesInheritance: true, ngImport: i0 }); }
98
+ }
99
+ export { TuiInputDateBase };
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateBase, decorators: [{
101
+ type: Directive,
102
+ args: [{
103
+ standalone: true,
104
+ host: {
105
+ '[attr.inputmode]': 'mobile && open() ? "none" : "numeric"',
106
+ '[disabled]': 'disabled()',
107
+ '(input)': 'onValueChange($event.target.value)',
108
+ '(click.capture.stop)': 'onClick()',
109
+ },
110
+ }]
111
+ }], propDecorators: { minSetter: [{
112
+ type: Input,
113
+ args: ['min']
114
+ }], maxSetter: [{
115
+ type: Input,
116
+ args: ['max']
117
+ }] } });
118
+ class TuiInputDateDirective extends TuiInputDateBase {
94
119
  onValueChange(value) {
95
120
  this.control?.control?.updateValueAndValidity({ emitEvent: false });
96
- this.onChange(value.length !== DATE_FILLER_LENGTH
97
- ? null
98
- : TuiDay.normalizeParse(value, this.format().mode));
121
+ this.onChange(value.length === DATE_FILLER_LENGTH
122
+ ? TuiDay.normalizeParse(value, this.format().mode)
123
+ : null);
99
124
  }
100
125
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
101
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateDirective, isStandalone: true, selector: "input[tuiInputDate]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, host: { listeners: { "blur": "onTouched()", "input": "onValueChange($event.target.value)", "click.capture.stop": "onClick()" }, properties: { "attr.inputmode": "open() ? \"none\" : \"numeric\"", "disabled": "disabled()" } }, providers: [
126
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateDirective, isStandalone: true, selector: "input[tuiInputDate]", providers: [
102
127
  tuiAsControl(TuiInputDateDirective),
103
128
  tuiValueTransformerFrom(TUI_INPUT_DATE_OPTIONS_NEW),
104
- ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.TuiDropdownAuto }, { directive: i3.TuiInputDateValidator }, { directive: i4.MaskitoDirective }], ngImport: i0 }); }
129
+ ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.TuiDropdownAuto }, { directive: i3.TuiItemsHandlersValidator }, { directive: i4.MaskitoDirective }], ngImport: i0 }); }
105
130
  }
106
131
  export { TuiInputDateDirective };
107
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateDirective, decorators: [{
@@ -116,22 +141,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
116
141
  hostDirectives: [
117
142
  TuiWithTextfield,
118
143
  TuiDropdownAuto,
119
- TuiInputDateValidator,
144
+ TuiItemsHandlersValidator,
120
145
  MaskitoDirective,
121
146
  ],
122
- host: {
123
- '[attr.inputmode]': 'open() ? "none" : "numeric"',
124
- '[disabled]': 'disabled()',
125
- '(blur)': 'onTouched()',
126
- '(input)': 'onValueChange($event.target.value)',
127
- '(click.capture.stop)': 'onClick()',
128
- },
129
147
  }]
130
- }], propDecorators: { minSetter: [{
131
- type: Input,
132
- args: ['min']
133
- }], maxSetter: [{
134
- type: Input,
135
- args: ['max']
136
- }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUN0QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDSCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGVBQWUsR0FDbEIsTUFB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QUFDO1NBQ3REOztTQWVRLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQXJCakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsU0FBUyxFQUFFO3dCQUNQLFlBQVksdUJBQXVCO3dCQUNuQyx1QkFBdUIsQ0FBQywwQkFBMEIsQ0FBQztxQkFDdEQ7b0JBQ0QsY0FBYyxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGdCQUFnQjtxQkFDbkI7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLGtCQUFrQixFQUFFLDZCQUE2Qjt3QkFDakQsWUFBWSxFQUFFLFlBQVk7d0JBQzFCLFFBQVEsRUFBRSxhQUFhO3dCQUN2QixTQUFTLEVBQUUsb0NBQW9DO3dCQUMvQyxzQkFBc0IsRUFBRSxXQUFXO3FCQUN0QztpQkFDSjs4QkFnRmMsU0FBUztzQkFEbkIsS0FBSzt1QkFBQyxLQUFLO2dCQU1ELFNBQVM7c0JBRG5CLEtBQUs7dUJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29tcHV0ZWQsIERpcmVjdGl2ZSwgZWZmZWN0LCBpbmplY3QsIElucHV0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtNYXNraXRvRGlyZWN0aXZlfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB0eXBlIHtNYXNraXRvRGF0ZU1vZGV9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge21hc2tpdG9EYXRlT3B0aW9uc0dlbmVyYXRvcn0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7dHVpQXNDb250cm9sLCBUdWlDb250cm9sLCB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VFVJX0FMTE9XX1NJR05BTF9XUklURVN9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtUdWlEYXRlTW9kZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtEQVRFX0ZJTExFUl9MRU5HVEgsIFR1aURheX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7XG4gICAgY2hhbmdlRGF0ZVNlcGFyYXRvcixcbiAgICB0dWlEaXJlY3RpdmVCaW5kaW5nLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlDYWxlbmRhcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhcic7XG5pbXBvcnQge1xuICAgIHR1aUluamVjdEF1eGlsaWFyeSxcbiAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dGZpZWxkRGlyZWN0aXZlLFxuICAgIHR1aVRleHRmaWVsZEljb25CaW5kaW5nLFxuICAgIFR1aVdpdGhUZXh0ZmllbGQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcGRvd25BdXRvLFxuICAgIHR1aURyb3Bkb3duRW5hYmxlZCxcbiAgICB0dWlEcm9wZG93bk9wZW4sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtUdWlJdGVtc0hhbmRsZXJzRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0RBVEVfRk9STUFULCBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VFVJX0RBVEVfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7dHVpTWFza2l0b30gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVd9IGZyb20gJy4vaW5wdXQtZGF0ZS5vcHRpb25zJztcbmltcG9ydCB7VHVpSW5wdXREYXRlVmFsaWRhdG9yfSBmcm9tICcuL2lucHV0LWRhdGUudmFsaWRhdG9yJztcblxuY29uc3QgQURBUFRFUjogUmVjb3JkPFR1aURhdGVNb2RlLCBNYXNraXRvRGF0ZU1vZGU+ID0ge1xuICAgIERNWTogJ2RkL21tL3l5eXknLFxuICAgIE1EWTogJ21tL2RkL3l5eXknLFxuICAgIFlNRDogJ3l5eXkvbW0vZGQnLFxufTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0RGF0ZV0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXREYXRlRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb20oVFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVcpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgVHVpV2l0aFRleHRmaWVsZCxcbiAgICAgICAgVHVpRHJvcGRvd25BdXRvLFxuICAgICAgICBUdWlJbnB1dERhdGVWYWxpZGF0b3IsXG4gICAgICAgIE1hc2tpdG9EaXJlY3RpdmUsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5pbnB1dG1vZGVdJzogJ29wZW4oKSA/IFwibm9uZVwiIDogXCJudW1lcmljXCInLFxuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhibHVyKSc6ICdvblRvdWNoZWQoKScsXG4gICAgICAgICcoaW5wdXQpJzogJ29uVmFsdWVDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSknLFxuICAgICAgICAnKGNsaWNrLmNhcHR1cmUuc3RvcCknOiAnb25DbGljaygpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dERhdGVEaXJlY3RpdmUgZXh0ZW5kcyBUdWlDb250cm9sPFR1aURheSB8IG51bGw+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfREFURV9PUFRJT05TX05FVyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBoYW5kbGVycyA9IGluamVjdChUdWlJdGVtc0hhbmRsZXJzRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZCA9IGluamVjdChUdWlUZXh0ZmllbGREaXJlY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dHMgPSB0b1NpZ25hbChpbmplY3QoVFVJX0RBVEVfVEVYVFMpKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhbGVuZGFyID0gdHVpSW5qZWN0QXV4aWxpYXJ5PFR1aUNhbGVuZGFyPihcbiAgICAgICAgKHgpID0+IHggaW5zdGFuY2VvZiBUdWlDYWxlbmRhcixcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbGxlciA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICAgICAgJ2ZpbGxlclNldHRlcicsXG4gICAgICAgIGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHttb2RlLCBzZXBhcmF0b3J9ID0gdGhpcy5mb3JtYXQoKTtcbiAgICAgICAgICAgIGNvbnN0IHRleHRzID0gdGhpcy50ZXh0cygpIHx8ICcnO1xuXG4gICAgICAgICAgICByZXR1cm4gdGV4dHMgJiYgY2hhbmdlRGF0ZVNlcGFyYXRvcih0ZXh0c1ttb2RlXSwgc2VwYXJhdG9yKTtcbiAgICAgICAgfSksXG4gICAgICAgIHt9LFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3BlbiA9IHR1aURyb3Bkb3duT3BlbigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29uID0gdHVpVGV4dGZpZWxkSWNvbkJpbmRpbmcoVFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVcpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkcm9wZG93bkVuYWJsZWQgPSB0dWlEcm9wZG93bkVuYWJsZWQoXG4gICAgICAgIGNvbXB1dGVkKCgpID0+ICF0aGlzLm5hdGl2ZSAmJiB0aGlzLmludGVyYWN0aXZlKCkpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybWF0ID0gdG9TaWduYWwoaW5qZWN0KFRVSV9EQVRFX0ZPUk1BVCksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVCxcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBtYXNrID0gdHVpTWFza2l0byhcbiAgICAgICAgY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgICAgIG1hc2tpdG9EYXRlT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICAgICAgICAgICAgc2VwYXJhdG9yOiB0aGlzLmZvcm1hdCgpLnNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICBtb2RlOiBBREFQVEVSW3RoaXMuZm9ybWF0KCkubW9kZV0sXG4gICAgICAgICAgICAgICAgbWluOiB0aGlzLm1pbigpLnRvTG9jYWxOYXRpdmVEYXRlKCksXG4gICAgICAgICAgICAgICAgbWF4OiB0aGlzLm1heCgpLnRvTG9jYWxOYXRpdmVEYXRlKCksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHZhbHVlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPVxuICAgICAgICAgICAgdGhpcy52YWx1ZSgpPy50b1N0cmluZyh0aGlzLmZvcm1hdCgpLm1vZGUsIHRoaXMuZm9ybWF0KCkuc2VwYXJhdG9yKSA/P1xuICAgICAgICAgICAgdGhpcy5lbC52YWx1ZTtcblxuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodmFsdWUpO1xuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhckluID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgY2FsZW5kYXIgPSB0aGlzLmNhbGVuZGFyKCk7XG5cbiAgICAgICAgaWYgKCFjYWxlbmRhcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FsZW5kYXIudmFsdWUgPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgIGNhbGVuZGFyLmRpc2FibGVkSXRlbUhhbmRsZXIgPSB0aGlzLmhhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKTtcbiAgICAgICAgY2FsZW5kYXIubWluID0gdGhpcy5taW4oKTtcbiAgICAgICAgY2FsZW5kYXIubWF4ID0gdGhpcy5tYXgoKTtcbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJPdXQgPSBlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmNhbGVuZGFyKCk/LmRheUNsaWNrLnN1YnNjcmliZSgoZGF5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGRheSk7XG4gICAgICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgb25DbGVhbnVwKCgpID0+IHN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKSk7XG4gICAgfSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbmF0aXZlID0gdGhpcy5lbC50eXBlID09PSAnZGF0ZScgJiYgdGhpcy5tb2JpbGU7XG4gICAgcHVibGljIHJlYWRvbmx5IG1pbiA9IHNpZ25hbCh0aGlzLm9wdGlvbnMubWluKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWF4ID0gc2lnbmFsKHRoaXMub3B0aW9ucy5tYXgpO1xuXG4gICAgQElucHV0KCdtaW4nKVxuICAgIHB1YmxpYyBzZXQgbWluU2V0dGVyKG1pbjogVHVpRGF5IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1pbi5zZXQobWluIHx8IHRoaXMub3B0aW9ucy5taW4pO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbWF4JylcbiAgICBwdWJsaWMgc2V0IG1heFNldHRlcihtYXg6IFR1aURheSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5tYXguc2V0KG1heCB8fCB0aGlzLm9wdGlvbnMubWF4KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuLnVwZGF0ZSgob3BlbikgPT4gIW9wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRyb2w/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShcbiAgICAgICAgICAgIHZhbHVlLmxlbmd0aCAhPT0gREFURV9GSUxMRVJfTEVOR1RIXG4gICAgICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICAgICAgOiBUdWlEYXkubm9ybWFsaXplUGFyc2UodmFsdWUsIHRoaXMuZm9ybWF0KCkubW9kZSksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
148
+ }] });
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUN0QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDSCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGVBQWUsR0FDbEIsTUFB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QkFEbkIsS0FBSzt1QkFBQyxLQUFLO2dCQU1ELFNBQVM7c0JBRG5CLEtBQUs7dUJBQUMsS0FBSzs7QUFtQmhCLE1BY2EscUJBQXNCLFNBQVEsZ0JBQXdCO0lBQzVDLGFBQWEsQ0FBQyxLQUFhO1FBQzFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixDQUFDLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFFBQVEsQ0FDVCxLQUFLLENBQUMsTUFBTSxLQUFLLGtCQUFrQjtZQUMvQixDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztZQUNsRCxDQUFDLENBQUMsSUFBSSxDQUNiLENBQUM7SUFDTixDQUFDOytHQVJRLHFCQUFxQjttR0FBckIscUJBQXFCLGtFQVhuQjtZQUNQLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztZQUNuQyx1QkFBdUIsQ0FBQywwQkFBMEIsQ0FBQztTQUN0RDs7U0FRUSxxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFkakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsU0FBUyxFQUFFO3dCQUNQLFlBQVksdUJBQXVCO3dCQUNuQyx1QkFBdUIsQ0FBQywwQkFBMEIsQ0FBQztxQkFDdEQ7b0JBQ0QsY0FBYyxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZix5QkFBeUI7d0JBQ3pCLGdCQUFnQjtxQkFDbkI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7TWFza2l0b0RhdGVNb2RlfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHttYXNraXRvRGF0ZU9wdGlvbnNHZW5lcmF0b3J9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbCwgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb219IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9BTExPV19TSUdOQUxfV1JJVEVTfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7VHVpRGF0ZU1vZGUsIFR1aURheVJhbmdlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge0RBVEVfRklMTEVSX0xFTkdUSCwgVHVpRGF5fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtcbiAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yLFxuICAgIHR1aURpcmVjdGl2ZUJpbmRpbmcsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aUNhbGVuZGFyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyJztcbmltcG9ydCB7XG4gICAgdHVpSW5qZWN0QXV4aWxpYXJ5LFxuICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGREaXJlY3RpdmUsXG4gICAgdHVpVGV4dGZpZWxkSWNvbkJpbmRpbmcsXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bkF1dG8sXG4gICAgdHVpRHJvcGRvd25FbmFibGVkLFxuICAgIHR1aURyb3Bkb3duT3Blbixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1xuICAgIFR1aUl0ZW1zSGFuZGxlcnNEaXJlY3RpdmUsXG4gICAgVHVpSXRlbXNIYW5kbGVyc1ZhbGlkYXRvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pdGVtcy1oYW5kbGVycyc7XG5pbXBvcnQge1RVSV9EQVRFX0ZPUk1BVCwgVFVJX0RFRkFVTFRfREFURV9GT1JNQVR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUNhbGVuZGFyUmFuZ2V9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYWxlbmRhci1yYW5nZSc7XG5pbXBvcnQge1RVSV9EQVRFX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge3R1aU1hc2tpdG99IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXfSBmcm9tICcuL2lucHV0LWRhdGUub3B0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBUVUlfREFURV9BREFQVEVSOiBSZWNvcmQ8VHVpRGF0ZU1vZGUsIE1hc2tpdG9EYXRlTW9kZT4gPSB7XG4gICAgRE1ZOiAnZGQvbW0veXl5eScsXG4gICAgTURZOiAnbW0vZGQveXl5eScsXG4gICAgWU1EOiAneXl5eS9tbS9kZCcsXG59O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmlucHV0bW9kZV0nOiAnbW9iaWxlICYmIG9wZW4oKSA/IFwibm9uZVwiIDogXCJudW1lcmljXCInLFxuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnb25WYWx1ZUNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKScsXG4gICAgICAgICcoY2xpY2suY2FwdHVyZS5zdG9wKSc6ICdvbkNsaWNrKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFR1aUlucHV0RGF0ZUJhc2U8XG4gICAgVCBleHRlbmRzIFR1aURheSB8IFR1aURheVJhbmdlLFxuPiBleHRlbmRzIFR1aUNvbnRyb2w8VCB8IG51bGw+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfREFURV9PUFRJT05TX05FVyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBoYW5kbGVycyA9IGluamVjdChUdWlJdGVtc0hhbmRsZXJzRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZCA9IGluamVjdChUdWlUZXh0ZmllbGREaXJlY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dHMgPSB0b1NpZ25hbChpbmplY3QoVFVJX0RBVEVfVEVYVFMpKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhbGVuZGFyID0gdHVpSW5qZWN0QXV4aWxpYXJ5PFR1aUNhbGVuZGFyIHwgVHVpQ2FsZW5kYXJSYW5nZT4oXG4gICAgICAgICh4KSA9PiB4IGluc3RhbmNlb2YgVHVpQ2FsZW5kYXIgfHwgeCBpbnN0YW5jZW9mIFR1aUNhbGVuZGFyUmFuZ2UsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBmaWxsZXIgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgICAgICdmaWxsZXJTZXR0ZXInLFxuICAgICAgICBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7bW9kZSwgc2VwYXJhdG9yfSA9IHRoaXMuZm9ybWF0KCk7XG4gICAgICAgICAgICBjb25zdCB0ZXh0cyA9IHRoaXMudGV4dHMoKSB8fCAnJztcblxuICAgICAgICAgICAgcmV0dXJuIHRleHRzICYmIGNoYW5nZURhdGVTZXBhcmF0b3IodGV4dHNbbW9kZV0sIHNlcGFyYXRvcik7XG4gICAgICAgIH0pLFxuICAgICAgICB7fSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZW4gPSB0dWlEcm9wZG93bk9wZW4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbiA9IHR1aVRleHRmaWVsZEljb25CaW5kaW5nKFRVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd25FbmFibGVkID0gdHVpRHJvcGRvd25FbmFibGVkKFxuICAgICAgICBjb21wdXRlZCgoKSA9PiAhdGhpcy5uYXRpdmUgJiYgdGhpcy5pbnRlcmFjdGl2ZSgpKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZvcm1hdCA9IHRvU2lnbmFsKGluamVjdChUVUlfREFURV9GT1JNQVQpLCB7XG4gICAgICAgIGluaXRpYWxWYWx1ZTogVFVJX0RFRkFVTFRfREFURV9GT1JNQVQsXG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFzayA9IHR1aU1hc2tpdG8oXG4gICAgICAgIGNvbXB1dGVkKCgpID0+XG4gICAgICAgICAgICBtYXNraXRvRGF0ZU9wdGlvbnNHZW5lcmF0b3Ioe1xuICAgICAgICAgICAgICAgIHNlcGFyYXRvcjogdGhpcy5mb3JtYXQoKS5zZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgbW9kZTogVFVJX0RBVEVfQURBUFRFUlt0aGlzLmZvcm1hdCgpLm1vZGVdLFxuICAgICAgICAgICAgICAgIG1pbjogdGhpcy5taW4oKS50b0xvY2FsTmF0aXZlRGF0ZSgpLFxuICAgICAgICAgICAgICAgIG1heDogdGhpcy5tYXgoKS50b0xvY2FsTmF0aXZlRGF0ZSgpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgICAgIHRoaXMudmFsdWUoKT8udG9TdHJpbmcodGhpcy5mb3JtYXQoKS5tb2RlLCB0aGlzLmZvcm1hdCgpLnNlcGFyYXRvcikgPz9cbiAgICAgICAgICAgIHRoaXMuZWwudmFsdWU7XG5cbiAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHZhbHVlKTtcbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJJbiA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNhbGVuZGFyKCkpIHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0NhbGVuZGFyKHRoaXMuY2FsZW5kYXIoKSEpO1xuICAgICAgICB9XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyT3V0ID0gZWZmZWN0KChvbkNsZWFudXApID0+IHtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5jYWxlbmRhcigpPy52YWx1ZUNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5vcGVuLnNldChmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmVsLmJsdXIoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgb25DbGVhbnVwKCgpID0+IHN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKSk7XG4gICAgfSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbmF0aXZlID0gdGhpcy5lbC50eXBlID09PSAnZGF0ZScgJiYgdGhpcy5tb2JpbGU7XG4gICAgcHVibGljIHJlYWRvbmx5IG1pbiA9IHNpZ25hbCh0aGlzLm9wdGlvbnMubWluKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWF4ID0gc2lnbmFsKHRoaXMub3B0aW9ucy5tYXgpO1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQ7XG5cbiAgICBASW5wdXQoJ21pbicpXG4gICAgcHVibGljIHNldCBtaW5TZXR0ZXIobWluOiBUdWlEYXkgfCBudWxsKSB7XG4gICAgICAgIHRoaXMubWluLnNldChtaW4gfHwgdGhpcy5vcHRpb25zLm1pbik7XG4gICAgfVxuXG4gICAgQElucHV0KCdtYXgnKVxuICAgIHB1YmxpYyBzZXQgbWF4U2V0dGVyKG1heDogVHVpRGF5IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1heC5zZXQobWF4IHx8IHRoaXMub3B0aW9ucy5tYXgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBwcm9jZXNzQ2FsZW5kYXIoY2FsZW5kYXI6IFR1aUNhbGVuZGFyIHwgVHVpQ2FsZW5kYXJSYW5nZSk6IHZvaWQge1xuICAgICAgICBjYWxlbmRhci52YWx1ZSA9IHRoaXMudmFsdWUoKTtcbiAgICAgICAgY2FsZW5kYXIuZGlzYWJsZWRJdGVtSGFuZGxlciA9IHRoaXMuaGFuZGxlcnMuZGlzYWJsZWRJdGVtSGFuZGxlcigpO1xuICAgICAgICBjYWxlbmRhci5taW4gPSB0aGlzLm1pbigpO1xuICAgICAgICBjYWxlbmRhci5tYXggPSB0aGlzLm1heCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4udXBkYXRlKChvcGVuKSA9PiAhb3Blbik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dERhdGVdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0RGF0ZURpcmVjdGl2ZSksXG4gICAgICAgIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tKFRVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIFR1aVdpdGhUZXh0ZmllbGQsXG4gICAgICAgIFR1aURyb3Bkb3duQXV0byxcbiAgICAgICAgVHVpSXRlbXNIYW5kbGVyc1ZhbGlkYXRvcixcbiAgICAgICAgTWFza2l0b0RpcmVjdGl2ZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dERhdGVEaXJlY3RpdmUgZXh0ZW5kcyBUdWlJbnB1dERhdGVCYXNlPFR1aURheT4ge1xuICAgIHByb3RlY3RlZCBvdmVycmlkZSBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250cm9sPy5jb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoXG4gICAgICAgICAgICB2YWx1ZS5sZW5ndGggPT09IERBVEVfRklMTEVSX0xFTkdUSFxuICAgICAgICAgICAgICAgID8gVHVpRGF5Lm5vcm1hbGl6ZVBhcnNlKHZhbHVlLCB0aGlzLmZvcm1hdCgpLm1vZGUpXG4gICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,11 +1,9 @@
1
1
  import { TuiCalendar } from '@taiga-ui/core/components/calendar';
2
2
  import { TuiInputDateComponent } from './input-date.component';
3
3
  import { TuiInputDateDirective } from './input-date.directive';
4
- import { TuiInputDateValidator } from './input-date.validator';
5
4
  export const TuiInputDate = [
6
5
  TuiInputDateDirective,
7
6
  TuiInputDateComponent,
8
- TuiInputDateValidator,
9
7
  TuiCalendar,
10
8
  ];
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUvaW5wdXQtZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQ3hCLHFCQUFxQjtJQUNyQixxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLFdBQVc7Q0FDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlDYWxlbmRhcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhcic7XG5cbmltcG9ydCB7VHVpSW5wdXREYXRlQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LWRhdGUuY29tcG9uZW50JztcbmltcG9ydCB7VHVpSW5wdXREYXRlRGlyZWN0aXZlfSBmcm9tICcuL2lucHV0LWRhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpSW5wdXREYXRlVmFsaWRhdG9yfSBmcm9tICcuL2lucHV0LWRhdGUudmFsaWRhdG9yJztcblxuZXhwb3J0IGNvbnN0IFR1aUlucHV0RGF0ZSA9IFtcbiAgICBUdWlJbnB1dERhdGVEaXJlY3RpdmUsXG4gICAgVHVpSW5wdXREYXRlQ29tcG9uZW50LFxuICAgIFR1aUlucHV0RGF0ZVZhbGlkYXRvcixcbiAgICBUdWlDYWxlbmRhcixcbl0gYXMgY29uc3Q7XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUvaW5wdXQtZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQ3hCLHFCQUFxQjtJQUNyQixxQkFBcUI7SUFDckIsV0FBVztDQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aUNhbGVuZGFyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyJztcblxuaW1wb3J0IHtUdWlJbnB1dERhdGVDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtZGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlJbnB1dERhdGVEaXJlY3RpdmV9IGZyb20gJy4vaW5wdXQtZGF0ZS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgVHVpSW5wdXREYXRlID0gW1xuICAgIFR1aUlucHV0RGF0ZURpcmVjdGl2ZSxcbiAgICBUdWlJbnB1dERhdGVDb21wb25lbnQsXG4gICAgVHVpQ2FsZW5kYXIsXG5dIGFzIGNvbnN0O1xuIl19
@@ -0,0 +1,4 @@
1
+ export * from './input-date-range';
2
+ export * from './input-date-range.directive';
3
+ export * from './input-date-range.options';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1kYXRlLXJhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtZGF0ZS1yYW5nZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1kYXRlLXJhbmdlLm9wdGlvbnMnO1xuIl19
@@ -0,0 +1,75 @@
1
+ import { computed, Directive, Input, signal } from '@angular/core';
2
+ import { MaskitoDirective } from '@maskito/angular';
3
+ import { maskitoDateRangeOptionsGenerator } from '@maskito/kit';
4
+ import { tuiAsControl, tuiValueTransformerFrom } from '@taiga-ui/cdk/classes';
5
+ import { DATE_RANGE_FILLER_LENGTH, RANGE_SEPARATOR_CHAR, TuiDayRange, } from '@taiga-ui/cdk/date-time';
6
+ import { tuiDirectiveBinding, tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
7
+ import { TuiTextfieldComponent, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
8
+ import { TuiDropdownAuto } from '@taiga-ui/core/directives/dropdown';
9
+ import { TUI_DATE_ADAPTER, TUI_INPUT_DATE_OPTIONS_NEW, TuiInputDateBase, } from '@taiga-ui/kit/components/input-date';
10
+ import { tuiMaskito } from '@taiga-ui/kit/utils';
11
+ import { TUI_INPUT_DATE_RANGE_OPTIONS } from './input-date-range.options';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@taiga-ui/core/components/textfield";
14
+ import * as i2 from "@taiga-ui/core/directives/dropdown";
15
+ import * as i3 from "@maskito/angular";
16
+ class TuiInputDateRangeDirective extends TuiInputDateBase {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.rangeFiller = tuiDirectiveBinding(TuiTextfieldComponent, 'fillerSetter', computed((filler = this.filler()) => `${filler}${RANGE_SEPARATOR_CHAR}${filler}`), {});
20
+ this.mask = tuiMaskito(computed(() => maskitoDateRangeOptionsGenerator({
21
+ dateSeparator: this.format().separator,
22
+ mode: TUI_DATE_ADAPTER[this.format().mode],
23
+ min: this.min().toLocalNativeDate(),
24
+ max: this.max().toLocalNativeDate(),
25
+ minLength: this.minLength() || {},
26
+ maxLength: this.maxLength() || {},
27
+ })));
28
+ this.minLength = signal(null);
29
+ this.maxLength = signal(null);
30
+ }
31
+ set minLengthSetter(minLength) {
32
+ this.minLength.set(minLength);
33
+ }
34
+ set maxLengthSetter(maxLength) {
35
+ this.maxLength.set(maxLength);
36
+ }
37
+ processCalendar(calendar) {
38
+ super.processCalendar(calendar);
39
+ calendar.minLength = this.minLength();
40
+ calendar.maxLength = this.maxLength();
41
+ }
42
+ onValueChange(value) {
43
+ this.control?.control?.updateValueAndValidity({ emitEvent: false });
44
+ this.onChange(value.length === DATE_RANGE_FILLER_LENGTH
45
+ ? TuiDayRange.normalizeParse(value, this.format().mode)
46
+ : null);
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateRangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
49
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateRangeDirective, isStandalone: true, selector: "input[tuiInputDateRange]", inputs: { minLengthSetter: ["minLength", "minLengthSetter"], maxLengthSetter: ["maxLength", "maxLengthSetter"] }, providers: [
50
+ tuiAsControl(TuiInputDateRangeDirective),
51
+ tuiValueTransformerFrom(TUI_INPUT_DATE_RANGE_OPTIONS),
52
+ tuiProvide(TUI_INPUT_DATE_OPTIONS_NEW, TUI_INPUT_DATE_RANGE_OPTIONS),
53
+ ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.TuiDropdownAuto }, { directive: i3.MaskitoDirective }], ngImport: i0 }); }
54
+ }
55
+ export { TuiInputDateRangeDirective };
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateRangeDirective, decorators: [{
57
+ type: Directive,
58
+ args: [{
59
+ standalone: true,
60
+ selector: 'input[tuiInputDateRange]',
61
+ providers: [
62
+ tuiAsControl(TuiInputDateRangeDirective),
63
+ tuiValueTransformerFrom(TUI_INPUT_DATE_RANGE_OPTIONS),
64
+ tuiProvide(TUI_INPUT_DATE_OPTIONS_NEW, TUI_INPUT_DATE_RANGE_OPTIONS),
65
+ ],
66
+ hostDirectives: [TuiWithTextfield, TuiDropdownAuto, MaskitoDirective],
67
+ }]
68
+ }], propDecorators: { minLengthSetter: [{
69
+ type: Input,
70
+ args: ['minLength']
71
+ }], maxLengthSetter: [{
72
+ type: Input,
73
+ args: ['maxLength']
74
+ }] } });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXJhbmdlL2lucHV0LWRhdGUtcmFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RSxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQixXQUFXLEdBQ2QsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDbEYsT0FBTyxFQUNILHFCQUFxQixFQUNyQixnQkFBZ0IsR0FDbkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFbkUsT0FBTyxFQUNILGdCQUFnQixFQUNoQiwwQkFBMEIsRUFDMUIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7OztBQUV4RSxNQVVhLDBCQUEyQixTQUFRLGdCQUE2QjtJQVY3RTs7UUFXdUIsZ0JBQVcsR0FBRyxtQkFBbUIsQ0FDaEQscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQU0sR0FBRyxvQkFBb0IsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUNqRixFQUFFLENBQ0wsQ0FBQztRQUUwQixTQUFJLEdBQUcsVUFBVSxDQUN6QyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ1YsZ0NBQWdDLENBQUM7WUFDN0IsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTO1lBQ3RDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQzFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUU7WUFDbkMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRTtZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUU7WUFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFO1NBQ3BDLENBQUMsQ0FDTCxDQUNKLENBQUM7UUFFYyxjQUFTLEdBQUcsTUFBTSxDQUFvQixJQUFJLENBQUMsQ0FBQztRQUM1QyxjQUFTLEdBQUcsTUFBTSxDQUFvQixJQUFJLENBQUMsQ0FBQztLQTJCL0Q7SUF6QkcsSUFDVyxlQUFlLENBQUMsU0FBNEI7UUFDbkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQ1csZUFBZSxDQUFDLFNBQTRCO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFa0IsZUFBZSxDQUFDLFFBQTBCO1FBQ3pELEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFaEMsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEMsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVrQixhQUFhLENBQUMsS0FBYTtRQUMxQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxRQUFRLENBQ1QsS0FBSyxDQUFDLE1BQU0sS0FBSyx3QkFBd0I7WUFDckMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDdkQsQ0FBQyxDQUFDLElBQUksQ0FDYixDQUFDO0lBQ04sQ0FBQzsrR0FoRFEsMEJBQTBCO21HQUExQiwwQkFBMEIseUxBUHhCO1lBQ1AsWUFBWSxDQUFDLDBCQUEwQixDQUFDO1lBQ3hDLHVCQUF1QixDQUFDLDRCQUE0QixDQUFDO1lBQ3JELFVBQVUsQ0FBQywwQkFBMEIsRUFBRSw0QkFBNEIsQ0FBQztTQUN2RTs7U0FHUSwwQkFBMEI7NEZBQTFCLDBCQUEwQjtrQkFWdEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsU0FBUyxFQUFFO3dCQUNQLFlBQVksNEJBQTRCO3dCQUN4Qyx1QkFBdUIsQ0FBQyw0QkFBNEIsQ0FBQzt3QkFDckQsVUFBVSxDQUFDLDBCQUEwQixFQUFFLDRCQUE0QixDQUFDO3FCQUN2RTtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUM7aUJBQ3hFOzhCQTBCYyxlQUFlO3NCQUR6QixLQUFLO3VCQUFDLFdBQVc7Z0JBTVAsZUFBZTtzQkFEekIsS0FBSzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgRGlyZWN0aXZlLCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQge21hc2tpdG9EYXRlUmFuZ2VPcHRpb25zR2VuZXJhdG9yfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHR5cGUge1R1aURheUxpa2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7XG4gICAgREFURV9SQU5HRV9GSUxMRVJfTEVOR1RILFxuICAgIFJBTkdFX1NFUEFSQVRPUl9DSEFSLFxuICAgIFR1aURheVJhbmdlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge3R1aURpcmVjdGl2ZUJpbmRpbmcsIHR1aVByb3ZpZGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlXaXRoVGV4dGZpZWxkLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1R1aURyb3Bkb3duQXV0b30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQgdHlwZSB7VHVpQ2FsZW5kYXJSYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLXJhbmdlJztcbmltcG9ydCB7XG4gICAgVFVJX0RBVEVfQURBUFRFUixcbiAgICBUVUlfSU5QVVRfREFURV9PUFRJT05TX05FVyxcbiAgICBUdWlJbnB1dERhdGVCYXNlLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZSc7XG5pbXBvcnQge3R1aU1hc2tpdG99IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9EQVRFX1JBTkdFX09QVElPTlN9IGZyb20gJy4vaW5wdXQtZGF0ZS1yYW5nZS5vcHRpb25zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0RGF0ZVJhbmdlXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dERhdGVSYW5nZURpcmVjdGl2ZSksXG4gICAgICAgIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tKFRVSV9JTlBVVF9EQVRFX1JBTkdFX09QVElPTlMpLFxuICAgICAgICB0dWlQcm92aWRlKFRVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXLCBUVUlfSU5QVVRfREFURV9SQU5HRV9PUFRJT05TKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aFRleHRmaWVsZCwgVHVpRHJvcGRvd25BdXRvLCBNYXNraXRvRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmUgZXh0ZW5kcyBUdWlJbnB1dERhdGVCYXNlPFR1aURheVJhbmdlPiB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJhbmdlRmlsbGVyID0gdHVpRGlyZWN0aXZlQmluZGluZyhcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgICAgICAnZmlsbGVyU2V0dGVyJyxcbiAgICAgICAgY29tcHV0ZWQoKGZpbGxlciA9IHRoaXMuZmlsbGVyKCkpID0+IGAke2ZpbGxlcn0ke1JBTkdFX1NFUEFSQVRPUl9DSEFSfSR7ZmlsbGVyfWApLFxuICAgICAgICB7fSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IG1hc2sgPSB0dWlNYXNraXRvKFxuICAgICAgICBjb21wdXRlZCgoKSA9PlxuICAgICAgICAgICAgbWFza2l0b0RhdGVSYW5nZU9wdGlvbnNHZW5lcmF0b3Ioe1xuICAgICAgICAgICAgICAgIGRhdGVTZXBhcmF0b3I6IHRoaXMuZm9ybWF0KCkuc2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIG1vZGU6IFRVSV9EQVRFX0FEQVBURVJbdGhpcy5mb3JtYXQoKS5tb2RlXSxcbiAgICAgICAgICAgICAgICBtaW46IHRoaXMubWluKCkudG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgICAgICAgICBtYXg6IHRoaXMubWF4KCkudG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgICAgICAgICBtaW5MZW5ndGg6IHRoaXMubWluTGVuZ3RoKCkgfHwge30sXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiB0aGlzLm1heExlbmd0aCgpIHx8IHt9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBtaW5MZW5ndGggPSBzaWduYWw8VHVpRGF5TGlrZSB8IG51bGw+KG51bGwpO1xuICAgIHB1YmxpYyByZWFkb25seSBtYXhMZW5ndGggPSBzaWduYWw8VHVpRGF5TGlrZSB8IG51bGw+KG51bGwpO1xuXG4gICAgQElucHV0KCdtaW5MZW5ndGgnKVxuICAgIHB1YmxpYyBzZXQgbWluTGVuZ3RoU2V0dGVyKG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5taW5MZW5ndGguc2V0KG1pbkxlbmd0aCk7XG4gICAgfVxuXG4gICAgQElucHV0KCdtYXhMZW5ndGgnKVxuICAgIHB1YmxpYyBzZXQgbWF4TGVuZ3RoU2V0dGVyKG1heExlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5tYXhMZW5ndGguc2V0KG1heExlbmd0aCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHByb2Nlc3NDYWxlbmRhcihjYWxlbmRhcjogVHVpQ2FsZW5kYXJSYW5nZSk6IHZvaWQge1xuICAgICAgICBzdXBlci5wcm9jZXNzQ2FsZW5kYXIoY2FsZW5kYXIpO1xuXG4gICAgICAgIGNhbGVuZGFyLm1pbkxlbmd0aCA9IHRoaXMubWluTGVuZ3RoKCk7XG4gICAgICAgIGNhbGVuZGFyLm1heExlbmd0aCA9IHRoaXMubWF4TGVuZ3RoKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRyb2w/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShcbiAgICAgICAgICAgIHZhbHVlLmxlbmd0aCA9PT0gREFURV9SQU5HRV9GSUxMRVJfTEVOR1RIXG4gICAgICAgICAgICAgICAgPyBUdWlEYXlSYW5nZS5ub3JtYWxpemVQYXJzZSh2YWx1ZSwgdGhpcy5mb3JtYXQoKS5tb2RlKVxuICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { TuiCalendarRange } from '@taiga-ui/kit/components/calendar-range';
2
+ import { TuiInputDateRangeDirective } from './input-date-range.directive';
3
+ export const TuiInputDateRange = [TuiInputDateRangeDirective, TuiCalendarRange];
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtcmFuZ2UvaW5wdXQtZGF0ZS1yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUV6RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLDBCQUEwQixFQUFFLGdCQUFnQixDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aUNhbGVuZGFyUmFuZ2V9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYWxlbmRhci1yYW5nZSc7XG5cbmltcG9ydCB7VHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmV9IGZyb20gJy4vaW5wdXQtZGF0ZS1yYW5nZS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgVHVpSW5wdXREYXRlUmFuZ2UgPSBbVHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmUsIFR1aUNhbGVuZGFyUmFuZ2VdIGFzIGNvbnN0O1xuIl19
@@ -0,0 +1,10 @@
1
+ import { inject } from '@angular/core';
2
+ import { TUI_IDENTITY_VALUE_TRANSFORMER } from '@taiga-ui/cdk/classes';
3
+ import { tuiCreateTokenFromFactory, tuiProvideOptions, } from '@taiga-ui/cdk/utils/miscellaneous';
4
+ import { TUI_INPUT_DATE_DEFAULT_OPTIONS_NEW, TUI_INPUT_DATE_OPTIONS_NEW, } from '@taiga-ui/kit/components/input-date';
5
+ export const TUI_INPUT_DATE_RANGE_OPTIONS = tuiCreateTokenFromFactory(() => ({
6
+ ...inject(TUI_INPUT_DATE_OPTIONS_NEW),
7
+ valueTransformer: TUI_IDENTITY_VALUE_TRANSFORMER,
8
+ }));
9
+ export const tuiInputDateRangeOptionsProvider = (options) => tuiProvideOptions(TUI_INPUT_DATE_RANGE_OPTIONS, options, TUI_INPUT_DATE_DEFAULT_OPTIONS_NEW);
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS1yYW5nZS9pbnB1dC1kYXRlLXJhbmdlLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyQyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRSxPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLGlCQUFpQixHQUNwQixNQUFNLG1DQUFtQyxDQUFDO0FBRTNDLE9BQU8sRUFDSCxrQ0FBa0MsRUFDbEMsMEJBQTBCLEdBQzdCLE1BQU0scUNBQXFDLENBQUM7QUFPN0MsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQ3JDLHlCQUF5QixDQUEyQixHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDO0lBQ3JDLGdCQUFnQixFQUFFLDhCQUE4QjtDQUNuRCxDQUFDLENBQUMsQ0FBQztBQUVSLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLENBQzVDLE9BQTBDLEVBQzNCLEVBQUUsQ0FDakIsaUJBQWlCLENBQ2IsNEJBQTRCLEVBQzVCLE9BQU8sRUFDUCxrQ0FBa0MsQ0FDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtGYWN0b3J5UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1R1aVZhbHVlVHJhbnNmb3JtZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9JREVOVElUWV9WQUxVRV9UUkFOU0ZPUk1FUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB0eXBlIHtUdWlEYXlSYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtcbiAgICB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5LFxuICAgIHR1aVByb3ZpZGVPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aUlucHV0RGF0ZU9wdGlvbnNOZXd9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlJztcbmltcG9ydCB7XG4gICAgVFVJX0lOUFVUX0RBVEVfREVGQVVMVF9PUFRJT05TX05FVyxcbiAgICBUVUlfSU5QVVRfREFURV9PUFRJT05TX05FVyxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUlucHV0RGF0ZVJhbmdlT3B0aW9uc1xuICAgIGV4dGVuZHMgT21pdDxUdWlJbnB1dERhdGVPcHRpb25zTmV3LCAndmFsdWVUcmFuc2Zvcm1lcic+IHtcbiAgICByZWFkb25seSB2YWx1ZVRyYW5zZm9ybWVyOiBUdWlWYWx1ZVRyYW5zZm9ybWVyPFR1aURheVJhbmdlIHwgbnVsbCwgYW55Pjtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9EQVRFX1JBTkdFX09QVElPTlMgPVxuICAgIHR1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnk8VHVpSW5wdXREYXRlUmFuZ2VPcHRpb25zPigoKSA9PiAoe1xuICAgICAgICAuLi5pbmplY3QoVFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVcpLFxuICAgICAgICB2YWx1ZVRyYW5zZm9ybWVyOiBUVUlfSURFTlRJVFlfVkFMVUVfVFJBTlNGT1JNRVIsXG4gICAgfSkpO1xuXG5leHBvcnQgY29uc3QgdHVpSW5wdXREYXRlUmFuZ2VPcHRpb25zUHJvdmlkZXIgPSAoXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlJbnB1dERhdGVSYW5nZU9wdGlvbnM+LFxuKTogRmFjdG9yeVByb3ZpZGVyID0+XG4gICAgdHVpUHJvdmlkZU9wdGlvbnMoXG4gICAgICAgIFRVSV9JTlBVVF9EQVRFX1JBTkdFX09QVElPTlMsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIFRVSV9JTlBVVF9EQVRFX0RFRkFVTFRfT1BUSU9OU19ORVcsXG4gICAgKTtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtaW5wdXQtZGF0ZS1yYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtcmFuZ2UvdGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtaW5wdXQtZGF0ZS1yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -41,7 +41,7 @@ class TuiInputMonthDirective extends TuiControl {
41
41
  this.open.set(this.dropdownEnabled());
42
42
  }
43
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputMonthDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
44
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputMonthDirective, isStandalone: true, selector: "input[tuiInputMonth]", host: { listeners: { "blur": "onTouched()", "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [
44
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputMonthDirective, isStandalone: true, selector: "input[tuiInputMonth]", host: { listeners: { "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [
45
45
  tuiAsControl(TuiInputMonthDirective),
46
46
  tuiValueTransformerFrom(TUI_INPUT_MONTH_OPTIONS),
47
47
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i1.TuiSelectLike }, { directive: i2.TuiDropdownAuto }], ngImport: i0 }); }
@@ -59,9 +59,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
59
59
  hostDirectives: [TuiWithTextfield, TuiSelectLike, TuiDropdownAuto],
60
60
  host: {
61
61
  '[disabled]': 'disabled()',
62
- '(blur)': 'onTouched()',
63
62
  '(input)': '$event.inputType?.includes("delete") && clear()',
64
63
  },
65
64
  }]
66
65
  }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgvaW5wdXQtbW9udGguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUNILGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsZUFBZSxHQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTlELE1BY2Esc0JBQXVCLFNBQVEsVUFBMkI7SUFkdkU7O1FBZXFCLGNBQVMsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMxQyxjQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7UUFDbEQsU0FBSSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBRXZCLFNBQUksR0FBRyx1QkFBdUIsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3hELG9CQUFlLEdBQUcsa0JBQWtCLENBQ25ELFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ3JELENBQUM7UUFFaUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUVULGVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBRVQsZ0JBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNsRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNqRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FBQztZQUVILFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztRQUVhLGFBQVEsR0FBRyxrQkFBa0IsQ0FDekMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxnQkFBZ0IsQ0FDdkMsQ0FBQztRQUVjLFdBQU0sR0FDbEIsZ0JBQWdCLEVBQW9CLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7S0FNdEY7SUFKYSxLQUFLO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDOytHQXJDUSxzQkFBc0I7bUdBQXRCLHNCQUFzQiwyTkFYcEI7WUFDUCxZQUFZLENBQUMsc0JBQXNCLENBQUM7WUFDcEMsdUJBQXVCLENBQUMsdUJBQXVCLENBQUM7U0FDbkQ7O1NBUVEsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBZGxDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFNBQVMsRUFBRTt3QkFDUCxZQUFZLHdCQUF3Qjt3QkFDcEMsdUJBQXVCLENBQUMsdUJBQXVCLENBQUM7cUJBQ25EO29CQUNELGNBQWMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUM7b0JBQ2xFLElBQUksRUFBRTt3QkFDRixZQUFZLEVBQUUsWUFBWTt3QkFDMUIsUUFBUSxFQUFFLGFBQWE7d0JBQ3ZCLFNBQVMsRUFBRSxpREFBaUQ7cUJBQy9EO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbCwgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb219IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9BTExPV19TSUdOQUxfV1JJVEVTfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7VHVpTW9udGh9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7VFVJX0lTX01PQklMRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1xuICAgIHR1aUluamVjdEF1eGlsaWFyeSxcbiAgICBUdWlTZWxlY3RMaWtlLFxuICAgIFR1aVRleHRmaWVsZERpcmVjdGl2ZSxcbiAgICB0dWlUZXh0ZmllbGRJY29uQmluZGluZyxcbiAgICBUdWlXaXRoVGV4dGZpZWxkLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIFR1aURyb3Bkb3duQXV0byxcbiAgICB0dWlEcm9wZG93bkVuYWJsZWQsXG4gICAgdHVpRHJvcGRvd25PcGVuLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpQ2FsZW5kYXJNb250aH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoJztcbmltcG9ydCB7VFVJX01PTlRIX0ZPUk1BVFRFUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9NT05USF9PUFRJT05TfSBmcm9tICcuL2lucHV0LW1vbnRoLm9wdGlvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXRNb250aF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRNb250aERpcmVjdGl2ZSksXG4gICAgICAgIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tKFRVSV9JTlBVVF9NT05USF9PUFRJT05TKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aFRleHRmaWVsZCwgVHVpU2VsZWN0TGlrZSwgVHVpRHJvcGRvd25BdXRvXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGJsdXIpJzogJ29uVG91Y2hlZCgpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnJGV2ZW50LmlucHV0VHlwZT8uaW5jbHVkZXMoXCJkZWxldGVcIikgJiYgY2xlYXIoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRNb250aERpcmVjdGl2ZSBleHRlbmRzIFR1aUNvbnRyb2w8VHVpTW9udGggfCBudWxsPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1hdHRlciA9IHRvU2lnbmFsKGluamVjdChUVUlfTU9OVEhfRk9STUFUVEVSKSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbiA9IHR1aVRleHRmaWVsZEljb25CaW5kaW5nKFRVSV9JTlBVVF9NT05USF9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd25FbmFibGVkID0gdHVpRHJvcGRvd25FbmFibGVkKFxuICAgICAgICBjb21wdXRlZCgoKSA9PiAhdGhpcy5uYXRpdmUgJiYgdGhpcy5pbnRlcmFjdGl2ZSgpKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHZhbHVlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHRoaXMuZm9ybWF0dGVyKCk/Lih0aGlzLnZhbHVlKCkpIHx8ICcnKTtcbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJJbiA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2FsZW5kYXIoKT8udmFsdWUuc2V0KHRoaXMudmFsdWUoKSk7XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyT3V0ID0gZWZmZWN0KChvbkNsZWFudXApID0+IHtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5jYWxlbmRhcigpPy5tb250aENsaWNrLnN1YnNjcmliZSgobW9udGgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UobW9udGgpO1xuICAgICAgICAgICAgdGhpcy5vcGVuLnNldChmYWxzZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG9uQ2xlYW51cCgoKSA9PiBzdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCkpO1xuICAgIH0pO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNhbGVuZGFyID0gdHVpSW5qZWN0QXV4aWxpYXJ5PFR1aUNhbGVuZGFyTW9udGg+KFxuICAgICAgICAoeCkgPT4geCBpbnN0YW5jZW9mIFR1aUNhbGVuZGFyTW9udGgsXG4gICAgKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBuYXRpdmUgPVxuICAgICAgICB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCkudHlwZSA9PT0gJ21vbnRoJyAmJiBpbmplY3QoVFVJX0lTX01PQklMRSk7XG5cbiAgICBwcm90ZWN0ZWQgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgICAgIHRoaXMub3Blbi5zZXQodGhpcy5kcm9wZG93bkVuYWJsZWQoKSk7XG4gICAgfVxufVxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgvaW5wdXQtbW9udGguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUNILGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsZUFBZSxHQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTlELE1BYWEsc0JBQXVCLFNBQVEsVUFBMkI7SUFidkU7O1FBY3FCLGNBQVMsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMxQyxjQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7UUFDbEQsU0FBSSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBRXZCLFNBQUksR0FBRyx1QkFBdUIsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3hELG9CQUFlLEdBQUcsa0JBQWtCLENBQ25ELFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ3JELENBQUM7UUFFaUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUVULGVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBRVQsZ0JBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNsRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNqRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FBQztZQUVILFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztRQUVhLGFBQVEsR0FBRyxrQkFBa0IsQ0FDekMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxnQkFBZ0IsQ0FDdkMsQ0FBQztRQUVjLFdBQU0sR0FDbEIsZ0JBQWdCLEVBQW9CLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7S0FNdEY7SUFKYSxLQUFLO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDOytHQXJDUSxzQkFBc0I7bUdBQXRCLHNCQUFzQixvTUFWcEI7WUFDUCxZQUFZLENBQUMsc0JBQXNCLENBQUM7WUFDcEMsdUJBQXVCLENBQUMsdUJBQXVCLENBQUM7U0FDbkQ7O1NBT1Esc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBYmxDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFNBQVMsRUFBRTt3QkFDUCxZQUFZLHdCQUF3Qjt3QkFDcEMsdUJBQXVCLENBQUMsdUJBQXVCLENBQUM7cUJBQ25EO29CQUNELGNBQWMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUM7b0JBQ2xFLElBQUksRUFBRTt3QkFDRixZQUFZLEVBQUUsWUFBWTt3QkFDMUIsU0FBUyxFQUFFLGlEQUFpRDtxQkFDL0Q7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHVpQXNDb250cm9sLCBUdWlDb250cm9sLCB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VFVJX0FMTE9XX1NJR05BTF9XUklURVN9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtUdWlNb250aH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7XG4gICAgdHVpSW5qZWN0QXV4aWxpYXJ5LFxuICAgIFR1aVNlbGVjdExpa2UsXG4gICAgVHVpVGV4dGZpZWxkRGlyZWN0aXZlLFxuICAgIHR1aVRleHRmaWVsZEljb25CaW5kaW5nLFxuICAgIFR1aVdpdGhUZXh0ZmllbGQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcGRvd25BdXRvLFxuICAgIHR1aURyb3Bkb3duRW5hYmxlZCxcbiAgICB0dWlEcm9wZG93bk9wZW4sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtUdWlDYWxlbmRhck1vbnRofSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItbW9udGgnO1xuaW1wb3J0IHtUVUlfTU9OVEhfRk9STUFUVEVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX01PTlRIX09QVElPTlN9IGZyb20gJy4vaW5wdXQtbW9udGgub3B0aW9ucyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dE1vbnRoXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dE1vbnRoRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb20oVFVJX0lOUFVUX01PTlRIX09QVElPTlMpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlXaXRoVGV4dGZpZWxkLCBUdWlTZWxlY3RMaWtlLCBUdWlEcm9wZG93bkF1dG9dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgICAgICcoaW5wdXQpJzogJyRldmVudC5pbnB1dFR5cGU/LmluY2x1ZGVzKFwiZGVsZXRlXCIpICYmIGNsZWFyKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TW9udGhEaXJlY3RpdmUgZXh0ZW5kcyBUdWlDb250cm9sPFR1aU1vbnRoIHwgbnVsbD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkID0gaW5qZWN0KFR1aVRleHRmaWVsZERpcmVjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtYXR0ZXIgPSB0b1NpZ25hbChpbmplY3QoVFVJX01PTlRIX0ZPUk1BVFRFUikpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlbiA9IHR1aURyb3Bkb3duT3BlbigpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb24gPSB0dWlUZXh0ZmllbGRJY29uQmluZGluZyhUVUlfSU5QVVRfTU9OVEhfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyb3Bkb3duRW5hYmxlZCA9IHR1aURyb3Bkb3duRW5hYmxlZChcbiAgICAgICAgY29tcHV0ZWQoKCkgPT4gIXRoaXMubmF0aXZlICYmIHRoaXMuaW50ZXJhY3RpdmUoKSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh0aGlzLmZvcm1hdHRlcigpPy4odGhpcy52YWx1ZSgpKSB8fCAnJyk7XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFySW4gPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICB0aGlzLmNhbGVuZGFyKCk/LnZhbHVlLnNldCh0aGlzLnZhbHVlKCkpO1xuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhck91dCA9IGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuY2FsZW5kYXIoKT8ubW9udGhDbGljay5zdWJzY3JpYmUoKG1vbnRoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKG1vbnRoKTtcbiAgICAgICAgICAgIHRoaXMub3Blbi5zZXQoZmFsc2UpO1xuICAgICAgICB9KTtcblxuICAgICAgICBvbkNsZWFudXAoKCkgPT4gc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpKTtcbiAgICB9KTtcblxuICAgIHB1YmxpYyByZWFkb25seSBjYWxlbmRhciA9IHR1aUluamVjdEF1eGlsaWFyeTxUdWlDYWxlbmRhck1vbnRoPihcbiAgICAgICAgKHgpID0+IHggaW5zdGFuY2VvZiBUdWlDYWxlbmRhck1vbnRoLFxuICAgICk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbmF0aXZlID1cbiAgICAgICAgdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpLnR5cGUgPT09ICdtb250aCcgJiYgaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuXG4gICAgcHJvdGVjdGVkIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICAgICAgICB0aGlzLm9wZW4uc2V0KHRoaXMuZHJvcGRvd25FbmFibGVkKCkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -61,7 +61,7 @@ class TuiInputMonthRangeDirective extends TuiControl {
61
61
  this.open.set(true);
62
62
  }
63
63
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputMonthRangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
64
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputMonthRangeDirective, isStandalone: true, selector: "input[tuiInputMonthRange]", host: { listeners: { "blur": "onTouched()", "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [
64
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputMonthRangeDirective, isStandalone: true, selector: "input[tuiInputMonthRange]", host: { listeners: { "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [
65
65
  tuiAsControl(TuiInputMonthRangeDirective),
66
66
  tuiValueTransformerFrom(TUI_INPUT_MONTH_RANGE_OPTIONS),
67
67
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i1.TuiSelectLike }, { directive: i2.TuiDropdownAuto }], ngImport: i0 }); }
@@ -79,9 +79,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
79
79
  hostDirectives: [TuiWithTextfield, TuiSelectLike, TuiDropdownAuto],
80
80
  host: {
81
81
  '[disabled]': 'disabled()',
82
- '(blur)': 'onTouched()',
83
82
  '(input)': '$event.inputType?.includes("delete") && clear()',
84
83
  },
85
84
  }]
86
85
  }] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGgtcmFuZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgtcmFuZ2UvaW5wdXQtbW9udGgtcmFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVFLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUNILGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsZUFBZSxHQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7O0FBRTFFLE1BY2EsMkJBQTRCLFNBQVEsVUFBZ0M7SUFkakY7O1FBZXFCLGNBQVMsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMxQyxjQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxD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QUFDLENBQUM7SUFDeEIsQ0FBQzsrR0ExRFEsMkJBQTJCO21HQUEzQiwyQkFBMkIsZ09BWHpCO1lBQ1AsWUFBWSxDQUFDLDJCQUEyQixDQUFDO1lBQ3pDLHVCQUF1QixDQUFDLDZCQUE2QixDQUFDO1NBQ3pEOztTQVFRLDJCQUEyQjs0RkFBM0IsMkJBQTJCO2tCQWR2QyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxTQUFTLEVBQUU7d0JBQ1AsWUFBWSw2QkFBNkI7d0JBQ3pDLHVCQUF1QixDQUFDLDZCQUE2QixDQUFDO3FCQUN6RDtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDO29CQUNsRSxJQUFJLEVBQUU7d0JBQ0YsWUFBWSxFQUFFLFlBQVk7d0JBQzFCLFFBQVEsRUFBRSxhQUFhO3dCQUN2QixTQUFTLEVBQUUsaURBQWlEO3FCQUMvRDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHVpQXNDb250cm9sLCBUdWlDb250cm9sLCB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VFVJX0FMTE9XX1NJR05BTF9XUklURVN9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtUdWlNb250aH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtSQU5HRV9TRVBBUkFUT1JfQ0hBUiwgVHVpTW9udGhSYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtcbiAgICB0dWlJbmplY3RBdXhpbGlhcnksXG4gICAgVHVpU2VsZWN0TGlrZSxcbiAgICBUdWlUZXh0ZmllbGREaXJlY3RpdmUsXG4gICAgdHVpVGV4dGZpZWxkSWNvbkJpbmRpbmcsXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bkF1dG8sXG4gICAgdHVpRHJvcGRvd25FbmFibGVkLFxuICAgIHR1aURyb3Bkb3duT3Blbixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aUNhbGVuZGFyTW9udGh9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYWxlbmRhci1tb250aCc7XG5pbXBvcnQge1RVSV9NT05USF9GT1JNQVRURVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfTU9OVEhfUkFOR0VfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1tb250aC1yYW5nZS5vcHRpb25zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0TW9udGhSYW5nZV0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRNb250aFJhbmdlRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb20oVFVJX0lOUFVUX01PTlRIX1JBTkdFX09QVElPTlMpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlXaXRoVGV4dGZpZWxkLCBUdWlTZWxlY3RMaWtlLCBUdWlEcm9wZG93bkF1dG9dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgICAgICcoYmx1ciknOiAnb25Ub3VjaGVkKCknLFxuICAgICAgICAnKGlucHV0KSc6ICckZXZlbnQuaW5wdXRUeXBlPy5pbmNsdWRlcyhcImRlbGV0ZVwiKSAmJiBjbGVhcigpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE1vbnRoUmFuZ2VEaXJlY3RpdmUgZXh0ZW5kcyBUdWlDb250cm9sPFR1aU1vbnRoUmFuZ2UgfCBudWxsPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1hdHRlciA9IHRvU2lnbmFsKGluamVjdChUVUlfTU9OVEhfRk9STUFUVEVSKSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnRlcm1lZGlhdGVWYWx1ZSA9IHNpZ25hbDxUdWlNb250aCB8IG51bGw+KG51bGwpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYWxlbmRhciA9IHR1aUluamVjdEF1eGlsaWFyeTxUdWlDYWxlbmRhck1vbnRoPihcbiAgICAgICAgKHgpID0+IHggaW5zdGFuY2VvZiBUdWlDYWxlbmRhck1vbnRoLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbiA9IHR1aVRleHRmaWVsZEljb25CaW5kaW5nKFRVSV9JTlBVVF9NT05USF9SQU5HRV9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd25FbmFibGVkID0gdHVpRHJvcGRvd25FbmFibGVkKHRoaXMuaW50ZXJhY3RpdmUpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHZhbHVlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMuZm9ybWF0dGVyKCkgfHwgKCgpID0+ICcnKTtcbiAgICAgICAgY29uc3Qgc3RyaW5nID0gdmFsdWVcbiAgICAgICAgICAgID8gZm9ybWF0KHZhbHVlLmZyb20pICsgUkFOR0VfU0VQQVJBVE9SX0NIQVIgKyBmb3JtYXQodmFsdWUudG8pXG4gICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldChzdHJpbmcpO1xuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhckluaXQgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBjYWxlbmRhciA9IHRoaXMuY2FsZW5kYXIoKTtcblxuICAgICAgICBpZiAoY2FsZW5kYXIpIHtcbiAgICAgICAgICAgIGNhbGVuZGFyLm9wdGlvbnMucmFuZ2VNb2RlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyU3luYyA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2FsZW5kYXIoKT8udmFsdWUuc2V0KHRoaXMuaW50ZXJtZWRpYXRlVmFsdWUoKSA/PyB0aGlzLnZhbHVlKCkpO1xuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIC8vIFRPRE86IHVzZSBsaW5rZWQgc2lnbmFsIChBbmd1bGFyIDE5KylcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVzZXRJbnRlcm1lZGlhdGVWYWx1ZSA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHRoaXMuaW50ZXJtZWRpYXRlVmFsdWUuc2V0KHRoaXMudmFsdWUoKSAmJiBudWxsKTtcbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgb25Nb250aENsaWNrRWZmZWN0ID0gZWZmZWN0KChvbkNsZWFudXApID0+IHtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5jYWxlbmRhcigpPy5tb250aENsaWNrLnN1YnNjcmliZSgobW9udGgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGludGVybWVkaWF0ZVZhbHVlID0gdGhpcy5pbnRlcm1lZGlhdGVWYWx1ZSgpO1xuXG4gICAgICAgICAgICBpZiAoIWludGVybWVkaWF0ZVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnRlcm1lZGlhdGVWYWx1ZS5zZXQobW9udGgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKFR1aU1vbnRoUmFuZ2Uuc29ydChpbnRlcm1lZGlhdGVWYWx1ZSwgbW9udGgpKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgb25DbGVhbnVwKCgpID0+IHN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKSk7XG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgICAgIHRoaXMub3Blbi5zZXQodHJ1ZSk7XG4gICAgfVxufVxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGgtcmFuZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgtcmFuZ2UvaW5wdXQtbW9udGgtcmFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVFLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUNILGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsZUFBZSxHQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7O0FBRTFFLE1BYWEsMkJBQTRCLFNBQVEsVUFBZ0M7SUFiakY7O1FBY3FCLGNBQVMsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMxQyxjQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7UUFDbEQsU0FBSSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLHNCQUFpQixHQUFHLE1BQU0sQ0FBa0IsSUFBSSxDQUFDLENBQUM7UUFFbEQsYUFBUSxHQUFHLGtCQUFrQixDQUMxQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLGdCQUFnQixDQUN2QyxDQUFDO1FBRWlCLFNBQUksR0FBRyx1QkFBdUIsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQzlELG9CQUFlLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXZELGdCQUFXLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUN6QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUMsTUFBTSxNQUFNLEdBQUcsS0FBSztnQkFDaEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlELENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFFVCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDMUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRWpDLElBQUksUUFBUSxFQUFFO2dCQUNWLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUNyQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRWdCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUMxQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUU1Qix3Q0FBd0M7UUFDckIsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNwRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNyRCxDQUFDLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUVsQix1QkFBa0IsR0FBRyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNoRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNqRSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUVuRCxJQUFJLENBQUMsaUJBQWlCLEVBQUU7b0JBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3JDO3FCQUFNO29CQUNILElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDeEI7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztLQU1OO0lBSmEsS0FBSztRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQzsrR0ExRFEsMkJBQTJCO21HQUEzQiwyQkFBMkIseU1BVnpCO1lBQ1AsWUFBWSxDQUFDLDJCQUEyQixDQUFDO1lBQ3pDLHVCQUF1QixDQUFDLDZCQUE2QixDQUFDO1NBQ3pEOztTQU9RLDJCQUEyQjs0RkFBM0IsMkJBQTJCO2tCQWJ2QyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxTQUFTLEVBQUU7d0JBQ1AsWUFBWSw2QkFBNkI7d0JBQ3pDLHVCQUF1QixDQUFDLDZCQUE2QixDQUFDO3FCQUN6RDtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDO29CQUNsRSxJQUFJLEVBQUU7d0JBQ0YsWUFBWSxFQUFFLFlBQVk7d0JBQzFCLFNBQVMsRUFBRSxpREFBaUQ7cUJBQy9EO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIFR1aUNvbnRyb2wsIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1R1aU1vbnRofSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1JBTkdFX1NFUEFSQVRPUl9DSEFSLCBUdWlNb250aFJhbmdlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1xuICAgIHR1aUluamVjdEF1eGlsaWFyeSxcbiAgICBUdWlTZWxlY3RMaWtlLFxuICAgIFR1aVRleHRmaWVsZERpcmVjdGl2ZSxcbiAgICB0dWlUZXh0ZmllbGRJY29uQmluZGluZyxcbiAgICBUdWlXaXRoVGV4dGZpZWxkLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIFR1aURyb3Bkb3duQXV0byxcbiAgICB0dWlEcm9wZG93bkVuYWJsZWQsXG4gICAgdHVpRHJvcGRvd25PcGVuLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpQ2FsZW5kYXJNb250aH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoJztcbmltcG9ydCB7VFVJX01PTlRIX0ZPUk1BVFRFUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9NT05USF9SQU5HRV9PUFRJT05TfSBmcm9tICcuL2lucHV0LW1vbnRoLXJhbmdlLm9wdGlvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXRNb250aFJhbmdlXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dE1vbnRoUmFuZ2VEaXJlY3RpdmUpLFxuICAgICAgICB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbShUVUlfSU5QVVRfTU9OVEhfUkFOR0VfT1BUSU9OUyksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aVdpdGhUZXh0ZmllbGQsIFR1aVNlbGVjdExpa2UsIFR1aURyb3Bkb3duQXV0b10sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnJGV2ZW50LmlucHV0VHlwZT8uaW5jbHVkZXMoXCJkZWxldGVcIikgJiYgY2xlYXIoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRNb250aFJhbmdlRGlyZWN0aXZlIGV4dGVuZHMgVHVpQ29udHJvbDxUdWlNb250aFJhbmdlIHwgbnVsbD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkID0gaW5qZWN0KFR1aVRleHRmaWVsZERpcmVjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtYXR0ZXIgPSB0b1NpZ25hbChpbmplY3QoVFVJX01PTlRIX0ZPUk1BVFRFUikpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlbiA9IHR1aURyb3Bkb3duT3BlbigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaW50ZXJtZWRpYXRlVmFsdWUgPSBzaWduYWw8VHVpTW9udGggfCBudWxsPihudWxsKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FsZW5kYXIgPSB0dWlJbmplY3RBdXhpbGlhcnk8VHVpQ2FsZW5kYXJNb250aD4oXG4gICAgICAgICh4KSA9PiB4IGluc3RhbmNlb2YgVHVpQ2FsZW5kYXJNb250aCxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb24gPSB0dWlUZXh0ZmllbGRJY29uQmluZGluZyhUVUlfSU5QVVRfTU9OVEhfUkFOR0VfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyb3Bkb3duRW5hYmxlZCA9IHR1aURyb3Bkb3duRW5hYmxlZCh0aGlzLmludGVyYWN0aXZlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSgpO1xuICAgICAgICBjb25zdCBmb3JtYXQgPSB0aGlzLmZvcm1hdHRlcigpIHx8ICgoKSA9PiAnJyk7XG4gICAgICAgIGNvbnN0IHN0cmluZyA9IHZhbHVlXG4gICAgICAgICAgICA/IGZvcm1hdCh2YWx1ZS5mcm9tKSArIFJBTkdFX1NFUEFSQVRPUl9DSEFSICsgZm9ybWF0KHZhbHVlLnRvKVxuICAgICAgICAgICAgOiAnJztcblxuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQoc3RyaW5nKTtcbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJJbml0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgY2FsZW5kYXIgPSB0aGlzLmNhbGVuZGFyKCk7XG5cbiAgICAgICAgaWYgKGNhbGVuZGFyKSB7XG4gICAgICAgICAgICBjYWxlbmRhci5vcHRpb25zLnJhbmdlTW9kZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhclN5bmMgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICB0aGlzLmNhbGVuZGFyKCk/LnZhbHVlLnNldCh0aGlzLmludGVybWVkaWF0ZVZhbHVlKCkgPz8gdGhpcy52YWx1ZSgpKTtcbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICAvLyBUT0RPOiB1c2UgbGlua2VkIHNpZ25hbCAoQW5ndWxhciAxOSspXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc2V0SW50ZXJtZWRpYXRlVmFsdWUgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICB0aGlzLmludGVybWVkaWF0ZVZhbHVlLnNldCh0aGlzLnZhbHVlKCkgJiYgbnVsbCk7XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgcHJvdGVjdGVkIG9uTW9udGhDbGlja0VmZmVjdCA9IGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuY2FsZW5kYXIoKT8ubW9udGhDbGljay5zdWJzY3JpYmUoKG1vbnRoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbnRlcm1lZGlhdGVWYWx1ZSA9IHRoaXMuaW50ZXJtZWRpYXRlVmFsdWUoKTtcblxuICAgICAgICAgICAgaWYgKCFpbnRlcm1lZGlhdGVWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW50ZXJtZWRpYXRlVmFsdWUuc2V0KG1vbnRoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShUdWlNb250aFJhbmdlLnNvcnQoaW50ZXJtZWRpYXRlVmFsdWUsIG1vbnRoKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuLnNldChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG9uQ2xlYW51cCgoKSA9PiBzdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCkpO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICAgICAgICB0aGlzLm9wZW4uc2V0KHRydWUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -5,7 +5,7 @@ import { maskitoInitialCalibrationPlugin } from '@maskito/core';
5
5
  import { maskitoCaretGuard, maskitoNumberOptionsGenerator, maskitoParseNumber, } from '@maskito/kit';
6
6
  import { tuiAsControl, TuiControl, tuiValueTransformerFrom } from '@taiga-ui/cdk/classes';
7
7
  import { CHAR_HYPHEN, CHAR_MINUS, TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
8
- import { TUI_IS_IOS, tuiFallbackValueProvider } from '@taiga-ui/cdk/tokens';
8
+ import { TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
9
9
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
10
10
  import { tuiIsSafeToRound } from '@taiga-ui/cdk/utils/math';
11
11
  import { TuiTextfieldDirective, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
@@ -152,7 +152,6 @@ class TuiInputNumberDirective extends TuiControl {
152
152
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputNumberDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
153
153
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputNumberDirective, isStandalone: true, selector: "input[tuiInputNumber]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"], prefixSetter: ["prefix", "prefixSetter"], postfixSetter: ["postfix", "postfixSetter"] }, host: { listeners: { "blur": "onBlur()", "focus": "onFocus()" }, properties: { "disabled": "disabled()", "attr.inputMode": "inputMode()", "attr.maxLength": "element.maxLength > 0 ? element.maxLength : defaultMaxLength()" } }, providers: [
154
154
  tuiAsControl(TuiInputNumberDirective),
155
- tuiFallbackValueProvider(null),
156
155
  tuiValueTransformerFrom(TUI_INPUT_NUMBER_OPTIONS),
157
156
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.MaskitoDirective }], ngImport: i0 }); }
158
157
  }
@@ -164,7 +163,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
164
163
  selector: 'input[tuiInputNumber]',
165
164
  providers: [
166
165
  tuiAsControl(TuiInputNumberDirective),
167
- tuiFallbackValueProvider(null),
168
166
  tuiValueTransformerFrom(TUI_INPUT_NUMBER_OPTIONS),
169
167
  ],
170
168
  hostDirectives: [TuiWithTextfield, MaskitoDirective],
@@ -189,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
189
187
  type: Input,
190
188
  args: ['postfix']
191
189
  }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzdCLGtCQUFrQixHQUNyQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekYsT0FBTyxFQUFDLFVBQVUsRUFBRSx3QkFBd0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLHlCQUF5QixFQUFFLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixD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QjtrQkFsQm5DLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFNBQVMsRUFBRTt3QkFDUCxZQUFZLHlCQUF5Qjt3QkFDckMsd0JBQXdCLENBQUMsSUFBSSxDQUFDO3dCQUM5Qix1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDcEQ7b0JBQ0QsY0FBYyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ3BELElBQUksRUFBRTt3QkFDRixZQUFZLEVBQUUsWUFBWTt3QkFDMUIsa0JBQWtCLEVBQUUsYUFBYTt3QkFDakMsa0JBQWtCLEVBQ2QsZ0VBQWdFO3dCQUNwRSxRQUFRLEVBQUUsVUFBVTt3QkFDcEIsU0FBUyxFQUFFLFdBQVc7cUJBQ3pCO2lCQUNKOzhCQXdGYyxTQUFTO3NCQURuQixLQUFLO3VCQUFDLEtBQUs7Z0JBTUQsU0FBUztzQkFEbkIsS0FBSzt1QkFBQyxLQUFLO2dCQU9ELFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsUUFBUTtnQkFPSixhQUFhO3NCQUR2QixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7TWFza2l0b09wdGlvbnN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHttYXNraXRvSW5pdGlhbENhbGlicmF0aW9uUGx1Z2lufSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB0eXBlIHtNYXNraXRvTnVtYmVyUGFyYW1zfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHtcbiAgICBtYXNraXRvQ2FyZXRHdWFyZCxcbiAgICBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcixcbiAgICBtYXNraXRvUGFyc2VOdW1iZXIsXG59IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbCwgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb219IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge0NIQVJfSFlQSEVOLCBDSEFSX01JTlVTLCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfSVNfSU9TLCB0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlJc1NhZmVUb1JvdW5kfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHtcbiAgICBUdWlUZXh0ZmllbGREaXJlY3RpdmUsXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUVUlfREVGQVVMVF9OVU1CRVJfRk9STUFULCBUVUlfTlVNQkVSX0ZPUk1BVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpRm9ybWF0TnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHt0dWlNYXNraXRvfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfTlVNQkVSX09QVElPTlN9IGZyb20gJy4vaW5wdXQtbnVtYmVyLm9wdGlvbnMnO1xuXG5jb25zdCBERUZBVUxUX01BWF9MRU5HVEggPSAxODtcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0TnVtYmVyXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dE51bWJlckRpcmVjdGl2ZSksXG4gICAgICAgIHR1aUZhbGxiYWNrVmFsdWVQcm92aWRlcihudWxsKSxcbiAgICAgICAgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb20oVFVJX0lOUFVUX05VTUJFUl9PUFRJT05TKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aFRleHRmaWVsZCwgTWFza2l0b0RpcmVjdGl2ZV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJ1thdHRyLmlucHV0TW9kZV0nOiAnaW5wdXRNb2RlKCknLFxuICAgICAgICAnW2F0dHIubWF4TGVuZ3RoXSc6XG4gICAgICAgICAgICAnZWxlbWVudC5tYXhMZW5ndGggPiAwID8gZWxlbWVudC5tYXhMZW5ndGggOiBkZWZhdWx0TWF4TGVuZ3RoKCknLFxuICAgICAgICAnKGJsdXIpJzogJ29uQmx1cigpJyxcbiAgICAgICAgJyhmb2N1cyknOiAnb25Gb2N1cygpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE51bWJlckRpcmVjdGl2ZSBleHRlbmRzIFR1aUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkID0gaW5qZWN0KFR1aVRleHRmaWVsZERpcmVjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc0lPUyA9IGluamVjdChUVUlfSVNfSU9TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG51bWJlckZvcm1hdCA9IHRvU2lnbmFsKGluamVjdChUVUlfTlVNQkVSX0ZPUk1BVCksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBUVUlfREVGQVVMVF9OVU1CRVJfRk9STUFULFxuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtYXR0ZWQgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICBtYXNraXRvUGFyc2VOdW1iZXIodGhpcy50ZXh0ZmllbGQudmFsdWUoKSwgdGhpcy5udW1iZXJGb3JtYXQoKS5kZWNpbWFsU2VwYXJhdG9yKSxcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmVjaXNpb24gPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICBOdW1iZXIuaXNOYU4odGhpcy5udW1iZXJGb3JtYXQoKS5wcmVjaXNpb24pID8gMiA6IHRoaXMubnVtYmVyRm9ybWF0KCkucHJlY2lzaW9uLFxuICAgICk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVuZmluaXNoZWQgPSBjb21wdXRlZCgodmFsdWUgPSB0aGlzLmZvcm1hdHRlZCgpKSA9PlxuICAgICAgICB2YWx1ZSA8IDAgPyB2YWx1ZSA+IHRoaXMubWF4KCkgOiB2YWx1ZSA8IHRoaXMubWluKCksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBvbkNoYW5nZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtYXR0ZWQoKTtcblxuICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShudWxsKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy51bmZpbmlzaGVkKCkgfHxcbiAgICAgICAgICAgIHZhbHVlIDwgdGhpcy5taW4oKSB8fFxuICAgICAgICAgICAgdmFsdWUgPiB0aGlzLm1heCgpIHx8XG4gICAgICAgICAgICB0aGlzLnZhbHVlKCkgPT09IHZhbHVlXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0lOUFVUX05VTUJFUl9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpbnB1dE1vZGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzSU9TICYmIHRoaXMubWluKCkgPCAwKSB7XG4gICAgICAgICAgICAvLyBpUGhvbmUgZG9lcyBub3QgaGF2ZSBtaW51cyBzaWduIGlmIGlucHV0TW9kZSBpcyBlcXVhbCB0byAnbnVtZXJpYycgLyAnZGVjaW1hbCdcbiAgICAgICAgICAgIHJldHVybiAndGV4dCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5wcmVjaXNpb24oKSA/ICdkZWNpbWFsJyA6ICdudW1lcmljJztcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0TWF4TGVuZ3RoID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7ZGVjaW1hbFNlcGFyYXRvciwgdGhvdXNhbmRTZXBhcmF0b3J9ID0gdGhpcy5udW1iZXJGb3JtYXQoKTtcbiAgICAgICAgY29uc3QgZGVjaW1hbFBhcnQgPVxuICAgICAgICAgICAgISF0aGlzLnByZWNpc2lvbigpICYmIHRoaXMudGV4dGZpZWxkLnZhbHVlKCkuaW5jbHVkZXMoZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgICAgIGNvbnN0IHByZWNpc2lvbiA9IGRlY2ltYWxQYXJ0ID8gTWF0aC5taW4odGhpcy5wcmVjaXNpb24oKSArIDEsIDIwKSA6IDA7XG4gICAgICAgIGNvbnN0IHRha2VUaG91c2FuZCA9IHRob3VzYW5kU2VwYXJhdG9yLnJlcGVhdCg1KS5sZW5ndGg7XG5cbiAgICAgICAgcmV0dXJuIERFRkFVTFRfTUFYX0xFTkdUSCArIHByZWNpc2lvbiArIHRha2VUaG91c2FuZDtcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBtYXNrID0gdHVpTWFza2l0byhcbiAgICAgICAgY29tcHV0ZWQoXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAge2RlY2ltYWxNb2RlLCAuLi5udW1iZXJGb3JtYXR9ID0gdGhpcy5udW1iZXJGb3JtYXQoKSxcbiAgICAgICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHMgPSB0aGlzLnByZWNpc2lvbigpLFxuICAgICAgICAgICAgKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuY29tcHV0ZU1hc2soe1xuICAgICAgICAgICAgICAgICAgICAuLi5udW1iZXJGb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0cyxcbiAgICAgICAgICAgICAgICAgICAgbWluOiB0aGlzLm1pbigpLFxuICAgICAgICAgICAgICAgICAgICBtYXg6IHRoaXMubWF4KCksXG4gICAgICAgICAgICAgICAgICAgIHByZWZpeDogdGhpcy5wcmVmaXgoKSxcbiAgICAgICAgICAgICAgICAgICAgcG9zdGZpeDogdGhpcy5wb3N0Zml4KCksXG4gICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWxNb2RlID09PSAnYWx3YXlzJyA/IG1heGltdW1GcmFjdGlvbkRpZ2l0cyA6IDAsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBtaW4gPSBzaWduYWwodGhpcy5vcHRpb25zLm1pbik7XG4gICAgcHVibGljIHJlYWRvbmx5IG1heCA9IHNpZ25hbCh0aGlzLm9wdGlvbnMubWF4KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJlZml4ID0gc2lnbmFsKHRoaXMub3B0aW9ucy5wcmVmaXgpO1xuICAgIHB1YmxpYyByZWFkb25seSBwb3N0Zml4ID0gc2lnbmFsKHRoaXMub3B0aW9ucy5wb3N0Zml4KTtcblxuICAgIEBJbnB1dCgnbWluJylcbiAgICBwdWJsaWMgc2V0IG1pblNldHRlcih4OiBudW1iZXIgfCBudWxsKSB7XG4gICAgICAgIHRoaXMudXBkYXRlTWluTWF4TGltaXRzKHgsIHRoaXMubWF4KCkpO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbWF4JylcbiAgICBwdWJsaWMgc2V0IG1heFNldHRlcih4OiBudW1iZXIgfCBudWxsKSB7XG4gICAgICAgIHRoaXMudXBkYXRlTWluTWF4TGltaXRzKHRoaXMubWluKCksIHgpO1xuICAgIH1cblxuICAgIC8vIFRPRE8odjUpOiByZXBsYWNlIHdpdGggc2lnbmFsIGlucHV0XG4gICAgQElucHV0KCdwcmVmaXgnKVxuICAgIHB1YmxpYyBzZXQgcHJlZml4U2V0dGVyKHg6IHN0cmluZykge1xuICAgICAgICB0aGlzLnByZWZpeC5zZXQoeCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyh2NSk6IHJlcGxhY2Ugd2l0aCBzaWduYWwgaW5wdXRcbiAgICBASW5wdXQoJ3Bvc3RmaXgnKVxuICAgIHB1YmxpYyBzZXQgcG9zdGZpeFNldHRlcih4OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5wb3N0Zml4LnNldCh4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLnZhbHVlKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodGhpcy5mb3JtYXROdW1iZXIodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25CbHVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuXG4gICAgICAgIGlmICghdGhpcy51bmZpbmlzaGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUodGhpcy52YWx1ZSgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKHRoaXMuZm9ybWF0dGVkKCkpICYmICF0aGlzLnJlYWRPbmx5KCkpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh0aGlzLnByZWZpeCgpICsgdGhpcy5wb3N0Zml4KCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlciB8IG51bGwpOiBzdHJpbmcge1xuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICh0aGlzLnByZWZpeCgpICE9PSBDSEFSX01JTlVTID8gdGhpcy5wcmVmaXgoKSA6ICcnKSArXG4gICAgICAgICAgICB0dWlGb3JtYXROdW1iZXIodmFsdWUsIHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLm51bWJlckZvcm1hdCgpLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIE51bWJlciBjYW4gc2F0aXNmeSBpbnRlcnZhbCBbTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVI7IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXVxuICAgICAgICAgICAgICAgICAqIGJ1dCBpdHMgcm91bmRpbmcgY2FuIHZpb2xhdGUgaXQuXG4gICAgICAgICAgICAgICAgICogQmVmb3JlIEJpZ0ludCBzdXBwb3J0IHRoZXJlIGlzIG5vIHBlcmZlY3Qgc29sdXRpb24g4oCTIG9ubHkgdHJhZGUgb2ZmLlxuICAgICAgICAgICAgICAgICAqIE5vIHJvdW5kaW5nIGlzIGJldHRlciB0aGFuIGxvc2UgcHJlY2lzaW9uIGFuZCBpbmNvcnJlY3QgbXV0YXRpb24gb2YgYWxyZWFkeSB2YWxpZCB2YWx1ZS5cbiAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICBwcmVjaXNpb246IHR1aUlzU2FmZVRvUm91bmQodmFsdWUsIHRoaXMucHJlY2lzaW9uKCkpXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5wcmVjaXNpb24oKVxuICAgICAgICAgICAgICAgICAgICA6IEluZmluaXR5LFxuICAgICAgICAgICAgfSkucmVwbGFjZShDSEFSX0hZUEhFTiwgQ0hBUl9NSU5VUykgK1xuICAgICAgICAgICAgdGhpcy5wb3N0Zml4KClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU1pbk1heExpbWl0cyhcbiAgICAgICAgbnVsbGFibGVNaW46IG51bWJlciB8IG51bGwsXG4gICAgICAgIG51bGxhYmxlTWF4OiBudW1iZXIgfCBudWxsLFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBtaW4gPSB0aGlzLnRyYW5zZm9ybWVyLmZyb21Db250cm9sVmFsdWUobnVsbGFibGVNaW4pID8/IHRoaXMub3B0aW9ucy5taW47XG4gICAgICAgIGNvbnN0IG1heCA9IHRoaXMudHJhbnNmb3JtZXIuZnJvbUNvbnRyb2xWYWx1ZShudWxsYWJsZU1heCkgPz8gdGhpcy5vcHRpb25zLm1heDtcblxuICAgICAgICB0aGlzLm1pbi5zZXQoTWF0aC5taW4obWluLCBtYXgpKTtcbiAgICAgICAgdGhpcy5tYXguc2V0KE1hdGgubWF4KG1pbiwgbWF4KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wdXRlTWFzayhwYXJhbXM6IE1hc2tpdG9OdW1iZXJQYXJhbXMpOiBNYXNraXRvT3B0aW9ucyB7XG4gICAgICAgIGNvbnN0IHtwcmVmaXggPSAnJywgcG9zdGZpeCA9ICcnfSA9IHBhcmFtcztcbiAgICAgICAgY29uc3Qge3BsdWdpbnMsIC4uLm9wdGlvbnN9ID0gbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3IocGFyYW1zKTtcbiAgICAgICAgY29uc3QgaW5pdGlhbENhbGlicmF0aW9uUGx1Z2luID0gbWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbihcbiAgICAgICAgICAgIG1hc2tpdG9OdW1iZXJPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgICAgICAgbWluOiBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgICAgICBtYXg6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgICAgICAgLi4ucGx1Z2lucyxcbiAgICAgICAgICAgICAgICBpbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4sXG4gICAgICAgICAgICAgICAgbWFza2l0b0NhcmV0R3VhcmQoKHZhbHVlKSA9PiBbXG4gICAgICAgICAgICAgICAgICAgIHByZWZpeC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLmxlbmd0aCAtIHBvc3RmaXgubGVuZ3RoLFxuICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzdCLGtCQUFrQixHQUNyQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLHlCQUF5QixFQUFFLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvQyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUVoRSxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztBQUU5QixNQWlCYSx1QkFBd0IsU0FBUSxVQUF5QjtJQWpCdEU7O1FBa0JxQixjQUFTLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDMUMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQixpQkFBWSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUNoRSxZQUFZLEVBQUUseUJBQXlCO1NBQzFDLENBQUMsQ0FBQztRQUVjLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ3ZDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQ25GLENBQUM7UUFFZSxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUN2QyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUNsRixDQUFDO1FBRWUsZUFBVSxHQUFHLFFBQVEsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUNoRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUN0RCxDQUFDO1FBRWlCLG1CQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUM1QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFL0IsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUVwQixPQUFPO2FBQ1Y7WUFFRCxJQUNJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2pCLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNsQixLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEtBQUssRUFDeEI7Z0JBQ0UsT0FBTzthQUNWO1lBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUVULFlBQU8sR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUMzQyxZQUFPLEdBQUcsZ0JBQWdCLEVBQW9CLENBQUM7UUFFL0MsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDekMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQzlCLGlGQUFpRjtnQkFDakYsT0FBTyxNQUFNLENBQUM7YUFDakI7WUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFFZ0IscUJBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNoRCxNQUFNLEVBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEUsTUFBTSxXQUFXLEdBQ2IsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzVFLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkUsTUFBTSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUV4RCxPQUFPLGtCQUFrQixHQUFHLFNBQVMsR0FBRyxZQUFZLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7UUFFZ0IsU0FBSSxHQUFHLFVBQVUsQ0FDaEMsUUFBUSxDQUNKLENBQ0ksRUFBQyxXQUFXLEVBQUUsR0FBRyxZQUFZLEVBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQ3BELHFCQUFxQixHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFDMUMsRUFBRSxDQUNBLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDYixHQUFHLFlBQVk7WUFDZixxQkFBcUI7WUFDckIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDZixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3JCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLHFCQUFxQixFQUNqQixXQUFXLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMzRCxDQUFDLENBQ1QsQ0FDSixDQUFDO1FBRWMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLFFBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixXQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBd0cxRDtJQXRHRyxJQUNXLFNBQVMsQ0FBQyxDQUFnQjtRQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUNXLFNBQVMsQ0FBQyxDQUFnQjtRQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsSUFDVyxZQUFZLENBQUMsQ0FBUztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLElBQ1csYUFBYSxDQUFDLENBQVM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVlLFVBQVUsQ0FBQyxLQUFvQjtRQUMzQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFUyxNQUFNO1FBQ1osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWpCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFUyxPQUFPO1FBQ2IsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDNUQ7SUFDTCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQW9CO1FBQ3JDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFFRCxPQUFPLENBQ0gsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRCxlQUFlLENBQUMsS0FBSyxFQUFFO2dCQUNuQixHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3RCOzs7OzttQkFLRztnQkFDSCxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDaEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ2xCLENBQUMsQ0FBQyxRQUFRO2FBQ2pCLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQ2pCLENBQUM7SUFDTixDQUFDO0lBRU8sa0JBQWtCLENBQ3RCLFdBQTBCLEVBQzFCLFdBQTBCO1FBRTFCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUUvRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxNQUEyQjtRQUMzQyxNQUFNLEVBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRSxPQUFPLEdBQUcsRUFBRSxFQUFDLEdBQUcsTUFBTSxDQUFDO1FBQzNDLE1BQU0sRUFBQyxPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUMsR0FBRyw2QkFBNkIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRSxNQUFNLHdCQUF3QixHQUFHLCtCQUErQixDQUM1RCw2QkFBNkIsQ0FBQztZQUMxQixHQUFHLE1BQU07WUFDVCxHQUFHLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtZQUM1QixHQUFHLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtTQUMvQixDQUFDLENBQ0wsQ0FBQztRQUVGLE9BQU87WUFDSCxHQUFHLE9BQU87WUFDVixPQUFPLEVBQUU7Z0JBQ0wsR0FBRyxPQUFPO2dCQUNWLHdCQUF3QjtnQkFDeEIsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUN6QixNQUFNLENBQUMsTUFBTTtvQkFDYixLQUFLLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNO2lCQUNoQyxDQUFDO2FBQ0w7U0FDSixDQUFDO0lBQ04sQ0FBQzsrR0EzTFEsdUJBQXVCO21HQUF2Qix1QkFBdUIsMmNBZHJCO1lBQ1AsWUFBWSxDQUFDLHVCQUF1QixDQUFDO1lBQ3JDLHVCQUF1QixDQUFDLHdCQUF3QixDQUFDO1NBQ3BEOztTQVdRLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQWpCbkMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFO3dCQUNQLFlBQVkseUJBQXlCO3dCQUNyQyx1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDcEQ7b0JBQ0QsY0FBYyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ3BELElBQUksRUFBRTt3QkFDRixZQUFZLEVBQUUsWUFBWTt3QkFDMUIsa0JBQWtCLEVBQUUsYUFBYTt3QkFDakMsa0JBQWtCLEVBQ2QsZ0VBQWdFO3dCQUNwRSxRQUFRLEVBQUUsVUFBVTt3QkFDcEIsU0FBUyxFQUFFLFdBQVc7cUJBQ3pCO2lCQUNKOzhCQXdGYyxTQUFTO3NCQURuQixLQUFLO3VCQUFDLEtBQUs7Z0JBTUQsU0FBUztzQkFEbkIsS0FBSzt1QkFBQyxLQUFLO2dCQU9ELFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsUUFBUTtnQkFPSixhQUFhO3NCQUR2QixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7TWFza2l0b09wdGlvbnN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHttYXNraXRvSW5pdGlhbENhbGlicmF0aW9uUGx1Z2lufSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB0eXBlIHtNYXNraXRvTnVtYmVyUGFyYW1zfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHtcbiAgICBtYXNraXRvQ2FyZXRHdWFyZCxcbiAgICBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcixcbiAgICBtYXNraXRvUGFyc2VOdW1iZXIsXG59IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbCwgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb219IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge0NIQVJfSFlQSEVOLCBDSEFSX01JTlVTLCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfSVNfSU9TfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpSXNTYWZlVG9Sb3VuZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7XG4gICAgVHVpVGV4dGZpZWxkRGlyZWN0aXZlLFxuICAgIFR1aVdpdGhUZXh0ZmllbGQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfTlVNQkVSX0ZPUk1BVCwgVFVJX05VTUJFUl9GT1JNQVR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUZvcm1hdE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZm9ybWF0JztcbmltcG9ydCB7dHVpTWFza2l0b30gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX05VTUJFUl9PUFRJT05TfSBmcm9tICcuL2lucHV0LW51bWJlci5vcHRpb25zJztcblxuY29uc3QgREVGQVVMVF9NQVhfTEVOR1RIID0gMTg7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dE51bWJlcl0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXROdW1iZXJEaXJlY3RpdmUpLFxuICAgICAgICB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbShUVUlfSU5QVVRfTlVNQkVSX09QVElPTlMpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlXaXRoVGV4dGZpZWxkLCBNYXNraXRvRGlyZWN0aXZlXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnW2F0dHIuaW5wdXRNb2RlXSc6ICdpbnB1dE1vZGUoKScsXG4gICAgICAgICdbYXR0ci5tYXhMZW5ndGhdJzpcbiAgICAgICAgICAgICdlbGVtZW50Lm1heExlbmd0aCA+IDAgPyBlbGVtZW50Lm1heExlbmd0aCA6IGRlZmF1bHRNYXhMZW5ndGgoKScsXG4gICAgICAgICcoYmx1ciknOiAnb25CbHVyKCknLFxuICAgICAgICAnKGZvY3VzKSc6ICdvbkZvY3VzKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TnVtYmVyRGlyZWN0aXZlIGV4dGVuZHMgVHVpQ29udHJvbDxudW1iZXIgfCBudWxsPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzSU9TID0gaW5qZWN0KFRVSV9JU19JT1MpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtYmVyRm9ybWF0ID0gdG9TaWduYWwoaW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6IFRVSV9ERUZBVUxUX05VTUJFUl9GT1JNQVQsXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1hdHRlZCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIG1hc2tpdG9QYXJzZU51bWJlcih0aGlzLnRleHRmaWVsZC52YWx1ZSgpLCB0aGlzLm51bWJlckZvcm1hdCgpLmRlY2ltYWxTZXBhcmF0b3IpLFxuICAgICk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHByZWNpc2lvbiA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIE51bWJlci5pc05hTih0aGlzLm51bWJlckZvcm1hdCgpLnByZWNpc2lvbikgPyAyIDogdGhpcy5udW1iZXJGb3JtYXQoKS5wcmVjaXNpb24sXG4gICAgKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdW5maW5pc2hlZCA9IGNvbXB1dGVkKCh2YWx1ZSA9IHRoaXMuZm9ybWF0dGVkKCkpID0+XG4gICAgICAgIHZhbHVlIDwgMCA/IHZhbHVlID4gdGhpcy5tYXgoKSA6IHZhbHVlIDwgdGhpcy5taW4oKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9uQ2hhbmdlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm1hdHRlZCgpO1xuXG4gICAgICAgIGlmIChOdW1iZXIuaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnVuZmluaXNoZWQoKSB8fFxuICAgICAgICAgICAgdmFsdWUgPCB0aGlzLm1pbigpIHx8XG4gICAgICAgICAgICB2YWx1ZSA+IHRoaXMubWF4KCkgfHxcbiAgICAgICAgICAgIHRoaXMudmFsdWUoKSA9PT0gdmFsdWVcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfTlVNQkVSX09QVElPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50ID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0TW9kZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNJT1MgJiYgdGhpcy5taW4oKSA8IDApIHtcbiAgICAgICAgICAgIC8vIGlQaG9uZSBkb2VzIG5vdCBoYXZlIG1pbnVzIHNpZ24gaWYgaW5wdXRNb2RlIGlzIGVxdWFsIHRvICdudW1lcmljJyAvICdkZWNpbWFsJ1xuICAgICAgICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnByZWNpc2lvbigpID8gJ2RlY2ltYWwnIDogJ251bWVyaWMnO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRNYXhMZW5ndGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHtkZWNpbWFsU2VwYXJhdG9yLCB0aG91c2FuZFNlcGFyYXRvcn0gPSB0aGlzLm51bWJlckZvcm1hdCgpO1xuICAgICAgICBjb25zdCBkZWNpbWFsUGFydCA9XG4gICAgICAgICAgICAhIXRoaXMucHJlY2lzaW9uKCkgJiYgdGhpcy50ZXh0ZmllbGQudmFsdWUoKS5pbmNsdWRlcyhkZWNpbWFsU2VwYXJhdG9yKTtcbiAgICAgICAgY29uc3QgcHJlY2lzaW9uID0gZGVjaW1hbFBhcnQgPyBNYXRoLm1pbih0aGlzLnByZWNpc2lvbigpICsgMSwgMjApIDogMDtcbiAgICAgICAgY29uc3QgdGFrZVRob3VzYW5kID0gdGhvdXNhbmRTZXBhcmF0b3IucmVwZWF0KDUpLmxlbmd0aDtcblxuICAgICAgICByZXR1cm4gREVGQVVMVF9NQVhfTEVOR1RIICsgcHJlY2lzaW9uICsgdGFrZVRob3VzYW5kO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2sgPSB0dWlNYXNraXRvKFxuICAgICAgICBjb21wdXRlZChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICB7ZGVjaW1hbE1vZGUsIC4uLm51bWJlckZvcm1hdH0gPSB0aGlzLm51bWJlckZvcm1hdCgpLFxuICAgICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0cyA9IHRoaXMucHJlY2lzaW9uKCksXG4gICAgICAgICAgICApID0+XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wdXRlTWFzayh7XG4gICAgICAgICAgICAgICAgICAgIC4uLm51bWJlckZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzLFxuICAgICAgICAgICAgICAgICAgICBtaW46IHRoaXMubWluKCksXG4gICAgICAgICAgICAgICAgICAgIG1heDogdGhpcy5tYXgoKSxcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiB0aGlzLnByZWZpeCgpLFxuICAgICAgICAgICAgICAgICAgICBwb3N0Zml4OiB0aGlzLnBvc3RmaXgoKSxcbiAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOlxuICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbE1vZGUgPT09ICdhbHdheXMnID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzIDogMCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbiA9IHNpZ25hbCh0aGlzLm9wdGlvbnMubWluKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWF4ID0gc2lnbmFsKHRoaXMub3B0aW9ucy5tYXgpO1xuICAgIHB1YmxpYyByZWFkb25seSBwcmVmaXggPSBzaWduYWwodGhpcy5vcHRpb25zLnByZWZpeCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHBvc3RmaXggPSBzaWduYWwodGhpcy5vcHRpb25zLnBvc3RmaXgpO1xuXG4gICAgQElucHV0KCdtaW4nKVxuICAgIHB1YmxpYyBzZXQgbWluU2V0dGVyKHg6IG51bWJlciB8IG51bGwpIHtcbiAgICAgICAgdGhpcy51cGRhdGVNaW5NYXhMaW1pdHMoeCwgdGhpcy5tYXgoKSk7XG4gICAgfVxuXG4gICAgQElucHV0KCdtYXgnKVxuICAgIHB1YmxpYyBzZXQgbWF4U2V0dGVyKHg6IG51bWJlciB8IG51bGwpIHtcbiAgICAgICAgdGhpcy51cGRhdGVNaW5NYXhMaW1pdHModGhpcy5taW4oKSwgeCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyh2NSk6IHJlcGxhY2Ugd2l0aCBzaWduYWwgaW5wdXRcbiAgICBASW5wdXQoJ3ByZWZpeCcpXG4gICAgcHVibGljIHNldCBwcmVmaXhTZXR0ZXIoeDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucHJlZml4LnNldCh4KTtcbiAgICB9XG5cbiAgICAvLyBUT0RPKHY1KTogcmVwbGFjZSB3aXRoIHNpZ25hbCBpbnB1dFxuICAgIEBJbnB1dCgncG9zdGZpeCcpXG4gICAgcHVibGljIHNldCBwb3N0Zml4U2V0dGVyKHg6IHN0cmluZykge1xuICAgICAgICB0aGlzLnBvc3RmaXguc2V0KHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnNldFZhbHVlKHRoaXMudmFsdWUoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh0aGlzLmZvcm1hdE51bWJlcih2YWx1ZSkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLnVuZmluaXNoZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLnZhbHVlKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmIChOdW1iZXIuaXNOYU4odGhpcy5mb3JtYXR0ZWQoKSkgJiYgIXRoaXMucmVhZE9ubHkoKSkge1xuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHRoaXMucHJlZml4KCkgKyB0aGlzLnBvc3RmaXgoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdE51bWJlcih2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCBOdW1iZXIuaXNOYU4odmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKHRoaXMucHJlZml4KCkgIT09IENIQVJfTUlOVVMgPyB0aGlzLnByZWZpeCgpIDogJycpICtcbiAgICAgICAgICAgIHR1aUZvcm1hdE51bWJlcih2YWx1ZSwge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMubnVtYmVyRm9ybWF0KCksXG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogTnVtYmVyIGNhbiBzYXRpc2Z5IGludGVydmFsIFtOdW1iZXIuTUlOX1NBRkVfSU5URUdFUjsgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJdXG4gICAgICAgICAgICAgICAgICogYnV0IGl0cyByb3VuZGluZyBjYW4gdmlvbGF0ZSBpdC5cbiAgICAgICAgICAgICAgICAgKiBCZWZvcmUgQmlnSW50IHN1cHBvcnQgdGhlcmUgaXMgbm8gcGVyZmVjdCBzb2x1dGlvbiDigJMgb25seSB0cmFkZSBvZmYuXG4gICAgICAgICAgICAgICAgICogTm8gcm91bmRpbmcgaXMgYmV0dGVyIHRoYW4gbG9zZSBwcmVjaXNpb24gYW5kIGluY29ycmVjdCBtdXRhdGlvbiBvZiBhbHJlYWR5IHZhbGlkIHZhbHVlLlxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIHByZWNpc2lvbjogdHVpSXNTYWZlVG9Sb3VuZCh2YWx1ZSwgdGhpcy5wcmVjaXNpb24oKSlcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnByZWNpc2lvbigpXG4gICAgICAgICAgICAgICAgICAgIDogSW5maW5pdHksXG4gICAgICAgICAgICB9KS5yZXBsYWNlKENIQVJfSFlQSEVOLCBDSEFSX01JTlVTKSArXG4gICAgICAgICAgICB0aGlzLnBvc3RmaXgoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTWluTWF4TGltaXRzKFxuICAgICAgICBudWxsYWJsZU1pbjogbnVtYmVyIHwgbnVsbCxcbiAgICAgICAgbnVsbGFibGVNYXg6IG51bWJlciB8IG51bGwsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1pbiA9IHRoaXMudHJhbnNmb3JtZXIuZnJvbUNvbnRyb2xWYWx1ZShudWxsYWJsZU1pbikgPz8gdGhpcy5vcHRpb25zLm1pbjtcbiAgICAgICAgY29uc3QgbWF4ID0gdGhpcy50cmFuc2Zvcm1lci5mcm9tQ29udHJvbFZhbHVlKG51bGxhYmxlTWF4KSA/PyB0aGlzLm9wdGlvbnMubWF4O1xuXG4gICAgICAgIHRoaXMubWluLnNldChNYXRoLm1pbihtaW4sIG1heCkpO1xuICAgICAgICB0aGlzLm1heC5zZXQoTWF0aC5tYXgobWluLCBtYXgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXB1dGVNYXNrKHBhcmFtczogTWFza2l0b051bWJlclBhcmFtcyk6IE1hc2tpdG9PcHRpb25zIHtcbiAgICAgICAgY29uc3Qge3ByZWZpeCA9ICcnLCBwb3N0Zml4ID0gJyd9ID0gcGFyYW1zO1xuICAgICAgICBjb25zdCB7cGx1Z2lucywgLi4ub3B0aW9uc30gPSBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcihwYXJhbXMpO1xuICAgICAgICBjb25zdCBpbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4gPSBtYXNraXRvSW5pdGlhbENhbGlicmF0aW9uUGx1Z2luKFxuICAgICAgICAgICAgbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3Ioe1xuICAgICAgICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICAgICAgICBtaW46IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgICAgICAgICAgICAgIG1heDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIHBsdWdpbnM6IFtcbiAgICAgICAgICAgICAgICAuLi5wbHVnaW5zLFxuICAgICAgICAgICAgICAgIGluaXRpYWxDYWxpYnJhdGlvblBsdWdpbixcbiAgICAgICAgICAgICAgICBtYXNraXRvQ2FyZXRHdWFyZCgodmFsdWUpID0+IFtcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4Lmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUubGVuZ3RoIC0gcG9zdGZpeC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==