@eui/components 17.3.9 → 17.3.10

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.
@@ -326,9 +326,6 @@
326
326
  <li>
327
327
  <a href="#showHide" title="packages/eui/packages/components/directives/eui-tooltip/animations/show-hide.ts" ><b>showHide</b>&nbsp;&nbsp;&nbsp;(packages/.../show-hide.ts)</a>
328
328
  </li>
329
- <li>
330
- <a href="#TOOLTIP_CONTAINER_CONFIG" title="packages/eui/packages/components/directives/eui-tooltip/token/eui-tooltip.token.ts" ><b>TOOLTIP_CONTAINER_CONFIG</b>&nbsp;&nbsp;&nbsp;(packages/.../eui-tooltip.token.ts)</a>
331
- </li>
332
329
  <li>
333
330
  <a href="#TOP" title="packages/eui/packages/components/eui-popover/models/eui-popover-position.model.ts" ><b>TOP</b>&nbsp;&nbsp;&nbsp;(packages/.../eui-popover-position.model.ts)</a>
334
331
  </li>
@@ -2960,29 +2957,6 @@ are still free to provide yours if needed.
2960
2957
  </tr>
2961
2958
 
2962
2959
 
2963
- </tbody>
2964
- </table>
2965
- </section>
2966
- <h3>packages/eui/packages/components/directives/eui-tooltip/token/eui-tooltip.token.ts</h3>
2967
- <section data-compodoc="block-properties">
2968
- <h3></h3> <table class="table table-sm table-bordered">
2969
- <tbody>
2970
- <tr>
2971
- <td class="col-md-4">
2972
- <a name="TOOLTIP_CONTAINER_CONFIG"></a>
2973
- <span class="name">
2974
- <span ><b>TOOLTIP_CONTAINER_CONFIG</b></span>
2975
- <a href="#TOOLTIP_CONTAINER_CONFIG"><span class="icon ion-ios-link"></span></a>
2976
- </span>
2977
- </td>
2978
- </tr>
2979
- <tr>
2980
- <td class="col-md-4">
2981
- <i>Default value : </i><code>new InjectionToken&lt;EuiTooltipInterface&gt;(&#x27;TOOLTIP_CONTAINER_CONFIG&#x27;)</code>
2982
- </td>
2983
- </tr>
2984
-
2985
-
2986
2960
  </tbody>
2987
2961
  </table>
2988
2962
  </section>
@@ -1,9 +1,10 @@
1
- import { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation, HostBinding } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation, HostBinding, Input } from '@angular/core';
2
2
  import { showHide } from '../animations/show-hide';
3
- import { TOOLTIP_CONTAINER_CONFIG } from '../token/eui-tooltip.token';
4
3
  import * as i0 from "@angular/core";
5
- import * as i1 from "../models/eui-tooltip.config";
6
4
  export class EuiTooltipContainerComponent {
5
+ constructor() {
6
+ this.e2e = 'eui-tooltip';
7
+ }
7
8
  get cssClasses() {
8
9
  return ['eui-tooltip', 'eui-tooltip--content-' + this.config.contentAlign, 'eui-tooltip--' + this.config.colorClass]
9
10
  .join(' ')
@@ -12,20 +13,15 @@ export class EuiTooltipContainerComponent {
12
13
  get showHide() {
13
14
  return 'visible';
14
15
  }
15
- constructor(config) {
16
- this.config = config;
17
- this.e2e = 'eui-tooltip';
18
- }
19
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuiTooltipContainerComponent, deps: [{ token: TOOLTIP_CONTAINER_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
20
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: EuiTooltipContainerComponent, selector: "eui-tooltip-container.component", host: { properties: { "attr.data-e2e": "this.e2e", "class": "this.cssClasses", "@showHide": "this.showHide" } }, ngImport: i0, template: "<div [innerHTML]=\"config.tooltipContent\"></div>\n", styles: [".eui-tooltip__container{background-color:transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip{margin-bottom:var(--eui-base-spacing-m)}.eui-tooltip__container.eui-tooltip--above .eui-tooltip:before{border-color:var(--eui-base-color-grey-100) transparent transparent transparent;left:calc(50% - 8px);transform:translateY(16px)}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--primary:before{border-color:var(--eui-base-color-primary-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--info:before{border-color:var(--eui-base-color-info-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--success:before{border-color:var(--eui-base-color-success-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--warning:before{border-color:var(--eui-base-color-warning-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--danger:before{border-color:var(--eui-base-color-danger-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--accent:before{border-color:var(--eui-base-color-accent-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip{margin-top:var(--eui-base-spacing-m)}.eui-tooltip__container.eui-tooltip--below .eui-tooltip:before{border-color:transparent transparent var(--eui-base-color-grey-100) transparent;left:calc(50% - 8px);top:0;transform:translateY(-100%)}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--primary:before{border-color:transparent transparent var(--eui-base-color-primary-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--info:before{border-color:transparent transparent var(--eui-base-color-info-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--success:before{border-color:transparent transparent var(--eui-base-color-success-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--warning:before{border-color:transparent transparent var(--eui-base-color-warning-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--danger:before{border-color:transparent transparent var(--eui-base-color-danger-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--accent:before{border-color:transparent transparent var(--eui-base-color-accent-100) transparent}.eui-tooltip__container.eui-tooltip--left .eui-tooltip,.eui-tooltip__container.eui-tooltip--before .eui-tooltip{margin-right:var(--eui-base-spacing-m)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip:before{border-color:transparent transparent transparent var(--eui-base-color-grey-100);right:-8px;top:50%;transform:translate(8px,-8px)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--primary:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--primary:before{border-color:transparent transparent transparent var(--eui-base-color-primary-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--info:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--info:before{border-color:transparent transparent transparent var(--eui-base-color-info-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--success:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--success:before{border-color:transparent transparent transparent var(--eui-base-color-success-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--warning:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--warning:before{border-color:transparent transparent transparent var(--eui-base-color-warning-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--danger:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--danger:before{border-color:transparent transparent transparent var(--eui-base-color-danger-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--accent:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--accent:before{border-color:transparent transparent transparent var(--eui-base-color-accent-100)}.eui-tooltip__container.eui-tooltip--right .eui-tooltip,.eui-tooltip__container.eui-tooltip--after .eui-tooltip{margin-left:var(--eui-base-spacing-m)}.eui-tooltip__container.eui-tooltip--right .eui-tooltip:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip:before{border-color:transparent var(--eui-base-color-grey-100) transparent transparent;left:-8px;top:50%;transform:translate(-8px,-8px)}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--primary:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--primary:before{border-color:transparent var(--eui-base-color-primary-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--info:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--info:before{border-color:transparent var(--eui-base-color-info-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--success:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--success:before{border-color:transparent var(--eui-base-color-success-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--warning:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--warning:before{border-color:transparent var(--eui-base-color-warning-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--danger:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--danger:before{border-color:transparent var(--eui-base-color-danger-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--accent:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--accent:before{border-color:transparent var(--eui-base-color-accent-100) transparent transparent}.eui-tooltip__container .eui-tooltip{background-color:var(--eui-base-color-grey-100);border-radius:var(--eui-base-border-radius);box-shadow:var(--eui-base-shadow-4);color:var(--eui-base-color-white);letter-spacing:.05em;max-width:50vw;padding:var(--eui-base-spacing-xs);white-space:pre-line;font:normal normal 400 .75rem/1rem var(--eui-base-font-family)}.eui-tooltip__container .eui-tooltip:before{border-color:transparent;border-style:solid;border-width:8px;bottom:0;content:\"\";display:block;height:0;position:absolute;width:0}.eui-tooltip__container .eui-tooltip.eui-tooltip--content-left{text-align:left}.eui-tooltip__container .eui-tooltip.eui-tooltip--content-right{text-align:right}.eui-tooltip__container .eui-tooltip.eui-tooltip--content-center{text-align:center}.eui-tooltip__container .eui-tooltip.eui-tooltip--content-justify{text-align:justify}.eui-tooltip__container .eui-tooltip--primary{background-color:var(--eui-base-color-primary-100);border-color:var(--eui-base-color-primary-100);color:var(--eui-base-color-primary-100-contrast)}.eui-tooltip__container .eui-tooltip--primary .eui-icon-svg svg{color:var(--eui-base-color-primary-100-contrast);fill:var(--eui-base-color-primary-100-contrast)}.eui-tooltip__container .eui-tooltip--info{background-color:var(--eui-base-color-info-100);border-color:var(--eui-base-color-info-100);color:var(--eui-base-color-info-100-contrast)}.eui-tooltip__container .eui-tooltip--info .eui-icon-svg svg{color:var(--eui-base-color-info-100-contrast);fill:var(--eui-base-color-info-100-contrast)}.eui-tooltip__container .eui-tooltip--success{background-color:var(--eui-base-color-success-100);border-color:var(--eui-base-color-success-100);color:var(--eui-base-color-success-100-contrast)}.eui-tooltip__container .eui-tooltip--success .eui-icon-svg svg{color:var(--eui-base-color-success-100-contrast);fill:var(--eui-base-color-success-100-contrast)}.eui-tooltip__container .eui-tooltip--warning{background-color:var(--eui-base-color-warning-100);border-color:var(--eui-base-color-warning-100);color:var(--eui-base-color-warning-100-contrast)}.eui-tooltip__container .eui-tooltip--warning .eui-icon-svg svg{color:var(--eui-base-color-warning-100-contrast);fill:var(--eui-base-color-warning-100-contrast)}.eui-tooltip__container .eui-tooltip--danger{background-color:var(--eui-base-color-danger-100);border-color:var(--eui-base-color-danger-100);color:var(--eui-base-color-danger-100-contrast)}.eui-tooltip__container .eui-tooltip--danger .eui-icon-svg svg{color:var(--eui-base-color-danger-100-contrast);fill:var(--eui-base-color-danger-100-contrast)}.eui-tooltip__container .eui-tooltip--accent{background-color:var(--eui-base-color-accent-100);border-color:var(--eui-base-color-accent-100);color:var(--eui-base-color-accent-100-contrast)}.eui-tooltip__container .eui-tooltip--accent .eui-icon-svg svg{color:var(--eui-base-color-accent-100-contrast);fill:var(--eui-base-color-accent-100-contrast)}\n"], animations: [showHide], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuiTooltipContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: EuiTooltipContainerComponent, selector: "eui-tooltip-container.component", inputs: { config: "config" }, host: { properties: { "attr.data-e2e": "this.e2e", "class": "this.cssClasses", "@showHide": "this.showHide" } }, ngImport: i0, template: "<div [innerHTML]=\"config.tooltipContent\"></div>\n", styles: [".eui-tooltip__container{background-color:transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip{margin-bottom:var(--eui-base-spacing-m)}.eui-tooltip__container.eui-tooltip--above .eui-tooltip:before{border-color:var(--eui-base-color-grey-100) transparent transparent transparent;left:calc(50% - 8px);transform:translateY(16px)}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--primary:before{border-color:var(--eui-base-color-primary-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--info:before{border-color:var(--eui-base-color-info-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--success:before{border-color:var(--eui-base-color-success-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--warning:before{border-color:var(--eui-base-color-warning-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--danger:before{border-color:var(--eui-base-color-danger-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--accent:before{border-color:var(--eui-base-color-accent-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip{margin-top:var(--eui-base-spacing-m)}.eui-tooltip__container.eui-tooltip--below .eui-tooltip:before{border-color:transparent transparent var(--eui-base-color-grey-100) transparent;left:calc(50% - 8px);top:0;transform:translateY(-100%)}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--primary:before{border-color:transparent transparent var(--eui-base-color-primary-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--info:before{border-color:transparent transparent var(--eui-base-color-info-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--success:before{border-color:transparent transparent var(--eui-base-color-success-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--warning:before{border-color:transparent transparent var(--eui-base-color-warning-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--danger:before{border-color:transparent transparent var(--eui-base-color-danger-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--accent:before{border-color:transparent transparent var(--eui-base-color-accent-100) transparent}.eui-tooltip__container.eui-tooltip--left .eui-tooltip,.eui-tooltip__container.eui-tooltip--before .eui-tooltip{margin-right:var(--eui-base-spacing-m)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip:before{border-color:transparent transparent transparent var(--eui-base-color-grey-100);right:-8px;top:50%;transform:translate(8px,-8px)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--primary:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--primary:before{border-color:transparent transparent transparent var(--eui-base-color-primary-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--info:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--info:before{border-color:transparent transparent transparent var(--eui-base-color-info-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--success:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--success:before{border-color:transparent transparent transparent var(--eui-base-color-success-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--warning:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--warning:before{border-color:transparent transparent transparent var(--eui-base-color-warning-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--danger:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--danger:before{border-color:transparent transparent transparent var(--eui-base-color-danger-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--accent:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--accent:before{border-color:transparent transparent transparent var(--eui-base-color-accent-100)}.eui-tooltip__container.eui-tooltip--right .eui-tooltip,.eui-tooltip__container.eui-tooltip--after .eui-tooltip{margin-left:var(--eui-base-spacing-m)}.eui-tooltip__container.eui-tooltip--right .eui-tooltip:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip:before{border-color:transparent var(--eui-base-color-grey-100) transparent transparent;left:-8px;top:50%;transform:translate(-8px,-8px)}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--primary:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--primary:before{border-color:transparent var(--eui-base-color-primary-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--info:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--info:before{border-color:transparent var(--eui-base-color-info-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--success:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--success:before{border-color:transparent var(--eui-base-color-success-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--warning:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--warning:before{border-color:transparent var(--eui-base-color-warning-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--danger:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--danger:before{border-color:transparent var(--eui-base-color-danger-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--accent:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--accent:before{border-color:transparent var(--eui-base-color-accent-100) transparent transparent}.eui-tooltip__container .eui-tooltip{background-color:var(--eui-base-color-grey-100);border-radius:var(--eui-base-border-radius);box-shadow:var(--eui-base-shadow-4);color:var(--eui-base-color-white);letter-spacing:.05em;max-width:50vw;padding:var(--eui-base-spacing-xs);white-space:pre-line;font:normal normal 400 .75rem/1rem var(--eui-base-font-family)}.eui-tooltip__container .eui-tooltip:before{border-color:transparent;border-style:solid;border-width:8px;bottom:0;content:\"\";display:block;height:0;position:absolute;width:0}.eui-tooltip__container .eui-tooltip.eui-tooltip--content-left{text-align:left}.eui-tooltip__container .eui-tooltip.eui-tooltip--content-right{text-align:right}.eui-tooltip__container .eui-tooltip.eui-tooltip--content-center{text-align:center}.eui-tooltip__container .eui-tooltip.eui-tooltip--content-justify{text-align:justify}.eui-tooltip__container .eui-tooltip--primary{background-color:var(--eui-base-color-primary-100);border-color:var(--eui-base-color-primary-100);color:var(--eui-base-color-primary-100-contrast)}.eui-tooltip__container .eui-tooltip--primary .eui-icon-svg svg{color:var(--eui-base-color-primary-100-contrast);fill:var(--eui-base-color-primary-100-contrast)}.eui-tooltip__container .eui-tooltip--info{background-color:var(--eui-base-color-info-100);border-color:var(--eui-base-color-info-100);color:var(--eui-base-color-info-100-contrast)}.eui-tooltip__container .eui-tooltip--info .eui-icon-svg svg{color:var(--eui-base-color-info-100-contrast);fill:var(--eui-base-color-info-100-contrast)}.eui-tooltip__container .eui-tooltip--success{background-color:var(--eui-base-color-success-100);border-color:var(--eui-base-color-success-100);color:var(--eui-base-color-success-100-contrast)}.eui-tooltip__container .eui-tooltip--success .eui-icon-svg svg{color:var(--eui-base-color-success-100-contrast);fill:var(--eui-base-color-success-100-contrast)}.eui-tooltip__container .eui-tooltip--warning{background-color:var(--eui-base-color-warning-100);border-color:var(--eui-base-color-warning-100);color:var(--eui-base-color-warning-100-contrast)}.eui-tooltip__container .eui-tooltip--warning .eui-icon-svg svg{color:var(--eui-base-color-warning-100-contrast);fill:var(--eui-base-color-warning-100-contrast)}.eui-tooltip__container .eui-tooltip--danger{background-color:var(--eui-base-color-danger-100);border-color:var(--eui-base-color-danger-100);color:var(--eui-base-color-danger-100-contrast)}.eui-tooltip__container .eui-tooltip--danger .eui-icon-svg svg{color:var(--eui-base-color-danger-100-contrast);fill:var(--eui-base-color-danger-100-contrast)}.eui-tooltip__container .eui-tooltip--accent{background-color:var(--eui-base-color-accent-100);border-color:var(--eui-base-color-accent-100);color:var(--eui-base-color-accent-100-contrast)}.eui-tooltip__container .eui-tooltip--accent .eui-icon-svg svg{color:var(--eui-base-color-accent-100-contrast);fill:var(--eui-base-color-accent-100-contrast)}\n"], animations: [showHide], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
21
18
  }
22
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuiTooltipContainerComponent, decorators: [{
23
20
  type: Component,
24
21
  args: [{ selector: 'eui-tooltip-container.component', animations: [showHide], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div [innerHTML]=\"config.tooltipContent\"></div>\n", styles: [".eui-tooltip__container{background-color:transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip{margin-bottom:var(--eui-base-spacing-m)}.eui-tooltip__container.eui-tooltip--above .eui-tooltip:before{border-color:var(--eui-base-color-grey-100) transparent transparent transparent;left:calc(50% - 8px);transform:translateY(16px)}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--primary:before{border-color:var(--eui-base-color-primary-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--info:before{border-color:var(--eui-base-color-info-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--success:before{border-color:var(--eui-base-color-success-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--warning:before{border-color:var(--eui-base-color-warning-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--danger:before{border-color:var(--eui-base-color-danger-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--above .eui-tooltip--accent:before{border-color:var(--eui-base-color-accent-100) transparent transparent transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip{margin-top:var(--eui-base-spacing-m)}.eui-tooltip__container.eui-tooltip--below .eui-tooltip:before{border-color:transparent transparent var(--eui-base-color-grey-100) transparent;left:calc(50% - 8px);top:0;transform:translateY(-100%)}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--primary:before{border-color:transparent transparent var(--eui-base-color-primary-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--info:before{border-color:transparent transparent var(--eui-base-color-info-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--success:before{border-color:transparent transparent var(--eui-base-color-success-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--warning:before{border-color:transparent transparent var(--eui-base-color-warning-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--danger:before{border-color:transparent transparent var(--eui-base-color-danger-100) transparent}.eui-tooltip__container.eui-tooltip--below .eui-tooltip--accent:before{border-color:transparent transparent var(--eui-base-color-accent-100) transparent}.eui-tooltip__container.eui-tooltip--left .eui-tooltip,.eui-tooltip__container.eui-tooltip--before .eui-tooltip{margin-right:var(--eui-base-spacing-m)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip:before{border-color:transparent transparent transparent var(--eui-base-color-grey-100);right:-8px;top:50%;transform:translate(8px,-8px)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--primary:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--primary:before{border-color:transparent transparent transparent var(--eui-base-color-primary-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--info:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--info:before{border-color:transparent transparent transparent var(--eui-base-color-info-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--success:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--success:before{border-color:transparent transparent transparent var(--eui-base-color-success-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--warning:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--warning:before{border-color:transparent transparent transparent var(--eui-base-color-warning-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--danger:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--danger:before{border-color:transparent transparent transparent var(--eui-base-color-danger-100)}.eui-tooltip__container.eui-tooltip--left .eui-tooltip--accent:before,.eui-tooltip__container.eui-tooltip--before .eui-tooltip--accent:before{border-color:transparent transparent transparent var(--eui-base-color-accent-100)}.eui-tooltip__container.eui-tooltip--right .eui-tooltip,.eui-tooltip__container.eui-tooltip--after .eui-tooltip{margin-left:var(--eui-base-spacing-m)}.eui-tooltip__container.eui-tooltip--right .eui-tooltip:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip:before{border-color:transparent var(--eui-base-color-grey-100) transparent transparent;left:-8px;top:50%;transform:translate(-8px,-8px)}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--primary:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--primary:before{border-color:transparent var(--eui-base-color-primary-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--info:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--info:before{border-color:transparent var(--eui-base-color-info-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--success:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--success:before{border-color:transparent var(--eui-base-color-success-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--warning:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--warning:before{border-color:transparent var(--eui-base-color-warning-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--danger:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--danger:before{border-color:transparent var(--eui-base-color-danger-100) transparent transparent}.eui-tooltip__container.eui-tooltip--right .eui-tooltip--accent:before,.eui-tooltip__container.eui-tooltip--after .eui-tooltip--accent:before{border-color:transparent var(--eui-base-color-accent-100) transparent transparent}.eui-tooltip__container .eui-tooltip{background-color:var(--eui-base-color-grey-100);border-radius:var(--eui-base-border-radius);box-shadow:var(--eui-base-shadow-4);color:var(--eui-base-color-white);letter-spacing:.05em;max-width:50vw;padding:var(--eui-base-spacing-xs);white-space:pre-line;font:normal normal 400 .75rem/1rem var(--eui-base-font-family)}.eui-tooltip__container .eui-tooltip:before{border-color:transparent;border-style:solid;border-width:8px;bottom:0;content:\"\";display:block;height:0;position:absolute;width:0}.eui-tooltip__container .eui-tooltip.eui-tooltip--content-left{text-align:left}.eui-tooltip__container .eui-tooltip.eui-tooltip--content-right{text-align:right}.eui-tooltip__container .eui-tooltip.eui-tooltip--content-center{text-align:center}.eui-tooltip__container .eui-tooltip.eui-tooltip--content-justify{text-align:justify}.eui-tooltip__container .eui-tooltip--primary{background-color:var(--eui-base-color-primary-100);border-color:var(--eui-base-color-primary-100);color:var(--eui-base-color-primary-100-contrast)}.eui-tooltip__container .eui-tooltip--primary .eui-icon-svg svg{color:var(--eui-base-color-primary-100-contrast);fill:var(--eui-base-color-primary-100-contrast)}.eui-tooltip__container .eui-tooltip--info{background-color:var(--eui-base-color-info-100);border-color:var(--eui-base-color-info-100);color:var(--eui-base-color-info-100-contrast)}.eui-tooltip__container .eui-tooltip--info .eui-icon-svg svg{color:var(--eui-base-color-info-100-contrast);fill:var(--eui-base-color-info-100-contrast)}.eui-tooltip__container .eui-tooltip--success{background-color:var(--eui-base-color-success-100);border-color:var(--eui-base-color-success-100);color:var(--eui-base-color-success-100-contrast)}.eui-tooltip__container .eui-tooltip--success .eui-icon-svg svg{color:var(--eui-base-color-success-100-contrast);fill:var(--eui-base-color-success-100-contrast)}.eui-tooltip__container .eui-tooltip--warning{background-color:var(--eui-base-color-warning-100);border-color:var(--eui-base-color-warning-100);color:var(--eui-base-color-warning-100-contrast)}.eui-tooltip__container .eui-tooltip--warning .eui-icon-svg svg{color:var(--eui-base-color-warning-100-contrast);fill:var(--eui-base-color-warning-100-contrast)}.eui-tooltip__container .eui-tooltip--danger{background-color:var(--eui-base-color-danger-100);border-color:var(--eui-base-color-danger-100);color:var(--eui-base-color-danger-100-contrast)}.eui-tooltip__container .eui-tooltip--danger .eui-icon-svg svg{color:var(--eui-base-color-danger-100-contrast);fill:var(--eui-base-color-danger-100-contrast)}.eui-tooltip__container .eui-tooltip--accent{background-color:var(--eui-base-color-accent-100);border-color:var(--eui-base-color-accent-100);color:var(--eui-base-color-accent-100-contrast)}.eui-tooltip__container .eui-tooltip--accent .eui-icon-svg svg{color:var(--eui-base-color-accent-100-contrast);fill:var(--eui-base-color-accent-100-contrast)}\n"] }]
25
- }], ctorParameters: () => [{ type: i1.EuiTooltipConfig, decorators: [{
26
- type: Inject,
27
- args: [TOOLTIP_CONTAINER_CONFIG]
28
- }] }], propDecorators: { e2e: [{
22
+ }], propDecorators: { config: [{
23
+ type: Input
24
+ }], e2e: [{
29
25
  type: HostBinding,
30
26
  args: ['attr.data-e2e']
31
27
  }], cssClasses: [{
@@ -35,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
35
31
  type: HostBinding,
36
32
  args: ['@showHide']
37
33
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRvb2x0aXAtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMvZXVpLXRvb2x0aXAvY29udGFpbmVyL2V1aS10b29sdGlwLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9kaXJlY3RpdmVzL2V1aS10b29sdGlwL2NvbnRhaW5lci9ldWktdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBVXRFLE1BQU0sT0FBTyw0QkFBNEI7SUFFckMsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLGFBQWEsRUFBRSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7YUFDL0csSUFBSSxDQUFDLEdBQUcsQ0FBQzthQUNULElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxJQUE4QixRQUFRO1FBQ2xDLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxZQUFxRCxNQUF3QjtRQUF4QixXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQVgvQyxRQUFHLEdBQUcsYUFBYSxDQUFDO0lBVzhCLENBQUM7aUlBWnhFLDRCQUE0QixrQkFZakIsd0JBQXdCO3FIQVpuQyw0QkFBNEIsd0xDZHpDLHFEQUNBLHl2UkRTZ0IsQ0FBQyxRQUFRLENBQUM7OzJGQUliLDRCQUE0QjtrQkFSeEMsU0FBUzsrQkFDSSxpQ0FBaUMsY0FHL0IsQ0FBQyxRQUFRLENBQUMsbUJBQ0wsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs7MEJBY3hCLE1BQU07MkJBQUMsd0JBQXdCO3lDQVhkLEdBQUc7c0JBQWhDLFdBQVc7dUJBQUMsZUFBZTtnQkFFeEIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBTVUsUUFBUTtzQkFBckMsV0FBVzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgc2hvd0hpZGUgfSBmcm9tICcuLi9hbmltYXRpb25zL3Nob3ctaGlkZSc7XG5pbXBvcnQgeyBFdWlUb29sdGlwQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2V1aS10b29sdGlwLmNvbmZpZyc7XG5pbXBvcnQgeyBUT09MVElQX0NPTlRBSU5FUl9DT05GSUcgfSBmcm9tICcuLi90b2tlbi9ldWktdG9vbHRpcC50b2tlbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXRvb2x0aXAtY29udGFpbmVyLmNvbXBvbmVudCcsXG4gICAgdGVtcGxhdGVVcmw6ICdldWktdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbc2hvd0hpZGVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVRvb2x0aXBDb250YWluZXJDb21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWUyZScpIGUyZSA9ICdldWktdG9vbHRpcCc7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFsnZXVpLXRvb2x0aXAnLCAnZXVpLXRvb2x0aXAtLWNvbnRlbnQtJyArIHRoaXMuY29uZmlnLmNvbnRlbnRBbGlnbiwgJ2V1aS10b29sdGlwLS0nICsgdGhpcy5jb25maWcuY29sb3JDbGFzc11cbiAgICAgICAgICAgIC5qb2luKCcgJylcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgfVxuICAgIEBIb3N0QmluZGluZygnQHNob3dIaWRlJykgZ2V0IHNob3dIaWRlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAndmlzaWJsZSc7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChUT09MVElQX0NPTlRBSU5FUl9DT05GSUcpIHB1YmxpYyBjb25maWc6IEV1aVRvb2x0aXBDb25maWcpIHt9XG59XG4iLCI8ZGl2IFtpbm5lckhUTUxdPVwiY29uZmlnLnRvb2x0aXBDb250ZW50XCI+PC9kaXY+XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRvb2x0aXAtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMvZXVpLXRvb2x0aXAvY29udGFpbmVyL2V1aS10b29sdGlwLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9kaXJlY3RpdmVzL2V1aS10b29sdGlwL2NvbnRhaW5lci9ldWktdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFXbkQsTUFBTSxPQUFPLDRCQUE0QjtJQVJ6QztRQVVrQyxRQUFHLEdBQUcsYUFBYSxDQUFDO0tBVXJEO0lBVEcsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLGFBQWEsRUFBRSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7YUFDL0csSUFBSSxDQUFDLEdBQUcsQ0FBQzthQUNULElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxJQUE4QixRQUFRO1FBQ2xDLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7aUlBWFEsNEJBQTRCO3FIQUE1Qiw0QkFBNEIsc05DYnpDLHFEQUNBLHl2UkRRZ0IsQ0FBQyxRQUFRLENBQUM7OzJGQUliLDRCQUE0QjtrQkFSeEMsU0FBUzsrQkFDSSxpQ0FBaUMsY0FHL0IsQ0FBQyxRQUFRLENBQUMsbUJBQ0wsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsTUFBTTtzQkFBZCxLQUFLO2dCQUN3QixHQUFHO3NCQUFoQyxXQUFXO3VCQUFDLGVBQWU7Z0JBRXhCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQU1VLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgc2hvd0hpZGUgfSBmcm9tICcuLi9hbmltYXRpb25zL3Nob3ctaGlkZSc7XG5pbXBvcnQgeyBFdWlUb29sdGlwSW50ZXJmYWNlIH0gZnJvbSAnLi4vbW9kZWxzL2V1aS10b29sdGlwLmNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXRvb2x0aXAtY29udGFpbmVyLmNvbXBvbmVudCcsXG4gICAgdGVtcGxhdGVVcmw6ICdldWktdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbc2hvd0hpZGVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVRvb2x0aXBDb250YWluZXJDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGNvbmZpZzogRXVpVG9vbHRpcEludGVyZmFjZTtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1lMmUnKSBlMmUgPSAnZXVpLXRvb2x0aXAnO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbJ2V1aS10b29sdGlwJywgJ2V1aS10b29sdGlwLS1jb250ZW50LScgKyB0aGlzLmNvbmZpZy5jb250ZW50QWxpZ24sICdldWktdG9vbHRpcC0tJyArIHRoaXMuY29uZmlnLmNvbG9yQ2xhc3NdXG4gICAgICAgICAgICAuam9pbignICcpXG4gICAgICAgICAgICAudHJpbSgpO1xuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ0BzaG93SGlkZScpIGdldCBzaG93SGlkZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ3Zpc2libGUnO1xuICAgIH1cbn1cbiIsIjxkaXYgW2lubmVySFRNTF09XCJjb25maWcudG9vbHRpcENvbnRlbnRcIj48L2Rpdj5cbiJdfQ==
@@ -1,10 +1,9 @@
1
- import { Directive, Input, HostListener, Injector } from '@angular/core';
1
+ import { Directive, Input, HostListener, } from '@angular/core';
2
2
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
3
  import { ConnectionPositionPair, } from '@angular/cdk/overlay';
4
4
  import { BehaviorSubject, fromEvent, Subject, Subscription, take, timer } from 'rxjs';
5
5
  import { ComponentPortal } from '@angular/cdk/portal';
6
6
  import { EuiTooltipContainerComponent } from './container/eui-tooltip-container.component';
7
- import { TOOLTIP_CONTAINER_CONFIG } from './token/eui-tooltip.token';
8
7
  import * as i0 from "@angular/core";
9
8
  import * as i1 from "@angular/cdk/overlay";
10
9
  export class EuiTooltipDirective {
@@ -62,10 +61,9 @@ export class EuiTooltipDirective {
62
61
  set euiTooltipAccent(value) {
63
62
  this._euiTooltipAccent = coerceBooleanProperty(value);
64
63
  }
65
- constructor(overlay, host, injector) {
64
+ constructor(overlay, host) {
66
65
  this.overlay = overlay;
67
66
  this.host = host;
68
- this.injector = injector;
69
67
  this.e2eAttr = 'eui-tooltip';
70
68
  this.showDelay = 0;
71
69
  this.hideDelay = 0;
@@ -95,6 +93,9 @@ export class EuiTooltipDirective {
95
93
  this.positionStrategySubscription = new Subscription();
96
94
  }
97
95
  ngOnChanges() {
96
+ if (this.tooltipInstance) {
97
+ this.tooltipInstance.setInput('config', this.getTooltipConfig());
98
+ }
98
99
  this.setPosition();
99
100
  }
100
101
  ngOnInit() {
@@ -173,14 +174,9 @@ export class EuiTooltipDirective {
173
174
  if (this.euiTooltipAccent) {
174
175
  colorClass = 'accent';
175
176
  }
176
- const componentPortal = new ComponentPortal(EuiTooltipContainerComponent, null, this.createInjector({
177
- e2eAttr: this.e2eAttr,
178
- tooltipContent: this.tooltipContent,
179
- position: this.position,
180
- contentAlign: this.contentAlignment,
181
- colorClass,
182
- }));
183
- this.overlayRef.attach(componentPortal);
177
+ const componentPortal = new ComponentPortal(EuiTooltipContainerComponent, null);
178
+ this.tooltipInstance = this.overlayRef.attach(componentPortal);
179
+ this.tooltipInstance.setInput('config', this.getTooltipConfig());
184
180
  this.isOpen$.next(true);
185
181
  }
186
182
  });
@@ -204,12 +200,36 @@ export class EuiTooltipDirective {
204
200
  this.overlayRef = null;
205
201
  });
206
202
  }
207
- createInjector(data) {
208
- const injectorTokens = [{ provide: TOOLTIP_CONTAINER_CONFIG, useValue: data }];
209
- return Injector.create({
210
- parent: this.injector,
211
- providers: injectorTokens,
212
- });
203
+ getTooltipConfig() {
204
+ let colorClass = 'secondary';
205
+ if (this.euiTooltipPrimary) {
206
+ colorClass = 'primary';
207
+ }
208
+ if (this.euiTooltipSecondary) {
209
+ colorClass = 'secondary';
210
+ }
211
+ if (this.euiTooltipInfo) {
212
+ colorClass = 'info';
213
+ }
214
+ if (this.euiTooltipSuccess) {
215
+ colorClass = 'success';
216
+ }
217
+ if (this.euiTooltipWarning) {
218
+ colorClass = 'warning';
219
+ }
220
+ if (this.euiTooltipDanger) {
221
+ colorClass = 'danger';
222
+ }
223
+ if (this.euiTooltipAccent) {
224
+ colorClass = 'accent';
225
+ }
226
+ return {
227
+ e2eAttr: this.e2eAttr,
228
+ tooltipContent: this.tooltipContent,
229
+ position: this.position,
230
+ contentAlign: this.contentAlignment,
231
+ colorClass,
232
+ };
213
233
  }
214
234
  getPosition(overlayPosition) {
215
235
  if (overlayPosition.connectionPair.originY === 'top' && overlayPosition.connectionPair.overlayY === 'bottom') {
@@ -259,7 +279,7 @@ export class EuiTooltipDirective {
259
279
  this.fallbackOverlayY = 'center';
260
280
  }
261
281
  }
262
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuiTooltipDirective, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
282
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuiTooltipDirective, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
263
283
  /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.7", type: EuiTooltipDirective, selector: "[euiTooltip]", inputs: { e2eAttr: "e2eAttr", showDelay: "showDelay", hideDelay: "hideDelay", contentAlignment: "contentAlignment", position: "position", isDisabled: "isDisabled", euiTooltip: "euiTooltip", euiTooltipPrimary: "euiTooltipPrimary", euiTooltipSecondary: "euiTooltipSecondary", euiTooltipInfo: "euiTooltipInfo", euiTooltipSuccess: "euiTooltipSuccess", euiTooltipWarning: "euiTooltipWarning", euiTooltipDanger: "euiTooltipDanger", euiTooltipAccent: "euiTooltipAccent" }, host: { listeners: { "mouseenter": "mouseEntering($event)", "focus": "focused($event)" } }, exportAs: ["euiTooltip"], usesOnChanges: true, ngImport: i0 }); }
264
284
  }
265
285
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuiTooltipDirective, decorators: [{
@@ -268,7 +288,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
268
288
  selector: '[euiTooltip]',
269
289
  exportAs: 'euiTooltip',
270
290
  }]
271
- }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ElementRef }, { type: i0.Injector }], propDecorators: { e2eAttr: [{
291
+ }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ElementRef }], propDecorators: { e2eAttr: [{
272
292
  type: Input
273
293
  }], showDelay: [{
274
294
  type: Input
@@ -303,4 +323,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
303
323
  type: HostListener,
304
324
  args: ['focus', ['$event']]
305
325
  }] } });
306
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRvb2x0aXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9ldWktdG9vbHRpcC9ldWktdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWlDLFlBQVksRUFBRSxRQUFRLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBRUgsc0JBQXNCLEdBSXpCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUUzRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBTXJFLE1BQU0sT0FBTyxtQkFBbUI7SUFNNUIsSUFDSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxLQUFtQjtRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQ0ksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lB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dHJveSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgU3RhdGljUHJvdmlkZXIsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsXG4gICAgQ29ubmVjdGlvblBvc2l0aW9uUGFpcixcbiAgICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4sXG4gICAgT3ZlcmxheSxcbiAgICBPdmVybGF5UmVmLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb21FdmVudCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0YWtlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IEV1aVRvb2x0aXBDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRhaW5lci9ldWktdG9vbHRpcC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEV1aVRvb2x0aXBJbnRlcmZhY2UgfSBmcm9tICcuL21vZGVscy9ldWktdG9vbHRpcC5jb25maWcnO1xuaW1wb3J0IHsgVE9PTFRJUF9DT05UQUlORVJfQ09ORklHIH0gZnJvbSAnLi90b2tlbi9ldWktdG9vbHRpcC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2V1aVRvb2x0aXBdJyxcbiAgICBleHBvcnRBczogJ2V1aVRvb2x0aXAnLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgZTJlQXR0ciA9ICdldWktdG9vbHRpcCc7XG4gICAgQElucHV0KCkgc2hvd0RlbGF5ID0gMDtcbiAgICBASW5wdXQoKSBoaWRlRGVsYXkgPSAwO1xuICAgIEBJbnB1dCgpIGNvbnRlbnRBbGlnbm1lbnQ6ICdsZWZ0JyB8ICdyaWdodCcgfCAnY2VudGVyJyB8ICdqdXN0aWZ5JyA9ICdjZW50ZXInO1xuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnIHwgJ2Fib3ZlJyB8ICdiZWxvdycgfCAnYmVmb3JlJyB8ICdhZnRlcicgfCBzdHJpbmcgPSAnYWJvdmUnO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0Rpc2FibGVkO1xuICAgIH1cbiAgICBzZXQgaXNEaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzRGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sdGlwQ29udGVudDtcbiAgICB9XG4gICAgc2V0IGV1aVRvb2x0aXAodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnRvb2x0aXBDb250ZW50ID0gdmFsdWU7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRvb2x0aXBQcmltYXJ5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXVpVG9vbHRpcFByaW1hcnk7XG4gICAgfVxuICAgIHNldCBldWlUb29sdGlwUHJpbWFyeSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRvb2x0aXBQcmltYXJ5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZXVpVG9vbHRpcFByaW1hcnkgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUb29sdGlwU2Vjb25kYXJ5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXVpVG9vbHRpcFNlY29uZGFyeTtcbiAgICB9XG4gICAgc2V0IGV1aVRvb2x0aXBTZWNvbmRhcnkodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ldWlUb29sdGlwU2Vjb25kYXJ5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZXVpVG9vbHRpcFNlY29uZGFyeSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRvb2x0aXBJbmZvKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXVpVG9vbHRpcEluZm87XG4gICAgfVxuICAgIHNldCBldWlUb29sdGlwSW5mbyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRvb2x0aXBJbmZvID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZXVpVG9vbHRpcEluZm8gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUb29sdGlwU3VjY2VzcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V1aVRvb2x0aXBTdWNjZXNzO1xuICAgIH1cbiAgICBzZXQgZXVpVG9vbHRpcFN1Y2Nlc3ModmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ldWlUb29sdGlwU3VjY2VzcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2V1aVRvb2x0aXBTdWNjZXNzID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVG9vbHRpcFdhcm5pbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldWlUb29sdGlwV2FybmluZztcbiAgICB9XG4gICAgc2V0IGV1aVRvb2x0aXBXYXJuaW5nKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZXVpVG9vbHRpcFdhcm5pbmcgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9ldWlUb29sdGlwV2FybmluZyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRvb2x0aXBEYW5nZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldWlUb29sdGlwRGFuZ2VyO1xuICAgIH1cbiAgICBzZXQgZXVpVG9vbHRpcERhbmdlcih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRvb2x0aXBEYW5nZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9ldWlUb29sdGlwRGFuZ2VyID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVG9vbHRpcEFjY2VudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V1aVRvb2x0aXBBY2NlbnQ7XG4gICAgfVxuICAgIHNldCBldWlUb29sdGlwQWNjZW50KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZXVpVG9vbHRpcEFjY2VudCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2V1aVRvb2x0aXBBY2NlbnQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgb3JpZ2luWDogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2NlbnRlcicgPSAnY2VudGVyJztcbiAgICBwcml2YXRlIG9yaWdpblk6ICd0b3AnIHwgJ2JvdHRvbScgfCAnY2VudGVyJyA9ICd0b3AnO1xuICAgIHByaXZhdGUgb3ZlcmxheVg6ICdzdGFydCcgfCAnZW5kJyB8ICdjZW50ZXInID0gJ2NlbnRlcic7XG4gICAgcHJpdmF0ZSBvdmVybGF5WTogJ3RvcCcgfCAnYm90dG9tJyB8ICdjZW50ZXInID0gJ2JvdHRvbSc7XG4gICAgcHJpdmF0ZSBmYWxsYmFja09yaWdpblg6ICdzdGFydCcgfCAnZW5kJyB8ICdjZW50ZXInID0gJ2NlbnRlcic7XG4gICAgcHJpdmF0ZSBmYWxsYmFja09yaWdpblk6ICd0b3AnIHwgJ2JvdHRvbScgfCAnY2VudGVyJyA9ICdib3R0b20nO1xuICAgIHByaXZhdGUgZmFsbGJhY2tPdmVybGF5WDogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2NlbnRlcicgPSAnY2VudGVyJztcbiAgICBwcml2YXRlIGZhbGxiYWNrT3ZlcmxheVk6ICd0b3AnIHwgJ2JvdHRvbScgfCAnY2VudGVyJyA9ICd0b3AnO1xuICAgIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIGlzT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIG1vdXNlbGVhdmVTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgcHJpdmF0ZSBibHVyU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHByaXZhdGUgc2hvd0RlbGF5U3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHByaXZhdGUgcG9zaXRpb25TdHJhdGVneVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICBwcml2YXRlIHRvb2x0aXBDb250ZW50OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLm1vdXNlbGVhdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5ibHVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuc2hvd0RlbGF5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMucG9zaXRpb25TdHJhdGVneVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSlcbiAgICBtb3VzZUVudGVyaW5nKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvdyhldmVudC50YXJnZXQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQnXSlcbiAgICBmb2N1c2VkKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvdyhldmVudC50YXJnZXQpO1xuICAgIH1cblxuICAgIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT3BlbiQudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3cob3JpZ2luOiBFdmVudFRhcmdldCA9IHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvd0RlbGF5U3Vic2NyaXB0aW9uID0gdGltZXIodGhpcy5zaG93RGVsYXkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNPcGVuICYmICF0aGlzLmlzRGlzYWJsZWQgJiYgdGhpcy50b29sdGlwQ29udGVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ob3JpZ2luIGFzIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbilcbiAgICAgICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBvcmlnaW5YOiB0aGlzLm9yaWdpblgsIG9yaWdpblk6IHRoaXMub3JpZ2luWSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgb3ZlcmxheVg6IHRoaXMub3ZlcmxheVgsIG92ZXJsYXlZOiB0aGlzLm92ZXJsYXlZIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBvcmlnaW5YOiB0aGlzLmZhbGxiYWNrT3JpZ2luWCwgb3JpZ2luWTogdGhpcy5mYWxsYmFja09yaWdpblkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IG92ZXJsYXlYOiB0aGlzLmZhbGxiYWNrT3ZlcmxheVgsIG92ZXJsYXlZOiB0aGlzLmZhbGxiYWNrT3ZlcmxheVkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAud2l0aExvY2tlZFBvc2l0aW9uKHRydWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbih7IHNjcm9sbFRocm90dGxlOiAxMCB9KTtcblxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICAgICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICdldWktdG9vbHRpcF9fY29udGFpbmVyJyxcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uU3RyYXRlZ3lTdWJzY3JpcHRpb24gPSBwb3NpdGlvblN0cmF0ZWd5LnBvc2l0aW9uQ2hhbmdlcy5zdWJzY3JpYmUoKG92ZXJsYXlQb3NpdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gdGhpcy5nZXRQb3NpdGlvbihvdmVybGF5UG9zaXRpb24pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbkNsYXNzZXMgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAnZXVpLXRvb2x0aXAtLWxlZnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2V1aS10b29sdGlwLS1yaWdodCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnZXVpLXRvb2x0aXAtLWFib3ZlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdldWktdG9vbHRpcC0tYmVsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2V1aS10b29sdGlwLS1iZWZvcmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2V1aS10b29sdGlwLS1hZnRlcicsXG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5yZW1vdmVQYW5lbENsYXNzKHBvc2l0aW9uQ2xhc3Nlcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5hZGRQYW5lbENsYXNzKFsnZXVpLXRvb2x0aXAtLScgKyB0aGlzLnBvc2l0aW9uXSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBsZXQgY29sb3JDbGFzcyA9ICdzZWNvbmRhcnknO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV1aVRvb2x0aXBQcmltYXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yQ2xhc3MgPSAncHJpbWFyeSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV1aVRvb2x0aXBTZWNvbmRhcnkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3JDbGFzcyA9ICdzZWNvbmRhcnknO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwSW5mbykge1xuICAgICAgICAgICAgICAgICAgICBjb2xvckNsYXNzID0gJ2luZm8nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwU3VjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICBjb2xvckNsYXNzID0gJ3N1Y2Nlc3MnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwV2FybmluZykge1xuICAgICAgICAgICAgICAgICAgICBjb2xvckNsYXNzID0gJ3dhcm5pbmcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwRGFuZ2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yQ2xhc3MgPSAnZGFuZ2VyJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZXVpVG9vbHRpcEFjY2VudCkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvckNsYXNzID0gJ2FjY2VudCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbDxFdWlUb29sdGlwQ29udGFpbmVyQ29tcG9uZW50PihcbiAgICAgICAgICAgICAgICAgICAgRXVpVG9vbHRpcENvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVJbmplY3Rvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBlMmVBdHRyOiB0aGlzLmUyZUF0dHIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwQ29udGVudDogdGhpcy50b29sdGlwQ29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudEFsaWduOiB0aGlzLmNvbnRlbnRBbGlnbm1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvckNsYXNzLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaChjb21wb25lbnRQb3J0YWwpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuJC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm1vdXNlbGVhdmVTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQob3JpZ2luLCAnbW91c2VsZWF2ZScpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ibHVyU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KG9yaWdpbiwgJ2JsdXInKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgICAgICB0aW1lcih0aGlzLmhpZGVEZWxheSlcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbiQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3VzZWxlYXZlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5ibHVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93RGVsYXlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uU3RyYXRlZ3lTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVJbmplY3RvcihkYXRhOiBFdWlUb29sdGlwSW50ZXJmYWNlKTogSW5qZWN0b3Ige1xuICAgICAgICBjb25zdCBpbmplY3RvclRva2VuczogU3RhdGljUHJvdmlkZXIgPSBbeyBwcm92aWRlOiBUT09MVElQX0NPTlRBSU5FUl9DT05GSUcsIHVzZVZhbHVlOiBkYXRhIH1dO1xuICAgICAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogaW5qZWN0b3JUb2tlbnMsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9zaXRpb24ob3ZlcmxheVBvc2l0aW9uOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpOiBzdHJpbmcge1xuICAgICAgICBpZiAob3ZlcmxheVBvc2l0aW9uLmNvbm5lY3Rpb25QYWlyLm9yaWdpblkgPT09ICd0b3AnICYmIG92ZXJsYXlQb3NpdGlvbi5jb25uZWN0aW9uUGFpci5vdmVybGF5WSA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgICAgIHJldHVybiAnYWJvdmUnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvdmVybGF5UG9zaXRpb24uY29ubmVjdGlvblBhaXIub3JpZ2luWSA9PT0gJ2JvdHRvbScgJiYgb3ZlcmxheVBvc2l0aW9uLmNvbm5lY3Rpb25QYWlyLm92ZXJsYXlZID09PSAndG9wJykge1xuICAgICAgICAgICAgcmV0dXJuICdiZWxvdyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG92ZXJsYXlQb3NpdGlvbi5jb25uZWN0aW9uUGFpci5vcmlnaW5YID09PSAnc3RhcnQnICYmIG92ZXJsYXlQb3NpdGlvbi5jb25uZWN0aW9uUGFpci5vdmVybGF5WCA9PT0gJ2VuZCcpIHtcbiAgICAgICAgICAgIHJldHVybiAnbGVmdCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG92ZXJsYXlQb3NpdGlvbi5jb25uZWN0aW9uUGFpci5vcmlnaW5YID09PSAnZW5kJyAmJiBvdmVybGF5UG9zaXRpb24uY29ubmVjdGlvblBhaXIub3ZlcmxheVggPT09ICdzdGFydCcpIHtcbiAgICAgICAgICAgIHJldHVybiAncmlnaHQnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdhYm92ZScpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luWSA9ICd0b3AnO1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5WSA9ICdib3R0b20nO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja09yaWdpblkgPSAnYm90dG9tJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPdmVybGF5WSA9ICd0b3AnO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAncmlnaHQnIHx8IHRoaXMucG9zaXRpb24gPT09ICdhZnRlcicpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luWCA9ICdlbmQnO1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5ZID0gJ2NlbnRlcic7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlYID0gJ3N0YXJ0JztcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVkgPSAnY2VudGVyJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPcmlnaW5YID0gJ3N0YXJ0JztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPcmlnaW5ZID0gJ2NlbnRlcic7XG4gICAgICAgICAgICB0aGlzLmZhbGxiYWNrT3ZlcmxheVggPSAnZW5kJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPdmVybGF5WSA9ICdjZW50ZXInO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnYmVsb3cnKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWdpblkgPSAnYm90dG9tJztcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVkgPSAndG9wJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPcmlnaW5ZID0gJ3RvcCc7XG4gICAgICAgICAgICB0aGlzLmZhbGxiYWNrT3ZlcmxheVkgPSAnYm90dG9tJztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gJ2xlZnQnIHx8IHRoaXMucG9zaXRpb24gPT09ICdiZWZvcmUnKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWdpblggPSAnc3RhcnQnO1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5ZID0gJ2NlbnRlcic7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlYID0gJ2VuZCc7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlZID0gJ2NlbnRlcic7XG4gICAgICAgICAgICB0aGlzLmZhbGxiYWNrT3JpZ2luWCA9ICdlbmQnO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja09yaWdpblkgPSAnY2VudGVyJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPdmVybGF5WCA9ICdzdGFydCc7XG4gICAgICAgICAgICB0aGlzLmZhbGxiYWNrT3ZlcmxheVkgPSAnY2VudGVyJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRvb2x0aXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9ldWktdG9vbHRpcC9ldWktdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBSUwsWUFBWSxHQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBRUgsc0JBQXNCLEdBSXpCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7O0FBTzNGLE1BQU0sT0FBTyxtQkFBbUI7SUFNNUIsSUFDSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxLQUFtQjtRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQ0ksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFJLGlCQUFpQixDQUFDLEtBQW1CO1FBQ3JDLElBQUksQ0FBQyxrQkFB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RUYsVUFBVTtzQkFEYixLQUFLO2dCQVNGLFVBQVU7c0JBRGIsS0FBSztnQkFRRixpQkFBaUI7c0JBRHBCLEtBQUs7Z0JBU0YsbUJBQW1CO3NCQUR0QixLQUFLO2dCQVNGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBU0YsaUJBQWlCO3NCQURwQixLQUFLO2dCQVNGLGlCQUFpQjtzQkFEcEIsS0FBSztnQkFTRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBU0YsZ0JBQWdCO3NCQURuQixLQUFLO2dCQXdETixhQUFhO3NCQURaLFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU10QyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXG4gICAgRGlyZWN0aXZlLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgT25DaGFuZ2VzLFxuICAgIENvbXBvbmVudFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSxcbiAgICBDb25uZWN0aW9uUG9zaXRpb25QYWlyLFxuICAgIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbixcbiAgICBPdmVybGF5LFxuICAgIE92ZXJsYXlSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZnJvbUV2ZW50LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRha2UsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuaW1wb3J0IHsgRXVpVG9vbHRpcENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY29udGFpbmVyL2V1aS10b29sdGlwLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXVpVG9vbHRpcEludGVyZmFjZSB9IGZyb20gJy4vbW9kZWxzL2V1aS10b29sdGlwLmNvbmZpZyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2V1aVRvb2x0aXBdJyxcbiAgICBleHBvcnRBczogJ2V1aVRvb2x0aXAnLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgZTJlQXR0ciA9ICdldWktdG9vbHRpcCc7XG4gICAgQElucHV0KCkgc2hvd0RlbGF5ID0gMDtcbiAgICBASW5wdXQoKSBoaWRlRGVsYXkgPSAwO1xuICAgIEBJbnB1dCgpIGNvbnRlbnRBbGlnbm1lbnQ6ICdsZWZ0JyB8ICdyaWdodCcgfCAnY2VudGVyJyB8ICdqdXN0aWZ5JyA9ICdjZW50ZXInO1xuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnIHwgJ2Fib3ZlJyB8ICdiZWxvdycgfCAnYmVmb3JlJyB8ICdhZnRlcicgfCBzdHJpbmcgPSAnYWJvdmUnO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0Rpc2FibGVkO1xuICAgIH1cbiAgICBzZXQgaXNEaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzRGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sdGlwQ29udGVudDtcbiAgICB9XG4gICAgc2V0IGV1aVRvb2x0aXAodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnRvb2x0aXBDb250ZW50ID0gdmFsdWU7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRvb2x0aXBQcmltYXJ5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXVpVG9vbHRpcFByaW1hcnk7XG4gICAgfVxuICAgIHNldCBldWlUb29sdGlwUHJpbWFyeSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRvb2x0aXBQcmltYXJ5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZXVpVG9vbHRpcFByaW1hcnkgPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUb29sdGlwU2Vjb25kYXJ5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXVpVG9vbHRpcFNlY29uZGFyeTtcbiAgICB9XG4gICAgc2V0IGV1aVRvb2x0aXBTZWNvbmRhcnkodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ldWlUb29sdGlwU2Vjb25kYXJ5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZXVpVG9vbHRpcFNlY29uZGFyeSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRvb2x0aXBJbmZvKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXVpVG9vbHRpcEluZm87XG4gICAgfVxuICAgIHNldCBldWlUb29sdGlwSW5mbyh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRvb2x0aXBJbmZvID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZXVpVG9vbHRpcEluZm8gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIGdldCBldWlUb29sdGlwU3VjY2VzcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V1aVRvb2x0aXBTdWNjZXNzO1xuICAgIH1cbiAgICBzZXQgZXVpVG9vbHRpcFN1Y2Nlc3ModmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9ldWlUb29sdGlwU3VjY2VzcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2V1aVRvb2x0aXBTdWNjZXNzID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVG9vbHRpcFdhcm5pbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldWlUb29sdGlwV2FybmluZztcbiAgICB9XG4gICAgc2V0IGV1aVRvb2x0aXBXYXJuaW5nKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZXVpVG9vbHRpcFdhcm5pbmcgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9ldWlUb29sdGlwV2FybmluZyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aVRvb2x0aXBEYW5nZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldWlUb29sdGlwRGFuZ2VyO1xuICAgIH1cbiAgICBzZXQgZXVpVG9vbHRpcERhbmdlcih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aVRvb2x0aXBEYW5nZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9ldWlUb29sdGlwRGFuZ2VyID0gZmFsc2U7XG4gICAgQElucHV0KClcbiAgICBnZXQgZXVpVG9vbHRpcEFjY2VudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V1aVRvb2x0aXBBY2NlbnQ7XG4gICAgfVxuICAgIHNldCBldWlUb29sdGlwQWNjZW50KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZXVpVG9vbHRpcEFjY2VudCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2V1aVRvb2x0aXBBY2NlbnQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgb3JpZ2luWDogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2NlbnRlcicgPSAnY2VudGVyJztcbiAgICBwcml2YXRlIG9yaWdpblk6ICd0b3AnIHwgJ2JvdHRvbScgfCAnY2VudGVyJyA9ICd0b3AnO1xuICAgIHByaXZhdGUgb3ZlcmxheVg6ICdzdGFydCcgfCAnZW5kJyB8ICdjZW50ZXInID0gJ2NlbnRlcic7XG4gICAgcHJpdmF0ZSBvdmVybGF5WTogJ3RvcCcgfCAnYm90dG9tJyB8ICdjZW50ZXInID0gJ2JvdHRvbSc7XG4gICAgcHJpdmF0ZSBmYWxsYmFja09yaWdpblg6ICdzdGFydCcgfCAnZW5kJyB8ICdjZW50ZXInID0gJ2NlbnRlcic7XG4gICAgcHJpdmF0ZSBmYWxsYmFja09yaWdpblk6ICd0b3AnIHwgJ2JvdHRvbScgfCAnY2VudGVyJyA9ICdib3R0b20nO1xuICAgIHByaXZhdGUgZmFsbGJhY2tPdmVybGF5WDogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2NlbnRlcicgPSAnY2VudGVyJztcbiAgICBwcml2YXRlIGZhbGxiYWNrT3ZlcmxheVk6ICd0b3AnIHwgJ2JvdHRvbScgfCAnY2VudGVyJyA9ICd0b3AnO1xuICAgIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIGlzT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIG1vdXNlbGVhdmVTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgcHJpdmF0ZSBibHVyU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHByaXZhdGUgc2hvd0RlbGF5U3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHByaXZhdGUgcG9zaXRpb25TdHJhdGVneVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICBwcml2YXRlIHRvb2x0aXBDb250ZW50OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSB0b29sdGlwSW5zdGFuY2U6IENvbXBvbmVudFJlZjxFdWlUb29sdGlwQ29udGFpbmVyQ29tcG9uZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgKSB7fVxuXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBJbnN0YW5jZSkge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwSW5zdGFuY2Uuc2V0SW5wdXQoJ2NvbmZpZycsIHRoaXMuZ2V0VG9vbHRpcENvbmZpZygpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0UG9zaXRpb24oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5tb3VzZWxlYXZlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuYmx1clN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnNob3dEZWxheVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnBvc2l0aW9uU3RyYXRlZ3lTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicsIFsnJGV2ZW50J10pXG4gICAgbW91c2VFbnRlcmluZyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3coZXZlbnQudGFyZ2V0KTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycsIFsnJGV2ZW50J10pXG4gICAgZm9jdXNlZChldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3coZXZlbnQudGFyZ2V0KTtcbiAgICB9XG5cbiAgICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09wZW4kLnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaG93KG9yaWdpbjogRXZlbnRUYXJnZXQgPSB0aGlzLmhvc3QubmF0aXZlRWxlbWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dEZWxheVN1YnNjcmlwdGlvbiA9IHRpbWVyKHRoaXMuc2hvd0RlbGF5KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzT3BlbiAmJiAhdGhpcy5pc0Rpc2FibGVkICYmIHRoaXMudG9vbHRpcENvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbiBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4pXG4gICAgICAgICAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgb3JpZ2luWDogdGhpcy5vcmlnaW5YLCBvcmlnaW5ZOiB0aGlzLm9yaWdpblkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IG92ZXJsYXlYOiB0aGlzLm92ZXJsYXlYLCBvdmVybGF5WTogdGhpcy5vdmVybGF5WSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgb3JpZ2luWDogdGhpcy5mYWxsYmFja09yaWdpblgsIG9yaWdpblk6IHRoaXMuZmFsbGJhY2tPcmlnaW5ZIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBvdmVybGF5WDogdGhpcy5mYWxsYmFja092ZXJsYXlYLCBvdmVybGF5WTogdGhpcy5mYWxsYmFja092ZXJsYXlZIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbih0cnVlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oeyBzY3JvbGxUaHJvdHRsZTogMTAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBwYW5lbENsYXNzOiAnZXVpLXRvb2x0aXBfX2NvbnRhaW5lcicsXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5LFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvblN0cmF0ZWd5U3Vic2NyaXB0aW9uID0gcG9zaXRpb25TdHJhdGVneS5wb3NpdGlvbkNoYW5nZXMuc3Vic2NyaWJlKChvdmVybGF5UG9zaXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHRoaXMuZ2V0UG9zaXRpb24ob3ZlcmxheVBvc2l0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb25DbGFzc2VzID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2V1aS10b29sdGlwLS1sZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdldWktdG9vbHRpcC0tcmlnaHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2V1aS10b29sdGlwLS1hYm92ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnZXVpLXRvb2x0aXAtLWJlbG93JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdldWktdG9vbHRpcC0tYmVmb3JlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdldWktdG9vbHRpcC0tYWZ0ZXInLFxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYucmVtb3ZlUGFuZWxDbGFzcyhwb3NpdGlvbkNsYXNzZXMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYWRkUGFuZWxDbGFzcyhbJ2V1aS10b29sdGlwLS0nICsgdGhpcy5wb3NpdGlvbl0pO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgbGV0IGNvbG9yQ2xhc3MgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwUHJpbWFyeSkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvckNsYXNzID0gJ3ByaW1hcnknO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwU2Vjb25kYXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yQ2xhc3MgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZXVpVG9vbHRpcEluZm8pIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3JDbGFzcyA9ICdpbmZvJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZXVpVG9vbHRpcFN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3JDbGFzcyA9ICdzdWNjZXNzJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZXVpVG9vbHRpcFdhcm5pbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3JDbGFzcyA9ICd3YXJuaW5nJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZXVpVG9vbHRpcERhbmdlcikge1xuICAgICAgICAgICAgICAgICAgICBjb2xvckNsYXNzID0gJ2Rhbmdlcic7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV1aVRvb2x0aXBBY2NlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3JDbGFzcyA9ICdhY2NlbnQnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8RXVpVG9vbHRpcENvbnRhaW5lckNvbXBvbmVudD4oRXVpVG9vbHRpcENvbnRhaW5lckNvbXBvbmVudCwgbnVsbCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnRvb2x0aXBJbnN0YW5jZSA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2goY29tcG9uZW50UG9ydGFsKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRvb2x0aXBJbnN0YW5jZS5zZXRJbnB1dCgnY29uZmlnJywgdGhpcy5nZXRUb29sdGlwQ29uZmlnKCkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5pc09wZW4kLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubW91c2VsZWF2ZVN1YnNjcmlwdGlvbiA9IGZyb21FdmVudChvcmlnaW4sICdtb3VzZWxlYXZlJykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmJsdXJTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQob3JpZ2luLCAnYmx1cicpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGhpZGUoKTogdm9pZCB7XG4gICAgICAgIHRpbWVyKHRoaXMuaGlkZURlbGF5KVxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdXNlbGVhdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJsdXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dEZWxheVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb25TdHJhdGVneVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRvb2x0aXBDb25maWcoKTogRXVpVG9vbHRpcEludGVyZmFjZSB7XG4gICAgICAgIGxldCBjb2xvckNsYXNzID0gJ3NlY29uZGFyeSc7XG4gICAgICAgIGlmICh0aGlzLmV1aVRvb2x0aXBQcmltYXJ5KSB7XG4gICAgICAgICAgICBjb2xvckNsYXNzID0gJ3ByaW1hcnknO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmV1aVRvb2x0aXBTZWNvbmRhcnkpIHtcbiAgICAgICAgICAgIGNvbG9yQ2xhc3MgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwSW5mbykge1xuICAgICAgICAgICAgY29sb3JDbGFzcyA9ICdpbmZvJztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwU3VjY2Vzcykge1xuICAgICAgICAgICAgY29sb3JDbGFzcyA9ICdzdWNjZXNzJztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwV2FybmluZykge1xuICAgICAgICAgICAgY29sb3JDbGFzcyA9ICd3YXJuaW5nJztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ldWlUb29sdGlwRGFuZ2VyKSB7XG4gICAgICAgICAgICBjb2xvckNsYXNzID0gJ2Rhbmdlcic7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZXVpVG9vbHRpcEFjY2VudCkge1xuICAgICAgICAgICAgY29sb3JDbGFzcyA9ICdhY2NlbnQnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGUyZUF0dHI6IHRoaXMuZTJlQXR0cixcbiAgICAgICAgICAgIHRvb2x0aXBDb250ZW50OiB0aGlzLnRvb2x0aXBDb250ZW50LFxuICAgICAgICAgICAgcG9zaXRpb246IHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICBjb250ZW50QWxpZ246IHRoaXMuY29udGVudEFsaWdubWVudCxcbiAgICAgICAgICAgIGNvbG9yQ2xhc3MsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQb3NpdGlvbihvdmVybGF5UG9zaXRpb246IENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSk6IHN0cmluZyB7XG4gICAgICAgIGlmIChvdmVybGF5UG9zaXRpb24uY29ubmVjdGlvblBhaXIub3JpZ2luWSA9PT0gJ3RvcCcgJiYgb3ZlcmxheVBvc2l0aW9uLmNvbm5lY3Rpb25QYWlyLm92ZXJsYXlZID09PSAnYm90dG9tJykge1xuICAgICAgICAgICAgcmV0dXJuICdhYm92ZSc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG92ZXJsYXlQb3NpdGlvbi5jb25uZWN0aW9uUGFpci5vcmlnaW5ZID09PSAnYm90dG9tJyAmJiBvdmVybGF5UG9zaXRpb24uY29ubmVjdGlvblBhaXIub3ZlcmxheVkgPT09ICd0b3AnKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2JlbG93JztcbiAgICAgICAgfVxuICAgICAgICBpZiAob3ZlcmxheVBvc2l0aW9uLmNvbm5lY3Rpb25QYWlyLm9yaWdpblggPT09ICdzdGFydCcgJiYgb3ZlcmxheVBvc2l0aW9uLmNvbm5lY3Rpb25QYWlyLm92ZXJsYXlYID09PSAnZW5kJykge1xuICAgICAgICAgICAgcmV0dXJuICdsZWZ0JztcbiAgICAgICAgfVxuICAgICAgICBpZiAob3ZlcmxheVBvc2l0aW9uLmNvbm5lY3Rpb25QYWlyLm9yaWdpblggPT09ICdlbmQnICYmIG92ZXJsYXlQb3NpdGlvbi5jb25uZWN0aW9uUGFpci5vdmVybGF5WCA9PT0gJ3N0YXJ0Jykge1xuICAgICAgICAgICAgcmV0dXJuICdyaWdodCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gJ2Fib3ZlJykge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5ZID0gJ3RvcCc7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlZID0gJ2JvdHRvbSc7XG4gICAgICAgICAgICB0aGlzLmZhbGxiYWNrT3JpZ2luWSA9ICdib3R0b20nO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja092ZXJsYXlZID0gJ3RvcCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdyaWdodCcgfHwgdGhpcy5wb3NpdGlvbiA9PT0gJ2FmdGVyJykge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5YID0gJ2VuZCc7XG4gICAgICAgICAgICB0aGlzLm9yaWdpblkgPSAnY2VudGVyJztcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVggPSAnc3RhcnQnO1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5WSA9ICdjZW50ZXInO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja09yaWdpblggPSAnc3RhcnQnO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja09yaWdpblkgPSAnY2VudGVyJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPdmVybGF5WCA9ICdlbmQnO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja092ZXJsYXlZID0gJ2NlbnRlcic7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdiZWxvdycpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luWSA9ICdib3R0b20nO1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5WSA9ICd0b3AnO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja09yaWdpblkgPSAndG9wJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPdmVybGF5WSA9ICdib3R0b20nO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnbGVmdCcgfHwgdGhpcy5wb3NpdGlvbiA9PT0gJ2JlZm9yZScpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luWCA9ICdzdGFydCc7XG4gICAgICAgICAgICB0aGlzLm9yaWdpblkgPSAnY2VudGVyJztcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVggPSAnZW5kJztcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVkgPSAnY2VudGVyJztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPcmlnaW5YID0gJ2VuZCc7XG4gICAgICAgICAgICB0aGlzLmZhbGxiYWNrT3JpZ2luWSA9ICdjZW50ZXInO1xuICAgICAgICAgICAgdGhpcy5mYWxsYmFja092ZXJsYXlYID0gJ3N0YXJ0JztcbiAgICAgICAgICAgIHRoaXMuZmFsbGJhY2tPdmVybGF5WSA9ICdjZW50ZXInO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19