cps-ui-kit 17.27.0 → 17.29.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 (48) hide show
  1. package/esm2022/lib/components/cps-autocomplete/cps-autocomplete.component.mjs +10 -6
  2. package/esm2022/lib/components/cps-button/cps-button.component.mjs +15 -8
  3. package/esm2022/lib/components/cps-button-toggle/cps-button-toggle.component.mjs +11 -7
  4. package/esm2022/lib/components/cps-checkbox/cps-checkbox.component.mjs +10 -6
  5. package/esm2022/lib/components/cps-divider/cps-divider.component.mjs +12 -6
  6. package/esm2022/lib/components/cps-expansion-panel/cps-expansion-panel.component.mjs +12 -8
  7. package/esm2022/lib/components/cps-icon/cps-icon.component.mjs +12 -7
  8. package/esm2022/lib/components/cps-input/cps-input.component.mjs +3 -3
  9. package/esm2022/lib/components/cps-loader/cps-loader.component.mjs +12 -7
  10. package/esm2022/lib/components/cps-menu/cps-menu.component.mjs +9 -9
  11. package/esm2022/lib/components/cps-paginator/cps-paginator.component.mjs +12 -7
  12. package/esm2022/lib/components/cps-progress-circular/cps-progress-circular.component.mjs +12 -7
  13. package/esm2022/lib/components/cps-progress-linear/cps-progress-linear.component.mjs +13 -8
  14. package/esm2022/lib/components/cps-tab-group/cps-tab-group.component.mjs +12 -8
  15. package/esm2022/lib/components/cps-table/cps-table.component.mjs +55 -11
  16. package/esm2022/lib/components/cps-table/pipes/cps-detect-filter-type.pipe.mjs +29 -0
  17. package/esm2022/lib/components/cps-tag/cps-tag.component.mjs +10 -6
  18. package/esm2022/lib/components/cps-tree-autocomplete/cps-tree-autocomplete.component.mjs +10 -6
  19. package/esm2022/lib/components/cps-tree-table/cps-tree-table.component.mjs +17 -12
  20. package/esm2022/lib/components/cps-tree-table/directives/cps-tree-table-row-toggler.directive.mjs +11 -6
  21. package/esm2022/lib/directives/cps-tooltip/cps-tooltip.directive.mjs +28 -23
  22. package/esm2022/lib/utils/colors-utils.mjs +10 -8
  23. package/esm2022/public-api.mjs +2 -1
  24. package/fesm2022/cps-ui-kit.mjs +1378 -1229
  25. package/fesm2022/cps-ui-kit.mjs.map +1 -1
  26. package/lib/components/cps-autocomplete/cps-autocomplete.component.d.ts +3 -2
  27. package/lib/components/cps-button/cps-button.component.d.ts +2 -0
  28. package/lib/components/cps-button-toggle/cps-button-toggle.component.d.ts +3 -2
  29. package/lib/components/cps-checkbox/cps-checkbox.component.d.ts +3 -2
  30. package/lib/components/cps-divider/cps-divider.component.d.ts +2 -0
  31. package/lib/components/cps-expansion-panel/cps-expansion-panel.component.d.ts +2 -1
  32. package/lib/components/cps-icon/cps-icon.component.d.ts +2 -0
  33. package/lib/components/cps-loader/cps-loader.component.d.ts +2 -0
  34. package/lib/components/cps-menu/cps-menu.component.d.ts +1 -0
  35. package/lib/components/cps-paginator/cps-paginator.component.d.ts +2 -0
  36. package/lib/components/cps-progress-circular/cps-progress-circular.component.d.ts +2 -0
  37. package/lib/components/cps-progress-linear/cps-progress-linear.component.d.ts +2 -0
  38. package/lib/components/cps-tab-group/cps-tab-group.component.d.ts +2 -1
  39. package/lib/components/cps-table/cps-table.component.d.ts +29 -2
  40. package/lib/components/cps-table/pipes/cps-detect-filter-type.pipe.d.ts +10 -0
  41. package/lib/components/cps-tag/cps-tag.component.d.ts +3 -2
  42. package/lib/components/cps-tree-autocomplete/cps-tree-autocomplete.component.d.ts +3 -2
  43. package/lib/components/cps-tree-table/cps-tree-table.component.d.ts +4 -2
  44. package/lib/components/cps-tree-table/directives/cps-tree-table-row-toggler.directive.d.ts +2 -1
  45. package/lib/directives/cps-tooltip/cps-tooltip.directive.d.ts +3 -1
  46. package/lib/utils/colors-utils.d.ts +2 -2
  47. package/package.json +1 -1
  48. package/public-api.d.ts +1 -0
@@ -1,4 +1,5 @@
1
- import { Directive, Input } from '@angular/core';
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Directive, Inject, Input } from '@angular/core';
2
3
  import { TreeTableToggler } from 'primeng/treetable';
3
4
  import * as i0 from "@angular/core";
4
5
  /**
@@ -6,8 +7,9 @@ import * as i0 from "@angular/core";
6
7
  * @group Directives
7
8
  */
8
9
  export class CpsTreetableRowTogglerDirective {
9
- constructor(elementRef, viewContainerRef) {
10
+ constructor(elementRef, document, viewContainerRef) {
10
11
  this.elementRef = elementRef;
12
+ this.document = document;
11
13
  this.viewContainerRef = viewContainerRef;
12
14
  this.togglerCompRef =
13
15
  this.viewContainerRef.createComponent(TreeTableToggler);
@@ -15,7 +17,7 @@ export class CpsTreetableRowTogglerDirective {
15
17
  ngOnInit() {
16
18
  this.elementRef.nativeElement.classList.add('cps-treetable-row-toggler-cell');
17
19
  this.togglerCompRef.setInput('rowNode', this.rowNode);
18
- const spanElement = document.createElement('span');
20
+ const spanElement = this.document.createElement('span');
19
21
  spanElement.style.display = 'flex';
20
22
  while (this.elementRef.nativeElement.firstChild) {
21
23
  spanElement.appendChild(this.elementRef.nativeElement.firstChild);
@@ -27,7 +29,7 @@ export class CpsTreetableRowTogglerDirective {
27
29
  this.togglerCompRef.destroy();
28
30
  this.viewContainerRef.clear();
29
31
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CpsTreetableRowTogglerDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CpsTreetableRowTogglerDirective, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
31
33
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: CpsTreetableRowTogglerDirective, isStandalone: true, selector: "[cpsTTRowToggler]", inputs: { rowNode: ["cpsTTRowToggler", "rowNode"] }, ngImport: i0 }); }
32
34
  }
33
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CpsTreetableRowTogglerDirective, decorators: [{
@@ -36,8 +38,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
36
38
  standalone: true,
37
39
  selector: '[cpsTTRowToggler]'
38
40
  }]
39
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }], propDecorators: { rowNode: [{
41
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: Document, decorators: [{
42
+ type: Inject,
43
+ args: [DOCUMENT]
44
+ }] }, { type: i0.ViewContainerRef }], propDecorators: { rowNode: [{
40
45
  type: Input,
41
46
  args: ['cpsTTRowToggler']
42
47
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRyZWUtdGFibGUtcm93LXRvZ2dsZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLXRyZWUtdGFibGUvZGlyZWN0aXZlcy9jcHMtdHJlZS10YWJsZS1yb3ctdG9nZ2xlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRXJEOzs7R0FHRztBQUtILE1BQU0sT0FBTywrQkFBK0I7SUFTMUMsWUFDVSxVQUFzQixFQUN0QixnQkFBa0M7UUFEbEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRTFDLElBQUksQ0FBQyxjQUFjO1lBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQ3pDLGdDQUFnQyxDQUNqQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV0RCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUVuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hELFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV2RCxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs4R0FyQ1UsK0JBQStCO2tHQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBSjNDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOzhHQU0yQixPQUFPO3NCQUFoQyxLQUFLO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudFJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmVlVGFibGVUb2dnbGVyIH0gZnJvbSAncHJpbWVuZy90cmVldGFibGUnO1xuXG4vKipcbiAqIENwc1RyZWV0YWJsZVJvd1RvZ2dsZXJEaXJlY3RpdmUgaXMgYSBkaXJlY3RpdmUgdXNlZCB0byBhcHBseSBhIGNoZXZyb24gdG9nZ2xlciBpY29uIHRvIGEgYm9keSBjZWxsLlxuICogQGdyb3VwIERpcmVjdGl2ZXNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW2Nwc1RUUm93VG9nZ2xlcl0nXG59KVxuZXhwb3J0IGNsYXNzIENwc1RyZWV0YWJsZVJvd1RvZ2dsZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBDZWxsIHZhbHVlLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgnY3BzVFRSb3dUb2dnbGVyJykgcm93Tm9kZTogYW55O1xuXG4gIHRvZ2dsZXJDb21wUmVmOiBDb21wb25lbnRSZWY8VHJlZVRhYmxlVG9nZ2xlcj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICB0aGlzLnRvZ2dsZXJDb21wUmVmID1cbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoVHJlZVRhYmxlVG9nZ2xlcik7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKFxuICAgICAgJ2Nwcy10cmVldGFibGUtcm93LXRvZ2dsZXItY2VsbCdcbiAgICApO1xuICAgIHRoaXMudG9nZ2xlckNvbXBSZWYuc2V0SW5wdXQoJ3Jvd05vZGUnLCB0aGlzLnJvd05vZGUpO1xuXG4gICAgY29uc3Qgc3BhbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgc3BhbkVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdmbGV4JztcblxuICAgIHdoaWxlICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5maXJzdENoaWxkKSB7XG4gICAgICBzcGFuRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5maXJzdENoaWxkKTtcbiAgICB9XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoc3BhbkVsZW1lbnQpO1xuXG4gICAgc3BhbkVsZW1lbnQucHJlcGVuZCh0aGlzLnRvZ2dsZXJDb21wUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVyQ29tcFJlZi5kZXN0cm95KCk7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRyZWUtdGFibGUtcm93LXRvZ2dsZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLXRyZWUtdGFibGUvZGlyZWN0aXZlcy9jcHMtdHJlZS10YWJsZS1yb3ctdG9nZ2xlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFFTCxTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFJTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFckQ7OztHQUdHO0FBS0gsTUFBTSxPQUFPLCtCQUErQjtJQVMxQyxZQUNVLFVBQXNCLEVBQ0osUUFBa0IsRUFDcEMsZ0JBQWtDO1FBRmxDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDSixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFFMUMsSUFBSSxDQUFDLGNBQWM7WUFDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FDekMsZ0NBQWdDLENBQ2pDLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hELFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUVuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hELFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV2RCxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs4R0F0Q1UsK0JBQStCLDRDQVdoQyxRQUFRO2tHQVhQLCtCQUErQjs7MkZBQS9CLCtCQUErQjtrQkFKM0MsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7OzBCQVlJLE1BQU07MkJBQUMsUUFBUTt3RUFOUSxPQUFPO3NCQUFoQyxLQUFLO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudFJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyZWVUYWJsZVRvZ2dsZXIgfSBmcm9tICdwcmltZW5nL3RyZWV0YWJsZSc7XG5cbi8qKlxuICogQ3BzVHJlZXRhYmxlUm93VG9nZ2xlckRpcmVjdGl2ZSBpcyBhIGRpcmVjdGl2ZSB1c2VkIHRvIGFwcGx5IGEgY2hldnJvbiB0b2dnbGVyIGljb24gdG8gYSBib2R5IGNlbGwuXG4gKiBAZ3JvdXAgRGlyZWN0aXZlc1xuICovXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbY3BzVFRSb3dUb2dnbGVyXSdcbn0pXG5leHBvcnQgY2xhc3MgQ3BzVHJlZXRhYmxlUm93VG9nZ2xlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIENlbGwgdmFsdWUuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCdjcHNUVFJvd1RvZ2dsZXInKSByb3dOb2RlOiBhbnk7XG5cbiAgdG9nZ2xlckNvbXBSZWY6IENvbXBvbmVudFJlZjxUcmVlVGFibGVUb2dnbGVyPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge1xuICAgIHRoaXMudG9nZ2xlckNvbXBSZWYgPVxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChUcmVlVGFibGVUb2dnbGVyKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoXG4gICAgICAnY3BzLXRyZWV0YWJsZS1yb3ctdG9nZ2xlci1jZWxsJ1xuICAgICk7XG4gICAgdGhpcy50b2dnbGVyQ29tcFJlZi5zZXRJbnB1dCgncm93Tm9kZScsIHRoaXMucm93Tm9kZSk7XG5cbiAgICBjb25zdCBzcGFuRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIHNwYW5FbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7XG5cbiAgICB3aGlsZSAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCkge1xuICAgICAgc3BhbkVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCk7XG4gICAgfVxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHNwYW5FbGVtZW50KTtcblxuICAgIHNwYW5FbGVtZW50LnByZXBlbmQodGhpcy50b2dnbGVyQ29tcFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlckNvbXBSZWYuZGVzdHJveSgpO1xuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICB9XG59XG4iXX0=
@@ -1,14 +1,15 @@
1
- import { Directive, HostListener, Input } from '@angular/core';
1
+ import { Directive, HostListener, Inject, Input } from '@angular/core';
2
2
  import { convertSize } from '../../utils/internal/size-utils';
3
+ import { DOCUMENT } from '@angular/common';
3
4
  import * as i0 from "@angular/core";
4
5
  /**
5
6
  * CpsTooltipDirective provides advisory information for a target element.
6
7
  * @group Components
7
8
  */
8
9
  export class CpsTooltipDirective {
9
- // eslint-disable-next-line no-useless-constructor
10
- constructor(_elementRef) {
10
+ constructor(_elementRef, document) {
11
11
  this._elementRef = _elementRef;
12
+ this.document = document;
12
13
  /**
13
14
  * Delay to show the tooltip in milliseconds, it can be of type string or number.
14
15
  * @group Props
@@ -54,18 +55,18 @@ export class CpsTooltipDirective {
54
55
  return;
55
56
  if (this.tooltipDisabled)
56
57
  return;
57
- this._popup = document.createElement('div');
58
+ this._popup = this.document.createElement('div');
58
59
  this._constructElement(this._popup);
59
60
  if (this.tooltipPersistent)
60
61
  this._popup.addEventListener('click', this._destroyTooltip);
61
- window.addEventListener('scroll', this._destroyTooltip, true);
62
+ this.window.addEventListener('scroll', this._destroyTooltip, true);
62
63
  };
63
64
  this._destroyTooltip = (event = undefined) => {
64
65
  const removeFromDOM = () => {
65
66
  this._popup?.remove();
66
67
  this._popup = undefined;
67
68
  };
68
- window.removeEventListener('scroll', this._destroyTooltip, true);
69
+ this.window.removeEventListener('scroll', this._destroyTooltip, true);
69
70
  if (!this._popup)
70
71
  return;
71
72
  this._popup.removeEventListener('click', this._destroyTooltip);
@@ -83,18 +84,19 @@ export class CpsTooltipDirective {
83
84
  }, 200);
84
85
  }
85
86
  };
87
+ this.window = this.document.defaultView;
86
88
  }
87
89
  ngOnDestroy() {
88
90
  this._destroyTooltip();
89
91
  }
90
92
  _constructElement(popup) {
91
- const popupContent = document.createElement('div');
93
+ const popupContent = this.document.createElement('div');
92
94
  popupContent.innerHTML = this.tooltip || 'Add your text to this tooltip';
93
95
  popupContent.classList.add(this.tooltipContentClass);
94
96
  popup.appendChild(popupContent);
95
97
  popup.classList.add('cps-tooltip');
96
98
  popup.style.maxWidth = convertSize(this.tooltipMaxWidth);
97
- document.body.appendChild(popup);
99
+ this.document.body.appendChild(popup);
98
100
  requestAnimationFrame(function () {
99
101
  popup.style.opacity = '1';
100
102
  });
@@ -107,12 +109,12 @@ export class CpsTooltipDirective {
107
109
  popup.style.top = coords.top.toString() + 'px';
108
110
  }
109
111
  _getCoords() {
110
- function isInsideScreen(coords) {
112
+ const isInsideScreen = (coords) => {
111
113
  return (coords.top >= 0 &&
112
114
  coords.left >= 0 &&
113
- coords.left + popupRect.width <= window.innerWidth &&
114
- coords.top + popupRect.height <= window.innerHeight);
115
- }
115
+ coords.left + popupRect.width <= this.window.innerWidth &&
116
+ coords.top + popupRect.height <= this.window.innerHeight);
117
+ };
116
118
  let positions = ['top', 'bottom', 'left', 'right'];
117
119
  positions = positions.filter((item) => item !== this.tooltipPosition);
118
120
  positions.unshift(this.tooltipPosition);
@@ -132,30 +134,30 @@ export class CpsTooltipDirective {
132
134
  case 'bottom':
133
135
  return {
134
136
  left: targetElRect.left +
135
- window.scrollX +
137
+ this.window.scrollX +
136
138
  (targetEl.offsetWidth - popupRect.width) / 2,
137
- top: targetElRect.bottom + window.scrollY + 8
139
+ top: targetElRect.bottom + this.window.scrollY + 8
138
140
  };
139
141
  case 'left':
140
142
  return {
141
- left: targetElRect.left - window.scrollX - popupRect.width - 8,
143
+ left: targetElRect.left - this.window.scrollX - popupRect.width - 8,
142
144
  top: targetElRect.top +
143
- window.scrollY +
145
+ this.window.scrollY +
144
146
  (targetEl.offsetHeight - popupRect.height) / 2
145
147
  };
146
148
  case 'right':
147
149
  return {
148
- left: targetElRect.right + window.scrollX + 8,
150
+ left: targetElRect.right + this.window.scrollX + 8,
149
151
  top: targetElRect.top +
150
- window.scrollY +
152
+ this.window.scrollY +
151
153
  (targetEl.offsetHeight - popupRect.height) / 2
152
154
  };
153
155
  default:
154
156
  return {
155
157
  left: targetElRect.left +
156
- window.scrollX +
158
+ this.window.scrollX +
157
159
  (targetEl.offsetWidth - popupRect.width) / 2,
158
- top: targetElRect.top + window.scrollY - popupRect.height - 8
160
+ top: targetElRect.top + this.window.scrollY - popupRect.height - 8
159
161
  };
160
162
  }
161
163
  }
@@ -204,7 +206,7 @@ export class CpsTooltipDirective {
204
206
  if (this._popup)
205
207
  this._destroyTooltip(event);
206
208
  }
207
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CpsTooltipDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CpsTooltipDirective, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
208
210
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: CpsTooltipDirective, isStandalone: true, selector: "[cpsTooltip]", inputs: { tooltip: ["cpsTooltip", "tooltip"], tooltipOpenDelay: "tooltipOpenDelay", tooltipCloseDelay: "tooltipCloseDelay", tooltipOpenOn: "tooltipOpenOn", tooltipPosition: "tooltipPosition", tooltipPersistent: "tooltipPersistent", tooltipDisabled: "tooltipDisabled", tooltipMaxWidth: "tooltipMaxWidth", tooltipContentClass: "tooltipContentClass" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()", "click": "onClick()", "document:click": "onDocumentClick($event.target)", "window:resize": "onPageResize($event)" } }, ngImport: i0 }); }
209
211
  }
210
212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CpsTooltipDirective, decorators: [{
@@ -213,7 +215,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
213
215
  selector: '[cpsTooltip]',
214
216
  standalone: true
215
217
  }]
216
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { tooltip: [{
218
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: Document, decorators: [{
219
+ type: Inject,
220
+ args: [DOCUMENT]
221
+ }] }], propDecorators: { tooltip: [{
217
222
  type: Input,
218
223
  args: ['cpsTooltip']
219
224
  }], tooltipOpenDelay: [{
@@ -254,4 +259,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
254
259
  type: HostListener,
255
260
  args: ['window:resize', ['$event']]
256
261
  }] } });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRvb2x0aXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2RpcmVjdGl2ZXMvY3BzLXRvb2x0aXAvY3BzLXRvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBYzlEOzs7R0FHRztBQUtILE1BQU0sT0FBTyxtQkFBbUI7SUEyRDlCLGtEQUFrRDtJQUNsRCxZQUFvQixXQUFvQztRQUFwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFyRHhEOzs7V0FHRztRQUNNLHFCQUFnQixHQUFvQixHQUFHLENBQUM7UUFFakQ7OztXQUdHO1FBQ00sc0JBQWlCLEdBQW9CLEdBQUcsQ0FBQztRQUVsRDs7O1dBR0c7UUFDTSxrQkFBYSxHQUFxQixPQUFPLENBQUM7UUFFbkQ7OztXQUdHO1FBQ00sb0JBQWUsR0FBdUIsS0FBSyxDQUFDO1FBRXJEOzs7V0FHRztRQUNNLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUVuQzs7O1dBR0c7UUFDTSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUVqQzs7O1dBR0c7UUFDTSxvQkFBZSxHQUFvQixNQUFNLENBQUM7UUFFbkQ7OztXQUdHO1FBQ00sd0JBQW1CLEdBQUcscUJBQXFCLENBQUM7UUFhN0MsbUJBQWMsR0FBRyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPO1lBRXhCLElBQUksSUFBSSxDQUFDLGVBQWU7Z0JBQUUsT0FBTztZQUVqQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVwQyxJQUFJLElBQUksQ0FBQyxpQkFBaUI7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUU5RCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDO1FBRU0sb0JBQWUsR0FBRyxDQUFDLFFBQWEsU0FBUyxFQUFFLEVBQUU7WUFDbkQsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO2dCQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztZQUMxQixDQUFDLENBQUM7WUFFRixNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFFekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBRS9ELE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFL0QsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDaEIsYUFBYSxFQUFFLENBQUM7WUFDbEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sS0FBSyxHQUFtQixJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUMxQyxxQkFBcUIsQ0FBQztvQkFDcEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQztnQkFFSCxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDVixDQUFDO1FBQ0gsQ0FBQyxDQUFDO0lBN0N5RCxDQUFDO0lBRTVELFdBQVc7UUFDVCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQTJDTyxpQkFBaUIsQ0FBQyxLQUFxQjtRQUM3QyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELFlBQVksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSwrQkFBK0IsQ0FBQztRQUN6RSxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyRCxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWhDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFekQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMscUJBQXFCLENBQUM7WUFDcEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2pELEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQ2pELENBQUM7SUFFTyxVQUFVO1FBQ2hCLFNBQVMsY0FBYyxDQUFDLE1BQXFDO1lBQzNELE9BQU8sQ0FDTCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ2YsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDO2dCQUNoQixNQUFNLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLFVBQVU7Z0JBQ2xELE1BQU0sQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxDQUNwRCxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksU0FBUyxHQUF5QixDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pFLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3RFLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXhDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3RELE1BQU0sU0FBUyxHQUFJLElBQUksQ0FBQyxNQUF5QixDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFMUUsS0FBSyxNQUFNLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUM1QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQ3ZDLEdBQXlCLEVBQ3pCLFFBQVEsRUFDUixZQUFZLEVBQ1osU0FBUyxDQUNWLENBQUM7WUFFRixJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUMzQixPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTyxxQkFBcUIsQ0FDM0IsUUFBNEIsRUFDNUIsUUFBcUIsRUFDckIsWUFBcUIsRUFDckIsU0FBa0I7UUFLbEIsUUFBUSxRQUFRLEVBQUUsQ0FBQztZQUNqQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTztvQkFDTCxJQUFJLEVBQ0YsWUFBWSxDQUFDLElBQUk7d0JBQ2pCLE1BQU0sQ0FBQyxPQUFPO3dCQUNkLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztvQkFDOUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDO2lCQUM5QyxDQUFDO1lBQ0osS0FBSyxNQUFNO2dCQUNULE9BQU87b0JBQ0wsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUM7b0JBQzlELEdBQUcsRUFDRCxZQUFZLENBQUMsR0FBRzt3QkFDaEIsTUFBTSxDQUFDLE9BQU87d0JBQ2QsQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2lCQUNqRCxDQUFDO1lBQ0osS0FBSyxPQUFPO2dCQUNWLE9BQU87b0JBQ0wsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDO29CQUM3QyxHQUFHLEVBQ0QsWUFBWSxDQUFDLEdBQUc7d0JBQ2hCLE1BQU0sQ0FBQyxPQUFPO3dCQUNkLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztpQkFDakQsQ0FBQztZQUNKO2dCQUNFLE9BQU87b0JBQ0wsSUFBSSxFQUNGLFlBQVksQ0FBQyxJQUFJO3dCQUNqQixNQUFNLENBQUMsT0FBTzt3QkFDZCxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7b0JBQzlDLEdBQUcsRUFBRSxZQUFZLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDO2lCQUM5RCxDQUFDO1FBQ04sQ0FBQztJQUNILENBQUM7SUFFMkIsWUFBWTtRQUN0QyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDbkMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUVoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FDNUIsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLGdCQUEwQixDQUNoQyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFMkIsWUFBWTtRQUN0QyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FDNUIsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLGlCQUEyQixDQUNqQyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFc0IsT0FBTztRQUM1QixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDbkMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUVoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FDNUIsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLGdCQUEwQixDQUNoQyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFcUIsTUFBTTtRQUMxQixZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUM5RCxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FDNUIsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLGlCQUEyQixDQUNqQyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFc0IsT0FBTztRQUM1QixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDbkMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUVoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBR0QsZUFBZSxDQUFDLE1BQVc7UUFDekIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUM7Z0JBQ3pCLE9BQU87WUFDVCxDQUFDO1lBQ0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUUwQyxZQUFZLENBQUMsS0FBWTtRQUNsRSxJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQXBSVSxtQkFBbUI7a0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOytFQU1zQixPQUFPO3NCQUEzQixLQUFLO3VCQUFDLFlBQVk7Z0JBTVYsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQU1HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFNRyxhQUFhO3NCQUFyQixLQUFLO2dCQU1HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBTUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQU1HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBTUcsZUFBZTtzQkFBdkIsS0FBSztnQkFNRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBNkpzQixZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBV0UsWUFBWTtzQkFBdkMsWUFBWTt1QkFBQyxZQUFZO2dCQVdILE9BQU87c0JBQTdCLFlBQVk7dUJBQUMsT0FBTztnQkFXQyxNQUFNO3NCQUEzQixZQUFZO3VCQUFDLE1BQU07Z0JBVUcsT0FBTztzQkFBN0IsWUFBWTt1QkFBQyxPQUFPO2dCQVNyQixlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBYU4sWUFBWTtzQkFBdEQsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbnZlcnRTaXplIH0gZnJvbSAnLi4vLi4vdXRpbHMvaW50ZXJuYWwvc2l6ZS11dGlscyc7XG5cbi8qKlxuICogQ3BzVG9vbHRpcFBvc2l0aW9uIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcC5cbiAqIEBncm91cCBUeXBlc1xuICovXG5leHBvcnQgdHlwZSBDcHNUb29sdGlwUG9zaXRpb24gPSAndG9wJyB8ICdib3R0b20nIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcblxuLyoqXG4gKiBDcHNUb29sdGlwT3Blbk9uIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBldmVudCBvbiB3aGljaCB0aGUgdG9vbHRpcCBzaG91bGQgb3Blbi5cbiAqIEBncm91cCBUeXBlc1xuICovXG5leHBvcnQgdHlwZSBDcHNUb29sdGlwT3Blbk9uID0gJ2hvdmVyJyB8ICdjbGljaycgfCAnZm9jdXMnO1xuXG4vKipcbiAqIENwc1Rvb2x0aXBEaXJlY3RpdmUgcHJvdmlkZXMgYWR2aXNvcnkgaW5mb3JtYXRpb24gZm9yIGEgdGFyZ2V0IGVsZW1lbnQuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY3BzVG9vbHRpcF0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIENwc1Rvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogVG9vbHRpcCB0ZXh0IG9yIGh0bWwgdG8gc2hvdy5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoJ2Nwc1Rvb2x0aXAnKSB0b29sdGlwITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWxheSB0byBzaG93IHRoZSB0b29sdGlwIGluIG1pbGxpc2Vjb25kcywgaXQgY2FuIGJlIG9mIHR5cGUgc3RyaW5nIG9yIG51bWJlci5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwT3BlbkRlbGF5OiBzdHJpbmcgfCBudW1iZXIgPSAzMDA7XG5cbiAgLyoqXG4gICAqIERlbGF5IHRvIGhpZGUgdGhlIHRvb2x0aXAgaW4gbWlsbGlzZWNvbmRzLCBpdCBjYW4gYmUgb2YgdHlwZSBzdHJpbmcgb3IgbnVtYmVyLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIHRvb2x0aXBDbG9zZURlbGF5OiBzdHJpbmcgfCBudW1iZXIgPSAzMDA7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgdG9vbHRpcCBzaG91bGQgb3BlbiBvbiBob3ZlciwgY2xpY2sgb3IgZm9jdXMuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcE9wZW5PbjogQ3BzVG9vbHRpcE9wZW5PbiA9ICdob3Zlcic7XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uIG9mIHRoZSB0b29sdGlwLCBpdCBjYW4gYmUgJ3RvcCcsICdib3R0b20nLCAnbGVmdCcgb3IgJ3JpZ2h0Jy5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwUG9zaXRpb246IENwc1Rvb2x0aXBQb3NpdGlvbiA9ICd0b3AnO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHRvb2x0aXAgaXMgcGVyc2lzdGVudC5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwUGVyc2lzdGVudCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGVuIHByZXNlbnQsIGl0IHNwZWNpZmllcyB0aGF0IHRoZSB0b29sdGlwIHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwRGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogTWF4IHdpZHRoIG9mIHRoZSB0b29sdGlwIG9mIHR5cGUgbnVtYmVyIGRlbm90aW5nIHBpeGVscyBvciBzdHJpbmcuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcE1heFdpZHRoOiBudW1iZXIgfCBzdHJpbmcgPSAnMTAwJSc7XG5cbiAgLyoqXG4gICAqIFRvb2x0aXAgY29udGVudCBjbGFzcyBmb3Igc3R5bGluZy5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwQ29udGVudENsYXNzID0gJ2Nwcy10b29sdGlwLWNvbnRlbnQnO1xuXG4gIHByaXZhdGUgX3BvcHVwPzogSFRNTERpdkVsZW1lbnQ7XG4gIHByaXZhdGUgX3Nob3dUaW1lb3V0PzogYW55O1xuICBwcml2YXRlIF9oaWRlVGltZW91dD86IGFueTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlbGVzcy1jb25zdHJ1Y3RvclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95VG9vbHRpcCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlVG9vbHRpcCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5fcG9wdXApIHJldHVybjtcblxuICAgIGlmICh0aGlzLnRvb2x0aXBEaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fcG9wdXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLl9jb25zdHJ1Y3RFbGVtZW50KHRoaXMuX3BvcHVwKTtcblxuICAgIGlmICh0aGlzLnRvb2x0aXBQZXJzaXN0ZW50KVxuICAgICAgdGhpcy5fcG9wdXAuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9kZXN0cm95VG9vbHRpcCk7XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5fZGVzdHJveVRvb2x0aXAsIHRydWUpO1xuICB9O1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3lUb29sdGlwID0gKGV2ZW50OiBhbnkgPSB1bmRlZmluZWQpID0+IHtcbiAgICBjb25zdCByZW1vdmVGcm9tRE9NID0gKCkgPT4ge1xuICAgICAgdGhpcy5fcG9wdXA/LnJlbW92ZSgpO1xuICAgICAgdGhpcy5fcG9wdXAgPSB1bmRlZmluZWQ7XG4gICAgfTtcblxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLl9kZXN0cm95VG9vbHRpcCwgdHJ1ZSk7XG4gICAgaWYgKCF0aGlzLl9wb3B1cCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fcG9wdXAucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9kZXN0cm95VG9vbHRpcCk7XG5cbiAgICBjb25zdCBub0FuaW1hdGlvbiA9IFsnc2Nyb2xsJywgJ3Jlc2l6ZSddLmluY2x1ZGVzKGV2ZW50Py50eXBlKTtcblxuICAgIGlmIChub0FuaW1hdGlvbikge1xuICAgICAgcmVtb3ZlRnJvbURPTSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwb3B1cDogSFRNTERpdkVsZW1lbnQgPSB0aGlzLl9wb3B1cDtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIHBvcHVwLnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICB9KTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHJlbW92ZUZyb21ET00oKTtcbiAgICAgIH0sIDIwMCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX2NvbnN0cnVjdEVsZW1lbnQocG9wdXA6IEhUTUxEaXZFbGVtZW50KSB7XG4gICAgY29uc3QgcG9wdXBDb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgcG9wdXBDb250ZW50LmlubmVySFRNTCA9IHRoaXMudG9vbHRpcCB8fCAnQWRkIHlvdXIgdGV4dCB0byB0aGlzIHRvb2x0aXAnO1xuICAgIHBvcHVwQ29udGVudC5jbGFzc0xpc3QuYWRkKHRoaXMudG9vbHRpcENvbnRlbnRDbGFzcyk7XG4gICAgcG9wdXAuYXBwZW5kQ2hpbGQocG9wdXBDb250ZW50KTtcblxuICAgIHBvcHVwLmNsYXNzTGlzdC5hZGQoJ2Nwcy10b29sdGlwJyk7XG4gICAgcG9wdXAuc3R5bGUubWF4V2lkdGggPSBjb252ZXJ0U2l6ZSh0aGlzLnRvb2x0aXBNYXhXaWR0aCk7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBvcHVwKTtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgcG9wdXAuc3R5bGUub3BhY2l0eSA9ICcxJztcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvb3JkcyA9IHRoaXMuX2dldENvb3JkcygpO1xuICAgIGlmICghY29vcmRzKSB7XG4gICAgICB0aGlzLl9kZXN0cm95VG9vbHRpcCgpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgZW5vdWdoIHNwYWNlIG9uIHRoZSBzY3JlZW4gZm9yIHRoZSB0b29sdGlwIScpO1xuICAgIH1cblxuICAgIHBvcHVwLnN0eWxlLmxlZnQgPSBjb29yZHMubGVmdC50b1N0cmluZygpICsgJ3B4JztcbiAgICBwb3B1cC5zdHlsZS50b3AgPSBjb29yZHMudG9wLnRvU3RyaW5nKCkgKyAncHgnO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29vcmRzKCk6IHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlciB9IHwgdW5kZWZpbmVkIHtcbiAgICBmdW5jdGlvbiBpc0luc2lkZVNjcmVlbihjb29yZHM6IHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlciB9KTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBjb29yZHMudG9wID49IDAgJiZcbiAgICAgICAgY29vcmRzLmxlZnQgPj0gMCAmJlxuICAgICAgICBjb29yZHMubGVmdCArIHBvcHVwUmVjdC53aWR0aCA8PSB3aW5kb3cuaW5uZXJXaWR0aCAmJlxuICAgICAgICBjb29yZHMudG9wICsgcG9wdXBSZWN0LmhlaWdodCA8PSB3aW5kb3cuaW5uZXJIZWlnaHRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHBvc2l0aW9uczogQ3BzVG9vbHRpcFBvc2l0aW9uW10gPSBbJ3RvcCcsICdib3R0b20nLCAnbGVmdCcsICdyaWdodCddO1xuICAgIHBvc2l0aW9ucyA9IHBvc2l0aW9ucy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IHRoaXMudG9vbHRpcFBvc2l0aW9uKTtcbiAgICBwb3NpdGlvbnMudW5zaGlmdCh0aGlzLnRvb2x0aXBQb3NpdGlvbik7XG5cbiAgICBjb25zdCB0YXJnZXRFbCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCB0YXJnZXRFbFJlY3QgPSB0YXJnZXRFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBwb3B1cFJlY3QgPSAodGhpcy5fcG9wdXAgYXMgSFRNTERpdkVsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgZm9yIChjb25zdCBwb3Mgb2YgcG9zaXRpb25zKSB7XG4gICAgICBjb25zdCBjb29yZHMgPSB0aGlzLl9nZXRDb29yZHNGb3JQb3NpdGlvbihcbiAgICAgICAgcG9zIGFzIENwc1Rvb2x0aXBQb3NpdGlvbixcbiAgICAgICAgdGFyZ2V0RWwsXG4gICAgICAgIHRhcmdldEVsUmVjdCxcbiAgICAgICAgcG9wdXBSZWN0XG4gICAgICApO1xuXG4gICAgICBpZiAoaXNJbnNpZGVTY3JlZW4oY29vcmRzKSkge1xuICAgICAgICByZXR1cm4gY29vcmRzO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDb29yZHNGb3JQb3NpdGlvbihcbiAgICBwb3NpdGlvbjogQ3BzVG9vbHRpcFBvc2l0aW9uLFxuICAgIHRhcmdldEVsOiBIVE1MRWxlbWVudCxcbiAgICB0YXJnZXRFbFJlY3Q6IERPTVJlY3QsXG4gICAgcG9wdXBSZWN0OiBET01SZWN0XG4gICk6IHtcbiAgICBsZWZ0OiBudW1iZXI7XG4gICAgdG9wOiBudW1iZXI7XG4gIH0ge1xuICAgIHN3aXRjaCAocG9zaXRpb24pIHtcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbGVmdDpcbiAgICAgICAgICAgIHRhcmdldEVsUmVjdC5sZWZ0ICtcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxYICtcbiAgICAgICAgICAgICh0YXJnZXRFbC5vZmZzZXRXaWR0aCAtIHBvcHVwUmVjdC53aWR0aCkgLyAyLFxuICAgICAgICAgIHRvcDogdGFyZ2V0RWxSZWN0LmJvdHRvbSArIHdpbmRvdy5zY3JvbGxZICsgOFxuICAgICAgICB9O1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbGVmdDogdGFyZ2V0RWxSZWN0LmxlZnQgLSB3aW5kb3cuc2Nyb2xsWCAtIHBvcHVwUmVjdC53aWR0aCAtIDgsXG4gICAgICAgICAgdG9wOlxuICAgICAgICAgICAgdGFyZ2V0RWxSZWN0LnRvcCArXG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsWSArXG4gICAgICAgICAgICAodGFyZ2V0RWwub2Zmc2V0SGVpZ2h0IC0gcG9wdXBSZWN0LmhlaWdodCkgLyAyXG4gICAgICAgIH07XG4gICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbGVmdDogdGFyZ2V0RWxSZWN0LnJpZ2h0ICsgd2luZG93LnNjcm9sbFggKyA4LFxuICAgICAgICAgIHRvcDpcbiAgICAgICAgICAgIHRhcmdldEVsUmVjdC50b3AgK1xuICAgICAgICAgICAgd2luZG93LnNjcm9sbFkgK1xuICAgICAgICAgICAgKHRhcmdldEVsLm9mZnNldEhlaWdodCAtIHBvcHVwUmVjdC5oZWlnaHQpIC8gMlxuICAgICAgICB9O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsZWZ0OlxuICAgICAgICAgICAgdGFyZ2V0RWxSZWN0LmxlZnQgK1xuICAgICAgICAgICAgd2luZG93LnNjcm9sbFggK1xuICAgICAgICAgICAgKHRhcmdldEVsLm9mZnNldFdpZHRoIC0gcG9wdXBSZWN0LndpZHRoKSAvIDIsXG4gICAgICAgICAgdG9wOiB0YXJnZXRFbFJlY3QudG9wICsgd2luZG93LnNjcm9sbFkgLSBwb3B1cFJlY3QuaGVpZ2h0IC0gOFxuICAgICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKSBvbk1vdXNlRW50ZXIoKSB7XG4gICAgaWYgKHRoaXMudG9vbHRpcE9wZW5PbiA9PT0gJ2hvdmVyJykge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2hpZGVUaW1lb3V0KTtcblxuICAgICAgdGhpcy5fc2hvd1RpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICB0aGlzLl9jcmVhdGVUb29sdGlwLFxuICAgICAgICB0aGlzLnRvb2x0aXBPcGVuRGVsYXkgYXMgbnVtYmVyXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Nob3dUaW1lb3V0KTtcblxuICAgIGlmICghdGhpcy50b29sdGlwUGVyc2lzdGVudCkge1xuICAgICAgdGhpcy5faGlkZVRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICB0aGlzLl9kZXN0cm95VG9vbHRpcCxcbiAgICAgICAgdGhpcy50b29sdGlwQ2xvc2VEZWxheSBhcyBudW1iZXJcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKSBvbkZvY3VzKCkge1xuICAgIGlmICh0aGlzLnRvb2x0aXBPcGVuT24gPT09ICdmb2N1cycpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9oaWRlVGltZW91dCk7XG5cbiAgICAgIHRoaXMuX3Nob3dUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgdGhpcy5fY3JlYXRlVG9vbHRpcCxcbiAgICAgICAgdGhpcy50b29sdGlwT3BlbkRlbGF5IGFzIG51bWJlclxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdibHVyJykgb25CbHVyKCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9zaG93VGltZW91dCk7XG4gICAgaWYgKCF0aGlzLnRvb2x0aXBQZXJzaXN0ZW50ICYmIHRoaXMudG9vbHRpcE9wZW5PbiA9PT0gJ2ZvY3VzJykge1xuICAgICAgdGhpcy5faGlkZVRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICB0aGlzLl9kZXN0cm95VG9vbHRpcCxcbiAgICAgICAgdGhpcy50b29sdGlwQ2xvc2VEZWxheSBhcyBudW1iZXJcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKSBvbkNsaWNrKCkge1xuICAgIGlmICh0aGlzLnRvb2x0aXBPcGVuT24gPT09ICdjbGljaycpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9oaWRlVGltZW91dCk7XG5cbiAgICAgIHRoaXMuX3Nob3dUaW1lb3V0ID0gc2V0VGltZW91dCh0aGlzLl9jcmVhdGVUb29sdGlwLCAwKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBvbkRvY3VtZW50Q2xpY2sodGFyZ2V0OiBhbnkpIHtcbiAgICBpZiAodGhpcy50b29sdGlwUGVyc2lzdGVudCAmJiB0aGlzLl9wb3B1cCkge1xuICAgICAgaWYgKCF0YXJnZXQ/LmlzQ29ubmVjdGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLl9lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5jb250YWlucyh0YXJnZXQpO1xuICAgICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lUb29sdGlwKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pIG9uUGFnZVJlc2l6ZShldmVudDogRXZlbnQpIHtcbiAgICBpZiAodGhpcy5fcG9wdXApIHRoaXMuX2Rlc3Ryb3lUb29sdGlwKGV2ZW50KTtcbiAgfVxufVxuIl19
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRvb2x0aXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2RpcmVjdGl2ZXMvY3BzLXRvb2x0aXAvY3BzLXRvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFjM0M7OztHQUdHO0FBS0gsTUFBTSxPQUFPLG1CQUFtQjtJQTZEOUIsWUFDVSxXQUFvQyxFQUNsQixRQUFrQjtRQURwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQXhEOUM7OztXQUdHO1FBQ00scUJBQWdCLEdBQW9CLEdBQUcsQ0FBQztRQUVqRDs7O1dBR0c7UUFDTSxzQkFBaUIsR0FBb0IsR0FBRyxDQUFDO1FBRWxEOzs7V0FHRztRQUNNLGtCQUFhLEdBQXFCLE9BQU8sQ0FBQztRQUVuRDs7O1dBR0c7UUFDTSxvQkFBZSxHQUF1QixLQUFLLENBQUM7UUFFckQ7OztXQUdHO1FBQ00sc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRW5DOzs7V0FHRztRQUNNLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBRWpDOzs7V0FHRztRQUNNLG9CQUFlLEdBQW9CLE1BQU0sQ0FBQztRQUVuRDs7O1dBR0c7UUFDTSx3QkFBbUIsR0FBRyxxQkFBcUIsQ0FBQztRQW1CN0MsbUJBQWMsR0FBRyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPO1lBRXhCLElBQUksSUFBSSxDQUFDLGVBQWU7Z0JBQUUsT0FBTztZQUVq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UUFDbEUsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs4R0ExUlUsbUJBQW1CLDRDQStEcEIsUUFBUTtrR0EvRFAsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQWdFSSxNQUFNOzJCQUFDLFFBQVE7eUNBMURHLE9BQU87c0JBQTNCLEtBQUs7dUJBQUMsWUFBWTtnQkFNVixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBTUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQU1HLGFBQWE7c0JBQXJCLEtBQUs7Z0JBTUcsZUFBZTtzQkFBdkIsS0FBSztnQkFNRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBTUcsZUFBZTtzQkFBdkIsS0FBSztnQkFNRyxlQUFlO3NCQUF2QixLQUFLO2dCQU1HLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFtS3NCLFlBQVk7c0JBQXZDLFlBQVk7dUJBQUMsWUFBWTtnQkFXRSxZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBV0gsT0FBTztzQkFBN0IsWUFBWTt1QkFBQyxPQUFPO2dCQVdDLE1BQU07c0JBQTNCLFlBQVk7dUJBQUMsTUFBTTtnQkFVRyxPQUFPO3NCQUE3QixZQUFZO3VCQUFDLE9BQU87Z0JBU3JCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFhTixZQUFZO3NCQUF0RCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb252ZXJ0U2l6ZSB9IGZyb20gJy4uLy4uL3V0aWxzL2ludGVybmFsL3NpemUtdXRpbHMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIENwc1Rvb2x0aXBQb3NpdGlvbiBpcyB1c2VkIHRvIGRlZmluZSB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAuXG4gKiBAZ3JvdXAgVHlwZXNcbiAqL1xuZXhwb3J0IHR5cGUgQ3BzVG9vbHRpcFBvc2l0aW9uID0gJ3RvcCcgfCAnYm90dG9tJyB8ICdsZWZ0JyB8ICdyaWdodCc7XG5cbi8qKlxuICogQ3BzVG9vbHRpcE9wZW5PbiBpcyB1c2VkIHRvIGRlZmluZSB0aGUgZXZlbnQgb24gd2hpY2ggdGhlIHRvb2x0aXAgc2hvdWxkIG9wZW4uXG4gKiBAZ3JvdXAgVHlwZXNcbiAqL1xuZXhwb3J0IHR5cGUgQ3BzVG9vbHRpcE9wZW5PbiA9ICdob3ZlcicgfCAnY2xpY2snIHwgJ2ZvY3VzJztcblxuLyoqXG4gKiBDcHNUb29sdGlwRGlyZWN0aXZlIHByb3ZpZGVzIGFkdmlzb3J5IGluZm9ybWF0aW9uIGZvciBhIHRhcmdldCBlbGVtZW50LlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Nwc1Rvb2x0aXBdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBDcHNUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRvb2x0aXAgdGV4dCBvciBodG1sIHRvIHNob3cuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCdjcHNUb29sdGlwJykgdG9vbHRpcCE6IHN0cmluZztcblxuICAvKipcbiAgICogRGVsYXkgdG8gc2hvdyB0aGUgdG9vbHRpcCBpbiBtaWxsaXNlY29uZHMsIGl0IGNhbiBiZSBvZiB0eXBlIHN0cmluZyBvciBudW1iZXIuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcE9wZW5EZWxheTogc3RyaW5nIHwgbnVtYmVyID0gMzAwO1xuXG4gIC8qKlxuICAgKiBEZWxheSB0byBoaWRlIHRoZSB0b29sdGlwIGluIG1pbGxpc2Vjb25kcywgaXQgY2FuIGJlIG9mIHR5cGUgc3RyaW5nIG9yIG51bWJlci5cbiAgICogQGdyb3VwIFByb3BzXG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwQ2xvc2VEZWxheTogc3RyaW5nIHwgbnVtYmVyID0gMzAwO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHRvb2x0aXAgc2hvdWxkIG9wZW4gb24gaG92ZXIsIGNsaWNrIG9yIGZvY3VzLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIHRvb2x0aXBPcGVuT246IENwc1Rvb2x0aXBPcGVuT24gPSAnaG92ZXInO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCwgaXQgY2FuIGJlICd0b3AnLCAnYm90dG9tJywgJ2xlZnQnIG9yICdyaWdodCcuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcFBvc2l0aW9uOiBDcHNUb29sdGlwUG9zaXRpb24gPSAndG9wJztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB0b29sdGlwIGlzIHBlcnNpc3RlbnQuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcFBlcnNpc3RlbnQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hlbiBwcmVzZW50LCBpdCBzcGVjaWZpZXMgdGhhdCB0aGUgdG9vbHRpcCBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcERpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE1heCB3aWR0aCBvZiB0aGUgdG9vbHRpcCBvZiB0eXBlIG51bWJlciBkZW5vdGluZyBwaXhlbHMgb3Igc3RyaW5nLlxuICAgKiBAZ3JvdXAgUHJvcHNcbiAgICovXG4gIEBJbnB1dCgpIHRvb2x0aXBNYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nID0gJzEwMCUnO1xuXG4gIC8qKlxuICAgKiBUb29sdGlwIGNvbnRlbnQgY2xhc3MgZm9yIHN0eWxpbmcuXG4gICAqIEBncm91cCBQcm9wc1xuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcENvbnRlbnRDbGFzcyA9ICdjcHMtdG9vbHRpcC1jb250ZW50JztcblxuICBwcml2YXRlIF9wb3B1cD86IEhUTUxEaXZFbGVtZW50O1xuICBwcml2YXRlIF9zaG93VGltZW91dD86IGFueTtcbiAgcHJpdmF0ZSBfaGlkZVRpbWVvdXQ/OiBhbnk7XG5cbiAgcHJpdmF0ZSB3aW5kb3c6IFdpbmRvdztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudFxuICApIHtcbiAgICB0aGlzLndpbmRvdyA9IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcgYXMgV2luZG93O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveVRvb2x0aXAoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVRvb2x0aXAgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuX3BvcHVwKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy50b29sdGlwRGlzYWJsZWQpIHJldHVybjtcblxuICAgIHRoaXMuX3BvcHVwID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLl9jb25zdHJ1Y3RFbGVtZW50KHRoaXMuX3BvcHVwKTtcblxuICAgIGlmICh0aGlzLnRvb2x0aXBQZXJzaXN0ZW50KVxuICAgICAgdGhpcy5fcG9wdXAuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9kZXN0cm95VG9vbHRpcCk7XG5cbiAgICB0aGlzLndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLl9kZXN0cm95VG9vbHRpcCwgdHJ1ZSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfZGVzdHJveVRvb2x0aXAgPSAoZXZlbnQ6IGFueSA9IHVuZGVmaW5lZCkgPT4ge1xuICAgIGNvbnN0IHJlbW92ZUZyb21ET00gPSAoKSA9PiB7XG4gICAgICB0aGlzLl9wb3B1cD8ucmVtb3ZlKCk7XG4gICAgICB0aGlzLl9wb3B1cCA9IHVuZGVmaW5lZDtcbiAgICB9O1xuXG4gICAgdGhpcy53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5fZGVzdHJveVRvb2x0aXAsIHRydWUpO1xuICAgIGlmICghdGhpcy5fcG9wdXApIHJldHVybjtcblxuICAgIHRoaXMuX3BvcHVwLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fZGVzdHJveVRvb2x0aXApO1xuXG4gICAgY29uc3Qgbm9BbmltYXRpb24gPSBbJ3Njcm9sbCcsICdyZXNpemUnXS5pbmNsdWRlcyhldmVudD8udHlwZSk7XG5cbiAgICBpZiAobm9BbmltYXRpb24pIHtcbiAgICAgIHJlbW92ZUZyb21ET00oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcG9wdXA6IEhUTUxEaXZFbGVtZW50ID0gdGhpcy5fcG9wdXA7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgICBwb3B1cC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xuICAgICAgfSk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICByZW1vdmVGcm9tRE9NKCk7XG4gICAgICB9LCAyMDApO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9jb25zdHJ1Y3RFbGVtZW50KHBvcHVwOiBIVE1MRGl2RWxlbWVudCkge1xuICAgIGNvbnN0IHBvcHVwQ29udGVudCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgcG9wdXBDb250ZW50LmlubmVySFRNTCA9IHRoaXMudG9vbHRpcCB8fCAnQWRkIHlvdXIgdGV4dCB0byB0aGlzIHRvb2x0aXAnO1xuICAgIHBvcHVwQ29udGVudC5jbGFzc0xpc3QuYWRkKHRoaXMudG9vbHRpcENvbnRlbnRDbGFzcyk7XG4gICAgcG9wdXAuYXBwZW5kQ2hpbGQocG9wdXBDb250ZW50KTtcblxuICAgIHBvcHVwLmNsYXNzTGlzdC5hZGQoJ2Nwcy10b29sdGlwJyk7XG4gICAgcG9wdXAuc3R5bGUubWF4V2lkdGggPSBjb252ZXJ0U2l6ZSh0aGlzLnRvb2x0aXBNYXhXaWR0aCk7XG5cbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocG9wdXApO1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICBwb3B1cC5zdHlsZS5vcGFjaXR5ID0gJzEnO1xuICAgIH0pO1xuXG4gICAgY29uc3QgY29vcmRzID0gdGhpcy5fZ2V0Q29vcmRzKCk7XG4gICAgaWYgKCFjb29yZHMpIHtcbiAgICAgIHRoaXMuX2Rlc3Ryb3lUb29sdGlwKCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBlbm91Z2ggc3BhY2Ugb24gdGhlIHNjcmVlbiBmb3IgdGhlIHRvb2x0aXAhJyk7XG4gICAgfVxuXG4gICAgcG9wdXAuc3R5bGUubGVmdCA9IGNvb3Jkcy5sZWZ0LnRvU3RyaW5nKCkgKyAncHgnO1xuICAgIHBvcHVwLnN0eWxlLnRvcCA9IGNvb3Jkcy50b3AudG9TdHJpbmcoKSArICdweCc7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDb29yZHMoKTogeyBsZWZ0OiBudW1iZXI7IHRvcDogbnVtYmVyIH0gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlzSW5zaWRlU2NyZWVuID0gKGNvb3JkczogeyBsZWZ0OiBudW1iZXI7IHRvcDogbnVtYmVyIH0pOiBib29sZWFuID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGNvb3Jkcy50b3AgPj0gMCAmJlxuICAgICAgICBjb29yZHMubGVmdCA+PSAwICYmXG4gICAgICAgIGNvb3Jkcy5sZWZ0ICsgcG9wdXBSZWN0LndpZHRoIDw9IHRoaXMud2luZG93LmlubmVyV2lkdGggJiZcbiAgICAgICAgY29vcmRzLnRvcCArIHBvcHVwUmVjdC5oZWlnaHQgPD0gdGhpcy53aW5kb3cuaW5uZXJIZWlnaHRcbiAgICAgICk7XG4gICAgfTtcblxuICAgIGxldCBwb3NpdGlvbnM6IENwc1Rvb2x0aXBQb3NpdGlvbltdID0gWyd0b3AnLCAnYm90dG9tJywgJ2xlZnQnLCAncmlnaHQnXTtcbiAgICBwb3NpdGlvbnMgPSBwb3NpdGlvbnMuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSB0aGlzLnRvb2x0aXBQb3NpdGlvbik7XG4gICAgcG9zaXRpb25zLnVuc2hpZnQodGhpcy50b29sdGlwUG9zaXRpb24pO1xuXG4gICAgY29uc3QgdGFyZ2V0RWwgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgdGFyZ2V0RWxSZWN0ID0gdGFyZ2V0RWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgcG9wdXBSZWN0ID0gKHRoaXMuX3BvcHVwIGFzIEhUTUxEaXZFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGZvciAoY29uc3QgcG9zIG9mIHBvc2l0aW9ucykge1xuICAgICAgY29uc3QgY29vcmRzID0gdGhpcy5fZ2V0Q29vcmRzRm9yUG9zaXRpb24oXG4gICAgICAgIHBvcyBhcyBDcHNUb29sdGlwUG9zaXRpb24sXG4gICAgICAgIHRhcmdldEVsLFxuICAgICAgICB0YXJnZXRFbFJlY3QsXG4gICAgICAgIHBvcHVwUmVjdFxuICAgICAgKTtcblxuICAgICAgaWYgKGlzSW5zaWRlU2NyZWVuKGNvb3JkcykpIHtcbiAgICAgICAgcmV0dXJuIGNvb3JkcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29vcmRzRm9yUG9zaXRpb24oXG4gICAgcG9zaXRpb246IENwc1Rvb2x0aXBQb3NpdGlvbixcbiAgICB0YXJnZXRFbDogSFRNTEVsZW1lbnQsXG4gICAgdGFyZ2V0RWxSZWN0OiBET01SZWN0LFxuICAgIHBvcHVwUmVjdDogRE9NUmVjdFxuICApOiB7XG4gICAgbGVmdDogbnVtYmVyO1xuICAgIHRvcDogbnVtYmVyO1xuICB9IHtcbiAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XG4gICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxlZnQ6XG4gICAgICAgICAgICB0YXJnZXRFbFJlY3QubGVmdCArXG4gICAgICAgICAgICB0aGlzLndpbmRvdy5zY3JvbGxYICtcbiAgICAgICAgICAgICh0YXJnZXRFbC5vZmZzZXRXaWR0aCAtIHBvcHVwUmVjdC53aWR0aCkgLyAyLFxuICAgICAgICAgIHRvcDogdGFyZ2V0RWxSZWN0LmJvdHRvbSArIHRoaXMud2luZG93LnNjcm9sbFkgKyA4XG4gICAgICAgIH07XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsZWZ0OiB0YXJnZXRFbFJlY3QubGVmdCAtIHRoaXMud2luZG93LnNjcm9sbFggLSBwb3B1cFJlY3Qud2lkdGggLSA4LFxuICAgICAgICAgIHRvcDpcbiAgICAgICAgICAgIHRhcmdldEVsUmVjdC50b3AgK1xuICAgICAgICAgICAgdGhpcy53aW5kb3cuc2Nyb2xsWSArXG4gICAgICAgICAgICAodGFyZ2V0RWwub2Zmc2V0SGVpZ2h0IC0gcG9wdXBSZWN0LmhlaWdodCkgLyAyXG4gICAgICAgIH07XG4gICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbGVmdDogdGFyZ2V0RWxSZWN0LnJpZ2h0ICsgdGhpcy53aW5kb3cuc2Nyb2xsWCArIDgsXG4gICAgICAgICAgdG9wOlxuICAgICAgICAgICAgdGFyZ2V0RWxSZWN0LnRvcCArXG4gICAgICAgICAgICB0aGlzLndpbmRvdy5zY3JvbGxZICtcbiAgICAgICAgICAgICh0YXJnZXRFbC5vZmZzZXRIZWlnaHQgLSBwb3B1cFJlY3QuaGVpZ2h0KSAvIDJcbiAgICAgICAgfTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbGVmdDpcbiAgICAgICAgICAgIHRhcmdldEVsUmVjdC5sZWZ0ICtcbiAgICAgICAgICAgIHRoaXMud2luZG93LnNjcm9sbFggK1xuICAgICAgICAgICAgKHRhcmdldEVsLm9mZnNldFdpZHRoIC0gcG9wdXBSZWN0LndpZHRoKSAvIDIsXG4gICAgICAgICAgdG9wOiB0YXJnZXRFbFJlY3QudG9wICsgdGhpcy53aW5kb3cuc2Nyb2xsWSAtIHBvcHVwUmVjdC5oZWlnaHQgLSA4XG4gICAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpIG9uTW91c2VFbnRlcigpIHtcbiAgICBpZiAodGhpcy50b29sdGlwT3Blbk9uID09PSAnaG92ZXInKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5faGlkZVRpbWVvdXQpO1xuXG4gICAgICB0aGlzLl9zaG93VGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAgIHRoaXMuX2NyZWF0ZVRvb2x0aXAsXG4gICAgICAgIHRoaXMudG9vbHRpcE9wZW5EZWxheSBhcyBudW1iZXJcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpIG9uTW91c2VMZWF2ZSgpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fc2hvd1RpbWVvdXQpO1xuXG4gICAgaWYgKCF0aGlzLnRvb2x0aXBQZXJzaXN0ZW50KSB7XG4gICAgICB0aGlzLl9oaWRlVGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lUb29sdGlwLFxuICAgICAgICB0aGlzLnRvb2x0aXBDbG9zZURlbGF5IGFzIG51bWJlclxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1cycpIG9uRm9jdXMoKSB7XG4gICAgaWYgKHRoaXMudG9vbHRpcE9wZW5PbiA9PT0gJ2ZvY3VzJykge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2hpZGVUaW1lb3V0KTtcblxuICAgICAgdGhpcy5fc2hvd1RpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICB0aGlzLl9jcmVhdGVUb29sdGlwLFxuICAgICAgICB0aGlzLnRvb2x0aXBPcGVuRGVsYXkgYXMgbnVtYmVyXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKSBvbkJsdXIoKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Nob3dUaW1lb3V0KTtcbiAgICBpZiAoIXRoaXMudG9vbHRpcFBlcnNpc3RlbnQgJiYgdGhpcy50b29sdGlwT3Blbk9uID09PSAnZm9jdXMnKSB7XG4gICAgICB0aGlzLl9oaWRlVGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lUb29sdGlwLFxuICAgICAgICB0aGlzLnRvb2x0aXBDbG9zZURlbGF5IGFzIG51bWJlclxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpIG9uQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMudG9vbHRpcE9wZW5PbiA9PT0gJ2NsaWNrJykge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2hpZGVUaW1lb3V0KTtcblxuICAgICAgdGhpcy5fc2hvd1RpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMuX2NyZWF0ZVRvb2x0aXAsIDApO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIG9uRG9jdW1lbnRDbGljayh0YXJnZXQ6IGFueSkge1xuICAgIGlmICh0aGlzLnRvb2x0aXBQZXJzaXN0ZW50ICYmIHRoaXMuX3BvcHVwKSB7XG4gICAgICBpZiAoIXRhcmdldD8uaXNDb25uZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IHRoaXMuX2VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmNvbnRhaW5zKHRhcmdldCk7XG4gICAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveVRvb2x0aXAoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSkgb25QYWdlUmVzaXplKGV2ZW50OiBFdmVudCkge1xuICAgIGlmICh0aGlzLl9wb3B1cCkgdGhpcy5fZGVzdHJveVRvb2x0aXAoZXZlbnQpO1xuICB9XG59XG4iXX0=
@@ -1,14 +1,14 @@
1
- const isSameDomain = (styleSheet) => {
1
+ const isSameDomain = (styleSheet, _window) => {
2
2
  if (!styleSheet.href) {
3
3
  return true;
4
4
  }
5
- return styleSheet.href.indexOf(window.location.origin) === 0;
5
+ return styleSheet.href.indexOf(_window.location.origin) === 0;
6
6
  };
7
7
  const isStyleRule = (rule) => rule.type === 1;
8
- const isValidCSSColor = (val) => {
8
+ const isValidCSSColor = (val, _document) => {
9
9
  if (val === 'currentColor')
10
10
  return true;
11
- const element = document.createElement('div');
11
+ const element = _document.createElement('div');
12
12
  element.style.backgroundColor = val;
13
13
  return element && element.style.backgroundColor !== '';
14
14
  };
@@ -32,7 +32,9 @@ const isDark = (color) => {
32
32
  // Using the HSP value, determine whether the color is light or dark
33
33
  return hsp <= 127.5;
34
34
  };
35
- export const getCpsColors = () => [...document.styleSheets].filter(isSameDomain).reduce((finalArr, sheet) => finalArr.concat([...sheet.cssRules].filter(isStyleRule).reduce((propValArr, rule) => {
35
+ export const getCpsColors = (_document) => [..._document.styleSheets]
36
+ .filter((sheet) => isSameDomain(sheet, _document.defaultView))
37
+ .reduce((finalArr, sheet) => finalArr.concat([...sheet.cssRules].filter(isStyleRule).reduce((propValArr, rule) => {
36
38
  const props = [...rule.style]
37
39
  .map((propName) => [
38
40
  propName.trim(),
@@ -41,10 +43,10 @@ export const getCpsColors = () => [...document.styleSheets].filter(isSameDomain)
41
43
  .filter(([propName]) => propName.indexOf('--cps-color') === 0);
42
44
  return [...propValArr, ...props];
43
45
  }, [])), []);
44
- export const getCSSColor = (val) => {
46
+ export const getCSSColor = (val, _document) => {
45
47
  if (!val)
46
48
  return '';
47
- return isValidCSSColor(val) ? val : `var(--cps-color-${val})`;
49
+ return isValidCSSColor(val, _document) ? val : `var(--cps-color-${val})`;
48
50
  };
49
51
  export const getTextColor = (backgroundColor) => {
50
52
  if (isDark(backgroundColor)) {
@@ -54,4 +56,4 @@ export const getTextColor = (backgroundColor) => {
54
56
  return '#000000';
55
57
  }
56
58
  };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL3V0aWxzL2NvbG9ycy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFlBQVksR0FBRyxDQUFDLFVBQWUsRUFBVyxFQUFFO0lBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRyxDQUFDLElBQVMsRUFBVyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7QUFFNUQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFXLEVBQVcsRUFBRTtJQUMvQyxJQUFJLEdBQUcsS0FBSyxjQUFjO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDeEMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUM7SUFDcEMsT0FBTyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEtBQUssRUFBRSxDQUFDO0FBQ3pELENBQUMsQ0FBQztBQUVGLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBYSxFQUFXLEVBQUU7SUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDeEIsTUFB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IGFueSk6IGJvb2xlYW4gPT4ge1xuICBpZiAoIXN0eWxlU2hlZXQuaHJlZikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHN0eWxlU2hlZXQuaHJlZi5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pID09PSAwO1xufTtcblxuY29uc3QgaXNTdHlsZVJ1bGUgPSAocnVsZTogYW55KTogYm9vbGVhbiA9PiBydWxlLnR5cGUgPT09IDE7XG5cbmNvbnN0IGlzVmFsaWRDU1NDb2xvciA9ICh2YWw6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBpZiAodmFsID09PSAnY3VycmVudENvbG9yJykgcmV0dXJuIHRydWU7XG4gIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSB2YWw7XG4gIHJldHVybiBlbGVtZW50ICYmIGVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yICE9PSAnJztcbn07XG5cbmNvbnN0IGlzRGFyayA9IChjb2xvcjogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGxldCByID0gMDtcbiAgbGV0IGcgPSAwO1xuICBsZXQgYiA9IDA7XG4gIGlmIChjb2xvci5tYXRjaCgvXnJnYi8pKSB7XG4gICAgY29uc3QgY29sb3JNYXRjaGVkID0gY29sb3IubWF0Y2goXG4gICAgICAvXnJnYmE/XFwoKFxcZCspLFxccyooXFxkKyksXFxzKihcXGQrKSg/OixcXHMqKFxcZCsoPzpcXC5cXGQrKT8pKT9cXCkkL1xuICAgICkgYXMgYW55O1xuICAgIHIgPSBjb2xvck1hdGNoZWRbMV07XG4gICAgZyA9IGNvbG9yTWF0Y2hlZFsyXTtcbiAgICBiID0gY29sb3JNYXRjaGVkWzNdO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGNvbG9yTnVtID0gKyhcbiAgICAgICcweCcgKyBjb2xvci5zbGljZSgxKS5yZXBsYWNlKGNvbG9yLmxlbmd0aCA8IDUgJiYgKC8uL2cgYXMgYW55KSwgJyQmJCYnKVxuICAgICk7XG5cbiAgICByID0gY29sb3JOdW0gPj4gMTY7XG4gICAgZyA9IChjb2xvck51bSA+PiA4KSAmIDI1NTtcbiAgICBiID0gY29sb3JOdW0gJiAyNTU7XG4gIH1cblxuICBjb25zdCBoc3AgPSBNYXRoLnNxcnQoMC4yOTkgKiAociAqIHIpICsgMC41ODcgKiAoZyAqIGcpICsgMC4xMTQgKiAoYiAqIGIpKTtcblxuICAvLyBVc2luZyB0aGUgSFNQIHZhbHVlLCBkZXRlcm1pbmUgd2hldGhlciB0aGUgY29sb3IgaXMgbGlnaHQgb3IgZGFya1xuICByZXR1cm4gaHNwIDw9IDEyNy41O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENwc0NvbG9ycyA9ICgpOiBbc3RyaW5nLCBzdHJpbmddW10gPT5cbiAgWy4uLihkb2N1bWVudC5zdHlsZVNoZWV0cyBhcyBhbnkpXS5maWx0ZXIoaXNTYW1lRG9tYWluKS5yZWR1Y2UoXG4gICAgKGZpbmFsQXJyLCBzaGVldCkgPT5cbiAgICAgIGZpbmFsQXJyLmNvbmNhdChcbiAgICAgICAgWy4uLnNoZWV0LmNzc1J1bGVzXS5maWx0ZXIoaXNTdHlsZVJ1bGUpLnJlZHVjZSgocHJvcFZhbEFyciwgcnVsZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHByb3BzID0gWy4uLnJ1bGUuc3R5bGVdXG4gICAgICAgICAgICAubWFwKChwcm9wTmFtZSkgPT4gW1xuICAgICAgICAgICAgICBwcm9wTmFtZS50cmltKCksXG4gICAgICAgICAgICAgIHJ1bGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShwcm9wTmFtZSkudHJpbSgpXG4gICAgICAgICAgICBdKVxuICAgICAgICAgICAgLmZpbHRlcigoW3Byb3BOYW1lXSkgPT4gcHJvcE5hbWUuaW5kZXhPZignLS1jcHMtY29sb3InKSA9PT0gMCk7XG5cbiAgICAgICAgICByZXR1cm4gWy4uLnByb3BWYWxBcnIsIC4uLnByb3BzXTtcbiAgICAgICAgfSwgW10pXG4gICAgICApLFxuICAgIFtdXG4gICk7XG5cbmV4cG9ydCBjb25zdCBnZXRDU1NDb2xvciA9ICh2YWw6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGlmICghdmFsKSByZXR1cm4gJyc7XG4gIHJldHVybiBpc1ZhbGlkQ1NTQ29sb3IodmFsKSA/IHZhbCA6IGB2YXIoLS1jcHMtY29sb3ItJHt2YWx9KWA7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VGV4dENvbG9yID0gKGJhY2tncm91bmRDb2xvcjogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgaWYgKGlzRGFyayhiYWNrZ3JvdW5kQ29sb3IpKSB7XG4gICAgcmV0dXJuICcjRkZGRkZGJztcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gJyMwMDAwMDAnO1xuICB9XG59O1xuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL3V0aWxzL2NvbG9ycy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFlBQVksR0FBRyxDQUFDLFVBQWUsRUFBRSxPQUFlLEVBQVcsRUFBRTtJQUNqRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFTLEVBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDO0FBRTVELE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBVyxFQUFFLFNBQW1CLEVBQVcsRUFBRTtJQUNwRSxJQUFJLEdBQUcsS0FBSyxjQUFjO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDeEMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUM7SUFDcEMsT0FBTyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEtBQUssRUFBRSxDQUFDO0FBQ3pELENBQUMsQ0FBQztBQUVGLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBYSxFQUFXLEVBQUU7SUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FB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QixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBpc1NhbWVEb21haW4gPSAoc3R5bGVTaGVldDogYW55LCBfd2luZG93OiBXaW5kb3cpOiBib29sZWFuID0+IHtcbiAgaWYgKCFzdHlsZVNoZWV0LmhyZWYpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBzdHlsZVNoZWV0LmhyZWYuaW5kZXhPZihfd2luZG93LmxvY2F0aW9uLm9yaWdpbikgPT09IDA7XG59O1xuXG5jb25zdCBpc1N0eWxlUnVsZSA9IChydWxlOiBhbnkpOiBib29sZWFuID0+IHJ1bGUudHlwZSA9PT0gMTtcblxuY29uc3QgaXNWYWxpZENTU0NvbG9yID0gKHZhbDogc3RyaW5nLCBfZG9jdW1lbnQ6IERvY3VtZW50KTogYm9vbGVhbiA9PiB7XG4gIGlmICh2YWwgPT09ICdjdXJyZW50Q29sb3InKSByZXR1cm4gdHJ1ZTtcbiAgY29uc3QgZWxlbWVudCA9IF9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSB2YWw7XG4gIHJldHVybiBlbGVtZW50ICYmIGVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yICE9PSAnJztcbn07XG5cbmNvbnN0IGlzRGFyayA9IChjb2xvcjogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGxldCByID0gMDtcbiAgbGV0IGcgPSAwO1xuICBsZXQgYiA9IDA7XG4gIGlmIChjb2xvci5tYXRjaCgvXnJnYi8pKSB7XG4gICAgY29uc3QgY29sb3JNYXRjaGVkID0gY29sb3IubWF0Y2goXG4gICAgICAvXnJnYmE/XFwoKFxcZCspLFxccyooXFxkKyksXFxzKihcXGQrKSg/OixcXHMqKFxcZCsoPzpcXC5cXGQrKT8pKT9cXCkkL1xuICAgICkgYXMgYW55O1xuICAgIHIgPSBjb2xvck1hdGNoZWRbMV07XG4gICAgZyA9IGNvbG9yTWF0Y2hlZFsyXTtcbiAgICBiID0gY29sb3JNYXRjaGVkWzNdO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGNvbG9yTnVtID0gKyhcbiAgICAgICcweCcgKyBjb2xvci5zbGljZSgxKS5yZXBsYWNlKGNvbG9yLmxlbmd0aCA8IDUgJiYgKC8uL2cgYXMgYW55KSwgJyQmJCYnKVxuICAgICk7XG5cbiAgICByID0gY29sb3JOdW0gPj4gMTY7XG4gICAgZyA9IChjb2xvck51bSA+PiA4KSAmIDI1NTtcbiAgICBiID0gY29sb3JOdW0gJiAyNTU7XG4gIH1cblxuICBjb25zdCBoc3AgPSBNYXRoLnNxcnQoMC4yOTkgKiAociAqIHIpICsgMC41ODcgKiAoZyAqIGcpICsgMC4xMTQgKiAoYiAqIGIpKTtcblxuICAvLyBVc2luZyB0aGUgSFNQIHZhbHVlLCBkZXRlcm1pbmUgd2hldGhlciB0aGUgY29sb3IgaXMgbGlnaHQgb3IgZGFya1xuICByZXR1cm4gaHNwIDw9IDEyNy41O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENwc0NvbG9ycyA9IChfZG9jdW1lbnQ6IERvY3VtZW50KTogW3N0cmluZywgc3RyaW5nXVtdID0+XG4gIFsuLi4oX2RvY3VtZW50LnN0eWxlU2hlZXRzIGFzIGFueSldXG4gICAgLmZpbHRlcigoc2hlZXQ6IGFueSkgPT5cbiAgICAgIGlzU2FtZURvbWFpbihzaGVldCwgX2RvY3VtZW50LmRlZmF1bHRWaWV3IGFzIFdpbmRvdylcbiAgICApXG4gICAgLnJlZHVjZShcbiAgICAgIChmaW5hbEFyciwgc2hlZXQpID0+XG4gICAgICAgIGZpbmFsQXJyLmNvbmNhdChcbiAgICAgICAgICBbLi4uc2hlZXQuY3NzUnVsZXNdLmZpbHRlcihpc1N0eWxlUnVsZSkucmVkdWNlKChwcm9wVmFsQXJyLCBydWxlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wcyA9IFsuLi5ydWxlLnN0eWxlXVxuICAgICAgICAgICAgICAubWFwKChwcm9wTmFtZSkgPT4gW1xuICAgICAgICAgICAgICAgIHByb3BOYW1lLnRyaW0oKSxcbiAgICAgICAgICAgICAgICBydWxlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUocHJvcE5hbWUpLnRyaW0oKVxuICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAuZmlsdGVyKChbcHJvcE5hbWVdKSA9PiBwcm9wTmFtZS5pbmRleE9mKCctLWNwcy1jb2xvcicpID09PSAwKTtcblxuICAgICAgICAgICAgcmV0dXJuIFsuLi5wcm9wVmFsQXJyLCAuLi5wcm9wc107XG4gICAgICAgICAgfSwgW10pXG4gICAgICAgICksXG4gICAgICBbXVxuICAgICk7XG5cbmV4cG9ydCBjb25zdCBnZXRDU1NDb2xvciA9ICh2YWw6IHN0cmluZywgX2RvY3VtZW50OiBEb2N1bWVudCk6IHN0cmluZyA9PiB7XG4gIGlmICghdmFsKSByZXR1cm4gJyc7XG4gIHJldHVybiBpc1ZhbGlkQ1NTQ29sb3IodmFsLCBfZG9jdW1lbnQpID8gdmFsIDogYHZhcigtLWNwcy1jb2xvci0ke3ZhbH0pYDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUZXh0Q29sb3IgPSAoYmFja2dyb3VuZENvbG9yOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZiAoaXNEYXJrKGJhY2tncm91bmRDb2xvcikpIHtcbiAgICByZXR1cm4gJyNGRkZGRkYnO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiAnIzAwMDAwMCc7XG4gIH1cbn07XG4iXX0=
@@ -18,6 +18,7 @@ export * from './lib/components/cps-table/directives/cps-table-column-filter.dir
18
18
  export * from './lib/components/cps-table/directives/cps-table-header-selectable.directive';
19
19
  export * from './lib/components/cps-table/directives/cps-table-row-selectable.directive';
20
20
  export * from './lib/components/cps-table/cps-column-filter-types';
21
+ export * from './lib/components/cps-table/pipes/cps-detect-filter-type.pipe';
21
22
  export * from './lib/components/cps-tree-table/cps-tree-table.component';
22
23
  export * from './lib/components/cps-tree-table/directives/cps-tree-table-column-sortable.directive';
23
24
  export * from './lib/components/cps-tree-table/directives/cps-tree-table-column-filter.directive';
@@ -51,4 +52,4 @@ export * from './lib/services/cps-dialog/utils/cps-dialog-ref';
51
52
  export * from './lib/services/cps-notification/cps-notification.service';
52
53
  export * from './lib/services/cps-notification/utils/cps-notification-config';
53
54
  export * from './lib/utils/colors-utils';
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyx3RUFBd0UsQ0FBQztBQUN2RixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMseUVBQXlFLENBQUM7QUFDeEYsY0FBYyw2RUFBNkUsQ0FBQztBQUM1RixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHFGQUFxRixDQUFDO0FBQ3BHLGNBQWMsbUZBQW1GLENBQUM7QUFDbEcsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLHVGQUF1RixDQUFDO0FBQ3RHLGNBQWMsb0ZBQW9GLENBQUM7QUFDbkcsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLG9EQUFvRCxDQUFDO0FBRW5FLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsZ0RBQWdELENBQUM7QUFFL0QsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLCtEQUErRCxDQUFDO0FBRTlFLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNwcy11aS1raXRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1pY29uL2Nwcy1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1pbnB1dC9jcHMtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXNlbGVjdC9jcHMtc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXNlbGVjdC9jcHMtdHJlZS1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWF1dG9jb21wbGV0ZS9jcHMtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLWF1dG9jb21wbGV0ZS9jcHMtdHJlZS1hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWluZm8tY2lyY2xlL2Nwcy1pbmZvLWNpcmNsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtYnV0dG9uL2Nwcy1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWNoZWNrYm94L2Nwcy1jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtcmFkaW8tZ3JvdXAvY3BzLXJhZGlvL2Nwcy1yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtcmFkaW8tZ3JvdXAvY3BzLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10YWJsZS9jcHMtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRhYmxlLWNvbHVtbi1zb3J0YWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFibGUvZGlyZWN0aXZlcy9jcHMtdGFibGUtY29sdW1uLWZpbHRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFibGUvZGlyZWN0aXZlcy9jcHMtdGFibGUtaGVhZGVyLXNlbGVjdGFibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRhYmxlLXJvdy1zZWxlY3RhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10YWJsZS9jcHMtY29sdW1uLWZpbHRlci10eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXRhYmxlL2Nwcy10cmVlLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRyZWUtdGFibGUtY29sdW1uLXNvcnRhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRyZWUtdGFibGUtY29sdW1uLWZpbHRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdHJlZS10YWJsZS9kaXJlY3RpdmVzL2Nwcy10cmVlLXRhYmxlLXJvdy10b2dnbGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRyZWUtdGFibGUtaGVhZGVyLXNlbGVjdGFibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRyZWUtdGFibGUvZGlyZWN0aXZlcy9jcHMtdHJlZS10YWJsZS1yb3ctc2VsZWN0YWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFnL2Nwcy10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWNoaXAvY3BzLWNoaXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLW1lbnUvY3BzLW1lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXBhZ2luYXRvci9jcHMtcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1wYWdpbmF0b3IvcGlwZXMvY3BzLXBhZ2luYXRlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtbG9hZGVyL2Nwcy1sb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWV4cGFuc2lvbi1wYW5lbC9jcHMtZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1wcm9ncmVzcy1jaXJjdWxhci9jcHMtcHJvZ3Jlc3MtY2lyY3VsYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXByb2dyZXNzLWxpbmVhci9jcHMtcHJvZ3Jlc3MtbGluZWFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1kYXRlcGlja2VyL2Nwcy1kYXRlcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1zaWRlYmFyLW1lbnUvY3BzLXNpZGViYXItbWVudS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGV4dGFyZWEvY3BzLXRleHRhcmVhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1idXR0b24tdG9nZ2xlL2Nwcy1idXR0b24tdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10YWItZ3JvdXAvY3BzLXRhYi1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFiLWdyb3VwL2Nwcy10YWIvY3BzLXRhYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGltZXBpY2tlci9jcHMtdGltZXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtZmlsZS11cGxvYWQvY3BzLWZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1zY2hlZHVsZXIvY3BzLXNjaGVkdWxlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtc3dpdGNoL2Nwcy1zd2l0Y2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWRpdmlkZXIvY3BzLWRpdmlkZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jcHMtdG9vbHRpcC9jcHMtdG9vbHRpcC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcHMtZGlhbG9nL2Nwcy1kaWFsb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcHMtZGlhbG9nL3V0aWxzL2Nwcy1kaWFsb2ctY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Nwcy1kaWFsb2cvdXRpbHMvY3BzLWRpYWxvZy1yZWYnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcHMtbm90aWZpY2F0aW9uL2Nwcy1ub3RpZmljYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcHMtbm90aWZpY2F0aW9uL3V0aWxzL2Nwcy1ub3RpZmljYXRpb24tY29uZmlnJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvY29sb3JzLXV0aWxzJztcbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nwcy11aS1raXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyx3RUFBd0UsQ0FBQztBQUN2RixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMseUVBQXlFLENBQUM7QUFDeEYsY0FBYyw2RUFBNkUsQ0FBQztBQUM1RixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMscUZBQXFGLENBQUM7QUFDcEcsY0FBYyxtRkFBbUYsQ0FBQztBQUNsRyxjQUFjLGlGQUFpRixDQUFDO0FBQ2hHLGNBQWMsdUZBQXVGLENBQUM7QUFDdEcsY0FBYyxvRkFBb0YsQ0FBQztBQUNuRyxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsY0FBYyxvREFBb0QsQ0FBQztBQUVuRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxnREFBZ0QsQ0FBQztBQUUvRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsK0RBQStELENBQUM7QUFFOUUsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY3BzLXVpLWtpdFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWljb24vY3BzLWljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWlucHV0L2Nwcy1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtc2VsZWN0L2Nwcy1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRyZWUtc2VsZWN0L2Nwcy10cmVlLXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtYXV0b2NvbXBsZXRlL2Nwcy1hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRyZWUtYXV0b2NvbXBsZXRlL2Nwcy10cmVlLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtaW5mby1jaXJjbGUvY3BzLWluZm8tY2lyY2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1idXR0b24vY3BzLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtY2hlY2tib3gvY3BzLWNoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1yYWRpby1ncm91cC9jcHMtcmFkaW8vY3BzLXJhZGlvLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1yYWRpby1ncm91cC9jcHMtcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRhYmxlL2Nwcy10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFibGUvZGlyZWN0aXZlcy9jcHMtdGFibGUtY29sdW1uLXNvcnRhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10YWJsZS9kaXJlY3RpdmVzL2Nwcy10YWJsZS1jb2x1bW4tZmlsdGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10YWJsZS9kaXJlY3RpdmVzL2Nwcy10YWJsZS1oZWFkZXItc2VsZWN0YWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFibGUvZGlyZWN0aXZlcy9jcHMtdGFibGUtcm93LXNlbGVjdGFibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRhYmxlL2Nwcy1jb2x1bW4tZmlsdGVyLXR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRhYmxlL3BpcGVzL2Nwcy1kZXRlY3QtZmlsdGVyLXR5cGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXRhYmxlL2Nwcy10cmVlLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRyZWUtdGFibGUtY29sdW1uLXNvcnRhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRyZWUtdGFibGUtY29sdW1uLWZpbHRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdHJlZS10YWJsZS9kaXJlY3RpdmVzL2Nwcy10cmVlLXRhYmxlLXJvdy10b2dnbGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10cmVlLXRhYmxlL2RpcmVjdGl2ZXMvY3BzLXRyZWUtdGFibGUtaGVhZGVyLXNlbGVjdGFibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXRyZWUtdGFibGUvZGlyZWN0aXZlcy9jcHMtdHJlZS10YWJsZS1yb3ctc2VsZWN0YWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFnL2Nwcy10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWNoaXAvY3BzLWNoaXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLW1lbnUvY3BzLW1lbnUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXBhZ2luYXRvci9jcHMtcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1wYWdpbmF0b3IvcGlwZXMvY3BzLXBhZ2luYXRlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtbG9hZGVyL2Nwcy1sb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWV4cGFuc2lvbi1wYW5lbC9jcHMtZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1wcm9ncmVzcy1jaXJjdWxhci9jcHMtcHJvZ3Jlc3MtY2lyY3VsYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLXByb2dyZXNzLWxpbmVhci9jcHMtcHJvZ3Jlc3MtbGluZWFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1kYXRlcGlja2VyL2Nwcy1kYXRlcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1zaWRlYmFyLW1lbnUvY3BzLXNpZGViYXItbWVudS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGV4dGFyZWEvY3BzLXRleHRhcmVhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1idXR0b24tdG9nZ2xlL2Nwcy1idXR0b24tdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy10YWItZ3JvdXAvY3BzLXRhYi1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGFiLWdyb3VwL2Nwcy10YWIvY3BzLXRhYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtdGltZXBpY2tlci9jcHMtdGltZXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtZmlsZS11cGxvYWQvY3BzLWZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nwcy1zY2hlZHVsZXIvY3BzLXNjaGVkdWxlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jcHMtc3dpdGNoL2Nwcy1zd2l0Y2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3BzLWRpdmlkZXIvY3BzLWRpdmlkZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jcHMtdG9vbHRpcC9jcHMtdG9vbHRpcC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcHMtZGlhbG9nL2Nwcy1kaWFsb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcHMtZGlhbG9nL3V0aWxzL2Nwcy1kaWFsb2ctY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Nwcy1kaWFsb2cvdXRpbHMvY3BzLWRpYWxvZy1yZWYnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcHMtbm90aWZpY2F0aW9uL2Nwcy1ub3RpZmljYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jcHMtbm90aWZpY2F0aW9uL3V0aWxzL2Nwcy1ub3RpZmljYXRpb24tY29uZmlnJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvY29sb3JzLXV0aWxzJztcbiJdfQ==