@pie-lib/plot 2.41.0-mui-update.0 → 3.1.0-next.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.md +14 -123
- package/lib/__tests__/draggable.test.js +48 -0
- package/lib/__tests__/grid-draggable.test.js +773 -0
- package/lib/__tests__/root.test.js +265 -0
- package/lib/__tests__/trig.test.js +168 -0
- package/lib/__tests__/utils.test.js +300 -0
- package/lib/draggable.js +1 -1
- package/lib/graph-props.js +1 -1
- package/lib/grid-draggable.js +11 -10
- package/lib/grid-draggable.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/label.js +13 -6
- package/lib/label.js.map +1 -1
- package/lib/root.js +5 -5
- package/lib/root.js.map +1 -1
- package/lib/trig.js +1 -1
- package/lib/types.js +1 -1
- package/lib/utils.js +1 -1
- package/package.json +4 -4
- package/src/__tests__/draggable.test.jsx +33 -15
- package/src/__tests__/grid-draggable.test.jsx +377 -224
- package/src/__tests__/root.test.jsx +213 -57
- package/src/grid-draggable.jsx +13 -4
- package/src/label.jsx +21 -39
- package/src/root.jsx +7 -5
- package/src/__tests__/__snapshots__/grid-draggable.test.jsx.snap +0 -185
- package/src/__tests__/__snapshots__/root.test.jsx.snap +0 -18
package/lib/label.js
CHANGED
|
@@ -10,7 +10,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _renderUi = require("@pie-lib/render-ui");
|
|
13
|
-
var
|
|
13
|
+
var _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
|
|
14
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
15
|
var _utils = require("./utils");
|
|
16
16
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
@@ -95,6 +95,15 @@ var LabelComponent = function LabelComponent(props) {
|
|
|
95
95
|
setRotatedToHorizontal(true);
|
|
96
96
|
}
|
|
97
97
|
};
|
|
98
|
+
var exitEditMode = function exitEditMode() {
|
|
99
|
+
setRotatedToHorizontal(false);
|
|
100
|
+
|
|
101
|
+
// blur active element because rotation is causing editing issues on exit
|
|
102
|
+
requestAnimationFrame(function () {
|
|
103
|
+
var _document$activeEleme, _document$activeEleme2;
|
|
104
|
+
(_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 || (_document$activeEleme2 = _document$activeEleme.blur) === null || _document$activeEleme2 === void 0 || _document$activeEleme2.call(_document$activeEleme);
|
|
105
|
+
});
|
|
106
|
+
};
|
|
98
107
|
return /*#__PURE__*/_react["default"].createElement(_renderUi.Readable, {
|
|
99
108
|
"false": true
|
|
100
109
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -105,7 +114,7 @@ var LabelComponent = function LabelComponent(props) {
|
|
|
105
114
|
dangerouslySetInnerHTML: {
|
|
106
115
|
__html: text || ''
|
|
107
116
|
}
|
|
108
|
-
}) : /*#__PURE__*/_react["default"].createElement(
|
|
117
|
+
}) : /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], {
|
|
109
118
|
markup: text || '',
|
|
110
119
|
onChange: onChange,
|
|
111
120
|
placeholder: !disabledLabel && placeholder,
|
|
@@ -116,9 +125,7 @@ var LabelComponent = function LabelComponent(props) {
|
|
|
116
125
|
},
|
|
117
126
|
disableScrollbar: true,
|
|
118
127
|
activePlugins: activePlugins,
|
|
119
|
-
onDone:
|
|
120
|
-
return setRotatedToHorizontal(false);
|
|
121
|
-
},
|
|
128
|
+
onDone: exitEditMode,
|
|
122
129
|
mathMlOptions: mathMlOptions,
|
|
123
130
|
charactersLimit: charactersLimit
|
|
124
131
|
})));
|
|
@@ -140,4 +147,4 @@ LabelComponent.propTypes = {
|
|
|
140
147
|
titleHeight: _propTypes["default"].number
|
|
141
148
|
};
|
|
142
149
|
var _default = exports["default"] = LabelComponent;
|
|
143
|
-
//# sourceMappingURL=label.js.map
|
|
150
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVuZGVyVWkiLCJfZWRpdGFibGVIdG1sVGlwVGFwIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9wcm9wVHlwZXMiLCJfdXRpbHMiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwic3R5bGVzIiwiYXhpc0xhYmVsIiwiZm9udFNpemUiLCJ0ZXh0QWxpZ24iLCJtYXJnaW4iLCJwYWRkaW5nIiwiY2hhcnRMYWJlbCIsImRpc2FibGVkTGFiZWwiLCJwb2ludGVyRXZlbnRzIiwid2lkdGgiLCJlZGl0TGFiZWwiLCJwb3NpdGlvbiIsImJhY2tncm91bmRDb2xvciIsImJvcmRlclJhZGl1cyIsImJveFNoYWRvdyIsInpJbmRleCIsInJvdGF0ZUxlZnRMYWJlbCIsInRyYW5zZm9ybSIsInRyYW5zZm9ybU9yaWdpbiIsInJvdGF0ZVJpZ2h0TGFiZWwiLCJjdXN0b21Cb3R0b20iLCJkaXNwbGF5Tm9uZSIsImRpc3BsYXkiLCJMYWJlbENvbXBvbmVudCIsInByb3BzIiwiZ3JhcGhIZWlnaHQiLCJncmFwaFdpZHRoIiwiaXNDaGFydEJvdHRvbUxhYmVsIiwiaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsIiwiaXNDaGFydExlZnRMYWJlbCIsImlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwiLCJwbGFjZWhvbGRlciIsInRleHQiLCJzaWRlIiwib25DaGFuZ2UiLCJfcHJvcHMkbWF0aE1sT3B0aW9ucyIsIm1hdGhNbE9wdGlvbnMiLCJjaGFyYWN0ZXJzTGltaXQiLCJ0aXRsZUhlaWdodCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInJvdGF0ZWRUb0hvcml6b250YWwiLCJzZXRSb3RhdGVkVG9Ib3Jpem9udGFsIiwiYWN0aXZlUGx1Z2lucyIsImlzQ2hhcnQiLCJjaGFydFZhbHVlIiwiZGVmYXVsdFN0eWxlIiwidG9wIiwiY29uY2F0IiwibGVmdCIsInJvdGF0ZWRTdHlsZSIsInJvdGF0ZUxhYmVsIiwiZXhpdEVkaXRNb2RlIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiX2RvY3VtZW50JGFjdGl2ZUVsZW1lIiwiX2RvY3VtZW50JGFjdGl2ZUVsZW1lMiIsImRvY3VtZW50IiwiYWN0aXZlRWxlbWVudCIsImJsdXIiLCJjcmVhdGVFbGVtZW50IiwiUmVhZGFibGUiLCJvbkNsaWNrIiwic3R5bGUiLCJpc0VtcHR5U3RyaW5nIiwiZXh0cmFjdFRleHRGcm9tSFRNTCIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwibWFya3VwIiwidG9vbGJhck9wdHMiLCJub1BhZGRpbmciLCJub0JvcmRlciIsImRpc2FibGVTY3JvbGxiYXIiLCJvbkRvbmUiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJib29sIiwibnVtYmVyIiwic3RyaW5nIiwiZnVuYyIsIm9iamVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9sYWJlbC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgRWRpdGFibGVIdG1sIGZyb20gJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwtdGlwLXRhcCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgZXh0cmFjdFRleHRGcm9tSFRNTCwgaXNFbXB0eVN0cmluZyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBzdHlsZXMgPSB7XG4gIGF4aXNMYWJlbDoge1xuICAgIGZvbnRTaXplOiAxMixcbiAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgIG1hcmdpbjogNCxcbiAgICBwYWRkaW5nOiAnNHB4IDAnLFxuICB9LFxuICBjaGFydExhYmVsOiB7XG4gICAgZm9udFNpemU6IDE2LFxuICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgbWFyZ2luOiA0LFxuICAgIHBhZGRpbmc6ICc0cHggMCcsXG4gIH0sXG4gIGRpc2FibGVkTGFiZWw6IHtcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgfSxcbiAgZWRpdExhYmVsOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGUnLFxuICAgIGJvcmRlclJhZGl1czogNCxcbiAgICBib3hTaGFkb3c6ICcwcHggNXB4IDhweCByZ2JhKDAsMCwwLDAuMTUpJyxcbiAgICB6SW5kZXg6IDEwLFxuICB9LFxuICByb3RhdGVMZWZ0TGFiZWw6IHtcbiAgICB0cmFuc2Zvcm06ICdyb3RhdGUoLTkwZGVnKScsXG4gICAgdHJhbnNmb3JtT3JpZ2luOiAnMCAwJyxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgfSxcbiAgcm90YXRlUmlnaHRMYWJlbDoge1xuICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSg5MGRlZyknLFxuICAgIHRyYW5zZm9ybU9yaWdpbjogJzAgMCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gIH0sXG4gIGN1c3RvbUJvdHRvbToge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICB9LFxuICBkaXNwbGF5Tm9uZToge1xuICAgIGRpc3BsYXk6ICdub25lJyxcbiAgfSxcbn07XG5cbmNvbnN0IExhYmVsQ29tcG9uZW50ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBkaXNhYmxlZExhYmVsLFxuICAgIGdyYXBoSGVpZ2h0LFxuICAgIGdyYXBoV2lkdGgsXG4gICAgaXNDaGFydEJvdHRvbUxhYmVsLFxuICAgIGlzRGVmaW5lQ2hhcnRCb3R0b21MYWJlbCxcbiAgICBpc0NoYXJ0TGVmdExhYmVsLFxuICAgIGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwsXG4gICAgcGxhY2Vob2xkZXIsXG4gICAgdGV4dCxcbiAgICBzaWRlLFxuICAgIG9uQ2hhbmdlLFxuICAgIG1hdGhNbE9wdGlvbnMgPSB7fSxcbiAgICBjaGFyYWN0ZXJzTGltaXQsXG4gICAgdGl0bGVIZWlnaHQsXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCBbcm90YXRlZFRvSG9yaXpvbnRhbCwgc2V0Um90YXRlZFRvSG9yaXpvbnRhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgYWN0aXZlUGx1Z2lucyA9IFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJywgJ3N0cmlrZXRocm91Z2gnLCAnbWF0aCddO1xuXG4gIGNvbnN0IGlzQ2hhcnQgPSBpc0NoYXJ0Qm90dG9tTGFiZWwgfHwgaXNDaGFydExlZnRMYWJlbCB8fCBpc0RlZmluZUNoYXJ0Qm90dG9tTGFiZWwgfHwgaXNEZWZpbmVDaGFydExlZnRMYWJlbDtcblxuICBjb25zdCBjaGFydFZhbHVlID0gc2lkZSA9PT0gJ2xlZnQnICYmIGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwgJiYgZ3JhcGhIZWlnaHQgLSAyMjA7XG5cbiAgY29uc3QgZGVmYXVsdFN0eWxlID0ge1xuICAgIHdpZHRoOiBjaGFydFZhbHVlIHx8IChzaWRlID09PSAnbGVmdCcgfHwgc2lkZSA9PT0gJ3JpZ2h0JyA/IGdyYXBoSGVpZ2h0IC0gOCA6IGdyYXBoV2lkdGggLSA4KSxcbiAgICB0b3A6XG4gICAgICBjaGFydFZhbHVlIHx8XG4gICAgICAoaXNDaGFydExlZnRMYWJlbCAmJiBgJHtncmFwaEhlaWdodCAtIDcwfXB4YCkgfHxcbiAgICAgIChzaWRlID09PSAnbGVmdCcgJiYgYCR7Z3JhcGhIZWlnaHQgLSA4fXB4YCkgfHxcbiAgICAgIChpc0NoYXJ0Qm90dG9tTGFiZWwgJiYgYCR7Z3JhcGhIZWlnaHQgLSA2MCArIHRpdGxlSGVpZ2h0fXB4YCkgfHxcbiAgICAgIChzaWRlID09PSAnYm90dG9tJyAmJiBgJHtncmFwaEhlaWdodCAtIDEyMCArIHRpdGxlSGVpZ2h0fXB4YCkgfHxcbiAgICAgIDAsXG4gICAgbGVmdDpcbiAgICAgIChzaWRlID09PSAncmlnaHQnICYmIGAke2dyYXBoV2lkdGggLSA4fXB4YCkgfHxcbiAgICAgICgoaXNEZWZpbmVDaGFydExlZnRMYWJlbCB8fCBpc0RlZmluZUNoYXJ0Qm90dG9tTGFiZWwpICYmICc0MHB4JykgfHxcbiAgICAgIChpc0NoYXJ0Qm90dG9tTGFiZWwgJiYgJy0xMHB4JykgfHxcbiAgICAgIDAsXG4gIH07XG5cbiAgY29uc3Qgcm90YXRlZFN0eWxlID0ge1xuICAgIHdpZHRoOiBncmFwaFdpZHRoIC0gOCxcbiAgICB0b3A6IHNpZGUgPT09ICdyaWdodCcgPyBgJHtncmFwaEhlaWdodCAtIDIyfXB4YCA6IDAsXG4gICAgbGVmdDogMCxcbiAgfTtcblxuICBjb25zdCByb3RhdGVMYWJlbCA9ICgpID0+IHtcbiAgICBpZiAoIWRpc2FibGVkTGFiZWwgJiYgKHNpZGUgPT09ICdsZWZ0JyB8fCBzaWRlID09PSAncmlnaHQnKSkge1xuICAgICAgc2V0Um90YXRlZFRvSG9yaXpvbnRhbCh0cnVlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZXhpdEVkaXRNb2RlID0gKCkgPT4ge1xuICAgIHNldFJvdGF0ZWRUb0hvcml6b250YWwoZmFsc2UpO1xuXG4gICAgLy8gYmx1ciBhY3RpdmUgZWxlbWVudCBiZWNhdXNlIHJvdGF0aW9uIGlzIGNhdXNpbmcgZWRpdGluZyBpc3N1ZXMgb24gZXhpdFxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5ibHVyPy4oKTtcbiAgICB9KTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFkYWJsZSBmYWxzZT5cbiAgICAgIDxkaXZcbiAgICAgICAgb25DbGljaz17cm90YXRlTGFiZWx9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgLi4uKHJvdGF0ZWRUb0hvcml6b250YWwgPyByb3RhdGVkU3R5bGUgOiBkZWZhdWx0U3R5bGUpLFxuICAgICAgICAgIC4uLihpc0NoYXJ0ID8gc3R5bGVzLmNoYXJ0TGFiZWwgOiBzdHlsZXMuYXhpc0xhYmVsKSxcbiAgICAgICAgICAuLi4oc2lkZSA9PT0gJ2xlZnQnICYmICFyb3RhdGVkVG9Ib3Jpem9udGFsID8gc3R5bGVzLnJvdGF0ZUxlZnRMYWJlbCA6IHt9KSxcbiAgICAgICAgICAuLi4oc2lkZSA9PT0gJ3JpZ2h0JyAmJiAhcm90YXRlZFRvSG9yaXpvbnRhbCA/IHN0eWxlcy5yb3RhdGVSaWdodExhYmVsIDoge30pLFxuICAgICAgICAgIC4uLihyb3RhdGVkVG9Ib3Jpem9udGFsID8gc3R5bGVzLmVkaXRMYWJlbCA6IHt9KSxcbiAgICAgICAgICAuLi4oaXNDaGFydEJvdHRvbUxhYmVsIHx8IGlzRGVmaW5lQ2hhcnRCb3R0b21MYWJlbCA/IHN0eWxlcy5jdXN0b21Cb3R0b20gOiB7fSksXG4gICAgICAgICAgLi4uKGRpc2FibGVkTGFiZWwgJiYgIWlzQ2hhcnQgJiYgaXNFbXB0eVN0cmluZyhleHRyYWN0VGV4dEZyb21IVE1MKHRleHQpKSAmJiBzdHlsZXMuZGlzcGxheU5vbmUpLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7ZGlzYWJsZWRMYWJlbCA/IChcbiAgICAgICAgICA8ZGl2IHN0eWxlPXtzdHlsZXMuZGlzYWJsZWRMYWJlbH0gZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiB0ZXh0IHx8ICcnIH19IC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgICAgbWFya3VwPXt0ZXh0IHx8ICcnfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9eyFkaXNhYmxlZExhYmVsICYmIHBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgdG9vbGJhck9wdHM9e3tcbiAgICAgICAgICAgICAgcG9zaXRpb246IHNpZGUgPT09ICdib3R0b20nID8gJ3RvcCcgOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgbm9QYWRkaW5nOiB0cnVlLFxuICAgICAgICAgICAgICBub0JvcmRlcjogdHJ1ZSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkaXNhYmxlU2Nyb2xsYmFyXG4gICAgICAgICAgICBhY3RpdmVQbHVnaW5zPXthY3RpdmVQbHVnaW5zfVxuICAgICAgICAgICAgb25Eb25lPXtleGl0RWRpdE1vZGV9XG4gICAgICAgICAgICBtYXRoTWxPcHRpb25zPXttYXRoTWxPcHRpb25zfVxuICAgICAgICAgICAgY2hhcmFjdGVyc0xpbWl0PXtjaGFyYWN0ZXJzTGltaXR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvUmVhZGFibGU+XG4gICk7XG59O1xuXG5MYWJlbENvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gIGRpc2FibGVkTGFiZWw6IFByb3BUeXBlcy5ib29sLFxuICBncmFwaEhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbiAgZ3JhcGhXaWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgaXNDaGFydEJvdHRvbUxhYmVsOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNDaGFydExlZnRMYWJlbDogUHJvcFR5cGVzLmJvb2wsXG4gIGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWw6IFByb3BUeXBlcy5ib29sLFxuICBwbGFjZWhvbGRlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgdGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgc2lkZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICBtYXRoTWxPcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICBjaGFyYWN0ZXJzTGltaXQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIHRpdGxlSGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgTGFiZWxDb21wb25lbnQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxtQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQTZELFNBQUFELHdCQUFBTyxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBVCx1QkFBQSxZQUFBQSx3QkFBQU8sQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxPQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVB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
|
package/lib/label.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.js","names":["_react","_interopRequireWildcard","require","_renderUi","_editableHtml","_interopRequireDefault","_propTypes","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","styles","axisLabel","fontSize","textAlign","margin","padding","chartLabel","disabledLabel","pointerEvents","width","editLabel","position","backgroundColor","borderRadius","boxShadow","zIndex","rotateLeftLabel","transform","transformOrigin","rotateRightLabel","customBottom","displayNone","display","LabelComponent","props","graphHeight","graphWidth","isChartBottomLabel","isDefineChartBottomLabel","isChartLeftLabel","isDefineChartLeftLabel","placeholder","text","side","onChange","_props$mathMlOptions","mathMlOptions","charactersLimit","titleHeight","_useState","useState","_useState2","_slicedToArray2","rotatedToHorizontal","setRotatedToHorizontal","activePlugins","isChart","chartValue","defaultStyle","top","concat","left","rotatedStyle","rotateLabel","createElement","Readable","onClick","style","isEmptyString","extractTextFromHTML","dangerouslySetInnerHTML","__html","markup","toolbarOpts","noPadding","noBorder","disableScrollbar","onDone","propTypes","PropTypes","bool","number","string","func","object","_default","exports"],"sources":["../src/label.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport PropTypes from 'prop-types';\nimport { extractTextFromHTML, isEmptyString } from './utils';\n\nconst styles = {\n axisLabel: {\n fontSize: 12,\n textAlign: 'center',\n margin: 4,\n padding: '4px 0',\n },\n chartLabel: {\n fontSize: 16,\n textAlign: 'center',\n margin: 4,\n padding: '4px 0',\n },\n disabledLabel: {\n pointerEvents: 'none',\n width: '100%',\n },\n editLabel: {\n position: 'absolute',\n backgroundColor: 'white',\n borderRadius: 4,\n boxShadow: '0px 5px 8px rgba(0,0,0,0.15)',\n zIndex: 10,\n },\n rotateLeftLabel: {\n transform: 'rotate(-90deg)',\n transformOrigin: '0 0',\n position: 'absolute',\n },\n rotateRightLabel: {\n transform: 'rotate(90deg)',\n transformOrigin: '0 0',\n position: 'absolute',\n },\n customBottom: {\n position: 'absolute',\n },\n displayNone: {\n display: 'none',\n },\n};\n\nconst LabelComponent = (props) => {\n const {\n disabledLabel,\n graphHeight,\n graphWidth,\n isChartBottomLabel,\n isDefineChartBottomLabel,\n isChartLeftLabel,\n isDefineChartLeftLabel,\n placeholder,\n text,\n side,\n onChange,\n mathMlOptions = {},\n charactersLimit,\n titleHeight,\n } = props;\n\n const [rotatedToHorizontal, setRotatedToHorizontal] = useState(false);\n\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'math',\n ];\n\n const isChart =\n isChartBottomLabel ||\n isChartLeftLabel ||\n isDefineChartBottomLabel ||\n isDefineChartLeftLabel;\n\n const chartValue =\n side === 'left' && isDefineChartLeftLabel && graphHeight - 220;\n\n const defaultStyle = {\n width:\n chartValue ||\n (side === 'left' || side === 'right'\n ? graphHeight - 8\n : graphWidth - 8),\n top:\n chartValue ||\n (isChartLeftLabel && `${graphHeight - 70}px`) ||\n (side === 'left' && `${graphHeight - 8}px`) ||\n (isChartBottomLabel && `${graphHeight - 60 + titleHeight}px`) ||\n (side === 'bottom' && `${graphHeight - 120 + titleHeight}px`) ||\n 0,\n left:\n (side === 'right' && `${graphWidth - 8}px`) ||\n ((isDefineChartLeftLabel || isDefineChartBottomLabel) && '40px') ||\n (isChartBottomLabel && '-10px') ||\n 0,\n };\n\n const rotatedStyle = {\n width: graphWidth - 8,\n top: side === 'right' ? `${graphHeight - 22}px` : 0,\n left: 0,\n };\n\n const rotateLabel = () => {\n if (!disabledLabel && (side === 'left' || side === 'right')) {\n setRotatedToHorizontal(true);\n }\n };\n\n return (\n <Readable false>\n <div\n onClick={rotateLabel}\n style={{\n ...(rotatedToHorizontal ? rotatedStyle : defaultStyle),\n ...(isChart ? styles.chartLabel : styles.axisLabel),\n ...(side === 'left' && !rotatedToHorizontal\n ? styles.rotateLeftLabel\n : {}),\n ...(side === 'right' && !rotatedToHorizontal\n ? styles.rotateRightLabel\n : {}),\n ...(rotatedToHorizontal ? styles.editLabel : {}),\n ...((isChartBottomLabel || isDefineChartBottomLabel)\n ? styles.customBottom\n : {}),\n ...((disabledLabel &&\n !isChart &&\n isEmptyString(extractTextFromHTML(text))) &&\n styles.displayNone),\n }}\n >\n {disabledLabel ? (\n <div\n style={styles.disabledLabel}\n dangerouslySetInnerHTML={{ __html: text || '' }}\n />\n ) : (\n <EditableHtml\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noPadding: true,\n noBorder: true,\n }}\n disableScrollbar\n activePlugins={activePlugins}\n onDone={() => setRotatedToHorizontal(false)}\n mathMlOptions={mathMlOptions}\n charactersLimit={charactersLimit}\n />\n )}\n </div>\n </Readable>\n );\n};\n\nLabelComponent.propTypes = {\n disabledLabel: PropTypes.bool,\n graphHeight: PropTypes.number,\n graphWidth: PropTypes.number,\n isChartBottomLabel: PropTypes.bool,\n isDefineChartBottomLabel: PropTypes.bool,\n isChartLeftLabel: PropTypes.bool,\n isDefineChartLeftLabel: PropTypes.bool,\n placeholder: PropTypes.string,\n text: PropTypes.string,\n side: PropTypes.string,\n onChange: PropTypes.func,\n mathMlOptions: PropTypes.object,\n charactersLimit: PropTypes.number,\n titleHeight: PropTypes.number,\n};\n\nexport default LabelComponent;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"label.js","names":["_react","_interopRequireWildcard","require","_renderUi","_editableHtmlTipTap","_interopRequireDefault","_propTypes","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","styles","axisLabel","fontSize","textAlign","margin","padding","chartLabel","disabledLabel","pointerEvents","width","editLabel","position","backgroundColor","borderRadius","boxShadow","zIndex","rotateLeftLabel","transform","transformOrigin","rotateRightLabel","customBottom","displayNone","display","LabelComponent","props","graphHeight","graphWidth","isChartBottomLabel","isDefineChartBottomLabel","isChartLeftLabel","isDefineChartLeftLabel","placeholder","text","side","onChange","_props$mathMlOptions","mathMlOptions","charactersLimit","titleHeight","_useState","useState","_useState2","_slicedToArray2","rotatedToHorizontal","setRotatedToHorizontal","activePlugins","isChart","chartValue","defaultStyle","top","concat","left","rotatedStyle","rotateLabel","exitEditMode","requestAnimationFrame","_document$activeEleme","_document$activeEleme2","document","activeElement","blur","createElement","Readable","onClick","style","isEmptyString","extractTextFromHTML","dangerouslySetInnerHTML","__html","markup","toolbarOpts","noPadding","noBorder","disableScrollbar","onDone","propTypes","PropTypes","bool","number","string","func","object","_default","exports"],"sources":["../src/label.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport PropTypes from 'prop-types';\nimport { extractTextFromHTML, isEmptyString } from './utils';\n\nconst styles = {\n axisLabel: {\n fontSize: 12,\n textAlign: 'center',\n margin: 4,\n padding: '4px 0',\n },\n chartLabel: {\n fontSize: 16,\n textAlign: 'center',\n margin: 4,\n padding: '4px 0',\n },\n disabledLabel: {\n pointerEvents: 'none',\n width: '100%',\n },\n editLabel: {\n position: 'absolute',\n backgroundColor: 'white',\n borderRadius: 4,\n boxShadow: '0px 5px 8px rgba(0,0,0,0.15)',\n zIndex: 10,\n },\n rotateLeftLabel: {\n transform: 'rotate(-90deg)',\n transformOrigin: '0 0',\n position: 'absolute',\n },\n rotateRightLabel: {\n transform: 'rotate(90deg)',\n transformOrigin: '0 0',\n position: 'absolute',\n },\n customBottom: {\n position: 'absolute',\n },\n displayNone: {\n display: 'none',\n },\n};\n\nconst LabelComponent = (props) => {\n const {\n disabledLabel,\n graphHeight,\n graphWidth,\n isChartBottomLabel,\n isDefineChartBottomLabel,\n isChartLeftLabel,\n isDefineChartLeftLabel,\n placeholder,\n text,\n side,\n onChange,\n mathMlOptions = {},\n charactersLimit,\n titleHeight,\n } = props;\n\n const [rotatedToHorizontal, setRotatedToHorizontal] = useState(false);\n\n const activePlugins = ['bold', 'italic', 'underline', 'strikethrough', 'math'];\n\n const isChart = isChartBottomLabel || isChartLeftLabel || isDefineChartBottomLabel || isDefineChartLeftLabel;\n\n const chartValue = side === 'left' && isDefineChartLeftLabel && graphHeight - 220;\n\n const defaultStyle = {\n width: chartValue || (side === 'left' || side === 'right' ? graphHeight - 8 : graphWidth - 8),\n top:\n chartValue ||\n (isChartLeftLabel && `${graphHeight - 70}px`) ||\n (side === 'left' && `${graphHeight - 8}px`) ||\n (isChartBottomLabel && `${graphHeight - 60 + titleHeight}px`) ||\n (side === 'bottom' && `${graphHeight - 120 + titleHeight}px`) ||\n 0,\n left:\n (side === 'right' && `${graphWidth - 8}px`) ||\n ((isDefineChartLeftLabel || isDefineChartBottomLabel) && '40px') ||\n (isChartBottomLabel && '-10px') ||\n 0,\n };\n\n const rotatedStyle = {\n width: graphWidth - 8,\n top: side === 'right' ? `${graphHeight - 22}px` : 0,\n left: 0,\n };\n\n const rotateLabel = () => {\n if (!disabledLabel && (side === 'left' || side === 'right')) {\n setRotatedToHorizontal(true);\n }\n };\n\n const exitEditMode = () => {\n setRotatedToHorizontal(false);\n\n // blur active element because rotation is causing editing issues on exit\n requestAnimationFrame(() => {\n document.activeElement?.blur?.();\n });\n };\n\n return (\n <Readable false>\n <div\n onClick={rotateLabel}\n style={{\n ...(rotatedToHorizontal ? rotatedStyle : defaultStyle),\n ...(isChart ? styles.chartLabel : styles.axisLabel),\n ...(side === 'left' && !rotatedToHorizontal ? styles.rotateLeftLabel : {}),\n ...(side === 'right' && !rotatedToHorizontal ? styles.rotateRightLabel : {}),\n ...(rotatedToHorizontal ? styles.editLabel : {}),\n ...(isChartBottomLabel || isDefineChartBottomLabel ? styles.customBottom : {}),\n ...(disabledLabel && !isChart && isEmptyString(extractTextFromHTML(text)) && styles.displayNone),\n }}\n >\n {disabledLabel ? (\n <div style={styles.disabledLabel} dangerouslySetInnerHTML={{ __html: text || '' }} />\n ) : (\n <EditableHtml\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noPadding: true,\n noBorder: true,\n }}\n disableScrollbar\n activePlugins={activePlugins}\n onDone={exitEditMode}\n mathMlOptions={mathMlOptions}\n charactersLimit={charactersLimit}\n />\n )}\n </div>\n </Readable>\n );\n};\n\nLabelComponent.propTypes = {\n disabledLabel: PropTypes.bool,\n graphHeight: PropTypes.number,\n graphWidth: PropTypes.number,\n isChartBottomLabel: PropTypes.bool,\n isDefineChartBottomLabel: PropTypes.bool,\n isChartLeftLabel: PropTypes.bool,\n isDefineChartLeftLabel: PropTypes.bool,\n placeholder: PropTypes.string,\n text: PropTypes.string,\n side: PropTypes.string,\n onChange: PropTypes.func,\n mathMlOptions: PropTypes.object,\n charactersLimit: PropTypes.number,\n titleHeight: PropTypes.number,\n};\n\nexport default LabelComponent;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/root.js
CHANGED
|
@@ -17,7 +17,7 @@ var _styles = require("@mui/material/styles");
|
|
|
17
17
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
18
|
var _d3Selection = require("d3-selection");
|
|
19
19
|
var _renderUi = require("@pie-lib/render-ui");
|
|
20
|
-
var
|
|
20
|
+
var _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
|
|
21
21
|
var _types = require("./types");
|
|
22
22
|
var _label = _interopRequireDefault(require("./label"));
|
|
23
23
|
var _utils = require("./utils");
|
|
@@ -125,7 +125,7 @@ var Root = exports.Root = /*#__PURE__*/function (_React$Component) {
|
|
|
125
125
|
}
|
|
126
126
|
var scale = graphProps.scale,
|
|
127
127
|
snap = graphProps.snap;
|
|
128
|
-
var coords = (0, _d3Selection.mouse)(g.
|
|
128
|
+
var coords = (0, _d3Selection.mouse)(g.node());
|
|
129
129
|
var x = scale.x.invert(coords[0]);
|
|
130
130
|
var y = scale.y.invert(coords[1]);
|
|
131
131
|
var snapped = {
|
|
@@ -311,7 +311,7 @@ var Root = exports.Root = /*#__PURE__*/function (_React$Component) {
|
|
|
311
311
|
}
|
|
312
312
|
}, isChart ? /*#__PURE__*/_react["default"].createElement(ChartTitle, {
|
|
313
313
|
className: showPixelGuides ? 'rightMargin' : ''
|
|
314
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
314
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], {
|
|
315
315
|
style: isChart && {
|
|
316
316
|
width: finalWidth
|
|
317
317
|
},
|
|
@@ -327,7 +327,7 @@ var Root = exports.Root = /*#__PURE__*/function (_React$Component) {
|
|
|
327
327
|
onKeyDown: this.handleKeyDown
|
|
328
328
|
})) : /*#__PURE__*/_react["default"].createElement(GraphTitle, {
|
|
329
329
|
className: showPixelGuides ? 'rightMargin' : ''
|
|
330
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
330
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], {
|
|
331
331
|
style: isChart && {
|
|
332
332
|
width: finalWidth
|
|
333
333
|
},
|
|
@@ -452,4 +452,4 @@ var Root = exports.Root = /*#__PURE__*/function (_React$Component) {
|
|
|
452
452
|
labelsCharactersLimit: _propTypes["default"].number
|
|
453
453
|
});
|
|
454
454
|
var _default = exports["default"] = Root;
|
|
455
|
-
//# sourceMappingURL=root.js.map
|
|
455
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZXMiLCJfcHJvcFR5cGVzIiwiX2QzU2VsZWN0aW9uIiwiX3JlbmRlclVpIiwiX2VkaXRhYmxlSHRtbFRpcFRhcCIsIl90eXBlcyIsIl9sYWJlbCIsIl91dGlscyIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiciIsImUiLCJ0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJfbiIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImYiLCJUeXBlRXJyb3IiLCJvIiwiYSIsInUiLCJjYWxsIiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0Iiwib3duS2V5cyIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIlN0eWxlZFJvb3QiLCJzdHlsZWQiLCJfcmVmIiwidGhlbWUiLCJib3JkZXIiLCJjb25jYXQiLCJjb2xvciIsInByaW1hcnlMaWdodCIsImRlZmF1bHRzIiwiVEVYVCIsImJhY2tncm91bmRDb2xvciIsInBhbGV0dGUiLCJjb21tb24iLCJ3aGl0ZSIsInRvdWNoQWN0aW9uIiwicG9zaXRpb24iLCJib3hTaXppbmciLCJXcmFwcGVyIiwiZGlzcGxheSIsIkRlZmluZUNoYXJ0U3ZnIiwicGFkZGluZ0xlZnQiLCJvdmVyZmxvdyIsIkNoYXJ0U3ZnIiwiR3JhcGhCb3giLCJjdXJzb3IiLCJ1c2VyU2VsZWN0IiwiR3JhcGhUaXRsZSIsIl9yZWYyIiwiZm9udFNpemUiLCJ0eXBvZ3JhcGh5IiwicGFkZGluZyIsInNwYWNpbmciLCJ0ZXh0QWxpZ24iLCJwb2ludGVyRXZlbnRzIiwibWFyZ2luUmlnaHQiLCJDaGFydFRpdGxlIiwiX3JlZjMiLCJUb3BQaXhlbEd1aWRlcyIsInBhZGRpbmdUb3AiLCJUb3BQaXhlbEluZGljYXRvciIsImZsZXhEaXJlY3Rpb24iLCJhbGlnbkl0ZW1zIiwid2lkdGgiLCJTaWRlUGl4ZWxHdWlkZXMiLCJTaWRlUGl4ZWxJbmRpY2F0b3IiLCJoZWlnaHQiLCJtYXJnaW5Cb3R0b20iLCJSb290IiwiZXhwb3J0cyIsIl9SZWFjdCRDb21wb25lbnQiLCJwcm9wcyIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsImciLCJfdGhpcyRwcm9wcyIsImdyYXBoUHJvcHMiLCJvbk1vdXNlTW92ZSIsInNjYWxlIiwic25hcCIsImNvb3JkcyIsIm1vdXNlIiwibm9kZSIsIngiLCJpbnZlcnQiLCJ5Iiwic25hcHBlZCIsIm5ld1ZhbHVlIiwic2lkZSIsIl90aGlzJHByb3BzMiIsImxhYmVscyIsIm9uQ2hhbmdlTGFiZWxzIiwiaXNDaGFydCIsInRpdGxlRWxlbWVudCIsInRpdGxlUmVmIiwidGl0bGVIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJzZXRTdGF0ZSIsInByZXZUaXRsZSIsInRpdGxlIiwicmVzaXplT2JzZXJ2ZXIiLCJSZXNpemVPYnNlcnZlciIsInNldHVwVmlzaWJpbGl0eU9ic2VydmVyIiwic2V0VGltZW91dCIsIm1lYXN1cmVUaXRsZUhlaWdodCIsImVudHJpZXMiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImVudHJ5IiwiX2VudHJ5JGNvbnRlbnRSZWN0IiwiY29udGVudFJlY3QiLCJlcnIiLCJvYnNlcnZlIiwiZGlzY29ubmVjdCIsInN0YXRlIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJjb21wb25lbnREaWRNb3VudCIsInNlbGVjdCIsIm9uIiwibW91c2VNb3ZlIiwiYmluZCIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwiY2xlYW51cFZpc2liaWxpdHlPYnNlcnZlciIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInJlbmRlciIsIl90aGlzMiIsIl90aGlzJHByb3BzMyIsImRpc2FibGVkVGl0bGUiLCJkaXNhYmxlZExhYmVscyIsImxhYmVsc1BsYWNlaG9sZGVycyIsInRpdGxlUGxhY2Vob2xkZXIiLCJjaGlsZHJlbiIsImRlZmluZUNoYXJ0Iiwib25DaGFuZ2VUaXRsZSIsInNob3dMYWJlbHMiLCJzaG93UGl4ZWxHdWlkZXMiLCJzaG93VGl0bGUiLCJyb290UmVmIiwiX3RoaXMkcHJvcHMzJG1hdGhNbE9wIiwibWF0aE1sT3B0aW9ucyIsImxhYmVsc0NoYXJhY3RlcnNMaW1pdCIsIl9ncmFwaFByb3BzJHNpemUiLCJzaXplIiwiX2dyYXBoUHJvcHMkc2l6ZSR3aWR0IiwiX2dyYXBoUHJvcHMkc2l6ZSRoZWlnIiwiZG9tYWluIiwicmFuZ2UiLCJ0b3BQYWRkaW5nIiwibGVmdFBhZGRpbmciLCJpc0VtcHR5U3RyaW5nIiwiZXh0cmFjdFRleHRGcm9tSFRNTCIsImxlZnQiLCJpc0VtcHR5T2JqZWN0IiwicmlnaHRQYWRkaW5nIiwicmlnaHQiLCJmaW5hbFdpZHRoIiwiZmluYWxIZWlnaHQiLCJhY3RpdmVUaXRsZVBsdWdpbnMiLCJhY3R1YWxIZWlnaHQiLCJuYk9mVmVydGljYWxMaW5lcyIsInBhcnNlSW50IiwibmJPZkhvcml6b250YWxMaW5lcyIsInNpZGVHcmlkbGluZXNQYWRkaW5nIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwibWFyZ2luTGVmdCIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJtYXAiLCJSZWFkYWJsZSIsInJlZiIsImNsYXNzTmFtZSIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwibWFya3VwIiwib25DaGFuZ2UiLCJwbGFjZWhvbGRlciIsInRvb2xiYXJPcHRzIiwibm9QYWRkaW5nIiwibm9Cb3JkZXIiLCJhY3RpdmVQbHVnaW5zIiwiZGlzYWJsZVNjcm9sbGJhciIsIm9uS2V5RG93biIsImhhbmRsZUtleURvd24iLCJ0ZXh0IiwidG9wIiwiZGlzYWJsZWRMYWJlbCIsImdyYXBoSGVpZ2h0IiwiZ3JhcGhXaWR0aCIsIm9uQ2hhbmdlTGFiZWwiLCJjaGFyYWN0ZXJzTGltaXQiLCJpc0NoYXJ0TGVmdExhYmVsIiwiaXNEZWZpbmVDaGFydExlZnRMYWJlbCIsInRyYW5zZm9ybSIsIm1hcmdpblRvcCIsInJldmVyc2UiLCJib3R0b20iLCJpc0NoYXJ0Qm90dG9tTGFiZWwiLCJpc0RlZmluZUNoYXJ0Qm90dG9tTGFiZWwiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsInN0cmluZyIsIkNoaWxkcmVuVHlwZSIsImJvb2wiLCJHcmFwaFByb3BzVHlwZSIsImlzUmVxdWlyZWQiLCJvYmplY3QiLCJmdW5jIiwibnVtYmVyIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvcm9vdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBzZWxlY3QsIG1vdXNlIH0gZnJvbSAnZDMtc2VsZWN0aW9uJztcblxuaW1wb3J0IHsgY29sb3IsIFJlYWRhYmxlIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCBFZGl0YWJsZUh0bWwgZnJvbSAnQHBpZS1saWIvZWRpdGFibGUtaHRtbC10aXAtdGFwJztcbmltcG9ydCB7IENoaWxkcmVuVHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgR3JhcGhQcm9wc1R5cGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCBMYWJlbCBmcm9tICcuL2xhYmVsJztcbmltcG9ydCB7IGV4dHJhY3RUZXh0RnJvbUhUTUwsIGlzRW1wdHlPYmplY3QsIGlzRW1wdHlTdHJpbmcgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgU3R5bGVkUm9vdCA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgYm9yZGVyOiBgc29saWQgMXB4ICR7Y29sb3IucHJpbWFyeUxpZ2h0KCl9YCxcbiAgY29sb3I6IGNvbG9yLmRlZmF1bHRzLlRFWFQsXG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5jb21tb24ud2hpdGUsXG4gIHRvdWNoQWN0aW9uOiAnbm9uZScsXG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBib3hTaXppbmc6ICd1bnNldCcsIC8vIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJvcmRlci1ib3ggaW4gSUJYIHRoYXQgYnJlYWtzIHRoZSBjb21wb25lbnQgd2lkdGggbGF5b3V0XG59KSk7XG5cbmNvbnN0IFdyYXBwZXIgPSBzdHlsZWQoJ2RpdicpKHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbn0pO1xuXG5jb25zdCBEZWZpbmVDaGFydFN2ZyA9IHN0eWxlZCgnc3ZnJykoe1xuICBwYWRkaW5nTGVmdDogJzUwcHgnLFxuICBvdmVyZmxvdzogJ3Zpc2libGUnLFxufSk7XG5cbmNvbnN0IENoYXJ0U3ZnID0gc3R5bGVkKCdzdmcnKSh7XG4gIG92ZXJmbG93OiAndmlzaWJsZScsXG59KTtcblxuY29uc3QgR3JhcGhCb3ggPSBzdHlsZWQoJ2cnKSh7XG4gIGN1cnNvcjogJ3BvaW50ZXInLFxuICB1c2VyU2VsZWN0OiAnbm9uZScsXG59KTtcblxuY29uc3QgR3JhcGhUaXRsZSA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgY29sb3I6IGNvbG9yLmRlZmF1bHRzLlRFWFQsXG4gIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplICsgMixcbiAgcGFkZGluZzogYCR7dGhlbWUuc3BhY2luZygxLjUpfSAke3RoZW1lLnNwYWNpbmcoMC41KX0gMGAsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICcmLmRpc2FibGVkJzoge1xuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgfSxcbiAgJyYucmlnaHRNYXJnaW4nOiB7XG4gICAgbWFyZ2luUmlnaHQ6ICc3NHB4JyxcbiAgfSxcbn0pKTtcblxuY29uc3QgQ2hhcnRUaXRsZSA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgY29sb3I6IGNvbG9yLmRlZmF1bHRzLlRFWFQsXG4gIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplICsgNCxcbiAgcGFkZGluZzogYCR7dGhlbWUuc3BhY2luZygxLjUpfSAke3RoZW1lLnNwYWNpbmcoMC41KX0gMGAsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICcmLmRpc2FibGVkJzoge1xuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgfSxcbiAgJyYucmlnaHRNYXJnaW4nOiB7XG4gICAgbWFyZ2luUmlnaHQ6ICc3NHB4JyxcbiAgfSxcbn0pKTtcblxuY29uc3QgVG9wUGl4ZWxHdWlkZXMgPSBzdHlsZWQoJ2RpdicpKHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwYWRkaW5nVG9wOiAnNnB4Jyxcbn0pO1xuXG5jb25zdCBUb3BQaXhlbEluZGljYXRvciA9IHN0eWxlZCgnZGl2Jykoe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgd2lkdGg6ICcxMDBweCcsXG4gIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgdXNlclNlbGVjdDogJ25vbmUnLFxufSk7XG5cbmNvbnN0IFNpZGVQaXhlbEd1aWRlcyA9IHN0eWxlZCgnZGl2Jykoe1xuICB3aWR0aDogJzcwcHgnLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICBtYXJnaW5SaWdodDogJzZweCcsXG59KTtcblxuY29uc3QgU2lkZVBpeGVsSW5kaWNhdG9yID0gc3R5bGVkKCdkaXYnKSh7XG4gIHRleHRBbGlnbjogJ3JpZ2h0JyxcbiAgaGVpZ2h0OiAnMjBweCcsXG4gIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgdXNlclNlbGVjdDogJ25vbmUnLFxuICAnJjpub3QoOmxhc3QtY2hpbGQpJzoge1xuICAgIG1hcmdpbkJvdHRvbTogJzgwcHgnLFxuICB9LFxufSk7XG5cbmV4cG9ydCBjbGFzcyBSb290IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHRpdGxlSGVpZ2h0OiAwLFxuICAgIH07XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG51bGw7XG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNoaWxkcmVuOiBDaGlsZHJlblR5cGUsXG4gICAgZGVmaW5lQ2hhcnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc2FibGVkTGFiZWxzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNhYmxlZFRpdGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBncmFwaFByb3BzOiBHcmFwaFByb3BzVHlwZS5pc1JlcXVpcmVkLFxuICAgIGlzQ2hhcnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGxhYmVsczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBsYWJlbHNQbGFjZWhvbGRlcnM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgb25DaGFuZ2VUaXRsZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25Nb3VzZU1vdmU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHNob3dMYWJlbHM6IFByb3BUeXBlcy5ib29sLFxuICAgIHNob3dUaXRsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgc2hvd1BpeGVsR3VpZGVzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICByb290UmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkNoYW5nZUxhYmVsczogUHJvcFR5cGVzLmZ1bmMsXG4gICAgdGl0bGVQbGFjZWhvbGRlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtYXRoTWxPcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxhYmVsc0NoYXJhY3RlcnNMaW1pdDogUHJvcFR5cGVzLm51bWJlcixcbiAgfTtcblxuICBtb3VzZU1vdmUgPSAoZykgPT4ge1xuICAgIGNvbnN0IHsgZ3JhcGhQcm9wcywgb25Nb3VzZU1vdmUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIW9uTW91c2VNb3ZlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBzY2FsZSwgc25hcCB9ID0gZ3JhcGhQcm9wcztcbiAgICBjb25zdCBjb29yZHMgPSBtb3VzZShnLm5vZGUoKSk7XG4gICAgY29uc3QgeCA9IHNjYWxlLnguaW52ZXJ0KGNvb3Jkc1swXSk7XG4gICAgY29uc3QgeSA9IHNjYWxlLnkuaW52ZXJ0KGNvb3Jkc1sxXSk7XG5cbiAgICBjb25zdCBzbmFwcGVkID0ge1xuICAgICAgeDogc25hcC54KHgpLFxuICAgICAgeTogc25hcC55KHkpLFxuICAgIH07XG5cbiAgICBvbk1vdXNlTW92ZShzbmFwcGVkKTtcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCBnID0gc2VsZWN0KHRoaXMuZyk7XG4gICAgZy5vbignbW91c2Vtb3ZlJywgdGhpcy5tb3VzZU1vdmUuYmluZCh0aGlzLCBnKSk7XG4gICAgdGhpcy5tZWFzdXJlVGl0bGVIZWlnaHQoKTtcbiAgICB0aGlzLnNldHVwVmlzaWJpbGl0eU9ic2VydmVyKCk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICBjb25zdCBnID0gc2VsZWN0KHRoaXMuZyk7XG4gICAgZy5vbignbW91c2Vtb3ZlJywgbnVsbCk7XG4gICAgdGhpcy5jbGVhbnVwVmlzaWJpbGl0eU9ic2VydmVyKCk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgaWYgKHByZXZQcm9wcy50aXRsZSAhPT0gdGhpcy5wcm9wcy50aXRsZSkge1xuICAgICAgdGhpcy5tZWFzdXJlVGl0bGVIZWlnaHQoKTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZUxhYmVsID0gKG5ld1ZhbHVlLCBzaWRlKSA9PiB7XG4gICAgY29uc3QgeyBsYWJlbHMsIG9uQ2hhbmdlTGFiZWxzLCBpc0NoYXJ0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFvbkNoYW5nZUxhYmVscykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0NoYXJ0KSB7XG4gICAgICBpZiAoc2lkZSA9PT0gJ2xlZnQnKSB7XG4gICAgICAgIG9uQ2hhbmdlTGFiZWxzKCdyYW5nZScsIG5ld1ZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uQ2hhbmdlTGFiZWxzKCdkb21haW4nLCBuZXdWYWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvbkNoYW5nZUxhYmVscyh7XG4gICAgICAuLi5sYWJlbHMsXG4gICAgICBbc2lkZV06IG5ld1ZhbHVlLFxuICAgIH0pO1xuICB9O1xuXG4gIG1lYXN1cmVUaXRsZUhlaWdodCA9ICgpID0+IHtcbiAgICBjb25zdCB0aXRsZUVsZW1lbnQgPSB0aGlzLnRpdGxlUmVmO1xuICAgIGlmICh0aXRsZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IHRpdGxlSGVpZ2h0ID0gdGl0bGVFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB0aXRsZUhlaWdodCwgcHJldlRpdGxlOiB0aGlzLnByb3BzLnRpdGxlIH0pO1xuXG4gICAgICBpZiAoIXRoaXMucmVzaXplT2JzZXJ2ZXIgJiYgdHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0aGlzLnNldHVwVmlzaWJpbGl0eU9ic2VydmVyKCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGhhbmRsZUtleURvd24gPSAoKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm1lYXN1cmVUaXRsZUhlaWdodCgpO1xuICAgIH0sIDApO1xuICB9O1xuXG4gIC8vIGhhbmRsZSBlZGdlIGNhc2Ugd2hlcmUgY2hhcnQgaXMgaGlkZGVuIHdpdGggZGlzcGxheTpub25lIGFuZCB0aGVuIHNob3duIHdpdGggZGlzcGxheTpibG9ja1xuICBzZXR1cFZpc2liaWxpdHlPYnNlcnZlciA9ICgpID0+IHtcbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnRpdGxlUmVmKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKChlbnRyaWVzKSA9PiB7XG4gICAgICAgIGZvciAobGV0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGVudHJ5LmNvbnRlbnRSZWN0O1xuICAgICAgICAgIC8vIHRyaWdnZXIgaWYgZWxlbWVudCBiZWNvbWVzIHZpc2libGUgYW5kIHdlIGhhdmVuJ3QgbWVhc3VyZWQgdGhpcyBoZWlnaHQgeWV0XG4gICAgICAgICAgaWYgKHdpZHRoID4gMCAmJiBoZWlnaHQgPiAwKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5tZWFzdXJlVGl0bGVIZWlnaHQoKTtcbiAgICAgICAgICAgIH0sIDEwKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnRpdGxlUmVmKTtcbiAgICB9XG4gIH07XG5cbiAgY2xlYW51cFZpc2liaWxpdHlPYnNlcnZlciA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5yZXNpemVPYnNlcnZlcikge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbnVsbDtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGRpc2FibGVkVGl0bGUsXG4gICAgICBkaXNhYmxlZExhYmVscyxcbiAgICAgIGxhYmVscyxcbiAgICAgIGxhYmVsc1BsYWNlaG9sZGVycyxcbiAgICAgIHRpdGxlUGxhY2Vob2xkZXIsXG4gICAgICBncmFwaFByb3BzLFxuICAgICAgY2hpbGRyZW4sXG4gICAgICBkZWZpbmVDaGFydCxcbiAgICAgIG9uQ2hhbmdlVGl0bGUsXG4gICAgICBpc0NoYXJ0LFxuICAgICAgc2hvd0xhYmVscyxcbiAgICAgIHNob3dQaXhlbEd1aWRlcyxcbiAgICAgIHNob3dUaXRsZSxcbiAgICAgIHRpdGxlLFxuICAgICAgcm9vdFJlZixcbiAgICAgIG1hdGhNbE9wdGlvbnMgPSB7fSxcbiAgICAgIGxhYmVsc0NoYXJhY3RlcnNMaW1pdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7XG4gICAgICBzaXplOiB7IHdpZHRoID0gNTAwLCBoZWlnaHQgPSA1MDAgfSxcbiAgICAgIGRvbWFpbixcbiAgICAgIHJhbmdlLFxuICAgIH0gPSBncmFwaFByb3BzO1xuXG4gICAgY29uc3QgdG9wUGFkZGluZyA9IDQwO1xuICAgIGNvbnN0IGxlZnRQYWRkaW5nID0gaXNFbXB0eVN0cmluZyhleHRyYWN0VGV4dEZyb21IVE1MKGxhYmVscz8ubGVmdCkpICYmIGlzRW1wdHlPYmplY3QobGFiZWxzUGxhY2Vob2xkZXJzKSA/IDQ4IDogNzA7XG4gICAgY29uc3QgcmlnaHRQYWRkaW5nID1cbiAgICAgIGlzRW1wdHlTdHJpbmcoZXh0cmFjdFRleHRGcm9tSFRNTChsYWJlbHM/LnJpZ2h0KSkgJiYgaXNFbXB0eU9iamVjdChsYWJlbHNQbGFjZWhvbGRlcnMpID8gNDggOiA3MDtcbiAgICBjb25zdCBmaW5hbFdpZHRoID0gd2lkdGggKyBsZWZ0UGFkZGluZyArIHJpZ2h0UGFkZGluZyArIChkb21haW4ucGFkZGluZyB8fCAwKSAqIDI7XG4gICAgY29uc3QgZmluYWxIZWlnaHQgPSBoZWlnaHQgKyB0b3BQYWRkaW5nICogMiArIChyYW5nZS5wYWRkaW5nIHx8IDApICogMjtcblxuICAgIGNvbnN0IGFjdGl2ZVRpdGxlUGx1Z2lucyA9IFtcbiAgICAgICdib2xkJyxcbiAgICAgICdpdGFsaWMnLFxuICAgICAgJ3VuZGVybGluZScsXG4gICAgICAnc3VwZXJzY3JpcHQnLFxuICAgICAgJ3N1YnNjcmlwdCcsXG4gICAgICAnc3RyaWtldGhyb3VnaCcsXG4gICAgICAnbWF0aCcsXG4gICAgICAvLyAnbGFuZ3VhZ2VDaGFyYWN0ZXJzJ1xuICAgIF07XG5cbiAgICBjb25zdCBhY3R1YWxIZWlnaHQgPSBkZWZpbmVDaGFydCAmJiBzaG93UGl4ZWxHdWlkZXMgPyBoZWlnaHQgLSAxNjAgOiBoZWlnaHQ7XG4gICAgY29uc3QgbmJPZlZlcnRpY2FsTGluZXMgPSBwYXJzZUludCh3aWR0aCAvIDEwMCk7XG4gICAgY29uc3QgbmJPZkhvcml6b250YWxMaW5lcyA9IHBhcnNlSW50KGFjdHVhbEhlaWdodCAvIDEwMCk7XG4gICAgY29uc3Qgc2lkZUdyaWRsaW5lc1BhZGRpbmcgPSBwYXJzZUludChhY3R1YWxIZWlnaHQgJSAxMDApO1xuICAgIGNvbnN0IHsgdGl0bGVIZWlnaHQgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFJvb3Q+XG4gICAgICAgIHtzaG93UGl4ZWxHdWlkZXMgJiYgKFxuICAgICAgICAgIDxUb3BQaXhlbEd1aWRlcyBzdHlsZT17eyBtYXJnaW5MZWZ0OiBpc0NoYXJ0ID8gODAgOiBzaG93TGFiZWxzID8gMzAgOiAxMCB9fT5cbiAgICAgICAgICAgIHtbLi4uQXJyYXkobmJPZlZlcnRpY2FsTGluZXMgKyAxKS5rZXlzKCldLm1hcCgodmFsdWUpID0+IChcbiAgICAgICAgICAgICAgPFJlYWRhYmxlIGZhbHNlIGtleT17YHRvcC1ndWlkZS0ke3ZhbHVlfWB9PlxuICAgICAgICAgICAgICAgIDxUb3BQaXhlbEluZGljYXRvcj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+e3ZhbHVlICogMTAwfXB4PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2Pnw8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L1RvcFBpeGVsSW5kaWNhdG9yPlxuICAgICAgICAgICAgICA8L1JlYWRhYmxlPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9Ub3BQaXhlbEd1aWRlcz5cbiAgICAgICAgKX1cbiAgICAgICAge3Nob3dUaXRsZSAmJlxuICAgICAgICAgIChkaXNhYmxlZFRpdGxlID8gKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICByZWY9eyhyKSA9PiAodGhpcy50aXRsZVJlZiA9IHIpfVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIC4uLihpc0NoYXJ0ICYmIHsgd2lkdGg6IGZpbmFsV2lkdGggfSksXG4gICAgICAgICAgICAgICAgLi4uKGlzRW1wdHlTdHJpbmcoZXh0cmFjdFRleHRGcm9tSFRNTCh0aXRsZSkpICYmIHsgZGlzcGxheTogJ25vbmUnIH0pLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aXNDaGFydCA/IChcbiAgICAgICAgICAgICAgICA8Q2hhcnRUaXRsZSBjbGFzc05hbWU9XCJkaXNhYmxlZFwiIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogdGl0bGUgfHwgJycgfX0gLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8R3JhcGhUaXRsZSBjbGFzc05hbWU9XCJkaXNhYmxlZFwiIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogdGl0bGUgfHwgJycgfX0gLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8ZGl2IHJlZj17KHIpID0+ICh0aGlzLnRpdGxlUmVmID0gcil9PlxuICAgICAgICAgICAgICB7aXNDaGFydCA/IChcbiAgICAgICAgICAgICAgICA8Q2hhcnRUaXRsZSBjbGFzc05hbWU9e3Nob3dQaXhlbEd1aWRlcyA/ICdyaWdodE1hcmdpbicgOiAnJ30+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVIdG1sXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0NoYXJ0ICYmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaW5hbFdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBtYXJrdXA9e3RpdGxlIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VUaXRsZX1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e1xuICAgICAgICAgICAgICAgICAgICAgIChkZWZpbmVDaGFydCAmJiB0aXRsZVBsYWNlaG9sZGVyKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICghZGlzYWJsZWRUaXRsZSAmJiAnQ2xpY2sgaGVyZSB0byBhZGQgYSB0aXRsZSBmb3IgdGhpcyBncmFwaCcpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdG9vbGJhck9wdHM9e3sgbm9QYWRkaW5nOiB0cnVlLCBub0JvcmRlcjogdHJ1ZSB9fVxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVQbHVnaW5zPXthY3RpdmVUaXRsZVBsdWdpbnN9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVTY3JvbGxiYXJcbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvQ2hhcnRUaXRsZT5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8R3JhcGhUaXRsZSBjbGFzc05hbWU9e3Nob3dQaXhlbEd1aWRlcyA/ICdyaWdodE1hcmdpbicgOiAnJ30+XG4gICAgICAgICAgICAgICAgICA8RWRpdGFibGVIdG1sXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0NoYXJ0ICYmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaW5hbFdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBtYXJrdXA9e3RpdGxlIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VUaXRsZX1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e1xuICAgICAgICAgICAgICAgICAgICAgIChkZWZpbmVDaGFydCAmJiB0aXRsZVBsYWNlaG9sZGVyKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICghZGlzYWJsZWRUaXRsZSAmJiAnQ2xpY2sgaGVyZSB0byBhZGQgYSB0aXRsZSBmb3IgdGhpcyBncmFwaCcpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdG9vbGJhck9wdHM9e3sgbm9QYWRkaW5nOiB0cnVlLCBub0JvcmRlcjogdHJ1ZSB9fVxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVQbHVnaW5zPXthY3RpdmVUaXRsZVBsdWdpbnN9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVTY3JvbGxiYXJcbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvR3JhcGhUaXRsZT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkpfVxuICAgICAgICB7c2hvd0xhYmVscyAmJiAhaXNDaGFydCAmJiAoXG4gICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICBzaWRlPVwidG9wXCJcbiAgICAgICAgICAgIHRleHQ9e2xhYmVscy50b3B9XG4gICAgICAgICAgICBkaXNhYmxlZExhYmVsPXtkaXNhYmxlZExhYmVsc31cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtsYWJlbHNQbGFjZWhvbGRlcnM/LnRvcH1cbiAgICAgICAgICAgIGdyYXBoSGVpZ2h0PXtmaW5hbEhlaWdodH1cbiAgICAgICAgICAgIGdyYXBoV2lkdGg9e2ZpbmFsV2lkdGh9XG4gICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiB0aGlzLm9uQ2hhbmdlTGFiZWwodmFsdWUsICd0b3AnKX1cbiAgICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgICBjaGFyYWN0ZXJzTGltaXQ9e2xhYmVsc0NoYXJhY3RlcnNMaW1pdH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICA8V3JhcHBlcj5cbiAgICAgICAgICB7c2hvd0xhYmVscyAmJiAoXG4gICAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgICAgc2lkZT1cImxlZnRcIlxuICAgICAgICAgICAgICB0ZXh0PXtsYWJlbHMubGVmdH1cbiAgICAgICAgICAgICAgZGlzYWJsZWRMYWJlbD17ZGlzYWJsZWRMYWJlbHN9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtsYWJlbHNQbGFjZWhvbGRlcnM/LmxlZnR9XG4gICAgICAgICAgICAgIGdyYXBoSGVpZ2h0PXtmaW5hbEhlaWdodH1cbiAgICAgICAgICAgICAgZ3JhcGhXaWR0aD17ZmluYWxXaWR0aH1cbiAgICAgICAgICAgICAgaXNDaGFydExlZnRMYWJlbD17aXNDaGFydCAmJiAhZGVmaW5lQ2hhcnR9XG4gICAgICAgICAgICAgIGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWw9e2lzQ2hhcnQgJiYgZGVmaW5lQ2hhcnR9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IHRoaXMub25DaGFuZ2VMYWJlbCh2YWx1ZSwgJ2xlZnQnKX1cbiAgICAgICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgICAgICAgY2hhcmFjdGVyc0xpbWl0PXtsYWJlbHNDaGFyYWN0ZXJzTGltaXR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge2RlZmluZUNoYXJ0ID8gKFxuICAgICAgICAgICAgPERlZmluZUNoYXJ0U3ZnIHdpZHRoPXtmaW5hbFdpZHRofSBoZWlnaHQ9e2ZpbmFsSGVpZ2h0fT5cbiAgICAgICAgICAgICAgPEdyYXBoQm94XG4gICAgICAgICAgICAgICAgcmVmPXsocikgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5nID0gcjtcbiAgICAgICAgICAgICAgICAgIGlmIChyb290UmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIHJvb3RSZWYocik7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09e2B0cmFuc2xhdGUoJHtsZWZ0UGFkZGluZyArIChkb21haW4ucGFkZGluZyB8fCAwKX0sICR7dG9wUGFkZGluZyArIChyYW5nZS5wYWRkaW5nIHx8IDApfSlgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICA8L0dyYXBoQm94PlxuICAgICAgICAgICAgPC9EZWZpbmVDaGFydFN2Zz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPENoYXJ0U3ZnIHdpZHRoPXtmaW5hbFdpZHRofSBoZWlnaHQ9e2ZpbmFsSGVpZ2h0fT5cbiAgICAgICAgICAgICAgPEdyYXBoQm94XG4gICAgICAgICAgICAgICAgcmVmPXsocikgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5nID0gcjtcbiAgICAgICAgICAgICAgICAgIGlmIChyb290UmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIHJvb3RSZWYocik7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09e2B0cmFuc2xhdGUoJHtsZWZ0UGFkZGluZyArIChkb21haW4ucGFkZGluZyB8fCAwKX0sICR7dG9wUGFkZGluZyArIChyYW5nZS5wYWRkaW5nIHx8IDApfSlgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICA8L0dyYXBoQm94PlxuICAgICAgICAgICAgPC9DaGFydFN2Zz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG93TGFiZWxzICYmICFpc0NoYXJ0ICYmIChcbiAgICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgICBzaWRlPVwicmlnaHRcIlxuICAgICAgICAgICAgICB0ZXh0PXtsYWJlbHMucmlnaHR9XG4gICAgICAgICAgICAgIGRpc2FibGVkTGFiZWw9e2Rpc2FibGVkTGFiZWxzfVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17bGFiZWxzUGxhY2Vob2xkZXJzPy5yaWdodH1cbiAgICAgICAgICAgICAgZ3JhcGhIZWlnaHQ9e2ZpbmFsSGVpZ2h0fVxuICAgICAgICAgICAgICBncmFwaFdpZHRoPXtmaW5hbFdpZHRofVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiB0aGlzLm9uQ2hhbmdlTGFiZWwodmFsdWUsICdyaWdodCcpfVxuICAgICAgICAgICAgICBtYXRoTWxPcHRpb25zPXttYXRoTWxPcHRpb25zfVxuICAgICAgICAgICAgICBjaGFyYWN0ZXJzTGltaXQ9e2xhYmVsc0NoYXJhY3RlcnNMaW1pdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvd1BpeGVsR3VpZGVzICYmIChcbiAgICAgICAgICAgIDxTaWRlUGl4ZWxHdWlkZXNcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiBzaWRlR3JpZGxpbmVzUGFkZGluZyxcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6IDMxLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Wy4uLkFycmF5KG5iT2ZIb3Jpem9udGFsTGluZXMgKyAxKS5rZXlzKCldLnJldmVyc2UoKS5tYXAoKHZhbHVlKSA9PiAoXG4gICAgICAgICAgICAgICAgPFJlYWRhYmxlIGZhbHNlIGtleT17YHRvcC1ndWlkZS0ke3ZhbHVlfWB9PlxuICAgICAgICAgICAgICAgICAgPFNpZGVQaXhlbEluZGljYXRvcj7ilIEge3ZhbHVlICogMTAwfXB4PC9TaWRlUGl4ZWxJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgPC9SZWFkYWJsZT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L1NpZGVQaXhlbEd1aWRlcz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1dyYXBwZXI+XG4gICAgICAgIHtzaG93TGFiZWxzICYmIChcbiAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgIHNpZGU9XCJib3R0b21cIlxuICAgICAgICAgICAgdGV4dD17bGFiZWxzLmJvdHRvbX1cbiAgICAgICAgICAgIGRpc2FibGVkTGFiZWw9e2Rpc2FibGVkTGFiZWxzfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2xhYmVsc1BsYWNlaG9sZGVycz8uYm90dG9tfVxuICAgICAgICAgICAgZ3JhcGhIZWlnaHQ9e2ZpbmFsSGVpZ2h0fVxuICAgICAgICAgICAgZ3JhcGhXaWR0aD17ZmluYWxXaWR0aH1cbiAgICAgICAgICAgIHRpdGxlSGVpZ2h0PXt0aXRsZUhlaWdodH1cbiAgICAgICAgICAgIGlzQ2hhcnRCb3R0b21MYWJlbD17aXNDaGFydCAmJiAhZGVmaW5lQ2hhcnR9XG4gICAgICAgICAgICBpc0RlZmluZUNoYXJ0Qm90dG9tTGFiZWw9e2lzQ2hhcnQgJiYgZGVmaW5lQ2hhcnR9XG4gICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiB0aGlzLm9uQ2hhbmdlTGFiZWwodmFsdWUsICdib3R0b20nKX1cbiAgICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgICBjaGFyYWN0ZXJzTGltaXQ9e2xhYmVsc0NoYXJhY3RlcnNMaW1pdH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWRSb290PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUm9vdDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxZQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxTQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxtQkFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBRUEsSUFBQU8sTUFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsTUFBQSxHQUFBUixPQUFBO0FBQTRFLFNBQUFTLDJCQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSx5QkFBQUMsTUFBQSxJQUFBSCxDQUFBLENBQUFHLE1B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
|
package/lib/root.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.js","names":["_react","_interopRequireDefault","require","_styles","_propTypes","_d3Selection","_renderUi","_editableHtml","_types","_label","_utils","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","prototype","valueOf","StyledRoot","styled","_ref","theme","border","concat","color","primaryLight","defaults","TEXT","backgroundColor","palette","common","white","touchAction","position","boxSizing","Wrapper","display","DefineChartSvg","paddingLeft","overflow","ChartSvg","GraphBox","cursor","userSelect","GraphTitle","_ref2","fontSize","typography","padding","spacing","textAlign","pointerEvents","marginRight","ChartTitle","_ref3","TopPixelGuides","paddingTop","TopPixelIndicator","flexDirection","alignItems","width","SidePixelGuides","SidePixelIndicator","height","marginBottom","Root","exports","_React$Component","props","_this","_classCallCheck2","g","_this$props","graphProps","onMouseMove","scale","snap","coords","mouse","_groups","x","invert","y","snapped","newValue","side","_this$props2","labels","onChangeLabels","isChart","titleElement","titleRef","titleHeight","clientHeight","setState","prevTitle","title","resizeObserver","ResizeObserver","setupVisibilityObserver","setTimeout","measureTitleHeight","entries","_iterator","_step","entry","_entry$contentRect","contentRect","err","observe","disconnect","state","_inherits2","_createClass2","key","componentDidMount","select","on","mouseMove","bind","componentWillUnmount","cleanupVisibilityObserver","componentDidUpdate","prevProps","render","_this2","_this$props3","disabledTitle","disabledLabels","labelsPlaceholders","titlePlaceholder","children","defineChart","onChangeTitle","showLabels","showPixelGuides","showTitle","rootRef","_this$props3$mathMlOp","mathMlOptions","labelsCharactersLimit","_graphProps$size","size","_graphProps$size$widt","_graphProps$size$heig","domain","range","topPadding","leftPadding","isEmptyString","extractTextFromHTML","left","isEmptyObject","rightPadding","right","finalWidth","finalHeight","activeTitlePlugins","actualHeight","nbOfVerticalLines","parseInt","nbOfHorizontalLines","sideGridlinesPadding","createElement","style","marginLeft","_toConsumableArray2","map","Readable","ref","className","dangerouslySetInnerHTML","__html","markup","onChange","placeholder","toolbarOpts","noPadding","noBorder","activePlugins","disableScrollbar","onKeyDown","handleKeyDown","text","top","disabledLabel","graphHeight","graphWidth","onChangeLabel","charactersLimit","isChartLeftLabel","isDefineChartLeftLabel","transform","marginTop","reverse","bottom","isChartBottomLabel","isDefineChartBottomLabel","React","Component","PropTypes","string","ChildrenType","bool","GraphPropsType","isRequired","object","func","number","_default"],"sources":["../src/root.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { select, mouse } from 'd3-selection';\n\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { ChildrenType } from './types';\nimport { GraphPropsType } from './types';\nimport Label from './label';\nimport { extractTextFromHTML, isEmptyObject, isEmptyString } from './utils';\n\nconst StyledRoot = styled('div')(({ theme }) => ({\n border: `solid 1px ${color.primaryLight()}`,\n color: color.defaults.TEXT,\n backgroundColor: theme.palette.common.white,\n touchAction: 'none',\n position: 'relative',\n boxSizing: 'unset', // to override the default border-box in IBX that breaks the component width layout\n}));\n\nconst Wrapper = styled('div')({\n display: 'flex',\n position: 'relative',\n});\n\nconst DefineChartSvg = styled('svg')({\n paddingLeft: '50px',\n overflow: 'visible',\n});\n\nconst ChartSvg = styled('svg')({\n overflow: 'visible',\n});\n\nconst GraphBox = styled('g')({\n cursor: 'pointer',\n userSelect: 'none',\n});\n\nconst GraphTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 2,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst ChartTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 4,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst TopPixelGuides = styled('div')({\n display: 'flex',\n paddingTop: '6px',\n});\n\nconst TopPixelIndicator = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100px',\n pointerEvents: 'none',\n userSelect: 'none',\n});\n\nconst SidePixelGuides = styled('div')({\n width: '70px',\n display: 'flex',\n flexDirection: 'column',\n marginRight: '6px',\n});\n\nconst SidePixelIndicator = styled('div')({\n textAlign: 'right',\n height: '20px',\n pointerEvents: 'none',\n userSelect: 'none',\n '&:not(:last-child)': {\n marginBottom: '80px',\n },\n});\n\nexport class Root extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n titleHeight: 0,\n };\n this.resizeObserver = null;\n }\n\n static propTypes = {\n title: PropTypes.string,\n children: ChildrenType,\n defineChart: PropTypes.bool,\n disabledLabels: PropTypes.bool,\n disabledTitle: PropTypes.bool,\n graphProps: GraphPropsType.isRequired,\n isChart: PropTypes.bool,\n labels: PropTypes.object,\n labelsPlaceholders: PropTypes.object,\n onChangeTitle: PropTypes.func,\n onMouseMove: PropTypes.func,\n showLabels: PropTypes.bool,\n showTitle: PropTypes.bool,\n showPixelGuides: PropTypes.bool,\n rootRef: PropTypes.func,\n onChangeLabels: PropTypes.func,\n titlePlaceholder: PropTypes.string,\n mathMlOptions: PropTypes.object,\n labelsCharactersLimit: PropTypes.number,\n };\n\n mouseMove = (g) => {\n const { graphProps, onMouseMove } = this.props;\n\n if (!onMouseMove) {\n return;\n }\n\n const { scale, snap } = graphProps;\n const coords = mouse(g._groups[0][0]);\n const x = scale.x.invert(coords[0]);\n const y = scale.y.invert(coords[1]);\n\n const snapped = {\n x: snap.x(x),\n y: snap.y(y),\n };\n\n onMouseMove(snapped);\n };\n\n componentDidMount() {\n const g = select(this.g);\n g.on('mousemove', this.mouseMove.bind(this, g));\n this.measureTitleHeight();\n this.setupVisibilityObserver();\n }\n\n componentWillUnmount() {\n const g = select(this.g);\n g.on('mousemove', null);\n this.cleanupVisibilityObserver();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.title !== this.props.title) {\n this.measureTitleHeight();\n }\n }\n\n onChangeLabel = (newValue, side) => {\n const { labels, onChangeLabels, isChart } = this.props;\n\n if (!onChangeLabels) {\n return;\n }\n\n if (isChart) {\n if (side === 'left') {\n onChangeLabels('range', newValue);\n } else {\n onChangeLabels('domain', newValue);\n }\n\n return;\n }\n\n onChangeLabels({\n ...labels,\n [side]: newValue,\n });\n };\n\n measureTitleHeight = () => {\n const titleElement = this.titleRef;\n if (titleElement) {\n const titleHeight = titleElement.clientHeight;\n this.setState({ titleHeight, prevTitle: this.props.title });\n\n if (!this.resizeObserver && typeof ResizeObserver !== 'undefined') {\n this.setupVisibilityObserver();\n }\n }\n };\n\n handleKeyDown = () => {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 0);\n };\n\n // handle edge case where chart is hidden with display:none and then shown with display:block\n setupVisibilityObserver = () => {\n if (typeof ResizeObserver !== 'undefined' && this.titleRef) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (let entry of entries) {\n const { width, height } = entry.contentRect;\n // trigger if element becomes visible and we haven't measured this height yet\n if (width > 0 && height > 0) {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 10);\n break;\n }\n }\n });\n\n this.resizeObserver.observe(this.titleRef);\n }\n };\n\n cleanupVisibilityObserver = () => {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n };\n\n render() {\n const {\n disabledTitle,\n disabledLabels,\n labels,\n labelsPlaceholders,\n titlePlaceholder,\n graphProps,\n children,\n defineChart,\n onChangeTitle,\n isChart,\n showLabels,\n showPixelGuides,\n showTitle,\n title,\n rootRef,\n mathMlOptions = {},\n labelsCharactersLimit,\n } = this.props;\n const {\n size: { width = 500, height = 500 },\n domain,\n range,\n } = graphProps;\n\n const topPadding = 40;\n const leftPadding = isEmptyString(extractTextFromHTML(labels?.left)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const rightPadding =\n isEmptyString(extractTextFromHTML(labels?.right)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const finalWidth = width + leftPadding + rightPadding + (domain.padding || 0) * 2;\n const finalHeight = height + topPadding * 2 + (range.padding || 0) * 2;\n\n const activeTitlePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'superscript',\n 'subscript',\n 'strikethrough',\n 'math',\n // 'languageCharacters'\n ];\n\n const actualHeight = defineChart && showPixelGuides ? height - 160 : height;\n const nbOfVerticalLines = parseInt(width / 100);\n const nbOfHorizontalLines = parseInt(actualHeight / 100);\n const sideGridlinesPadding = parseInt(actualHeight % 100);\n const { titleHeight } = this.state;\n \n return (\n <StyledRoot>\n {showPixelGuides && (\n <TopPixelGuides style={{ marginLeft: isChart ? 80 : showLabels ? 30 : 10 }}>\n {[...Array(nbOfVerticalLines + 1).keys()].map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <TopPixelIndicator>\n <div>{value * 100}px</div>\n <div>|</div>\n </TopPixelIndicator>\n </Readable>\n ))}\n </TopPixelGuides>\n )}\n {showTitle &&\n (disabledTitle ? (\n <div\n ref={(r) => (this.titleRef = r)}\n style={{\n ...(isChart && { width: finalWidth }),\n ...(isEmptyString(extractTextFromHTML(title)) && { display: 'none' }),\n }}\n >\n {isChart ? (\n <ChartTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n ) : (\n <GraphTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n )}\n </div>\n ) : (\n <div ref={(r) => (this.titleRef = r)}>\n {isChart ? (\n <ChartTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n style={\n isChart && {\n width: finalWidth,\n }\n }\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) || (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </ChartTitle>\n ) : (\n <GraphTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n style={\n isChart && {\n width: finalWidth,\n }\n }\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) || (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </GraphTitle>\n )}\n </div>\n ))}\n {showLabels && !isChart && (\n <Label\n side=\"top\"\n text={labels.top}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.top}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'top')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n <Wrapper>\n {showLabels && (\n <Label\n side=\"left\"\n text={labels.left}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.left}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n isChartLeftLabel={isChart && !defineChart}\n isDefineChartLeftLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'left')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {defineChart ? (\n <DefineChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </DefineChartSvg>\n ) : (\n <ChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </ChartSvg>\n )}\n {showLabels && !isChart && (\n <Label\n side=\"right\"\n text={labels.right}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.right}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'right')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {showPixelGuides && (\n <SidePixelGuides\n style={{\n paddingTop: sideGridlinesPadding,\n marginTop: 31,\n }}\n >\n {[...Array(nbOfHorizontalLines + 1).keys()].reverse().map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <SidePixelIndicator>━ {value * 100}px</SidePixelIndicator>\n </Readable>\n ))}\n </SidePixelGuides>\n )}\n </Wrapper>\n {showLabels && (\n <Label\n side=\"bottom\"\n text={labels.bottom}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.bottom}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n titleHeight={titleHeight}\n isChartBottomLabel={isChart && !defineChart}\n isDefineChartBottomLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'bottom')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n </StyledRoot>\n );\n }\n}\n\nexport default Root;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"root.js","names":["_react","_interopRequireDefault","require","_styles","_propTypes","_d3Selection","_renderUi","_editableHtmlTipTap","_types","_label","_utils","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","prototype","valueOf","StyledRoot","styled","_ref","theme","border","concat","color","primaryLight","defaults","TEXT","backgroundColor","palette","common","white","touchAction","position","boxSizing","Wrapper","display","DefineChartSvg","paddingLeft","overflow","ChartSvg","GraphBox","cursor","userSelect","GraphTitle","_ref2","fontSize","typography","padding","spacing","textAlign","pointerEvents","marginRight","ChartTitle","_ref3","TopPixelGuides","paddingTop","TopPixelIndicator","flexDirection","alignItems","width","SidePixelGuides","SidePixelIndicator","height","marginBottom","Root","exports","_React$Component","props","_this","_classCallCheck2","g","_this$props","graphProps","onMouseMove","scale","snap","coords","mouse","node","x","invert","y","snapped","newValue","side","_this$props2","labels","onChangeLabels","isChart","titleElement","titleRef","titleHeight","clientHeight","setState","prevTitle","title","resizeObserver","ResizeObserver","setupVisibilityObserver","setTimeout","measureTitleHeight","entries","_iterator","_step","entry","_entry$contentRect","contentRect","err","observe","disconnect","state","_inherits2","_createClass2","key","componentDidMount","select","on","mouseMove","bind","componentWillUnmount","cleanupVisibilityObserver","componentDidUpdate","prevProps","render","_this2","_this$props3","disabledTitle","disabledLabels","labelsPlaceholders","titlePlaceholder","children","defineChart","onChangeTitle","showLabels","showPixelGuides","showTitle","rootRef","_this$props3$mathMlOp","mathMlOptions","labelsCharactersLimit","_graphProps$size","size","_graphProps$size$widt","_graphProps$size$heig","domain","range","topPadding","leftPadding","isEmptyString","extractTextFromHTML","left","isEmptyObject","rightPadding","right","finalWidth","finalHeight","activeTitlePlugins","actualHeight","nbOfVerticalLines","parseInt","nbOfHorizontalLines","sideGridlinesPadding","createElement","style","marginLeft","_toConsumableArray2","map","Readable","ref","className","dangerouslySetInnerHTML","__html","markup","onChange","placeholder","toolbarOpts","noPadding","noBorder","activePlugins","disableScrollbar","onKeyDown","handleKeyDown","text","top","disabledLabel","graphHeight","graphWidth","onChangeLabel","charactersLimit","isChartLeftLabel","isDefineChartLeftLabel","transform","marginTop","reverse","bottom","isChartBottomLabel","isDefineChartBottomLabel","React","Component","PropTypes","string","ChildrenType","bool","GraphPropsType","isRequired","object","func","number","_default"],"sources":["../src/root.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { select, mouse } from 'd3-selection';\n\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { ChildrenType } from './types';\nimport { GraphPropsType } from './types';\nimport Label from './label';\nimport { extractTextFromHTML, isEmptyObject, isEmptyString } from './utils';\n\nconst StyledRoot = styled('div')(({ theme }) => ({\n border: `solid 1px ${color.primaryLight()}`,\n color: color.defaults.TEXT,\n backgroundColor: theme.palette.common.white,\n touchAction: 'none',\n position: 'relative',\n boxSizing: 'unset', // to override the default border-box in IBX that breaks the component width layout\n}));\n\nconst Wrapper = styled('div')({\n display: 'flex',\n position: 'relative',\n});\n\nconst DefineChartSvg = styled('svg')({\n paddingLeft: '50px',\n overflow: 'visible',\n});\n\nconst ChartSvg = styled('svg')({\n overflow: 'visible',\n});\n\nconst GraphBox = styled('g')({\n cursor: 'pointer',\n userSelect: 'none',\n});\n\nconst GraphTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 2,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst ChartTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 4,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst TopPixelGuides = styled('div')({\n display: 'flex',\n paddingTop: '6px',\n});\n\nconst TopPixelIndicator = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100px',\n pointerEvents: 'none',\n userSelect: 'none',\n});\n\nconst SidePixelGuides = styled('div')({\n width: '70px',\n display: 'flex',\n flexDirection: 'column',\n marginRight: '6px',\n});\n\nconst SidePixelIndicator = styled('div')({\n textAlign: 'right',\n height: '20px',\n pointerEvents: 'none',\n userSelect: 'none',\n '&:not(:last-child)': {\n marginBottom: '80px',\n },\n});\n\nexport class Root extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n titleHeight: 0,\n };\n this.resizeObserver = null;\n }\n\n static propTypes = {\n title: PropTypes.string,\n children: ChildrenType,\n defineChart: PropTypes.bool,\n disabledLabels: PropTypes.bool,\n disabledTitle: PropTypes.bool,\n graphProps: GraphPropsType.isRequired,\n isChart: PropTypes.bool,\n labels: PropTypes.object,\n labelsPlaceholders: PropTypes.object,\n onChangeTitle: PropTypes.func,\n onMouseMove: PropTypes.func,\n showLabels: PropTypes.bool,\n showTitle: PropTypes.bool,\n showPixelGuides: PropTypes.bool,\n rootRef: PropTypes.func,\n onChangeLabels: PropTypes.func,\n titlePlaceholder: PropTypes.string,\n mathMlOptions: PropTypes.object,\n labelsCharactersLimit: PropTypes.number,\n };\n\n mouseMove = (g) => {\n const { graphProps, onMouseMove } = this.props;\n\n if (!onMouseMove) {\n return;\n }\n\n const { scale, snap } = graphProps;\n const coords = mouse(g.node());\n const x = scale.x.invert(coords[0]);\n const y = scale.y.invert(coords[1]);\n\n const snapped = {\n x: snap.x(x),\n y: snap.y(y),\n };\n\n onMouseMove(snapped);\n };\n\n componentDidMount() {\n const g = select(this.g);\n g.on('mousemove', this.mouseMove.bind(this, g));\n this.measureTitleHeight();\n this.setupVisibilityObserver();\n }\n\n componentWillUnmount() {\n const g = select(this.g);\n g.on('mousemove', null);\n this.cleanupVisibilityObserver();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.title !== this.props.title) {\n this.measureTitleHeight();\n }\n }\n\n onChangeLabel = (newValue, side) => {\n const { labels, onChangeLabels, isChart } = this.props;\n\n if (!onChangeLabels) {\n return;\n }\n\n if (isChart) {\n if (side === 'left') {\n onChangeLabels('range', newValue);\n } else {\n onChangeLabels('domain', newValue);\n }\n\n return;\n }\n\n onChangeLabels({\n ...labels,\n [side]: newValue,\n });\n };\n\n measureTitleHeight = () => {\n const titleElement = this.titleRef;\n if (titleElement) {\n const titleHeight = titleElement.clientHeight;\n this.setState({ titleHeight, prevTitle: this.props.title });\n\n if (!this.resizeObserver && typeof ResizeObserver !== 'undefined') {\n this.setupVisibilityObserver();\n }\n }\n };\n\n handleKeyDown = () => {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 0);\n };\n\n // handle edge case where chart is hidden with display:none and then shown with display:block\n setupVisibilityObserver = () => {\n if (typeof ResizeObserver !== 'undefined' && this.titleRef) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (let entry of entries) {\n const { width, height } = entry.contentRect;\n // trigger if element becomes visible and we haven't measured this height yet\n if (width > 0 && height > 0) {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 10);\n break;\n }\n }\n });\n\n this.resizeObserver.observe(this.titleRef);\n }\n };\n\n cleanupVisibilityObserver = () => {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n };\n\n render() {\n const {\n disabledTitle,\n disabledLabels,\n labels,\n labelsPlaceholders,\n titlePlaceholder,\n graphProps,\n children,\n defineChart,\n onChangeTitle,\n isChart,\n showLabels,\n showPixelGuides,\n showTitle,\n title,\n rootRef,\n mathMlOptions = {},\n labelsCharactersLimit,\n } = this.props;\n const {\n size: { width = 500, height = 500 },\n domain,\n range,\n } = graphProps;\n\n const topPadding = 40;\n const leftPadding = isEmptyString(extractTextFromHTML(labels?.left)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const rightPadding =\n isEmptyString(extractTextFromHTML(labels?.right)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const finalWidth = width + leftPadding + rightPadding + (domain.padding || 0) * 2;\n const finalHeight = height + topPadding * 2 + (range.padding || 0) * 2;\n\n const activeTitlePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'superscript',\n 'subscript',\n 'strikethrough',\n 'math',\n // 'languageCharacters'\n ];\n\n const actualHeight = defineChart && showPixelGuides ? height - 160 : height;\n const nbOfVerticalLines = parseInt(width / 100);\n const nbOfHorizontalLines = parseInt(actualHeight / 100);\n const sideGridlinesPadding = parseInt(actualHeight % 100);\n const { titleHeight } = this.state;\n\n return (\n <StyledRoot>\n {showPixelGuides && (\n <TopPixelGuides style={{ marginLeft: isChart ? 80 : showLabels ? 30 : 10 }}>\n {[...Array(nbOfVerticalLines + 1).keys()].map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <TopPixelIndicator>\n <div>{value * 100}px</div>\n <div>|</div>\n </TopPixelIndicator>\n </Readable>\n ))}\n </TopPixelGuides>\n )}\n {showTitle &&\n (disabledTitle ? (\n <div\n ref={(r) => (this.titleRef = r)}\n style={{\n ...(isChart && { width: finalWidth }),\n ...(isEmptyString(extractTextFromHTML(title)) && { display: 'none' }),\n }}\n >\n {isChart ? (\n <ChartTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n ) : (\n <GraphTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n )}\n </div>\n ) : (\n <div ref={(r) => (this.titleRef = r)}>\n {isChart ? (\n <ChartTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n style={\n isChart && {\n width: finalWidth,\n }\n }\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </ChartTitle>\n ) : (\n <GraphTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n style={\n isChart && {\n width: finalWidth,\n }\n }\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </GraphTitle>\n )}\n </div>\n ))}\n {showLabels && !isChart && (\n <Label\n side=\"top\"\n text={labels.top}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.top}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'top')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n <Wrapper>\n {showLabels && (\n <Label\n side=\"left\"\n text={labels.left}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.left}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n isChartLeftLabel={isChart && !defineChart}\n isDefineChartLeftLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'left')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {defineChart ? (\n <DefineChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </DefineChartSvg>\n ) : (\n <ChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </ChartSvg>\n )}\n {showLabels && !isChart && (\n <Label\n side=\"right\"\n text={labels.right}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.right}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'right')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {showPixelGuides && (\n <SidePixelGuides\n style={{\n paddingTop: sideGridlinesPadding,\n marginTop: 31,\n }}\n >\n {[...Array(nbOfHorizontalLines + 1).keys()].reverse().map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <SidePixelIndicator>━ {value * 100}px</SidePixelIndicator>\n </Readable>\n ))}\n </SidePixelGuides>\n )}\n </Wrapper>\n {showLabels && (\n <Label\n side=\"bottom\"\n text={labels.bottom}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.bottom}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n titleHeight={titleHeight}\n isChartBottomLabel={isChart && !defineChart}\n isDefineChartBottomLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'bottom')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n </StyledRoot>\n );\n }\n}\n\nexport default Root;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/trig.js
CHANGED
|
@@ -146,4 +146,4 @@ var diffEdge = exports.diffEdge = function diffEdge(bounds, a, b) {
|
|
|
146
146
|
l('normalized:', normalized);
|
|
147
147
|
return normalized;
|
|
148
148
|
};
|
|
149
|
-
//# sourceMappingURL=trig.js.map
|
|
149
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXRpbHMiLCJyZXF1aXJlIiwiX3BvaW50R2VvbWV0cnkiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2RlYnVnIiwibG9nIiwiZGVidWciLCJ0b0RlZ3JlZXMiLCJleHBvcnRzIiwicmFkaWFucyIsIk1hdGgiLCJQSSIsInRvUmFkaWFucyIsImRlZ3JlZXMiLCJhbmdsZSIsImEiLCJiIiwidmQiLCJ5IiwiaGQiLCJ4IiwiYXRhbjIiLCJOSU5FVFkiLCJPTkVfRUlHSFRZIiwiVFdPX1NFVkVOVFkiLCJhY3V0ZVhBbmdsZSIsImFicyIsImFjdXRlWUFuZ2xlIiwiaHlwb3RlbnVzZSIsImFscGhhIiwib3V0Iiwic2luIiwiZWRnZXMiLCJkb21haW4iLCJyYW5nZSIsImRlc3RYIiwibWF4IiwibWluIiwiZGVzdFkiLCJhVG9CIiwiZGlmZkVkZ2UiLCJ4eSIsImRYIiwiZFkiLCJiVG9BIiwiZ2V0T3Bwb3NpbmdTaWRlIiwiaHlwIiwiZ2V0U2hvcnRlc3RTaWRlIiwieGgiLCJ5aCIsIk51bWJlciIsImlzRmluaXRlIiwiaXNOYU4iLCJJbmZpbml0eSIsImNvbnNvbGUiLCJ3YXJuIiwiYm91bmRzIiwibCIsImVuYWJsZWQiLCJiaW5kIiwiY29uY2F0IiwieFJhZGlhbnMiLCJ5UmFkaWFucyIsInhTaWRlIiwieEgiLCJ5U2lkZSIsInlIIiwic2lkZSIsIkVycm9yIiwicG9pbnQiLCJQb2ludCIsIm11bHRpcGxpZXIiLCJtdWx0QnlQb2ludCIsIm5vcm1hbGl6ZWQiLCJhZGQiXSwic291cmNlcyI6WyIuLi9zcmMvdHJpZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB4eSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IFBvaW50IGZyb20gJ0BtYXBib3gvcG9pbnQtZ2VvbWV0cnknO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmNvbnN0IGxvZyA9IGRlYnVnKCdwaWUtbGliOnBsb3Q6dHJpZycpO1xuXG5leHBvcnQgY29uc3QgdG9EZWdyZWVzID0gKHJhZGlhbnMpID0+IHJhZGlhbnMgKiAoMTgwIC8gTWF0aC5QSSk7XG5leHBvcnQgY29uc3QgdG9SYWRpYW5zID0gKGRlZ3JlZXMpID0+IGRlZ3JlZXMgKiAoTWF0aC5QSSAvIDE4MCk7XG4vKipcbiAqIHJldHVybiBhbmdsZSBpbiByYWRpYW5zIGJldHdlZW4gMiBwb2ludHMgdXNpbmcgY291bnRpbmcgZGVncmVlcyBjb3VudGVyIGNsb2Nrd2lzZVxuICpcbiAqIDAsMCArIDEsMSA9IDQ1IGluIHJhZGlhbnNcbiAqIDEsMSArIDAsMCA9IDQ1P1xuICogQHBhcmFtIHtQb2ludH0gYVxuICogQHBhcmFtIHtQb2ludH0gYlxuICovXG5leHBvcnQgY29uc3QgYW5nbGUgPSAoYSwgYikgPT4ge1xuICBjb25zdCB2ZCA9IGIueSAtIGEueTtcbiAgY29uc3QgaGQgPSBiLnggLSBhLng7XG4gIGxvZyhhLCBiLCAndmQ6ICcsIHZkLCAnaGQ6ICcsIGhkKTtcbiAgY29uc3QgcmFkaWFucyA9IE1hdGguYXRhbjIodmQsIGhkKTtcbiAgcmV0dXJuIHJhZGlhbnMgPCAwID8gcmFkaWFucyArIE1hdGguUEkgKiAyIDogcmFkaWFucztcbn07XG5cbmNvbnN0IE5JTkVUWSA9IE1hdGguUEkgLyAyO1xuY29uc3QgT05FX0VJR0hUWSA9IE1hdGguUEk7XG5jb25zdCBUV09fU0VWRU5UWSA9IE9ORV9FSUdIVFkgKyBOSU5FVFk7XG5cbmV4cG9ydCBjb25zdCBhY3V0ZVhBbmdsZSA9IChhKSA9PiB7XG4gIGxvZyh0b0RlZ3JlZXMoYSkpO1xuXG4gIGlmIChhIDwgTklORVRZKSB7XG4gICAgcmV0dXJuIGE7XG4gIH1cblxuICBpZiAoYSA8IE9ORV9FSUdIVFkpIHtcbiAgICByZXR1cm4gTWF0aC5hYnMoT05FX0VJR0hUWSAtIGEpO1xuICB9XG5cbiAgaWYgKGEgPCBUV09fU0VWRU5UWSkge1xuICAgIHJldHVybiBNYXRoLmFicyhPTkVfRUlHSFRZIC0gYSk7XG4gIH1cblxuICByZXR1cm4gTWF0aC5hYnMoTWF0aC5QSSAqIDIgLSBhKTtcbn07XG5cbmV4cG9ydCBjb25zdCBhY3V0ZVlBbmdsZSA9IChhKSA9PiBOSU5FVFkgLSBhY3V0ZVhBbmdsZShhKTtcblxuZXhwb3J0IGNvbnN0IGh5cG90ZW51c2UgPSAoYSwgYWxwaGEpID0+IHtcbiAgY29uc3Qgb3V0ID0gTWF0aC5hYnMoYSAvIE1hdGguc2luKGFscGhhKSk7XG5cbiAgcmV0dXJuIG91dDtcbn07XG5cbi8qKlxuICogcmV0dXJuIDIgZWRnZSBwb2ludHMgZm9yIGEsYiB3aXRoaW4gZG9tYWluICsgcmFuZ2UuXG4gKiAtIG9uZSBlZGdlIGlzIGZyb20gZm9sbG93aW5nIGEgLT4gYiB0byB0aGUgYm91bmRzXG4gKiAtIG9uZSBlZGdlIGlzIGZyb20gZm9sbG93aW5nIGIgLT4gYSB0byB0aGUgYm91bmRzXG4gKiBAcGFyYW0ge3ttaW46IG51bWJlciwgbWF4OiBudW1iZXJ9fSBkb21haW5cbiAqIEBwYXJhbSB7e21pbjogbnVtYmVyLCBtYXg6IG51bWJlcn19IHJhbmdlXG4gKiBAcGFyYW0ge3t4OiBudW1iZXIsIHk6IG51bWJlcn19IGFcbiAqIEBwYXJhbSB7e3g6IG51bWJlciwgeTogbnVtYmVyfX0gYlxuICogQHJldHVybnMgW3t4OiBudW1iZXIsIHk6IG51bWJlcn0sIHt4OiBudW1iZXIsIHk6IG51bWJlcn1dXG4gKi9cbmV4cG9ydCBjb25zdCBlZGdlcyA9IChkb21haW4sIHJhbmdlKSA9PiAoYSwgYikgPT4ge1xuICAvLyBjb25zdCB4RGVzdCA9XG4gIGNvbnN0IGRlc3RYID0gYS54IDwgYi54ID8gZG9tYWluLm1heCA6IGRvbWFpbi5taW47XG4gIGNvbnN0IGRlc3RZID0gYS55IDwgYi55ID8gcmFuZ2UubWF4IDogcmFuZ2UubWluO1xuICBjb25zdCBhVG9CID0gZGlmZkVkZ2UoeHkoZGVzdFgsIGRlc3RZKSwgYSwgYik7XG5cbiAgY29uc3QgZFggPSBiLnggPCBhLnggPyBkb21haW4ubWF4IDogZG9tYWluLm1pbjtcbiAgY29uc3QgZFkgPSBiLnkgPCBhLnkgPyByYW5nZS5tYXggOiByYW5nZS5taW47XG4gIGNvbnN0IGJUb0EgPSBkaWZmRWRnZSh4eShkWCwgZFkpLCBiLCBhKTtcbiAgcmV0dXJuIFthVG9CLCBiVG9BXTtcbn07XG5cbi8qKiBnZXQgbGVuZ3RoIG9mIHNpZGUgQSBvZiBhIHRyaWFuZ2xlIGZyb20gSCBhbmQgYW5nbGUgQWxwaGEgKi9cbmV4cG9ydCBjb25zdCBnZXRPcHBvc2luZ1NpZGUgPSAoaHlwLCBhbmdsZSkgPT4ge1xuICBsb2coJ1tnZXRPcHBvc2luZ1NpZGVdIGh5cDogJywgaHlwLCAnYW5nbGU6JywgYW5nbGUpO1xuICByZXR1cm4gTWF0aC5hYnMoaHlwICogTWF0aC5zaW4oYW5nbGUpKTtcbn07XG5cbmNvbnN0IGdldFNob3J0ZXN0U2lkZSA9ICh4aCwgeWgpID0+IHtcbiAgaWYgKE51bWJlci5pc0Zpbml0ZSh4aCkgJiYgTnVtYmVyLmlzRmluaXRlKHloKSkge1xuICAgIGlmICh4aCA9PT0gMCAmJiB5aCA+IDApIHtcbiAgICAgIHJldHVybiAneSc7XG4gICAgfVxuICAgIGlmICh5aCA9PT0gMCAmJiB4aCA+IDApIHtcbiAgICAgIHJldHVybiAneCc7XG4gICAgfVxuICAgIHJldHVybiB4aCA8IHloID8gJ3gnIDogJ3knO1xuICB9XG4gIGlmIChpc05hTih4aCkgJiYgIWlzTmFOKHloKSkge1xuICAgIHJldHVybiAneSc7XG4gIH1cbiAgaWYgKCFpc05hTih4aCkgJiYgaXNOYU4oeWgpKSB7XG4gICAgcmV0dXJuICd4JztcbiAgfVxuICBpZiAoeGggPT09IEluZmluaXR5KSB7XG4gICAgcmV0dXJuICd5JztcbiAgfVxuICBpZiAoeWggPT09IEluZmluaXR5KSB7XG4gICAgcmV0dXJuICd4JztcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUud2FybignaHlwb3RlbnVzZSAtIHdoaWNoIGlzIHNob3J0ZXI/IHg6JywgeGgsICd5OicsIHloKTtcbn07XG4vKipcbiAqIHJldHVybiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGJvdW5kcyBhbmQgYSBhcyBhIFBvaW50XG4gKiBAcGFyYW0geyp9IGJvdW5kc1xuICovXG5leHBvcnQgY29uc3QgZGlmZkVkZ2UgPSAoYm91bmRzLCBhLCBiKSA9PiB7XG4gIGxldCBsID0gbG9nLmVuYWJsZWQgPyBsb2cuYmluZChsb2csIGBkaWZmRWRnZTogWyR7YS54fSwke2EueX0gLT4gJHtiLnh9LCR7Yi55fV1gKSA6ICgpID0+IHt9O1xuICBjb25zdCB4UmFkaWFucyA9IGFuZ2xlKGEsIGIpO1xuICBsKCd4IGFuZ2xlJywgdG9EZWdyZWVzKHhSYWRpYW5zKSk7XG4gIGNvbnN0IHlSYWRpYW5zID0gTWF0aC5hYnMoeFJhZGlhbnMgLSB0b1JhZGlhbnMoOTApKTtcbiAgbCgneSBhbmdsZScsIHRvRGVncmVlcyh5UmFkaWFucykpO1xuICBjb25zdCB4U2lkZSA9IE1hdGguYWJzKGEueCAtIGJvdW5kcy54KTtcblxuICAvKipcbiAgICogRHJhdyAyIHRyaWFuZ2xlczpcbiAgICogMSB3aXRoIGEgaG9yaXpvbnRhbCBsaW5lIGZyb20gYSB0byB0aGUgZ3JhcGggeCBlZGdlXG4gICAqIDEgd2l0aCBhIHZlcnRpY2FsIGxpbmUgZnJvbSBhIHRvIHRoZSBncmFwaCB5IGVkZ2VcbiAgICogQ2FsY3VsYXRlIHRoZSBoeXBvdGVudXNlIGZvciBib3RoLCB3aGljaGV2ZXIgaXMgc2hvcnRlclxuICAgKiBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgdXNlIHRoYXQgdHJpYW5nbGUgdG8gZ2V0IHRoZSBlZGdlIHBvaW50LlxuICAgKi9cbiAgY29uc3QgeEggPSBoeXBvdGVudXNlKHhTaWRlLCB5UmFkaWFucyk7XG5cbiAgY29uc3QgeVNpZGUgPSBNYXRoLmFicyhhLnkgLSBib3VuZHMueSk7XG4gIGNvbnN0IHlIID0gaHlwb3RlbnVzZSh5U2lkZSwgeFJhZGlhbnMpO1xuXG4gIGwoJ3g6IHNpZGUnLCB4U2lkZSwgJ2g6JywgeEgpO1xuICBsKCd5OiBzaWRlJywgeVNpZGUsICdoOicsIHlIKTtcbiAgY29uc3Qgc2lkZSA9IGdldFNob3J0ZXN0U2lkZSh4SCwgeUgpO1xuXG4gIGlmIChzaWRlICE9PSAneCcgJiYgc2lkZSAhPT0gJ3knKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW50IGRlY2lkZSB3aGljaCBoeXBvdGVudXNlIHRvIHVzZScpO1xuICB9XG4gIGNvbnN0IHBvaW50ID1cbiAgICBzaWRlID09PSAneCcgPyBuZXcgUG9pbnQoeFNpZGUsIGdldE9wcG9zaW5nU2lkZSh4SCwgeFJhZGlhbnMpKSA6IG5ldyBQb2ludChnZXRPcHBvc2luZ1NpZGUoeUgsIHlSYWRpYW5zKSwgeVNpZGUpO1xuXG4gIGwoJ3BvaW50OicsIHBvaW50KTtcbiAgY29uc3QgbXVsdGlwbGllciA9IG5ldyBQb2ludChiLnggPCBhLnggPyAtMSA6IDEsIGIueSA8IGEueSA/IC0xIDogMSk7XG4gIGwoJ211bHRpcGxpZXI6JywgbXVsdGlwbGllcik7XG4gIGNvbnN0IG91dCA9IHBvaW50Lm11bHRCeVBvaW50KG11bHRpcGxpZXIpO1xuICBsKCdvdXQ6Jywgb3V0KTtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG91dC5hZGQobmV3IFBvaW50KGEueCwgYS55KSk7XG4gIGwoJ25vcm1hbGl6ZWQ6Jywgbm9ybWFsaXplZCk7XG4gIHJldHVybiBub3JtYWxpemVkO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQU1JLEdBQUcsR0FBRyxJQUFBQyxpQkFBSyxFQUFDLG1CQUFtQixDQUFDO0FBRS9CLElBQU1DLFNBQVMsR0FBQUMsT0FBQSxDQUFBRCxTQUFBLEdBQUcsU0FBWkEsU0FBU0EsQ0FBSUUsT0FBTztFQUFBLE9BQUtBLE9BQU8sSUFBSSxHQUFHLEdBQUdDLElBQUksQ0FBQ0MsRUFB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
|
package/lib/types.js
CHANGED
|
@@ -37,4 +37,4 @@ var GraphPropsType = exports.GraphPropsType = _propTypes["default"].shape({
|
|
|
37
37
|
range: RangeType.isRequired,
|
|
38
38
|
size: SizeType.isRequired
|
|
39
39
|
});
|
|
40
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJCYXNlRG9tYWluUmFuZ2VUeXBlIiwiZXhwb3J0cyIsIm1pbiIsIlByb3BUeXBlcyIsIm51bWJlciIsImlzUmVxdWlyZWQiLCJtYXgiLCJzdGVwIiwiRG9tYWluVHlwZSIsInNoYXBlIiwiUmFuZ2VUeXBlIiwiU2l6ZVR5cGUiLCJ3aWR0aCIsImhlaWdodCIsIlBvaW50VHlwZSIsIngiLCJ5IiwiQ2hpbGRyZW5UeXBlIiwib25lT2ZUeXBlIiwiYXJyYXlPZiIsIm5vZGUiLCJTY2FsZVR5cGUiLCJmdW5jIiwiU25hcFR5cGUiLCJHcmFwaFByb3BzVHlwZSIsInNjYWxlIiwic25hcCIsImRvbWFpbiIsInJhbmdlIiwic2l6ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQmFzZURvbWFpblJhbmdlVHlwZSA9IHtcbiAgbWluOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIG1heDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICBzdGVwOiBQcm9wVHlwZXMubnVtYmVyLFxufTtcblxuZXhwb3J0IGNvbnN0IERvbWFpblR5cGUgPSBQcm9wVHlwZXMuc2hhcGUoQmFzZURvbWFpblJhbmdlVHlwZSk7XG5cbmV4cG9ydCBjb25zdCBSYW5nZVR5cGUgPSBQcm9wVHlwZXMuc2hhcGUoQmFzZURvbWFpblJhbmdlVHlwZSk7XG5cbmV4cG9ydCBjb25zdCBTaXplVHlwZSA9IFByb3BUeXBlcy5zaGFwZSh7XG4gIHdpZHRoOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIGhlaWdodDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxufSk7XG5cbmV4cG9ydCBjb25zdCBQb2ludFR5cGUgPSBQcm9wVHlwZXMuc2hhcGUoe1xuICB4OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIHk6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbn0pO1xuXG5leHBvcnQgY29uc3QgQ2hpbGRyZW5UeXBlID0gUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLm5vZGUpLCBQcm9wVHlwZXMubm9kZV0pLmlzUmVxdWlyZWQ7XG5cbmV4cG9ydCBjb25zdCBTY2FsZVR5cGUgPSBQcm9wVHlwZXMuc2hhcGUoe1xuICB4OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufSk7XG5cbmV4cG9ydCBjb25zdCBTbmFwVHlwZSA9IFByb3BUeXBlcy5zaGFwZSh7XG4gIHg6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59KTtcblxuZXhwb3J0IGNvbnN0IEdyYXBoUHJvcHNUeXBlID0gUHJvcFR5cGVzLnNoYXBlKHtcbiAgc2NhbGU6IFNjYWxlVHlwZS5pc1JlcXVpcmVkLFxuICBzbmFwOiBTbmFwVHlwZS5pc1JlcXVpcmVkLFxuICBkb21haW46IERvbWFpblR5cGUuaXNSZXF1aXJlZCxcbiAgcmFuZ2U6IFJhbmdlVHlwZS5pc1JlcXVpcmVkLFxuICBzaXplOiBTaXplVHlwZS5pc1JlcXVpcmVkLFxufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFTyxJQUFNQyxtQkFBbUIsR0FBQUMsT0FBQSxDQUFBRCxtQkFBQSxHQUFHO0VBQ2pDRSxHQUFHLEVBQUVDLHFCQUFTLENBQUNDLE1BQU0sQ0FBQ0MsVUFBVTtFQUNoQ0MsR0FBRyxFQUFFSCxxQkFBUyxDQUFDQyxNQUFNLENBQUNDLFVBQVU7RUFDaENFLElBQUksRUFBRUoscUJBQVMsQ0FBQ0M7QUFDbEIsQ0FBQztBQUVNLElBQU1JLFVBQVUsR0FBQVAsT0FBQSxDQUFBTyxVQUFBLEdBQUdMLHFCQUFTLENBQUNNLEtBQUssQ0FBQ1QsbUJBQW1CLENBQUM7QUFFdkQsSUFBTVUsU0FBUyxHQUFBVCxPQUFBLENBQUFTLFNBQUEsR0FBR1AscUJBQVMsQ0FBQ00sS0FBSyxDQUFDVCxtQkFBbUIsQ0FBQztBQUV0RCxJQUFNVyxRQUFRLEdBQUFWLE9BQUEsQ0FBQVUsUUFBQSxHQUFHUixxQkFBUyxDQUFDTSxLQUFLLENBQUM7RUFDdENHLEtBQUssRUFBRVQscUJBQVMsQ0FBQ0MsTUFBTSxDQUFDQyxVQUFVO0VBQ2xDUSxNQUFNLEVBQUVWLHFCQUFTLENBQUNDLE1BQU0sQ0FBQ0M7QUFDM0IsQ0FBQyxDQUFDO0FBRUssSUFBTVMsU0FBUyxHQUFBYixPQUFBLENBQUFhLFNBQUEsR0FBR1gscUJBQVMsQ0FBQ00sS0FBSyxDQUFDO0VBQ3ZDTSxDQUFDLEVBQUVaLHFCQUFTLENBQUNDLE1BQU0sQ0FBQ0MsVUFBVTtFQUM5QlcsQ0FBQyxFQUFFYixxQkFBUyxDQUFDQyxNQUFNLENBQUNDO0FBQ3RCLENBQUMsQ0FBQztBQUVLLElBQU1ZLFlBQVksR0FBQWhCLE9BQUEsQ0FBQWdCLFlBQUEsR0FBR2QscUJBQVMsQ0FBQ2UsU0FBUyxDQUFDLENBQUNmLHFCQUFTLENBQUNnQixPQUFPLENBQUNoQixxQkFBUyxDQUFDaUIsSUFBSSxDQUFDLEVBQUVqQixxQkFBUyxDQUFDaUIsSUFBSSxDQUFDLENBQUMsQ0FBQ2YsVUFBVTtBQUV4RyxJQUFNZ0IsU0FBUyxHQUFBcEIsT0FBQSxDQUFBb0IsU0FBQSxHQUFHbEIscUJBQVMsQ0FBQ00sS0FBSyxDQUFDO0VBQ3ZDTSxDQUFDLEVBQUVaLHFCQUFTLENBQUNtQixJQUFJLENBQUNqQixVQUFVO0VBQzVCVyxDQUFDLEVBQUViLHFCQUFTLENBQUNtQixJQUFJLENBQUNqQjtBQUNwQixDQUFDLENBQUM7QUFFSyxJQUFNa0IsUUFBUSxHQUFBdEIsT0FBQSxDQUFBc0IsUUFBQSxHQUFHcEIscUJBQVMsQ0FBQ00sS0FBSyxDQUFDO0VBQ3RDTSxDQUFDLEVBQUVaLHFCQUFTLENBQUNtQixJQUFJLENBQUNqQixVQUFVO0VBQzVCVyxDQUFDLEVBQUViLHFCQUFTLENBQUNtQixJQUFJLENBQUNqQjtBQUNwQixDQUFDLENBQUM7QUFFSyxJQUFNbUIsY0FBYyxHQUFBdkIsT0FBQSxDQUFBdUIsY0FBQSxHQUFHckIscUJBQVMsQ0FBQ00sS0FBSyxDQUFDO0VBQzVDZ0IsS0FBSyxFQUFFSixTQUFTLENBQUNoQixVQUFVO0VBQzNCcUIsSUFBSSxFQUFFSCxRQUFRLENBQUNsQixVQUFVO0VBQ3pCc0IsTUFBTSxFQUFFbkIsVUFBVSxDQUFDSCxVQUFVO0VBQzdCdUIsS0FBSyxFQUFFbEIsU0FBUyxDQUFDTCxVQUFVO0VBQzNCd0IsSUFBSSxFQUFFbEIsUUFBUSxDQUFDTjtBQUNqQixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/lib/utils.js
CHANGED
|
@@ -165,4 +165,4 @@ var isEmptyObject = exports.isEmptyObject = function isEmptyObject(obj) {
|
|
|
165
165
|
var isEmptyString = exports.isEmptyString = function isEmptyString(str) {
|
|
166
166
|
return typeof str === 'string' && str.trim() === '';
|
|
167
167
|
};
|
|
168
|
-
//# sourceMappingURL=utils.js.map
|
|
168
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW52YXJpYW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmFuZ2UiLCJfcG9pbnRHZW9tZXRyeSIsIl9oZWFkIiwiX3RhaWwiLCJfaXNFcXVhbCIsInh5IiwiZXhwb3J0cyIsIngiLCJ5IiwiYnVpbGRTaXplQXJyYXkiLCJzaXplIiwicGFkZGluZyIsIk51bWJlciIsImlzRmluaXRlIiwiTWF0aCIsIm1heCIsImludmFyaWFudCIsImhhbGYiLCJyb3VuZCIsInRpY2tDb3VudCIsIm1pbiIsInN0ZXAiLCJhYnMiLCJnZXRJbnRlcnZhbCIsImRvbWFpbiIsInRpY2tzIiwibWFqb3IiLCJtaW5vciIsIkVycm9yIiwiY29uY2F0IiwiZGlzdGFuY2UiLCJtaW5vclRpY2tzIiwibm9ybWFsaXplZE1ham9yIiwiaXNOYU4iLCJkaXZpZGVyIiwicmF3IiwicGFyc2VGbG9hdCIsInRvRml4ZWQiLCJta1JhbmdlIiwiaW50ZXJ2YWwiLCJyYW5nZSIsInNwbGljZSIsImxlbmd0aCIsInNuYXBUbyIsInZhbHVlIiwicm5nIiwiZmlsdGVyIiwidiIsInJlZHVjZSIsInByZXYiLCJjdXJyIiwiY3VycmVudERpc3RhbmNlIiwicHJldmlvdXNEaXN0YW5jZSIsImJ1aWxkVGlja01vZGVsIiwic2NhbGVGbiIsIm1hcCIsInIiLCJpbmRleCIsImlzTWFqb3IiLCJwb2x5Z29uVG9BcmVhIiwicG9pbnRzIiwiaCIsImhlYWQiLCJhcmVhIiwibGVmdCIsInRvcCIsImJvdHRvbSIsInJpZ2h0IiwidGFpbCIsImEiLCJwIiwibGluZVRvQXJlYSIsImZyb20iLCJ0byIsImJvdW5kcyIsInBvaW50IiwibyIsIlBvaW50IiwiZ2V0RGVsdGEiLCJzdWIiLCJiYW5kS2V5IiwiZCIsImxhYmVsIiwiaXNEb21haW5SYW5nZUVxdWFsIiwiZ3JhcGhQcm9wcyIsIm5leHRHcmFwaFByb3BzIiwiaXNFcXVhbCIsImZpbmRMb25nZXN0V29yZCIsImxvbmdlc3RXb3JkIiwicmVwbGFjZSIsInNwbGl0Iiwic29ydCIsImIiLCJhbW91bnRUb0luY3JlYXNlV2lkdGgiLCJleHRyYWN0VGV4dEZyb21IVE1MIiwiaHRtbFN0cmluZyIsIl9kb2MkYm9keSIsInBhcnNlciIsIkRPTVBhcnNlciIsImRvYyIsInBhcnNlRnJvbVN0cmluZyIsImJvZHkiLCJ0ZXh0Q29udGVudCIsImlzRW1wdHlPYmplY3QiLCJvYmoiLCJPYmplY3QiLCJrZXlzIiwiY29uc3RydWN0b3IiLCJpc0VtcHR5U3RyaW5nIiwic3RyIiwidHJpbSJdLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW52YXJpYW50IGZyb20gJ2ludmFyaWFudCc7XG5pbXBvcnQgcmFuZ2UgZnJvbSAnbG9kYXNoL3JhbmdlJztcbmltcG9ydCBQb2ludCBmcm9tICdAbWFwYm94L3BvaW50LWdlb21ldHJ5JztcbmltcG9ydCBoZWFkIGZyb20gJ2xvZGFzaC9oZWFkJztcbmltcG9ydCB0YWlsIGZyb20gJ2xvZGFzaC90YWlsJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcblxuZXhwb3J0IGNvbnN0IHh5ID0gKHgsIHkpID0+ICh7IHgsIHkgfSk7XG5cbmV4cG9ydCBjb25zdCBidWlsZFNpemVBcnJheSA9IChzaXplLCBwYWRkaW5nKSA9PiB7XG4gIHBhZGRpbmcgPSBOdW1iZXIuaXNGaW5pdGUocGFkZGluZykgPyBNYXRoLm1heChwYWRkaW5nLCAwKSA6IDA7XG4gIGludmFyaWFudChwYWRkaW5nIDwgc2l6ZSwgJ3BhZGRpbmcgbXVzdCBiZSBsZXNzIHRoYW4gc2l6ZScpO1xuICBjb25zdCBoYWxmID0gTWF0aC5yb3VuZChwYWRkaW5nICogMC41KTtcbiAgcmV0dXJuIFtoYWxmLCBzaXplIC0gaGFsZl07XG59O1xuXG5leHBvcnQgY29uc3QgdGlja0NvdW50ID0gKG1pbiwgbWF4LCBzdGVwKSA9PiB7XG4gIGludmFyaWFudChtaW4gPCBtYXgsICdtaW4gbXVzdCBiZSBsZXNzIHRoYW4gbWF4Jyk7XG4gIGNvbnN0IHNpemUgPSBNYXRoLmFicyhtaW4gLSBtYXgpO1xuICByZXR1cm4gTWF0aC5yb3VuZChzaXplIC8gc3RlcCk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW50ZXJ2YWwoZG9tYWluLCB0aWNrcykge1xuICBjb25zdCB7IG1pbiwgbWF4IH0gPSBkb21haW47XG4gIGNvbnN0IHsgbWFqb3IsIG1pbm9yIH0gPSB0aWNrcztcblxuICBpZiAobWluID49IG1heCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgbWluIGlzID4gbWF4OiAke21pbn0gPiAke21heH1gKTtcbiAgfVxuXG4gIGNvbnN0IGRpc3RhbmNlID0gbWF4IC0gbWluO1xuICBjb25zdCBtaW5vclRpY2tzID0gbWlub3IgPiAwID8gbWlub3IgKyAxIDogMTtcbiAgY29uc3Qgbm9ybWFsaXplZE1ham9yID0gbWFqb3IgLSAxO1xuXG4gIGlmIChpc05hTihub3JtYWxpemVkTWFqb3IpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaWNrIEZyZXF1ZW5jeSBtdXN0IGJlIDIgb3IgaGlnaGVyJyk7XG4gIH1cblxuICBpZiAobm9ybWFsaXplZE1ham9yIDw9IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RpY2sgRnJlcXVlbmN5IG11c3QgYmUgMiBvciBoaWdoZXInKTtcbiAgfVxuXG4gIGNvbnN0IGRpdmlkZXIgPSBub3JtYWxpemVkTWFqb3IgKiBtaW5vclRpY2tzO1xuICBjb25zdCByYXcgPSBkaXN0YW5jZSAvIGRpdmlkZXI7XG4gIHJldHVybiBwYXJzZUZsb2F0KE51bWJlcihyYXcpLnRvRml4ZWQoNCkpO1xufVxuXG5jb25zdCBta1JhbmdlID0gKG1pbiwgbWF4LCBpbnRlcnZhbCkgPT4ge1xuICBjb25zdCByYXcgPSByYW5nZShtaW4sIG1heCwgaW50ZXJ2YWwpO1xuICAvKiBGaXggdGhlIGxhc3Qgc3RlcCBkdWUgdG8gcm91bmRpbmcgZXJyb3JzICovXG4gIHJhdy5zcGxpY2UocmF3Lmxlbmd0aCwgMSwgbWF4KTtcbiAgcmV0dXJuIHJhdztcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBzbmFwVG8obWluLCBtYXgsIGludGVydmFsLCB2YWx1ZSkge1xuICBpZiAodmFsdWUgPj0gbWF4KSB7XG4gICAgcmV0dXJuIG1heDtcbiAgfVxuXG4gIGlmICh2YWx1ZSA8PSBtaW4pIHtcbiAgICByZXR1cm4gbWluO1xuICB9XG5cbiAgbGV0IHJuZyA9IG1rUmFuZ2UobWluLCBtYXgsIGludGVydmFsKTtcblxuICBybmcgPSBybmcuZmlsdGVyKCh2KSA9PiB7XG4gICAgcmV0dXJuIE1hdGguYWJzKHZhbHVlIC0gdikgPD0gaW50ZXJ2YWw7XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgcm5nLmxlbmd0aCAmJlxuICAgIHJuZy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnREaXN0YW5jZSA9IE1hdGguYWJzKGN1cnIgLSB2YWx1ZSk7XG4gICAgICBjb25zdCBwcmV2aW91c0Rpc3RhbmNlID0gTWF0aC5hYnMocHJldiAtIHZhbHVlKTtcbiAgICAgIHJldHVybiBjdXJyZW50RGlzdGFuY2UgPD0gcHJldmlvdXNEaXN0YW5jZSA/IGN1cnIgOiBwcmV2O1xuICAgIH0pXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFRpY2tNb2RlbChkb21haW4sIHRpY2tzLCBpbnRlcnZhbCwgc2NhbGVGbikge1xuICBjb25zdCBybmcgPSBta1JhbmdlKGRvbWFpbi5taW4sIGRvbWFpbi5tYXgsIGludGVydmFsKTtcblxuICByZXR1cm4gcm5nLm1hcCgociwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBpc01ham9yID0gaW5kZXggJSAodGlja3MubWlub3IgKyAxKSA9PT0gMDtcblxuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogcixcbiAgICAgIG1ham9yOiBpc01ham9yLFxuICAgICAgeDogc2NhbGVGbihyKSxcbiAgICB9O1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IHBvbHlnb25Ub0FyZWEgPSAocG9pbnRzKSA9PiB7XG4gIGNvbnN0IGggPSBoZWFkKHBvaW50cyk7XG4gIGNvbnN0IGFyZWEgPSB7XG4gICAgbGVmdDogaC54LFxuICAgIHRvcDogaC55LFxuICAgIGJvdHRvbTogaC55LFxuICAgIHJpZ2h0OiBoLngsXG4gIH07XG4gIHJldHVybiB0YWlsKHBvaW50cykucmVkdWNlKChhLCBwKSA9PiB7XG4gICAgYS5sZWZ0ID0gTWF0aC5taW4oYS5sZWZ0LCBwLngpO1xuICAgIGEudG9wID0gTWF0aC5tYXgoYS50b3AsIHAueSk7XG4gICAgYS5ib3R0b20gPSBNYXRoLm1pbihhLmJvdHRvbSwgcC55KTtcbiAgICBhLnJpZ2h0ID0gTWF0aC5tYXgoYS5yaWdodCwgcC54KTtcbiAgICByZXR1cm4gYTtcbiAgfSwgYXJlYSk7XG59O1xuXG5leHBvcnQgY29uc3QgbGluZVRvQXJlYSA9IChmcm9tLCB0bykgPT4ge1xuICBjb25zdCBsZWZ0ID0gTWF0aC5taW4oZnJvbS54LCB0by54KTtcbiAgY29uc3QgdG9wID0gTWF0aC5tYXgoZnJvbS55LCB0by55KTtcbiAgY29uc3QgYm90dG9tID0gTWF0aC5taW4oZnJvbS55LCB0by55KTtcbiAgY29uc3QgcmlnaHQgPSBNYXRoLm1heChmcm9tLngsIHRvLngpO1xuICByZXR1cm4geyBsZWZ0LCB0b3AsIGJvdHRvbSwgcmlnaHQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBib3VuZHMgPSAoYXJlYSwgZG9tYWluLCByYW5nZSkgPT4ge1xuICByZXR1cm4ge1xuICAgIGxlZnQ6IGRvbWFpbi5taW4gLSBhcmVhLmxlZnQsXG4gICAgcmlnaHQ6IE1hdGguYWJzKGFyZWEucmlnaHQgLSBkb21haW4ubWF4KSxcbiAgICB0b3A6IE1hdGguYWJzKGFyZWEudG9wIC0gcmFuZ2UubWF4KSxcbiAgICBib3R0b206IHJhbmdlLm1pbiAtIGFyZWEuYm90dG9tLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50ID0gKG8pID0+IG5ldyBQb2ludChvLngsIG8ueSk7XG5leHBvcnQgY29uc3QgZ2V0RGVsdGEgPSAoZnJvbSwgdG8pID0+IHtcbiAgcmV0dXJuIHBvaW50KHRvKS5zdWIocG9pbnQoZnJvbSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGJhbmRLZXkgPSAoZCwgaW5kZXgpID0+IGAke2luZGV4fS0ke2QubGFiZWwgfHwgJy0nfWA7XG5cbmV4cG9ydCBjb25zdCBpc0RvbWFpblJhbmdlRXF1YWwgPSAoZ3JhcGhQcm9wcywgbmV4dEdyYXBoUHJvcHMpID0+IHtcbiAgcmV0dXJuIGlzRXF1YWwoZ3JhcGhQcm9wcy5kb21haW4sIG5leHRHcmFwaFByb3BzLmRvbWFpbikgJiYgaXNFcXVhbChncmFwaFByb3BzLnJhbmdlLCBuZXh0R3JhcGhQcm9wcy5yYW5nZSk7XG59O1xuXG4vLyBmaW5kTG9uZ2VzdFdvcmQgaXMgYWxzbyB1c2VkIGluIGdyYXBoaW5nXG5leHBvcnQgY29uc3QgZmluZExvbmdlc3RXb3JkID0gKGxhYmVsKSA9PiB7XG4gIGxldCBsb25nZXN0V29yZCA9IChsYWJlbCB8fCAnJylcbiAgICAucmVwbGFjZSgvPFtePl0rPi9nLCAnJylcbiAgICAuc3BsaXQoJyAnKVxuICAgIC5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKTtcblxuICByZXR1cm4gbG9uZ2VzdFdvcmRbMF0ubGVuZ3RoO1xufTtcblxuLy8gYW1vdW50VG9JbmNyZWFzZVdpZHRoIGlzIGFsc28gdXNlZCBpbiBncmFwaGluZ1xuZXhwb3J0IGNvbnN0IGFtb3VudFRvSW5jcmVhc2VXaWR0aCA9IChsb25nZXN0V29yZCkgPT4ge1xuICBpZiAoIWxvbmdlc3RXb3JkKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICByZXR1cm4gbG9uZ2VzdFdvcmQgKiAyMDtcbn07XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0VGV4dEZyb21IVE1MID0gKGh0bWxTdHJpbmcpID0+IHtcbiAgY29uc3QgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpO1xuICBjb25zdCBkb2MgPSBwYXJzZXI/LnBhcnNlRnJvbVN0cmluZyhodG1sU3RyaW5nLCAndGV4dC9odG1sJyk7XG4gIHJldHVybiBkb2M/LmJvZHk/LnRleHRDb250ZW50IHx8ICcnO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRW1wdHlPYmplY3QgPSAob2JqKSA9PiB7XG4gIHJldHVybiBvYmogJiYgT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPT09IDAgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBPYmplY3Q7XG59O1xuXG5leHBvcnQgY29uc3QgaXNFbXB0eVN0cmluZyA9IChzdHIpID0+IHtcbiAgcmV0dXJuIHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnICYmIHN0ci50cmltKCkgPT09ICcnO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGNBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUVPLElBQU1NLEVBQUUsR0FBQUMsT0FBQSxDQUFBRCxFQUFBLEdBQUcsU0FBTEEsRUFBRUEsQ0FBSUUsQ0FBQyxFQUFFQyxDQUFDO0VBQUEsT0FBTTtJQUFFRCxDQUFDLEVBQURBLENBQUM7SUFBRUMsQ0FBQyxFQUFEQTtFQUFFLENBQUM7QUFBQSxDQUFDO0FBRS9CLElBQU1DLGNBQWMsR0FBQUgsT0FBQSxDQUFBRyxjQUFBLEdBQUcsU0FBakJBLGNBQWNBLENBQUlDLElBQUksRUFBRUMsT0FBTyxFQUFLO0VBQy9DQSxPQUFPLEdBQUdDLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDRixPQUFPLENBQUMsR0FBR0csSUFBSSxDQUFDQyxHQUFHLENBQUNKLE9B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
|