@pie-lib/math-toolbar 1.12.0-beta.5 → 1.12.0-beta.6
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
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.12.0-beta.6](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@1.11.30...@pie-lib/math-toolbar@1.12.0-beta.6) (2025-07-25)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-lib/math-toolbar
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [1.12.0-beta.5](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@1.11.30...@pie-lib/math-toolbar@1.12.0-beta.5) (2025-07-25)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @pie-lib/math-toolbar
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
6
22
|
# [1.12.0-beta.5](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@1.11.30...@pie-lib/math-toolbar@1.12.0-beta.5) (2025-07-25)
|
|
7
23
|
|
|
8
24
|
**Note:** Version bump only for package @pie-lib/math-toolbar
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.12.0-beta.
|
|
6
|
+
"version": "1.12.0-beta.6",
|
|
7
7
|
"description": "Math toolbar for editing math equations",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"math",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@material-ui/core": "^3.8.3",
|
|
21
21
|
"@material-ui/icons": "^3.0.2",
|
|
22
|
-
"@pie-lib/math-input": "
|
|
23
|
-
"@pie-lib/render-ui": "
|
|
22
|
+
"@pie-lib/math-input": "beta",
|
|
23
|
+
"@pie-lib/render-ui": "beta",
|
|
24
24
|
"classnames": "^2.2.6",
|
|
25
25
|
"debug": "^4.1.1",
|
|
26
26
|
"keycode": "^2.2.0",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"react-dom": "^16.9.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@pie-lib/test-utils": "
|
|
35
|
+
"@pie-lib/test-utils": "beta"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {},
|
|
38
38
|
"gitHead": "e2aa3ddac60f49bcb8c2562370f496323642f453"
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
-
|
|
7
|
-
var _editorAndPad = require("../editor-and-pad");
|
|
8
|
-
|
|
9
|
-
var _enzyme = require("enzyme");
|
|
10
|
-
|
|
11
|
-
var _react = _interopRequireDefault(require("react"));
|
|
12
|
-
|
|
13
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
|
-
|
|
15
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
-
|
|
17
|
-
describe('snapshot', function () {
|
|
18
|
-
var wrapper;
|
|
19
|
-
var onBlur = jest.fn();
|
|
20
|
-
beforeAll(function () {
|
|
21
|
-
wrapper = function wrapper(extras) {
|
|
22
|
-
var defaults = {
|
|
23
|
-
classes: {},
|
|
24
|
-
classNames: {},
|
|
25
|
-
onBlur: onBlur
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
29
|
-
|
|
30
|
-
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_editorAndPad.EditorAndPad, props));
|
|
31
|
-
};
|
|
32
|
-
});
|
|
33
|
-
it('renders', function () {
|
|
34
|
-
expect(wrapper()).toMatchSnapshot();
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vZWRpdG9yLWFuZC1wYWQudGVzdC5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsIndyYXBwZXIiLCJvbkJsdXIiLCJqZXN0IiwiZm4iLCJiZWZvcmVBbGwiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWVzIiwicHJvcHMiLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekIsTUFBSUMsT0FBSjtBQUNBLE1BQUlDLE1BQU0sR0FBR0MsSUFBSSxDQUFDQyxFQUFMLEVBQWI7QUFFQUMsRUFBQUEsU0FBUyxDQUFDLFlBQU07QUFDZEosSUFBQUEsT0FBTyxHQUFHLGlCQUFDSyxNQUFELEVBQVk7QUFDcEIsVUFBTUMsUUFBUSxHQUFHO0FBQ2ZDLFFBQUFBLE9BQU8sRUFBRSxFQURNO0FBRWZDLFFBQUFBLFVBQVUsRUFBRSxFQUZHO0FBR2ZQLFFBQUFBLE1BQU0sRUFBTkE7QUFIZSxPQUFqQjs7QUFLQSxVQUFNUSxLQUFLLG1DQUFRSCxRQUFSLEdBQXFCRCxNQUFyQixDQUFYOztBQUVBLGFBQU8sbUNBQVEsZ0NBQUMsMEJBQUQsRUFBa0JJLEtBQWxCLENBQVIsQ0FBUDtBQUNELEtBVEQ7QUFVRCxHQVhRLENBQVQ7QUFhQUMsRUFBQUEsRUFBRSxDQUFDLFNBQUQsRUFBWSxZQUFNO0FBQ2xCQyxJQUFBQSxNQUFNLENBQUNYLE9BQU8sRUFBUixDQUFOLENBQWtCWSxlQUFsQjtBQUNELEdBRkMsQ0FBRjtBQUdELENBcEJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3JBbmRQYWQgfSBmcm9tICcuLi9lZGl0b3ItYW5kLXBhZCc7XG5pbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgbGV0IHdyYXBwZXI7XG4gIGxldCBvbkJsdXIgPSBqZXN0LmZuKCk7XG5cbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICB3cmFwcGVyID0gKGV4dHJhcykgPT4ge1xuICAgICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgICBjbGFzc05hbWVzOiB7fSxcbiAgICAgICAgb25CbHVyLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHByb3BzID0geyAuLi5kZWZhdWx0cywgLi4uZXh0cmFzIH07XG5cbiAgICAgIHJldHVybiBzaGFsbG93KDxFZGl0b3JBbmRQYWQgey4uLnByb3BzfSAvPik7XG4gICAgfTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHdyYXBwZXIoKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
-
|
|
7
|
-
var _index = require("../index");
|
|
8
|
-
|
|
9
|
-
var _enzyme = require("enzyme");
|
|
10
|
-
|
|
11
|
-
var _react = _interopRequireDefault(require("react"));
|
|
12
|
-
|
|
13
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
|
-
|
|
15
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
-
|
|
17
|
-
describe('snapshot', function () {
|
|
18
|
-
var wrapper;
|
|
19
|
-
beforeAll(function () {
|
|
20
|
-
wrapper = function wrapper(extras) {
|
|
21
|
-
var defaults = {
|
|
22
|
-
classes: {},
|
|
23
|
-
controlledKeypad: true,
|
|
24
|
-
showKeypad: true
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
28
|
-
|
|
29
|
-
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.RawPureToolbar, props));
|
|
30
|
-
};
|
|
31
|
-
});
|
|
32
|
-
it('renders with DONE button if hideDoneButton is not defined', function () {
|
|
33
|
-
expect(wrapper()).toMatchSnapshot();
|
|
34
|
-
});
|
|
35
|
-
it('renders without DONE button if hideDoneButton value is true', function () {
|
|
36
|
-
expect(wrapper({
|
|
37
|
-
hideDoneButton: true
|
|
38
|
-
})).toMatchSnapshot();
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsIndyYXBwZXIiLCJiZWZvcmVBbGwiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjb250cm9sbGVkS2V5cGFkIiwic2hvd0tleXBhZCIsInByb3BzIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJoaWRlRG9uZUJ1dHRvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekIsTUFBSUMsT0FBSjtBQUVBQyxFQUFBQSxTQUFTLENBQUMsWUFBTTtBQUNkRCxJQUFBQSxPQUFPLEdBQUcsaUJBQUNFLE1BQUQsRUFBWTtBQUNwQixVQUFNQyxRQUFRLEdBQUc7QUFDZkMsUUFBQUEsT0FBTyxFQUFFLEVBRE07QUFFZkMsUUFBQUEsZ0JBQWdCLEVBQUUsSUFGSDtBQUdmQyxRQUFBQSxVQUFVLEVBQUU7QUFIRyxPQUFqQjs7QUFLQSxVQUFNQyxLQUFLLG1DQUFRSixRQUFSLEdBQXFCRCxNQUFyQixDQUFYOztBQUVBLGFBQU8sbUNBQVEsZ0NBQUMscUJBQUQsRUFBb0JLLEtBQXBCLENBQVIsQ0FBUDtBQUNELEtBVEQ7QUFVRCxHQVhRLENBQVQ7QUFhQUMsRUFBQUEsRUFBRSxDQUFDLDJEQUFELEVBQThELFlBQU07QUFDcEVDLElBQUFBLE1BQU0sQ0FBQ1QsT0FBTyxFQUFSLENBQU4sQ0FBa0JVLGVBQWxCO0FBQ0QsR0FGQyxDQUFGO0FBSUFGLEVBQUFBLEVBQUUsQ0FBQyw2REFBRCxFQUFnRSxZQUFNO0FBQ3RFQyxJQUFBQSxNQUFNLENBQUNULE9BQU8sQ0FBQztBQUFFVyxNQUFBQSxjQUFjLEVBQUU7QUFBbEIsS0FBRCxDQUFSLENBQU4sQ0FBMENELGVBQTFDO0FBQ0QsR0FGQyxDQUFGO0FBR0QsQ0F2Qk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJhd1B1cmVUb29sYmFyIH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5kZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gIGxldCB3cmFwcGVyO1xuXG4gIGJlZm9yZUFsbCgoKSA9PiB7XG4gICAgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgICBjbGFzc2VzOiB7fSxcbiAgICAgICAgY29udHJvbGxlZEtleXBhZDogdHJ1ZSxcbiAgICAgICAgc2hvd0tleXBhZDogdHJ1ZSxcbiAgICAgIH07XG4gICAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuXG4gICAgICByZXR1cm4gc2hhbGxvdyg8UmF3UHVyZVRvb2xiYXIgey4uLnByb3BzfSAvPik7XG4gICAgfTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgd2l0aCBET05FIGJ1dHRvbiBpZiBoaWRlRG9uZUJ1dHRvbiBpcyBub3QgZGVmaW5lZCcsICgpID0+IHtcbiAgICBleHBlY3Qod3JhcHBlcigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgd2l0aG91dCBET05FIGJ1dHRvbiBpZiBoaWRlRG9uZUJ1dHRvbiB2YWx1ZSBpcyB0cnVlJywgKCkgPT4ge1xuICAgIGV4cGVjdCh3cmFwcGVyKHsgaGlkZURvbmVCdXR0b246IHRydWUgfSkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
-
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
|
|
9
|
-
var _enzyme = require("enzyme");
|
|
10
|
-
|
|
11
|
-
var _mathPreview = _interopRequireDefault(require("../math-preview"));
|
|
12
|
-
|
|
13
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
|
-
|
|
15
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
-
|
|
17
|
-
describe('snapshot', function () {
|
|
18
|
-
var wrapper;
|
|
19
|
-
beforeAll(function () {
|
|
20
|
-
wrapper = function wrapper(extras) {
|
|
21
|
-
var defaults = {
|
|
22
|
-
node: {
|
|
23
|
-
data: {
|
|
24
|
-
get: jest.fn().mockReturnValue('sqrt(5)')
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
classes: {},
|
|
28
|
-
isSelected: false,
|
|
29
|
-
onFocus: jest.fn(),
|
|
30
|
-
onBlur: jest.fn()
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
34
|
-
|
|
35
|
-
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_mathPreview["default"], props));
|
|
36
|
-
};
|
|
37
|
-
});
|
|
38
|
-
it('renders', function () {
|
|
39
|
-
expect(wrapper()).toMatchSnapshot();
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbWF0aC1wcmV2aWV3LnRlc3QuanMiXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJ3cmFwcGVyIiwiYmVmb3JlQWxsIiwiZXh0cmFzIiwiZGVmYXVsdHMiLCJub2RlIiwiZGF0YSIsImdldCIsImplc3QiLCJmbiIsIm1vY2tSZXR1cm5WYWx1ZSIsImNsYXNzZXMiLCJpc1NlbGVjdGVkIiwib25Gb2N1cyIsIm9uQmx1ciIsInByb3BzIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUVBOzs7Ozs7QUFFQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCLE1BQUlDLE9BQUo7QUFFQUMsRUFBQUEsU0FBUyxDQUFDLFlBQU07QUFDZEQsSUFBQUEsT0FBTyxHQUFHLGlCQUFDRSxNQUFELEVBQVk7QUFDcEIsVUFBTUMsUUFBUSxHQUFHO0FBQ2ZDLFFBQUFBLElBQUksRUFBRTtBQUNKQyxVQUFBQSxJQUFJLEVBQUU7QUFDSkMsWUFBQUEsR0FBRyxFQUFFQyxJQUFJLENBQUNDLEVBQUwsR0FBVUMsZUFBVixDQUEwQixTQUExQjtBQUREO0FBREYsU0FEUztBQU1mQyxRQUFBQSxPQUFPLEVBQUUsRUFOTTtBQU9mQyxRQUFBQSxVQUFVLEVBQUUsS0FQRztBQVFmQyxRQUFBQSxPQUFPLEVBQUVMLElBQUksQ0FBQ0MsRUFBTCxFQVJNO0FBU2ZLLFFBQUFBLE1BQU0sRUFBRU4sSUFBSSxDQUFDQyxFQUFMO0FBVE8sT0FBakI7O0FBV0EsVUFBTU0sS0FBSyxtQ0FBUVgsUUFBUixHQUFxQkQsTUFBckIsQ0FBWDs7QUFFQSxhQUFPLG1DQUFRLGdDQUFDLHVCQUFELEVBQWlCWSxLQUFqQixDQUFSLENBQVA7QUFDRCxLQWZEO0FBZ0JELEdBakJRLENBQVQ7QUFtQkFDLEVBQUFBLEVBQUUsQ0FBQyxTQUFELEVBQVksWUFBTTtBQUNsQkMsSUFBQUEsTUFBTSxDQUFDaEIsT0FBTyxFQUFSLENBQU4sQ0FBa0JpQixlQUFsQjtBQUNELEdBRkMsQ0FBRjtBQUdELENBekJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5cbmltcG9ydCBNYXRoUHJldmlldyBmcm9tICcuLi9tYXRoLXByZXZpZXcnO1xuXG5kZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gIGxldCB3cmFwcGVyO1xuXG4gIGJlZm9yZUFsbCgoKSA9PiB7XG4gICAgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgICBub2RlOiB7XG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgZ2V0OiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKCdzcXJ0KDUpJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3Nlczoge30sXG4gICAgICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICBvbkZvY3VzOiBqZXN0LmZuKCksXG4gICAgICAgIG9uQmx1cjogamVzdC5mbigpLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHByb3BzID0geyAuLi5kZWZhdWx0cywgLi4uZXh0cmFzIH07XG5cbiAgICAgIHJldHVybiBzaGFsbG93KDxNYXRoUHJldmlldyB7Li4ucHJvcHN9IC8+KTtcbiAgICB9O1xuICB9KTtcblxuICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICBleHBlY3Qod3JhcHBlcigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG59KTtcbiJdfQ==
|