ets-fe-ng-sdk 17.0.14 → 17.0.15

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.
@@ -3,7 +3,7 @@ import { FormControl, FormGroup } from '@angular/forms';
3
3
  import { EVFunctions } from '../../../configs/base-functions';
4
4
  import { Config } from '../../../configs/index.config';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "../../../Services/utility.service";
6
+ import * as i1 from "../../../Services/debouncer.service";
7
7
  export class InputService {
8
8
  get dateFS() {
9
9
  return new FormGroup({
@@ -16,8 +16,8 @@ export class InputService {
16
16
  rawValue: new FormControl(null),
17
17
  });
18
18
  }
19
- constructor(uS) {
20
- this.uS = uS;
19
+ constructor(debouncer) {
20
+ this.debouncer = debouncer;
21
21
  this.timeHours = ['12'];
22
22
  this.timeMinutes = [];
23
23
  this.timeSeconds = [];
@@ -117,7 +117,11 @@ export class InputService {
117
117
  return options.map((option) => {
118
118
  const formattedOption = this.optionLabellerFunctions[labelType](option);
119
119
  return {
120
- value: valueField ? option?.[valueField] : autoPickValueField ? formattedOption.value : option,
120
+ value: valueField
121
+ ? option?.[valueField]
122
+ : autoPickValueField
123
+ ? formattedOption.value
124
+ : option,
121
125
  label: formattedOption.label,
122
126
  originalRow: option,
123
127
  };
@@ -128,7 +132,11 @@ export class InputService {
128
132
  label: option?.[labelField],
129
133
  originalRow: option,
130
134
  }));
131
- return options.map((option) => ({ value: option, label: option, originalRow: option }));
135
+ return options.map((option) => ({
136
+ value: option,
137
+ label: option,
138
+ originalRow: option,
139
+ }));
132
140
  };
133
141
  for (const item of this.dateInputChunks) {
134
142
  item.placeholder = '-'.repeat(item.length);
@@ -194,7 +202,7 @@ export class InputService {
194
202
  console.log(form);
195
203
  }
196
204
  formatUserInput(e, form, showTime, id) {
197
- this.uS.debouncer({
205
+ this.debouncer.debouncer({
198
206
  callback: () => {
199
207
  const dateString = e.target['value'];
200
208
  // Aug. 10, 2023. 03:02:03 PM
@@ -247,7 +255,8 @@ export class InputService {
247
255
  hours: timeChunks[0],
248
256
  minutes: timeChunks[1],
249
257
  seconds: timeChunks[2],
250
- meridiem: this.timeMeridiemMap[timeChunks[3]?.toLowerCase()]?.incrementor,
258
+ meridiem: this.timeMeridiemMap[timeChunks[3]?.toLowerCase()]
259
+ ?.incrementor,
251
260
  });
252
261
  }
253
262
  else
@@ -264,7 +273,7 @@ export class InputService {
264
273
  uniqueKey: `${id}_dateFormatter`,
265
274
  });
266
275
  }
267
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: InputService, deps: [{ token: i1.UtilityService }], target: i0.ɵɵFactoryTarget.Injectable }); }
276
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: InputService, deps: [{ token: i1.DebouncerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
268
277
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: InputService, providedIn: 'root' }); }
269
278
  }
270
279
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: InputService, decorators: [{
@@ -272,5 +281,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
272
281
  args: [{
273
282
  providedIn: 'root',
274
283
  }]
275
- }], ctorParameters: () => [{ type: i1.UtilityService }] });
276
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFNdkQsTUFBTSxPQUFPLFlBQVk7SUFtR3hCLElBQUksTUFBTTtRQUNULE9BQU8sSUFBSSxTQUFTLENBQUM7WUFDcEIsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFPLElBQUksQ0FBQztZQUNqQyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQVMsSUFBSSxDQUFDO1lBQ3BDLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBUyxJQUFJLENBQUM7WUFDdEMsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFTLElBQUksQ0FBQztZQUN0QyxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQVMsSUFBSSxDQUFDO1lBQ3ZDLGNBQWMsRUFBRSxJQUFJLFdBQVcsQ0FBUyxJQUFJLENBQUM7WUFDN0MsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFTLElBQUksQ0FBQztTQUN2QyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBbUIsRUFBa0I7UUFBbEIsT0FBRSxHQUFGLEVBQUUsQ0FBZ0I7UUEzRzVCLGNBQVMsR0FBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxnQkFBVyxHQUF3QixFQUFFLENBQUM7UUFDdEMsZ0JBQVcsR0FBd0IsRUFBRSxDQUFDO1FBQ3RDLGlCQUFZLEdBQWtEO1lBQ3RFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFO1lBQy9CLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1NBQ2hDLENBQUM7UUFDTyxvQkFBZSxHQUFHLElBQUksQ0FBQyxZQUFZO2FBQzFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUNyRCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDVCxvQkFBZSxHQUFHO1lBQzFCLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztTQUNKLENBQUM7UUFDTyxvQkFBZSxHQVVsQjtZQUNMO2dCQUNDLEtBQUssRUFBRSxLQUFLO2dCQUNaLGVBQWUsRUFBRSxLQUFLO2dCQUN0QixJQUFJLEVBQUUsTUFBTTtnQkFDWixNQUFNLEVBQUUsQ0FBQztnQkFDVCxLQUFLLEVBQUUsT0FBTztnQkFDZCxLQUFLLEVBQUUsTUFBTTtnQkFDYixrQkFBa0I7YUFDbEI7WUFDRDtnQkFDQyxLQUFLLEVBQUUsT0FBTztnQkFDZCxlQUFlLEVBQUUsT0FBTztnQkFDeEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osTUFBTSxFQUFFLENBQUM7Z0JBQ1QsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsU0FBUyxFQUFFLEdBQUc7YUFDZDtZQUNEO2dCQUNDLEtBQUssRUFBRSxNQUFNO2dCQUNiLGVBQWUsRUFBRSxNQUFNO2dCQUN2QixJQUFJLEVBQUUsTUFBTTtnQkFDWixNQUFNLEVBQUUsQ0FBQztnQkFDVCxLQUFLLEVBQUUsT0FBTztnQkFDZCxLQUFLLEVBQUUsTUFBTTtnQkFDYixTQUFTLEVBQUUsR0FBRzthQUNkO1lBQ0Q7Z0JBQ0MsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsZUFBZSxFQUFFLE9BQU87Z0JBQ3hCLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRSxDQUFDO2dCQUNULEtBQUssRUFBRSxVQUFVO2dCQUNqQixLQUFLLEVBQUUsTUFBTTtnQkFDYixNQUFNLEVBQUUsSUFBSTtnQkFDWixTQUFTLEVBQUUsR0FBRzthQUNkO1lBQ0Q7Z0JBQ0MsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsZUFBZSxFQUFFLFNBQVM7Z0JBQzFCLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRSxDQUFDO2dCQUNULEtBQUssRUFBRSxVQUFVO2dCQUNqQixLQUFLLEVBQUUsTUFBTTtnQkFDYixNQUFNLEVBQUUsSUFBSTtnQkFDWixTQUFTLEVBQUUsR0FBRzthQUNkO1lBQ0Q7Z0JBQ0MsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsZUFBZSxFQUFFLFNBQVM7Z0JBQzFCLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRSxDQUFDO2dCQUNULEtBQUssRUFBRSxVQUFVO2dCQUNqQixLQUFLLEVBQUUsTUFBTTtnQkFDYixNQUFNLEVBQUUsSUFBSTtnQkFDWixTQUFTLEVBQUUsR0FBRzthQUNkO1lBQ0Q7Z0JBQ0MsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLGVBQWUsRUFBRSxVQUFVO2dCQUMzQixJQUFJLEVBQUUsTUFBTTtnQkFDWixNQUFNLEVBQUUsQ0FBQztnQkFDVCxLQUFLLEVBQUUsVUFBVTtnQkFDakIsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsTUFBTSxFQUFFLElBQUk7Z0JBQ1osU0FBUyxFQUFFLEdBQUc7YUFDZDtTQUNELENBQUM7UUEwRUYsYUFBUSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUM7UUFFdkMscUJBQWdCLEdBQUcsQ0FDbEIsT0FBZSxFQUNmLFVBQW1CLEVBQ25CLFNBQWlDLEVBQ2pDLFNBQTJCLEVBQzNCLFVBQW1CLEVBQ25CLGtCQUE0QixFQUNWLEVBQUU7WUFDcEIsWUFBWTtZQUNaLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTTtnQkFBRSxPQUFPLEVBQUUsQ0FBQztZQUNoQyxJQUFJLFNBQVM7Z0JBQ1osT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMvQixLQUFLLEVBQUUsVUFBVSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07b0JBQzNELEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDO29CQUN4QixXQUFXLEVBQUUsTUFBTTtpQkFDbkIsQ0FBQyxDQUFDLENBQUM7WUFDTCxJQUFJLFNBQVM7Z0JBQ1osT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQzdCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFFeEUsT0FBTzt3QkFDTixLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU07d0JBQzlGLEtBQUssRUFBRSxlQUFlLENBQUMsS0FBSzt3QkFDNUIsV0FBVyxFQUFFLE1BQU07cUJBQ25CLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSixJQUFJLFVBQVU7Z0JBQ2IsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMvQixLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtvQkFDakQsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFDM0IsV0FBVyxFQUFFLE1BQU07aUJBQ25CLENBQUMsQ0FBQyxDQUFDO1lBQ0wsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25HLENBQUMsQ0FBQztRQTlGRCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMzQztRQUNELEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7UUFDRCxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDbkM7UUFDRCxLQUFLLElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsS0FBSyxJQUFJLEtBQUssR0FBRyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUU7WUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyx1QkFBdUIsR0FBRztZQUM5QixHQUFHLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUM7WUFDdEUsR0FBRyxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FDcEIsUUFBUSxDQUNQLE1BQU0sRUFBRSxXQUFXO2dCQUNsQixPQUFPO2dCQUNQLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixPQUFPO2dCQUNQLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixPQUFPO2dCQUNQLE1BQU0sRUFBRSxFQUFFLEVBQ1gsSUFBSSxDQUNKO1lBQ0YsR0FBRyxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDO1lBQ3hFLEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQztZQUNoRSxHQUFHLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLElBQUksTUFBTSxFQUFFLEtBQUssQ0FBQztZQUNsRixFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7WUFDN0QsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQzlELEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztZQUMxRCxHQUFHLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUM7WUFDcEUsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQ3pELEVBQUUsRUFBRSxDQUFDLE1BQWtCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDakUsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQzlELEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQztZQUNqRSxFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7WUFDckUsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDO1lBQzlELEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztZQUMzRCxHQUFHLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxFQUFFLFNBQVMsSUFBSSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDMUYsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxD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O1NBQ2hDLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBOVJXLFlBQVk7a0hBQVosWUFBWSxjQUZaLE1BQU07OzJGQUVOLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNvZGVUaXRsZSwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luZGV4Lm1vZGVsJztcbmltcG9ydCB7IE9wdGlvbkxhYmVsVHlwZSB9IGZyb20gJy4vaW5wdXQtYmFzaWMuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL1NlcnZpY2VzL3V0aWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBFVkZ1bmN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3MvYmFzZS1mdW5jdGlvbnMnO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlncy9pbmRleC5jb25maWcnO1xuXG5cbkBJbmplY3RhYmxlKHtcblx0cHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFNlcnZpY2Uge1xuXHRyZWFkb25seSBvcHRpb25MYWJlbGxlckZ1bmN0aW9uczoge1xuXHRcdFt4OiBzdHJpbmddOiAob3B0aW9uKSA9PiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfTtcblx0fTtcblx0cmVhZG9ubHkgdGltZUhvdXJzOiAoc3RyaW5nIHwgbnVtYmVyKVtdID0gWycxMiddO1xuXHRyZWFkb25seSB0aW1lTWludXRlczogKHN0cmluZyB8IG51bWJlcilbXSA9IFtdO1xuXHRyZWFkb25seSB0aW1lU2Vjb25kczogKHN0cmluZyB8IG51bWJlcilbXSA9IFtdO1xuXHRyZWFkb25seSB0aW1lTWVyaWRpZW06IHsgbGFiZWw6ICdhbScgfCAncG0nOyBpbmNyZW1lbnRvcjogMCB8IDEyIH1bXSA9IFtcblx0XHR7IGxhYmVsOiAnYW0nLCBpbmNyZW1lbnRvcjogMCB9LFxuXHRcdHsgbGFiZWw6ICdwbScsIGluY3JlbWVudG9yOiAxMiB9LFxuXHRdO1xuXHRyZWFkb25seSB0aW1lTWVyaWRpZW1NYXAgPSB0aGlzLnRpbWVNZXJpZGllbVxuXHRcdC5tYXAoKHgpID0+ICh7IC4uLngsIF9sYWJlbDogeC5sYWJlbC50b0xvd2VyQ2FzZSgpIH0pKVxuXHRcdC50b01hcCgnX2xhYmVsJyk7XG5cdHJlYWRvbmx5IGRhdGVMZW5ndGhJbmRleCA9IHtcblx0XHQwOiA0LFxuXHRcdDE6IDIsXG5cdFx0MjogMixcblx0fTtcblx0cmVhZG9ubHkgZGF0ZUlucHV0Q2h1bmtzOiB7XG5cdFx0cGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cdFx0bGFiZWw6IHN0cmluZztcblx0XHRjbGFzczogc3RyaW5nO1xuXHRcdHdpZHRoOiBzdHJpbmc7XG5cdFx0c2VwZXJhdG9yPzogc3RyaW5nO1xuXHRcdGZvcm1Db250cm9sTmFtZTogc3RyaW5nO1xuXHRcdHR5cGU6IElucHV0VHlwZTtcblx0XHRsZW5ndGg6IG51bWJlcjtcblx0XHRpc1RpbWU/OiBib29sZWFuO1xuXHR9W10gPSBbXG5cdFx0e1xuXHRcdFx0bGFiZWw6ICdkYXknLFxuXHRcdFx0Zm9ybUNvbnRyb2xOYW1lOiAnZGF5Jyxcblx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdGxlbmd0aDogMixcblx0XHRcdGNsYXNzOiAnY29sLTInLFxuXHRcdFx0d2lkdGg6ICczMnB4Jyxcblx0XHRcdC8vIHNlcGVyYXRvcjogJy8nLFxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0bGFiZWw6ICdtb250aCcsXG5cdFx0XHRmb3JtQ29udHJvbE5hbWU6ICdtb250aCcsXG5cdFx0XHR0eXBlOiAndGV4dCcsXG5cdFx0XHRsZW5ndGg6IDMsXG5cdFx0XHRjbGFzczogJ2NvbC0yJyxcblx0XHRcdHdpZHRoOiAnNTVweCcsXG5cdFx0XHRzZXBlcmF0b3I6ICcvJyxcblx0XHR9LFxuXHRcdHtcblx0XHRcdGxhYmVsOiAneWVhcicsXG5cdFx0XHRmb3JtQ29udHJvbE5hbWU6ICd5ZWFyJyxcblx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdGxlbmd0aDogNCxcblx0XHRcdGNsYXNzOiAnY29sLTMnLFxuXHRcdFx0d2lkdGg6ICc0NXB4Jyxcblx0XHRcdHNlcGVyYXRvcjogJy8nLFxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0bGFiZWw6ICdob3VyJyxcblx0XHRcdGZvcm1Db250cm9sTmFtZTogJ2hvdXJzJyxcblx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdGxlbmd0aDogMixcblx0XHRcdGNsYXNzOiAnY29sLWF1dG8nLFxuXHRcdFx0d2lkdGg6ICcyNXB4Jyxcblx0XHRcdGlzVGltZTogdHJ1ZSxcblx0XHRcdHNlcGVyYXRvcjogJywnLFxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0bGFiZWw6ICdtaW51dGUnLFxuXHRcdFx0Zm9ybUNvbnRyb2xOYW1lOiAnbWludXRlcycsXG5cdFx0XHR0eXBlOiAndGV4dCcsXG5cdFx0XHRsZW5ndGg6IDIsXG5cdFx0XHRjbGFzczogJ2NvbC1hdXRvJyxcblx0XHRcdHdpZHRoOiAnMjVweCcsXG5cdFx0XHRpc1RpbWU6IHRydWUsXG5cdFx0XHRzZXBlcmF0b3I6ICc6Jyxcblx0XHR9LFxuXHRcdHtcblx0XHRcdGxhYmVsOiAnc2Vjb25kJyxcblx0XHRcdGZvcm1Db250cm9sTmFtZTogJ3NlY29uZHMnLFxuXHRcdFx0dHlwZTogJ3RleHQnLFxuXHRcdFx0bGVuZ3RoOiAyLFxuXHRcdFx0Y2xhc3M6ICdjb2wtYXV0bycsXG5cdFx0XHR3aWR0aDogJzI1cHgnLFxuXHRcdFx0aXNUaW1lOiB0cnVlLFxuXHRcdFx0c2VwZXJhdG9yOiAnOicsXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRsYWJlbDogJ21lcmlkaWVtJyxcblx0XHRcdGZvcm1Db250cm9sTmFtZTogJ21lcmlkaWVtJyxcblx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdGxlbmd0aDogMixcblx0XHRcdGNsYXNzOiAnY29sLWF1dG8nLFxuXHRcdFx0d2lkdGg6ICcyNXB4Jyxcblx0XHRcdGlzVGltZTogdHJ1ZSxcblx0XHRcdHNlcGVyYXRvcjogJzonLFxuXHRcdH0sXG5cdF07XG5cblx0Z2V0IGRhdGVGUygpIHtcblx0XHRyZXR1cm4gbmV3IEZvcm1Hcm91cCh7XG5cdFx0XHRkYXRlOiBuZXcgRm9ybUNvbnRyb2w8RGF0ZT4obnVsbCksXG5cdFx0XHRob3VyczogbmV3IEZvcm1Db250cm9sPHN0cmluZz4obnVsbCksXG5cdFx0XHRtaW51dGVzOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPihudWxsKSxcblx0XHRcdHNlY29uZHM6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KG51bGwpLFxuXHRcdFx0bWVyaWRpZW06IG5ldyBGb3JtQ29udHJvbDxudW1iZXI+KG51bGwpLFxuXHRcdFx0Zm9ybWF0dGVkVmFsdWU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KG51bGwpLFxuXHRcdFx0cmF3VmFsdWU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KG51bGwpLFxuXHRcdH0pO1xuXHR9XG5cblx0Y29uc3RydWN0b3IocHVibGljIHVTOiBVdGlsaXR5U2VydmljZSkge1xuXHRcdGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLmRhdGVJbnB1dENodW5rcykge1xuXHRcdFx0aXRlbS5wbGFjZWhvbGRlciA9ICctJy5yZXBlYXQoaXRlbS5sZW5ndGgpO1xuXHRcdH1cblx0XHRmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDw9IDExOyBpbmRleCsrKSB7XG5cdFx0XHR0aGlzLnRpbWVIb3Vycy5wdXNoKGluZGV4KTtcblx0XHR9XG5cdFx0Zm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IDEwOyBpbmRleCsrKSB7XG5cdFx0XHR0aGlzLnRpbWVNaW51dGVzLnB1c2goJzAnICsgaW5kZXgpO1xuXHRcdFx0dGhpcy50aW1lU2Vjb25kcy5wdXNoKCcwJyArIGluZGV4KTtcblx0XHR9XG5cdFx0Zm9yIChsZXQgaW5kZXggPSAxMDsgaW5kZXggPD0gMTI7IGluZGV4KyspIHtcblx0XHRcdHRoaXMudGltZU1pbnV0ZXMucHVzaChpbmRleCk7XG5cdFx0XHR0aGlzLnRpbWVTZWNvbmRzLnB1c2goaW5kZXgpO1xuXHRcdH1cblx0XHRmb3IgKGxldCBpbmRleCA9IDEzOyBpbmRleCA8PSA1OTsgaW5kZXgrKykgdGhpcy50aW1lU2Vjb25kcy5wdXNoKGluZGV4KTtcblx0XHRjb25zdCBsYWJlbGxlciA9IHRoaXMubGFiZWxsZXI7XG5cdFx0dGhpcy5vcHRpb25MYWJlbGxlckZ1bmN0aW9ucyA9IHtcblx0XHRcdGFjZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmFjY291bnRObywgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG5cdFx0XHRibms6IChvcHRpb246IGFueSkgPT5cblx0XHRcdFx0bGFiZWxsZXIoXG5cdFx0XHRcdFx0b3B0aW9uPy5hY2NvdW50TmFtZSArXG5cdFx0XHRcdFx0XHQnICB8ICAnICtcblx0XHRcdFx0XHRcdG9wdGlvbj8uYWNjb3VudE5vICtcblx0XHRcdFx0XHRcdCcgIHwgICcgK1xuXHRcdFx0XHRcdFx0b3B0aW9uPy5iYW5rTmFtZSArXG5cdFx0XHRcdFx0XHQnICB8ICAnICtcblx0XHRcdFx0XHRcdG9wdGlvbj8ubm8sXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0KSxcblx0XHRcdGNjZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmNvbXBhbnlDb2RlLCBvcHRpb24/LmRlc2NyaXB0aW9uKSxcblx0XHRcdGNkOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uY29kZSwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG5cdFx0XHRjZHQ6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/LmRlc2NyaXB0aW9uIHx8IG9wdGlvbj8udGl0bGUpLFxuXHRcdFx0Y2Y6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/LmZ1bGxOYW1lKSxcblx0XHRcdGNnOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uY29kZUdyb3VwLCBvcHRpb24/LmNvZGUpLFxuXHRcdFx0Y2w6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/LmxhYmVsKSxcblx0XHRcdGNtZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmNvbXBhbnksIG9wdGlvbj8uZGVzY3JpcHRpb24pLFxuXHRcdFx0Y246IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/Lm5hbWUpLFxuXHRcdFx0Y3Q6IChvcHRpb246IElDb2RlVGl0bGUpID0+IGxhYmVsbGVyKG9wdGlvbj8uY29kZSwgb3B0aW9uPy50aXRsZSksXG5cdFx0XHRjdTogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmN1cnJDb2RlLCBvcHRpb24/LnRpdGxlKSxcblx0XHRcdGdkOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uZ3JvdXAsIG9wdGlvbj8uZGVzY3JpcHRpb24pLFxuXHRcdFx0aGE6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5oaWVyQWdlbnRObywgb3B0aW9uPy5hZ2VudE5hbWUpLFxuXHRcdFx0aWQ6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5pZCwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG5cdFx0XHRpZjogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmlkLCBvcHRpb24/LmZ1bGxOYW1lKSxcblx0XHRcdGlmbDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LnVzZXJJZCwgYCR7b3B0aW9uPy5maXJzdE5hbWV9ICR7b3B0aW9uPy5sYXN0TmFtZX1gKSxcblx0XHRcdGlsOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uaWQsIG9wdGlvbj8ubGFiZWwpLFxuXHRcdFx0aXQ6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5pZCwgb3B0aW9uPy50aXRsZSksXG5cdFx0XHRtZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/Lm1rdEV2ZW50Q29kZSwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG5cdFx0XHRuYTogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/Lm5vLCBvcHRpb24/LmFtb3VudCksXG5cdFx0XHRwZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LnBheW91dE1ldGhvZCwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG5cdFx0XHRwZXA6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5wZXJpbENvZGUsIG9wdGlvbj8ucGVyaWxDb2RlRGVzY3JpcHRpb24pLFxuXHRcdFx0cGFtOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8ucG9saWN5Tm9TdWZmaXgsIG9wdGlvbj8ubWVtYmVyTmFtZSksXG5cdFx0XHRuZjogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/Lm5vLCBvcHRpb24/LmZ1bGxOYW1lKSxcblx0XHRcdHRkOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8udHlwZSwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG5cdFx0XHR1ZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LnVzZXJNZW51LCBvcHRpb24/LmRlc2NyaXB0aW9uKSxcblx0XHRcdHVmOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8udXNlck5hbWUsIG9wdGlvbj8uZnVsbE5hbWUpLFxuXHRcdFx0dmw6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIobnVsbCwgb3B0aW9uPy5sYWJlbCksXG5cdFx0XHR2djogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LnZlcnNpb25Obywgb3B0aW9uPy52ZXJzaW9uRGF0ZSksXG5cdFx0fTtcblx0fVxuXHRsYWJlbGxlciA9IEVWRnVuY3Rpb25zLnN0ckNvbmNhdGVuYXRvcjtcblxuXHRvcHRpb25zRm9ybWF0dGVyID0gPFRSb3cgPSBhbnk+KFxuXHRcdG9wdGlvbnM6IFRSb3dbXSxcblx0XHR2YWx1ZUZpZWxkPzogc3RyaW5nLFxuXHRcdGZvcm1hdHRlcj86IChpdGVtOiBhbnkpID0+IHN0cmluZyxcblx0XHRsYWJlbFR5cGU/OiBPcHRpb25MYWJlbFR5cGUsXG5cdFx0bGFiZWxGaWVsZD86IHN0cmluZyxcblx0XHRhdXRvUGlja1ZhbHVlRmllbGQ/OiBib29sZWFuLFxuXHQpOiBJT3B0aW9uPFRSb3c+W10gPT4ge1xuXHRcdC8vIGRlYnVnZ2VyO1xuXHRcdGlmICghb3B0aW9ucz8ubGVuZ3RoKSByZXR1cm4gW107XG5cdFx0aWYgKGZvcm1hdHRlcilcblx0XHRcdHJldHVybiBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoe1xuXHRcdFx0XHR2YWx1ZTogdmFsdWVGaWVsZCAmJiBvcHRpb24gPyBvcHRpb24/Llt2YWx1ZUZpZWxkXSA6IG9wdGlvbixcblx0XHRcdFx0bGFiZWw6IGZvcm1hdHRlcihvcHRpb24pLFxuXHRcdFx0XHRvcmlnaW5hbFJvdzogb3B0aW9uLFxuXHRcdFx0fSkpO1xuXHRcdGlmIChsYWJlbFR5cGUpXG5cdFx0XHRyZXR1cm4gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4ge1xuXHRcdFx0XHRjb25zdCBmb3JtYXR0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbkxhYmVsbGVyRnVuY3Rpb25zW2xhYmVsVHlwZV0ob3B0aW9uKTtcblxuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdHZhbHVlOiB2YWx1ZUZpZWxkID8gb3B0aW9uPy5bdmFsdWVGaWVsZF0gOiBhdXRvUGlja1ZhbHVlRmllbGQgPyBmb3JtYXR0ZWRPcHRpb24udmFsdWUgOiBvcHRpb24sXG5cdFx0XHRcdFx0bGFiZWw6IGZvcm1hdHRlZE9wdGlvbi5sYWJlbCxcblx0XHRcdFx0XHRvcmlnaW5hbFJvdzogb3B0aW9uLFxuXHRcdFx0XHR9O1xuXHRcdFx0fSk7XG5cdFx0aWYgKGxhYmVsRmllbGQpXG5cdFx0XHRyZXR1cm4gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gKHtcblx0XHRcdFx0dmFsdWU6IHZhbHVlRmllbGQgPyBvcHRpb24/Llt2YWx1ZUZpZWxkXSA6IG9wdGlvbixcblx0XHRcdFx0bGFiZWw6IG9wdGlvbj8uW2xhYmVsRmllbGRdLFxuXHRcdFx0XHRvcmlnaW5hbFJvdzogb3B0aW9uLFxuXHRcdFx0fSkpO1xuXHRcdHJldHVybiBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoeyB2YWx1ZTogb3B0aW9uLCBsYWJlbDogb3B0aW9uIGFzIHN0cmluZywgb3JpZ2luYWxSb3c6IG9wdGlvbiB9KSk7XG5cdH07XG4gIFxuXHR0cmFja0J5VmFsdWUoaW5kZXgsIGl0ZW06IElPcHRpb24pIHtcblx0XHRyZXR1cm4gaXRlbS52YWx1ZTtcblx0fVxuXHRsb2coZm9ybSkge1xuXHRcdC8vIGlmICghZW52aXJvbm1lbnQucHJvZHVjdGlvbilcblx0XHRjb25zb2xlLmxvZyhmb3JtKTtcblx0fVxuXG5cdGZvcm1hdFVzZXJJbnB1dChlOiBFdmVudCwgZm9ybTogdHlwZW9mIHRoaXMuZGF0ZUZTLCBzaG93VGltZTogYm9vbGVhbiwgaWQ6IHN0cmluZykge1xuXHRcdHRoaXMudVMuZGVib3VuY2VyKHtcblx0XHRcdGNhbGxiYWNrOiAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGRhdGVTdHJpbmc6IHN0cmluZyA9IGUudGFyZ2V0Wyd2YWx1ZSddO1xuXHRcdFx0XHQvLyBBdWcuIDEwLCAyMDIzLiAwMzowMjowMyBQTVxuXHRcdFx0XHRpZiAoIWRhdGVTdHJpbmc/LnRyaW0oKSlcblx0XHRcdFx0XHRmb3JtLnBhdGNoVmFsdWUoe1xuXHRcdFx0XHRcdFx0ZGF0ZTogbnVsbCxcblx0XHRcdFx0XHRcdGhvdXJzOiBudWxsLFxuXHRcdFx0XHRcdFx0bWludXRlczogbnVsbCxcblx0XHRcdFx0XHRcdHNlY29uZHM6IG51bGwsXG5cdFx0XHRcdFx0XHRtZXJpZGllbTogbnVsbCxcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0ZWxzZVxuXHRcdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0XHRpZiAoZGF0ZVN0cmluZy5pbmNsdWRlcygnLiAnKSkge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBbbW9udGhDaHVuaywgZGF5WWVhckNodW5rLCB0aW1lQ2h1bmtdID0gZGF0ZVN0cmluZy5zcGxpdCgnLiAnKTtcblx0XHRcdFx0XHRcdFx0Y29uc3QgbW9udGggPSBDb25maWcuU2hvcnRNb250aHNNYXBbbW9udGhDaHVuay50b0xvd2VyQ2FzZSgpXT8uaXNvU3RyO1xuXHRcdFx0XHRcdFx0XHRjb25zdCBbZGF5LCB5ZWFyXSA9IGRheVllYXJDaHVuaz8uc3BsaXQoJywgJyk7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShgJHt5ZWFyfS0ke21vbnRofS0ke2RheX1gKTtcblx0XHRcdFx0XHRcdFx0aWYgKHNob3dUaW1lKSB7XG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgW2htcywgbWVyaWRpZW1dID0gdGltZUNodW5rPy5zcGxpdCgnICcpO1xuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IFtob3VycywgbWludXRlcywgc2Vjb25kc10gPSBobXM/LnNwbGl0KCc6Jyk7XG5cdFx0XHRcdFx0XHRcdFx0Zm9ybS5wYXRjaFZhbHVlKHtcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGUsXG5cdFx0XHRcdFx0XHRcdFx0XHRob3Vycyxcblx0XHRcdFx0XHRcdFx0XHRcdG1pbnV0ZXMsXG5cdFx0XHRcdFx0XHRcdFx0XHRzZWNvbmRzLFxuXHRcdFx0XHRcdFx0XHRcdFx0bWVyaWRpZW06IHRoaXMudGltZU1lcmlkaWVtTWFwW21lcmlkaWVtPy50b0xvd2VyQ2FzZSgpXT8uaW5jcmVtZW50b3IsXG5cdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZVxuXHRcdFx0XHRcdFx0XHRcdGZvcm0ucGF0Y2hWYWx1ZSh7XG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRlLFxuXHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgY2h1bmtzID0gZGF0ZVN0cmluZy5zcGxpdCgnICcpLmZpbHRlcigoeCkgPT4geCAhPSAnJyk7XG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGNodW5rcyk7XG5cdFx0XHRcdFx0XHRcdC8vIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjaHVua3MubGVuZ3RoOyBpbmRleCsrKSB7XG5cdFx0XHRcdFx0XHRcdC8vICAgY2h1bmtzW2luZGV4XSA9IGNodW5rc1tpbmRleF0uc3BsaXQoJy4nKS5qb2luKCcnKTtcblx0XHRcdFx0XHRcdFx0Ly8gfVxuXHRcdFx0XHRcdFx0XHQvLyBjb25zdCBkYXRlQ2h1bmsgPSBjaHVua3NbMF0uc3BsaXQoJy8nKTtcblx0XHRcdFx0XHRcdFx0aWYgKHNob3dUaW1lKSB7XG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgdGltZUNodW5rcyA9IGNodW5rc1sxXS5zcGxpdCgnOicpO1xuXHRcdFx0XHRcdFx0XHRcdGZvcm0ucGF0Y2hWYWx1ZSh7XG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRlOiBuZXcgRGF0ZShcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2h1bmtzWzBdXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0LnNwbGl0KCcvJylcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQucmV2ZXJzZSgpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Lm1hcCgoZCwgaSkgPT5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCgnMCcucmVwZWF0KHRoaXMuZGF0ZUxlbmd0aEluZGV4W2ldKSArIGQpLnNsaWNlKC10aGlzLmRhdGVMZW5ndGhJbmRleFtpXSksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC5qb2luKCctJyksXG5cdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0aG91cnM6IHRpbWVDaHVua3NbMF0sXG5cdFx0XHRcdFx0XHRcdFx0XHRtaW51dGVzOiB0aW1lQ2h1bmtzWzFdLFxuXHRcdFx0XHRcdFx0XHRcdFx0c2Vjb25kczogdGltZUNodW5rc1syXSxcblx0XHRcdFx0XHRcdFx0XHRcdG1lcmlkaWVtOiB0aGlzLnRpbWVNZXJpZGllbU1hcFt0aW1lQ2h1bmtzWzNdPy50b0xvd2VyQ2FzZSgpXT8uaW5jcmVtZW50b3IsXG5cdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZVxuXHRcdFx0XHRcdFx0XHRcdGZvcm0ucGF0Y2hWYWx1ZSh7XG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRlOiBuZXcgRGF0ZShjaHVua3NbMF0uc3BsaXQoJy8nKS5yZXZlcnNlKCkuam9pbignLScpKSxcblx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGNodW5rcyk7XG5cdFx0XHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuXHRcdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHR1bmlxdWVLZXk6IGAke2lkfV9kYXRlRm9ybWF0dGVyYCxcblx0XHR9KTtcblx0fVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPcHRpb248VFJvdyA9IGFueT4ge1xuXHR2YWx1ZTogYW55O1xuXHRvcmlnaW5hbFJvdzogVFJvdztcblx0bGFiZWw6IHN0cmluZztcbn1cbiJdfQ==
284
+ }], ctorParameters: () => [{ type: i1.DebouncerService }] });
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFNdkQsTUFBTSxPQUFPLFlBQVk7SUFtR3ZCLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxTQUFTLENBQUM7WUFDbkIsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFPLElBQUksQ0FBQztZQUNqQyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQVMsSUFBSSxDQUFDO1lBQ3BDLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBUyxJQUFJLENBQUM7WUFDdEMsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFTLElBQUksQ0FBQztZQUN0QyxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQVMsSUFBSSxDQUFDO1lBQ3ZDLGNBQWMsRUFBRSxJQUFJLFdBQVcsQ0FBUyxJQUFJLENBQUM7WUFDN0MsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFTLElBQUksQ0FBQztTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBbUIsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUEzR3JDLGNBQVMsR0FBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxnQkFBVyxHQUF3QixFQUFFLENBQUM7UUFDdEMsZ0JBQVcsR0FBd0IsRUFBRSxDQUFDO1FBQ3RDLGlCQUFZLEdBQWtEO1lB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LEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUM7WUFDcEUsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQ3pELEVBQUUsRUFBRSxDQUFDLE1BQWtCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDakUsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQzlELEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQztZQUNqRSxFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7WUFDckUsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDO1lBQzlELEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztZQUMzRCxHQUFHLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUNuQixRQUFRLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sRUFBRSxTQUFTLElBQUksTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ3RFLEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztZQUN4RCxFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDeEQsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDO1lBQ3hFLEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztZQUN6RCxFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUM7WUFDeEUsR0FBRyxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FDbkIsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixDQUFDO1lBQzNELEdBQUcsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQ25CLFFBQVEsQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7WUFDdEQsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQzNELEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQztZQUNoRSxFQUFFLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUM7WUFDcEUsRUFBRSxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQ2pFLEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQ2xELEVBQUUsRUFBRSxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQztTQUN0RSxDQUFDO0lBQ0osQ0FBQztJQThDRCxZQUFZLENBQUMsS0FBSyxFQUFFLElBQWE7UUFDL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxHQUFHLENBQUMsSUFBSTtRQUNOLCtCQUErQjtRQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxlQUFlLENBQ2IsQ0FBUSxFQUNSLElBQXdCLEVBQ3hCLFFBQWlCLEVBQ2pCLEVBQVU7UUFFVixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztZQUN2QixRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUNiLE1BQU0sVUFBVSxHQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzdDLDZCQUE2QjtnQkFDN0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUM7d0JBQ2QsSUFBSSxFQUFFLElBQUk7d0JBQ1YsS0FBSyxFQUFFLElBQUk7d0JBQ1gsT0FBTyxFQUFFLElBQUk7d0JBQ2IsT0FBTyxFQUFFLElBQUk7d0JBQ2IsUUFBUSxFQUFFLElBQUk7cUJBQ2YsQ0FBQyxDQUFDOztvQkFFSCxJQUFJO3dCQUNGLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTs0QkFDN0IsTUFBTSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLEdBQ3pDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQ3pCLE1BQU0sS0FBSyxHQUNULE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDOzRCQUMxRCxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLFlBQVksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQzlDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDOzRCQUNqRCxJQUFJLFFBQVEsRUFBRTtnQ0FDWixNQUFNLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0NBQzlDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0NBQ2xELElBQUksQ0FBQyxVQUFVLENBQUM7b0NBQ2QsSUFBSTtvQ0FDSixLQUFLO29DQUNMLE9BQU87b0NBQ1AsT0FBTztvQ0FDUCxRQUFRLEVBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxXQUFXO2lDQUM3RCxDQUFDLENBQUM7NkJBQ0o7O2dDQUNDLElBQUksQ0FBQyxVQUFVLENBQUM7b0NBQ2QsSUFBSTtpQ0FDTCxDQUFDLENBQUM7eUJBQ047NkJBQU07NEJBQ0wsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzs0QkFDNUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDcEIsd0RBQXdEOzRCQUN4RCx1REFBdUQ7NEJBQ3ZELElBQUk7NEJBQ0osMENBQTBDOzRCQUMxQyxJQUFJLFFBQVEsRUFBRTtnQ0FDWixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dDQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDO29DQUNkLElBQUksRUFBRSxJQUFJLElBQUksQ0FDWixNQUFNLENBQUMsQ0FBQyxDQUFDO3lDQUNOLEtBQUssQ0FBQyxHQUFHLENBQUM7eUNBQ1YsT0FBTyxFQUFFO3lDQUNULEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNaLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUM3QyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQ3pCLENBQ0Y7eUNBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUNiO29DQUNELEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO29DQUNwQixPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztvQ0FDdEIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7b0NBQ3RCLFFBQVEsRUFDTixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQzt3Q0FDaEQsRUFBRSxXQUFXO2lDQUNsQixDQUFDLENBQUM7NkJBQ0o7O2dDQUNDLElBQUksQ0FBQyxVQUFVLENBQUM7b0NBQ2QsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lDQUN6RCxDQUFDLENBQUM7eUJBQ047d0JBQ0QsdUJBQXVCO3FCQUN4QjtvQkFBQyxPQUFPLEtBQUssRUFBRTt3QkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUN0QjtZQUNMLENBQUM7WUFDRCxTQUFTLEVBQUUsR0FBRyxFQUFFLGdCQUFnQjtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXRUVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElDb2RlVGl0bGUsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBPcHRpb25MYWJlbFR5cGUgfSBmcm9tICcuL2lucHV0LWJhc2ljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9TZXJ2aWNlcy91dGlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgRVZGdW5jdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9jb25maWdzL2Jhc2UtZnVuY3Rpb25zJztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3MvaW5kZXguY29uZmlnJztcbmltcG9ydCB7IERlYm91bmNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9TZXJ2aWNlcy9kZWJvdW5jZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFNlcnZpY2Uge1xuICByZWFkb25seSBvcHRpb25MYWJlbGxlckZ1bmN0aW9uczoge1xuICAgIFt4OiBzdHJpbmddOiAob3B0aW9uKSA9PiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfTtcbiAgfTtcbiAgcmVhZG9ubHkgdGltZUhvdXJzOiAoc3RyaW5nIHwgbnVtYmVyKVtdID0gWycxMiddO1xuICByZWFkb25seSB0aW1lTWludXRlczogKHN0cmluZyB8IG51bWJlcilbXSA9IFtdO1xuICByZWFkb25seSB0aW1lU2Vjb25kczogKHN0cmluZyB8IG51bWJlcilbXSA9IFtdO1xuICByZWFkb25seSB0aW1lTWVyaWRpZW06IHsgbGFiZWw6ICdhbScgfCAncG0nOyBpbmNyZW1lbnRvcjogMCB8IDEyIH1bXSA9IFtcbiAgICB7IGxhYmVsOiAnYW0nLCBpbmNyZW1lbnRvcjogMCB9LFxuICAgIHsgbGFiZWw6ICdwbScsIGluY3JlbWVudG9yOiAxMiB9LFxuICBdO1xuICByZWFkb25seSB0aW1lTWVyaWRpZW1NYXAgPSB0aGlzLnRpbWVNZXJpZGllbVxuICAgIC5tYXAoKHgpID0+ICh7IC4uLngsIF9sYWJlbDogeC5sYWJlbC50b0xvd2VyQ2FzZSgpIH0pKVxuICAgIC50b01hcCgnX2xhYmVsJyk7XG4gIHJlYWRvbmx5IGRhdGVMZW5ndGhJbmRleCA9IHtcbiAgICAwOiA0LFxuICAgIDE6IDIsXG4gICAgMjogMixcbiAgfTtcbiAgcmVhZG9ubHkgZGF0ZUlucHV0Q2h1bmtzOiB7XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBjbGFzczogc3RyaW5nO1xuICAgIHdpZHRoOiBzdHJpbmc7XG4gICAgc2VwZXJhdG9yPzogc3RyaW5nO1xuICAgIGZvcm1Db250cm9sTmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IElucHV0VHlwZTtcbiAgICBsZW5ndGg6IG51bWJlcjtcbiAgICBpc1RpbWU/OiBib29sZWFuO1xuICB9W10gPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdkYXknLFxuICAgICAgZm9ybUNvbnRyb2xOYW1lOiAnZGF5JyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxlbmd0aDogMixcbiAgICAgIGNsYXNzOiAnY29sLTInLFxuICAgICAgd2lkdGg6ICczMnB4JyxcbiAgICAgIC8vIHNlcGVyYXRvcjogJy8nLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdtb250aCcsXG4gICAgICBmb3JtQ29udHJvbE5hbWU6ICdtb250aCcsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBsZW5ndGg6IDMsXG4gICAgICBjbGFzczogJ2NvbC0yJyxcbiAgICAgIHdpZHRoOiAnNTVweCcsXG4gICAgICBzZXBlcmF0b3I6ICcvJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAneWVhcicsXG4gICAgICBmb3JtQ29udHJvbE5hbWU6ICd5ZWFyJyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxlbmd0aDogNCxcbiAgICAgIGNsYXNzOiAnY29sLTMnLFxuICAgICAgd2lkdGg6ICc0NXB4JyxcbiAgICAgIHNlcGVyYXRvcjogJy8nLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdob3VyJyxcbiAgICAgIGZvcm1Db250cm9sTmFtZTogJ2hvdXJzJyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxlbmd0aDogMixcbiAgICAgIGNsYXNzOiAnY29sLWF1dG8nLFxuICAgICAgd2lkdGg6ICcyNXB4JyxcbiAgICAgIGlzVGltZTogdHJ1ZSxcbiAgICAgIHNlcGVyYXRvcjogJywnLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdtaW51dGUnLFxuICAgICAgZm9ybUNvbnRyb2xOYW1lOiAnbWludXRlcycsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBsZW5ndGg6IDIsXG4gICAgICBjbGFzczogJ2NvbC1hdXRvJyxcbiAgICAgIHdpZHRoOiAnMjVweCcsXG4gICAgICBpc1RpbWU6IHRydWUsXG4gICAgICBzZXBlcmF0b3I6ICc6JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnc2Vjb25kJyxcbiAgICAgIGZvcm1Db250cm9sTmFtZTogJ3NlY29uZHMnLFxuICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgbGVuZ3RoOiAyLFxuICAgICAgY2xhc3M6ICdjb2wtYXV0bycsXG4gICAgICB3aWR0aDogJzI1cHgnLFxuICAgICAgaXNUaW1lOiB0cnVlLFxuICAgICAgc2VwZXJhdG9yOiAnOicsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ21lcmlkaWVtJyxcbiAgICAgIGZvcm1Db250cm9sTmFtZTogJ21lcmlkaWVtJyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGxlbmd0aDogMixcbiAgICAgIGNsYXNzOiAnY29sLWF1dG8nLFxuICAgICAgd2lkdGg6ICcyNXB4JyxcbiAgICAgIGlzVGltZTogdHJ1ZSxcbiAgICAgIHNlcGVyYXRvcjogJzonLFxuICAgIH0sXG4gIF07XG5cbiAgZ2V0IGRhdGVGUygpIHtcbiAgICByZXR1cm4gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBkYXRlOiBuZXcgRm9ybUNvbnRyb2w8RGF0ZT4obnVsbCksXG4gICAgICBob3VyczogbmV3IEZvcm1Db250cm9sPHN0cmluZz4obnVsbCksXG4gICAgICBtaW51dGVzOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPihudWxsKSxcbiAgICAgIHNlY29uZHM6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KG51bGwpLFxuICAgICAgbWVyaWRpZW06IG5ldyBGb3JtQ29udHJvbDxudW1iZXI+KG51bGwpLFxuICAgICAgZm9ybWF0dGVkVmFsdWU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KG51bGwpLFxuICAgICAgcmF3VmFsdWU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KG51bGwpLFxuICAgIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRlYm91bmNlcjogRGVib3VuY2VyU2VydmljZSkge1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLmRhdGVJbnB1dENodW5rcykge1xuICAgICAgaXRlbS5wbGFjZWhvbGRlciA9ICctJy5yZXBlYXQoaXRlbS5sZW5ndGgpO1xuICAgIH1cbiAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDw9IDExOyBpbmRleCsrKSB7XG4gICAgICB0aGlzLnRpbWVIb3Vycy5wdXNoKGluZGV4KTtcbiAgICB9XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IDEwOyBpbmRleCsrKSB7XG4gICAgICB0aGlzLnRpbWVNaW51dGVzLnB1c2goJzAnICsgaW5kZXgpO1xuICAgICAgdGhpcy50aW1lU2Vjb25kcy5wdXNoKCcwJyArIGluZGV4KTtcbiAgICB9XG4gICAgZm9yIChsZXQgaW5kZXggPSAxMDsgaW5kZXggPD0gMTI7IGluZGV4KyspIHtcbiAgICAgIHRoaXMudGltZU1pbnV0ZXMucHVzaChpbmRleCk7XG4gICAgICB0aGlzLnRpbWVTZWNvbmRzLnB1c2goaW5kZXgpO1xuICAgIH1cbiAgICBmb3IgKGxldCBpbmRleCA9IDEzOyBpbmRleCA8PSA1OTsgaW5kZXgrKykgdGhpcy50aW1lU2Vjb25kcy5wdXNoKGluZGV4KTtcbiAgICBjb25zdCBsYWJlbGxlciA9IHRoaXMubGFiZWxsZXI7XG4gICAgdGhpcy5vcHRpb25MYWJlbGxlckZ1bmN0aW9ucyA9IHtcbiAgICAgIGFjZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmFjY291bnRObywgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICBibms6IChvcHRpb246IGFueSkgPT5cbiAgICAgICAgbGFiZWxsZXIoXG4gICAgICAgICAgb3B0aW9uPy5hY2NvdW50TmFtZSArXG4gICAgICAgICAgICAnICB8ICAnICtcbiAgICAgICAgICAgIG9wdGlvbj8uYWNjb3VudE5vICtcbiAgICAgICAgICAgICcgIHwgICcgK1xuICAgICAgICAgICAgb3B0aW9uPy5iYW5rTmFtZSArXG4gICAgICAgICAgICAnICB8ICAnICtcbiAgICAgICAgICAgIG9wdGlvbj8ubm8sXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgKSxcbiAgICAgIGNjZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmNvbXBhbnlDb2RlLCBvcHRpb24/LmRlc2NyaXB0aW9uKSxcbiAgICAgIGNkOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uY29kZSwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICBjZHQ6IChvcHRpb246IGFueSkgPT5cbiAgICAgICAgbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/LmRlc2NyaXB0aW9uIHx8IG9wdGlvbj8udGl0bGUpLFxuICAgICAgY2Y6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/LmZ1bGxOYW1lKSxcbiAgICAgIGNnOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uY29kZUdyb3VwLCBvcHRpb24/LmNvZGUpLFxuICAgICAgY2w6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/LmxhYmVsKSxcbiAgICAgIGNtZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmNvbXBhbnksIG9wdGlvbj8uZGVzY3JpcHRpb24pLFxuICAgICAgY246IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5jb2RlLCBvcHRpb24/Lm5hbWUpLFxuICAgICAgY3Q6IChvcHRpb246IElDb2RlVGl0bGUpID0+IGxhYmVsbGVyKG9wdGlvbj8uY29kZSwgb3B0aW9uPy50aXRsZSksXG4gICAgICBjdTogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmN1cnJDb2RlLCBvcHRpb24/LnRpdGxlKSxcbiAgICAgIGdkOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uZ3JvdXAsIG9wdGlvbj8uZGVzY3JpcHRpb24pLFxuICAgICAgaGE6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5oaWVyQWdlbnRObywgb3B0aW9uPy5hZ2VudE5hbWUpLFxuICAgICAgaWQ6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5pZCwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICBpZjogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LmlkLCBvcHRpb24/LmZ1bGxOYW1lKSxcbiAgICAgIGlmbDogKG9wdGlvbjogYW55KSA9PlxuICAgICAgICBsYWJlbGxlcihvcHRpb24/LnVzZXJJZCwgYCR7b3B0aW9uPy5maXJzdE5hbWV9ICR7b3B0aW9uPy5sYXN0TmFtZX1gKSxcbiAgICAgIGlsOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8uaWQsIG9wdGlvbj8ubGFiZWwpLFxuICAgICAgaXQ6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIob3B0aW9uPy5pZCwgb3B0aW9uPy50aXRsZSksXG4gICAgICBtZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/Lm1rdEV2ZW50Q29kZSwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICBuYTogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/Lm5vLCBvcHRpb24/LmFtb3VudCksXG4gICAgICBwZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LnBheW91dE1ldGhvZCwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICBwZXA6IChvcHRpb246IGFueSkgPT5cbiAgICAgICAgbGFiZWxsZXIob3B0aW9uPy5wZXJpbENvZGUsIG9wdGlvbj8ucGVyaWxDb2RlRGVzY3JpcHRpb24pLFxuICAgICAgcGFtOiAob3B0aW9uOiBhbnkpID0+XG4gICAgICAgIGxhYmVsbGVyKG9wdGlvbj8ucG9saWN5Tm9TdWZmaXgsIG9wdGlvbj8ubWVtYmVyTmFtZSksXG4gICAgICBuZjogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/Lm5vLCBvcHRpb24/LmZ1bGxOYW1lKSxcbiAgICAgIHRkOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8udHlwZSwgb3B0aW9uPy5kZXNjcmlwdGlvbiksXG4gICAgICB1ZDogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LnVzZXJNZW51LCBvcHRpb24/LmRlc2NyaXB0aW9uKSxcbiAgICAgIHVmOiAob3B0aW9uOiBhbnkpID0+IGxhYmVsbGVyKG9wdGlvbj8udXNlck5hbWUsIG9wdGlvbj8uZnVsbE5hbWUpLFxuICAgICAgdmw6IChvcHRpb246IGFueSkgPT4gbGFiZWxsZXIobnVsbCwgb3B0aW9uPy5sYWJlbCksXG4gICAgICB2djogKG9wdGlvbjogYW55KSA9PiBsYWJlbGxlcihvcHRpb24/LnZlcnNpb25Obywgb3B0aW9uPy52ZXJzaW9uRGF0ZSksXG4gICAgfTtcbiAgfVxuICBsYWJlbGxlciA9IEVWRnVuY3Rpb25zLnN0ckNvbmNhdGVuYXRvcjtcblxuICBvcHRpb25zRm9ybWF0dGVyID0gPFRSb3cgPSBhbnk+KFxuICAgIG9wdGlvbnM6IFRSb3dbXSxcbiAgICB2YWx1ZUZpZWxkPzogc3RyaW5nLFxuICAgIGZvcm1hdHRlcj86IChpdGVtOiBhbnkpID0+IHN0cmluZyxcbiAgICBsYWJlbFR5cGU/OiBPcHRpb25MYWJlbFR5cGUsXG4gICAgbGFiZWxGaWVsZD86IHN0cmluZyxcbiAgICBhdXRvUGlja1ZhbHVlRmllbGQ/OiBib29sZWFuLFxuICApOiBJT3B0aW9uPFRSb3c+W10gPT4ge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIGlmICghb3B0aW9ucz8ubGVuZ3RoKSByZXR1cm4gW107XG4gICAgaWYgKGZvcm1hdHRlcilcbiAgICAgIHJldHVybiBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgICB2YWx1ZTogdmFsdWVGaWVsZCAmJiBvcHRpb24gPyBvcHRpb24/Llt2YWx1ZUZpZWxkXSA6IG9wdGlvbixcbiAgICAgICAgbGFiZWw6IGZvcm1hdHRlcihvcHRpb24pLFxuICAgICAgICBvcmlnaW5hbFJvdzogb3B0aW9uLFxuICAgICAgfSkpO1xuICAgIGlmIChsYWJlbFR5cGUpXG4gICAgICByZXR1cm4gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbkxhYmVsbGVyRnVuY3Rpb25zW2xhYmVsVHlwZV0ob3B0aW9uKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHZhbHVlOiB2YWx1ZUZpZWxkXG4gICAgICAgICAgICA/IG9wdGlvbj8uW3ZhbHVlRmllbGRdXG4gICAgICAgICAgICA6IGF1dG9QaWNrVmFsdWVGaWVsZFxuICAgICAgICAgICAgICA/IGZvcm1hdHRlZE9wdGlvbi52YWx1ZVxuICAgICAgICAgICAgICA6IG9wdGlvbixcbiAgICAgICAgICBsYWJlbDogZm9ybWF0dGVkT3B0aW9uLmxhYmVsLFxuICAgICAgICAgIG9yaWdpbmFsUm93OiBvcHRpb24sXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICBpZiAobGFiZWxGaWVsZClcbiAgICAgIHJldHVybiBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgICB2YWx1ZTogdmFsdWVGaWVsZCA/IG9wdGlvbj8uW3ZhbHVlRmllbGRdIDogb3B0aW9uLFxuICAgICAgICBsYWJlbDogb3B0aW9uPy5bbGFiZWxGaWVsZF0sXG4gICAgICAgIG9yaWdpbmFsUm93OiBvcHRpb24sXG4gICAgICB9KSk7XG4gICAgcmV0dXJuIG9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICB2YWx1ZTogb3B0aW9uLFxuICAgICAgbGFiZWw6IG9wdGlvbiBhcyBzdHJpbmcsXG4gICAgICBvcmlnaW5hbFJvdzogb3B0aW9uLFxuICAgIH0pKTtcbiAgfTtcblxuICB0cmFja0J5VmFsdWUoaW5kZXgsIGl0ZW06IElPcHRpb24pIHtcbiAgICByZXR1cm4gaXRlbS52YWx1ZTtcbiAgfVxuICBsb2coZm9ybSkge1xuICAgIC8vIGlmICghZW52aXJvbm1lbnQucHJvZHVjdGlvbilcbiAgICBjb25zb2xlLmxvZyhmb3JtKTtcbiAgfVxuXG4gIGZvcm1hdFVzZXJJbnB1dChcbiAgICBlOiBFdmVudCxcbiAgICBmb3JtOiB0eXBlb2YgdGhpcy5kYXRlRlMsXG4gICAgc2hvd1RpbWU6IGJvb2xlYW4sXG4gICAgaWQ6IHN0cmluZyxcbiAgKSB7XG4gICAgdGhpcy5kZWJvdW5jZXIuZGVib3VuY2VyKHtcbiAgICAgIGNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGVTdHJpbmc6IHN0cmluZyA9IGUudGFyZ2V0Wyd2YWx1ZSddO1xuICAgICAgICAvLyBBdWcuIDEwLCAyMDIzLiAwMzowMjowMyBQTVxuICAgICAgICBpZiAoIWRhdGVTdHJpbmc/LnRyaW0oKSlcbiAgICAgICAgICBmb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgZGF0ZTogbnVsbCxcbiAgICAgICAgICAgIGhvdXJzOiBudWxsLFxuICAgICAgICAgICAgbWludXRlczogbnVsbCxcbiAgICAgICAgICAgIHNlY29uZHM6IG51bGwsXG4gICAgICAgICAgICBtZXJpZGllbTogbnVsbCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoZGF0ZVN0cmluZy5pbmNsdWRlcygnLiAnKSkge1xuICAgICAgICAgICAgICBjb25zdCBbbW9udGhDaHVuaywgZGF5WWVhckNodW5rLCB0aW1lQ2h1bmtdID1cbiAgICAgICAgICAgICAgICBkYXRlU3RyaW5nLnNwbGl0KCcuICcpO1xuICAgICAgICAgICAgICBjb25zdCBtb250aCA9XG4gICAgICAgICAgICAgICAgQ29uZmlnLlNob3J0TW9udGhzTWFwW21vbnRoQ2h1bmsudG9Mb3dlckNhc2UoKV0/Lmlzb1N0cjtcbiAgICAgICAgICAgICAgY29uc3QgW2RheSwgeWVhcl0gPSBkYXlZZWFyQ2h1bms/LnNwbGl0KCcsICcpO1xuICAgICAgICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoYCR7eWVhcn0tJHttb250aH0tJHtkYXl9YCk7XG4gICAgICAgICAgICAgIGlmIChzaG93VGltZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFtobXMsIG1lcmlkaWVtXSA9IHRpbWVDaHVuaz8uc3BsaXQoJyAnKTtcbiAgICAgICAgICAgICAgICBjb25zdCBbaG91cnMsIG1pbnV0ZXMsIHNlY29uZHNdID0gaG1zPy5zcGxpdCgnOicpO1xuICAgICAgICAgICAgICAgIGZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICAgICAgICBkYXRlLFxuICAgICAgICAgICAgICAgICAgaG91cnMsXG4gICAgICAgICAgICAgICAgICBtaW51dGVzLFxuICAgICAgICAgICAgICAgICAgc2Vjb25kcyxcbiAgICAgICAgICAgICAgICAgIG1lcmlkaWVtOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpbWVNZXJpZGllbU1hcFttZXJpZGllbT8udG9Mb3dlckNhc2UoKV0/LmluY3JlbWVudG9yLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgICAgICBmb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgZGF0ZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IGNodW5rcyA9IGRhdGVTdHJpbmcuc3BsaXQoJyAnKS5maWx0ZXIoKHgpID0+IHggIT0gJycpO1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhjaHVua3MpO1xuICAgICAgICAgICAgICAvLyBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY2h1bmtzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgICAvLyAgIGNodW5rc1tpbmRleF0gPSBjaHVua3NbaW5kZXhdLnNwbGl0KCcuJykuam9pbignJyk7XG4gICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgLy8gY29uc3QgZGF0ZUNodW5rID0gY2h1bmtzWzBdLnNwbGl0KCcvJyk7XG4gICAgICAgICAgICAgIGlmIChzaG93VGltZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRpbWVDaHVua3MgPSBjaHVua3NbMV0uc3BsaXQoJzonKTtcbiAgICAgICAgICAgICAgICBmb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgZGF0ZTogbmV3IERhdGUoXG4gICAgICAgICAgICAgICAgICAgIGNodW5rc1swXVxuICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnLycpXG4gICAgICAgICAgICAgICAgICAgICAgLnJldmVyc2UoKVxuICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGQsIGkpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAoJzAnLnJlcGVhdCh0aGlzLmRhdGVMZW5ndGhJbmRleFtpXSkgKyBkKS5zbGljZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLXRoaXMuZGF0ZUxlbmd0aEluZGV4W2ldLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgLmpvaW4oJy0nKSxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBob3VyczogdGltZUNodW5rc1swXSxcbiAgICAgICAgICAgICAgICAgIG1pbnV0ZXM6IHRpbWVDaHVua3NbMV0sXG4gICAgICAgICAgICAgICAgICBzZWNvbmRzOiB0aW1lQ2h1bmtzWzJdLFxuICAgICAgICAgICAgICAgICAgbWVyaWRpZW06XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGltZU1lcmlkaWVtTWFwW3RpbWVDaHVua3NbM10/LnRvTG93ZXJDYXNlKCldXG4gICAgICAgICAgICAgICAgICAgICAgPy5pbmNyZW1lbnRvcixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSBlbHNlXG4gICAgICAgICAgICAgICAgZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKGNodW5rc1swXS5zcGxpdCgnLycpLnJldmVyc2UoKS5qb2luKCctJykpLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coY2h1bmtzKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHVuaXF1ZUtleTogYCR7aWR9X2RhdGVGb3JtYXR0ZXJgLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9wdGlvbjxUUm93ID0gYW55PiB7XG4gIHZhbHVlOiBhbnk7XG4gIG9yaWdpbmFsUm93OiBUUm93O1xuICBsYWJlbDogc3RyaW5nO1xufVxuIl19
@@ -4990,8 +4990,8 @@ class InputService {
4990
4990
  rawValue: new FormControl(null),
4991
4991
  });
4992
4992
  }
4993
- constructor(uS) {
4994
- this.uS = uS;
4993
+ constructor(debouncer) {
4994
+ this.debouncer = debouncer;
4995
4995
  this.timeHours = ['12'];
4996
4996
  this.timeMinutes = [];
4997
4997
  this.timeSeconds = [];
@@ -5091,7 +5091,11 @@ class InputService {
5091
5091
  return options.map((option) => {
5092
5092
  const formattedOption = this.optionLabellerFunctions[labelType](option);
5093
5093
  return {
5094
- value: valueField ? option?.[valueField] : autoPickValueField ? formattedOption.value : option,
5094
+ value: valueField
5095
+ ? option?.[valueField]
5096
+ : autoPickValueField
5097
+ ? formattedOption.value
5098
+ : option,
5095
5099
  label: formattedOption.label,
5096
5100
  originalRow: option,
5097
5101
  };
@@ -5102,7 +5106,11 @@ class InputService {
5102
5106
  label: option?.[labelField],
5103
5107
  originalRow: option,
5104
5108
  }));
5105
- return options.map((option) => ({ value: option, label: option, originalRow: option }));
5109
+ return options.map((option) => ({
5110
+ value: option,
5111
+ label: option,
5112
+ originalRow: option,
5113
+ }));
5106
5114
  };
5107
5115
  for (const item of this.dateInputChunks) {
5108
5116
  item.placeholder = '-'.repeat(item.length);
@@ -5168,7 +5176,7 @@ class InputService {
5168
5176
  console.log(form);
5169
5177
  }
5170
5178
  formatUserInput(e, form, showTime, id) {
5171
- this.uS.debouncer({
5179
+ this.debouncer.debouncer({
5172
5180
  callback: () => {
5173
5181
  const dateString = e.target['value'];
5174
5182
  // Aug. 10, 2023. 03:02:03 PM
@@ -5221,7 +5229,8 @@ class InputService {
5221
5229
  hours: timeChunks[0],
5222
5230
  minutes: timeChunks[1],
5223
5231
  seconds: timeChunks[2],
5224
- meridiem: this.timeMeridiemMap[timeChunks[3]?.toLowerCase()]?.incrementor,
5232
+ meridiem: this.timeMeridiemMap[timeChunks[3]?.toLowerCase()]
5233
+ ?.incrementor,
5225
5234
  });
5226
5235
  }
5227
5236
  else
@@ -5238,7 +5247,7 @@ class InputService {
5238
5247
  uniqueKey: `${id}_dateFormatter`,
5239
5248
  });
5240
5249
  }
5241
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: InputService, deps: [{ token: UtilityService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5250
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: InputService, deps: [{ token: DebouncerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5242
5251
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: InputService, providedIn: 'root' }); }
5243
5252
  }
5244
5253
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: InputService, decorators: [{
@@ -5246,7 +5255,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
5246
5255
  args: [{
5247
5256
  providedIn: 'root',
5248
5257
  }]
5249
- }], ctorParameters: () => [{ type: UtilityService }] });
5258
+ }], ctorParameters: () => [{ type: DebouncerService }] });
5250
5259
 
5251
5260
  class FilterOptions {
5252
5261
  transform(arr = [], query, field = 'label') {