@skyux/datetime 7.5.0 → 7.6.1

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 (38) hide show
  1. package/documentation.json +68 -68
  2. package/esm2020/lib/modules/date-range-picker/date-range-picker.component.mjs +6 -6
  3. package/esm2020/lib/modules/date-range-picker/types/date-range-calculation.mjs +1 -1
  4. package/esm2020/lib/modules/date-range-picker/types/date-range-calculator-type.mjs +2 -2
  5. package/esm2020/lib/modules/date-range-picker/types/date-range-calculator.mjs +2 -2
  6. package/esm2020/lib/modules/date-range-picker/types/date-range.mjs +1 -1
  7. package/esm2020/lib/modules/datepicker/datepicker-calendar-change.mjs +1 -1
  8. package/esm2020/lib/modules/datepicker/datepicker-config.service.mjs +2 -2
  9. package/esm2020/lib/modules/datepicker/datepicker-custom-date.mjs +1 -1
  10. package/esm2020/lib/modules/datepicker/datepicker-input-fuzzy.directive.mjs +9 -9
  11. package/esm2020/lib/modules/datepicker/datepicker-input.directive.mjs +8 -8
  12. package/esm2020/lib/modules/datepicker/datepicker.service.mjs +2 -2
  13. package/esm2020/lib/modules/datepicker/daypicker-button.component.mjs +1 -1
  14. package/esm2020/lib/modules/datepicker/daypicker-cell.component.mjs +1 -1
  15. package/esm2020/lib/modules/datepicker/fuzzy-date.mjs +1 -1
  16. package/esm2020/lib/modules/timepicker/timepicker.directive.mjs +3 -3
  17. package/esm2020/lib/modules/timepicker/timepicker.interface.mjs +1 -1
  18. package/fesm2015/skyux-datetime.mjs +26 -26
  19. package/fesm2015/skyux-datetime.mjs.map +1 -1
  20. package/fesm2020/skyux-datetime.mjs +26 -26
  21. package/fesm2020/skyux-datetime.mjs.map +1 -1
  22. package/lib/modules/date-range-picker/date-range-picker.component.d.ts +6 -6
  23. package/lib/modules/date-range-picker/types/date-range-calculation.d.ts +1 -1
  24. package/lib/modules/date-range-picker/types/date-range-calculator-type.d.ts +1 -1
  25. package/lib/modules/date-range-picker/types/date-range-calculator.d.ts +4 -4
  26. package/lib/modules/date-range-picker/types/date-range.d.ts +2 -2
  27. package/lib/modules/datepicker/datepicker-calendar-change.d.ts +1 -1
  28. package/lib/modules/datepicker/datepicker-config.service.d.ts +4 -4
  29. package/lib/modules/datepicker/datepicker-custom-date.d.ts +2 -2
  30. package/lib/modules/datepicker/datepicker-input-fuzzy.directive.d.ts +8 -8
  31. package/lib/modules/datepicker/datepicker-input.directive.d.ts +7 -7
  32. package/lib/modules/datepicker/datepicker.service.d.ts +1 -1
  33. package/lib/modules/datepicker/daypicker-button.component.d.ts +1 -1
  34. package/lib/modules/datepicker/daypicker-cell.component.d.ts +2 -2
  35. package/lib/modules/datepicker/fuzzy-date.d.ts +3 -3
  36. package/lib/modules/timepicker/timepicker.directive.d.ts +3 -3
  37. package/lib/modules/timepicker/timepicker.interface.d.ts +7 -7
  38. package/package.json +8 -8
@@ -43,12 +43,12 @@ export class SkyDateRangePickerComponent {
43
43
  constructor(changeDetector, dateRangeService, formBuilder, localeProvider, ngZone, themeSvc) {
44
44
  _SkyDateRangePickerComponent_instances.add(this);
45
45
  /**
46
- * Indicates whether to require users to specify a start date.
46
+ * Whether to require users to specify a start date.
47
47
  * @default false
48
48
  */
49
49
  this.startDateRequired = false;
50
50
  /**
51
- * Indicates whether to require users to specify a end date.
51
+ * Whether to require users to specify a end date.
52
52
  * @default false
53
53
  */
54
54
  this.endDateRequired = false;
@@ -123,7 +123,7 @@ export class SkyDateRangePickerComponent {
123
123
  });
124
124
  }
125
125
  /**
126
- * Specifies IDs for the date range options to include in the picker's dropdown.
126
+ * IDs for the date range options to include in the picker's dropdown.
127
127
  * The options specify calculator objects that return two `Date` objects to represent date ranges.
128
128
  * By default, this property includes all `SkyDateRangeCalculatorId` values.
129
129
  */
@@ -157,7 +157,7 @@ export class SkyDateRangePickerComponent {
157
157
  return __classPrivateFieldGet(this, _SkyDateRangePickerComponent__calculatorIds, "f");
158
158
  }
159
159
  /**
160
- * Specifies a date format for
160
+ * The date format for
161
161
  * [the `sky-datepicker` components](https://developer.blackbaud.com/skyux/components/datepicker)
162
162
  * that make up the date range picker. The text input is a composite component of
163
163
  * up to two `sky-datepicker` components.
@@ -171,7 +171,7 @@ export class SkyDateRangePickerComponent {
171
171
  return __classPrivateFieldGet(this, _SkyDateRangePickerComponent__dateFormat, "f");
172
172
  }
173
173
  /**
174
- * Indicates whether to disable the date range picker.
174
+ * Whether to disable the date range picker.
175
175
  * @default false
176
176
  */
177
177
  set disabled(value) {
@@ -489,4 +489,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
489
489
  }], endDateRequired: [{
490
490
  type: Input
491
491
  }] } });
492
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsS0FBSyxFQUtMLFFBQVEsRUFFUixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGFBQWEsRUFDYixpQkFBaUIsRUFFakIsa0JBQWtCLEdBSW5CLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUtoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7O0FBRWhGLE1BQU0sb0NBQW9DLEdBQUc7SUFDM0MsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO0lBQzFELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0sK0JBQStC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SUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FDMUUsQ0FBQztBQUNKLENBQUM7SUFHQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsdUJBQUEsSUFBSSwrRkFBZ0I7UUFDNUMsQ0FBQyxDQUFDLHVCQUFBLElBQUksOEZBQW1CLE1BQXZCLElBQUksRUFBb0IsdUJBQUEsSUFBSSwrRkFBZ0IsQ0FBQyxZQUFZLENBQUM7UUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNoQixDQUFDO3lIQXhpQlUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsd09BTjNCO1FBQ1Qsb0NBQW9DO1FBQ3BDLCtCQUErQjtLQUNoQywrQ0NyRUgsKzRGQStGQTs0RkR2QmEsMkJBQTJCO2tCQVZ2QyxTQUFTOytCQUNFLHVCQUF1QixhQUd0Qjt3QkFDVCxvQ0FBb0M7d0JBQ3BDLCtCQUErQjtxQkFDaEMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQTZMNUMsUUFBUTs0Q0FsTEEsYUFBYTtzQkFEdkIsS0FBSztnQkF3Q0ssVUFBVTtzQkFEcEIsS0FBSztnQkFlSyxRQUFRO3NCQURsQixLQUFLO2dCQXdCQyxLQUFLO3NCQURYLEtBQUs7Z0JBUUMsaUJBQWlCO3NCQUR2QixLQUFLO2dCQVFDLGVBQWU7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBVbnR5cGVkRm9ybUdyb3VwLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUFwcExvY2FsZVByb3ZpZGVyIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpcnN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGVGb3JtYXR0ZXIgfSBmcm9tICcuLi9kYXRlcGlja2VyL2RhdGUtZm9ybWF0dGVyJztcblxuaW1wb3J0IHsgU2t5RGF0ZVJhbmdlU2VydmljZSB9IGZyb20gJy4vZGF0ZS1yYW5nZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIH0gZnJvbSAnLi90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0aW9uJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0b3IgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvcic7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvci1pZCc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZSB9IGZyb20gJy4vdHlwZXMvZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLXR5cGUnO1xuXG5jb25zdCBTS1lfREFURV9SQU5HRV9QSUNLRVJfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbmNvbnN0IFNLWV9EQVRFX1JBTkdFX1BJQ0tFUl9WQUxJREFUT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreURhdGVSYW5nZVBpY2tlckNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuLyoqXG4gKiBBY3RzIGFzIGEgZm9ybSBjb250cm9sIHdpdGggYSBmb3JtIG1vZGVsIG9mIHR5cGUgYFNreURhdGVSYW5nZUNhbGN1bGF0aW9uYC5cbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIDxza3ktZGF0ZS1yYW5nZS1waWNrZXJcbiAqICAgZm9ybUNvbnRyb2xOYW1lPVwibXlQaWNrZXJcIlxuICogPlxuICogPC9za3ktZGF0ZS1yYW5nZS1waWNrZXI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRhdGUtcmFuZ2UtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU0tZX0RBVEVfUkFOR0VfUElDS0VSX1ZBTFVFX0FDQ0VTU09SLFxuICAgIFNLWV9EQVRFX1JBTkdFX1BJQ0tFUl9WQUxJREFUT1IsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yXG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgSURzIGZvciB0aGUgZGF0ZSByYW5nZSBvcHRpb25zIHRvIGluY2x1ZGUgaW4gdGhlIHBpY2tlcidzIGRyb3Bkb3duLlxuICAgKiBUaGUgb3B0aW9ucyBzcGVjaWZ5IGNhbGN1bGF0b3Igb2JqZWN0cyB0aGF0IHJldHVybiB0d28gYERhdGVgIG9iamVjdHMgdG8gcmVwcmVzZW50IGRhdGUgcmFuZ2VzLlxuICAgKiBCeSBkZWZhdWx0LCB0aGlzIHByb3BlcnR5IGluY2x1ZGVzIGFsbCBgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkYCB2YWx1ZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNhbGN1bGF0b3JJZHModmFsdWU6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZFtdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2NhbGN1bGF0b3JJZHMgPSB2YWx1ZSB8fCBbXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQW55VGltZSxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5CZWZvcmUsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQWZ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuU3BlY2lmaWNSYW5nZSxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5ZZXN0ZXJkYXksXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9kYXksXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9tb3Jyb3csXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdFdlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1dlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dFdlZWssXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdE1vbnRoLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNNb250aCxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0TW9udGgsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdFF1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1F1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dFF1YXJ0ZXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdENhbGVuZGFyWWVhcixcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzQ2FsZW5kYXJZZWFyLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRDYWxlbmRhclllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdEZpc2NhbFllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc0Zpc2NhbFllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dEZpc2NhbFllYXIsXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FsY3VsYXRvcklkcygpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWRbXSB7XG4gICAgcmV0dXJuIHRoaXMuI19jYWxjdWxhdG9ySWRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGRhdGUgZm9ybWF0IGZvclxuICAgKiBbdGhlIGBza3ktZGF0ZXBpY2tlcmAgY29tcG9uZW50c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2RhdGVwaWNrZXIpXG4gICAqIHRoYXQgbWFrZSB1cCB0aGUgZGF0ZSByYW5nZSBwaWNrZXIuIFRoZSB0ZXh0IGlucHV0IGlzIGEgY29tcG9zaXRlIGNvbXBvbmVudCBvZlxuICAgKiB1cCB0byB0d28gYHNreS1kYXRlcGlja2VyYCBjb21wb25lbnRzLlxuICAgKiBAZGVmYXVsdCBcIk1NL0REL1lZWVlcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRlRm9ybWF0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGF0ZUZvcm1hdCA9IHZhbHVlO1xuICAgIHRoaXMuZGF0ZUZvcm1hdE9yRGVmYXVsdCA9IHZhbHVlIHx8IHRoaXMuI3ByZWZlcnJlZFNob3J0RGF0ZUZvcm1hdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZUZvcm1hdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGF0ZUZvcm1hdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSBkYXRlIHJhbmdlIHBpY2tlci5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cCkge1xuICAgICAgaWYgKHRoaXMuI19kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBsYWJlbCBmb3IgdGhlIGRhdGUgcmFuZ2UgcGlja2VyLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byByZXF1aXJlIHVzZXJzIHRvIHNwZWNpZnkgYSBzdGFydCBkYXRlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0RGF0ZVJlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIHJlcXVpcmUgdXNlcnMgdG8gc3BlY2lmeSBhIGVuZCBkYXRlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGVuZERhdGVSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZWxlY3RlZENhbGN1bGF0b3I6IFNreURhdGVSYW5nZUNhbGN1bGF0b3IgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGVSYW5nZVBpY2tlcklkID0gYHNreS1kYXRlLXJhbmdlLXBpY2tlci0ke3VuaXF1ZUlkKyt9YDtcblxuICBwdWJsaWMgY2FsY3VsYXRvcnM6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JbXSA9IFtdO1xuICBwdWJsaWMgZGF0ZUZvcm1hdE9yRGVmYXVsdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgaXNSZWFkeSA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd0VuZERhdGVQaWNrZXIgPSBmYWxzZTtcbiAgcHVibGljIHNob3dTdGFydERhdGVQaWNrZXIgPSBmYWxzZTtcblxuICBnZXQgI2NhbGN1bGF0b3JJZENvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ2NhbGN1bGF0b3JJZCcpO1xuICB9XG5cbiAgZ2V0ICNkZWZhdWx0Q2FsY3VsYXRvcigpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdG9yc1swXTtcbiAgfVxuXG4gIGdldCAjZGVmYXVsdFZhbHVlKCk6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jZGVmYXVsdENhbGN1bGF0b3I/LmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgI2VuZERhdGVDb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cD8uZ2V0KCdlbmREYXRlJyk7XG4gIH1cblxuICBnZXQgI3N0YXJ0RGF0ZUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwPy5nZXQoJ3N0YXJ0RGF0ZScpO1xuICB9XG5cbiAgI3ZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZDtcblxuICBzZXQgI3ZhbHVlT3JEZWZhdWx0KHZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI192YWx1ZU9yRGVmYXVsdCA9IHZhbHVlO1xuICAgIHRoaXMuI3VwZGF0ZVNlbGVjdGVkQ2FsY3VsYXRvcigpO1xuICB9XG5cbiAgZ2V0ICN2YWx1ZU9yRGVmYXVsdCgpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI192YWx1ZU9yRGVmYXVsdDtcbiAgfVxuXG4gICNjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQ7XG4gICNwcmVmZXJyZWRTaG9ydERhdGVGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfY2FsY3VsYXRvcklkczogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkW10gPSBbXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLkFueVRpbWUsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLkJlZm9yZSxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuQWZ0ZXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlNwZWNpZmljUmFuZ2UsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlllc3RlcmRheSxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVG9kYXksXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRvbW9ycm93LFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0V2VlayxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1dlZWssXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRXZWVrLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0TW9udGgsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNNb250aCxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dE1vbnRoLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0UXVhcnRlcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc1F1YXJ0ZXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRRdWFydGVyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0Q2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzQ2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0Q2FsZW5kYXJZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0RmlzY2FsWWVhcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc0Zpc2NhbFllYXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRGaXNjYWxZZWFyLFxuICBdO1xuICAjX2RhdGVGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI19kaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuICAjX3ZhbHVlT3JEZWZhdWx0OiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZGF0ZVJhbmdlU2VydmljZTogU2t5RGF0ZVJhbmdlU2VydmljZTtcbiAgI2Zvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXI7XG4gICNsb2NhbGVQcm92aWRlcjogU2t5QXBwTG9jYWxlUHJvdmlkZXI7XG4gICNuZ1pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgZGF0ZVJhbmdlU2VydmljZTogU2t5RGF0ZVJhbmdlU2VydmljZSxcbiAgICBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIGxvY2FsZVByb3ZpZGVyOiBTa3lBcHBMb2NhbGVQcm92aWRlcixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2RhdGVSYW5nZVNlcnZpY2UgPSBkYXRlUmFuZ2VTZXJ2aWNlO1xuICAgIHRoaXMuI2Zvcm1CdWlsZGVyID0gZm9ybUJ1aWxkZXI7XG4gICAgdGhpcy4jbG9jYWxlUHJvdmlkZXIgPSBsb2NhbGVQcm92aWRlcjtcbiAgICB0aGlzLiNuZ1pvbmUgPSBuZ1pvbmU7XG5cbiAgICB0aGlzLmRhdGVGb3JtYXRPckRlZmF1bHQgPSB0aGlzLmRhdGVGb3JtYXQ7XG5cbiAgICB0aGlzLiNsb2NhbGVQcm92aWRlclxuICAgICAgLmdldExvY2FsZUluZm8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlSW5mbykgPT4ge1xuICAgICAgICBTa3lEYXRlRm9ybWF0dGVyLnNldExvY2FsZShsb2NhbGVJbmZvLmxvY2FsZSk7XG4gICAgICAgIHRoaXMuI3ByZWZlcnJlZFNob3J0RGF0ZUZvcm1hdCA9XG4gICAgICAgICAgU2t5RGF0ZUZvcm1hdHRlci5nZXRQcmVmZXJyZWRTaG9ydERhdGVGb3JtYXQoKTtcbiAgICAgICAgdGhpcy5kYXRlRm9ybWF0T3JEZWZhdWx0ID1cbiAgICAgICAgICB0aGlzLmRhdGVGb3JtYXQgfHwgdGhpcy4jcHJlZmVycmVkU2hvcnREYXRlRm9ybWF0O1xuICAgICAgfSk7XG5cbiAgICAvLyBVcGRhdGUgaWNvbnMgd2hlbiB0aGVtZSBjaGFuZ2VzLlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdGhlbWVTdmM/LnNldHRpbmdzQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNjcmVhdGVGb3JtKCk7XG5cbiAgICB0aGlzLiN1cGRhdGVDYWxjdWxhdG9ycygpLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLiN2YWx1ZSB8fCAhdGhpcy4jdmFsdWUuY2FsY3VsYXRvcklkKSB7XG4gICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0ID0gdGhpcy4jZGVmYXVsdFZhbHVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNhZGRFdmVudExpc3RlbmVycygpO1xuXG4gICAgICB0aGlzLmlzUmVhZHkgPSB0cnVlO1xuXG4gICAgICB0aGlzLiNzaG93UmVsZXZhbnRGb3JtRmllbGRzKCk7XG5cbiAgICAgIC8vIFdlIG5lZWQgdG8gbGV0IEFuZ3VsYXIgYmUgc3RhYmxlIGFuZCBoYXZlIHJlbmRlcmVkIHRoZSBjb21wb25lbnRzIHByaW9yIHRvIHNldHRpbmcgdGhlIHZhbHVlcyBhbmQgZm9ybSBjb250cm9scy4gVGhpcyBlbnN1cmVzIGFsbCBpbml0aWFsIHZhbGlkYXRpb24gd2lsbCBiZSByYW4gY29ycmVjdGx5LlxuICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gRmlsbCBpbiBhbnkgdW5wcm92aWRlZCB2YWx1ZXMgYWZ0ZXIgdGhlIGNhbGN1bGF0b3JzIGhhdmUgYmVlbiBpbml0aWFsaXplZC5cbiAgICAgICAgLy8gRm9yIGV4YW1wbGUsIGlmIHRoZSBjb250cm9sIGlzIGluaXRpYWxpemVkIHdpdGggb25seSB0aGUgYGNhbGN1bGF0b3JJZGAsXG4gICAgICAgIC8vIGFsbG93IHRoZSBjYWxjdWxhdG9yIHRvIGZpbGwgaW4gdGhlIG1pc3Npbmcgc3RhcnQgYW5kIGVuZCBkYXRlcy5cbiAgICAgICAgY29uc3QgZGVmYXVsdFZhbHVlID0gdGhpcy5zZWxlY3RlZENhbGN1bGF0b3I/LmdldFZhbHVlKFxuICAgICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0Py5zdGFydERhdGUsXG4gICAgICAgICAgdGhpcy4jdmFsdWVPckRlZmF1bHQ/LmVuZERhdGVcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0VmFsdWUsIHRoaXMuI3ZhbHVlT3JEZWZhdWx0KTtcblxuICAgICAgICB0aGlzLiNzZXRWYWx1ZShuZXdWYWx1ZSwgZmFsc2UpO1xuXG4gICAgICAgIHRoaXMuI3Jlc2V0Rm9ybUdyb3VwVmFsdWUoKTtcblxuICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBhZGRyZXNzIGEgYnVnIGluIEFuZ3VsYXIgNC5cbiAgICAgICAgLy8gV2hlbiBhIGNvbnRyb2wgdmFsdWUgaXMgc2V0IGluaXRpYWxseSwgaXRzIHZhbHVlIGlzIG5vdCByZXByZXNlbnRlZCBvbiB0aGUgdmlldy5cbiAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xMzc5MlxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGhpcy4jY29udHJvbCkge1xuICAgICAgICAgIHRoaXMuI2NvbnRyb2wuc2V0VmFsdWUodGhpcy4jdmFsdWVPckRlZmF1bHQsIHtcbiAgICAgICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5jYWxjdWxhdG9ySWRzICYmIGNoYW5nZXMuY2FsY3VsYXRvcklkcy5maXJzdENoYW5nZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuI3VwZGF0ZUNhbGN1bGF0b3JzKCkudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy4jY2FsY3VsYXRvcklkQ29udHJvbD8udmFsdWU7XG5cbiAgICAgICAgLy8gTWFpbnRhaW4gdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB2YWx1ZXMgaWYgdGhlIGNhbGN1bGF0b3JzIGNoYW5nZSBhZnRlclxuICAgICAgICAvLyBhIHZhbHVlIGhhcyBiZWVuIGNob3Nlbi5cbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLmNhbGN1bGF0b3JzLmZpbmQoKGNhbGN1bGF0b3IpID0+IHtcbiAgICAgICAgICByZXR1cm4gY2FsY3VsYXRvci5jYWxjdWxhdG9ySWQgPT09IGlkO1xuICAgICAgICB9KTtcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLiNkZWZhdWx0Q2FsY3VsYXRvcj8uZ2V0VmFsdWUoKTtcbiAgICAgICAgICB0aGlzLiNzZXRWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgdGhpcy4jcmVzZXRGb3JtR3JvdXBWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgdGhpcy4jc2hvd1JlbGV2YW50Rm9ybUZpZWxkcygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uRmllbGRCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuI29uVG91Y2hlZCgpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uKTogdm9pZCB7XG4gICAgLy8gT25seSB1cGRhdGUgdGhlIHVuZGVybHlpbmcgY29udHJvbHMgd2hlbiB0aGUgY2FsY3VsYXRvcnMgYXJlIHJlYWR5LlxuICAgIGNvbnN0IG5vdGlmeUNoYW5nZSA9IGZhbHNlO1xuXG4gICAgLy8gKFdlIHN0aWxsIG5lZWQgdG8gc2F2ZSB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgYnkgdGhlIGNvbnN1bWVyJ3MgZm9ybSwgaG93ZXZlci4pXG4gICAgdGhpcy4jc2V0VmFsdWUodmFsdWUsIG5vdGlmeUNoYW5nZSk7XG5cbiAgICBpZiAodGhpcy5pc1JlYWR5KSB7XG4gICAgICAvLyBXaGVuIHRoZSBjb250cm9sJ3MgdmFsdWUgaXMgc2V0IHRvIGBudWxsYCxcbiAgICAgIC8vIHNldCBpdCB0byB0aGUgZGVmYXVsdCB2YWx1ZS5cbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgdGhpcy4jb25DaGFuZ2UodGhpcy4jZGVmYXVsdFZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy4jcmVzZXRGb3JtR3JvdXBWYWx1ZSgpO1xuICAgICAgdGhpcy4jc2hvd1JlbGV2YW50Rm9ybUZpZWxkcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLiNjb250cm9sKSB7XG4gICAgICB0aGlzLiNjb250cm9sID0gY29udHJvbDtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNSZWFkeSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIGNvbnN0IGlkQ29udHJvbCA9IHRoaXMuI2NhbGN1bGF0b3JJZENvbnRyb2w7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5zZWxlY3RlZENhbGN1bGF0b3I/LnZhbGlkYXRlKHZhbHVlKTtcblxuICAgIGxldCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGVycm9ycyA9IHtcbiAgICAgICAgc2t5RGF0ZVJhbmdlOiB7XG4gICAgICAgICAgY2FsY3VsYXRvcklkOiBpZENvbnRyb2w/LnZhbHVlLFxuICAgICAgICAgIGVycm9yczogcmVzdWx0LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHN0YXJ0RXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG4gICAgICBsZXQgZW5kRXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG4gICAgICBpZiAodGhpcy4jc3RhcnREYXRlQ29udHJvbCkge1xuICAgICAgICBzdGFydEVycm9ycyA9IHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2wuZXJyb3JzO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuI2VuZERhdGVDb250cm9sKSB7XG4gICAgICAgIGVuZEVycm9ycyA9IHRoaXMuI2VuZERhdGVDb250cm9sLmVycm9ycztcbiAgICAgIH1cblxuICAgICAgZXJyb3JzID0gc3RhcnRFcnJvcnMgfHwgZW5kRXJyb3JzO1xuICAgIH1cblxuICAgIGlmICghZXJyb3JzKSB7XG4gICAgICAvLyBDbGVhciBhbnkgZXJyb3JzIG9uIHRoZSBjYWxjdWxhdG9yIHNlbGVjdC5cbiAgICAgIGlkQ29udHJvbD8uc2V0RXJyb3JzKG51bGwpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWRDb250cm9sPy5zZXRFcnJvcnMoZXJyb3JzKTtcbiAgICBpZENvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICBpZENvbnRyb2w/Lm1hcmtBc0RpcnR5KCk7XG5cbiAgICAvLyBOZWVkIHRvIG1hcmsgdGhlIGNvbnRyb2wgYXMgdG91Y2hlZCBmb3IgdGhlIGVycm9yIG1lc3NhZ2VzIHRvIGFwcGVhci5cbiAgICB0aGlzLiNjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcblxuICAgIC8vIE5vdGlmeSB0aGUgdmlldyB0byBkaXNwbGF5IGFueSBlcnJvcnMuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoXG4gICAgZm46ICh2YWx1ZTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQpID0+IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uXG4gICk6IHZvaWQge1xuICAgIHRoaXMuI29uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uKTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxuXG4gICNzZXRWYWx1ZShcbiAgICB2YWx1ZTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQsXG4gICAgbm90aWZ5Q2hhbmdlID0gdHJ1ZVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBpc05ld1ZhbHVlID0gIXRoaXMuI2RhdGVSYW5nZXNFcXVhbCh0aGlzLiN2YWx1ZSwgdmFsdWUpO1xuXG4gICAgaWYgKGlzTmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuI3ZhbHVlID0gdmFsdWU7XG4gICAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLmNhbGN1bGF0b3JJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0ID0gdGhpcy4jZGVmYXVsdFZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jdmFsdWVPckRlZmF1bHQgPSB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vdGlmeUNoYW5nZSkge1xuICAgICAgICB0aGlzLiNvbkNoYW5nZSh0aGlzLiN2YWx1ZU9yRGVmYXVsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3BhdGNoVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy4jdmFsdWVPckRlZmF1bHQsIHZhbHVlKTtcblxuICAgIHRoaXMuI3NldFZhbHVlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gICNjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy4jZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgY2FsY3VsYXRvcklkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCksXG4gICAgICBzdGFydERhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcbiAgICAgIGVuZERhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKSxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgI3Nob3dSZWxldmFudEZvcm1GaWVsZHMoKTogdm9pZCB7XG4gICAgY29uc3QgY2FsY3VsYXRvciA9IHRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yO1xuXG4gICAgbGV0IHNob3dFbmREYXRlUGlja2VyID0gZmFsc2U7XG4gICAgbGV0IHNob3dTdGFydERhdGVQaWNrZXIgPSBmYWxzZTtcblxuICAgIHN3aXRjaCAoY2FsY3VsYXRvcj8udHlwZSkge1xuICAgICAgY2FzZSBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZS5CZWZvcmU6XG4gICAgICAgIHNob3dFbmREYXRlUGlja2VyID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvclR5cGUuQWZ0ZXI6XG4gICAgICAgIHNob3dTdGFydERhdGVQaWNrZXIgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZS5SYW5nZTpcbiAgICAgICAgc2hvd0VuZERhdGVQaWNrZXIgPSB0cnVlO1xuICAgICAgICBzaG93U3RhcnREYXRlUGlja2VyID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd0VuZERhdGVQaWNrZXIgPSBzaG93RW5kRGF0ZVBpY2tlcjtcbiAgICB0aGlzLnNob3dTdGFydERhdGVQaWNrZXIgPSBzaG93U3RhcnREYXRlUGlja2VyO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI3Jlc2V0Rm9ybUdyb3VwVmFsdWUodmFsdWU/OiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbik6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwPy5yZXNldCh2YWx1ZSB8fCB0aGlzLiN2YWx1ZU9yRGVmYXVsdCk7XG4gIH1cblxuICAjYWRkRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgLy8gV2F0Y2ggZm9yIHNlbGVjdGVkIGNhbGN1bGF0b3IgY2hhbmdlLlxuICAgIHRoaXMuI2NhbGN1bGF0b3JJZENvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLiN2YWx1ZU9yRGVmYXVsdD8uY2FsY3VsYXRvcklkKSB7XG4gICAgICAgICAgY29uc3QgaWQgPSBwYXJzZUludCh2YWx1ZSwgMTApO1xuICAgICAgICAgIC8vIGlmIHRoZSBjb21wb25lbnQgaXMgZGlzYWJsZWQgZHVyaW5nIGZvcm0gY3JlYXRpb24sIG51bGwgaXMgcGFzc2VkXG4gICAgICAgICAgLy8gYXMgdGhlIHZhbHVlIG9mIHRoZSBjYWxjdWxhdG9yIGlkIGNvbnRyb2xcbiAgICAgICAgICAvLyBvbmx5IGhhbmRsZSB0aGUgdmFsdWUgY2hhbmdlcyBpZiB0aGUgY2FsY3VsYXRvciBpZCBpcyBhIG51bWJlclxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCFpc05hTihpZCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhbGN1bGF0b3IgPSB0aGlzLiNnZXRDYWxjdWxhdG9yQnlJZChpZCk7XG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNhbGN1bGF0b3I/LmdldFZhbHVlKCk7XG5cbiAgICAgICAgICAgIHRoaXMuI3NldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuI3Jlc2V0Rm9ybUdyb3VwVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICAgICAgdGhpcy4jc2hvd1JlbGV2YW50Rm9ybUZpZWxkcygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAvLyBXYXRjaCBmb3Igc3RhcnQgZGF0ZSB2YWx1ZSBjaGFuZ2VzLlxuICAgIHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhcnREYXRlKSA9PiB7XG4gICAgICAgIHRoaXMuI3BhdGNoVmFsdWUoeyBzdGFydERhdGUgfSk7XG4gICAgICB9KTtcblxuICAgIC8vIFdhdGNoIGZvciBlbmQgZGF0ZSB2YWx1ZSBjaGFuZ2VzLlxuICAgIHRoaXMuI2VuZERhdGVDb250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGVuZERhdGUpID0+IHtcbiAgICAgICAgdGhpcy4jcGF0Y2hWYWx1ZSh7IGVuZERhdGUgfSk7XG4gICAgICB9KTtcblxuICAgIC8vIFNhZmV0eSBjaGVja1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2wgJiYgdGhpcy4jZW5kRGF0ZUNvbnRyb2wpIHtcbiAgICAgIC8vIERldGVjdCBlcnJvcnMgZnJvbSB0aGUgZGF0ZSBpbnB1dHMgYW5kIHVwZGF0ZSBuZy0gY2xhc3NlcyBvbiBwaWNrZXIuXG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy4jc3RhcnREYXRlQ29udHJvbC5zdGF0dXNDaGFuZ2VzLFxuICAgICAgICB0aGlzLiNlbmREYXRlQ29udHJvbC5zdGF0dXNDaGFuZ2VzLFxuICAgICAgXSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVCYXNlZE9uQ29udHJvbHMoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLiNzdGFydERhdGVDb250cm9sKSB7XG4gICAgICB0aGlzLiNzdGFydERhdGVDb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVCYXNlZE9uQ29udHJvbHMoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLiNlbmREYXRlQ29udHJvbCkge1xuICAgICAgdGhpcy4jZW5kRGF0ZUNvbnRyb2wuc3RhdHVzQ2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUJhc2VkT25Db250cm9scygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjdXBkYXRlQmFzZWRPbkNvbnRyb2xzKCk6IHZvaWQge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgLy8gV2FpdCBmb3IgaW5pdGlhbCB2YWxpZGF0aW9uIHRvIGNvbXBsZXRlLlxuICAgIHRoaXMuI25nWm9uZS5vblN0YWJsZS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLiNjb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9KTtcbiAgfVxuXG4gICN1cGRhdGVDYWxjdWxhdG9ycygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jZGF0ZVJhbmdlU2VydmljZVxuICAgICAgLmdldENhbGN1bGF0b3JzKHRoaXMuY2FsY3VsYXRvcklkcylcbiAgICAgIC50aGVuKChjYWxjdWxhdG9ycykgPT4ge1xuICAgICAgICB0aGlzLmNhbGN1bGF0b3JzID0gY2FsY3VsYXRvcnM7XG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IGFueSBwcmV2aW91c2x5IHNldCB2YWx1ZSBpcyB1c2VkIHRvIGRldGVybWluZSB0aGUgc2VsZWN0ZWQgY2FsY3VsYXRvclxuICAgICAgICB0aGlzLiN1cGRhdGVTZWxlY3RlZENhbGN1bGF0b3IoKTtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gICNnZXRDYWxjdWxhdG9yQnlJZChcbiAgICBpZDogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkXG4gICk6IFNreURhdGVSYW5nZUNhbGN1bGF0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNhbGN1bGF0b3JzLmZpbmQoKGNhbGN1bGF0b3IpID0+IHtcbiAgICAgIHJldHVybiBjYWxjdWxhdG9yLmNhbGN1bGF0b3JJZCA9PT0gaWQ7XG4gICAgfSk7XG4gIH1cblxuICAjZGF0ZVJhbmdlc0VxdWFsKFxuICAgIHJhbmdlQTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQsXG4gICAgcmFuZ2VCOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZFxuICApOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISFyYW5nZUEgJiYgISFyYW5nZUIgJiYgSlNPTi5zdHJpbmdpZnkocmFuZ2VBKSA9PT0gSlNPTi5zdHJpbmdpZnkocmFuZ2VCKVxuICAgICk7XG4gIH1cblxuICAjdXBkYXRlU2VsZWN0ZWRDYWxjdWxhdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yID0gdGhpcy4jdmFsdWVPckRlZmF1bHRcbiAgICAgID8gdGhpcy4jZ2V0Q2FsY3VsYXRvckJ5SWQodGhpcy4jdmFsdWVPckRlZmF1bHQuY2FsY3VsYXRvcklkKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgI29uQ2hhbmdlID0gKF86IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHwgdW5kZWZpbmVkKTogdm9pZCA9PiB7fTtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAjb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiaXNSZWFkeSAmJiBmb3JtR3JvdXBcIlxuICBjbGFzcz1cInNreS1kYXRlLXJhbmdlLXBpY2tlclwiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbj5cbiAgPGRpdiBjbGFzcz1cInNreS1kYXRlLXJhbmdlLXBpY2tlci1mb3JtLWdyb3VwXCI+XG4gICAgPHNreS1pbnB1dC1ib3g+XG4gICAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgIFthdHRyLmZvcl09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctc2VsZWN0LWNhbGN1bGF0b3InXCJcbiAgICAgID5cbiAgICAgICAge3sgbGFiZWwgfHwgJ3NreXV4X2RhdGVfcmFuZ2VfcGlja2VyX2RlZmF1bHRfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICA8L2xhYmVsPlxuICAgICAgPHNlbGVjdFxuICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjYWxjdWxhdG9ySWRcIlxuICAgICAgICBbYXR0ci5pZF09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctc2VsZWN0LWNhbGN1bGF0b3InXCJcbiAgICAgICAgKGJsdXIpPVwib25GaWVsZEJsdXIoKVwiXG4gICAgICA+XG4gICAgICAgIDxvcHRpb25cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY2FsY3VsYXRvciBvZiBjYWxjdWxhdG9yc1wiXG4gICAgICAgICAgW3ZhbHVlXT1cImNhbGN1bGF0b3IuY2FsY3VsYXRvcklkXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGNhbGN1bGF0b3Iuc2hvcnREZXNjcmlwdGlvbiB9fVxuICAgICAgICA8L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvc2t5LWlucHV0LWJveD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNreS1kYXRlLXJhbmdlLXBpY2tlci1mb3JtLWdyb3VwXCIgW2hpZGRlbl09XCIhc2hvd1N0YXJ0RGF0ZVBpY2tlclwiPlxuICAgIDxza3ktaW5wdXQtYm94PlxuICAgICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICAgICAgICBbYXR0ci5mb3JdPVwiZGF0ZVJhbmdlUGlja2VySWQgKyAnLXN0YXJ0LWRhdGUnXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnOiBzdGFydERhdGVSZXF1aXJlZCB9XCJcbiAgICAgID5cbiAgICAgICAge3tcbiAgICAgICAgICBzZWxlY3RlZENhbGN1bGF0b3I/LnR5cGVcbiAgICAgICAgICAgIHwgc2t5RGF0ZVJhbmdlUGlja2VyU3RhcnREYXRlUmVzb3VyY2VLZXlcbiAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgIH19XG4gICAgICA8L2xhYmVsPlxuXG4gICAgICA8c2t5LWRhdGVwaWNrZXI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInN0YXJ0RGF0ZVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgIHNlbGVjdGVkQ2FsY3VsYXRvcj8udHlwZVxuICAgICAgICAgICAgICB8IHNreURhdGVSYW5nZVBpY2tlclN0YXJ0RGF0ZVJlc291cmNlS2V5XG4gICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgXCJcbiAgICAgICAgICBbYXR0ci5pZF09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctc3RhcnQtZGF0ZSdcIlxuICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cImRhdGVGb3JtYXRPckRlZmF1bHRcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCIhIXN0YXJ0RGF0ZVJlcXVpcmVkXCJcbiAgICAgICAgICBbZGF0ZUZvcm1hdF09XCJkYXRlRm9ybWF0T3JEZWZhdWx0XCJcbiAgICAgICAgICAoYmx1cik9XCJvbkZpZWxkQmx1cigpXCJcbiAgICAgICAgICBza3lEYXRlcGlja2VySW5wdXRcbiAgICAgICAgLz5cbiAgICAgIDwvc2t5LWRhdGVwaWNrZXI+XG4gICAgPC9za3ktaW5wdXQtYm94PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwic2t5LWRhdGUtcmFuZ2UtcGlja2VyLWZvcm0tZ3JvdXBcIiBbaGlkZGVuXT1cIiFzaG93RW5kRGF0ZVBpY2tlclwiPlxuICAgIDxza3ktaW5wdXQtYm94PlxuICAgICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICAgICAgICBbYXR0ci5mb3JdPVwiZGF0ZVJhbmdlUGlja2VySWQgKyAnLWVuZC1kYXRlJ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NreS1jb250cm9sLWxhYmVsLXJlcXVpcmVkJzogZW5kRGF0ZVJlcXVpcmVkIH1cIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgIHNlbGVjdGVkQ2FsY3VsYXRvcj8udHlwZVxuICAgICAgICAgICAgfCBza3lEYXRlUmFuZ2VQaWNrZXJFbmREYXRlUmVzb3VyY2VLZXlcbiAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgIH19XG4gICAgICA8L2xhYmVsPlxuXG4gICAgICA8c2t5LWRhdGVwaWNrZXI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVuZERhdGVcIlxuICAgICAgICAgIHNreURhdGVwaWNrZXJJbnB1dFxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICBzZWxlY3RlZENhbGN1bGF0b3I/LnR5cGVcbiAgICAgICAgICAgICAgfCBza3lEYXRlUmFuZ2VQaWNrZXJFbmREYXRlUmVzb3VyY2VLZXlcbiAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLmlkXT1cImRhdGVSYW5nZVBpY2tlcklkICsgJy1lbmQtZGF0ZSdcIlxuICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cImRhdGVGb3JtYXRPckRlZmF1bHRcIlxuICAgICAgICAgIFtkYXRlRm9ybWF0XT1cImRhdGVGb3JtYXRPckRlZmF1bHRcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCIhIWVuZERhdGVSZXF1aXJlZFwiXG4gICAgICAgICAgKGJsdXIpPVwib25GaWVsZEJsdXIoKVwiXG4gICAgICAgIC8+XG4gICAgICA8L3NreS1kYXRlcGlja2VyPlxuICAgIDwvc2t5LWlucHV0LWJveD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
492
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsS0FBSyxFQUtMLFFBQVEsRUFFUixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGFBQWEsRUFDYixpQkFBaUIsRUFFakIsa0JBQWtCLEdBSW5CLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUtoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7O0FBRWhGLE1BQU0sb0NBQW9DLEdBQUc7SUFDM0MsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO0lBQzFELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0sK0JBQStC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SUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FDMUUsQ0FBQztBQUNKLENBQUM7SUFHQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsdUJBQUEsSUFBSSwrRkFBZ0I7UUFDNUMsQ0FBQyxDQUFDLHVCQUFBLElBQUksOEZBQW1CLE1BQXZCLElBQUksRUFBb0IsdUJBQUEsSUFBSSwrRkFBZ0IsQ0FBQyxZQUFZLENBQUM7UUFDNUQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNoQixDQUFDO3lIQXhpQlUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsd09BTjNCO1FBQ1Qsb0NBQW9DO1FBQ3BDLCtCQUErQjtLQUNoQywrQ0NyRUgsKzRGQStGQTs0RkR2QmEsMkJBQTJCO2tCQVZ2QyxTQUFTOytCQUNFLHVCQUF1QixhQUd0Qjt3QkFDVCxvQ0FBb0M7d0JBQ3BDLCtCQUErQjtxQkFDaEMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQTZMNUMsUUFBUTs0Q0FsTEEsYUFBYTtzQkFEdkIsS0FBSztnQkF3Q0ssVUFBVTtzQkFEcEIsS0FBSztnQkFlSyxRQUFRO3NCQURsQixLQUFLO2dCQXdCQyxLQUFLO3NCQURYLEtBQUs7Z0JBUUMsaUJBQWlCO3NCQUR2QixLQUFLO2dCQVFDLGVBQWU7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBVbnR5cGVkRm9ybUdyb3VwLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUFwcExvY2FsZVByb3ZpZGVyIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpcnN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGVGb3JtYXR0ZXIgfSBmcm9tICcuLi9kYXRlcGlja2VyL2RhdGUtZm9ybWF0dGVyJztcblxuaW1wb3J0IHsgU2t5RGF0ZVJhbmdlU2VydmljZSB9IGZyb20gJy4vZGF0ZS1yYW5nZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIH0gZnJvbSAnLi90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0aW9uJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0b3IgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvcic7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvci1pZCc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yVHlwZSB9IGZyb20gJy4vdHlwZXMvZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLXR5cGUnO1xuXG5jb25zdCBTS1lfREFURV9SQU5HRV9QSUNLRVJfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbmNvbnN0IFNLWV9EQVRFX1JBTkdFX1BJQ0tFUl9WQUxJREFUT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreURhdGVSYW5nZVBpY2tlckNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuLyoqXG4gKiBBY3RzIGFzIGEgZm9ybSBjb250cm9sIHdpdGggYSBmb3JtIG1vZGVsIG9mIHR5cGUgYFNreURhdGVSYW5nZUNhbGN1bGF0aW9uYC5cbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIDxza3ktZGF0ZS1yYW5nZS1waWNrZXJcbiAqICAgZm9ybUNvbnRyb2xOYW1lPVwibXlQaWNrZXJcIlxuICogPlxuICogPC9za3ktZGF0ZS1yYW5nZS1waWNrZXI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRhdGUtcmFuZ2UtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU0tZX0RBVEVfUkFOR0VfUElDS0VSX1ZBTFVFX0FDQ0VTU09SLFxuICAgIFNLWV9EQVRFX1JBTkdFX1BJQ0tFUl9WQUxJREFUT1IsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yXG57XG4gIC8qKlxuICAgKiBJRHMgZm9yIHRoZSBkYXRlIHJhbmdlIG9wdGlvbnMgdG8gaW5jbHVkZSBpbiB0aGUgcGlja2VyJ3MgZHJvcGRvd24uXG4gICAqIFRoZSBvcHRpb25zIHNwZWNpZnkgY2FsY3VsYXRvciBvYmplY3RzIHRoYXQgcmV0dXJuIHR3byBgRGF0ZWAgb2JqZWN0cyB0byByZXByZXNlbnQgZGF0ZSByYW5nZXMuXG4gICAqIEJ5IGRlZmF1bHQsIHRoaXMgcHJvcGVydHkgaW5jbHVkZXMgYWxsIGBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWRgIHZhbHVlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2FsY3VsYXRvcklkcyh2YWx1ZTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfY2FsY3VsYXRvcklkcyA9IHZhbHVlIHx8IFtcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5BbnlUaW1lLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLkJlZm9yZSxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5BZnRlcixcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5TcGVjaWZpY1JhbmdlLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlllc3RlcmRheSxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5Ub2RheSxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5Ub21vcnJvdyxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0V2VlayxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzV2VlayxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0V2VlayxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0TW9udGgsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc01vbnRoLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRNb250aCxcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0UXVhcnRlcixcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzUXVhcnRlcixcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0UXVhcnRlcixcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0Q2FsZW5kYXJZZWFyLFxuICAgICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNDYWxlbmRhclllYXIsXG4gICAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dENhbGVuZGFyWWVhcixcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5MYXN0RmlzY2FsWWVhcixcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzRmlzY2FsWWVhcixcbiAgICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0RmlzY2FsWWVhcixcbiAgICBdO1xuICB9XG5cbiAgcHVibGljIGdldCBjYWxjdWxhdG9ySWRzKCk6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZFtdIHtcbiAgICByZXR1cm4gdGhpcy4jX2NhbGN1bGF0b3JJZHM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGRhdGUgZm9ybWF0IGZvclxuICAgKiBbdGhlIGBza3ktZGF0ZXBpY2tlcmAgY29tcG9uZW50c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2RhdGVwaWNrZXIpXG4gICAqIHRoYXQgbWFrZSB1cCB0aGUgZGF0ZSByYW5nZSBwaWNrZXIuIFRoZSB0ZXh0IGlucHV0IGlzIGEgY29tcG9zaXRlIGNvbXBvbmVudCBvZlxuICAgKiB1cCB0byB0d28gYHNreS1kYXRlcGlja2VyYCBjb21wb25lbnRzLlxuICAgKiBAZGVmYXVsdCBcIk1NL0REL1lZWVlcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkYXRlRm9ybWF0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGF0ZUZvcm1hdCA9IHZhbHVlO1xuICAgIHRoaXMuZGF0ZUZvcm1hdE9yRGVmYXVsdCA9IHZhbHVlIHx8IHRoaXMuI3ByZWZlcnJlZFNob3J0RGF0ZUZvcm1hdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZUZvcm1hdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGF0ZUZvcm1hdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIGRhdGUgcmFuZ2UgcGlja2VyLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9IHZhbHVlO1xuXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwKSB7XG4gICAgICBpZiAodGhpcy4jX2Rpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmRpc2FibGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmVuYWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBsYWJlbCBmb3IgdGhlIGRhdGUgcmFuZ2UgcGlja2VyLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlcXVpcmUgdXNlcnMgdG8gc3BlY2lmeSBhIHN0YXJ0IGRhdGUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3RhcnREYXRlUmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXF1aXJlIHVzZXJzIHRvIHNwZWNpZnkgYSBlbmQgZGF0ZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbmREYXRlUmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgc2VsZWN0ZWRDYWxjdWxhdG9yOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyByZWFkb25seSBkYXRlUmFuZ2VQaWNrZXJJZCA9IGBza3ktZGF0ZS1yYW5nZS1waWNrZXItJHt1bmlxdWVJZCsrfWA7XG5cbiAgcHVibGljIGNhbGN1bGF0b3JzOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yW10gPSBbXTtcbiAgcHVibGljIGRhdGVGb3JtYXRPckRlZmF1bHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCB8IHVuZGVmaW5lZDtcbiAgcHVibGljIGlzUmVhZHkgPSBmYWxzZTtcbiAgcHVibGljIHNob3dFbmREYXRlUGlja2VyID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93U3RhcnREYXRlUGlja2VyID0gZmFsc2U7XG5cbiAgZ2V0ICNjYWxjdWxhdG9ySWRDb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cD8uZ2V0KCdjYWxjdWxhdG9ySWQnKTtcbiAgfVxuXG4gIGdldCAjZGVmYXVsdENhbGN1bGF0b3IoKTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRvcnNbMF07XG4gIH1cblxuICBnZXQgI2RlZmF1bHRWYWx1ZSgpOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI2RlZmF1bHRDYWxjdWxhdG9yPy5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0ICNlbmREYXRlQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXA/LmdldCgnZW5kRGF0ZScpO1xuICB9XG5cbiAgZ2V0ICNzdGFydERhdGVDb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cD8uZ2V0KCdzdGFydERhdGUnKTtcbiAgfVxuXG4gICN2YWx1ZTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQ7XG5cbiAgc2V0ICN2YWx1ZU9yRGVmYXVsdCh2YWx1ZTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdmFsdWVPckRlZmF1bHQgPSB2YWx1ZTtcbiAgICB0aGlzLiN1cGRhdGVTZWxlY3RlZENhbGN1bGF0b3IoKTtcbiAgfVxuXG4gIGdldCAjdmFsdWVPckRlZmF1bHQoKTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfdmFsdWVPckRlZmF1bHQ7XG4gIH1cblxuICAjY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkO1xuICAjcHJlZmVycmVkU2hvcnREYXRlRm9ybWF0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX2NhbGN1bGF0b3JJZHM6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZFtdID0gW1xuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5BbnlUaW1lLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5CZWZvcmUsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLkFmdGVyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5TcGVjaWZpY1JhbmdlLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5ZZXN0ZXJkYXksXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRvZGF5LFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5Ub21vcnJvdyxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdFdlZWssXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNXZWVrLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0V2VlayxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdE1vbnRoLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5UaGlzTW9udGgsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLk5leHRNb250aCxcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdFF1YXJ0ZXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNRdWFydGVyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0UXVhcnRlcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdENhbGVuZGFyWWVhcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuVGhpc0NhbGVuZGFyWWVhcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTmV4dENhbGVuZGFyWWVhcixcbiAgICBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQuTGFzdEZpc2NhbFllYXIsXG4gICAgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLlRoaXNGaXNjYWxZZWFyLFxuICAgIFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZC5OZXh0RmlzY2FsWWVhcixcbiAgXTtcbiAgI19kYXRlRm9ybWF0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICNfZGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcbiAgI192YWx1ZU9yRGVmYXVsdDogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWQ7XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2RhdGVSYW5nZVNlcnZpY2U6IFNreURhdGVSYW5nZVNlcnZpY2U7XG4gICNmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyO1xuICAjbG9jYWxlUHJvdmlkZXI6IFNreUFwcExvY2FsZVByb3ZpZGVyO1xuICAjbmdab25lOiBOZ1pvbmU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGRhdGVSYW5nZVNlcnZpY2U6IFNreURhdGVSYW5nZVNlcnZpY2UsXG4gICAgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBsb2NhbGVQcm92aWRlcjogU2t5QXBwTG9jYWxlUHJvdmlkZXIsXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgQE9wdGlvbmFsKCkgdGhlbWVTdmM/OiBTa3lUaGVtZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNkYXRlUmFuZ2VTZXJ2aWNlID0gZGF0ZVJhbmdlU2VydmljZTtcbiAgICB0aGlzLiNmb3JtQnVpbGRlciA9IGZvcm1CdWlsZGVyO1xuICAgIHRoaXMuI2xvY2FsZVByb3ZpZGVyID0gbG9jYWxlUHJvdmlkZXI7XG4gICAgdGhpcy4jbmdab25lID0gbmdab25lO1xuXG4gICAgdGhpcy5kYXRlRm9ybWF0T3JEZWZhdWx0ID0gdGhpcy5kYXRlRm9ybWF0O1xuXG4gICAgdGhpcy4jbG9jYWxlUHJvdmlkZXJcbiAgICAgIC5nZXRMb2NhbGVJbmZvKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGxvY2FsZUluZm8pID0+IHtcbiAgICAgICAgU2t5RGF0ZUZvcm1hdHRlci5zZXRMb2NhbGUobG9jYWxlSW5mby5sb2NhbGUpO1xuICAgICAgICB0aGlzLiNwcmVmZXJyZWRTaG9ydERhdGVGb3JtYXQgPVxuICAgICAgICAgIFNreURhdGVGb3JtYXR0ZXIuZ2V0UHJlZmVycmVkU2hvcnREYXRlRm9ybWF0KCk7XG4gICAgICAgIHRoaXMuZGF0ZUZvcm1hdE9yRGVmYXVsdCA9XG4gICAgICAgICAgdGhpcy5kYXRlRm9ybWF0IHx8IHRoaXMuI3ByZWZlcnJlZFNob3J0RGF0ZUZvcm1hdDtcbiAgICAgIH0pO1xuXG4gICAgLy8gVXBkYXRlIGljb25zIHdoZW4gdGhlbWUgY2hhbmdlcy5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHRoZW1lU3ZjPy5zZXR0aW5nc0NoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jY3JlYXRlRm9ybSgpO1xuXG4gICAgdGhpcy4jdXBkYXRlQ2FsY3VsYXRvcnMoKS50aGVuKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy4jdmFsdWUgfHwgIXRoaXMuI3ZhbHVlLmNhbGN1bGF0b3JJZCkge1xuICAgICAgICB0aGlzLiN2YWx1ZU9yRGVmYXVsdCA9IHRoaXMuI2RlZmF1bHRWYWx1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy4jYWRkRXZlbnRMaXN0ZW5lcnMoKTtcblxuICAgICAgdGhpcy5pc1JlYWR5ID0gdHJ1ZTtcblxuICAgICAgdGhpcy4jc2hvd1JlbGV2YW50Rm9ybUZpZWxkcygpO1xuXG4gICAgICAvLyBXZSBuZWVkIHRvIGxldCBBbmd1bGFyIGJlIHN0YWJsZSBhbmQgaGF2ZSByZW5kZXJlZCB0aGUgY29tcG9uZW50cyBwcmlvciB0byBzZXR0aW5nIHRoZSB2YWx1ZXMgYW5kIGZvcm0gY29udHJvbHMuIFRoaXMgZW5zdXJlcyBhbGwgaW5pdGlhbCB2YWxpZGF0aW9uIHdpbGwgYmUgcmFuIGNvcnJlY3RseS5cbiAgICAgIHRoaXMuI25nWm9uZS5vblN0YWJsZS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8vIEZpbGwgaW4gYW55IHVucHJvdmlkZWQgdmFsdWVzIGFmdGVyIHRoZSBjYWxjdWxhdG9ycyBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQuXG4gICAgICAgIC8vIEZvciBleGFtcGxlLCBpZiB0aGUgY29udHJvbCBpcyBpbml0aWFsaXplZCB3aXRoIG9ubHkgdGhlIGBjYWxjdWxhdG9ySWRgLFxuICAgICAgICAvLyBhbGxvdyB0aGUgY2FsY3VsYXRvciB0byBmaWxsIGluIHRoZSBtaXNzaW5nIHN0YXJ0IGFuZCBlbmQgZGF0ZXMuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yPy5nZXRWYWx1ZShcbiAgICAgICAgICB0aGlzLiN2YWx1ZU9yRGVmYXVsdD8uc3RhcnREYXRlLFxuICAgICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0Py5lbmREYXRlXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFZhbHVlLCB0aGlzLiN2YWx1ZU9yRGVmYXVsdCk7XG5cbiAgICAgICAgdGhpcy4jc2V0VmFsdWUobmV3VmFsdWUsIGZhbHNlKTtcblxuICAgICAgICB0aGlzLiNyZXNldEZvcm1Hcm91cFZhbHVlKCk7XG5cbiAgICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgdG8gYWRkcmVzcyBhIGJ1ZyBpbiBBbmd1bGFyIDQuXG4gICAgICAgIC8vIFdoZW4gYSBjb250cm9sIHZhbHVlIGlzIHNldCBpbml0aWFsbHksIGl0cyB2YWx1ZSBpcyBub3QgcmVwcmVzZW50ZWQgb24gdGhlIHZpZXcuXG4gICAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTM3OTJcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMuI2NvbnRyb2wpIHtcbiAgICAgICAgICB0aGlzLiNjb250cm9sLnNldFZhbHVlKHRoaXMuI3ZhbHVlT3JEZWZhdWx0LCB7XG4gICAgICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuY2FsY3VsYXRvcklkcyAmJiBjaGFuZ2VzLmNhbGN1bGF0b3JJZHMuZmlyc3RDaGFuZ2UgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLiN1cGRhdGVDYWxjdWxhdG9ycygpLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBpZCA9IHRoaXMuI2NhbGN1bGF0b3JJZENvbnRyb2w/LnZhbHVlO1xuXG4gICAgICAgIC8vIE1haW50YWluIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdmFsdWVzIGlmIHRoZSBjYWxjdWxhdG9ycyBjaGFuZ2UgYWZ0ZXJcbiAgICAgICAgLy8gYSB2YWx1ZSBoYXMgYmVlbiBjaG9zZW4uXG4gICAgICAgIGNvbnN0IGZvdW5kID0gdGhpcy5jYWxjdWxhdG9ycy5maW5kKChjYWxjdWxhdG9yKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNhbGN1bGF0b3IuY2FsY3VsYXRvcklkID09PSBpZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKCFmb3VuZCkge1xuICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy4jZGVmYXVsdENhbGN1bGF0b3I/LmdldFZhbHVlKCk7XG4gICAgICAgICAgdGhpcy4jc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgICAgICAgIHRoaXMuI3Jlc2V0Rm9ybUdyb3VwVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICAgIHRoaXMuI3Nob3dSZWxldmFudEZvcm1GaWVsZHMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZpZWxkQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLiNvblRvdWNoZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbik6IHZvaWQge1xuICAgIC8vIE9ubHkgdXBkYXRlIHRoZSB1bmRlcmx5aW5nIGNvbnRyb2xzIHdoZW4gdGhlIGNhbGN1bGF0b3JzIGFyZSByZWFkeS5cbiAgICBjb25zdCBub3RpZnlDaGFuZ2UgPSBmYWxzZTtcblxuICAgIC8vIChXZSBzdGlsbCBuZWVkIHRvIHNhdmUgdGhlIGluaXRpYWwgdmFsdWUgc2V0IGJ5IHRoZSBjb25zdW1lcidzIGZvcm0sIGhvd2V2ZXIuKVxuICAgIHRoaXMuI3NldFZhbHVlKHZhbHVlLCBub3RpZnlDaGFuZ2UpO1xuXG4gICAgaWYgKHRoaXMuaXNSZWFkeSkge1xuICAgICAgLy8gV2hlbiB0aGUgY29udHJvbCdzIHZhbHVlIGlzIHNldCB0byBgbnVsbGAsXG4gICAgICAvLyBzZXQgaXQgdG8gdGhlIGRlZmF1bHQgdmFsdWUuXG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHRoaXMuI29uQ2hhbmdlKHRoaXMuI2RlZmF1bHRWYWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI3Jlc2V0Rm9ybUdyb3VwVmFsdWUoKTtcbiAgICAgIHRoaXMuI3Nob3dSZWxldmFudEZvcm1GaWVsZHMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICghdGhpcy4jY29udHJvbCkge1xuICAgICAgdGhpcy4jY29udHJvbCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzUmVhZHkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICBjb25zdCBpZENvbnRyb2wgPSB0aGlzLiNjYWxjdWxhdG9ySWRDb250cm9sO1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yPy52YWxpZGF0ZSh2YWx1ZSk7XG5cbiAgICBsZXQgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICBlcnJvcnMgPSB7XG4gICAgICAgIHNreURhdGVSYW5nZToge1xuICAgICAgICAgIGNhbGN1bGF0b3JJZDogaWRDb250cm9sPy52YWx1ZSxcbiAgICAgICAgICBlcnJvcnM6IHJlc3VsdCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBzdGFydEVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuICAgICAgbGV0IGVuZEVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuICAgICAgaWYgKHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2wpIHtcbiAgICAgICAgc3RhcnRFcnJvcnMgPSB0aGlzLiNzdGFydERhdGVDb250cm9sLmVycm9ycztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLiNlbmREYXRlQ29udHJvbCkge1xuICAgICAgICBlbmRFcnJvcnMgPSB0aGlzLiNlbmREYXRlQ29udHJvbC5lcnJvcnM7XG4gICAgICB9XG5cbiAgICAgIGVycm9ycyA9IHN0YXJ0RXJyb3JzIHx8IGVuZEVycm9ycztcbiAgICB9XG5cbiAgICBpZiAoIWVycm9ycykge1xuICAgICAgLy8gQ2xlYXIgYW55IGVycm9ycyBvbiB0aGUgY2FsY3VsYXRvciBzZWxlY3QuXG4gICAgICBpZENvbnRyb2w/LnNldEVycm9ycyhudWxsKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlkQ29udHJvbD8uc2V0RXJyb3JzKGVycm9ycyk7XG4gICAgaWRDb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgaWRDb250cm9sPy5tYXJrQXNEaXJ0eSgpO1xuXG4gICAgLy8gTmVlZCB0byBtYXJrIHRoZSBjb250cm9sIGFzIHRvdWNoZWQgZm9yIHRoZSBlcnJvciBtZXNzYWdlcyB0byBhcHBlYXIuXG4gICAgdGhpcy4jY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG5cbiAgICAvLyBOb3RpZnkgdGhlIHZpZXcgdG8gZGlzcGxheSBhbnkgZXJyb3JzLlxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKFxuICAgIGZuOiAodmFsdWU6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHwgdW5kZWZpbmVkKSA9PiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvblxuICApOiB2b2lkIHtcbiAgICB0aGlzLiNvbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbik6IHZvaWQge1xuICAgIHRoaXMuI29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gIH1cblxuICAjc2V0VmFsdWUoXG4gICAgdmFsdWU6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHwgdW5kZWZpbmVkLFxuICAgIG5vdGlmeUNoYW5nZSA9IHRydWVcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgaXNOZXdWYWx1ZSA9ICF0aGlzLiNkYXRlUmFuZ2VzRXF1YWwodGhpcy4jdmFsdWUsIHZhbHVlKTtcblxuICAgIGlmIChpc05ld1ZhbHVlKSB7XG4gICAgICB0aGlzLiN2YWx1ZSA9IHZhbHVlO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5jYWxjdWxhdG9ySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLiN2YWx1ZU9yRGVmYXVsdCA9IHRoaXMuI2RlZmF1bHRWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuI3ZhbHVlT3JEZWZhdWx0ID0gdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChub3RpZnlDaGFuZ2UpIHtcbiAgICAgICAgdGhpcy4jb25DaGFuZ2UodGhpcy4jdmFsdWVPckRlZmF1bHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNwYXRjaFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuI3ZhbHVlT3JEZWZhdWx0LCB2YWx1ZSk7XG5cbiAgICB0aGlzLiNzZXRWYWx1ZShuZXdWYWx1ZSk7XG4gIH1cblxuICAjY3JlYXRlRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuI2Zvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGNhbGN1bGF0b3JJZDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxuICAgICAgc3RhcnREYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCksXG4gICAgICBlbmREYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCksXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gICNzaG93UmVsZXZhbnRGb3JtRmllbGRzKCk6IHZvaWQge1xuICAgIGNvbnN0IGNhbGN1bGF0b3IgPSB0aGlzLnNlbGVjdGVkQ2FsY3VsYXRvcjtcblxuICAgIGxldCBzaG93RW5kRGF0ZVBpY2tlciA9IGZhbHNlO1xuICAgIGxldCBzaG93U3RhcnREYXRlUGlja2VyID0gZmFsc2U7XG5cbiAgICBzd2l0Y2ggKGNhbGN1bGF0b3I/LnR5cGUpIHtcbiAgICAgIGNhc2UgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvclR5cGUuQmVmb3JlOlxuICAgICAgICBzaG93RW5kRGF0ZVBpY2tlciA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreURhdGVSYW5nZUNhbGN1bGF0b3JUeXBlLkFmdGVyOlxuICAgICAgICBzaG93U3RhcnREYXRlUGlja2VyID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvclR5cGUuUmFuZ2U6XG4gICAgICAgIHNob3dFbmREYXRlUGlja2VyID0gdHJ1ZTtcbiAgICAgICAgc2hvd1N0YXJ0RGF0ZVBpY2tlciA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLnNob3dFbmREYXRlUGlja2VyID0gc2hvd0VuZERhdGVQaWNrZXI7XG4gICAgdGhpcy5zaG93U3RhcnREYXRlUGlja2VyID0gc2hvd1N0YXJ0RGF0ZVBpY2tlcjtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNyZXNldEZvcm1Hcm91cFZhbHVlKHZhbHVlPzogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cD8ucmVzZXQodmFsdWUgfHwgdGhpcy4jdmFsdWVPckRlZmF1bHQpO1xuICB9XG5cbiAgI2FkZEV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIC8vIFdhdGNoIGZvciBzZWxlY3RlZCBjYWxjdWxhdG9yIGNoYW5nZS5cbiAgICB0aGlzLiNjYWxjdWxhdG9ySWRDb250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy4jdmFsdWVPckRlZmF1bHQ/LmNhbGN1bGF0b3JJZCkge1xuICAgICAgICAgIGNvbnN0IGlkID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcbiAgICAgICAgICAvLyBpZiB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkIGR1cmluZyBmb3JtIGNyZWF0aW9uLCBudWxsIGlzIHBhc3NlZFxuICAgICAgICAgIC8vIGFzIHRoZSB2YWx1ZSBvZiB0aGUgY2FsY3VsYXRvciBpZCBjb250cm9sXG4gICAgICAgICAgLy8gb25seSBoYW5kbGUgdGhlIHZhbHVlIGNoYW5nZXMgaWYgdGhlIGNhbGN1bGF0b3IgaWQgaXMgYSBudW1iZXJcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICghaXNOYU4oaWQpKSB7XG4gICAgICAgICAgICBjb25zdCBjYWxjdWxhdG9yID0gdGhpcy4jZ2V0Q2FsY3VsYXRvckJ5SWQoaWQpO1xuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBjYWxjdWxhdG9yPy5nZXRWYWx1ZSgpO1xuXG4gICAgICAgICAgICB0aGlzLiNzZXRWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLiNyZXNldEZvcm1Hcm91cFZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuI3Nob3dSZWxldmFudEZvcm1GaWVsZHMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgLy8gV2F0Y2ggZm9yIHN0YXJ0IGRhdGUgdmFsdWUgY2hhbmdlcy5cbiAgICB0aGlzLiNzdGFydERhdGVDb250cm9sPy52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXJ0RGF0ZSkgPT4ge1xuICAgICAgICB0aGlzLiNwYXRjaFZhbHVlKHsgc3RhcnREYXRlIH0pO1xuICAgICAgfSk7XG5cbiAgICAvLyBXYXRjaCBmb3IgZW5kIGRhdGUgdmFsdWUgY2hhbmdlcy5cbiAgICB0aGlzLiNlbmREYXRlQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChlbmREYXRlKSA9PiB7XG4gICAgICAgIHRoaXMuI3BhdGNoVmFsdWUoeyBlbmREYXRlIH0pO1xuICAgICAgfSk7XG5cbiAgICAvLyBTYWZldHkgY2hlY2tcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNzdGFydERhdGVDb250cm9sICYmIHRoaXMuI2VuZERhdGVDb250cm9sKSB7XG4gICAgICAvLyBEZXRlY3QgZXJyb3JzIGZyb20gdGhlIGRhdGUgaW5wdXRzIGFuZCB1cGRhdGUgbmctIGNsYXNzZXMgb24gcGlja2VyLlxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuI3N0YXJ0RGF0ZUNvbnRyb2wuc3RhdHVzQ2hhbmdlcyxcbiAgICAgICAgdGhpcy4jZW5kRGF0ZUNvbnRyb2wuc3RhdHVzQ2hhbmdlcyxcbiAgICAgIF0pXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQmFzZWRPbkNvbnRyb2xzKCk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy4jc3RhcnREYXRlQ29udHJvbCkge1xuICAgICAgdGhpcy4jc3RhcnREYXRlQ29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQmFzZWRPbkNvbnRyb2xzKCk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy4jZW5kRGF0ZUNvbnRyb2wpIHtcbiAgICAgIHRoaXMuI2VuZERhdGVDb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVCYXNlZE9uQ29udHJvbHMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZUJhc2VkT25Db250cm9scygpOiB2b2lkIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIC8vIFdhaXQgZm9yIGluaXRpYWwgdmFsaWRhdGlvbiB0byBjb21wbGV0ZS5cbiAgICB0aGlzLiNuZ1pvbmUub25TdGFibGUucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy4jY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfSk7XG4gIH1cblxuICAjdXBkYXRlQ2FsY3VsYXRvcnMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2RhdGVSYW5nZVNlcnZpY2VcbiAgICAgIC5nZXRDYWxjdWxhdG9ycyh0aGlzLmNhbGN1bGF0b3JJZHMpXG4gICAgICAudGhlbigoY2FsY3VsYXRvcnMpID0+IHtcbiAgICAgICAgdGhpcy5jYWxjdWxhdG9ycyA9IGNhbGN1bGF0b3JzO1xuICAgICAgICAvLyBFbnN1cmUgdGhhdCBhbnkgcHJldmlvdXNseSBzZXQgdmFsdWUgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHNlbGVjdGVkIGNhbGN1bGF0b3JcbiAgICAgICAgdGhpcy4jdXBkYXRlU2VsZWN0ZWRDYWxjdWxhdG9yKCk7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICAjZ2V0Q2FsY3VsYXRvckJ5SWQoXG4gICAgaWQ6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZFxuICApOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdG9ycy5maW5kKChjYWxjdWxhdG9yKSA9PiB7XG4gICAgICByZXR1cm4gY2FsY3VsYXRvci5jYWxjdWxhdG9ySWQgPT09IGlkO1xuICAgIH0pO1xuICB9XG5cbiAgI2RhdGVSYW5nZXNFcXVhbChcbiAgICByYW5nZUE6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHwgdW5kZWZpbmVkLFxuICAgIHJhbmdlQjogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRpb24gfCB1bmRlZmluZWRcbiAgKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICEhcmFuZ2VBICYmICEhcmFuZ2VCICYmIEpTT04uc3RyaW5naWZ5KHJhbmdlQSkgPT09IEpTT04uc3RyaW5naWZ5KHJhbmdlQilcbiAgICApO1xuICB9XG5cbiAgI3VwZGF0ZVNlbGVjdGVkQ2FsY3VsYXRvcigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2FsY3VsYXRvciA9IHRoaXMuI3ZhbHVlT3JEZWZhdWx0XG4gICAgICA/IHRoaXMuI2dldENhbGN1bGF0b3JCeUlkKHRoaXMuI3ZhbHVlT3JEZWZhdWx0LmNhbGN1bGF0b3JJZClcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICNvbkNoYW5nZSA9IChfOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB8IHVuZGVmaW5lZCk6IHZvaWQgPT4ge307XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgI29uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHt9O1xufVxuIiwiPGRpdlxuICAqbmdJZj1cImlzUmVhZHkgJiYgZm9ybUdyb3VwXCJcbiAgY2xhc3M9XCJza3ktZGF0ZS1yYW5nZS1waWNrZXJcIlxuICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJza3ktZGF0ZS1yYW5nZS1waWNrZXItZm9ybS1ncm91cFwiPlxuICAgIDxza3ktaW5wdXQtYm94PlxuICAgICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICAgICAgICBbYXR0ci5mb3JdPVwiZGF0ZVJhbmdlUGlja2VySWQgKyAnLXNlbGVjdC1jYWxjdWxhdG9yJ1wiXG4gICAgICA+XG4gICAgICAgIHt7IGxhYmVsIHx8ICdza3l1eF9kYXRlX3JhbmdlX3BpY2tlcl9kZWZhdWx0X2xhYmVsJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxzZWxlY3RcbiAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2FsY3VsYXRvcklkXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiZGF0ZVJhbmdlUGlja2VySWQgKyAnLXNlbGVjdC1jYWxjdWxhdG9yJ1wiXG4gICAgICAgIChibHVyKT1cIm9uRmllbGRCbHVyKClcIlxuICAgICAgPlxuICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNhbGN1bGF0b3Igb2YgY2FsY3VsYXRvcnNcIlxuICAgICAgICAgIFt2YWx1ZV09XCJjYWxjdWxhdG9yLmNhbGN1bGF0b3JJZFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBjYWxjdWxhdG9yLnNob3J0RGVzY3JpcHRpb24gfX1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L3NreS1pbnB1dC1ib3g+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJza3ktZGF0ZS1yYW5nZS1waWNrZXItZm9ybS1ncm91cFwiIFtoaWRkZW5dPVwiIXNob3dTdGFydERhdGVQaWNrZXJcIj5cbiAgICA8c2t5LWlucHV0LWJveD5cbiAgICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgICAgICAgW2F0dHIuZm9yXT1cImRhdGVSYW5nZVBpY2tlcklkICsgJy1zdGFydC1kYXRlJ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NreS1jb250cm9sLWxhYmVsLXJlcXVpcmVkJzogc3RhcnREYXRlUmVxdWlyZWQgfVwiXG4gICAgICA+XG4gICAgICAgIHt7XG4gICAgICAgICAgc2VsZWN0ZWRDYWxjdWxhdG9yPy50eXBlXG4gICAgICAgICAgICB8IHNreURhdGVSYW5nZVBpY2tlclN0YXJ0RGF0ZVJlc291cmNlS2V5XG4gICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICB9fVxuICAgICAgPC9sYWJlbD5cblxuICAgICAgPHNreS1kYXRlcGlja2VyPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdGFydERhdGVcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICBzZWxlY3RlZENhbGN1bGF0b3I/LnR5cGVcbiAgICAgICAgICAgICAgfCBza3lEYXRlUmFuZ2VQaWNrZXJTdGFydERhdGVSZXNvdXJjZUtleVxuICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgIFwiXG4gICAgICAgICAgW2F0dHIuaWRdPVwiZGF0ZVJhbmdlUGlja2VySWQgKyAnLXN0YXJ0LWRhdGUnXCJcbiAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJkYXRlRm9ybWF0T3JEZWZhdWx0XCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwiISFzdGFydERhdGVSZXF1aXJlZFwiXG4gICAgICAgICAgW2RhdGVGb3JtYXRdPVwiZGF0ZUZvcm1hdE9yRGVmYXVsdFwiXG4gICAgICAgICAgKGJsdXIpPVwib25GaWVsZEJsdXIoKVwiXG4gICAgICAgICAgc2t5RGF0ZXBpY2tlcklucHV0XG4gICAgICAgIC8+XG4gICAgICA8L3NreS1kYXRlcGlja2VyPlxuICAgIDwvc2t5LWlucHV0LWJveD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNreS1kYXRlLXJhbmdlLXBpY2tlci1mb3JtLWdyb3VwXCIgW2hpZGRlbl09XCIhc2hvd0VuZERhdGVQaWNrZXJcIj5cbiAgICA8c2t5LWlucHV0LWJveD5cbiAgICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgICAgICAgW2F0dHIuZm9yXT1cImRhdGVSYW5nZVBpY2tlcklkICsgJy1lbmQtZGF0ZSdcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZCc6IGVuZERhdGVSZXF1aXJlZCB9XCJcbiAgICAgID5cbiAgICAgICAge3tcbiAgICAgICAgICBzZWxlY3RlZENhbGN1bGF0b3I/LnR5cGVcbiAgICAgICAgICAgIHwgc2t5RGF0ZVJhbmdlUGlja2VyRW5kRGF0ZVJlc291cmNlS2V5XG4gICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICB9fVxuICAgICAgPC9sYWJlbD5cblxuICAgICAgPHNreS1kYXRlcGlja2VyPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbmREYXRlXCJcbiAgICAgICAgICBza3lEYXRlcGlja2VySW5wdXRcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgc2VsZWN0ZWRDYWxjdWxhdG9yPy50eXBlXG4gICAgICAgICAgICAgIHwgc2t5RGF0ZVJhbmdlUGlja2VyRW5kRGF0ZVJlc291cmNlS2V5XG4gICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgXCJcbiAgICAgICAgICBbYXR0ci5pZF09XCJkYXRlUmFuZ2VQaWNrZXJJZCArICctZW5kLWRhdGUnXCJcbiAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJkYXRlRm9ybWF0T3JEZWZhdWx0XCJcbiAgICAgICAgICBbZGF0ZUZvcm1hdF09XCJkYXRlRm9ybWF0T3JEZWZhdWx0XCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwiISFlbmREYXRlUmVxdWlyZWRcIlxuICAgICAgICAgIChibHVyKT1cIm9uRmllbGRCbHVyKClcIlxuICAgICAgICAvPlxuICAgICAgPC9za3ktZGF0ZXBpY2tlcj5cbiAgICA8L3NreS1pbnB1dC1ib3g+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1jYWxjdWxhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS9zcmMvbGliL21vZHVsZXMvZGF0ZS1yYW5nZS1waWNrZXIvdHlwZXMvZGF0ZS1yYW5nZS1jYWxjdWxhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RGF0ZVJhbmdlIH0gZnJvbSAnLi9kYXRlLXJhbmdlJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZCB9IGZyb20gJy4vZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLWlkJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSByZXR1cm5lZCB2YWx1ZSBvZiBhIGBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiBleHRlbmRzIFNreURhdGVSYW5nZSB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGNhbGN1bGF0b3IgdGhhdCBkZXRlcm1pbmVzIHRoZSBkYXRlcyBpbiB0aGUgZGF0ZSByYW5nZS5cbiAgICovXG4gIGNhbGN1bGF0b3JJZDogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1jYWxjdWxhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS9zcmMvbGliL21vZHVsZXMvZGF0ZS1yYW5nZS1waWNrZXIvdHlwZXMvZGF0ZS1yYW5nZS1jYWxjdWxhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RGF0ZVJhbmdlIH0gZnJvbSAnLi9kYXRlLXJhbmdlJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZCB9IGZyb20gJy4vZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLWlkJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSByZXR1cm5lZCB2YWx1ZSBvZiBhIGBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiBleHRlbmRzIFNreURhdGVSYW5nZSB7XG4gIC8qKlxuICAgKiBUaGUgY2FsY3VsYXRvciB0aGF0IGRldGVybWluZXMgdGhlIGRhdGVzIGluIHRoZSBkYXRlIHJhbmdlLlxuICAgKi9cbiAgY2FsY3VsYXRvcklkOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9ySWQ7XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Indicates the types of calculations available for a date range calculator.
2
+ * The types of calculations available for a date range calculator.
3
3
  */
4
4
  export var SkyDateRangeCalculatorType;
5
5
  (function (SkyDateRangeCalculatorType) {
@@ -20,4 +20,4 @@ export var SkyDateRangeCalculatorType;
20
20
  */
21
21
  SkyDateRangeCalculatorType[SkyDateRangeCalculatorType["Relative"] = 3] = "Relative";
22
22
  })(SkyDateRangeCalculatorType || (SkyDateRangeCalculatorType = {}));
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGUtcmFuZ2UtcGlja2VyL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvci10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksMEJBb0JYO0FBcEJELFdBQVksMEJBQTBCO0lBQ3BDOztPQUVHO0lBQ0gsNkVBQUssQ0FBQTtJQUVMOztPQUVHO0lBQ0gsK0VBQU0sQ0FBQTtJQUVOOztPQUVHO0lBQ0gsNkVBQUssQ0FBQTtJQUVMOztPQUVHO0lBQ0gsbUZBQVEsQ0FBQTtBQUNWLENBQUMsRUFwQlcsMEJBQTBCLEtBQTFCLDBCQUEwQixRQW9CckMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEluZGljYXRlcyB0aGUgdHlwZXMgb2YgY2FsY3VsYXRpb25zIGF2YWlsYWJsZSBmb3IgYSBkYXRlIHJhbmdlIGNhbGN1bGF0b3IuXG4gKi9cbmV4cG9ydCBlbnVtIFNreURhdGVSYW5nZUNhbGN1bGF0b3JUeXBlIHtcbiAgLyoqXG4gICAqIEluY2x1ZGVzIGFuIGlucHV0IGZvciBhIGRhdGUgYWZ0ZXIgdGhlIGN1cnJlbnQgZGF0ZS5cbiAgICovXG4gIEFmdGVyLFxuXG4gIC8qKlxuICAgKiBJbmNsdWRlcyBhbiBpbnB1dCBmb3IgYSBkYXRlIGJlZm9yZSB0aGUgY3VycmVudCBkYXRlLlxuICAgKi9cbiAgQmVmb3JlLFxuXG4gIC8qKlxuICAgKiBJbmNsdWRlcyB0d28gaW5wdXRzIGZvciBhIHJhbmdlIG9mIGRhdGVzLlxuICAgKi9cbiAgUmFuZ2UsXG5cbiAgLyoqXG4gICAqIERvZXMgbm90IGFjY2VwdCBhbnkgaW5wdXQgYnV0IGNhbGN1bGF0ZXMgYSBzcGVjaWZpYyByYW5nZSBiYXNlZCBvbiB0aGUgY3VycmVudCBkYXRlLlxuICAgKi9cbiAgUmVsYXRpdmUsXG59XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGUtcmFuZ2UtcGlja2VyL3R5cGVzL2RhdGUtcmFuZ2UtY2FsY3VsYXRvci10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksMEJBb0JYO0FBcEJELFdBQVksMEJBQTBCO0lBQ3BDOztPQUVHO0lBQ0gsNkVBQUssQ0FBQTtJQUVMOztPQUVHO0lBQ0gsK0VBQU0sQ0FBQTtJQUVOOztPQUVHO0lBQ0gsNkVBQUssQ0FBQTtJQUVMOztPQUVHO0lBQ0gsbUZBQVEsQ0FBQTtBQUNWLENBQUMsRUFwQlcsMEJBQTBCLEtBQTFCLDBCQUEwQixRQW9CckMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSB0eXBlcyBvZiBjYWxjdWxhdGlvbnMgYXZhaWxhYmxlIGZvciBhIGRhdGUgcmFuZ2UgY2FsY3VsYXRvci5cbiAqL1xuZXhwb3J0IGVudW0gU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvclR5cGUge1xuICAvKipcbiAgICogSW5jbHVkZXMgYW4gaW5wdXQgZm9yIGEgZGF0ZSBhZnRlciB0aGUgY3VycmVudCBkYXRlLlxuICAgKi9cbiAgQWZ0ZXIsXG5cbiAgLyoqXG4gICAqIEluY2x1ZGVzIGFuIGlucHV0IGZvciBhIGRhdGUgYmVmb3JlIHRoZSBjdXJyZW50IGRhdGUuXG4gICAqL1xuICBCZWZvcmUsXG5cbiAgLyoqXG4gICAqIEluY2x1ZGVzIHR3byBpbnB1dHMgZm9yIGEgcmFuZ2Ugb2YgZGF0ZXMuXG4gICAqL1xuICBSYW5nZSxcblxuICAvKipcbiAgICogRG9lcyBub3QgYWNjZXB0IGFueSBpbnB1dCBidXQgY2FsY3VsYXRlcyBhIHNwZWNpZmljIHJhbmdlIGJhc2VkIG9uIHRoZSBjdXJyZW50IGRhdGUuXG4gICAqL1xuICBSZWxhdGl2ZSxcbn1cbiJdfQ==
@@ -6,7 +6,7 @@ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
6
6
  export class SkyDateRangeCalculator {
7
7
  constructor(
8
8
  /**
9
- * Provides a calculator ID to specify calculator objects that represent date ranges.
9
+ * The calculator ID that specifies calculator objects that represent date ranges.
10
10
  */
11
11
  calculatorId, config) {
12
12
  this.calculatorId = calculatorId;
@@ -50,4 +50,4 @@ export class SkyDateRangeCalculator {
50
50
  _SkyDateRangeCalculator_config = new WeakMap(), _SkyDateRangeCalculator_instances = new WeakSet(), _SkyDateRangeCalculator_parseDateWithoutTime = function _SkyDateRangeCalculator_parseDateWithoutTime(date) {
51
51
  return new Date(date.getFullYear(), date.getMonth(), date.getDate());
52
52
  };
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQTs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFhakM7SUFDRTs7T0FFRztJQUNhLFlBQXNDLEVBQ3RELE1BQW9DO1FBRHBCLGlCQUFZLEdBQVosWUFBWSxDQUEwQjs7UUFOeEQsaURBQXNDO1FBU3BDLHVCQUFBLElBQUksa0NBQVcsTUFBTSxNQUFBLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQ2IsY0FBNEIsRUFDNUIsWUFBMEI7UUFFMUIsTUFBTSxNQUFNLEdBQUcsdUJBQUEsSUFBSSxzQ0FBUSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFbkUsSUFBSSxTQUFTLEdBQWdCLElBQUksQ0FBQztRQUNsQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLFlBQVksSUFBSSxFQUFFO1lBQ3BDLFNBQVMsR0FBRyx1QkFBQSxJQUFJLHVGQUFzQixNQUExQixJQUFJLEVBQXVCLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMxRDtRQUVELElBQUksT0FBTyxHQUFnQixJQUFJLENBQUM7UUFDaEMsSUFBSSxNQUFNLENBQUMsT0FBTyxZQUFZLElBQUksRUFBRTtZQUNsQyxPQUFPLEdBQUcsdUJBQUEsSUFBSSx1RkFBc0IsTUFBMUIsSUFBSSxFQUF1QixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdEQ7UUFFRCxPQUFPO1lBQ0wsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFNBQVM7WUFDVCxPQUFPO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVEsQ0FBQyxLQUFvQjtRQUNsQyxJQUFJLENBQUMsdUJBQUEsSUFBSSxzQ0FBUSxDQUFDLFFBQVEsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyx1QkFBQSxJQUFJLHNDQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FTRjt3TUFIdUIsSUFBVTtJQUM5QixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDdkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFNreURhdGVSYW5nZSB9IGZyb20gJy4vZGF0ZS1yYW5nZSc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB9IGZyb20gJy4vZGF0ZS1yYW5nZS1jYWxjdWxhdGlvbic7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yQ29uZmlnIH0gZnJvbSAnLi9kYXRlLXJhbmdlLWNhbGN1bGF0b3ItY29uZmlnJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZCB9IGZyb20gJy4vZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLWlkJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0b3JUeXBlIH0gZnJvbSAnLi9kYXRlLXJhbmdlLWNhbGN1bGF0b3ItdHlwZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgY2FsY3VsYXRvci5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreURhdGVSYW5nZUNhbGN1bGF0b3Ige1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIGNhbGN1bGF0b3Igc2VsZWN0IG1lbnUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvcnREZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHR5cGUgb2YgY2FsY3VsYXRpb25zIGF2YWlsYWJsZSBmb3IgdGhlIGRhdGUgcmFuZ2UuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvclR5cGU7XG5cbiAgI2NvbmZpZzogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvckNvbmZpZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBQcm92aWRlcyBhIGNhbGN1bGF0b3IgSUQgdG8gc3BlY2lmeSBjYWxjdWxhdG9yIG9iamVjdHMgdGhhdCByZXByZXNlbnQgZGF0ZSByYW5nZXMuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNhbGN1bGF0b3JJZDogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvcklkLFxuICAgIGNvbmZpZzogU2t5RGF0ZVJhbmdlQ2FsY3VsYXRvckNvbmZpZ1xuICApIHtcbiAgICB0aGlzLiNjb25maWcgPSBjb25maWc7XG4gICAgdGhpcy50eXBlID0gY29uZmlnLnR5cGU7XG4gICAgdGhpcy5zaG9ydERlc2NyaXB0aW9uID0gY29uZmlnLnNob3J0RGVzY3JpcHRpb247XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgY2FsY3VsYXRvci5cbiAgICogQHBhcmFtIHN0YXJ0RGF0ZUlucHV0IFRoZSBzdGFydCBkYXRlLlxuICAgKiBAcGFyYW0gZW5kRGF0ZUlucHV0IFRoZSBlbmQgZGF0ZS5cbiAgICovXG4gIHB1YmxpYyBnZXRWYWx1ZShcbiAgICBzdGFydERhdGVJbnB1dD86IERhdGUgfCBudWxsLFxuICAgIGVuZERhdGVJbnB1dD86IERhdGUgfCBudWxsXG4gICk6IFNreURhdGVSYW5nZUNhbGN1bGF0aW9uIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLiNjb25maWcuZ2V0VmFsdWUoc3RhcnREYXRlSW5wdXQsIGVuZERhdGVJbnB1dCk7XG5cbiAgICBsZXQgc3RhcnREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gICAgaWYgKHJlc3VsdC5zdGFydERhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICBzdGFydERhdGUgPSB0aGlzLiNwYXJzZURhdGVXaXRob3V0VGltZShyZXN1bHQuc3RhcnREYXRlKTtcbiAgICB9XG5cbiAgICBsZXQgZW5kRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIGlmIChyZXN1bHQuZW5kRGF0ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIGVuZERhdGUgPSB0aGlzLiNwYXJzZURhdGVXaXRob3V0VGltZShyZXN1bHQuZW5kRGF0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNhbGN1bGF0b3JJZDogdGhpcy5jYWxjdWxhdG9ySWQsXG4gICAgICBzdGFydERhdGUsXG4gICAgICBlbmREYXRlLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybXMgc3luY2hyb25vdXMgdmFsaWRhdGlvbiBhZ2FpbnN0IHRoZSBjb250cm9sLlxuICAgKi9cbiAgcHVibGljIHZhbGlkYXRlKHZhbHVlPzogU2t5RGF0ZVJhbmdlKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICghdGhpcy4jY29uZmlnLnZhbGlkYXRlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jY29uZmlnLnZhbGlkYXRlKHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBkYXRlIG9iamVjdCB3aXRob3V0IHRpbWUgaW5mb3JtYXRpb24uXG4gICAqIFNlZTogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzM4MDUwODI0LzYxNzg4ODVcbiAgICovXG4gICNwYXJzZURhdGVXaXRob3V0VGltZShkYXRlOiBEYXRlKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSk7XG4gIH1cbn1cbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlLXJhbmdlLXBpY2tlci90eXBlcy9kYXRlLXJhbmdlLWNhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQTs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFhakM7SUFDRTs7T0FFRztJQUNhLFlBQXNDLEVBQ3RELE1BQW9DO1FBRHBCLGlCQUFZLEdBQVosWUFBWSxDQUEwQjs7UUFOeEQsaURBQXNDO1FBU3BDLHVCQUFBLElBQUksa0NBQVcsTUFBTSxNQUFBLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQ2IsY0FBNEIsRUFDNUIsWUFBMEI7UUFFMUIsTUFBTSxNQUFNLEdBQUcsdUJBQUEsSUFBSSxzQ0FBUSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFbkUsSUFBSSxTQUFTLEdBQWdCLElBQUksQ0FBQztRQUNsQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLFlBQVksSUFBSSxFQUFFO1lBQ3BDLFNBQVMsR0FBRyx1QkFBQSxJQUFJLHVGQUFzQixNQUExQixJQUFJLEVBQXVCLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMxRDtRQUVELElBQUksT0FBTyxHQUFnQixJQUFJLENBQUM7UUFDaEMsSUFBSSxNQUFNLENBQUMsT0FBTyxZQUFZLElBQUksRUFBRTtZQUNsQyxPQUFPLEdBQUcsdUJBQUEsSUFBSSx1RkFBc0IsTUFBMUIsSUFBSSxFQUF1QixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdEQ7UUFFRCxPQUFPO1lBQ0wsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFNBQVM7WUFDVCxPQUFPO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVEsQ0FBQyxLQUFvQjtRQUNsQyxJQUFJLENBQUMsdUJBQUEsSUFBSSxzQ0FBUSxDQUFDLFFBQVEsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyx1QkFBQSxJQUFJLHNDQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FTRjt3TUFIdUIsSUFBVTtJQUM5QixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDdkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFNreURhdGVSYW5nZSB9IGZyb20gJy4vZGF0ZS1yYW5nZSc7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB9IGZyb20gJy4vZGF0ZS1yYW5nZS1jYWxjdWxhdGlvbic7XG5pbXBvcnQgeyBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yQ29uZmlnIH0gZnJvbSAnLi9kYXRlLXJhbmdlLWNhbGN1bGF0b3ItY29uZmlnJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZCB9IGZyb20gJy4vZGF0ZS1yYW5nZS1jYWxjdWxhdG9yLWlkJztcbmltcG9ydCB7IFNreURhdGVSYW5nZUNhbGN1bGF0b3JUeXBlIH0gZnJvbSAnLi9kYXRlLXJhbmdlLWNhbGN1bGF0b3ItdHlwZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgY2FsY3VsYXRvci5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreURhdGVSYW5nZUNhbGN1bGF0b3Ige1xuICAvKipcbiAgICogVGhlIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgY2FsY3VsYXRvciBzZWxlY3QgbWVudS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzaG9ydERlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGNhbGN1bGF0aW9ucyBhdmFpbGFibGUgZm9yIHRoZSBkYXRlIHJhbmdlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JUeXBlO1xuXG4gICNjb25maWc6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JDb25maWc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogVGhlIGNhbGN1bGF0b3IgSUQgdGhhdCBzcGVjaWZpZXMgY2FsY3VsYXRvciBvYmplY3RzIHRoYXQgcmVwcmVzZW50IGRhdGUgcmFuZ2VzLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjYWxjdWxhdG9ySWQ6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JJZCxcbiAgICBjb25maWc6IFNreURhdGVSYW5nZUNhbGN1bGF0b3JDb25maWdcbiAgKSB7XG4gICAgdGhpcy4jY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMudHlwZSA9IGNvbmZpZy50eXBlO1xuICAgIHRoaXMuc2hvcnREZXNjcmlwdGlvbiA9IGNvbmZpZy5zaG9ydERlc2NyaXB0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGNhbGN1bGF0b3IuXG4gICAqIEBwYXJhbSBzdGFydERhdGVJbnB1dCBUaGUgc3RhcnQgZGF0ZS5cbiAgICogQHBhcmFtIGVuZERhdGVJbnB1dCBUaGUgZW5kIGRhdGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0VmFsdWUoXG4gICAgc3RhcnREYXRlSW5wdXQ/OiBEYXRlIHwgbnVsbCxcbiAgICBlbmREYXRlSW5wdXQ/OiBEYXRlIHwgbnVsbFxuICApOiBTa3lEYXRlUmFuZ2VDYWxjdWxhdGlvbiB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy4jY29uZmlnLmdldFZhbHVlKHN0YXJ0RGF0ZUlucHV0LCBlbmREYXRlSW5wdXQpO1xuXG4gICAgbGV0IHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIGlmIChyZXN1bHQuc3RhcnREYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgc3RhcnREYXRlID0gdGhpcy4jcGFyc2VEYXRlV2l0aG91dFRpbWUocmVzdWx0LnN0YXJ0RGF0ZSk7XG4gICAgfVxuXG4gICAgbGV0IGVuZERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgICBpZiAocmVzdWx0LmVuZERhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICBlbmREYXRlID0gdGhpcy4jcGFyc2VEYXRlV2l0aG91dFRpbWUocmVzdWx0LmVuZERhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjYWxjdWxhdG9ySWQ6IHRoaXMuY2FsY3VsYXRvcklkLFxuICAgICAgc3RhcnREYXRlLFxuICAgICAgZW5kRGF0ZSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIHN5bmNocm9ub3VzIHZhbGlkYXRpb24gYWdhaW5zdCB0aGUgY29udHJvbC5cbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZSh2YWx1ZT86IFNreURhdGVSYW5nZSk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuI2NvbmZpZy52YWxpZGF0ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuI2NvbmZpZy52YWxpZGF0ZSh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgZGF0ZSBvYmplY3Qgd2l0aG91dCB0aW1lIGluZm9ybWF0aW9uLlxuICAgKiBTZWU6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zODA1MDgyNC82MTc4ODg1XG4gICAqL1xuICAjcGFyc2VEYXRlV2l0aG91dFRpbWUoZGF0ZTogRGF0ZSk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCkpO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS9zcmMvbGliL21vZHVsZXMvZGF0ZS1yYW5nZS1waWNrZXIvdHlwZXMvZGF0ZS1yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogSW4gYSBmdXR1cmUgYnJlYWtpbmcgY2hhbmdlLCBjb25zaWRlciByZW1vdmluZyB0aGUgYHwgbnVsbGAgY2FzZXMgaGVyZS4gVGhpcyBpcyB1c2VkIHRvZGF5IHRvIGRldGVybWluZSBpbml0aWFsIGNoYW5nZXMgYW5kIGFzIGEgZGVmYXVsdCB2YWx1ZSBpbiB0aGUgYGdldFZhbHVlYCBmdW5jdGlvbiBvZiBhIGBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yYFxuZXhwb3J0IGludGVyZmFjZSBTa3lEYXRlUmFuZ2Uge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBsYXN0IGRhdGUgaW4gdGhlIGRhdGUgcmFuZ2UuXG4gICAqL1xuICBlbmREYXRlPzogRGF0ZSB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZmlyc3QgZGF0ZSBpbiB0aGUgZGF0ZSByYW5nZS5cbiAgICovXG4gIHN0YXJ0RGF0ZT86IERhdGUgfCBudWxsO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS9zcmMvbGliL21vZHVsZXMvZGF0ZS1yYW5nZS1waWNrZXIvdHlwZXMvZGF0ZS1yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogSW4gYSBmdXR1cmUgYnJlYWtpbmcgY2hhbmdlLCBjb25zaWRlciByZW1vdmluZyB0aGUgYHwgbnVsbGAgY2FzZXMgaGVyZS4gVGhpcyBpcyB1c2VkIHRvZGF5IHRvIGRldGVybWluZSBpbml0aWFsIGNoYW5nZXMgYW5kIGFzIGEgZGVmYXVsdCB2YWx1ZSBpbiB0aGUgYGdldFZhbHVlYCBmdW5jdGlvbiBvZiBhIGBTa3lEYXRlUmFuZ2VDYWxjdWxhdG9yYFxuZXhwb3J0IGludGVyZmFjZSBTa3lEYXRlUmFuZ2Uge1xuICAvKipcbiAgICogVGhlIGxhc3QgZGF0ZSBpbiB0aGUgZGF0ZSByYW5nZS5cbiAgICovXG4gIGVuZERhdGU/OiBEYXRlIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIGZpcnN0IGRhdGUgaW4gdGhlIGRhdGUgcmFuZ2UuXG4gICAqL1xuICBzdGFydERhdGU/OiBEYXRlIHwgbnVsbDtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1jYWxlbmRhci1jaGFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1jYWxlbmRhci1jaGFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5RGF0ZXBpY2tlckN1c3RvbURhdGUgfSBmcm9tICcuL2RhdGVwaWNrZXItY3VzdG9tLWRhdGUnO1xuXG4vKipcbiAqIFNwZWNpZmllcyBjaGFuZ2VzIGluIHRoZSBkYXRlcGlja2VyIGNhbGVuZGFyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreURhdGVwaWNrZXJDYWxlbmRhckNoYW5nZSB7XG4gIC8qKlxuICAgKiBUaGUgZW5kIGRhdGUuXG4gICAqL1xuICBlbmREYXRlOiBEYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhcnQgZGF0ZS5cbiAgICovXG4gIHN0YXJ0RGF0ZTogRGF0ZTtcblxuICAvKipcbiAgICogUHJvdmlkZXMgYW4gb2JzZXJ2YWJsZSB0aGF0IGFsbG93cyB0aGUgY29uc3VtZXIgdG8gcHVzaCBjdXN0b20gZGF0ZXMgYmFjayB0byB0aGUgY2FsZW5kYXJcbiAgICogd2hlbiB0aGUgYFNreUNhbGVuZGFyRGF0ZVJhbmdlQ2hhbmdlRXZlbnRgIGV2ZW50IGZpcmVzLiBUaGlzIGlzIHVzZWZ1bFxuICAgKiBmb3IgZGlzcGxheWluZyBrZXkgZGF0ZXMgb3IgZGlzYWJsZWQgZGF0ZXMgZWFjaCB0aW1lIHRoZSBjYWxlbmRhciBjaGFuZ2VzLiBJZiBkaXNhYmxlZCBkYXRlc1xuICAgKiBhcmUgcHJvdmlkZWQsIFNLWSBVWCB3aWxsIHByZXZlbnQgdGhlIHVzZXIgZnJvbSBzZWxlY3RpbmcgdGhlIGRhdGUgZnJvbSB0aGUgY2FsZW5kYXIuXG4gICAqIEhvd2V2ZXIsIGNvbnN1bWVycyB3aWxsIHN0aWxsIG5lZWQgdG8gYWRkIGEgY3VzdG9tIHZhbGlkYXRvciB0byBwcmV2ZW50IHVzZXJzIGZyb20gZW50ZXJpbmdcbiAgICogZGlzYWJsZWQgZGF0ZXMgaW4gdGhlIHRleHQgaW5wdXQuXG4gICAqL1xuICBjdXN0b21EYXRlcz86IE9ic2VydmFibGU8U2t5RGF0ZXBpY2tlckN1c3RvbURhdGVbXT47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1jYWxlbmRhci1jaGFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1jYWxlbmRhci1jaGFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5RGF0ZXBpY2tlckN1c3RvbURhdGUgfSBmcm9tICcuL2RhdGVwaWNrZXItY3VzdG9tLWRhdGUnO1xuXG4vKipcbiAqIFNwZWNpZmllcyBjaGFuZ2VzIGluIHRoZSBkYXRlcGlja2VyIGNhbGVuZGFyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreURhdGVwaWNrZXJDYWxlbmRhckNoYW5nZSB7XG4gIC8qKlxuICAgKiBUaGUgZW5kIGRhdGUuXG4gICAqL1xuICBlbmREYXRlOiBEYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhcnQgZGF0ZS5cbiAgICovXG4gIHN0YXJ0RGF0ZTogRGF0ZTtcblxuICAvKipcbiAgICogVGhlIG9ic2VydmFibGUgdGhhdCBhbGxvd3MgdGhlIGNvbnN1bWVyIHRvIHB1c2ggY3VzdG9tIGRhdGVzIGJhY2sgdG8gdGhlIGNhbGVuZGFyXG4gICAqIHdoZW4gdGhlIGBTa3lDYWxlbmRhckRhdGVSYW5nZUNoYW5nZUV2ZW50YCBldmVudCBmaXJlcy4gVGhpcyBpcyB1c2VmdWxcbiAgICogZm9yIGRpc3BsYXlpbmcga2V5IGRhdGVzIG9yIGRpc2FibGVkIGRhdGVzIGVhY2ggdGltZSB0aGUgY2FsZW5kYXIgY2hhbmdlcy4gSWYgZGlzYWJsZWQgZGF0ZXNcbiAgICogYXJlIHByb3ZpZGVkLCBTS1kgVVggd2lsbCBwcmV2ZW50IHRoZSB1c2VyIGZyb20gc2VsZWN0aW5nIHRoZSBkYXRlIGZyb20gdGhlIGNhbGVuZGFyLlxuICAgKiBIb3dldmVyLCBjb25zdW1lcnMgd2lsbCBzdGlsbCBuZWVkIHRvIGFkZCBhIGN1c3RvbSB2YWxpZGF0b3IgdG8gcHJldmVudCB1c2VycyBmcm9tIGVudGVyaW5nXG4gICAqIGRpc2FibGVkIGRhdGVzIGluIHRoZSB0ZXh0IGlucHV0LlxuICAgKi9cbiAgY3VzdG9tRGF0ZXM/OiBPYnNlcnZhYmxlPFNreURhdGVwaWNrZXJDdXN0b21EYXRlW10+O1xufVxuIl19
@@ -3,7 +3,7 @@ import * as i0 from "@angular/core";
3
3
  export class SkyDatepickerConfigService {
4
4
  constructor() {
5
5
  /**
6
- * Specifies the starting day of the week in the calendar,
6
+ * The starting day of the week in the calendar,
7
7
  * where `0` sets the starting day to Sunday.
8
8
  * @default 0
9
9
  */
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
18
18
  providedIn: 'root',
19
19
  }]
20
20
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS9zcmMvbGliL21vZHVsZXMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTywwQkFBMEI7SUFIdkM7UUFvQkU7Ozs7V0FJRztRQUNJLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO0tBQ3hCOzt3SEF2QlksMEJBQTBCOzRIQUExQiwwQkFBMEIsY0FGekIsTUFBTTs0RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZXBpY2tlckNvbmZpZ1NlcnZpY2Uge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBkYXRlIGZvcm1hdCBmb3IgdGhlIGlucHV0LlxuICAgKiBAZGVmYXVsdCBcIk1NL0REL1lZWVlcIlxuICAgKi9cbiAgcHVibGljIGRhdGVGb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBsYXRlc3Qgc2VsZWN0YWJsZSBkYXRlIHRoYXQgaXMgYXZhaWxhYmxlIGluIHRoZSBjYWxlbmRhci5cbiAgICovXG4gIHB1YmxpYyBtYXhEYXRlOiBEYXRlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGVhcmxpZXN0IHNlbGVjdGFibGUgZGF0ZSB0aGF0IGlzIGF2YWlsYWJsZSBpbiB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBwdWJsaWMgbWluRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBzdGFydGluZyBkYXkgb2YgdGhlIHdlZWsgaW4gdGhlIGNhbGVuZGFyLFxuICAgKiB3aGVyZSBgMGAgc2V0cyB0aGUgc3RhcnRpbmcgZGF5IHRvIFN1bmRheS5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgcHVibGljIHN0YXJ0aW5nRGF5ID0gMDtcbn1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS9zcmMvbGliL21vZHVsZXMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTywwQkFBMEI7SUFIdkM7UUFvQkU7Ozs7V0FJRztRQUNJLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO0tBQ3hCOzt3SEF2QlksMEJBQTBCOzRIQUExQiwwQkFBMEIsY0FGekIsTUFBTTs0RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZXBpY2tlckNvbmZpZ1NlcnZpY2Uge1xuICAvKipcbiAgICogVGhlIGRhdGUgZm9ybWF0IGZvciB0aGUgaW5wdXQuXG4gICAqIEBkZWZhdWx0IFwiTU0vREQvWVlZWVwiXG4gICAqL1xuICBwdWJsaWMgZGF0ZUZvcm1hdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgbGF0ZXN0IHNlbGVjdGFibGUgZGF0ZSB0aGF0IGlzIGF2YWlsYWJsZSBpbiB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBwdWJsaWMgbWF4RGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGVhcmxpZXN0IHNlbGVjdGFibGUgZGF0ZSB0aGF0IGlzIGF2YWlsYWJsZSBpbiB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBwdWJsaWMgbWluRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHN0YXJ0aW5nIGRheSBvZiB0aGUgd2VlayBpbiB0aGUgY2FsZW5kYXIsXG4gICAqIHdoZXJlIGAwYCBzZXRzIHRoZSBzdGFydGluZyBkYXkgdG8gU3VuZGF5LlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBwdWJsaWMgc3RhcnRpbmdEYXkgPSAwO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1jdXN0b20tZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS9zcmMvbGliL21vZHVsZXMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLWN1c3RvbS1kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIGZvciBhIGN1c3RvbSBkYXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreURhdGVwaWNrZXJDdXN0b21EYXRlIHtcbiAgLyoqXG4gICAqIFRoZSBkYXRlIHRvIGN1c3RvbWl6ZS5cbiAgICovXG4gIGRhdGU6IERhdGU7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc2FibGUgdGhlIGRhdGUuXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc3BsYXkgdGhlIGRhdGUgYXMgYSBrZXkgZGF0ZSBpbiB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBrZXlEYXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzcGxheXMgYSBwb3B1cCBvZiB0aGUgcHJvdmlkZWQgdGV4dCB3aGVuIGhvdmVyaW5nIG92ZXIgdGhlIGtleSBkYXRlIGluIHRoZSBjYWxlbmRhci5cbiAgICovXG4gIGtleURhdGVUZXh0PzogQXJyYXk8c3RyaW5nPjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1jdXN0b20tZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS9zcmMvbGliL21vZHVsZXMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLWN1c3RvbS1kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIGZvciBhIGN1c3RvbSBkYXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreURhdGVwaWNrZXJDdXN0b21EYXRlIHtcbiAgLyoqXG4gICAqIFRoZSBkYXRlIHRvIGN1c3RvbWl6ZS5cbiAgICovXG4gIGRhdGU6IERhdGU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgZGF0ZS5cbiAgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNwbGF5IHRoZSBkYXRlIGFzIGEga2V5IGRhdGUgaW4gdGhlIGNhbGVuZGFyLlxuICAgKi9cbiAga2V5RGF0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc3BsYXlzIGEgcG9wdXAgb2YgdGhlIHByb3ZpZGVkIHRleHQgd2hlbiBob3ZlcmluZyBvdmVyIHRoZSBrZXkgZGF0ZSBpbiB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBrZXlEYXRlVGV4dD86IEFycmF5PHN0cmluZz47XG59XG4iXX0=