@pie-lib/rubric 0.28.3-next.162 → 0.28.4-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 CHANGED
@@ -3,22 +3,6 @@
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.0.0-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/rubric@0.28.3-next.0...@pie-lib/rubric@1.0.0-next.0) (2026-01-19)
7
-
8
- **Note:** Version bump only for package @pie-lib/rubric
9
-
10
-
11
-
12
-
13
-
14
- ## [0.28.3-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/rubric@0.42.0-mui-update.0...@pie-lib/rubric@0.28.3-next.0) (2026-01-19)
15
-
16
- **Note:** Version bump only for package @pie-lib/rubric
17
-
18
-
19
-
20
-
21
-
22
6
  ## [0.28.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/rubric@0.28.1...@pie-lib/rubric@0.28.2) (2025-11-27)
23
7
 
24
8
  **Note:** Version bump only for package @pie-lib/rubric
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
5
+ var _react = require("@testing-library/react");
6
+ var _react2 = _interopRequireDefault(require("react"));
7
+ var _authoring = require("../authoring");
8
+ var _lodash = _interopRequireDefault(require("lodash"));
9
+ var _styles = require("@mui/material/styles");
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ // Mock dependencies
13
+ jest.mock('@pie-lib/editable-html', function () {
14
+ return function EditableHtml(props) {
15
+ return /*#__PURE__*/_react2["default"].createElement("div", {
16
+ "data-testid": "editable-html",
17
+ "data-markup": props.markup
18
+ });
19
+ };
20
+ });
21
+ jest.mock('@pie-lib/config-ui', function () {
22
+ return {
23
+ FeedbackConfig: function FeedbackConfig(_ref) {
24
+ var feedback = _ref.feedback;
25
+ return /*#__PURE__*/_react2["default"].createElement("div", {
26
+ "data-testid": "feedback-config"
27
+ }, JSON.stringify(feedback));
28
+ }
29
+ };
30
+ });
31
+ jest.mock('@hello-pangea/dnd', function () {
32
+ return {
33
+ DragDropContext: function DragDropContext(_ref2) {
34
+ var children = _ref2.children;
35
+ return /*#__PURE__*/_react2["default"].createElement("div", {
36
+ "data-testid": "drag-drop-context"
37
+ }, children);
38
+ },
39
+ Droppable: function Droppable(_ref3) {
40
+ var children = _ref3.children;
41
+ return children({
42
+ droppableProps: {},
43
+ innerRef: function innerRef() {}
44
+ }, {});
45
+ },
46
+ Draggable: function Draggable(_ref4) {
47
+ var children = _ref4.children,
48
+ index = _ref4.index;
49
+ return children({
50
+ innerRef: function innerRef() {},
51
+ draggableProps: {
52
+ 'data-draggable-index': index
53
+ },
54
+ dragHandleProps: {}
55
+ }, {});
56
+ }
57
+ };
58
+ });
59
+ describe('Rubric', function () {
60
+ var points = ['nothing right', 'a teeny bit right', 'mostly right', 'bingo'];
61
+ var sampleAnswers = [null, 'just right', 'not left', null];
62
+ var theme = (0, _styles.createTheme)();
63
+ var renderComponent = function renderComponent() {
64
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
65
+ var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
66
+ var defaultProps = _objectSpread({
67
+ classes: {},
68
+ onChange: jest.fn(),
69
+ className: 'className',
70
+ value: _objectSpread({
71
+ excludeZero: false,
72
+ points: points,
73
+ sampleAnswers: sampleAnswers
74
+ }, value)
75
+ }, props);
76
+ return _objectSpread(_objectSpread({}, (0, _react.render)(/*#__PURE__*/_react2["default"].createElement(_styles.ThemeProvider, {
77
+ theme: theme
78
+ }, /*#__PURE__*/_react2["default"].createElement(_authoring.RawAuthoring, defaultProps)))), {}, {
79
+ onChange: defaultProps.onChange,
80
+ props: defaultProps
81
+ });
82
+ };
83
+ describe('render', function () {
84
+ it('renders rubric title and main structure', function () {
85
+ renderComponent();
86
+ expect(_react.screen.getByText('Rubric')).toBeInTheDocument();
87
+ expect(_react.screen.getByLabelText('Max Points')).toBeInTheDocument();
88
+ expect(_react.screen.getByLabelText('Exclude zeros')).toBeInTheDocument();
89
+ });
90
+ it('renders all point configurations', function () {
91
+ var _renderComponent = renderComponent(),
92
+ container = _renderComponent.container;
93
+ // Verify DragDropContext is rendered
94
+ expect(container.querySelector('[data-testid="drag-drop-context"]')).toBeInTheDocument();
95
+
96
+ // Check that point labels are rendered (4 points = "3 pts", "2 pts", "1 pt", "0 pt")
97
+ // Note: The PointConfig component uses singular "pt" for 0 and 1, plural "pts" for 2+
98
+ expect(_react.screen.getByText('3 pts')).toBeInTheDocument();
99
+ expect(_react.screen.getByText('2 pts')).toBeInTheDocument();
100
+ expect(_react.screen.getByText('1 pt')).toBeInTheDocument();
101
+ expect(_react.screen.getByText('0 pt')).toBeInTheDocument();
102
+ });
103
+ describe('draggable', function () {
104
+ it('renders 3 draggable items when excludeZero is true', function () {
105
+ var _renderComponent2 = renderComponent({
106
+ excludeZero: true
107
+ }),
108
+ container = _renderComponent2.container;
109
+
110
+ // When excludeZero is true, the last point (0 pts) should not be rendered
111
+ // So we should have 3 draggable items
112
+ var draggableItems = container.querySelectorAll('[data-draggable-index]');
113
+ expect(draggableItems.length).toEqual(3);
114
+
115
+ // Verify the 0 pt label is not rendered
116
+ expect(_react.screen.queryByText('0 pt')).not.toBeInTheDocument();
117
+ });
118
+ it('renders 4 draggable items when excludeZero is false', function () {
119
+ var _renderComponent3 = renderComponent({
120
+ excludeZero: false
121
+ }),
122
+ container = _renderComponent3.container;
123
+
124
+ // When excludeZero is false, all points including 0 should be rendered
125
+ var draggableItems = container.querySelectorAll('[data-draggable-index]');
126
+ expect(draggableItems.length).toEqual(4);
127
+
128
+ // Verify all point labels are rendered
129
+ expect(_react.screen.getByText('3 pts')).toBeInTheDocument();
130
+ expect(_react.screen.getByText('2 pts')).toBeInTheDocument();
131
+ expect(_react.screen.getByText('1 pt')).toBeInTheDocument();
132
+ expect(_react.screen.getByText('0 pt')).toBeInTheDocument();
133
+ });
134
+ });
135
+ });
136
+ describe('logic', function () {
137
+ describe('changeMaxPoints', function () {
138
+ var testChangeMaxPoints = function testChangeMaxPoints(maxPoints, excludeZero, expectedPoints, expectedSampleAnswers) {
139
+ it("maxPoints=".concat(maxPoints, ", excludeZero=").concat(excludeZero, " calls onChange correctly"), function () {
140
+ var _container$querySelec;
141
+ var _renderComponent4 = renderComponent({
142
+ excludeZero: excludeZero
143
+ }),
144
+ onChange = _renderComponent4.onChange,
145
+ container = _renderComponent4.container;
146
+
147
+ // Get the component instance through the container
148
+ // We need to call the method directly since we're testing internal behavior
149
+ var instance = (_container$querySelec = container.querySelector('[class*="MuiBox-root"]')) === null || _container$querySelec === void 0 ? void 0 : _container$querySelec._owner;
150
+
151
+ // Since we can't easily access instance methods in RTL, we'll test the behavior
152
+ // by verifying the onChange prop receives the correct values
153
+ // For now, we'll directly test the logic
154
+ var component = new _authoring.RawAuthoring({
155
+ value: {
156
+ excludeZero: excludeZero,
157
+ points: points,
158
+ sampleAnswers: sampleAnswers
159
+ },
160
+ onChange: onChange,
161
+ classes: {},
162
+ className: 'className'
163
+ });
164
+ component.changeMaxPoints(maxPoints);
165
+ expect(onChange).toHaveBeenCalledWith({
166
+ excludeZero: excludeZero,
167
+ points: expectedPoints,
168
+ sampleAnswers: expectedSampleAnswers,
169
+ maxPoints: expectedPoints.length - 1
170
+ });
171
+ });
172
+ };
173
+ testChangeMaxPoints(1, false, _lodash["default"].takeRight(points, 2), _lodash["default"].takeRight(sampleAnswers, 2));
174
+ testChangeMaxPoints(1, true, _lodash["default"].takeRight(points, 2), _lodash["default"].takeRight(sampleAnswers, 2));
175
+ testChangeMaxPoints(2, true, _lodash["default"].takeRight(points, 3), _lodash["default"].takeRight(sampleAnswers, 3));
176
+ testChangeMaxPoints(2, false, _lodash["default"].takeRight(points, 3), _lodash["default"].takeRight(sampleAnswers, 3));
177
+ testChangeMaxPoints(5, false, ['', ''].concat(points), [null, null].concat(sampleAnswers));
178
+ });
179
+ describe('changeSampleResponse', function () {
180
+ var testChangeSampleResponse = function testChangeSampleResponse(index, clickedItem, excludeZero, expectedPoints, expectedSampleAnswers) {
181
+ it("Point ".concat(index, " with clickedItem=\"").concat(clickedItem, "\" calls onChange correctly"), function () {
182
+ var _renderComponent5 = renderComponent({
183
+ excludeZero: excludeZero
184
+ }),
185
+ onChange = _renderComponent5.onChange;
186
+
187
+ // Test the logic by creating a component instance and calling the method
188
+ var component = new _authoring.RawAuthoring({
189
+ value: {
190
+ excludeZero: excludeZero,
191
+ points: points,
192
+ sampleAnswers: sampleAnswers
193
+ },
194
+ onChange: onChange,
195
+ classes: {},
196
+ className: 'className'
197
+ });
198
+ component.onPointMenuChange(index, clickedItem);
199
+ expect(onChange).toHaveBeenCalledWith({
200
+ excludeZero: excludeZero,
201
+ points: expectedPoints,
202
+ sampleAnswers: expectedSampleAnswers
203
+ });
204
+ });
205
+ };
206
+ testChangeSampleResponse(0, 'sample', false, points, ['', 'just right', 'not left', null]);
207
+ testChangeSampleResponse(3, 'sample', false, points, [null, 'just right', 'not left', '']);
208
+ testChangeSampleResponse(1, 'sample', true, points, [null, null, 'not left', null]);
209
+ testChangeSampleResponse(3, 'sample', true, points, [null, 'just right', 'not left', '']);
210
+ });
211
+ });
212
+ });
213
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlYWN0MiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfYXV0aG9yaW5nIiwiX2xvZGFzaCIsIl9zdHlsZXMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsImplc3QiLCJtb2NrIiwiRWRpdGFibGVIdG1sIiwicHJvcHMiLCJjcmVhdGVFbGVtZW50IiwibWFya3VwIiwiRmVlZGJhY2tDb25maWciLCJfcmVmIiwiZmVlZGJhY2siLCJKU09OIiwic3RyaW5naWZ5IiwiRHJhZ0Ryb3BDb250ZXh0IiwiX3JlZjIiLCJjaGlsZHJlbiIsIkRyb3BwYWJsZSIsIl9yZWYzIiwiZHJvcHBhYmxlUHJvcHMiLCJpbm5lclJlZiIsIkRyYWdnYWJsZSIsIl9yZWY0IiwiaW5kZXgiLCJkcmFnZ2FibGVQcm9wcyIsImRyYWdIYW5kbGVQcm9wcyIsImRlc2NyaWJlIiwicG9pbnRzIiwic2FtcGxlQW5zd2VycyIsInRoZW1lIiwiY3JlYXRlVGhlbWUiLCJyZW5kZXJDb21wb25lbnQiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsImRlZmF1bHRQcm9wcyIsImNsYXNzZXMiLCJvbkNoYW5nZSIsImZuIiwiY2xhc3NOYW1lIiwiZXhjbHVkZVplcm8iLCJyZW5kZXIiLCJUaGVtZVByb3ZpZGVyIiwiUmF3QXV0aG9yaW5nIiwiaXQiLCJleHBlY3QiLCJzY3JlZW4iLCJnZXRCeVRleHQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsImdldEJ5TGFiZWxUZXh0IiwiX3JlbmRlckNvbXBvbmVudCIsImNvbnRhaW5lciIsInF1ZXJ5U2VsZWN0b3IiLCJfcmVuZGVyQ29tcG9uZW50MiIsImRyYWdnYWJsZUl0ZW1zIiwicXVlcnlTZWxlY3RvckFsbCIsInRvRXF1YWwiLCJxdWVyeUJ5VGV4dCIsIm5vdCIsIl9yZW5kZXJDb21wb25lbnQzIiwidGVzdENoYW5nZU1heFBvaW50cyIsIm1heFBvaW50cyIsImV4cGVjdGVkUG9pbnRzIiwiZXhwZWN0ZWRTYW1wbGVBbnN3ZXJzIiwiY29uY2F0IiwiX2NvbnRhaW5lciRxdWVyeVNlbGVjIiwiX3JlbmRlckNvbXBvbmVudDQiLCJpbnN0YW5jZSIsIl9vd25lciIsImNvbXBvbmVudCIsImNoYW5nZU1heFBvaW50cyIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwiXyIsInRha2VSaWdodCIsInRlc3RDaGFuZ2VTYW1wbGVSZXNwb25zZSIsImNsaWNrZWRJdGVtIiwiX3JlbmRlckNvbXBvbmVudDUiLCJvblBvaW50TWVudUNoYW5nZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vcnVicmljLnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc2NyZWVuIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUmF3QXV0aG9yaW5nIH0gZnJvbSAnLi4vYXV0aG9yaW5nJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBUaGVtZVByb3ZpZGVyLCBjcmVhdGVUaGVtZSB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcblxuLy8gTW9jayBkZXBlbmRlbmNpZXNcbmplc3QubW9jaygnQHBpZS1saWIvZWRpdGFibGUtaHRtbCcsICgpID0+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIEVkaXRhYmxlSHRtbChwcm9wcykge1xuICAgIHJldHVybiA8ZGl2IGRhdGEtdGVzdGlkPVwiZWRpdGFibGUtaHRtbFwiIGRhdGEtbWFya3VwPXtwcm9wcy5tYXJrdXB9IC8+O1xuICB9O1xufSk7XG5cbmplc3QubW9jaygnQHBpZS1saWIvY29uZmlnLXVpJywgKCkgPT4gKHtcbiAgRmVlZGJhY2tDb25maWc6ICh7IGZlZWRiYWNrIH0pID0+IDxkaXYgZGF0YS10ZXN0aWQ9XCJmZWVkYmFjay1jb25maWdcIj57SlNPTi5zdHJpbmdpZnkoZmVlZGJhY2spfTwvZGl2Pixcbn0pKTtcblxuamVzdC5tb2NrKCdAaGVsbG8tcGFuZ2VhL2RuZCcsICgpID0+ICh7XG4gIERyYWdEcm9wQ29udGV4dDogKHsgY2hpbGRyZW4gfSkgPT4gPGRpdiBkYXRhLXRlc3RpZD1cImRyYWctZHJvcC1jb250ZXh0XCI+e2NoaWxkcmVufTwvZGl2PixcbiAgRHJvcHBhYmxlOiAoeyBjaGlsZHJlbiB9KSA9PiBjaGlsZHJlbih7IGRyb3BwYWJsZVByb3BzOiB7fSwgaW5uZXJSZWY6ICgpID0+IHt9IH0sIHt9KSxcbiAgRHJhZ2dhYmxlOiAoeyBjaGlsZHJlbiwgaW5kZXggfSkgPT5cbiAgICBjaGlsZHJlbihcbiAgICAgIHtcbiAgICAgICAgaW5uZXJSZWY6ICgpID0+IHt9LFxuICAgICAgICBkcmFnZ2FibGVQcm9wczogeyAnZGF0YS1kcmFnZ2FibGUtaW5kZXgnOiBpbmRleCB9LFxuICAgICAgICBkcmFnSGFuZGxlUHJvcHM6IHt9XG4gICAgICB9LFxuICAgICAge31cbiAgICApLFxufSkpO1xuXG5kZXNjcmliZSgnUnVicmljJywgKCkgPT4ge1xuICBjb25zdCBwb2ludHMgPSBbJ25vdGhpbmcgcmlnaHQnLCAnYSB0ZWVueSBiaXQgcmlnaHQnLCAnbW9zdGx5IHJpZ2h0JywgJ2JpbmdvJ107XG4gIGNvbnN0IHNhbXBsZUFuc3dlcnMgPSBbbnVsbCwgJ2p1c3QgcmlnaHQnLCAnbm90IGxlZnQnLCBudWxsXTtcbiAgY29uc3QgdGhlbWUgPSBjcmVhdGVUaGVtZSgpO1xuXG4gIGNvbnN0IHJlbmRlckNvbXBvbmVudCA9ICh2YWx1ZSA9IHt9LCBwcm9wcyA9IHt9KSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBvbkNoYW5nZTogamVzdC5mbigpLFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIGV4Y2x1ZGVaZXJvOiBmYWxzZSxcbiAgICAgICAgcG9pbnRzLFxuICAgICAgICBzYW1wbGVBbnN3ZXJzLFxuICAgICAgICAuLi52YWx1ZSxcbiAgICAgIH0sXG4gICAgICAuLi5wcm9wcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlbmRlcihcbiAgICAgICAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3RoZW1lfT5cbiAgICAgICAgICA8UmF3QXV0aG9yaW5nIHsuLi5kZWZhdWx0UHJvcHN9IC8+XG4gICAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICAgICksXG4gICAgICBvbkNoYW5nZTogZGVmYXVsdFByb3BzLm9uQ2hhbmdlLFxuICAgICAgcHJvcHM6IGRlZmF1bHRQcm9wcyxcbiAgICB9O1xuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXInLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgcnVicmljIHRpdGxlIGFuZCBtYWluIHN0cnVjdHVyZScsICgpID0+IHtcbiAgICAgIHJlbmRlckNvbXBvbmVudCgpO1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ1J1YnJpYycpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeUxhYmVsVGV4dCgnTWF4IFBvaW50cycpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeUxhYmVsVGV4dCgnRXhjbHVkZSB6ZXJvcycpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgYWxsIHBvaW50IGNvbmZpZ3VyYXRpb25zJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCgpO1xuICAgICAgLy8gVmVyaWZ5IERyYWdEcm9wQ29udGV4dCBpcyByZW5kZXJlZFxuICAgICAgZXhwZWN0KGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdbZGF0YS10ZXN0aWQ9XCJkcmFnLWRyb3AtY29udGV4dFwiXScpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuXG4gICAgICAvLyBDaGVjayB0aGF0IHBvaW50IGxhYmVscyBhcmUgcmVuZGVyZWQgKDQgcG9pbnRzID0gXCIzIHB0c1wiLCBcIjIgcHRzXCIsIFwiMSBwdFwiLCBcIjAgcHRcIilcbiAgICAgIC8vIE5vdGU6IFRoZSBQb2ludENvbmZpZyBjb21wb25lbnQgdXNlcyBzaW5ndWxhciBcInB0XCIgZm9yIDAgYW5kIDEsIHBsdXJhbCBcInB0c1wiIGZvciAyK1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJzMgcHRzJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnMiBwdHMnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCcxIHB0JykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnMCBwdCcpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2RyYWdnYWJsZScsICgpID0+IHtcbiAgICAgIGl0KCdyZW5kZXJzIDMgZHJhZ2dhYmxlIGl0ZW1zIHdoZW4gZXhjbHVkZVplcm8gaXMgdHJ1ZScsICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCh7IGV4Y2x1ZGVaZXJvOiB0cnVlIH0pO1xuXG4gICAgICAgIC8vIFdoZW4gZXhjbHVkZVplcm8gaXMgdHJ1ZSwgdGhlIGxhc3QgcG9pbnQgKDAgcHRzKSBzaG91bGQgbm90IGJlIHJlbmRlcmVkXG4gICAgICAgIC8vIFNvIHdlIHNob3VsZCBoYXZlIDMgZHJhZ2dhYmxlIGl0ZW1zXG4gICAgICAgIGNvbnN0IGRyYWdnYWJsZUl0ZW1zID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLWRyYWdnYWJsZS1pbmRleF0nKTtcbiAgICAgICAgZXhwZWN0KGRyYWdnYWJsZUl0ZW1zLmxlbmd0aCkudG9FcXVhbCgzKTtcblxuICAgICAgICAvLyBWZXJpZnkgdGhlIDAgcHQgbGFiZWwgaXMgbm90IHJlbmRlcmVkXG4gICAgICAgIGV4cGVjdChzY3JlZW4ucXVlcnlCeVRleHQoJzAgcHQnKSkubm90LnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3JlbmRlcnMgNCBkcmFnZ2FibGUgaXRlbXMgd2hlbiBleGNsdWRlWmVybyBpcyBmYWxzZScsICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCh7IGV4Y2x1ZGVaZXJvOiBmYWxzZSB9KTtcblxuICAgICAgICAvLyBXaGVuIGV4Y2x1ZGVaZXJvIGlzIGZhbHNlLCBhbGwgcG9pbnRzIGluY2x1ZGluZyAwIHNob3VsZCBiZSByZW5kZXJlZFxuICAgICAgICBjb25zdCBkcmFnZ2FibGVJdGVtcyA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1kcmFnZ2FibGUtaW5kZXhdJyk7XG4gICAgICAgIGV4cGVjdChkcmFnZ2FibGVJdGVtcy5sZW5ndGgpLnRvRXF1YWwoNCk7XG5cbiAgICAgICAgLy8gVmVyaWZ5IGFsbCBwb2ludCBsYWJlbHMgYXJlIHJlbmRlcmVkXG4gICAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCczIHB0cycpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnMiBwdHMnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJzEgcHQnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJzAgcHQnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9naWMnLCAoKSA9PiB7XG4gICAgZGVzY3JpYmUoJ2NoYW5nZU1heFBvaW50cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHRlc3RDaGFuZ2VNYXhQb2ludHMgPSAobWF4UG9pbnRzLCBleGNsdWRlWmVybywgZXhwZWN0ZWRQb2ludHMsIGV4cGVjdGVkU2FtcGxlQW5zd2VycykgPT4ge1xuICAgICAgICBpdChgbWF4UG9pbnRzPSR7bWF4UG9pbnRzfSwgZXhjbHVkZVplcm89JHtleGNsdWRlWmVyb30gY2FsbHMgb25DaGFuZ2UgY29ycmVjdGx5YCwgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgb25DaGFuZ2UsIGNvbnRhaW5lciB9ID0gcmVuZGVyQ29tcG9uZW50KHsgZXhjbHVkZVplcm8gfSk7XG5cbiAgICAgICAgICAvLyBHZXQgdGhlIGNvbXBvbmVudCBpbnN0YW5jZSB0aHJvdWdoIHRoZSBjb250YWluZXJcbiAgICAgICAgICAvLyBXZSBuZWVkIHRvIGNhbGwgdGhlIG1ldGhvZCBkaXJlY3RseSBzaW5jZSB3ZSdyZSB0ZXN0aW5nIGludGVybmFsIGJlaGF2aW9yXG4gICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignW2NsYXNzKj1cIk11aUJveC1yb290XCJdJyk/Ll9vd25lcjtcblxuICAgICAgICAgIC8vIFNpbmNlIHdlIGNhbid0IGVhc2lseSBhY2Nlc3MgaW5zdGFuY2UgbWV0aG9kcyBpbiBSVEwsIHdlJ2xsIHRlc3QgdGhlIGJlaGF2aW9yXG4gICAgICAgICAgLy8gYnkgdmVyaWZ5aW5nIHRoZSBvbkNoYW5nZSBwcm9wIHJlY2VpdmVzIHRoZSBjb3JyZWN0IHZhbHVlc1xuICAgICAgICAgIC8vIEZvciBub3csIHdlJ2xsIGRpcmVjdGx5IHRlc3QgdGhlIGxvZ2ljXG4gICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gbmV3IFJhd0F1dGhvcmluZyh7XG4gICAgICAgICAgICB2YWx1ZTogeyBleGNsdWRlWmVybywgcG9pbnRzLCBzYW1wbGVBbnN3ZXJzIH0sXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJ1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgY29tcG9uZW50LmNoYW5nZU1heFBvaW50cyhtYXhQb2ludHMpO1xuXG4gICAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICAgICAgICBleGNsdWRlWmVybyxcbiAgICAgICAgICAgIHBvaW50czogZXhwZWN0ZWRQb2ludHMsXG4gICAgICAgICAgICBzYW1wbGVBbnN3ZXJzOiBleHBlY3RlZFNhbXBsZUFuc3dlcnMsXG4gICAgICAgICAgICBtYXhQb2ludHM6IGV4cGVjdGVkUG9pbnRzLmxlbmd0aCAtIDEsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcblxuICAgICAgdGVzdENoYW5nZU1heFBvaW50cygxLCBmYWxzZSwgXy50YWtlUmlnaHQocG9pbnRzLCAyKSwgXy50YWtlUmlnaHQoc2FtcGxlQW5zd2VycywgMikpO1xuICAgICAgdGVzdENoYW5nZU1heFBvaW50cygxLCB0cnVlLCBfLnRha2VSaWdodChwb2ludHMsIDIpLCBfLnRha2VSaWdodChzYW1wbGVBbnN3ZXJzLCAyKSk7XG4gICAgICB0ZXN0Q2hhbmdlTWF4UG9pbnRzKDIsIHRydWUsIF8udGFrZVJpZ2h0KHBvaW50cywgMyksIF8udGFrZVJpZ2h0KHNhbXBsZUFuc3dlcnMsIDMpKTtcbiAgICAgIHRlc3RDaGFuZ2VNYXhQb2ludHMoMiwgZmFsc2UsIF8udGFrZVJpZ2h0KHBvaW50cywgMyksIF8udGFrZVJpZ2h0KHNhbXBsZUFuc3dlcnMsIDMpKTtcbiAgICAgIHRlc3RDaGFuZ2VNYXhQb2ludHMoNSwgZmFsc2UsIFsnJywgJyddLmNvbmNhdChwb2ludHMpLCBbbnVsbCwgbnVsbF0uY29uY2F0KHNhbXBsZUFuc3dlcnMpKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdjaGFuZ2VTYW1wbGVSZXNwb25zZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHRlc3RDaGFuZ2VTYW1wbGVSZXNwb25zZSA9IChpbmRleCwgY2xpY2tlZEl0ZW0sIGV4Y2x1ZGVaZXJvLCBleHBlY3RlZFBvaW50cywgZXhwZWN0ZWRTYW1wbGVBbnN3ZXJzKSA9PiB7XG4gICAgICAgIGl0KGBQb2ludCAke2luZGV4fSB3aXRoIGNsaWNrZWRJdGVtPVwiJHtjbGlja2VkSXRlbX1cIiBjYWxscyBvbkNoYW5nZSBjb3JyZWN0bHlgLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gcmVuZGVyQ29tcG9uZW50KHsgZXhjbHVkZVplcm8gfSk7XG5cbiAgICAgICAgICAvLyBUZXN0IHRoZSBsb2dpYyBieSBjcmVhdGluZyBhIGNvbXBvbmVudCBpbnN0YW5jZSBhbmQgY2FsbGluZyB0aGUgbWV0aG9kXG4gICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gbmV3IFJhd0F1dGhvcmluZyh7XG4gICAgICAgICAgICB2YWx1ZTogeyBleGNsdWRlWmVybywgcG9pbnRzLCBzYW1wbGVBbnN3ZXJzIH0sXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJ1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgY29tcG9uZW50Lm9uUG9pbnRNZW51Q2hhbmdlKGluZGV4LCBjbGlja2VkSXRlbSk7XG5cbiAgICAgICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHtcbiAgICAgICAgICAgIGV4Y2x1ZGVaZXJvLFxuICAgICAgICAgICAgcG9pbnRzOiBleHBlY3RlZFBvaW50cyxcbiAgICAgICAgICAgIHNhbXBsZUFuc3dlcnM6IGV4cGVjdGVkU2FtcGxlQW5zd2VycyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuXG4gICAgICB0ZXN0Q2hhbmdlU2FtcGxlUmVzcG9uc2UoMCwgJ3NhbXBsZScsIGZhbHNlLCBwb2ludHMsIFsnJywgJ2p1c3QgcmlnaHQnLCAnbm90IGxlZnQnLCBudWxsXSk7XG4gICAgICB0ZXN0Q2hhbmdlU2FtcGxlUmVzcG9uc2UoMywgJ3NhbXBsZScsIGZhbHNlLCBwb2ludHMsIFtudWxsLCAnanVzdCByaWdodCcsICdub3QgbGVmdCcsICcnXSk7XG4gICAgICB0ZXN0Q2hhbmdlU2FtcGxlUmVzcG9uc2UoMSwgJ3NhbXBsZScsIHRydWUsIHBvaW50cywgW251bGwsIG51bGwsICdub3QgbGVmdCcsIG51bGxdKTtcbiAgICAgIHRlc3RDaGFuZ2VTYW1wbGVSZXNwb25zZSgzLCAnc2FtcGxlJywgdHJ1ZSwgcG9pbnRzLCBbbnVsbCwgJ2p1c3QgcmlnaHQnLCAnbm90IGxlZnQnLCAnJ10pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBQWtFLFNBQUFNLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FB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
package/lib/authoring.js CHANGED
@@ -490,4 +490,4 @@ Reverse.propTypes = {
490
490
  onChange: _propTypes["default"].func
491
491
  };
492
492
  var _default = exports["default"] = Reverse;
493
- //# sourceMappingURL=authoring.js.map
493
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfc3R5bGVzIiwiX0lucHV0TGFiZWwiLCJfT3V0bGluZWRJbnB1dCIsIl9TZWxlY3QiLCJfRm9ybUNvbnRyb2wiLCJfTWVudUl0ZW0iLCJfdGltZXMiLCJfQ2hlY2tib3giLCJfRm9ybUdyb3VwIiwiX0Zvcm1Db250cm9sTGFiZWwiLCJfVHlwb2dyYXBoeSIsIl9EcmFnSW5kaWNhdG9yIiwiX2RuZCIsIl9kZWJ1ZyIsIl90YWtlUmlnaHQiLCJfcG9pbnRNZW51IiwiX3JhbmdlIiwiX2VkaXRhYmxlSHRtbCIsIl9jb25maWdVaSIsIl9jb2xvcnMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiY2FsbCIsImxvZyIsImRlYnVnIiwicmVvcmRlciIsImxpc3QiLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJyZXN1bHQiLCJBcnJheSIsImZyb20iLCJfcmVzdWx0JHNwbGljZSIsInNwbGljZSIsIl9yZXN1bHQkc3BsaWNlMiIsIl9zbGljZWRUb0FycmF5MiIsInJlbW92ZWQiLCJSdWJyaWNUeXBlIiwiZXhwb3J0cyIsIlByb3BUeXBlcyIsInNoYXBlIiwiZXhjbHVkZVplcm8iLCJib29sIiwicG9pbnRzIiwiYXJyYXlPZiIsInN0cmluZyIsInNhbXBsZUFuc3dlcnMiLCJtYXhQb2ludHMiLCJudW1iZXIiLCJydWJyaWNsZXNzSW5zdHJ1Y3Rpb24iLCJNYXhQb2ludHMiLCJwcm9wcyIsInZhbHVlIiwib25DaGFuZ2UiLCJtYXgiLCJsYWJlbElkIiwiY3JlYXRlRWxlbWVudCIsInN4IiwibWluV2lkdGgiLCJtIiwidmFyaWFudCIsImlkIiwibGFiZWwiLCJ0YXJnZXQiLCJpbnB1dCIsIk1lbnVQcm9wcyIsInRyYW5zaXRpb25EdXJhdGlvbiIsImVudGVyIiwiZXhpdCIsInJhbmdlIiwibWFwIiwidiIsImtleSIsImNvbmNhdCIsImNoZWNrU2FtcGxlQW5zd2VyIiwic2FtcGxlQW5zd2VyIiwiUm93Iiwic3R5bGVkIiwiZGlzcGxheSIsIndpZHRoIiwicG9zaXRpb24iLCJFZGl0b3JEaXYiLCJfcmVmIiwidGhlbWUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJwYWxldHRlIiwiY29tbW9uIiwid2hpdGUiLCJEcmFnSW5kaWNhdG9yU3R5bGVkIiwiRHJhZ0luZGljYXRvciIsIl9yZWYyIiwicGFkZGluZ1RvcCIsInNwYWNpbmciLCJjb2xvciIsImdyZXkiLCJQb2ludHNMYWJlbCIsIlR5cG9ncmFwaHkiLCJfcmVmMyIsInBhZGRpbmdCb3R0b20iLCJ0ZXh0VHJhbnNmb3JtIiwiU2FtcGxlQW5zd2Vyc0VkaXRvciIsIl9yZWY0IiwicGFkZGluZ0xlZnQiLCJFcnJvclRleHQiLCJfcmVmNSIsImZvbnRTaXplIiwidHlwb2dyYXBoeSIsImVycm9yIiwibWFpbiIsIlBvaW50TWVudVdyYXBwZXIiLCJyaWdodCIsIlBvaW50Q29uZmlnIiwiY29udGVudCIsIl9wcm9wcyRtYXRoTWxPcHRpb25zIiwibWF0aE1sT3B0aW9ucyIsIl9wcm9wcyRwbHVnaW5PcHRzIiwicGx1Z2luT3B0cyIsInBvaW50c0xhYmVsIiwic2hvd1NhbXBsZUFuc3dlciIsInBsdWdpblByb3BzIiwibWFya3VwIiwib25NZW51Q2hhbmdlIiwiYXMiLCJvblNhbXBsZUNoYW5nZSIsIkNvbnRhaW5lciIsIl9yZWY2IiwiYm9yZGVyV2lkdGgiLCJib3JkZXJTdHlsZSIsImJvcmRlckNvbG9yIiwicGFkZGluZyIsIm1hcmdpbiIsIklucHV0Q29udGFpbmVyV3JhcHBlciIsIl9yZWY3IiwibWFyZ2luQm90dG9tIiwiUnVicmljbGVzcyIsIkNvbmZpZ0hvbGRlciIsIl9yZWY4IiwiUnVicmljVGl0bGUiLCJfcmVmOSIsIlJhd0F1dGhvcmluZyIsIl9SZWFjdCRDb21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJncyIsIl9rZXkiLCJkZXN0aW5hdGlvbiIsIl90aGlzJHByb3BzIiwic291cmNlIiwiaW5kZXgiLCJfdGhpcyRwcm9wczIiLCJfdGhpcyRwcm9wczMiLCJydWJyaWNsZXNzIiwiY3VycmVudE1heCIsInRpbWVzIiwidGFrZVJpZ2h0IiwidHlwZSIsIl90aGlzJHByb3BzNCIsIml0ZW1zIiwiX3RoaXMkcHJvcHM1IiwiY2xpY2tlZEl0ZW0iLCJjaGFuZ2VDb250ZW50IiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJyZW5kZXIiLCJfdGhpczIiLCJfdGhpcyRwcm9wczYiLCJfdGhpcyRwcm9wczYkbWF0aE1sT3AiLCJfdGhpcyRwcm9wczYkY29uZmlnIiwiY29uZmlnIiwiX3RoaXMkcHJvcHM2JHJ1YnJpY2xlIiwiX3RoaXMkcHJvcHM2JHBsdWdpbk9wIiwiX3JlZjAiLCJfcmVmMCRleGNsdWRlWmVyb0VuYWIiLCJleGNsdWRlWmVyb0VuYWJsZWQiLCJfcmVmMCRtYXhQb2ludHNFbmFibGUiLCJtYXhQb2ludHNFbmFibGVkIiwiX3JlZjAkZXJyb3JzIiwiZXJyb3JzIiwiX3JlZjAkcnVicmljbGVzc0luc3RyIiwicnVicmljbGVzc0luc3RydWN0aW9uRW5hYmxlZCIsIl9yZWYwJG1heFBvaW50cyIsIl9yZWYxIiwiX3JlZjEkcnVicmljbGVzc0luc3RyIiwiX3JlZjEkbWF4TWF4UG9pbnRzIiwibWF4TWF4UG9pbnRzIiwiX3JlZjEwIiwicG9pbnRzRGVzY3JpcHRvcnNFcnJvcnMiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImNvbnNvbGUiLCJ3YXJuIiwibWF4UG9pbnRzVmFsdWUiLCJyb3ciLCJjaGFuZ2VNYXhQb2ludHMiLCJjb250cm9sIiwiY2hlY2tlZCIsImV4Y2x1ZGVaZXJvcyIsIklucHV0Q29udGFpbmVyIiwiY2hhbmdlUnVicmljbGVzc0luc3RydWN0aW9uIiwibm9uRW1wdHkiLCJkaXNhYmxlVW5kZXJsaW5lIiwibGFuZ3VhZ2VDaGFyYWN0ZXJzUHJvcHMiLCJsYW5ndWFnZSIsIkRyYWdEcm9wQ29udGV4dCIsIm9uRHJhZ0VuZCIsImRyYWdFbmQiLCJEcm9wcGFibGUiLCJkcm9wcGFibGVJZCIsInByb3ZpZGVkIiwiX2V4dGVuZHMyIiwiZHJvcHBhYmxlUHJvcHMiLCJyZWYiLCJpbm5lclJlZiIsInAiLCJzaG91bGRSZW5kZXJQb2ludCIsIkRyYWdnYWJsZSIsImRyYWdnYWJsZUlkIiwidG9TdHJpbmciLCJkcmFnZ2FibGVQcm9wcyIsImRyYWdIYW5kbGVQcm9wcyIsIm9uUG9pbnRNZW51Q2hhbmdlIiwicGxhY2Vob2xkZXIiLCJSZWFjdCIsIkNvbXBvbmVudCIsIm9iamVjdCIsImZ1bmMiLCJSZXZlcnNlIiwiX3JlZjExIiwiX3JlZjExJHJ1YnJpY2xlc3MiLCJfcmVmMTEkY29uZmlnIiwiX3JlZjExJHBsdWdpbk9wdHMiLCJyZXZlcnNlIiwicHJvcFR5cGVzIiwiZ2V0SW5kZXgiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdXRob3JpbmcuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuXG5pbXBvcnQgSW5wdXRMYWJlbCBmcm9tICdAbXVpL21hdGVyaWFsL0lucHV0TGFiZWwnO1xuaW1wb3J0IE91dGxpbmVkSW5wdXQgZnJvbSAnQG11aS9tYXRlcmlhbC9PdXRsaW5lZElucHV0JztcbmltcG9ydCBTZWxlY3QgZnJvbSAnQG11aS9tYXRlcmlhbC9TZWxlY3QnO1xuaW1wb3J0IEZvcm1Db250cm9sIGZyb20gJ0BtdWkvbWF0ZXJpYWwvRm9ybUNvbnRyb2wnO1xuaW1wb3J0IE1lbnVJdGVtIGZyb20gJ0BtdWkvbWF0ZXJpYWwvTWVudUl0ZW0nO1xuaW1wb3J0IHRpbWVzIGZyb20gJ2xvZGFzaC90aW1lcyc7XG5pbXBvcnQgQ2hlY2tib3ggZnJvbSAnQG11aS9tYXRlcmlhbC9DaGVja2JveCc7XG5pbXBvcnQgRm9ybUdyb3VwIGZyb20gJ0BtdWkvbWF0ZXJpYWwvRm9ybUdyb3VwJztcbmltcG9ydCBGb3JtQ29udHJvbExhYmVsIGZyb20gJ0BtdWkvbWF0ZXJpYWwvRm9ybUNvbnRyb2xMYWJlbCc7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tICdAbXVpL21hdGVyaWFsL1R5cG9ncmFwaHknO1xuaW1wb3J0IERyYWdJbmRpY2F0b3IgZnJvbSAnQG11aS9pY29ucy1tYXRlcmlhbC9EcmFnSW5kaWNhdG9yJztcbmltcG9ydCB7IERyYWdEcm9wQ29udGV4dCwgRHJvcHBhYmxlLCBEcmFnZ2FibGUgfSBmcm9tICdAaGVsbG8tcGFuZ2VhL2RuZCc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHRha2VSaWdodCBmcm9tICdsb2Rhc2gvdGFrZVJpZ2h0JztcbmltcG9ydCBQb2ludE1lbnUgZnJvbSAnLi9wb2ludC1tZW51JztcbmltcG9ydCByYW5nZSBmcm9tICdsb2Rhc2gvcmFuZ2UnO1xuaW1wb3J0IEVkaXRhYmxlSHRtbCBmcm9tICdAcGllLWxpYi9lZGl0YWJsZS1odG1sJztcbmltcG9ydCB7IElucHV0Q29udGFpbmVyIH0gZnJvbSAnQHBpZS1saWIvY29uZmlnLXVpJztcbmltcG9ydCB7IGdyZXkgfSBmcm9tICdAbXVpL21hdGVyaWFsL2NvbG9ycyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdwaWUtbGliOnJ1YnJpYzphdXRob3JpbmcnKTtcblxuY29uc3QgcmVvcmRlciA9IChsaXN0LCBzdGFydEluZGV4LCBlbmRJbmRleCkgPT4ge1xuICBjb25zdCByZXN1bHQgPSBBcnJheS5mcm9tKGxpc3QpO1xuICBjb25zdCBbcmVtb3ZlZF0gPSByZXN1bHQuc3BsaWNlKHN0YXJ0SW5kZXgsIDEpO1xuXG4gIHJlc3VsdC5zcGxpY2UoZW5kSW5kZXgsIDAsIHJlbW92ZWQpO1xuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgUnVicmljVHlwZSA9IFByb3BUeXBlcy5zaGFwZSh7XG4gIGV4Y2x1ZGVaZXJvOiBQcm9wVHlwZXMuYm9vbCxcbiAgcG9pbnRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgc2FtcGxlQW5zd2VyczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gIG1heFBvaW50czogUHJvcFR5cGVzLm51bWJlcixcbiAgcnVicmljbGVzc0luc3RydWN0aW9uOiBQcm9wVHlwZXMuc3RyaW5nLFxufSk7XG5cbmNvbnN0IE1heFBvaW50cyA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHZhbHVlLCBvbkNoYW5nZSwgbWF4IH0gPSBwcm9wcztcbiAgY29uc3QgbGFiZWxJZCA9ICdtYXgtcG9pbnRzLWxhYmVsJztcblxuICByZXR1cm4gKFxuICAgIDxGb3JtQ29udHJvbCBzeD17eyBtaW5XaWR0aDogMTIwLCBtOiAxIH19IHZhcmlhbnQ9XCJvdXRsaW5lZFwiPlxuICAgICAgPElucHV0TGFiZWwgaWQ9e2xhYmVsSWR9Pk1heCBQb2ludHM8L0lucHV0TGFiZWw+XG4gICAgICA8U2VsZWN0XG4gICAgICAgIGxhYmVsSWQ9e2xhYmVsSWR9XG4gICAgICAgIGxhYmVsPVwiTWF4IFBvaW50c1wiXG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBvbkNoYW5nZShlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgIGlucHV0PXs8T3V0bGluZWRJbnB1dCBsYWJlbD1cIk1heCBQb2ludHNcIiAvPn1cbiAgICAgICAgTWVudVByb3BzPXt7IHRyYW5zaXRpb25EdXJhdGlvbjogeyBlbnRlcjogMjI1LCBleGl0OiAxOTUgfSB9fVxuICAgICAgPlxuICAgICAgICB7cmFuZ2UoMSwgbWF4ICsgMSkubWFwKCh2KSA9PiAoXG4gICAgICAgICAgPE1lbnVJdGVtIGtleT17YCR7dn1gfSB2YWx1ZT17dn0+XG4gICAgICAgICAgICB7dn1cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICApKX1cbiAgICAgIDwvU2VsZWN0PlxuICAgIDwvRm9ybUNvbnRyb2w+XG4gICk7XG59O1xuXG4vLyBpZiB0aGUgdmFsdWUgaXMgbnVsbCBvciAnbnVsbCcsIHRoZSBTYW1wbGUgQW5zd2VyIGlucHV0IGZpZWxkIGZvciB0aGF0IHBvaW50IHdpbGwgbm90IGJlIGRpc3BhbHllZFxuLy8gaWYgdGhlIHZhbHVlIGlzICcnLCB0aGUgU2FtcGxlIEFuc3dlciBpbnB1dCBmaWVsZCB3aWxsIGJlIGVtcHR5XG5jb25zdCBjaGVja1NhbXBsZUFuc3dlciA9IChzYW1wbGVBbnN3ZXIpID0+IHNhbXBsZUFuc3dlciA9PT0gbnVsbCB8fCBzYW1wbGVBbnN3ZXIgPT09ICdudWxsJztcblxuY29uc3QgUm93ID0gc3R5bGVkKCdkaXYnKSgoKSA9PiAoeyBkaXNwbGF5OiAnZmxleCcsIHdpZHRoOiAnMTAwJScsIHBvc2l0aW9uOiAncmVsYXRpdmUnIH0pKTtcblxuY29uc3QgRWRpdG9yRGl2ID0gc3R5bGVkKCdkaXYnKSgoeyB0aGVtZSB9KSA9PiAoeyB3aWR0aDogJzEwMCUnLCBiYWNrZ3JvdW5kQ29sb3I6IGAke3RoZW1lLnBhbGV0dGUuY29tbW9uLndoaXRlfWAgfSkpO1xuXG5jb25zdCBEcmFnSW5kaWNhdG9yU3R5bGVkID0gc3R5bGVkKERyYWdJbmRpY2F0b3IpKCh7IHRoZW1lIH0pID0+ICh7IHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcoMSksIGNvbG9yOiBncmV5WzUwMF0gfSkpO1xuXG5jb25zdCBQb2ludHNMYWJlbCA9IHN0eWxlZChUeXBvZ3JhcGh5KSgoeyB0aGVtZSB9KSA9PiAoe1xuICBjb2xvcjogZ3JleVs1MDBdLFxuICBwYWRkaW5nQm90dG9tOiB0aGVtZS5zcGFjaW5nKDEpLFxuICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbn0pKTtcblxuY29uc3QgU2FtcGxlQW5zd2Vyc0VkaXRvciA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHsgcGFkZGluZ0xlZnQ6IHRoZW1lLnNwYWNpbmcoMykgfSkpO1xuXG5jb25zdCBFcnJvclRleHQgPSBzdHlsZWQoJ2RpdicpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplIC0gMixcbiAgY29sb3I6IHRoZW1lLnBhbGV0dGUuZXJyb3IubWFpbixcbiAgcGFkZGluZ0xlZnQ6IHRoZW1lLnNwYWNpbmcoMyksXG4gIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcoMSksXG59KSk7XG5cbmNvbnN0IFBvaW50TWVudVdyYXBwZXIgPSBzdHlsZWQoJ2RpdicpKCgpID0+ICh7IHBvc2l0aW9uOiAnYWJzb2x1dGUnLCByaWdodDogMCB9KSk7XG5cbmV4cG9ydCBjb25zdCBQb2ludENvbmZpZyA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHBvaW50cywgY29udGVudCwgc2FtcGxlQW5zd2VyLCBtYXRoTWxPcHRpb25zID0ge30sIGVycm9yLCBwbHVnaW5PcHRzID0ge30gfSA9IHByb3BzO1xuICBjb25zdCBwb2ludHNMYWJlbCA9IGAke3BvaW50c30gJHtwb2ludHMgPD0gMSA/ICdwdCcgOiAncHRzJ31gO1xuICBjb25zdCBzaG93U2FtcGxlQW5zd2VyID0gY2hlY2tTYW1wbGVBbnN3ZXIoc2FtcGxlQW5zd2VyKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICA8UG9pbnRzTGFiZWwgdmFyaWFudD1cIm92ZXJsaW5lXCI+e3BvaW50c0xhYmVsfTwvUG9pbnRzTGFiZWw+XG4gICAgICA8Um93PlxuICAgICAgICA8RHJhZ0luZGljYXRvclN0eWxlZCAvPlxuICAgICAgICA8RWRpdG9yRGl2PlxuICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgIGVycm9yPXtlcnJvcn1cbiAgICAgICAgICAgIHBsdWdpblByb3BzPXtwbHVnaW5PcHRzfVxuICAgICAgICAgICAgbWFya3VwPXtjb250ZW50fVxuICAgICAgICAgICAgb25DaGFuZ2U9e3Byb3BzLm9uQ2hhbmdlfVxuICAgICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgICAvPlxuICAgICAgICA8L0VkaXRvckRpdj5cbiAgICAgICAgPFBvaW50TWVudVdyYXBwZXI+XG4gICAgICAgICAgPFBvaW50TWVudSBzaG93U2FtcGxlQW5zd2VyPXtzaG93U2FtcGxlQW5zd2VyfSBvbkNoYW5nZT17cHJvcHMub25NZW51Q2hhbmdlfSAvPlxuICAgICAgICA8L1BvaW50TWVudVdyYXBwZXI+XG4gICAgICA8L1Jvdz5cbiAgICAgIHtlcnJvciAmJiA8RXJyb3JUZXh0PntlcnJvcn08L0Vycm9yVGV4dD59XG4gICAgICB7IXNob3dTYW1wbGVBbnN3ZXIgJiYgKFxuICAgICAgICA8U2FtcGxlQW5zd2Vyc0VkaXRvcj5cbiAgICAgICAgICA8RHJhZ0luZGljYXRvclN0eWxlZCBhcz17VHlwb2dyYXBoeX0gdmFyaWFudD1cIm92ZXJsaW5lXCI+XG4gICAgICAgICAgICBTYW1wbGUgUmVzcG9uc2VcbiAgICAgICAgICA8L0RyYWdJbmRpY2F0b3JTdHlsZWQ+XG4gICAgICAgICAgPEVkaXRvckRpdj5cbiAgICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgICAgbWFya3VwPXtzYW1wbGVBbnN3ZXJ9XG4gICAgICAgICAgICAgIHBsdWdpblByb3BzPXtwbHVnaW5PcHRzfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17cHJvcHMub25TYW1wbGVDaGFuZ2V9XG4gICAgICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvRWRpdG9yRGl2PlxuICAgICAgICA8L1NhbXBsZUFuc3dlcnNFZGl0b3I+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkKCdkaXYnKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBiYWNrZ3JvdW5kQ29sb3I6IGdyZXlbMjAwXSxcbiAgYm9yZGVyV2lkdGg6IDEsXG4gIGJvcmRlclN0eWxlOiAnc29saWQnLFxuICBib3JkZXJDb2xvcjogZ3JleVszMDBdLFxuICBwYWRkaW5nOiB0aGVtZS5zcGFjaW5nKDIpLFxuICBtYXJnaW46IHRoZW1lLnNwYWNpbmcoMSksXG59KSk7XG5jb25zdCBJbnB1dENvbnRhaW5lcldyYXBwZXIgPSBzdHlsZWQoJ2RpdicpKCh7IHRoZW1lIH0pID0+ICh7XG4gIHdpZHRoOiAnMTAwJScsXG4gIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcoMiksXG4gIG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2luZygyKSxcbiAgJyYgTXVpRm9ybUNvbnRyb2wtcm9vdCc6IHsgd2lkdGg6ICcxMDAlJyB9LFxufSkpO1xuY29uc3QgUnVicmljbGVzcyA9IHN0eWxlZCgnZGl2JykoKCkgPT4gKHsgZGlzcGxheTogJ25vbmUnIH0pKTtcbmNvbnN0IENvbmZpZ0hvbGRlciA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHsgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZygxKSwgcGFkZGluZ0JvdHRvbTogdGhlbWUuc3BhY2luZygxKSB9KSk7XG5jb25zdCBSdWJyaWNUaXRsZSA9IHN0eWxlZChUeXBvZ3JhcGh5KSgoeyB0aGVtZSB9KSA9PiAoeyBwYWRkaW5nTGVmdDogdGhlbWUuc3BhY2luZygxKSwgbWFyZ2luOiB0aGVtZS5zcGFjaW5nKDEpIH0pKTtcblxuZXhwb3J0IGNsYXNzIFJhd0F1dGhvcmluZyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgdmFsdWU6IFJ1YnJpY1R5cGUsXG4gICAgY29uZmlnOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHBsdWdpbk9wdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgcnVicmljbGVzczogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7fTtcblxuICBkcmFnRW5kID0gKHJlc3VsdCkgPT4ge1xuICAgIGlmICghcmVzdWx0LmRlc3RpbmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyB2YWx1ZSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBwb2ludHMgPSByZW9yZGVyKHZhbHVlLnBvaW50cywgcmVzdWx0LnNvdXJjZS5pbmRleCwgcmVzdWx0LmRlc3RpbmF0aW9uLmluZGV4KTtcbiAgICBjb25zdCBzYW1wbGVBbnN3ZXJzID0gcmVvcmRlcih2YWx1ZS5zYW1wbGVBbnN3ZXJzLCByZXN1bHQuc291cmNlLmluZGV4LCByZXN1bHQuZGVzdGluYXRpb24uaW5kZXgpO1xuXG4gICAgb25DaGFuZ2UoeyAuLi52YWx1ZSwgcG9pbnRzLCBzYW1wbGVBbnN3ZXJzIH0pO1xuICB9O1xuXG4gIGNoYW5nZVJ1YnJpY2xlc3NJbnN0cnVjdGlvbiA9IChpbnB1dCkgPT4ge1xuICAgIGNvbnN0IHsgdmFsdWUsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIG9uQ2hhbmdlKHsgLi4udmFsdWUsIHJ1YnJpY2xlc3NJbnN0cnVjdGlvbjogaW5wdXQgfSk7XG4gIH07XG5cbiAgY2hhbmdlTWF4UG9pbnRzID0gKG1heFBvaW50cykgPT4ge1xuICAgIGNvbnN0IHsgdmFsdWUsIG9uQ2hhbmdlLCBydWJyaWNsZXNzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGN1cnJlbnRNYXggPSB2YWx1ZS5wb2ludHMubGVuZ3RoIC0gMTtcblxuICAgIGxvZygnY3VycmVudCcsIGN1cnJlbnRNYXgsICduZXc6ICcsIG1heFBvaW50cyk7XG5cbiAgICBsZXQgcG9pbnRzLCBzYW1wbGVBbnN3ZXJzO1xuICAgIGlmIChtYXhQb2ludHMgPiBjdXJyZW50TWF4KSB7XG4gICAgICBwb2ludHMgPSB0aW1lcyhtYXhQb2ludHMgLSBjdXJyZW50TWF4KVxuICAgICAgICAubWFwKCgpID0+ICcnKVxuICAgICAgICAuY29uY2F0KHZhbHVlLnBvaW50cyk7XG4gICAgICBzYW1wbGVBbnN3ZXJzID0gdGltZXMobWF4UG9pbnRzIC0gY3VycmVudE1heClcbiAgICAgICAgLm1hcCgoKSA9PiBudWxsKVxuICAgICAgICAuY29uY2F0KHZhbHVlLnNhbXBsZUFuc3dlcnMpO1xuICAgIH1cblxuICAgIGlmIChtYXhQb2ludHMgPCBjdXJyZW50TWF4KSB7XG4gICAgICBsb2coJ2xlc3MgdGhhbicpO1xuICAgICAgcG9pbnRzID0gdGFrZVJpZ2h0KHZhbHVlLnBvaW50cywgbWF4UG9pbnRzICsgMSk7XG4gICAgICBzYW1wbGVBbnN3ZXJzID0gdGFrZVJpZ2h0KHZhbHVlLnNhbXBsZUFuc3dlcnMsIG1heFBvaW50cyArIDEpO1xuICAgIH1cblxuICAgIGlmIChwb2ludHMgJiYgIXJ1YnJpY2xlc3MpIHtcbiAgICAgIG9uQ2hhbmdlKHsgLi4udmFsdWUsIHBvaW50cywgc2FtcGxlQW5zd2VycywgbWF4UG9pbnRzIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBvbkNoYW5nZSh7IC4uLnZhbHVlLCBtYXhQb2ludHMgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNoYW5nZUNvbnRlbnQgPSAoaW5kZXgsIGNvbnRlbnQsIHR5cGUpID0+IHtcbiAgICAvLyB0eXBlIGNvdWxkIGJlICdwb2ludHMnIG9yICdzYW1wbGVBbnN3ZXJzJ1xuICAgIGxvZyhgY2hhbmdlTW9kZWxbJHt0eXBlfV06YCwgaW5kZXgsIGNvbnRlbnQpO1xuXG4gICAgaWYgKHR5cGUgIT09ICdwb2ludHMnICYmIHR5cGUgIT09ICdzYW1wbGVBbnN3ZXJzJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgdmFsdWUsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGl0ZW1zID0gdmFsdWVbdHlwZV0gJiYgQXJyYXkuZnJvbSh2YWx1ZVt0eXBlXSk7XG5cbiAgICBpdGVtcy5zcGxpY2UoaW5kZXgsIDEsIGNvbnRlbnQpO1xuICAgIGxvZyhgY2hhbmdlTW9kZWxbJHt0eXBlfV06YCwgaXRlbXMpO1xuXG4gICAgb25DaGFuZ2UoeyAuLi52YWx1ZSwgW3R5cGVdOiBpdGVtcyB9KTtcbiAgfTtcblxuICBleGNsdWRlWmVyb3MgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB2YWx1ZSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBvbkNoYW5nZSh7IC4uLnZhbHVlLCBleGNsdWRlWmVybzogIXZhbHVlLmV4Y2x1ZGVaZXJvIH0pO1xuICB9O1xuXG4gIHNob3VsZFJlbmRlclBvaW50ID0gKGluZGV4LCB2YWx1ZSkgPT4ge1xuICAgIGlmICghdmFsdWUuZXhjbHVkZVplcm8pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaW5kZXggPCB2YWx1ZS5wb2ludHMubGVuZ3RoIC0gMSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoaW5kZXggPT09IHZhbHVlLnBvaW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9O1xuXG4gIG9uUG9pbnRNZW51Q2hhbmdlID0gKGluZGV4LCBjbGlja2VkSXRlbSkgPT4ge1xuICAgIGlmIChjbGlja2VkSXRlbSA9PT0gJ3NhbXBsZScpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzYW1wbGVBbnN3ZXJzID0gQXJyYXkuZnJvbSh2YWx1ZS5zYW1wbGVBbnN3ZXJzIHx8IFtdKTtcblxuICAgICAgaWYgKGNoZWNrU2FtcGxlQW5zd2VyKHNhbXBsZUFuc3dlcnNbaW5kZXhdKSkge1xuICAgICAgICAvLyBhbiBlbXB0eSBzdHJpbmcgd2lsbCBkaXNwbGF5IGFuIGVtcHR5IFNhbXBsZSBBbnN3ZXIgaW5wdXQgZmllbGRcbiAgICAgICAgdGhpcy5jaGFuZ2VDb250ZW50KGluZGV4LCAnJywgJ3NhbXBsZUFuc3dlcnMnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHdoZW4gdGhlIGNvbnRlbnQgaXMgbnVsbCBvciAnbnVsbCcsIHRoZSBTYW1wbGUgQW5zd2VyIGlucHV0IGZpZWxkIHdpbGwgbm90IGJlIGRpc3BsYXllZFxuICAgICAgICB0aGlzLmNoYW5nZUNvbnRlbnQoaW5kZXgsIG51bGwsICdzYW1wbGVBbnN3ZXJzJyk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHZhbHVlLCBtYXRoTWxPcHRpb25zID0ge30sIGNvbmZpZyA9IHt9LCBydWJyaWNsZXNzID0gZmFsc2UsIHBsdWdpbk9wdHMgPSB7fSB9ID0gdGhpcy5wcm9wcztcbiAgICBsZXQge1xuICAgICAgZXhjbHVkZVplcm9FbmFibGVkID0gdHJ1ZSxcbiAgICAgIG1heFBvaW50c0VuYWJsZWQgPSB0cnVlLFxuICAgICAgZXJyb3JzID0ge30sXG4gICAgICBydWJyaWNsZXNzSW5zdHJ1Y3Rpb25FbmFibGVkID0gZmFsc2UsXG4gICAgICBtYXhQb2ludHMgPSAxMCxcbiAgICB9ID0gdmFsdWUgfHwge307XG4gICAgLy8gcnVicmljIHdpbGwgY29udGFpbiBhIG1heCB2YWx1ZSBmb3IgbWF4UG9pbnRzXG4gICAgY29uc3QgeyBydWJyaWNsZXNzSW5zdHJ1Y3Rpb24gPSB7fSwgbWF4TWF4UG9pbnRzID0gMTAgfSA9IGNvbmZpZyB8fCB7fTtcbiAgICBjb25zdCB7IHBvaW50c0Rlc2NyaXB0b3JzRXJyb3JzIH0gPSBlcnJvcnMgfHwge307XG4gICAgaWYgKHZhbHVlICYmIE51bWJlci5pc0Zpbml0ZSh2YWx1ZS5tYXhQb2ludHMpKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS53YXJuKCdtYXhQb2ludHMgaXMgZGVwcmVjYXRlZCAtIHJlbW92ZSBmcm9tIG1vZGVsJyk7XG4gICAgfVxuXG4gICAgLy8gZm9yIHJ1YnJpYyB2YWx1ZSBpcyBjb21wdXRlZCBiYXNlZCBvbiBwb2ludHNcbiAgICBjb25zdCBtYXhQb2ludHNWYWx1ZSA9ICFydWJyaWNsZXNzID8gdmFsdWUucG9pbnRzLmxlbmd0aCAtIDEgOiBtYXhQb2ludHM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdj5cbiAgICAgICAgPFJ1YnJpY1RpdGxlIHZhcmlhbnQ9XCJoNVwiPlJ1YnJpYzwvUnVicmljVGl0bGU+XG4gICAgICAgIDxGb3JtR3JvdXAgcm93PlxuICAgICAgICAgIHttYXhQb2ludHNFbmFibGVkICYmIChcbiAgICAgICAgICAgIDxNYXhQb2ludHNcbiAgICAgICAgICAgICAgbWF4PXttYXhNYXhQb2ludHMgPCAxMDAgPyBtYXhNYXhQb2ludHMgOiAxMDB9XG4gICAgICAgICAgICAgIHZhbHVlPXttYXhQb2ludHNWYWx1ZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuY2hhbmdlTWF4UG9pbnRzfVxuICAgICAgICAgICAgICBwbHVnaW5PcHRzPXtwbHVnaW5PcHRzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtleGNsdWRlWmVyb0VuYWJsZWQgJiYgKFxuICAgICAgICAgICAgPEZvcm1Db250cm9sTGFiZWxcbiAgICAgICAgICAgICAgbGFiZWw9XCJFeGNsdWRlIHplcm9zXCJcbiAgICAgICAgICAgICAgY29udHJvbD17PENoZWNrYm94IGNoZWNrZWQ9e3ZhbHVlLmV4Y2x1ZGVaZXJvfSBvbkNoYW5nZT17dGhpcy5leGNsdWRlWmVyb3N9IC8+fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0Zvcm1Hcm91cD5cblxuICAgICAgICB7cnVicmljbGVzc0luc3RydWN0aW9uRW5hYmxlZCAmJiBydWJyaWNsZXNzICYmIChcbiAgICAgICAgICA8SW5wdXRDb250YWluZXJXcmFwcGVyPlxuICAgICAgICAgICAgPElucHV0Q29udGFpbmVyIGxhYmVsPXtydWJyaWNsZXNzSW5zdHJ1Y3Rpb24ubGFiZWx9PlxuICAgICAgICAgICAgICA8RWRpdGFibGVIdG1sXG4gICAgICAgICAgICAgICAgbWFya3VwPXt2YWx1ZS5ydWJyaWNsZXNzSW5zdHJ1Y3Rpb24gfHwgJyd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuY2hhbmdlUnVicmljbGVzc0luc3RydWN0aW9ufVxuICAgICAgICAgICAgICAgIHBsdWdpblByb3BzPXtwbHVnaW5PcHRzfVxuICAgICAgICAgICAgICAgIG5vbkVtcHR5PXtmYWxzZX1cbiAgICAgICAgICAgICAgICBkaXNhYmxlVW5kZXJsaW5lXG4gICAgICAgICAgICAgICAgbGFuZ3VhZ2VDaGFyYWN0ZXJzUHJvcHM9e1t7IGxhbmd1YWdlOiAnc3BhbmlzaCcgfSwgeyBsYW5ndWFnZTogJ3NwZWNpYWwnIH1dfVxuICAgICAgICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgIDwvSW5wdXRDb250YWluZXJXcmFwcGVyPlxuICAgICAgICApfVxuXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3J1YnJpY2xlc3MgPyAoXG4gICAgICAgICAgICA8UnVicmljbGVzcyAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8Q29udGFpbmVyPlxuICAgICAgICAgICAgICA8RHJhZ0Ryb3BDb250ZXh0IG9uRHJhZ0VuZD17dGhpcy5kcmFnRW5kfT5cbiAgICAgICAgICAgICAgICA8RHJvcHBhYmxlIGRyb3BwYWJsZUlkPVwiZHJvcHBhYmxlXCI+XG4gICAgICAgICAgICAgICAgICB7KHByb3ZpZGVkKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgey4uLnByb3ZpZGVkLmRyb3BwYWJsZVByb3BzfSByZWY9e3Byb3ZpZGVkLmlubmVyUmVmfT5cbiAgICAgICAgICAgICAgICAgICAgICB7dmFsdWUucG9pbnRzLm1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgIChwLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG91bGRSZW5kZXJQb2ludChpbmRleCwgdmFsdWUpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RHJhZ2dhYmxlIGtleT17YCR7cC5wb2ludHN9LSR7aW5kZXh9YH0gaW5kZXg9e2luZGV4fSBkcmFnZ2FibGVJZD17aW5kZXgudG9TdHJpbmcoKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHByb3ZpZGVkKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDb25maWdIb2xkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e3Byb3ZpZGVkLmlubmVyUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm92aWRlZC5kcmFnZ2FibGVQcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvdmlkZWQuZHJhZ0hhbmRsZVByb3BzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBvaW50Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM9e3ZhbHVlLnBvaW50cy5sZW5ndGggLSAxIC0gaW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50PXtwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHNEZXNjcmlwdG9yc0Vycm9ycyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHNEZXNjcmlwdG9yc0Vycm9yc1t2YWx1ZS5wb2ludHMubGVuZ3RoIC0gMSAtIGluZGV4XVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlQW5zd2VyPXt2YWx1ZS5zYW1wbGVBbnN3ZXJzICYmIHZhbHVlLnNhbXBsZUFuc3dlcnNbaW5kZXhdfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhjb250ZW50KSA9PiB0aGlzLmNoYW5nZUNvbnRlbnQoaW5kZXgsIGNvbnRlbnQsICdwb2ludHMnKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU2FtcGxlQ2hhbmdlPXsoY29udGVudCkgPT4gdGhpcy5jaGFuZ2VDb250ZW50KGluZGV4LCBjb250ZW50LCAnc2FtcGxlQW5zd2VycycpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25NZW51Q2hhbmdlPXsoY2xpY2tlZEl0ZW0pID0+IHRoaXMub25Qb2ludE1lbnVDaGFuZ2UoaW5kZXgsIGNsaWNrZWRJdGVtKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbHVnaW5PcHRzPXtwbHVnaW5PcHRzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ29uZmlnSG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0RyYWdnYWJsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIHtwcm92aWRlZC5wbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvRHJvcHBhYmxlPlxuICAgICAgICAgICAgICA8L0RyYWdEcm9wQ29udGV4dD5cbiAgICAgICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG4vLyBzdHlsZXMgbWlncmF0ZWQgdG8gc3R5bGVkLWNvbXBvbmVudHMgYWJvdmVcblxuY29uc3QgUmV2ZXJzZSA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHJ1YnJpY2xlc3MgPSBmYWxzZSwgY29uZmlnID0ge30sIHBsdWdpbk9wdHMgPSB7fSB9ID0gcHJvcHMgfHwge307XG4gIGNvbnN0IHBvaW50cyA9IEFycmF5LmZyb20ocHJvcHMudmFsdWUucG9pbnRzIHx8IFtdKS5yZXZlcnNlKCk7XG4gIGxldCBzYW1wbGVBbnN3ZXJzID0gQXJyYXkuZnJvbShwcm9wcy52YWx1ZS5zYW1wbGVBbnN3ZXJzIHx8IFtdKS5yZXZlcnNlKCk7XG5cbiAgaWYgKHBvaW50cy5sZW5ndGggPiBzYW1wbGVBbnN3ZXJzLmxlbmd0aCkge1xuICAgIHNhbXBsZUFuc3dlcnMgPSB0aW1lcyhwb2ludHMubGVuZ3RoIC0gc2FtcGxlQW5zd2Vycy5sZW5ndGgpXG4gICAgICAubWFwKCgpID0+IG51bGwpXG4gICAgICAuY29uY2F0KHNhbXBsZUFuc3dlcnMpO1xuICB9XG5cbiAgY29uc3QgdmFsdWUgPSB7IC4uLnByb3BzLnZhbHVlLCBwb2ludHMsIHNhbXBsZUFuc3dlcnMgfTtcblxuICBjb25zdCBvbkNoYW5nZSA9ICh2YWx1ZSkgPT4ge1xuICAgIHByb3BzLm9uQ2hhbmdlKHtcbiAgICAgIC4uLnZhbHVlLFxuICAgICAgcG9pbnRzOiBBcnJheS5mcm9tKHZhbHVlLnBvaW50cyB8fCBbXSkucmV2ZXJzZSgpLFxuICAgICAgc2FtcGxlQW5zd2VyczogQXJyYXkuZnJvbSh2YWx1ZS5zYW1wbGVBbnN3ZXJzIHx8IFtdKS5yZXZlcnNlKCksXG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8UmF3QXV0aG9yaW5nIHZhbHVlPXt2YWx1ZX0gY29uZmlnPXtjb25maWd9IG9uQ2hhbmdlPXtvbkNoYW5nZX0gcnVicmljbGVzcz17cnVicmljbGVzc30gcGx1Z2luT3B0cz17cGx1Z2luT3B0c30gLz5cbiAgKTtcbn07XG5cblJldmVyc2UucHJvcFR5cGVzID0ge1xuICB2YWx1ZTogUnVicmljVHlwZSxcbiAgY29uZmlnOiBQcm9wVHlwZXMub2JqZWN0LFxuICBwbHVnaW5PcHRzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBydWJyaWNsZXNzOiBQcm9wVHlwZXMuYm9vbCxcbiAgZ2V0SW5kZXg6IFByb3BUeXBlcy5mdW5jLFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBSZXZlcnNlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFFQSxJ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
package/lib/index.js CHANGED
@@ -17,4 +17,4 @@ var RUBRIC_TYPES = exports.RUBRIC_TYPES = {
17
17
  MULTI_TRAIT_RUBRIC: 'multiTraitRubric',
18
18
  RUBRICLESS: 'rubricless'
19
19
  };
20
- //# sourceMappingURL=index.js.map
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXV0aG9yaW5nIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJSVUJSSUNfVFlQRVMiLCJleHBvcnRzIiwiU0lNUExFX1JVQlJJQyIsIk1VTFRJX1RSQUlUX1JVQlJJQyIsIlJVQlJJQ0xFU1MiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEF1dGhvcmluZyBmcm9tICcuL2F1dGhvcmluZyc7XG5cbmNvbnN0IFJVQlJJQ19UWVBFUyA9IHtcbiAgU0lNUExFX1JVQlJJQzogJ3NpbXBsZVJ1YnJpYycsXG4gIE1VTFRJX1RSQUlUX1JVQlJJQzogJ211bHRpVHJhaXRSdWJyaWMnLFxuICBSVUJSSUNMRVNTOiAncnVicmljbGVzcycsXG59O1xuXG5leHBvcnQgeyBBdXRob3JpbmcsIFJVQlJJQ19UWVBFUyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBTUMsWUFBWSxHQUFBQyxPQUFBLENBQUFELFlBQUEsR0FBRztFQUNuQkUsYUFBYSxFQUFFLGNBQWM7RUFDN0JDLGtCQUFrQixFQUFFLGtCQUFrQjtFQUN0Q0MsVUFBVSxFQUFFO0FBQ2QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
package/lib/point-menu.js CHANGED
@@ -122,4 +122,4 @@ var PointMenu = exports["default"] = /*#__PURE__*/function (_React$Component2) {
122
122
  onChange: _propTypes["default"].func.isRequired,
123
123
  showSampleAnswer: _propTypes["default"].bool.isRequired
124
124
  });
125
- //# sourceMappingURL=point-menu.js.map
125
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTWVudSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX01lbnVJdGVtIiwiX01vcmVWZXJ0IiwiX01vcmVIb3JpeiIsIl9JY29uQnV0dG9uIiwiX3Byb3BUeXBlcyIsIl9yZWFjdCIsIl9jYWxsU3VwZXIiLCJ0IiwibyIsImUiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJjYWxsIiwiSWNvbk1lbnUiLCJleHBvcnRzIiwiX1JlYWN0JENvbXBvbmVudCIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2RlZmluZVByb3BlcnR5MiIsImV2ZW50Iiwic2V0U3RhdGUiLCJvcGVuIiwiYW5jaG9yRWwiLCJjdXJyZW50VGFyZ2V0Iiwic3RhdGUiLCJ1bmRlZmluZWQiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwicmVuZGVyIiwiX3RoaXMyIiwiX3RoaXMkcHJvcHMiLCJvcHRzIiwib25DbGljayIsIl90aGlzJHN0YXRlIiwia2V5cyIsIk9iamVjdCIsImhhbmRsZU1lbnVDbGljayIsImhhbmRsZVJlcXVlc3RDbG9zZSIsImljb25Db2xvciIsImNyZWF0ZUVsZW1lbnQiLCJoYW5kbGVDbGljayIsInNpemUiLCJjb2xvciIsImlkIiwib25DbG9zZSIsInN0eWxlIiwidHJhbnNmb3JtIiwidHJhbnNmb3JtT3JpZ2luIiwidmVydGljYWwiLCJob3Jpem9udGFsIiwibWFwIiwiayIsImluZGV4IiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJmdW5jIiwiaXNSZXF1aXJlZCIsIlBvaW50TWVudSIsIl9SZWFjdCRDb21wb25lbnQyIiwiYXJndW1lbnRzIiwiX3RoaXMkcHJvcHMyIiwib25DaGFuZ2UiLCJzaG93U2FtcGxlQW5zd2VyIiwic2FtcGxlVGV4dCIsInNhbXBsZSIsImJvb2wiXSwic291cmNlcyI6WyIuLi9zcmMvcG9pbnQtbWVudS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1lbnUgZnJvbSAnQG11aS9tYXRlcmlhbC9NZW51JztcbmltcG9ydCBNZW51SXRlbSBmcm9tICdAbXVpL21hdGVyaWFsL01lbnVJdGVtJztcbmltcG9ydCBNb3JlVmVydEljb24gZnJvbSAnQG11aS9pY29ucy1tYXRlcmlhbC9Nb3JlVmVydCc7XG5pbXBvcnQgTW9yZUhvcml6SWNvbiBmcm9tICdAbXVpL2ljb25zLW1hdGVyaWFsL01vcmVIb3Jpeic7XG5pbXBvcnQgSWNvbkJ1dHRvbiBmcm9tICdAbXVpL21hdGVyaWFsL0ljb25CdXR0b24nO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBjbGFzcyBJY29uTWVudSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgb3B0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBhbmNob3JFbDogdW5kZWZpbmVkLFxuICAgICAgb3BlbjogZmFsc2UsXG4gICAgfTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrID0gKGV2ZW50KSA9PiB0aGlzLnNldFN0YXRlKHsgb3BlbjogdHJ1ZSwgYW5jaG9yRWw6IGV2ZW50LmN1cnJlbnRUYXJnZXQgfSk7XG5cbiAgaGFuZGxlUmVxdWVzdENsb3NlID0gKCkgPT4gdGhpcy5zZXRTdGF0ZSh7IG9wZW46IGZhbHNlIH0pO1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IG9wdHMsIG9uQ2xpY2sgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBvcGVuLCBhbmNob3JFbCB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob3B0cykgfHwgW107XG5cbiAgICBjb25zdCBoYW5kbGVNZW51Q2xpY2sgPSAoa2V5KSA9PiAoKSA9PiB7XG4gICAgICBvbkNsaWNrKGtleSk7XG4gICAgICB0aGlzLmhhbmRsZVJlcXVlc3RDbG9zZSgpO1xuICAgIH07XG5cbiAgICBjb25zdCBpY29uQ29sb3IgPSBvcGVuID8gJ2luaGVyaXQnIDogJ2Rpc2FibGVkJztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2xpY2t9PlxuICAgICAgICAgIDxJY29uQnV0dG9uIHNpemU9XCJsYXJnZVwiPlxuICAgICAgICAgICAge29wZW4gPyA8TW9yZVZlcnRJY29uIGNvbG9yPXtpY29uQ29sb3J9IC8+IDogPE1vcmVIb3Jpekljb24gY29sb3I9e2ljb25Db2xvcn0gLz59XG4gICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPE1lbnVcbiAgICAgICAgICBpZD1cInBvaW50LW1lbnVcIlxuICAgICAgICAgIGFuY2hvckVsPXthbmNob3JFbH1cbiAgICAgICAgICBvcGVuPXtvcGVufVxuICAgICAgICAgIG9uQ2xvc2U9e3RoaXMuaGFuZGxlUmVxdWVzdENsb3NlfVxuICAgICAgICAgIHN0eWxlPXt7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZSgtMTVweCwgLTE1cHgpJyB9fVxuICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbj17e1xuICAgICAgICAgICAgdmVydGljYWw6ICdjZW50ZXInLFxuICAgICAgICAgICAgaG9yaXpvbnRhbDogJ3JpZ2h0JyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge2tleXMubWFwKChrLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPE1lbnVJdGVtIGtleT17aW5kZXh9IG9uQ2xpY2s9e2hhbmRsZU1lbnVDbGljayhrKX0+XG4gICAgICAgICAgICAgIHtvcHRzW2tdfVxuICAgICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9NZW51PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQb2ludE1lbnUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dTYW1wbGVBbnN3ZXI6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgb25DaGFuZ2UsIHNob3dTYW1wbGVBbnN3ZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qgc2FtcGxlVGV4dCA9IHNob3dTYW1wbGVBbnN3ZXIgPyAnUHJvdmlkZSBTYW1wbGUgUmVzcG9uc2UnIDogJ1JlbW92ZSBTYW1wbGUgUmVzcG9uc2UnO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxJY29uTWVudVxuICAgICAgICBvbkNsaWNrPXsoa2V5KSA9PiBvbkNoYW5nZShrZXkpfVxuICAgICAgICBvcHRzPXt7XG4gICAgICAgICAgc2FtcGxlOiBzYW1wbGVUZXh0LFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICApO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxX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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-lib/rubric",
3
- "version": "0.28.3-next.162+b5949758",
3
+ "version": "0.28.4-next.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -12,20 +12,12 @@
12
12
  "@hello-pangea/dnd": "^18.0.1",
13
13
  "@mui/icons-material": "^7.3.4",
14
14
  "@mui/material": "^7.3.4",
15
- "@pie-lib/editable-html": "11.21.3-next.155",
15
+ "@pie-lib/editable-html": "11.21.4-next.0",
16
16
  "debug": "^4.1.1",
17
17
  "lodash": "^4.17.11",
18
18
  "prop-types": "^15.7.2",
19
19
  "react": "^18.2.0",
20
20
  "react-dom": "^18.2.0"
21
21
  },
22
- "gitHead": "b5949758ca5c537e02a14fbbf99d4cde4729255e",
23
- "exports": {
24
- ".": {
25
- "require": "./lib/index.js",
26
- "import": "./src/index.js",
27
- "default": "./lib/index.js"
28
- },
29
- "./esm": "./esm/index.js"
30
- }
22
+ "gitHead": "ad47e833acbaecca94eab8df2aee2a1ee9d90516"
31
23
  }
package/esm/package.json DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "type": "module"
3
- }