ecabs-components 1.0.29 → 1.0.31

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 (148) hide show
  1. package/esm2022/lib/base/directives/date-mask.directive.mjs +31 -29
  2. package/esm2022/lib/base/directives/date-mask.directive.module.mjs +4 -4
  3. package/esm2022/lib/base/directives/digits-only.directive.mjs +28 -25
  4. package/esm2022/lib/base/directives/digits-only.directive.module.mjs +4 -4
  5. package/esm2022/lib/base/directives/number-border.directive.mjs +7 -3
  6. package/esm2022/lib/base/directives/number-border.directive.module.mjs +4 -4
  7. package/esm2022/lib/base/directives/tooltip-if-truncated.directive.mjs +32 -0
  8. package/esm2022/lib/base/directives/tooltip-if-truncated.directive.module.mjs +22 -0
  9. package/esm2022/lib/base/element-base.mjs +40 -35
  10. package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +12 -9
  11. package/esm2022/lib/base/element-wrapper/element-wrapper.module.mjs +6 -6
  12. package/esm2022/lib/base/hint/hint.component.mjs +6 -6
  13. package/esm2022/lib/base/hint/hint.module.mjs +4 -4
  14. package/esm2022/lib/base/validation/validation.component.mjs +10 -5
  15. package/esm2022/lib/base/validation/validation.module.mjs +4 -4
  16. package/esm2022/lib/ecabs-active-status-filter/ecabs-active-status-filter.component.mjs +6 -7
  17. package/esm2022/lib/ecabs-active-status-filter/ecabs-active-status-filter.module.mjs +4 -4
  18. package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +4 -3
  19. package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +4 -4
  20. package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +14 -13
  21. package/esm2022/lib/ecabs-buttons/ecabs-buttons.module.mjs +4 -4
  22. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +19 -13
  23. package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +6 -6
  24. package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +4 -6
  25. package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +17 -13
  26. package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +6 -6
  27. package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +4 -6
  28. package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +43 -60
  29. package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +6 -6
  30. package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +4 -6
  31. package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +27 -21
  32. package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +6 -6
  33. package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +9 -6
  34. package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +9 -6
  35. package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +4 -4
  36. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +9 -6
  37. package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +4 -4
  38. package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +6 -3
  39. package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +4 -4
  40. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +21 -12
  41. package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +4 -4
  42. package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +13 -8
  43. package/esm2022/lib/ecabs-increment/ecabs-increment.module.mjs +4 -4
  44. package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +14 -7
  45. package/esm2022/lib/ecabs-input/ecabs-input.module.mjs +4 -4
  46. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +10 -8
  47. package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +6 -6
  48. package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +6 -8
  49. package/esm2022/lib/ecabs-loading/ecabs-loading.module.mjs +4 -4
  50. package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +4 -6
  51. package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +4 -6
  52. package/esm2022/lib/ecabs-note/ecabs-note.module.mjs +4 -4
  53. package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +16 -9
  54. package/esm2022/lib/ecabs-phone/ecabs-phone.module.mjs +4 -4
  55. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +9 -6
  56. package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +4 -4
  57. package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +10 -7
  58. package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +6 -6
  59. package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +53 -35
  60. package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +19 -11
  61. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +5 -3
  62. package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +6 -6
  63. package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +12 -7
  64. package/esm2022/lib/ecabs-table/ecabs-table.module.mjs +6 -6
  65. package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +11 -8
  66. package/esm2022/lib/ecabs-textarea/ecabs-textarea.module.mjs +4 -4
  67. package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +19 -12
  68. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +27 -17
  69. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +4 -4
  70. package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +9 -11
  71. package/esm2022/lib/ecabs-validation/ecabs-validation.component.mjs +6 -3
  72. package/esm2022/lib/ecabs-validation/ecabs-validation.module.mjs +4 -4
  73. package/esm2022/lib/services/ecabs-components.service.mjs +15 -16
  74. package/esm2022/public-api.mjs +3 -1
  75. package/fesm2022/ecabs-components.mjs +705 -549
  76. package/fesm2022/ecabs-components.mjs.map +1 -1
  77. package/lib/base/directives/tooltip-if-truncated.directive.d.ts +12 -0
  78. package/lib/base/directives/tooltip-if-truncated.directive.module.d.ts +8 -0
  79. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +2 -6
  80. package/lib/ecabs-select/ecabs-select.component.d.ts +1 -0
  81. package/lib/ecabs-select/ecabs-select.module.d.ts +6 -4
  82. package/package.json +14 -6
  83. package/public-api.d.ts +2 -0
  84. package/src/assets/images/nothing-here.svg +22 -0
  85. package/{styles → src/assets/styles}/material/_theme.scss +33 -33
  86. package/{styles → src/assets/styles}/material/overrides/_button.scss +20 -15
  87. package/{styles → src/assets/styles}/material/overrides/_datepicker.scss +1 -1
  88. package/src/assets/styles/material/overrides/_icon.scss +3 -0
  89. package/{styles → src/assets/styles}/material/overrides/_table.scss +7 -1
  90. package/src/assets/styles/material/overrides/index.scss +20 -0
  91. package/{styles → src/assets/styles}/scss/modules/_datepicker.scss +6 -0
  92. package/{styles → src/assets/styles}/scss/modules/_select.scss +1 -1
  93. package/src/assets/styles/scss/utilities/index.scss +7 -0
  94. package/src/assets/styles/styles.scss +5 -0
  95. package/src/assets/styles/tailwind/index.scss +1 -0
  96. package/styles/material/overrides/_icon.scss +0 -3
  97. package/styles/material/overrides/index.scss +0 -20
  98. package/styles/scss/utilities/index.scss +0 -7
  99. package/styles/styles.scss +0 -5
  100. package/styles/tailwind/index.scss +0 -756
  101. /package/{styles → src/assets/styles}/material/overrides/_autocomplete.scss +0 -0
  102. /package/{styles → src/assets/styles}/material/overrides/_card.scss +0 -0
  103. /package/{styles → src/assets/styles}/material/overrides/_chip.scss +0 -0
  104. /package/{styles → src/assets/styles}/material/overrides/_dialog.scss +0 -0
  105. /package/{styles → src/assets/styles}/material/overrides/_divider.scss +0 -0
  106. /package/{styles → src/assets/styles}/material/overrides/_expansion.scss +0 -0
  107. /package/{styles → src/assets/styles}/material/overrides/_form.scss +0 -0
  108. /package/{styles → src/assets/styles}/material/overrides/_menu.scss +0 -0
  109. /package/{styles → src/assets/styles}/material/overrides/_paginator.scss +0 -0
  110. /package/{styles → src/assets/styles}/material/overrides/_phone.scss +0 -0
  111. /package/{styles → src/assets/styles}/material/overrides/_select.scss +0 -0
  112. /package/{styles → src/assets/styles}/material/overrides/_tab.scss +0 -0
  113. /package/{styles → src/assets/styles}/material/overrides/_toaster.scss +0 -0
  114. /package/{styles → src/assets/styles}/material/overrides/_toggle.scss +0 -0
  115. /package/{styles → src/assets/styles}/material/overrides/_toolbar.scss +0 -0
  116. /package/{styles → src/assets/styles}/material/overrides/_tooltip.scss +0 -0
  117. /package/{styles → src/assets/styles}/scss/base/_heading.scss +0 -0
  118. /package/{styles → src/assets/styles}/scss/base/_normalize.scss +0 -0
  119. /package/{styles → src/assets/styles}/scss/base/index.scss +0 -0
  120. /package/{styles → src/assets/styles}/scss/modules/_autocomplete.scss +0 -0
  121. /package/{styles → src/assets/styles}/scss/modules/_button.scss +0 -0
  122. /package/{styles → src/assets/styles}/scss/modules/_card.scss +0 -0
  123. /package/{styles → src/assets/styles}/scss/modules/_chip.scss +0 -0
  124. /package/{styles → src/assets/styles}/scss/modules/_dialog.scss +0 -0
  125. /package/{styles → src/assets/styles}/scss/modules/_divider.scss +0 -0
  126. /package/{styles → src/assets/styles}/scss/modules/_form.scss +0 -0
  127. /package/{styles → src/assets/styles}/scss/modules/_icon.scss +0 -0
  128. /package/{styles → src/assets/styles}/scss/modules/_img.scss +0 -0
  129. /package/{styles → src/assets/styles}/scss/modules/_legend.scss +0 -0
  130. /package/{styles → src/assets/styles}/scss/modules/_list.scss +0 -0
  131. /package/{styles → src/assets/styles}/scss/modules/_map.scss +0 -0
  132. /package/{styles → src/assets/styles}/scss/modules/_percentage.scss +0 -0
  133. /package/{styles → src/assets/styles}/scss/modules/_phone.scss +0 -0
  134. /package/{styles → src/assets/styles}/scss/modules/_statuses.scss +0 -0
  135. /package/{styles → src/assets/styles}/scss/modules/_tab.scss +0 -0
  136. /package/{styles → src/assets/styles}/scss/modules/_table.scss +0 -0
  137. /package/{styles → src/assets/styles}/scss/modules/_timepicker.scss +0 -0
  138. /package/{styles → src/assets/styles}/scss/modules/_toaster.scss +0 -0
  139. /package/{styles → src/assets/styles}/scss/modules/_tooltip.scss +0 -0
  140. /package/{styles → src/assets/styles}/scss/modules/drag-drop.scss +0 -0
  141. /package/{styles → src/assets/styles}/scss/modules/index.scss +0 -0
  142. /package/{styles → src/assets/styles}/scss/utilities/_colors.scss +0 -0
  143. /package/{styles → src/assets/styles}/scss/utilities/_fonts.scss +0 -0
  144. /package/{styles → src/assets/styles}/scss/utilities/_functions.scss +0 -0
  145. /package/{styles → src/assets/styles}/scss/utilities/_helpers.scss +0 -0
  146. /package/{styles → src/assets/styles}/scss/utilities/_mixins.scss +0 -0
  147. /package/{styles → src/assets/styles}/scss/utilities/_palettes.scss +0 -0
  148. /package/{styles → src/assets/styles}/scss/utilities/_variables.scss +0 -0
@@ -15,6 +15,25 @@ import * as i7 from "../base/directives/digits-only.directive";
15
15
  import * as i8 from "../base/directives/number-border.directive";
16
16
  import * as i9 from "../base/directives/date-mask.directive";
17
17
  export class EcabsDateTimePickerComponent extends ElementBaseComponent {
18
+ injector;
19
+ decimalPipe;
20
+ minDate;
21
+ maxDate;
22
+ touchUi = false;
23
+ hideSeconds = true;
24
+ cancleLabel = 'Cancel';
25
+ applyLabel = 'Apply';
26
+ selectDateLabel = 'Select date and time';
27
+ onblur = new EventEmitter();
28
+ _hours = '12';
29
+ _minutes = '00';
30
+ _seconds = '00';
31
+ _date;
32
+ _pickerValue;
33
+ val;
34
+ header = EcabsDateTimePickerHeaderComponent;
35
+ maxValueHours = 23;
36
+ maxValueMinutesSeconds = 59;
18
37
  get value() {
19
38
  return this.val;
20
39
  }
@@ -46,64 +65,26 @@ export class EcabsDateTimePickerComponent extends ElementBaseComponent {
46
65
  }
47
66
  }
48
67
  set value(val) {
49
- if (val && this.val?.getTime() !== new Date(val).getTime()) {
50
- if (!this.preventCallSetterPickerValue) {
51
- this.pickerValue = this.formatDateTime(val);
52
- }
53
- this.preventCallSetterPickerValue = false;
68
+ if (val && this.val !== new Date(val)) {
69
+ this.val = new Date(val);
70
+ this.pickerValue = this.formatDateTime(val);
71
+ this.onChange(val);
72
+ this.onTouch(val);
54
73
  }
55
74
  }
56
75
  set pickerValue(val) {
57
76
  if (val) {
58
77
  const date = parse(val.replace('_', ''), this.hideSeconds ? `dd/MM/yyyy, HH:mm` : `dd/MM/yyyy, HH:mm:ss`, new Date());
59
78
  if (isValid(date) && this._pickerValue !== val) {
60
- if (this.minDate && date < this.minDate) {
61
- this.setValues(this.minDate);
62
- this._pickerValue = val;
63
- this.preventCallSetterPickerValue = true;
64
- this.value = this.minDate;
65
- this.runTimeout = true;
66
- this.refreshPickerValue(this.minDate);
67
- return;
68
- }
69
- if (this.maxDate && date > this.maxDate) {
70
- this.setValues(this.maxDate);
71
- this._pickerValue = val;
72
- this.preventCallSetterPickerValue = true;
73
- this.value = this.maxDate;
74
- this.runTimeout = true;
75
- this.refreshPickerValue(this.maxDate);
76
- return;
77
- }
78
- this.runTimeout = false;
79
79
  this._pickerValue = val;
80
- this.preventCallSetterPickerValue = true;
81
80
  this.value = date;
82
- this.setValues(date);
83
81
  }
84
82
  }
85
83
  }
86
- constructor(injector, decimalPipe, cd) {
84
+ constructor(injector, decimalPipe) {
87
85
  super();
88
86
  this.injector = injector;
89
87
  this.decimalPipe = decimalPipe;
90
- this.cd = cd;
91
- this.touchUi = false;
92
- this.hideSeconds = true;
93
- this.cancleLabel = 'Cancel';
94
- this.applyLabel = 'Apply';
95
- this.selectDateLabel = 'Select date and time';
96
- this.onblur = new EventEmitter();
97
- this._hours = '12';
98
- this._minutes = '00';
99
- this._seconds = '00';
100
- this.header = EcabsDateTimePickerHeaderComponent;
101
- this.maxValueHours = 23;
102
- this.maxValueMinutesSeconds = 59;
103
- this.preventCallSetterPickerValue = false;
104
- this.runTimeout = false;
105
- this.onChange = () => { };
106
- this.onTouch = () => { };
107
88
  }
108
89
  ngAfterViewInit() {
109
90
  const ngControl = this.injector.get(NgControl, null);
@@ -117,6 +98,8 @@ export class EcabsDateTimePickerComponent extends ElementBaseComponent {
117
98
  }, 10);
118
99
  }
119
100
  }
101
+ onChange = () => { };
102
+ onTouch = () => { };
120
103
  writeValue(value) {
121
104
  this.value = value;
122
105
  }
@@ -132,17 +115,19 @@ export class EcabsDateTimePickerComponent extends ElementBaseComponent {
132
115
  onApply() {
133
116
  if (this._date && this._seconds && this._minutes && this._hours) {
134
117
  const date = setSeconds(setMinutes(setHours(new Date(this._date), +this._hours), +this._minutes), +this._seconds);
118
+ if (this.minDate && date < this.minDate) {
119
+ this.setValues(this.minDate);
120
+ this.value = this.minDate;
121
+ return;
122
+ }
123
+ if (this.maxDate && date > this.maxDate) {
124
+ this.setValues(this.maxDate);
125
+ this.value = this.maxDate;
126
+ return;
127
+ }
135
128
  this.value = date;
136
129
  }
137
130
  }
138
- refreshPickerValue(date) {
139
- setTimeout(() => {
140
- if (this.runTimeout) {
141
- this._pickerValue = this.formatDateTime(date);
142
- this.cd.detectChanges();
143
- }
144
- }, 3000);
145
- }
146
131
  formatDateTime(date) {
147
132
  let result = '';
148
133
  if (date && isValid(new Date(date))) {
@@ -156,22 +141,20 @@ export class EcabsDateTimePickerComponent extends ElementBaseComponent {
156
141
  return this.decimalPipe.transform(num, '2.0-0') ?? '00';
157
142
  }
158
143
  setValues(date) {
159
- this.onChange(date);
160
- this.onTouch(date);
161
144
  this._date = date;
162
145
  this.hours = date.getHours().toString();
163
146
  this.minutes = date.getMinutes().toString();
164
147
  this.seconds = date.getSeconds().toString();
165
148
  }
166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerComponent, deps: [{ token: i0.Injector }, { token: i1.DecimalPipe }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
167
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateTimePickerComponent, selector: "ecabs-date-time-picker", inputs: { minDate: "minDate", maxDate: "maxDate", touchUi: "touchUi", hideSeconds: "hideSeconds", cancleLabel: "cancleLabel", applyLabel: "applyLabel", selectDateLabel: "selectDateLabel" }, outputs: { onblur: "onblur" }, providers: [
149
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerComponent, deps: [{ token: i0.Injector }, { token: i1.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component });
150
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateTimePickerComponent, selector: "ecabs-date-time-picker", inputs: { minDate: "minDate", maxDate: "maxDate", touchUi: "touchUi", hideSeconds: "hideSeconds", cancleLabel: "cancleLabel", applyLabel: "applyLabel", selectDateLabel: "selectDateLabel" }, outputs: { onblur: "onblur" }, providers: [
168
151
  {
169
152
  provide: NG_VALUE_ACCESSOR,
170
153
  useExisting: EcabsDateTimePickerComponent,
171
154
  multi: true,
172
155
  },
173
156
  DecimalPipe,
174
- ], usesInheritance: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n class=\"fake-input\"\r\n [id]=\"_date\"\r\n [(ngModel)]=\"_date\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <mat-datepicker #picker [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\">\r\n <mat-datepicker-actions>\r\n <div class=\"actions\">\r\n <div class=\"time--inputs\">\r\n <input\r\n class=\"form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hours\"\r\n [value]=\"_hours\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hours\"\r\n />\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutes\"\r\n [(ngModel)]=\"minutes\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n\r\n <ng-container *ngIf=\"!hideSeconds\">\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"seconds\"\r\n [(ngModel)]=\"seconds\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"grid-picker-actions\">\r\n <button type=\"button\" mat-stroked-button class=\"w-full cancel-button\" color=\"primary\" matDatepickerCancel>\r\n {{ cancleLabel }}\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n mat-button\r\n class=\"w-full ml-0 apply-button\"\r\n color=\"primary\"\r\n matDatepickerApply\r\n (click)=\"onApply()\"\r\n >\r\n {{ applyLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n <input\r\n class=\"form-field__input w-full date-input\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"pickerValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n appMaskDate\r\n [isDateTimeMask]=\"true\"\r\n [considerSeconds]=\"!hideSeconds\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <button type=\"button\" mat-icon-button class=\"datepicker-toggle\" (click)=\"picker.open()\">\r\n <mat-icon>calendar_today</mat-icon>\r\n </button>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: [".time--inputs:before,.time--inputs:after{position:absolute;content:\"\"}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}.datepicker-toggle{transform:translate(-1.25rem);background-color:inherit;left:-.125rem}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0;margin:0}.date-input{margin:0rem -1.25rem 0rem -.25rem}.time--inputs{position:relative;display:flex;gap:.5rem;justify-content:center;align-items:center;margin-top:2.4rem;margin-bottom:2.4rem}.time--inputs:before,.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300)}.time--inputs:before{top:-1.6rem}.time--inputs:after{bottom:-1.6rem}.font-bold{font-weight:700}.actions{display:flex;flex-direction:column;width:100%!important;row-gap:1rem}.grid-picker-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid-picker-actions button{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i4.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { kind: "directive", type: i4.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "component", type: i5.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: i8.NumberBorderDirective, selector: "[appNumberBorder]", inputs: ["maxValue", "minValue"] }, { kind: "directive", type: i9.MaskDateDirective, selector: "[appMaskDate]", inputs: ["isDateTimeMask", "considerSeconds"] }] }); }
157
+ ], usesInheritance: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n class=\"fake-input\"\r\n [id]=\"_date\"\r\n [(ngModel)]=\"_date\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <mat-datepicker #picker [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\" class=\"datepicker-ui\">\r\n <mat-datepicker-actions>\r\n <div class=\"actions\">\r\n <div class=\"time--inputs\">\r\n <input\r\n class=\"form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hours\"\r\n [value]=\"_hours\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hours\"\r\n />\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutes\"\r\n [(ngModel)]=\"minutes\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n\r\n <ng-container *ngIf=\"!hideSeconds\">\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"seconds\"\r\n [(ngModel)]=\"seconds\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"grid-picker-actions\">\r\n <button type=\"button\" mat-stroked-button class=\"w-full cancel-button\" color=\"primary\" matDatepickerCancel>\r\n {{ cancleLabel }}\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n mat-button\r\n class=\"w-full ml-0 apply-button\"\r\n color=\"primary\"\r\n matDatepickerApply\r\n (click)=\"onApply()\"\r\n >\r\n {{ applyLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n <input\r\n class=\"form-field__input w-full date-input\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"pickerValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n appMaskDate\r\n [isDateTimeMask]=\"true\"\r\n [considerSeconds]=\"!hideSeconds\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <button type=\"button\" mat-icon-button class=\"datepicker-toggle\" (click)=\"picker.open()\">\r\n <mat-icon>calendar_today</mat-icon>\r\n </button>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: [".time--inputs:before,.time--inputs:after{position:absolute;content:\"\"}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}.datepicker-toggle{transform:translate(-1.25rem);background-color:inherit;left:-.125rem}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0;margin:0}.date-input{margin:0rem -1.25rem 0rem -.25rem}.time--inputs{position:relative;display:flex;gap:.5rem;justify-content:center;align-items:center;margin-top:2.4rem;margin-bottom:2.4rem}.time--inputs:before,.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300)}.time--inputs:before{top:-1.6rem}.time--inputs:after{bottom:-1.6rem}.font-bold{font-weight:700}.actions{display:flex;flex-direction:column;width:100%!important;row-gap:1rem}.grid-picker-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid-picker-actions button{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i4.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { kind: "directive", type: i4.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "component", type: i5.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: i8.NumberBorderDirective, selector: "[appNumberBorder]", inputs: ["maxValue", "minValue"] }, { kind: "directive", type: i9.MaskDateDirective, selector: "[appMaskDate]", inputs: ["isDateTimeMask", "considerSeconds"] }] });
175
158
  }
176
159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerComponent, decorators: [{
177
160
  type: Component,
@@ -182,8 +165,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
182
165
  multi: true,
183
166
  },
184
167
  DecimalPipe,
185
- ], template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n class=\"fake-input\"\r\n [id]=\"_date\"\r\n [(ngModel)]=\"_date\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <mat-datepicker #picker [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\">\r\n <mat-datepicker-actions>\r\n <div class=\"actions\">\r\n <div class=\"time--inputs\">\r\n <input\r\n class=\"form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hours\"\r\n [value]=\"_hours\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hours\"\r\n />\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutes\"\r\n [(ngModel)]=\"minutes\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n\r\n <ng-container *ngIf=\"!hideSeconds\">\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"seconds\"\r\n [(ngModel)]=\"seconds\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"grid-picker-actions\">\r\n <button type=\"button\" mat-stroked-button class=\"w-full cancel-button\" color=\"primary\" matDatepickerCancel>\r\n {{ cancleLabel }}\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n mat-button\r\n class=\"w-full ml-0 apply-button\"\r\n color=\"primary\"\r\n matDatepickerApply\r\n (click)=\"onApply()\"\r\n >\r\n {{ applyLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n <input\r\n class=\"form-field__input w-full date-input\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"pickerValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n appMaskDate\r\n [isDateTimeMask]=\"true\"\r\n [considerSeconds]=\"!hideSeconds\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <button type=\"button\" mat-icon-button class=\"datepicker-toggle\" (click)=\"picker.open()\">\r\n <mat-icon>calendar_today</mat-icon>\r\n </button>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: [".time--inputs:before,.time--inputs:after{position:absolute;content:\"\"}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}.datepicker-toggle{transform:translate(-1.25rem);background-color:inherit;left:-.125rem}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0;margin:0}.date-input{margin:0rem -1.25rem 0rem -.25rem}.time--inputs{position:relative;display:flex;gap:.5rem;justify-content:center;align-items:center;margin-top:2.4rem;margin-bottom:2.4rem}.time--inputs:before,.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300)}.time--inputs:before{top:-1.6rem}.time--inputs:after{bottom:-1.6rem}.font-bold{font-weight:700}.actions{display:flex;flex-direction:column;width:100%!important;row-gap:1rem}.grid-picker-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid-picker-actions button{width:100%}\n"] }]
186
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.DecimalPipe }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { minDate: [{
168
+ ], template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n class=\"fake-input\"\r\n [id]=\"_date\"\r\n [(ngModel)]=\"_date\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <mat-datepicker #picker [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\" class=\"datepicker-ui\">\r\n <mat-datepicker-actions>\r\n <div class=\"actions\">\r\n <div class=\"time--inputs\">\r\n <input\r\n class=\"form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hours\"\r\n [value]=\"_hours\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hours\"\r\n />\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutes\"\r\n [(ngModel)]=\"minutes\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n\r\n <ng-container *ngIf=\"!hideSeconds\">\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"seconds\"\r\n [(ngModel)]=\"seconds\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"grid-picker-actions\">\r\n <button type=\"button\" mat-stroked-button class=\"w-full cancel-button\" color=\"primary\" matDatepickerCancel>\r\n {{ cancleLabel }}\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n mat-button\r\n class=\"w-full ml-0 apply-button\"\r\n color=\"primary\"\r\n matDatepickerApply\r\n (click)=\"onApply()\"\r\n >\r\n {{ applyLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n <input\r\n class=\"form-field__input w-full date-input\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"pickerValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n appMaskDate\r\n [isDateTimeMask]=\"true\"\r\n [considerSeconds]=\"!hideSeconds\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <button type=\"button\" mat-icon-button class=\"datepicker-toggle\" (click)=\"picker.open()\">\r\n <mat-icon>calendar_today</mat-icon>\r\n </button>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: [".time--inputs:before,.time--inputs:after{position:absolute;content:\"\"}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}.datepicker-toggle{transform:translate(-1.25rem);background-color:inherit;left:-.125rem}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0;margin:0}.date-input{margin:0rem -1.25rem 0rem -.25rem}.time--inputs{position:relative;display:flex;gap:.5rem;justify-content:center;align-items:center;margin-top:2.4rem;margin-bottom:2.4rem}.time--inputs:before,.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300)}.time--inputs:before{top:-1.6rem}.time--inputs:after{bottom:-1.6rem}.font-bold{font-weight:700}.actions{display:flex;flex-direction:column;width:100%!important;row-gap:1rem}.grid-picker-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid-picker-actions button{width:100%}\n"] }]
169
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.DecimalPipe }]; }, propDecorators: { minDate: [{
187
170
  type: Input
188
171
  }], maxDate: [{
189
172
  type: Input
@@ -200,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
200
183
  }], onblur: [{
201
184
  type: Output
202
185
  }] } });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyL2VjYWJzLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBb0MsU0FBUyxFQUFFLFlBQVksRUFBWSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLFNBQVMsRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG9GQUFvRixDQUFDOzs7Ozs7Ozs7OztBQWV4SSxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsb0JBQW9CO0lBdUJwRSxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLE9B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Q0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QyxDQUFDOytHQTFMVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qiw4UUFUNUI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsNEJBQTRCO2dCQUN6QyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QsV0FBVztTQUNaLGlEQ2xCSCx3OUZBdUZBOzs0RkRuRWEsNEJBQTRCO2tCQWJ4QyxTQUFTOytCQUNFLHdCQUF3QixhQUd2Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLDhCQUE4Qjs0QkFDekMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0QsV0FBVztxQkFDWjt5SkFHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmb3JtYXQsIGlzVmFsaWQsIHBhcnNlLCBzZXRIb3Vycywgc2V0TWludXRlcywgc2V0U2Vjb25kcyB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEVsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlVGltZVBpY2tlckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtZGF0ZS10aW1lLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIERlY2ltYWxQaXBlLFxyXG4gIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNEYXRlVGltZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIG1pbkRhdGU6IERhdGU7XHJcbiAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZTtcclxuICBASW5wdXQoKSB0b3VjaFVpID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGlkZVNlY29uZHMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNhbmNsZUxhYmVsID0gJ0NhbmNlbCc7XHJcbiAgQElucHV0KCkgYXBwbHlMYWJlbCA9ICdBcHBseSc7XHJcbiAgQElucHV0KCkgc2VsZWN0RGF0ZUxhYmVsID0gJ1NlbGVjdCBkYXRlIGFuZCB0aW1lJztcclxuXHJcbiAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBfaG91cnMgPSAnMTInO1xyXG4gIF9taW51dGVzID0gJzAwJztcclxuICBfc2Vjb25kcyA9ICcwMCc7XHJcbiAgX2RhdGU6IERhdGU7XHJcbiAgX3BpY2tlclZhbHVlOiBzdHJpbmc7XHJcbiAgdmFsOiBEYXRlO1xyXG4gIGhlYWRlciA9IEVjYWJzRGF0ZVRpbWVQaWNrZXJIZWFkZXJDb21wb25lbnQ7XHJcbiAgbWF4VmFsdWVIb3VycyA9IDIzO1xyXG4gIG1heFZhbHVlTWludXRlc1NlY29uZHMgPSA1OTtcclxuICBwcmV2ZW50Q2FsbFNldHRlclBpY2tlclZhbHVlID0gZmFsc2U7XHJcbiAgcnVuVGltZW91dCA9IGZhbHNlO1xyXG5cclxuICBnZXQgdmFsdWUoKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBnZXQgcGlja2VyVmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9waWNrZXJWYWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBob3VycygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hvdXJzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1pbnV0ZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9taW51dGVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlY29uZHMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWNvbmRzO1xyXG4gIH1cclxuXHJcbiAgc2V0IGhvdXJzKCB2YWx1ZTogc3RyaW5nICkge1xyXG4gICAgaWYgKCB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX2hvdXJzICE9PSB2YWx1ZSApIHtcclxuICAgICAgdGhpcy5faG91cnMgPSB0aGlzLnJvdW5kTnVtYmVyKCArdmFsdWUgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCBtaW51dGVzKCB2YWx1ZTogc3RyaW5nICkge1xyXG4gICAgaWYgKCB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX21pbnV0ZXMgIT09IHZhbHVlICkge1xyXG4gICAgICB0aGlzLl9taW51dGVzID0gdGhpcy5yb3VuZE51bWJlciggK3ZhbHVlICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgc2Vjb25kcyggdmFsdWU6IHN0cmluZyApIHtcclxuICAgIGlmICggdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9zZWNvbmRzICE9PSB2YWx1ZSApIHtcclxuICAgICAgdGhpcy5fc2Vjb25kcyA9IHRoaXMucm91bmROdW1iZXIoICt2YWx1ZSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKHZhbCkge1xyXG4gICAgaWYgKHZhbCAmJiB0aGlzLnZhbD8uZ2V0VGltZSgpICE9PSBuZXcgRGF0ZSh2YWwpLmdldFRpbWUoKSkge1xyXG4gICAgICBpZiAoIXRoaXMucHJldmVudENhbGxTZXR0ZXJQaWNrZXJWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMucGlja2VyVmFsdWUgPSB0aGlzLmZvcm1hdERhdGVUaW1lKHZhbCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wcmV2ZW50Q2FsbFNldHRlclBpY2tlclZhbHVlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgcGlja2VyVmFsdWUodmFsOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IHBhcnNlKFxyXG4gICAgICAgIHZhbC5yZXBsYWNlKCdfJywgJycpLFxyXG4gICAgICAgIHRoaXMuaGlkZVNlY29uZHMgPyBgZGQvTU0veXl5eSwgSEg6bW1gIDogYGRkL01NL3l5eXksIEhIOm1tOnNzYCxcclxuICAgICAgICBuZXcgRGF0ZSgpLFxyXG4gICAgICApO1xyXG4gICAgICBpZiAoaXNWYWxpZChkYXRlKSAmJiB0aGlzLl9waWNrZXJWYWx1ZSAhPT0gdmFsKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubWluRGF0ZSAmJiBkYXRlIDwgdGhpcy5taW5EYXRlKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFZhbHVlcyh0aGlzLm1pbkRhdGUpO1xyXG4gICAgICAgICAgdGhpcy5fcGlja2VyVmFsdWUgPSB2YWw7XHJcbiAgICAgICAgICB0aGlzLnByZXZlbnRDYWxsU2V0dGVyUGlja2VyVmFsdWUgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWluRGF0ZTtcclxuICAgICAgICAgIHRoaXMucnVuVGltZW91dCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnJlZnJlc2hQaWNrZXJWYWx1ZSh0aGlzLm1pbkRhdGUpO1xyXG5cclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm1heERhdGUgJiYgZGF0ZSA+IHRoaXMubWF4RGF0ZSkge1xyXG4gICAgICAgICAgdGhpcy5zZXRWYWx1ZXModGhpcy5tYXhEYXRlKTtcclxuICAgICAgICAgIHRoaXMuX3BpY2tlclZhbHVlID0gdmFsO1xyXG4gICAgICAgICAgdGhpcy5wcmV2ZW50Q2FsbFNldHRlclBpY2tlclZhbHVlID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1heERhdGU7XHJcbiAgICAgICAgICB0aGlzLnJ1blRpbWVvdXQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoUGlja2VyVmFsdWUodGhpcy5tYXhEYXRlKTtcclxuXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJ1blRpbWVvdXQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9waWNrZXJWYWx1ZSA9IHZhbDtcclxuICAgICAgICB0aGlzLnByZXZlbnRDYWxsU2V0dGVyUGlja2VyVmFsdWUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBkYXRlO1xyXG4gICAgICAgIHRoaXMuc2V0VmFsdWVzKGRhdGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgcmVhZG9ubHkgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCBOZ0NvbnRyb2wsIG51bGwgKTtcclxuICAgIGlmICggbmdDb250cm9sICkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcblxyXG4gICAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29udHJvbERhdGUgPSAhIXRoaXMuY29udHJvbC52YWx1ZSA/IG5ldyBEYXRlKCB0aGlzLmNvbnRyb2wudmFsdWUgKSA6IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgICAgIGlmICggY29udHJvbERhdGUgKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFZhbHVlcyggY29udHJvbERhdGUgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgd3JpdGVWYWx1ZSggdmFsdWU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoIGZuOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZCggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgYmx1ckNoYW5nZSggZTogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vbmJsdXIuZW1pdCggZSApO1xyXG4gIH1cclxuXHJcbiAgb25BcHBseSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9kYXRlICYmIHRoaXMuX3NlY29uZHMgJiYgdGhpcy5fbWludXRlcyAmJiB0aGlzLl9ob3Vycykge1xyXG4gICAgICBjb25zdCBkYXRlID0gc2V0U2Vjb25kcyhzZXRNaW51dGVzKHNldEhvdXJzKG5ldyBEYXRlKHRoaXMuX2RhdGUpLCArdGhpcy5faG91cnMpLCArdGhpcy5fbWludXRlcyksICt0aGlzLl9zZWNvbmRzKTtcclxuICAgICAgdGhpcy52YWx1ZSA9IGRhdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWZyZXNoUGlja2VyVmFsdWUoZGF0ZTogRGF0ZSk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnJ1blRpbWVvdXQpIHtcclxuICAgICAgICB0aGlzLl9waWNrZXJWYWx1ZSA9IHRoaXMuZm9ybWF0RGF0ZVRpbWUoZGF0ZSk7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0sIDMwMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXREYXRlVGltZSggZGF0ZTogRGF0ZSApOiBzdHJpbmcge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG5cclxuICAgIGlmICggZGF0ZSAmJiBpc1ZhbGlkKCBuZXcgRGF0ZSggZGF0ZSApICkgKSB7XHJcbiAgICAgIHJlc3VsdCA9IHRoaXMuaGlkZVNlY29uZHNcclxuICAgICAgICA/IGZvcm1hdCggbmV3IERhdGUoIGRhdGUgKSwgYGRkL01NL3l5eXksIEhIOm1tYCApXHJcbiAgICAgICAgOiBmb3JtYXQoIG5ldyBEYXRlKCBkYXRlICksIGBkZC9NTS95eXl5LCBISDptbTpzc2AgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByb3VuZE51bWJlciggbnVtOiBudW1iZXIgKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0oIG51bSwgJzIuMC0wJyApID8/ICcwMCc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFZhbHVlcyggZGF0ZTogRGF0ZSApOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UoZGF0ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2goZGF0ZSk7XHJcbiAgICB0aGlzLl9kYXRlID0gZGF0ZTtcclxuICAgIHRoaXMuaG91cnMgPSBkYXRlLmdldEhvdXJzKCkudG9TdHJpbmcoKTtcclxuICAgIHRoaXMubWludXRlcyA9IGRhdGUuZ2V0TWludXRlcygpLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLnNlY29uZHMgPSBkYXRlLmdldFNlY29uZHMoKS50b1N0cmluZygpO1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQtLXdyYXBwZXIgdy1mdWxsXCI+XHJcbiAgICA8aW5wdXRcclxuICAgICAgY2xhc3M9XCJmYWtlLWlucHV0XCJcclxuICAgICAgW2lkXT1cIl9kYXRlXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJfZGF0ZVwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiXHJcbiAgICAgIFttaW5dPVwibWluRGF0ZVwiXHJcbiAgICAgIFttYXhdPVwibWF4RGF0ZVwiXHJcbiAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXHJcbiAgICAvPlxyXG4gICAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXIgW2NhbGVuZGFySGVhZGVyQ29tcG9uZW50XT1cImhlYWRlclwiIFt0b3VjaFVpXT1cInRvdWNoVWlcIj5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyLWFjdGlvbnM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLS1pbnB1dHNcIj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB0aW1lXCJcclxuICAgICAgICAgICAgICBhcHBEaWdpdHNPbmx5XHJcbiAgICAgICAgICAgICAgYXBwTnVtYmVyQm9yZGVyXHJcbiAgICAgICAgICAgICAgW2RpZ2l0c09ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2lkXT1cImhvdXJzXCJcclxuICAgICAgICAgICAgICBbdmFsdWVdPVwiX2hvdXJzXCJcclxuICAgICAgICAgICAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVIb3Vyc1wiXHJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJob3Vyc1wiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkXCI+Ojwvc3Bhbj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB0aW1lXCJcclxuICAgICAgICAgICAgICBbaWRdPVwibWludXRlc1wiXHJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtaW51dGVzXCJcclxuICAgICAgICAgICAgICBhcHBEaWdpdHNPbmx5XHJcbiAgICAgICAgICAgICAgYXBwTnVtYmVyQm9yZGVyXHJcbiAgICAgICAgICAgICAgW2RpZ2l0c09ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW21heFZhbHVlXT1cIm1heFZhbHVlTWludXRlc1NlY29uZHNcIlxyXG4gICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoaWRlU2Vjb25kc1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkXCI+Ojwvc3Bhbj5cclxuICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdGltZVwiXHJcbiAgICAgICAgICAgICAgICBbaWRdPVwic2Vjb25kc1wiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlY29uZHNcIlxyXG4gICAgICAgICAgICAgICAgYXBwRGlnaXRzT25seVxyXG4gICAgICAgICAgICAgICAgYXBwTnVtYmVyQm9yZGVyXHJcbiAgICAgICAgICAgICAgICBbZGlnaXRzT25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZU1pbnV0ZXNTZWNvbmRzXCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXBpY2tlci1hY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInctZnVsbCBjYW5jZWwtYnV0dG9uXCIgY29sb3I9XCJwcmltYXJ5XCIgbWF0RGF0ZXBpY2tlckNhbmNlbD5cclxuICAgICAgICAgICAgICB7eyBjYW5jbGVMYWJlbCB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICBtYXQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbWwtMCBhcHBseS1idXR0b25cIlxyXG4gICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgbWF0RGF0ZXBpY2tlckFwcGx5XHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQXBwbHkoKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgYXBwbHlMYWJlbCB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L21hdC1kYXRlcGlja2VyLWFjdGlvbnM+XHJcbiAgICA8L21hdC1kYXRlcGlja2VyPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdy1mdWxsIGRhdGUtaW5wdXRcIlxyXG4gICAgICBbaWRdPVwibmFtZVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwicGlja2VyVmFsdWVcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBhcHBNYXNrRGF0ZVxyXG4gICAgICBbaXNEYXRlVGltZU1hc2tdPVwidHJ1ZVwiXHJcbiAgICAgIFtjb25zaWRlclNlY29uZHNdPVwiIWhpZGVTZWNvbmRzXCJcclxuICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgIC8+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJkYXRlcGlja2VyLXRvZ2dsZVwiIChjbGljayk9XCJwaWNrZXIub3BlbigpXCI+XHJcbiAgICAgIDxtYXQtaWNvbj5jYWxlbmRhcl90b2RheTwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9hcHAtZWxlbWVudC13cmFwcGVyPlxyXG4iXX0=
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyL2VjYWJzLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBWSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLFNBQVMsRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG9GQUFvRixDQUFDOzs7Ozs7Ozs7OztBQWV4SSxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsb0JBQW9CO0lBa0Z0QztJQUFxQztJQWpGMUQsT0FBTyxDQUFPO0lBQ2QsT0FBTyxDQUFPO0lBQ2QsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQ25CLFdBQVcsR0FBRyxRQUFRLENBQUM7SUFDdkIsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUNyQixlQUFlLEdBQUcsc0JBQXNCLENBQUM7SUFFeEMs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bXBvcnQgeyBEZWNpbWFsUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmb3JtYXQsIGlzVmFsaWQsIHBhcnNlLCBzZXRIb3Vycywgc2V0TWludXRlcywgc2V0U2Vjb25kcyB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEVsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlVGltZVBpY2tlckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtZGF0ZS10aW1lLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIERlY2ltYWxQaXBlLFxyXG4gIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNEYXRlVGltZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIG1pbkRhdGU6IERhdGU7XHJcbiAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZTtcclxuICBASW5wdXQoKSB0b3VjaFVpID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGlkZVNlY29uZHMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNhbmNsZUxhYmVsID0gJ0NhbmNlbCc7XHJcbiAgQElucHV0KCkgYXBwbHlMYWJlbCA9ICdBcHBseSc7XHJcbiAgQElucHV0KCkgc2VsZWN0RGF0ZUxhYmVsID0gJ1NlbGVjdCBkYXRlIGFuZCB0aW1lJztcclxuXHJcbiAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBfaG91cnMgPSAnMTInO1xyXG4gIF9taW51dGVzID0gJzAwJztcclxuICBfc2Vjb25kcyA9ICcwMCc7XHJcbiAgX2RhdGU6IERhdGU7XHJcbiAgX3BpY2tlclZhbHVlOiBzdHJpbmc7XHJcbiAgdmFsOiBEYXRlO1xyXG4gIGhlYWRlciA9IEVjYWJzRGF0ZVRpbWVQaWNrZXJIZWFkZXJDb21wb25lbnQ7XHJcbiAgbWF4VmFsdWVIb3VycyA9IDIzO1xyXG4gIG1heFZhbHVlTWludXRlc1NlY29uZHMgPSA1OTtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IERhdGUge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBpY2tlclZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGlja2VyVmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXQgaG91cnMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9ob3VycztcclxuICB9XHJcblxyXG4gIGdldCBtaW51dGVzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWludXRlcztcclxuICB9XHJcblxyXG4gIGdldCBzZWNvbmRzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2Vjb25kcztcclxuICB9XHJcblxyXG4gIHNldCBob3VycyggdmFsdWU6IHN0cmluZyApIHtcclxuICAgIGlmICggdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9ob3VycyAhPT0gdmFsdWUgKSB7XHJcbiAgICAgIHRoaXMuX2hvdXJzID0gdGhpcy5yb3VuZE51bWJlciggK3ZhbHVlICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgbWludXRlcyggdmFsdWU6IHN0cmluZyApIHtcclxuICAgIGlmICggdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9taW51dGVzICE9PSB2YWx1ZSApIHtcclxuICAgICAgdGhpcy5fbWludXRlcyA9IHRoaXMucm91bmROdW1iZXIoICt2YWx1ZSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0IHNlY29uZHMoIHZhbHVlOiBzdHJpbmcgKSB7XHJcbiAgICBpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fc2Vjb25kcyAhPT0gdmFsdWUgKSB7XHJcbiAgICAgIHRoaXMuX3NlY29uZHMgPSB0aGlzLnJvdW5kTnVtYmVyKCArdmFsdWUgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSggdmFsICkge1xyXG4gICAgaWYgKCB2YWwgJiYgdGhpcy52YWwgIT09IG5ldyBEYXRlKCB2YWwgKSApIHtcclxuICAgICAgdGhpcy52YWwgPSBuZXcgRGF0ZSggdmFsICk7XHJcbiAgICAgIHRoaXMucGlja2VyVmFsdWUgPSB0aGlzLmZvcm1hdERhdGVUaW1lKCB2YWwgKTtcclxuICAgICAgdGhpcy5vbkNoYW5nZSggdmFsICk7XHJcbiAgICAgIHRoaXMub25Ub3VjaCggdmFsICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgcGlja2VyVmFsdWUoIHZhbDogc3RyaW5nICkge1xyXG4gICAgaWYgKCB2YWwgKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBwYXJzZShcclxuICAgICAgICB2YWwucmVwbGFjZSggJ18nLCAnJyApLFxyXG4gICAgICAgIHRoaXMuaGlkZVNlY29uZHMgPyBgZGQvTU0veXl5eSwgSEg6bW1gIDogYGRkL01NL3l5eXksIEhIOm1tOnNzYCxcclxuICAgICAgICBuZXcgRGF0ZSgpXHJcbiAgICAgICk7XHJcbiAgICAgIGlmICggaXNWYWxpZCggZGF0ZSApICYmIHRoaXMuX3BpY2tlclZhbHVlICE9PSB2YWwgKSB7XHJcbiAgICAgICAgdGhpcy5fcGlja2VyVmFsdWUgPSB2YWw7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSByZWFkb25seSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldCggTmdDb250cm9sLCBudWxsICk7XHJcbiAgICBpZiAoIG5nQ29udHJvbCApIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG5cclxuICAgICAgc2V0VGltZW91dCggKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xEYXRlID0gISF0aGlzLmNvbnRyb2wudmFsdWUgPyBuZXcgRGF0ZSggdGhpcy5jb250cm9sLnZhbHVlICkgOiBuZXcgRGF0ZSgpO1xyXG5cclxuICAgICAgICBpZiAoIGNvbnRyb2xEYXRlICkge1xyXG4gICAgICAgICAgdGhpcy5zZXRWYWx1ZXMoIGNvbnRyb2xEYXRlICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAxMCApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7IH07XHJcblxyXG4gIHdyaXRlVmFsdWUoIHZhbHVlOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKCBmbjogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoIGZuOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICB9XHJcblxyXG4gIGJsdXJDaGFuZ2UoIGU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25ibHVyLmVtaXQoIGUgKTtcclxuICB9XHJcblxyXG4gIG9uQXBwbHkoKTogdm9pZCB7XHJcbiAgICBpZiAoIHRoaXMuX2RhdGUgJiYgdGhpcy5fc2Vjb25kcyAmJiB0aGlzLl9taW51dGVzICYmIHRoaXMuX2hvdXJzICkge1xyXG4gICAgICBjb25zdCBkYXRlID0gc2V0U2Vjb25kcyggc2V0TWludXRlcyggc2V0SG91cnMoIG5ldyBEYXRlKCB0aGlzLl9kYXRlICksICt0aGlzLl9ob3VycyApLCArdGhpcy5fbWludXRlcyApLCArdGhpcy5fc2Vjb25kcyApO1xyXG5cclxuICAgICAgaWYgKCB0aGlzLm1pbkRhdGUgJiYgZGF0ZSA8IHRoaXMubWluRGF0ZSApIHtcclxuICAgICAgICB0aGlzLnNldFZhbHVlcyggdGhpcy5taW5EYXRlICk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWluRGF0ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIHRoaXMubWF4RGF0ZSAmJiBkYXRlID4gdGhpcy5tYXhEYXRlICkge1xyXG4gICAgICAgIHRoaXMuc2V0VmFsdWVzKCB0aGlzLm1heERhdGUgKTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXhEYXRlO1xyXG5cclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudmFsdWUgPSBkYXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXREYXRlVGltZSggZGF0ZTogRGF0ZSApOiBzdHJpbmcge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG5cclxuICAgIGlmICggZGF0ZSAmJiBpc1ZhbGlkKCBuZXcgRGF0ZSggZGF0ZSApICkgKSB7XHJcbiAgICAgIHJlc3VsdCA9IHRoaXMuaGlkZVNlY29uZHNcclxuICAgICAgICA/IGZvcm1hdCggbmV3IERhdGUoIGRhdGUgKSwgYGRkL01NL3l5eXksIEhIOm1tYCApXHJcbiAgICAgICAgOiBmb3JtYXQoIG5ldyBEYXRlKCBkYXRlICksIGBkZC9NTS95eXl5LCBISDptbTpzc2AgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByb3VuZE51bWJlciggbnVtOiBudW1iZXIgKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0oIG51bSwgJzIuMC0wJyApID8/ICcwMCc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFZhbHVlcyggZGF0ZTogRGF0ZSApOiB2b2lkIHtcclxuICAgIHRoaXMuX2RhdGUgPSBkYXRlO1xyXG4gICAgdGhpcy5ob3VycyA9IGRhdGUuZ2V0SG91cnMoKS50b1N0cmluZygpO1xyXG4gICAgdGhpcy5taW51dGVzID0gZGF0ZS5nZXRNaW51dGVzKCkudG9TdHJpbmcoKTtcclxuICAgIHRoaXMuc2Vjb25kcyA9IGRhdGUuZ2V0U2Vjb25kcygpLnRvU3RyaW5nKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0td3JhcHBlciB3LWZ1bGxcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImZha2UtaW5wdXRcIlxyXG4gICAgICBbaWRdPVwiX2RhdGVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cIl9kYXRlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcclxuICAgICAgW21pbl09XCJtaW5EYXRlXCJcclxuICAgICAgW21heF09XCJtYXhEYXRlXCJcclxuICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgIC8+XHJcbiAgICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlciBbY2FsZW5kYXJIZWFkZXJDb21wb25lbnRdPVwiaGVhZGVyXCIgW3RvdWNoVWldPVwidG91Y2hVaVwiIGNsYXNzPVwiZGF0ZXBpY2tlci11aVwiPlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtLWlucHV0c1wiPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICBbZGlnaXRzT25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbaWRdPVwiaG91cnNcIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJfaG91cnNcIlxyXG4gICAgICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZUhvdXJzXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImhvdXJzXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj46PC9zcGFuPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgIFtpZF09XCJtaW51dGVzXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1pbnV0ZXNcIlxyXG4gICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICBbZGlnaXRzT25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVNaW51dGVzU2Vjb25kc1wiXHJcbiAgICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVTZWNvbmRzXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj46PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB0aW1lXCJcclxuICAgICAgICAgICAgICAgIFtpZF09XCJzZWNvbmRzXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2Vjb25kc1wiXHJcbiAgICAgICAgICAgICAgICBhcHBEaWdpdHNPbmx5XHJcbiAgICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW21heFZhbHVlXT1cIm1heFZhbHVlTWludXRlc1NlY29uZHNcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtcGlja2VyLWFjdGlvbnNcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidy1mdWxsIGNhbmNlbC1idXR0b25cIiBjb2xvcj1cInByaW1hcnlcIiBtYXREYXRlcGlja2VyQ2FuY2VsPlxyXG4gICAgICAgICAgICAgIHt7IGNhbmNsZUxhYmVsIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBtbC0wIGFwcGx5LWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICBtYXREYXRlcGlja2VyQXBwbHlcclxuICAgICAgICAgICAgICAoY2xpY2spPVwib25BcHBseSgpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7IGFwcGx5TGFiZWwgfX1cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9tYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxyXG4gICAgPC9tYXQtZGF0ZXBpY2tlcj5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHctZnVsbCBkYXRlLWlucHV0XCJcclxuICAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInBpY2tlclZhbHVlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgYXBwTWFza0RhdGVcclxuICAgICAgW2lzRGF0ZVRpbWVNYXNrXT1cInRydWVcIlxyXG4gICAgICBbY29uc2lkZXJTZWNvbmRzXT1cIiFoaWRlU2Vjb25kc1wiXHJcbiAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXHJcbiAgICAvPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiZGF0ZXBpY2tlci10b2dnbGVcIiAoY2xpY2spPVwicGlja2VyLm9wZW4oKVwiPlxyXG4gICAgICA8bWF0LWljb24+Y2FsZW5kYXJfdG9kYXk8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvYXBwLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
@@ -14,8 +14,8 @@ import { EcabsDateTimePickerComponent } from './ecabs-date-time-picker.component
14
14
  import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button';
15
15
  import * as i0 from "@angular/core";
16
16
  export class EcabsDatetimePickerModule {
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimePickerModule, declarations: [EcabsDateTimePickerComponent, EcabsDateTimePickerHeaderComponent], imports: [CommonModule,
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimePickerModule, declarations: [EcabsDateTimePickerComponent, EcabsDateTimePickerHeaderComponent], imports: [CommonModule,
19
19
  ElementWrapperModule,
20
20
  MatIconModule,
21
21
  MatDatepickerModule,
@@ -26,8 +26,8 @@ export class EcabsDatetimePickerModule {
26
26
  EcabsButtonsModule,
27
27
  DigitsOnlyDirectivesModule,
28
28
  NumberBorderDirectiveModule,
29
- MaskDateDirectiveModule], exports: [EcabsDateTimePickerComponent, EcabsDateTimePickerHeaderComponent] }); }
30
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimePickerModule, imports: [CommonModule,
29
+ MaskDateDirectiveModule], exports: [EcabsDateTimePickerComponent, EcabsDateTimePickerHeaderComponent] });
30
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimePickerModule, imports: [CommonModule,
31
31
  ElementWrapperModule,
32
32
  MatIconModule,
33
33
  MatDatepickerModule,
@@ -38,7 +38,7 @@ export class EcabsDatetimePickerModule {
38
38
  EcabsButtonsModule,
39
39
  DigitsOnlyDirectivesModule,
40
40
  NumberBorderDirectiveModule,
41
- MaskDateDirectiveModule] }); }
41
+ MaskDateDirectiveModule] });
42
42
  }
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimePickerModule, decorators: [{
44
44
  type: NgModule,
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
61
61
  exports: [EcabsDateTimePickerComponent, EcabsDateTimePickerHeaderComponent],
62
62
  }]
63
63
  }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzFGLE9BQU8sRUFDTCxrQ0FBa0MsRUFDbkMsTUFBTSxvRkFBb0YsQ0FBQztBQUM1RixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRixPQUFPLEVBQUMscUJBQXFCLElBQUksZUFBZSxFQUFDLE1BQU0saUNBQWlDLENBQUM7O0FBcUJ6RixNQUFNLE9BQU8seUJBQXlCOytHQUF6Qix5QkFBeUI7Z0hBQXpCLHlCQUF5QixpQkFqQnJCLDRCQUE0QixFQUFFLGtDQUFrQyxhQUU3RSxZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtZQUNsQiwwQkFBMEI7WUFDMUIsMkJBQTJCO1lBQzNCLHVCQUF1QixhQUVmLDRCQUE0QixFQUFFLGtDQUFrQztnSEFFL0QseUJBQXlCLFlBZmxDLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsV0FBVztZQUNYLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsdUJBQXVCOzs0RkFJZCx5QkFBeUI7a0JBbEJyQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDRCQUE0QixFQUFFLGtDQUFrQyxDQUFDO29CQUNoRixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNEJBQTRCLEVBQUUsa0NBQWtDLENBQUM7aUJBQzVFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7TWF0RGF0ZXBpY2tlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7TWFza0RhdGVEaXJlY3RpdmVNb2R1bGV9IGZyb20gJy4uL2Jhc2UvZGlyZWN0aXZlcy9kYXRlLW1hc2suZGlyZWN0aXZlLm1vZHVsZSc7XHJcbmltcG9ydCB7RGlnaXRzT25seURpcmVjdGl2ZXNNb2R1bGV9IGZyb20gJy4uL2Jhc2UvZGlyZWN0aXZlcy9kaWdpdHMtb25seS5kaXJlY3RpdmUubW9kdWxlJztcclxuaW1wb3J0IHtOdW1iZXJCb3JkZXJEaXJlY3RpdmVNb2R1bGV9IGZyb20gJy4uL2Jhc2UvZGlyZWN0aXZlcy9udW1iZXItYm9yZGVyLmRpcmVjdGl2ZS5tb2R1bGUnO1xyXG5pbXBvcnQge0VsZW1lbnRXcmFwcGVyTW9kdWxlfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIubW9kdWxlJztcclxuaW1wb3J0IHtFY2Fic0J1dHRvbnNNb2R1bGV9IGZyb20gJy4uL2VjYWJzLWJ1dHRvbnMvZWNhYnMtYnV0dG9ucy5tb2R1bGUnO1xyXG5pbXBvcnQge0VjYWJzUGlja2VySGVhZGVyTW9kdWxlfSBmcm9tICcuLi9lY2Ficy1waWNrZXItaGVhZGVyL2VjYWJzLXBpY2tlci1oZWFkZXIubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBFY2Fic0RhdGVUaW1lUGlja2VySGVhZGVyQ29tcG9uZW50XHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL2VjYWJzLWRhdGUtdGltZS1waWNrZXItaGVhZGVyL2VjYWJzLWRhdGUtdGltZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RWNhYnNEYXRlVGltZVBpY2tlckNvbXBvbmVudH0gZnJvbSAnLi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TWF0TGVnYWN5QnV0dG9uTW9kdWxlIGFzIE1hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWJ1dHRvbic7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtFY2Fic0RhdGVUaW1lUGlja2VyQ29tcG9uZW50LCBFY2Fic0RhdGVUaW1lUGlja2VySGVhZGVyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBFbGVtZW50V3JhcHBlck1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRWNhYnNQaWNrZXJIZWFkZXJNb2R1bGUsXHJcbiAgICBFY2Fic0J1dHRvbnNNb2R1bGUsXHJcbiAgICBEaWdpdHNPbmx5RGlyZWN0aXZlc01vZHVsZSxcclxuICAgIE51bWJlckJvcmRlckRpcmVjdGl2ZU1vZHVsZSxcclxuICAgIE1hc2tEYXRlRGlyZWN0aXZlTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbRWNhYnNEYXRlVGltZVBpY2tlckNvbXBvbmVudCwgRWNhYnNEYXRlVGltZVBpY2tlckhlYWRlckNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0RhdGV0aW1lUGlja2VyTW9kdWxlIHtcclxufVxyXG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzFGLE9BQU8sRUFDTCxrQ0FBa0MsRUFDbkMsTUFBTSxvRkFBb0YsQ0FBQztBQUM1RixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRixPQUFPLEVBQUMscUJBQXFCLElBQUksZUFBZSxFQUFDLE1BQU0saUNBQWlDLENBQUM7O0FBcUJ6RixNQUFNLE9BQU8seUJBQXlCO3dHQUF6Qix5QkFBeUI7eUdBQXpCLHlCQUF5QixpQkFqQnJCLDRCQUE0QixFQUFFLGtDQUFrQyxhQUU3RSxZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtZQUNsQiwwQkFBMEI7WUFDMUIsMkJBQTJCO1lBQzNCLHVCQUF1QixhQUVmLDRCQUE0QixFQUFFLGtDQUFrQzt5R0FFL0QseUJBQXlCLFlBZmxDLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsV0FBVztZQUNYLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsdUJBQXVCOzs0RkFJZCx5QkFBeUI7a0JBbEJyQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDRCQUE0QixFQUFFLGtDQUFrQyxDQUFDO29CQUNoRixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNEJBQTRCLEVBQUUsa0NBQWtDLENBQUM7aUJBQzVFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7TWF0RGF0ZXBpY2tlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7TWFza0RhdGVEaXJlY3RpdmVNb2R1bGV9IGZyb20gJy4uL2Jhc2UvZGlyZWN0aXZlcy9kYXRlLW1hc2suZGlyZWN0aXZlLm1vZHVsZSc7XHJcbmltcG9ydCB7RGlnaXRzT25seURpcmVjdGl2ZXNNb2R1bGV9IGZyb20gJy4uL2Jhc2UvZGlyZWN0aXZlcy9kaWdpdHMtb25seS5kaXJlY3RpdmUubW9kdWxlJztcclxuaW1wb3J0IHtOdW1iZXJCb3JkZXJEaXJlY3RpdmVNb2R1bGV9IGZyb20gJy4uL2Jhc2UvZGlyZWN0aXZlcy9udW1iZXItYm9yZGVyLmRpcmVjdGl2ZS5tb2R1bGUnO1xyXG5pbXBvcnQge0VsZW1lbnRXcmFwcGVyTW9kdWxlfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIubW9kdWxlJztcclxuaW1wb3J0IHtFY2Fic0J1dHRvbnNNb2R1bGV9IGZyb20gJy4uL2VjYWJzLWJ1dHRvbnMvZWNhYnMtYnV0dG9ucy5tb2R1bGUnO1xyXG5pbXBvcnQge0VjYWJzUGlja2VySGVhZGVyTW9kdWxlfSBmcm9tICcuLi9lY2Ficy1waWNrZXItaGVhZGVyL2VjYWJzLXBpY2tlci1oZWFkZXIubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBFY2Fic0RhdGVUaW1lUGlja2VySGVhZGVyQ29tcG9uZW50XHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL2VjYWJzLWRhdGUtdGltZS1waWNrZXItaGVhZGVyL2VjYWJzLWRhdGUtdGltZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RWNhYnNEYXRlVGltZVBpY2tlckNvbXBvbmVudH0gZnJvbSAnLi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TWF0TGVnYWN5QnV0dG9uTW9kdWxlIGFzIE1hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWJ1dHRvbic7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtFY2Fic0RhdGVUaW1lUGlja2VyQ29tcG9uZW50LCBFY2Fic0RhdGVUaW1lUGlja2VySGVhZGVyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBFbGVtZW50V3JhcHBlck1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRWNhYnNQaWNrZXJIZWFkZXJNb2R1bGUsXHJcbiAgICBFY2Fic0J1dHRvbnNNb2R1bGUsXHJcbiAgICBEaWdpdHNPbmx5RGlyZWN0aXZlc01vZHVsZSxcclxuICAgIE51bWJlckJvcmRlckRpcmVjdGl2ZU1vZHVsZSxcclxuICAgIE1hc2tEYXRlRGlyZWN0aXZlTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbRWNhYnNEYXRlVGltZVBpY2tlckNvbXBvbmVudCwgRWNhYnNEYXRlVGltZVBpY2tlckhlYWRlckNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0RhdGV0aW1lUGlja2VyTW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -2,11 +2,9 @@ import { Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../../ecabs-picker-header/ecabs-picker-header.component";
4
4
  export class EcabsDateTimeRangePickerHeaderComponent {
5
- constructor() {
6
- this.headerLabel = 'Applicable times';
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimeRangePickerHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateTimeRangePickerHeaderComponent, selector: "ecabs-date-time-range-picker-header", inputs: { headerLabel: "headerLabel" }, ngImport: i0, template: "<div class=\"select-date-label text-xl font-semibold\">\r\n {{ headerLabel }}\r\n </div>\r\n <ecabs-picker-header ></ecabs-picker-header>\r\n", styles: [":host ::ng-deep ecabs-picker-header{display:none!important}\n"], dependencies: [{ kind: "component", type: i1.EcabsPickerHeaderComponent, selector: "ecabs-picker-header" }] }); }
5
+ headerLabel = 'Applicable times';
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimeRangePickerHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateTimeRangePickerHeaderComponent, selector: "ecabs-date-time-range-picker-header", inputs: { headerLabel: "headerLabel" }, ngImport: i0, template: "<div class=\"select-date-label text-xl font-semibold\">\r\n {{ headerLabel }}\r\n </div>\r\n <ecabs-picker-header ></ecabs-picker-header>\r\n", styles: [":host ::ng-deep ecabs-picker-header{display:none!important}\n"], dependencies: [{ kind: "component", type: i1.EcabsPickerHeaderComponent, selector: "ecabs-picker-header" }] });
10
8
  }
11
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimeRangePickerHeaderComponent, decorators: [{
12
10
  type: Component,
@@ -14,4 +12,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
14
12
  }], propDecorators: { headerLabel: [{
15
13
  type: Input
16
14
  }] } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXIvY29tcG9uZW50cy9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci9jb21wb25lbnRzL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXItaGVhZGVyL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPakQsTUFBTSxPQUFPLHVDQUF1QztJQUxwRDtRQU1XLGdCQUFXLEdBQUcsa0JBQWtCLENBQUM7S0FDM0M7K0dBRlksdUNBQXVDO21HQUF2Qyx1Q0FBdUMsbUhDUHBELGtKQUlBOzs0RkRHYSx1Q0FBdUM7a0JBTG5ELFNBQVM7K0JBQ0UscUNBQXFDOzhCQUt0QyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNEYXRlVGltZVJhbmdlUGlja2VySGVhZGVyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBoZWFkZXJMYWJlbCA9ICdBcHBsaWNhYmxlIHRpbWVzJztcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2VsZWN0LWRhdGUtbGFiZWwgdGV4dC14bCBmb250LXNlbWlib2xkXCI+XHJcbiAge3sgaGVhZGVyTGFiZWwgfX1cclxuICA8L2Rpdj5cclxuICA8ZWNhYnMtcGlja2VyLWhlYWRlciA+PC9lY2Ficy1waWNrZXItaGVhZGVyPlxyXG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXIvY29tcG9uZW50cy9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci9jb21wb25lbnRzL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXItaGVhZGVyL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPakQsTUFBTSxPQUFPLHVDQUF1QztJQUN6QyxXQUFXLEdBQUcsa0JBQWtCLENBQUM7d0dBRC9CLHVDQUF1Qzs0RkFBdkMsdUNBQXVDLG1IQ1BwRCxrSkFJQTs7NEZER2EsdUNBQXVDO2tCQUxuRCxTQUFTOytCQUNFLHFDQUFxQzs4QkFLdEMsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzRGF0ZVRpbWVSYW5nZVBpY2tlckhlYWRlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgaGVhZGVyTGFiZWwgPSAnQXBwbGljYWJsZSB0aW1lcyc7XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNlbGVjdC1kYXRlLWxhYmVsIHRleHQteGwgZm9udC1zZW1pYm9sZFwiPlxyXG4gIHt7IGhlYWRlckxhYmVsIH19XHJcbiAgPC9kaXY+XHJcbiAgPGVjYWJzLXBpY2tlci1oZWFkZXIgPjwvZWNhYnMtcGlja2VyLWhlYWRlcj5cclxuIl19