@pie-lib/plot 2.9.0-beta.0 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +0 -335
- package/CHANGELOG.md +156 -9
- package/package.json +7 -4
- package/src/root.jsx +0 -2
- package/lib/__tests__/draggable.test.js +0 -33
- package/lib/__tests__/grid-draggable.test.js +0 -438
- package/lib/__tests__/root.test.js +0 -151
- package/lib/__tests__/trig.test.js +0 -183
- package/lib/__tests__/utils.test.js +0 -312
- package/lib/draggable.js +0 -65
- package/lib/graph-props.js +0 -53
- package/lib/grid-draggable.js +0 -381
- package/lib/index.js +0 -59
- package/lib/label.js +0 -176
- package/lib/root.js +0 -424
- package/lib/trig.js +0 -196
- package/lib/types.js +0 -68
- package/lib/utils.js +0 -232
package/lib/label.js
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports["default"] = void 0;
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
|
|
18
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
19
|
-
|
|
20
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
21
|
-
|
|
22
|
-
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
23
|
-
|
|
24
|
-
var _styles = require("@material-ui/core/styles");
|
|
25
|
-
|
|
26
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
|
-
var _utils = require("./utils");
|
|
29
|
-
|
|
30
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
-
|
|
32
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
|
-
|
|
34
|
-
var LabelComponent = function LabelComponent(props) {
|
|
35
|
-
var _cn;
|
|
36
|
-
|
|
37
|
-
var classes = props.classes,
|
|
38
|
-
disabledLabel = props.disabledLabel,
|
|
39
|
-
graphHeight = props.graphHeight,
|
|
40
|
-
graphWidth = props.graphWidth,
|
|
41
|
-
isChartBottomLabel = props.isChartBottomLabel,
|
|
42
|
-
isDefineChartBottomLabel = props.isDefineChartBottomLabel,
|
|
43
|
-
isChartLeftLabel = props.isChartLeftLabel,
|
|
44
|
-
isDefineChartLeftLabel = props.isDefineChartLeftLabel,
|
|
45
|
-
placeholder = props.placeholder,
|
|
46
|
-
text = props.text,
|
|
47
|
-
side = props.side,
|
|
48
|
-
onChange = props.onChange,
|
|
49
|
-
_props$mathMlOptions = props.mathMlOptions,
|
|
50
|
-
mathMlOptions = _props$mathMlOptions === void 0 ? {} : _props$mathMlOptions,
|
|
51
|
-
charactersLimit = props.charactersLimit,
|
|
52
|
-
titleHeight = props.titleHeight;
|
|
53
|
-
|
|
54
|
-
var _useState = (0, _react.useState)(false),
|
|
55
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
56
|
-
rotatedToHorizontal = _useState2[0],
|
|
57
|
-
setRotatedToHorizontal = _useState2[1];
|
|
58
|
-
|
|
59
|
-
var activePlugins = ['bold', 'italic', 'underline', 'strikethrough', 'math' // 'languageCharacters'
|
|
60
|
-
];
|
|
61
|
-
var isChart = isChartBottomLabel || isChartLeftLabel || isDefineChartBottomLabel || isDefineChartLeftLabel;
|
|
62
|
-
var chartValue = side === 'left' && isDefineChartLeftLabel && graphHeight - 220;
|
|
63
|
-
var defaultStyle = {
|
|
64
|
-
width: chartValue || (side === 'left' || side === 'right' ? graphHeight - 8 : graphWidth - 8),
|
|
65
|
-
top: chartValue || isChartLeftLabel && "".concat(graphHeight - 70, "px") || side === 'left' && "".concat(graphHeight - 8, "px") || isChartBottomLabel && "".concat(graphHeight - 60 + titleHeight, "px") || side === 'bottom' && "".concat(graphHeight - 120 + titleHeight, "px") || 0,
|
|
66
|
-
left: side === 'right' && "".concat(graphWidth - 8, "px") || (isDefineChartLeftLabel || isDefineChartBottomLabel) && '40px' || isChartBottomLabel && '-10px' || 0
|
|
67
|
-
};
|
|
68
|
-
var rotatedStyle = {
|
|
69
|
-
width: graphWidth - 8,
|
|
70
|
-
top: side === 'right' && "".concat(graphHeight - 22, "px") || 0,
|
|
71
|
-
left: 0
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
var rotateLabel = function rotateLabel() {
|
|
75
|
-
return !disabledLabel && (side === 'left' || side === 'right') && setRotatedToHorizontal(true);
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
return /*#__PURE__*/_react["default"].createElement(_renderUi.Readable, {
|
|
79
|
-
"false": true
|
|
80
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
81
|
-
className: (0, _classnames["default"])(isChart ? classes.chartLabel : classes.axisLabel, (_cn = {}, (0, _defineProperty2["default"])(_cn, classes.rotateLeftLabel, side === 'left' && !rotatedToHorizontal), (0, _defineProperty2["default"])(_cn, classes.rotateRightLabel, side === 'right' && !rotatedToHorizontal), (0, _defineProperty2["default"])(_cn, classes.editLabel, rotatedToHorizontal), (0, _defineProperty2["default"])(_cn, classes.customBottom, isChartBottomLabel || isDefineChartBottomLabel), (0, _defineProperty2["default"])(_cn, classes.displayNone, disabledLabel && !isChart && (0, _utils.isEmptyString)((0, _utils.extractTextFromHTML)(text))), _cn)),
|
|
82
|
-
style: rotatedToHorizontal ? rotatedStyle : defaultStyle,
|
|
83
|
-
onClick: rotateLabel
|
|
84
|
-
}, disabledLabel ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
85
|
-
className: classes.disabledLabel,
|
|
86
|
-
dangerouslySetInnerHTML: {
|
|
87
|
-
__html: text || ''
|
|
88
|
-
}
|
|
89
|
-
}) : /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
90
|
-
markup: text || '',
|
|
91
|
-
onChange: onChange,
|
|
92
|
-
placeholder: !disabledLabel && placeholder,
|
|
93
|
-
toolbarOpts: {
|
|
94
|
-
position: side === 'bottom' ? 'top' : 'bottom',
|
|
95
|
-
noPadding: true,
|
|
96
|
-
noBorder: true
|
|
97
|
-
},
|
|
98
|
-
disableScrollbar: true,
|
|
99
|
-
activePlugins: activePlugins,
|
|
100
|
-
onDone: function onDone() {
|
|
101
|
-
return setRotatedToHorizontal(false);
|
|
102
|
-
},
|
|
103
|
-
mathMlOptions: mathMlOptions,
|
|
104
|
-
charactersLimit: charactersLimit
|
|
105
|
-
})));
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
LabelComponent.propTypes = {
|
|
109
|
-
classes: _propTypes["default"].object,
|
|
110
|
-
disabledLabel: _propTypes["default"].bool,
|
|
111
|
-
graphHeight: _propTypes["default"].number,
|
|
112
|
-
graphWidth: _propTypes["default"].number,
|
|
113
|
-
isChartBottomLabel: _propTypes["default"].bool,
|
|
114
|
-
isDefineChartBottomLabel: _propTypes["default"].bool,
|
|
115
|
-
isChartLeftLabel: _propTypes["default"].bool,
|
|
116
|
-
isDefineChartLeftLabel: _propTypes["default"].bool,
|
|
117
|
-
placeholder: _propTypes["default"].string,
|
|
118
|
-
text: _propTypes["default"].string,
|
|
119
|
-
side: _propTypes["default"].string,
|
|
120
|
-
onChange: _propTypes["default"].func,
|
|
121
|
-
mathMlOptions: _propTypes["default"].object,
|
|
122
|
-
charactersLimit: _propTypes["default"].number,
|
|
123
|
-
titleHeight: _propTypes["default"].number
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
var _default = (0, _styles.withStyles)(function (theme) {
|
|
127
|
-
return {
|
|
128
|
-
label: {
|
|
129
|
-
fill: _renderUi.color.secondary()
|
|
130
|
-
},
|
|
131
|
-
axisLabel: {
|
|
132
|
-
fontSize: theme.typography.fontSize - 2,
|
|
133
|
-
textAlign: 'center',
|
|
134
|
-
margin: theme.spacing.unit / 2,
|
|
135
|
-
padding: "".concat(theme.spacing.unit / 2, "px 0")
|
|
136
|
-
},
|
|
137
|
-
chartLabel: {
|
|
138
|
-
fontSize: theme.typography.fontSize + 2,
|
|
139
|
-
textAlign: 'center',
|
|
140
|
-
margin: theme.spacing.unit / 2,
|
|
141
|
-
padding: "".concat(theme.spacing.unit / 2, "px 0")
|
|
142
|
-
},
|
|
143
|
-
disabledLabel: {
|
|
144
|
-
pointerEvents: 'none',
|
|
145
|
-
width: '100%'
|
|
146
|
-
},
|
|
147
|
-
editLabel: {
|
|
148
|
-
position: 'absolute',
|
|
149
|
-
backgroundColor: 'white',
|
|
150
|
-
borderRadius: '4px',
|
|
151
|
-
boxShadow: '0px 5px 8px rgba(0, 0, 0, 0.15)',
|
|
152
|
-
zIndex: 10
|
|
153
|
-
},
|
|
154
|
-
rotateLeftLabel: {
|
|
155
|
-
'-webkit-transform': 'rotate(-90deg)',
|
|
156
|
-
transformOrigin: '0 0',
|
|
157
|
-
transformStyle: 'preserve-3d',
|
|
158
|
-
position: 'absolute'
|
|
159
|
-
},
|
|
160
|
-
rotateRightLabel: {
|
|
161
|
-
'-webkit-transform': 'rotate(90deg)',
|
|
162
|
-
transformOrigin: '0 0',
|
|
163
|
-
transformStyle: 'preserve-3d',
|
|
164
|
-
position: 'absolute'
|
|
165
|
-
},
|
|
166
|
-
customBottom: {
|
|
167
|
-
position: 'absolute'
|
|
168
|
-
},
|
|
169
|
-
displayNone: {
|
|
170
|
-
display: 'none'
|
|
171
|
-
}
|
|
172
|
-
};
|
|
173
|
-
})(LabelComponent);
|
|
174
|
-
|
|
175
|
-
exports["default"] = _default;
|
|
176
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sYWJlbC5qc3giXSwibmFtZXMiOlsiTGFiZWxDb21wb25lbnQiLCJwcm9wcyIsImNsYXNzZXMiLCJkaXNhYmxlZExhYmVsIiwiZ3JhcGhIZWlnaHQiLCJncmFwaFdpZHRoIiwiaXNDaGFydEJvdHRvbUxhYmVsIiwiaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsIiwiaXNDaGFydExlZnRMYWJlbCIsImlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwiLCJwbGFjZWhvbGRlciIsInRleHQiLCJzaWRlIiwib25DaGFuZ2UiLCJtYXRoTWxPcHRpb25zIiwiY2hhcmFjdGVyc0xpbWl0IiwidGl0bGVIZWlnaHQiLCJyb3RhdGVkVG9Ib3Jpem9udGFsIiwic2V0Um90YXRlZFRvSG9yaXpvbnRhbCIsImFjdGl2ZVBsdWdpbnMiLCJpc0NoYXJ0IiwiY2hhcnRWYWx1ZSIsImRlZmF1bHRTdHlsZSIsIndpZHRoIiwidG9wIiwibGVmdCIsInJvdGF0ZWRTdHlsZSIsInJvdGF0ZUxhYmVsIiwiY2hhcnRMYWJlbCIsImF4aXNMYWJlbCIsInJvdGF0ZUxlZnRMYWJlbCIsInJvdGF0ZVJpZ2h0TGFiZWwiLCJlZGl0TGFiZWwiLCJjdXN0b21Cb3R0b20iLCJkaXNwbGF5Tm9uZSIsIl9faHRtbCIsInBvc2l0aW9uIiwibm9QYWRkaW5nIiwibm9Cb3JkZXIiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJib29sIiwibnVtYmVyIiwic3RyaW5nIiwiZnVuYyIsInRoZW1lIiwibGFiZWwiLCJmaWxsIiwiY29sb3IiLCJzZWNvbmRhcnkiLCJmb250U2l6ZSIsInR5cG9ncmFwaHkiLCJ0ZXh0QWxpZ24iLCJtYXJnaW4iLCJzcGFjaW5nIiwidW5pdCIsInBhZGRpbmciLCJwb2ludGVyRXZlbnRzIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyUmFkaXVzIiwiYm94U2hhZG93IiwiekluZGV4IiwidHJhbnNmb3JtT3JpZ2luIiwidHJhbnNmb3JtU3R5bGUiLCJkaXNwbGF5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QUFBLE1BQU0sRUFBRTtBQUxDLEtBcEJ5QjtBQTJCcENoQyxJQUFBQSxlQUFlLEVBQUU7QUFDZiwyQkFBcUIsZ0JBRE47QUFFZmlDLE1BQUFBLGVBQWUsRUFBRSxLQUZGO0FBR2ZDLE1BQUFBLGNBQWMsRUFBRSxhQUhEO0FBSWY1QixNQUFBQSxRQUFRLEVBQUU7QUFKSyxLQTNCbUI7QUFpQ3BDTCxJQUFBQSxnQkFBZ0IsRUFBRTtBQUNoQiwyQkFBcUIsZUFETDtBQUVoQmdDLE1BQUFBLGVBQWUsRUFBRSxLQUZEO0FBR2hCQyxNQUFBQSxjQUFjLEVBQUUsYUFIQTtBQUloQjVCLE1BQUFBLFFBQVEsRUFBRTtBQUpNLEtBakNrQjtBQXVDcENILElBQUFBLFlBQVksRUFBRTtBQUNaRyxNQUFBQSxRQUFRLEVBQUU7QUFERSxLQXZDc0I7QUEwQ3BDRixJQUFBQSxXQUFXLEVBQUU7QUFDWCtCLE1BQUFBLE9BQU8sRUFBRTtBQURFO0FBMUN1QixHQUFaO0FBQUEsQ0FBWCxFQTZDWGpFLGNBN0NXLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb2xvciwgUmVhZGFibGUgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IGNuIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IEVkaXRhYmxlSHRtbCBmcm9tICdAcGllLWxpYi9lZGl0YWJsZS1odG1sJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IGV4dHJhY3RUZXh0RnJvbUhUTUwsIGlzRW1wdHlTdHJpbmcgfSBmcm9tICcuL3V0aWxzJztcbmNvbnN0IExhYmVsQ29tcG9uZW50ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjbGFzc2VzLFxuICAgIGRpc2FibGVkTGFiZWwsXG4gICAgZ3JhcGhIZWlnaHQsXG4gICAgZ3JhcGhXaWR0aCxcbiAgICBpc0NoYXJ0Qm90dG9tTGFiZWwsXG4gICAgaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsLFxuICAgIGlzQ2hhcnRMZWZ0TGFiZWwsXG4gICAgaXNEZWZpbmVDaGFydExlZnRMYWJlbCxcbiAgICBwbGFjZWhvbGRlcixcbiAgICB0ZXh0LFxuICAgIHNpZGUsXG4gICAgb25DaGFuZ2UsXG4gICAgbWF0aE1sT3B0aW9ucyA9IHt9LFxuICAgIGNoYXJhY3RlcnNMaW1pdCxcbiAgICB0aXRsZUhlaWdodCxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBbcm90YXRlZFRvSG9yaXpvbnRhbCwgc2V0Um90YXRlZFRvSG9yaXpvbnRhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGFjdGl2ZVBsdWdpbnMgPSBbXG4gICAgJ2JvbGQnLFxuICAgICdpdGFsaWMnLFxuICAgICd1bmRlcmxpbmUnLFxuICAgICdzdHJpa2V0aHJvdWdoJyxcbiAgICAnbWF0aCcsXG4gICAgLy8gJ2xhbmd1YWdlQ2hhcmFjdGVycydcbiAgXTtcblxuICBjb25zdCBpc0NoYXJ0ID0gaXNDaGFydEJvdHRvbUxhYmVsIHx8IGlzQ2hhcnRMZWZ0TGFiZWwgfHwgaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsIHx8IGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWw7XG5cbiAgY29uc3QgY2hhcnRWYWx1ZSA9IHNpZGUgPT09ICdsZWZ0JyAmJiBpc0RlZmluZUNoYXJ0TGVmdExhYmVsICYmIGdyYXBoSGVpZ2h0IC0gMjIwO1xuICBjb25zdCBkZWZhdWx0U3R5bGUgPSB7XG4gICAgd2lkdGg6IGNoYXJ0VmFsdWUgfHwgKHNpZGUgPT09ICdsZWZ0JyB8fCBzaWRlID09PSAncmlnaHQnID8gZ3JhcGhIZWlnaHQgLSA4IDogZ3JhcGhXaWR0aCAtIDgpLFxuICAgIHRvcDpcbiAgICAgIGNoYXJ0VmFsdWUgfHxcbiAgICAgIChpc0NoYXJ0TGVmdExhYmVsICYmIGAke2dyYXBoSGVpZ2h0IC0gNzB9cHhgKSB8fFxuICAgICAgKHNpZGUgPT09ICdsZWZ0JyAmJiBgJHtncmFwaEhlaWdodCAtIDh9cHhgKSB8fFxuICAgICAgKGlzQ2hhcnRCb3R0b21MYWJlbCAmJiBgJHtncmFwaEhlaWdodCAtIDYwICsgdGl0bGVIZWlnaHR9cHhgKSB8fFxuICAgICAgKHNpZGUgPT09ICdib3R0b20nICYmIGAke2dyYXBoSGVpZ2h0IC0gMTIwICsgdGl0bGVIZWlnaHR9cHhgKSB8fFxuICAgICAgMCxcbiAgICBsZWZ0OlxuICAgICAgKHNpZGUgPT09ICdyaWdodCcgJiYgYCR7Z3JhcGhXaWR0aCAtIDh9cHhgKSB8fFxuICAgICAgKChpc0RlZmluZUNoYXJ0TGVmdExhYmVsIHx8IGlzRGVmaW5lQ2hhcnRCb3R0b21MYWJlbCkgJiYgJzQwcHgnKSB8fFxuICAgICAgKGlzQ2hhcnRCb3R0b21MYWJlbCAmJiAnLTEwcHgnKSB8fFxuICAgICAgMCxcbiAgfTtcblxuICBjb25zdCByb3RhdGVkU3R5bGUgPSB7XG4gICAgd2lkdGg6IGdyYXBoV2lkdGggLSA4LFxuICAgIHRvcDogKHNpZGUgPT09ICdyaWdodCcgJiYgYCR7Z3JhcGhIZWlnaHQgLSAyMn1weGApIHx8IDAsXG4gICAgbGVmdDogMCxcbiAgfTtcblxuICBjb25zdCByb3RhdGVMYWJlbCA9ICgpID0+ICFkaXNhYmxlZExhYmVsICYmIChzaWRlID09PSAnbGVmdCcgfHwgc2lkZSA9PT0gJ3JpZ2h0JykgJiYgc2V0Um90YXRlZFRvSG9yaXpvbnRhbCh0cnVlKTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFkYWJsZSBmYWxzZT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtjbihpc0NoYXJ0ID8gY2xhc3Nlcy5jaGFydExhYmVsIDogY2xhc3Nlcy5heGlzTGFiZWwsIHtcbiAgICAgICAgICBbY2xhc3Nlcy5yb3RhdGVMZWZ0TGFiZWxdOiBzaWRlID09PSAnbGVmdCcgJiYgIXJvdGF0ZWRUb0hvcml6b250YWwsXG4gICAgICAgICAgW2NsYXNzZXMucm90YXRlUmlnaHRMYWJlbF06IHNpZGUgPT09ICdyaWdodCcgJiYgIXJvdGF0ZWRUb0hvcml6b250YWwsXG4gICAgICAgICAgW2NsYXNzZXMuZWRpdExhYmVsXTogcm90YXRlZFRvSG9yaXpvbnRhbCxcbiAgICAgICAgICBbY2xhc3Nlcy5jdXN0b21Cb3R0b21dOiBpc0NoYXJ0Qm90dG9tTGFiZWwgfHwgaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsLFxuICAgICAgICAgIFtjbGFzc2VzLmRpc3BsYXlOb25lXTogZGlzYWJsZWRMYWJlbCAmJiAhaXNDaGFydCAmJiBpc0VtcHR5U3RyaW5nKGV4dHJhY3RUZXh0RnJvbUhUTUwodGV4dCkpLFxuICAgICAgICB9KX1cbiAgICAgICAgc3R5bGU9e3JvdGF0ZWRUb0hvcml6b250YWwgPyByb3RhdGVkU3R5bGUgOiBkZWZhdWx0U3R5bGV9XG4gICAgICAgIG9uQ2xpY2s9e3JvdGF0ZUxhYmVsfVxuICAgICAgPlxuICAgICAgICB7ZGlzYWJsZWRMYWJlbCA/IChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5kaXNhYmxlZExhYmVsfSBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IHRleHQgfHwgJycgfX0gLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8RWRpdGFibGVIdG1sXG4gICAgICAgICAgICBtYXJrdXA9e3RleHQgfHwgJyd9XG4gICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj17IWRpc2FibGVkTGFiZWwgJiYgcGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICB0b29sYmFyT3B0cz17e1xuICAgICAgICAgICAgICBwb3NpdGlvbjogc2lkZSA9PT0gJ2JvdHRvbScgPyAndG9wJyA6ICdib3R0b20nLFxuICAgICAgICAgICAgICBub1BhZGRpbmc6IHRydWUsXG4gICAgICAgICAgICAgIG5vQm9yZGVyOiB0cnVlLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGRpc2FibGVTY3JvbGxiYXJcbiAgICAgICAgICAgIGFjdGl2ZVBsdWdpbnM9e2FjdGl2ZVBsdWdpbnN9XG4gICAgICAgICAgICBvbkRvbmU9eygpID0+IHNldFJvdGF0ZWRUb0hvcml6b250YWwoZmFsc2UpfVxuICAgICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgICAgIGNoYXJhY3RlcnNMaW1pdD17Y2hhcmFjdGVyc0xpbWl0fVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L1JlYWRhYmxlPlxuICApO1xufTtcbkxhYmVsQ29tcG9uZW50LnByb3BUeXBlcyA9IHtcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgZGlzYWJsZWRMYWJlbDogUHJvcFR5cGVzLmJvb2wsXG4gIGdyYXBoSGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLFxuICBncmFwaFdpZHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICBpc0NoYXJ0Qm90dG9tTGFiZWw6IFByb3BUeXBlcy5ib29sLFxuICBpc0RlZmluZUNoYXJ0Qm90dG9tTGFiZWw6IFByb3BUeXBlcy5ib29sLFxuICBpc0NoYXJ0TGVmdExhYmVsOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNEZWZpbmVDaGFydExlZnRMYWJlbDogUHJvcFR5cGVzLmJvb2wsXG4gIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB0ZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICBzaWRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIG1hdGhNbE9wdGlvbnM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGNoYXJhY3RlcnNMaW1pdDogUHJvcFR5cGVzLm51bWJlcixcbiAgdGl0bGVIZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKCh0aGVtZSkgPT4gKHtcbiAgbGFiZWw6IHtcbiAgICBmaWxsOiBjb2xvci5zZWNvbmRhcnkoKSxcbiAgfSxcbiAgYXhpc0xhYmVsOiB7XG4gICAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUgLSAyLFxuICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgbWFyZ2luOiB0aGVtZS5zcGFjaW5nLnVuaXQgLyAyLFxuICAgIHBhZGRpbmc6IGAke3RoZW1lLnNwYWNpbmcudW5pdCAvIDJ9cHggMGAsXG4gIH0sXG4gIGNoYXJ0TGFiZWw6IHtcbiAgICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5mb250U2l6ZSArIDIsXG4gICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICBtYXJnaW46IHRoZW1lLnNwYWNpbmcudW5pdCAvIDIsXG4gICAgcGFkZGluZzogYCR7dGhlbWUuc3BhY2luZy51bml0IC8gMn1weCAwYCxcbiAgfSxcbiAgZGlzYWJsZWRMYWJlbDoge1xuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICB9LFxuICBlZGl0TGFiZWw6IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZScsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBib3hTaGFkb3c6ICcwcHggNXB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpJyxcbiAgICB6SW5kZXg6IDEwLFxuICB9LFxuICByb3RhdGVMZWZ0TGFiZWw6IHtcbiAgICAnLXdlYmtpdC10cmFuc2Zvcm0nOiAncm90YXRlKC05MGRlZyknLFxuICAgIHRyYW5zZm9ybU9yaWdpbjogJzAgMCcsXG4gICAgdHJhbnNmb3JtU3R5bGU6ICdwcmVzZXJ2ZS0zZCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gIH0sXG4gIHJvdGF0ZVJpZ2h0TGFiZWw6IHtcbiAgICAnLXdlYmtpdC10cmFuc2Zvcm0nOiAncm90YXRlKDkwZGVnKScsXG4gICAgdHJhbnNmb3JtT3JpZ2luOiAnMCAwJyxcbiAgICB0cmFuc2Zvcm1TdHlsZTogJ3ByZXNlcnZlLTNkJyxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgfSxcbiAgY3VzdG9tQm90dG9tOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gIH0sXG4gIGRpc3BsYXlOb25lOiB7XG4gICAgZGlzcGxheTogJ25vbmUnLFxuICB9LFxufSkpKExhYmVsQ29tcG9uZW50KTtcbiJdfQ==
|