react-native-chart-kit 6.12.2 → 7.0.0-next.1

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 (90) hide show
  1. package/README.md +49 -35
  2. package/dist/{BarChart.d.ts → charts/bar/BarChart.d.ts} +8 -7
  3. package/dist/charts/bar/BarChart.d.ts.map +1 -0
  4. package/dist/charts/bar/BarChart.js +161 -0
  5. package/dist/charts/bar/index.d.ts +3 -0
  6. package/dist/charts/bar/index.d.ts.map +1 -0
  7. package/dist/charts/bar/index.js +3 -0
  8. package/dist/{contribution-graph → charts/contribution-graph}/ContributionGraph.d.ts +7 -6
  9. package/dist/charts/contribution-graph/ContributionGraph.d.ts.map +1 -0
  10. package/dist/charts/contribution-graph/ContributionGraph.js +310 -0
  11. package/dist/charts/contribution-graph/constants.d.ts.map +1 -0
  12. package/dist/charts/contribution-graph/constants.js +17 -0
  13. package/dist/{contribution-graph/DateHelpers.d.ts → charts/contribution-graph/date.d.ts} +1 -1
  14. package/dist/charts/contribution-graph/date.d.ts.map +1 -0
  15. package/dist/charts/contribution-graph/date.js +14 -0
  16. package/dist/{contribution-graph → charts/contribution-graph}/index.d.ts +1 -1
  17. package/dist/charts/contribution-graph/index.d.ts.map +1 -0
  18. package/dist/charts/contribution-graph/index.js +3 -0
  19. package/dist/charts/line/LegendItem.d.ts +12 -0
  20. package/dist/charts/line/LegendItem.d.ts.map +1 -0
  21. package/dist/charts/line/LegendItem.js +23 -0
  22. package/dist/{line-chart → charts/line}/LineChart.d.ts +9 -8
  23. package/dist/charts/line/LineChart.d.ts.map +1 -0
  24. package/dist/charts/line/LineChart.js +481 -0
  25. package/dist/charts/line/index.d.ts.map +1 -0
  26. package/dist/charts/line/index.js +3 -0
  27. package/dist/{PieChart.d.ts → charts/pie/PieChart.d.ts} +3 -2
  28. package/dist/charts/pie/PieChart.d.ts.map +1 -0
  29. package/dist/charts/pie/PieChart.js +103 -0
  30. package/dist/charts/pie/index.d.ts +3 -0
  31. package/dist/charts/pie/index.d.ts.map +1 -0
  32. package/dist/charts/pie/index.js +3 -0
  33. package/dist/{ProgressChart.d.ts → charts/progress/ProgressChart.d.ts} +3 -2
  34. package/dist/charts/progress/ProgressChart.d.ts.map +1 -0
  35. package/dist/charts/progress/ProgressChart.js +136 -0
  36. package/dist/charts/progress/index.d.ts +3 -0
  37. package/dist/charts/progress/index.d.ts.map +1 -0
  38. package/dist/charts/progress/index.js +3 -0
  39. package/dist/{StackedBarChart.d.ts → charts/stacked-bar/StackedBarChart.d.ts} +4 -3
  40. package/dist/charts/stacked-bar/StackedBarChart.d.ts.map +1 -0
  41. package/dist/charts/stacked-bar/StackedBarChart.js +147 -0
  42. package/dist/charts/stacked-bar/index.d.ts +3 -0
  43. package/dist/charts/stacked-bar/index.d.ts.map +1 -0
  44. package/dist/charts/stacked-bar/index.js +3 -0
  45. package/dist/index.d.ts +7 -7
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +8 -8
  48. package/dist/{AbstractChart.d.ts → shared/AbstractChart.d.ts} +80 -58
  49. package/dist/shared/AbstractChart.d.ts.map +1 -0
  50. package/dist/shared/AbstractChart.js +283 -0
  51. package/dist/{HelperTypes.d.ts → shared/types.d.ts} +1 -1
  52. package/dist/shared/types.d.ts.map +1 -0
  53. package/dist/shared/types.js +2 -0
  54. package/dist/shared/utils.d.ts +5 -0
  55. package/dist/shared/utils.d.ts.map +1 -0
  56. package/dist/shared/utils.js +10 -0
  57. package/package.json +109 -53
  58. package/scripts/chartkit-codemod.mjs +256 -0
  59. package/dist/AbstractChart.d.ts.map +0 -1
  60. package/dist/AbstractChart.js +0 -261
  61. package/dist/BarChart.d.ts.map +0 -1
  62. package/dist/BarChart.js +0 -159
  63. package/dist/HelperTypes.d.ts.map +0 -1
  64. package/dist/HelperTypes.js +0 -2
  65. package/dist/PieChart.d.ts.map +0 -1
  66. package/dist/PieChart.js +0 -101
  67. package/dist/ProgressChart.d.ts.map +0 -1
  68. package/dist/ProgressChart.js +0 -134
  69. package/dist/StackedBarChart.d.ts.map +0 -1
  70. package/dist/StackedBarChart.js +0 -145
  71. package/dist/Utils.d.ts +0 -2
  72. package/dist/Utils.d.ts.map +0 -1
  73. package/dist/Utils.js +0 -4
  74. package/dist/contribution-graph/ContributionGraph.d.ts.map +0 -1
  75. package/dist/contribution-graph/ContributionGraph.js +0 -309
  76. package/dist/contribution-graph/DateHelpers.d.ts.map +0 -1
  77. package/dist/contribution-graph/DateHelpers.js +0 -14
  78. package/dist/contribution-graph/constants.d.ts.map +0 -1
  79. package/dist/contribution-graph/constants.js +0 -17
  80. package/dist/contribution-graph/index.d.ts.map +0 -1
  81. package/dist/contribution-graph/index.js +0 -3
  82. package/dist/line-chart/LegendItem.d.ts +0 -11
  83. package/dist/line-chart/LegendItem.d.ts.map +0 -1
  84. package/dist/line-chart/LegendItem.js +0 -23
  85. package/dist/line-chart/LineChart.d.ts.map +0 -1
  86. package/dist/line-chart/LineChart.js +0 -459
  87. package/dist/line-chart/index.d.ts.map +0 -1
  88. package/dist/line-chart/index.js +0 -3
  89. /package/dist/{contribution-graph → charts/contribution-graph}/constants.d.ts +0 -0
  90. /package/dist/{line-chart → charts/line}/index.d.ts +0 -0
@@ -1,261 +0,0 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- if (typeof b !== "function" && b !== null)
10
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
- extendStatics(d, b);
12
- function __() { this.constructor = d; }
13
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
- };
15
- })();
16
- var __assign = (this && this.__assign) || function () {
17
- __assign = Object.assign || function(t) {
18
- for (var s, i = 1, n = arguments.length; i < n; i++) {
19
- s = arguments[i];
20
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
- t[p] = s[p];
22
- }
23
- return t;
24
- };
25
- return __assign.apply(this, arguments);
26
- };
27
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
28
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
29
- if (ar || !(i in from)) {
30
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
31
- ar[i] = from[i];
32
- }
33
- }
34
- return to.concat(ar || Array.prototype.slice.call(from));
35
- };
36
- import React, { Component } from "react";
37
- import { Defs, Line, LinearGradient, Stop, Text } from "react-native-svg";
38
- export var DEFAULT_X_LABELS_HEIGHT_PERCENTAGE = 0.75;
39
- var nextChartId = 0;
40
- var AbstractChart = /** @class */ (function (_super) {
41
- __extends(AbstractChart, _super);
42
- function AbstractChart() {
43
- var _this = _super !== null && _super.apply(this, arguments) || this;
44
- _this.chartId = nextChartId++;
45
- _this.getValidData = function (data) {
46
- if (data === void 0) { data = []; }
47
- return data.filter(function (value) { return typeof value === "number" && isFinite(value); });
48
- };
49
- _this.getGradientId = function (id) {
50
- return "chart-kit-".concat(_this.chartId, "-").concat(id);
51
- };
52
- _this.getGradientUrl = function (id) {
53
- return "url(#".concat(_this.getGradientId(id), ")");
54
- };
55
- _this.calcScaler = function (data) {
56
- var values = _this.getValidData(data);
57
- if (values.length === 0) {
58
- return 1;
59
- }
60
- if (_this.props.fromZero && _this.props.fromNumber) {
61
- return (Math.max.apply(Math, __spreadArray(__spreadArray([], values, false), [_this.props.fromNumber], false)) - Math.min.apply(Math, __spreadArray(__spreadArray([], values, false), [0], false)) || 1);
62
- }
63
- else if (_this.props.fromZero) {
64
- return Math.max.apply(Math, __spreadArray(__spreadArray([], values, false), [0], false)) - Math.min.apply(Math, __spreadArray(__spreadArray([], values, false), [0], false)) || 1;
65
- }
66
- else if (_this.props.fromNumber) {
67
- return (Math.max.apply(Math, __spreadArray(__spreadArray([], values, false), [_this.props.fromNumber], false)) - Math.min.apply(Math, __spreadArray(__spreadArray([], values, false), [_this.props.fromNumber], false)) || 1);
68
- }
69
- else {
70
- return Math.max.apply(Math, values) - Math.min.apply(Math, values) || 1;
71
- }
72
- };
73
- _this.calcBaseHeight = function (data, height) {
74
- var values = _this.getValidData(data);
75
- if (values.length === 0) {
76
- return height;
77
- }
78
- var min = Math.min.apply(Math, values);
79
- var max = Math.max.apply(Math, values);
80
- if (min >= 0 && max >= 0) {
81
- return height;
82
- }
83
- else if (min < 0 && max <= 0) {
84
- return 0;
85
- }
86
- else if (min < 0 && max > 0) {
87
- return (height * max) / _this.calcScaler(values);
88
- }
89
- };
90
- _this.calcHeight = function (val, data, height) {
91
- if (typeof val !== "number" || !isFinite(val)) {
92
- return 0;
93
- }
94
- var values = _this.getValidData(data);
95
- if (values.length === 0) {
96
- return 0;
97
- }
98
- var max = Math.max.apply(Math, values);
99
- var min = Math.min.apply(Math, values);
100
- if (min < 0 && max > 0) {
101
- return height * (val / _this.calcScaler(values));
102
- }
103
- else if (min >= 0 && max >= 0) {
104
- return _this.props.fromZero
105
- ? height * (val / _this.calcScaler(values))
106
- : height * ((val - min) / _this.calcScaler(values));
107
- }
108
- else if (min < 0 && max <= 0) {
109
- return _this.props.fromZero
110
- ? height * (val / _this.calcScaler(values))
111
- : height * ((val - max) / _this.calcScaler(values));
112
- }
113
- };
114
- _this.renderHorizontalLines = function (config) {
115
- var count = config.count, width = config.width, height = config.height, paddingTop = config.paddingTop, paddingRight = config.paddingRight, _a = config.verticalLabelsHeightPercentage, verticalLabelsHeightPercentage = _a === void 0 ? DEFAULT_X_LABELS_HEIGHT_PERCENTAGE : _a;
116
- var basePosition = height * verticalLabelsHeightPercentage;
117
- return __spreadArray([], new Array(count + 1), true).map(function (_, i) {
118
- var y = (basePosition / count) * i + paddingTop;
119
- return (<Line key={"horizontal-line-".concat(i)} x1={paddingRight} y1={y} x2={width} y2={y} {..._this.getPropsForBackgroundLines()}/>);
120
- });
121
- };
122
- _this.renderHorizontalLine = function (config) {
123
- var width = config.width, height = config.height, paddingTop = config.paddingTop, paddingRight = config.paddingRight, _a = config.verticalLabelsHeightPercentage, verticalLabelsHeightPercentage = _a === void 0 ? DEFAULT_X_LABELS_HEIGHT_PERCENTAGE : _a;
124
- return (<Line key="horizontal-line" x1={paddingRight} y1={height * verticalLabelsHeightPercentage + paddingTop} x2={width} y2={height * verticalLabelsHeightPercentage + paddingTop} {..._this.getPropsForBackgroundLines()}/>);
125
- };
126
- _this.renderHorizontalLabels = function (config) {
127
- var count = config.count, data = config.data, height = config.height, paddingTop = config.paddingTop, paddingRight = config.paddingRight, _a = config.horizontalLabelRotation, horizontalLabelRotation = _a === void 0 ? 0 : _a, _b = config.decimalPlaces, decimalPlaces = _b === void 0 ? 2 : _b, _c = config.formatYLabel, formatYLabel = _c === void 0 ? function (yLabel) { return yLabel; } : _c, _d = config.verticalLabelsHeightPercentage, verticalLabelsHeightPercentage = _d === void 0 ? DEFAULT_X_LABELS_HEIGHT_PERCENTAGE : _d;
128
- var values = _this.getValidData(data);
129
- var labelData = values.length === 0 ? [0] : values;
130
- var _e = _this.props, _f = _e.yAxisLabel, yAxisLabel = _f === void 0 ? "" : _f, _g = _e.yAxisSuffix, yAxisSuffix = _g === void 0 ? "" : _g, _h = _e.yLabelsOffset, yLabelsOffset = _h === void 0 ? 12 : _h;
131
- return new Array(count === 1 ? 1 : count + 1).fill(1).map(function (_, i) {
132
- var yLabel = String(i * count);
133
- if (count === 1) {
134
- yLabel = "".concat(yAxisLabel).concat(formatYLabel(labelData[0].toFixed(decimalPlaces))).concat(yAxisSuffix);
135
- }
136
- else {
137
- var label = _this.props.fromZero
138
- ? (_this.calcScaler(labelData) / count) * i + Math.min.apply(Math, __spreadArray(__spreadArray([], labelData, false), [0], false))
139
- : (_this.calcScaler(labelData) / count) * i + Math.min.apply(Math, labelData);
140
- yLabel = "".concat(yAxisLabel).concat(formatYLabel(label.toFixed(decimalPlaces))).concat(yAxisSuffix);
141
- }
142
- var basePosition = height * verticalLabelsHeightPercentage;
143
- var x = paddingRight - yLabelsOffset;
144
- var y = count === 1 && _this.props.fromZero
145
- ? paddingTop + 4
146
- : height * verticalLabelsHeightPercentage -
147
- (basePosition / count) * i +
148
- paddingTop;
149
- return (<Text rotation={horizontalLabelRotation} origin={"".concat(x, ", ").concat(y)} key={"horizontal-label-".concat(i, "-").concat(yLabel)} x={x} textAnchor="end" y={y} {..._this.getPropsForLabels()} {..._this.getPropsForHorizontalLabels()}>
150
- {yLabel}
151
- </Text>);
152
- });
153
- };
154
- _this.renderVerticalLabels = function (_a) {
155
- var _b = _a.labels, labels = _b === void 0 ? [] : _b, width = _a.width, height = _a.height, paddingRight = _a.paddingRight, paddingTop = _a.paddingTop, _c = _a.horizontalOffset, horizontalOffset = _c === void 0 ? 0 : _c, _d = _a.stackedBar, stackedBar = _d === void 0 ? false : _d, _e = _a.verticalLabelRotation, verticalLabelRotation = _e === void 0 ? 0 : _e, _f = _a.formatXLabel, formatXLabel = _f === void 0 ? function (xLabel) { return xLabel; } : _f, _g = _a.verticalLabelsHeightPercentage, verticalLabelsHeightPercentage = _g === void 0 ? DEFAULT_X_LABELS_HEIGHT_PERCENTAGE : _g;
156
- var _h = _this.props, _j = _h.xAxisLabel, xAxisLabel = _j === void 0 ? "" : _j, _k = _h.xLabelsOffset, xLabelsOffset = _k === void 0 ? 0 : _k, _l = _h.hidePointsAtIndex, hidePointsAtIndex = _l === void 0 ? [] : _l;
157
- var fontSize = 12;
158
- var fac = 1;
159
- if (stackedBar) {
160
- fac = 0.71;
161
- }
162
- return labels.map(function (label, i) {
163
- if (hidePointsAtIndex.includes(i)) {
164
- return null;
165
- }
166
- var x = (((width - paddingRight) / labels.length) * i +
167
- paddingRight +
168
- horizontalOffset) *
169
- fac;
170
- var y = height * verticalLabelsHeightPercentage +
171
- paddingTop +
172
- fontSize * 2 +
173
- xLabelsOffset;
174
- return (<Text origin={"".concat(x, ", ").concat(y)} rotation={verticalLabelRotation} key={"vertical-label-".concat(i, "-").concat(label)} x={x} y={y} textAnchor={verticalLabelRotation === 0 ? "middle" : "start"} {..._this.getPropsForLabels()} {..._this.getPropsForVerticalLabels()}>
175
- {"".concat(formatXLabel(label)).concat(xAxisLabel)}
176
- </Text>);
177
- });
178
- };
179
- _this.renderVerticalLines = function (_a) {
180
- var data = _a.data, width = _a.width, height = _a.height, paddingTop = _a.paddingTop, paddingRight = _a.paddingRight, _b = _a.verticalLabelsHeightPercentage, verticalLabelsHeightPercentage = _b === void 0 ? DEFAULT_X_LABELS_HEIGHT_PERCENTAGE : _b;
181
- var _c = _this.props.yAxisInterval, yAxisInterval = _c === void 0 ? 1 : _c;
182
- return __spreadArray([], new Array(Math.ceil(data.length / yAxisInterval)), true).map(function (_, i) {
183
- return (<Line key={"vertical-line-".concat(i)} x1={Math.floor(((width - paddingRight) / (data.length / yAxisInterval)) * i +
184
- paddingRight)} y1={0} x2={Math.floor(((width - paddingRight) / (data.length / yAxisInterval)) * i +
185
- paddingRight)} y2={height * verticalLabelsHeightPercentage + paddingTop} {..._this.getPropsForBackgroundLines()}/>);
186
- });
187
- };
188
- _this.renderVerticalLine = function (_a) {
189
- var height = _a.height, paddingTop = _a.paddingTop, paddingRight = _a.paddingRight, _b = _a.verticalLabelsHeightPercentage, verticalLabelsHeightPercentage = _b === void 0 ? DEFAULT_X_LABELS_HEIGHT_PERCENTAGE : _b;
190
- return (<Line key="vertical-line" x1={Math.floor(paddingRight)} y1={0} x2={Math.floor(paddingRight)} y2={height * verticalLabelsHeightPercentage + paddingTop} {..._this.getPropsForBackgroundLines()}/>);
191
- };
192
- _this.renderDefs = function (config) {
193
- var width = config.width, height = config.height, backgroundGradientFrom = config.backgroundGradientFrom, backgroundGradientTo = config.backgroundGradientTo, useShadowColorFromDataset = config.useShadowColorFromDataset, data = config.data;
194
- var fromOpacity = config.hasOwnProperty("backgroundGradientFromOpacity")
195
- ? config.backgroundGradientFromOpacity
196
- : 1.0;
197
- var toOpacity = config.hasOwnProperty("backgroundGradientToOpacity")
198
- ? config.backgroundGradientToOpacity
199
- : 1.0;
200
- var fillShadowGradient = config.hasOwnProperty("fillShadowGradient")
201
- ? config.fillShadowGradient
202
- : _this.props.chartConfig.color(1.0);
203
- var fillShadowGradientOpacity = config.hasOwnProperty("fillShadowGradientOpacity")
204
- ? config.fillShadowGradientOpacity
205
- : 0.1;
206
- var fillShadowGradientFrom = config.hasOwnProperty("fillShadowGradientFrom")
207
- ? config.fillShadowGradientFrom
208
- : fillShadowGradient;
209
- var fillShadowGradientFromOpacity = config.hasOwnProperty("fillShadowGradientFromOpacity")
210
- ? config.fillShadowGradientFromOpacity
211
- : fillShadowGradientOpacity;
212
- var fillShadowGradientFromOffset = config.hasOwnProperty("fillShadowGradientFromOffset")
213
- ? config.fillShadowGradientFromOffset
214
- : 0;
215
- var fillShadowGradientTo = config.hasOwnProperty("fillShadowGradientTo")
216
- ? config.fillShadowGradientTo
217
- : _this.props.chartConfig.color(1.0);
218
- var fillShadowGradientToOpacity = config.hasOwnProperty("fillShadowGradientToOpacity")
219
- ? config.fillShadowGradientToOpacity
220
- : 0.1;
221
- var fillShadowGradientToOffset = config.hasOwnProperty("fillShadowGradientToOffset")
222
- ? config.fillShadowGradientToOffset
223
- : 1;
224
- return (<Defs>
225
- <LinearGradient id={_this.getGradientId("backgroundGradient")} x1={0} y1={height} x2={width} y2={0} gradientUnits="userSpaceOnUse">
226
- <Stop offset="0" stopColor={backgroundGradientFrom} stopOpacity={fromOpacity}/>
227
- <Stop offset="1" stopColor={backgroundGradientTo} stopOpacity={toOpacity}/>
228
- </LinearGradient>
229
- {useShadowColorFromDataset && data ? (data.map(function (dataset, index) { return (<LinearGradient id={_this.getGradientId("fillShadowGradientFrom_".concat(index))} key={"".concat(index)} x1={0} y1={0} x2={0} y2={height} gradientUnits="userSpaceOnUse">
230
- <Stop offset={fillShadowGradientFromOffset} stopColor={dataset.color ? dataset.color(1.0) : fillShadowGradientFrom} stopOpacity={fillShadowGradientFromOpacity}/>
231
- <Stop offset={fillShadowGradientToOffset} stopColor={dataset.color
232
- ? dataset.color(fillShadowGradientFromOpacity)
233
- : fillShadowGradientFrom} stopOpacity={fillShadowGradientToOpacity || 0}/>
234
- </LinearGradient>); })) : (<LinearGradient id={_this.getGradientId("fillShadowGradientFrom")} x1={0} y1={0} x2={0} y2={height} gradientUnits="userSpaceOnUse">
235
- <Stop offset={fillShadowGradientFromOffset} stopColor={fillShadowGradientFrom} stopOpacity={fillShadowGradientFromOpacity}/>
236
- <Stop offset={fillShadowGradientToOffset} stopColor={fillShadowGradientTo || fillShadowGradientFrom} stopOpacity={fillShadowGradientToOpacity || 0}/>
237
- </LinearGradient>)}
238
- </Defs>);
239
- };
240
- return _this;
241
- }
242
- AbstractChart.prototype.getPropsForBackgroundLines = function () {
243
- var _a = this.props.chartConfig.propsForBackgroundLines, propsForBackgroundLines = _a === void 0 ? {} : _a;
244
- return __assign({ stroke: this.props.chartConfig.color(0.2), strokeDasharray: "5, 10", strokeWidth: 1 }, propsForBackgroundLines);
245
- };
246
- AbstractChart.prototype.getPropsForLabels = function () {
247
- var _a = this.props.chartConfig, _b = _a.propsForLabels, propsForLabels = _b === void 0 ? {} : _b, color = _a.color, _c = _a.labelColor, labelColor = _c === void 0 ? color : _c;
248
- return __assign({ fontSize: 12, fill: labelColor(0.8) }, propsForLabels);
249
- };
250
- AbstractChart.prototype.getPropsForVerticalLabels = function () {
251
- var _a = this.props.chartConfig, _b = _a.propsForVerticalLabels, propsForVerticalLabels = _b === void 0 ? {} : _b, color = _a.color, _c = _a.labelColor, labelColor = _c === void 0 ? color : _c;
252
- return __assign({ fill: labelColor(0.8) }, propsForVerticalLabels);
253
- };
254
- AbstractChart.prototype.getPropsForHorizontalLabels = function () {
255
- var _a = this.props.chartConfig, _b = _a.propsForHorizontalLabels, propsForHorizontalLabels = _b === void 0 ? {} : _b, color = _a.color, _c = _a.labelColor, labelColor = _c === void 0 ? color : _c;
256
- return __assign({ fill: labelColor(0.8) }, propsForHorizontalLabels);
257
- };
258
- return AbstractChart;
259
- }(Component));
260
- export default AbstractChart;
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RDaGFydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9BYnN0cmFjdENoYXJ0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFxQzFFLE1BQU0sQ0FBQyxJQUFNLGtDQUFrQyxHQUFHLElBQUksQ0FBQztBQUV2RCxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFFcEI7SUFHVSxpQ0FBbUU7SUFIN0U7O1FBSVUsYUFBTyxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBRXRCLGtCQUFZLEdBQUcsVUFBQyxJQUFtQjtZQUFuQixxQkFBQSxFQUFBLFNBQW1CO1lBQzNDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFBLEtBQUssSUFBSSxPQUFBLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQTVDLENBQTRDLENBQUMsQ0FBQztRQUM1RSxDQUFDLENBQUM7UUFFUSxtQkFBYSxHQUFHLFVBQUMsRUFBVTtZQUNuQyxPQUFPLG9CQUFhLEtBQUksQ0FBQyxPQUFPLGNBQUksRUFBRSxDQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDO1FBRVEsb0JBQWMsR0FBRyxVQUFDLEVBQVU7WUFDcEMsT0FBTyxlQUFRLEtBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLE1BQUcsQ0FBQztRQUMzQyxDQUFDLENBQUM7UUFFRixnQkFBVSxHQUFHLFVBQUMsSUFBYztZQUMxQixJQUFNLE1BQU0sR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXZDLElBQUksTUFBTSxDQUFDLE1BQU0s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RUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLElBQ2xCLGNBQWMsRUFDakI7SUFDSixDQUFDO0lBRUQsaURBQXlCLEdBQXpCO1FBQ1EsSUFBQSxLQUlGLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUh4Qiw4QkFBMkIsRUFBM0Isc0JBQXNCLG1CQUFHLEVBQUUsS0FBQSxFQUMzQixLQUFLLFdBQUEsRUFDTCxrQkFBa0IsRUFBbEIsVUFBVSxtQkFBRyxLQUFLLEtBQ00sQ0FBQztRQUMzQixrQkFDRSxJQUFJLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUNsQixzQkFBc0IsRUFDekI7SUFDSixDQUFDO0lBRUQsbURBQTJCLEdBQTNCO1FBQ1EsSUFBQSxLQUlGLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUh4QixnQ0FBNkIsRUFBN0Isd0JBQXdCLG1CQUFHLEVBQUUsS0FBQSxFQUM3QixLQUFLLFdBQUEsRUFDTCxrQkFBa0IsRUFBbEIsVUFBVSxtQkFBRyxLQUFLLEtBQ00sQ0FBQztRQUMzQixrQkFDRSxJQUFJLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUNsQix3QkFBd0IsRUFDM0I7SUFDSixDQUFDO0lBMlpILG9CQUFDO0FBQUQsQ0FBQyxBQTloQkQsQ0FHVSxTQUFTLEdBMmhCbEI7QUFFRCxlQUFlLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IERlZnMsIExpbmUsIExpbmVhckdyYWRpZW50LCBTdG9wLCBUZXh0IH0gZnJvbSBcInJlYWN0LW5hdGl2ZS1zdmdcIjtcblxuaW1wb3J0IHsgQ2hhcnRDb25maWcsIERhdGFzZXQsIFBhcnRpYWxCeSB9IGZyb20gXCIuL0hlbHBlclR5cGVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWJzdHJhY3RDaGFydFByb3BzIHtcbiAgZnJvbVplcm8/OiBib29sZWFuO1xuICBmcm9tTnVtYmVyPzogbnVtYmVyO1xuICBjaGFydENvbmZpZz86IEFic3RyYWN0Q2hhcnRDb25maWc7XG4gIHlBeGlzTGFiZWw/OiBzdHJpbmc7XG4gIHlBeGlzU3VmZml4Pzogc3RyaW5nO1xuICB5TGFiZWxzT2Zmc2V0PzogbnVtYmVyO1xuICB5QXhpc0ludGVydmFsPzogbnVtYmVyO1xuICB4QXhpc0xhYmVsPzogc3RyaW5nO1xuICB4TGFiZWxzT2Zmc2V0PzogbnVtYmVyO1xuICBoaWRlUG9pbnRzQXRJbmRleD86IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFic3RyYWN0Q2hhcnRDb25maWcgZXh0ZW5kcyBDaGFydENvbmZpZyB7XG4gIGNvdW50PzogbnVtYmVyO1xuICBkYXRhPzogRGF0YXNldFtdO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBwYWRkaW5nVG9wPzogbnVtYmVyO1xuICBwYWRkaW5nUmlnaHQ/OiBudW1iZXI7XG4gIGhvcml6b250YWxMYWJlbFJvdGF0aW9uPzogbnVtYmVyO1xuICBmb3JtYXRZTGFiZWw/OiAoeUxhYmVsOiBzdHJpbmcpID0+IHN0cmluZztcbiAgbGFiZWxzPzogc3RyaW5nW107XG4gIGhvcml6b250YWxPZmZzZXQ/OiBudW1iZXI7XG4gIHN0YWNrZWRCYXI/OiBib29sZWFuO1xuICB2ZXJ0aWNhbExhYmVsUm90YXRpb24/OiBudW1iZXI7XG4gIGZvcm1hdFhMYWJlbD86ICh4TGFiZWw6IHN0cmluZykgPT4gc3RyaW5nO1xuICB2ZXJ0aWNhbExhYmVsc0hlaWdodFBlcmNlbnRhZ2U/OiBudW1iZXI7XG4gIGZvcm1hdFRvcEJhclZhbHVlPzogKHRvcEJhclZhbHVlOiBudW1iZXIpID0+IHN0cmluZyB8IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgQWJzdHJhY3RDaGFydFN0YXRlID0ge307XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1hfTEFCRUxTX0hFSUdIVF9QRVJDRU5UQUdFID0gMC43NTtcblxubGV0IG5leHRDaGFydElkID0gMDtcblxuY2xhc3MgQWJzdHJhY3RDaGFydDxcbiAgSVByb3BzIGV4dGVuZHMgQWJzdHJhY3RDaGFydFByb3BzLFxuICBJU3RhdGUgZXh0ZW5kcyBBYnN0cmFjdENoYXJ0U3RhdGVcbj4gZXh0ZW5kcyBDb21wb25lbnQ8QWJzdHJhY3RDaGFydFByb3BzICYgSVByb3BzLCBBYnN0cmFjdENoYXJ0U3RhdGUgJiBJU3RhdGU+IHtcbiAgcHJpdmF0ZSBjaGFydElkID0gbmV4dENoYXJ0SWQrKztcblxuICBwcm90ZWN0ZWQgZ2V0VmFsaWREYXRhID0gKGRhdGE6IG51bWJlcltdID0gW10pID0+IHtcbiAgICByZXR1cm4gZGF0YS5maWx0ZXIodmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiICYmIGlzRmluaXRlKHZhbHVlKSk7XG4gIH07XG5cbiAgcHJvdGVjdGVkIGdldEdyYWRpZW50SWQgPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBgY2hhcnQta2l0LSR7dGhpcy5jaGFydElkfS0ke2lkfWA7XG4gIH07XG5cbiAgcHJvdGVjdGVkIGdldEdyYWRpZW50VXJsID0gKGlkOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gYHVybCgjJHt0aGlzLmdldEdyYWRpZW50SWQoaWQpfSlgO1xuICB9O1xuXG4gIGNhbGNTY2FsZXIgPSAoZGF0YTogbnVtYmVyW10pID0+IHtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmdldFZhbGlkRGF0YShkYXRhKTtcblxuICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5mcm9tWmVybyAmJiB0aGlzLnByb3BzLmZyb21OdW1iZXIpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIE1hdGgubWF4KC4uLnZhbHVlcywgdGhpcy5wcm9wcy5mcm9tTnVtYmVyKSAtIE1hdGgubWluKC4uLnZhbHVlcywgMCkgfHwgMVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvcHMuZnJvbVplcm8pIHtcbiAgICAgIHJldHVybiBNYXRoLm1heCguLi52YWx1ZXMsIDApIC0gTWF0aC5taW4oLi4udmFsdWVzLCAwKSB8fCAxO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcm9wcy5mcm9tTnVtYmVyKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBNYXRoLm1heCguLi52YWx1ZXMsIHRoaXMucHJvcHMuZnJvbU51bWJlcikgLVxuICAgICAgICAgIE1hdGgubWluKC4uLnZhbHVlcywgdGhpcy5wcm9wcy5mcm9tTnVtYmVyKSB8fCAxXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gTWF0aC5tYXgoLi4udmFsdWVzKSAtIE1hdGgubWluKC4uLnZhbHVlcykgfHwgMTtcbiAgICB9XG4gIH07XG5cbiAgY2FsY0Jhc2VIZWlnaHQgPSAoZGF0YTogbnVtYmVyW10sIGhlaWdodDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5nZXRWYWxpZERhdGEoZGF0YSk7XG5cbiAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGhlaWdodDtcbiAgICB9XG5cbiAgICBjb25zdCBtaW4gPSBNYXRoLm1pbiguLi52YWx1ZXMpO1xuICAgIGNvbnN0IG1heCA9IE1hdGgubWF4KC4uLnZhbHVlcyk7XG4gICAgaWYgKG1pbiA+PSAwICYmIG1heCA+PSAwKSB7XG4gICAgICByZXR1cm4gaGVpZ2h0O1xuICAgIH0gZWxzZSBpZiAobWluIDwgMCAmJiBtYXggPD0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfSBlbHNlIGlmIChtaW4gPCAwICYmIG1heCA+IDApIHtcbiAgICAgIHJldHVybiAoaGVpZ2h0ICogbWF4KSAvIHRoaXMuY2FsY1NjYWxlcih2YWx1ZXMpO1xuICAgIH1cbiAgfTtcblxuICBjYWxjSGVpZ2h0ID0gKHZhbDogbnVtYmVyLCBkYXRhOiBudW1iZXJbXSwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBpZiAodHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIiB8fCAhaXNGaW5pdGUodmFsKSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5nZXRWYWxpZERhdGEoZGF0YSk7XG5cbiAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3QgbWF4ID0gTWF0aC5tYXgoLi4udmFsdWVzKTtcbiAgICBjb25zdCBtaW4gPSBNYXRoLm1pbiguLi52YWx1ZXMpO1xuXG4gICAgaWYgKG1pbiA8IDAgJiYgbWF4ID4gMCkge1xuICAgICAgcmV0dXJuIGhlaWdodCAqICh2YWwgLyB0aGlzLmNhbGNTY2FsZXIodmFsdWVzKSk7XG4gICAgfSBlbHNlIGlmIChtaW4gPj0gMCAmJiBtYXggPj0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMuZnJvbVplcm9cbiAgICAgICAgPyBoZWlnaHQgKiAodmFsIC8gdGhpcy5jYWxjU2NhbGVyKHZhbHVlcykpXG4gICAgICAgIDogaGVpZ2h0ICogKCh2YWwgLSBtaW4pIC8gdGhpcy5jYWxjU2NhbGVyKHZhbHVlcykpO1xuICAgIH0gZWxzZSBpZiAobWluIDwgMCAmJiBtYXggPD0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMuZnJvbVplcm9cbiAgICAgICAgPyBoZWlnaHQgKiAodmFsIC8gdGhpcy5jYWxjU2NhbGVyKHZhbHVlcykpXG4gICAgICAgIDogaGVpZ2h0ICogKCh2YWwgLSBtYXgpIC8gdGhpcy5jYWxjU2NhbGVyKHZhbHVlcykpO1xuICAgIH1cbiAgfTtcblxuICBnZXRQcm9wc0ZvckJhY2tncm91bmRMaW5lcygpIHtcbiAgICBjb25zdCB7IHByb3BzRm9yQmFja2dyb3VuZExpbmVzID0ge30gfSA9IHRoaXMucHJvcHMuY2hhcnRDb25maWc7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0cm9rZTogdGhpcy5wcm9wcy5jaGFydENvbmZpZy5jb2xvcigwLjIpLFxuICAgICAgc3Ryb2tlRGFzaGFycmF5OiBcIjUsIDEwXCIsXG4gICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgIC4uLnByb3BzRm9yQmFja2dyb3VuZExpbmVzXG4gICAgfTtcbiAgfVxuXG4gIGdldFByb3BzRm9yTGFiZWxzKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHByb3BzRm9yTGFiZWxzID0ge30sXG4gICAgICBjb2xvcixcbiAgICAgIGxhYmVsQ29sb3IgPSBjb2xvclxuICAgIH0gPSB0aGlzLnByb3BzLmNoYXJ0Q29uZmlnO1xuICAgIHJldHVybiB7XG4gICAgICBmb250U2l6ZTogMTIsXG4gICAgICBmaWxsOiBsYWJlbENvbG9yKDAuOCksXG4gICAgICAuLi5wcm9wc0ZvckxhYmVsc1xuICAgIH07XG4gIH1cblxuICBnZXRQcm9wc0ZvclZlcnRpY2FsTGFiZWxzKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHByb3BzRm9yVmVydGljYWxMYWJlbHMgPSB7fSxcbiAgICAgIGNvbG9yLFxuICAgICAgbGFiZWxDb2xvciA9IGNvbG9yXG4gICAgfSA9IHRoaXMucHJvcHMuY2hhcnRDb25maWc7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpbGw6IGxhYmVsQ29sb3IoMC44KSxcbiAgICAgIC4uLnByb3BzRm9yVmVydGljYWxMYWJlbHNcbiAgICB9O1xuICB9XG5cbiAgZ2V0UHJvcHNGb3JIb3Jpem9udGFsTGFiZWxzKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHByb3BzRm9ySG9yaXpvbnRhbExhYmVscyA9IHt9LFxuICAgICAgY29sb3IsXG4gICAgICBsYWJlbENvbG9yID0gY29sb3JcbiAgICB9ID0gdGhpcy5wcm9wcy5jaGFydENvbmZpZztcbiAgICByZXR1cm4ge1xuICAgICAgZmlsbDogbGFiZWxDb2xvcigwLjgpLFxuICAgICAgLi4ucHJvcHNGb3JIb3Jpem9udGFsTGFiZWxzXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlckhvcml6b250YWxMaW5lcyA9IGNvbmZpZyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgY291bnQsXG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIHBhZGRpbmdUb3AsXG4gICAgICBwYWRkaW5nUmlnaHQsXG4gICAgICB2ZXJ0aWNhbExhYmVsc0hlaWdodFBlcmNlbnRhZ2UgPSBERUZBVUxUX1hfTEFCRUxTX0hFSUdIVF9QRVJDRU5UQUdFXG4gICAgfSA9IGNvbmZpZztcbiAgICBjb25zdCBiYXNlUG9zaXRpb24gPSBoZWlnaHQgKiB2ZXJ0aWNhbExhYmVsc0hlaWdodFBlcmNlbnRhZ2U7XG5cbiAgICByZXR1cm4gWy4uLm5ldyBBcnJheShjb3VudCArIDEpXS5tYXAoKF8sIGkpID0+IHtcbiAgICAgIGNvbnN0IHkgPSAoYmFzZVBvc2l0aW9uIC8gY291bnQpICogaSArIHBhZGRpbmdUb3A7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8TGluZVxuICAgICAgICAgIGtleT17YGhvcml6b250YWwtbGluZS0ke2l9YH1cbiAgICAgICAgICB4MT17cGFkZGluZ1JpZ2h0fVxuICAgICAgICAgIHkxPXt5fVxuICAgICAgICAgIHgyPXt3aWR0aH1cbiAgICAgICAgICB5Mj17eX1cbiAgICAgICAgICB7Li4udGhpcy5nZXRQcm9wc0ZvckJhY2tncm91bmRMaW5lcygpfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9KTtcbiAgfTtcblxuICByZW5kZXJIb3Jpem9udGFsTGluZSA9IGNvbmZpZyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICBwYWRkaW5nVG9wLFxuICAgICAgcGFkZGluZ1JpZ2h0LFxuICAgICAgdmVydGljYWxMYWJlbHNIZWlnaHRQZXJjZW50YWdlID0gREVGQVVMVF9YX0xBQkVMU19IRUlHSFRfUEVSQ0VOVEFHRVxuICAgIH0gPSBjb25maWc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxMaW5lXG4gICAgICAgIGtleT1cImhvcml6b250YWwtbGluZVwiXG4gICAgICAgIHgxPXtwYWRkaW5nUmlnaHR9XG4gICAgICAgIHkxPXtoZWlnaHQgKiB2ZXJ0aWNhbExhYmVsc0hlaWdodFBlcmNlbnRhZ2UgKyBwYWRkaW5nVG9wfVxuICAgICAgICB4Mj17d2lkdGh9XG4gICAgICAgIHkyPXtoZWlnaHQgKiB2ZXJ0aWNhbExhYmVsc0hlaWdodFBlcmNlbnRhZ2UgKyBwYWRkaW5nVG9wfVxuICAgICAgICB7Li4udGhpcy5nZXRQcm9wc0ZvckJhY2tncm91bmRMaW5lcygpfVxuICAgICAgLz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckhvcml6b250YWxMYWJlbHMgPSAoXG4gICAgY29uZmlnOiBPbWl0PEFic3RyYWN0Q2hhcnRDb25maWcsIFwiZGF0YVwiPiAmIHsgZGF0YTogbnVtYmVyW10gfVxuICApID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBjb3VudCxcbiAgICAgIGRhdGEsXG4gICAgICBoZWlnaHQsXG4gICAgICBwYWRkaW5nVG9wLFxuICAgICAgcGFkZGluZ1JpZ2h0LFxuICAgICAgaG9yaXpvbnRhbExhYmVsUm90YXRpb24gPSAwLFxuICAgICAgZGVjaW1hbFBsYWNlcyA9IDIsXG4gICAgICBmb3JtYXRZTGFiZWwgPSAoeUxhYmVsOiBzdHJpbmcpID0+IHlMYWJlbCxcbiAgICAgIHZlcnRpY2FsTGFiZWxzSGVpZ2h0UGVyY2VudGFnZSA9IERFRkFVTFRfWF9MQUJFTFNfSEVJR0hUX1BFUkNFTlRBR0VcbiAgICB9ID0gY29uZmlnO1xuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZ2V0VmFsaWREYXRhKGRhdGEpO1xuICAgIGNvbnN0IGxhYmVsRGF0YSA9IHZhbHVlcy5sZW5ndGggPT09IDAgPyBbMF0gOiB2YWx1ZXM7XG5cbiAgICBjb25zdCB7XG4gICAgICB5QXhpc0xhYmVsID0gXCJcIixcbiAgICAgIHlBeGlzU3VmZml4ID0gXCJcIixcbiAgICAgIHlMYWJlbHNPZmZzZXQgPSAxMlxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiBuZXcgQXJyYXkoY291bnQgPT09IDEgPyAxIDogY291bnQgKyAxKS5maWxsKDEpLm1hcCgoXywgaSkgPT4ge1xuICAgICAgbGV0IHlMYWJlbCA9IFN0cmluZyhpICogY291bnQpO1xuXG4gICAgICBpZiAoY291bnQgPT09IDEpIHtcbiAgICAgICAgeUxhYmVsID0gYCR7eUF4aXNMYWJlbH0ke2Zvcm1hdFlMYWJlbChcbiAgICAgICAgICBsYWJlbERhdGFbMF0udG9GaXhlZChkZWNpbWFsUGxhY2VzKVxuICAgICAgICApfSR7eUF4aXNTdWZmaXh9YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5wcm9wcy5mcm9tWmVyb1xuICAgICAgICAgID8gKHRoaXMuY2FsY1NjYWxlcihsYWJlbERhdGEpIC8gY291bnQpICogaSArIE1hdGgubWluKC4uLmxhYmVsRGF0YSwgMClcbiAgICAgICAgICA6ICh0aGlzLmNhbGNTY2FsZXIobGFiZWxEYXRhKSAvIGNvdW50KSAqIGkgKyBNYXRoLm1pbiguLi5sYWJlbERhdGEpO1xuICAgICAgICB5TGFiZWwgPSBgJHt5QXhpc0xhYmVsfSR7Zm9ybWF0WUxhYmVsKFxuICAgICAgICAgIGxhYmVsLnRvRml4ZWQoZGVjaW1hbFBsYWNlcylcbiAgICAgICAgKX0ke3lBeGlzU3VmZml4fWA7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJhc2VQb3NpdGlvbiA9IGhlaWdodCAqIHZlcnRpY2FsTGFiZWxzSGVpZ2h0UGVyY2VudGFnZTtcbiAgICAgIGNvbnN0IHggPSBwYWRkaW5nUmlnaHQgLSB5TGFiZWxzT2Zmc2V0O1xuICAgICAgY29uc3QgeSA9XG4gICAgICAgIGNvdW50ID09PSAxICYmIHRoaXMucHJvcHMuZnJvbVplcm9cbiAgICAgICAgICA/IHBhZGRpbmdUb3AgKyA0XG4gICAgICAgICAgOiBoZWlnaHQgKiB2ZXJ0aWNhbExhYmVsc0hlaWdodFBlcmNlbnRhZ2UgLVxuICAgICAgICAgICAgKGJhc2VQb3NpdGlvbiAvIGNvdW50KSAqIGkgK1xuICAgICAgICAgICAgcGFkZGluZ1RvcDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0XG4gICAgICAgICAgcm90YXRpb249e2hvcml6b250YWxMYWJlbFJvdGF0aW9ufVxuICAgICAgICAgIG9yaWdpbj17YCR7eH0sICR7eX1gfVxuICAgICAgICAgIGtleT17YGhvcml6b250YWwtbGFiZWwtJHtpfS0ke3lMYWJlbH1gfVxuICAgICAgICAgIHg9e3h9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cImVuZFwiXG4gICAgICAgICAgeT17eX1cbiAgICAgICAgICB7Li4udGhpcy5nZXRQcm9wc0ZvckxhYmVscygpfVxuICAgICAgICAgIHsuLi50aGlzLmdldFByb3BzRm9ySG9yaXpvbnRhbExhYmVscygpfVxuICAgICAgICA+XG4gICAgICAgICAge3lMYWJlbH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKTtcbiAgICB9KTtcbiAgfTtcblxuICByZW5kZXJWZXJ0aWNhbExhYmVscyA9ICh7XG4gICAgbGFiZWxzID0gW10sXG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHBhZGRpbmdSaWdodCxcbiAgICBwYWRkaW5nVG9wLFxuICAgIGhvcml6b250YWxPZmZzZXQgPSAwLFxuICAgIHN0YWNrZWRCYXIgPSBmYWxzZSxcbiAgICB2ZXJ0aWNhbExhYmVsUm90YXRpb24gPSAwLFxuICAgIGZvcm1hdFhMYWJlbCA9IHhMYWJlbCA9PiB4TGFiZWwsXG4gICAgdmVydGljYWxMYWJlbHNIZWlnaHRQZXJjZW50YWdlID0gREVGQVVMVF9YX0xBQkVMU19IRUlHSFRfUEVSQ0VOVEFHRVxuICB9OiBQaWNrPFxuICAgIEFic3RyYWN0Q2hhcnRDb25maWcsXG4gICAgfCBcImxhYmVsc1wiXG4gICAgfCBcIndpZHRoXCJcbiAgICB8IFwiaGVpZ2h0XCJcbiAgICB8IFwicGFkZGluZ1JpZ2h0XCJcbiAgICB8IFwicGFkZGluZ1RvcFwiXG4gICAgfCBcImhvcml6b250YWxPZmZzZXRcIlxuICAgIHwgXCJzdGFja2VkQmFyXCJcbiAgICB8IFwidmVydGljYWxMYWJlbFJvdGF0aW9uXCJcbiAgICB8IFwiZm9ybWF0WExhYmVsXCJcbiAgICB8IFwidmVydGljYWxMYWJlbHNIZWlnaHRQZXJjZW50YWdlXCJcbiAgPikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHhBeGlzTGFiZWwgPSBcIlwiLFxuICAgICAgeExhYmVsc09mZnNldCA9IDAsXG4gICAgICBoaWRlUG9pbnRzQXRJbmRleCA9IFtdXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBmb250U2l6ZSA9IDEyO1xuXG4gICAgbGV0IGZhYyA9IDE7XG4gICAgaWYgKHN0YWNrZWRCYXIpIHtcbiAgICAgIGZhYyA9IDAuNzE7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxhYmVscy5tYXAoKGxhYmVsLCBpKSA9PiB7XG4gICAgICBpZiAoaGlkZVBvaW50c0F0SW5kZXguaW5jbHVkZXMoaSkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHggPVxuICAgICAgICAoKCh3aWR0aCAtIHBhZGRpbmdSaWdodCkgLyBsYWJlbHMubGVuZ3RoKSAqIGkgK1xuICAgICAgICAgIHBhZGRpbmdSaWdodCArXG4gICAgICAgICAgaG9yaXpvbnRhbE9mZnNldCkgKlxuICAgICAgICBmYWM7XG5cbiAgICAgIGNvbnN0IHkgPVxuICAgICAgICBoZWlnaHQgKiB2ZXJ0aWNhbExhYmVsc0hlaWdodFBlcmNlbnRhZ2UgK1xuICAgICAgICBwYWRkaW5nVG9wICtcbiAgICAgICAgZm9udFNpemUgKiAyICtcbiAgICAgICAgeExhYmVsc09mZnNldDtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFRleHRcbiAgICAgICAgICBvcmlnaW49e2Ake3h9LCAke3l9YH1cbiAgICAgICAgICByb3RhdGlvbj17dmVydGljYWxMYWJlbFJvdGF0aW9ufVxuICAgICAgICAgIGtleT17YHZlcnRpY2FsLWxhYmVsLSR7aX0tJHtsYWJlbH1gfVxuICAgICAgICAgIHg9e3h9XG4gICAgICAgICAgeT17eX1cbiAgICAgICAgICB0ZXh0QW5jaG9yPXt2ZXJ0aWNhbExhYmVsUm90YXRpb24gPT09IDAgPyBcIm1pZGRsZVwiIDogXCJzdGFydFwifVxuICAgICAgICAgIHsuLi50aGlzLmdldFByb3BzRm9yTGFiZWxzKCl9XG4gICAgICAgICAgey4uLnRoaXMuZ2V0UHJvcHNGb3JWZXJ0aWNhbExhYmVscygpfVxuICAgICAgICA+XG4gICAgICAgICAge2Ake2Zvcm1hdFhMYWJlbChsYWJlbCl9JHt4QXhpc0xhYmVsfWB9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICk7XG4gICAgfSk7XG4gIH07XG5cbiAgcmVuZGVyVmVydGljYWxMaW5lcyA9ICh7XG4gICAgZGF0YSxcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgcGFkZGluZ1RvcCxcbiAgICBwYWRkaW5nUmlnaHQsXG4gICAgdmVydGljYWxMYWJlbHNIZWlnaHRQZXJjZW50YWdlID0gREVGQVVMVF9YX0xBQkVMU19IRUlHSFRfUEVSQ0VOVEFHRVxuICB9OiBPbWl0PFxuICAgIFBpY2s8XG4gICAgICBBYnN0cmFjdENoYXJ0Q29uZmlnLFxuICAgICAgfCBcImRhdGFcIlxuICAgICAgfCBcIndpZHRoXCJcbiAgICAgIHwgXCJoZWlnaHRcIlxuICAgICAgfCBcInBhZGRpbmdSaWdodFwiXG4gICAgICB8IFwicGFkZGluZ1RvcFwiXG4gICAgICB8IFwidmVydGljYWxMYWJlbHNIZWlnaHRQZXJjZW50YWdlXCJcbiAgICA+LFxuICAgIFwiZGF0YVwiXG4gID4gJiB7IGRhdGE6IG51bWJlcltdIH0pID0+IHtcbiAgICBjb25zdCB7IHlBeGlzSW50ZXJ2YWwgPSAxIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIFsuLi5uZXcgQXJyYXkoTWF0aC5jZWlsKGRhdGEubGVuZ3RoIC8geUF4aXNJbnRlcnZhbCkpXS5tYXAoXG4gICAgICAoXywgaSkgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxMaW5lXG4gICAgICAgICAgICBrZXk9e2B2ZXJ0aWNhbC1saW5lLSR7aX1gfVxuICAgICAgICAgICAgeDE9e01hdGguZmxvb3IoXG4gICAgICAgICAgICAgICgod2lkdGggLSBwYWRkaW5nUmlnaHQpIC8gKGRhdGEubGVuZ3RoIC8geUF4aXNJbnRlcnZhbCkpICogaSArXG4gICAgICAgICAgICAgICAgcGFkZGluZ1JpZ2h0XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgeTE9ezB9XG4gICAgICAgICAgICB4Mj17TWF0aC5mbG9vcihcbiAgICAgICAgICAgICAgKCh3aWR0aCAtIHBhZGRpbmdSaWdodCkgLyAoZGF0YS5sZW5ndGggLyB5QXhpc0ludGVydmFsKSkgKiBpICtcbiAgICAgICAgICAgICAgICBwYWRkaW5nUmlnaHRcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB5Mj17aGVpZ2h0ICogdmVydGljYWxMYWJlbHNIZWlnaHRQZXJjZW50YWdlICsgcGFkZGluZ1RvcH1cbiAgICAgICAgICAgIHsuLi50aGlzLmdldFByb3BzRm9yQmFja2dyb3VuZExpbmVzKCl9XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlclZlcnRpY2FsTGluZSA9ICh7XG4gICAgaGVpZ2h0LFxuICAgIHBhZGRpbmdUb3AsXG4gICAgcGFkZGluZ1JpZ2h0LFxuICAgIHZlcnRpY2FsTGFiZWxzSGVpZ2h0UGVyY2VudGFnZSA9IERFRkFVTFRfWF9MQUJFTFNfSEVJR0hUX1BFUkNFTlRBR0VcbiAgfTogUGljazxcbiAgICBBYnN0cmFjdENoYXJ0Q29uZmlnLFxuICAgIFwiaGVpZ2h0XCIgfCBcInBhZGRpbmdSaWdodFwiIHwgXCJwYWRkaW5nVG9wXCIgfCBcInZlcnRpY2FsTGFiZWxzSGVpZ2h0UGVyY2VudGFnZVwiXG4gID4pID0+IChcbiAgICA8TGluZVxuICAgICAga2V5PVwidmVydGljYWwtbGluZVwiXG4gICAgICB4MT17TWF0aC5mbG9vcihwYWRkaW5nUmlnaHQpfVxuICAgICAgeTE9ezB9XG4gICAgICB4Mj17TWF0aC5mbG9vcihwYWRkaW5nUmlnaHQpfVxuICAgICAgeTI9e2hlaWdodCAqIHZlcnRpY2FsTGFiZWxzSGVpZ2h0UGVyY2VudGFnZSArIHBhZGRpbmdUb3B9XG4gICAgICB7Li4udGhpcy5nZXRQcm9wc0ZvckJhY2tncm91bmRMaW5lcygpfVxuICAgIC8+XG4gICk7XG5cbiAgcmVuZGVyRGVmcyA9IChcbiAgICBjb25maWc6IFBpY2s8XG4gICAgICBQYXJ0aWFsQnk8XG4gICAgICAgIEFic3RyYWN0Q2hhcnRDb25maWcsXG4gICAgICAgIHwgXCJiYWNrZ3JvdW5kR3JhZGllbnRGcm9tT3BhY2l0eVwiXG4gICAgICAgIHwgXCJiYWNrZ3JvdW5kR3JhZGllbnRUb09wYWNpdHlcIlxuICAgICAgICB8IFwiZmlsbFNoYWRvd0dyYWRpZW50XCJcbiAgICAgICAgfCBcImZpbGxTaGFkb3dHcmFkaWVudE9wYWNpdHlcIlxuICAgICAgICB8IFwiZmlsbFNoYWRvd0dyYWRpZW50RnJvbVwiXG4gICAgICAgIHwgXCJmaWxsU2hhZG93R3JhZGllbnRGcm9tT3BhY2l0eVwiXG4gICAgICAgIHwgXCJmaWxsU2hhZG93R3JhZGllbnRGcm9tT2Zmc2V0XCJcbiAgICAgICAgfCBcImZpbGxTaGFkb3dHcmFkaWVudFRvXCJcbiAgICAgICAgfCBcImZpbGxTaGFkb3dHcmFkaWVudFRvT3BhY2l0eVwiXG4gICAgICAgIHwgXCJmaWxsU2hhZG93R3JhZGllbnRUb09mZnNldFwiXG4gICAgICA+LFxuICAgICAgfCBcIndpZHRoXCJcbiAgICAgIHwgXCJoZWlnaHRcIlxuICAgICAgfCBcImJhY2tncm91bmRHcmFkaWVudEZyb21cIlxuICAgICAgfCBcImJhY2tncm91bmRHcmFkaWVudFRvXCJcbiAgICAgIHwgXCJ1c2VTaGFkb3dDb2xvckZyb21EYXRhc2V0XCJcbiAgICAgIHwgXCJkYXRhXCJcbiAgICAgIHwgXCJiYWNrZ3JvdW5kR3JhZGllbnRGcm9tT3BhY2l0eVwiXG4gICAgICB8IFwiYmFja2dyb3VuZEdyYWRpZW50VG9PcGFjaXR5XCJcbiAgICAgIHwgXCJmaWxsU2hhZG93R3JhZGllbnRcIlxuICAgICAgfCBcImZpbGxTaGFkb3dHcmFkaWVudE9wYWNpdHlcIlxuICAgICAgfCBcImZpbGxTaGFkb3dHcmFkaWVudEZyb21cIlxuICAgICAgfCBcImZpbGxTaGFkb3dHcmFkaWVudEZyb21PcGFjaXR5XCJcbiAgICAgIHwgXCJmaWxsU2hhZG93R3JhZGllbnRGcm9tT2Zmc2V0XCJcbiAgICAgIHwgXCJmaWxsU2hhZG93R3JhZGllbnRUb1wiXG4gICAgICB8IFwiZmlsbFNoYWRvd0dyYWRpZW50VG9PcGFjaXR5XCJcbiAgICAgIHwgXCJmaWxsU2hhZG93R3JhZGllbnRUb09mZnNldFwiXG4gICAgPlxuICApID0+IHtcbiAgICBjb25zdCB7XG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIGJhY2tncm91bmRHcmFkaWVudEZyb20sXG4gICAgICBiYWNrZ3JvdW5kR3JhZGllbnRUbyxcbiAgICAgIHVzZVNoYWRvd0NvbG9yRnJvbURhdGFzZXQsXG4gICAgICBkYXRhXG4gICAgfSA9IGNvbmZpZztcblxuICAgIGNvbnN0IGZyb21PcGFjaXR5ID0gY29uZmlnLmhhc093blByb3BlcnR5KFwiYmFja2dyb3VuZEdyYWRpZW50RnJvbU9wYWNpdHlcIilcbiAgICAgID8gY29uZmlnLmJhY2tncm91bmRHcmFkaWVudEZyb21PcGFjaXR5XG4gICAgICA6IDEuMDtcbiAgICBjb25zdCB0b09wYWNpdHkgPSBjb25maWcuaGFzT3duUHJvcGVydHkoXCJiYWNrZ3JvdW5kR3JhZGllbnRUb09wYWNpdHlcIilcbiAgICAgID8gY29uZmlnLmJhY2tncm91bmRHcmFkaWVudFRvT3BhY2l0eVxuICAgICAgOiAxLjA7XG5cbiAgICBjb25zdCBmaWxsU2hhZG93R3JhZGllbnQgPSBjb25maWcuaGFzT3duUHJvcGVydHkoXCJmaWxsU2hhZG93R3JhZGllbnRcIilcbiAgICAgID8gY29uZmlnLmZpbGxTaGFkb3dHcmFkaWVudFxuICAgICAgOiB0aGlzLnByb3BzLmNoYXJ0Q29uZmlnLmNvbG9yKDEuMCk7XG5cbiAgICBjb25zdCBmaWxsU2hhZG93R3JhZGllbnRPcGFjaXR5ID0gY29uZmlnLmhhc093blByb3BlcnR5KFxuICAgICAgXCJmaWxsU2hhZG93R3JhZGllbnRPcGFjaXR5XCJcbiAgICApXG4gICAgICA/IGNvbmZpZy5maWxsU2hhZG93R3JhZGllbnRPcGFjaXR5XG4gICAgICA6IDAuMTtcblxuICAgIGNvbnN0IGZpbGxTaGFkb3dHcmFkaWVudEZyb20gPSBjb25maWcuaGFzT3duUHJvcGVydHkoXG4gICAgICBcImZpbGxTaGFkb3dHcmFkaWVudEZyb21cIlxuICAgIClcbiAgICAgID8gY29uZmlnLmZpbGxTaGFkb3dHcmFkaWVudEZyb21cbiAgICAgIDogZmlsbFNoYWRvd0dyYWRpZW50O1xuXG4gICAgY29uc3QgZmlsbFNoYWRvd0dyYWRpZW50RnJvbU9wYWNpdHkgPSBjb25maWcuaGFzT3duUHJvcGVydHkoXG4gICAgICBcImZpbGxTaGFkb3dHcmFkaWVudEZyb21PcGFjaXR5XCJcbiAgICApXG4gICAgICA/IGNvbmZpZy5maWxsU2hhZG93R3JhZGllbnRGcm9tT3BhY2l0eVxuICAgICAgOiBmaWxsU2hhZG93R3JhZGllbnRPcGFjaXR5O1xuXG4gICAgY29uc3QgZmlsbFNoYWRvd0dyYWRpZW50RnJvbU9mZnNldCA9IGNvbmZpZy5oYXNPd25Qcm9wZXJ0eShcbiAgICAgIFwiZmlsbFNoYWRvd0dyYWRpZW50RnJvbU9mZnNldFwiXG4gICAgKVxuICAgICAgPyBjb25maWcuZmlsbFNoYWRvd0dyYWRpZW50RnJvbU9mZnNldFxuICAgICAgOiAwO1xuXG4gICAgY29uc3QgZmlsbFNoYWRvd0dyYWRpZW50VG8gPSBjb25maWcuaGFzT3duUHJvcGVydHkoXCJmaWxsU2hhZG93R3JhZGllbnRUb1wiKVxuICAgICAgPyBjb25maWcuZmlsbFNoYWRvd0dyYWRpZW50VG9cbiAgICAgIDogdGhpcy5wcm9wcy5jaGFydENvbmZpZy5jb2xvcigxLjApO1xuXG4gICAgY29uc3QgZmlsbFNoYWRvd0dyYWRpZW50VG9PcGFjaXR5ID0gY29uZmlnLmhhc093blByb3BlcnR5KFxuICAgICAgXCJmaWxsU2hhZG93R3JhZGllbnRUb09wYWNpdHlcIlxuICAgIClcbiAgICAgID8gY29uZmlnLmZpbGxTaGFkb3dHcmFkaWVudFRvT3BhY2l0eVxuICAgICAgOiAwLjE7XG5cbiAgICBjb25zdCBmaWxsU2hhZG93R3JhZGllbnRUb09mZnNldCA9IGNvbmZpZy5oYXNPd25Qcm9wZXJ0eShcbiAgICAgIFwiZmlsbFNoYWRvd0dyYWRpZW50VG9PZmZzZXRcIlxuICAgIClcbiAgICAgID8gY29uZmlnLmZpbGxTaGFkb3dHcmFkaWVudFRvT2Zmc2V0XG4gICAgICA6IDE7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPERlZnM+XG4gICAgICAgIDxMaW5lYXJHcmFkaWVudFxuICAgICAgICAgIGlkPXt0aGlzLmdldEdyYWRpZW50SWQoXCJiYWNrZ3JvdW5kR3JhZGllbnRcIil9XG4gICAgICAgICAgeDE9ezB9XG4gICAgICAgICAgeTE9e2hlaWdodH1cbiAgICAgICAgICB4Mj17d2lkdGh9XG4gICAgICAgICAgeTI9ezB9XG4gICAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxTdG9wXG4gICAgICAgICAgICBvZmZzZXQ9XCIwXCJcbiAgICAgICAgICAgIHN0b3BDb2xvcj17YmFja2dyb3VuZEdyYWRpZW50RnJvbX1cbiAgICAgICAgICAgIHN0b3BPcGFjaXR5PXtmcm9tT3BhY2l0eX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdG9wXG4gICAgICAgICAgICBvZmZzZXQ9XCIxXCJcbiAgICAgICAgICAgIHN0b3BDb2xvcj17YmFja2dyb3VuZEdyYWRpZW50VG99XG4gICAgICAgICAgICBzdG9wT3BhY2l0eT17dG9PcGFjaXR5fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvTGluZWFyR3JhZGllbnQ+XG4gICAgICAgIHt1c2VTaGFkb3dDb2xvckZyb21EYXRhc2V0ICYmIGRhdGEgPyAoXG4gICAgICAgICAgZGF0YS5tYXAoKGRhdGFzZXQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8TGluZWFyR3JhZGllbnRcbiAgICAgICAgICAgICAgaWQ9e3RoaXMuZ2V0R3JhZGllbnRJZChgZmlsbFNoYWRvd0dyYWRpZW50RnJvbV8ke2luZGV4fWApfVxuICAgICAgICAgICAgICBrZXk9e2Ake2luZGV4fWB9XG4gICAgICAgICAgICAgIHgxPXswfVxuICAgICAgICAgICAgICB5MT17MH1cbiAgICAgICAgICAgICAgeDI9ezB9XG4gICAgICAgICAgICAgIHkyPXtoZWlnaHR9XG4gICAgICAgICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdG9wXG4gICAgICAgICAgICAgICAgb2Zmc2V0PXtmaWxsU2hhZG93R3JhZGllbnRGcm9tT2Zmc2V0fVxuICAgICAgICAgICAgICAgIHN0b3BDb2xvcj17XG4gICAgICAgICAgICAgICAgICBkYXRhc2V0LmNvbG9yID8gZGF0YXNldC5jb2xvcigxLjApIDogZmlsbFNoYWRvd0dyYWRpZW50RnJvbVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzdG9wT3BhY2l0eT17ZmlsbFNoYWRvd0dyYWRpZW50RnJvbU9wYWNpdHl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxTdG9wXG4gICAgICAgICAgICAgICAgb2Zmc2V0PXtmaWxsU2hhZG93R3JhZGllbnRUb09mZnNldH1cbiAgICAgICAgICAgICAgICBzdG9wQ29sb3I9e1xuICAgICAgICAgICAgICAgICAgZGF0YXNldC5jb2xvclxuICAgICAgICAgICAgICAgICAgICA/IGRhdGFzZXQuY29sb3IoZmlsbFNoYWRvd0dyYWRpZW50RnJvbU9wYWNpdHkpXG4gICAgICAgICAgICAgICAgICAgIDogZmlsbFNoYWRvd0dyYWRpZW50RnJvbVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzdG9wT3BhY2l0eT17ZmlsbFNoYWRvd0dyYWRpZW50VG9PcGFjaXR5IHx8IDB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0xpbmVhckdyYWRpZW50PlxuICAgICAgICAgICkpXG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPExpbmVhckdyYWRpZW50XG4gICAgICAgICAgICBpZD17dGhpcy5nZXRHcmFkaWVudElkKFwiZmlsbFNoYWRvd0dyYWRpZW50RnJvbVwiKX1cbiAgICAgICAgICAgIHgxPXswfVxuICAgICAgICAgICAgeTE9ezB9XG4gICAgICAgICAgICB4Mj17MH1cbiAgICAgICAgICAgIHkyPXtoZWlnaHR9XG4gICAgICAgICAgICBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTdG9wXG4gICAgICAgICAgICAgIG9mZnNldD17ZmlsbFNoYWRvd0dyYWRpZW50RnJvbU9mZnNldH1cbiAgICAgICAgICAgICAgc3RvcENvbG9yPXtmaWxsU2hhZG93R3JhZGllbnRGcm9tfVxuICAgICAgICAgICAgICBzdG9wT3BhY2l0eT17ZmlsbFNoYWRvd0dyYWRpZW50RnJvbU9wYWNpdHl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFN0b3BcbiAgICAgICAgICAgICAgb2Zmc2V0PXtmaWxsU2hhZG93R3JhZGllbnRUb09mZnNldH1cbiAgICAgICAgICAgICAgc3RvcENvbG9yPXtmaWxsU2hhZG93R3JhZGllbnRUbyB8fCBmaWxsU2hhZG93R3JhZGllbnRGcm9tfVxuICAgICAgICAgICAgICBzdG9wT3BhY2l0eT17ZmlsbFNoYWRvd0dyYWRpZW50VG9PcGFjaXR5IHx8IDB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvTGluZWFyR3JhZGllbnQ+XG4gICAgICAgICl9XG4gICAgICA8L0RlZnM+XG4gICAgKTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQWJzdHJhY3RDaGFydDtcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"BarChart.d.ts","sourceRoot":"","sources":["../src/BarChart.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,SAAS,EAAE,MAAM,cAAc,CAAC;AAW/C,OAAO,aAAa,EAAE,EACpB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACvD,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,mBAAmB,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,KAAK,aAAa,GAAG,EAAE,CAAC;AAExB,cAAM,QAAS,SAAQ,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC;IAChE,gBAAgB,eAGd;IAEF,UAAU,GAAI,0FAQX,IAAI,CACL,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EACjC,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,CACjE,GAAG;QACF,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,0BAA0B,EAAE,OAAO,CAAC;KACrC,mBA6BC;IAEF,aAAa,GAAI,mDAMd,IAAI,CACL,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EACjC,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,YAAY,CACnD,GAAG;QACF,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,mBAqBC;IAEF,YAAY,GAAI,qBAGb,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG;QACrC,SAAS,EAAE,OAAO,CAAC;KACpB,mBA2BC;IAEF,uBAAuB,GAAI,mDAMxB,IAAI,CACL,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EACjC,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,YAAY,CACnD,GAAG;QACF,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,mBAgCC;IAEF,MAAM;CA0HP;AAED,eAAe,QAAQ,CAAC"}
package/dist/BarChart.js DELETED
@@ -1,159 +0,0 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- if (typeof b !== "function" && b !== null)
10
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
- extendStatics(d, b);
12
- function __() { this.constructor = d; }
13
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
- };
15
- })();
16
- var __assign = (this && this.__assign) || function () {
17
- __assign = Object.assign || function(t) {
18
- for (var s, i = 1, n = arguments.length; i < n; i++) {
19
- s = arguments[i];
20
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
- t[p] = s[p];
22
- }
23
- return t;
24
- };
25
- return __assign.apply(this, arguments);
26
- };
27
- import React from "react";
28
- import { View } from "react-native";
29
- import { Defs, G, LinearGradient, Rect, Stop, Svg, Text } from "react-native-svg";
30
- import AbstractChart from "./AbstractChart";
31
- var barWidth = 32;
32
- var BarChart = /** @class */ (function (_super) {
33
- __extends(BarChart, _super);
34
- function BarChart() {
35
- var _this = _super !== null && _super.apply(this, arguments) || this;
36
- _this.getBarPercentage = function () {
37
- var _a = _this.props.chartConfig.barPercentage, barPercentage = _a === void 0 ? 1 : _a;
38
- return barPercentage;
39
- };
40
- _this.renderBars = function (_a) {
41
- var data = _a.data, width = _a.width, height = _a.height, paddingTop = _a.paddingTop, paddingRight = _a.paddingRight, barRadius = _a.barRadius, withCustomBarColorFromData = _a.withCustomBarColorFromData;
42
- var baseHeight = _this.calcBaseHeight(data, height);
43
- return data.map(function (x, i) {
44
- var barHeight = _this.calcHeight(x, data, height);
45
- var barWidth = 32 * _this.getBarPercentage();
46
- return (<Rect key={"bar-".concat(i)} x={paddingRight +
47
- (i * (width - paddingRight)) / data.length +
48
- barWidth / 2} y={((barHeight > 0 ? baseHeight - barHeight : baseHeight) / 4) * 3 +
49
- paddingTop} rx={barRadius} width={barWidth} height={(Math.abs(barHeight) / 4) * 3} fill={withCustomBarColorFromData
50
- ? _this.getGradientUrl("customColor_0_".concat(i))
51
- : _this.getGradientUrl("fillShadowGradientFrom")}/>);
52
- });
53
- };
54
- _this.renderBarTops = function (_a) {
55
- var data = _a.data, width = _a.width, height = _a.height, paddingTop = _a.paddingTop, paddingRight = _a.paddingRight;
56
- var baseHeight = _this.calcBaseHeight(data, height);
57
- return data.map(function (x, i) {
58
- var barHeight = _this.calcHeight(x, data, height);
59
- var barWidth = 32 * _this.getBarPercentage();
60
- return (<Rect key={"bar-top-".concat(i)} x={paddingRight +
61
- (i * (width - paddingRight)) / data.length +
62
- barWidth / 2} y={((baseHeight - barHeight) / 4) * 3 + paddingTop} width={barWidth} height={2} fill={_this.props.chartConfig.color(0.6)}/>);
63
- });
64
- };
65
- _this.renderColors = function (_a) {
66
- var data = _a.data, flatColor = _a.flatColor;
67
- return data.map(function (dataset, index) {
68
- var _a, _b;
69
- return (<Defs key={(_a = dataset.key) !== null && _a !== void 0 ? _a : index}>
70
- {(_b = dataset.colors) === null || _b === void 0 ? void 0 : _b.map(function (color, colorIndex) {
71
- var highOpacityColor = color(1.0);
72
- var lowOpacityColor = color(0.1);
73
- return (<LinearGradient id={_this.getGradientId("customColor_".concat(index, "_").concat(colorIndex))} key={"".concat(index, "_").concat(colorIndex)} x1={0} y1={0} x2={0} y2={1}>
74
- <Stop offset="0" stopColor={highOpacityColor} stopOpacity="1"/>
75
- {flatColor ? (<Stop offset="1" stopColor={highOpacityColor} stopOpacity="1"/>) : (<Stop offset="1" stopColor={lowOpacityColor} stopOpacity="0"/>)}
76
- </LinearGradient>);
77
- })}
78
- </Defs>);
79
- });
80
- };
81
- _this.renderValuesOnTopOfBars = function (_a) {
82
- var data = _a.data, width = _a.width, height = _a.height, paddingTop = _a.paddingTop, paddingRight = _a.paddingRight;
83
- var baseHeight = _this.calcBaseHeight(data, height);
84
- var renderLabel = function (value) {
85
- if (_this.props.chartConfig.formatTopBarValue) {
86
- return _this.props.chartConfig.formatTopBarValue(value);
87
- }
88
- return value;
89
- };
90
- return data.map(function (x, i) {
91
- var barHeight = _this.calcHeight(x, data, height);
92
- var barWidth = 32 * _this.getBarPercentage();
93
- return (<Text key={"bar-value-".concat(i)} x={paddingRight +
94
- (i * (width - paddingRight)) / data.length +
95
- barWidth / 1} y={((baseHeight - barHeight) / 4) * 3 + paddingTop - 1} fill={_this.props.chartConfig.color(0.6)} fontSize="12" textAnchor="middle" {..._this.props.chartConfig.propsForTopLabels}>
96
- {renderLabel(data[i])}
97
- </Text>);
98
- });
99
- };
100
- return _this;
101
- }
102
- BarChart.prototype.render = function () {
103
- var _a;
104
- var _b = this.props, width = _b.width, height = _b.height, data = _b.data, _c = _b.style, style = _c === void 0 ? {} : _c, _d = _b.withHorizontalLabels, withHorizontalLabels = _d === void 0 ? true : _d, _e = _b.withVerticalLabels, withVerticalLabels = _e === void 0 ? true : _e, _f = _b.verticalLabelRotation, verticalLabelRotation = _f === void 0 ? 0 : _f, _g = _b.horizontalLabelRotation, horizontalLabelRotation = _g === void 0 ? 0 : _g, _h = _b.withInnerLines, withInnerLines = _h === void 0 ? true : _h, _j = _b.showBarTops, showBarTops = _j === void 0 ? true : _j, _k = _b.withCustomBarColorFromData, withCustomBarColorFromData = _k === void 0 ? false : _k, _l = _b.showValuesOnTopOfBars, showValuesOnTopOfBars = _l === void 0 ? false : _l, _m = _b.flatColor, flatColor = _m === void 0 ? false : _m, _o = _b.segments, segments = _o === void 0 ? 4 : _o;
105
- var _p = style.borderRadius, borderRadius = _p === void 0 ? 0 : _p, _q = style.paddingTop, paddingTop = _q === void 0 ? 16 : _q, _r = style.paddingRight, paddingRight = _r === void 0 ? 64 : _r;
106
- var config = {
107
- width: width,
108
- height: height,
109
- verticalLabelRotation: verticalLabelRotation,
110
- horizontalLabelRotation: horizontalLabelRotation,
111
- barRadius: (this.props.chartConfig && this.props.chartConfig.barRadius) || 0,
112
- decimalPlaces: (_a = (this.props.chartConfig && this.props.chartConfig.decimalPlaces)) !== null && _a !== void 0 ? _a : 2,
113
- formatYLabel: (this.props.chartConfig && this.props.chartConfig.formatYLabel) ||
114
- function (label) {
115
- return label;
116
- },
117
- formatXLabel: (this.props.chartConfig && this.props.chartConfig.formatXLabel) ||
118
- function (label) {
119
- return label;
120
- }
121
- };
122
- return (<View style={style}>
123
- <Svg height={height} width={width}>
124
- {this.renderDefs(__assign(__assign({}, config), this.props.chartConfig))}
125
- {this.renderColors(__assign(__assign({}, this.props.chartConfig), { flatColor: flatColor, data: this.props.data.datasets }))}
126
- <Rect width="100%" height={height} rx={borderRadius} ry={borderRadius} fill={this.getGradientUrl("backgroundGradient")}/>
127
- <G>
128
- {withInnerLines
129
- ? this.renderHorizontalLines(__assign(__assign({}, config), { count: segments, paddingTop: paddingTop }))
130
- : null}
131
- </G>
132
- <G>
133
- {withHorizontalLabels
134
- ? this.renderHorizontalLabels(__assign(__assign({}, config), { count: segments, data: data.datasets[0].data, paddingTop: paddingTop, paddingRight: paddingRight }))
135
- : null}
136
- </G>
137
- <G>
138
- {withVerticalLabels
139
- ? this.renderVerticalLabels(__assign(__assign({}, config), { labels: data.labels, paddingRight: paddingRight, paddingTop: paddingTop, horizontalOffset: barWidth * this.getBarPercentage() }))
140
- : null}
141
- </G>
142
- <G>
143
- {this.renderBars(__assign(__assign({}, config), { data: data.datasets[0].data, paddingTop: paddingTop, paddingRight: paddingRight, withCustomBarColorFromData: withCustomBarColorFromData }))}
144
- </G>
145
- <G>
146
- {showValuesOnTopOfBars &&
147
- this.renderValuesOnTopOfBars(__assign(__assign({}, config), { data: data.datasets[0].data, paddingTop: paddingTop, paddingRight: paddingRight }))}
148
- </G>
149
- <G>
150
- {showBarTops &&
151
- this.renderBarTops(__assign(__assign({}, config), { data: data.datasets[0].data, paddingTop: paddingTop, paddingRight: paddingRight }))}
152
- </G>
153
- </Svg>
154
- </View>);
155
- };
156
- return BarChart;
157
- }(AbstractChart));
158
- export default BarChart;
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFyQ2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQmFyQ2hhcnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxJQUFJLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUNMLElBQUksRUFDSixDQUFDLEVBQ0QsY0FBYyxFQUNkLElBQUksRUFDSixJQUFJLEVBQ0osR0FBRyxFQUNILElBQUksRUFDTCxNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sYUFHTixNQUFNLGlCQUFpQixDQUFDO0FBR3pCLElBQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztBQWtDcEI7SUFBdUIsNEJBQTJDO0lBQWxFOztRQUNFLHNCQUFnQixHQUFHO1lBQ1QsSUFBQSxLQUFzQixLQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsY0FBM0IsRUFBakIsYUFBYSxtQkFBRyxDQUFDLEtBQUEsQ0FBNEI7WUFDckQsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQyxDQUFDO1FBRUYsZ0JBQVUsR0FBRyxVQUFDLEVBY2I7Z0JBYkMsSUFBSSxVQUFBLEVBQ0osS0FBSyxXQUFBLEVBQ0wsTUFBTSxZQUFBLEVBQ04sVUFBVSxnQkFBQSxFQUNWLFlBQVksa0JBQUEsRUFDWixTQUFTLGVBQUEsRUFDVCwwQkFBMEIsZ0NBQUE7WUFRMUIsSUFBTSxVQUFVLEdBQUcsS0FBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFckQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLElBQU0sU0FBUyxHQUFHLEtBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDbkQsSUFBTSxRQUFRLEdBQUcsRUFBRSxHQUFHLEtBQUks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QUEsQ0FBQyxJQUFJLENBQUMsVUFBVSx1QkFDWCxNQUFNLEtBQ1QsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUMzQixVQUFVLEVBQUUsVUFBb0IsRUFDaEMsWUFBWSxFQUFFLFlBQXNCLEVBQ3BDLDBCQUEwQixFQUFFLDBCQUEwQixJQUN0RCxDQUNKO1VBQUEsRUFBRSxDQUFDLENBQ0g7VUFBQSxDQUFDLENBQUMsQ0FDQTtZQUFBLENBQUMscUJBQXFCO2dCQUNwQixJQUFJLENBQUMsdUJBQXVCLHVCQUN2QixNQUFNLEtBQ1QsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUMzQixVQUFVLEVBQUUsVUFBb0IsRUFDaEMsWUFBWSxFQUFFLFlBQXNCLElBQ3BDLENBQ047VUFBQSxFQUFFLENBQUMsQ0FDSDtVQUFBLENBQUMsQ0FBQyxDQUNBO1lBQUEsQ0FBQyxXQUFXO2dCQUNWLElBQUksQ0FBQyxhQUFhLHVCQUNiLE1BQU0sS0FDVCxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQzNCLFVBQVUsRUFBRSxVQUFvQixFQUNoQyxZQUFZLEVBQUUsWUFBc0IsSUFDcEMsQ0FDTjtVQUFBLEVBQUUsQ0FBQyxDQUNMO1FBQUEsRUFBRSxHQUFHLENBQ1A7TUFBQSxFQUFFLElBQUksQ0FBQyxDQUNSLENBQUM7SUFDSixDQUFDO0lBQ0gsZUFBQztBQUFELENBQUMsQUE5UkQsQ0FBdUIsYUFBYSxHQThSbkM7QUFFRCxlQUFlLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFZpZXcsIFZpZXdTdHlsZSB9IGZyb20gXCJyZWFjdC1uYXRpdmVcIjtcbmltcG9ydCB7XG4gIERlZnMsXG4gIEcsXG4gIExpbmVhckdyYWRpZW50LFxuICBSZWN0LFxuICBTdG9wLFxuICBTdmcsXG4gIFRleHRcbn0gZnJvbSBcInJlYWN0LW5hdGl2ZS1zdmdcIjtcblxuaW1wb3J0IEFic3RyYWN0Q2hhcnQsIHtcbiAgQWJzdHJhY3RDaGFydENvbmZpZyxcbiAgQWJzdHJhY3RDaGFydFByb3BzXG59IGZyb20gXCIuL0Fic3RyYWN0Q2hhcnRcIjtcbmltcG9ydCB7IENoYXJ0RGF0YSB9IGZyb20gXCIuL0hlbHBlclR5cGVzXCI7XG5cbmNvbnN0IGJhcldpZHRoID0gMzI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFyQ2hhcnRQcm9wcyBleHRlbmRzIEFic3RyYWN0Q2hhcnRQcm9wcyB7XG4gIGRhdGE6IENoYXJ0RGF0YTtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIGZyb21aZXJvPzogYm9vbGVhbjtcbiAgd2l0aElubmVyTGluZXM/OiBib29sZWFuO1xuICB5QXhpc0xhYmVsOiBzdHJpbmc7XG4gIHlBeGlzU3VmZml4OiBzdHJpbmc7XG4gIGNoYXJ0Q29uZmlnOiBBYnN0cmFjdENoYXJ0Q29uZmlnO1xuICBzdHlsZT86IFBhcnRpYWw8Vmlld1N0eWxlPjtcbiAgaG9yaXpvbnRhbExhYmVsUm90YXRpb24/OiBudW1iZXI7XG4gIHZlcnRpY2FsTGFiZWxSb3RhdGlvbj86IG51bWJlcjtcbiAgLyoqXG4gICAqIFNob3cgdmVydGljYWwgbGFiZWxzIC0gZGVmYXVsdDogVHJ1ZS5cbiAgICovXG4gIHdpdGhWZXJ0aWNhbExhYmVscz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTaG93IGhvcml6b250YWwgbGFiZWxzIC0gZGVmYXVsdDogVHJ1ZS5cbiAgICovXG4gIHdpdGhIb3Jpem9udGFsTGFiZWxzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgaG9yaXpvbnRhbCBsaW5lc1xuICAgKi9cbiAgc2VnbWVudHM/OiBudW1iZXI7XG4gIHNob3dCYXJUb3BzPzogYm9vbGVhbjtcbiAgc2hvd1ZhbHVlc09uVG9wT2ZCYXJzPzogYm9vbGVhbjtcbiAgd2l0aEN1c3RvbUJhckNvbG9yRnJvbURhdGE/OiBib29sZWFuO1xuICBmbGF0Q29sb3I/OiBib29sZWFuO1xufVxuXG50eXBlIEJhckNoYXJ0U3RhdGUgPSB7fTtcblxuY2xhc3MgQmFyQ2hhcnQgZXh0ZW5kcyBBYnN0cmFjdENoYXJ0PEJhckNoYXJ0UHJvcHMsIEJhckNoYXJ0U3RhdGU+IHtcbiAgZ2V0QmFyUGVyY2VudGFnZSA9ICgpID0+IHtcbiAgICBjb25zdCB7IGJhclBlcmNlbnRhZ2UgPSAxIH0gPSB0aGlzLnByb3BzLmNoYXJ0Q29uZmlnO1xuICAgIHJldHVybiBiYXJQZXJjZW50YWdlO1xuICB9O1xuXG4gIHJlbmRlckJhcnMgPSAoe1xuICAgIGRhdGEsXG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHBhZGRpbmdUb3AsXG4gICAgcGFkZGluZ1JpZ2h0LFxuICAgIGJhclJhZGl1cyxcbiAgICB3aXRoQ3VzdG9tQmFyQ29sb3JGcm9tRGF0YVxuICB9OiBQaWNrPFxuICAgIE9taXQ8QWJzdHJhY3RDaGFydENvbmZpZywgXCJkYXRhXCI+LFxuICAgIFwid2lkdGhcIiB8IFwiaGVpZ2h0XCIgfCBcInBhZGRpbmdSaWdodFwiIHwgXCJwYWRkaW5nVG9wXCIgfCBcImJhclJhZGl1c1wiXG4gID4gJiB7XG4gICAgZGF0YTogbnVtYmVyW107XG4gICAgd2l0aEN1c3RvbUJhckNvbG9yRnJvbURhdGE6IGJvb2xlYW47XG4gIH0pID0+IHtcbiAgICBjb25zdCBiYXNlSGVpZ2h0ID0gdGhpcy5jYWxjQmFzZUhlaWdodChkYXRhLCBoZWlnaHQpO1xuXG4gICAgcmV0dXJuIGRhdGEubWFwKCh4LCBpKSA9PiB7XG4gICAgICBjb25zdCBiYXJIZWlnaHQgPSB0aGlzLmNhbGNIZWlnaHQoeCwgZGF0YSwgaGVpZ2h0KTtcbiAgICAgIGNvbnN0IGJhcldpZHRoID0gMzIgKiB0aGlzLmdldEJhclBlcmNlbnRhZ2UoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxSZWN0XG4gICAgICAgICAga2V5PXtgYmFyLSR7aX1gfVxuICAgICAgICAgIHg9e1xuICAgICAgICAgICAgcGFkZGluZ1JpZ2h0ICtcbiAgICAgICAgICAgIChpICogKHdpZHRoIC0gcGFkZGluZ1JpZ2h0KSkgLyBkYXRhLmxlbmd0aCArXG4gICAgICAgICAgICBiYXJXaWR0aCAvIDJcbiAgICAgICAgICB9XG4gICAgICAgICAgeT17XG4gICAgICAgICAgICAoKGJhckhlaWdodCA+IDAgPyBiYXNlSGVpZ2h0IC0gYmFySGVpZ2h0IDogYmFzZUhlaWdodCkgLyA0KSAqIDMgK1xuICAgICAgICAgICAgcGFkZGluZ1RvcFxuICAgICAgICAgIH1cbiAgICAgICAgICByeD17YmFyUmFkaXVzfVxuICAgICAgICAgIHdpZHRoPXtiYXJXaWR0aH1cbiAgICAgICAgICBoZWlnaHQ9eyhNYXRoLmFicyhiYXJIZWlnaHQpIC8gNCkgKiAzfVxuICAgICAgICAgIGZpbGw9e1xuICAgICAgICAgICAgd2l0aEN1c3RvbUJhckNvbG9yRnJvbURhdGFcbiAgICAgICAgICAgICAgPyB0aGlzLmdldEdyYWRpZW50VXJsKGBjdXN0b21Db2xvcl8wXyR7aX1gKVxuICAgICAgICAgICAgICA6IHRoaXMuZ2V0R3JhZGllbnRVcmwoXCJmaWxsU2hhZG93R3JhZGllbnRGcm9tXCIpXG4gICAgICAgICAgfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9KTtcbiAgfTtcblxuICByZW5kZXJCYXJUb3BzID0gKHtcbiAgICBkYXRhLFxuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICBwYWRkaW5nVG9wLFxuICAgIHBhZGRpbmdSaWdodFxuICB9OiBQaWNrPFxuICAgIE9taXQ8QWJzdHJhY3RDaGFydENvbmZpZywgXCJkYXRhXCI+LFxuICAgIFwid2lkdGhcIiB8IFwiaGVpZ2h0XCIgfCBcInBhZGRpbmdSaWdodFwiIHwgXCJwYWRkaW5nVG9wXCJcbiAgPiAmIHtcbiAgICBkYXRhOiBudW1iZXJbXTtcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGJhc2VIZWlnaHQgPSB0aGlzLmNhbGNCYXNlSGVpZ2h0KGRhdGEsIGhlaWdodCk7XG5cbiAgICByZXR1cm4gZGF0YS5tYXAoKHgsIGkpID0+IHtcbiAgICAgIGNvbnN0IGJhckhlaWdodCA9IHRoaXMuY2FsY0hlaWdodCh4LCBkYXRhLCBoZWlnaHQpO1xuICAgICAgY29uc3QgYmFyV2lkdGggPSAzMiAqIHRoaXMuZ2V0QmFyUGVyY2VudGFnZSgpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFJlY3RcbiAgICAgICAgICBrZXk9e2BiYXItdG9wLSR7aX1gfVxuICAgICAgICAgIHg9e1xuICAgICAgICAgICAgcGFkZGluZ1JpZ2h0ICtcbiAgICAgICAgICAgIChpICogKHdpZHRoIC0gcGFkZGluZ1JpZ2h0KSkgLyBkYXRhLmxlbmd0aCArXG4gICAgICAgICAgICBiYXJXaWR0aCAvIDJcbiAgICAgICAgICB9XG4gICAgICAgICAgeT17KChiYXNlSGVpZ2h0IC0gYmFySGVpZ2h0KSAvIDQpICogMyArIHBhZGRpbmdUb3B9XG4gICAgICAgICAgd2lkdGg9e2JhcldpZHRofVxuICAgICAgICAgIGhlaWdodD17Mn1cbiAgICAgICAgICBmaWxsPXt0aGlzLnByb3BzLmNoYXJ0Q29uZmlnLmNvbG9yKDAuNil9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH0pO1xuICB9O1xuXG4gIHJlbmRlckNvbG9ycyA9ICh7XG4gICAgZGF0YSxcbiAgICBmbGF0Q29sb3JcbiAgfTogUGljazxBYnN0cmFjdENoYXJ0Q29uZmlnLCBcImRhdGFcIj4gJiB7XG4gICAgZmxhdENvbG9yOiBib29sZWFuO1xuICB9KSA9PiB7XG4gICAgcmV0dXJuIGRhdGEubWFwKChkYXRhc2V0LCBpbmRleCkgPT4gKFxuICAgICAgPERlZnMga2V5PXtkYXRhc2V0LmtleSA/PyBpbmRleH0+XG4gICAgICAgIHtkYXRhc2V0LmNvbG9ycz8ubWFwKChjb2xvciwgY29sb3JJbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGhpZ2hPcGFjaXR5Q29sb3IgPSBjb2xvcigxLjApO1xuICAgICAgICAgIGNvbnN0IGxvd09wYWNpdHlDb2xvciA9IGNvbG9yKDAuMSk7XG5cbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPExpbmVhckdyYWRpZW50XG4gICAgICAgICAgICAgIGlkPXt0aGlzLmdldEdyYWRpZW50SWQoYGN1c3RvbUNvbG9yXyR7aW5kZXh9XyR7Y29sb3JJbmRleH1gKX1cbiAgICAgICAgICAgICAga2V5PXtgJHtpbmRleH1fJHtjb2xvckluZGV4fWB9XG4gICAgICAgICAgICAgIHgxPXswfVxuICAgICAgICAgICAgICB5MT17MH1cbiAgICAgICAgICAgICAgeDI9ezB9XG4gICAgICAgICAgICAgIHkyPXsxfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8U3RvcCBvZmZzZXQ9XCIwXCIgc3RvcENvbG9yPXtoaWdoT3BhY2l0eUNvbG9yfSBzdG9wT3BhY2l0eT1cIjFcIiAvPlxuICAgICAgICAgICAgICB7ZmxhdENvbG9yID8gKFxuICAgICAgICAgICAgICAgIDxTdG9wIG9mZnNldD1cIjFcIiBzdG9wQ29sb3I9e2hpZ2hPcGFjaXR5Q29sb3J9IHN0b3BPcGFjaXR5PVwiMVwiIC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPFN0b3Agb2Zmc2V0PVwiMVwiIHN0b3BDb2xvcj17bG93T3BhY2l0eUNvbG9yfSBzdG9wT3BhY2l0eT1cIjBcIiAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9MaW5lYXJHcmFkaWVudD5cbiAgICAgICAgICApO1xuICAgICAgICB9KX1cbiAgICAgIDwvRGVmcz5cbiAgICApKTtcbiAgfTtcblxuICByZW5kZXJWYWx1ZXNPblRvcE9mQmFycyA9ICh7XG4gICAgZGF0YSxcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgcGFkZGluZ1RvcCxcbiAgICBwYWRkaW5nUmlnaHRcbiAgfTogUGljazxcbiAgICBPbWl0PEFic3RyYWN0Q2hhcnRDb25maWcsIFwiZGF0YVwiPixcbiAgICBcIndpZHRoXCIgfCBcImhlaWdodFwiIHwgXCJwYWRkaW5nUmlnaHRcIiB8IFwicGFkZGluZ1RvcFwiXG4gID4gJiB7XG4gICAgZGF0YTogbnVtYmVyW107XG4gIH0pID0+IHtcbiAgICBjb25zdCBiYXNlSGVpZ2h0ID0gdGhpcy5jYWxjQmFzZUhlaWdodChkYXRhLCBoZWlnaHQpO1xuXG4gICAgY29uc3QgcmVuZGVyTGFiZWwgPSAodmFsdWU6IG51bWJlcikgPT4ge1xuICAgICAgaWYgKHRoaXMucHJvcHMuY2hhcnRDb25maWcuZm9ybWF0VG9wQmFyVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMuY2hhcnRDb25maWcuZm9ybWF0VG9wQmFyVmFsdWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJldHVybiBkYXRhLm1hcCgoeCwgaSkgPT4ge1xuICAgICAgY29uc3QgYmFySGVpZ2h0ID0gdGhpcy5jYWxjSGVpZ2h0KHgsIGRhdGEsIGhlaWdodCk7XG4gICAgICBjb25zdCBiYXJXaWR0aCA9IDMyICogdGhpcy5nZXRCYXJQZXJjZW50YWdlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dFxuICAgICAgICAgIGtleT17YGJhci12YWx1ZS0ke2l9YH1cbiAgICAgICAgICB4PXtcbiAgICAgICAgICAgIHBhZGRpbmdSaWdodCArXG4gICAgICAgICAgICAoaSAqICh3aWR0aCAtIHBhZGRpbmdSaWdodCkpIC8gZGF0YS5sZW5ndGggK1xuICAgICAgICAgICAgYmFyV2lkdGggLyAxXG4gICAgICAgICAgfVxuICAgICAgICAgIHk9eygoYmFzZUhlaWdodCAtIGJhckhlaWdodCkgLyA0KSAqIDMgKyBwYWRkaW5nVG9wIC0gMX1cbiAgICAgICAgICBmaWxsPXt0aGlzLnByb3BzLmNoYXJ0Q29uZmlnLmNvbG9yKDAuNil9XG4gICAgICAgICAgZm9udFNpemU9XCIxMlwiXG4gICAgICAgICAgdGV4dEFuY2hvcj1cIm1pZGRsZVwiXG4gICAgICAgICAgey4uLnRoaXMucHJvcHMuY2hhcnRDb25maWcucHJvcHNGb3JUb3BMYWJlbHN9XG4gICAgICAgID5cbiAgICAgICAgICB7cmVuZGVyTGFiZWwoZGF0YVtpXSl9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICk7XG4gICAgfSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHdpZHRoLFxuICAgICAgaGVpZ2h0LFxuICAgICAgZGF0YSxcbiAgICAgIHN0eWxlID0ge30sXG4gICAgICB3aXRoSG9yaXpvbnRhbExhYmVscyA9IHRydWUsXG4gICAgICB3aXRoVmVydGljYWxMYWJlbHMgPSB0cnVlLFxuICAgICAgdmVydGljYWxMYWJlbFJvdGF0aW9uID0gMCxcbiAgICAgIGhvcml6b250YWxMYWJlbFJvdGF0aW9uID0gMCxcbiAgICAgIHdpdGhJbm5lckxpbmVzID0gdHJ1ZSxcbiAgICAgIHNob3dCYXJUb3BzID0gdHJ1ZSxcbiAgICAgIHdpdGhDdXN0b21CYXJDb2xvckZyb21EYXRhID0gZmFsc2UsXG4gICAgICBzaG93VmFsdWVzT25Ub3BPZkJhcnMgPSBmYWxzZSxcbiAgICAgIGZsYXRDb2xvciA9IGZhbHNlLFxuICAgICAgc2VnbWVudHMgPSA0XG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB7IGJvcmRlclJhZGl1cyA9IDAsIHBhZGRpbmdUb3AgPSAxNiwgcGFkZGluZ1JpZ2h0ID0gNjQgfSA9IHN0eWxlO1xuXG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICB2ZXJ0aWNhbExhYmVsUm90YXRpb24sXG4gICAgICBob3Jpem9udGFsTGFiZWxSb3RhdGlvbixcbiAgICAgIGJhclJhZGl1czpcbiAgICAgICAgKHRoaXMucHJvcHMuY2hhcnRDb25maWcgJiYgdGhpcy5wcm9wcy5jaGFydENvbmZpZy5iYXJSYWRpdXMpIHx8IDAsXG4gICAgICBkZWNpbWFsUGxhY2VzOlxuICAgICAgICAodGhpcy5wcm9wcy5jaGFydENvbmZpZyAmJiB0aGlzLnByb3BzLmNoYXJ0Q29uZmlnLmRlY2ltYWxQbGFjZXMpID8/IDIsXG4gICAgICBmb3JtYXRZTGFiZWw6XG4gICAgICAgICh0aGlzLnByb3BzLmNoYXJ0Q29uZmlnICYmIHRoaXMucHJvcHMuY2hhcnRDb25maWcuZm9ybWF0WUxhYmVsKSB8fFxuICAgICAgICBmdW5jdGlvbihsYWJlbCkge1xuICAgICAgICAgIHJldHVybiBsYWJlbDtcbiAgICAgICAgfSxcbiAgICAgIGZvcm1hdFhMYWJlbDpcbiAgICAgICAgKHRoaXMucHJvcHMuY2hhcnRDb25maWcgJiYgdGhpcy5wcm9wcy5jaGFydENvbmZpZy5mb3JtYXRYTGFiZWwpIHx8XG4gICAgICAgIGZ1bmN0aW9uKGxhYmVsKSB7XG4gICAgICAgICAgcmV0dXJuIGxhYmVsO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8VmlldyBzdHlsZT17c3R5bGV9PlxuICAgICAgICA8U3ZnIGhlaWdodD17aGVpZ2h0fSB3aWR0aD17d2lkdGh9PlxuICAgICAgICAgIHt0aGlzLnJlbmRlckRlZnMoe1xuICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgLi4udGhpcy5wcm9wcy5jaGFydENvbmZpZ1xuICAgICAgICAgIH0pfVxuICAgICAgICAgIHt0aGlzLnJlbmRlckNvbG9ycyh7XG4gICAgICAgICAgICAuLi50aGlzLnByb3BzLmNoYXJ0Q29uZmlnLFxuICAgICAgICAgICAgZmxhdENvbG9yOiBmbGF0Q29sb3IsXG4gICAgICAgICAgICBkYXRhOiB0aGlzLnByb3BzLmRhdGEuZGF0YXNldHNcbiAgICAgICAgICB9KX1cbiAgICAgICAgICA8UmVjdFxuICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICAgICAgcng9e2JvcmRlclJhZGl1c31cbiAgICAgICAgICAgIHJ5PXtib3JkZXJSYWRpdXN9XG4gICAgICAgICAgICBmaWxsPXt0aGlzLmdldEdyYWRpZW50VXJsKFwiYmFja2dyb3VuZEdyYWRpZW50XCIpfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEc+XG4gICAgICAgICAgICB7d2l0aElubmVyTGluZXNcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlckhvcml6b250YWxMaW5lcyh7XG4gICAgICAgICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICAgICAgICBjb3VudDogc2VnbWVudHMsXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nVG9wXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgOiBudWxsfVxuICAgICAgICAgIDwvRz5cbiAgICAgICAgICA8Rz5cbiAgICAgICAgICAgIHt3aXRoSG9yaXpvbnRhbExhYmVsc1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVySG9yaXpvbnRhbExhYmVscyh7XG4gICAgICAgICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICAgICAgICBjb3VudDogc2VnbWVudHMsXG4gICAgICAgICAgICAgICAgICBkYXRhOiBkYXRhLmRhdGFzZXRzWzBdLmRhdGEsXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiBwYWRkaW5nVG9wIGFzIG51bWJlcixcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmdSaWdodDogcGFkZGluZ1JpZ2h0IGFzIG51bWJlclxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIDogbnVsbH1cbiAgICAgICAgICA8L0c+XG4gICAgICAgICAgPEc+XG4gICAgICAgICAgICB7d2l0aFZlcnRpY2FsTGFiZWxzXG4gICAgICAgICAgICAgID8gdGhpcy5yZW5kZXJWZXJ0aWNhbExhYmVscyh7XG4gICAgICAgICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICAgICAgICBsYWJlbHM6IGRhdGEubGFiZWxzLFxuICAgICAgICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiBwYWRkaW5nUmlnaHQgYXMgbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgcGFkZGluZ1RvcDogcGFkZGluZ1RvcCBhcyBudW1iZXIsXG4gICAgICAgICAgICAgICAgICBob3Jpem9udGFsT2Zmc2V0OiBiYXJXaWR0aCAqIHRoaXMuZ2V0QmFyUGVyY2VudGFnZSgpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgOiBudWxsfVxuICAgICAgICAgIDwvRz5cbiAgICAgICAgICA8Rz5cbiAgICAgICAgICAgIHt0aGlzLnJlbmRlckJhcnMoe1xuICAgICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICAgIGRhdGE6IGRhdGEuZGF0YXNldHNbMF0uZGF0YSxcbiAgICAgICAgICAgICAgcGFkZGluZ1RvcDogcGFkZGluZ1RvcCBhcyBudW1iZXIsXG4gICAgICAgICAgICAgIHBhZGRpbmdSaWdodDogcGFkZGluZ1JpZ2h0IGFzIG51bWJlcixcbiAgICAgICAgICAgICAgd2l0aEN1c3RvbUJhckNvbG9yRnJvbURhdGE6IHdpdGhDdXN0b21CYXJDb2xvckZyb21EYXRhXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L0c+XG4gICAgICAgICAgPEc+XG4gICAgICAgICAgICB7c2hvd1ZhbHVlc09uVG9wT2ZCYXJzICYmXG4gICAgICAgICAgICAgIHRoaXMucmVuZGVyVmFsdWVzT25Ub3BPZkJhcnMoe1xuICAgICAgICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICAgICAgICBkYXRhOiBkYXRhLmRhdGFzZXRzWzBdLmRhdGEsXG4gICAgICAgICAgICAgICAgcGFkZGluZ1RvcDogcGFkZGluZ1RvcCBhcyBudW1iZXIsXG4gICAgICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiBwYWRkaW5nUmlnaHQgYXMgbnVtYmVyXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvRz5cbiAgICAgICAgICA8Rz5cbiAgICAgICAgICAgIHtzaG93QmFyVG9wcyAmJlxuICAgICAgICAgICAgICB0aGlzLnJlbmRlckJhclRvcHMoe1xuICAgICAgICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICAgICAgICBkYXRhOiBkYXRhLmRhdGFzZXRzWzBdLmRhdGEsXG4gICAgICAgICAgICAgICAgcGFkZGluZ1RvcDogcGFkZGluZ1RvcCBhcyBudW1iZXIsXG4gICAgICAgICAgICAgICAgcGFkZGluZ1JpZ2h0OiBwYWRkaW5nUmlnaHQgYXMgbnVtYmVyXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvRz5cbiAgICAgICAgPC9Tdmc+XG4gICAgICA8L1ZpZXc+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBCYXJDaGFydDtcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"HelperTypes.d.ts","sourceRoot":"","sources":["../src/HelperTypes.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvSGVscGVyVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRleHRTdHlsZSwgVmlld1N0eWxlIH0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiO1xuaW1wb3J0IHsgQ2lyY2xlUHJvcHMsIFRleHRQcm9wcyB9IGZyb20gXCJyZWFjdC1uYXRpdmUtc3ZnXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldCB7XG4gIC8qKiBUaGUgZGF0YSBjb3JyZXNwb25kaW5nIHRvIHRoZSB4LWF4aXMgbGFiZWwuICovXG4gIGRhdGE6IG51bWJlcltdO1xuXG4gIC8qKiBBIGZ1bmN0aW9uIHJldHVybmluZyB0aGUgY29sb3Igb2YgdGhlIHN0cm9rZSBnaXZlbiBhbiBpbnB1dCBvcGFjaXR5IHZhbHVlLiAqL1xuICBjb2xvcj86IChvcGFjaXR5OiBudW1iZXIpID0+IHN0cmluZztcblxuICAvKiogQSBmdW5jdGlvbiByZXR1cm5pbmcgYXJyYXkgb2YgdGhlIGNvbG9ycyBvZiB0aGUgc3Ryb2tlIGdpdmVuIGFuIGlucHV0IG9wYWNpdHkgdmFsdWUgZm9yIGVhY2ggZGF0YSB2YWx1ZS4gKi9cbiAgY29sb3JzPzogQXJyYXk8KG9wYWNpdHk6IG51bWJlcikgPT4gc3RyaW5nPjtcblxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBzdHJva2UuIERlZmF1bHRzIHRvIDIuICovXG4gIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuXG4gIC8qKiBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRvIHJlbmRlciBkb3RzIGZvciB0aGlzIGxpbmUgKi9cbiAgd2l0aERvdHM/OiBib29sZWFuO1xuXG4gIC8qKiBPdmVycmlkZSBvZiBMaW5lQ2hhcnQncyB3aXRoU2Nyb2xsYWJsZURvdCBwcm9wZXJ0eSBqdXN0IGZvciB0aGlzIGRhdGFzZXQgKi9cbiAgd2l0aFNjcm9sbGFibGVEb3Q/OiBib29sZWFuO1xuXG4gIC8qKiBVbmlxdWUga2V5ICoqL1xuICBrZXk/OiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqIFN0cm9rZSBEYXNoIEFycmF5ICovXG4gIHN0cm9rZURhc2hBcnJheT86IG51bWJlcltdIHwgc3RyaW5nO1xuXG4gIC8qKiBTdHJva2UgRGFzaCBPZmZzZXQgKi9cbiAgc3Ryb2tlRGFzaE9mZnNldD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFydERhdGEge1xuICAvKiogVGhlIHgtYXhpcyBsYWJlbHMgKi9cbiAgbGFiZWxzOiBzdHJpbmdbXTtcbiAgZGF0YXNldHM6IERhdGFzZXRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFydENvbmZpZyB7XG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIGZpcnN0IGNvbG9yIGluIHRoZSBsaW5lYXIgZ3JhZGllbnQgb2YgYSBjaGFydCdzIGJhY2tncm91bmRcbiAgICovXG4gIGJhY2tncm91bmRHcmFkaWVudEZyb20/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBmaXJzdCBjb2xvciBvcGFjaXR5IGluIHRoZSBsaW5lYXIgZ3JhZGllbnQgb2YgYSBjaGFydCdzIGJhY2tncm91bmRcbiAgICovXG4gIGJhY2tncm91bmRHcmFkaWVudEZyb21PcGFjaXR5PzogbnVtYmVyO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgc2Vjb25kIGNvbG9yIGluIHRoZSBsaW5lYXIgZ3JhZGllbnQgb2YgYSBjaGFydCdzIGJhY2tncm91bmRcbiAgICovXG4gIGJhY2tncm91bmRHcmFkaWVudFRvPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgc2Vjb25kIGNvbG9yIG9wYWNpdHkgaW4gdGhlIGxpbmVhciBncmFkaWVudCBvZiBhIGNoYXJ0J3MgYmFja2dyb3VuZFxuICAgKi9cbiAgYmFja2dyb3VuZEdyYWRpZW50VG9PcGFjaXR5PzogbnVtYmVyO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgcHJldmlvdXMgb3B0aW9ucyB0byBtYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgKi9cbiAgZmlsbFNoYWRvd0dyYWRpZW50Pzogc3RyaW5nO1xuICBmaWxsU2hhZG93R3JhZGllbnRPcGFjaXR5PzogbnVtYmVyO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgZmlyc3QgY29sb3IgaW4gdGhlIGxpbmVhciBncmFkaWVudCBvZiB0aGUgYXJlYSB1bmRlciBkYXRhXG4gICAqL1xuICBmaWxsU2hhZG93R3JhZGllbnRGcm9tPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgZmlyc3QgY29sb3Igb3BhY2l0eSBpbiB0aGUgbGluZWFyIGdyYWRpZW50IG9mIHRoZSBhcmVhIHVuZGVyIGRhdGFcbiAgICovXG4gIGZpbGxTaGFkb3dHcmFkaWVudEZyb21PcGFjaXR5PzogbnVtYmVyO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgZmlyc3QgY29sb3Igb2Zmc2V0IGluIHRoZSBsaW5lYXIgZ3JhZGllbnQgb2YgdGhlIGFyZWEgdW5kZXIgZGF0YVxuICAgKi9cbiAgZmlsbFNoYWRvd0dyYWRpZW50RnJvbU9mZnNldD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIHNlY29uZCBjb2xvciBpbiB0aGUgbGluZWFyIGdyYWRpZW50IG9mIHRoZSBhcmVhIHVuZGVyIGRhdGFcbiAgICovXG4gIGZpbGxTaGFkb3dHcmFkaWVudFRvPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgc2Vjb25kIGNvbG9yIG9wYWNpdHkgaW4gdGhlIGxpbmVhciBncmFkaWVudCBvZiB0aGUgYXJlYSB1bmRlciBkYXRhXG4gICAqL1xuICBmaWxsU2hhZG93R3JhZGllbnRUb09wYWNpdHk/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBzZWNvbmQgY29sb3Igb2Zmc2V0IGluIHRoZSBsaW5lYXIgZ3JhZGllbnQgb2YgdGhlIGFyZWEgdW5kZXIgZGF0YVxuICAgKi9cbiAgZmlsbFNoYWRvd0dyYWRpZW50VG9PZmZzZXQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBvcHRpb24gdG8gdXNlIGNvbG9yIGZyb20gZGF0YXNldCB0byBlYWNoIGNoYXJ0IGRhdGFcbiAgICovXG4gIHVzZVNoYWRvd0NvbG9yRnJvbURhdGFzZXQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgYmFzZSBjb2xvciBmdW5jdGlvbiB0aGF0IGlzIHVzZWQgdG8gY2FsY3VsYXRlIGNvbG9ycyBvZiBsYWJlbHMgYW5kIHNlY3RvcnMgdXNlZCBpbiBhIGNoYXJ0XG4gICAqL1xuICBjb2xvcj86IChvcGFjaXR5OiBudW1iZXIsIGluZGV4PzogbnVtYmVyKSA9PiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSBjb2xvciBvZiB0aGUgbGFiZWxzIHVzZWQgaW4gYSBjaGFydC5cbiAgICovXG4gIGxhYmVsQ29sb3I/OiAob3BhY2l0eTogbnVtYmVyKSA9PiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBiYXNlIHN0cm9rZSB3aWR0aCBpbiBhIGNoYXJ0XG4gICAqL1xuICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIHBlcmNlbnQgKDAtMSkgb2YgdGhlIGF2YWlsYWJsZSB3aWR0aCBlYWNoIGJhciB3aWR0aCBpbiBhIGNoYXJ0XG4gICAqL1xuICBiYXJQZXJjZW50YWdlPzogbnVtYmVyO1xuICBiYXJSYWRpdXM/OiBudW1iZXI7XG4gIHByb3BzRm9yVG9wTGFiZWxzPzogVGV4dFByb3BzO1xuICAvKipcbiAgICogT3ZlcnJpZGUgc3R5bGVzIG9mIHRoZSBiYWNrZ3JvdW5kIGxpbmVzLCByZWZlciB0byByZWFjdC1uYXRpdmUtc3ZnJ3MgTGluZSBkb2N1bWVudGF0aW9uXG4gICAqL1xuICBwcm9wc0ZvckJhY2tncm91bmRMaW5lcz86IG9iamVjdDtcbiAgLyoqXG4gICAqIE92ZXJyaWRlIHN0eWxlcyBvZiB0aGUgbGFiZWxzLCByZWZlciB0byByZWFjdC1uYXRpdmUtc3ZnJ3MgVGV4dCBkb2N1bWVudGF0aW9uXG4gICAqL1xuICBwcm9wc0ZvckxhYmVscz86IFRleHRQcm9wcztcbiAgLyoqXG4gICAqIE92ZXJyaWRlIHN0eWxlcyBvZiB2ZXJ0aWNhbCBsYWJlbHMsIHJlZmVyIHRvIHJlYWN0LW5hdGl2ZS1zdmcncyBUZXh0IGRvY3VtZW50YXRpb25cbiAgICovXG4gIHByb3BzRm9yVmVydGljYWxMYWJlbHM/OiBUZXh0UHJvcHM7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHN0eWxlcyBvZiBob3Jpem9udGFsIGxhYmVscywgcmVmZXIgdG8gcmVhY3QtbmF0aXZlLXN2ZydzIFRleHQgZG9jdW1lbnRhdGlvblxuICAgKi9cbiAgcHJvcHNGb3JIb3Jpem9udGFsTGFiZWxzPzogVGV4dFByb3BzO1xuICAvKipcbiAgICogT3ZlcnJpZGUgc3R5bGVzIG9mIHRoZSBkb3RzLCByZWZlciB0byByZWFjdC1uYXRpdmUtc3ZnJ3MgVGV4dCBkb2N1bWVudGF0aW9uXG4gICAqL1xuICBwcm9wc0ZvckRvdHM/OiBDaXJjbGVQcm9wcztcbiAgZGVjaW1hbFBsYWNlcz86IG51bWJlcjtcbiAgc3R5bGU/OiBQYXJ0aWFsPFZpZXdTdHlsZT47XG5cbiAgLyoqXG4gICAqIERlZmluZSBzdHJva2UgbGluZSBqb2luIHR5cGVcbiAgICovXG4gIGxpbmVqb2luVHlwZT86IFwibWl0ZXJcIiB8IFwiYmV2ZWxcIiB8IFwicm91bmRcIjtcblxuICAvKipcbiAgICogRGVmaW5lIGZpbGwgY29sb3IgZm9yIHNjcm9sbGFibGUgZG90XG4gICAqL1xuICBzY3JvbGxhYmxlRG90RmlsbD86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIHN0cm9rZSBjb2xvciBmb3Igc2Nyb2xsYWJsZSBkb3RcbiAgICovXG4gIHNjcm9sbGFibGVEb3RTdHJva2VDb2xvcj86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lIHN0cm9rZSB3aWR0aCBmb3Igc2Nyb2xsYWJsZSBkb3RcbiAgICovXG4gIHNjcm9sbGFibGVEb3RTdHJva2VXaWR0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVmaW5lIHJhZGl1cyBmb3Igc2Nyb2xsYWJsZSBkb3RcbiAgICovXG4gIHNjcm9sbGFibGVEb3RSYWRpdXM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHN0eWxlIGZvciBhZGRpdGlvbmFsIGluZm8gdmlldyB1cHBlciBzY3JvbGxhYmxlIGRvdFxuICAgKi9cbiAgc2Nyb2xsYWJsZUluZm9WaWV3U3R5bGU/OiBQYXJ0aWFsPFZpZXdTdHlsZT47XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRleHQgc3R5bGUgZm9yIGFkZGl0aW9uYWwgaW5mbyB2aWV3IHVwcGVyIHNjcm9sbGFibGUgZG90XG4gICAqL1xuICBzY3JvbGxhYmxlSW5mb1RleHRTdHlsZT86IFBhcnRpYWw8VGV4dFN0eWxlPjtcbiAgc2Nyb2xsYWJsZUluZm9UZXh0RGVjb3JhdG9yPzogKHZhbHVlOiBudW1iZXIpID0+IHN0cmluZztcblxuICAvKipcbiAgICogU2V0IEluZm8gVmlldyBvZmZzZXRcbiAgICovXG4gIHNjcm9sbGFibGVJbmZvT2Zmc2V0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTZXQgSW5mbyBWaWV3IHNpemVcbiAgICovXG4gIHNjcm9sbGFibGVJbmZvU2l6ZT86IFNpemU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2l6ZSB7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBQYXJ0aWFsQnk8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmIFBhcnRpYWw8UGljazxULCBLPj47XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"PieChart.d.ts","sourceRoot":"","sources":["../src/PieChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAQ,SAAS,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,aAAa,EAAE,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEpE,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACvD,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,KAAK,aAAa,GAAG,EAAE,CAAC;AAExB,cAAM,QAAS,SAAQ,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC;IAChE,MAAM;CAwHP;AAED,eAAe,QAAQ,CAAC"}