@ethlete/cdk 3.18.3 → 3.19.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 (62) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/esm2022/lib/components/button/directives/button/button.directive.mjs +10 -25
  3. package/esm2022/lib/components/button/directives/query-button/query-button.directive.mjs +8 -17
  4. package/esm2022/lib/components/filter/rich-filter/components/rich-filter-host/rich-filter-host.component.mjs +5 -4
  5. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.mjs +7 -11
  6. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.mjs +17 -14
  7. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.mjs +6 -13
  8. package/esm2022/lib/components/forms/components/error/components/error/error.component.mjs +7 -9
  9. package/esm2022/lib/components/forms/components/radio/directives/radio/radio.directive.mjs +6 -8
  10. package/esm2022/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.mjs +14 -18
  11. package/esm2022/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.mjs +5 -11
  12. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.mjs +6 -8
  13. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.mjs +14 -18
  14. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.mjs +6 -11
  15. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.mjs +14 -25
  16. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.mjs +13 -23
  17. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.mjs +11 -23
  18. package/esm2022/lib/components/forms/components/select/components/select/directives/select/select.directive.mjs +26 -22
  19. package/esm2022/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.mjs +7 -15
  20. package/esm2022/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.mjs +13 -14
  21. package/esm2022/lib/components/forms/components/select/directives/select-field/select-field.directive.mjs +3 -4
  22. package/esm2022/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.mjs +6 -8
  23. package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +18 -41
  24. package/esm2022/lib/components/forms/directives/input/input.directive.mjs +4 -1
  25. package/esm2022/lib/components/forms/directives/writeable-input/writeable-input.directive.mjs +10 -23
  26. package/esm2022/lib/components/forms/services/input-state.service.mjs +21 -4
  27. package/esm2022/lib/components/forms/utils/decorated-form-field.base.mjs +5 -8
  28. package/esm2022/lib/components/forms/utils/decorated-input.base.mjs +26 -23
  29. package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +6 -8
  30. package/esm2022/lib/components/pagination/components/pagination/pagination.component.mjs +4 -2
  31. package/fesm2022/ethlete-cdk.mjs +213 -346
  32. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  33. package/lib/components/button/directives/button/button.directive.d.ts +4 -1
  34. package/lib/components/button/directives/query-button/query-button.directive.d.ts +4 -1
  35. package/lib/components/filter/rich-filter/components/rich-filter-host/rich-filter-host.component.d.ts +1 -0
  36. package/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.d.ts +4 -1
  37. package/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.d.ts +11 -6
  38. package/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.d.ts +6 -4
  39. package/lib/components/forms/components/error/components/error/error.component.d.ts +4 -1
  40. package/lib/components/forms/components/radio/directives/radio/radio.directive.d.ts +4 -1
  41. package/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.d.ts +12 -6
  42. package/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.d.ts +4 -1
  43. package/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.d.ts +4 -1
  44. package/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.d.ts +12 -7
  45. package/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.d.ts +4 -1
  46. package/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.d.ts +9 -1
  47. package/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.d.ts +8 -1
  48. package/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.d.ts +8 -1
  49. package/lib/components/forms/components/select/components/select/directives/select/select.directive.d.ts +14 -3
  50. package/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.d.ts +4 -1
  51. package/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.d.ts +10 -1
  52. package/lib/components/forms/components/select/directives/select-field/select-field.directive.d.ts +2 -2
  53. package/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.d.ts +4 -1
  54. package/lib/components/forms/components/slider/components/slider/slider.component.d.ts +8 -1
  55. package/lib/components/forms/directives/input/input.directive.d.ts +21 -19
  56. package/lib/components/forms/directives/writeable-input/writeable-input.directive.d.ts +4 -1
  57. package/lib/components/forms/services/input-state.service.d.ts +13 -6
  58. package/lib/components/forms/utils/decorated-form-field.base.d.ts +4 -1
  59. package/lib/components/forms/utils/decorated-input.base.d.ts +13 -6
  60. package/lib/components/masonry/components/masonry/masonry.component.d.ts +4 -1
  61. package/lib/components/pagination/components/pagination/pagination.component.d.ts +2 -2
  62. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { toSignal } from '@angular/core/rxjs-interop';
3
- import { BehaviorSubject, combineLatest, filter, map, Subject } from 'rxjs';
3
+ import { BehaviorSubject, combineLatest, filter, map, Observable, of, Subject, switchMap } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  export class InputStateService {
6
6
  constructor() {
@@ -27,8 +27,25 @@ export class InputStateService {
27
27
  this.valueIsTruthy = toSignal(this.valueIsTruthy$, { requireSync: true });
28
28
  this.valueIsFalsy$ = this.value$.pipe(map((value) => !value));
29
29
  this.valueIsFalsy = toSignal(this.valueIsFalsy$, { requireSync: true });
30
- this.valueIsEmpty$ = combineLatest([this.value$, this.autofilled$]).pipe(map(([value, autofilled]) => (value === null || value === undefined || value === '' || (Array.isArray(value) && !value.length)) &&
31
- !autofilled));
30
+ /**
31
+ * Selects might have a option that is "null".
32
+ * This helper can be used to enhance the detection of empty values.
33
+ * The input is empty if the helper returns a falsy value and the value itself is falsy or an empty array.
34
+ */
35
+ this.isEmptyHelper$ = new BehaviorSubject(undefined);
36
+ this.isEmptyHelper = toSignal(this.isEmptyHelper$, { requireSync: true });
37
+ this.valueIsEmpty$ = combineLatest([
38
+ this.value$,
39
+ this.autofilled$,
40
+ this.isEmptyHelper$.pipe(switchMap((isEmptyHelper) => (isEmptyHelper instanceof Observable ? isEmptyHelper : of(isEmptyHelper)))),
41
+ ]).pipe(map(([value, autofilled, isEmptyHelper]) => {
42
+ const defaultIsEmpty = (value === null || value === undefined || value === '' || (Array.isArray(value) && !value.length)) &&
43
+ !autofilled;
44
+ if (isEmptyHelper !== undefined) {
45
+ return !isEmptyHelper && defaultIsEmpty;
46
+ }
47
+ return defaultIsEmpty;
48
+ }));
32
49
  this.valueIsEmpty = toSignal(this.valueIsEmpty$, { requireSync: true });
33
50
  this.errors$ = new BehaviorSubject(null);
34
51
  this.errors = toSignal(this.errors$, { requireSync: true });
@@ -50,4 +67,4 @@ export class InputStateService {
50
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: InputStateService, decorators: [{
51
68
  type: Injectable
52
69
  }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZXJ2aWNlcy9pbnB1dC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUs1RSxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBS1csb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBOEIsSUFBSSxDQUFDLENBQUM7UUFDekUsbUJBQWMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLHNCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckYsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztRQUVyRixXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVcsSUFBSSxDQUFDLENBQUM7UUFDN0MsVUFBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFckQsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUss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QUMsQ0FBQztRQUM5RCxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFNUUsNkRBQTZEO1FBQzdELGlCQUFZLEdBQTBCLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDOUMsT0FBTztRQUNULENBQUMsQ0FBQztRQUNGLGFBQVEsR0FBbUIsR0FBRyxFQUFFO1lBQzlCLE9BQU87UUFDVCxDQUFDLENBQUM7S0FDSDs4R0EvRFksaUJBQWlCO2tIQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmF0aXZlSW5wdXRSZWZEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IElucHV0VG91Y2hlZEZuLCBJbnB1dFZhbHVlQ2hhbmdlRm4sIElucHV0VmFsdWVVcGRhdGVUeXBlLCBWYWxpZGF0b3JFcnJvcnMgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJbnB1dFN0YXRlU2VydmljZTxcbiAgVCA9IHVua25vd24sXG4gIEogZXh0ZW5kcyBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50IHwgSFRNTEJ1dHRvbkVsZW1lbnQgPSBIVE1MSW5wdXRFbGVtZW50LFxuPiB7XG4gIHJlYWRvbmx5IGxhc3RVcGRhdGVUeXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SW5wdXRWYWx1ZVVwZGF0ZVR5cGUgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgbGFzdFVwZGF0ZVR5cGUgPSB0b1NpZ25hbCh0aGlzLmxhc3RVcGRhdGVUeXBlJCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICByZWFkb25seSBvbkludGVybmFsVXBkYXRlJCA9IHRoaXMubGFzdFVwZGF0ZVR5cGUkLnBpcGUoZmlsdGVyKCh0eXBlKSA9PiB0eXBlID09PSAnaW50ZXJuYWwnKSk7XG4gIHJlYWRvbmx5IG9uRXh0ZXJuYWxVcGRhdGUkID0gdGhpcy5sYXN0VXBkYXRlVHlwZSQucGlwZShmaWx0ZXIoKHR5cGUpID0+IHR5cGUgPT09ICdleHRlcm5hbCcpKTtcblxuICByZWFkb25seSB2YWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFQgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgdmFsdWUgPSB0b1NpZ25hbCh0aGlzLnZhbHVlJCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICByZWFkb25seSBkaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSB0b1NpZ25hbCh0aGlzLmRpc2FibGVkJCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICByZWFkb25seSByZXF1aXJlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcmVxdWlyZWQgPSB0b1NpZ25hbCh0aGlzLnJlcXVpcmVkJCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICByZWFkb25seSB2YWx1ZUNoYW5nZSQgPSBuZXcgU3ViamVjdDxUPigpO1xuICByZWFkb25seSBkaXNhYmxlZENoYW5nZSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICByZWFkb25seSByZXF1aXJlZENoYW5nZSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIHJlYWRvbmx5IHVzZXNJbXBsaWNpdENvbnRyb2wkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHVzZXNJbXBsaWNpdENvbnRyb2wgPSB0b1NpZ25hbCh0aGlzLnVzZXNJbXBsaWNpdENvbnRyb2wkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IG5hdGl2ZUlucHV0UmVmJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TmF0aXZlSW5wdXRSZWZEaXJlY3RpdmU8Sj4gfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgbmF0aXZlSW5wdXRSZWYgPSB0b1NpZ25hbCh0aGlzLm5hdGl2ZUlucHV0UmVmJCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICByZWFkb25seSBhdXRvZmlsbGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBhdXRvZmlsbGVkID0gdG9TaWduYWwodGhpcy5hdXRvZmlsbGVkJCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICByZWFkb25seSB2YWx1ZUlzVHJ1dGh5JCA9IHRoaXMudmFsdWUkLnBpcGUobWFwKCh2YWx1ZSkgPT4gISF2YWx1ZSkpO1xuICByZWFkb25seSB2YWx1ZUlzVHJ1dGh5ID0gdG9TaWduYWwodGhpcy52YWx1ZUlzVHJ1dGh5JCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICByZWFkb25seSB2YWx1ZUlzRmFsc3kkID0gdGhpcy52YWx1ZSQucGlwZShtYXAoKHZhbHVlKSA9PiAhdmFsdWUpKTtcbiAgcmVhZG9ubHkgdmFsdWVJc0ZhbHN5ID0gdG9TaWduYWwodGhpcy52YWx1ZUlzRmFsc3kkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHZhbHVlSXNFbXB0eSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnZhbHVlJCwgdGhpcy5hdXRvZmlsbGVkJF0pLnBpcGUoXG4gICAgbWFwKFxuICAgICAgKFt2YWx1ZSwgYXV0b2ZpbGxlZF0pID0+XG4gICAgICAgICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJyB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgIXZhbHVlLmxlbmd0aCkpICYmXG4gICAgICAgICFhdXRvZmlsbGVkLFxuICAgICksXG4gICk7XG4gIHJlYWRvbmx5IHZhbHVlSXNFbXB0eSA9IHRvU2lnbmFsKHRoaXMudmFsdWVJc0VtcHR5JCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICByZWFkb25seSBlcnJvcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxWYWxpZGF0b3JFcnJvcnMgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgZXJyb3JzID0gdG9TaWduYWwodGhpcy5lcnJvcnMkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IHNob3VsZERpc3BsYXlFcnJvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgc2hvdWxkRGlzcGxheUVycm9yID0gdG9TaWduYWwodGhpcy5zaG91bGREaXNwbGF5RXJyb3IkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IGlzRm9jdXNlZFZpYSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvY3VzT3JpZ2luIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGlzRm9jdXNlZFZpYSA9IHRvU2lnbmFsKHRoaXMuaXNGb2N1c2VkVmlhJCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIF92YWx1ZUNoYW5nZTogSW5wdXRWYWx1ZUNoYW5nZUZuPFQ+ID0gKHZhbHVlKSA9PiB7XG4gICAgLy8gc3R1YlxuICB9O1xuICBfdG91Y2hlZDogSW5wdXRUb3VjaGVkRm4gPSAoKSA9PiB7XG4gICAgLy8gc3R1YlxuICB9O1xufVxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZXJ2aWNlcy9pbnB1dC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt2RyxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBS1csb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBOEIsSUFBSSxDQUFDLENBQUM7UUFDekUsbUJBQWMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLHNCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckYsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztRQUVyRixXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVcsSUFBSSxDQUFDLENBQUM7UUFDN0MsVUFBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFckQs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O2dCQUMvQixPQUFPLENBQUMsYUFBYSxJQUFJLGNBQWMsQ0FBQzthQUN6QztZQUVELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDTyxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFbkUsWUFBTyxHQUFHLElBQUksZUFBZSxDQUF5QixJQUFJLENBQUMsQ0FBQztRQUM1RCxXQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV2RCx3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUMxRCx1QkFBa0IsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFL0Usa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBcUIsSUFBSSxDQUFDLENBQUM7UUFDOUQsaUJBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLDZEQUE2RDtRQUM3RCxpQkFBWSxHQUEwQixDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzlDLE9BQU87UUFDVCxDQUFDLENBQUM7UUFDRixhQUFRLEdBQW1CLEdBQUcsRUFBRTtZQUM5QixPQUFPO1FBQ1QsQ0FBQyxDQUFDO0tBQ0g7OEdBbkZZLGlCQUFpQjtrSEFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5hdGl2ZUlucHV0UmVmRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBJbnB1dFRvdWNoZWRGbiwgSW5wdXRWYWx1ZUNoYW5nZUZuLCBJbnB1dFZhbHVlVXBkYXRlVHlwZSwgVmFsaWRhdG9yRXJyb3JzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW5wdXRTdGF0ZVNlcnZpY2U8XG4gIFQgPSB1bmtub3duLFxuICBKIGV4dGVuZHMgSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCB8IEhUTUxCdXR0b25FbGVtZW50ID0gSFRNTElucHV0RWxlbWVudCxcbj4ge1xuICByZWFkb25seSBsYXN0VXBkYXRlVHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElucHV0VmFsdWVVcGRhdGVUeXBlIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGxhc3RVcGRhdGVUeXBlID0gdG9TaWduYWwodGhpcy5sYXN0VXBkYXRlVHlwZSQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgb25JbnRlcm5hbFVwZGF0ZSQgPSB0aGlzLmxhc3RVcGRhdGVUeXBlJC5waXBlKGZpbHRlcigodHlwZSkgPT4gdHlwZSA9PT0gJ2ludGVybmFsJykpO1xuICByZWFkb25seSBvbkV4dGVybmFsVXBkYXRlJCA9IHRoaXMubGFzdFVwZGF0ZVR5cGUkLnBpcGUoZmlsdGVyKCh0eXBlKSA9PiB0eXBlID09PSAnZXh0ZXJuYWwnKSk7XG5cbiAgcmVhZG9ubHkgdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IHZhbHVlID0gdG9TaWduYWwodGhpcy52YWx1ZSQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGRpc2FibGVkID0gdG9TaWduYWwodGhpcy5kaXNhYmxlZCQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgcmVxdWlyZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHJlcXVpcmVkID0gdG9TaWduYWwodGhpcy5yZXF1aXJlZCQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UkID0gbmV3IFN1YmplY3Q8VD4oKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWRDaGFuZ2UkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgcmVxdWlyZWRDaGFuZ2UkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICByZWFkb25seSB1c2VzSW1wbGljaXRDb250cm9sJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSB1c2VzSW1wbGljaXRDb250cm9sID0gdG9TaWduYWwodGhpcy51c2VzSW1wbGljaXRDb250cm9sJCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICByZWFkb25seSBuYXRpdmVJbnB1dFJlZiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5hdGl2ZUlucHV0UmVmRGlyZWN0aXZlPEo+IHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IG5hdGl2ZUlucHV0UmVmID0gdG9TaWduYWwodGhpcy5uYXRpdmVJbnB1dFJlZiQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgYXV0b2ZpbGxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgYXV0b2ZpbGxlZCA9IHRvU2lnbmFsKHRoaXMuYXV0b2ZpbGxlZCQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgdmFsdWVJc1RydXRoeSQgPSB0aGlzLnZhbHVlJC5waXBlKG1hcCgodmFsdWUpID0+ICEhdmFsdWUpKTtcbiAgcmVhZG9ubHkgdmFsdWVJc1RydXRoeSA9IHRvU2lnbmFsKHRoaXMudmFsdWVJc1RydXRoeSQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgdmFsdWVJc0ZhbHN5JCA9IHRoaXMudmFsdWUkLnBpcGUobWFwKCh2YWx1ZSkgPT4gIXZhbHVlKSk7XG4gIHJlYWRvbmx5IHZhbHVlSXNGYWxzeSA9IHRvU2lnbmFsKHRoaXMudmFsdWVJc0ZhbHN5JCwgeyByZXF1aXJlU3luYzogdHJ1ZSB9KTtcblxuICAvKipcbiAgICogU2VsZWN0cyBtaWdodCBoYXZlIGEgb3B0aW9uIHRoYXQgaXMgXCJudWxsXCIuXG4gICAqIFRoaXMgaGVscGVyIGNhbiBiZSB1c2VkIHRvIGVuaGFuY2UgdGhlIGRldGVjdGlvbiBvZiBlbXB0eSB2YWx1ZXMuXG4gICAqIFRoZSBpbnB1dCBpcyBlbXB0eSBpZiB0aGUgaGVscGVyIHJldHVybnMgYSBmYWxzeSB2YWx1ZSBhbmQgdGhlIHZhbHVlIGl0c2VsZiBpcyBmYWxzeSBvciBhbiBlbXB0eSBhcnJheS5cbiAgICovXG4gIHJlYWRvbmx5IGlzRW1wdHlIZWxwZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx1bmtub3duIHwgT2JzZXJ2YWJsZTx1bmtub3duPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgaXNFbXB0eUhlbHBlciA9IHRvU2lnbmFsKHRoaXMuaXNFbXB0eUhlbHBlciQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgdmFsdWVJc0VtcHR5JCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMudmFsdWUkLFxuICAgIHRoaXMuYXV0b2ZpbGxlZCQsXG4gICAgdGhpcy5pc0VtcHR5SGVscGVyJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChpc0VtcHR5SGVscGVyKSA9PiAoaXNFbXB0eUhlbHBlciBpbnN0YW5jZW9mIE9ic2VydmFibGUgPyBpc0VtcHR5SGVscGVyIDogb2YoaXNFbXB0eUhlbHBlcikpKSxcbiAgICApLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3ZhbHVlLCBhdXRvZmlsbGVkLCBpc0VtcHR5SGVscGVyXSkgPT4ge1xuICAgICAgY29uc3QgZGVmYXVsdElzRW1wdHkgPVxuICAgICAgICAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmICF2YWx1ZS5sZW5ndGgpKSAmJlxuICAgICAgICAhYXV0b2ZpbGxlZDtcblxuICAgICAgaWYgKGlzRW1wdHlIZWxwZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gIWlzRW1wdHlIZWxwZXIgJiYgZGVmYXVsdElzRW1wdHk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkZWZhdWx0SXNFbXB0eTtcbiAgICB9KSxcbiAgKTtcbiAgcmVhZG9ubHkgdmFsdWVJc0VtcHR5ID0gdG9TaWduYWwodGhpcy52YWx1ZUlzRW1wdHkkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IGVycm9ycyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFZhbGlkYXRvckVycm9ycyB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBlcnJvcnMgPSB0b1NpZ25hbCh0aGlzLmVycm9ycyQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgc2hvdWxkRGlzcGxheUVycm9yJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzaG91bGREaXNwbGF5RXJyb3IgPSB0b1NpZ25hbCh0aGlzLnNob3VsZERpc3BsYXlFcnJvciQsIHsgcmVxdWlyZVN5bmM6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgaXNGb2N1c2VkVmlhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9jdXNPcmlnaW4gfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgaXNGb2N1c2VkVmlhID0gdG9TaWduYWwodGhpcy5pc0ZvY3VzZWRWaWEkLCB7IHJlcXVpcmVTeW5jOiB0cnVlIH0pO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgX3ZhbHVlQ2hhbmdlOiBJbnB1dFZhbHVlQ2hhbmdlRm48VD4gPSAodmFsdWUpID0+IHtcbiAgICAvLyBzdHViXG4gIH07XG4gIF90b3VjaGVkOiBJbnB1dFRvdWNoZWRGbiA9ICgpID0+IHtcbiAgICAvLyBzdHViXG4gIH07XG59XG4iXX0=
@@ -1,16 +1,13 @@
1
1
  import { Directive, inject } from '@angular/core';
2
- import { createReactiveBindings } from '@ethlete/core';
2
+ import { signalHostClasses } from '@ethlete/core';
3
3
  import { FormFieldStateService } from '../services';
4
4
  import * as i0 from "@angular/core";
5
5
  export class DecoratedFormFieldBase {
6
6
  constructor() {
7
7
  this._formFieldStateService = inject(FormFieldStateService);
8
- this._bindings = createReactiveBindings({
9
- attribute: 'class.et-form-field--has-prefix',
10
- observable: this._formFieldStateService.hasPrefix$,
11
- }, {
12
- attribute: 'class.et-form-field--has-suffix',
13
- observable: this._formFieldStateService.hasSuffix$,
8
+ this.hostClassBindings = signalHostClasses({
9
+ 'et-form-field--has-prefix': this._formFieldStateService.hasPrefix,
10
+ 'et-form-field--has-suffix': this._formFieldStateService.hasSuffix,
14
11
  });
15
12
  }
16
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DecoratedFormFieldBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -19,4 +16,4 @@ export class DecoratedFormFieldBase {
19
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DecoratedFormFieldBase, decorators: [{
20
17
  type: Directive
21
18
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdGVkLWZvcm0tZmllbGQuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy91dGlscy9kZWNvcmF0ZWQtZm9ybS1maWVsZC5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3BELE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFFbUIsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFL0QsY0FBUyxHQUFHLHNCQUFzQixDQUN6QztZQUNFLFNBQVMsRUFBRSxpQ0FBaUM7WUFDNUMsVUFBVSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVO1NBQ25ELEVBQ0Q7WUFDRSxTQUFTLEVBQUUsaUNBQWlDO1lBQzVDLFVBQVUsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVTtTQUNuRCxDQUNGLENBQUM7S0FDSDs4R0FiWSxzQkFBc0I7a0dBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBGb3JtRmllbGRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIERlY29yYXRlZEZvcm1GaWVsZEJhc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF9mb3JtRmllbGRTdGF0ZVNlcnZpY2UgPSBpbmplY3QoRm9ybUZpZWxkU3RhdGVTZXJ2aWNlKTtcblxuICByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LWZvcm0tZmllbGQtLWhhcy1wcmVmaXgnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmhhc1ByZWZpeCQsXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1mb3JtLWZpZWxkLS1oYXMtc3VmZml4JyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5oYXNTdWZmaXgkLFxuICAgIH0sXG4gICk7XG59XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdGVkLWZvcm0tZmllbGQuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy91dGlscy9kZWNvcmF0ZWQtZm9ybS1maWVsZC5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3BELE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFFbUIsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFL0Qsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7WUFDN0MsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVM7WUFDbEUsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVM7U0FDbkUsQ0FBQyxDQUFDO0tBQ0o7OEdBUFksc0JBQXNCO2tHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2lnbmFsSG9zdENsYXNzZXMgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IEZvcm1GaWVsZFN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgRGVjb3JhdGVkRm9ybUZpZWxkQmFzZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zvcm1GaWVsZFN0YXRlU2VydmljZSA9IGluamVjdChGb3JtRmllbGRTdGF0ZVNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGhvc3RDbGFzc0JpbmRpbmdzID0gc2lnbmFsSG9zdENsYXNzZXMoe1xuICAgICdldC1mb3JtLWZpZWxkLS1oYXMtcHJlZml4JzogdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmhhc1ByZWZpeCxcbiAgICAnZXQtZm9ybS1maWVsZC0taGFzLXN1ZmZpeCc6IHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5oYXNTdWZmaXgsXG4gIH0pO1xufVxuIl19
@@ -1,44 +1,47 @@
1
1
  import { ContentChildren, Directive, inject } from '@angular/core';
2
- import { TypedQueryList, createDestroy, createReactiveBindings } from '@ethlete/core';
3
- import { map, startWith, takeUntil } from 'rxjs';
2
+ import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
3
+ import { TypedQueryList, createDestroy, signalHostClasses, switchQueryListChanges } from '@ethlete/core';
4
+ import { BehaviorSubject, map, tap } from 'rxjs';
4
5
  import { INPUT_PREFIX_TOKEN, INPUT_SUFFIX_TOKEN } from '../directives';
5
6
  import { FormFieldStateService } from '../services';
6
7
  import { InputBase } from './input.base';
7
8
  import * as i0 from "@angular/core";
8
9
  export class DecoratedInputBase extends InputBase {
10
+ set inputPrefix(inputPrefix) {
11
+ this.inputPrefix$.next(inputPrefix);
12
+ }
13
+ set inputSuffix(inputSuffix) {
14
+ this.inputSuffix$.next(inputSuffix);
15
+ }
9
16
  constructor() {
10
- super(...arguments);
17
+ super();
11
18
  this._formFieldStateService = inject(FormFieldStateService);
12
19
  this._destroy$ = createDestroy();
13
- this._bindings = createReactiveBindings({
14
- attribute: 'class.et-input--has-prefix',
15
- observable: this._formFieldStateService.hasPrefix$,
16
- }, {
17
- attribute: 'class.et-input--has-suffix',
18
- observable: this._formFieldStateService.hasSuffix$,
20
+ this.inputPrefix$ = new BehaviorSubject(null);
21
+ this.inputSuffix$ = new BehaviorSubject(null);
22
+ this.hasPrefix$ = this.inputPrefix$.pipe(switchQueryListChanges(), map((list) => !!list && list?.length > 0));
23
+ this.hasSuffix$ = this.inputSuffix$.pipe(switchQueryListChanges(), map((list) => !!list && list?.length > 0));
24
+ this.hostClassBindings = signalHostClasses({
25
+ 'et-input--has-prefix': toSignal(this.hasPrefix$),
26
+ 'et-input--has-suffix': toSignal(this.hasSuffix$),
19
27
  });
28
+ this.hasPrefix$
29
+ .pipe(takeUntilDestroyed(), tap((hasPrefix) => this._formFieldStateService.hasPrefix$.next(hasPrefix)))
30
+ .subscribe();
31
+ this.hasSuffix$
32
+ .pipe(takeUntilDestroyed(), tap((hasSuffix) => this._formFieldStateService.hasSuffix$.next(hasSuffix)))
33
+ .subscribe();
20
34
  }
21
- ngAfterContentInit() {
22
- if (!this.inputPrefix || !this.inputSuffix) {
23
- return;
24
- }
25
- this.inputPrefix.changes
26
- .pipe(takeUntil(this._destroy$), startWith(this.inputPrefix), map((list) => list.length > 0))
27
- .subscribe(this._formFieldStateService.hasPrefix$);
28
- this.inputSuffix.changes
29
- .pipe(takeUntil(this._destroy$), startWith(this.inputSuffix), map((list) => list.length > 0))
30
- .subscribe(this._formFieldStateService.hasSuffix$);
31
- }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DecoratedInputBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DecoratedInputBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
33
36
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: DecoratedInputBase, queries: [{ propertyName: "inputPrefix", predicate: INPUT_PREFIX_TOKEN }, { propertyName: "inputSuffix", predicate: INPUT_SUFFIX_TOKEN }], usesInheritance: true, ngImport: i0 }); }
34
37
  }
35
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DecoratedInputBase, decorators: [{
36
39
  type: Directive
37
- }], propDecorators: { inputPrefix: [{
40
+ }], ctorParameters: function () { return []; }, propDecorators: { inputPrefix: [{
38
41
  type: ContentChildren,
39
42
  args: [INPUT_PREFIX_TOKEN]
40
43
  }], inputSuffix: [{
41
44
  type: ContentChildren,
42
45
  args: [INPUT_SUFFIX_TOKEN]
43
46
  }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdGVkLWlucHV0LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvdXRpbHMvZGVjb3JhdGVkLWlucHV0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUE4QyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFHekMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7SUFEakQ7O1FBRW1CLDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQy9ELGNBQVMsR0FBRyxhQUFhLEVBQUUsQ0FBQztRQVE1QixjQUFTLEdBQUcsc0JBQXNCLENBQ3pDO1lBQ0UsU0FBUyxFQUFFLDRCQUE0QjtZQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVU7U0FDbkQsRUFDRDtZQUNFLFNBQVMsRUFBRSw0QkFBNEI7WUFDdkMsVUFBVSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVO1NBQ25ELENBQ0YsQ0FBQztLQXVCSDtJQXJCQyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzFDLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTzthQUNyQixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFDekIsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUMvQjthQUNBLFNBQVMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO2FBQ3JCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUN6QixTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUMzQixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQy9CO2FBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQXpDVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixzREFJWixrQkFBa0IsOENBR2xCLGtCQUFrQjs7MkZBUHhCLGtCQUFrQjtrQkFEOUIsU0FBUzs4QkFNVyxXQUFXO3NCQUQ3QixlQUFlO3VCQUFDLGtCQUFrQjtnQkFJaEIsV0FBVztzQkFEN0IsZUFBZTt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUeXBlZFF1ZXJ5TGlzdCwgY3JlYXRlRGVzdHJveSwgY3JlYXRlUmVhY3RpdmVCaW5kaW5ncyB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSU5QVVRfUFJFRklYX1RPS0VOLCBJTlBVVF9TVUZGSVhfVE9LRU4sIElucHV0UHJlZml4RGlyZWN0aXZlLCBJbnB1dFN1ZmZpeERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgSW5wdXRCYXNlIH0gZnJvbSAnLi9pbnB1dC5iYXNlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgRGVjb3JhdGVkSW5wdXRCYXNlIGV4dGVuZHMgSW5wdXRCYXNlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zvcm1GaWVsZFN0YXRlU2VydmljZSA9IGluamVjdChGb3JtRmllbGRTdGF0ZVNlcnZpY2UpO1xuICByZWFkb25seSBfZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihJTlBVVF9QUkVGSVhfVE9LRU4pXG4gIHByb3RlY3RlZCByZWFkb25seSBpbnB1dFByZWZpeD86IFR5cGVkUXVlcnlMaXN0PElucHV0UHJlZml4RGlyZWN0aXZlPjtcblxuICBAQ29udGVudENoaWxkcmVuKElOUFVUX1NVRkZJWF9UT0tFTilcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0U3VmZml4PzogVHlwZWRRdWVyeUxpc3Q8SW5wdXRTdWZmaXhEaXJlY3RpdmU+O1xuXG4gIHJlYWRvbmx5IF9iaW5kaW5ncyA9IGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MoXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnY2xhc3MuZXQtaW5wdXQtLWhhcy1wcmVmaXgnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmhhc1ByZWZpeCQsXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1pbnB1dC0taGFzLXN1ZmZpeCcsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UuaGFzU3VmZml4JCxcbiAgICB9LFxuICApO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaW5wdXRQcmVmaXggfHwgIXRoaXMuaW5wdXRTdWZmaXgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0UHJlZml4LmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICBzdGFydFdpdGgodGhpcy5pbnB1dFByZWZpeCksXG4gICAgICAgIG1hcCgobGlzdCkgPT4gbGlzdC5sZW5ndGggPiAwKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmhhc1ByZWZpeCQpO1xuXG4gICAgdGhpcy5pbnB1dFN1ZmZpeC5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuaW5wdXRTdWZmaXgpLFxuICAgICAgICBtYXAoKGxpc3QpID0+IGxpc3QubGVuZ3RoID4gMCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5oYXNTdWZmaXgkKTtcbiAgfVxufVxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdGVkLWlucHV0LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvdXRpbHMvZGVjb3JhdGVkLWlucHV0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUE4QyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFHekMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7SUFJL0MsSUFDSSxXQUFXLENBQUMsV0FBaUQ7UUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUdELElBQ0ksV0FBVyxDQUFDLFdBQWlEO1FBQy9ELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFpQkQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTlCTywyQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMvRCxjQUFTLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFNbEIsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBOEMsSUFBSSxDQUFDLENBQUM7UUFNdEYsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBOEMsSUFBSSxDQUFDLENBQUM7UUFFaEcsZUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUMxQyxzQkFBc0IsRUFBRSxFQUN4QixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FDMUMsQ0FBQztRQUNPLGVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDMUMsc0JBQXNCLEVBQUUsRUFDeEIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQzFDLENBQUM7UUFFTyxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztZQUM3QyxzQkFBc0IsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNqRCxzQkFBc0IsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUNsRCxDQUFDLENBQUM7UUFLRCxJQUFJLENBQUMsVUFBVTthQUNaLElBQUksQ0FDSCxrQkFBa0IsRUFBRSxFQUNwQixHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQzNFO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsVUFBVTthQUNaLElBQUksQ0FDSCxrQkFBa0IsRUFBRSxFQUNwQixHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQzNFO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzs4R0E5Q1Usa0JBQWtCO2tHQUFsQixrQkFBa0Isc0RBSVosa0JBQWtCLDhDQU1sQixrQkFBa0I7OzJGQVZ4QixrQkFBa0I7a0JBRDlCLFNBQVM7MEVBTUosV0FBVztzQkFEZCxlQUFlO3VCQUFDLGtCQUFrQjtnQkFPL0IsV0FBVztzQkFEZCxlQUFlO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBUeXBlZFF1ZXJ5TGlzdCwgY3JlYXRlRGVzdHJveSwgc2lnbmFsSG9zdENsYXNzZXMsIHN3aXRjaFF1ZXJ5TGlzdENoYW5nZXMgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElOUFVUX1BSRUZJWF9UT0tFTiwgSU5QVVRfU1VGRklYX1RPS0VOLCBJbnB1dFByZWZpeERpcmVjdGl2ZSwgSW5wdXRTdWZmaXhEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEZvcm1GaWVsZFN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IElucHV0QmFzZSB9IGZyb20gJy4vaW5wdXQuYmFzZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIERlY29yYXRlZElucHV0QmFzZSBleHRlbmRzIElucHV0QmFzZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zvcm1GaWVsZFN0YXRlU2VydmljZSA9IGluamVjdChGb3JtRmllbGRTdGF0ZVNlcnZpY2UpO1xuICByZWFkb25seSBfZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihJTlBVVF9QUkVGSVhfVE9LRU4pXG4gIHNldCBpbnB1dFByZWZpeChpbnB1dFByZWZpeDogVHlwZWRRdWVyeUxpc3Q8SW5wdXRQcmVmaXhEaXJlY3RpdmU+KSB7XG4gICAgdGhpcy5pbnB1dFByZWZpeCQubmV4dChpbnB1dFByZWZpeCk7XG4gIH1cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0UHJlZml4JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHlwZWRRdWVyeUxpc3Q8SW5wdXRQcmVmaXhEaXJlY3RpdmU+IHwgbnVsbD4obnVsbCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihJTlBVVF9TVUZGSVhfVE9LRU4pXG4gIHNldCBpbnB1dFN1ZmZpeChpbnB1dFN1ZmZpeDogVHlwZWRRdWVyeUxpc3Q8SW5wdXRTdWZmaXhEaXJlY3RpdmU+KSB7XG4gICAgdGhpcy5pbnB1dFN1ZmZpeCQubmV4dChpbnB1dFN1ZmZpeCk7XG4gIH1cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0U3VmZml4JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHlwZWRRdWVyeUxpc3Q8SW5wdXRTdWZmaXhEaXJlY3RpdmU+IHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgaGFzUHJlZml4JCA9IHRoaXMuaW5wdXRQcmVmaXgkLnBpcGUoXG4gICAgc3dpdGNoUXVlcnlMaXN0Q2hhbmdlcygpLFxuICAgIG1hcCgobGlzdCkgPT4gISFsaXN0ICYmIGxpc3Q/Lmxlbmd0aCA+IDApLFxuICApO1xuICByZWFkb25seSBoYXNTdWZmaXgkID0gdGhpcy5pbnB1dFN1ZmZpeCQucGlwZShcbiAgICBzd2l0Y2hRdWVyeUxpc3RDaGFuZ2VzKCksXG4gICAgbWFwKChsaXN0KSA9PiAhIWxpc3QgJiYgbGlzdD8ubGVuZ3RoID4gMCksXG4gICk7XG5cbiAgcmVhZG9ubHkgaG9zdENsYXNzQmluZGluZ3MgPSBzaWduYWxIb3N0Q2xhc3Nlcyh7XG4gICAgJ2V0LWlucHV0LS1oYXMtcHJlZml4JzogdG9TaWduYWwodGhpcy5oYXNQcmVmaXgkKSxcbiAgICAnZXQtaW5wdXQtLWhhcy1zdWZmaXgnOiB0b1NpZ25hbCh0aGlzLmhhc1N1ZmZpeCQpLFxuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5oYXNQcmVmaXgkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIHRhcCgoaGFzUHJlZml4KSA9PiB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UuaGFzUHJlZml4JC5uZXh0KGhhc1ByZWZpeCkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5oYXNTdWZmaXgkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIHRhcCgoaGFzU3VmZml4KSA9PiB0aGlzLl9mb3JtRmllbGRTdGF0ZVNlcnZpY2UuaGFzU3VmZml4JC5uZXh0KGhhc1N1ZmZpeCkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, inject, Input, numberAttribute, Output, ViewEncapsulation, } from '@angular/core';
2
- import { createDestroy, createReactiveBindings, DELAYABLE_TOKEN, ObserveResizeDirective, TypedQueryList, } from '@ethlete/core';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { createDestroy, DELAYABLE_TOKEN, ObserveResizeDirective, signalHostClasses, TypedQueryList, } from '@ethlete/core';
3
4
  import { BehaviorSubject, combineLatest, debounceTime, of, startWith, switchMap, takeUntil, tap, timer } from 'rxjs';
4
5
  import { MASONRY_ITEM_TOKEN } from '../../partials';
5
6
  import * as i0 from "@angular/core";
@@ -15,12 +16,9 @@ export class MasonryComponent {
15
16
  this._didResize$ = new BehaviorSubject(false);
16
17
  this._didInitialize$ = new BehaviorSubject(false);
17
18
  this._hideOverflow$ = new BehaviorSubject(false);
18
- this._bindings = createReactiveBindings({
19
- attribute: 'class.et-masonry--initialized',
20
- observable: this._didInitialize$,
21
- }, {
22
- attribute: 'class.et-masonry--hide-overflow',
23
- observable: this._hideOverflow$,
19
+ this.hostClassBindings = signalHostClasses({
20
+ 'et-masonry--initialized': toSignal(this._didInitialize$),
21
+ 'et-masonry--hide-overflow': toSignal(this._hideOverflow$),
24
22
  });
25
23
  this._state = {
26
24
  preferredColumnWidth: 0,
@@ -203,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
203
201
  }], initialized: [{
204
202
  type: Output
205
203
  }] } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzb25yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvbWFzb25yeS9jb21wb25lbnRzL21hc29ucnkvbWFzb25yeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsZUFBZSxFQUNmLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGFBQWEsRUFDYixzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixjQUFjLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxrQkFBa0IsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQzs7QUE2QjFFLE1BQU0sT0FBTyxnQkFBZ0I7SUFmN0I7UUFnQm1CLGNBQVMsR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUM1QixnQkFBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFDMUQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQVlsRSxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFTLEdBQUcsQ0FBQyxDQUFDO1FBU2hELFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUd2QyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFF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LFdBQVcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRVMsY0FBYztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQWE7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsRUFBRSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDOUYsQ0FBQzs4R0F6TlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsaVNBS08sa0JBQWtCLG9EQWxCMUM7OztHQUdULCtUQVFTLHNCQUFzQjs7MkZBRXJCLGdCQUFnQjtrQkFmNUIsU0FBUzsrQkFDRSxZQUFZLFlBQ1o7OztHQUdULGNBRVcsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxZQUFZO3FCQUNwQixXQUNRLENBQUMsc0JBQXNCLENBQUM7OEJBUWhCLE1BQU07c0JBRHRCLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUl4RSxVQUFVO3NCQURiLEtBQUs7Z0JBVUYsR0FBRztzQkFETixLQUFLO2dCQVVHLFlBQVk7c0JBRHBCLE1BQU07Z0JBSUUsV0FBVztzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgY3JlYXRlRGVzdHJveSxcbiAgY3JlYXRlUmVhY3RpdmVCaW5kaW5ncyxcbiAgREVMQVlBQkxFX1RPS0VOLFxuICBPYnNlcnZlUmVzaXplRGlyZWN0aXZlLFxuICBUeXBlZFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRlYm91bmNlVGltZSwgb2YsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1BU09OUllfSVRFTV9UT0tFTiwgTWFzb25yeUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXJ0aWFscyc7XG5cbnR5cGUgTWFzb25yeVN0YXRlID0ge1xuICBwcmVmZXJyZWRDb2x1bW5XaWR0aDogbnVtYmVyO1xuICBjb2x1bW5XaWR0aDogbnVtYmVyO1xuICBjb2x1bW5zOiBudW1iZXI7XG4gIGdyaWRSb3dFbEhlaWdodHM6IG51bWJlcltdW107XG4gIGhvc3RIZWlnaHQ6IG51bWJlcjtcbiAgaG9zdERpbWVuc2lvbnM6IERPTVJlY3QgfCBudWxsO1xuICBnYXA6IG51bWJlcjtcbiAgaXNJbml0aWFsaXplZDogYm9vbGVhbjtcbiAgaXRlbUNvdW50OiBudW1iZXI7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1tYXNvbnJ5JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IChldE9ic2VydmVSZXNpemUpPVwic2V0UmVzaXplRXZlbnQoKVwiPjwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltldE1hc29ucnlJdGVtXSwgZXQtbWFzb25yeS1pdGVtLCBuZy1jb250YWluZXJcIiAvPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9tYXNvbnJ5LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1tYXNvbnJ5JyxcbiAgfSxcbiAgaW1wb3J0czogW09ic2VydmVSZXNpemVEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXNvbnJ5Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gY3JlYXRlRGVzdHJveSgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVsYXlhYmxlID0gaW5qZWN0KERFTEFZQUJMRV9UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gTUFTT05SWV9JVEVNX1RPS0VOKSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIHJlYWRvbmx5IF9pdGVtcz86IFR5cGVkUXVlcnlMaXN0PE1hc29ucnlJdGVtQ29tcG9uZW50PjtcblxuICBASW5wdXQoKVxuICBnZXQgY29sdW1XaWR0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bVdpZHRoJC5nZXRWYWx1ZSgpIHx8IDI1MDtcbiAgfVxuICBzZXQgY29sdW1XaWR0aCh2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuX2NvbHVtV2lkdGgkLm5leHQobnVtYmVyQXR0cmlidXRlKHZhbHVlLCAyNTApKTtcbiAgfVxuICBwcml2YXRlIF9jb2x1bVdpZHRoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigyNTApO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBnYXAoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZ2FwJC5nZXRWYWx1ZSgpIHx8IDA7XG4gIH1cbiAgc2V0IGdhcCh2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuX2dhcCQubmV4dChudW1iZXJBdHRyaWJ1dGUodmFsdWUsIDE2KSk7XG4gIH1cbiAgcHJpdmF0ZSBfZ2FwJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxNik7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGluaXRpYWxpemluZyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgaW5pdGlhbGl6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGlkUmVzaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaWRJbml0aWFsaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9oaWRlT3ZlcmZsb3ckID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgX2JpbmRpbmdzID0gY3JlYXRlUmVhY3RpdmVCaW5kaW5ncyhcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1tYXNvbnJ5LS1pbml0aWFsaXplZCcsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLl9kaWRJbml0aWFsaXplJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LW1hc29ucnktLWhpZGUtb3ZlcmZsb3cnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5faGlkZU92ZXJmbG93JCxcbiAgICB9LFxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlOiBNYXNvbnJ5U3RhdGUgPSB7XG4gICAgcHJlZmVycmVkQ29sdW1uV2lkdGg6IDAsXG4gICAgY29sdW1uV2lkdGg6IDAsXG4gICAgY29sdW1uczogMCxcbiAgICBncmlkUm93RWxIZWlnaHRzOiBbXSxcbiAgICBob3N0SGVpZ2h0OiAwLFxuICAgIGhvc3REaW1lbnNpb25zOiBudWxsLFxuICAgIGdhcDogMCxcbiAgICBpdGVtQ291bnQ6IDAsXG4gICAgaXNJbml0aWFsaXplZDogZmFsc2UsXG4gIH07XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXRlbXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9kZWxheWFibGU/LmVuYWJsZURlbGF5ZWQoKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX2l0ZW1zLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5faXRlbXMpKSwgdGhpcy5fZGlkUmVzaXplJCwgdGhpcy5fY29sdW1XaWR0aCQsIHRoaXMuX2dhcCRdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgxKSxcbiAgICAgICAgdGFwKChbLCBkaWRSZXNpemUsIGNvbFdpZHRoLCBnYXBdKSA9PiB7XG4gICAgICAgICAgaWYgKGRpZFJlc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5fZGlkUmVzaXplJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBpc0NvbXBsZXRlSW52YWxpZCA9XG4gICAgICAgICAgICBkaWRSZXNpemUgfHwgY29sV2lkdGggIT09IHRoaXMuX3N0YXRlLnByZWZlcnJlZENvbHVtbldpZHRoIHx8IGdhcCAhPT0gdGhpcy5fc3RhdGUuZ2FwO1xuXG4gICAgICAgICAgdGhpcy5pbnZhbGlkYXRlKHsgcGFydGlhbDogIWlzQ29tcGxldGVJbnZhbGlkIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX2RpZFJlc2l6ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5faGlkZU92ZXJmbG93JC5uZXh0KHRydWUpKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRpbWVyKDE1MCkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5faGlkZU92ZXJmbG93JC5uZXh0KGZhbHNlKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9pdGVtcy5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuX2l0ZW1zKSxcbiAgICAgICAgc3dpdGNoTWFwKChpdGVtcykgPT5cbiAgICAgICAgICBpdGVtcy5sZW5ndGhcbiAgICAgICAgICAgID8gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgICAgICBpdGVtc1xuICAgICAgICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgLmZpbHRlcigoaSk6IGkgaXMgTWFzb25yeUl0ZW1Db21wb25lbnQgPT4gISFpKVxuICAgICAgICAgICAgICAgICAgLm1hcCgoaSkgPT4gaS5pc1Bvc2l0aW9uZWQkKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBvZihbXSksXG4gICAgICAgICksXG4gICAgICAgIHN3aXRjaE1hcCgocG9zaXRpb25lZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFsbFBvc2l0aW9uZWQgPSBwb3NpdGlvbmVkLmV2ZXJ5KChpKSA9PiBpKTtcblxuICAgICAgICAgIGlmICghYWxsUG9zaXRpb25lZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlkSW5pdGlhbGl6ZSQubmV4dChhbGxQb3NpdGlvbmVkKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6aW5nLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMuX2RlbGF5YWJsZT8uZW5hYmxlRGVsYXllZCgpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB0aW1lcigxMDApLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9kaWRJbml0aWFsaXplJC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgICB0aGlzLl9kZWxheWFibGU/LmRpc2FibGVEZWxheWVkKCk7XG4gICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQuZW1pdCgpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBpbnZhbGlkYXRlKGNvbmZpZz86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICAgIGNvbnN0IGl0ZW1MaXN0ID0gdGhpcy5faXRlbXM7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLl9zdGF0ZTtcblxuICAgIGlmICghaXRlbUxpc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpdGVtcyA9IGl0ZW1MaXN0LnRvQXJyYXkoKS5maWx0ZXIoKGkpOiBpIGlzIE1hc29ucnlJdGVtQ29tcG9uZW50ID0+ICEhaSk7XG5cbiAgICBpZiAoIWNvbmZpZz8ucGFydGlhbCB8fCAhc3RhdGUuaXNJbml0aWFsaXplZCkge1xuICAgICAgc3RhdGUucHJlZmVycmVkQ29sdW1uV2lkdGggPSB0aGlzLmNvbHVtV2lkdGg7XG4gICAgICBzdGF0ZS5ob3N0RGltZW5zaW9ucyA9IHRoaXMuX2dldEhvc3REaW1lbnNpb25zKCk7XG4gICAgICBzdGF0ZS5jb2x1bW5zID0gTWF0aC5mbG9vcihzdGF0ZS5ob3N0RGltZW5zaW9ucy53aWR0aCAvIHRoaXMuY29sdW1XaWR0aCk7XG4gICAgICBzdGF0ZS5nYXAgPSB0aGlzLmdhcDtcbiAgICAgIHN0YXRlLml0ZW1Db3VudCA9IGl0ZW1zLmxlbmd0aDtcbiAgICAgIHN0YXRlLmNvbHVtbldpZHRoID0gKHN0YXRlLmhvc3REaW1lbnNpb25zLndpZHRoIC0gKHN0YXRlLmNvbHVtbnMgLSAxKSAqIHN0YXRlLmdhcCkgLyBzdGF0ZS5jb2x1bW5zO1xuICAgICAgdGhpcy5fc2V0Q29sdW1uV2lkdGgoc3RhdGUuY29sdW1uV2lkdGgpO1xuXG4gICAgICAvKipcbiAgICAgICAqIERhdGEgc3RydWN0dXJlOlxuICAgICAgICogW1xuICAgICAgICogIFtjdXJyZW50VG90YWxIZWlnaHRPZkNvbCwgaXRlbUhlaWdodCwgaXRlbUhlaWdodCwgaXRlbUhlaWdodF0sXG4gICAgICAgKiAgW2N1cnJlbnRUb3RhbEhlaWdodE9mQ29sLCBpdGVtSGVpZ2h0LCBpdGVtSGVpZ2h0LCBpdGVtSGVpZ2h0XSxcbiAgICAgICAqIF1cbiAgICAgICAqL1xuICAgICAgc3RhdGUuZ3JpZFJvd0VsSGVpZ2h0cyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IHN0YXRlLmNvbHVtbnMgfSkubWFwKCgpID0+IFswXSk7XG5cbiAgICAgIHRoaXMuX3BhaW50TWFzb25yeSgwLCBpdGVtcyk7XG5cbiAgICAgIHN0YXRlLmlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmcm9tSW5kZXggPSBpdGVtcy5maW5kSW5kZXgoKGl0ZW0pID0+ICFpdGVtLmlzUG9zaXRpb25lZCk7XG5cbiAgICAgIC8vIGl0ZW0gY291bnQgMjAgZnJvbUluZGV4IDIwICsgMSAtPiAyMSA9PiBwYXJ0aWFsIGludmFsaWRhdGlvblxuICAgICAgaWYgKGZyb21JbmRleCArIDEgPiBzdGF0ZS5pdGVtQ291bnQpIHtcbiAgICAgICAgc3RhdGUuaXRlbUNvdW50ID0gaXRlbXMubGVuZ3RoO1xuICAgICAgICB0aGlzLl9wYWludE1hc29ucnkoZnJvbUluZGV4LCBpdGVtcyk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBkbyBhIGZ1bGwgaW52YWxpZGF0aW9uIHRoZSBmcm9tSW5kZXggaXMgbm90IHRoZSBmaXJzdCBuZXcgaXRlbVxuICAgICAgdGhpcy5pbnZhbGlkYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcGFpbnRNYXNvbnJ5KGZyb21JbmRleCA9IDAsIGl0ZW1zOiBNYXNvbnJ5SXRlbUNvbXBvbmVudFtdKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLl9zdGF0ZTtcblxuICAgIGZvciAobGV0IGl0ZW1JbmRleCA9IGZyb21JbmRleDsgaXRlbUluZGV4IDwgaXRlbXMubGVuZ3RoOyBpdGVtSW5kZXgrKykge1xuICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2l0ZW1JbmRleF07XG5cbiAgICAgIGlmICghaXRlbSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW5pdGlhbEl0ZW1EaW1lbnNpb25zID0gaXRlbS5pbml0aWFsRGltZW5zaW9ucztcbiAgICAgIGNvbnN0IHVwZGF0ZWREaW1lbnNpb25zID0gaXRlbS5kaW1lbnNpb25zO1xuXG4gICAgICBpZiAoIWluaXRpYWxJdGVtRGltZW5zaW9ucyB8fCAhdXBkYXRlZERpbWVuc2lvbnMpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgbG93ZXN0Q29sdW1uSGVpZ2h0LCBsb3dlc3RDb2x1bW5JbmRleCB9ID0gdGhpcy5fZ2V0TG93ZXN0Q29sdW1uKHN0YXRlLmdyaWRSb3dFbEhlaWdodHMpO1xuXG4gICAgICBjb25zdCB4ID0gc3RhdGUuY29sdW1uV2lkdGggKiBsb3dlc3RDb2x1bW5JbmRleCArIGxvd2VzdENvbHVtbkluZGV4ICogc3RhdGUuZ2FwO1xuXG4gICAgICBpdGVtLnNldFBvc2l0aW9uKHgsIGxvd2VzdENvbHVtbkhlaWdodCwgdXBkYXRlZERpbWVuc2lvbnMuaGVpZ2h0KTtcblxuICAgICAgc3RhdGUuZ3JpZFJvd0VsSGVpZ2h0c1tsb3dlc3RDb2x1bW5JbmRleF0hLnB1c2godXBkYXRlZERpbWVuc2lvbnMuaGVpZ2h0KTtcbiAgICAgIHN0YXRlLmdyaWRSb3dFbEhlaWdodHNbbG93ZXN0Q29sdW1uSW5kZXhdIVswXSArPSB1cGRhdGVkRGltZW5zaW9ucy5oZWlnaHQgKyBzdGF0ZS5nYXA7XG4gICAgfVxuXG4gICAgc3RhdGUuaG9zdEhlaWdodCA9IHRoaXMuX2dldEhpZ2hlc3RDb2x1bW4oc3RhdGUuZ3JpZFJvd0VsSGVpZ2h0cykuaGlnaGVzdENvbHVtbkhlaWdodCAtIHN0YXRlLmdhcDtcblxuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnaGVpZ2h0JywgYCR7c3RhdGUuaG9zdEhlaWdodH1weGApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFJlc2l6ZUV2ZW50KCkge1xuICAgIHRoaXMuX2RpZFJlc2l6ZSQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEhvc3REaW1lbnNpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRDb2x1bW5XaWR0aCh3aWR0aDogbnVtYmVyKSB7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWV0LW1hc29ucnktY29sdW1uLXdpZHRoJywgYCR7d2lkdGh9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldExvd2VzdENvbHVtbiA9IChjb2x1bW5IZWlnaHRzOiBudW1iZXJbXVtdKSA9PiB7XG4gICAgbGV0IGxvd2VzdENvbHVtbkhlaWdodCA9IGNvbHVtbkhlaWdodHNbMF0/LlswXSA/PyAwO1xuICAgIGxldCBsb3dlc3RDb2x1bW5JbmRleCA9IDA7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHVtbkhlaWdodHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNvbHVtbkhlaWdodCA9IGNvbHVtbkhlaWdodHNbaV0/LlswXTtcblxuICAgICAgaWYgKGNvbHVtbkhlaWdodCAhPT0gdW5kZWZpbmVkICYmIGNvbHVtbkhlaWdodCA8IGxvd2VzdENvbHVtbkhlaWdodCkge1xuICAgICAgICBsb3dlc3RDb2x1bW5IZWlnaHQgPSBjb2x1bW5IZWlnaHQ7XG4gICAgICAgIGxvd2VzdENvbHVtbkluZGV4ID0gaTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBsb3dlc3RDb2x1bW5IZWlnaHQsIGxvd2VzdENvbHVtbkluZGV4IH07XG4gIH07XG5cbiAgcHJpdmF0ZSBfZ2V0SGlnaGVzdENvbHVtbiA9IChjb2x1bW5IZWlnaHRzOiBudW1iZXJbXVtdKSA9PiB7XG4gICAgbGV0IGhpZ2hlc3RDb2x1bW5IZWlnaHQgPSBjb2x1bW5IZWlnaHRzWzBdPy5bMF0gPz8gMDtcbiAgICBsZXQgaGlnaGVzdENvbHVtbkluZGV4ID0gMDtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1uSGVpZ2h0cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY29sdW1uSGVpZ2h0ID0gY29sdW1uSGVpZ2h0c1tpXT8uWzBdO1xuXG4gICAgICBpZiAoY29sdW1uSGVpZ2h0ICE9PSB1bmRlZmluZWQgJiYgY29sdW1uSGVpZ2h0ID49IGhpZ2hlc3RDb2x1bW5IZWlnaHQpIHtcbiAgICAgICAgaGlnaGVzdENvbHVtbkhlaWdodCA9IGNvbHVtbkhlaWdodDtcbiAgICAgICAgaGlnaGVzdENvbHVtbkluZGV4ID0gaTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBoaWdoZXN0Q29sdW1uSGVpZ2h0LCBoaWdoZXN0Q29sdW1uSW5kZXggfTtcbiAgfTtcbn1cbiJdfQ==
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzb25yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvbWFzb25yeS9jb21wb25lbnRzL21hc29ucnkvbWFzb25yeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsZUFBZSxFQUNmLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFDTCxhQUFhLEVBQ2IsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsY0FBYyxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNySCxPQUFPLEVBQUUsa0JBQWtCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7O0FBNkIxRSxNQUFNLE9BQU8sZ0JBQWdCO0lBZjdCO1FBZ0JtQixjQUFTLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFDNUIsZ0JBQVcsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO1FBQzFELGVBQVUsR0FBRyxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFZbEUsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBUyxHQUFHLENBQUMsQ0FBQztRQVNoRCxVQUFLLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFHdkMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2xDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV6QixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRCxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztZQUM3Qyx5QkFBeUIsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUN6RCwyQkFBMkIsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUMzRCxDQUFDLENBQUM7UUFFYyxXQUFNLEdBQWlCO1lBQ3RDLG9CQUFvQixFQUFFLENBQUM7WUFDdkIsV0FBVyxFQUFFLENBQUM7WUFDZCxPQUFPLEVBQUUsQ0FBQztZQUNWLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsVUFBVSxFQUFFLENBQUM7WUFDYixjQUFjLEVBQUUsSUFBSTtZQUNwQixHQUFHLEVBQUUsQ0FBQztZQUNOLFNBQVMsRUFBRSxDQUFDO1lBQ1osYUFBYSxFQUFFLEtBQUs7U0FDckIsQ0FBQztRQWtLTSxxQkFBZ0IsR0FBRyxDQUFDLGFBQXlCLEVBQUUsRUFBRTtZQUN2RCxJQUFJLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCxJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQztZQUUxQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDN0MsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRTNDLElBQUksWUFBWSxLQUFLLFNBQVMsSUFBSSxZQUFZLEdBQUcsa0JBQWtCLEVBQUU7b0JBQ25FLGtCQUFrQixHQUFHLFlBQVksQ0FBQztvQkFDbEMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO2lCQUN2QjthQUNGO1lBRUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLENBQUM7UUFDbkQsQ0FBQyxDQUFDO1FBRU0sc0JBQWlCLEdBQUcsQ0FBQyxhQUF5QixFQUFFLEVBQUU7WUFDeEQsSUFBSSxtQkFBbUIsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckQsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7WUFFM0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdDLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUUzQyxJQUFJLFlBQVksS0FBSyxTQUFTLElBQUksWUFBWSxJQUFJLG1CQUFtQixFQUFFO29CQUNyRSxtQkFBbUIsR0FBRyxZQUFZLENBQUM7b0JBQ25DLGtCQUFrQixHQUFHLENBQUMsQ0FBQztpQkFDeEI7YUFDRjtZQUVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JELENBQUMsQ0FBQztLQUNIO0lBNU9DLElBQ0ksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxHQUFHLENBQUM7SUFDN0MsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQWM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFHRCxJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxLQUFjO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBOEJELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxDQUFDO1FBRWpDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMvRyxJQUFJLENBQ0gsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUNmLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDOUI7WUFFRCxNQUFNLGlCQUFpQixHQUNyQixTQUFTLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1lBRXhGLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxXQUFXO2FBQ2IsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUN6QyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQzNCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUMxQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsRUFBRSxDQUFDO1FBRWYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO2FBQ2hCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUN0QixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNsQixLQUFLLENBQUMsTUFBTTtZQUNWLENBQUMsQ0FBQyxhQUFhLENBQ1gsS0FBSztpQkFDRixPQUFPLEVBQUU7aUJBQ1QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUE2QixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDN0MsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQy9CO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDWCxFQUNELFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWpELElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxDQUFDO2dCQUNqQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNqQjtZQUVELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDUCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQThCO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUUxQixJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTztTQUNSO1FBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBNkIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDNUMsS0FBSyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDN0MsS0FBSyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNqRCxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pFLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNyQixLQUFLLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDL0IsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNuRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUV4Qzs7Ozs7O2VBTUc7WUFDSCxLQUFLLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTlFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRTdCLEtBQUssQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzVCO2FBQU07WUFDTCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUVoRSwrREFBK0Q7WUFDL0QsSUFBSSxTQUFTLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQUU7Z0JBQ25DLEtBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBRXJDLE9BQU87YUFDUjtZQUVELGlFQUFpRTtZQUNqRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsS0FBNkI7UUFDaEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUUxQixLQUFLLElBQUksU0FBUyxHQUFHLFNBQVMsRUFBRSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRTtZQUNyRSxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFOUIsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDVCxTQUFTO2FBQ1Y7WUFFRCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUNyRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFFMUMsSUFBSSxDQUFDLHFCQUFxQixJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ2hELFNBQVM7YUFDVjtZQUVELE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUVoRyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxHQUFHLGlCQUFpQixHQUFHLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFFaEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFbEUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ3ZGO1FBRUQsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUVsRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFUyxjQUFjO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBYTtRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLDJCQUEyQixFQUFFLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUM5RixDQUFDOzhHQW5OVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixpU0FLTyxrQkFBa0Isb0RBbEIxQzs7O0dBR1QsK1RBUVMsc0JBQXNCOzsyRkFFckIsZ0JBQWdCO2tCQWY1QixTQUFTOytCQUNFLFlBQVksWUFDWjs7O0dBR1QsY0FFVyxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLFlBQVk7cUJBQ3BCLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQzs4QkFRaEIsTUFBTTtzQkFEdEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSXhFLFVBQVU7c0JBRGIsS0FBSztnQkFVRixHQUFHO3NCQUROLEtBQUs7Z0JBVUcsWUFBWTtzQkFEcEIsTUFBTTtnQkFJRSxXQUFXO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIGNyZWF0ZURlc3Ryb3ksXG4gIERFTEFZQUJMRV9UT0tFTixcbiAgT2JzZXJ2ZVJlc2l6ZURpcmVjdGl2ZSxcbiAgc2lnbmFsSG9zdENsYXNzZXMsXG4gIFR5cGVkUXVlcnlMaXN0LFxufSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBvZiwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTUFTT05SWV9JVEVNX1RPS0VOLCBNYXNvbnJ5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhcnRpYWxzJztcblxudHlwZSBNYXNvbnJ5U3RhdGUgPSB7XG4gIHByZWZlcnJlZENvbHVtbldpZHRoOiBudW1iZXI7XG4gIGNvbHVtbldpZHRoOiBudW1iZXI7XG4gIGNvbHVtbnM6IG51bWJlcjtcbiAgZ3JpZFJvd0VsSGVpZ2h0czogbnVtYmVyW11bXTtcbiAgaG9zdEhlaWdodDogbnVtYmVyO1xuICBob3N0RGltZW5zaW9uczogRE9NUmVjdCB8IG51bGw7XG4gIGdhcDogbnVtYmVyO1xuICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xuICBpdGVtQ291bnQ6IG51bWJlcjtcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LW1hc29ucnknLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgKGV0T2JzZXJ2ZVJlc2l6ZSk9XCJzZXRSZXNpemVFdmVudCgpXCI+PC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V0TWFzb25yeUl0ZW1dLCBldC1tYXNvbnJ5LWl0ZW0sIG5nLWNvbnRhaW5lclwiIC8+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL21hc29ucnkuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LW1hc29ucnknLFxuICB9LFxuICBpbXBvcnRzOiBbT2JzZXJ2ZVJlc2l6ZURpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1hc29ucnlDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZWxheWFibGUgPSBpbmplY3QoREVMQVlBQkxFX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBNQVNPTlJZX0lURU1fVE9LRU4pLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgcmVhZG9ubHkgX2l0ZW1zPzogVHlwZWRRdWVyeUxpc3Q8TWFzb25yeUl0ZW1Db21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpXG4gIGdldCBjb2x1bVdpZHRoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtV2lkdGgkLmdldFZhbHVlKCkgfHwgMjUwO1xuICB9XG4gIHNldCBjb2x1bVdpZHRoKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fY29sdW1XaWR0aCQubmV4dChudW1iZXJBdHRyaWJ1dGUodmFsdWUsIDI1MCkpO1xuICB9XG4gIHByaXZhdGUgX2NvbHVtV2lkdGgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDI1MCk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGdhcCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9nYXAkLmdldFZhbHVlKCkgfHwgMDtcbiAgfVxuICBzZXQgZ2FwKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fZ2FwJC5uZXh0KG51bWJlckF0dHJpYnV0ZSh2YWx1ZSwgMTYpKTtcbiAgfVxuICBwcml2YXRlIF9nYXAkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDE2KTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgaW5pdGlhbGl6aW5nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBpbml0aWFsaXplZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kaWRSZXNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RpZEluaXRpYWxpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2hpZGVPdmVyZmxvdyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICByZWFkb25seSBob3N0Q2xhc3NCaW5kaW5ncyA9IHNpZ25hbEhvc3RDbGFzc2VzKHtcbiAgICAnZXQtbWFzb25yeS0taW5pdGlhbGl6ZWQnOiB0b1NpZ25hbCh0aGlzLl9kaWRJbml0aWFsaXplJCksXG4gICAgJ2V0LW1hc29ucnktLWhpZGUtb3ZlcmZsb3cnOiB0b1NpZ25hbCh0aGlzLl9oaWRlT3ZlcmZsb3ckKSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGU6IE1hc29ucnlTdGF0ZSA9IHtcbiAgICBwcmVmZXJyZWRDb2x1bW5XaWR0aDogMCxcbiAgICBjb2x1bW5XaWR0aDogMCxcbiAgICBjb2x1bW5zOiAwLFxuICAgIGdyaWRSb3dFbEhlaWdodHM6IFtdLFxuICAgIGhvc3RIZWlnaHQ6IDAsXG4gICAgaG9zdERpbWVuc2lvbnM6IG51bGwsXG4gICAgZ2FwOiAwLFxuICAgIGl0ZW1Db3VudDogMCxcbiAgICBpc0luaXRpYWxpemVkOiBmYWxzZSxcbiAgfTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pdGVtcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2RlbGF5YWJsZT8uZW5hYmxlRGVsYXllZCgpO1xuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5faXRlbXMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLl9pdGVtcykpLCB0aGlzLl9kaWRSZXNpemUkLCB0aGlzLl9jb2x1bVdpZHRoJCwgdGhpcy5fZ2FwJF0pXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDEpLFxuICAgICAgICB0YXAoKFssIGRpZFJlc2l6ZSwgY29sV2lkdGgsIGdhcF0pID0+IHtcbiAgICAgICAgICBpZiAoZGlkUmVzaXplKSB7XG4gICAgICAgICAgICB0aGlzLl9kaWRSZXNpemUkLm5leHQoZmFsc2UpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGlzQ29tcGxldGVJbnZhbGlkID1cbiAgICAgICAgICAgIGRpZFJlc2l6ZSB8fCBjb2xXaWR0aCAhPT0gdGhpcy5fc3RhdGUucHJlZmVycmVkQ29sdW1uV2lkdGggfHwgZ2FwICE9PSB0aGlzLl9zdGF0ZS5nYXA7XG5cbiAgICAgICAgICB0aGlzLmludmFsaWRhdGUoeyBwYXJ0aWFsOiAhaXNDb21wbGV0ZUludmFsaWQgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fZGlkUmVzaXplJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9oaWRlT3ZlcmZsb3ckLm5leHQodHJ1ZSkpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGltZXIoMTUwKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9oaWRlT3ZlcmZsb3ckLm5leHQoZmFsc2UpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX2l0ZW1zLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5faXRlbXMpLFxuICAgICAgICBzd2l0Y2hNYXAoKGl0ZW1zKSA9PlxuICAgICAgICAgIGl0ZW1zLmxlbmd0aFxuICAgICAgICAgICAgPyBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgICAgIGl0ZW1zXG4gICAgICAgICAgICAgICAgICAudG9BcnJheSgpXG4gICAgICAgICAgICAgICAgICAuZmlsdGVyKChpKTogaSBpcyBNYXNvbnJ5SXRlbUNvbXBvbmVudCA9PiAhIWkpXG4gICAgICAgICAgICAgICAgICAubWFwKChpKSA9PiBpLmlzUG9zaXRpb25lZCQpLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IG9mKFtdKSxcbiAgICAgICAgKSxcbiAgICAgICAgc3dpdGNoTWFwKChwb3NpdGlvbmVkKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWxsUG9zaXRpb25lZCA9IHBvc2l0aW9uZWQuZXZlcnkoKGkpID0+IGkpO1xuXG4gICAgICAgICAgaWYgKCFhbGxQb3NpdGlvbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9kaWRJbml0aWFsaXplJC5uZXh0KGFsbFBvc2l0aW9uZWQpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXppbmcuZW1pdCgpO1xuICAgICAgICAgICAgdGhpcy5fZGVsYXlhYmxlPy5lbmFibGVEZWxheWVkKCk7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHRpbWVyKDEwMCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuX2RpZEluaXRpYWxpemUkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICAgIHRoaXMuX2RlbGF5YWJsZT8uZGlzYWJsZURlbGF5ZWQoKTtcbiAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplZC5lbWl0KCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGludmFsaWRhdGUoY29uZmlnPzogeyBwYXJ0aWFsPzogYm9vbGVhbiB9KSB7XG4gICAgY29uc3QgaXRlbUxpc3QgPSB0aGlzLl9pdGVtcztcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX3N0YXRlO1xuXG4gICAgaWYgKCFpdGVtTGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1zID0gaXRlbUxpc3QudG9BcnJheSgpLmZpbHRlcigoaSk6IGkgaXMgTWFzb25yeUl0ZW1Db21wb25lbnQgPT4gISFpKTtcblxuICAgIGlmICghY29uZmlnPy5wYXJ0aWFsIHx8ICFzdGF0ZS5pc0luaXRpYWxpemVkKSB7XG4gICAgICBzdGF0ZS5wcmVmZXJyZWRDb2x1bW5XaWR0aCA9IHRoaXMuY29sdW1XaWR0aDtcbiAgICAgIHN0YXRlLmhvc3REaW1lbnNpb25zID0gdGhpcy5fZ2V0SG9zdERpbWVuc2lvbnMoKTtcbiAgICAgIHN0YXRlLmNvbHVtbnMgPSBNYXRoLmZsb29yKHN0YXRlLmhvc3REaW1lbnNpb25zLndpZHRoIC8gdGhpcy5jb2x1bVdpZHRoKTtcbiAgICAgIHN0YXRlLmdhcCA9IHRoaXMuZ2FwO1xuICAgICAgc3RhdGUuaXRlbUNvdW50ID0gaXRlbXMubGVuZ3RoO1xuICAgICAgc3RhdGUuY29sdW1uV2lkdGggPSAoc3RhdGUuaG9zdERpbWVuc2lvbnMud2lkdGggLSAoc3RhdGUuY29sdW1ucyAtIDEpICogc3RhdGUuZ2FwKSAvIHN0YXRlLmNvbHVtbnM7XG4gICAgICB0aGlzLl9zZXRDb2x1bW5XaWR0aChzdGF0ZS5jb2x1bW5XaWR0aCk7XG5cbiAgICAgIC8qKlxuICAgICAgICogRGF0YSBzdHJ1Y3R1cmU6XG4gICAgICAgKiBbXG4gICAgICAgKiAgW2N1cnJlbnRUb3RhbEhlaWdodE9mQ29sLCBpdGVtSGVpZ2h0LCBpdGVtSGVpZ2h0LCBpdGVtSGVpZ2h0XSxcbiAgICAgICAqICBbY3VycmVudFRvdGFsSGVpZ2h0T2ZDb2wsIGl0ZW1IZWlnaHQsIGl0ZW1IZWlnaHQsIGl0ZW1IZWlnaHRdLFxuICAgICAgICogXVxuICAgICAgICovXG4gICAgICBzdGF0ZS5ncmlkUm93RWxIZWlnaHRzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogc3RhdGUuY29sdW1ucyB9KS5tYXAoKCkgPT4gWzBdKTtcblxuICAgICAgdGhpcy5fcGFpbnRNYXNvbnJ5KDAsIGl0ZW1zKTtcblxuICAgICAgc3RhdGUuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZyb21JbmRleCA9IGl0ZW1zLmZpbmRJbmRleCgoaXRlbSkgPT4gIWl0ZW0uaXNQb3NpdGlvbmVkKTtcblxuICAgICAgLy8gaXRlbSBjb3VudCAyMCBmcm9tSW5kZXggMjAgKyAxIC0+IDIxID0+IHBhcnRpYWwgaW52YWxpZGF0aW9uXG4gICAgICBpZiAoZnJvbUluZGV4ICsgMSA+IHN0YXRlLml0ZW1Db3VudCkge1xuICAgICAgICBzdGF0ZS5pdGVtQ291bnQgPSBpdGVtcy5sZW5ndGg7XG4gICAgICAgIHRoaXMuX3BhaW50TWFzb25yeShmcm9tSW5kZXgsIGl0ZW1zKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIGRvIGEgZnVsbCBpbnZhbGlkYXRpb24gdGhlIGZyb21JbmRleCBpcyBub3QgdGhlIGZpcnN0IG5ldyBpdGVtXG4gICAgICB0aGlzLmludmFsaWRhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9wYWludE1hc29ucnkoZnJvbUluZGV4ID0gMCwgaXRlbXM6IE1hc29ucnlJdGVtQ29tcG9uZW50W10pIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX3N0YXRlO1xuXG4gICAgZm9yIChsZXQgaXRlbUluZGV4ID0gZnJvbUluZGV4OyBpdGVtSW5kZXggPCBpdGVtcy5sZW5ndGg7IGl0ZW1JbmRleCsrKSB7XG4gICAgICBjb25zdCBpdGVtID0gaXRlbXNbaXRlbUluZGV4XTtcblxuICAgICAgaWYgKCFpdGVtKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpbml0aWFsSXRlbURpbWVuc2lvbnMgPSBpdGVtLmluaXRpYWxEaW1lbnNpb25zO1xuICAgICAgY29uc3QgdXBkYXRlZERpbWVuc2lvbnMgPSBpdGVtLmRpbWVuc2lvbnM7XG5cbiAgICAgIGlmICghaW5pdGlhbEl0ZW1EaW1lbnNpb25zIHx8ICF1cGRhdGVkRGltZW5zaW9ucykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBsb3dlc3RDb2x1bW5IZWlnaHQsIGxvd2VzdENvbHVtbkluZGV4IH0gPSB0aGlzLl9nZXRMb3dlc3RDb2x1bW4oc3RhdGUuZ3JpZFJvd0VsSGVpZ2h0cyk7XG5cbiAgICAgIGNvbnN0IHggPSBzdGF0ZS5jb2x1bW5XaWR0aCAqIGxvd2VzdENvbHVtbkluZGV4ICsgbG93ZXN0Q29sdW1uSW5kZXggKiBzdGF0ZS5nYXA7XG5cbiAgICAgIGl0ZW0uc2V0UG9zaXRpb24oeCwgbG93ZXN0Q29sdW1uSGVpZ2h0LCB1cGRhdGVkRGltZW5zaW9ucy5oZWlnaHQpO1xuXG4gICAgICBzdGF0ZS5ncmlkUm93RWxIZWlnaHRzW2xvd2VzdENvbHVtbkluZGV4XSEucHVzaCh1cGRhdGVkRGltZW5zaW9ucy5oZWlnaHQpO1xuICAgICAgc3RhdGUuZ3JpZFJvd0VsSGVpZ2h0c1tsb3dlc3RDb2x1bW5JbmRleF0hWzBdICs9IHVwZGF0ZWREaW1lbnNpb25zLmhlaWdodCArIHN0YXRlLmdhcDtcbiAgICB9XG5cbiAgICBzdGF0ZS5ob3N0SGVpZ2h0ID0gdGhpcy5fZ2V0SGlnaGVzdENvbHVtbihzdGF0ZS5ncmlkUm93RWxIZWlnaHRzKS5oaWdoZXN0Q29sdW1uSGVpZ2h0IC0gc3RhdGUuZ2FwO1xuXG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdoZWlnaHQnLCBgJHtzdGF0ZS5ob3N0SGVpZ2h0fXB4YCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0UmVzaXplRXZlbnQoKSB7XG4gICAgdGhpcy5fZGlkUmVzaXplJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SG9zdERpbWVuc2lvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldENvbHVtbldpZHRoKHdpZHRoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tZXQtbWFzb25yeS1jb2x1bW4td2lkdGgnLCBgJHt3aWR0aH1weGApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TG93ZXN0Q29sdW1uID0gKGNvbHVtbkhlaWdodHM6IG51bWJlcltdW10pID0+IHtcbiAgICBsZXQgbG93ZXN0Q29sdW1uSGVpZ2h0ID0gY29sdW1uSGVpZ2h0c1swXT8uWzBdID8/IDA7XG4gICAgbGV0IGxvd2VzdENvbHVtbkluZGV4ID0gMDtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1uSGVpZ2h0cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY29sdW1uSGVpZ2h0ID0gY29sdW1uSGVpZ2h0c1tpXT8uWzBdO1xuXG4gICAgICBpZiAoY29sdW1uSGVpZ2h0ICE9PSB1bmRlZmluZWQgJiYgY29sdW1uSGVpZ2h0IDwgbG93ZXN0Q29sdW1uSGVpZ2h0KSB7XG4gICAgICAgIGxvd2VzdENvbHVtbkhlaWdodCA9IGNvbHVtbkhlaWdodDtcbiAgICAgICAgbG93ZXN0Q29sdW1uSW5kZXggPSBpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGxvd2VzdENvbHVtbkhlaWdodCwgbG93ZXN0Q29sdW1uSW5kZXggfTtcbiAgfTtcblxuICBwcml2YXRlIF9nZXRIaWdoZXN0Q29sdW1uID0gKGNvbHVtbkhlaWdodHM6IG51bWJlcltdW10pID0+IHtcbiAgICBsZXQgaGlnaGVzdENvbHVtbkhlaWdodCA9IGNvbHVtbkhlaWdodHNbMF0/LlswXSA/PyAwO1xuICAgIGxldCBoaWdoZXN0Q29sdW1uSW5kZXggPSAwO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2x1bW5IZWlnaHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjb2x1bW5IZWlnaHQgPSBjb2x1bW5IZWlnaHRzW2ldPy5bMF07XG5cbiAgICAgIGlmIChjb2x1bW5IZWlnaHQgIT09IHVuZGVmaW5lZCAmJiBjb2x1bW5IZWlnaHQgPj0gaGlnaGVzdENvbHVtbkhlaWdodCkge1xuICAgICAgICBoaWdoZXN0Q29sdW1uSGVpZ2h0ID0gY29sdW1uSGVpZ2h0O1xuICAgICAgICBoaWdoZXN0Q29sdW1uSW5kZXggPSBpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGhpZ2hlc3RDb2x1bW5IZWlnaHQsIGhpZ2hlc3RDb2x1bW5JbmRleCB9O1xuICB9O1xufVxuIl19
@@ -1,3 +1,4 @@
1
+ import { coerceElement } from '@angular/cdk/coercion';
1
2
  import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
2
3
  import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, booleanAttribute, inject, numberAttribute, } from '@angular/core';
3
4
  import { BehaviorSubject, Subscription } from 'rxjs';
@@ -56,7 +57,8 @@ export class PaginationComponent {
56
57
  this.pageControl?.setValue(page.page);
57
58
  this._paginationHeadService._updateHead(page.page);
58
59
  if (this.pageChangeScrollAnchor) {
59
- this.pageChangeScrollAnchor.scrollIntoView();
60
+ const el = coerceElement(this.pageChangeScrollAnchor);
61
+ el?.scrollIntoView();
60
62
  }
61
63
  }
62
64
  _subscribeToPageControlChanges() {
@@ -102,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
102
104
  }], pageChangeScrollAnchor: [{
103
105
  type: Input
104
106
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBSUwsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQWV2QyxNQUFNLE9BQU8sbUJBQW1CO0lBYmhDO1FBY1UsNkJBQXdCLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUM5QywyQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQVd2RCxpQkFBWSxHQUFzQyxJQUFJLENBQUM7UUFVdkQsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFxQnhCLGNBQVMsR0FBRyxZQUFZLENBQUM7UUFHekIsMkJBQXNCLEdBQXVCLElBQUksQ0FBQztRQUV4QyxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQTBCLElBQUksQ0FBQyxDQUFDO1FBRTVELGdCQUFXLEdBQW9DLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUM7S0ErQzNFO0lBOUZDLElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsQ0FBb0M7UUFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFHRCxJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQWM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBR0QsSUFDSSxpQkFBaUIsQ0FBQyxDQUFnQjtRQUNwQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELElBQ0ksa0JBQWtCLENBQUMsQ0FBZ0I7UUFDckMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUNJLG1CQUFtQixDQUFDLENBQVU7UUFDaEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFZRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFUyxXQUFXLENBQUMsSUFBb0I7UUFDeEMsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5ELElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQy9CLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUM5QztJQUNILENBQUM7SUFFTyw4QkFBOEI7UUFDcEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTVDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRTtZQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakU7SUFDSCxDQUFDOzhHQWpHVSxtQkFBbUI7a0dBQW5CLG1CQUFtQix1UUFxQ1YsZ0JBQWdCLHFJQTFDekIsQ0FBQyxxQkFBcUIsQ0FBQywwQkM1QnBDLG0rQkF5QkEsMERERVksT0FBTyw4R0FBRSxTQUFTLDhDQUFFLElBQUksNkZBQUUsdUJBQXVCOzsyRkFNaEQsbUJBQW1CO2tCQWIvQixTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxhQUNqRCxDQUFDLHFCQUFxQixDQUFDLFFBQzVCO3dCQUNKLEtBQUssRUFBRSxlQUFlO3FCQUN2Qjs4QkFPRyxXQUFXO3NCQURkLEtBQUs7Z0JBWUYsVUFBVTtzQkFEYixLQUFLO2dCQVdGLGlCQUFpQjtzQkFEcEIsS0FBSztnQkFPRixrQkFBa0I7c0JBRHJCLEtBQUs7Z0JBT0YsbUJBQW1CO3NCQUR0QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU90QyxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sc0JBQXNCO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0Zvck9mLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkxpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9wYXJ0aWFscyc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uSGVhZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uSXRlbSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IHBhZ2luYXRlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1wYWdpbmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdGb3JPZiwgQXN5bmNQaXBlLCBOZ0lmLCBQYWdpbmF0aW9uTGlua0RpcmVjdGl2ZV0sXG4gIHByb3ZpZGVyczogW1BhZ2luYXRpb25IZWFkU2VydmljZV0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LXBhZ2luYXRpb24nLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9wYWdlQ29udHJvbFN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcbiAgcHJpdmF0ZSBfcGFnaW5hdGlvbkhlYWRTZXJ2aWNlID0gaW5qZWN0KFBhZ2luYXRpb25IZWFkU2VydmljZSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IHBhZ2VDb250cm9sKCkge1xuICAgIHJldHVybiB0aGlzLl9wYWdlQ29udHJvbDtcbiAgfVxuICBzZXQgcGFnZUNvbnRyb2wodjogRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4gfCBudWxsKSB7XG4gICAgdGhpcy5fcGFnZUNvbnRyb2wgPSB2O1xuICAgIHRoaXMuX3VwZGF0ZVBhZ2VzKCk7XG4gICAgdGhpcy5fc3Vic2NyaWJlVG9QYWdlQ29udHJvbENoYW5nZXMoKTtcbiAgfVxuICBwcml2YXRlIF9wYWdlQ29udHJvbDogRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4gfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBnZXQgdG90YWxQYWdlcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl90b3RhbFBhZ2VzO1xuICB9XG4gIHNldCB0b3RhbFBhZ2VzKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fdG90YWxQYWdlcyA9IG51bWJlckF0dHJpYnV0ZSh2YWx1ZSwgMCk7XG4gICAgdGhpcy5fdXBkYXRlUGFnZXMoKTtcbiAgfVxuICBwcml2YXRlIF90b3RhbFBhZ2VzID0gMDtcblxuICBASW5wdXQoKVxuICBzZXQgaGVhZFRpdGxlVGVtcGxhdGUodjogc3RyaW5nIHwgbnVsbCkge1xuICAgIHRoaXMuX3BhZ2luYXRpb25IZWFkU2VydmljZS50aXRsZVRlbXBsYXRlID0gdjtcbiAgICB0aGlzLl91cGRhdGVIZWFkKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgaGVhZEZpcnN0UGFnZVRpdGxlKHY6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLl9wYWdpbmF0aW9uSGVhZFNlcnZpY2UuZmlyc3RQYWdlVGl0bGUgPSB2O1xuICAgIHRoaXMuX3VwZGF0ZUhlYWQoKTtcbiAgfVxuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBzZXQgaGVhZEFkZENhbm9uaWNhbFRhZyh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5fcGFnaW5hdGlvbkhlYWRTZXJ2aWNlLmFkZENhbm9uaWNhbFRhZyA9IHY7XG4gICAgdGhpcy5fdXBkYXRlSGVhZCgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgYXJpYUxhYmVsID0gJ1BhZ2luYXRpb24nO1xuXG4gIEBJbnB1dCgpXG4gIHBhZ2VDaGFuZ2VTY3JvbGxBbmNob3I6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIHBhZ2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFnaW5hdGlvbkl0ZW1bXSB8IG51bGw+KG51bGwpO1xuXG4gIHByb3RlY3RlZCB0cmFja0J5UGFnZTogVHJhY2tCeUZ1bmN0aW9uPFBhZ2luYXRpb25JdGVtPiA9IChpbmRleCkgPT4gaW5kZXg7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlSGVhZCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcGFnZUNvbnRyb2xTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblBhZ2VDbGljayhwYWdlOiBQYWdpbmF0aW9uSXRlbSkge1xuICAgIGlmIChwYWdlLmRpc2FibGVkIHx8IHBhZ2UuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGFnZUNvbnRyb2w/LnNldFZhbHVlKHBhZ2UucGFnZSk7XG4gICAgdGhpcy5fcGFnaW5hdGlvbkhlYWRTZXJ2aWNlLl91cGRhdGVIZWFkKHBhZ2UucGFnZSk7XG5cbiAgICBpZiAodGhpcy5wYWdlQ2hhbmdlU2Nyb2xsQW5jaG9yKSB7XG4gICAgICB0aGlzLnBhZ2VDaGFuZ2VTY3JvbGxBbmNob3Iuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmVUb1BhZ2VDb250cm9sQ2hhbmdlcygpIHtcbiAgICB0aGlzLl9wYWdlQ29udHJvbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgaWYgKCF0aGlzLnBhZ2VDb250cm9sKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fcGFnZUNvbnRyb2xTdWJzY3JpcHRpb24gPSB0aGlzLnBhZ2VDb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3VwZGF0ZVBhZ2VzKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlUGFnZXMoKSB7XG4gICAgaWYgKCF0aGlzLnBhZ2VDb250cm9sPy52YWx1ZSB8fCAhdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICB0aGlzLnBhZ2VzJC5uZXh0KG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGFnZXMkLm5leHQocGFnaW5hdGUoeyBjdXJyZW50UGFnZTogdGhpcy5wYWdlQ29udHJvbC52YWx1ZSwgdG90YWxQYWdlQ291bnQ6IHRoaXMudG90YWxQYWdlcyB9KSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVIZWFkKCkge1xuICAgIGlmICh0aGlzLnBhZ2VDb250cm9sPy52YWx1ZSkge1xuICAgICAgdGhpcy5fcGFnaW5hdGlvbkhlYWRTZXJ2aWNlLl91cGRhdGVIZWFkKHRoaXMucGFnZUNvbnRyb2wudmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5hdiAqbmdJZj1cInBhZ2VzJCB8IGFzeW5jIGFzIHBhZ2VzXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIiBjbGFzcz1cImV0LXBhZ2luYXRpb24tbmF2XCI+XG4gIDx1bCBjbGFzcz1cImV0LXBhZ2luYXRpb24tbGlzdFwiPlxuICAgIDxsaVxuICAgICAgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgcGFnZXM7IHRyYWNrQnk6IHRyYWNrQnlQYWdlXCJcbiAgICAgIFtjbGFzcy5ldC1wYWdpbmF0aW9uLWhvdC1saW5rXT1cInBhZ2UudHlwZSA9PT0gJ2hvdExpbmsnXCJcbiAgICAgIFtjbGFzcy5ldC1wYWdpbmF0aW9uLXBhZ2UtbGlua109XCJwYWdlLnR5cGUgPT09ICdwYWdlJ1wiXG4gICAgICBbY2xhc3MuZXQtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkXT1cInBhZ2UuZGlzYWJsZWRcIlxuICAgICAgY2xhc3M9XCJldC1wYWdpbmF0aW9uLWxpc3QtaXRlbSBldC1wYWdpbmF0aW9uLXt7IHBhZ2UuZXhwbGljaXRUeXBlIH19XCJcbiAgICA+XG4gICAgICA8YVxuICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwicGFnZS5jdXJyZW50ID8gJ3BhZ2UnIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicGFnZS5hcmlhTGFiZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cInBhZ2UuZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgW2V0UGFnaW5hdGlvbkxpbmtdPVwicGFnZVwiXG4gICAgICAgIFtocmVmXT1cInBhZ2UuZGlzYWJsZWQgPyAnIycgOiBwYWdlLnVybFwiXG4gICAgICAgIChwYWdlQ2xpY2spPVwib25QYWdlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwiZXQtcGFnaW5hdGlvbi1hbmNob3JcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnZS50eXBlID09PSAncGFnZSdcIj5cbiAgICAgICAgICB7eyBwYWdlLnBhZ2UgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvbmF2PlxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxFQUlMLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLGVBQWUsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFldkMsTUFBTSxPQUFPLG1CQUFtQjtJQWJoQztRQWNVLDZCQUF3QixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDOUMsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFXdkQsaUJBQVksR0FBc0MsSUFBSSxDQUFDO1FBVXZELGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBcUJ4Qixj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VyxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFO1lBQzNCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7OEdBbEdVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHVRQXFDVixnQkFBZ0IscUlBMUN6QixDQUFDLHFCQUFxQixDQUFDLDBCQzlCcEMsbStCQXlCQSwwRERJWSxPQUFPLDhHQUFFLFNBQVMsOENBQUUsSUFBSSw2RkFBRSx1QkFBdUI7OzJGQU1oRCxtQkFBbUI7a0JBYi9CLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixDQUFDLGFBQ2pELENBQUMscUJBQXFCLENBQUMsUUFDNUI7d0JBQ0osS0FBSyxFQUFFLGVBQWU7cUJBQ3ZCOzhCQU9HLFdBQVc7c0JBRGQsS0FBSztnQkFZRixVQUFVO3NCQURiLEtBQUs7Z0JBV0YsaUJBQWlCO3NCQURwQixLQUFLO2dCQU9GLGtCQUFrQjtzQkFEckIsS0FBSztnQkFPRixtQkFBbUI7c0JBRHRCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBT3RDLFNBQVM7c0JBRFIsS0FBSztnQkFJTixzQkFBc0I7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFRyYWNrQnlGdW5jdGlvbixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGluamVjdCxcbiAgbnVtYmVyQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBhZ2luYXRpb25MaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vcGFydGlhbHMnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkhlYWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBwYWdpbmF0ZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nRm9yT2YsIEFzeW5jUGlwZSwgTmdJZiwgUGFnaW5hdGlvbkxpbmtEaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtQYWdpbmF0aW9uSGVhZFNlcnZpY2VdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1wYWdpbmF0aW9uJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfcGFnZUNvbnRyb2xTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gIHByaXZhdGUgX3BhZ2luYXRpb25IZWFkU2VydmljZSA9IGluamVjdChQYWdpbmF0aW9uSGVhZFNlcnZpY2UpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBwYWdlQ29udHJvbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZUNvbnRyb2w7XG4gIH1cbiAgc2V0IHBhZ2VDb250cm9sKHY6IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+IHwgbnVsbCkge1xuICAgIHRoaXMuX3BhZ2VDb250cm9sID0gdjtcbiAgICB0aGlzLl91cGRhdGVQYWdlcygpO1xuICAgIHRoaXMuX3N1YnNjcmliZVRvUGFnZUNvbnRyb2xDaGFuZ2VzKCk7XG4gIH1cbiAgcHJpdmF0ZSBfcGFnZUNvbnRyb2w6IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+IHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZ2V0IHRvdGFsUGFnZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdG90YWxQYWdlcztcbiAgfVxuICBzZXQgdG90YWxQYWdlcyh2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuX3RvdGFsUGFnZXMgPSBudW1iZXJBdHRyaWJ1dGUodmFsdWUsIDApO1xuICAgIHRoaXMuX3VwZGF0ZVBhZ2VzKCk7XG4gIH1cbiAgcHJpdmF0ZSBfdG90YWxQYWdlcyA9IDA7XG5cbiAgQElucHV0KClcbiAgc2V0IGhlYWRUaXRsZVRlbXBsYXRlKHY6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLl9wYWdpbmF0aW9uSGVhZFNlcnZpY2UudGl0bGVUZW1wbGF0ZSA9IHY7XG4gICAgdGhpcy5fdXBkYXRlSGVhZCgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGhlYWRGaXJzdFBhZ2VUaXRsZSh2OiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy5fcGFnaW5hdGlvbkhlYWRTZXJ2aWNlLmZpcnN0UGFnZVRpdGxlID0gdjtcbiAgICB0aGlzLl91cGRhdGVIZWFkKCk7XG4gIH1cblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgc2V0IGhlYWRBZGRDYW5vbmljYWxUYWcodjogYm9vbGVhbikge1xuICAgIHRoaXMuX3BhZ2luYXRpb25IZWFkU2VydmljZS5hZGRDYW5vbmljYWxUYWcgPSB2O1xuICAgIHRoaXMuX3VwZGF0ZUhlYWQoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGFyaWFMYWJlbCA9ICdQYWdpbmF0aW9uJztcblxuICBASW5wdXQoKVxuICBwYWdlQ2hhbmdlU2Nyb2xsQW5jaG9yOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIHBhZ2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFnaW5hdGlvbkl0ZW1bXSB8IG51bGw+KG51bGwpO1xuXG4gIHByb3RlY3RlZCB0cmFja0J5UGFnZTogVHJhY2tCeUZ1bmN0aW9uPFBhZ2luYXRpb25JdGVtPiA9IChpbmRleCkgPT4gaW5kZXg7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlSGVhZCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcGFnZUNvbnRyb2xTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblBhZ2VDbGljayhwYWdlOiBQYWdpbmF0aW9uSXRlbSkge1xuICAgIGlmIChwYWdlLmRpc2FibGVkIHx8IHBhZ2UuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGFnZUNvbnRyb2w/LnNldFZhbHVlKHBhZ2UucGFnZSk7XG4gICAgdGhpcy5fcGFnaW5hdGlvbkhlYWRTZXJ2aWNlLl91cGRhdGVIZWFkKHBhZ2UucGFnZSk7XG5cbiAgICBpZiAodGhpcy5wYWdlQ2hhbmdlU2Nyb2xsQW5jaG9yKSB7XG4gICAgICBjb25zdCBlbCA9IGNvZXJjZUVsZW1lbnQodGhpcy5wYWdlQ2hhbmdlU2Nyb2xsQW5jaG9yKTtcbiAgICAgIGVsPy5zY3JvbGxJbnRvVmlldygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZVRvUGFnZUNvbnRyb2xDaGFuZ2VzKCkge1xuICAgIHRoaXMuX3BhZ2VDb250cm9sU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cbiAgICBpZiAoIXRoaXMucGFnZUNvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9wYWdlQ29udHJvbFN1YnNjcmlwdGlvbiA9IHRoaXMucGFnZUNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fdXBkYXRlUGFnZXMoKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVQYWdlcygpIHtcbiAgICBpZiAoIXRoaXMucGFnZUNvbnRyb2w/LnZhbHVlIHx8ICF0aGlzLnRvdGFsUGFnZXMpIHtcbiAgICAgIHRoaXMucGFnZXMkLm5leHQobnVsbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wYWdlcyQubmV4dChwYWdpbmF0ZSh7IGN1cnJlbnRQYWdlOiB0aGlzLnBhZ2VDb250cm9sLnZhbHVlLCB0b3RhbFBhZ2VDb3VudDogdGhpcy50b3RhbFBhZ2VzIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUhlYWQoKSB7XG4gICAgaWYgKHRoaXMucGFnZUNvbnRyb2w/LnZhbHVlKSB7XG4gICAgICB0aGlzLl9wYWdpbmF0aW9uSGVhZFNlcnZpY2UuX3VwZGF0ZUhlYWQodGhpcy5wYWdlQ29udHJvbC52YWx1ZSk7XG4gICAgfVxuICB9XG59XG4iLCI8bmF2ICpuZ0lmPVwicGFnZXMkIHwgYXN5bmMgYXMgcGFnZXNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiIGNsYXNzPVwiZXQtcGFnaW5hdGlvbi1uYXZcIj5cbiAgPHVsIGNsYXNzPVwiZXQtcGFnaW5hdGlvbi1saXN0XCI+XG4gICAgPGxpXG4gICAgICAqbmdGb3I9XCJsZXQgcGFnZSBvZiBwYWdlczsgdHJhY2tCeTogdHJhY2tCeVBhZ2VcIlxuICAgICAgW2NsYXNzLmV0LXBhZ2luYXRpb24taG90LWxpbmtdPVwicGFnZS50eXBlID09PSAnaG90TGluaydcIlxuICAgICAgW2NsYXNzLmV0LXBhZ2luYXRpb24tcGFnZS1saW5rXT1cInBhZ2UudHlwZSA9PT0gJ3BhZ2UnXCJcbiAgICAgIFtjbGFzcy5ldC1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWRdPVwicGFnZS5kaXNhYmxlZFwiXG4gICAgICBjbGFzcz1cImV0LXBhZ2luYXRpb24tbGlzdC1pdGVtIGV0LXBhZ2luYXRpb24te3sgcGFnZS5leHBsaWNpdFR5cGUgfX1cIlxuICAgID5cbiAgICAgIDxhXG4gICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJwYWdlLmN1cnJlbnQgPyAncGFnZScgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJwYWdlLmFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwicGFnZS5kaXNhYmxlZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICBbZXRQYWdpbmF0aW9uTGlua109XCJwYWdlXCJcbiAgICAgICAgW2hyZWZdPVwicGFnZS5kaXNhYmxlZCA/ICcjJyA6IHBhZ2UudXJsXCJcbiAgICAgICAgKHBhZ2VDbGljayk9XCJvblBhZ2VDbGljaygkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJldC1wYWdpbmF0aW9uLWFuY2hvclwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdlLnR5cGUgPT09ICdwYWdlJ1wiPlxuICAgICAgICAgIHt7IHBhZ2UucGFnZSB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9uYXY+XG4iXX0=