@unovis/angular 1.6.2 → 1.6.4

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.
@@ -63,11 +63,13 @@ export declare class VisAnnotationsComponent implements AnnotationsConfigInterfa
63
63
  * To learn more, see our docs https://unovis.dev/docs/auxiliary/Annotations/
64
64
  * Default: `[]` */
65
65
  items: AnnotationItem[] | undefined;
66
+ /** Debug option to render bounding boxes around text elements. Default: `false` */
67
+ renderTextBoundingBoxes?: boolean;
66
68
  component: Annotations | undefined;
67
69
  componentContainer: ContainerCore | undefined;
68
70
  ngAfterViewInit(): void;
69
71
  ngOnChanges(changes: SimpleChanges): void;
70
72
  private getConfig;
71
73
  static ɵfac: i0.ɵɵFactoryDeclaration<VisAnnotationsComponent, never>;
72
- static ɵcmp: i0.ɵɵComponentDeclaration<VisAnnotationsComponent, "vis-annotations", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "items": "items"; }, {}, never, never>;
74
+ static ɵcmp: i0.ɵɵComponentDeclaration<VisAnnotationsComponent, "vis-annotations", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "items": "items"; "renderTextBoundingBoxes": "renderTextBoundingBoxes"; }, {}, never, never>;
73
75
  }
@@ -1,5 +1,5 @@
1
1
  import { AfterViewInit, SimpleChanges } from '@angular/core';
2
- import { Area, AreaConfigInterface, ContainerCore, VisEventType, VisEventCallback, NumericAccessor, ColorAccessor, ContinuousScale, CurveType, StringAccessor } from '@unovis/ts';
2
+ import { Area, AreaConfigInterface, ContainerCore, VisEventType, VisEventCallback, NumericAccessor, ColorAccessor, ContinuousScale, CurveType, StringAccessor, GenericAccessor } from '@unovis/ts';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class VisAreaComponent<Datum> implements AreaConfigInterface<Datum>, AfterViewInit {
5
5
  /** Animation duration of the data update transitions in milliseconds. Default: `600` */
@@ -78,6 +78,14 @@ export declare class VisAreaComponent<Datum> implements AreaConfigInterface<Datu
78
78
  opacity?: NumericAccessor<Datum[]>;
79
79
  /** Optional area cursor. String or accessor function. Default: `null` */
80
80
  cursor?: StringAccessor<Datum[]>;
81
+ /** Display a line on the top of the area. Default: `false` */
82
+ line?: boolean;
83
+ /** Line color accessor function. The whole data array will be passed as the first argument. Default: `undefined` */
84
+ lineColor?: ColorAccessor<Datum[]>;
85
+ /** Line width in pixels. Default: `2` */
86
+ lineWidth?: number;
87
+ /** Line dash array, see SVG's stroke-dasharray. Default: `undefined` */
88
+ lineDashArray?: GenericAccessor<number[], Datum[]>;
81
89
  /** If an area is smaller than 1px, extend it to have 1px height. Default: `false` */
82
90
  minHeight1Px?: boolean;
83
91
  /** Minimum height of the area, use carefully.
@@ -85,6 +93,8 @@ export declare class VisAreaComponent<Datum> implements AreaConfigInterface<Datu
85
93
  * practically invisible, but you want to show that the data behind them exists and they're not just empty segments.
86
94
  * Default: `undefined` */
87
95
  minHeight?: number;
96
+ /** Whether to stack min height areas or not. Default: `undefined` */
97
+ stackMinHeight?: boolean;
88
98
  data: Datum[];
89
99
  component: Area<Datum> | undefined;
90
100
  componentContainer: ContainerCore | undefined;
@@ -92,5 +102,5 @@ export declare class VisAreaComponent<Datum> implements AreaConfigInterface<Datu
92
102
  ngOnChanges(changes: SimpleChanges): void;
93
103
  private getConfig;
94
104
  static ɵfac: i0.ɵɵFactoryDeclaration<VisAreaComponent<any>, never>;
95
- static ɵcmp: i0.ɵɵComponentDeclaration<VisAreaComponent<any>, "vis-area", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "x": "x"; "y": "y"; "id": "id"; "color": "color"; "xScale": "xScale"; "yScale": "yScale"; "excludeFromDomainCalculation": "excludeFromDomainCalculation"; "curveType": "curveType"; "baseline": "baseline"; "opacity": "opacity"; "cursor": "cursor"; "minHeight1Px": "minHeight1Px"; "minHeight": "minHeight"; "data": "data"; }, {}, never, never>;
105
+ static ɵcmp: i0.ɵɵComponentDeclaration<VisAreaComponent<any>, "vis-area", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "x": "x"; "y": "y"; "id": "id"; "color": "color"; "xScale": "xScale"; "yScale": "yScale"; "excludeFromDomainCalculation": "excludeFromDomainCalculation"; "curveType": "curveType"; "baseline": "baseline"; "opacity": "opacity"; "cursor": "cursor"; "line": "line"; "lineColor": "lineColor"; "lineWidth": "lineWidth"; "lineDashArray": "lineDashArray"; "minHeight1Px": "minHeight1Px"; "minHeight": "minHeight"; "stackMinHeight": "stackMinHeight"; "data": "data"; }, {}, never, never>;
96
106
  }
@@ -83,7 +83,7 @@ export declare class VisCrosshairComponent<Datum> implements CrosshairConfigInte
83
83
  /** Tooltip template accessor. The function is supposed to return either a valid HTML string or an HTMLElement.
84
84
  * When `snapToData` is `false`, `datum` will be `undefined` but `data` and `leftNearestDatumIndex` will be provided.
85
85
  * Default: `d => ''` */
86
- template?: (datum: Datum, x: number | Date, data?: Datum[], leftNearestDatumIndex?: number) => string | HTMLElement;
86
+ template?: (datum: Datum, x: number | Date, data: Datum[], leftNearestDatumIndex?: number) => string | HTMLElement;
87
87
  /** Hide Crosshair when the corresponding datum element is far from mouse pointer. Default: `true` */
88
88
  hideWhenFarFromPointer?: boolean;
89
89
  /** Distance in pixels to check in the hideWhenFarFromPointer condition. Default: `100` */
@@ -1,5 +1,6 @@
1
1
  import { AfterViewInit, SimpleChanges } from '@angular/core';
2
- import { Sankey, SankeyConfigInterface, ContainerCore, SankeyInputNode, SankeyInputLink, VisEventType, VisEventCallback, SankeyExitTransitionType, SankeyEnterTransitionType, SankeyNode, SankeyLink, SankeyNodeAlign, StringAccessor, ColorAccessor, NumericAccessor, GenericAccessor, Position, VerticalAlign, FitMode, TrimMode, SankeySubLabelPlacement } from '@unovis/ts';
2
+ import { Sankey, SankeyConfigInterface, ContainerCore, SankeyInputNode, SankeyInputLink, VisEventType, VisEventCallback, SankeyZoomMode, SankeyExitTransitionType, SankeyEnterTransitionType, SankeyNode, SankeyLink, SankeyNodeAlign, StringAccessor, ColorAccessor, NumericAccessor, GenericAccessor, Position, VerticalAlign, FitMode, TrimMode, SankeySubLabelPlacement, Spacing } from '@unovis/ts';
3
+ import { D3ZoomEvent } from 'd3-zoom';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class VisSankeyComponent<N extends SankeyInputNode, L extends SankeyInputLink> implements SankeyConfigInterface<N, L>, AfterViewInit {
5
6
  /** Animation duration of the data update transitions in milliseconds. Default: `600` */
@@ -53,6 +54,16 @@ export declare class VisSankeyComponent<N extends SankeyInputNode, L extends San
53
54
  id?: (d: SankeyInputNode | SankeyInputLink, i: number, ...rest: any[]) => string;
54
55
  /** Coefficient to scale the height of the diagram when the amount of links is low: `C * links.length`, clamped to `[height / 2, height]`. Default: `1/16` */
55
56
  heightNormalizationCoeff?: number;
57
+ /** Horizontal and vertical scale factor applied to the computed layout (column spacing). Keeps node width intact. Default: `undefined` */
58
+ zoomScale?: [number, number];
59
+ /** Pan offset in pixels. Default: `undefined` */
60
+ zoomPan?: [number, number];
61
+ /** Enable interactive zoom/pan behavior. Default: `true` */
62
+ enableZoom?: boolean;
63
+ /** Allowed interactive zoom scale extent. Default: `[1, 5]` */
64
+ zoomExtent?: [number, number];
65
+ /** Zoom interaction mode. Default: `SankeyZoomMode.XY` */
66
+ zoomMode?: SankeyZoomMode | string;
56
67
  /** Type of animation on removing nodes. Default: `ExitTransitionType.Default` */
57
68
  exitTransitionType?: SankeyExitTransitionType;
58
69
  /** Type of animation on creating nodes. Default: `EnterTransitionType.Default` */
@@ -119,10 +130,14 @@ export declare class VisSankeyComponent<N extends SankeyInputNode, L extends San
119
130
  labelVerticalAlign?: VerticalAlign | string;
120
131
  /** Label background */
121
132
  labelBackground?: boolean;
122
- /** Label fit mode (wrap or trim). Default: `FitMode.TRIM` * */
133
+ /** Label fit mode (wrap or trim). Default: `FitMode.Trim` * */
123
134
  labelFit?: FitMode;
124
135
  /** Maximum label with in pixels. Default: `70` */
125
136
  labelMaxWidth?: number;
137
+ /** Whether to take the available space for the label. This property is used only if `labelMaxWidth` is not provided. Default: `false` */
138
+ labelMaxWidthTakeAvailableSpace?: boolean;
139
+ /** Tolerance for the available space for the label. This property is used only if `labelMaxWidthTakeAvailableSpace` is `true`. Default: `undefined` (use label and sub-label font sizes) */
140
+ labelMaxWidthTakeAvailableSpaceTolerance?: number;
126
141
  /** Expand trimmed label on hover. Default: `true` */
127
142
  labelExpandTrimmedOnHover?: boolean;
128
143
  /** Label trimming mode. Default: `TrimMode.Middle` */
@@ -131,6 +146,8 @@ export declare class VisSankeyComponent<N extends SankeyInputNode, L extends San
131
146
  labelFontSize?: number;
132
147
  /** Label text separators for wrapping. Default: `[' ', '-']` */
133
148
  labelTextSeparator?: string[];
149
+ /** Label text decoration. Default: `undefined` */
150
+ labelTextDecoration?: StringAccessor<SankeyNode<N, L>>;
134
151
  /** Force break words to fit long labels. Default: `true` */
135
152
  labelForceWordBreak?: boolean;
136
153
  /** Label color. Default: `undefined` */
@@ -150,9 +167,17 @@ export declare class VisSankeyComponent<N extends SankeyInputNode, L extends San
150
167
  subLabelColor?: ColorAccessor<SankeyNode<N, L>>;
151
168
  /** Sub-label position. Default: `SankeySubLabelPlacement.Below` */
152
169
  subLabelPlacement?: SankeySubLabelPlacement | string;
170
+ /** Sub-label text decoration. Default: `undefined` */
171
+ subLabelTextDecoration?: StringAccessor<SankeyNode<N, L>>;
153
172
  /** Sub-label to label width ratio when `subLabelPlacement` is set to `SankeySubLabelPlacement.Inline`
154
173
  * Default: `0.4`, which means that 40% of `labelMaxWidth` will be given to sub-label, and 60% to the main label. */
155
174
  subLabelToLabelInlineWidthRatio?: number;
175
+ /** Zoom event callback. Default: `undefined` */
176
+ onZoom?: (horizontalScale: number, verticalScale: number, panX: number, panY: number, zoomExtent: [number, number], event: D3ZoomEvent<SVGGElement, unknown> | undefined) => void;
177
+ /** Callback function to be called when the graph layout is calculated. Default: `undefined` */
178
+ onLayoutCalculated?: (nodes: SankeyNode<N, L>[], links: SankeyLink<N, L>[], depth: number, width: number, height: number, bleed: Spacing) => void;
179
+ /** Set selected nodes by unique id. Default: `undefined` */
180
+ selectedNodeIds?: string[];
156
181
  data: {
157
182
  nodes: N[];
158
183
  links?: L[];
@@ -163,5 +188,5 @@ export declare class VisSankeyComponent<N extends SankeyInputNode, L extends San
163
188
  ngOnChanges(changes: SimpleChanges): void;
164
189
  private getConfig;
165
190
  static ɵfac: i0.ɵɵFactoryDeclaration<VisSankeyComponent<any, any>, never>;
166
- static ɵcmp: i0.ɵɵComponentDeclaration<VisSankeyComponent<any, any>, "vis-sankey", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "id": "id"; "heightNormalizationCoeff": "heightNormalizationCoeff"; "exitTransitionType": "exitTransitionType"; "enterTransitionType": "enterTransitionType"; "highlightSubtreeOnHover": "highlightSubtreeOnHover"; "highlightDuration": "highlightDuration"; "highlightDelay": "highlightDelay"; "iterations": "iterations"; "nodeSort": "nodeSort"; "linkSort": "linkSort"; "nodeWidth": "nodeWidth"; "nodeAlign": "nodeAlign"; "nodeHorizontalSpacing": "nodeHorizontalSpacing"; "nodeMinHeight": "nodeMinHeight"; "nodeMaxHeight": "nodeMaxHeight"; "nodePadding": "nodePadding"; "showSingleNode": "showSingleNode"; "nodeCursor": "nodeCursor"; "nodeIcon": "nodeIcon"; "nodeColor": "nodeColor"; "nodeFixedValue": "nodeFixedValue"; "nodeIconColor": "nodeIconColor"; "linkColor": "linkColor"; "linkValue": "linkValue"; "linkCursor": "linkCursor"; "label": "label"; "subLabel": "subLabel"; "labelPosition": "labelPosition"; "labelVerticalAlign": "labelVerticalAlign"; "labelBackground": "labelBackground"; "labelFit": "labelFit"; "labelMaxWidth": "labelMaxWidth"; "labelExpandTrimmedOnHover": "labelExpandTrimmedOnHover"; "labelTrimMode": "labelTrimMode"; "labelFontSize": "labelFontSize"; "labelTextSeparator": "labelTextSeparator"; "labelForceWordBreak": "labelForceWordBreak"; "labelColor": "labelColor"; "labelCursor": "labelCursor"; "labelVisibility": "labelVisibility"; "subLabelFontSize": "subLabelFontSize"; "subLabelColor": "subLabelColor"; "subLabelPlacement": "subLabelPlacement"; "subLabelToLabelInlineWidthRatio": "subLabelToLabelInlineWidthRatio"; "data": "data"; }, {}, never, never>;
191
+ static ɵcmp: i0.ɵɵComponentDeclaration<VisSankeyComponent<any, any>, "vis-sankey", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "id": "id"; "heightNormalizationCoeff": "heightNormalizationCoeff"; "zoomScale": "zoomScale"; "zoomPan": "zoomPan"; "enableZoom": "enableZoom"; "zoomExtent": "zoomExtent"; "zoomMode": "zoomMode"; "exitTransitionType": "exitTransitionType"; "enterTransitionType": "enterTransitionType"; "highlightSubtreeOnHover": "highlightSubtreeOnHover"; "highlightDuration": "highlightDuration"; "highlightDelay": "highlightDelay"; "iterations": "iterations"; "nodeSort": "nodeSort"; "linkSort": "linkSort"; "nodeWidth": "nodeWidth"; "nodeAlign": "nodeAlign"; "nodeHorizontalSpacing": "nodeHorizontalSpacing"; "nodeMinHeight": "nodeMinHeight"; "nodeMaxHeight": "nodeMaxHeight"; "nodePadding": "nodePadding"; "showSingleNode": "showSingleNode"; "nodeCursor": "nodeCursor"; "nodeIcon": "nodeIcon"; "nodeColor": "nodeColor"; "nodeFixedValue": "nodeFixedValue"; "nodeIconColor": "nodeIconColor"; "linkColor": "linkColor"; "linkValue": "linkValue"; "linkCursor": "linkCursor"; "label": "label"; "subLabel": "subLabel"; "labelPosition": "labelPosition"; "labelVerticalAlign": "labelVerticalAlign"; "labelBackground": "labelBackground"; "labelFit": "labelFit"; "labelMaxWidth": "labelMaxWidth"; "labelMaxWidthTakeAvailableSpace": "labelMaxWidthTakeAvailableSpace"; "labelMaxWidthTakeAvailableSpaceTolerance": "labelMaxWidthTakeAvailableSpaceTolerance"; "labelExpandTrimmedOnHover": "labelExpandTrimmedOnHover"; "labelTrimMode": "labelTrimMode"; "labelFontSize": "labelFontSize"; "labelTextSeparator": "labelTextSeparator"; "labelTextDecoration": "labelTextDecoration"; "labelForceWordBreak": "labelForceWordBreak"; "labelColor": "labelColor"; "labelCursor": "labelCursor"; "labelVisibility": "labelVisibility"; "subLabelFontSize": "subLabelFontSize"; "subLabelColor": "subLabelColor"; "subLabelPlacement": "subLabelPlacement"; "subLabelTextDecoration": "subLabelTextDecoration"; "subLabelToLabelInlineWidthRatio": "subLabelToLabelInlineWidthRatio"; "onZoom": "onZoom"; "onLayoutCalculated": "onLayoutCalculated"; "selectedNodeIds": "selectedNodeIds"; "data": "data"; }, {}, never, never>;
167
192
  }
@@ -45,6 +45,8 @@ export { VisLeafletFlowMapComponent } from './html-components/leaflet-flow-map/l
45
45
  export { VisLeafletFlowMapModule } from './html-components/leaflet-flow-map/leaflet-flow-map.module';
46
46
  export { VisBulletLegendComponent } from './html-components/bullet-legend/bullet-legend.component';
47
47
  export { VisBulletLegendModule } from './html-components/bullet-legend/bullet-legend.module';
48
+ export { VisFlowLegendComponent } from './html-components/flow-legend/flow-legend.component';
49
+ export { VisFlowLegendModule } from './html-components/flow-legend/flow-legend.module';
48
50
  export { VisRollingPinLegendComponent } from './html-components/rolling-pin-legend/rolling-pin-legend.component';
49
51
  export { VisRollingPinLegendModule } from './html-components/rolling-pin-legend/rolling-pin-legend.module';
50
52
  export { VisTooltipComponent } from './components/tooltip/tooltip.component';
@@ -13,8 +13,8 @@ export class VisAnnotationsComponent {
13
13
  (_b = this.componentContainer) === null || _b === void 0 ? void 0 : _b.render();
14
14
  }
15
15
  getConfig() {
16
- const { duration, events, attributes, items } = this;
17
- const config = { duration, events, attributes, items };
16
+ const { duration, events, attributes, items, renderTextBoundingBoxes } = this;
17
+ const config = { duration, events, attributes, items, renderTextBoundingBoxes };
18
18
  const keys = Object.keys(config);
19
19
  keys.forEach(key => { if (config[key] === undefined)
20
20
  delete config[key]; });
@@ -22,7 +22,7 @@ export class VisAnnotationsComponent {
22
22
  }
23
23
  }
24
24
  VisAnnotationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- VisAnnotationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAnnotationsComponent, selector: "vis-annotations", inputs: { duration: "duration", events: "events", attributes: "attributes", items: "items" }, providers: [{ provide: VisGenericComponent, useExisting: VisAnnotationsComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
25
+ VisAnnotationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAnnotationsComponent, selector: "vis-annotations", inputs: { duration: "duration", events: "events", attributes: "attributes", items: "items", renderTextBoundingBoxes: "renderTextBoundingBoxes" }, providers: [{ provide: VisGenericComponent, useExisting: VisAnnotationsComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{
@@ -39,5 +39,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
39
39
  type: Input
40
40
  }], items: [{
41
41
  type: Input
42
+ }], renderTextBoundingBoxes: [{
43
+ type: Input
42
44
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQTZGLE1BQU0sWUFBWSxDQUFBO0FBQ25JLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRaEQsTUFBTSxPQUFPLHVCQUF1QjtJQXFFbEMsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjs7UUFDakMsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7UUFDM0MsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLE1BQU0sRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFBO1FBQ3RELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUF5QyxDQUFBO1FBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTO1lBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxRSxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7O3FIQXJGVSx1QkFBdUI7eUdBQXZCLHVCQUF1Qix3SUFGdkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQywrQ0FGekUsRUFBRTs0RkFJRCx1QkFBdUI7a0JBTm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZ0RBQWdEO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHlCQUF5QixFQUFFLENBQUM7aUJBQ3BGOzhCQUdVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBbUJHLE1BQU07c0JBQWQsS0FBSztnQkF3QkcsVUFBVTtzQkFBbEIsS0FBSztnQkFtQkcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQW5ub3RhdGlvbnMsIEFubm90YXRpb25zQ29uZmlnSW50ZXJmYWNlLCBDb250YWluZXJDb3JlLCBWaXNFdmVudFR5cGUsIFZpc0V2ZW50Q2FsbGJhY2ssIEFubm90YXRpb25JdGVtIH0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc0dlbmVyaWNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXMtYW5ub3RhdGlvbnMnLFxuICB0ZW1wbGF0ZTogJycsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZpc0dlbmVyaWNDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBWaXNBbm5vdGF0aW9uc0NvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzQW5ub3RhdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBBbm5vdGF0aW9uc0NvbmZpZ0ludGVyZmFjZSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gb2YgdGhlIGRhdGEgdXBkYXRlIHRyYW5zaXRpb25zIGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdDogYDYwMGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogRXZlbnRzIGNvbmZpZ3VyYXRpb24uIEFuIG9iamVjdCBjb250YWluaW5nIHByb3BlcnRpZXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbZXZlbnRUeXBlXTogY2FsbGJhY2tGdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBjbGljazogKGQpID0+IGNvbnNvbGUubG9nKFwiQ2xpY2tlZCBBcmVhXCIsIGQpXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGV2ZW50cz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFtldmVudFR5cGUgaW4gVmlzRXZlbnRUeXBlXT86IFZpc0V2ZW50Q2FsbGJhY2tcbiAgICB9O1xuICB9XG5cbiAgLyoqIFlvdSBjYW4gc2V0IGV2ZXJ5IFNWRyBhbmQgSFRNTCB2aXN1YWxpemF0aW9uIG9iamVjdCB0byBoYXZlIGEgY3VzdG9tIERPTSBhdHRyaWJ1dGVzLCB3aGljaCBpcyB1c2VmdWxcbiAgICogd2hlbiB5b3Ugd2FudCB0byBkbyB1bml0IG9yIGVuZC10by1lbmQgdGVzdGluZy4gQXR0cmlidXRlcyBjb25maWd1cmF0aW9uIG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbYXR0cmlidXRlTmFtZV06IGF0dHJpYnV0ZSBjb25zdGFudCB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBcInRlc3QtdmFsdWVcIjogZCA9PiBkLnZhbHVlXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbYXR0cjogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8ICgoZGF0dW06IGFueSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbik7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBMZWdlbmQgaXRlbXMuIEFycmF5IG9mIGBBbm5vdGF0aW9uSXRlbWA6XG4gICAqIGBgYFxuICAgKiB7XG4gICAqICBjb250ZW50OiBzdHJpbmcgfCBVbm92aXNUZXh0IHwgVW5vdmlzVGV4dFtdO1xuICAgKiAgc3ViamVjdD86IEFubm90YXRpb25TdWJqZWN0O1xuICAgKiAgeD86IExlbmd0aFVuaXQ7XG4gICAqICB5PzogTGVuZ3RoVW5pdDtcbiAgICogIHdpZHRoPzogTGVuZ3RoVW5pdDtcbiAgICogIGhlaWdodD86IExlbmd0aFVuaXQ7XG4gICAqIH1cbiAgICogYGBgXG4gICAqIFRvIGxlYXJuIG1vcmUsIHNlZSBvdXIgZG9jcyBodHRwczovL3Vub3Zpcy5kZXYvZG9jcy9hdXhpbGlhcnkvQW5ub3RhdGlvbnMvXG4gICAqIERlZmF1bHQ6IGBbXWAgKi9cbiAgQElucHV0KCkgaXRlbXM6IEFubm90YXRpb25JdGVtW10gfCB1bmRlZmluZWRcblxuICBjb21wb25lbnQ6IEFubm90YXRpb25zIHwgdW5kZWZpbmVkXG4gIHB1YmxpYyBjb21wb25lbnRDb250YWluZXI6IENvbnRhaW5lckNvcmUgfCB1bmRlZmluZWRcblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50ID0gbmV3IEFubm90YXRpb25zKHRoaXMuZ2V0Q29uZmlnKCkpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBBbm5vdGF0aW9uc0NvbmZpZ0ludGVyZmFjZSB7XG4gICAgY29uc3QgeyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCBpdGVtcyB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgaXRlbXMgfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBBbm5vdGF0aW9uc0NvbmZpZ0ludGVyZmFjZSlbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQTZGLE1BQU0sWUFBWSxDQUFBO0FBQ25JLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRaEQsTUFBTSxPQUFPLHVCQUF1QjtJQXdFbEMsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjs7UUFDakMsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7UUFDM0MsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLE1BQU0sRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUM3RSxNQUFNLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxDQUFBO1FBQy9FLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUF5QyxDQUFBO1FBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTO1lBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxRSxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7O3FIQXhGVSx1QkFBdUI7eUdBQXZCLHVCQUF1Qiw0TEFGdkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQywrQ0FGekUsRUFBRTs0RkFJRCx1QkFBdUI7a0JBTm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZ0RBQWdEO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHlCQUF5QixFQUFFLENBQUM7aUJBQ3BGOzhCQUdVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBbUJHLE1BQU07c0JBQWQsS0FBSztnQkF3QkcsVUFBVTtzQkFBbEIsS0FBSztnQkFtQkcsS0FBSztzQkFBYixLQUFLO2dCQUdHLHVCQUF1QjtzQkFBL0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFubm90YXRpb25zLCBBbm5vdGF0aW9uc0NvbmZpZ0ludGVyZmFjZSwgQ29udGFpbmVyQ29yZSwgVmlzRXZlbnRUeXBlLCBWaXNFdmVudENhbGxiYWNrLCBBbm5vdGF0aW9uSXRlbSB9IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNHZW5lcmljQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLWFubm90YXRpb25zJyxcbiAgdGVtcGxhdGU6ICcnLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNHZW5lcmljQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzQW5ub3RhdGlvbnNDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0Fubm90YXRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgQW5ub3RhdGlvbnNDb25maWdJbnRlcmZhY2UsIEFmdGVyVmlld0luaXQge1xuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogTGVnZW5kIGl0ZW1zLiBBcnJheSBvZiBgQW5ub3RhdGlvbkl0ZW1gOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiAgY29udGVudDogc3RyaW5nIHwgVW5vdmlzVGV4dCB8IFVub3Zpc1RleHRbXTtcbiAgICogIHN1YmplY3Q/OiBBbm5vdGF0aW9uU3ViamVjdDtcbiAgICogIHg/OiBMZW5ndGhVbml0O1xuICAgKiAgeT86IExlbmd0aFVuaXQ7XG4gICAqICB3aWR0aD86IExlbmd0aFVuaXQ7XG4gICAqICBoZWlnaHQ/OiBMZW5ndGhVbml0O1xuICAgKiB9XG4gICAqIGBgYFxuICAgKiBUbyBsZWFybiBtb3JlLCBzZWUgb3VyIGRvY3MgaHR0cHM6Ly91bm92aXMuZGV2L2RvY3MvYXV4aWxpYXJ5L0Fubm90YXRpb25zL1xuICAgKiBEZWZhdWx0OiBgW11gICovXG4gIEBJbnB1dCgpIGl0ZW1zOiBBbm5vdGF0aW9uSXRlbVtdIHwgdW5kZWZpbmVkXG5cbiAgLyoqIERlYnVnIG9wdGlvbiB0byByZW5kZXIgYm91bmRpbmcgYm94ZXMgYXJvdW5kIHRleHQgZWxlbWVudHMuIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgcmVuZGVyVGV4dEJvdW5kaW5nQm94ZXM/OiBib29sZWFuXG5cbiAgY29tcG9uZW50OiBBbm5vdGF0aW9ucyB8IHVuZGVmaW5lZFxuICBwdWJsaWMgY29tcG9uZW50Q29udGFpbmVyOiBDb250YWluZXJDb3JlIHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBBbm5vdGF0aW9ucyh0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudD8uc2V0Q29uZmlnKHRoaXMuZ2V0Q29uZmlnKCkpXG4gICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gIH1cblxuICBwcml2YXRlIGdldENvbmZpZyAoKTogQW5ub3RhdGlvbnNDb25maWdJbnRlcmZhY2Uge1xuICAgIGNvbnN0IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgaXRlbXMsIHJlbmRlclRleHRCb3VuZGluZ0JveGVzIH0gPSB0aGlzXG4gICAgY29uc3QgY29uZmlnID0geyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCBpdGVtcywgcmVuZGVyVGV4dEJvdW5kaW5nQm94ZXMgfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBBbm5vdGF0aW9uc0NvbmZpZ0ludGVyZmFjZSlbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
@@ -21,8 +21,8 @@ export class VisAreaComponent {
21
21
  (_c = this.componentContainer) === null || _c === void 0 ? void 0 : _c.render();
22
22
  }
23
23
  getConfig() {
24
- const { duration, events, attributes, x, y, id, color, xScale, yScale, excludeFromDomainCalculation, curveType, baseline, opacity, cursor, minHeight1Px, minHeight } = this;
25
- const config = { duration, events, attributes, x, y, id, color, xScale, yScale, excludeFromDomainCalculation, curveType, baseline, opacity, cursor, minHeight1Px, minHeight };
24
+ const { duration, events, attributes, x, y, id, color, xScale, yScale, excludeFromDomainCalculation, curveType, baseline, opacity, cursor, line, lineColor, lineWidth, lineDashArray, minHeight1Px, minHeight, stackMinHeight } = this;
25
+ const config = { duration, events, attributes, x, y, id, color, xScale, yScale, excludeFromDomainCalculation, curveType, baseline, opacity, cursor, line, lineColor, lineWidth, lineDashArray, minHeight1Px, minHeight, stackMinHeight };
26
26
  const keys = Object.keys(config);
27
27
  keys.forEach(key => { if (config[key] === undefined)
28
28
  delete config[key]; });
@@ -30,7 +30,7 @@ export class VisAreaComponent {
30
30
  }
31
31
  }
32
32
  VisAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- VisAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAreaComponent, selector: "vis-area", inputs: { duration: "duration", events: "events", attributes: "attributes", x: "x", y: "y", id: "id", color: "color", xScale: "xScale", yScale: "yScale", excludeFromDomainCalculation: "excludeFromDomainCalculation", curveType: "curveType", baseline: "baseline", opacity: "opacity", cursor: "cursor", minHeight1Px: "minHeight1Px", minHeight: "minHeight", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisAreaComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
33
+ VisAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAreaComponent, selector: "vis-area", inputs: { duration: "duration", events: "events", attributes: "attributes", x: "x", y: "y", id: "id", color: "color", xScale: "xScale", yScale: "yScale", excludeFromDomainCalculation: "excludeFromDomainCalculation", curveType: "curveType", baseline: "baseline", opacity: "opacity", cursor: "cursor", line: "line", lineColor: "lineColor", lineWidth: "lineWidth", lineDashArray: "lineDashArray", minHeight1Px: "minHeight1Px", minHeight: "minHeight", stackMinHeight: "stackMinHeight", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisAreaComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAreaComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{
@@ -67,11 +67,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
67
67
  type: Input
68
68
  }], cursor: [{
69
69
  type: Input
70
+ }], line: [{
71
+ type: Input
72
+ }], lineColor: [{
73
+ type: Input
74
+ }], lineWidth: [{
75
+ type: Input
76
+ }], lineDashArray: [{
77
+ type: Input
70
78
  }], minHeight1Px: [{
71
79
  type: Input
72
80
  }], minHeight: [{
73
81
  type: Input
82
+ }], stackMinHeight: [{
83
+ type: Input
74
84
  }], data: [{
75
85
  type: Input
76
86
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcmVhL2FyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBVUwsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQXdHM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsNEJBQTRCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDM0ssTUFBTSxNQUFNLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSw0QkFBNEIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFBO1FBQzdLLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUF5QyxDQUFBO1FBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTO1lBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxRSxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7OzhHQTlIVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixxWkFGaEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUMsK0NBRjdELEVBQUU7NEZBSUQsZ0JBQWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUUsRUFBRTtvQkFDWixnREFBZ0Q7b0JBQ2hELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLGtCQUFrQixFQUFFLENBQUM7aUJBQ3hFOzhCQUdVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBbUJHLE1BQU07c0JBQWQsS0FBSztnQkF3QkcsVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxDQUFDO3NCQUFULEtBQUs7Z0JBR0csQ0FBQztzQkFBVCxLQUFLO2dCQUdHLEVBQUU7c0JBQVYsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFNRyw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIEFyZWEsXG4gIEFyZWFDb25maWdJbnRlcmZhY2UsXG4gIENvbnRhaW5lckNvcmUsXG4gIFZpc0V2ZW50VHlwZSxcbiAgVmlzRXZlbnRDYWxsYmFjayxcbiAgTnVtZXJpY0FjY2Vzc29yLFxuICBDb2xvckFjY2Vzc29yLFxuICBDb250aW51b3VzU2NhbGUsXG4gIEN1cnZlVHlwZSxcbiAgU3RyaW5nQWNjZXNzb3IsXG59IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNYWUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1hcmVhJyxcbiAgdGVtcGxhdGU6ICcnLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNYWUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFZpc0FyZWFDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0FyZWFDb21wb25lbnQ8RGF0dW0+IGltcGxlbWVudHMgQXJlYUNvbmZpZ0ludGVyZmFjZTxEYXR1bT4sIEFmdGVyVmlld0luaXQge1xuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogQWNjZXNzb3IgZnVuY3Rpb24gZm9yIGdldHRpbmcgdGhlIHZhbHVlcyBhbG9uZyB0aGUgWCBheGlzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB4OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIEEgc2luZ2xlIG9mIG11bHRpcGxlIGFjY2Vzc29yIGZ1bmN0aW9ucyBmb3IgZ2V0dGluZyB0aGUgdmFsdWVzIGFsb25nIHRoZSBZIGF4aXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHk6IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT4gfCBOdW1lcmljQWNjZXNzb3I8RGF0dW0+W11cblxuICAvKiogQWNjZXNzb3IgZnVuY3Rpb24gZm9yIGdldHRpbmcgdGhlIHVuaXF1ZSBkYXRhIHJlY29yZCBpZC4gVXNlZCBmb3IgbW9yZSBwZXJzaXN0ZW50IGRhdGEgdXBkYXRlcy4gRGVmYXVsdDogYChkLCBpKSA9PiBkLmlkID8/IGlgICovXG4gIEBJbnB1dCgpIGlkPzogKChkOiBEYXR1bSwgaTogbnVtYmVyLCAuLi5yZXN0KSA9PiBzdHJpbmcpXG5cbiAgLyoqIEFyZWEgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24uIFRoZSB3aG9sZSBkYXRhIGFycmF5IHdpbGwgYmUgcGFzc2VkIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgY29sb3I/OiBDb2xvckFjY2Vzc29yPERhdHVtW10+XG5cbiAgLyoqIFNjYWxlIGZvciBYIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5zY2FsZUxpbmVhcigpLiBJZiB5b3Ugc2V0IHhTY2FsZSB5b3UnbGwgYmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgaXQncyBgZG9tYWluYCBhbmQgYHJhbmdlYCBhcyB3ZWxsLlxuICAgKiBPbmx5IGNvbnRpbnVvdXMgc2NhbGVzIGFyZSBzdXBwb3J0ZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHhTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuXG4gIC8qKiBTY2FsZSBmb3IgWSBkaW1lbnNpb24sIGUuZy4gU2NhbGUuc2NhbGVMaW5lYXIoKS4gSWYgeW91IHNldCB5U2NhbGUgeW91J2xsIGJlIHJlc3BvbnNpYmxlIGZvciBzZXR0aW5nIGl0J3MgYGRvbWFpbmAgYW5kIGByYW5nZWAgYXMgd2VsbC5cbiAgICogT25seSBjb250aW51b3VzIHNjYWxlcyBhcmUgc3VwcG9ydGVkLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB5U2NhbGU/OiBDb250aW51b3VzU2NhbGVcblxuICAvKiogSWRlbnRpZmllcyB3aGV0aGVyIHRoZSBjb21wb25lbnQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gb3ZlcmFsbCBYIGFuZCBZIGRvbWFpbiBjYWxjdWxhdGlvbnMgb3Igbm90LlxuICAgKiBUaGlzIHByb3BlcnR5IGNhbiBiZSB1c2VmdWwgd2hlbiB5b3Ugd2FudCBwYXNzIGluZGl2aWR1YWwgZGF0YSB0byBhIGNvbXBvbmVudCBhbmQgeW91IGRvbid0IHdhbnQgaXQgdG8gYWZmZWN0XG4gICAqIHRoZSBzY2FsZXMgb2YgdGhlIGNoYXJ0LlxuICAgKiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIGV4Y2x1ZGVGcm9tRG9tYWluQ2FsY3VsYXRpb24/OiBib29sZWFuXG5cbiAgLyoqIEN1cnZlIHR5cGUgZnJvbSB0aGUgQ3VydmVUeXBlIGVudW0uIERlZmF1bHQ6IGBDdXJ2ZVR5cGUuTW9ub3RvbmVYYCAqL1xuICBASW5wdXQoKSBjdXJ2ZVR5cGU/OiBDdXJ2ZVR5cGUgfCBzdHJpbmdcblxuICAvKiogQmFzZWxpbmUgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGJhc2VsaW5lPzogTnVtZXJpY0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBPcGFjaXR5IHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgMWAgKi9cbiAgQElucHV0KCkgb3BhY2l0eT86IE51bWVyaWNBY2Nlc3NvcjxEYXR1bVtdPlxuXG4gIC8qKiBPcHRpb25hbCBhcmVhIGN1cnNvci4gU3RyaW5nIG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgY3Vyc29yPzogU3RyaW5nQWNjZXNzb3I8RGF0dW1bXT5cblxuICAvKiogSWYgYW4gYXJlYSBpcyBzbWFsbGVyIHRoYW4gMXB4LCBleHRlbmQgaXQgdG8gaGF2ZSAxcHggaGVpZ2h0LiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIG1pbkhlaWdodDFQeD86IGJvb2xlYW5cblxuICAvKiogTWluaW11bSBoZWlnaHQgb2YgdGhlIGFyZWEsIHVzZSBjYXJlZnVsbHkuXG4gICAqIFRoaXMgc2V0dGluZyBpcyB1c2VmdWwgd2hlbiBzb21lIG9mIHRoZSBhcmVhIHZhbHVlcyBhcmUgemVyb3Mgb3IgdmVyeSBzbWFsbCBzbyB2aXN1YWxseSB0aGV5IGJlY29tZVxuICAgKiBwcmFjdGljYWxseSBpbnZpc2libGUsIGJ1dCB5b3Ugd2FudCB0byBzaG93IHRoYXQgdGhlIGRhdGEgYmVoaW5kIHRoZW0gZXhpc3RzIGFuZCB0aGV5J3JlIG5vdCBqdXN0IGVtcHR5IHNlZ21lbnRzLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBtaW5IZWlnaHQ/OiBudW1iZXJcbiAgQElucHV0KCkgZGF0YTogRGF0dW1bXVxuXG4gIGNvbXBvbmVudDogQXJlYTxEYXR1bT4gfCB1bmRlZmluZWRcbiAgcHVibGljIGNvbXBvbmVudENvbnRhaW5lcjogQ29udGFpbmVyQ29yZSB8IHVuZGVmaW5lZFxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgQXJlYTxEYXR1bT4odGhpcy5nZXRDb25maWcoKSlcblxuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LnNldERhdGEodGhpcy5kYXRhKVxuICAgICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7IHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSkgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBBcmVhQ29uZmlnSW50ZXJmYWNlPERhdHVtPiB7XG4gICAgY29uc3QgeyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCB4LCB5LCBpZCwgY29sb3IsIHhTY2FsZSwgeVNjYWxlLCBleGNsdWRlRnJvbURvbWFpbkNhbGN1bGF0aW9uLCBjdXJ2ZVR5cGUsIGJhc2VsaW5lLCBvcGFjaXR5LCBjdXJzb3IsIG1pbkhlaWdodDFQeCwgbWluSGVpZ2h0IH0gPSB0aGlzXG4gICAgY29uc3QgY29uZmlnID0geyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCB4LCB5LCBpZCwgY29sb3IsIHhTY2FsZSwgeVNjYWxlLCBleGNsdWRlRnJvbURvbWFpbkNhbGN1bGF0aW9uLCBjdXJ2ZVR5cGUsIGJhc2VsaW5lLCBvcGFjaXR5LCBjdXJzb3IsIG1pbkhlaWdodDFQeCwgbWluSGVpZ2h0IH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgQXJlYUNvbmZpZ0ludGVyZmFjZTxEYXR1bT4pW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcmVhL2FyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBV0wsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQXVIM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsNEJBQTRCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUN0TyxNQUFNLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLDRCQUE0QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsQ0FBQTtRQUN4TyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBeUMsQ0FBQTtRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUztZQUFFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFMUUsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDOzs4R0E3SVUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IscWhCQUZoQixDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQywrQ0FGN0QsRUFBRTs0RkFJRCxnQkFBZ0I7a0JBTjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGdEQUFnRDtvQkFDaEQsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsa0JBQWtCLEVBQUUsQ0FBQztpQkFDeEU7OEJBR1UsUUFBUTtzQkFBaEIsS0FBSztnQkFtQkcsTUFBTTtzQkFBZCxLQUFLO2dCQXdCRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9HLENBQUM7c0JBQVQsS0FBSztnQkFHRyxDQUFDO3NCQUFULEtBQUs7Z0JBR0csRUFBRTtzQkFBVixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQU1HLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQXJlYSxcbiAgQXJlYUNvbmZpZ0ludGVyZmFjZSxcbiAgQ29udGFpbmVyQ29yZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBOdW1lcmljQWNjZXNzb3IsXG4gIENvbG9yQWNjZXNzb3IsXG4gIENvbnRpbnVvdXNTY2FsZSxcbiAgQ3VydmVUeXBlLFxuICBTdHJpbmdBY2Nlc3NvcixcbiAgR2VuZXJpY0FjY2Vzc29yLFxufSBmcm9tICdAdW5vdmlzL3RzJ1xuaW1wb3J0IHsgVmlzWFlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXMtYXJlYScsXG4gIHRlbXBsYXRlOiAnJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVmlzWFlDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBWaXNBcmVhQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNBcmVhQ29tcG9uZW50PERhdHVtPiBpbXBsZW1lbnRzIEFyZWFDb25maWdJbnRlcmZhY2U8RGF0dW0+LCBBZnRlclZpZXdJbml0IHtcbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBvZiB0aGUgZGF0YSB1cGRhdGUgdHJhbnNpdGlvbnMgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0OiBgNjAwYCAqL1xuICBASW5wdXQoKSBkdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBFdmVudHMgY29uZmlndXJhdGlvbi4gQW4gb2JqZWN0IGNvbnRhaW5pbmcgcHJvcGVydGllcyBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFtldmVudFR5cGVdOiBjYWxsYmFja0Z1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIGNsaWNrOiAoZCkgPT4gY29uc29sZS5sb2coXCJDbGlja2VkIEFyZWFcIiwgZClcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgZXZlbnRzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2V2ZW50VHlwZSBpbiBWaXNFdmVudFR5cGVdPzogVmlzRXZlbnRDYWxsYmFja1xuICAgIH07XG4gIH1cblxuICAvKiogWW91IGNhbiBzZXQgZXZlcnkgU1ZHIGFuZCBIVE1MIHZpc3VhbGl6YXRpb24gb2JqZWN0IHRvIGhhdmUgYSBjdXN0b20gRE9NIGF0dHJpYnV0ZXMsIHdoaWNoIGlzIHVzZWZ1bFxuICAgKiB3aGVuIHlvdSB3YW50IHRvIGRvIHVuaXQgb3IgZW5kLXRvLWVuZCB0ZXN0aW5nLiBBdHRyaWJ1dGVzIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZTpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFthdHRyaWJ1dGVOYW1lXTogYXR0cmlidXRlIGNvbnN0YW50IHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIFwidGVzdC12YWx1ZVwiOiBkID0+IGQudmFsdWVcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgYXR0cmlidXRlcz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFthdHRyOiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgKChkYXR1bTogYW55KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIEFjY2Vzc29yIGZ1bmN0aW9uIGZvciBnZXR0aW5nIHRoZSB2YWx1ZXMgYWxvbmcgdGhlIFggYXhpcy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeDogTnVtZXJpY0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBBIHNpbmdsZSBvZiBtdWx0aXBsZSBhY2Nlc3NvciBmdW5jdGlvbnMgZm9yIGdldHRpbmcgdGhlIHZhbHVlcyBhbG9uZyB0aGUgWSBheGlzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB5OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+IHwgTnVtZXJpY0FjY2Vzc29yPERhdHVtPltdXG5cbiAgLyoqIEFjY2Vzc29yIGZ1bmN0aW9uIGZvciBnZXR0aW5nIHRoZSB1bmlxdWUgZGF0YSByZWNvcmQgaWQuIFVzZWQgZm9yIG1vcmUgcGVyc2lzdGVudCBkYXRhIHVwZGF0ZXMuIERlZmF1bHQ6IGAoZCwgaSkgPT4gZC5pZCA/PyBpYCAqL1xuICBASW5wdXQoKSBpZD86ICgoZDogRGF0dW0sIGk6IG51bWJlciwgLi4ucmVzdCkgPT4gc3RyaW5nKVxuXG4gIC8qKiBBcmVhIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBUaGUgd2hvbGUgZGF0YSBhcnJheSB3aWxsIGJlIHBhc3NlZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGNvbG9yPzogQ29sb3JBY2Nlc3NvcjxEYXR1bVtdPlxuXG4gIC8qKiBTY2FsZSBmb3IgWCBkaW1lbnNpb24sIGUuZy4gU2NhbGUuc2NhbGVMaW5lYXIoKS4gSWYgeW91IHNldCB4U2NhbGUgeW91J2xsIGJlIHJlc3BvbnNpYmxlIGZvciBzZXR0aW5nIGl0J3MgYGRvbWFpbmAgYW5kIGByYW5nZWAgYXMgd2VsbC5cbiAgICogT25seSBjb250aW51b3VzIHNjYWxlcyBhcmUgc3VwcG9ydGVkLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB4U2NhbGU/OiBDb250aW51b3VzU2NhbGVcblxuICAvKiogU2NhbGUgZm9yIFkgZGltZW5zaW9uLCBlLmcuIFNjYWxlLnNjYWxlTGluZWFyKCkuIElmIHlvdSBzZXQgeVNjYWxlIHlvdSdsbCBiZSByZXNwb25zaWJsZSBmb3Igc2V0dGluZyBpdCdzIGBkb21haW5gIGFuZCBgcmFuZ2VgIGFzIHdlbGwuXG4gICAqIE9ubHkgY29udGludW91cyBzY2FsZXMgYXJlIHN1cHBvcnRlZC5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeVNjYWxlPzogQ29udGludW91c1NjYWxlXG5cbiAgLyoqIElkZW50aWZpZXMgd2hldGhlciB0aGUgY29tcG9uZW50IHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIG92ZXJhbGwgWCBhbmQgWSBkb21haW4gY2FsY3VsYXRpb25zIG9yIG5vdC5cbiAgICogVGhpcyBwcm9wZXJ0eSBjYW4gYmUgdXNlZnVsIHdoZW4geW91IHdhbnQgcGFzcyBpbmRpdmlkdWFsIGRhdGEgdG8gYSBjb21wb25lbnQgYW5kIHlvdSBkb24ndCB3YW50IGl0IHRvIGFmZmVjdFxuICAgKiB0aGUgc2NhbGVzIG9mIHRoZSBjaGFydC5cbiAgICogRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBleGNsdWRlRnJvbURvbWFpbkNhbGN1bGF0aW9uPzogYm9vbGVhblxuXG4gIC8qKiBDdXJ2ZSB0eXBlIGZyb20gdGhlIEN1cnZlVHlwZSBlbnVtLiBEZWZhdWx0OiBgQ3VydmVUeXBlLk1vbm90b25lWGAgKi9cbiAgQElucHV0KCkgY3VydmVUeXBlPzogQ3VydmVUeXBlIHwgc3RyaW5nXG5cbiAgLyoqIEJhc2VsaW5lIHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBiYXNlbGluZT86IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogT3BhY2l0eSB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYDFgICovXG4gIEBJbnB1dCgpIG9wYWNpdHk/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW1bXT5cblxuICAvKiogT3B0aW9uYWwgYXJlYSBjdXJzb3IuIFN0cmluZyBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIGN1cnNvcj86IFN0cmluZ0FjY2Vzc29yPERhdHVtW10+XG5cbiAgLyoqIERpc3BsYXkgYSBsaW5lIG9uIHRoZSB0b3Agb2YgdGhlIGFyZWEuIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgbGluZT86IGJvb2xlYW5cblxuICAvKiogTGluZSBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbi4gVGhlIHdob2xlIGRhdGEgYXJyYXkgd2lsbCBiZSBwYXNzZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBsaW5lQ29sb3I/OiBDb2xvckFjY2Vzc29yPERhdHVtW10+XG5cbiAgLyoqIExpbmUgd2lkdGggaW4gcGl4ZWxzLiBEZWZhdWx0OiBgMmAgKi9cbiAgQElucHV0KCkgbGluZVdpZHRoPzogbnVtYmVyXG5cbiAgLyoqIExpbmUgZGFzaCBhcnJheSwgc2VlIFNWRydzIHN0cm9rZS1kYXNoYXJyYXkuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxpbmVEYXNoQXJyYXk/OiBHZW5lcmljQWNjZXNzb3I8bnVtYmVyW10sIERhdHVtW10+XG5cbiAgLyoqIElmIGFuIGFyZWEgaXMgc21hbGxlciB0aGFuIDFweCwgZXh0ZW5kIGl0IHRvIGhhdmUgMXB4IGhlaWdodC4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBtaW5IZWlnaHQxUHg/OiBib29sZWFuXG5cbiAgLyoqIE1pbmltdW0gaGVpZ2h0IG9mIHRoZSBhcmVhLCB1c2UgY2FyZWZ1bGx5LlxuICAgKiBUaGlzIHNldHRpbmcgaXMgdXNlZnVsIHdoZW4gc29tZSBvZiB0aGUgYXJlYSB2YWx1ZXMgYXJlIHplcm9zIG9yIHZlcnkgc21hbGwgc28gdmlzdWFsbHkgdGhleSBiZWNvbWVcbiAgICogcHJhY3RpY2FsbHkgaW52aXNpYmxlLCBidXQgeW91IHdhbnQgdG8gc2hvdyB0aGF0IHRoZSBkYXRhIGJlaGluZCB0aGVtIGV4aXN0cyBhbmQgdGhleSdyZSBub3QganVzdCBlbXB0eSBzZWdtZW50cy5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgbWluSGVpZ2h0PzogbnVtYmVyXG5cbiAgLyoqIFdoZXRoZXIgdG8gc3RhY2sgbWluIGhlaWdodCBhcmVhcyBvciBub3QuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHN0YWNrTWluSGVpZ2h0PzogYm9vbGVhblxuICBASW5wdXQoKSBkYXRhOiBEYXR1bVtdXG5cbiAgY29tcG9uZW50OiBBcmVhPERhdHVtPiB8IHVuZGVmaW5lZFxuICBwdWJsaWMgY29tcG9uZW50Q29udGFpbmVyOiBDb250YWluZXJDb3JlIHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBBcmVhPERhdHVtPih0aGlzLmdldENvbmZpZygpKVxuXG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5jb21wb25lbnQuc2V0RGF0YSh0aGlzLmRhdGEpXG4gICAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHsgdGhpcy5jb21wb25lbnQ/LnNldERhdGEodGhpcy5kYXRhKSB9XG4gICAgdGhpcy5jb21wb25lbnQ/LnNldENvbmZpZyh0aGlzLmdldENvbmZpZygpKVxuICAgIHRoaXMuY29tcG9uZW50Q29udGFpbmVyPy5yZW5kZXIoKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25maWcgKCk6IEFyZWFDb25maWdJbnRlcmZhY2U8RGF0dW0+IHtcbiAgICBjb25zdCB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHgsIHksIGlkLCBjb2xvciwgeFNjYWxlLCB5U2NhbGUsIGV4Y2x1ZGVGcm9tRG9tYWluQ2FsY3VsYXRpb24sIGN1cnZlVHlwZSwgYmFzZWxpbmUsIG9wYWNpdHksIGN1cnNvciwgbGluZSwgbGluZUNvbG9yLCBsaW5lV2lkdGgsIGxpbmVEYXNoQXJyYXksIG1pbkhlaWdodDFQeCwgbWluSGVpZ2h0LCBzdGFja01pbkhlaWdodCB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgeCwgeSwgaWQsIGNvbG9yLCB4U2NhbGUsIHlTY2FsZSwgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbiwgY3VydmVUeXBlLCBiYXNlbGluZSwgb3BhY2l0eSwgY3Vyc29yLCBsaW5lLCBsaW5lQ29sb3IsIGxpbmVXaWR0aCwgbGluZURhc2hBcnJheSwgbWluSGVpZ2h0MVB4LCBtaW5IZWlnaHQsIHN0YWNrTWluSGVpZ2h0IH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgQXJlYUNvbmZpZ0ludGVyZmFjZTxEYXR1bT4pW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=
@@ -88,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
88
88
  }], data: [{
89
89
  type: Input
90
90
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3NoYWlyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Nyb3NzaGFpci9jcm9zc2hhaXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxTQUFTLEdBVVYsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLHFCQUFxQjtJQTJJaEMsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksU0FBUyxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRXZELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsNEJBQTRCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsOEJBQThCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMzUyxNQUFNLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLDRCQUE0QixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLDhCQUE4QixFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsQ0FBQTtRQUM3UyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBOEMsQ0FBQTtRQUM3RSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUztZQUFFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFMUUsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDOzttSEFqS1UscUJBQXFCO3VHQUFyQixxQkFBcUIsd3FCQUZyQixDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsQ0FBQywrQ0FGbEUsRUFBRTs0RkFJRCxxQkFBcUI7a0JBTmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGdEQUFnRDtvQkFDaEQsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsdUJBQXVCLEVBQUUsQ0FBQztpQkFDN0U7OEJBR1UsUUFBUTtzQkFBaEIsS0FBSztnQkFtQkcsTUFBTTtzQkFBZCxLQUFLO2dCQXdCRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9HLENBQUM7c0JBQVQsS0FBSztnQkFHRyxDQUFDO3NCQUFULEtBQUs7Z0JBR0csRUFBRTtzQkFBVixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQU1HLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFHRyw4QkFBOEI7c0JBQXRDLEtBQUs7Z0JBTUcsVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxVQUFVO3NCQUFsQixLQUFLO2dCQVVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENyb3NzaGFpcixcbiAgQ3Jvc3NoYWlyQ29uZmlnSW50ZXJmYWNlLFxuICBDb250YWluZXJDb3JlLFxuICBWaXNFdmVudFR5cGUsXG4gIFZpc0V2ZW50Q2FsbGJhY2ssXG4gIE51bWVyaWNBY2Nlc3NvcixcbiAgQ29sb3JBY2Nlc3NvcixcbiAgQ29udGludW91c1NjYWxlLFxuICBUb29sdGlwLFxuICBDcm9zc2hhaXJDaXJjbGUsXG59IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNYWUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1jcm9zc2hhaXInLFxuICB0ZW1wbGF0ZTogJycsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZpc1hZQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzQ3Jvc3NoYWlyQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNDcm9zc2hhaXJDb21wb25lbnQ8RGF0dW0+IGltcGxlbWVudHMgQ3Jvc3NoYWlyQ29uZmlnSW50ZXJmYWNlPERhdHVtPiwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gb2YgdGhlIGRhdGEgdXBkYXRlIHRyYW5zaXRpb25zIGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdDogYDYwMGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogRXZlbnRzIGNvbmZpZ3VyYXRpb24uIEFuIG9iamVjdCBjb250YWluaW5nIHByb3BlcnRpZXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbZXZlbnRUeXBlXTogY2FsbGJhY2tGdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBjbGljazogKGQpID0+IGNvbnNvbGUubG9nKFwiQ2xpY2tlZCBBcmVhXCIsIGQpXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGV2ZW50cz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFtldmVudFR5cGUgaW4gVmlzRXZlbnRUeXBlXT86IFZpc0V2ZW50Q2FsbGJhY2tcbiAgICB9O1xuICB9XG5cbiAgLyoqIFlvdSBjYW4gc2V0IGV2ZXJ5IFNWRyBhbmQgSFRNTCB2aXN1YWxpemF0aW9uIG9iamVjdCB0byBoYXZlIGEgY3VzdG9tIERPTSBhdHRyaWJ1dGVzLCB3aGljaCBpcyB1c2VmdWxcbiAgICogd2hlbiB5b3Ugd2FudCB0byBkbyB1bml0IG9yIGVuZC10by1lbmQgdGVzdGluZy4gQXR0cmlidXRlcyBjb25maWd1cmF0aW9uIG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbYXR0cmlidXRlTmFtZV06IGF0dHJpYnV0ZSBjb25zdGFudCB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBcInRlc3QtdmFsdWVcIjogZCA9PiBkLnZhbHVlXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbYXR0cjogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8ICgoZGF0dW06IGFueSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbik7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBPcHRpb25hbCBhY2Nlc3NvciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB0aGUgdmFsdWVzIGFsb25nIHRoZSBYIGF4aXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHg/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIE9wdGlvbmFsIHNpbmdsZSBvZiBtdWx0aXBsZSBhY2Nlc3NvciBmdW5jdGlvbnMgZm9yIGdldHRpbmcgdGhlIHZhbHVlcyBhbG9uZyB0aGUgWSBheGlzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB5PzogTnVtZXJpY0FjY2Vzc29yPERhdHVtPiB8IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5bXVxuXG4gIC8qKiBBY2Nlc3NvciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB0aGUgdW5pcXVlIGRhdGEgcmVjb3JkIGlkLiBVc2VkIGZvciBtb3JlIHBlcnNpc3RlbnQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgKGQsIGkpID0+IGQuaWQgPz8gaWAgKi9cbiAgQElucHV0KCkgaWQ/OiAoKGQ6IERhdHVtLCBpOiBudW1iZXIsIC4uLnJlc3QpID0+IHN0cmluZylcblxuICAvKiogT3B0aW9uYWwgY29sb3IgYXJyYXkgb3IgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gZm9yIGNyb3NzaGFpciBjaXJjbGVzLiBEZWZhdWx0OiBgZCA9PiBkLmNvbG9yYCAqL1xuICBASW5wdXQoKSBjb2xvcj86IENvbG9yQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFNjYWxlIGZvciBYIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5zY2FsZUxpbmVhcigpLiBJZiB5b3Ugc2V0IHhTY2FsZSB5b3UnbGwgYmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgaXQncyBgZG9tYWluYCBhbmQgYHJhbmdlYCBhcyB3ZWxsLlxuICAgKiBPbmx5IGNvbnRpbnVvdXMgc2NhbGVzIGFyZSBzdXBwb3J0ZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHhTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuXG4gIC8qKiBTY2FsZSBmb3IgWSBkaW1lbnNpb24sIGUuZy4gU2NhbGUuc2NhbGVMaW5lYXIoKS4gSWYgeW91IHNldCB5U2NhbGUgeW91J2xsIGJlIHJlc3BvbnNpYmxlIGZvciBzZXR0aW5nIGl0J3MgYGRvbWFpbmAgYW5kIGByYW5nZWAgYXMgd2VsbC5cbiAgICogT25seSBjb250aW51b3VzIHNjYWxlcyBhcmUgc3VwcG9ydGVkLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB5U2NhbGU/OiBDb250aW51b3VzU2NhbGVcblxuICAvKiogSWRlbnRpZmllcyB3aGV0aGVyIHRoZSBjb21wb25lbnQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gb3ZlcmFsbCBYIGFuZCBZIGRvbWFpbiBjYWxjdWxhdGlvbnMgb3Igbm90LlxuICAgKiBUaGlzIHByb3BlcnR5IGNhbiBiZSB1c2VmdWwgd2hlbiB5b3Ugd2FudCBwYXNzIGluZGl2aWR1YWwgZGF0YSB0byBhIGNvbXBvbmVudCBhbmQgeW91IGRvbid0IHdhbnQgaXQgdG8gYWZmZWN0XG4gICAqIHRoZSBzY2FsZXMgb2YgdGhlIGNoYXJ0LlxuICAgKiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIGV4Y2x1ZGVGcm9tRG9tYWluQ2FsY3VsYXRpb24/OiBib29sZWFuXG5cbiAgLyoqIE9wdGlvbmFsIHN0cm9rZSBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBmb3IgY3Jvc3NoYWlyIGNpcmNsZXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHN0cm9rZUNvbG9yPzogQ29sb3JBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogT3B0aW9uYWwgc3Ryb2tlIHdpZHRoIGZvciBjcm9zc2hhaXIgY2lyY2xlcy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgc3Ryb2tlV2lkdGg/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFNlcGFyYXRlIGFycmF5IG9mIGFjY2Vzc29ycyBmb3Igc3RhY2tlZCBjb21wb25lbnRzIChlZyBTdGFja2VkQmFyLCBBcmVhKS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeVN0YWNrZWQ/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+W11cblxuICAvKiogQmFzZWxpbmUgYWNjZXNzb3IgZnVuY3Rpb24gZm9yIHN0YWNrZWQgdmFsdWVzLCB1c2VmdWwgd2l0aCBzdGFja2VkIGFyZWFzLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgYmFzZWxpbmU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIEFuIGluc3RhbmNlIG9mIHRoZSBUb29sdGlwIGNvbXBvbmVudCB0byBiZSB1c2VkIHdpdGggQ3Jvc3NoYWlyLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB0b29sdGlwPzogVG9vbHRpcCB8IHVuZGVmaW5lZFxuXG4gIC8qKiBUb29sdGlwIHRlbXBsYXRlIGFjY2Vzc29yLiBUaGUgZnVuY3Rpb24gaXMgc3VwcG9zZWQgdG8gcmV0dXJuIGVpdGhlciBhIHZhbGlkIEhUTUwgc3RyaW5nIG9yIGFuIEhUTUxFbGVtZW50LlxuICAgKiBXaGVuIGBzbmFwVG9EYXRhYCBpcyBgZmFsc2VgLCBgZGF0dW1gIHdpbGwgYmUgYHVuZGVmaW5lZGAgYnV0IGBkYXRhYCBhbmQgYGxlZnROZWFyZXN0RGF0dW1JbmRleGAgd2lsbCBiZSBwcm92aWRlZC5cbiAgICogRGVmYXVsdDogYGQgPT4gJydgICovXG4gIEBJbnB1dCgpIHRlbXBsYXRlPzogKGRhdHVtOiBEYXR1bSwgeDogbnVtYmVyIHwgRGF0ZSwgZGF0YT86IERhdHVtW10sIGxlZnROZWFyZXN0RGF0dW1JbmRleD86IG51bWJlcikgPT4gc3RyaW5nIHwgSFRNTEVsZW1lbnRcblxuICAvKiogSGlkZSBDcm9zc2hhaXIgd2hlbiB0aGUgY29ycmVzcG9uZGluZyBkYXR1bSBlbGVtZW50IGlzIGZhciBmcm9tIG1vdXNlIHBvaW50ZXIuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBoaWRlV2hlbkZhckZyb21Qb2ludGVyPzogYm9vbGVhblxuXG4gIC8qKiBEaXN0YW5jZSBpbiBwaXhlbHMgdG8gY2hlY2sgaW4gdGhlIGhpZGVXaGVuRmFyRnJvbVBvaW50ZXIgY29uZGl0aW9uLiBEZWZhdWx0OiBgMTAwYCAqL1xuICBASW5wdXQoKSBoaWRlV2hlbkZhckZyb21Qb2ludGVyRGlzdGFuY2U/OiBudW1iZXJcblxuICAvKiogU25hcCB0byB0aGUgbmVhcmVzdCBkYXRhIHBvaW50LlxuICAgKiBJZiBkaXNhYmxlZCwgdGhlIHRvb2x0aXAgdGVtcGxhdGUgd2lsbCByZWNlaXZlIG9ubHkgdGhlIGhvcml6b250YWwgcG9zaXRpb24gb2YgdGhlIGNyb3NzaGFpciBhbmQgeW91J2xsIGJlIHJlc3BvbnNpYmxlXG4gICAqIGZvciBnZXR0aW5nIHRoZSB1bmRlcmx5aW5nIGRhdGEgcmVjb3JkcyBhbmQgY3Jvc3NoYWlyIGNpcmNsZXMgKHNlZSB0aGUgYGdldENpcmNsZXNgIGNvbmZpZ3VyYXRpb24gb3B0aW9uKS5cbiAgICogRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIHNuYXBUb0RhdGE/OiBib29sZWFuXG5cbiAgLyoqIEN1c3RvbSBmdW5jdGlvbiBmb3Igc2V0dGluZyB1cCB0aGUgY3Jvc3NoYWlyIGNpcmNsZXMsIHVzdWFsbHkgbmVlZGVkIHdoZW4gYHNuYXBUb0RhdGFgIGlzIHNldCB0byBgZmFsc2VgLlxuICAgKiBUaGUgZnVuY3Rpb24gcmVjZWl2ZXMgdGhlIGhvcml6b250YWwgcG9zaXRpb24gb2YgdGhlIGNyb3NzaGFpciAoaW4gdGhlIGRhdGEgc3BhY2UsIG5vdCBpbiBwaXhlbHMpLCB0aGUgZGF0YSBhcnJheSxcbiAgICogdGhlIGB5U2NhbGVgIGluc3RhbmNlIHRvIGhlbHAgeW91IGNhbGN1bGF0ZSB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBwb3NpdGlvbiBvZiB0aGUgY2lyY2xlcywgYW5kIHRoZSBuZWFyZXN0IGRhdHVtIGluZGV4LlxuICAgKiBJdCBoYXMgdG8gcmV0dXJuIGFuIGFycmF5IG9mIHRoZSBgQ3Jvc3NoYWlyQ2lyY2xlYCBvYmplY3RzOiBgeyB5OiBudW1iZXI7IGNvbG9yOiBzdHJpbmc7IG9wYWNpdHk/OiBudW1iZXIgfVtdYC5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgZ2V0Q2lyY2xlcz86ICh4OiBudW1iZXIgfCBEYXRlLCBkYXRhOiBEYXR1bVtdLCB5U2NhbGU6IENvbnRpbnVvdXNTY2FsZSwgbGVmdE5lYXJlc3REYXR1bUluZGV4PzogbnVtYmVyKSA9PiBDcm9zc2hhaXJDaXJjbGVbXVxuXG4gIC8qKiBDYWxsYmFjayBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSBjcm9zc2hhaXIgaXMgbW92ZWQ6XG4gICAqIC0gYHhgIGlzIHRoZSBob3Jpem9udGFsIHBvc2l0aW9uIG9mIHRoZSBjcm9zc2hhaXIgaW4gdGhlIGRhdGEgc3BhY2U7XG4gICAqIC0gYGRhdHVtYCBpcyB0aGUgbmVhcmVzdCBkYXR1bSB0byB0aGUgY3Jvc3NoYWlyO1xuICAgKiAtIGBkYXR1bUluZGV4YCBpcyB0aGUgaW5kZXggb2YgdGhlIG5lYXJlc3QgZGF0dW0uXG4gICAqIC0gYGV2ZW50YCBpcyB0aGUgZXZlbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIGNyb3NzaGFpciBtb3ZlIChtb3VzZSBvciB3aGVlbCkuXG4gICAqXG4gICAqIFdoZW4gdGhlIG1vdXNlIGdvZXMgb3V0IG9mIHRoZSBjb250YWluZXIgYW5kIG9uIHdoZWVsIGV2ZW50cywgYWxsIHRoZSBhcmd1bWVudHMgYXJlIGB1bmRlZmluZWRgIGV4Y2VwdCBmb3IgYGV2ZW50YC5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25Dcm9zc2hhaXJNb3ZlPzogKHg/OiBudW1iZXIgfCBEYXRlLCBkYXR1bT86IERhdHVtLCBkYXR1bUluZGV4PzogbnVtYmVyLCBldmVudD86IE1vdXNlRXZlbnQgfCBXaGVlbEV2ZW50KSA9PiB2b2lkXG5cbiAgLyoqIEZvcmNlIHRoZSBjcm9zc2hhaXIgdG8gc2hvdyBhdCBhIHNwZWNpZmljIHBvc2l0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBmb3JjZVNob3dBdD86IG51bWJlciB8IERhdGVcblxuICAvKiogU2tpcCByYW5nZSBjaGVja3MgZm9yIGNyb3NzaGFpciB2aXNpYmlsaXR5LiBXaGVuIHRydWUsIGNyb3NzaGFpciB3aWxsIHNob3cgcmVnYXJkbGVzcyBvZiBwb3NpdGlvbiB3aXRoaW4gY2hhcnQgYm91bmRzLiBEZWZhdWx0OiBgZmFsc2VgXG4gICAqIFRoaXMgaXMgdXNlZnVsIGZvciB0ZXN0aW5nLCBlc3BlY2lhbGx5IHdoZW4geW91IG9ubHkgdHJpZ2dlcnMgbW91c2Vtb3ZlIGV2ZW50IGJ1dCBkb2VzIG5vdCBoYXZlIHJlYWwgbW91c2UgZXZlbnQuICovXG4gIEBJbnB1dCgpIHNraXBSYW5nZUNoZWNrPzogYm9vbGVhblxuICBASW5wdXQoKSBkYXRhOiBEYXR1bVtdXG5cbiAgY29tcG9uZW50OiBDcm9zc2hhaXI8RGF0dW0+IHwgdW5kZWZpbmVkXG4gIHB1YmxpYyBjb21wb25lbnRDb250YWluZXI6IENvbnRhaW5lckNvcmUgfCB1bmRlZmluZWRcblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50ID0gbmV3IENyb3NzaGFpcjxEYXR1bT4odGhpcy5nZXRDb25maWcoKSlcblxuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LnNldERhdGEodGhpcy5kYXRhKVxuICAgICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7IHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSkgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBDcm9zc2hhaXJDb25maWdJbnRlcmZhY2U8RGF0dW0+IHtcbiAgICBjb25zdCB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHgsIHksIGlkLCBjb2xvciwgeFNjYWxlLCB5U2NhbGUsIGV4Y2x1ZGVGcm9tRG9tYWluQ2FsY3VsYXRpb24sIHN0cm9rZUNvbG9yLCBzdHJva2VXaWR0aCwgeVN0YWNrZWQsIGJhc2VsaW5lLCB0b29sdGlwLCB0ZW1wbGF0ZSwgaGlkZVdoZW5GYXJGcm9tUG9pbnRlciwgaGlkZVdoZW5GYXJGcm9tUG9pbnRlckRpc3RhbmNlLCBzbmFwVG9EYXRhLCBnZXRDaXJjbGVzLCBvbkNyb3NzaGFpck1vdmUsIGZvcmNlU2hvd0F0LCBza2lwUmFuZ2VDaGVjayB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgeCwgeSwgaWQsIGNvbG9yLCB4U2NhbGUsIHlTY2FsZSwgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbiwgc3Ryb2tlQ29sb3IsIHN0cm9rZVdpZHRoLCB5U3RhY2tlZCwgYmFzZWxpbmUsIHRvb2x0aXAsIHRlbXBsYXRlLCBoaWRlV2hlbkZhckZyb21Qb2ludGVyLCBoaWRlV2hlbkZhckZyb21Qb2ludGVyRGlzdGFuY2UsIHNuYXBUb0RhdGEsIGdldENpcmNsZXMsIG9uQ3Jvc3NoYWlyTW92ZSwgZm9yY2VTaG93QXQsIHNraXBSYW5nZUNoZWNrIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgQ3Jvc3NoYWlyQ29uZmlnSW50ZXJmYWNlPERhdHVtPilbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3NoYWlyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Nyb3NzaGFpci9jcm9zc2hhaXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxTQUFTLEdBVVYsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLHFCQUFxQjtJQTJJaEMsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksU0FBUyxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRXZELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsNEJBQTRCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsOEJBQThCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMzUyxNQUFNLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLDRCQUE0QixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLDhCQUE4QixFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsQ0FBQTtRQUM3UyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBOEMsQ0FBQTtRQUM3RSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUztZQUFFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFMUUsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDOzttSEFqS1UscUJBQXFCO3VHQUFyQixxQkFBcUIsd3FCQUZyQixDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsQ0FBQywrQ0FGbEUsRUFBRTs0RkFJRCxxQkFBcUI7a0JBTmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGdEQUFnRDtvQkFDaEQsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsdUJBQXVCLEVBQUUsQ0FBQztpQkFDN0U7OEJBR1UsUUFBUTtzQkFBaEIsS0FBSztnQkFtQkcsTUFBTTtzQkFBZCxLQUFLO2dCQXdCRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9HLENBQUM7c0JBQVQsS0FBSztnQkFHRyxDQUFDO3NCQUFULEtBQUs7Z0JBR0csRUFBRTtzQkFBVixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQU1HLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFHRyw4QkFBOEI7c0JBQXRDLEtBQUs7Z0JBTUcsVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxVQUFVO3NCQUFsQixLQUFLO2dCQVVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENyb3NzaGFpcixcbiAgQ3Jvc3NoYWlyQ29uZmlnSW50ZXJmYWNlLFxuICBDb250YWluZXJDb3JlLFxuICBWaXNFdmVudFR5cGUsXG4gIFZpc0V2ZW50Q2FsbGJhY2ssXG4gIE51bWVyaWNBY2Nlc3NvcixcbiAgQ29sb3JBY2Nlc3NvcixcbiAgQ29udGludW91c1NjYWxlLFxuICBUb29sdGlwLFxuICBDcm9zc2hhaXJDaXJjbGUsXG59IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNYWUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1jcm9zc2hhaXInLFxuICB0ZW1wbGF0ZTogJycsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZpc1hZQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzQ3Jvc3NoYWlyQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNDcm9zc2hhaXJDb21wb25lbnQ8RGF0dW0+IGltcGxlbWVudHMgQ3Jvc3NoYWlyQ29uZmlnSW50ZXJmYWNlPERhdHVtPiwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gb2YgdGhlIGRhdGEgdXBkYXRlIHRyYW5zaXRpb25zIGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdDogYDYwMGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogRXZlbnRzIGNvbmZpZ3VyYXRpb24uIEFuIG9iamVjdCBjb250YWluaW5nIHByb3BlcnRpZXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbZXZlbnRUeXBlXTogY2FsbGJhY2tGdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBjbGljazogKGQpID0+IGNvbnNvbGUubG9nKFwiQ2xpY2tlZCBBcmVhXCIsIGQpXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGV2ZW50cz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFtldmVudFR5cGUgaW4gVmlzRXZlbnRUeXBlXT86IFZpc0V2ZW50Q2FsbGJhY2tcbiAgICB9O1xuICB9XG5cbiAgLyoqIFlvdSBjYW4gc2V0IGV2ZXJ5IFNWRyBhbmQgSFRNTCB2aXN1YWxpemF0aW9uIG9iamVjdCB0byBoYXZlIGEgY3VzdG9tIERPTSBhdHRyaWJ1dGVzLCB3aGljaCBpcyB1c2VmdWxcbiAgICogd2hlbiB5b3Ugd2FudCB0byBkbyB1bml0IG9yIGVuZC10by1lbmQgdGVzdGluZy4gQXR0cmlidXRlcyBjb25maWd1cmF0aW9uIG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbYXR0cmlidXRlTmFtZV06IGF0dHJpYnV0ZSBjb25zdGFudCB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBcInRlc3QtdmFsdWVcIjogZCA9PiBkLnZhbHVlXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbYXR0cjogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8ICgoZGF0dW06IGFueSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbik7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBPcHRpb25hbCBhY2Nlc3NvciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB0aGUgdmFsdWVzIGFsb25nIHRoZSBYIGF4aXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHg/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIE9wdGlvbmFsIHNpbmdsZSBvZiBtdWx0aXBsZSBhY2Nlc3NvciBmdW5jdGlvbnMgZm9yIGdldHRpbmcgdGhlIHZhbHVlcyBhbG9uZyB0aGUgWSBheGlzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB5PzogTnVtZXJpY0FjY2Vzc29yPERhdHVtPiB8IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5bXVxuXG4gIC8qKiBBY2Nlc3NvciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB0aGUgdW5pcXVlIGRhdGEgcmVjb3JkIGlkLiBVc2VkIGZvciBtb3JlIHBlcnNpc3RlbnQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgKGQsIGkpID0+IGQuaWQgPz8gaWAgKi9cbiAgQElucHV0KCkgaWQ/OiAoKGQ6IERhdHVtLCBpOiBudW1iZXIsIC4uLnJlc3QpID0+IHN0cmluZylcblxuICAvKiogT3B0aW9uYWwgY29sb3IgYXJyYXkgb3IgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gZm9yIGNyb3NzaGFpciBjaXJjbGVzLiBEZWZhdWx0OiBgZCA9PiBkLmNvbG9yYCAqL1xuICBASW5wdXQoKSBjb2xvcj86IENvbG9yQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFNjYWxlIGZvciBYIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5zY2FsZUxpbmVhcigpLiBJZiB5b3Ugc2V0IHhTY2FsZSB5b3UnbGwgYmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgaXQncyBgZG9tYWluYCBhbmQgYHJhbmdlYCBhcyB3ZWxsLlxuICAgKiBPbmx5IGNvbnRpbnVvdXMgc2NhbGVzIGFyZSBzdXBwb3J0ZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHhTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuXG4gIC8qKiBTY2FsZSBmb3IgWSBkaW1lbnNpb24sIGUuZy4gU2NhbGUuc2NhbGVMaW5lYXIoKS4gSWYgeW91IHNldCB5U2NhbGUgeW91J2xsIGJlIHJlc3BvbnNpYmxlIGZvciBzZXR0aW5nIGl0J3MgYGRvbWFpbmAgYW5kIGByYW5nZWAgYXMgd2VsbC5cbiAgICogT25seSBjb250aW51b3VzIHNjYWxlcyBhcmUgc3VwcG9ydGVkLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB5U2NhbGU/OiBDb250aW51b3VzU2NhbGVcblxuICAvKiogSWRlbnRpZmllcyB3aGV0aGVyIHRoZSBjb21wb25lbnQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gb3ZlcmFsbCBYIGFuZCBZIGRvbWFpbiBjYWxjdWxhdGlvbnMgb3Igbm90LlxuICAgKiBUaGlzIHByb3BlcnR5IGNhbiBiZSB1c2VmdWwgd2hlbiB5b3Ugd2FudCBwYXNzIGluZGl2aWR1YWwgZGF0YSB0byBhIGNvbXBvbmVudCBhbmQgeW91IGRvbid0IHdhbnQgaXQgdG8gYWZmZWN0XG4gICAqIHRoZSBzY2FsZXMgb2YgdGhlIGNoYXJ0LlxuICAgKiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIGV4Y2x1ZGVGcm9tRG9tYWluQ2FsY3VsYXRpb24/OiBib29sZWFuXG5cbiAgLyoqIE9wdGlvbmFsIHN0cm9rZSBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBmb3IgY3Jvc3NoYWlyIGNpcmNsZXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHN0cm9rZUNvbG9yPzogQ29sb3JBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogT3B0aW9uYWwgc3Ryb2tlIHdpZHRoIGZvciBjcm9zc2hhaXIgY2lyY2xlcy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgc3Ryb2tlV2lkdGg/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFNlcGFyYXRlIGFycmF5IG9mIGFjY2Vzc29ycyBmb3Igc3RhY2tlZCBjb21wb25lbnRzIChlZyBTdGFja2VkQmFyLCBBcmVhKS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeVN0YWNrZWQ/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+W11cblxuICAvKiogQmFzZWxpbmUgYWNjZXNzb3IgZnVuY3Rpb24gZm9yIHN0YWNrZWQgdmFsdWVzLCB1c2VmdWwgd2l0aCBzdGFja2VkIGFyZWFzLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgYmFzZWxpbmU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIEFuIGluc3RhbmNlIG9mIHRoZSBUb29sdGlwIGNvbXBvbmVudCB0byBiZSB1c2VkIHdpdGggQ3Jvc3NoYWlyLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB0b29sdGlwPzogVG9vbHRpcCB8IHVuZGVmaW5lZFxuXG4gIC8qKiBUb29sdGlwIHRlbXBsYXRlIGFjY2Vzc29yLiBUaGUgZnVuY3Rpb24gaXMgc3VwcG9zZWQgdG8gcmV0dXJuIGVpdGhlciBhIHZhbGlkIEhUTUwgc3RyaW5nIG9yIGFuIEhUTUxFbGVtZW50LlxuICAgKiBXaGVuIGBzbmFwVG9EYXRhYCBpcyBgZmFsc2VgLCBgZGF0dW1gIHdpbGwgYmUgYHVuZGVmaW5lZGAgYnV0IGBkYXRhYCBhbmQgYGxlZnROZWFyZXN0RGF0dW1JbmRleGAgd2lsbCBiZSBwcm92aWRlZC5cbiAgICogRGVmYXVsdDogYGQgPT4gJydgICovXG4gIEBJbnB1dCgpIHRlbXBsYXRlPzogKGRhdHVtOiBEYXR1bSwgeDogbnVtYmVyIHwgRGF0ZSwgZGF0YTogRGF0dW1bXSwgbGVmdE5lYXJlc3REYXR1bUluZGV4PzogbnVtYmVyKSA9PiBzdHJpbmcgfCBIVE1MRWxlbWVudFxuXG4gIC8qKiBIaWRlIENyb3NzaGFpciB3aGVuIHRoZSBjb3JyZXNwb25kaW5nIGRhdHVtIGVsZW1lbnQgaXMgZmFyIGZyb20gbW91c2UgcG9pbnRlci4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGhpZGVXaGVuRmFyRnJvbVBvaW50ZXI/OiBib29sZWFuXG5cbiAgLyoqIERpc3RhbmNlIGluIHBpeGVscyB0byBjaGVjayBpbiB0aGUgaGlkZVdoZW5GYXJGcm9tUG9pbnRlciBjb25kaXRpb24uIERlZmF1bHQ6IGAxMDBgICovXG4gIEBJbnB1dCgpIGhpZGVXaGVuRmFyRnJvbVBvaW50ZXJEaXN0YW5jZT86IG51bWJlclxuXG4gIC8qKiBTbmFwIHRvIHRoZSBuZWFyZXN0IGRhdGEgcG9pbnQuXG4gICAqIElmIGRpc2FibGVkLCB0aGUgdG9vbHRpcCB0ZW1wbGF0ZSB3aWxsIHJlY2VpdmUgb25seSB0aGUgaG9yaXpvbnRhbCBwb3NpdGlvbiBvZiB0aGUgY3Jvc3NoYWlyIGFuZCB5b3UnbGwgYmUgcmVzcG9uc2libGVcbiAgICogZm9yIGdldHRpbmcgdGhlIHVuZGVybHlpbmcgZGF0YSByZWNvcmRzIGFuZCBjcm9zc2hhaXIgY2lyY2xlcyAoc2VlIHRoZSBgZ2V0Q2lyY2xlc2AgY29uZmlndXJhdGlvbiBvcHRpb24pLlxuICAgKiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgc25hcFRvRGF0YT86IGJvb2xlYW5cblxuICAvKiogQ3VzdG9tIGZ1bmN0aW9uIGZvciBzZXR0aW5nIHVwIHRoZSBjcm9zc2hhaXIgY2lyY2xlcywgdXN1YWxseSBuZWVkZWQgd2hlbiBgc25hcFRvRGF0YWAgaXMgc2V0IHRvIGBmYWxzZWAuXG4gICAqIFRoZSBmdW5jdGlvbiByZWNlaXZlcyB0aGUgaG9yaXpvbnRhbCBwb3NpdGlvbiBvZiB0aGUgY3Jvc3NoYWlyIChpbiB0aGUgZGF0YSBzcGFjZSwgbm90IGluIHBpeGVscyksIHRoZSBkYXRhIGFycmF5LFxuICAgKiB0aGUgYHlTY2FsZWAgaW5zdGFuY2UgdG8gaGVscCB5b3UgY2FsY3VsYXRlIHRoZSBjb3JyZWN0IHZlcnRpY2FsIHBvc2l0aW9uIG9mIHRoZSBjaXJjbGVzLCBhbmQgdGhlIG5lYXJlc3QgZGF0dW0gaW5kZXguXG4gICAqIEl0IGhhcyB0byByZXR1cm4gYW4gYXJyYXkgb2YgdGhlIGBDcm9zc2hhaXJDaXJjbGVgIG9iamVjdHM6IGB7IHk6IG51bWJlcjsgY29sb3I6IHN0cmluZzsgb3BhY2l0eT86IG51bWJlciB9W11gLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBnZXRDaXJjbGVzPzogKHg6IG51bWJlciB8IERhdGUsIGRhdGE6IERhdHVtW10sIHlTY2FsZTogQ29udGludW91c1NjYWxlLCBsZWZ0TmVhcmVzdERhdHVtSW5kZXg/OiBudW1iZXIpID0+IENyb3NzaGFpckNpcmNsZVtdXG5cbiAgLyoqIENhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gdGhlIGNyb3NzaGFpciBpcyBtb3ZlZDpcbiAgICogLSBgeGAgaXMgdGhlIGhvcml6b250YWwgcG9zaXRpb24gb2YgdGhlIGNyb3NzaGFpciBpbiB0aGUgZGF0YSBzcGFjZTtcbiAgICogLSBgZGF0dW1gIGlzIHRoZSBuZWFyZXN0IGRhdHVtIHRvIHRoZSBjcm9zc2hhaXI7XG4gICAqIC0gYGRhdHVtSW5kZXhgIGlzIHRoZSBpbmRleCBvZiB0aGUgbmVhcmVzdCBkYXR1bS5cbiAgICogLSBgZXZlbnRgIGlzIHRoZSBldmVudCB0aGF0IHRyaWdnZXJlZCB0aGUgY3Jvc3NoYWlyIG1vdmUgKG1vdXNlIG9yIHdoZWVsKS5cbiAgICpcbiAgICogV2hlbiB0aGUgbW91c2UgZ29lcyBvdXQgb2YgdGhlIGNvbnRhaW5lciBhbmQgb24gd2hlZWwgZXZlbnRzLCBhbGwgdGhlIGFyZ3VtZW50cyBhcmUgYHVuZGVmaW5lZGAgZXhjZXB0IGZvciBgZXZlbnRgLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbkNyb3NzaGFpck1vdmU/OiAoeD86IG51bWJlciB8IERhdGUsIGRhdHVtPzogRGF0dW0sIGRhdHVtSW5kZXg/OiBudW1iZXIsIGV2ZW50PzogTW91c2VFdmVudCB8IFdoZWVsRXZlbnQpID0+IHZvaWRcblxuICAvKiogRm9yY2UgdGhlIGNyb3NzaGFpciB0byBzaG93IGF0IGEgc3BlY2lmaWMgcG9zaXRpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGZvcmNlU2hvd0F0PzogbnVtYmVyIHwgRGF0ZVxuXG4gIC8qKiBTa2lwIHJhbmdlIGNoZWNrcyBmb3IgY3Jvc3NoYWlyIHZpc2liaWxpdHkuIFdoZW4gdHJ1ZSwgY3Jvc3NoYWlyIHdpbGwgc2hvdyByZWdhcmRsZXNzIG9mIHBvc2l0aW9uIHdpdGhpbiBjaGFydCBib3VuZHMuIERlZmF1bHQ6IGBmYWxzZWBcbiAgICogVGhpcyBpcyB1c2VmdWwgZm9yIHRlc3RpbmcsIGVzcGVjaWFsbHkgd2hlbiB5b3Ugb25seSB0cmlnZ2VycyBtb3VzZW1vdmUgZXZlbnQgYnV0IGRvZXMgbm90IGhhdmUgcmVhbCBtb3VzZSBldmVudC4gKi9cbiAgQElucHV0KCkgc2tpcFJhbmdlQ2hlY2s/OiBib29sZWFuXG4gIEBJbnB1dCgpIGRhdGE6IERhdHVtW11cblxuICBjb21wb25lbnQ6IENyb3NzaGFpcjxEYXR1bT4gfCB1bmRlZmluZWRcbiAgcHVibGljIGNvbXBvbmVudENvbnRhaW5lcjogQ29udGFpbmVyQ29yZSB8IHVuZGVmaW5lZFxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgQ3Jvc3NoYWlyPERhdHVtPih0aGlzLmdldENvbmZpZygpKVxuXG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5jb21wb25lbnQuc2V0RGF0YSh0aGlzLmRhdGEpXG4gICAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHsgdGhpcy5jb21wb25lbnQ/LnNldERhdGEodGhpcy5kYXRhKSB9XG4gICAgdGhpcy5jb21wb25lbnQ/LnNldENvbmZpZyh0aGlzLmdldENvbmZpZygpKVxuICAgIHRoaXMuY29tcG9uZW50Q29udGFpbmVyPy5yZW5kZXIoKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25maWcgKCk6IENyb3NzaGFpckNvbmZpZ0ludGVyZmFjZTxEYXR1bT4ge1xuICAgIGNvbnN0IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgeCwgeSwgaWQsIGNvbG9yLCB4U2NhbGUsIHlTY2FsZSwgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbiwgc3Ryb2tlQ29sb3IsIHN0cm9rZVdpZHRoLCB5U3RhY2tlZCwgYmFzZWxpbmUsIHRvb2x0aXAsIHRlbXBsYXRlLCBoaWRlV2hlbkZhckZyb21Qb2ludGVyLCBoaWRlV2hlbkZhckZyb21Qb2ludGVyRGlzdGFuY2UsIHNuYXBUb0RhdGEsIGdldENpcmNsZXMsIG9uQ3Jvc3NoYWlyTW92ZSwgZm9yY2VTaG93QXQsIHNraXBSYW5nZUNoZWNrIH0gPSB0aGlzXG4gICAgY29uc3QgY29uZmlnID0geyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCB4LCB5LCBpZCwgY29sb3IsIHhTY2FsZSwgeVNjYWxlLCBleGNsdWRlRnJvbURvbWFpbkNhbGN1bGF0aW9uLCBzdHJva2VDb2xvciwgc3Ryb2tlV2lkdGgsIHlTdGFja2VkLCBiYXNlbGluZSwgdG9vbHRpcCwgdGVtcGxhdGUsIGhpZGVXaGVuRmFyRnJvbVBvaW50ZXIsIGhpZGVXaGVuRmFyRnJvbVBvaW50ZXJEaXN0YW5jZSwgc25hcFRvRGF0YSwgZ2V0Q2lyY2xlcywgb25Dcm9zc2hhaXJNb3ZlLCBmb3JjZVNob3dBdCwgc2tpcFJhbmdlQ2hlY2sgfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBDcm9zc2hhaXJDb25maWdJbnRlcmZhY2U8RGF0dW0+KVtdXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiB7IGlmIChjb25maWdba2V5XSA9PT0gdW5kZWZpbmVkKSBkZWxldGUgY29uZmlnW2tleV0gfSlcblxuICAgIHJldHVybiBjb25maWdcbiAgfVxufVxuIl19
@@ -21,8 +21,8 @@ export class VisSankeyComponent {
21
21
  (_c = this.componentContainer) === null || _c === void 0 ? void 0 : _c.render();
22
22
  }
23
23
  getConfig() {
24
- const { duration, events, attributes, id, heightNormalizationCoeff, exitTransitionType, enterTransitionType, highlightSubtreeOnHover, highlightDuration, highlightDelay, iterations, nodeSort, linkSort, nodeWidth, nodeAlign, nodeHorizontalSpacing, nodeMinHeight, nodeMaxHeight, nodePadding, showSingleNode, nodeCursor, nodeIcon, nodeColor, nodeFixedValue, nodeIconColor, linkColor, linkValue, linkCursor, label, subLabel, labelPosition, labelVerticalAlign, labelBackground, labelFit, labelMaxWidth, labelExpandTrimmedOnHover, labelTrimMode, labelFontSize, labelTextSeparator, labelForceWordBreak, labelColor, labelCursor, labelVisibility, subLabelFontSize, subLabelColor, subLabelPlacement, subLabelToLabelInlineWidthRatio } = this;
25
- const config = { duration, events, attributes, id, heightNormalizationCoeff, exitTransitionType, enterTransitionType, highlightSubtreeOnHover, highlightDuration, highlightDelay, iterations, nodeSort, linkSort, nodeWidth, nodeAlign, nodeHorizontalSpacing, nodeMinHeight, nodeMaxHeight, nodePadding, showSingleNode, nodeCursor, nodeIcon, nodeColor, nodeFixedValue, nodeIconColor, linkColor, linkValue, linkCursor, label, subLabel, labelPosition, labelVerticalAlign, labelBackground, labelFit, labelMaxWidth, labelExpandTrimmedOnHover, labelTrimMode, labelFontSize, labelTextSeparator, labelForceWordBreak, labelColor, labelCursor, labelVisibility, subLabelFontSize, subLabelColor, subLabelPlacement, subLabelToLabelInlineWidthRatio };
24
+ const { duration, events, attributes, id, heightNormalizationCoeff, zoomScale, zoomPan, enableZoom, zoomExtent, zoomMode, exitTransitionType, enterTransitionType, highlightSubtreeOnHover, highlightDuration, highlightDelay, iterations, nodeSort, linkSort, nodeWidth, nodeAlign, nodeHorizontalSpacing, nodeMinHeight, nodeMaxHeight, nodePadding, showSingleNode, nodeCursor, nodeIcon, nodeColor, nodeFixedValue, nodeIconColor, linkColor, linkValue, linkCursor, label, subLabel, labelPosition, labelVerticalAlign, labelBackground, labelFit, labelMaxWidth, labelMaxWidthTakeAvailableSpace, labelMaxWidthTakeAvailableSpaceTolerance, labelExpandTrimmedOnHover, labelTrimMode, labelFontSize, labelTextSeparator, labelTextDecoration, labelForceWordBreak, labelColor, labelCursor, labelVisibility, subLabelFontSize, subLabelColor, subLabelPlacement, subLabelTextDecoration, subLabelToLabelInlineWidthRatio, onZoom, onLayoutCalculated, selectedNodeIds } = this;
25
+ const config = { duration, events, attributes, id, heightNormalizationCoeff, zoomScale, zoomPan, enableZoom, zoomExtent, zoomMode, exitTransitionType, enterTransitionType, highlightSubtreeOnHover, highlightDuration, highlightDelay, iterations, nodeSort, linkSort, nodeWidth, nodeAlign, nodeHorizontalSpacing, nodeMinHeight, nodeMaxHeight, nodePadding, showSingleNode, nodeCursor, nodeIcon, nodeColor, nodeFixedValue, nodeIconColor, linkColor, linkValue, linkCursor, label, subLabel, labelPosition, labelVerticalAlign, labelBackground, labelFit, labelMaxWidth, labelMaxWidthTakeAvailableSpace, labelMaxWidthTakeAvailableSpaceTolerance, labelExpandTrimmedOnHover, labelTrimMode, labelFontSize, labelTextSeparator, labelTextDecoration, labelForceWordBreak, labelColor, labelCursor, labelVisibility, subLabelFontSize, subLabelColor, subLabelPlacement, subLabelTextDecoration, subLabelToLabelInlineWidthRatio, onZoom, onLayoutCalculated, selectedNodeIds };
26
26
  const keys = Object.keys(config);
27
27
  keys.forEach(key => { if (config[key] === undefined)
28
28
  delete config[key]; });
@@ -30,7 +30,7 @@ export class VisSankeyComponent {
30
30
  }
31
31
  }
32
32
  VisSankeyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSankeyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- VisSankeyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSankeyComponent, selector: "vis-sankey", inputs: { duration: "duration", events: "events", attributes: "attributes", id: "id", heightNormalizationCoeff: "heightNormalizationCoeff", exitTransitionType: "exitTransitionType", enterTransitionType: "enterTransitionType", highlightSubtreeOnHover: "highlightSubtreeOnHover", highlightDuration: "highlightDuration", highlightDelay: "highlightDelay", iterations: "iterations", nodeSort: "nodeSort", linkSort: "linkSort", nodeWidth: "nodeWidth", nodeAlign: "nodeAlign", nodeHorizontalSpacing: "nodeHorizontalSpacing", nodeMinHeight: "nodeMinHeight", nodeMaxHeight: "nodeMaxHeight", nodePadding: "nodePadding", showSingleNode: "showSingleNode", nodeCursor: "nodeCursor", nodeIcon: "nodeIcon", nodeColor: "nodeColor", nodeFixedValue: "nodeFixedValue", nodeIconColor: "nodeIconColor", linkColor: "linkColor", linkValue: "linkValue", linkCursor: "linkCursor", label: "label", subLabel: "subLabel", labelPosition: "labelPosition", labelVerticalAlign: "labelVerticalAlign", labelBackground: "labelBackground", labelFit: "labelFit", labelMaxWidth: "labelMaxWidth", labelExpandTrimmedOnHover: "labelExpandTrimmedOnHover", labelTrimMode: "labelTrimMode", labelFontSize: "labelFontSize", labelTextSeparator: "labelTextSeparator", labelForceWordBreak: "labelForceWordBreak", labelColor: "labelColor", labelCursor: "labelCursor", labelVisibility: "labelVisibility", subLabelFontSize: "subLabelFontSize", subLabelColor: "subLabelColor", subLabelPlacement: "subLabelPlacement", subLabelToLabelInlineWidthRatio: "subLabelToLabelInlineWidthRatio", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisSankeyComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
33
+ VisSankeyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSankeyComponent, selector: "vis-sankey", inputs: { duration: "duration", events: "events", attributes: "attributes", id: "id", heightNormalizationCoeff: "heightNormalizationCoeff", zoomScale: "zoomScale", zoomPan: "zoomPan", enableZoom: "enableZoom", zoomExtent: "zoomExtent", zoomMode: "zoomMode", exitTransitionType: "exitTransitionType", enterTransitionType: "enterTransitionType", highlightSubtreeOnHover: "highlightSubtreeOnHover", highlightDuration: "highlightDuration", highlightDelay: "highlightDelay", iterations: "iterations", nodeSort: "nodeSort", linkSort: "linkSort", nodeWidth: "nodeWidth", nodeAlign: "nodeAlign", nodeHorizontalSpacing: "nodeHorizontalSpacing", nodeMinHeight: "nodeMinHeight", nodeMaxHeight: "nodeMaxHeight", nodePadding: "nodePadding", showSingleNode: "showSingleNode", nodeCursor: "nodeCursor", nodeIcon: "nodeIcon", nodeColor: "nodeColor", nodeFixedValue: "nodeFixedValue", nodeIconColor: "nodeIconColor", linkColor: "linkColor", linkValue: "linkValue", linkCursor: "linkCursor", label: "label", subLabel: "subLabel", labelPosition: "labelPosition", labelVerticalAlign: "labelVerticalAlign", labelBackground: "labelBackground", labelFit: "labelFit", labelMaxWidth: "labelMaxWidth", labelMaxWidthTakeAvailableSpace: "labelMaxWidthTakeAvailableSpace", labelMaxWidthTakeAvailableSpaceTolerance: "labelMaxWidthTakeAvailableSpaceTolerance", labelExpandTrimmedOnHover: "labelExpandTrimmedOnHover", labelTrimMode: "labelTrimMode", labelFontSize: "labelFontSize", labelTextSeparator: "labelTextSeparator", labelTextDecoration: "labelTextDecoration", labelForceWordBreak: "labelForceWordBreak", labelColor: "labelColor", labelCursor: "labelCursor", labelVisibility: "labelVisibility", subLabelFontSize: "subLabelFontSize", subLabelColor: "subLabelColor", subLabelPlacement: "subLabelPlacement", subLabelTextDecoration: "subLabelTextDecoration", subLabelToLabelInlineWidthRatio: "subLabelToLabelInlineWidthRatio", onZoom: "onZoom", onLayoutCalculated: "onLayoutCalculated", selectedNodeIds: "selectedNodeIds", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisSankeyComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSankeyComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{
@@ -49,6 +49,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
49
49
  type: Input
50
50
  }], heightNormalizationCoeff: [{
51
51
  type: Input
52
+ }], zoomScale: [{
53
+ type: Input
54
+ }], zoomPan: [{
55
+ type: Input
56
+ }], enableZoom: [{
57
+ type: Input
58
+ }], zoomExtent: [{
59
+ type: Input
60
+ }], zoomMode: [{
61
+ type: Input
52
62
  }], exitTransitionType: [{
53
63
  type: Input
54
64
  }], enterTransitionType: [{
@@ -109,6 +119,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
109
119
  type: Input
110
120
  }], labelMaxWidth: [{
111
121
  type: Input
122
+ }], labelMaxWidthTakeAvailableSpace: [{
123
+ type: Input
124
+ }], labelMaxWidthTakeAvailableSpaceTolerance: [{
125
+ type: Input
112
126
  }], labelExpandTrimmedOnHover: [{
113
127
  type: Input
114
128
  }], labelTrimMode: [{
@@ -117,6 +131,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
117
131
  type: Input
118
132
  }], labelTextSeparator: [{
119
133
  type: Input
134
+ }], labelTextDecoration: [{
135
+ type: Input
120
136
  }], labelForceWordBreak: [{
121
137
  type: Input
122
138
  }], labelColor: [{
@@ -131,9 +147,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
131
147
  type: Input
132
148
  }], subLabelPlacement: [{
133
149
  type: Input
150
+ }], subLabelTextDecoration: [{
151
+ type: Input
134
152
  }], subLabelToLabelInlineWidthRatio: [{
135
153
  type: Input
154
+ }], onZoom: [{
155
+ type: Input
156
+ }], onLayoutCalculated: [{
157
+ type: Input
158
+ }], selectedNodeIds: [{
159
+ type: Input
136
160
  }], data: [{
137
161
  type: Input
138
162
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Fua2V5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NhbmtleS9zYW5rZXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxNQUFNLEdBcUJQLE1BQU0sWUFBWSxDQUFBO0FBQ25CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRN0MsTUFBTSxPQUFPLGtCQUFrQjtJQTJNN0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksTUFBTSxDQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRW5ELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLHdCQUF3QixFQUFFLGtC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QVM7c0JBQWpCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBR0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQVFHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFJRywrQkFBK0I7c0JBQXZDLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgU2Fua2V5LFxuICBTYW5rZXlDb25maWdJbnRlcmZhY2UsXG4gIENvbnRhaW5lckNvcmUsXG4gIFNhbmtleUlucHV0Tm9kZSxcbiAgU2Fua2V5SW5wdXRMaW5rLFxuICBWaXNFdmVudFR5cGUsXG4gIFZpc0V2ZW50Q2FsbGJhY2ssXG4gIFNhbmtleUV4aXRUcmFuc2l0aW9uVHlwZSxcbiAgU2Fua2V5RW50ZXJUcmFuc2l0aW9uVHlwZSxcbiAgU2Fua2V5Tm9kZSxcbiAgU2Fua2V5TGluayxcbiAgU2Fua2V5Tm9kZUFsaWduLFxuICBTdHJpbmdBY2Nlc3NvcixcbiAgQ29sb3JBY2Nlc3NvcixcbiAgTnVtZXJpY0FjY2Vzc29yLFxuICBHZW5lcmljQWNjZXNzb3IsXG4gIFBvc2l0aW9uLFxuICBWZXJ0aWNhbEFsaWduLFxuICBGaXRNb2RlLFxuICBUcmltTW9kZSxcbiAgU2Fua2V5U3ViTGFiZWxQbGFjZW1lbnQsXG59IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNDb3JlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLXNhbmtleScsXG4gIHRlbXBsYXRlOiAnJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVmlzQ29yZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFZpc1NhbmtleUNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzU2Fua2V5Q29tcG9uZW50PE4gZXh0ZW5kcyBTYW5rZXlJbnB1dE5vZGUsIEwgZXh0ZW5kcyBTYW5rZXlJbnB1dExpbms+IGltcGxlbWVudHMgU2Fua2V5Q29uZmlnSW50ZXJmYWNlPE4sIEw+LCBBZnRlclZpZXdJbml0IHtcbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBvZiB0aGUgZGF0YSB1cGRhdGUgdHJhbnNpdGlvbnMgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0OiBgNjAwYCAqL1xuICBASW5wdXQoKSBkdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBFdmVudHMgY29uZmlndXJhdGlvbi4gQW4gb2JqZWN0IGNvbnRhaW5pbmcgcHJvcGVydGllcyBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFtldmVudFR5cGVdOiBjYWxsYmFja0Z1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIGNsaWNrOiAoZCkgPT4gY29uc29sZS5sb2coXCJDbGlja2VkIEFyZWFcIiwgZClcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgZXZlbnRzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2V2ZW50VHlwZSBpbiBWaXNFdmVudFR5cGVdPzogVmlzRXZlbnRDYWxsYmFja1xuICAgIH07XG4gIH1cblxuICAvKiogWW91IGNhbiBzZXQgZXZlcnkgU1ZHIGFuZCBIVE1MIHZpc3VhbGl6YXRpb24gb2JqZWN0IHRvIGhhdmUgYSBjdXN0b20gRE9NIGF0dHJpYnV0ZXMsIHdoaWNoIGlzIHVzZWZ1bFxuICAgKiB3aGVuIHlvdSB3YW50IHRvIGRvIHVuaXQgb3IgZW5kLXRvLWVuZCB0ZXN0aW5nLiBBdHRyaWJ1dGVzIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZTpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFthdHRyaWJ1dGVOYW1lXTogYXR0cmlidXRlIGNvbnN0YW50IHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIFwidGVzdC12YWx1ZVwiOiBkID0+IGQudmFsdWVcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgYXR0cmlidXRlcz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFthdHRyOiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgKChkYXR1bTogYW55KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIE5vZGUgLyBMaW5rIGlkIGFjY2Vzc29yIGZ1bmN0aW9uLiBVc2VkIGZvciBtYXBwaW5nIG9mIGRhdGEgdXBkYXRlcyB0byBjb3JyZXNwb25kaW5nIFNWRyBvYmplY3RzLiBEZWZhdWx0OiBgKGQsIGkpID0+IGQuaWQgPz8gaS50b1N0cmluZygpYCAqL1xuICBASW5wdXQoKSBpZD86IChkOiBTYW5rZXlJbnB1dE5vZGUgfCBTYW5rZXlJbnB1dExpbmssIGk6IG51bWJlciwgLi4ucmVzdCkgPT4gc3RyaW5nXG5cbiAgLyoqIENvZWZmaWNpZW50IHRvIHNjYWxlIHRoZSBoZWlnaHQgb2YgdGhlIGRpYWdyYW0gd2hlbiB0aGUgYW1vdW50IG9mIGxpbmtzIGlzIGxvdzogYEMgKiBsaW5rcy5sZW5ndGhgLCBjbGFtcGVkIHRvIGBbaGVpZ2h0IC8gMiwgaGVpZ2h0XWAuIERlZmF1bHQ6IGAxLzE2YCAqL1xuICBASW5wdXQoKSBoZWlnaHROb3JtYWxpemF0aW9uQ29lZmY/OiBudW1iZXJcblxuICAvKiogVHlwZSBvZiBhbmltYXRpb24gb24gcmVtb3Zpbmcgbm9kZXMuIERlZmF1bHQ6IGBFeGl0VHJhbnNpdGlvblR5cGUuRGVmYXVsdGAgKi9cbiAgQElucHV0KCkgZXhpdFRyYW5zaXRpb25UeXBlPzogU2Fua2V5RXhpdFRyYW5zaXRpb25UeXBlXG5cbiAgLyoqIFR5cGUgb2YgYW5pbWF0aW9uIG9uIGNyZWF0aW5nIG5vZGVzLiBEZWZhdWx0OiBgRW50ZXJUcmFuc2l0aW9uVHlwZS5EZWZhdWx0YCAqL1xuICBASW5wdXQoKSBlbnRlclRyYW5zaXRpb25UeXBlPzogU2Fua2V5RW50ZXJUcmFuc2l0aW9uVHlwZVxuXG4gIC8qKiBIaWdobGlnaHQgdGhlIGNvcnJlc3BvbmRpbmcgc3VidHJlZSBvbiBub2RlIC8gbGluayBob3Zlci4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBoaWdobGlnaHRTdWJ0cmVlT25Ib3Zlcj86IGJvb2xlYW5cblxuICAvKiogSGlnaGxpZ2h0IGFuaW1hdGlvbiBkdXJhdGlvbiwgbXMuIERlZmF1bHQ6IGA0MDBgICovXG4gIEBJbnB1dCgpIGhpZ2hsaWdodER1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEhpZ2hsaWdodCBkZWxheSwgbXMuIERlZmF1bHQ6IGAxMDAwYCAqL1xuICBASW5wdXQoKSBoaWdobGlnaHREZWxheT86IG51bWJlclxuXG4gIC8qKiBTYW5rZXkgYWxnb3JpdGhtIGl0ZXJhdGlvbnMuIERlZmF1bHQ6IGAzMmAgKi9cbiAgQElucHV0KCkgaXRlcmF0aW9ucz86IG51bWJlclxuXG4gIC8qKiBTYW5rZXkgbm9kZSBzb3J0aW5nIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYC5cbiAgICogTm9kZSBzb3J0aW5nIGlzIGFwcGxpZWQgdG8gbm9kZXMgaW4gb25lIGxheWVyIChjb2x1bW4pLiBMYXllciBieSBsYXllci5cbiAgICogT3B0aW9uczogYHVuZGVmaW5lZGAgLSB0aGUgb3JkZXIgaXMgZGV0ZXJtaW5lZCBieSB0aGUgbGF5b3V0O1xuICAgKiAgICAgICAgICBgbnVsbGAgLSB0aGUgb3JkZXIgaXMgZml4ZWQgYnkgdGhlIGlucHV0O1xuICAgKiAgICAgICAgICBzb3J0IGZ1bmN0aW9uIC0gdGhlIG9yZGVyIGlzIGRldGVybWluZWQgYnkgdGhlIGZ1bmN0aW9uLiAqL1xuICBASW5wdXQoKSBub2RlU29ydD86ICgobm9kZTE6IFNhbmtleU5vZGU8TiwgTD4sIG5vZGUyOiBTYW5rZXlOb2RlPE4sIEw+KSA9PiBudW1iZXIpIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIC8qKiBTYW5rZXkgbGluayBzb3J0aW5nIGZ1bmN0aW9uLiBEZWZhdWx0OiBgKGxpbmsyLCBsaW5rMSkgPT4gbGluazEudmFsdWUgLSBsaW5rMi52YWx1ZWAuXG4gICAqIExpbmsgc29ydGluZyBpcyBhcHBsaWVkIHRvIHRoZSBzb3VyY2UgKGV4aXRpbmcpIGxpbmtzIHdpdGhpbiBvbmUgbm9kZS5cbiAgICogT3B0aW9uczogYHVuZGVmaW5lZGAgLSB0aGUgb3JkZXIgaXMgZGV0ZXJtaW5lZCBieSB0aGUgbGF5b3V0O1xuICAgKiAgICAgICAgICBgbnVsbGAgLSB0aGUgb3JkZXIgaXMgZml4ZWQgYnkgdGhlIGlucHV0O1xuICAgKiAgICAgICAgICBzb3J0IGZ1bmN0aW9uIC0gdGhlIG9yZGVyIGlzIGRldGVybWluZWQgYnkgdGhlIGZ1bmN0aW9uLiAqL1xuICBASW5wdXQoKSBsaW5rU29ydD86ICgobGluazE6IFNhbmtleUxpbms8TiwgTD4sIGxpbmsyOiBTYW5rZXlMaW5rPE4sIEw+KSA9PiBudW1iZXIpIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIC8qKiBTYW5rZXkgbm9kZSB3aWR0aCBpbiBwaXhlbHMgKi9cbiAgQElucHV0KCkgbm9kZVdpZHRoPzogbnVtYmVyXG5cbiAgLyoqIFNhbmtleSBub2RlIGFsaWdubWVudCBtZXRob2QgKi9cbiAgQElucHV0KCkgbm9kZUFsaWduPzogU2Fua2V5Tm9kZUFsaWduXG5cbiAgLyoqIEhvcml6b250YWwgc3BhY2UgYmV0d2VlbiB0aGUgbm9kZXMuIEV4dGVuZGVkIFNpemluZyBwcm9wZXJ0eSBvbmx5LiBEZWZhdWx0OiBgMTUwYCAqL1xuICBASW5wdXQoKSBub2RlSG9yaXpvbnRhbFNwYWNpbmc/OiBudW1iZXJcblxuICAvKiogTWluaW11bSBub2RlIGhlaWdodC4gRXh0ZW5kZWQgU2l6aW5nIHByb3BlcnR5IG9ubHkuIERlZmF1bHQ6IGAyMGAgKi9cbiAgQElucHV0KCkgbm9kZU1pbkhlaWdodD86IG51bWJlclxuXG4gIC8qKiBNYXhpbXVtIG5vZGUgaGVpZ2h0LiBFeHRlbmRlZCBTaXppbmcgcHJvcGVydHkgb25seS4gRGVmYXVsdDogYDEwMGAgKi9cbiAgQElucHV0KCkgbm9kZU1heEhlaWdodD86IG51bWJlclxuXG4gIC8qKiBTYW5rZXkgdmVydGljYWwgc2VwYXJhdGlvbiBiZXR3ZWVuIG5vZGVzIGluIHBpeGVscy4gRGVmYXVsdDogYDJgICovXG4gIEBJbnB1dCgpIG5vZGVQYWRkaW5nPzogbnVtYmVyXG5cbiAgLyoqIERpc3BsYXkgdGhlIGdyYXBoIHdoZW4gZGF0YSBoYXMganVzdCBvbmUgZWxlbWVudCAqL1xuICBASW5wdXQoKSBzaG93U2luZ2xlTm9kZT86IGJvb2xlYW5cblxuICAvKiogTm9kZSBjdXJzb3Igb24gaG92ZXIuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG5vZGVDdXJzb3I/OiBTdHJpbmdBY2Nlc3NvcjxTYW5rZXlOb2RlPE4sIEw+PlxuXG4gIC8qKiBOb2RlIGljb24gYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG5vZGVJY29uPzogU3RyaW5nQWNjZXNzb3I8U2Fua2V5Tm9kZTxOLCBMPj5cblxuICAvKiogTm9kZSBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgbm9kZUNvbG9yPzogQ29sb3JBY2Nlc3NvcjxTYW5rZXlOb2RlPE4sIEw+PlxuXG4gIC8qKiBOb2RlIGBmaXhlZFZhbHVlYCBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudC4gSXQgZGVmaW5lcyB0aGUgbm9kZSB2YWx1ZSB0aGF0IHdpbGwgYmUgdXNlZCB0byBjYWxjdWxhdGVcbiAgICogdGhlIGhlaWdodCBvZiB0aGUgbm9kZXMgYnkgZDMtc2Fua2V5IChieSBkZWZhdWx0IHRoZSBoZWlnaHQgd2lsbCBiZSBiYXNlZCBvbiBhZ2dyZWdhdGVkIGBsaW5rVmFsdWVgKS5cbiAgICogRGVmYXVsdDogYG4gPT4gbi5maXhlZFZhbHVlYCAqL1xuICBASW5wdXQoKSBub2RlRml4ZWRWYWx1ZT86IE51bWVyaWNBY2Nlc3NvcjxOPlxuXG4gIC8qKiBJY29uIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBub2RlSWNvbkNvbG9yPzogQ29sb3JBY2Nlc3NvcjxTYW5rZXlOb2RlPE4sIEw+PlxuXG4gIC8qKiBMaW5rIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlLiBEZWZhdWx0OiBgbCA9PiBsLmNvbG9yYCAqL1xuICBASW5wdXQoKSBsaW5rQ29sb3I/OiBTdHJpbmdBY2Nlc3NvcjxTYW5rZXlMaW5rPE4sIEw+PlxuXG4gIC8qKiBMaW5rIGZsb3cgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGBsID0+IGwudmFsdWVgICovXG4gIEBJbnB1dCgpIGxpbmtWYWx1ZT86IE51bWVyaWNBY2Nlc3NvcjxMPlxuXG4gIC8qKiBMaW5rIGN1cnNvciBvbiBob3Zlci4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgbGlua0N1cnNvcj86IFN0cmluZ0FjY2Vzc29yPFNhbmtleUxpbms8TiwgTD4+XG5cbiAgLyoqIE5vZGUgbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGBuID0+IG4ubGFiZWxgICovXG4gIEBJbnB1dCgpIGxhYmVsPzogU3RyaW5nQWNjZXNzb3I8U2Fua2V5Tm9kZTxOLCBMPj5cblxuICAvKiogTm9kZSBzdWItbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHN1YkxhYmVsPzogU3RyaW5nQWNjZXNzb3I8U2Fua2V5Tm9kZTxOLCBMPj5cblxuICAvKiogTGFiZWwgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIE5vZGUuIERlZmF1bHQ6IGBQb3NpdGlvbi5BVVRPYCAqL1xuICBASW5wdXQoKSBsYWJlbFBvc2l0aW9uPzogR2VuZXJpY0FjY2Vzc29yPFBvc2l0aW9uLkF1dG8gfCBQb3NpdGlvbi5MZWZ0IHwgUG9zaXRpb24uUmlnaHQgfCBzdHJpbmcsIFNhbmtleU5vZGU8TiwgTD4+XG5cbiAgLyoqIExhYmVsIHZlcnRpY2FsIGFsaWdubWVudCAqL1xuICBASW5wdXQoKSBsYWJlbFZlcnRpY2FsQWxpZ24/OiBWZXJ0aWNhbEFsaWduIHwgc3RyaW5nXG5cbiAgLyoqIExhYmVsIGJhY2tncm91bmQgKi9cbiAgQElucHV0KCkgbGFiZWxCYWNrZ3JvdW5kPzogYm9vbGVhblxuXG4gIC8qKiBMYWJlbCBmaXQgbW9kZSAod3JhcCBvciB0cmltKS4gRGVmYXVsdDogYEZpdE1vZGUuVFJJTWAgKiAqL1xuICBASW5wdXQoKSBsYWJlbEZpdD86IEZpdE1vZGVcblxuICAvKiogTWF4aW11bSBsYWJlbCB3aXRoIGluIHBpeGVscy4gRGVmYXVsdDogYDcwYCAqL1xuICBASW5wdXQoKSBsYWJlbE1heFdpZHRoPzogbnVtYmVyXG5cbiAgLyoqIEV4cGFuZCB0cmltbWVkIGxhYmVsIG9uIGhvdmVyLiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgbGFiZWxFeHBhbmRUcmltbWVkT25Ib3Zlcj86IGJvb2xlYW5cblxuICAvKiogTGFiZWwgdHJpbW1pbmcgbW9kZS4gRGVmYXVsdDogYFRyaW1Nb2RlLk1pZGRsZWAgKi9cbiAgQElucHV0KCkgbGFiZWxUcmltTW9kZT86IFRyaW1Nb2RlXG5cbiAgLyoqIExhYmVsIGZvbnQgc2l6ZSBpbiBwaXhlbHMuIElmIG5vdCBwcm92aWRlZCwgdGhlIHZhbHVlIG9mIENTUyB2YXJpYWJsZSBgLS12aXMtc2Fua2V5LW5vZGUtbGFiZWwtZm9udC1zaXplYCB3aWxsIGJlIHVzZWQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxhYmVsRm9udFNpemU/OiBudW1iZXJcblxuICAvKiogTGFiZWwgdGV4dCBzZXBhcmF0b3JzIGZvciB3cmFwcGluZy4gRGVmYXVsdDogYFsnICcsICctJ11gICovXG4gIEBJbnB1dCgpIGxhYmVsVGV4dFNlcGFyYXRvcj86IHN0cmluZ1tdXG5cbiAgLyoqIEZvcmNlIGJyZWFrIHdvcmRzIHRvIGZpdCBsb25nIGxhYmVscy4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGxhYmVsRm9yY2VXb3JkQnJlYWs/OiBib29sZWFuXG5cbiAgLyoqIExhYmVsIGNvbG9yLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBsYWJlbENvbG9yPzogQ29sb3JBY2Nlc3NvcjxTYW5rZXlOb2RlPE4sIEw+PlxuXG4gIC8qKiBMYWJlbCBjdXJzb3Igb24gaG92ZXIuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxhYmVsQ3Vyc29yPzogU3RyaW5nQWNjZXNzb3I8U2Fua2V5Tm9kZTxOLCBMPj5cblxuICAvKiogQ3VzdG9tIGZ1bmN0aW9uIHRvIHNldCB0aGUgbGFiZWwgdmlzaWJpbGl0eS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgbGFiZWxWaXNpYmlsaXR5PzogKChkOiBTYW5rZXlOb2RlPE4sIEw+LCBiYm94OiB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICB9LCBob3ZlcmVkOiBib29sZWFuKSA9PiBib29sZWFuKSB8IHVuZGVmaW5lZFxuXG4gIC8qKiBTdWItbGFiZWwgZm9udCBzaXplIGluIHBpeGVscy4gSWYgbm90IHByb3ZpZGVkLCB0aGUgdmFsdWUgb2YgQ1NTIHZhcmlhYmxlIGAtLXZpcy1zYW5rZXktbm9kZS1zdWJsYWJlbC1mb250LXNpemVgIHdpbGwgYmUgdXNlZC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgc3ViTGFiZWxGb250U2l6ZT86IG51bWJlclxuXG4gIC8qKiBTdWItbGFiZWwgY29sb3IuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHN1YkxhYmVsQ29sb3I/OiBDb2xvckFjY2Vzc29yPFNhbmtleU5vZGU8TiwgTD4+XG5cbiAgLyoqIFN1Yi1sYWJlbCBwb3NpdGlvbi4gRGVmYXVsdDogYFNhbmtleVN1YkxhYmVsUGxhY2VtZW50LkJlbG93YCAqL1xuICBASW5wdXQoKSBzdWJMYWJlbFBsYWNlbWVudD86IFNhbmtleVN1YkxhYmVsUGxhY2VtZW50IHwgc3RyaW5nXG5cbiAgLyoqIFN1Yi1sYWJlbCB0byBsYWJlbCB3aWR0aCByYXRpbyB3aGVuIGBzdWJMYWJlbFBsYWNlbWVudGAgaXMgc2V0IHRvIGBTYW5rZXlTdWJMYWJlbFBsYWNlbWVudC5JbmxpbmVgXG4gICAqIERlZmF1bHQ6IGAwLjRgLCB3aGljaCBtZWFucyB0aGF0IDQwJSBvZiBgbGFiZWxNYXhXaWR0aGAgd2lsbCBiZSBnaXZlbiB0byBzdWItbGFiZWwsIGFuZCA2MCUgdG8gdGhlIG1haW4gbGFiZWwuICovXG4gIEBJbnB1dCgpIHN1YkxhYmVsVG9MYWJlbElubGluZVdpZHRoUmF0aW8/OiBudW1iZXJcbiAgQElucHV0KCkgZGF0YTogeyBub2RlczogTltdOyBsaW5rcz86IExbXSB9XG5cbiAgY29tcG9uZW50OiBTYW5rZXk8TiwgTD4gfCB1bmRlZmluZWRcbiAgcHVibGljIGNvbXBvbmVudENvbnRhaW5lcjogQ29udGFpbmVyQ29yZSB8IHVuZGVmaW5lZFxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgU2Fua2V5PE4sIEw+KHRoaXMuZ2V0Q29uZmlnKCkpXG5cbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC5zZXREYXRhKHRoaXMuZGF0YSlcbiAgICAgIHRoaXMuY29tcG9uZW50Q29udGFpbmVyPy5yZW5kZXIoKVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzIChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuZGF0YSkgeyB0aGlzLmNvbXBvbmVudD8uc2V0RGF0YSh0aGlzLmRhdGEpIH1cbiAgICB0aGlzLmNvbXBvbmVudD8uc2V0Q29uZmlnKHRoaXMuZ2V0Q29uZmlnKCkpXG4gICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gIH1cblxuICBwcml2YXRlIGdldENvbmZpZyAoKTogU2Fua2V5Q29uZmlnSW50ZXJmYWNlPE4sIEw+IHtcbiAgICBjb25zdCB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIGlkLCBoZWlnaHROb3JtYWxpemF0aW9uQ29lZmYsIGV4aXRUcmFuc2l0aW9uVHlwZSwgZW50ZXJUcmFuc2l0aW9uVHlwZSwgaGlnaGxpZ2h0U3VidHJlZU9uSG92ZXIsIGhpZ2hsaWdodER1cmF0aW9uLCBoaWdobGlnaHREZWxheSwgaXRlcmF0aW9ucywgbm9kZVNvcnQsIGxpbmtTb3J0LCBub2RlV2lkdGgsIG5vZGVBbGlnbiwgbm9kZUhvcml6b250YWxTcGFjaW5nLCBub2RlTWluSGVpZ2h0LCBub2RlTWF4SGVpZ2h0LCBub2RlUGFkZGluZywgc2hvd1NpbmdsZU5vZGUsIG5vZGVDdXJzb3IsIG5vZGVJY29uLCBub2RlQ29sb3IsIG5vZGVGaXhlZFZhbHVlLCBub2RlSWNvbkNvbG9yLCBsaW5rQ29sb3IsIGxpbmtWYWx1ZSwgbGlua0N1cnNvciwgbGFiZWwsIHN1YkxhYmVsLCBsYWJlbFBvc2l0aW9uLCBsYWJlbFZlcnRpY2FsQWxpZ24sIGxhYmVsQmFja2dyb3VuZCwgbGFiZWxGaXQsIGxhYmVsTWF4V2lkdGgsIGxhYmVsRXhwYW5kVHJpbW1lZE9uSG92ZXIsIGxhYmVsVHJpbU1vZGUsIGxhYmVsRm9udFNpemUsIGxhYmVsVGV4dFNlcGFyYXRvciwgbGFiZWxGb3JjZVdvcmRCcmVhaywgbGFiZWxDb2xvciwgbGFiZWxDdXJzb3IsIGxhYmVsVmlzaWJpbGl0eSwgc3ViTGFiZWxGb250U2l6ZSwgc3ViTGFiZWxDb2xvciwgc3ViTGFiZWxQbGFjZW1lbnQsIHN1YkxhYmVsVG9MYWJlbElubGluZVdpZHRoUmF0aW8gfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIGlkLCBoZWlnaHROb3JtYWxpemF0aW9uQ29lZmYsIGV4aXRUcmFuc2l0aW9uVHlwZSwgZW50ZXJUcmFuc2l0aW9uVHlwZSwgaGlnaGxpZ2h0U3VidHJlZU9uSG92ZXIsIGhpZ2hsaWdodER1cmF0aW9uLCBoaWdobGlnaHREZWxheSwgaXRlcmF0aW9ucywgbm9kZVNvcnQsIGxpbmtTb3J0LCBub2RlV2lkdGgsIG5vZGVBbGlnbiwgbm9kZUhvcml6b250YWxTcGFjaW5nLCBub2RlTWluSGVpZ2h0LCBub2RlTWF4SGVpZ2h0LCBub2RlUGFkZGluZywgc2hvd1NpbmdsZU5vZGUsIG5vZGVDdXJzb3IsIG5vZGVJY29uLCBub2RlQ29sb3IsIG5vZGVGaXhlZFZhbHVlLCBub2RlSWNvbkNvbG9yLCBsaW5rQ29sb3IsIGxpbmtWYWx1ZSwgbGlua0N1cnNvciwgbGFiZWwsIHN1YkxhYmVsLCBsYWJlbFBvc2l0aW9uLCBsYWJlbFZlcnRpY2FsQWxpZ24sIGxhYmVsQmFja2dyb3VuZCwgbGFiZWxGaXQsIGxhYmVsTWF4V2lkdGgsIGxhYmVsRXhwYW5kVHJpbW1lZE9uSG92ZXIsIGxhYmVsVHJpbU1vZGUsIGxhYmVsRm9udFNpemUsIGxhYmVsVGV4dFNlcGFyYXRvciwgbGFiZWxGb3JjZVdvcmRCcmVhaywgbGFiZWxDb2xvciwgbGFiZWxDdXJzb3IsIGxhYmVsVmlzaWJpbGl0eSwgc3ViTGFiZWxGb250U2l6ZSwgc3ViTGFiZWxDb2xvciwgc3ViTGFiZWxQbGFjZW1lbnQsIHN1YkxhYmVsVG9MYWJlbElubGluZVdpZHRoUmF0aW8gfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBTYW5rZXlDb25maWdJbnRlcmZhY2U8TiwgTD4pW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Fua2V5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NhbmtleS9zYW5rZXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxNQUFNLEdBdUJQLE1BQU0sWUFBWSxDQUFBO0FBRW5CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRN0MsTUFBTSxPQUFPLGtCQUFrQjtJQStPN0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksTUFBTSxDQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRW5ELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLHdCQUF3QixFQUFFLFNB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Z0JBR0csd0NBQXdDO3NCQUFoRCxLQUFLO2dCQUdHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUdHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFHRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBUUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFJRywrQkFBK0I7c0JBQXZDLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIFNhbmtleSxcbiAgU2Fua2V5Q29uZmlnSW50ZXJmYWNlLFxuICBDb250YWluZXJDb3JlLFxuICBTYW5rZXlJbnB1dE5vZGUsXG4gIFNhbmtleUlucHV0TGluayxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBTYW5rZXlab29tTW9kZSxcbiAgU2Fua2V5RXhpdFRyYW5zaXRpb25UeXBlLFxuICBTYW5rZXlFbnRlclRyYW5zaXRpb25UeXBlLFxuICBTYW5rZXlOb2RlLFxuICBTYW5rZXlMaW5rLFxuICBTYW5rZXlOb2RlQWxpZ24sXG4gIFN0cmluZ0FjY2Vzc29yLFxuICBDb2xvckFjY2Vzc29yLFxuICBOdW1lcmljQWNjZXNzb3IsXG4gIEdlbmVyaWNBY2Nlc3NvcixcbiAgUG9zaXRpb24sXG4gIFZlcnRpY2FsQWxpZ24sXG4gIEZpdE1vZGUsXG4gIFRyaW1Nb2RlLFxuICBTYW5rZXlTdWJMYWJlbFBsYWNlbWVudCxcbiAgU3BhY2luZyxcbn0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IEQzWm9vbUV2ZW50IH0gZnJvbSAnZDMtem9vbSdcbmltcG9ydCB7IFZpc0NvcmVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXMtc2Fua2V5JyxcbiAgdGVtcGxhdGU6ICcnLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNDb3JlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzU2Fua2V5Q29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNTYW5rZXlDb21wb25lbnQ8TiBleHRlbmRzIFNhbmtleUlucHV0Tm9kZSwgTCBleHRlbmRzIFNhbmtleUlucHV0TGluaz4gaW1wbGVtZW50cyBTYW5rZXlDb25maWdJbnRlcmZhY2U8TiwgTD4sIEFmdGVyVmlld0luaXQge1xuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogTm9kZSAvIExpbmsgaWQgYWNjZXNzb3IgZnVuY3Rpb24uIFVzZWQgZm9yIG1hcHBpbmcgb2YgZGF0YSB1cGRhdGVzIHRvIGNvcnJlc3BvbmRpbmcgU1ZHIG9iamVjdHMuIERlZmF1bHQ6IGAoZCwgaSkgPT4gZC5pZCA/PyBpLnRvU3RyaW5nKClgICovXG4gIEBJbnB1dCgpIGlkPzogKGQ6IFNhbmtleUlucHV0Tm9kZSB8IFNhbmtleUlucHV0TGluaywgaTogbnVtYmVyLCAuLi5yZXN0KSA9PiBzdHJpbmdcblxuICAvKiogQ29lZmZpY2llbnQgdG8gc2NhbGUgdGhlIGhlaWdodCBvZiB0aGUgZGlhZ3JhbSB3aGVuIHRoZSBhbW91bnQgb2YgbGlua3MgaXMgbG93OiBgQyAqIGxpbmtzLmxlbmd0aGAsIGNsYW1wZWQgdG8gYFtoZWlnaHQgLyAyLCBoZWlnaHRdYC4gRGVmYXVsdDogYDEvMTZgICovXG4gIEBJbnB1dCgpIGhlaWdodE5vcm1hbGl6YXRpb25Db2VmZj86IG51bWJlclxuXG4gIC8qKiBIb3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBzY2FsZSBmYWN0b3IgYXBwbGllZCB0byB0aGUgY29tcHV0ZWQgbGF5b3V0IChjb2x1bW4gc3BhY2luZykuIEtlZXBzIG5vZGUgd2lkdGggaW50YWN0LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB6b29tU2NhbGU/OiBbbnVtYmVyLCBudW1iZXJdXG5cbiAgLyoqIFBhbiBvZmZzZXQgaW4gcGl4ZWxzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB6b29tUGFuPzogW251bWJlciwgbnVtYmVyXVxuXG4gIC8qKiBFbmFibGUgaW50ZXJhY3RpdmUgem9vbS9wYW4gYmVoYXZpb3IuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBlbmFibGVab29tPzogYm9vbGVhblxuXG4gIC8qKiBBbGxvd2VkIGludGVyYWN0aXZlIHpvb20gc2NhbGUgZXh0ZW50LiBEZWZhdWx0OiBgWzEsIDVdYCAqL1xuICBASW5wdXQoKSB6b29tRXh0ZW50PzogW251bWJlciwgbnVtYmVyXVxuXG4gIC8qKiBab29tIGludGVyYWN0aW9uIG1vZGUuIERlZmF1bHQ6IGBTYW5rZXlab29tTW9kZS5YWWAgKi9cbiAgQElucHV0KCkgem9vbU1vZGU/OiBTYW5rZXlab29tTW9kZSB8IHN0cmluZ1xuXG4gIC8qKiBUeXBlIG9mIGFuaW1hdGlvbiBvbiByZW1vdmluZyBub2Rlcy4gRGVmYXVsdDogYEV4aXRUcmFuc2l0aW9uVHlwZS5EZWZhdWx0YCAqL1xuICBASW5wdXQoKSBleGl0VHJhbnNpdGlvblR5cGU/OiBTYW5rZXlFeGl0VHJhbnNpdGlvblR5cGVcblxuICAvKiogVHlwZSBvZiBhbmltYXRpb24gb24gY3JlYXRpbmcgbm9kZXMuIERlZmF1bHQ6IGBFbnRlclRyYW5zaXRpb25UeXBlLkRlZmF1bHRgICovXG4gIEBJbnB1dCgpIGVudGVyVHJhbnNpdGlvblR5cGU/OiBTYW5rZXlFbnRlclRyYW5zaXRpb25UeXBlXG5cbiAgLyoqIEhpZ2hsaWdodCB0aGUgY29ycmVzcG9uZGluZyBzdWJ0cmVlIG9uIG5vZGUgLyBsaW5rIGhvdmVyLiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIGhpZ2hsaWdodFN1YnRyZWVPbkhvdmVyPzogYm9vbGVhblxuXG4gIC8qKiBIaWdobGlnaHQgYW5pbWF0aW9uIGR1cmF0aW9uLCBtcy4gRGVmYXVsdDogYDQwMGAgKi9cbiAgQElucHV0KCkgaGlnaGxpZ2h0RHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogSGlnaGxpZ2h0IGRlbGF5LCBtcy4gRGVmYXVsdDogYDEwMDBgICovXG4gIEBJbnB1dCgpIGhpZ2hsaWdodERlbGF5PzogbnVtYmVyXG5cbiAgLyoqIFNhbmtleSBhbGdvcml0aG0gaXRlcmF0aW9ucy4gRGVmYXVsdDogYDMyYCAqL1xuICBASW5wdXQoKSBpdGVyYXRpb25zPzogbnVtYmVyXG5cbiAgLyoqIFNhbmtleSBub2RlIHNvcnRpbmcgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgLlxuICAgKiBOb2RlIHNvcnRpbmcgaXMgYXBwbGllZCB0byBub2RlcyBpbiBvbmUgbGF5ZXIgKGNvbHVtbikuIExheWVyIGJ5IGxheWVyLlxuICAgKiBPcHRpb25zOiBgdW5kZWZpbmVkYCAtIHRoZSBvcmRlciBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBsYXlvdXQ7XG4gICAqICAgICAgICAgIGBudWxsYCAtIHRoZSBvcmRlciBpcyBmaXhlZCBieSB0aGUgaW5wdXQ7XG4gICAqICAgICAgICAgIHNvcnQgZnVuY3Rpb24gLSB0aGUgb3JkZXIgaXMgZGV0ZXJtaW5lZCBieSB0aGUgZnVuY3Rpb24uICovXG4gIEBJbnB1dCgpIG5vZGVTb3J0PzogKChub2RlMTogU2Fua2V5Tm9kZTxOLCBMPiwgbm9kZTI6IFNhbmtleU5vZGU8TiwgTD4pID0+IG51bWJlcikgfCBudWxsIHwgdW5kZWZpbmVkXG5cbiAgLyoqIFNhbmtleSBsaW5rIHNvcnRpbmcgZnVuY3Rpb24uIERlZmF1bHQ6IGAobGluazIsIGxpbmsxKSA9PiBsaW5rMS52YWx1ZSAtIGxpbmsyLnZhbHVlYC5cbiAgICogTGluayBzb3J0aW5nIGlzIGFwcGxpZWQgdG8gdGhlIHNvdXJjZSAoZXhpdGluZykgbGlua3Mgd2l0aGluIG9uZSBub2RlLlxuICAgKiBPcHRpb25zOiBgdW5kZWZpbmVkYCAtIHRoZSBvcmRlciBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBsYXlvdXQ7XG4gICAqICAgICAgICAgIGBudWxsYCAtIHRoZSBvcmRlciBpcyBmaXhlZCBieSB0aGUgaW5wdXQ7XG4gICAqICAgICAgICAgIHNvcnQgZnVuY3Rpb24gLSB0aGUgb3JkZXIgaXMgZGV0ZXJtaW5lZCBieSB0aGUgZnVuY3Rpb24uICovXG4gIEBJbnB1dCgpIGxpbmtTb3J0PzogKChsaW5rMTogU2Fua2V5TGluazxOLCBMPiwgbGluazI6IFNhbmtleUxpbms8TiwgTD4pID0+IG51bWJlcikgfCBudWxsIHwgdW5kZWZpbmVkXG5cbiAgLyoqIFNhbmtleSBub2RlIHdpZHRoIGluIHBpeGVscyAqL1xuICBASW5wdXQoKSBub2RlV2lkdGg/OiBudW1iZXJcblxuICAvKiogU2Fua2V5IG5vZGUgYWxpZ25tZW50IG1ldGhvZCAqL1xuICBASW5wdXQoKSBub2RlQWxpZ24/OiBTYW5rZXlOb2RlQWxpZ25cblxuICAvKiogSG9yaXpvbnRhbCBzcGFjZSBiZXR3ZWVuIHRoZSBub2Rlcy4gRXh0ZW5kZWQgU2l6aW5nIHByb3BlcnR5IG9ubHkuIERlZmF1bHQ6IGAxNTBgICovXG4gIEBJbnB1dCgpIG5vZGVIb3Jpem9udGFsU3BhY2luZz86IG51bWJlclxuXG4gIC8qKiBNaW5pbXVtIG5vZGUgaGVpZ2h0LiBFeHRlbmRlZCBTaXppbmcgcHJvcGVydHkgb25seS4gRGVmYXVsdDogYDIwYCAqL1xuICBASW5wdXQoKSBub2RlTWluSGVpZ2h0PzogbnVtYmVyXG5cbiAgLyoqIE1heGltdW0gbm9kZSBoZWlnaHQuIEV4dGVuZGVkIFNpemluZyBwcm9wZXJ0eSBvbmx5LiBEZWZhdWx0OiBgMTAwYCAqL1xuICBASW5wdXQoKSBub2RlTWF4SGVpZ2h0PzogbnVtYmVyXG5cbiAgLyoqIFNhbmtleSB2ZXJ0aWNhbCBzZXBhcmF0aW9uIGJldHdlZW4gbm9kZXMgaW4gcGl4ZWxzLiBEZWZhdWx0OiBgMmAgKi9cbiAgQElucHV0KCkgbm9kZVBhZGRpbmc/OiBudW1iZXJcblxuICAvKiogRGlzcGxheSB0aGUgZ3JhcGggd2hlbiBkYXRhIGhhcyBqdXN0IG9uZSBlbGVtZW50ICovXG4gIEBJbnB1dCgpIHNob3dTaW5nbGVOb2RlPzogYm9vbGVhblxuXG4gIC8qKiBOb2RlIGN1cnNvciBvbiBob3Zlci4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgbm9kZUN1cnNvcj86IFN0cmluZ0FjY2Vzc29yPFNhbmtleU5vZGU8TiwgTD4+XG5cbiAgLyoqIE5vZGUgaWNvbiBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgbm9kZUljb24/OiBTdHJpbmdBY2Nlc3NvcjxTYW5rZXlOb2RlPE4sIEw+PlxuXG4gIC8qKiBOb2RlIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBub2RlQ29sb3I/OiBDb2xvckFjY2Vzc29yPFNhbmtleU5vZGU8TiwgTD4+XG5cbiAgLyoqIE5vZGUgYGZpeGVkVmFsdWVgIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50LiBJdCBkZWZpbmVzIHRoZSBub2RlIHZhbHVlIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGNhbGN1bGF0ZVxuICAgKiB0aGUgaGVpZ2h0IG9mIHRoZSBub2RlcyBieSBkMy1zYW5rZXkgKGJ5IGRlZmF1bHQgdGhlIGhlaWdodCB3aWxsIGJlIGJhc2VkIG9uIGFnZ3JlZ2F0ZWQgYGxpbmtWYWx1ZWApLlxuICAgKiBEZWZhdWx0OiBgbiA9PiBuLmZpeGVkVmFsdWVgICovXG4gIEBJbnB1dCgpIG5vZGVGaXhlZFZhbHVlPzogTnVtZXJpY0FjY2Vzc29yPE4+XG5cbiAgLyoqIEljb24gY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG5vZGVJY29uQ29sb3I/OiBDb2xvckFjY2Vzc29yPFNhbmtleU5vZGU8TiwgTD4+XG5cbiAgLyoqIExpbmsgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGBsID0+IGwuY29sb3JgICovXG4gIEBJbnB1dCgpIGxpbmtDb2xvcj86IFN0cmluZ0FjY2Vzc29yPFNhbmtleUxpbms8TiwgTD4+XG5cbiAgLyoqIExpbmsgZmxvdyBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYGwgPT4gbC52YWx1ZWAgKi9cbiAgQElucHV0KCkgbGlua1ZhbHVlPzogTnVtZXJpY0FjY2Vzc29yPEw+XG5cbiAgLyoqIExpbmsgY3Vyc29yIG9uIGhvdmVyLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBsaW5rQ3Vyc29yPzogU3RyaW5nQWNjZXNzb3I8U2Fua2V5TGluazxOLCBMPj5cblxuICAvKiogTm9kZSBsYWJlbCBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYG4gPT4gbi5sYWJlbGAgKi9cbiAgQElucHV0KCkgbGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxTYW5rZXlOb2RlPE4sIEw+PlxuXG4gIC8qKiBOb2RlIHN1Yi1sYWJlbCBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgc3ViTGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxTYW5rZXlOb2RlPE4sIEw+PlxuXG4gIC8qKiBMYWJlbCBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgTm9kZS4gRGVmYXVsdDogYFBvc2l0aW9uLkFVVE9gICovXG4gIEBJbnB1dCgpIGxhYmVsUG9zaXRpb24/OiBHZW5lcmljQWNjZXNzb3I8UG9zaXRpb24uQXV0byB8IFBvc2l0aW9uLkxlZnQgfCBQb3NpdGlvbi5SaWdodCB8IHN0cmluZywgU2Fua2V5Tm9kZTxOLCBMPj5cblxuICAvKiogTGFiZWwgdmVydGljYWwgYWxpZ25tZW50ICovXG4gIEBJbnB1dCgpIGxhYmVsVmVydGljYWxBbGlnbj86IFZlcnRpY2FsQWxpZ24gfCBzdHJpbmdcblxuICAvKiogTGFiZWwgYmFja2dyb3VuZCAqL1xuICBASW5wdXQoKSBsYWJlbEJhY2tncm91bmQ/OiBib29sZWFuXG5cbiAgLyoqIExhYmVsIGZpdCBtb2RlICh3cmFwIG9yIHRyaW0pLiBEZWZhdWx0OiBgRml0TW9kZS5UcmltYCAqICovXG4gIEBJbnB1dCgpIGxhYmVsRml0PzogRml0TW9kZVxuXG4gIC8qKiBNYXhpbXVtIGxhYmVsIHdpdGggaW4gcGl4ZWxzLiBEZWZhdWx0OiBgNzBgICovXG4gIEBJbnB1dCgpIGxhYmVsTWF4V2lkdGg/OiBudW1iZXJcblxuICAvKiogV2hldGhlciB0byB0YWtlIHRoZSBhdmFpbGFibGUgc3BhY2UgZm9yIHRoZSBsYWJlbC4gVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIG9ubHkgaWYgYGxhYmVsTWF4V2lkdGhgIGlzIG5vdCBwcm92aWRlZC4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBsYWJlbE1heFdpZHRoVGFrZUF2YWlsYWJsZVNwYWNlPzogYm9vbGVhblxuXG4gIC8qKiBUb2xlcmFuY2UgZm9yIHRoZSBhdmFpbGFibGUgc3BhY2UgZm9yIHRoZSBsYWJlbC4gVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIG9ubHkgaWYgYGxhYmVsTWF4V2lkdGhUYWtlQXZhaWxhYmxlU3BhY2VgIGlzIGB0cnVlYC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKHVzZSBsYWJlbCBhbmQgc3ViLWxhYmVsIGZvbnQgc2l6ZXMpICovXG4gIEBJbnB1dCgpIGxhYmVsTWF4V2lkdGhUYWtlQXZhaWxhYmxlU3BhY2VUb2xlcmFuY2U/OiBudW1iZXJcblxuICAvKiogRXhwYW5kIHRyaW1tZWQgbGFiZWwgb24gaG92ZXIuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBsYWJlbEV4cGFuZFRyaW1tZWRPbkhvdmVyPzogYm9vbGVhblxuXG4gIC8qKiBMYWJlbCB0cmltbWluZyBtb2RlLiBEZWZhdWx0OiBgVHJpbU1vZGUuTWlkZGxlYCAqL1xuICBASW5wdXQoKSBsYWJlbFRyaW1Nb2RlPzogVHJpbU1vZGVcblxuICAvKiogTGFiZWwgZm9udCBzaXplIGluIHBpeGVscy4gSWYgbm90IHByb3ZpZGVkLCB0aGUgdmFsdWUgb2YgQ1NTIHZhcmlhYmxlIGAtLXZpcy1zYW5rZXktbm9kZS1sYWJlbC1mb250LXNpemVgIHdpbGwgYmUgdXNlZC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgbGFiZWxGb250U2l6ZT86IG51bWJlclxuXG4gIC8qKiBMYWJlbCB0ZXh0IHNlcGFyYXRvcnMgZm9yIHdyYXBwaW5nLiBEZWZhdWx0OiBgWycgJywgJy0nXWAgKi9cbiAgQElucHV0KCkgbGFiZWxUZXh0U2VwYXJhdG9yPzogc3RyaW5nW11cblxuICAvKiogTGFiZWwgdGV4dCBkZWNvcmF0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBsYWJlbFRleHREZWNvcmF0aW9uPzogU3RyaW5nQWNjZXNzb3I8U2Fua2V5Tm9kZTxOLCBMPj5cblxuICAvKiogRm9yY2UgYnJlYWsgd29yZHMgdG8gZml0IGxvbmcgbGFiZWxzLiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgbGFiZWxGb3JjZVdvcmRCcmVhaz86IGJvb2xlYW5cblxuICAvKiogTGFiZWwgY29sb3IuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxhYmVsQ29sb3I/OiBDb2xvckFjY2Vzc29yPFNhbmtleU5vZGU8TiwgTD4+XG5cbiAgLyoqIExhYmVsIGN1cnNvciBvbiBob3Zlci4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgbGFiZWxDdXJzb3I/OiBTdHJpbmdBY2Nlc3NvcjxTYW5rZXlOb2RlPE4sIEw+PlxuXG4gIC8qKiBDdXN0b20gZnVuY3Rpb24gdG8gc2V0IHRoZSBsYWJlbCB2aXNpYmlsaXR5LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBsYWJlbFZpc2liaWxpdHk/OiAoKGQ6IFNhbmtleU5vZGU8TiwgTD4sIGJib3g6IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG4gIH0sIGhvdmVyZWQ6IGJvb2xlYW4pID0+IGJvb2xlYW4pIHwgdW5kZWZpbmVkXG5cbiAgLyoqIFN1Yi1sYWJlbCBmb250IHNpemUgaW4gcGl4ZWxzLiBJZiBub3QgcHJvdmlkZWQsIHRoZSB2YWx1ZSBvZiBDU1MgdmFyaWFibGUgYC0tdmlzLXNhbmtleS1ub2RlLXN1YmxhYmVsLWZvbnQtc2l6ZWAgd2lsbCBiZSB1c2VkLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBzdWJMYWJlbEZvbnRTaXplPzogbnVtYmVyXG5cbiAgLyoqIFN1Yi1sYWJlbCBjb2xvci4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgc3ViTGFiZWxDb2xvcj86IENvbG9yQWNjZXNzb3I8U2Fua2V5Tm9kZTxOLCBMPj5cblxuICAvKiogU3ViLWxhYmVsIHBvc2l0aW9uLiBEZWZhdWx0OiBgU2Fua2V5U3ViTGFiZWxQbGFjZW1lbnQuQmVsb3dgICovXG4gIEBJbnB1dCgpIHN1YkxhYmVsUGxhY2VtZW50PzogU2Fua2V5U3ViTGFiZWxQbGFjZW1lbnQgfCBzdHJpbmdcblxuICAvKiogU3ViLWxhYmVsIHRleHQgZGVjb3JhdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgc3ViTGFiZWxUZXh0RGVjb3JhdGlvbj86IFN0cmluZ0FjY2Vzc29yPFNhbmtleU5vZGU8TiwgTD4+XG5cbiAgLyoqIFN1Yi1sYWJlbCB0byBsYWJlbCB3aWR0aCByYXRpbyB3aGVuIGBzdWJMYWJlbFBsYWNlbWVudGAgaXMgc2V0IHRvIGBTYW5rZXlTdWJMYWJlbFBsYWNlbWVudC5JbmxpbmVgXG4gICAqIERlZmF1bHQ6IGAwLjRgLCB3aGljaCBtZWFucyB0aGF0IDQwJSBvZiBgbGFiZWxNYXhXaWR0aGAgd2lsbCBiZSBnaXZlbiB0byBzdWItbGFiZWwsIGFuZCA2MCUgdG8gdGhlIG1haW4gbGFiZWwuICovXG4gIEBJbnB1dCgpIHN1YkxhYmVsVG9MYWJlbElubGluZVdpZHRoUmF0aW8/OiBudW1iZXJcblxuICAvKiogWm9vbSBldmVudCBjYWxsYmFjay4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25ab29tPzogKGhvcml6b250YWxTY2FsZTogbnVtYmVyLCB2ZXJ0aWNhbFNjYWxlOiBudW1iZXIsIHBhblg6IG51bWJlciwgcGFuWTogbnVtYmVyLCB6b29tRXh0ZW50OiBbbnVtYmVyLCBudW1iZXJdLCBldmVudDogRDNab29tRXZlbnQ8U1ZHR0VsZW1lbnQsIHVua25vd24+IHwgdW5kZWZpbmVkKSA9PiB2b2lkXG5cbiAgLyoqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBncmFwaCBsYXlvdXQgaXMgY2FsY3VsYXRlZC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25MYXlvdXRDYWxjdWxhdGVkPzogKG5vZGVzOiBTYW5rZXlOb2RlPE4sIEw+W10sIGxpbmtzOiBTYW5rZXlMaW5rPE4sIEw+W10sIGRlcHRoOiBudW1iZXIsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyLCBibGVlZDogU3BhY2luZykgPT4gdm9pZFxuXG4gIC8qKiBTZXQgc2VsZWN0ZWQgbm9kZXMgYnkgdW5pcXVlIGlkLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBzZWxlY3RlZE5vZGVJZHM/OiBzdHJpbmdbXVxuICBASW5wdXQoKSBkYXRhOiB7IG5vZGVzOiBOW107IGxpbmtzPzogTFtdIH1cblxuICBjb21wb25lbnQ6IFNhbmtleTxOLCBMPiB8IHVuZGVmaW5lZFxuICBwdWJsaWMgY29tcG9uZW50Q29udGFpbmVyOiBDb250YWluZXJDb3JlIHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBTYW5rZXk8TiwgTD4odGhpcy5nZXRDb25maWcoKSlcblxuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LnNldERhdGEodGhpcy5kYXRhKVxuICAgICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7IHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSkgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBTYW5rZXlDb25maWdJbnRlcmZhY2U8TiwgTD4ge1xuICAgIGNvbnN0IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgaWQsIGhlaWdodE5vcm1hbGl6YXRpb25Db2VmZiwgem9vbVNjYWxlLCB6b29tUGFuLCBlbmFibGVab29tLCB6b29tRXh0ZW50LCB6b29tTW9kZSwgZXhpdFRyYW5zaXRpb25UeXBlLCBlbnRlclRyYW5zaXRpb25UeXBlLCBoaWdobGlnaHRTdWJ0cmVlT25Ib3ZlciwgaGlnaGxpZ2h0RHVyYXRpb24sIGhpZ2hsaWdodERlbGF5LCBpdGVyYXRpb25zLCBub2RlU29ydCwgbGlua1NvcnQsIG5vZGVXaWR0aCwgbm9kZUFsaWduLCBub2RlSG9yaXpvbnRhbFNwYWNpbmcsIG5vZGVNaW5IZWlnaHQsIG5vZGVNYXhIZWlnaHQsIG5vZGVQYWRkaW5nLCBzaG93U2luZ2xlTm9kZSwgbm9kZUN1cnNvciwgbm9kZUljb24sIG5vZGVDb2xvciwgbm9kZUZpeGVkVmFsdWUsIG5vZGVJY29uQ29sb3IsIGxpbmtDb2xvciwgbGlua1ZhbHVlLCBsaW5rQ3Vyc29yLCBsYWJlbCwgc3ViTGFiZWwsIGxhYmVsUG9zaXRpb24sIGxhYmVsVmVydGljYWxBbGlnbiwgbGFiZWxCYWNrZ3JvdW5kLCBsYWJlbEZpdCwgbGFiZWxNYXhXaWR0aCwgbGFiZWxNYXhXaWR0aFRha2VBdmFpbGFibGVTcGFjZSwgbGFiZWxNYXhXaWR0aFRha2VBdmFpbGFibGVTcGFjZVRvbGVyYW5jZSwgbGFiZWxFeHBhbmRUcmltbWVkT25Ib3ZlciwgbGFiZWxUcmltTW9kZSwgbGFiZWxGb250U2l6ZSwgbGFiZWxUZXh0U2VwYXJhdG9yLCBsYWJlbFRleHREZWNvcmF0aW9uLCBsYWJlbEZvcmNlV29yZEJyZWFrLCBsYWJlbENvbG9yLCBsYWJlbEN1cnNvciwgbGFiZWxWaXNpYmlsaXR5LCBzdWJMYWJlbEZvbnRTaXplLCBzdWJMYWJlbENvbG9yLCBzdWJMYWJlbFBsYWNlbWVudCwgc3ViTGFiZWxUZXh0RGVjb3JhdGlvbiwgc3ViTGFiZWxUb0xhYmVsSW5saW5lV2lkdGhSYXRpbywgb25ab29tLCBvbkxheW91dENhbGN1bGF0ZWQsIHNlbGVjdGVkTm9kZUlkcyB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgaWQsIGhlaWdodE5vcm1hbGl6YXRpb25Db2VmZiwgem9vbVNjYWxlLCB6b29tUGFuLCBlbmFibGVab29tLCB6b29tRXh0ZW50LCB6b29tTW9kZSwgZXhpdFRyYW5zaXRpb25UeXBlLCBlbnRlclRyYW5zaXRpb25UeXBlLCBoaWdobGlnaHRTdWJ0cmVlT25Ib3ZlciwgaGlnaGxpZ2h0RHVyYXRpb24sIGhpZ2hsaWdodERlbGF5LCBpdGVyYXRpb25zLCBub2RlU29ydCwgbGlua1NvcnQsIG5vZGVXaWR0aCwgbm9kZUFsaWduLCBub2RlSG9yaXpvbnRhbFNwYWNpbmcsIG5vZGVNaW5IZWlnaHQsIG5vZGVNYXhIZWlnaHQsIG5vZGVQYWRkaW5nLCBzaG93U2luZ2xlTm9kZSwgbm9kZUN1cnNvciwgbm9kZUljb24sIG5vZGVDb2xvciwgbm9kZUZpeGVkVmFsdWUsIG5vZGVJY29uQ29sb3IsIGxpbmtDb2xvciwgbGlua1ZhbHVlLCBsaW5rQ3Vyc29yLCBsYWJlbCwgc3ViTGFiZWwsIGxhYmVsUG9zaXRpb24sIGxhYmVsVmVydGljYWxBbGlnbiwgbGFiZWxCYWNrZ3JvdW5kLCBsYWJlbEZpdCwgbGFiZWxNYXhXaWR0aCwgbGFiZWxNYXhXaWR0aFRha2VBdmFpbGFibGVTcGFjZSwgbGFiZWxNYXhXaWR0aFRha2VBdmFpbGFibGVTcGFjZVRvbGVyYW5jZSwgbGFiZWxFeHBhbmRUcmltbWVkT25Ib3ZlciwgbGFiZWxUcmltTW9kZSwgbGFiZWxGb250U2l6ZSwgbGFiZWxUZXh0U2VwYXJhdG9yLCBsYWJlbFRleHREZWNvcmF0aW9uLCBsYWJlbEZvcmNlV29yZEJyZWFrLCBsYWJlbENvbG9yLCBsYWJlbEN1cnNvciwgbGFiZWxWaXNpYmlsaXR5LCBzdWJMYWJlbEZvbnRTaXplLCBzdWJMYWJlbENvbG9yLCBzdWJMYWJlbFBsYWNlbWVudCwgc3ViTGFiZWxUZXh0RGVjb3JhdGlvbiwgc3ViTGFiZWxUb0xhYmVsSW5saW5lV2lkdGhSYXRpbywgb25ab29tLCBvbkxheW91dENhbGN1bGF0ZWQsIHNlbGVjdGVkTm9kZUlkcyB9XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGNvbmZpZykgYXMgKGtleW9mIFNhbmtleUNvbmZpZ0ludGVyZmFjZTxOLCBMPilbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==