oasys-lib 1.87.1 → 1.88.0

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 (152) hide show
  1. package/esm2022/lib/components/alert/alert-cancel.directive.mjs +5 -4
  2. package/esm2022/lib/components/alert/alert-confirm.directive.mjs +5 -4
  3. package/esm2022/lib/components/alert/alert-content.directive.mjs +3 -3
  4. package/esm2022/lib/components/alert/alert-title.directive.mjs +3 -3
  5. package/esm2022/lib/components/alert/alert.component.mjs +16 -11
  6. package/esm2022/lib/components/alert/alert.module.mjs +9 -9
  7. package/esm2022/lib/components/banner/banner.component.mjs +14 -5
  8. package/esm2022/lib/components/banner/banner.module.mjs +22 -5
  9. package/esm2022/lib/components/banner/index.mjs +1 -1
  10. package/esm2022/lib/components/button/button.component.mjs +52 -48
  11. package/esm2022/lib/components/button/button.module.mjs +4 -4
  12. package/esm2022/lib/components/button-group/button-group.component.mjs +18 -14
  13. package/esm2022/lib/components/button-group/button-group.module.mjs +4 -4
  14. package/esm2022/lib/components/card/card.component.mjs +20 -5
  15. package/esm2022/lib/components/card/card.mjs +1 -1
  16. package/esm2022/lib/components/card/card.module.mjs +4 -4
  17. package/esm2022/lib/components/carousel/carousel.component.mjs +60 -47
  18. package/esm2022/lib/components/carousel/carousel.module.mjs +5 -5
  19. package/esm2022/lib/components/divider/divider.component.mjs +7 -7
  20. package/esm2022/lib/components/divider/divider.mjs +1 -1
  21. package/esm2022/lib/components/divider/divider.module.mjs +4 -4
  22. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +17 -10
  23. package/esm2022/lib/components/form/checkbox/checkbox.module.mjs +4 -4
  24. package/esm2022/lib/components/form/chip/chip.component.mjs +16 -10
  25. package/esm2022/lib/components/form/chip/chip.module.mjs +6 -6
  26. package/esm2022/lib/components/form/combobox/combobox.component.mjs +43 -24
  27. package/esm2022/lib/components/form/combobox/combobox.mjs +1 -1
  28. package/esm2022/lib/components/form/combobox/combobox.module.mjs +6 -6
  29. package/esm2022/lib/components/form/errors/form-errors.component.mjs +15 -17
  30. package/esm2022/lib/components/form/errors/form-errors.module.mjs +6 -20
  31. package/esm2022/lib/components/form/form-group/form-group.component.mjs +16 -13
  32. package/esm2022/lib/components/form/form-group/form-group.module.mjs +8 -8
  33. package/esm2022/lib/components/form/forms.mjs +1 -1
  34. package/esm2022/lib/components/form/radio/radio.component.mjs +19 -12
  35. package/esm2022/lib/components/form/radio/radio.module.mjs +4 -4
  36. package/esm2022/lib/components/form/text-input/text-input.component.mjs +37 -27
  37. package/esm2022/lib/components/form/text-input/text-input.mjs +1 -1
  38. package/esm2022/lib/components/form/text-input/text-input.module.mjs +8 -8
  39. package/esm2022/lib/components/heading/heading.component.mjs +19 -8
  40. package/esm2022/lib/components/heading/heading.mjs +1 -1
  41. package/esm2022/lib/components/heading/heading.module.mjs +4 -4
  42. package/esm2022/lib/components/hero/hero.component.mjs +29 -10
  43. package/esm2022/lib/components/hero/hero.module.mjs +22 -5
  44. package/esm2022/lib/components/icon/icon.component.mjs +17 -9
  45. package/esm2022/lib/components/icon/icon.module.mjs +4 -4
  46. package/esm2022/lib/components/image/image.component.mjs +20 -21
  47. package/esm2022/lib/components/image/image.mjs +1 -1
  48. package/esm2022/lib/components/image/image.module.mjs +8 -8
  49. package/esm2022/lib/components/label/label.component.mjs +19 -18
  50. package/esm2022/lib/components/label/label.module.mjs +5 -16
  51. package/esm2022/lib/components/layout/Layout.mjs +1 -1
  52. package/esm2022/lib/components/layout/box/box.component.mjs +31 -28
  53. package/esm2022/lib/components/layout/box/box.mjs +1 -1
  54. package/esm2022/lib/components/layout/container/container.component.mjs +20 -15
  55. package/esm2022/lib/components/layout/grid/grid-column.component.mjs +17 -14
  56. package/esm2022/lib/components/layout/grid/grid.component.mjs +14 -12
  57. package/esm2022/lib/components/layout/layout.module.mjs +5 -5
  58. package/esm2022/lib/components/layout/stack/stack.component.mjs +16 -14
  59. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.component.mjs +5 -3
  60. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +8 -8
  61. package/esm2022/lib/components/navigation/tabs/tab/tab.component.mjs +9 -10
  62. package/esm2022/lib/components/navigation/tabs/tab-active/tab-active.component.mjs +5 -7
  63. package/esm2022/lib/components/navigation/tabs/tab-group/tab-group.component.mjs +9 -16
  64. package/esm2022/lib/components/navigation/tabs/tab-group/tab-group.module.mjs +8 -8
  65. package/esm2022/lib/components/navigation/tabs/tab-header/tab-header.component.mjs +10 -8
  66. package/esm2022/lib/components/pill/pill.component.mjs +5 -7
  67. package/esm2022/lib/components/pill/pill.mjs +1 -1
  68. package/esm2022/lib/components/pill/pill.module.mjs +5 -5
  69. package/esm2022/lib/components/pill-group/pill-group.component.mjs +13 -9
  70. package/esm2022/lib/components/pill-group/pill-group.module.mjs +4 -4
  71. package/esm2022/lib/components/price/price.component.mjs +6 -6
  72. package/esm2022/lib/components/price/price.module.mjs +5 -5
  73. package/esm2022/lib/components/promo-card/promo-card.component.mjs +25 -11
  74. package/esm2022/lib/components/promo-card/promo-card.module.mjs +28 -5
  75. package/esm2022/lib/components/section/index.mjs +1 -1
  76. package/esm2022/lib/components/section/section.component.mjs +30 -11
  77. package/esm2022/lib/components/section/section.module.mjs +20 -6
  78. package/esm2022/lib/components/select-card/select-card.component.mjs +19 -6
  79. package/esm2022/lib/components/select-card/select-card.module.mjs +34 -5
  80. package/esm2022/lib/components/seo-block/seo-block.component.mjs +17 -7
  81. package/esm2022/lib/components/seo-block/seo-block.module.mjs +7 -7
  82. package/esm2022/lib/components/text/text.component.mjs +9 -9
  83. package/esm2022/lib/components/text/text.mjs +1 -1
  84. package/esm2022/lib/components/text/text.module.mjs +4 -4
  85. package/esm2022/lib/directives/autofocus/autofocus.directive.mjs +5 -3
  86. package/esm2022/lib/directives/directives.module.mjs +4 -4
  87. package/esm2022/lib/directives/emphasis/emphasis.directive.mjs +8 -7
  88. package/esm2022/lib/directives/href/href.directive.mjs +6 -5
  89. package/esm2022/lib/services/breakpoint.service.mjs +13 -12
  90. package/esm2022/lib/services/href.service.mjs +3 -3
  91. package/esm2022/lib/services/image.service.mjs +12 -13
  92. package/esm2022/lib/services/token.service.mjs +8 -10
  93. package/fesm2022/oasys-lib.mjs +959 -675
  94. package/fesm2022/oasys-lib.mjs.map +1 -1
  95. package/lib/components/alert/alert.component.d.ts.map +1 -1
  96. package/lib/components/banner/banner.component.d.ts.map +1 -1
  97. package/lib/components/banner/banner.module.d.ts.map +1 -1
  98. package/lib/components/button/button.component.d.ts +4 -4
  99. package/lib/components/button/button.component.d.ts.map +1 -1
  100. package/lib/components/button-group/button-group.component.d.ts.map +1 -1
  101. package/lib/components/card/card.component.d.ts.map +1 -1
  102. package/lib/components/card/card.d.ts.map +1 -1
  103. package/lib/components/carousel/carousel.component.d.ts.map +1 -1
  104. package/lib/components/carousel/carousel.module.d.ts.map +1 -1
  105. package/lib/components/divider/divider.component.d.ts.map +1 -1
  106. package/lib/components/divider/divider.d.ts.map +1 -1
  107. package/lib/components/form/combobox/combobox.component.d.ts.map +1 -1
  108. package/lib/components/form/combobox/combobox.d.ts.map +1 -1
  109. package/lib/components/form/errors/form-errors.module.d.ts.map +1 -1
  110. package/lib/components/form/text-input/text-input.component.d.ts.map +1 -1
  111. package/lib/components/form/text-input/text-input.d.ts.map +1 -1
  112. package/lib/components/heading/heading.component.d.ts.map +1 -1
  113. package/lib/components/heading/heading.d.ts.map +1 -1
  114. package/lib/components/hero/hero.component.d.ts.map +1 -1
  115. package/lib/components/hero/hero.module.d.ts.map +1 -1
  116. package/lib/components/icon/icon.component.d.ts.map +1 -1
  117. package/lib/components/image/image.component.d.ts.map +1 -1
  118. package/lib/components/image/image.d.ts.map +1 -1
  119. package/lib/components/image/image.module.d.ts.map +1 -1
  120. package/lib/components/label/label.component.d.ts.map +1 -1
  121. package/lib/components/label/label.module.d.ts.map +1 -1
  122. package/lib/components/layout/Layout.d.ts.map +1 -1
  123. package/lib/components/layout/box/box.component.d.ts.map +1 -1
  124. package/lib/components/layout/box/box.d.ts.map +1 -1
  125. package/lib/components/layout/container/container.component.d.ts.map +1 -1
  126. package/lib/components/layout/grid/grid-column.component.d.ts.map +1 -1
  127. package/lib/components/layout/stack/stack.component.d.ts.map +1 -1
  128. package/lib/components/navigation/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  129. package/lib/components/navigation/tabs/tab-header/tab-header.component.d.ts.map +1 -1
  130. package/lib/components/pill/pill.component.d.ts.map +1 -1
  131. package/lib/components/pill/pill.module.d.ts.map +1 -1
  132. package/lib/components/pill-group/pill-group.component.d.ts.map +1 -1
  133. package/lib/components/price/price.component.d.ts.map +1 -1
  134. package/lib/components/price/price.module.d.ts.map +1 -1
  135. package/lib/components/promo-card/promo-card.component.d.ts.map +1 -1
  136. package/lib/components/promo-card/promo-card.module.d.ts.map +1 -1
  137. package/lib/components/section/index.d.ts.map +1 -1
  138. package/lib/components/section/section.component.d.ts.map +1 -1
  139. package/lib/components/section/section.module.d.ts.map +1 -1
  140. package/lib/components/select-card/select-card.component.d.ts.map +1 -1
  141. package/lib/components/select-card/select-card.module.d.ts.map +1 -1
  142. package/lib/components/text/text.component.d.ts.map +1 -1
  143. package/lib/directives/autofocus/autofocus.directive.d.ts.map +1 -1
  144. package/lib/directives/emphasis/emphasis.directive.d.ts.map +1 -1
  145. package/lib/directives/href/href.directive.d.ts.map +1 -1
  146. package/lib/services/breakpoint.service.d.ts.map +1 -1
  147. package/lib/services/image.service.d.ts.map +1 -1
  148. package/lib/services/token.service.d.ts.map +1 -1
  149. package/package.json +5 -5
  150. package/src/assets/bloomandwild/variables.css +1 -1
  151. package/src/assets/bloomon/variables.css +1 -1
  152. package/src/assets/global/scss-breakpoints.scss +1 -1
@@ -11,16 +11,17 @@ export var Breakpoint;
11
11
  Breakpoint["DESKTOP"] = "(min-width: 1440px)";
12
12
  })(Breakpoint || (Breakpoint = {}));
13
13
  export class BreakpointService {
14
+ breakpointObserver;
15
+ currentSize = new BehaviorSubject(Breakpoint.MOBILE);
16
+ breakpoints = [
17
+ Breakpoint.DESKTOP,
18
+ Breakpoint.LAPTOP,
19
+ Breakpoint.TABLET,
20
+ Breakpoint.MOBILE,
21
+ ];
22
+ isDestroyed = new Subject();
14
23
  constructor(breakpointObserver) {
15
24
  this.breakpointObserver = breakpointObserver;
16
- this.currentSize = new BehaviorSubject(Breakpoint.MOBILE);
17
- this.breakpoints = [
18
- Breakpoint.DESKTOP,
19
- Breakpoint.LAPTOP,
20
- Breakpoint.TABLET,
21
- Breakpoint.MOBILE
22
- ];
23
- this.isDestroyed = new Subject();
24
25
  breakpointObserver
25
26
  .observe(this.breakpoints)
26
27
  .pipe(takeUntil(this.isDestroyed))
@@ -36,13 +37,13 @@ export class BreakpointService {
36
37
  this.isDestroyed.next();
37
38
  this.isDestroyed.complete();
38
39
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreakpointService, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreakpointService, providedIn: 'root' }); }
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreakpointService, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreakpointService, providedIn: 'root' });
41
42
  }
42
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreakpointService, decorators: [{
43
44
  type: Injectable,
44
45
  args: [{
45
- providedIn: 'root'
46
+ providedIn: 'root',
46
47
  }]
47
48
  }], ctorParameters: () => [{ type: i1.BreakpointObserver }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvc2VydmljZXMvYnJlYWtwb2ludC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFM0MsTUFBTSxDQUFOLElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNwQix5Q0FBMkIsQ0FBQTtJQUMzQiwyQ0FBNkIsQ0FBQTtJQUM3Qiw0Q0FBOEIsQ0FBQTtJQUM5Qiw2Q0FBK0IsQ0FBQTtBQUNqQyxDQUFDLEVBTFcsVUFBVSxLQUFWLFVBQVUsUUFLckI7QUFLRCxNQUFNLE9BQU8saUJBQWlCO0lBYTVCLFlBQW1CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBWmxELGdCQUFXLEdBQ2hCLElBQUksZUFBZSxDQUFhLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3QyxnQkFBVyxHQUFHO1lBQ3BCLFVBQVUsQ0FBQyxPQUFPO1lBQ2xCLFVBQVUsQ0FBQyxNQUFNO1lBQ2pCLFVBQVUsQ0FBQyxNQUFNO1lBQ2pCLFVBQVUsQ0FBQyxNQUFNO1NBQ2xCLENBQUM7UUFFZSxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFHakQsa0JBQWtCO2FBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFRLEVBQUU7WUFDMUIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUNwRCxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDOUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFtQixDQUFDLENBQUM7Z0JBQ3BELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQzsrR0E3QlUsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGVudW0gQnJlYWtwb2ludCB7XG4gIE1PQklMRSA9ICcobWluLXdpZHRoOiAwcHgpJyxcbiAgVEFCTEVUID0gJyhtaW4td2lkdGg6IDc2OHB4KScsXG4gIExBUFRPUCA9ICcobWluLXdpZHRoOiAxMDgwcHgpJyxcbiAgREVTS1RPUCA9ICcobWluLXdpZHRoOiAxNDQwcHgpJ1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCcmVha3BvaW50U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBjdXJyZW50U2l6ZTogQmVoYXZpb3JTdWJqZWN0PEJyZWFrcG9pbnQ+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PEJyZWFrcG9pbnQ+KEJyZWFrcG9pbnQuTU9CSUxFKTtcblxuICBwcml2YXRlIGJyZWFrcG9pbnRzID0gW1xuICAgIEJyZWFrcG9pbnQuREVTS1RPUCxcbiAgICBCcmVha3BvaW50LkxBUFRPUCxcbiAgICBCcmVha3BvaW50LlRBQkxFVCxcbiAgICBCcmVha3BvaW50Lk1PQklMRVxuICBdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaXNEZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcikge1xuICAgIGJyZWFrcG9pbnRPYnNlcnZlclxuICAgICAgLm9ic2VydmUodGhpcy5icmVha3BvaW50cylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmlzRGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCk6IHZvaWQgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIE9iamVjdC5rZXlzKHJlc3VsdC5icmVha3BvaW50cykpIHtcbiAgICAgICAgICBpZiAocmVzdWx0LmJyZWFrcG9pbnRzW21hdGNoXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFNpemUubmV4dChtYXRjaCBhcyBCcmVha3BvaW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaXNEZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuaXNEZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvc2VydmljZXMvYnJlYWtwb2ludC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFM0MsTUFBTSxDQUFOLElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNwQix5Q0FBMkIsQ0FBQTtJQUMzQiwyQ0FBNkIsQ0FBQTtJQUM3Qiw0Q0FBOEIsQ0FBQTtJQUM5Qiw2Q0FBK0IsQ0FBQTtBQUNqQyxDQUFDLEVBTFcsVUFBVSxLQUFWLFVBQVUsUUFLckI7QUFLRCxNQUFNLE9BQU8saUJBQWlCO0lBY1Q7SUFiWixXQUFXLEdBQWdDLElBQUksZUFBZSxDQUNuRSxVQUFVLENBQUMsTUFBTSxDQUNsQixDQUFDO0lBRU0sV0FBVyxHQUFHO1FBQ3BCLFVBQVUsQ0FBQyxPQUFPO1FBQ2xCLFVBQVUsQ0FBQyxNQUFNO1FBQ2pCLFVBQVUsQ0FBQyxNQUFNO1FBQ2pCLFVBQVUsQ0FBQyxNQUFNO0tBQ2xCLENBQUM7SUFFZSxXQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVuRCxZQUFtQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN2RCxrQkFBa0I7YUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzthQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNqQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQVEsRUFBRTtZQUMxQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQW1CLENBQUMsQ0FBQztnQkFDcEQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO3dHQTlCVSxpQkFBaUI7NEdBQWpCLGlCQUFpQixjQUZoQixNQUFNOzs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgZW51bSBCcmVha3BvaW50IHtcbiAgTU9CSUxFID0gJyhtaW4td2lkdGg6IDBweCknLFxuICBUQUJMRVQgPSAnKG1pbi13aWR0aDogNzY4cHgpJyxcbiAgTEFQVE9QID0gJyhtaW4td2lkdGg6IDEwODBweCknLFxuICBERVNLVE9QID0gJyhtaW4td2lkdGg6IDE0NDBweCknLFxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWtwb2ludFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgY3VycmVudFNpemU6IEJlaGF2aW9yU3ViamVjdDxCcmVha3BvaW50PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnJlYWtwb2ludD4oXG4gICAgQnJlYWtwb2ludC5NT0JJTEUsXG4gICk7XG5cbiAgcHJpdmF0ZSBicmVha3BvaW50cyA9IFtcbiAgICBCcmVha3BvaW50LkRFU0tUT1AsXG4gICAgQnJlYWtwb2ludC5MQVBUT1AsXG4gICAgQnJlYWtwb2ludC5UQUJMRVQsXG4gICAgQnJlYWtwb2ludC5NT0JJTEUsXG4gIF07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpc0Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7XG4gICAgYnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAub2JzZXJ2ZSh0aGlzLmJyZWFrcG9pbnRzKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuaXNEZXN0cm95ZWQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KTogdm9pZCA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgbWF0Y2ggb2YgT2JqZWN0LmtleXMocmVzdWx0LmJyZWFrcG9pbnRzKSkge1xuICAgICAgICAgIGlmIChyZXN1bHQuYnJlYWtwb2ludHNbbWF0Y2hdKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50U2l6ZS5uZXh0KG1hdGNoIGFzIEJyZWFrcG9pbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5pc0Rlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -7,11 +7,11 @@ export class HrefService {
7
7
  handleHrefDomains() {
8
8
  // throw new Error('handleHrefDomains has not been implemented');
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HrefService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HrefService, providedIn: 'root' }); }
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HrefService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HrefService, providedIn: 'root' });
12
12
  }
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HrefService, decorators: [{
14
14
  type: Injectable,
15
15
  args: [{ providedIn: 'root' }]
16
16
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvc2VydmljZXMvaHJlZi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxXQUFXO0lBQ2Ysb0JBQW9CO1FBQ3pCLG9FQUFvRTtJQUN0RSxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLGlFQUFpRTtJQUNuRSxDQUFDOytHQVBVLFdBQVc7bUhBQVgsV0FBVyxjQURFLE1BQU07OzRGQUNuQixXQUFXO2tCQUR2QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElSb3V0aW5nSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2hyZWYvaHJlZi5kaXJlY3RpdmUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEhyZWZTZXJ2aWNlIGltcGxlbWVudHMgSVJvdXRpbmdIYW5kbGVyU2VydmljZSB7XG4gIHB1YmxpYyBoYW5kbGVSb3V0aW5nT25DbGljaygpOiB2b2lkIHtcbiAgICAvLyB0aHJvdyBuZXcgRXJyb3IoJ2hhbmRsZVJvdXRpbmdPbkNsaWNrIGhhcyBub3QgYmVlbiBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUhyZWZEb21haW5zKCk6IHZvaWQge1xuICAgIC8vIHRocm93IG5ldyBFcnJvcignaGFuZGxlSHJlZkRvbWFpbnMgaGFzIG5vdCBiZWVuIGltcGxlbWVudGVkJyk7XG4gIH1cbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHJlZi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2FzeXMtbGliL3NyYy9saWIvc2VydmljZXMvaHJlZi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxXQUFXO0lBQ2Ysb0JBQW9CO1FBQ3pCLG9FQUFvRTtJQUN0RSxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLGlFQUFpRTtJQUNuRSxDQUFDO3dHQVBVLFdBQVc7NEdBQVgsV0FBVyxjQURFLE1BQU07OzRGQUNuQixXQUFXO2tCQUR2QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElSb3V0aW5nSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2hyZWYvaHJlZi5kaXJlY3RpdmUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEhyZWZTZXJ2aWNlIGltcGxlbWVudHMgSVJvdXRpbmdIYW5kbGVyU2VydmljZSB7XG4gIHB1YmxpYyBoYW5kbGVSb3V0aW5nT25DbGljaygpOiB2b2lkIHtcbiAgICAvLyB0aHJvdyBuZXcgRXJyb3IoJ2hhbmRsZVJvdXRpbmdPbkNsaWNrIGhhcyBub3QgYmVlbiBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUhyZWZEb21haW5zKCk6IHZvaWQge1xuICAgIC8vIHRocm93IG5ldyBFcnJvcignaGFuZGxlSHJlZkRvbWFpbnMgaGFzIG5vdCBiZWVuIGltcGxlbWVudGVkJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,12 +1,13 @@
1
1
  import { Injectable, Inject, Optional } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class ImageService {
4
+ mediaUrl;
5
+ fallbackBreakpoint = 768;
6
+ breakpoints = [
7
+ 320, 360, 375, 414, 640, 750, 768, 1080, 1280, 1366, 1440, 1536, 1600, 1680, 1920, 2560, 3440,
8
+ 3840,
9
+ ];
4
10
  constructor(env) {
5
- this.fallbackBreakpoint = 768;
6
- this.breakpoints = [
7
- 320, 360, 375, 414, 640, 750, 768, 1080, 1280, 1366, 1440, 1536, 1600, 1680,
8
- 1920, 2560, 3440, 3840
9
- ];
10
11
  this.mediaUrl = env?.mediaUrl ?? 'https://media.bloomdev.org';
11
12
  }
12
13
  getQualityForWidth(width) {
@@ -50,21 +51,19 @@ export class ImageService {
50
51
  generateImageUrl(baseUrl) {
51
52
  return {
52
53
  srcSetUrls: this.getImageUrlsFromCDN(baseUrl, 'webp', this.breakpoints, false),
53
- fallbackUrl: this.getImageUrlsFromCDN(baseUrl, 'jpg', this.breakpoints, true)
54
+ fallbackUrl: this.getImageUrlsFromCDN(baseUrl, 'jpg', this.breakpoints, true),
54
55
  };
55
56
  }
56
57
  getImageSizes() {
57
- return this.breakpoints
58
- .map((size) => `(max-width: ${size}px) ${size}px`)
59
- .join(', ');
58
+ return this.breakpoints.map((size) => `(max-width: ${size}px) ${size}px`).join(', ');
60
59
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageService, deps: [{ token: 'env', optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
62
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageService, providedIn: 'root' }); }
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageService, deps: [{ token: 'env', optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
61
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageService, providedIn: 'root' });
63
62
  }
64
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageService, decorators: [{
65
64
  type: Injectable,
66
65
  args: [{
67
- providedIn: 'root'
66
+ providedIn: 'root',
68
67
  }]
69
68
  }], ctorParameters: () => [{ type: undefined, decorators: [{
70
69
  type: Inject,
@@ -72,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
72
71
  }, {
73
72
  type: Optional
74
73
  }] }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hc3lzLWxpYi9zcmMvbGliL3NlcnZpY2VzL2ltYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWE3RCxNQUFNLE9BQU8sWUFBWTtJQVN2QixZQUF1QyxHQUF5QjtRQVB4RCx1QkFBa0IsR0FBVyxHQUFHLENBQUM7UUFFakMsZ0JBQVcsR0FBYTtZQUM5QixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTtZQUMzRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJO1NBQ3ZCLENBQUM7UUFHQSxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRSxRQUFRLElBQUksNEJBQTRCLENBQUM7SUFDaEUsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEtBQWE7UUFDdEMsT0FBTyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sV0FBVyxDQUNqQixPQUFlLEVBQ2YsTUFBbUIsRUFDbkIsS0FBYSxFQUNiLE9BQWUsRUFDZixPQUFrQjtRQUVsQixRQUFRLE9BQU8sRUFBRSxDQUFDO1lBQ2hCLEtBQUssU0FBUztnQkFDWixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsT0FBTyxLQUFLLHFCQUFxQixNQUFNLGFBQWEsT0FBTyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ25HLEtBQUssWUFBWTtnQkFDZixPQUFPLEdBQUcsT0FBTyxNQUFNLEtBQUssT0FBTyxNQUFNLE1BQU0sT0FBTyxFQUFFLENBQUM7WUFDM0Q7Z0JBQ0UsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFFTyxZQUFZLENBQ2xCLE9BQWUsRUFDZixNQUFtQixFQUNuQixLQUFlLEVBQ2YsVUFBbUIsRUFDbkIsT0FBa0I7UUFFbEIsT0FBTyxLQUFLO2FBQ1QsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDYixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZFLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLEtBQUssR0FBRyxDQUFDO1FBQy9DLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRU8sYUFBYSxDQUFDLE9BQWU7UUFDbkMsSUFDRSxPQUFPLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDO1lBQzdDLE9BQU8sQ0FBQyxRQUFRLENBQUMsbURBQW1ELENBQUMsRUFDckUsQ0FBQztZQUNELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDO1lBQ3JELE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRU8sbUJBQW1CLENBQ3pCLE9BQWUsRUFDZixNQUFtQixFQUNuQixLQUFlLEVBQ2YsVUFBbUI7UUFFbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU1QyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLGdCQUFnQixDQUFDLE9BQWU7UUFDckMsT0FBTztZQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQ2xDLE9BQU8sRUFDUCxNQUFNLEVBQ04sSUFBSSxDQUFDLFdBQVcsRUFDaEIsS0FBSyxDQUNOO1lBQ0QsV0FBVyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FDbkMsT0FBTyxFQUNQLEtBQUssRUFDTCxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQ0w7U0FDZSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVc7YUFDcEIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxlQUFlLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQzthQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEIsQ0FBQzsrR0FqR1UsWUFBWSxrQkFTSCxLQUFLO21IQVRkLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVWMsTUFBTTsyQkFBQyxLQUFLOzswQkFBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG50eXBlIEltYWdlRm9ybWF0ID0gJ3dlYnAnIHwgJ2pwZyc7XG50eXBlIEltYWdlQ0ROcyA9ICdjb250ZW50ZnVsJyB8ICd0aHVtYm9yJyB8IHZvaWQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VSZXNwb25zZSB7XG4gIHNyY1NldFVybHM6IHN0cmluZztcbiAgZmFsbGJhY2tVcmw6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtZWRpYVVybDogc3RyaW5nO1xuICBwcml2YXRlIGZhbGxiYWNrQnJlYWtwb2ludDogbnVtYmVyID0gNzY4O1xuXG4gIHByaXZhdGUgYnJlYWtwb2ludHM6IG51bWJlcltdID0gW1xuICAgIDMyMCwgMzYwLCAzNzUsIDQxNCwgNjQwLCA3NTAsIDc2OCwgMTA4MCwgMTI4MCwgMTM2NiwgMTQ0MCwgMTUzNiwgMTYwMCwgMTY4MCxcbiAgICAxOTIwLCAyNTYwLCAzNDQwLCAzODQwXG4gIF07XG5cbiAgY29uc3RydWN0b3IoQEluamVjdCgnZW52JykgQE9wdGlvbmFsKCkgZW52OiB7IG1lZGlhVXJsOiBzdHJpbmcgfSkge1xuICAgIHRoaXMubWVkaWFVcmwgPSBlbnY/Lm1lZGlhVXJsID8/ICdodHRwczovL21lZGlhLmJsb29tZGV2Lm9yZyc7XG4gIH1cblxuICBwcml2YXRlIGdldFF1YWxpdHlGb3JXaWR0aCh3aWR0aDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gd2lkdGggPiAxNDQwID8gNTAgOiA3NTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVVcmwoXG4gICAgYmFzZVVybDogc3RyaW5nLFxuICAgIGZvcm1hdDogSW1hZ2VGb3JtYXQsXG4gICAgd2lkdGg6IG51bWJlcixcbiAgICBxdWFsaXR5OiBudW1iZXIsXG4gICAgY2RuVHlwZTogSW1hZ2VDRE5zXG4gICk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChjZG5UeXBlKSB7XG4gICAgICBjYXNlICd0aHVtYm9yJzpcbiAgICAgICAgcmV0dXJuIGAke3RoaXMubWVkaWFVcmx9L3YxLyR7d2lkdGh9eDAvZmlsdGVyczpmb3JtYXQoJHtmb3JtYXR9KTpxdWFsaXR5KCR7cXVhbGl0eX0pLyR7YmFzZVVybH1gO1xuICAgICAgY2FzZSAnY29udGVudGZ1bCc6XG4gICAgICAgIHJldHVybiBgJHtiYXNlVXJsfT93PSR7d2lkdGh9JmZtPSR7Zm9ybWF0fSZxPSR7cXVhbGl0eX1gO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGJhc2VVcmw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVVybHMoXG4gICAgYmFzZVVybDogc3RyaW5nLFxuICAgIGZvcm1hdDogSW1hZ2VGb3JtYXQsXG4gICAgc2l6ZXM6IG51bWJlcltdLFxuICAgIGlzRmFsbGJhY2s6IGJvb2xlYW4sXG4gICAgY2RuVHlwZTogSW1hZ2VDRE5zXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNpemVzXG4gICAgICAubWFwKCh3aWR0aCkgPT4ge1xuICAgICAgICBjb25zdCBxdWFsaXR5ID0gaXNGYWxsYmFjayA/IDEwMCA6IHRoaXMuZ2V0UXVhbGl0eUZvcldpZHRoKHdpZHRoKTtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5nZW5lcmF0ZVVybChiYXNlVXJsLCBmb3JtYXQsIHdpZHRoLCBxdWFsaXR5LCBjZG5UeXBlKTtcbiAgICAgICAgcmV0dXJuIGlzRmFsbGJhY2sgPyB1cmwgOiBgJHt1cmx9ICR7d2lkdGh9d2A7XG4gICAgICB9KVxuICAgICAgLmpvaW4oJywgJyk7XG4gIH1cblxuICBwcml2YXRlIGRldGVjdENkblR5cGUoYmFzZVVybDogc3RyaW5nKTogSW1hZ2VDRE5zIHtcbiAgICBpZiAoXG4gICAgICBiYXNlVXJsLmluY2x1ZGVzKCdhc3NldHMtMC5ibG9vbWFuZHdpbGQuY29tJykgfHxcbiAgICAgIGJhc2VVcmwuaW5jbHVkZXMoJ2J3LXNpdGUtaW1hZ2VzLXByb2Nlc3NlZC1zdGFnaW5nLnMzLmFtYXpvbmF3cy5jb20nKVxuICAgICkge1xuICAgICAgcmV0dXJuICd0aHVtYm9yJztcbiAgICB9IGVsc2UgaWYgKGJhc2VVcmwuaW5jbHVkZXMoJ2ltYWdlcy5jdGZhc3NldHMubmV0LycpKSB7XG4gICAgICByZXR1cm4gJ2NvbnRlbnRmdWwnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW1hZ2VVcmxzRnJvbUNETihcbiAgICBiYXNlVXJsOiBzdHJpbmcsXG4gICAgZm9ybWF0OiBJbWFnZUZvcm1hdCxcbiAgICBzaXplczogbnVtYmVyW10sXG4gICAgaXNGYWxsYmFjazogYm9vbGVhblxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IGNkblR5cGUgPSB0aGlzLmRldGVjdENkblR5cGUoYmFzZVVybCk7XG5cbiAgICBpZiAoaXNGYWxsYmFjaykge1xuICAgICAgc2l6ZXMgPSBbdGhpcy5mYWxsYmFja0JyZWFrcG9pbnRdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdlbmVyYXRlVXJscyhiYXNlVXJsLCBmb3JtYXQsIHNpemVzLCBpc0ZhbGxiYWNrLCBjZG5UeXBlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZUltYWdlVXJsKGJhc2VVcmw6IHN0cmluZyk6IEltYWdlUmVzcG9uc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBzcmNTZXRVcmxzOiB0aGlzLmdldEltYWdlVXJsc0Zyb21DRE4oXG4gICAgICAgIGJhc2VVcmwsXG4gICAgICAgICd3ZWJwJyxcbiAgICAgICAgdGhpcy5icmVha3BvaW50cyxcbiAgICAgICAgZmFsc2VcbiAgICAgICksXG4gICAgICBmYWxsYmFja1VybDogdGhpcy5nZXRJbWFnZVVybHNGcm9tQ0ROKFxuICAgICAgICBiYXNlVXJsLFxuICAgICAgICAnanBnJyxcbiAgICAgICAgdGhpcy5icmVha3BvaW50cyxcbiAgICAgICAgdHJ1ZVxuICAgICAgKVxuICAgIH0gYXMgSW1hZ2VSZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJbWFnZVNpemVzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYnJlYWtwb2ludHNcbiAgICAgIC5tYXAoKHNpemUpID0+IGAobWF4LXdpZHRoOiAke3NpemV9cHgpICR7c2l6ZX1weGApXG4gICAgICAuam9pbignLCAnKTtcbiAgfVxufVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hc3lzLWxpYi9zcmMvbGliL3NlcnZpY2VzL2ltYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWE3RCxNQUFNLE9BQU8sWUFBWTtJQUNmLFFBQVEsQ0FBUztJQUNqQixrQkFBa0IsR0FBVyxHQUFHLENBQUM7SUFFakMsV0FBVyxHQUFhO1FBQzlCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJO1FBQzdGLElBQUk7S0FDTCxDQUFDO0lBRUYsWUFBdUMsR0FBeUI7UUFDOUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUUsUUFBUSxJQUFJLDRCQUE0QixDQUFDO0lBQ2hFLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFhO1FBQ3RDLE9BQU8sS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLFdBQVcsQ0FDakIsT0FBZSxFQUNmLE1BQW1CLEVBQ25CLEtBQWEsRUFDYixPQUFlLEVBQ2YsT0FBa0I7UUFFbEIsUUFBUSxPQUFPLEVBQUUsQ0FBQztZQUNoQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLE9BQU8sS0FBSyxxQkFBcUIsTUFBTSxhQUFhLE9BQU8sS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUNuRyxLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxHQUFHLE9BQU8sTUFBTSxLQUFLLE9BQU8sTUFBTSxNQUFNLE9BQU8sRUFBRSxDQUFDO1lBQzNEO2dCQUNFLE9BQU8sT0FBTyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUNsQixPQUFlLEVBQ2YsTUFBbUIsRUFDbkIsS0FBZSxFQUNmLFVBQW1CLEVBQ25CLE9BQWtCO1FBRWxCLE9BQU8sS0FBSzthQUNULEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2IsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN2RSxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxLQUFLLEdBQUcsQ0FBQztRQUMvQyxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxPQUFlO1FBQ25DLElBQ0UsT0FBTyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQztZQUM3QyxPQUFPLENBQUMsUUFBUSxDQUFDLG1EQUFtRCxDQUFDLEVBQ3JFLENBQUM7WUFDRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQztZQUNyRCxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVPLG1CQUFtQixDQUN6QixPQUFlLEVBQ2YsTUFBbUIsRUFDbkIsS0FBZSxFQUNmLFVBQW1CO1FBRW5CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxPQUFlO1FBQ3JDLE9BQU87WUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7WUFDOUUsV0FBVyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO1NBQzdELENBQUM7SUFDckIsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBZSxJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkYsQ0FBQzt3R0FyRlUsWUFBWSxrQkFTSCxLQUFLOzRHQVRkLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVWMsTUFBTTsyQkFBQyxLQUFLOzswQkFBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG50eXBlIEltYWdlRm9ybWF0ID0gJ3dlYnAnIHwgJ2pwZyc7XG50eXBlIEltYWdlQ0ROcyA9ICdjb250ZW50ZnVsJyB8ICd0aHVtYm9yJyB8IHZvaWQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VSZXNwb25zZSB7XG4gIHNyY1NldFVybHM6IHN0cmluZztcbiAgZmFsbGJhY2tVcmw6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlU2VydmljZSB7XG4gIHByaXZhdGUgbWVkaWFVcmw6IHN0cmluZztcbiAgcHJpdmF0ZSBmYWxsYmFja0JyZWFrcG9pbnQ6IG51bWJlciA9IDc2ODtcblxuICBwcml2YXRlIGJyZWFrcG9pbnRzOiBudW1iZXJbXSA9IFtcbiAgICAzMjAsIDM2MCwgMzc1LCA0MTQsIDY0MCwgNzUwLCA3NjgsIDEwODAsIDEyODAsIDEzNjYsIDE0NDAsIDE1MzYsIDE2MDAsIDE2ODAsIDE5MjAsIDI1NjAsIDM0NDAsXG4gICAgMzg0MCxcbiAgXTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnYnKSBAT3B0aW9uYWwoKSBlbnY6IHsgbWVkaWFVcmw6IHN0cmluZyB9KSB7XG4gICAgdGhpcy5tZWRpYVVybCA9IGVudj8ubWVkaWFVcmwgPz8gJ2h0dHBzOi8vbWVkaWEuYmxvb21kZXYub3JnJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UXVhbGl0eUZvcldpZHRoKHdpZHRoOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB3aWR0aCA+IDE0NDAgPyA1MCA6IDc1O1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVVybChcbiAgICBiYXNlVXJsOiBzdHJpbmcsXG4gICAgZm9ybWF0OiBJbWFnZUZvcm1hdCxcbiAgICB3aWR0aDogbnVtYmVyLFxuICAgIHF1YWxpdHk6IG51bWJlcixcbiAgICBjZG5UeXBlOiBJbWFnZUNETnMsXG4gICk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChjZG5UeXBlKSB7XG4gICAgICBjYXNlICd0aHVtYm9yJzpcbiAgICAgICAgcmV0dXJuIGAke3RoaXMubWVkaWFVcmx9L3YxLyR7d2lkdGh9eDAvZmlsdGVyczpmb3JtYXQoJHtmb3JtYXR9KTpxdWFsaXR5KCR7cXVhbGl0eX0pLyR7YmFzZVVybH1gO1xuICAgICAgY2FzZSAnY29udGVudGZ1bCc6XG4gICAgICAgIHJldHVybiBgJHtiYXNlVXJsfT93PSR7d2lkdGh9JmZtPSR7Zm9ybWF0fSZxPSR7cXVhbGl0eX1gO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGJhc2VVcmw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVVybHMoXG4gICAgYmFzZVVybDogc3RyaW5nLFxuICAgIGZvcm1hdDogSW1hZ2VGb3JtYXQsXG4gICAgc2l6ZXM6IG51bWJlcltdLFxuICAgIGlzRmFsbGJhY2s6IGJvb2xlYW4sXG4gICAgY2RuVHlwZTogSW1hZ2VDRE5zLFxuICApOiBzdHJpbmcge1xuICAgIHJldHVybiBzaXplc1xuICAgICAgLm1hcCgod2lkdGgpID0+IHtcbiAgICAgICAgY29uc3QgcXVhbGl0eSA9IGlzRmFsbGJhY2sgPyAxMDAgOiB0aGlzLmdldFF1YWxpdHlGb3JXaWR0aCh3aWR0aCk7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2VuZXJhdGVVcmwoYmFzZVVybCwgZm9ybWF0LCB3aWR0aCwgcXVhbGl0eSwgY2RuVHlwZSk7XG4gICAgICAgIHJldHVybiBpc0ZhbGxiYWNrID8gdXJsIDogYCR7dXJsfSAke3dpZHRofXdgO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcsICcpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3RDZG5UeXBlKGJhc2VVcmw6IHN0cmluZyk6IEltYWdlQ0ROcyB7XG4gICAgaWYgKFxuICAgICAgYmFzZVVybC5pbmNsdWRlcygnYXNzZXRzLTAuYmxvb21hbmR3aWxkLmNvbScpIHx8XG4gICAgICBiYXNlVXJsLmluY2x1ZGVzKCdidy1zaXRlLWltYWdlcy1wcm9jZXNzZWQtc3RhZ2luZy5zMy5hbWF6b25hd3MuY29tJylcbiAgICApIHtcbiAgICAgIHJldHVybiAndGh1bWJvcic7XG4gICAgfSBlbHNlIGlmIChiYXNlVXJsLmluY2x1ZGVzKCdpbWFnZXMuY3RmYXNzZXRzLm5ldC8nKSkge1xuICAgICAgcmV0dXJuICdjb250ZW50ZnVsJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEltYWdlVXJsc0Zyb21DRE4oXG4gICAgYmFzZVVybDogc3RyaW5nLFxuICAgIGZvcm1hdDogSW1hZ2VGb3JtYXQsXG4gICAgc2l6ZXM6IG51bWJlcltdLFxuICAgIGlzRmFsbGJhY2s6IGJvb2xlYW4sXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgY2RuVHlwZSA9IHRoaXMuZGV0ZWN0Q2RuVHlwZShiYXNlVXJsKTtcblxuICAgIGlmIChpc0ZhbGxiYWNrKSB7XG4gICAgICBzaXplcyA9IFt0aGlzLmZhbGxiYWNrQnJlYWtwb2ludF07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVVcmxzKGJhc2VVcmwsIGZvcm1hdCwgc2l6ZXMsIGlzRmFsbGJhY2ssIGNkblR5cGUpO1xuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlSW1hZ2VVcmwoYmFzZVVybDogc3RyaW5nKTogSW1hZ2VSZXNwb25zZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNyY1NldFVybHM6IHRoaXMuZ2V0SW1hZ2VVcmxzRnJvbUNETihiYXNlVXJsLCAnd2VicCcsIHRoaXMuYnJlYWtwb2ludHMsIGZhbHNlKSxcbiAgICAgIGZhbGxiYWNrVXJsOiB0aGlzLmdldEltYWdlVXJsc0Zyb21DRE4oYmFzZVVybCwgJ2pwZycsIHRoaXMuYnJlYWtwb2ludHMsIHRydWUpLFxuICAgIH0gYXMgSW1hZ2VSZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJbWFnZVNpemVzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYnJlYWtwb2ludHMubWFwKChzaXplKSA9PiBgKG1heC13aWR0aDogJHtzaXplfXB4KSAke3NpemV9cHhgKS5qb2luKCcsICcpO1xuICB9XG59XG4iXX0=
@@ -4,14 +4,14 @@ import { Observable } from 'rxjs';
4
4
  import { map, take } from 'rxjs/operators';
5
5
  import * as i0 from "@angular/core";
6
6
  export class TokenService {
7
+ document;
8
+ brandCustomPropertyName = '--oasys-utility-brand-slug';
7
9
  constructor(document) {
8
10
  this.document = document;
9
- this.brandCustomPropertyName = '--oasys-utility-brand-slug';
10
11
  }
11
12
  convertRemToPixels(remString) {
12
13
  const remNumber = parseFloat(remString.replace('rem', ''));
13
- return (remNumber *
14
- parseFloat(getComputedStyle(this.document.documentElement).fontSize));
14
+ return remNumber * parseFloat(getComputedStyle(this.document.documentElement).fontSize);
15
15
  }
16
16
  /*
17
17
  Get the brand name for the currently enable custom property set (ie. /bloomon/variables.css)
@@ -31,10 +31,8 @@ export class TokenService {
31
31
  if (!rootElement) {
32
32
  return '';
33
33
  }
34
- return (this.document.defaultView
35
- .getComputedStyle(rootElement)
36
- .getPropertyValue(tokenName)
37
- .trim() || '');
34
+ return (this.document.defaultView.getComputedStyle(rootElement).getPropertyValue(tokenName).trim() ||
35
+ '');
38
36
  }
39
37
  /**
40
38
  * Waits for an element to be present in the DOM
@@ -61,8 +59,8 @@ export class TokenService {
61
59
  });
62
60
  });
63
61
  }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TokenService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
65
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TokenService }); }
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TokenService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TokenService });
66
64
  }
67
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TokenService, decorators: [{
68
66
  type: Injectable
@@ -70,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
70
68
  type: Inject,
71
69
  args: [DOCUMENT]
72
70
  }] }] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hc3lzLWxpYi9zcmMvbGliL3NlcnZpY2VzL3Rva2VuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFBc0MsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUZ4RCw0QkFBdUIsR0FBVyw0QkFBNEIsQ0FBQztJQUVKLENBQUM7SUFFNUQsa0JBQWtCLENBQUMsU0FBaUI7UUFDbEMsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0QsT0FBTyxDQUNMLFNBQVM7WUFDVCxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FDckUsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7O01BU0U7SUFDRixZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLENBQUMsSUFBSSxDQUN4RCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxTQUFpQixFQUFFLE9BQWlCO1FBQ2hELE1BQU0sV0FBVyxHQUNmLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRXBFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxPQUFPLENBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO2FBQ3RCLGdCQUFnQixDQUFDLFdBQVcsQ0FBQzthQUM3QixnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7YUFDM0IsSUFBSSxFQUFFLElBQUksRUFBRSxDQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsUUFBZ0I7UUFDN0IsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2pDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXBELElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdkIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLENBQUM7WUFFRCxJQUFJLGdCQUFnQixDQUFDLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLEVBQUU7Z0JBQ3hELE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRTVDLElBQUksRUFBRSxFQUFFLENBQUM7b0JBQ1AsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDbEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNwQixnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDaEMsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFO2dCQUNuQyxTQUFTLEVBQUUsSUFBSTtnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F6RVUsWUFBWSxrQkFHSCxRQUFRO21IQUhqQixZQUFZOzs0RkFBWixZQUFZO2tCQUR4QixVQUFVOzswQkFJSSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRva2VuU2VydmljZSB7XG4gIGJyYW5kQ3VzdG9tUHJvcGVydHlOYW1lOiBzdHJpbmcgPSAnLS1vYXN5cy11dGlsaXR5LWJyYW5kLXNsdWcnO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50KSB7fVxuXG4gIGNvbnZlcnRSZW1Ub1BpeGVscyhyZW1TdHJpbmc6IHN0cmluZyk6IG51bWJlciB7XG4gICAgY29uc3QgcmVtTnVtYmVyID0gcGFyc2VGbG9hdChyZW1TdHJpbmcucmVwbGFjZSgncmVtJywgJycpKTtcbiAgICByZXR1cm4gKFxuICAgICAgcmVtTnVtYmVyICpcbiAgICAgIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZm9udFNpemUpXG4gICAgKTtcbiAgfVxuXG4gIC8qXG4gIEdldCB0aGUgYnJhbmQgbmFtZSBmb3IgdGhlIGN1cnJlbnRseSBlbmFibGUgY3VzdG9tIHByb3BlcnR5IHNldCAoaWUuIC9ibG9vbW9uL3ZhcmlhYmxlcy5jc3MpXG4gIEJlY2F1c2UgdmFyaWFibGVzIGFyZSBzY29wZWQgdmlhIGEgc2VsZWN0b3IgKGllOiAnOnJvb3QgLmJsb29tb24ge30nKVxuICB3ZSBjYW5ub3QgZ2V0IGJyYW5kLXNwZWNpZmljIGN1c3RvbSBwcm9wZXJ0aWVzIHByb2dyYW1hdGljYWxseVxuXG4gIEltcG9ydGFudDogRW5zdXJlIHRoYXQgdGhlIGNvbXBvbmVudCByZXF1aXJpbmcgdGhlIGJyYW5kIG5hbWUgaGFzIGxvY2FsbHkgc2NvcGVkIHRoZSBjdXN0b20gcHJvcGVydHk6XG4gIHwgIHVpLWljb24ge1xuICB8ICAgIC0taWNvbi1jb21wb25lbnQtYnJhbmQ6IHZhcigtLW9hc3lzLXV0aWxpdHktYnJhbmQpO1xuICB8ICB9XG4gICovXG4gIGdldEJyYW5kTmFtZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLndhaXRGb3JFbGVtZW50KCdbY2xhc3MqPVwiYnJhbmQtdG9rZW5zXCJdJykucGlwZShcbiAgICAgIHRha2UoMSksXG4gICAgICBtYXAoKGVsKSA9PiB0aGlzLmdldFRva2VuVmFsdWUodGhpcy5icmFuZEN1c3RvbVByb3BlcnR5TmFtZSwgZWwpKVxuICAgICk7XG4gIH1cblxuICBnZXRUb2tlblZhbHVlKHRva2VuTmFtZTogc3RyaW5nLCBlbGVtZW50PzogRWxlbWVudCk6IHN0cmluZyB7XG4gICAgY29uc3Qgcm9vdEVsZW1lbnQgPVxuICAgICAgZWxlbWVudCB8fCB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tjbGFzcyo9XCJicmFuZC10b2tlbnNcIl0nKTtcblxuICAgIGlmICghcm9vdEVsZW1lbnQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlld1xuICAgICAgICAuZ2V0Q29tcHV0ZWRTdHlsZShyb290RWxlbWVudClcbiAgICAgICAgLmdldFByb3BlcnR5VmFsdWUodG9rZW5OYW1lKVxuICAgICAgICAudHJpbSgpIHx8ICcnXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXYWl0cyBmb3IgYW4gZWxlbWVudCB0byBiZSBwcmVzZW50IGluIHRoZSBET01cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEVsZW1lbnQ+fVxuICAgKi9cbiAgd2FpdEZvckVsZW1lbnQoc2VsZWN0b3I6IHN0cmluZyk6IE9ic2VydmFibGU8RWxlbWVudD4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgIGxldCBlbGVtZW50ID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcblxuICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChlbGVtZW50KTtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgIH1cblxuICAgICAgbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uUmVjb3JkLCBtdXRhdGlvbk9ic2VydmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG5cbiAgICAgICAgaWYgKGVsKSB7XG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChlbCk7XG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICBtdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgfVxuICAgICAgfSkub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHtcbiAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hc3lzLWxpYi9zcmMvbGliL3NlcnZpY2VzL3Rva2VuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLFlBQVk7SUFHZTtJQUZ0Qyx1QkFBdUIsR0FBVyw0QkFBNEIsQ0FBQztJQUUvRCxZQUFzQyxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUcsQ0FBQztJQUU1RCxrQkFBa0IsQ0FBQyxTQUFpQjtRQUNsQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRCxPQUFPLFNBQVMsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQ7Ozs7Ozs7OztNQVNFO0lBQ0YsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLElBQUksQ0FDeEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDbEUsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsU0FBaUIsRUFBRSxPQUFpQjtRQUNoRCxNQUFNLFdBQVcsR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUV0RixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTyxDQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRTtZQUMxRixFQUFFLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsY0FBYyxDQUFDLFFBQWdCO1FBQzdCLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNqQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUVwRCxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3ZCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixDQUFDO1lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFO2dCQUN4RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUU1QyxJQUFJLEVBQUUsRUFBRSxDQUFDO29CQUNQLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2xCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDcEIsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2hDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRTtnQkFDbkMsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBbkVVLFlBQVksa0JBR0gsUUFBUTs0R0FIakIsWUFBWTs7NEZBQVosWUFBWTtrQkFEeEIsVUFBVTs7MEJBSUksTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUb2tlblNlcnZpY2Uge1xuICBicmFuZEN1c3RvbVByb3BlcnR5TmFtZTogc3RyaW5nID0gJy0tb2FzeXMtdXRpbGl0eS1icmFuZC1zbHVnJztcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCkge31cblxuICBjb252ZXJ0UmVtVG9QaXhlbHMocmVtU3RyaW5nOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IHJlbU51bWJlciA9IHBhcnNlRmxvYXQocmVtU3RyaW5nLnJlcGxhY2UoJ3JlbScsICcnKSk7XG4gICAgcmV0dXJuIHJlbU51bWJlciAqIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZm9udFNpemUpO1xuICB9XG5cbiAgLypcbiAgR2V0IHRoZSBicmFuZCBuYW1lIGZvciB0aGUgY3VycmVudGx5IGVuYWJsZSBjdXN0b20gcHJvcGVydHkgc2V0IChpZS4gL2Jsb29tb24vdmFyaWFibGVzLmNzcylcbiAgQmVjYXVzZSB2YXJpYWJsZXMgYXJlIHNjb3BlZCB2aWEgYSBzZWxlY3RvciAoaWU6ICc6cm9vdCAuYmxvb21vbiB7fScpXG4gIHdlIGNhbm5vdCBnZXQgYnJhbmQtc3BlY2lmaWMgY3VzdG9tIHByb3BlcnRpZXMgcHJvZ3JhbWF0aWNhbGx5XG5cbiAgSW1wb3J0YW50OiBFbnN1cmUgdGhhdCB0aGUgY29tcG9uZW50IHJlcXVpcmluZyB0aGUgYnJhbmQgbmFtZSBoYXMgbG9jYWxseSBzY29wZWQgdGhlIGN1c3RvbSBwcm9wZXJ0eTpcbiAgfCAgdWktaWNvbiB7XG4gIHwgICAgLS1pY29uLWNvbXBvbmVudC1icmFuZDogdmFyKC0tb2FzeXMtdXRpbGl0eS1icmFuZCk7XG4gIHwgIH1cbiAgKi9cbiAgZ2V0QnJhbmROYW1lKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMud2FpdEZvckVsZW1lbnQoJ1tjbGFzcyo9XCJicmFuZC10b2tlbnNcIl0nKS5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIG1hcCgoZWwpID0+IHRoaXMuZ2V0VG9rZW5WYWx1ZSh0aGlzLmJyYW5kQ3VzdG9tUHJvcGVydHlOYW1lLCBlbCkpLFxuICAgICk7XG4gIH1cblxuICBnZXRUb2tlblZhbHVlKHRva2VuTmFtZTogc3RyaW5nLCBlbGVtZW50PzogRWxlbWVudCk6IHN0cmluZyB7XG4gICAgY29uc3Qgcm9vdEVsZW1lbnQgPSBlbGVtZW50IHx8IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2NsYXNzKj1cImJyYW5kLXRva2Vuc1wiXScpO1xuXG4gICAgaWYgKCFyb290RWxlbWVudCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUocm9vdEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUodG9rZW5OYW1lKS50cmltKCkgfHxcbiAgICAgICcnXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXYWl0cyBmb3IgYW4gZWxlbWVudCB0byBiZSBwcmVzZW50IGluIHRoZSBET01cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEVsZW1lbnQ+fVxuICAgKi9cbiAgd2FpdEZvckVsZW1lbnQoc2VsZWN0b3I6IHN0cmluZyk6IE9ic2VydmFibGU8RWxlbWVudD4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgIGxldCBlbGVtZW50ID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcblxuICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChlbGVtZW50KTtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgIH1cblxuICAgICAgbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uUmVjb3JkLCBtdXRhdGlvbk9ic2VydmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG5cbiAgICAgICAgaWYgKGVsKSB7XG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChlbCk7XG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICBtdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgfVxuICAgICAgfSkub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHtcbiAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==