@vizzly/dashboard 0.14.4-dev-470d6f9c95d1b6422dbe1be22378ce12cdf6580a → 0.14.4-dev-8beb4cd0b38350abdd05b93b66f2523ced40aa15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/dist/charts/src/v2/components/AreaChart/AreaChart.d.ts +22 -0
  2. package/dist/charts/src/v2/components/AreaChart/contants.d.ts +1 -0
  3. package/dist/charts/src/v2/components/AreaChart/index.d.ts +1 -0
  4. package/dist/charts/src/v2/components/BarChart/getBarFill.d.ts +2 -4
  5. package/dist/charts/src/v2/components/Legend/Legend.d.ts +2 -1
  6. package/dist/charts/src/v2/components/Legend/LegendItem/LegendItem.d.ts +2 -1
  7. package/dist/charts/src/v2/components/Legend/LegendItemBox/LegendItemBox.d.ts +3 -0
  8. package/dist/charts/src/v2/components/Threshold/ThresholdArea.d.ts +14 -0
  9. package/dist/charts/src/v2/components/Threshold/threshold.utils.d.ts +4 -0
  10. package/dist/charts/src/v2/components/Tooltip/CrosshairCircle.d.ts +20 -0
  11. package/dist/charts/src/v2/components/Tooltip/Line.d.ts +7 -0
  12. package/dist/charts/src/v2/components/Tooltip/Tooltip.d.ts +2 -1
  13. package/dist/charts/src/v2/components/hooks/useFlattenedData.d.ts +1 -3
  14. package/dist/charts/src/v2/components/hooks/useVisibleKey.d.ts +6 -0
  15. package/dist/charts/src/v2/utils/useableId.d.ts +1 -0
  16. package/dist/dashboard.cjs.development.js +401 -80
  17. package/dist/dashboard.cjs.production.min.js +1 -1
  18. package/dist/dashboard.esm.js +406 -82
  19. package/dist/shared-logic/src/AreaChartV2/types.d.ts +12 -0
  20. package/dist/shared-logic/src/BubbleChart/getAxisFormattingFunction.d.ts +1 -1
  21. package/dist/shared-logic/src/ChartsV2/getAxisFormattingFunction.d.ts +1 -1
  22. package/dist/shared-logic/src/ChartsV2/types.d.ts +3 -0
  23. package/package.json +1 -1
@@ -34,7 +34,7 @@ import { LegendItem as LegendItem$1, LegendLabel } from '@visx/legend';
34
34
  import { scaleOrdinal, scaleQuantize, scalePoint, scaleTime, scaleLinear, scaleBand } from '@visx/scale';
35
35
  import Ordinal from '@visx/legend/lib/legends/Ordinal';
36
36
  import { curveNatural, curveMonotoneX, curveMonotoneY, curveLinear, curveStep, curveStepBefore, curveStepAfter } from '@visx/curve';
37
- import { Line, LinePath, BarGroup as BarGroup$1, BarStack as BarStack$1 } from '@visx/shape';
37
+ import { Line as Line$1, LinePath, BarGroup as BarGroup$1, BarStack as BarStack$1 } from '@visx/shape';
38
38
  import { Mercator, Graticule } from '@visx/geo';
39
39
  import { feature } from 'topojson-client';
40
40
  import ParentSize$1 from '@visx/responsive/lib/components/ParentSize';
@@ -48,7 +48,6 @@ import { useWindowWidth } from '@react-hook/window-size';
48
48
  import copy from 'copy-to-clipboard';
49
49
  import html2canvas from 'html2canvas';
50
50
  import jsPDF from 'jspdf';
51
- import { BubbleChart as BubbleChart$3 } from './charts/src/BubbleChart';
52
51
  import { RectClipPath } from '@visx/clip-path';
53
52
  import { localPoint } from '@visx/event';
54
53
  import { bisector } from '@visx/vendor/d3-array';
@@ -9331,7 +9330,7 @@ var BubbleChart = function BubbleChart(config) {
9331
9330
 
9332
9331
  var attributesSchema$f = function attributesSchema(config) {
9333
9332
  return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), timeDimensionQuerySchema(config.queryEngineConfig, config.attributesSchemaOptions), {
9334
- stacked: Joi.valid(true, false, '100%'),
9333
+ stacked: Joi.valid(true, false),
9335
9334
  legend: Joi.valid(true, false),
9336
9335
  type: Joi.valid('barChartV2').required(),
9337
9336
  parameters: parametersSchema(config.queryEngineConfig, config.attributesSchemaOptions),
@@ -32026,7 +32025,7 @@ var ChartGoalLine = /*#__PURE__*/memo(function (props) {
32026
32025
  var height = 16;
32027
32026
  var triangleWidth = 8;
32028
32027
  return jsxs("g", {
32029
- children: [jsx(Line, {
32028
+ children: [jsx(Line$1, {
32030
32029
  from: {
32031
32030
  x: 0,
32032
32031
  y: y
@@ -40784,6 +40783,259 @@ var IconText = function IconText(props) {
40784
40783
  });
40785
40784
  };
40786
40785
 
40786
+ var accessors$1 = function accessors(xAxisIsTime, xKey, yKey, horizontal) {
40787
+ return {
40788
+ xAccessor: function xAccessor(d) {
40789
+ return d ? horizontal ? d[yKey] : xAxisIsTime ? new Date(d[xKey]) : d[xKey] : undefined;
40790
+ },
40791
+ yAccessor: function yAccessor(d) {
40792
+ return d ? horizontal ? xAxisIsTime ? new Date(d[xKey]) : d[xKey] : d[yKey] : undefined;
40793
+ }
40794
+ };
40795
+ };
40796
+ var DEFAULT_Y_AXIS_LABEL_COUNT$1 = 5;
40797
+ var VizzlyBubbleChart = function VizzlyBubbleChart(props) {
40798
+ var _props$height, _theme$axis$stroke, _theme$axis, _ref, _props$lines$data$len, _props$lines, _props$areas, _props$bars, _props$forceXAxisAsTi, _props$bars2, _props$lines2, _theme$grid$stroke, _theme$grid, _props$axisTitles, _props$axisTitles2, _props$axisTitles3, _props$axisTitles4, _props$bars3, _props$bars4, _props$bars5;
40799
+ var height = adjustHeight((_props$height = props == null ? void 0 : props.height) != null ? _props$height : 300, props == null ? void 0 : props.legend);
40800
+ var _props$approxYAxisLab = props.approxYAxisLabelCount,
40801
+ approxYAxisLabelCount = _props$approxYAxisLab === void 0 ? 'auto' : _props$approxYAxisLab,
40802
+ _props$approxXAxisLab = props.approxXAxisLabelCount,
40803
+ approxXAxisLabelCount = _props$approxXAxisLab === void 0 ? 'auto' : _props$approxXAxisLab,
40804
+ _props$removeStroke = props.removeStroke,
40805
+ removeStroke = _props$removeStroke === void 0 ? false : _props$removeStroke,
40806
+ _props$horizontal = props.horizontal,
40807
+ horizontal = _props$horizontal === void 0 ? false : _props$horizontal,
40808
+ theme = props.theme,
40809
+ x = props.x;
40810
+ var xAxisIsTime = isXAxisTime(props.x, props.forceXAxisAsTime, props.bars, props.lines, props.areas);
40811
+ var axisLabelStyles = function axisLabelStyles(horizontal, labelTheme) {
40812
+ var _labelTheme$color, _labelTheme$fontSize, _labelTheme$fontWeigh, _labelTheme$fontFamil;
40813
+ return {
40814
+ fill: (_labelTheme$color = labelTheme == null ? void 0 : labelTheme.color) != null ? _labelTheme$color : 'rgba(0, 0, 0, 0.6)',
40815
+ fontSize: (_labelTheme$fontSize = labelTheme == null ? void 0 : labelTheme.fontSize) != null ? _labelTheme$fontSize : 9,
40816
+ fontWeight: (_labelTheme$fontWeigh = labelTheme == null ? void 0 : labelTheme.fontWeight) != null ? _labelTheme$fontWeigh : 700,
40817
+ fontFamily: (_labelTheme$fontFamil = labelTheme == null ? void 0 : labelTheme.fontFamily) != null ? _labelTheme$fontFamil : DEFAULT_CHART_FONT,
40818
+ textAnchor: horizontal ? 'end' : 'middle',
40819
+ scaleToFit: 'shrink-only'
40820
+ };
40821
+ };
40822
+ var _useXAxisLabelCount = useXAxisLabelCount(approxXAxisLabelCount, !(props != null && props.horizontal) && (props == null ? void 0 : props.forceXAxisAsTime)),
40823
+ widthRef = _useXAxisLabelCount[0],
40824
+ approximateXTickCount = _useXAxisLabelCount[1];
40825
+ var _useState = useState(undefined),
40826
+ nearestDatum = _useState[0];
40827
+ var _useState2 = useState(undefined),
40828
+ nearestTooltipDatums = _useState2[0];
40829
+ var colors = getConcatenatedProperties(props, 'colors');
40830
+ var customTheme = buildChartTheme(_extends({}, lightTheme, {
40831
+ colors: colors,
40832
+ tickLength: 0,
40833
+ gridColor: '',
40834
+ gridColorDark: ''
40835
+ }));
40836
+ var chartData = getConcatenatedProperties(props, 'data');
40837
+ var axisStrokeColor = (_theme$axis$stroke = theme == null || (_theme$axis = theme.axis) == null ? void 0 : _theme$axis.stroke) != null ? _theme$axis$stroke : '#eaeaea';
40838
+ var _getAxisType = getAxisType(approxXAxisLabelCount, approxYAxisLabelCount),
40839
+ xAxisType = _getAxisType.xAxisType,
40840
+ xAxisAttributes = _getAxisType.xAxisAttributes,
40841
+ yAxisType = _getAxisType.yAxisType;
40842
+ var numberOfXAxisPoints = (_ref = (_props$lines$data$len = props == null || (_props$lines = props.lines) == null ? void 0 : _props$lines.data.length) != null ? _props$lines$data$len : props == null || (_props$areas = props.areas) == null || (_props$areas = _props$areas.data) == null ? void 0 : _props$areas.length) != null ? _ref : (_props$bars = props.bars) == null ? void 0 : _props$bars.data.length;
40843
+ var _useMinMaxValue = useMinMaxValue(props),
40844
+ maxValue = _useMinMaxValue.maxValue,
40845
+ minValue = _useMinMaxValue.minValue;
40846
+ var leftWidth = getYAxisWidth(horizontal, (_props$forceXAxisAsTi = props.forceXAxisAsTime) != null ? _props$forceXAxisAsTi : false, props, theme, getConcatenatedProperties(props, 'data'), props.x);
40847
+ var margin = props.sparkline ? NO_MARGIN(props.yAxisOrientation !== 'right') : getDefaultMargins(horizontal, props.yAxisOrientation !== 'right', xAxisType, props == null ? void 0 : props.axisTitles, leftWidth);
40848
+ var getTrendLineStyle = function getTrendLineStyle(datumKey) {
40849
+ if (props.trends) {
40850
+ var _props$trends, _strokeDasharrayToBor, _indicatorProperties$, _indicatorProperties$2, _indicatorProperties$3, _indicatorProperties$4, _indicatorProperties$5, _indicatorProperties$6, _indicatorProperties$7, _indicatorProperties$8, _indicatorProperties$9;
40851
+ var indicatorKeyIndex = (_props$trends = props.trends) == null ? void 0 : _props$trends.keys.indexOf(datumKey);
40852
+ var indicatorProperties = props.trends;
40853
+ return {
40854
+ borderStyle: (_strokeDasharrayToBor = strokeDasharrayToBorderStyle((_indicatorProperties$ = indicatorProperties.strokeDasharray) == null ? void 0 : _indicatorProperties$[indicatorKeyIndex])) != null ? _strokeDasharrayToBor : 'dotted',
40855
+ borderWidth: 0,
40856
+ marginTop: (_indicatorProperties$2 = (_indicatorProperties$3 = indicatorProperties.strokeWidth) == null ? void 0 : _indicatorProperties$3[indicatorKeyIndex]) != null ? _indicatorProperties$2 : 2,
40857
+ borderTopWidth: (_indicatorProperties$4 = (_indicatorProperties$5 = indicatorProperties.strokeWidth) == null ? void 0 : _indicatorProperties$5[indicatorKeyIndex]) != null ? _indicatorProperties$4 : 2,
40858
+ borderColor: (_indicatorProperties$6 = (_indicatorProperties$7 = indicatorProperties.colors) == null ? void 0 : _indicatorProperties$7[indicatorKeyIndex]) != null ? _indicatorProperties$6 : '#1E1D2D',
40859
+ opacity: (_indicatorProperties$8 = (_indicatorProperties$9 = indicatorProperties.opacity) == null ? void 0 : _indicatorProperties$9[indicatorKeyIndex]) != null ? _indicatorProperties$8 : 1
40860
+ };
40861
+ }
40862
+ return undefined;
40863
+ };
40864
+ return jsxs("div", {
40865
+ ref: widthRef,
40866
+ style: {
40867
+ position: 'relative',
40868
+ height: height
40869
+ },
40870
+ className: "vizzly-xy-chart" + (props != null && (_props$bars2 = props.bars) != null && _props$bars2.funnelChart ? ' vizzly-xy-chart-funnel' : ''),
40871
+ "data-testid": "vizzly-" + (props == null ? void 0 : props.uniqueId) + "-chart",
40872
+ children: [jsxs(XYChart, {
40873
+ theme: customTheme,
40874
+ margin: margin,
40875
+ height: height,
40876
+ xScale: getScale('x', horizontal, xAxisIsTime, props == null || (_props$lines2 = props.lines) == null ? void 0 : _props$lines2.scatter, !!(props != null && props.lines) || !!(props != null && props.areas)),
40877
+ yScale: getYScale(props == null ? void 0 : props.goalLine, maxValue, minValue, horizontal, xAxisIsTime),
40878
+ horizontal: horizontal,
40879
+ onPointerUp: function onPointerUp(params) {
40880
+ return props == null ? void 0 : props.onClick(nearestDatum, nearestTooltipDatums, params);
40881
+ },
40882
+ children: [jsx(Grid$1, {
40883
+ columns: horizontal,
40884
+ rows: !horizontal,
40885
+ stroke: "black",
40886
+ strokeDasharray: "0.5 5",
40887
+ strokeWidth: removeStroke ? 0 : 2,
40888
+ lineStyle: {
40889
+ strokeLinecap: 'round',
40890
+ stroke: (_theme$grid$stroke = theme == null || (_theme$grid = theme.grid) == null ? void 0 : _theme$grid.stroke) != null ? _theme$grid$stroke : 'rgba(200, 200, 200, 0.2)'
40891
+ }
40892
+ }), !(props != null && props.sparkline) && jsxs(Fragment$1, {
40893
+ children: [xAxisType !== 'none' && jsx(Axis, _extends({}, xAxisAttributes, {
40894
+ tickLabelProps: function tickLabelProps() {
40895
+ var tickLabelProps = _extends({}, axisLabelStyles(horizontal, theme == null ? void 0 : theme.labels));
40896
+ if (!horizontal) {
40897
+ tickLabelProps['y'] = 15;
40898
+ }
40899
+ return tickLabelProps;
40900
+ },
40901
+ numTicks: xAxisType === 'end2end' ? numberOfXAxisPoints : approximateXTickCount,
40902
+ strokeWidth: removeStroke ? 0 : 1,
40903
+ tickStroke: "#eaeaea",
40904
+ stroke: horizontal ? 'transparent' : axisStrokeColor,
40905
+ orientation: horizontal ? 'left' : 'bottom',
40906
+ tickFormat: handleFormatXAxisLabel(props.formatXAxisLabel, props.forceXAxisAsTime || xAxisIsTime, chartData),
40907
+ label: horizontal ? props == null || (_props$axisTitles = props.axisTitles) == null ? void 0 : _props$axisTitles.y : props == null || (_props$axisTitles2 = props.axisTitles) == null ? void 0 : _props$axisTitles2.x,
40908
+ children: function children(axisProps) {
40909
+ return jsx(XAxis, _extends({}, axisProps, {
40910
+ theme: theme,
40911
+ type: xAxisType,
40912
+ uniqueId: props == null ? void 0 : props.uniqueId,
40913
+ chartWidth: props == null ? void 0 : props.width,
40914
+ xAxisIsTime: !!props.forceXAxisAsTime,
40915
+ leftPanelWidth: leftWidth,
40916
+ axisHorizontal: props == null ? void 0 : props.horizontal
40917
+ }));
40918
+ }
40919
+ })), jsx(Axis, {
40920
+ labelOffset: 50,
40921
+ tickLabelProps: function tickLabelProps() {
40922
+ var tickLabelProps = _extends({}, axisLabelStyles(horizontal, theme == null ? void 0 : theme.labels));
40923
+ if (!horizontal && props.yAxisOrientation !== 'right') {
40924
+ tickLabelProps['width'] = LEFT_PANEL_WIDTH;
40925
+ tickLabelProps['textAnchor'] = 'middle';
40926
+ }
40927
+ return tickLabelProps;
40928
+ },
40929
+ hideAxisLine: true,
40930
+ numTicks: approxYAxisLabelCount === 'auto' ? DEFAULT_Y_AXIS_LABEL_COUNT$1 : approxYAxisLabelCount,
40931
+ strokeWidth: removeStroke ? 0 : 1,
40932
+ hideTicks: true,
40933
+ tickLength: !props.horizontal && props.yAxisOrientation !== 'right' ? LEFT_PANEL_WIDTH / 2 : 10,
40934
+ stroke: axisStrokeColor,
40935
+ orientation: horizontal ? 'bottom' : props.yAxisOrientation || 'left',
40936
+ tickFormat: formatYAxisLabel$1(props),
40937
+ label: horizontal ? props == null || (_props$axisTitles3 = props.axisTitles) == null ? void 0 : _props$axisTitles3.x : props == null || (_props$axisTitles4 = props.axisTitles) == null ? void 0 : _props$axisTitles4.y,
40938
+ children: function children(axisProps) {
40939
+ return jsx(YAxis, _extends({}, axisProps, {
40940
+ theme: theme,
40941
+ type: yAxisType,
40942
+ horizontal: horizontal,
40943
+ maxValueOfYAxis: props != null && props.formatYAxisLabel ? props == null ? void 0 : props.formatYAxisLabel(maxValue) : maxValue,
40944
+ uniqueId: props == null ? void 0 : props.uniqueId
40945
+ }));
40946
+ }
40947
+ })]
40948
+ }), jsx("style", {
40949
+ children: "\n .visx-bar-stack .visx-bar {\n stroke: #fff;\n stroke-width: 2px;\n }\n .vizzly-xy-chart-funnel .visx-bar-stack .visx-bar {\n stroke-width: 0;\n }\n .visx-tooltip-glyph svg {\n max-width: 10px\n height: 10px;\n }\n " + TOOLTIP_ZINDEX + "\n "
40950
+ }), props.lines && props.lines.keys.map(function (key, keyIndex) {
40951
+ var _props$lines3, _props$lines4;
40952
+ return jsx(GlyphSeries, _extends({
40953
+ size: function size(datum) {
40954
+ if (!datum || !datum.bubbleSize) return 5;
40955
+ return datum.bubbleSize;
40956
+ },
40957
+ dataKey: key,
40958
+ data: (_props$lines3 = props.lines) == null ? void 0 : _props$lines3.data
40959
+ }, accessors$1(xAxisIsTime, x, key, horizontal), {
40960
+ colorAccessor: (props == null || (_props$lines4 = props.lines) == null ? void 0 : _props$lines4.formatter) && getColorFromDatum(key, props == null ? void 0 : props.lines.formatter, colors, keyIndex)
40961
+ }), "scatter_chart_" + props.uniqueId + "_" + keyIndex);
40962
+ })]
40963
+ }), (props == null ? void 0 : props.legend) && jsx(Legend, {
40964
+ funnelChart: props == null || (_props$bars3 = props.bars) == null ? void 0 : _props$bars3.funnelChart
40965
+ // groupingCount={props}
40966
+ ,
40967
+ keys: getConcatenatedProperties(props, 'keys'),
40968
+ colors: colors,
40969
+ typeIndex: getTypeIndex(props),
40970
+ formatSeriesName: props == null ? void 0 : props.formatSeriesName,
40971
+ formatter: props == null || (_props$bars4 = props.bars) == null ? void 0 : _props$bars4.formatter,
40972
+ data: (_props$bars5 = props.bars) == null ? void 0 : _props$bars5.data,
40973
+ conditionalFormattingPossibilities: props.conditionalFormattingPossibilities,
40974
+ getIndicatorStyles: getTrendLineStyle
40975
+ })]
40976
+ });
40977
+ };
40978
+
40979
+ var BubbleChart$2 = /*#__PURE__*/forwardRef(function (props, ref) {
40980
+ var zValues = props.z ? props.data.map(function (d) {
40981
+ return d[props.z];
40982
+ }) : [];
40983
+ var normaliseArray = function normaliseArray(array, min, max) {
40984
+ var arrayMin = Math.min.apply(Math, array);
40985
+ var arrayMax = Math.max.apply(Math, array);
40986
+ return array.map(function (value) {
40987
+ return (value - arrayMin) / (arrayMax - arrayMin) * (max - min) + min;
40988
+ });
40989
+ };
40990
+ var scaledSizeValues = normaliseArray(zValues, 1, 30);
40991
+ var data = props.data.map(function (d, i) {
40992
+ return _extends({}, d, {
40993
+ bubbleSize: scaledSizeValues[i]
40994
+ });
40995
+ });
40996
+ var forceRerender = useChartForceRerender(ref);
40997
+ if (forceRerender) return null;
40998
+ return jsx(ParentSize, {
40999
+ children: function children(parent) {
41000
+ var _props$height, _props$width;
41001
+ return jsx(VizzlyBubbleChart, {
41002
+ isBubble: true,
41003
+ approxXAxisLabelCount: props.approxXAxisLabelCount,
41004
+ approxYAxisLabelCount: props.approxYAxisLabelCount,
41005
+ uniqueId: props.uniqueId,
41006
+ formatSeriesName: props.formatSeriesName,
41007
+ forceXAxisAsTime: props.forceXAxisAsTime,
41008
+ sparkline: props.sparkline,
41009
+ lines: {
41010
+ annotate: props.annotate || [],
41011
+ data: data,
41012
+ keys: props.keys,
41013
+ colors: props.colors,
41014
+ scatter: true
41015
+ },
41016
+ x: props.x,
41017
+ z: props.z,
41018
+ sharedTooltip: true,
41019
+ legend: props.legend,
41020
+ removeStroke: props == null ? void 0 : props.removeStroke,
41021
+ formatXAxisLabel: props == null ? void 0 : props.formatXAxisLabel,
41022
+ formatYAxisLabel: props == null ? void 0 : props.formatYAxisLabel,
41023
+ horizontal: props == null ? void 0 : props.horizontal,
41024
+ height: (_props$height = props == null ? void 0 : props.height) != null ? _props$height : parent == null ? void 0 : parent.height,
41025
+ width: (_props$width = props == null ? void 0 : props.width) != null ? _props$width : parent == null ? void 0 : parent.width,
41026
+ theme: props == null ? void 0 : props.theme,
41027
+ onClick: function onClick(datum) {
41028
+ return (props == null ? void 0 : props.onClick) && (props == null ? void 0 : props.onClick(datum));
41029
+ },
41030
+ goalLine: props == null ? void 0 : props.goalLine,
41031
+ axisTitles: props == null ? void 0 : props.axisTitles,
41032
+ idPrefix: props == null ? void 0 : props.idPrefix,
41033
+ popOverMenuStyles: props.popOverMenuStyles
41034
+ });
41035
+ }
41036
+ });
41037
+ });
41038
+
40787
41039
  var defaultProps$6 = {
40788
41040
  type: 'bubbleChart',
40789
41041
  xMeasure: null,
@@ -40871,7 +41123,7 @@ var BubbleChartView = function BubbleChartView(props) {
40871
41123
  queriesAreChanging: props.queriesAreChanging,
40872
41124
  children: [jsx(ViewHeader, _extends({}, headerProps)), jsx(ChartWrapper, {
40873
41125
  disabledFeatures: (_props$library2 = props.library) != null ? _props$library2 : false,
40874
- children: jsx(BubbleChart$3, {
41126
+ children: jsx(BubbleChart$2, {
40875
41127
  ref: ref,
40876
41128
  approxXAxisLabelCount: props.approxXAxisLabelCount,
40877
41129
  approxYAxisLabelCount: props.approxYAxisLabelCount,
@@ -40916,7 +41168,7 @@ var BubbleChartView = function BubbleChartView(props) {
40916
41168
  BubbleChartView.defaultProps = defaultProps$6;
40917
41169
  var memoized$4 = /*#__PURE__*/memo(BubbleChartView, shouldUpdate);
40918
41170
 
40919
- var BubbleChart$2 = function BubbleChart(props) {
41171
+ var BubbleChart$3 = function BubbleChart(props) {
40920
41172
  var _props$dashboardBehav;
40921
41173
  var _props$component = props.component,
40922
41174
  results = _props$component.results,
@@ -41367,6 +41619,21 @@ var LegendItemSquare = function LegendItemSquare(_ref2) {
41367
41619
  })
41368
41620
  });
41369
41621
  };
41622
+ var LegendItemTriangle = function LegendItemTriangle(_ref3) {
41623
+ var color = _ref3.color;
41624
+ return jsx("svg", {
41625
+ width: 8,
41626
+ height: 8,
41627
+ style: {
41628
+ display: 'block',
41629
+ borderRadius: 1
41630
+ },
41631
+ children: jsx("polygon", {
41632
+ points: "0,0 10,10 0,10",
41633
+ fill: color
41634
+ })
41635
+ });
41636
+ };
41370
41637
 
41371
41638
  var Tooltip$1 = function Tooltip(_ref) {
41372
41639
  var keys = _ref.keys,
@@ -41502,7 +41769,7 @@ var LegendItem = function LegendItem(_ref) {
41502
41769
  } : {
41503
41770
  name: "mefz6m-LegendItem",
41504
41771
  styles: "height:10px;display:flex;label:LegendItem;",
41505
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStDeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlIH0gZnJvbSAnLi4vTGVnZW5kSXRlbUJveC9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcz4pID0+IHtcbiAgY29uc3QgcmVsZXZhbnRSdWxlcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMuZmlsdGVyKChydWxlKSA9PiBydWxlLnlLZXkgPT09IHlLZXkpLFxuICAgIFtjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc11cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGtleT17YGxlZ2VuZC0ke3lLZXl9YH1cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYWxsOiAndW5zZXQnLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIG91dGxpbmU6ICdyZXZlcnQnLFxuICAgICAgICBnYXA6ICc0cHgnLFxuICAgICAgICBwYWRkaW5nOiAnNHB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgICB9fVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICA+XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2xpbmUnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDEwLCBkaXNwbGF5OiAnZmxleCcgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtQm94IGNvbG9yPXtjb2xvcn0gc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9IHlLZXk9e3lLZXl9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAoKHJ1bGUpID0+IChcbiAgICAgICAgICAgICAgPExlZ2VuZEl0ZW1Cb3hcbiAgICAgICAgICAgICAgICBjb2xvcj17cnVsZS5jb2xvcn1cbiAgICAgICAgICAgICAgICBrZXk9e2BydWxlLSR7SlNPTi5zdHJpbmdpZnkocnVsZSl9YH1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGUgYXMgTGluZVN0eWxlc31cbiAgICAgICAgICAgICAgICB5S2V5PXt5S2V5fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2JhcicgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Nzcyh7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ3JvdycsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDIgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtU3F1YXJlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcCgocnVsZSkgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
41772
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStDeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuXG5pbnRlcmZhY2UgTGVnZW5kSXRlbVByb3BzPFQ+IGV4dGVuZHMgU2hhcGVEZWZpbml0aW9uPFQ+IHtcbiAgb25DbGljazogKCkgPT4gdm9pZDtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgeUtleUZvcm1hdHRlZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59XG5cbmV4cG9ydCBjb25zdCBMZWdlbmRJdGVtID0gKHtcbiAgeUtleSxcbiAgeUtleUZvcm1hdHRlZCxcbiAgY29sb3IsXG4gIHN0eWxlLFxuICBvbkNsaWNrLFxuICB2aXNpYmxlLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbn06IExlZ2VuZEl0ZW1Qcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcz4pID0+IHtcbiAgY29uc3QgcmVsZXZhbnRSdWxlcyA9IHVzZU1lbW8oKCkgPT4gY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMuZmlsdGVyKHJ1bGUgPT4gcnVsZS55S2V5ID09PSB5S2V5KSwgW1xuICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGtleT17YGxlZ2VuZC0ke3lLZXl9YH1cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYWxsOiAndW5zZXQnLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIG91dGxpbmU6ICdyZXZlcnQnLFxuICAgICAgICBnYXA6ICc0cHgnLFxuICAgICAgICBwYWRkaW5nOiAnNHB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgICB9fVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICA+XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2xpbmUnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDEwLCBkaXNwbGF5OiAnZmxleCcgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtQm94IGNvbG9yPXtjb2xvcn0gc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9IHlLZXk9e3lLZXl9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAocnVsZSA9PiAoXG4gICAgICAgICAgICAgIDxMZWdlbmRJdGVtQm94XG4gICAgICAgICAgICAgICAgY29sb3I9e3J1bGUuY29sb3J9XG4gICAgICAgICAgICAgICAga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9XG4gICAgICAgICAgICAgICAgeUtleT17eUtleX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L3NwYW4+XG4gICAgICApfVxuICAgICAge3N0eWxlLnR5cGUgPT09ICdiYXInICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVNxdWFyZSBjb2xvcj17Y29sb3J9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAocnVsZSA9PiA8TGVnZW5kSXRlbVNxdWFyZSBjb2xvcj17cnVsZS5jb2xvcn0ga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9IC8+KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYXJlYScgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Nzcyh7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ3JvdycsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDIgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1UcmlhbmdsZSBjb2xvcj17cnVsZS5jb2xvcn0ga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9IC8+KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIDxzcGFuXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgICAgICBsaW5lSGVpZ2h0OiAnMTZweCcsXG4gICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogdmlzaWJsZSA/ICdub25lJyA6ICdsaW5lLXRocm91Z2gnLFxuICAgICAgICAgIHRleHRXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge3lLZXlGb3JtYXR0ZWQgPyB5S2V5Rm9ybWF0dGVkIDogeUtleX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn07XG4iXX0= */",
41506
41773
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
41507
41774
  }),
41508
41775
  children: [jsx(LegendItemBox, {
@@ -41523,7 +41790,7 @@ var LegendItem = function LegendItem(_ref) {
41523
41790
  } : {
41524
41791
  name: "pglbco-LegendItem",
41525
41792
  styles: "display:flex;flex-direction:row;align-items:center;gap:2px;label:LegendItem;",
41526
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlIH0gZnJvbSAnLi4vTGVnZW5kSXRlbUJveC9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcz4pID0+IHtcbiAgY29uc3QgcmVsZXZhbnRSdWxlcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMuZmlsdGVyKChydWxlKSA9PiBydWxlLnlLZXkgPT09IHlLZXkpLFxuICAgIFtjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc11cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGtleT17YGxlZ2VuZC0ke3lLZXl9YH1cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYWxsOiAndW5zZXQnLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIG91dGxpbmU6ICdyZXZlcnQnLFxuICAgICAgICBnYXA6ICc0cHgnLFxuICAgICAgICBwYWRkaW5nOiAnNHB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgICB9fVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICA+XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2xpbmUnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDEwLCBkaXNwbGF5OiAnZmxleCcgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtQm94IGNvbG9yPXtjb2xvcn0gc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9IHlLZXk9e3lLZXl9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAoKHJ1bGUpID0+IChcbiAgICAgICAgICAgICAgPExlZ2VuZEl0ZW1Cb3hcbiAgICAgICAgICAgICAgICBjb2xvcj17cnVsZS5jb2xvcn1cbiAgICAgICAgICAgICAgICBrZXk9e2BydWxlLSR7SlNPTi5zdHJpbmdpZnkocnVsZSl9YH1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGUgYXMgTGluZVN0eWxlc31cbiAgICAgICAgICAgICAgICB5S2V5PXt5S2V5fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2JhcicgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Nzcyh7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ3JvdycsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDIgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtU3F1YXJlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcCgocnVsZSkgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
41793
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuXG5pbnRlcmZhY2UgTGVnZW5kSXRlbVByb3BzPFQ+IGV4dGVuZHMgU2hhcGVEZWZpbml0aW9uPFQ+IHtcbiAgb25DbGljazogKCkgPT4gdm9pZDtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgeUtleUZvcm1hdHRlZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59XG5cbmV4cG9ydCBjb25zdCBMZWdlbmRJdGVtID0gKHtcbiAgeUtleSxcbiAgeUtleUZvcm1hdHRlZCxcbiAgY29sb3IsXG4gIHN0eWxlLFxuICBvbkNsaWNrLFxuICB2aXNpYmxlLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbn06IExlZ2VuZEl0ZW1Qcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcz4pID0+IHtcbiAgY29uc3QgcmVsZXZhbnRSdWxlcyA9IHVzZU1lbW8oKCkgPT4gY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMuZmlsdGVyKHJ1bGUgPT4gcnVsZS55S2V5ID09PSB5S2V5KSwgW1xuICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGtleT17YGxlZ2VuZC0ke3lLZXl9YH1cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYWxsOiAndW5zZXQnLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIG91dGxpbmU6ICdyZXZlcnQnLFxuICAgICAgICBnYXA6ICc0cHgnLFxuICAgICAgICBwYWRkaW5nOiAnNHB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgICB9fVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICA+XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2xpbmUnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDEwLCBkaXNwbGF5OiAnZmxleCcgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtQm94IGNvbG9yPXtjb2xvcn0gc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9IHlLZXk9e3lLZXl9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAocnVsZSA9PiAoXG4gICAgICAgICAgICAgIDxMZWdlbmRJdGVtQm94XG4gICAgICAgICAgICAgICAgY29sb3I9e3J1bGUuY29sb3J9XG4gICAgICAgICAgICAgICAga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9XG4gICAgICAgICAgICAgICAgeUtleT17eUtleX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L3NwYW4+XG4gICAgICApfVxuICAgICAge3N0eWxlLnR5cGUgPT09ICdiYXInICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVNxdWFyZSBjb2xvcj17Y29sb3J9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAocnVsZSA9PiA8TGVnZW5kSXRlbVNxdWFyZSBjb2xvcj17cnVsZS5jb2xvcn0ga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9IC8+KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYXJlYScgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Nzcyh7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ3JvdycsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDIgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1UcmlhbmdsZSBjb2xvcj17cnVsZS5jb2xvcn0ga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9IC8+KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIDxzcGFuXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgICAgICBsaW5lSGVpZ2h0OiAnMTZweCcsXG4gICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogdmlzaWJsZSA/ICdub25lJyA6ICdsaW5lLXRocm91Z2gnLFxuICAgICAgICAgIHRleHRXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge3lLZXlGb3JtYXR0ZWQgPyB5S2V5Rm9ybWF0dGVkIDogeUtleX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn07XG4iXX0= */",
41527
41794
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
41528
41795
  }),
41529
41796
  children: [jsx(LegendItemSquare, {
@@ -41533,6 +41800,23 @@ var LegendItem = function LegendItem(_ref) {
41533
41800
  color: rule.color
41534
41801
  }, "rule-" + JSON.stringify(rule));
41535
41802
  })]
41803
+ }), style.type === 'area' && jsxs("span", {
41804
+ className: /*#__PURE__*/css$1(process.env.NODE_ENV === "production" ? {
41805
+ name: "6b52m3",
41806
+ styles: "display:flex;flex-direction:row;align-items:center;gap:2px"
41807
+ } : {
41808
+ name: "pglbco-LegendItem",
41809
+ styles: "display:flex;flex-direction:row;align-items:center;gap:2px;label:LegendItem;",
41810
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9FeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuXG5pbnRlcmZhY2UgTGVnZW5kSXRlbVByb3BzPFQ+IGV4dGVuZHMgU2hhcGVEZWZpbml0aW9uPFQ+IHtcbiAgb25DbGljazogKCkgPT4gdm9pZDtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgeUtleUZvcm1hdHRlZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59XG5cbmV4cG9ydCBjb25zdCBMZWdlbmRJdGVtID0gKHtcbiAgeUtleSxcbiAgeUtleUZvcm1hdHRlZCxcbiAgY29sb3IsXG4gIHN0eWxlLFxuICBvbkNsaWNrLFxuICB2aXNpYmxlLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbn06IExlZ2VuZEl0ZW1Qcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcz4pID0+IHtcbiAgY29uc3QgcmVsZXZhbnRSdWxlcyA9IHVzZU1lbW8oKCkgPT4gY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMuZmlsdGVyKHJ1bGUgPT4gcnVsZS55S2V5ID09PSB5S2V5KSwgW1xuICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGtleT17YGxlZ2VuZC0ke3lLZXl9YH1cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYWxsOiAndW5zZXQnLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIG91dGxpbmU6ICdyZXZlcnQnLFxuICAgICAgICBnYXA6ICc0cHgnLFxuICAgICAgICBwYWRkaW5nOiAnNHB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgICB9fVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICA+XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2xpbmUnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDEwLCBkaXNwbGF5OiAnZmxleCcgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtQm94IGNvbG9yPXtjb2xvcn0gc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9IHlLZXk9e3lLZXl9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAocnVsZSA9PiAoXG4gICAgICAgICAgICAgIDxMZWdlbmRJdGVtQm94XG4gICAgICAgICAgICAgICAgY29sb3I9e3J1bGUuY29sb3J9XG4gICAgICAgICAgICAgICAga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9XG4gICAgICAgICAgICAgICAgeUtleT17eUtleX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L3NwYW4+XG4gICAgICApfVxuICAgICAge3N0eWxlLnR5cGUgPT09ICdiYXInICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVNxdWFyZSBjb2xvcj17Y29sb3J9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAocnVsZSA9PiA8TGVnZW5kSXRlbVNxdWFyZSBjb2xvcj17cnVsZS5jb2xvcn0ga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9IC8+KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYXJlYScgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Nzcyh7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ3JvdycsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDIgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1UcmlhbmdsZSBjb2xvcj17cnVsZS5jb2xvcn0ga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9IC8+KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIDxzcGFuXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgICAgICBsaW5lSGVpZ2h0OiAnMTZweCcsXG4gICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogdmlzaWJsZSA/ICdub25lJyA6ICdsaW5lLXRocm91Z2gnLFxuICAgICAgICAgIHRleHRXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge3lLZXlGb3JtYXR0ZWQgPyB5S2V5Rm9ybWF0dGVkIDogeUtleX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn07XG4iXX0= */",
41811
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
41812
+ }),
41813
+ children: [jsx(LegendItemTriangle, {
41814
+ color: color
41815
+ }), relevantRules.length > 0 && relevantRules.map(function (rule) {
41816
+ return jsx(LegendItemTriangle, {
41817
+ color: rule.color
41818
+ }, "rule-" + JSON.stringify(rule));
41819
+ })]
41536
41820
  }), jsx("span", {
41537
41821
  style: {
41538
41822
  fontSize: '12px',
@@ -41561,7 +41845,7 @@ var Legend$1 = function Legend(_ref) {
41561
41845
  } : {
41562
41846
  name: "qz6h7j-Legend",
41563
41847
  styles: "height:40px;padding-top:8px;label:Legend;",
41564
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkJvQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgTGVnZW5kSXRlbSB9IGZyb20gJy4vTGVnZW5kSXRlbSc7XG5pbXBvcnQgeyBTaGFwZURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgU2Nyb2xsYmFyIH0gZnJvbSAnLi4vLi4vLi4vU2Nyb2xsYmFyL1Njcm9sbGJhcic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IExpbmVTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0xpbmVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZFByb3BzPFQ+IHtcbiAgc2V0VmlzaWJsZVlLZXlzOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBcnJheTxzdHJpbmc+Pj47XG4gIHZpc2libGVZS2V5czogQXJyYXk8c3RyaW5nPjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kID0gKHtcbiAga2V5cyxcbiAgdmlzaWJsZVlLZXlzLFxuICBsZWdlbmRJdGVtcyxcbiAgc2V0VmlzaWJsZVlLZXlzLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgbWFyZ2luTGVmdCxcbn06IExlZ2VuZFByb3BzPEJhclN0eWxlcyB8IExpbmVTdHlsZXM+KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Nzcyh7IGhlaWdodDogNDAsIHBhZGRpbmdUb3A6IDggfSl9PlxuICAgICAgPFNjcm9sbGJhclxuICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICBtYXJnaW5MZWZ0OiBtYXJnaW5MZWZ0ID8gYCR7bWFyZ2luTGVmdH1weGAgOiB1bmRlZmluZWQsXG4gICAgICAgIH0pfVxuICAgICAgICB4PXt0cnVlfVxuICAgICAgPlxuICAgICAgICB7bGVnZW5kSXRlbXMubWFwKFxuICAgICAgICAgIChsZWdlbmRJdGVtKSA9PlxuICAgICAgICAgICAga2V5c1tsZWdlbmRJdGVtLnlLZXldICYmIChcbiAgICAgICAgICAgICAgPExlZ2VuZEl0ZW1cbiAgICAgICAgICAgICAgICB7Li4ubGVnZW5kSXRlbX1cbiAgICAgICAgICAgICAgICBrZXk9e2BsZWdlbmQtJHtsZWdlbmRJdGVtLnlLZXl9YH1cbiAgICAgICAgICAgICAgICB5S2V5Rm9ybWF0dGVkPXtrZXlzW2xlZ2VuZEl0ZW0ueUtleV0ua2V5Rm9ybWF0dGVkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgICAgICBzZXRWaXNpYmxlWUtleXMoKHByZXYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1Zpc2libGVMZWdlbmRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2Lmxlbmd0aCA9PT0gbGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gW2xlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gcHJldi5maWx0ZXIoKHByZXZMZWdlbmRJdGVtSWQpID0+IHByZXZMZWdlbmRJdGVtSWQgIT09IGxlZ2VuZEl0ZW0ueUtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFsuLi5wcmV2LCBsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdWaXNpYmxlTGVnZW5kSXRlbXMubGVuZ3RoID09PSAwXG4gICAgICAgICAgICAgICAgICAgICAgPyBsZWdlbmRJdGVtcy5tYXAoKGxlZ2VuZEl0ZW0pID0+IGxlZ2VuZEl0ZW0ueUtleSlcbiAgICAgICAgICAgICAgICAgICAgICA6IG5ld1Zpc2libGVMZWdlbmRJdGVtcztcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZpc2libGU9e3Zpc2libGVZS2V5cy5pbmNsdWRlcyhsZWdlbmRJdGVtLnlLZXkpfVxuICAgICAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIClcbiAgICAgICAgKX1cbiAgICAgIDwvU2Nyb2xsYmFyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ== */",
41848
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEJvQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgTGVnZW5kSXRlbSB9IGZyb20gJy4vTGVnZW5kSXRlbSc7XG5pbXBvcnQgeyBTaGFwZURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgU2Nyb2xsYmFyIH0gZnJvbSAnLi4vLi4vLi4vU2Nyb2xsYmFyL1Njcm9sbGJhcic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IExpbmVTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0xpbmVDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEFyZWFTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0FyZWFDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZFByb3BzPFQ+IHtcbiAgc2V0VmlzaWJsZVlLZXlzOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBcnJheTxzdHJpbmc+Pj47XG4gIHZpc2libGVZS2V5czogQXJyYXk8c3RyaW5nPjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kID0gKHtcbiAga2V5cyxcbiAgdmlzaWJsZVlLZXlzLFxuICBsZWdlbmRJdGVtcyxcbiAgc2V0VmlzaWJsZVlLZXlzLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgbWFyZ2luTGVmdCxcbn06IExlZ2VuZFByb3BzPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzPikgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDQwLCBwYWRkaW5nVG9wOiA4IH0pfT5cbiAgICAgIDxTY3JvbGxiYXJcbiAgICAgICAgY2xhc3NOYW1lPXtjc3Moe1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgbWFyZ2luTGVmdDogbWFyZ2luTGVmdCA/IGAke21hcmdpbkxlZnR9cHhgIDogdW5kZWZpbmVkLFxuICAgICAgICB9KX1cbiAgICAgICAgeD17dHJ1ZX1cbiAgICAgID5cbiAgICAgICAge2xlZ2VuZEl0ZW1zLm1hcChcbiAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICBrZXlzW2xlZ2VuZEl0ZW0ueUtleV0gJiYgKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbVxuICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgIGtleT17YGxlZ2VuZC0ke2xlZ2VuZEl0ZW0ueUtleX1gfVxuICAgICAgICAgICAgICAgIHlLZXlGb3JtYXR0ZWQ9e2tleXNbbGVnZW5kSXRlbS55S2V5XS5rZXlGb3JtYXR0ZWR9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgICAgIHNldFZpc2libGVZS2V5cyhwcmV2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1Zpc2libGVMZWdlbmRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2Lmxlbmd0aCA9PT0gbGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gW2xlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gcHJldi5maWx0ZXIocHJldkxlZ2VuZEl0ZW1JZCA9PiBwcmV2TGVnZW5kSXRlbUlkICE9PSBsZWdlbmRJdGVtLnlLZXkpO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWaXNpYmxlTGVnZW5kSXRlbXMgPSBbLi4ucHJldiwgbGVnZW5kSXRlbS55S2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICAgID8gbGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgICAgICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmlzaWJsZT17dmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSl9XG4gICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM9e2NvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKVxuICAgICAgICApfVxuICAgICAgPC9TY3JvbGxiYXI+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19 */",
41565
41849
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
41566
41850
  }),
41567
41851
  children: jsx(Scrollbar, {
@@ -41571,7 +41855,7 @@ var Legend$1 = function Legend(_ref) {
41571
41855
  flexWrap: 'nowrap',
41572
41856
  alignItems: 'center',
41573
41857
  marginLeft: marginLeft ? marginLeft + "px" : undefined
41574
- }, process.env.NODE_ENV === "production" ? "" : ";label:Legend;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkJtQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgTGVnZW5kSXRlbSB9IGZyb20gJy4vTGVnZW5kSXRlbSc7XG5pbXBvcnQgeyBTaGFwZURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgU2Nyb2xsYmFyIH0gZnJvbSAnLi4vLi4vLi4vU2Nyb2xsYmFyL1Njcm9sbGJhcic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IExpbmVTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0xpbmVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZFByb3BzPFQ+IHtcbiAgc2V0VmlzaWJsZVlLZXlzOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBcnJheTxzdHJpbmc+Pj47XG4gIHZpc2libGVZS2V5czogQXJyYXk8c3RyaW5nPjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kID0gKHtcbiAga2V5cyxcbiAgdmlzaWJsZVlLZXlzLFxuICBsZWdlbmRJdGVtcyxcbiAgc2V0VmlzaWJsZVlLZXlzLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgbWFyZ2luTGVmdCxcbn06IExlZ2VuZFByb3BzPEJhclN0eWxlcyB8IExpbmVTdHlsZXM+KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Nzcyh7IGhlaWdodDogNDAsIHBhZGRpbmdUb3A6IDggfSl9PlxuICAgICAgPFNjcm9sbGJhclxuICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICBtYXJnaW5MZWZ0OiBtYXJnaW5MZWZ0ID8gYCR7bWFyZ2luTGVmdH1weGAgOiB1bmRlZmluZWQsXG4gICAgICAgIH0pfVxuICAgICAgICB4PXt0cnVlfVxuICAgICAgPlxuICAgICAgICB7bGVnZW5kSXRlbXMubWFwKFxuICAgICAgICAgIChsZWdlbmRJdGVtKSA9PlxuICAgICAgICAgICAga2V5c1tsZWdlbmRJdGVtLnlLZXldICYmIChcbiAgICAgICAgICAgICAgPExlZ2VuZEl0ZW1cbiAgICAgICAgICAgICAgICB7Li4ubGVnZW5kSXRlbX1cbiAgICAgICAgICAgICAgICBrZXk9e2BsZWdlbmQtJHtsZWdlbmRJdGVtLnlLZXl9YH1cbiAgICAgICAgICAgICAgICB5S2V5Rm9ybWF0dGVkPXtrZXlzW2xlZ2VuZEl0ZW0ueUtleV0ua2V5Rm9ybWF0dGVkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgICAgICBzZXRWaXNpYmxlWUtleXMoKHByZXYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1Zpc2libGVMZWdlbmRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2Lmxlbmd0aCA9PT0gbGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gW2xlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gcHJldi5maWx0ZXIoKHByZXZMZWdlbmRJdGVtSWQpID0+IHByZXZMZWdlbmRJdGVtSWQgIT09IGxlZ2VuZEl0ZW0ueUtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFsuLi5wcmV2LCBsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdWaXNpYmxlTGVnZW5kSXRlbXMubGVuZ3RoID09PSAwXG4gICAgICAgICAgICAgICAgICAgICAgPyBsZWdlbmRJdGVtcy5tYXAoKGxlZ2VuZEl0ZW0pID0+IGxlZ2VuZEl0ZW0ueUtleSlcbiAgICAgICAgICAgICAgICAgICAgICA6IG5ld1Zpc2libGVMZWdlbmRJdGVtcztcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZpc2libGU9e3Zpc2libGVZS2V5cy5pbmNsdWRlcyhsZWdlbmRJdGVtLnlLZXkpfVxuICAgICAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIClcbiAgICAgICAgKX1cbiAgICAgIDwvU2Nyb2xsYmFyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ== */"),
41858
+ }, process.env.NODE_ENV === "production" ? "" : ";label:Legend;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJtQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgTGVnZW5kSXRlbSB9IGZyb20gJy4vTGVnZW5kSXRlbSc7XG5pbXBvcnQgeyBTaGFwZURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgU2Nyb2xsYmFyIH0gZnJvbSAnLi4vLi4vLi4vU2Nyb2xsYmFyL1Njcm9sbGJhcic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IExpbmVTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0xpbmVDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEFyZWFTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0FyZWFDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZFByb3BzPFQ+IHtcbiAgc2V0VmlzaWJsZVlLZXlzOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBcnJheTxzdHJpbmc+Pj47XG4gIHZpc2libGVZS2V5czogQXJyYXk8c3RyaW5nPjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kID0gKHtcbiAga2V5cyxcbiAgdmlzaWJsZVlLZXlzLFxuICBsZWdlbmRJdGVtcyxcbiAgc2V0VmlzaWJsZVlLZXlzLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgbWFyZ2luTGVmdCxcbn06IExlZ2VuZFByb3BzPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzPikgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDQwLCBwYWRkaW5nVG9wOiA4IH0pfT5cbiAgICAgIDxTY3JvbGxiYXJcbiAgICAgICAgY2xhc3NOYW1lPXtjc3Moe1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgbWFyZ2luTGVmdDogbWFyZ2luTGVmdCA/IGAke21hcmdpbkxlZnR9cHhgIDogdW5kZWZpbmVkLFxuICAgICAgICB9KX1cbiAgICAgICAgeD17dHJ1ZX1cbiAgICAgID5cbiAgICAgICAge2xlZ2VuZEl0ZW1zLm1hcChcbiAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICBrZXlzW2xlZ2VuZEl0ZW0ueUtleV0gJiYgKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbVxuICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgIGtleT17YGxlZ2VuZC0ke2xlZ2VuZEl0ZW0ueUtleX1gfVxuICAgICAgICAgICAgICAgIHlLZXlGb3JtYXR0ZWQ9e2tleXNbbGVnZW5kSXRlbS55S2V5XS5rZXlGb3JtYXR0ZWR9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgICAgIHNldFZpc2libGVZS2V5cyhwcmV2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1Zpc2libGVMZWdlbmRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2Lmxlbmd0aCA9PT0gbGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gW2xlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gcHJldi5maWx0ZXIocHJldkxlZ2VuZEl0ZW1JZCA9PiBwcmV2TGVnZW5kSXRlbUlkICE9PSBsZWdlbmRJdGVtLnlLZXkpO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWaXNpYmxlTGVnZW5kSXRlbXMgPSBbLi4ucHJldiwgbGVnZW5kSXRlbS55S2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICAgID8gbGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgICAgICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmlzaWJsZT17dmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSl9XG4gICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM9e2NvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKVxuICAgICAgICApfVxuICAgICAgPC9TY3JvbGxiYXI+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19 */"),
41575
41859
  x: true,
41576
41860
  children: legendItems.map(function (legendItem) {
41577
41861
  return keys[legendItem.yKey] && createElement$1(LegendItem, _extends({}, legendItem, {
@@ -41715,7 +41999,7 @@ var GoalLine = function GoalLine(_ref) {
41715
41999
  style: {
41716
42000
  position: 'relative'
41717
42001
  },
41718
- children: [jsx(Line, {
42002
+ children: [jsx(Line$1, {
41719
42003
  from: {
41720
42004
  x: margin.left,
41721
42005
  y: margin.top + y
@@ -41801,12 +42085,12 @@ var AxisBottom = function AxisBottom(_ref) {
41801
42085
  var tick = null;
41802
42086
  if (xScaleDataType === 'date_time' && value instanceof Date) {
41803
42087
  var matchingTickValue = x.ticks.find(function (tickValue) {
41804
- return tickValue.scaleValue && new Date(tickValue.scaleValue).valueOf() === value.valueOf();
42088
+ return tickValue.scaleValue && new Date(tickValue == null ? void 0 : tickValue.scaleValue).valueOf() === value.valueOf();
41805
42089
  });
41806
42090
  tick = matchingTickValue || null;
41807
42091
  } else {
41808
42092
  var _matchingTickValue = x.ticks.find(function (tickValue) {
41809
- return tickValue.scaleValue === value;
42093
+ return (tickValue == null ? void 0 : tickValue.scaleValue) === value;
41810
42094
  });
41811
42095
  tick = _matchingTickValue || null;
41812
42096
  }
@@ -41939,6 +42223,68 @@ var ChartWrapper$1 = function ChartWrapper(props) {
41939
42223
  });
41940
42224
  };
41941
42225
 
42226
+ var CrosshairCircle = function CrosshairCircle(_ref) {
42227
+ var dataType = _ref.dataType,
42228
+ yKeys = _ref.yKeys,
42229
+ tooltipData = _ref.tooltipData,
42230
+ xKey = _ref.xKey,
42231
+ margin = _ref.margin,
42232
+ conditionalFormattingRules = _ref.conditionalFormattingRules,
42233
+ legendItems = _ref.legendItems,
42234
+ visibleYKeys = _ref.visibleYKeys,
42235
+ yScale = _ref.yScale,
42236
+ xScale = _ref.xScale;
42237
+ return jsx(Fragment, {
42238
+ children: yKeys.map(function (yKey) {
42239
+ if (!xKey || !tooltipData[yKey] || tooltipData[yKey].value === null) return null;
42240
+ if (tooltipData[xKey] && tooltipData[xKey].value && dataType && visibleYKeys.includes(yKey)) {
42241
+ var xValue = tooltipData[xKey].value;
42242
+ var xValueAdjusted = dataType === 'date_time' ? new Date(xValue) : dataType === 'number' ? Number(xValue) : String(xValue);
42243
+ return jsx("circle", {
42244
+ cx:
42245
+ // @ts-ignore
42246
+ xScale(xValueAdjusted) + margin.left,
42247
+ cy: yScale(yKey) + margin.top,
42248
+ r: 4,
42249
+ fill: getColor({
42250
+ defaultColor: legendItems.filter(function (legendItem) {
42251
+ return legendItem.yKey === yKey;
42252
+ })[0].color,
42253
+ yKey: yKey,
42254
+ value: tooltipData[yKey].value,
42255
+ conditionalFormattingRules: conditionalFormattingRules
42256
+ }),
42257
+ strokeWidth: 2,
42258
+ stroke: "#fff",
42259
+ pointerEvents: "none"
42260
+ }, yKey);
42261
+ } else {
42262
+ return null;
42263
+ }
42264
+ })
42265
+ });
42266
+ };
42267
+
42268
+ var Line = function Line(_ref) {
42269
+ var margin = _ref.margin,
42270
+ x = _ref.x,
42271
+ height = _ref.height;
42272
+ return jsx(Line$1, {
42273
+ from: {
42274
+ x: x,
42275
+ y: margin.top
42276
+ },
42277
+ to: {
42278
+ x: x,
42279
+ y: height + margin.top
42280
+ },
42281
+ stroke: '#aaa',
42282
+ strokeWidth: 2,
42283
+ pointerEvents: "none",
42284
+ opacity: 0.8
42285
+ });
42286
+ };
42287
+
41942
42288
  var LineChart$5 = function LineChart(_ref) {
41943
42289
  var _theme$axis;
41944
42290
  var chart = _ref.chart,
@@ -42002,7 +42348,7 @@ var LineChart$5 = function LineChart(_ref) {
42002
42348
  }
42003
42349
  return null;
42004
42350
  }, [innerWidth, chart.x, chart.data]);
42005
- var yScale = useMemo(function () {
42351
+ var _yScale = useMemo(function () {
42006
42352
  return scaleLinear({
42007
42353
  range: [innerHeight, 0],
42008
42354
  domain: chart.y.scale.ordering === 'asc' ? [chart.y.scale.min, chart.y.scale.max] : [chart.y.scale.max, chart.y.scale.min],
@@ -42047,7 +42393,7 @@ var LineChart$5 = function LineChart(_ref) {
42047
42393
  top: margin.top,
42048
42394
  children: [jsx(GridRows, {
42049
42395
  ticks: yTickValues,
42050
- yScale: yScale,
42396
+ yScale: _yScale,
42051
42397
  width: innerWidth,
42052
42398
  height: innerHeight,
42053
42399
  removeStroke: options.removeStroke,
@@ -42066,7 +42412,7 @@ var LineChart$5 = function LineChart(_ref) {
42066
42412
  y: chart.y,
42067
42413
  margin: margin,
42068
42414
  themeCSS: themeCSS,
42069
- yScale: yScale,
42415
+ yScale: _yScale,
42070
42416
  ticks: yTickValues,
42071
42417
  stroke: theme == null || (_theme$axis = theme.axis) == null ? void 0 : _theme$axis.stroke
42072
42418
  }), jsxs(Group$2, {
@@ -42084,7 +42430,7 @@ var LineChart$5 = function LineChart(_ref) {
42084
42430
  return (_xScale = xScale(xValueAdjusted)) != null ? _xScale : 0;
42085
42431
  },
42086
42432
  y: function y(d) {
42087
- return yScale(d[yKey]);
42433
+ return _yScale(Number(d[yKey]));
42088
42434
  },
42089
42435
  stroke: chart.lines.filter(function (legendItem) {
42090
42436
  return legendItem.yKey === yKey;
@@ -42113,7 +42459,7 @@ var LineChart$5 = function LineChart(_ref) {
42113
42459
  chart: {
42114
42460
  width: innerWidth,
42115
42461
  height: innerHeight,
42116
- yScale: yScale
42462
+ yScale: _yScale
42117
42463
  }
42118
42464
  });
42119
42465
 
@@ -42132,7 +42478,7 @@ var LineChart$5 = function LineChart(_ref) {
42132
42478
  return (_xScale2 = xScale(xValueAdjusted)) != null ? _xScale2 : 0;
42133
42479
  },
42134
42480
  y: function y(d) {
42135
- return yScale(d[yKey]);
42481
+ return _yScale(Number(d[yKey]));
42136
42482
  },
42137
42483
  stroke: conditionalFormattingRule.color,
42138
42484
  strokeWidth: chart.lines.filter(function (legendItem) {
@@ -42159,49 +42505,29 @@ var LineChart$5 = function LineChart(_ref) {
42159
42505
  })]
42160
42506
  }), tooltipData && jsxs("g", {
42161
42507
  children: [jsx(Line, {
42162
- from: {
42163
- x: tooltipLeft,
42164
- y: margin.top
42165
- },
42166
- to: {
42167
- x: tooltipLeft,
42168
- y: innerHeight + margin.top
42169
- },
42170
- stroke: '#aaa',
42171
- strokeWidth: 2,
42172
- pointerEvents: "none",
42173
- opacity: 0.8
42174
- }), chart.y.keys.map(function (yKey) {
42175
- if (!xScaleKey || !tooltipData[yKey] || tooltipData[yKey].value === null) return null;
42176
- if (tooltipData[xScaleKey] && tooltipData[xScaleKey].value && xScaleDataType && visibleYKeys.includes(yKey)) {
42177
- var xValue = tooltipData[xScaleKey].value;
42178
- var xValueAdjusted = xScaleDataType === 'date_time' ? new Date(xValue) : xScaleDataType === 'number' ? Number(xValue) : String(xValue);
42179
- return jsx("circle", {
42180
- cx:
42181
- // @ts-ignore
42182
- xScale(xValueAdjusted) + margin.left,
42183
- cy: yScale(tooltipData[yKey].value !== null ? tooltipData[yKey].value : 0) + margin.top,
42184
- r: 4,
42185
- fill: getColor({
42186
- defaultColor: chart.lines.filter(function (legendItem) {
42187
- return legendItem.yKey === yKey;
42188
- })[0].color,
42189
- yKey: yKey,
42190
- value: tooltipData[yKey].value,
42191
- conditionalFormattingRules: chart.conditionalFormattingRules
42192
- }),
42193
- strokeWidth: 2,
42194
- stroke: "#fff",
42195
- pointerEvents: "none"
42196
- }, yKey);
42197
- } else {
42198
- return null;
42508
+ x: tooltipLeft,
42509
+ margin: margin,
42510
+ height: innerHeight
42511
+ }), jsx(CrosshairCircle, {
42512
+ yKeys: chart.y.keys,
42513
+ xKey: xScaleKey,
42514
+ dataType: xScaleDataType,
42515
+ legendItems: chart.lines,
42516
+ yScale: function yScale(yKey) {
42517
+ return _yScale(tooltipData[yKey].value !== null ? tooltipData[yKey].value : 0);
42199
42518
  }
42519
+ // @ts-ignore
42520
+ ,
42521
+ xScale: xScale,
42522
+ margin: margin,
42523
+ tooltipData: tooltipData,
42524
+ conditionalFormattingRules: chart.conditionalFormattingRules,
42525
+ visibleYKeys: visibleYKeys
42200
42526
  })]
42201
42527
  }), jsx(GoalLines$1, {
42202
42528
  goalLines: chart.goalLines,
42203
42529
  y: function y(d) {
42204
- return yScale(d);
42530
+ return _yScale(d);
42205
42531
  },
42206
42532
  margin: margin,
42207
42533
  width: innerWidth
@@ -42497,18 +42823,9 @@ var BarChart$5 = function BarChart(_ref) {
42497
42823
  })]
42498
42824
  }), tooltipData && jsx("g", {
42499
42825
  children: jsx(Line, {
42500
- from: {
42501
- x: tooltipLeft,
42502
- y: margin.top
42503
- },
42504
- to: {
42505
- x: tooltipLeft,
42506
- y: innerHeight + margin.top
42507
- },
42508
- stroke: '#aaa',
42509
- strokeWidth: 2,
42510
- pointerEvents: "none",
42511
- opacity: 0.8
42826
+ x: tooltipLeft,
42827
+ margin: margin,
42828
+ height: innerHeight
42512
42829
  })
42513
42830
  }), jsx(GoalLines$1, {
42514
42831
  goalLines: chart.goalLines,
@@ -42568,7 +42885,7 @@ var Bar = function Bar(props) {
42568
42885
  } : {
42569
42886
  name: "4nk3o1-Bar",
42570
42887
  styles: "cursor:pointer;label:Bar;",
42571
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhckNoYXJ0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1WXFDIiwiZmlsZSI6IkJhckNoYXJ0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhckNoYXJ0UmVwcmVzZW50YXRpb24gfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQ2hhcnRUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAnQHZpc3gvZ3JvdXAnO1xuaW1wb3J0IHsgZ2V0Q2hhcnRUaGVtZUNTUywgZ2V0VG9vbHRpcERhdGEgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBGcmFnbWVudCwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJy4uL1Rvb2x0aXAnO1xuaW1wb3J0IHsgdXNlVG9vbHRpcCB9IGZyb20gJ0B2aXN4L3Rvb2x0aXAnO1xuaW1wb3J0IHsgTGVnZW5kIH0gZnJvbSAnLi4vTGVnZW5kJztcbmltcG9ydCB7IEJhckdyb3VwLCBCYXJTdGFjaywgTGluZSB9IGZyb20gJ0B2aXN4L3NoYXBlJztcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9GaWVsZC90eXBlcyc7XG5pbXBvcnQgeyBzY2FsZUxpbmVhciwgc2NhbGVCYW5kIH0gZnJvbSAnQHZpc3gvc2NhbGUnO1xuaW1wb3J0IHsgZ2V0QmFyRmlsbCB9IGZyb20gJy4vZ2V0QmFyRmlsbCc7XG5pbXBvcnQgeyBidWlsZE1hcmdpbiB9IGZyb20gJy4uLy4uL3V0aWxzL2J1aWxkTWFyZ2luJztcbmltcG9ydCB7IENoYXJ0T25WaWV3Q2xpY2ssIERhdGFJdGVtLCBUaWNrIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBsaWdodGVuQ29sb3IgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29sb3IuZnVuY3Rpb25zJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJHcm91cEJhciwgQmFyR3JvdXAgYXMgQmFyR3JvdXBUeXBlIH0gZnJvbSAnQHZpc3gvc2hhcGUvbGliL3R5cGVzJztcbmltcG9ydCB7IHVzZUZsYXR0ZW5lZERhdGEgfSBmcm9tICcuLi9ob29rcy91c2VGbGF0dGVuZWREYXRhJztcbmltcG9ydCBHb2FsTGluZXMgZnJvbSAnLi4vR29hbExpbmUvR29hbExpbmVzJztcbmltcG9ydCB7IEF4aXNCb3R0b20gfSBmcm9tICcuLi9BeGlzL0F4aXNCb3R0b20nO1xuaW1wb3J0IHsgQXhpc0xlZnQgfSBmcm9tICcuLi9BeGlzL0F4aXNMZWZ0JztcbmltcG9ydCB7IEdyaWRSb3dzIH0gZnJvbSAnLi4vR3JpZFJvd3MvR3JpZFJvd3MnO1xuaW1wb3J0IHsgQ2hhcnRXcmFwcGVyIH0gZnJvbSAnLi4vQ2hhcnRXcmFwcGVyL0NoYXJ0V3JhcHBlcic7XG5cbi8vIE5lZWQgdG8gbG9vayBhdCB1cGRhdGluZyBCYXJDaGFydCB0byB1c2UgdGhpcyB0eXBlIG1ldGhvZCBvZiByZW5kZXJpbmcgLSBodHRwczovL2NvZGVzYW5kYm94LmlvL3Avc2FuZGJveC92aXN4LWJhci1jaGFydC1qOXNtcGo/ZmlsZT0lMkZFeGFtcGxlLnRzeFxuLy8gQ3VycmVudGx5IGl0J3MgdXNpbmcgU3RhY2tlZCBDaGFydCB3aGljaCBpc24ndCB0ZWNobmljYWxseSBjb3JyZWN0XG5cbmV4cG9ydCB0eXBlIEJhckNoYXJ0UHJvcHMgPSB7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICB0aGVtZT86IENoYXJ0VGhlbWU7XG4gIGNoYXJ0OiBCYXJDaGFydFJlcHJlc2VudGF0aW9uO1xuICBvcHRpb25zOiB7XG4gICAgc3RhY2tlZDogYm9vbGVhbjtcbiAgICBzaG93Um91bmRlZFRvdGFsOiBib29sZWFuO1xuICAgIHNob3dMZWdlbmQ6IGJvb2xlYW47XG4gICAgcmVtb3ZlU3Ryb2tlOiBib29sZWFuO1xuICAgIGF4aXM6IHtcbiAgICAgIHNob3dYQXhpc0xhYmVsczogYm9vbGVhbjtcbiAgICAgIHNob3dZQXhpc0xhYmVsczogYm9vbGVhbjtcbiAgICB9O1xuICB9O1xuICBvbkNsaWNrOiAocGFyYW1zOiBDaGFydE9uVmlld0NsaWNrKSA9PiB2b2lkO1xuICBlbmFibGVIb3Zlcj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBCQVJfUkFESVVTID0gMjtcblxuY29uc3QgUEFERElORyA9IHtcbiAgcGFkZGluZ091dGVyOiAwLjA1LFxuICBwYWRkaW5nSW5uZXI6IDAuMyxcbn07XG5cbmV4cG9ydCBjb25zdCBCYXJDaGFydCA9ICh7IGNoYXJ0LCB3aWR0aCwgaGVpZ2h0LCBvcHRpb25zLCB0aGVtZSwgb25DbGljaywgZW5hYmxlSG92ZXIgfTogQmFyQ2hhcnRQcm9wcykgPT4ge1xuICBjb25zdCB7IHRvb2x0aXBPcGVuLCB0b29sdGlwTGVmdCA9IDAsIHRvb2x0aXBUb3AgPSAwLCB0b29sdGlwRGF0YSwgaGlkZVRvb2x0aXAsIHNob3dUb29sdGlwIH0gPSB1c2VUb29sdGlwPHtcbiAgICBba2V5SWQ6IHN0cmluZ106IERhdGFJdGVtO1xuICB9IHwgbnVsbD4oKTtcblxuICBjb25zdCBtYXJnaW4gPSBidWlsZE1hcmdpbihjaGFydC55LnRpY2tzLCBvcHRpb25zLmF4aXMuc2hvd1lBeGlzTGFiZWxzLCBjaGFydC55LnRpdGxlICE9IG51bGwsIGNoYXJ0LngudGl0bGUgIT0gbnVsbCk7XG5cbiAgLy8gY29uc3QgW3Zpc2libGVZS2V5cywgc2V0VmlzaWJsZVlLZXlzXSA9IHVzZVN0YXRlKGNoYXJ0LmJhcnMubWFwKChsZWdlbmRJdGVtKSA9PiBsZWdlbmRJdGVtLnlLZXkpKTtcblxuICBjb25zdCBpbm5lcldpZHRoID0gd2lkdGggLSBtYXJnaW4ubGVmdCAtIG1hcmdpbi5yaWdodDtcbiAgY29uc3QgaW5uZXJIZWlnaHQgPSBoZWlnaHQgLSBtYXJnaW4udG9wIC0gbWFyZ2luLmJvdHRvbSAtIChvcHRpb25zLnNob3dMZWdlbmQgPyA0MCA6IDApO1xuICBjb25zdCB4S2V5ID0gY2hhcnQueC5rZXk7XG4gIGNvbnN0IHhTY2FsZUtleSA9IGNoYXJ0Lnguc2NhbGUua2V5O1xuICBjb25zdCB5U2NhbGVLZXlzID0gY2hhcnQueS5rZXlzO1xuICBjb25zdCB4U2NhbGVEYXRhVHlwZTogRGF0YVR5cGUgPSBjaGFydC54LnNjYWxlLmRhdGFUeXBlO1xuXG4gIGNvbnN0IHhTY2FsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBzY2FsZUJhbmQ8c3RyaW5nPih7XG4gICAgICAgIHJhbmdlOiBbMCwgaW5uZXJXaWR0aF0sXG4gICAgICAgIGRvbWFpbjogeFNjYWxlS2V5XG4gICAgICAgICAgPyBbLi4uY2hhcnQuZGF0YS5tYXAoZCA9PiAoZFt4U2NhbGVLZXldICYmIGRbeFNjYWxlS2V5XS52YWx1ZSAhPT0gbnVsbCA/IFN0cmluZyhkW3hTY2FsZUtleV0udmFsdWUpIDogJycpKV1cbiAgICAgICAgICA6IFtdLFxuICAgICAgICAuLi5QQURESU5HLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnZGF0ZV90aW1lJyAmJiB4U2NhbGVLZXkpIHtcbiAgICAgIHJldHVybiBzY2FsZUJhbmQ8RGF0ZT4oe1xuICAgICAgICByYW5nZTogWzAsIGlubmVyV2lkdGhdLFxuICAgICAgICBkb21haW46IGNoYXJ0LmRhdGEubWFwKGQgPT4gbmV3IERhdGUoZFt4U2NhbGVLZXldLnZhbHVlIGFzIHN0cmluZykpLFxuICAgICAgICAuLi5QQURESU5HLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnbnVtYmVyJyAmJiB4U2NhbGVLZXkpIHtcbiAgICAgIHJldHVybiBzY2FsZUJhbmQ8bnVtYmVyPih7XG4gICAgICAgIHJhbmdlOiBbMCwgaW5uZXJXaWR0aF0sXG4gICAgICAgIGRvbWFpbjogY2hhcnQuZGF0YS5tYXAoZCA9PiAoZFt4U2NhbGVLZXldICYmIGRbeFNjYWxlS2V5XS52YWx1ZSAhPT0gbnVsbCA/IE51bWJlcihkW3hTY2FsZUtleV0udmFsdWUpIDogMCkpLFxuICAgICAgICAuLi5QQURESU5HLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH0sIFtpbm5lcldpZHRoLCBjaGFydC54LCBjaGFydC5kYXRhXSk7XG5cbiAgY29uc3QgeVNjYWxlID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgc2NhbGVMaW5lYXI8bnVtYmVyPih7XG4gICAgICAgIHJhbmdlOiBbaW5uZXJIZWlnaHQsIDBdLFxuICAgICAgICBkb21haW46XG4gICAgICAgICAgY2hhcnQueS5zY2FsZS5vcmRlcmluZyA9PT0gJ2FzYydcbiAgICAgICAgICAgID8gW2NoYXJ0Lnkuc2NhbGUubWluIGFzIG51bWJlciwgY2hhcnQueS5zY2FsZS5tYXggYXMgbnVtYmVyXVxuICAgICAgICAgICAgOiBbY2hhcnQueS5zY2FsZS5tYXggYXMgbnVtYmVyLCBjaGFydC55LnNjYWxlLm1pbiBhcyBudW1iZXJdLFxuICAgICAgICBuaWNlOiB0cnVlLFxuICAgICAgICByb3VuZDogdHJ1ZSxcbiAgICAgIH0pLFxuICAgIFtpbm5lckhlaWdodCwgY2hhcnQueV1cbiAgKTtcblxuICBjb25zdCBpbm5lclhTY2FsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghb3B0aW9ucy5zdGFja2VkICYmIHhTY2FsZSAmJiAnYmFuZHdpZHRoJyBpbiB4U2NhbGUpIHtcbiAgICAgIHJldHVybiBzY2FsZUJhbmQ8c3RyaW5nPih7XG4gICAgICAgIHJhbmdlOiBbMCwgeFNjYWxlPy5iYW5kd2lkdGgoKV0sXG4gICAgICAgIGRvbWFpbjogeVNjYWxlS2V5cyxcbiAgICAgICAgcGFkZGluZzogMC4xLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfSwgW3hTY2FsZSwgeVNjYWxlS2V5cywgb3B0aW9ucy5zdGFja2VkLCB4U2NhbGVEYXRhVHlwZV0pO1xuXG4gIGNvbnN0IGRhdGFGbGF0dGVuZWQgPSB1c2VGbGF0dGVuZWREYXRhPEJhckNoYXJ0UmVwcmVzZW50YXRpb24+KHhTY2FsZUtleSwgeFNjYWxlRGF0YVR5cGUsIGNoYXJ0KTtcblxuICBjb25zdCBoYW5kbGVNb3VzZU1vdmUgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8U1ZHRWxlbWVudD4pID0+IHtcbiAgICAgIGlmICgheEtleSB8fCAheFNjYWxlS2V5IHx8IHhTY2FsZSA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCB0b29sdGlwRGF0YSA9IGdldFRvb2x0aXBEYXRhKHtcbiAgICAgICAgZGF0YTogY2hhcnQuZGF0YSxcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIG1hcmdpbixcbiAgICAgICAgeFNjYWxlS2V5LFxuICAgICAgICB4U2NhbGVEYXRhVHlwZSxcbiAgICAgICAgeE9yZGVyaW5nOiBjaGFydC54LnNjYWxlLm9yZGVyaW5nLFxuICAgICAgICB4U2NhbGUsXG4gICAgICAgIGNoYXJ0VHlwZTogJ2JhcicsXG4gICAgICB9KTtcblxuICAgICAgc2hvd1Rvb2x0aXAoe1xuICAgICAgICB0b29sdGlwTGVmdDogdG9vbHRpcERhdGE/LnRvb2x0aXBMZWZ0LFxuICAgICAgICB0b29sdGlwVG9wOiB0b29sdGlwRGF0YT8udG9vbHRpcFRvcCxcbiAgICAgICAgdG9vbHRpcERhdGE6IHRvb2x0aXBEYXRhPy50b29sdGlwRGF0YSxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW3Nob3dUb29sdGlwLCB4U2NhbGUsIG1hcmdpbiwgeEtleSwgeFNjYWxlS2V5LCB4U2NhbGVEYXRhVHlwZSwgY2hhcnQueC5zY2FsZS5vcmRlcmluZywgY2hhcnQuZGF0YV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVNb3VzZUxlYXZlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGhpZGVUb29sdGlwKCk7XG4gIH0sIFtoaWRlVG9vbHRpcF0pO1xuXG4gIGNvbnN0IGhhbmRsZU9uQmFyQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8U1ZHUmVjdEVsZW1lbnQsIE1vdXNlRXZlbnQ+LCBiYXJHcm91cDogQmFyR3JvdXBUeXBlPHN0cmluZz4sIGJhcjogQmFyR3JvdXBCYXI8c3RyaW5nPikgPT4ge1xuICAgICAgb25DbGljayh7XG4gICAgICAgIGNsaWNrZWRWYWx1ZToge1xuICAgICAgICAgIGluZGV4OiBiYXJHcm91cC5pbmRleCxcbiAgICAgICAgICB5OiB7XG4gICAgICAgICAgICBrZXk6IGJhci5rZXksXG4gICAgICAgICAgICB2YWx1ZTogYmFyLnZhbHVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgeDoge1xuICAgICAgICAgICAgLi4uY2hhcnQueC50aWNrc1tiYXJHcm91cC5pbmRleF0sXG4gICAgICAgICAgICB2YWx1ZTogY2hhcnQuZGF0YVtiYXJHcm91cC5pbmRleF1beEtleV0udmFsdWUgPz8gJycsXG4gICAgICAgICAgICBrZXk6IHhLZXksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xpY2tFdmVudDogZXZlbnQsXG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtvbkNsaWNrLCBjaGFydC5kYXRhLCB4S2V5XVxuICApO1xuXG4gIGNvbnN0IHRoZW1lQ1NTID0gdXNlTWVtbygoKSA9PiBnZXRDaGFydFRoZW1lQ1NTKHRoZW1lKSwgW3RoZW1lXSk7XG5cbiAgY29uc3QgeVRpY2tWYWx1ZXMgPSBjaGFydC55LnRpY2tzLm1hcCh0aWNrID0+IE51bWJlcih0aWNrLnZhbHVlKSk7XG5cbiAgcmV0dXJuIChcbiAgICA8RnJhZ21lbnQ+XG4gICAgICB7Lyogd2lkdGgvaGVpZ2h0IDEwMCUgcmVxdWlyZWQgb3IgdXNlUGFyZW50U2l6ZSgpIGNvbnRpbnVvdXNseSBzY2FsZXMgYXMgcGFyZW50IGVsZW1lbnQgaGFzIG5vIHNwZWNpZmllZCBoZWlnaHQgKi99XG4gICAgICA8Q2hhcnRXcmFwcGVyXG4gICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgIG9uTW91c2VNb3ZlPXtoYW5kbGVNb3VzZU1vdmV9XG4gICAgICAgIG9uTW91c2VMZWF2ZT17aGFuZGxlTW91c2VMZWF2ZX1cbiAgICAgICAgc2hvd0xlZ2VuZD17b3B0aW9ucy5zaG93TGVnZW5kfVxuICAgICAgPlxuICAgICAgICA8R3JvdXAgbGVmdD17bWFyZ2luLmxlZnR9IHRvcD17bWFyZ2luLnRvcH0+XG4gICAgICAgICAgPEdyaWRSb3dzXG4gICAgICAgICAgICB0aWNrcz17eVRpY2tWYWx1ZXN9XG4gICAgICAgICAgICB5U2NhbGU9e3lTY2FsZX1cbiAgICAgICAgICAgIHdpZHRoPXtpbm5lcldpZHRofVxuICAgICAgICAgICAgaGVpZ2h0PXtpbm5lckhlaWdodH1cbiAgICAgICAgICAgIHJlbW92ZVN0cm9rZT17b3B0aW9ucy5yZW1vdmVTdHJva2V9XG4gICAgICAgICAgICB0aGVtZUNTUz17dGhlbWVDU1N9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QXhpc0JvdHRvbVxuICAgICAgICAgICAgeD17Y2hhcnQueH1cbiAgICAgICAgICAgIG1hcmdpbj17bWFyZ2lufVxuICAgICAgICAgICAgdGhlbWVDU1M9e3RoZW1lQ1NTfVxuICAgICAgICAgICAgc2hvdz17b3B0aW9ucy5heGlzLnNob3dYQXhpc0xhYmVsc31cbiAgICAgICAgICAgIHJlbW92ZVN0cm9rZT17b3B0aW9ucy5yZW1vdmVTdHJva2V9XG4gICAgICAgICAgICB4U2NhbGVEYXRhVHlwZT17eFNjYWxlRGF0YVR5cGV9XG4gICAgICAgICAgICB4U2NhbGU9e3hTY2FsZX1cbiAgICAgICAgICAgIGhlaWdodD17aW5uZXJIZWlnaHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QXhpc0xlZnRcbiAgICAgICAgICAgIHNob3c9e29wdGlvbnMuYXhpcy5zaG93WUF4aXNMYWJlbHN9XG4gICAgICAgICAgICB5PXtjaGFydC55fVxuICAgICAgICAgICAgbWFyZ2luPXttYXJnaW59XG4gICAgICAgICAgICB0aGVtZUNTUz17dGhlbWVDU1N9XG4gICAgICAgICAgICB5U2NhbGU9e3lTY2FsZX1cbiAgICAgICAgICAgIHRpY2tzPXt5VGlja1ZhbHVlc31cbiAgICAgICAgICAgIHN0cm9rZT17dGhlbWU/LmF4aXM/LnN0cm9rZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxHcm91cD5cbiAgICAgICAgICAgIHshb3B0aW9ucy5zdGFja2VkICYmIChcbiAgICAgICAgICAgICAgPEJhckdyb3VwXG4gICAgICAgICAgICAgICAgZGF0YT17ZGF0YUZsYXR0ZW5lZH1cbiAgICAgICAgICAgICAgICBrZXlzPXt5U2NhbGVLZXlzfVxuICAgICAgICAgICAgICAgIGhlaWdodD17aW5uZXJIZWlnaHR9XG4gICAgICAgICAgICAgICAgeDA9e2QgPT4ge1xuICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgY29uc3QgeFZhbHVlID0gZFt4U2NhbGVLZXldO1xuXG4gICAgICAgICAgICAgICAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdzdHJpbmcnKSByZXR1cm4geFZhbHVlO1xuXG4gICAgICAgICAgICAgICAgICBjb25zdCB4VmFsdWVBZGp1c3RlZCA9XG4gICAgICAgICAgICAgICAgICAgIHhTY2FsZURhdGFUeXBlID09PSAnZGF0ZV90aW1lJ1xuICAgICAgICAgICAgICAgICAgICAgID8gbmV3IERhdGUoeFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgIDogeFNjYWxlRGF0YVR5cGUgPT09ICdudW1iZXInXG4gICAgICAgICAgICAgICAgICAgICAgPyBOdW1iZXIoeFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgIDogU3RyaW5nKHhWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICByZXR1cm4geFZhbHVlQWRqdXN0ZWQ7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgeDBTY2FsZT17eFNjYWxlfVxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICB4MVNjYWxlPXtpbm5lclhTY2FsZX1cbiAgICAgICAgICAgICAgICB5U2NhbGU9e3lTY2FsZX1cbiAgICAgICAgICAgICAgICBjb2xvcj17KCkgPT4gJyd9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7YmFyR3JvdXBzID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBiYXJHcm91cHMubWFwKGJhckdyb3VwID0+IChcbiAgICAgICAgICAgICAgICAgICAgPEdyb3VwIGtleT17YGJhci1ncm91cC0ke2Jhckdyb3VwLmluZGV4fS0ke2Jhckdyb3VwLngwfWB9IGxlZnQ9e2Jhckdyb3VwLngwfT5cbiAgICAgICAgICAgICAgICAgICAgICB7YmFyR3JvdXAuYmFycy5tYXAoYmFyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiYXIudmFsdWUgPT09IG51bGwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJhci5oZWlnaHQgPCAwIHx8IGJhci53aWR0aCA8IDApIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YGJhci1ncm91cC1iYXItJHtiYXJHcm91cC5pbmRleH0tJHtiYXIuaW5kZXh9LSR7YmFyLnZhbHVlfS0ke2Jhci5rZXl9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4PXtiYXIueH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5PXtiYXIueX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17YmFyLndpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17YmFyLmhlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPXtnZXRCYXJGaWxsKGNoYXJ0LmJhcnMsIGNoYXJ0LmNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLCBiYXIua2V5LCBiYXIudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4gaGFuZGxlT25CYXJDbGljayhlLCBiYXJHcm91cCwgYmFyKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVIb3Zlcj17ZW5hYmxlSG92ZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8L0dyb3VwPlxuICAgICAgICAgICAgICAgICAgKSk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPC9CYXJHcm91cD5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIHsvKiBIb3cgdG8gd2UgZ2V0ICdzY2FsZVZhbHVlJyBoZXJlPyBXaWxsIHdlIG5lZWQgdG8gc3RhcnQgc3RvcmluZyBzY2FsZUtleSBhcyB3ZWxsIGFzIHhLZXk/ICovfVxuICAgICAgICAgICAge29wdGlvbnMuc3RhY2tlZCAmJiAoXG4gICAgICAgICAgICAgIDxCYXJTdGFja1xuICAgICAgICAgICAgICAgIHg9e2QgPT4ge1xuICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgY29uc3QgeFZhbHVlID0gZFt4U2NhbGVLZXldO1xuICAgICAgICAgICAgICAgICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnc3RyaW5nJykgcmV0dXJuIHhWYWx1ZTtcblxuICAgICAgICAgICAgICAgICAgY29uc3QgeFZhbHVlQWRqdXN0ZWQgPVxuICAgICAgICAgICAgICAgICAgICB4U2NhbGVEYXRhVHlwZSA9PT0gJ2RhdGVfdGltZSdcbiAgICAgICAgICAgICAgICAgICAgICA/IG5ldyBEYXRlKHhWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICA6IHhTY2FsZURhdGFUeXBlID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgICAgICAgICAgID8gTnVtYmVyKHhWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICA6IFN0cmluZyh4VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHhWYWx1ZUFkanVzdGVkO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHhTY2FsZT17eFNjYWxlfVxuICAgICAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgICAgIGRhdGE9e2RhdGFGbGF0dGVuZWR9XG4gICAgICAgICAgICAgICAga2V5cz17Y2hhcnQueS5rZXlzfVxuICAgICAgICAgICAgICAgIGNvbG9yPXsoKSA9PiAnJ31cbiAgICAgICAgICAgICAgICBoZWlnaHQ9e2lubmVySGVpZ2h0fVxuICAgICAgICAgICAgICAgIHdpZHRoPXtpbm5lcldpZHRofVxuICAgICAgICAgICAgICAgIG9mZnNldD1cIm5vbmVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2JhclN0YWNrcyA9PlxuICAgICAgICAgICAgICAgICAgYmFyU3RhY2tzLm1hcChiYXJTdGFjayA9PlxuICAgICAgICAgICAgICAgICAgICBiYXJTdGFjay5iYXJzLm1hcChiYXIgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChiYXIuaGVpZ2h0IDwgMykgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgQkFSX1BBRERJTkcgPSAxLjU7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YGJhci1zdGFjay0ke2JhclN0YWNrLmluZGV4fS0ke2Jhci5pbmRleH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB4PXtiYXIueH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgeT17YmFyLnl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXtiYXIud2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17YmFyLmhlaWdodCAtIEJBUl9QQURESU5HfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPXtnZXRCYXJGaWxsKGNoYXJ0LmJhcnMsIGNoYXJ0LmNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLCBiYXIua2V5LCBiYXIuYmFyLmRhdGEpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICByeD17QkFSX1JBRElVU31cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvQmFyU3RhY2s+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvR3JvdXA+XG4gICAgICAgIDwvR3JvdXA+XG4gICAgICAgIHsvKiAtLS0tLSBUT09MVElQIENST1NTSEFJUiAtLS0tLSAqL31cbiAgICAgICAge3Rvb2x0aXBEYXRhICYmIChcbiAgICAgICAgICA8Zz5cbiAgICAgICAgICAgIDxMaW5lXG4gICAgICAgICAgICAgIGZyb209e3sgeDogdG9vbHRpcExlZnQsIHk6IG1hcmdpbi50b3AgfX1cbiAgICAgICAgICAgICAgdG89e3sgeDogdG9vbHRpcExlZnQsIHk6IGlubmVySGVpZ2h0ICsgbWFyZ2luLnRvcCB9fVxuICAgICAgICAgICAgICBzdHJva2U9eycjYWFhJ31cbiAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9ezJ9XG4gICAgICAgICAgICAgIHBvaW50ZXJFdmVudHM9XCJub25lXCJcbiAgICAgICAgICAgICAgb3BhY2l0eT17MC44fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICl9XG4gICAgICAgIHsvKiAtLS0tLSBHT0FMIExJTkVTIC0tLS0tLSAqL31cbiAgICAgICAgPEdvYWxMaW5lcyBnb2FsTGluZXM9e2NoYXJ0LmdvYWxMaW5lc30geT17ZCA9PiB5U2NhbGUoZCl9IG1hcmdpbj17bWFyZ2lufSB3aWR0aD17aW5uZXJXaWR0aH0gLz5cbiAgICAgIDwvQ2hhcnRXcmFwcGVyPlxuICAgICAgey8qIC0tLS0tIExFR0VORCAtLS0tLSAqL31cbiAgICAgIHtvcHRpb25zLnNob3dMZWdlbmQgJiYgKFxuICAgICAgICA8TGVnZW5kXG4gICAgICAgICAgbGVnZW5kSXRlbXM9e2NoYXJ0LmJhcnN9XG4gICAgICAgICAgdmlzaWJsZVlLZXlzPXtjaGFydC5iYXJzLm1hcChsZWdlbmRJdGVtID0+IGxlZ2VuZEl0ZW0ueUtleSl9XG4gICAgICAgICAgc2V0VmlzaWJsZVlLZXlzPXsoKSA9PiB7fX1cbiAgICAgICAgICBrZXlzPXtjaGFydC5rZXlzfVxuICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtjaGFydC5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICBtYXJnaW5MZWZ0PXttYXJnaW4ubGVmdCAtIG1hcmdpbi5sZWZ0VGl0bGVPZmZzZXR9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAgey8qIC0tLS0tIFRPT0xUSVAgLS0tLS0gKi99XG4gICAgICB7dG9vbHRpcE9wZW4gJiYgdG9vbHRpcERhdGEgJiYgeEtleSAmJiAoXG4gICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgdG9vbHRpcERhdGE9e3Rvb2x0aXBEYXRhfVxuICAgICAgICAgIHRvb2x0aXBMZWZ0PXt0b29sdGlwTGVmdH1cbiAgICAgICAgICB0b29sdGlwVG9wPXt0b29sdGlwVG9wfVxuICAgICAgICAgIHhLZXk9e3hLZXl9XG4gICAgICAgICAga2V5cz17Y2hhcnQua2V5c31cbiAgICAgICAgICB2aXNpYmxlWUtleXM9e2NoYXJ0LmJhcnMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KX1cbiAgICAgICAgICB5S2V5cz17Y2hhcnQueS5rZXlzfVxuICAgICAgICAgIGxlZ2VuZEl0ZW1zPXtjaGFydC5iYXJzfVxuICAgICAgICAgIHNob3dSb3VuZGVkVG90YWw9e29wdGlvbnMuc2hvd1JvdW5kZWRUb3RhbH1cbiAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcz17Y2hhcnQuY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXN9XG4gICAgICAgICAgdGhlbWU9e3RoZW1lQ1NTLnBvcG92ZXJNZW51c31cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9GcmFnbWVudD5cbiAgKTtcbn07XG5cbmNvbnN0IEJhciA9IChwcm9wczoge1xuICBvbkNsaWNrOiAoZTogUmVhY3QuTW91c2VFdmVudDxTVkdSZWN0RWxlbWVudCwgTW91c2VFdmVudD4pID0+IHZvaWQ7XG4gIGZpbGw/OiBzdHJpbmc7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAga2V5OiBzdHJpbmc7XG4gIGVuYWJsZUhvdmVyPzogYm9vbGVhbjtcbn0pID0+IHtcbiAgY29uc3QgW2ZpbGxDb2xvciwgc2V0RmlsbENvbG9yXSA9IHVzZVN0YXRlKHByb3BzLmZpbGwpO1xuICByZXR1cm4gKFxuICAgIDxyZWN0XG4gICAgICBrZXk9e3Byb3BzLmtleX1cbiAgICAgIHg9e3Byb3BzLnh9XG4gICAgICB5PXtwcm9wcy55fVxuICAgICAgd2lkdGg9e3Byb3BzLndpZHRofVxuICAgICAgaGVpZ2h0PXtwcm9wcy5oZWlnaHR9XG4gICAgICBmaWxsPXtmaWxsQ29sb3J9XG4gICAgICByeD17QkFSX1JBRElVU31cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHByb3BzLmVuYWJsZUhvdmVyICYmIHNldEZpbGxDb2xvcihsaWdodGVuQ29sb3IocHJvcHMuZmlsbCwgMC44KSl9XG4gICAgICBvbk1vdXNlTGVhdmU9eygpID0+IHByb3BzLmVuYWJsZUhvdmVyICYmIHNldEZpbGxDb2xvcihwcm9wcy5maWxsKX1cbiAgICAgIGNsYXNzTmFtZT17cHJvcHMuZW5hYmxlSG92ZXIgPyBjc3MoeyBjdXJzb3I6ICdwb2ludGVyJyB9KSA6ICcnfVxuICAgIC8+XG4gICk7XG59O1xuIl19 */",
42888
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhckNoYXJ0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpWXFDIiwiZmlsZSI6IkJhckNoYXJ0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhckNoYXJ0UmVwcmVzZW50YXRpb24gfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQ2hhcnRUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAnQHZpc3gvZ3JvdXAnO1xuaW1wb3J0IHsgZ2V0Q2hhcnRUaGVtZUNTUywgZ2V0VG9vbHRpcERhdGEgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBGcmFnbWVudCwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJy4uL1Rvb2x0aXAnO1xuaW1wb3J0IHsgdXNlVG9vbHRpcCB9IGZyb20gJ0B2aXN4L3Rvb2x0aXAnO1xuaW1wb3J0IHsgTGVnZW5kIH0gZnJvbSAnLi4vTGVnZW5kJztcbmltcG9ydCB7IEJhckdyb3VwLCBCYXJTdGFjayB9IGZyb20gJ0B2aXN4L3NoYXBlJztcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9GaWVsZC90eXBlcyc7XG5pbXBvcnQgeyBzY2FsZUxpbmVhciwgc2NhbGVCYW5kIH0gZnJvbSAnQHZpc3gvc2NhbGUnO1xuaW1wb3J0IHsgZ2V0QmFyRmlsbCB9IGZyb20gJy4vZ2V0QmFyRmlsbCc7XG5pbXBvcnQgeyBidWlsZE1hcmdpbiB9IGZyb20gJy4uLy4uL3V0aWxzL2J1aWxkTWFyZ2luJztcbmltcG9ydCB7IENoYXJ0T25WaWV3Q2xpY2ssIENoYXJ0RGF0YURlZmluaXRpb24sIERhdGFJdGVtIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBsaWdodGVuQ29sb3IgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29sb3IuZnVuY3Rpb25zJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJHcm91cEJhciwgQmFyR3JvdXAgYXMgQmFyR3JvdXBUeXBlIH0gZnJvbSAnQHZpc3gvc2hhcGUvbGliL3R5cGVzJztcbmltcG9ydCB7IHVzZUZsYXR0ZW5lZERhdGEgfSBmcm9tICcuLi9ob29rcy91c2VGbGF0dGVuZWREYXRhJztcbmltcG9ydCBHb2FsTGluZXMgZnJvbSAnLi4vR29hbExpbmUvR29hbExpbmVzJztcbmltcG9ydCB7IEF4aXNCb3R0b20gfSBmcm9tICcuLi9BeGlzL0F4aXNCb3R0b20nO1xuaW1wb3J0IHsgQXhpc0xlZnQgfSBmcm9tICcuLi9BeGlzL0F4aXNMZWZ0JztcbmltcG9ydCB7IEdyaWRSb3dzIH0gZnJvbSAnLi4vR3JpZFJvd3MvR3JpZFJvd3MnO1xuaW1wb3J0IHsgQ2hhcnRXcmFwcGVyIH0gZnJvbSAnLi4vQ2hhcnRXcmFwcGVyL0NoYXJ0V3JhcHBlcic7XG5pbXBvcnQgeyBMaW5lIH0gZnJvbSAnLi4vVG9vbHRpcC9MaW5lJztcblxuLy8gTmVlZCB0byBsb29rIGF0IHVwZGF0aW5nIEJhckNoYXJ0IHRvIHVzZSB0aGlzIHR5cGUgbWV0aG9kIG9mIHJlbmRlcmluZyAtIGh0dHBzOi8vY29kZXNhbmRib3guaW8vcC9zYW5kYm94L3Zpc3gtYmFyLWNoYXJ0LWo5c21waj9maWxlPSUyRkV4YW1wbGUudHN4XG4vLyBDdXJyZW50bHkgaXQncyB1c2luZyBTdGFja2VkIENoYXJ0IHdoaWNoIGlzbid0IHRlY2huaWNhbGx5IGNvcnJlY3RcblxuZXhwb3J0IHR5cGUgQmFyQ2hhcnRQcm9wcyA9IHtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHRoZW1lPzogQ2hhcnRUaGVtZTtcbiAgY2hhcnQ6IEJhckNoYXJ0UmVwcmVzZW50YXRpb247XG4gIG9wdGlvbnM6IHtcbiAgICBzdGFja2VkOiBib29sZWFuO1xuICAgIHNob3dSb3VuZGVkVG90YWw6IGJvb2xlYW47XG4gICAgc2hvd0xlZ2VuZDogYm9vbGVhbjtcbiAgICByZW1vdmVTdHJva2U6IGJvb2xlYW47XG4gICAgYXhpczoge1xuICAgICAgc2hvd1hBeGlzTGFiZWxzOiBib29sZWFuO1xuICAgICAgc2hvd1lBeGlzTGFiZWxzOiBib29sZWFuO1xuICAgIH07XG4gIH07XG4gIG9uQ2xpY2s6IChwYXJhbXM6IENoYXJ0T25WaWV3Q2xpY2spID0+IHZvaWQ7XG4gIGVuYWJsZUhvdmVyPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEJBUl9SQURJVVMgPSAyO1xuXG5jb25zdCBQQURESU5HID0ge1xuICBwYWRkaW5nT3V0ZXI6IDAuMDUsXG4gIHBhZGRpbmdJbm5lcjogMC4zLFxufTtcblxuZXhwb3J0IGNvbnN0IEJhckNoYXJ0ID0gKHsgY2hhcnQsIHdpZHRoLCBoZWlnaHQsIG9wdGlvbnMsIHRoZW1lLCBvbkNsaWNrLCBlbmFibGVIb3ZlciB9OiBCYXJDaGFydFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdG9vbHRpcE9wZW4sIHRvb2x0aXBMZWZ0ID0gMCwgdG9vbHRpcFRvcCA9IDAsIHRvb2x0aXBEYXRhLCBoaWRlVG9vbHRpcCwgc2hvd1Rvb2x0aXAgfSA9IHVzZVRvb2x0aXA8e1xuICAgIFtrZXlJZDogc3RyaW5nXTogRGF0YUl0ZW07XG4gIH0gfCBudWxsPigpO1xuXG4gIGNvbnN0IG1hcmdpbiA9IGJ1aWxkTWFyZ2luKGNoYXJ0LnkudGlja3MsIG9wdGlvbnMuYXhpcy5zaG93WUF4aXNMYWJlbHMsIGNoYXJ0LnkudGl0bGUgIT0gbnVsbCwgY2hhcnQueC50aXRsZSAhPSBudWxsKTtcblxuICAvLyBjb25zdCBbdmlzaWJsZVlLZXlzLCBzZXRWaXNpYmxlWUtleXNdID0gdXNlU3RhdGUoY2hhcnQuYmFycy5tYXAoKGxlZ2VuZEl0ZW0pID0+IGxlZ2VuZEl0ZW0ueUtleSkpO1xuXG4gIGNvbnN0IGlubmVyV2lkdGggPSB3aWR0aCAtIG1hcmdpbi5sZWZ0IC0gbWFyZ2luLnJpZ2h0O1xuICBjb25zdCBpbm5lckhlaWdodCA9IGhlaWdodCAtIG1hcmdpbi50b3AgLSBtYXJnaW4uYm90dG9tIC0gKG9wdGlvbnMuc2hvd0xlZ2VuZCA/IDQwIDogMCk7XG4gIGNvbnN0IHhLZXkgPSBjaGFydC54LmtleTtcbiAgY29uc3QgeFNjYWxlS2V5ID0gY2hhcnQueC5zY2FsZS5rZXk7XG4gIGNvbnN0IHlTY2FsZUtleXMgPSBjaGFydC55LmtleXM7XG4gIGNvbnN0IHhTY2FsZURhdGFUeXBlOiBEYXRhVHlwZSA9IGNoYXJ0Lnguc2NhbGUuZGF0YVR5cGU7XG5cbiAgY29uc3QgeFNjYWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHNjYWxlQmFuZDxzdHJpbmc+KHtcbiAgICAgICAgcmFuZ2U6IFswLCBpbm5lcldpZHRoXSxcbiAgICAgICAgZG9tYWluOiB4U2NhbGVLZXlcbiAgICAgICAgICA/IFsuLi5jaGFydC5kYXRhLm1hcChkID0+IChkW3hTY2FsZUtleV0gJiYgZFt4U2NhbGVLZXldLnZhbHVlICE9PSBudWxsID8gU3RyaW5nKGRbeFNjYWxlS2V5XS52YWx1ZSkgOiAnJykpXVxuICAgICAgICAgIDogW10sXG4gICAgICAgIC4uLlBBRERJTkcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdkYXRlX3RpbWUnICYmIHhTY2FsZUtleSkge1xuICAgICAgcmV0dXJuIHNjYWxlQmFuZDxEYXRlPih7XG4gICAgICAgIHJhbmdlOiBbMCwgaW5uZXJXaWR0aF0sXG4gICAgICAgIGRvbWFpbjogY2hhcnQuZGF0YS5tYXAoZCA9PiBuZXcgRGF0ZShkW3hTY2FsZUtleV0udmFsdWUgYXMgc3RyaW5nKSksXG4gICAgICAgIC4uLlBBRERJTkcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdudW1iZXInICYmIHhTY2FsZUtleSkge1xuICAgICAgcmV0dXJuIHNjYWxlQmFuZDxudW1iZXI+KHtcbiAgICAgICAgcmFuZ2U6IFswLCBpbm5lcldpZHRoXSxcbiAgICAgICAgZG9tYWluOiBjaGFydC5kYXRhLm1hcChkID0+IChkW3hTY2FsZUtleV0gJiYgZFt4U2NhbGVLZXldLnZhbHVlICE9PSBudWxsID8gTnVtYmVyKGRbeFNjYWxlS2V5XS52YWx1ZSkgOiAwKSksXG4gICAgICAgIC4uLlBBRERJTkcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgW2lubmVyV2lkdGgsIGNoYXJ0LngsIGNoYXJ0LmRhdGFdKTtcblxuICBjb25zdCB5U2NhbGUgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBzY2FsZUxpbmVhcjxudW1iZXI+KHtcbiAgICAgICAgcmFuZ2U6IFtpbm5lckhlaWdodCwgMF0sXG4gICAgICAgIGRvbWFpbjpcbiAgICAgICAgICBjaGFydC55LnNjYWxlLm9yZGVyaW5nID09PSAnYXNjJ1xuICAgICAgICAgICAgPyBbY2hhcnQueS5zY2FsZS5taW4gYXMgbnVtYmVyLCBjaGFydC55LnNjYWxlLm1heCBhcyBudW1iZXJdXG4gICAgICAgICAgICA6IFtjaGFydC55LnNjYWxlLm1heCBhcyBudW1iZXIsIGNoYXJ0Lnkuc2NhbGUubWluIGFzIG51bWJlcl0sXG4gICAgICAgIG5pY2U6IHRydWUsXG4gICAgICAgIHJvdW5kOiB0cnVlLFxuICAgICAgfSksXG4gICAgW2lubmVySGVpZ2h0LCBjaGFydC55XVxuICApO1xuXG4gIGNvbnN0IGlubmVyWFNjYWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFvcHRpb25zLnN0YWNrZWQgJiYgeFNjYWxlICYmICdiYW5kd2lkdGgnIGluIHhTY2FsZSkge1xuICAgICAgcmV0dXJuIHNjYWxlQmFuZDxzdHJpbmc+KHtcbiAgICAgICAgcmFuZ2U6IFswLCB4U2NhbGU/LmJhbmR3aWR0aCgpXSxcbiAgICAgICAgZG9tYWluOiB5U2NhbGVLZXlzLFxuICAgICAgICBwYWRkaW5nOiAwLjEsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9LCBbeFNjYWxlLCB5U2NhbGVLZXlzLCBvcHRpb25zLnN0YWNrZWQsIHhTY2FsZURhdGFUeXBlXSk7XG5cbiAgY29uc3QgZGF0YUZsYXR0ZW5lZCA9IHVzZUZsYXR0ZW5lZERhdGE8QmFyQ2hhcnRSZXByZXNlbnRhdGlvbiwgQ2hhcnREYXRhRGVmaW5pdGlvbj4oeFNjYWxlS2V5LCB4U2NhbGVEYXRhVHlwZSwgY2hhcnQpO1xuXG4gIGNvbnN0IGhhbmRsZU1vdXNlTW92ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogUmVhY3QuTW91c2VFdmVudDxTVkdFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKCF4S2V5IHx8ICF4U2NhbGVLZXkgfHwgeFNjYWxlID09PSBudWxsKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHRvb2x0aXBEYXRhID0gZ2V0VG9vbHRpcERhdGEoe1xuICAgICAgICBkYXRhOiBjaGFydC5kYXRhLFxuICAgICAgICBldmVudCxcbiAgICAgICAgbWFyZ2luLFxuICAgICAgICB4U2NhbGVLZXksXG4gICAgICAgIHhTY2FsZURhdGFUeXBlLFxuICAgICAgICB4T3JkZXJpbmc6IGNoYXJ0Lnguc2NhbGUub3JkZXJpbmcsXG4gICAgICAgIHhTY2FsZSxcbiAgICAgICAgY2hhcnRUeXBlOiAnYmFyJyxcbiAgICAgIH0pO1xuXG4gICAgICBzaG93VG9vbHRpcCh7XG4gICAgICAgIHRvb2x0aXBMZWZ0OiB0b29sdGlwRGF0YT8udG9vbHRpcExlZnQsXG4gICAgICAgIHRvb2x0aXBUb3A6IHRvb2x0aXBEYXRhPy50b29sdGlwVG9wLFxuICAgICAgICB0b29sdGlwRGF0YTogdG9vbHRpcERhdGE/LnRvb2x0aXBEYXRhLFxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbc2hvd1Rvb2x0aXAsIHhTY2FsZSwgbWFyZ2luLCB4S2V5LCB4U2NhbGVLZXksIHhTY2FsZURhdGFUeXBlLCBjaGFydC54LnNjYWxlLm9yZGVyaW5nLCBjaGFydC5kYXRhXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZU1vdXNlTGVhdmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaGlkZVRvb2x0aXAoKTtcbiAgfSwgW2hpZGVUb29sdGlwXSk7XG5cbiAgY29uc3QgaGFuZGxlT25CYXJDbGljayA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogUmVhY3QuTW91c2VFdmVudDxTVkdSZWN0RWxlbWVudCwgTW91c2VFdmVudD4sIGJhckdyb3VwOiBCYXJHcm91cFR5cGU8c3RyaW5nPiwgYmFyOiBCYXJHcm91cEJhcjxzdHJpbmc+KSA9PiB7XG4gICAgICBvbkNsaWNrKHtcbiAgICAgICAgY2xpY2tlZFZhbHVlOiB7XG4gICAgICAgICAgaW5kZXg6IGJhckdyb3VwLmluZGV4LFxuICAgICAgICAgIHk6IHtcbiAgICAgICAgICAgIGtleTogYmFyLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiBiYXIudmFsdWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB4OiB7XG4gICAgICAgICAgICAuLi5jaGFydC54LnRpY2tzW2Jhckdyb3VwLmluZGV4XSxcbiAgICAgICAgICAgIHZhbHVlOiBjaGFydC5kYXRhW2Jhckdyb3VwLmluZGV4XVt4S2V5XS52YWx1ZSA/PyAnJyxcbiAgICAgICAgICAgIGtleTogeEtleSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBjbGlja0V2ZW50OiBldmVudCxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW29uQ2xpY2ssIGNoYXJ0LmRhdGEsIHhLZXldXG4gICk7XG5cbiAgY29uc3QgdGhlbWVDU1MgPSB1c2VNZW1vKCgpID0+IGdldENoYXJ0VGhlbWVDU1ModGhlbWUpLCBbdGhlbWVdKTtcblxuICBjb25zdCB5VGlja1ZhbHVlcyA9IGNoYXJ0LnkudGlja3MubWFwKHRpY2sgPT4gTnVtYmVyKHRpY2sudmFsdWUpKTtcblxuICByZXR1cm4gKFxuICAgIDxGcmFnbWVudD5cbiAgICAgIHsvKiB3aWR0aC9oZWlnaHQgMTAwJSByZXF1aXJlZCBvciB1c2VQYXJlbnRTaXplKCkgY29udGludW91c2x5IHNjYWxlcyBhcyBwYXJlbnQgZWxlbWVudCBoYXMgbm8gc3BlY2lmaWVkIGhlaWdodCAqL31cbiAgICAgIDxDaGFydFdyYXBwZXJcbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgb25Nb3VzZU1vdmU9e2hhbmRsZU1vdXNlTW92ZX1cbiAgICAgICAgb25Nb3VzZUxlYXZlPXtoYW5kbGVNb3VzZUxlYXZlfVxuICAgICAgICBzaG93TGVnZW5kPXtvcHRpb25zLnNob3dMZWdlbmR9XG4gICAgICA+XG4gICAgICAgIDxHcm91cCBsZWZ0PXttYXJnaW4ubGVmdH0gdG9wPXttYXJnaW4udG9wfT5cbiAgICAgICAgICA8R3JpZFJvd3NcbiAgICAgICAgICAgIHRpY2tzPXt5VGlja1ZhbHVlc31cbiAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgd2lkdGg9e2lubmVyV2lkdGh9XG4gICAgICAgICAgICBoZWlnaHQ9e2lubmVySGVpZ2h0fVxuICAgICAgICAgICAgcmVtb3ZlU3Ryb2tlPXtvcHRpb25zLnJlbW92ZVN0cm9rZX1cbiAgICAgICAgICAgIHRoZW1lQ1NTPXt0aGVtZUNTU31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxBeGlzQm90dG9tXG4gICAgICAgICAgICB4PXtjaGFydC54fVxuICAgICAgICAgICAgbWFyZ2luPXttYXJnaW59XG4gICAgICAgICAgICB0aGVtZUNTUz17dGhlbWVDU1N9XG4gICAgICAgICAgICBzaG93PXtvcHRpb25zLmF4aXMuc2hvd1hBeGlzTGFiZWxzfVxuICAgICAgICAgICAgcmVtb3ZlU3Ryb2tlPXtvcHRpb25zLnJlbW92ZVN0cm9rZX1cbiAgICAgICAgICAgIHhTY2FsZURhdGFUeXBlPXt4U2NhbGVEYXRhVHlwZX1cbiAgICAgICAgICAgIHhTY2FsZT17eFNjYWxlfVxuICAgICAgICAgICAgaGVpZ2h0PXtpbm5lckhlaWdodH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxBeGlzTGVmdFxuICAgICAgICAgICAgc2hvdz17b3B0aW9ucy5heGlzLnNob3dZQXhpc0xhYmVsc31cbiAgICAgICAgICAgIHk9e2NoYXJ0Lnl9XG4gICAgICAgICAgICBtYXJnaW49e21hcmdpbn1cbiAgICAgICAgICAgIHRoZW1lQ1NTPXt0aGVtZUNTU31cbiAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgdGlja3M9e3lUaWNrVmFsdWVzfVxuICAgICAgICAgICAgc3Ryb2tlPXt0aGVtZT8uYXhpcz8uc3Ryb2tlfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEdyb3VwPlxuICAgICAgICAgICAgeyFvcHRpb25zLnN0YWNrZWQgJiYgKFxuICAgICAgICAgICAgICA8QmFyR3JvdXBcbiAgICAgICAgICAgICAgICBkYXRhPXtkYXRhRmxhdHRlbmVkfVxuICAgICAgICAgICAgICAgIGtleXM9e3lTY2FsZUtleXN9XG4gICAgICAgICAgICAgICAgaGVpZ2h0PXtpbm5lckhlaWdodH1cbiAgICAgICAgICAgICAgICB4MD17ZCA9PiB7XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICBjb25zdCB4VmFsdWUgPSBkW3hTY2FsZUtleV07XG5cbiAgICAgICAgICAgICAgICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ3N0cmluZycpIHJldHVybiB4VmFsdWU7XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IHhWYWx1ZUFkanVzdGVkID1cbiAgICAgICAgICAgICAgICAgICAgeFNjYWxlRGF0YVR5cGUgPT09ICdkYXRlX3RpbWUnXG4gICAgICAgICAgICAgICAgICAgICAgPyBuZXcgRGF0ZSh4VmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgOiB4U2NhbGVEYXRhVHlwZSA9PT0gJ251bWJlcidcbiAgICAgICAgICAgICAgICAgICAgICA/IE51bWJlcih4VmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgOiBTdHJpbmcoeFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJldHVybiB4VmFsdWVBZGp1c3RlZDtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICB4MFNjYWxlPXt4U2NhbGV9XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHgxU2NhbGU9e2lubmVyWFNjYWxlfVxuICAgICAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgICAgIGNvbG9yPXsoKSA9PiAnJ31cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYXJHcm91cHMgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGJhckdyb3Vwcy5tYXAoYmFyR3JvdXAgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8R3JvdXAga2V5PXtgYmFyLWdyb3VwLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyR3JvdXAueDB9YH0gbGVmdD17YmFyR3JvdXAueDB9PlxuICAgICAgICAgICAgICAgICAgICAgIHtiYXJHcm91cC5iYXJzLm1hcChiYXIgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJhci52YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmFyLmhlaWdodCA8IDAgfHwgYmFyLndpZHRoIDwgMCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8QmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYmFyLWdyb3VwLWJhci0ke2Jhckdyb3VwLmluZGV4fS0ke2Jhci5pbmRleH0tJHtiYXIudmFsdWV9LSR7YmFyLmtleX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg9e2Jhci54fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk9e2Jhci55fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXtiYXIud2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXtiYXIuaGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9e2dldEJhckZpbGwoY2hhcnQuYmFycywgY2hhcnQuY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsIGJhci5rZXksIGJhci52YWx1ZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiBoYW5kbGVPbkJhckNsaWNrKGUsIGJhckdyb3VwLCBiYXIpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZUhvdmVyPXtlbmFibGVIb3Zlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIDwvR3JvdXA+XG4gICAgICAgICAgICAgICAgICApKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8L0Jhckdyb3VwPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgey8qIEhvdyB0byB3ZSBnZXQgJ3NjYWxlVmFsdWUnIGhlcmU/IFdpbGwgd2UgbmVlZCB0byBzdGFydCBzdG9yaW5nIHNjYWxlS2V5IGFzIHdlbGwgYXMgeEtleT8gKi99XG4gICAgICAgICAgICB7b3B0aW9ucy5zdGFja2VkICYmIChcbiAgICAgICAgICAgICAgPEJhclN0YWNrXG4gICAgICAgICAgICAgICAgeD17ZCA9PiB7XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICBjb25zdCB4VmFsdWUgPSBkW3hTY2FsZUtleV07XG4gICAgICAgICAgICAgICAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdzdHJpbmcnKSByZXR1cm4geFZhbHVlO1xuXG4gICAgICAgICAgICAgICAgICBjb25zdCB4VmFsdWVBZGp1c3RlZCA9XG4gICAgICAgICAgICAgICAgICAgIHhTY2FsZURhdGFUeXBlID09PSAnZGF0ZV90aW1lJ1xuICAgICAgICAgICAgICAgICAgICAgID8gbmV3IERhdGUoeFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgIDogeFNjYWxlRGF0YVR5cGUgPT09ICdudW1iZXInXG4gICAgICAgICAgICAgICAgICAgICAgPyBOdW1iZXIoeFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgIDogU3RyaW5nKHhWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICByZXR1cm4geFZhbHVlQWRqdXN0ZWQ7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgeFNjYWxlPXt4U2NhbGV9XG4gICAgICAgICAgICAgICAgeVNjYWxlPXt5U2NhbGV9XG4gICAgICAgICAgICAgICAgZGF0YT17ZGF0YUZsYXR0ZW5lZH1cbiAgICAgICAgICAgICAgICBrZXlzPXtjaGFydC55LmtleXN9XG4gICAgICAgICAgICAgICAgY29sb3I9eygpID0+ICcnfVxuICAgICAgICAgICAgICAgIGhlaWdodD17aW5uZXJIZWlnaHR9XG4gICAgICAgICAgICAgICAgd2lkdGg9e2lubmVyV2lkdGh9XG4gICAgICAgICAgICAgICAgb2Zmc2V0PVwibm9uZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7YmFyU3RhY2tzID0+XG4gICAgICAgICAgICAgICAgICBiYXJTdGFja3MubWFwKGJhclN0YWNrID0+XG4gICAgICAgICAgICAgICAgICAgIGJhclN0YWNrLmJhcnMubWFwKGJhciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGJhci5oZWlnaHQgPCAzKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCQVJfUEFERElORyA9IDEuNTtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYmFyLXN0YWNrLSR7YmFyU3RhY2suaW5kZXh9LSR7YmFyLmluZGV4fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHg9e2Jhci54fVxuICAgICAgICAgICAgICAgICAgICAgICAgICB5PXtiYXIueX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e2Jhci53aWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXtiYXIuaGVpZ2h0IC0gQkFSX1BBRERJTkd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9e2dldEJhckZpbGwoY2hhcnQuYmFycywgY2hhcnQuY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsIGJhci5rZXksIGJhci5iYXIuZGF0YSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PXtCQVJfUkFESVVTfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9CYXJTdGFjaz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgey8qIC0tLS0tIFRPT0xUSVAgQ1JPU1NIQUlSIC0tLS0tICovfVxuICAgICAgICB7dG9vbHRpcERhdGEgJiYgKFxuICAgICAgICAgIDxnPlxuICAgICAgICAgICAgPExpbmUgeD17dG9vbHRpcExlZnR9IG1hcmdpbj17bWFyZ2lufSBoZWlnaHQ9e2lubmVySGVpZ2h0fSAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgKX1cbiAgICAgICAgey8qIC0tLS0tIEdPQUwgTElORVMgLS0tLS0tICovfVxuICAgICAgICA8R29hbExpbmVzIGdvYWxMaW5lcz17Y2hhcnQuZ29hbExpbmVzfSB5PXtkID0+IHlTY2FsZShkKX0gbWFyZ2luPXttYXJnaW59IHdpZHRoPXtpbm5lcldpZHRofSAvPlxuICAgICAgPC9DaGFydFdyYXBwZXI+XG4gICAgICB7LyogLS0tLS0gTEVHRU5EIC0tLS0tICovfVxuICAgICAge29wdGlvbnMuc2hvd0xlZ2VuZCAmJiAoXG4gICAgICAgIDxMZWdlbmRcbiAgICAgICAgICBsZWdlbmRJdGVtcz17Y2hhcnQuYmFyc31cbiAgICAgICAgICB2aXNpYmxlWUtleXM9e2NoYXJ0LmJhcnMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KX1cbiAgICAgICAgICBzZXRWaXNpYmxlWUtleXM9eygpID0+IHt9fVxuICAgICAgICAgIGtleXM9e2NoYXJ0LmtleXN9XG4gICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM9e2NoYXJ0LmNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzfVxuICAgICAgICAgIG1hcmdpbkxlZnQ9e21hcmdpbi5sZWZ0IC0gbWFyZ2luLmxlZnRUaXRsZU9mZnNldH1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7LyogLS0tLS0gVE9PTFRJUCAtLS0tLSAqL31cbiAgICAgIHt0b29sdGlwT3BlbiAmJiB0b29sdGlwRGF0YSAmJiB4S2V5ICYmIChcbiAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICB0b29sdGlwRGF0YT17dG9vbHRpcERhdGF9XG4gICAgICAgICAgdG9vbHRpcExlZnQ9e3Rvb2x0aXBMZWZ0fVxuICAgICAgICAgIHRvb2x0aXBUb3A9e3Rvb2x0aXBUb3B9XG4gICAgICAgICAgeEtleT17eEtleX1cbiAgICAgICAgICBrZXlzPXtjaGFydC5rZXlzfVxuICAgICAgICAgIHZpc2libGVZS2V5cz17Y2hhcnQuYmFycy5tYXAobGVnZW5kSXRlbSA9PiBsZWdlbmRJdGVtLnlLZXkpfVxuICAgICAgICAgIHlLZXlzPXtjaGFydC55LmtleXN9XG4gICAgICAgICAgbGVnZW5kSXRlbXM9e2NoYXJ0LmJhcnN9XG4gICAgICAgICAgc2hvd1JvdW5kZWRUb3RhbD17b3B0aW9ucy5zaG93Um91bmRlZFRvdGFsfVxuICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtjaGFydC5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICB0aGVtZT17dGhlbWVDU1MucG9wb3Zlck1lbnVzfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L0ZyYWdtZW50PlxuICApO1xufTtcblxuY29uc3QgQmFyID0gKHByb3BzOiB7XG4gIG9uQ2xpY2s6IChlOiBSZWFjdC5Nb3VzZUV2ZW50PFNWR1JlY3RFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4gdm9pZDtcbiAgZmlsbD86IHN0cmluZztcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICBrZXk6IHN0cmluZztcbiAgZW5hYmxlSG92ZXI/OiBib29sZWFuO1xufSkgPT4ge1xuICBjb25zdCBbZmlsbENvbG9yLCBzZXRGaWxsQ29sb3JdID0gdXNlU3RhdGUocHJvcHMuZmlsbCk7XG4gIHJldHVybiAoXG4gICAgPHJlY3RcbiAgICAgIGtleT17cHJvcHMua2V5fVxuICAgICAgeD17cHJvcHMueH1cbiAgICAgIHk9e3Byb3BzLnl9XG4gICAgICB3aWR0aD17cHJvcHMud2lkdGh9XG4gICAgICBoZWlnaHQ9e3Byb3BzLmhlaWdodH1cbiAgICAgIGZpbGw9e2ZpbGxDb2xvcn1cbiAgICAgIHJ4PXtCQVJfUkFESVVTfVxuICAgICAgb25DbGljaz17cHJvcHMub25DbGlja31cbiAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gcHJvcHMuZW5hYmxlSG92ZXIgJiYgc2V0RmlsbENvbG9yKGxpZ2h0ZW5Db2xvcihwcm9wcy5maWxsLCAwLjgpKX1cbiAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gcHJvcHMuZW5hYmxlSG92ZXIgJiYgc2V0RmlsbENvbG9yKHByb3BzLmZpbGwpfVxuICAgICAgY2xhc3NOYW1lPXtwcm9wcy5lbmFibGVIb3ZlciA/IGNzcyh7IGN1cnNvcjogJ3BvaW50ZXInIH0pIDogJyd9XG4gICAgLz5cbiAgKTtcbn07XG4iXX0= */",
42572
42889
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$8
42573
42890
  }) : ''
42574
42891
  }, props.key);
@@ -48023,7 +48340,7 @@ var WaterfallChart$2 = function WaterfallChart(_ref) {
48023
48340
  })
48024
48341
  })]
48025
48342
  }), tooltipData && jsx("g", {
48026
- children: jsx(Line, {
48343
+ children: jsx(Line$1, {
48027
48344
  from: {
48028
48345
  x: tooltipLeft,
48029
48346
  y: margin.top
@@ -48518,7 +48835,7 @@ var Component = function Component(props) {
48518
48835
  });
48519
48836
  },
48520
48837
  onError: dashboardBehaviour.onError,
48521
- children: jsx(BubbleChart$2, {
48838
+ children: jsx(BubbleChart$3, {
48522
48839
  id: props.id,
48523
48840
  setLocalFilters: props.setLocalFilters,
48524
48841
  dataSet: dataSet,
@@ -56981,6 +57298,22 @@ var ChartSettingsSection = function ChartSettingsSection(_ref) {
56981
57298
  }
56982
57299
  return options;
56983
57300
  }();
57301
+ var layoutOptions = function () {
57302
+ var options = [{
57303
+ label: textOverride('grouped', 'Grouped'),
57304
+ value: false
57305
+ }, {
57306
+ label: textOverride('stacked', 'Stacked'),
57307
+ value: true
57308
+ }];
57309
+ if (attributes.type === 'barChart' || attributes.type === 'areaChart') {
57310
+ options.push({
57311
+ label: textOverride('stacked_100prc', 'Stacked (100%)'),
57312
+ value: '100%'
57313
+ });
57314
+ }
57315
+ return options;
57316
+ }();
56984
57317
  return jsx(Section, {
56985
57318
  title: section.title,
56986
57319
  tooltip: section == null ? void 0 : section.description,
@@ -57000,16 +57333,7 @@ var ChartSettingsSection = function ChartSettingsSection(_ref) {
57000
57333
  stacked: stacked
57001
57334
  });
57002
57335
  },
57003
- options: [{
57004
- label: textOverride('grouped', 'Grouped'),
57005
- value: false
57006
- }, {
57007
- label: textOverride('stacked', 'Stacked'),
57008
- value: true
57009
- }, {
57010
- label: textOverride('stacked_100prc', 'Stacked (100%)'),
57011
- value: '100%'
57012
- }]
57336
+ options: layoutOptions
57013
57337
  }), section.type === 'curve' && jsx(FormatSelectInput, {
57014
57338
  label: section.title,
57015
57339
  id: "format-layout-curve",