@rivet-health/design-system 40.31.0 → 40.33.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.
@@ -1,4 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, HostListener, Input, Self, } from '@angular/core';
2
+ import { TooltipComponent } from '../../overlay/callout/tooltip/tooltip.component';
2
3
  import { TooltipDirective } from '../../overlay/callout/tooltip/tooltip.directive';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../../overlay/callout/tooltip/tooltip.directive";
@@ -14,7 +15,7 @@ export class TruncateComponent {
14
15
  tooltip) {
15
16
  this.element = element;
16
17
  this.tooltip = tooltip;
17
- this.maxTooltipWidth = '200px';
18
+ this.maxTooltipWidth = TooltipComponent.DefaultMaxWidth;
18
19
  }
19
20
  enter() {
20
21
  if (scrolled(this.element.nativeElement)) {
@@ -47,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
47
48
  type: HostListener,
48
49
  args: ['mouseleave']
49
50
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvZm9ybWF0L3RydW5jYXRlL3RydW5jYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2Zvcm1hdC90cnVuY2F0ZS90cnVuY2F0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLElBQUksR0FDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7O0FBRW5GLFNBQVMsUUFBUSxDQUFDLE9BQW9CO0lBQ3BDLE9BQU8sT0FBTyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO0FBQ25ELENBQUM7QUFFRDs7R0FFRztBQVFILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDbUIsT0FBbUI7SUFDcEMsNkNBQTZDO0lBQ3BCLE9BQXlCO1FBRmpDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFFWCxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUlwRCxvQkFBZSxHQUFXLE9BQU8sQ0FBQztJQUgvQixDQUFDO0lBTUosS0FBSztRQUNILElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUdELEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxpQ0FBaUM7SUFDakMsY0FBYztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDOzsrR0EzQlUsaUJBQWlCO21HQUFqQixpQkFBaUIsZ0xDeEI5Qiw2QkFDQSxxSURxQmlCLENBQUMsZ0JBQWdCLENBQUM7NEZBRXRCLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxlQUFlLG1CQUdSLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLENBQUMsZ0JBQWdCLENBQUM7OzBCQU05QixJQUFJOzRDQUlQLGVBQWU7c0JBRGQsS0FBSztnQkFJTixLQUFLO3NCQURKLFlBQVk7dUJBQUMsWUFBWTtnQkFVMUIsS0FBSztzQkFESixZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9vdmVybGF5L2NhbGxvdXQvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5cbmZ1bmN0aW9uIHNjcm9sbGVkKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBlbGVtZW50Lm9mZnNldFdpZHRoIDwgZWxlbWVudC5zY3JvbGxXaWR0aDtcbn1cblxuLyoqXG4gKiBUcnVuY2F0ZSB0aGUgdGV4dCB0byBvbmUgbGluZS4gV2hlbiB0cnVuY2F0ZWQsIGRpc3BsYXkgdGhlIGZ1bGwgdGV4dCBpbiBhIHRvb2x0aXAuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1tyaXZUcnVuY2F0ZV0nLFxuICBzdHlsZVVybHM6IFsnLi90cnVuY2F0ZS5jb21wb25lbnQuY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi90cnVuY2F0ZS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB2aWV3UHJvdmlkZXJzOiBbVG9vbHRpcERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRydW5jYXRlQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIC8vIEZvciBwZXJmb3JtYW5jZSByZWFzb25zLCB0YWtlIG1vcmUgY29udHJvbFxuICAgIEBTZWxmKCkgcHJpdmF0ZSByZWFkb25seSB0b29sdGlwOiBUb29sdGlwRGlyZWN0aXZlLFxuICApIHt9XG5cbiAgQElucHV0KClcbiAgbWF4VG9vbHRpcFdpZHRoOiBzdHJpbmcgPSAnMjAwcHgnO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICBlbnRlcigpIHtcbiAgICBpZiAoc2Nyb2xsZWQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpKSB7XG4gICAgICB0aGlzLnRvb2x0aXAucml2VG9vbHRpcCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50O1xuICAgICAgdGhpcy50b29sdGlwLnJpdlRvb2x0aXBNYXhXaWR0aCA9IHRoaXMubWF4VG9vbHRpcFdpZHRoO1xuICAgICAgdGhpcy50b29sdGlwLm9uTW91c2VFbnRlcigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICBsZWF2ZSgpIHtcbiAgICB0aGlzLnRvb2x0aXAub25Nb3VzZUxlYXZlKCk7XG4gIH1cblxuICAvLyBGb3IgdGhlIGF1dG8tY29tcGxldGUgdGV4dGJveC5cbiAgc2Nyb2xsSW50b1ZpZXcoKSB7XG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoZmFsc2UpO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvZm9ybWF0L3RydW5jYXRlL3RydW5jYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2Zvcm1hdC90cnVuY2F0ZS90cnVuY2F0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLElBQUksR0FDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7O0FBRW5GLFNBQVMsUUFBUSxDQUFDLE9BQW9CO0lBQ3BDLE9BQU8sT0FBTyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO0FBQ25ELENBQUM7QUFFRDs7R0FFRztBQVFILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDbUIsT0FBbUI7SUFDcEMsNkNBQTZDO0lBQ3BCLE9BQXlCO1FBRmpDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFFWCxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUlwRCxvQkFBZSxHQUFXLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztJQUh4RCxDQUFDO0lBTUosS0FBSztRQUNILElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUdELEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxpQ0FBaUM7SUFDakMsY0FBYztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDOzsrR0EzQlUsaUJBQWlCO21HQUFqQixpQkFBaUIsZ0xDekI5Qiw2QkFDQSxxSURzQmlCLENBQUMsZ0JBQWdCLENBQUM7NEZBRXRCLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxlQUFlLG1CQUdSLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLENBQUMsZ0JBQWdCLENBQUM7OzBCQU05QixJQUFJOzRDQUlQLGVBQWU7c0JBRGQsS0FBSztnQkFJTixLQUFLO3NCQURKLFlBQVk7dUJBQUMsWUFBWTtnQkFVMUIsS0FBSztzQkFESixZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9vdmVybGF5L2NhbGxvdXQvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vb3ZlcmxheS9jYWxsb3V0L3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuXG5mdW5jdGlvbiBzY3JvbGxlZChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZWxlbWVudC5vZmZzZXRXaWR0aCA8IGVsZW1lbnQuc2Nyb2xsV2lkdGg7XG59XG5cbi8qKlxuICogVHJ1bmNhdGUgdGhlIHRleHQgdG8gb25lIGxpbmUuIFdoZW4gdHJ1bmNhdGVkLCBkaXNwbGF5IHRoZSBmdWxsIHRleHQgaW4gYSB0b29sdGlwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbcml2VHJ1bmNhdGVdJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHJ1bmNhdGUuY29tcG9uZW50LmNzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJ1bmNhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdmlld1Byb3ZpZGVyczogW1Rvb2x0aXBEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBUcnVuY2F0ZUNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAvLyBGb3IgcGVyZm9ybWFuY2UgcmVhc29ucywgdGFrZSBtb3JlIGNvbnRyb2xcbiAgICBAU2VsZigpIHByaXZhdGUgcmVhZG9ubHkgdG9vbHRpcDogVG9vbHRpcERpcmVjdGl2ZSxcbiAgKSB7fVxuXG4gIEBJbnB1dCgpXG4gIG1heFRvb2x0aXBXaWR0aDogc3RyaW5nID0gVG9vbHRpcENvbXBvbmVudC5EZWZhdWx0TWF4V2lkdGg7XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIGVudGVyKCkge1xuICAgIGlmIChzY3JvbGxlZCh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCkpIHtcbiAgICAgIHRoaXMudG9vbHRpcC5yaXZUb29sdGlwID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgICB0aGlzLnRvb2x0aXAucml2VG9vbHRpcE1heFdpZHRoID0gdGhpcy5tYXhUb29sdGlwV2lkdGg7XG4gICAgICB0aGlzLnRvb2x0aXAub25Nb3VzZUVudGVyKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIGxlYXZlKCkge1xuICAgIHRoaXMudG9vbHRpcC5vbk1vdXNlTGVhdmUoKTtcbiAgfVxuXG4gIC8vIEZvciB0aGUgYXV0by1jb21wbGV0ZSB0ZXh0Ym94LlxuICBzY3JvbGxJbnRvVmlldygpIHtcbiAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyhmYWxzZSk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -10,7 +10,7 @@ export class TooltipComponent {
10
10
  constructor() {
11
11
  this.anchor = null;
12
12
  this.theme = 'dark';
13
- this.maxWidth = 'calc(var(--base-grid-size) * 50)';
13
+ this.maxWidth = TooltipComponent.DefaultMaxWidth;
14
14
  this.preferredPosition = 'top-center';
15
15
  this.onMouseEnter = new EventEmitter();
16
16
  this.onMouseLeave = new EventEmitter();
@@ -45,6 +45,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
45
45
  type: Output
46
46
  }] } });
47
47
  (function (TooltipComponent) {
48
+ /** 344px, which fits about 50 characters per line. */
49
+ TooltipComponent.DefaultMaxWidth = 'calc(var(--base-grid-size) * 86)';
48
50
  TooltipComponent.AnchoredPositions = [
49
51
  'top-center',
50
52
  'center-right',
@@ -52,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
52
54
  'center-left',
53
55
  ];
54
56
  })(TooltipComponent || (TooltipComponent = {}));
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9vdmVybGF5L2NhbGxvdXQvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL292ZXJsYXkvY2FsbG91dC90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7Ozs7O0FBR3ZCLFNBQVMsVUFBVSxDQUFDLENBQTZCO0lBQy9DLE9BQU8sT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDO0FBQy9CLENBQUM7QUFRRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTjdCO1FBUUUsV0FBTSxHQUE2QixJQUFJLENBQUM7UUFNeEMsVUFBSyxHQUEyQixNQUFNLENBQUM7UUFHdkMsYUFBUSxHQUFXLGtDQUFrQyxDQUFDO1FBR3RELHNCQUFpQixHQUFzQyxZQUFZLENBQUM7UUFHcEUsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRzlDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQVVyQyxlQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLHFCQUFnQixHQUFHLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBQ3JFO0lBVkMsYUFBYSxDQUFDLEdBQWU7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFlO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7OzhHQTVCVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQiw0UENwQjdCLDJsQkFtQkE7NEZEQ2EsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTs4QkFJL0MsTUFBTTtzQkFETCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixZQUFZO3NCQURYLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxNQUFNOztBQWVULFdBQWlCLGdCQUFnQjtJQUNsQixrQ0FBaUIsR0FBRztRQUMvQixZQUFZO1FBQ1osY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO0tBQ0wsQ0FBQztBQUtiLENBQUMsRUFYZ0IsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQVdoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsbG91dENvbXBvbmVudCB9IGZyb20gJy4uL2NhbGxvdXQuY29tcG9uZW50JztcblxuZnVuY3Rpb24gaXNUZW1wbGF0ZSh2OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPik6IHYgaXMgVGVtcGxhdGVSZWY8dm9pZD4ge1xuICByZXR1cm4gdHlwZW9mIHYgIT09ICdzdHJpbmcnO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtdG9vbHRpcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9vbHRpcC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgYW5jaG9yOiBFbGVtZW50IHwgRE9NUmVjdCB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGNvbnRlbnQ/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBASW5wdXQoKVxuICB0aGVtZTogQ2FsbG91dENvbXBvbmVudC5UaGVtZSA9ICdkYXJrJztcblxuICBASW5wdXQoKVxuICBtYXhXaWR0aDogc3RyaW5nID0gJ2NhbGModmFyKC0tYmFzZS1ncmlkLXNpemUpICogNTApJztcblxuICBASW5wdXQoKVxuICBwcmVmZXJyZWRQb3NpdGlvbjogVG9vbHRpcENvbXBvbmVudC5BbmNob3JlZFBvc2l0aW9uID0gJ3RvcC1jZW50ZXInO1xuXG4gIEBPdXRwdXQoKVxuICBvbk1vdXNlRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uTW91c2VMZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICBfb25Nb3VzZUxlYXZlKGV2dDogTW91c2VFdmVudCkge1xuICAgIHRoaXMub25Nb3VzZUxlYXZlLmVtaXQoZXZ0KTtcbiAgfVxuXG4gIF9vbk1vdXNlRW50ZXIoZXZ0OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5vbk1vdXNlRW50ZXIuZW1pdChldnQpO1xuICB9XG5cbiAgcmVhZG9ubHkgaXNUZW1wbGF0ZSA9IGlzVGVtcGxhdGU7XG4gIHJlYWRvbmx5IGFsbG93ZWRQb3NpdGlvbnMgPSBbLi4uVG9vbHRpcENvbXBvbmVudC5BbmNob3JlZFBvc2l0aW9uc107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVG9vbHRpcENvbXBvbmVudCB7XG4gIGV4cG9ydCBjb25zdCBBbmNob3JlZFBvc2l0aW9ucyA9IFtcbiAgICAndG9wLWNlbnRlcicsXG4gICAgJ2NlbnRlci1yaWdodCcsXG4gICAgJ2JvdHRvbS1jZW50ZXInLFxuICAgICdjZW50ZXItbGVmdCcsXG4gIF0gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIEFuY2hvcmVkUG9zaXRpb24gPSBFeHRyYWN0PFxuICAgICh0eXBlb2YgQW5jaG9yZWRQb3NpdGlvbnMpW251bWJlcl0sXG4gICAgQ2FsbG91dENvbXBvbmVudC5BbmNob3JlZFBvc2l0aW9uXG4gID47XG59XG4iLCI8cml2LWNhbGxvdXRcbiAgKnJpdi1vdmVybGF5XG4gIFthbmNob3JdPVwiYW5jaG9yXCJcbiAgW3ByZWZlcnJlZFBvc2l0aW9uXT1cInByZWZlcnJlZFBvc2l0aW9uXCJcbiAgW2FsbG93ZWRQb3NpdGlvbnNdPVwiYWxsb3dlZFBvc2l0aW9uc1wiXG4gIFtpc01vZGFsXT1cImZhbHNlXCJcbiAgW3RoZW1lXT1cInRoZW1lXCJcbiAgKG1vdXNlZW50ZXIpPVwiX29uTW91c2VFbnRlcigkZXZlbnQpXCJcbiAgKG1vdXNlbGVhdmUpPVwiX29uTW91c2VMZWF2ZSgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnQgJiYgaXNUZW1wbGF0ZShjb250ZW50KTsgZWxzZSBzdHJpbmdDb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjc3RyaW5nQ29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwic3RyaW5nLWNvbnRlbnRcIiBbc3R5bGUubWF4LXdpZHRoXT1cIm1heFdpZHRoXCI+XG4gICAgICB7eyBjb250ZW50IH19XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L3Jpdi1jYWxsb3V0PlxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9vdmVybGF5L2NhbGxvdXQvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL292ZXJsYXkvY2FsbG91dC90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7Ozs7O0FBR3ZCLFNBQVMsVUFBVSxDQUFDLENBQTZCO0lBQy9DLE9BQU8sT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDO0FBQy9CLENBQUM7QUFRRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTjdCO1FBUUUsV0FBTSxHQUE2QixJQUFJLENBQUM7UUFNeEMsVUFBSyxHQUEyQixNQUFNLENBQUM7UUFHdkMsYUFBUSxHQUFXLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztRQUdwRCxzQkFBaUIsR0FBc0MsWUFBWSxDQUFDO1FBR3BFLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUc5QyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFVckMsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUN4QixxQkFBZ0IsR0FBRyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQUNyRTtJQVZDLGFBQWEsQ0FBQyxHQUFlO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBZTtRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDOzs4R0E1QlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsNFBDcEI3QiwybEJBbUJBOzRGRENhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07OEJBSS9DLE1BQU07c0JBREwsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxNQUFNO2dCQUlQLFlBQVk7c0JBRFgsTUFBTTs7QUFlVCxXQUFpQixnQkFBZ0I7SUFDL0Isc0RBQXNEO0lBQ3pDLGdDQUFlLEdBQUcsa0NBQWtDLENBQUM7SUFDckQsa0NBQWlCLEdBQUc7UUFDL0IsWUFBWTtRQUNaLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYTtLQUNMLENBQUM7QUFLYixDQUFDLEVBYmdCLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFhaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbGxvdXRDb21wb25lbnQgfSBmcm9tICcuLi9jYWxsb3V0LmNvbXBvbmVudCc7XG5cbmZ1bmN0aW9uIGlzVGVtcGxhdGUodjogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD4pOiB2IGlzIFRlbXBsYXRlUmVmPHZvaWQ+IHtcbiAgcmV0dXJuIHR5cGVvZiB2ICE9PSAnc3RyaW5nJztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LXRvb2x0aXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rvb2x0aXAuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGFuY2hvcjogRWxlbWVudCB8IERPTVJlY3QgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBjb250ZW50Pzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgQElucHV0KClcbiAgdGhlbWU6IENhbGxvdXRDb21wb25lbnQuVGhlbWUgPSAnZGFyayc7XG5cbiAgQElucHV0KClcbiAgbWF4V2lkdGg6IHN0cmluZyA9IFRvb2x0aXBDb21wb25lbnQuRGVmYXVsdE1heFdpZHRoO1xuXG4gIEBJbnB1dCgpXG4gIHByZWZlcnJlZFBvc2l0aW9uOiBUb29sdGlwQ29tcG9uZW50LkFuY2hvcmVkUG9zaXRpb24gPSAndG9wLWNlbnRlcic7XG5cbiAgQE91dHB1dCgpXG4gIG9uTW91c2VFbnRlciA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgb25Nb3VzZUxlYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gIF9vbk1vdXNlTGVhdmUoZXZ0OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5vbk1vdXNlTGVhdmUuZW1pdChldnQpO1xuICB9XG5cbiAgX29uTW91c2VFbnRlcihldnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLm9uTW91c2VFbnRlci5lbWl0KGV2dCk7XG4gIH1cblxuICByZWFkb25seSBpc1RlbXBsYXRlID0gaXNUZW1wbGF0ZTtcbiAgcmVhZG9ubHkgYWxsb3dlZFBvc2l0aW9ucyA9IFsuLi5Ub29sdGlwQ29tcG9uZW50LkFuY2hvcmVkUG9zaXRpb25zXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBUb29sdGlwQ29tcG9uZW50IHtcbiAgLyoqIDM0NHB4LCB3aGljaCBmaXRzIGFib3V0IDUwIGNoYXJhY3RlcnMgcGVyIGxpbmUuICovXG4gIGV4cG9ydCBjb25zdCBEZWZhdWx0TWF4V2lkdGggPSAnY2FsYyh2YXIoLS1iYXNlLWdyaWQtc2l6ZSkgKiA4NiknO1xuICBleHBvcnQgY29uc3QgQW5jaG9yZWRQb3NpdGlvbnMgPSBbXG4gICAgJ3RvcC1jZW50ZXInLFxuICAgICdjZW50ZXItcmlnaHQnLFxuICAgICdib3R0b20tY2VudGVyJyxcbiAgICAnY2VudGVyLWxlZnQnLFxuICBdIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBBbmNob3JlZFBvc2l0aW9uID0gRXh0cmFjdDxcbiAgICAodHlwZW9mIEFuY2hvcmVkUG9zaXRpb25zKVtudW1iZXJdLFxuICAgIENhbGxvdXRDb21wb25lbnQuQW5jaG9yZWRQb3NpdGlvblxuICA+O1xufVxuIiwiPHJpdi1jYWxsb3V0XG4gICpyaXYtb3ZlcmxheVxuICBbYW5jaG9yXT1cImFuY2hvclwiXG4gIFtwcmVmZXJyZWRQb3NpdGlvbl09XCJwcmVmZXJyZWRQb3NpdGlvblwiXG4gIFthbGxvd2VkUG9zaXRpb25zXT1cImFsbG93ZWRQb3NpdGlvbnNcIlxuICBbaXNNb2RhbF09XCJmYWxzZVwiXG4gIFt0aGVtZV09XCJ0aGVtZVwiXG4gIChtb3VzZWVudGVyKT1cIl9vbk1vdXNlRW50ZXIoJGV2ZW50KVwiXG4gIChtb3VzZWxlYXZlKT1cIl9vbk1vdXNlTGVhdmUoJGV2ZW50KVwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50ICYmIGlzVGVtcGxhdGUoY29udGVudCk7IGVsc2Ugc3RyaW5nQ29udGVudFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI3N0cmluZ0NvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cInN0cmluZy1jb250ZW50XCIgW3N0eWxlLm1heC13aWR0aF09XCJtYXhXaWR0aFwiPlxuICAgICAge3sgY29udGVudCB9fVxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9yaXYtY2FsbG91dD5cbiJdfQ==
@@ -6,7 +6,7 @@ export class TooltipDirective {
6
6
  this.el = el;
7
7
  this.applicationRef = applicationRef;
8
8
  this.rivTooltipTheme = 'dark';
9
- this.rivTooltipMaxWidth = 'calc(var(--base-grid-size) * 50)';
9
+ this.rivTooltipMaxWidth = TooltipComponent.DefaultMaxWidth;
10
10
  this.rivTooltipPreferredPosition = 'top-center';
11
11
  this.rivTooltipCloseDelay = 100;
12
12
  this.rivTooltipOpenDelay = 500;
@@ -135,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
135
135
  type: HostListener,
136
136
  args: ['mouseleave']
137
137
  }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9vdmVybGF5L2NhbGxvdXQvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUt2RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQ3FCLEVBQWMsRUFDZCxjQUE4QjtRQUQ5QixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBb0JuRCxvQkFBZSxHQUFxQixNQUFNLENBQUM7UUFHM0MsdUJBQWtCLEdBQUcsa0NBQWtDLENBQUM7UUFHeEQsZ0NBQTJCLEdBQXNDLFlBQVksQ0FBQztRQU85RSx5QkFBb0IsR0FBVyxHQUFHLENBQUM7UUFHbkMsd0JBQW1CLEdBQVcsR0FBRyxDQUFDO1FBRWxDOzs7OztXQUtHO1FBRUgsMEJBQXFCLEdBQVcsR0FBRyxDQUFDO1FBTXBDLDhEQUE4RDtRQUN0RCxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUN4QiwrQ0FBK0M7UUFDdkMsa0JBQWEsR0FBRyxDQUFDLENBQUM7SUFyRHZCLENBQUM7SUFJSixJQUNJLFVBQVUsQ0FBQyxLQUE2QztRQUMxRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVTtR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QVlzQixZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBMEJFLFlBQVk7c0JBQXZDLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi90b29sdGlwLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tyaXZUb29sdGlwXScsXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgKSB7fVxuXG4gIHByaXZhdGUgX3JpdlRvb2x0aXA/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBASW5wdXQoKVxuICBzZXQgcml2VG9vbHRpcCh2YWx1ZTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9yaXZUb29sdGlwID0gdmFsdWU7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy5jYW5jZWxPcGVuKCk7XG4gICAgICB0aGlzLmRpc2NhcmRPcGVuUHJvZ3Jlc3MoKTtcbiAgICAgIHRoaXMuY2xvc2VJbW1lZGlhdGVseSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldCByaXZUb29sdGlwKCk6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fcml2VG9vbHRpcDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHJpdlRvb2x0aXBUaGVtZTogJ2RhcmsnIHwgJ2xpZ2h0JyA9ICdkYXJrJztcblxuICBASW5wdXQoKVxuICByaXZUb29sdGlwTWF4V2lkdGggPSAnY2FsYyh2YXIoLS1iYXNlLWdyaWQtc2l6ZSkgKiA1MCknO1xuXG4gIEBJbnB1dCgpXG4gIHJpdlRvb2x0aXBQcmVmZXJyZWRQb3NpdGlvbjogVG9vbHRpcENvbXBvbmVudC5BbmNob3JlZFBvc2l0aW9uID0gJ3RvcC1jZW50ZXInO1xuXG4gIC8qKiBFbGVtZW50IHRvIHBvc2l0aW9uIHRoZSB0b29sdGlwIGFnYWluc3QuIERlZmF1bHRzIHRvIHRoZSBob3N0IGVsZW1lbnQuICovXG4gIEBJbnB1dCgpXG4gIHJpdlRvb2x0aXBBbmNob3I/OiBFbGVtZW50O1xuXG4gIEBJbnB1dCgpXG4gIHJpdlRvb2x0aXBDbG9zZURlbGF5OiBudW1iZXIgPSAxMDA7XG5cbiAgQElucHV0KClcbiAgcml2VG9vbHRpcE9wZW5EZWxheTogbnVtYmVyID0gNTAwO1xuXG4gIC8qKlxuICAgKiBXaW5kb3cgYWZ0ZXIgdGhlIHBvaW50ZXIgbGVhdmVzIGluIHdoaWNoIHRoZSB0aW1lIGFscmVhZHkgc3BlbnQgaG92ZXJpbmcgaXNcbiAgICoga2VwdC4gQ29taW5nIGJhY2sgd2l0aGluIGl0IHJlc3VtZXMgdGhlIG9wZW4gY291bnRkb3duIHJhdGhlciB0aGFuIHN0YXJ0aW5nXG4gICAqIGl0IG92ZXIsIHNvIGJydXNoaW5nIG9mZiBhIHNtYWxsIHRhcmdldCDigJQgYSAxNnB4IGByaXYtaGVscGAgaWNvbiwgc2F5IOKAlCBhbmRcbiAgICogcmV0dXJuaW5nIGRvZXMgbm90IGNvc3QgYW5vdGhlciBmdWxsIGByaXZUb29sdGlwT3BlbkRlbGF5YC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHJpdlRvb2x0aXBHcmFjZVBlcmlvZDogbnVtYmVyID0gMzAwO1xuXG4gIHByaXZhdGUgdG9vbHRpcFJlZj86IENvbXBvbmVudFJlZjxUb29sdGlwQ29tcG9uZW50PjtcbiAgcHJpdmF0ZSBjbG9zZVRpbWVvdXQ/OiBudW1iZXI7XG4gIHByaXZhdGUgb3BlblRpbWVvdXQ/OiBudW1iZXI7XG4gIHByaXZhdGUgZ3JhY2VUaW1lb3V0PzogbnVtYmVyO1xuICAvKiogSG92ZXIgdGltZSBhbHJlYWR5IHNlcnZlZCB0b3dhcmQgYHJpdlRvb2x0aXBPcGVuRGVsYXlgLiAqL1xuICBwcml2YXRlIHNlcnZlZERlbGF5ID0gMDtcbiAgLyoqIFdoZW4gdGhlIHBlbmRpbmcgb3BlbiBjb3VudGRvd24gc3RhcnRlZC4gKi9cbiAgcHJpdmF0ZSBvcGVuU3RhcnRlZEF0ID0gMDtcblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJykgb25Nb3VzZUVudGVyKCkge1xuICAgIGlmICghdGhpcy5yaXZUb29sdGlwKSByZXR1cm47XG4gICAgaWYgKHRoaXMudG9vbHRpcFJlZikge1xuICAgICAgdGhpcy5jYW5jZWxDbG9zZSgpO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMub3BlblRpbWVvdXQpIHtcbiAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5ncmFjZVRpbWVvdXQpO1xuICAgICAgdGhpcy5vcGVuU3RhcnRlZEF0ID0gRGF0ZS5ub3coKTtcbiAgICAgIHRoaXMub3BlblRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRvb2x0aXAgPSB0aGlzLmFwcGxpY2F0aW9uUmVmLmNvbXBvbmVudHNbMF0uaW5qZWN0b3JcbiAgICAgICAgICAuZ2V0KFZpZXdDb250YWluZXJSZWYpXG4gICAgICAgICAgLmNyZWF0ZUNvbXBvbmVudChUb29sdGlwQ29tcG9uZW50KTtcbiAgICAgICAgdG9vbHRpcC5pbnN0YW5jZS5hbmNob3IgPVxuICAgICAgICAgIHRoaXMucml2VG9vbHRpcEFuY2hvciA/PyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRvb2x0aXAuaW5zdGFuY2UuY29udGVudCA9IHRoaXMucml2VG9vbHRpcDtcbiAgICAgICAgdG9vbHRpcC5pbnN0YW5jZS50aGVtZSA9IHRoaXMucml2VG9vbHRpcFRoZW1lO1xuICAgICAgICB0b29sdGlwLmluc3RhbmNlLm1heFdpZHRoID0gdGhpcy5yaXZUb29sdGlwTWF4V2lkdGg7XG4gICAgICAgIHRvb2x0aXAuaW5zdGFuY2UucHJlZmVycmVkUG9zaXRpb24gPSB0aGlzLnJpdlRvb2x0aXBQcmVmZXJyZWRQb3NpdGlvbjtcbiAgICAgICAgdG9vbHRpcC5pbnN0YW5jZS5vbk1vdXNlRW50ZXIuc3Vic2NyaWJlKHRoaXMuY2FuY2VsQ2xvc2UuYmluZCh0aGlzKSk7XG4gICAgICAgIHRvb2x0aXAuaW5zdGFuY2Uub25Nb3VzZUxlYXZlLnN1YnNjcmliZSh0aGlzLmluaXRpYXRlQ2xvc2UuYmluZCh0aGlzKSk7XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZiA9IHRvb2x0aXA7XG4gICAgICAgIHRoaXMub3BlblRpbWVvdXQgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuc2VydmVkRGVsYXkgPSAwO1xuICAgICAgfSwgTWF0aC5tYXgoMCwgdGhpcy5yaXZUb29sdGlwT3BlbkRlbGF5IC0gdGhpcy5zZXJ2ZWREZWxheSkpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy5ob2xkT3BlblByb2dyZXNzKCk7XG4gICAgdGhpcy5jYW5jZWxPcGVuKCk7XG4gICAgaWYgKHRoaXMudG9vbHRpcFJlZikge1xuICAgICAgdGhpcy5pbml0aWF0ZUNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jYW5jZWxPcGVuKCk7XG4gICAgdGhpcy5kaXNjYXJkT3BlblByb2dyZXNzKCk7XG4gICAgdGhpcy5pbml0aWF0ZUNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYXRlQ2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZVRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnRvb2x0aXBSZWY/LmRlc3Ryb3koKTtcbiAgICAgIHRoaXMudG9vbHRpcFJlZiA9IHVuZGVmaW5lZDtcbiAgICB9LCB0aGlzLnJpdlRvb2x0aXBDbG9zZURlbGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FuY2VsQ2xvc2UoKSB7XG4gICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmNsb3NlVGltZW91dCk7XG4gIH1cblxuICBwcml2YXRlIGNhbmNlbE9wZW4oKSB7XG4gICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLm9wZW5UaW1lb3V0KTtcbiAgICB0aGlzLm9wZW5UaW1lb3V0ID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEJhbmtzIHRoZSBob3ZlciB0aW1lIHNlcnZlZCBzbyBmYXIgYW5kIHN0YXJ0cyB0aGUgZ3JhY2UgcGVyaW9kLCBhZnRlciB3aGljaFxuICAgKiB0aGUgY291bnRkb3duIHN0YXJ0cyBmcm9tIHplcm8gYWdhaW4uXG4gICAqL1xuICBwcml2YXRlIGhvbGRPcGVuUHJvZ3Jlc3MoKSB7XG4gICAgaWYgKCF0aGlzLm9wZW5UaW1lb3V0KSByZXR1cm47XG4gICAgdGhpcy5zZXJ2ZWREZWxheSArPSBEYXRlLm5vdygpIC0gdGhpcy5vcGVuU3RhcnRlZEF0O1xuICAgIHRoaXMuZ3JhY2VUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoXG4gICAgICAoKSA9PiAodGhpcy5zZXJ2ZWREZWxheSA9IDApLFxuICAgICAgdGhpcy5yaXZUb29sdGlwR3JhY2VQZXJpb2QsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzY2FyZE9wZW5Qcm9ncmVzcygpIHtcbiAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuZ3JhY2VUaW1lb3V0KTtcbiAgICB0aGlzLnNlcnZlZERlbGF5ID0gMDtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VJbW1lZGlhdGVseSgpIHtcbiAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lb3V0KTtcbiAgICB0aGlzLnRvb2x0aXBSZWY/LmRlc3Ryb3koKTtcbiAgICB0aGlzLnRvb2x0aXBSZWYgPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9vdmVybGF5L2NhbGxvdXQvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUt2RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQ3FCLEVBQWMsRUFDZCxjQUE4QjtRQUQ5QixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBb0JuRCxvQkFBZSxHQUFxQixNQUFNLENBQUM7UUFHM0MsdUJBQWtCLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO1FBR3RELGdDQUEyQixHQUFzQyxZQUFZLENBQUM7UUFPOUUseUJBQW9CLEdBQVcsR0FBRyxDQUFDO1FBR25DLHdCQUFtQixHQUFXLEdBQUcsQ0FBQztRQUVsQzs7Ozs7V0FLRztRQUVILDBCQUFxQixHQUFXLEdBQUcsQ0FBQztRQU1wQyw4REFBOEQ7UUFDdEQsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDeEIsK0NBQStDO1FBQ3ZDLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO0lBckR2QixDQUFDO0lBSUosSUFDSSxVQUFVLENBQUMsS0FBNkM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxJ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cEIsS0FBSztnQkFZc0IsWUFBWTtzQkFBdkMsWUFBWTt1QkFBQyxZQUFZO2dCQTBCRSxZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcml2VG9vbHRpcF0nLFxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gICkge31cblxuICBwcml2YXRlIF9yaXZUb29sdGlwPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgQElucHV0KClcbiAgc2V0IHJpdlRvb2x0aXAodmFsdWU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+IHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fcml2VG9vbHRpcCA9IHZhbHVlO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuY2FuY2VsT3BlbigpO1xuICAgICAgdGhpcy5kaXNjYXJkT3BlblByb2dyZXNzKCk7XG4gICAgICB0aGlzLmNsb3NlSW1tZWRpYXRlbHkoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcml2VG9vbHRpcCgpOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3JpdlRvb2x0aXA7XG4gIH1cblxuICBASW5wdXQoKVxuICByaXZUb29sdGlwVGhlbWU6ICdkYXJrJyB8ICdsaWdodCcgPSAnZGFyayc7XG5cbiAgQElucHV0KClcbiAgcml2VG9vbHRpcE1heFdpZHRoID0gVG9vbHRpcENvbXBvbmVudC5EZWZhdWx0TWF4V2lkdGg7XG5cbiAgQElucHV0KClcbiAgcml2VG9vbHRpcFByZWZlcnJlZFBvc2l0aW9uOiBUb29sdGlwQ29tcG9uZW50LkFuY2hvcmVkUG9zaXRpb24gPSAndG9wLWNlbnRlcic7XG5cbiAgLyoqIEVsZW1lbnQgdG8gcG9zaXRpb24gdGhlIHRvb2x0aXAgYWdhaW5zdC4gRGVmYXVsdHMgdG8gdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgQElucHV0KClcbiAgcml2VG9vbHRpcEFuY2hvcj86IEVsZW1lbnQ7XG5cbiAgQElucHV0KClcbiAgcml2VG9vbHRpcENsb3NlRGVsYXk6IG51bWJlciA9IDEwMDtcblxuICBASW5wdXQoKVxuICByaXZUb29sdGlwT3BlbkRlbGF5OiBudW1iZXIgPSA1MDA7XG5cbiAgLyoqXG4gICAqIFdpbmRvdyBhZnRlciB0aGUgcG9pbnRlciBsZWF2ZXMgaW4gd2hpY2ggdGhlIHRpbWUgYWxyZWFkeSBzcGVudCBob3ZlcmluZyBpc1xuICAgKiBrZXB0LiBDb21pbmcgYmFjayB3aXRoaW4gaXQgcmVzdW1lcyB0aGUgb3BlbiBjb3VudGRvd24gcmF0aGVyIHRoYW4gc3RhcnRpbmdcbiAgICogaXQgb3Zlciwgc28gYnJ1c2hpbmcgb2ZmIGEgc21hbGwgdGFyZ2V0IOKAlCBhIDE2cHggYHJpdi1oZWxwYCBpY29uLCBzYXkg4oCUIGFuZFxuICAgKiByZXR1cm5pbmcgZG9lcyBub3QgY29zdCBhbm90aGVyIGZ1bGwgYHJpdlRvb2x0aXBPcGVuRGVsYXlgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcml2VG9vbHRpcEdyYWNlUGVyaW9kOiBudW1iZXIgPSAzMDA7XG5cbiAgcHJpdmF0ZSB0b29sdGlwUmVmPzogQ29tcG9uZW50UmVmPFRvb2x0aXBDb21wb25lbnQ+O1xuICBwcml2YXRlIGNsb3NlVGltZW91dD86IG51bWJlcjtcbiAgcHJpdmF0ZSBvcGVuVGltZW91dD86IG51bWJlcjtcbiAgcHJpdmF0ZSBncmFjZVRpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKiBIb3ZlciB0aW1lIGFscmVhZHkgc2VydmVkIHRvd2FyZCBgcml2VG9vbHRpcE9wZW5EZWxheWAuICovXG4gIHByaXZhdGUgc2VydmVkRGVsYXkgPSAwO1xuICAvKiogV2hlbiB0aGUgcGVuZGluZyBvcGVuIGNvdW50ZG93biBzdGFydGVkLiAqL1xuICBwcml2YXRlIG9wZW5TdGFydGVkQXQgPSAwO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKSBvbk1vdXNlRW50ZXIoKSB7XG4gICAgaWYgKCF0aGlzLnJpdlRvb2x0aXApIHJldHVybjtcbiAgICBpZiAodGhpcy50b29sdGlwUmVmKSB7XG4gICAgICB0aGlzLmNhbmNlbENsb3NlKCk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5vcGVuVGltZW91dCkge1xuICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmdyYWNlVGltZW91dCk7XG4gICAgICB0aGlzLm9wZW5TdGFydGVkQXQgPSBEYXRlLm5vdygpO1xuICAgICAgdGhpcy5vcGVuVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgdG9vbHRpcCA9IHRoaXMuYXBwbGljYXRpb25SZWYuY29tcG9uZW50c1swXS5pbmplY3RvclxuICAgICAgICAgIC5nZXQoVmlld0NvbnRhaW5lclJlZilcbiAgICAgICAgICAuY3JlYXRlQ29tcG9uZW50KFRvb2x0aXBDb21wb25lbnQpO1xuICAgICAgICB0b29sdGlwLmluc3RhbmNlLmFuY2hvciA9XG4gICAgICAgICAgdGhpcy5yaXZUb29sdGlwQW5jaG9yID8/IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdG9vbHRpcC5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5yaXZUb29sdGlwO1xuICAgICAgICB0b29sdGlwLmluc3RhbmNlLnRoZW1lID0gdGhpcy5yaXZUb29sdGlwVGhlbWU7XG4gICAgICAgIHRvb2x0aXAuaW5zdGFuY2UubWF4V2lkdGggPSB0aGlzLnJpdlRvb2x0aXBNYXhXaWR0aDtcbiAgICAgICAgdG9vbHRpcC5pbnN0YW5jZS5wcmVmZXJyZWRQb3NpdGlvbiA9IHRoaXMucml2VG9vbHRpcFByZWZlcnJlZFBvc2l0aW9uO1xuICAgICAgICB0b29sdGlwLmluc3RhbmNlLm9uTW91c2VFbnRlci5zdWJzY3JpYmUodGhpcy5jYW5jZWxDbG9zZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgdG9vbHRpcC5pbnN0YW5jZS5vbk1vdXNlTGVhdmUuc3Vic2NyaWJlKHRoaXMuaW5pdGlhdGVDbG9zZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmID0gdG9vbHRpcDtcbiAgICAgICAgdGhpcy5vcGVuVGltZW91dCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5zZXJ2ZWREZWxheSA9IDA7XG4gICAgICB9LCBNYXRoLm1heCgwLCB0aGlzLnJpdlRvb2x0aXBPcGVuRGVsYXkgLSB0aGlzLnNlcnZlZERlbGF5KSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpIG9uTW91c2VMZWF2ZSgpIHtcbiAgICB0aGlzLmhvbGRPcGVuUHJvZ3Jlc3MoKTtcbiAgICB0aGlzLmNhbmNlbE9wZW4oKTtcbiAgICBpZiAodGhpcy50b29sdGlwUmVmKSB7XG4gICAgICB0aGlzLmluaXRpYXRlQ2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbmNlbE9wZW4oKTtcbiAgICB0aGlzLmRpc2NhcmRPcGVuUHJvZ3Jlc3MoKTtcbiAgICB0aGlzLmluaXRpYXRlQ2xvc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhdGVDbG9zZSgpIHtcbiAgICB0aGlzLmNsb3NlVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudG9vbHRpcFJlZj8uZGVzdHJveSgpO1xuICAgICAgdGhpcy50b29sdGlwUmVmID0gdW5kZWZpbmVkO1xuICAgIH0sIHRoaXMucml2VG9vbHRpcENsb3NlRGVsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYW5jZWxDbG9zZSgpIHtcbiAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lb3V0KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FuY2VsT3BlbigpIHtcbiAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMub3BlblRpbWVvdXQpO1xuICAgIHRoaXMub3BlblRpbWVvdXQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogQmFua3MgdGhlIGhvdmVyIHRpbWUgc2VydmVkIHNvIGZhciBhbmQgc3RhcnRzIHRoZSBncmFjZSBwZXJpb2QsIGFmdGVyIHdoaWNoXG4gICAqIHRoZSBjb3VudGRvd24gc3RhcnRzIGZyb20gemVybyBhZ2Fpbi5cbiAgICovXG4gIHByaXZhdGUgaG9sZE9wZW5Qcm9ncmVzcygpIHtcbiAgICBpZiAoIXRoaXMub3BlblRpbWVvdXQpIHJldHVybjtcbiAgICB0aGlzLnNlcnZlZERlbGF5ICs9IERhdGUubm93KCkgLSB0aGlzLm9wZW5TdGFydGVkQXQ7XG4gICAgdGhpcy5ncmFjZVRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dChcbiAgICAgICgpID0+ICh0aGlzLnNlcnZlZERlbGF5ID0gMCksXG4gICAgICB0aGlzLnJpdlRvb2x0aXBHcmFjZVBlcmlvZCxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNjYXJkT3BlblByb2dyZXNzKCkge1xuICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5ncmFjZVRpbWVvdXQpO1xuICAgIHRoaXMuc2VydmVkRGVsYXkgPSAwO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZUltbWVkaWF0ZWx5KCkge1xuICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5jbG9zZVRpbWVvdXQpO1xuICAgIHRoaXMudG9vbHRpcFJlZj8uZGVzdHJveSgpO1xuICAgIHRoaXMudG9vbHRpcFJlZiA9IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -1,3 +1,4 @@
1
+ import { sumBy } from 'lodash';
1
2
  import { TableCollapseHelpers } from './collapse-helpers';
2
3
  export var TableNestingHelpers;
3
4
  (function (TableNestingHelpers) {
@@ -101,6 +102,13 @@ export var TableNestingHelpers;
101
102
  return bottomLevelRowCount;
102
103
  }
103
104
  TableNestingHelpers.countBottomLevelNestedRows = countBottomLevelNestedRows;
105
+ // Count the rows pagination pages through.
106
+ function countNestedRows(allHeaders, paginateBy) {
107
+ return paginateBy === 'topRows'
108
+ ? sumBy(allHeaders, header => header.subRows.length)
109
+ : countBottomLevelNestedHeaderRows(allHeaders);
110
+ }
111
+ TableNestingHelpers.countNestedRows = countNestedRows;
104
112
  // Count how many rows we have at the bottom level of nesting.
105
113
  function countBottomLevelNestedHeaderRows(allHeaders) {
106
114
  let bottomLevelRowCount = 0;
@@ -112,4 +120,4 @@ export var TableNestingHelpers;
112
120
  }
113
121
  TableNestingHelpers.countBottomLevelNestedHeaderRows = countBottomLevelNestedHeaderRows;
114
122
  })(TableNestingHelpers || (TableNestingHelpers = {}));
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGluZy1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvdGFibGUvdGFibGUvc3RhdGUtaGVscGVycy9uZXN0aW5nLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFMUQsTUFBTSxLQUFXLG1CQUFtQixDQTRLbkM7QUE1S0QsV0FBaUIsbUJBQW1CO0lBQ2xDLFNBQWdCLHNCQUFzQixDQU1wQyxVQUFpQyxFQUNqQyxTQUF5QyxFQUN6QyxlQUF5RDtRQUV6RCxNQUFNLGNBQWMsR0FBZ0MsVUFBVSxDQUFDLE9BQU87WUFDcEUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQzlCLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDLENBQzNEO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLE1BQU0sY0FBYyxHQUE0QixlQUFlO1lBQzdELENBQUMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRVQsbURBQW1EO1FBQ25ELE1BQU0sb0JBQW9CLEdBQVksS0FBSyxDQUFDO1FBRTVDLE1BQU0scUJBQXFCLEdBQVksb0JBQW9CLENBQUMsY0FBYyxDQUN4RSxTQUFTLEVBQ1QsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ25CLENBQUM7UUFFRixPQUFPO1lBQ0wsRUFBRSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0QixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7WUFDckIsT0FBTyxFQUFFLGNBQWM7WUFDdkIsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixPQUFPLEVBQUUsY0FBYztZQUN2QixXQUFXLEVB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QUN4QyxhQUFzQztRQUV0QyxJQUFJLG1CQUFtQixHQUFXLENBQUMsQ0FBQztRQUVwQyxTQUFTLGtCQUFrQixDQUFDLGdCQUF1QztZQUNqRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxJQUFJLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO2dCQUNyRSxtQkFBbUIsRUFBRSxDQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLEtBQUssTUFBTSxNQUFNLElBQUksZ0JBQWdCLENBQUMsT0FBTyxFQUFFO29CQUM3QyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDNUI7YUFDRjtRQUNILENBQUM7UUFFRCxLQUFLLE1BQU0sU0FBUyxJQUFJLGFBQWEsRUFBRTtZQUNyQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMvQjtRQUVELE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztJQXBCZSw4Q0FBMEIsNkJBb0J6QyxDQUFBO0lBRUQsOERBQThEO0lBQzlELFNBQWdCLGdDQUFnQyxDQUM5QyxVQUF5QztRQUV6QyxJQUFJLG1CQUFtQixHQUFXLENBQUMsQ0FBQztRQUVwQyxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRTtZQUNsQyxNQUFNLDJCQUEyQixHQUFXLDBCQUEwQixDQUNwRSxTQUFTLENBQUMsT0FBTyxDQUNsQixDQUFDO1lBQ0YsbUJBQW1CLElBQUksMkJBQTJCLENBQUM7U0FDcEQ7UUFFRCxPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7SUFiZSxvREFBZ0MsbUNBYS9DLENBQUE7QUFDSCxDQUFDLEVBNUtnQixtQkFBbUIsS0FBbkIsbUJBQW1CLFFBNEtuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJpdlRhYmxlIH0gZnJvbSAnLi4vc3RhdGUnO1xuaW1wb3J0IHsgVGFibGVDb2xsYXBzZUhlbHBlcnMgfSBmcm9tICcuL2NvbGxhcHNlLWhlbHBlcnMnO1xuXG5leHBvcnQgbmFtZXNwYWNlIFRhYmxlTmVzdGluZ0hlbHBlcnMge1xuICBleHBvcnQgZnVuY3Rpb24gY29udmVydFRvRnVsbE5lc3RlZFJvdzxcbiAgICBSIGV4dGVuZHMgUml2VGFibGUuUm93LFxuICAgIEMgZXh0ZW5kcyBSaXZUYWJsZS5Db2x1bW4sXG4gICAgRiBleHRlbmRzIFJpdlRhYmxlLkZpbHRlcnMsXG4gICAgRyBleHRlbmRzIFJpdlRhYmxlLkdyb3VwID0geyBrZXk6ICcnIH0sXG4gID4oXG4gICAgY3VycmVudFJvdzogUml2VGFibGUuTmVzdGVkUm93PFI+LFxuICAgIGNvcmVTdGF0ZTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+LFxuICAgIHJvd0xpbmtGdW5jdGlvbj86IChyb3c6IFIsIGdyb3VwPzogRykgPT4gUml2VGFibGUuUm93TGluayxcbiAgKTogUml2VGFibGUuRnVsbE5lc3RlZFJvdzxSPiB7XG4gICAgY29uc3QgY3VycmVudFN1YlJvd3M6IFJpdlRhYmxlLkZ1bGxOZXN0ZWRSb3c8Uj5bXSA9IGN1cnJlbnRSb3cuc3ViUm93c1xuICAgICAgPyBjdXJyZW50Um93LnN1YlJvd3MubWFwKHN1YnJvdyA9PlxuICAgICAgICAgIGNvbnZlcnRUb0Z1bGxOZXN0ZWRSb3coc3Vicm93LCBjb3JlU3RhdGUsIHJvd0xpbmtGdW5jdGlvbiksXG4gICAgICAgIClcbiAgICAgIDogW107XG5cbiAgICBjb25zdCBjdXJyZW50Um93TGluazogUml2VGFibGUuUm93TGluayB8IG51bGwgPSByb3dMaW5rRnVuY3Rpb25cbiAgICAgID8gcm93TGlua0Z1bmN0aW9uKGN1cnJlbnRSb3cuZGF0YSlcbiAgICAgIDogbnVsbDtcblxuICAgIC8vIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHNlbGVjdGluZyBuZXN0ZWQgcm93c1xuICAgIGNvbnN0IGN1cnJlbnRSb3dJc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdCBjdXJyZW50Um93SXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSBUYWJsZUNvbGxhcHNlSGVscGVycy5pc1Jvd0NvbGxhcHNlZChcbiAgICAgIGNvcmVTdGF0ZSxcbiAgICAgIGN1cnJlbnRSb3cuZGF0YS5pZCxcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBjdXJyZW50Um93LmRhdGEuaWQsXG4gICAgICBkYXRhOiBjdXJyZW50Um93LmRhdGEsXG4gICAgICByb3dMaW5rOiBjdXJyZW50Um93TGluayxcbiAgICAgIHNlbGVjdGVkOiBjdXJyZW50Um93SXNTZWxlY3RlZCxcbiAgICAgIHN1YlJvd3M6IGN1cnJlbnRTdWJSb3dzLFxuICAgICAgaXNDb2xsYXBzZWQ6IGN1cnJlbnRSb3dJc0NvbGxhcHNlZCxcbiAgICB9O1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUb0Z1bGxOZXN0ZWRIZWFkZXJSb3c8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCA9IHsga2V5OiAnJyB9LFxuICA+KFxuICAgIGN1cnJlbnRSb3c6IFJpdlRhYmxlLk5lc3RlZEhlYWRlclJvdzxSPixcbiAgICBjb3JlU3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPixcbiAgICByb3dMaW5rRnVuY3Rpb24/OiAocm93OiBSLCBncm91cD86IEcpID0+IFJpdlRhYmxlLlJvd0xpbmssXG4gICk6IFJpdlRhYmxlLkZ1bGxOZXN0ZWRIZWFkZXJSb3c8Uj4ge1xuICAgIGNvbnN0IGN1cnJlbnRTdWJSb3dzOiBSaXZUYWJsZS5GdWxsTmVzdGVkUm93PFI+W10gPSBjdXJyZW50Um93LnN1YlJvd3NcbiAgICAgID8gY3VycmVudFJvdy5zdWJSb3dzLm1hcChzdWJyb3cgPT5cbiAgICAgICAgICBjb252ZXJ0VG9GdWxsTmVzdGVkUm93KHN1YnJvdywgY29yZVN0YXRlLCByb3dMaW5rRnVuY3Rpb24pLFxuICAgICAgICApXG4gICAgICA6IFtdO1xuXG4gICAgY29uc3QgY3VycmVudEhlYWRlcklzQ29sbGFwc2VkOiBib29sZWFuID1cbiAgICAgIFRhYmxlQ29sbGFwc2VIZWxwZXJzLmlzSGVhZGVyQ29sbGFwc2VkKGNvcmVTdGF0ZSwgY3VycmVudFJvdy5oZWFkZXJUZXh0KTtcblxuICAgIHJldHVybiB7XG4gICAgICBpZDogY3VycmVudFJvdy5oZWFkZXJUZXh0ID8/ICcnLFxuICAgICAgc3ViUm93czogY3VycmVudFN1YlJvd3MsXG4gICAgICBoZWFkZXJUZXh0OiBjdXJyZW50Um93LmhlYWRlclRleHQsXG4gICAgICBpc0NvbGxhcHNlZDogY3VycmVudEhlYWRlcklzQ29sbGFwc2VkLFxuICAgIH07XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZmluZE5lc3RlZFJvd3NXaXRoSGVhZGVyc1RvS2VlcDxSIGV4dGVuZHMgUml2VGFibGUuUm93PihcbiAgICBhbGxSb3dzOiBSaXZUYWJsZS5OZXN0ZWRIZWFkZXJSb3c8Uj5bXSxcbiAgICBmaWx0ZXJlZFJvd3M6IFJbXSxcbiAgKTogUml2VGFibGUuTmVzdGVkSGVhZGVyUm93PFI+W10ge1xuICAgIGNvbnN0IGZpbHRlcmVkSWRzOiBTZXQ8c3RyaW5nIHwgbnVtYmVyPiA9IG5ldyBTZXQoXG4gICAgICBmaWx0ZXJlZFJvd3MubWFwKHJvdyA9PiByb3cuaWQpLFxuICAgICk7XG5cbiAgICBmdW5jdGlvbiByZWN1cnNpdmVGaW5kUm93c1RvS2VlcChcbiAgICAgIGN1cnJlbnROZXN0ZWRSb3c6IFJpdlRhYmxlLk5lc3RlZFJvdzxSPixcbiAgICApOiBSaXZUYWJsZS5OZXN0ZWRSb3c8Uj4gfCBudWxsIHtcbiAgICAgIC8vIEtlZXAgYWxsIHN1YnJvd3MgaWYgYSBwYXJlbnQgcm93IG1hdGNoZXMgdGhlIGZpbHRlclxuICAgICAgaWYgKGZpbHRlcmVkSWRzLmhhcyhjdXJyZW50TmVzdGVkUm93LmRhdGEuaWQpKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50TmVzdGVkUm93O1xuICAgICAgfVxuXG4gICAgICBpZiAoIWN1cnJlbnROZXN0ZWRSb3cuc3ViUm93cykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3ViUm93c1RvS2VlcDogUml2VGFibGUuTmVzdGVkUm93PFI+W10gPSBbXTtcbiAgICAgIGZvciAoY29uc3Qgc3ViUm93IG9mIGN1cnJlbnROZXN0ZWRSb3cuc3ViUm93cykge1xuICAgICAgICBjb25zdCByb3dUb0tlZXA6IFJpdlRhYmxlLk5lc3RlZFJvdzxSPiB8IG51bGwgPVxuICAgICAgICAgIHJlY3Vyc2l2ZUZpbmRSb3dzVG9LZWVwKHN1YlJvdyk7XG4gICAgICAgIGlmIChyb3dUb0tlZXApIHtcbiAgICAgICAgICBzdWJSb3dzVG9LZWVwLnB1c2gocm93VG9LZWVwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc3ViUm93c1RvS2VlcC5sZW5ndGggPT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY3VycmVudE5lc3RlZFJvdyxcbiAgICAgICAgc3ViUm93czogc3ViUm93c1RvS2VlcCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3Qga2VwdE5lc3RlZFJvd3M6IFJpdlRhYmxlLk5lc3RlZEhlYWRlclJvdzxSPltdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IG91dGVyTGV2ZWxIZWFkZXIgb2YgYWxsUm93cykge1xuICAgICAgaWYgKCFvdXRlckxldmVsSGVhZGVyLnN1YlJvd3MpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGtlcHRTdWJSb3dzOiBSaXZUYWJsZS5OZXN0ZWRSb3c8Uj5bXSA9IFtdO1xuICAgICAgZm9yIChjb25zdCBuZXN0ZWRSb3cgb2Ygb3V0ZXJMZXZlbEhlYWRlci5zdWJSb3dzKSB7XG4gICAgICAgIGNvbnN0IHJvd1RvS2VlcDogUml2VGFibGUuTmVzdGVkUm93PFI+IHwgbnVsbCA9XG4gICAgICAgICAgcmVjdXJzaXZlRmluZFJvd3NUb0tlZXAobmVzdGVkUm93KTtcbiAgICAgICAgaWYgKHJvd1RvS2VlcCkge1xuICAgICAgICAgIGtlcHRTdWJSb3dzLnB1c2gocm93VG9LZWVwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoa2VwdFN1YlJvd3MubGVuZ3RoID09IDApIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGtlcHROZXN0ZWRSb3dzLnB1c2goe1xuICAgICAgICAuLi5vdXRlckxldmVsSGVhZGVyLFxuICAgICAgICBzdWJSb3dzOiBrZXB0U3ViUm93cyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBrZXB0TmVzdGVkUm93cztcbiAgfVxuXG4gIC8vIENvdW50IGhvdyBtYW55IHJvd3Mgd2UgaGF2ZSBhdCB0aGUgYm90dG9tIGxldmVsIG9mIG5lc3RpbmcuXG4gIGV4cG9ydCBmdW5jdGlvbiBjb3VudEJvdHRvbUxldmVsTmVzdGVkUm93czxSIGV4dGVuZHMgUml2VGFibGUuUm93PihcbiAgICBhbGxOZXN0ZWRSb3dzOiBSaXZUYWJsZS5OZXN0ZWRSb3c8Uj5bXSxcbiAgKTogbnVtYmVyIHtcbiAgICBsZXQgYm90dG9tTGV2ZWxSb3dDb3VudDogbnVtYmVyID0gMDtcblxuICAgIGZ1bmN0aW9uIHJlY3Vyc2l2ZUNvdW50Um93cyhjdXJyZW50TmVzdGVkUm93OiBSaXZUYWJsZS5OZXN0ZWRSb3c8Uj4pIHtcbiAgICAgIGlmICghY3VycmVudE5lc3RlZFJvdy5zdWJSb3dzIHx8IGN1cnJlbnROZXN0ZWRSb3cuc3ViUm93cy5sZW5ndGggPT0gMCkge1xuICAgICAgICBib3R0b21MZXZlbFJvd0NvdW50Kys7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKGNvbnN0IHN1YlJvdyBvZiBjdXJyZW50TmVzdGVkUm93LnN1YlJvd3MpIHtcbiAgICAgICAgICByZWN1cnNpdmVDb3VudFJvd3Moc3ViUm93KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgbmVzdGVkUm93IG9mIGFsbE5lc3RlZFJvd3MpIHtcbiAgICAgIHJlY3Vyc2l2ZUNvdW50Um93cyhuZXN0ZWRSb3cpO1xuICAgIH1cblxuICAgIHJldHVybiBib3R0b21MZXZlbFJvd0NvdW50O1xuICB9XG5cbiAgLy8gQ291bnQgaG93IG1hbnkgcm93cyB3ZSBoYXZlIGF0IHRoZSBib3R0b20gbGV2ZWwgb2YgbmVzdGluZy5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNvdW50Qm90dG9tTGV2ZWxOZXN0ZWRIZWFkZXJSb3dzPFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3c+KFxuICAgIGFsbEhlYWRlcnM6IFJpdlRhYmxlLk5lc3RlZEhlYWRlclJvdzxSPltdLFxuICApOiBudW1iZXIge1xuICAgIGxldCBib3R0b21MZXZlbFJvd0NvdW50OiBudW1iZXIgPSAwO1xuXG4gICAgZm9yIChjb25zdCBoZWFkZXJSb3cgb2YgYWxsSGVhZGVycykge1xuICAgICAgY29uc3QgY3VycmVudEhlYWRlckJvdHRvbVJvd0NvdW50OiBudW1iZXIgPSBjb3VudEJvdHRvbUxldmVsTmVzdGVkUm93cyhcbiAgICAgICAgaGVhZGVyUm93LnN1YlJvd3MsXG4gICAgICApO1xuICAgICAgYm90dG9tTGV2ZWxSb3dDb3VudCArPSBjdXJyZW50SGVhZGVyQm90dG9tUm93Q291bnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJvdHRvbUxldmVsUm93Q291bnQ7XG4gIH1cbn1cbiJdfQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGluZy1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvdGFibGUvdGFibGUvc3RhdGUtaGVscGVycy9uZXN0aW5nLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUUvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxRCxNQUFNLEtBQVcsbUJBQW1CLENBc0xuQztBQXRMRCxXQUFpQixtQkFBbUI7SUFDbEMsU0FBZ0Isc0JBQXNCLENBTXBDLFVBQWlDLEVBQ2pDLFNBQXlDLEVBQ3pDLGVBQXlEO1FBRXpELE1BQU0sY0FBYyxHQUFnQyxVQUFVLENBQUMsT0FBTztZQUNwRSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDOUIsc0JBQXNCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FDM0Q7WUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVAsTUFBTSxjQUFjLEdBQTRCLGVBQWU7WUFDN0QsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFVCxtREFBbUQ7UUFDbkQsTUFBTSxvQkFBb0IsR0FBWSxLQUFLLENBQUM7UUFFNUMsTUFBTSxxQkFBcUIsR0FBWSxvQkFBb0IsQ0FBQyxjQUFjLENBQ3hFLFNBQVMsRUFDVCxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDbkIsQ0FBQztRQUVGLE9BQU87WUFDTCxFQUFFLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtZQUNyQixPQUFPLEVBQUUsY0FBYztZQUN2QixRQUFRLEVBQUUs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LDJCQUEyQixDQUFDO1NBQ3BEO1FBRUQsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBYmUsb0RBQWdDLG1DQWEvQyxDQUFBO0FBQ0gsQ0FBQyxFQXRMZ0IsbUJBQW1CLEtBQW5CLG1CQUFtQixRQXNMbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdW1CeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBSaXZUYWJsZSB9IGZyb20gJy4uL3N0YXRlJztcbmltcG9ydCB7IFRhYmxlQ29sbGFwc2VIZWxwZXJzIH0gZnJvbSAnLi9jb2xsYXBzZS1oZWxwZXJzJztcblxuZXhwb3J0IG5hbWVzcGFjZSBUYWJsZU5lc3RpbmdIZWxwZXJzIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUb0Z1bGxOZXN0ZWRSb3c8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCA9IHsga2V5OiAnJyB9LFxuICA+KFxuICAgIGN1cnJlbnRSb3c6IFJpdlRhYmxlLk5lc3RlZFJvdzxSPixcbiAgICBjb3JlU3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPixcbiAgICByb3dMaW5rRnVuY3Rpb24/OiAocm93OiBSLCBncm91cD86IEcpID0+IFJpdlRhYmxlLlJvd0xpbmssXG4gICk6IFJpdlRhYmxlLkZ1bGxOZXN0ZWRSb3c8Uj4ge1xuICAgIGNvbnN0IGN1cnJlbnRTdWJSb3dzOiBSaXZUYWJsZS5GdWxsTmVzdGVkUm93PFI+W10gPSBjdXJyZW50Um93LnN1YlJvd3NcbiAgICAgID8gY3VycmVudFJvdy5zdWJSb3dzLm1hcChzdWJyb3cgPT5cbiAgICAgICAgICBjb252ZXJ0VG9GdWxsTmVzdGVkUm93KHN1YnJvdywgY29yZVN0YXRlLCByb3dMaW5rRnVuY3Rpb24pLFxuICAgICAgICApXG4gICAgICA6IFtdO1xuXG4gICAgY29uc3QgY3VycmVudFJvd0xpbms6IFJpdlRhYmxlLlJvd0xpbmsgfCBudWxsID0gcm93TGlua0Z1bmN0aW9uXG4gICAgICA/IHJvd0xpbmtGdW5jdGlvbihjdXJyZW50Um93LmRhdGEpXG4gICAgICA6IG51bGw7XG5cbiAgICAvLyBXZSBkb24ndCBjdXJyZW50bHkgc3VwcG9ydCBzZWxlY3RpbmcgbmVzdGVkIHJvd3NcbiAgICBjb25zdCBjdXJyZW50Um93SXNTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3QgY3VycmVudFJvd0lzQ29sbGFwc2VkOiBib29sZWFuID0gVGFibGVDb2xsYXBzZUhlbHBlcnMuaXNSb3dDb2xsYXBzZWQoXG4gICAgICBjb3JlU3RhdGUsXG4gICAgICBjdXJyZW50Um93LmRhdGEuaWQsXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpZDogY3VycmVudFJvdy5kYXRhLmlkLFxuICAgICAgZGF0YTogY3VycmVudFJvdy5kYXRhLFxuICAgICAgcm93TGluazogY3VycmVudFJvd0xpbmssXG4gICAgICBzZWxlY3RlZDogY3VycmVudFJvd0lzU2VsZWN0ZWQsXG4gICAgICBzdWJSb3dzOiBjdXJyZW50U3ViUm93cyxcbiAgICAgIGlzQ29sbGFwc2VkOiBjdXJyZW50Um93SXNDb2xsYXBzZWQsXG4gICAgfTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VG9GdWxsTmVzdGVkSGVhZGVyUm93PFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAgPSB7IGtleTogJycgfSxcbiAgPihcbiAgICBjdXJyZW50Um93OiBSaXZUYWJsZS5OZXN0ZWRIZWFkZXJSb3c8Uj4sXG4gICAgY29yZVN0YXRlOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4sXG4gICAgcm93TGlua0Z1bmN0aW9uPzogKHJvdzogUiwgZ3JvdXA/OiBHKSA9PiBSaXZUYWJsZS5Sb3dMaW5rLFxuICApOiBSaXZUYWJsZS5GdWxsTmVzdGVkSGVhZGVyUm93PFI+IHtcbiAgICBjb25zdCBjdXJyZW50U3ViUm93czogUml2VGFibGUuRnVsbE5lc3RlZFJvdzxSPltdID0gY3VycmVudFJvdy5zdWJSb3dzXG4gICAgICA/IGN1cnJlbnRSb3cuc3ViUm93cy5tYXAoc3Vicm93ID0+XG4gICAgICAgICAgY29udmVydFRvRnVsbE5lc3RlZFJvdyhzdWJyb3csIGNvcmVTdGF0ZSwgcm93TGlua0Z1bmN0aW9uKSxcbiAgICAgICAgKVxuICAgICAgOiBbXTtcblxuICAgIGNvbnN0IGN1cnJlbnRIZWFkZXJJc0NvbGxhcHNlZDogYm9vbGVhbiA9XG4gICAgICBUYWJsZUNvbGxhcHNlSGVscGVycy5pc0hlYWRlckNvbGxhcHNlZChjb3JlU3RhdGUsIGN1cnJlbnRSb3cuaGVhZGVyVGV4dCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGN1cnJlbnRSb3cuaGVhZGVyVGV4dCA/PyAnJyxcbiAgICAgIHN1YlJvd3M6IGN1cnJlbnRTdWJSb3dzLFxuICAgICAgaGVhZGVyVGV4dDogY3VycmVudFJvdy5oZWFkZXJUZXh0LFxuICAgICAgaXNDb2xsYXBzZWQ6IGN1cnJlbnRIZWFkZXJJc0NvbGxhcHNlZCxcbiAgICB9O1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGZpbmROZXN0ZWRSb3dzV2l0aEhlYWRlcnNUb0tlZXA8UiBleHRlbmRzIFJpdlRhYmxlLlJvdz4oXG4gICAgYWxsUm93czogUml2VGFibGUuTmVzdGVkSGVhZGVyUm93PFI+W10sXG4gICAgZmlsdGVyZWRSb3dzOiBSW10sXG4gICk6IFJpdlRhYmxlLk5lc3RlZEhlYWRlclJvdzxSPltdIHtcbiAgICBjb25zdCBmaWx0ZXJlZElkczogU2V0PHN0cmluZyB8IG51bWJlcj4gPSBuZXcgU2V0KFxuICAgICAgZmlsdGVyZWRSb3dzLm1hcChyb3cgPT4gcm93LmlkKSxcbiAgICApO1xuXG4gICAgZnVuY3Rpb24gcmVjdXJzaXZlRmluZFJvd3NUb0tlZXAoXG4gICAgICBjdXJyZW50TmVzdGVkUm93OiBSaXZUYWJsZS5OZXN0ZWRSb3c8Uj4sXG4gICAgKTogUml2VGFibGUuTmVzdGVkUm93PFI+IHwgbnVsbCB7XG4gICAgICAvLyBLZWVwIGFsbCBzdWJyb3dzIGlmIGEgcGFyZW50IHJvdyBtYXRjaGVzIHRoZSBmaWx0ZXJcbiAgICAgIGlmIChmaWx0ZXJlZElkcy5oYXMoY3VycmVudE5lc3RlZFJvdy5kYXRhLmlkKSkge1xuICAgICAgICByZXR1cm4gY3VycmVudE5lc3RlZFJvdztcbiAgICAgIH1cblxuICAgICAgaWYgKCFjdXJyZW50TmVzdGVkUm93LnN1YlJvd3MpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN1YlJvd3NUb0tlZXA6IFJpdlRhYmxlLk5lc3RlZFJvdzxSPltdID0gW107XG4gICAgICBmb3IgKGNvbnN0IHN1YlJvdyBvZiBjdXJyZW50TmVzdGVkUm93LnN1YlJvd3MpIHtcbiAgICAgICAgY29uc3Qgcm93VG9LZWVwOiBSaXZUYWJsZS5OZXN0ZWRSb3c8Uj4gfCBudWxsID1cbiAgICAgICAgICByZWN1cnNpdmVGaW5kUm93c1RvS2VlcChzdWJSb3cpO1xuICAgICAgICBpZiAocm93VG9LZWVwKSB7XG4gICAgICAgICAgc3ViUm93c1RvS2VlcC5wdXNoKHJvd1RvS2VlcCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHN1YlJvd3NUb0tlZXAubGVuZ3RoID09IDApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmN1cnJlbnROZXN0ZWRSb3csXG4gICAgICAgIHN1YlJvd3M6IHN1YlJvd3NUb0tlZXAsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGtlcHROZXN0ZWRSb3dzOiBSaXZUYWJsZS5OZXN0ZWRIZWFkZXJSb3c8Uj5bXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBvdXRlckxldmVsSGVhZGVyIG9mIGFsbFJvd3MpIHtcbiAgICAgIGlmICghb3V0ZXJMZXZlbEhlYWRlci5zdWJSb3dzKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBrZXB0U3ViUm93czogUml2VGFibGUuTmVzdGVkUm93PFI+W10gPSBbXTtcbiAgICAgIGZvciAoY29uc3QgbmVzdGVkUm93IG9mIG91dGVyTGV2ZWxIZWFkZXIuc3ViUm93cykge1xuICAgICAgICBjb25zdCByb3dUb0tlZXA6IFJpdlRhYmxlLk5lc3RlZFJvdzxSPiB8IG51bGwgPVxuICAgICAgICAgIHJlY3Vyc2l2ZUZpbmRSb3dzVG9LZWVwKG5lc3RlZFJvdyk7XG4gICAgICAgIGlmIChyb3dUb0tlZXApIHtcbiAgICAgICAgICBrZXB0U3ViUm93cy5wdXNoKHJvd1RvS2VlcCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGtlcHRTdWJSb3dzLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBrZXB0TmVzdGVkUm93cy5wdXNoKHtcbiAgICAgICAgLi4ub3V0ZXJMZXZlbEhlYWRlcixcbiAgICAgICAgc3ViUm93czoga2VwdFN1YlJvd3MsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ga2VwdE5lc3RlZFJvd3M7XG4gIH1cblxuICAvLyBDb3VudCBob3cgbWFueSByb3dzIHdlIGhhdmUgYXQgdGhlIGJvdHRvbSBsZXZlbCBvZiBuZXN0aW5nLlxuICBleHBvcnQgZnVuY3Rpb24gY291bnRCb3R0b21MZXZlbE5lc3RlZFJvd3M8UiBleHRlbmRzIFJpdlRhYmxlLlJvdz4oXG4gICAgYWxsTmVzdGVkUm93czogUml2VGFibGUuTmVzdGVkUm93PFI+W10sXG4gICk6IG51bWJlciB7XG4gICAgbGV0IGJvdHRvbUxldmVsUm93Q291bnQ6IG51bWJlciA9IDA7XG5cbiAgICBmdW5jdGlvbiByZWN1cnNpdmVDb3VudFJvd3MoY3VycmVudE5lc3RlZFJvdzogUml2VGFibGUuTmVzdGVkUm93PFI+KSB7XG4gICAgICBpZiAoIWN1cnJlbnROZXN0ZWRSb3cuc3ViUm93cyB8fCBjdXJyZW50TmVzdGVkUm93LnN1YlJvd3MubGVuZ3RoID09IDApIHtcbiAgICAgICAgYm90dG9tTGV2ZWxSb3dDb3VudCsrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm9yIChjb25zdCBzdWJSb3cgb2YgY3VycmVudE5lc3RlZFJvdy5zdWJSb3dzKSB7XG4gICAgICAgICAgcmVjdXJzaXZlQ291bnRSb3dzKHN1YlJvdyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG5lc3RlZFJvdyBvZiBhbGxOZXN0ZWRSb3dzKSB7XG4gICAgICByZWN1cnNpdmVDb3VudFJvd3MobmVzdGVkUm93KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYm90dG9tTGV2ZWxSb3dDb3VudDtcbiAgfVxuXG4gIC8vIENvdW50IHRoZSByb3dzIHBhZ2luYXRpb24gcGFnZXMgdGhyb3VnaC5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNvdW50TmVzdGVkUm93czxSIGV4dGVuZHMgUml2VGFibGUuUm93PihcbiAgICBhbGxIZWFkZXJzOiBSaXZUYWJsZS5OZXN0ZWRIZWFkZXJSb3c8Uj5bXSxcbiAgICBwYWdpbmF0ZUJ5OiBSaXZUYWJsZS5OZXN0ZWRQYWdpbmF0ZUJ5LFxuICApOiBudW1iZXIge1xuICAgIHJldHVybiBwYWdpbmF0ZUJ5ID09PSAndG9wUm93cydcbiAgICAgID8gc3VtQnkoYWxsSGVhZGVycywgaGVhZGVyID0+IGhlYWRlci5zdWJSb3dzLmxlbmd0aClcbiAgICAgIDogY291bnRCb3R0b21MZXZlbE5lc3RlZEhlYWRlclJvd3MoYWxsSGVhZGVycyk7XG4gIH1cblxuICAvLyBDb3VudCBob3cgbWFueSByb3dzIHdlIGhhdmUgYXQgdGhlIGJvdHRvbSBsZXZlbCBvZiBuZXN0aW5nLlxuICBleHBvcnQgZnVuY3Rpb24gY291bnRCb3R0b21MZXZlbE5lc3RlZEhlYWRlclJvd3M8UiBleHRlbmRzIFJpdlRhYmxlLlJvdz4oXG4gICAgYWxsSGVhZGVyczogUml2VGFibGUuTmVzdGVkSGVhZGVyUm93PFI+W10sXG4gICk6IG51bWJlciB7XG4gICAgbGV0IGJvdHRvbUxldmVsUm93Q291bnQ6IG51bWJlciA9IDA7XG5cbiAgICBmb3IgKGNvbnN0IGhlYWRlclJvdyBvZiBhbGxIZWFkZXJzKSB7XG4gICAgICBjb25zdCBjdXJyZW50SGVhZGVyQm90dG9tUm93Q291bnQ6IG51bWJlciA9IGNvdW50Qm90dG9tTGV2ZWxOZXN0ZWRSb3dzKFxuICAgICAgICBoZWFkZXJSb3cuc3ViUm93cyxcbiAgICAgICk7XG4gICAgICBib3R0b21MZXZlbFJvd0NvdW50ICs9IGN1cnJlbnRIZWFkZXJCb3R0b21Sb3dDb3VudDtcbiAgICB9XG5cbiAgICByZXR1cm4gYm90dG9tTGV2ZWxSb3dDb3VudDtcbiAgfVxufVxuIl19
@@ -70,23 +70,28 @@ export var TablePaginationHelpers;
70
70
  return false;
71
71
  }
72
72
  TablePaginationHelpers.isPageOutOfBounds = isPageOutOfBounds;
73
- // Paginate based on bottom level rows, splitting as necessary to fit within the page
74
- function paginateNestedHeaderRows(allHeaders, pageNumber, pageSize) {
73
+ /*
74
+ Paginate based on bottom level rows, splitting as necessary to fit within the page,
75
+ or based on top level rows, keeping each with all of its subrows.
76
+ */
77
+ function paginateNestedHeaderRows(allHeaders, pageNumber, pageSize, paginateBy = 'bottomRows') {
75
78
  const startIdx = pageSize * pageNumber;
76
79
  const endIdx = startIdx + pageSize;
77
- let bottomLevelRowCount = 0;
80
+ let countedRowCount = 0;
81
+ function countRow(currentNestedRow) {
82
+ countedRowCount++;
83
+ // Since we add 1 first, the bounds should be (startIdx, endIdx]
84
+ return countedRowCount > startIdx && countedRowCount <= endIdx
85
+ ? currentNestedRow
86
+ : null;
87
+ }
78
88
  function recursivePaginateRows(currentNestedRow) {
79
- if (bottomLevelRowCount > endIdx) {
89
+ if (countedRowCount > endIdx) {
80
90
  return null;
81
91
  }
82
92
  // If there are no subrows, stop recursing
83
- if (!currentNestedRow.subRows) {
84
- bottomLevelRowCount++;
85
- // Since we add 1 first, the bounds should be (startIdx, endIdx]
86
- if (bottomLevelRowCount > startIdx && bottomLevelRowCount <= endIdx) {
87
- return currentNestedRow;
88
- }
89
- return null;
93
+ if (!currentNestedRow.subRows?.length) {
94
+ return countRow(currentNestedRow);
90
95
  }
91
96
  else {
92
97
  const subRowsToKeep = [];
@@ -112,7 +117,9 @@ export var TablePaginationHelpers;
112
117
  for (const headerRow of allHeaders) {
113
118
  const paginatedSubRows = [];
114
119
  for (const subRow of headerRow.subRows) {
115
- const recursedSubRow = recursivePaginateRows(subRow);
120
+ const recursedSubRow = paginateBy === 'topRows'
121
+ ? countRow(subRow)
122
+ : recursivePaginateRows(subRow);
116
123
  if (recursedSubRow != null) {
117
124
  paginatedSubRows.push(recursedSubRow);
118
125
  }
@@ -129,4 +136,4 @@ export var TablePaginationHelpers;
129
136
  }
130
137
  TablePaginationHelpers.paginateNestedHeaderRows = paginateNestedHeaderRows;
131
138
  })(TablePaginationHelpers || (TablePaginationHelpers = {}));
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvdGFibGUvdGFibGUvc3RhdGUtaGVscGVycy9wYWdpbmF0aW9uLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXRELE1BQU0sS0FBVyxzQkFBc0IsQ0EyTXRDO0FBM01ELFdBQWlCLHNCQUFzQjtJQUNyQyxTQUFnQixZQUFZLENBSzFCLEtBQXFDO1FBQ3JDLElBQUksa0JBQWtCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQ2IsSUFBSSxDQUFDLElBQUksQ0FDUCxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQ2xFLEVBQ0QsQ0FBQyxDQUNGLENBQUM7U0FDSDtRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FDYixJQUFJLENBQUMsSUFBSSxDQUNQLEtBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUNyRSxFQUNELENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQXBCZSxtQ0FBWSxlQW9CM0IsQ0FBQTtJQUVELFNBQWdCLGVBQWUsQ0FLN0IsS0FBcUM7UUFDckMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQztZQUN0QyxDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFUZSxzQ0FBZSxrQkFTOUIsQ0FBQTtJQUVELFNBQWdCLFFBQVEsQ0FLdEIsS0FBcUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNkLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUMzRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ3pELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFlBQVksR0FBRyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVUsR0FBRyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLE9BQU8sS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQWhCZSwrQkFBUSxXQWdCdkIsQ0FBQTtJQUVELFNBQWdCLFdBQVcsQ0FLekIsS0FBcUM7UUFDckMsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQVRlLGtDQUFXLGNBUzFCLENBQUE7SUFFRCwyRUFBMkU7SUFDM0UsU0FBZ0IseUJBQXlCLENBS3ZDLEtBQXFDO1FBQ3JDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRTtZQUNuQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSSxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1NBQzFFO1FBQ0QsT0FBTyxDQUNMLEtBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDMUUsQ0FBQztJQUNKLENBQUM7SUFmZSxnREFBeUIsNEJBZXhDLENBQUE7SUFFRCxTQUFnQixlQUFlLENBSzdCLEtBQXFDO1FBQ3JDLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQVBlLHNDQUFlLGtCQU85QixDQUFBO0lBRUQsU0FBZ0IsYUFBYSxDQUszQixLQUFxQztRQUNyQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQ2IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUNuRSxLQUFLLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUNuQyxDQUFDO0lBQ0osQ0FBQztJQVZlLG9DQUFhLGdCQVU1QixDQUFBO0lBRUQsU0FBZ0IsaUJBQWlCLENBTS9CLEtBQXFDLEVBQ3JDLE1BRzRCO1FBRTVCLElBQUksa0JBQWtCLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzVDLE1BQU0sOEJBQThCLEdBQ2xDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksTUFBTSxDQUFDLGVBQWUsR0FBRyw4QkFBOEIsRUFBRTtnQkFDM0QsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO2FBQU07WUFDTCxNQUFNLHlCQUF5QixHQUM3QixLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUNwRSxJQUFJLE1BQU0sQ0FBQyxxQkFBcUIsR0FBRyx5QkFBeUIsRUFBRTtnQkFDNUQsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBMUJlLHdDQUFpQixvQkEwQmhDLENBQUE7SUFFRCxxRkFBcUY7SUFDckYsU0FBZ0Isd0JBQXdCLENBQ3RDLFVBQXlDLEVBQ3pDLFVBQWtCLEVBQ2xCLFFBQWdCO1FBRWhCLE1BQU0sUUFBUSxHQUFXLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDL0MsTUFBTSxNQUFNLEdBQVcsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUUzQyxJQUFJLG1CQUFtQixHQUFXLENBQUMsQ0FBQztRQUVwQyxTQUFTLHFCQUFxQixDQUM1QixnQkFBdUM7WUFFdkMsSUFBSSxtQkFBbUIsR0FBRyxNQUFNLEVBQUU7Z0JBQ2hDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFFRCwwQ0FBMEM7WUFDMUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtnQkFDN0IsbUJBQW1CLEVBQUUsQ0FBQztnQkFFdEIsZ0VBQWdFO2dCQUNoRSxJQUFJLG1CQUFtQixHQUFHLFFBQVEsSUFBSSxtQkFBbUIsSUFBSSxNQUFNLEVBQUU7b0JBQ25FLE9BQU8sZ0JBQWdCLENBQUM7aUJBQ3pCO2dCQUNELE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsTUFBTSxhQUFhLEdBQTRCLEVBQUUsQ0FBQztnQkFDbEQsS0FBSyxNQUFNLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7b0JBQzdDLE1BQU0sVUFBVSxHQUNkLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNoQyxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUU7d0JBQ3RCLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7cUJBQ2hDO2lCQUNGO2dCQUVELElBQUksYUFBYSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7b0JBQzdCLE9BQU8sSUFBSSxDQUFDO2lCQUNiO3FCQUFNO29CQUNMLHNEQUFzRDtvQkFDdEQsT0FBTzt3QkFDTCxHQUFHLGdCQUFnQjt3QkFDbkIsT0FBTyxFQUFFLGFBQWE7cUJBQ3ZCLENBQUM7aUJBQ0g7YUFDRjtRQUNILENBQUM7UUFFRCxNQUFNLGdCQUFnQixHQUFrQyxFQUFFLENBQUM7UUFDM0QsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUU7WUFDbEMsTUFBTSxnQkFBZ0IsR0FBNEIsRUFBRSxDQUFDO1lBRXJELEtBQUssTUFBTSxNQUFNLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRTtnQkFDdEMsTUFBTSxjQUFjLEdBQ2xCLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUVoQyxJQUFJLGNBQWMsSUFBSSxJQUFJLEVBQUU7b0JBQzFCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztpQkFDdkM7YUFDRjtZQUVELElBQUksZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDL0IsbUVBQW1FO2dCQUNuRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7b0JBQ3BCLEdBQUcsU0FBUztvQkFDWixPQUFPLEVBQUUsZ0JBQWdCO2lCQUMxQixDQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBdkVlLCtDQUF3QiwyQkF1RXZDLENBQUE7QUFDSCxDQUFDLEVBM01nQixzQkFBc0IsS0FBdEIsc0JBQXNCLFFBMk10QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJhbmdlIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFJpdlRhYmxlIH0gZnJvbSAnLi4vc3RhdGUnO1xuaW1wb3J0IHsgVGFibGVSZXN1bHRIZWxwZXJzIH0gZnJvbSAnLi9yZXN1bHQtaGVscGVycyc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgVGFibGVQYWdpbmF0aW9uSGVscGVycyB7XG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRQYWdlQ291bnQ8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCxcbiAgPihzdGF0ZTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+KTogbnVtYmVyIHtcbiAgICBpZiAoVGFibGVSZXN1bHRIZWxwZXJzLmlzR3JvdXBSZXN1bHQoc3RhdGUucmVzdWx0KSkge1xuICAgICAgcmV0dXJuIE1hdGgubWF4KFxuICAgICAgICBNYXRoLmNlaWwoXG4gICAgICAgICAgc3RhdGUucmVzdWx0LnRvdGFsR3JvdXBDb3VudCAvIHN0YXRlLnF1ZXJ5Lmdyb3VwaW5nLmdyb3Vwc1BlclBhZ2UsXG4gICAgICAgICksXG4gICAgICAgIDEsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICBNYXRoLmNlaWwoXG4gICAgICAgIHN0YXRlLnJlc3VsdC50b3RhbE1hdGNoaW5nUm93Q291bnQgLyBzdGF0ZS5xdWVyeS5wYWdpbmF0aW9uLnBhZ2VTaXplLFxuICAgICAgKSxcbiAgICAgIDEsXG4gICAgKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRQcmV2aW91c1BhZ2U8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCxcbiAgPihzdGF0ZTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+KTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHN0YXRlLnF1ZXJ5LnBhZ2luYXRpb24ucGFnZSA9PT0gMFxuICAgICAgPyBudWxsXG4gICAgICA6IHN0YXRlLnF1ZXJ5LnBhZ2luYXRpb24ucGFnZSAtIDE7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0UGFnZXM8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCxcbiAgPihzdGF0ZTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+KTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHBhZGRpbmcgPSA0O1xuICAgIGNvbnN0IG1pbiA9IDA7XG4gICAgY29uc3QgbWF4ID0gZ2V0UGFnZUNvdW50KHN0YXRlKSAtIDE7XG4gICAgY29uc3QgZGVzaXJlZFN0YXJ0ID0gc3RhdGUucXVlcnkucGFnaW5hdGlvbi5wYWdlIC0gcGFkZGluZztcbiAgICBjb25zdCBjbGFtcGVkU3RhcnQgPSBNYXRoLm1heChtaW4sIGRlc2lyZWRTdGFydCk7XG4gICAgY29uc3QgZGVzaXJlZEVuZCA9IHN0YXRlLnF1ZXJ5LnBhZ2luYXRpb24ucGFnZSArIHBhZGRpbmc7XG4gICAgY29uc3QgY2xhbXBlZEVuZCA9IE1hdGgubWluKG1heCwgZGVzaXJlZEVuZCk7XG4gICAgY29uc3Qgc3RhcnQgPSBNYXRoLm1heChtaW4sIGNsYW1wZWRTdGFydCAtIChkZXNpcmVkRW5kIC0gY2xhbXBlZEVuZCkpO1xuICAgIGNvbnN0IGVuZCA9IE1hdGgubWluKG1heCwgY2xhbXBlZEVuZCArIChjbGFtcGVkU3RhcnQgLSBkZXNpcmVkU3RhcnQpKTtcbiAgICByZXR1cm4gcmFuZ2Uoc3RhcnQsIGVuZCArIDEpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldE5leHRQYWdlPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPik6IG51bWJlciB8IG51bGwge1xuICAgIGNvbnN0IG1heCA9IGdldFBhZ2VDb3VudChzdGF0ZSkgLSAxO1xuICAgIGNvbnN0IG5leHQgPSBzdGF0ZS5xdWVyeS5wYWdpbmF0aW9uLnBhZ2UgKyAxO1xuICAgIHJldHVybiBuZXh0IDw9IG1heCA/IG5leHQgOiBudWxsO1xuICB9XG5cbiAgLy8gV2UgZG9uJ3Qgd2FudCB0byBzaG93IHRoZSBwYWdpbmF0aW9uIGNvbnRyb2xzIHdoZW4gdGhleSBhcmUgdW5uZWNlc3NhcnkuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRTaG93UGFnaW5hdGlvbkNvbnRyb2xzPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPik6IGJvb2xlYW4ge1xuICAgIGlmIChzdGF0ZS5xdWVyeS5wYWdpbmF0aW9uLnBhZ2UgPiAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKFRhYmxlUmVzdWx0SGVscGVycy5pc0dyb3VwUmVzdWx0KHN0YXRlLnJlc3VsdCkpIHtcbiAgICAgIHJldHVybiBzdGF0ZS5yZXN1bHQudG90YWxHcm91cENvdW50ID4gc3RhdGUucXVlcnkuZ3JvdXBpbmcuZ3JvdXBzUGVyUGFnZTtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIHN0YXRlLnJlc3VsdC50b3RhbE1hdGNoaW5nUm93Q291bnQgPiBNYXRoLm1pbiguLi5bLi4uUml2VGFibGUucGFnZVNpemVzXSlcbiAgICApO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFBhZ2VSb3dTdGFydDxcbiAgICBSIGV4dGVuZHMgUml2VGFibGUuUm93LFxuICAgIEMgZXh0ZW5kcyBSaXZUYWJsZS5Db2x1bW4sXG4gICAgRiBleHRlbmRzIFJpdlRhYmxlLkZpbHRlcnMsXG4gICAgRyBleHRlbmRzIFJpdlRhYmxlLkdyb3VwLFxuICA+KHN0YXRlOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4pOiBudW1iZXIge1xuICAgIHJldHVybiBzdGF0ZS5xdWVyeS5wYWdpbmF0aW9uLnBhZ2UgKiBzdGF0ZS5xdWVyeS5wYWdpbmF0aW9uLnBhZ2VTaXplICsgMTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRQYWdlUm93RW5kPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKFxuICAgICAgKHN0YXRlLnF1ZXJ5LnBhZ2luYXRpb24ucGFnZSArIDEpICogc3RhdGUucXVlcnkucGFnaW5hdGlvbi5wYWdlU2l6ZSxcbiAgICAgIHN0YXRlLnJlc3VsdC50b3RhbE1hdGNoaW5nUm93Q291bnQsXG4gICAgKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc1BhZ2VPdXRPZkJvdW5kczxcbiAgICBSIGV4dGVuZHMgUml2VGFibGUuUm93LFxuICAgIEMgZXh0ZW5kcyBSaXZUYWJsZS5Db2x1bW4sXG4gICAgRiBleHRlbmRzIFJpdlRhYmxlLkZpbHRlcnMsXG4gICAgRyBleHRlbmRzIFJpdlRhYmxlLkdyb3VwLFxuICA+KFxuICAgIHN0YXRlOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4sXG4gICAgcmVzdWx0OlxuICAgICAgfCBSaXZUYWJsZS5SZXN1bHQ8Uj5cbiAgICAgIHwgUml2VGFibGUuR3JvdXBSZXN1bHQ8UiwgRz5cbiAgICAgIHwgUml2VGFibGUuTmVzdGVkUmVzdWx0PFI+LFxuICApOiBib29sZWFuIHtcbiAgICBpZiAoVGFibGVSZXN1bHRIZWxwZXJzLmlzR3JvdXBSZXN1bHQocmVzdWx0KSkge1xuICAgICAgY29uc3QgbWluR3JvdXBWYWxUb1Nob3dPbkN1cnJlbnRQYWdlID1cbiAgICAgICAgc3RhdGUucXVlcnkucGFnaW5hdGlvbi5wYWdlICogc3RhdGUucXVlcnkuZ3JvdXBpbmcuZ3JvdXBzUGVyUGFnZSArIDE7XG4gICAgICBpZiAocmVzdWx0LnRvdGFsR3JvdXBDb3VudCA8IG1pbkdyb3VwVmFsVG9TaG93T25DdXJyZW50UGFnZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWluUm93VG9TaG93T25DdXJyZW50UGFnZSA9XG4gICAgICAgIHN0YXRlLnF1ZXJ5LnBhZ2luYXRpb24ucGFnZSAqIHN0YXRlLnF1ZXJ5LnBhZ2luYXRpb24ucGFnZVNpemUgKyAxO1xuICAgICAgaWYgKHJlc3VsdC50b3RhbE1hdGNoaW5nUm93Q291bnQgPCBtaW5Sb3dUb1Nob3dPbkN1cnJlbnRQYWdlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBQYWdpbmF0ZSBiYXNlZCBvbiBib3R0b20gbGV2ZWwgcm93cywgc3BsaXR0aW5nIGFzIG5lY2Vzc2FyeSB0byBmaXQgd2l0aGluIHRoZSBwYWdlXG4gIGV4cG9ydCBmdW5jdGlvbiBwYWdpbmF0ZU5lc3RlZEhlYWRlclJvd3M8UiBleHRlbmRzIFJpdlRhYmxlLlJvdz4oXG4gICAgYWxsSGVhZGVyczogUml2VGFibGUuTmVzdGVkSGVhZGVyUm93PFI+W10sXG4gICAgcGFnZU51bWJlcjogbnVtYmVyLFxuICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICk6IFJpdlRhYmxlLk5lc3RlZEhlYWRlclJvdzxSPltdIHtcbiAgICBjb25zdCBzdGFydElkeDogbnVtYmVyID0gcGFnZVNpemUgKiBwYWdlTnVtYmVyO1xuICAgIGNvbnN0IGVuZElkeDogbnVtYmVyID0gc3RhcnRJZHggKyBwYWdlU2l6ZTtcblxuICAgIGxldCBib3R0b21MZXZlbFJvd0NvdW50OiBudW1iZXIgPSAwO1xuXG4gICAgZnVuY3Rpb24gcmVjdXJzaXZlUGFnaW5hdGVSb3dzKFxuICAgICAgY3VycmVudE5lc3RlZFJvdzogUml2VGFibGUuTmVzdGVkUm93PFI+LFxuICAgICk6IFJpdlRhYmxlLk5lc3RlZFJvdzxSPiB8IG51bGwge1xuICAgICAgaWYgKGJvdHRvbUxldmVsUm93Q291bnQgPiBlbmRJZHgpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBzdWJyb3dzLCBzdG9wIHJlY3Vyc2luZ1xuICAgICAgaWYgKCFjdXJyZW50TmVzdGVkUm93LnN1YlJvd3MpIHtcbiAgICAgICAgYm90dG9tTGV2ZWxSb3dDb3VudCsrO1xuXG4gICAgICAgIC8vIFNpbmNlIHdlIGFkZCAxIGZpcnN0LCB0aGUgYm91bmRzIHNob3VsZCBiZSAoc3RhcnRJZHgsIGVuZElkeF1cbiAgICAgICAgaWYgKGJvdHRvbUxldmVsUm93Q291bnQgPiBzdGFydElkeCAmJiBib3R0b21MZXZlbFJvd0NvdW50IDw9IGVuZElkeCkge1xuICAgICAgICAgIHJldHVybiBjdXJyZW50TmVzdGVkUm93O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3ViUm93c1RvS2VlcDogUml2VGFibGUuTmVzdGVkUm93PFI+W10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBzdWJSb3cgb2YgY3VycmVudE5lc3RlZFJvdy5zdWJSb3dzKSB7XG4gICAgICAgICAgY29uc3QgY291bnRlZFJvdzogUml2VGFibGUuTmVzdGVkUm93PFI+IHwgbnVsbCA9XG4gICAgICAgICAgICByZWN1cnNpdmVQYWdpbmF0ZVJvd3Moc3ViUm93KTtcbiAgICAgICAgICBpZiAoY291bnRlZFJvdyAhPSBudWxsKSB7XG4gICAgICAgICAgICBzdWJSb3dzVG9LZWVwLnB1c2goY291bnRlZFJvdyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN1YlJvd3NUb0tlZXAubGVuZ3RoID09IDApIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBLZWVwIGFueSB0b3AgbGV2ZWwgcm93IHRoYXQgaGFzIGF0IGxlYXN0IG9uZSBzdWJyb3dcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY3VycmVudE5lc3RlZFJvdyxcbiAgICAgICAgICAgIHN1YlJvd3M6IHN1YlJvd3NUb0tlZXAsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHBhZ2luYXRlZEhlYWRlcnM6IFJpdlRhYmxlLk5lc3RlZEhlYWRlclJvdzxSPltdID0gW107XG4gICAgZm9yIChjb25zdCBoZWFkZXJSb3cgb2YgYWxsSGVhZGVycykge1xuICAgICAgY29uc3QgcGFnaW5hdGVkU3ViUm93czogUml2VGFibGUuTmVzdGVkUm93PFI+W10gPSBbXTtcblxuICAgICAgZm9yIChjb25zdCBzdWJSb3cgb2YgaGVhZGVyUm93LnN1YlJvd3MpIHtcbiAgICAgICAgY29uc3QgcmVjdXJzZWRTdWJSb3c6IFJpdlRhYmxlLk5lc3RlZFJvdzxSPiB8IG51bGwgPVxuICAgICAgICAgIHJlY3Vyc2l2ZVBhZ2luYXRlUm93cyhzdWJSb3cpO1xuXG4gICAgICAgIGlmIChyZWN1cnNlZFN1YlJvdyAhPSBudWxsKSB7XG4gICAgICAgICAgcGFnaW5hdGVkU3ViUm93cy5wdXNoKHJlY3Vyc2VkU3ViUm93KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAocGFnaW5hdGVkU3ViUm93cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vIEtlZXAgYW55IGhlYWRlciB0aGF0IGhhcyBhdCBsZWFzdCBvbmUgc3Vicm93IGluIHRoZSBjdXJyZW50IHBhZ2VcbiAgICAgICAgcGFnaW5hdGVkSGVhZGVycy5wdXNoKHtcbiAgICAgICAgICAuLi5oZWFkZXJSb3csXG4gICAgICAgICAgc3ViUm93czogcGFnaW5hdGVkU3ViUm93cyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhZ2luYXRlZEhlYWRlcnM7XG4gIH1cbn1cbiJdfQ==
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvdGFibGUvdGFibGUvc3RhdGUtaGVscGVycy9wYWdpbmF0aW9uLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXRELE1BQU0sS0FBVyxzQkFBc0IsQ0FzTnRDO0FBdE5ELFdBQWlCLHNCQUFzQjtJQUNyQyxTQUFnQixZQUFZLENBSzFCLEtBQXFDO1FBQ3JDLElBQUksa0JBQWtCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQ2IsSUFBSSxDQUFDLElBQUksQ0FDUCxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQ2xFLEVBQ0QsQ0FBQyxDQUNGLENBQUM7U0FDSDtRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FDYixJQUFJLENBQUMsSUFBSSxDQUNQLEtBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUNyRSxFQUNELENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQXBCZSxtQ0FBWSxlQW9CM0IsQ0FBQTtJQUVELFNBQWdCLGVBQWUsQ0FLN0IsS0FBcUM7UUFDckMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQztZQUN0QyxDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxLQUFLLENB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Q0FBQyxDQUFDO2dCQUVwQyxJQUFJLGNBQWMsSUFBSSxJQUFJLEVBQUU7b0JBQzFCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztpQkFDdkM7YUFDRjtZQUVELElBQUksZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDL0IsbUVBQW1FO2dCQUNuRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7b0JBQ3BCLEdBQUcsU0FBUztvQkFDWixPQUFPLEVBQUUsZ0JBQWdCO2lCQUMxQixDQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBL0VlLCtDQUF3QiwyQkErRXZDLENBQUE7QUFDSCxDQUFDLEVBdE5nQixzQkFBc0IsS0FBdEIsc0JBQXNCLFFBc050QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJhbmdlIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFJpdlRhYmxlIH0gZnJvbSAnLi4vc3RhdGUnO1xuaW1wb3J0IHsgVGFibGVSZXN1bHRIZWxwZXJzIH0gZnJvbSAnLi9yZXN1bHQtaGVscGVycyc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgVGFibGVQYWdpbmF0aW9uSGVscGVycyB7XG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRQYWdlQ291bnQ8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCxcbiAgPihzdGF0ZTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+KTogbnVtYmVyIHtcbiAgICBpZiAoVGFibGVSZXN1bHRIZWxwZXJzLmlzR3JvdXBSZXN1bHQoc3RhdGUucmVzdWx0KSkge1xuICAgICAgcmV0dXJuIE1hdGgubWF4KFxuICAgICAgICBNYXRoLmNlaWwoXG4gICAgICAgICAgc3RhdGUucmVzdWx0LnRvdGFsR3JvdXBDb3VudCAvIHN0YXRlLnF1ZXJ5Lmdyb3VwaW5nLmdyb3Vwc1BlclBhZ2UsXG4gICAgICAgICksXG4gICAgICAgIDEsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICBNYXRoLmNlaWwoXG4gICAgICAgIHN0YXRlLnJlc3VsdC50b3RhbE1hdGNoaW5nUm93Q291bnQgLyBzdGF0ZS5xdWVyeS5wYWdpbmF0aW9uLnBhZ2VTaXplLFxuICAgICAgKSxcbiAgICAgIDEsXG4gICAgKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRQcmV2aW91c1BhZ2U8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCxcbiAgPihzdGF0ZTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+KTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHN0YXRlLnF1ZXJ5LnBhZ2luYXRpb24ucGFnZSA9PT0gMFxuICAgICAgPyBudWxsXG4gICAgICA6IHN0YXRlLnF1ZXJ5LnBhZ2luYXRpb24ucGFnZSAtIDE7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0UGFnZXM8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCxcbiAgPihzdGF0ZTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+KTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHBhZGRpbmcgPSA0O1xuICAgIGNvbnN0IG1pbiA9IDA7XG4gICAgY29uc3QgbWF4ID0gZ2V0UGFnZUNvdW50KHN0YXRlKSAtIDE7XG4gICAgY29uc3QgZGVzaXJlZFN0YXJ0ID0gc3RhdGUucXVlcnkucGFnaW5hdGlvbi5wYWdlIC0gcGFkZGluZztcbiAgICBjb25zdCBjbGFtcGVkU3RhcnQgPSBNYXRoLm1heChtaW4sIGRlc2lyZWRTdGFydCk7XG4gICAgY29uc3QgZGVzaXJlZEVuZCA9IHN0YXRlLnF1ZXJ5LnBhZ2luYXRpb24ucGFnZSArIHBhZGRpbmc7XG4gICAgY29uc3QgY2xhbXBlZEVuZCA9IE1hdGgubWluKG1heCwgZGVzaXJlZEVuZCk7XG4gICAgY29uc3Qgc3RhcnQgPSBNYXRoLm1heChtaW4sIGNsYW1wZWRTdGFydCAtIChkZXNpcmVkRW5kIC0gY2xhbXBlZEVuZCkpO1xuICAgIGNvbnN0IGVuZCA9IE1hdGgubWluKG1heCwgY2xhbXBlZEVuZCArIChjbGFtcGVkU3RhcnQgLSBkZXNpcmVkU3RhcnQpKTtcbiAgICByZXR1cm4gcmFuZ2Uoc3RhcnQsIGVuZCArIDEpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldE5leHRQYWdlPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPik6IG51bWJlciB8IG51bGwge1xuICAgIGNvbnN0IG1heCA9IGdldFBhZ2VDb3VudChzdGF0ZSkgLSAxO1xuICAgIGNvbnN0IG5leHQgPSBzdGF0ZS5xdWVyeS5wYWdpbmF0aW9uLnBhZ2UgKyAxO1xuICAgIHJldHVybiBuZXh0IDw9IG1heCA/IG5leHQgOiBudWxsO1xuICB9XG5cbiAgLy8gV2UgZG9uJ3Qgd2FudCB0byBzaG93IHRoZSBwYWdpbmF0aW9uIGNvbnRyb2xzIHdoZW4gdGhleSBhcmUgdW5uZWNlc3NhcnkuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRTaG93UGFnaW5hdGlvbkNvbnRyb2xzPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPik6IGJvb2xlYW4ge1xuICAgIGlmIChzdGF0ZS5xdWVyeS5wYWdpbmF0aW9uLnBhZ2UgPiAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKFRhYmxlUmVzdWx0SGVscGVycy5pc0dyb3VwUmVzdWx0KHN0YXRlLnJlc3VsdCkpIHtcbiAgICAgIHJldHVybiBzdGF0ZS5yZXN1bHQudG90YWxHcm91cENvdW50ID4gc3RhdGUucXVlcnkuZ3JvdXBpbmcuZ3JvdXBzUGVyUGFnZTtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIHN0YXRlLnJlc3VsdC50b3RhbE1hdGNoaW5nUm93Q291bnQgPiBNYXRoLm1pbiguLi5bLi4uUml2VGFibGUucGFnZVNpemVzXSlcbiAgICApO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFBhZ2VSb3dTdGFydDxcbiAgICBSIGV4dGVuZHMgUml2VGFibGUuUm93LFxuICAgIEMgZXh0ZW5kcyBSaXZUYWJsZS5Db2x1bW4sXG4gICAgRiBleHRlbmRzIFJpdlRhYmxlLkZpbHRlcnMsXG4gICAgRyBleHRlbmRzIFJpdlRhYmxlLkdyb3VwLFxuICA+KHN0YXRlOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4pOiBudW1iZXIge1xuICAgIHJldHVybiBzdGF0ZS5xdWVyeS5wYWdpbmF0aW9uLnBhZ2UgKiBzdGF0ZS5xdWVyeS5wYWdpbmF0aW9uLnBhZ2VTaXplICsgMTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRQYWdlUm93RW5kPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKFxuICAgICAgKHN0YXRlLnF1ZXJ5LnBhZ2luYXRpb24ucGFnZSArIDEpICogc3RhdGUucXVlcnkucGFnaW5hdGlvbi5wYWdlU2l6ZSxcbiAgICAgIHN0YXRlLnJlc3VsdC50b3RhbE1hdGNoaW5nUm93Q291bnQsXG4gICAgKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc1BhZ2VPdXRPZkJvdW5kczxcbiAgICBSIGV4dGVuZHMgUml2VGFibGUuUm93LFxuICAgIEMgZXh0ZW5kcyBSaXZUYWJsZS5Db2x1bW4sXG4gICAgRiBleHRlbmRzIFJpdlRhYmxlLkZpbHRlcnMsXG4gICAgRyBleHRlbmRzIFJpdlRhYmxlLkdyb3VwLFxuICA+KFxuICAgIHN0YXRlOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4sXG4gICAgcmVzdWx0OlxuICAgICAgfCBSaXZUYWJsZS5SZXN1bHQ8Uj5cbiAgICAgIHwgUml2VGFibGUuR3JvdXBSZXN1bHQ8UiwgRz5cbiAgICAgIHwgUml2VGFibGUuTmVzdGVkUmVzdWx0PFI+LFxuICApOiBib29sZWFuIHtcbiAgICBpZiAoVGFibGVSZXN1bHRIZWxwZXJzLmlzR3JvdXBSZXN1bHQocmVzdWx0KSkge1xuICAgICAgY29uc3QgbWluR3JvdXBWYWxUb1Nob3dPbkN1cnJlbnRQYWdlID1cbiAgICAgICAgc3RhdGUucXVlcnkucGFnaW5hdGlvbi5wYWdlICogc3RhdGUucXVlcnkuZ3JvdXBpbmcuZ3JvdXBzUGVyUGFnZSArIDE7XG4gICAgICBpZiAocmVzdWx0LnRvdGFsR3JvdXBDb3VudCA8IG1pbkdyb3VwVmFsVG9TaG93T25DdXJyZW50UGFnZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWluUm93VG9TaG93T25DdXJyZW50UGFnZSA9XG4gICAgICAgIHN0YXRlLnF1ZXJ5LnBhZ2luYXRpb24ucGFnZSAqIHN0YXRlLnF1ZXJ5LnBhZ2luYXRpb24ucGFnZVNpemUgKyAxO1xuICAgICAgaWYgKHJlc3VsdC50b3RhbE1hdGNoaW5nUm93Q291bnQgPCBtaW5Sb3dUb1Nob3dPbkN1cnJlbnRQYWdlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKlxuICAgIFBhZ2luYXRlIGJhc2VkIG9uIGJvdHRvbSBsZXZlbCByb3dzLCBzcGxpdHRpbmcgYXMgbmVjZXNzYXJ5IHRvIGZpdCB3aXRoaW4gdGhlIHBhZ2UsXG4gICAgb3IgYmFzZWQgb24gdG9wIGxldmVsIHJvd3MsIGtlZXBpbmcgZWFjaCB3aXRoIGFsbCBvZiBpdHMgc3Vicm93cy5cbiAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIHBhZ2luYXRlTmVzdGVkSGVhZGVyUm93czxSIGV4dGVuZHMgUml2VGFibGUuUm93PihcbiAgICBhbGxIZWFkZXJzOiBSaXZUYWJsZS5OZXN0ZWRIZWFkZXJSb3c8Uj5bXSxcbiAgICBwYWdlTnVtYmVyOiBudW1iZXIsXG4gICAgcGFnZVNpemU6IG51bWJlcixcbiAgICBwYWdpbmF0ZUJ5OiBSaXZUYWJsZS5OZXN0ZWRQYWdpbmF0ZUJ5ID0gJ2JvdHRvbVJvd3MnLFxuICApOiBSaXZUYWJsZS5OZXN0ZWRIZWFkZXJSb3c8Uj5bXSB7XG4gICAgY29uc3Qgc3RhcnRJZHg6IG51bWJlciA9IHBhZ2VTaXplICogcGFnZU51bWJlcjtcbiAgICBjb25zdCBlbmRJZHg6IG51bWJlciA9IHN0YXJ0SWR4ICsgcGFnZVNpemU7XG5cbiAgICBsZXQgY291bnRlZFJvd0NvdW50OiBudW1iZXIgPSAwO1xuXG4gICAgZnVuY3Rpb24gY291bnRSb3coXG4gICAgICBjdXJyZW50TmVzdGVkUm93OiBSaXZUYWJsZS5OZXN0ZWRSb3c8Uj4sXG4gICAgKTogUml2VGFibGUuTmVzdGVkUm93PFI+IHwgbnVsbCB7XG4gICAgICBjb3VudGVkUm93Q291bnQrKztcblxuICAgICAgLy8gU2luY2Ugd2UgYWRkIDEgZmlyc3QsIHRoZSBib3VuZHMgc2hvdWxkIGJlIChzdGFydElkeCwgZW5kSWR4XVxuICAgICAgcmV0dXJuIGNvdW50ZWRSb3dDb3VudCA+IHN0YXJ0SWR4ICYmIGNvdW50ZWRSb3dDb3VudCA8PSBlbmRJZHhcbiAgICAgICAgPyBjdXJyZW50TmVzdGVkUm93XG4gICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZWN1cnNpdmVQYWdpbmF0ZVJvd3MoXG4gICAgICBjdXJyZW50TmVzdGVkUm93OiBSaXZUYWJsZS5OZXN0ZWRSb3c8Uj4sXG4gICAgKTogUml2VGFibGUuTmVzdGVkUm93PFI+IHwgbnVsbCB7XG4gICAgICBpZiAoY291bnRlZFJvd0NvdW50ID4gZW5kSWR4KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gc3Vicm93cywgc3RvcCByZWN1cnNpbmdcbiAgICAgIGlmICghY3VycmVudE5lc3RlZFJvdy5zdWJSb3dzPy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGNvdW50Um93KGN1cnJlbnROZXN0ZWRSb3cpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3ViUm93c1RvS2VlcDogUml2VGFibGUuTmVzdGVkUm93PFI+W10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBzdWJSb3cgb2YgY3VycmVudE5lc3RlZFJvdy5zdWJSb3dzKSB7XG4gICAgICAgICAgY29uc3QgY291bnRlZFJvdzogUml2VGFibGUuTmVzdGVkUm93PFI+IHwgbnVsbCA9XG4gICAgICAgICAgICByZWN1cnNpdmVQYWdpbmF0ZVJvd3Moc3ViUm93KTtcbiAgICAgICAgICBpZiAoY291bnRlZFJvdyAhPSBudWxsKSB7XG4gICAgICAgICAgICBzdWJSb3dzVG9LZWVwLnB1c2goY291bnRlZFJvdyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN1YlJvd3NUb0tlZXAubGVuZ3RoID09IDApIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBLZWVwIGFueSB0b3AgbGV2ZWwgcm93IHRoYXQgaGFzIGF0IGxlYXN0IG9uZSBzdWJyb3dcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY3VycmVudE5lc3RlZFJvdyxcbiAgICAgICAgICAgIHN1YlJvd3M6IHN1YlJvd3NUb0tlZXAsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHBhZ2luYXRlZEhlYWRlcnM6IFJpdlRhYmxlLk5lc3RlZEhlYWRlclJvdzxSPltdID0gW107XG4gICAgZm9yIChjb25zdCBoZWFkZXJSb3cgb2YgYWxsSGVhZGVycykge1xuICAgICAgY29uc3QgcGFnaW5hdGVkU3ViUm93czogUml2VGFibGUuTmVzdGVkUm93PFI+W10gPSBbXTtcblxuICAgICAgZm9yIChjb25zdCBzdWJSb3cgb2YgaGVhZGVyUm93LnN1YlJvd3MpIHtcbiAgICAgICAgY29uc3QgcmVjdXJzZWRTdWJSb3c6IFJpdlRhYmxlLk5lc3RlZFJvdzxSPiB8IG51bGwgPVxuICAgICAgICAgIHBhZ2luYXRlQnkgPT09ICd0b3BSb3dzJ1xuICAgICAgICAgICAgPyBjb3VudFJvdyhzdWJSb3cpXG4gICAgICAgICAgICA6IHJlY3Vyc2l2ZVBhZ2luYXRlUm93cyhzdWJSb3cpO1xuXG4gICAgICAgIGlmIChyZWN1cnNlZFN1YlJvdyAhPSBudWxsKSB7XG4gICAgICAgICAgcGFnaW5hdGVkU3ViUm93cy5wdXNoKHJlY3Vyc2VkU3ViUm93KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAocGFnaW5hdGVkU3ViUm93cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vIEtlZXAgYW55IGhlYWRlciB0aGF0IGhhcyBhdCBsZWFzdCBvbmUgc3Vicm93IGluIHRoZSBjdXJyZW50IHBhZ2VcbiAgICAgICAgcGFnaW5hdGVkSGVhZGVycy5wdXNoKHtcbiAgICAgICAgICAuLi5oZWFkZXJSb3csXG4gICAgICAgICAgc3ViUm93czogcGFnaW5hdGVkU3ViUm93cyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhZ2luYXRlZEhlYWRlcnM7XG4gIH1cbn1cbiJdfQ==