@pie-element/rubric 6.1.0 → 6.2.0-mui-update.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/configure/CHANGELOG.md +11 -0
- package/configure/lib/__tests__/index.test.js +174 -0
- package/configure/lib/defaults.js +3 -4
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/index.js +91 -153
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/main.js +91 -150
- package/configure/lib/main.js.map +1 -1
- package/configure/package.json +10 -7
- package/configure/src/index.js +12 -2
- package/configure/src/main.jsx +11 -13
- package/controller/CHANGELOG.md +8 -0
- package/controller/lib/__tests__/index.test.js +39 -0
- package/controller/lib/defaults.js +3 -4
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +16 -29
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +1 -1
- package/docs/demo/pie.manifest.json +11 -0
- package/lib/__tests__/rubric-view.test.js +49 -0
- package/lib/index.js +39 -81
- package/lib/index.js.map +1 -1
- package/lib/main.js +185 -245
- package/lib/main.js.map +1 -1
- package/lib/print.js +42 -85
- package/lib/print.js.map +1 -1
- package/package.json +8 -5
- package/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +2350 -1524
- package/src/index.js +14 -3
- package/src/main.jsx +100 -93
- package/src/print.js +13 -2
- package/LICENSE.md +0 -5
- package/configure/lib/pie-toolbox-rubric/authoring.js +0 -573
- package/configure/lib/pie-toolbox-rubric/authoring.js.map +0 -1
- package/configure/lib/pie-toolbox-rubric/index.js +0 -24
- package/configure/lib/pie-toolbox-rubric/index.js.map +0 -1
- package/configure/lib/pie-toolbox-rubric/point-menu.js +0 -172
- package/configure/lib/pie-toolbox-rubric/point-menu.js.map +0 -1
- package/configure/src/pie-toolbox-rubric/authoring.jsx +0 -449
- package/configure/src/pie-toolbox-rubric/index.js +0 -9
- package/configure/src/pie-toolbox-rubric/point-menu.jsx +0 -94
package/controller/lib/index.js
CHANGED
|
@@ -1,59 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.model = model;
|
|
9
8
|
exports.validate = validate;
|
|
10
|
-
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
|
|
13
9
|
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
var normalize = function normalize(model) {
|
|
20
|
-
return _objectSpread(_objectSpread({}, _defaults["default"]), model);
|
|
21
|
-
};
|
|
22
|
-
|
|
10
|
+
const normalize = model => ({
|
|
11
|
+
..._defaults.default,
|
|
12
|
+
...model
|
|
13
|
+
});
|
|
23
14
|
function model(model, session, env) {
|
|
24
|
-
return new Promise(
|
|
25
|
-
|
|
15
|
+
return new Promise(resolve => {
|
|
16
|
+
const modelResult = normalize(model || {});
|
|
26
17
|
resolve(env && env.role && env.role === 'instructor' ? modelResult : {});
|
|
27
18
|
});
|
|
28
19
|
}
|
|
29
|
-
|
|
30
20
|
function markupToText(s) {
|
|
31
21
|
return (s || '').replace(/(<([^>]+)>)/gi, '');
|
|
32
|
-
}
|
|
33
|
-
|
|
22
|
+
}
|
|
34
23
|
|
|
24
|
+
// IMPORTANT! If you make any changes to this function, please make sure you also update complex-rubric/controller/validateSimpleRubric function!“.
|
|
35
25
|
function validate(model) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
26
|
+
const {
|
|
27
|
+
points
|
|
28
|
+
} = model;
|
|
29
|
+
const errors = {};
|
|
30
|
+
const pointsDescriptorsErrors = {};
|
|
31
|
+
(points || []).forEach((point, index) => {
|
|
40
32
|
if (!point || point === '<div></div>') {
|
|
41
33
|
pointsDescriptorsErrors[index] = 'Points descriptors cannot be empty.';
|
|
42
34
|
} else {
|
|
43
|
-
|
|
44
|
-
return markupToText(p) === markupToText(point);
|
|
45
|
-
});
|
|
46
|
-
|
|
35
|
+
const identicalPointDescr = points.slice(index + 1).some(p => markupToText(p) === markupToText(point));
|
|
47
36
|
if (identicalPointDescr) {
|
|
48
37
|
pointsDescriptorsErrors[index] = 'Points descriptors should be unique.';
|
|
49
38
|
}
|
|
50
39
|
}
|
|
51
40
|
});
|
|
52
|
-
|
|
53
41
|
if (Object.keys(pointsDescriptorsErrors).length > 0) {
|
|
54
42
|
errors.pointsDescriptorsErrors = pointsDescriptorsErrors;
|
|
55
43
|
}
|
|
56
|
-
|
|
57
44
|
return errors;
|
|
58
45
|
}
|
|
59
|
-
//# sourceMappingURL=
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVmYXVsdHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIm5vcm1hbGl6ZSIsIm1vZGVsIiwiZGVmYXVsdHMiLCJzZXNzaW9uIiwiZW52IiwiUHJvbWlzZSIsInJlc29sdmUiLCJtb2RlbFJlc3VsdCIsInJvbGUiLCJtYXJrdXBUb1RleHQiLCJzIiwicmVwbGFjZSIsInZhbGlkYXRlIiwicG9pbnRzIiwiZXJyb3JzIiwicG9pbnRzRGVzY3JpcHRvcnNFcnJvcnMiLCJmb3JFYWNoIiwicG9pbnQiLCJpbmRleCIsImlkZW50aWNhbFBvaW50RGVzY3IiLCJzbGljZSIsInNvbWUiLCJwIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVmYXVsdHMgZnJvbSAnLi9kZWZhdWx0cyc7XG5cbmNvbnN0IG5vcm1hbGl6ZSA9IChtb2RlbCkgPT4gKHsgLi4uZGVmYXVsdHMsIC4uLm1vZGVsIH0pO1xuXG5leHBvcnQgZnVuY3Rpb24gbW9kZWwobW9kZWwsIHNlc3Npb24sIGVudikge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBtb2RlbFJlc3VsdCA9IG5vcm1hbGl6ZShtb2RlbCB8fCB7fSk7XG5cbiAgICByZXNvbHZlKGVudiAmJiBlbnYucm9sZSAmJiBlbnYucm9sZSA9PT0gJ2luc3RydWN0b3InID8gbW9kZWxSZXN1bHQgOiB7fSk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBtYXJrdXBUb1RleHQocykge1xuICByZXR1cm4gKHMgfHwgJycpLnJlcGxhY2UoLyg8KFtePl0rKT4pL2dpLCAnJyk7XG59XG5cbi8vIElNUE9SVEFOVCEgSWYgeW91IG1ha2UgYW55IGNoYW5nZXMgdG8gdGhpcyBmdW5jdGlvbiwgcGxlYXNlIG1ha2Ugc3VyZSB5b3UgYWxzbyB1cGRhdGUgY29tcGxleC1ydWJyaWMvY29udHJvbGxlci92YWxpZGF0ZVNpbXBsZVJ1YnJpYyBmdW5jdGlvbiHigJwuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGUobW9kZWwpIHtcbiAgY29uc3QgeyBwb2ludHMgfSA9IG1vZGVsO1xuICBjb25zdCBlcnJvcnMgPSB7fTtcbiAgY29uc3QgcG9pbnRzRGVzY3JpcHRvcnNFcnJvcnMgPSB7fTtcblxuICAocG9pbnRzIHx8IFtdKS5mb3JFYWNoKChwb2ludCwgaW5kZXgpID0+IHtcblxuICAgIGlmICghcG9pbnQgfHwgcG9pbnQgPT09ICc8ZGl2PjwvZGl2PicpIHtcbiAgICAgIHBvaW50c0Rlc2NyaXB0b3JzRXJyb3JzW2luZGV4XSA9ICdQb2ludHMgZGVzY3JpcHRvcnMgY2Fubm90IGJlIGVtcHR5Lic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGlkZW50aWNhbFBvaW50RGVzY3IgPSBwb2ludHMuc2xpY2UoaW5kZXggKyAxKS5zb21lKChwKSA9PiBtYXJrdXBUb1RleHQocCkgPT09IG1hcmt1cFRvVGV4dChwb2ludCkpO1xuXG4gICAgICBpZiAoaWRlbnRpY2FsUG9pbnREZXNjcikge1xuICAgICAgICBwb2ludHNEZXNjcmlwdG9yc0Vycm9yc1tpbmRleF0gPSAnUG9pbnRzIGRlc2NyaXB0b3JzIHNob3VsZCBiZSB1bmlxdWUuJztcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIGlmIChPYmplY3Qua2V5cyhwb2ludHNEZXNjcmlwdG9yc0Vycm9ycykubGVuZ3RoID4gMCkge1xuICAgIGVycm9ycy5wb2ludHNEZXNjcmlwdG9yc0Vycm9ycyA9IHBvaW50c0Rlc2NyaXB0b3JzRXJyb3JzO1xuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxTQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxNQUFNQyxTQUFTLEdBQUlDLEtBQUssS0FBTTtFQUFFLEdBQUdDLGlCQUFRO0VBQUUsR0FBR0Q7QUFBTSxDQUFDLENBQUM7QUFFakQsU0FBU0EsS0FBS0EsQ0FBQ0EsS0FBSyxFQUFFRSxPQUFPLEVBQUVDLEdBQUcsRUFBRTtFQUN6QyxPQUFPLElBQUlDLE9BQU8sQ0FBRUMsT0FBTyxJQUFLO0lBQzlCLE1BQU1DLFdBQVcsR0FBR1AsU0FBUyxDQUFDQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFMUNLLE9BQU8sQ0FBQ0YsR0FBRyxJQUFJQSxHQUFHLENBQUNJLElBQUksSUFBSUosR0FBRyxDQUFDSSxJQUFJLEtBQUssWUFBWSxHQUFHRCxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7RUFDMUUsQ0FBQyxDQUFDO0FBQ0o7QUFFQSxTQUFTRSxZQUFZQSxDQUFDQyxDQUFDLEVBQUU7RUFDdkIsT0FBTyxDQUFDQSxDQUFDLElBQUksRUFBRSxFQUFFQyxPQUFPLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztBQUMvQzs7QUFFQTtBQUNPLFNBQVNDLFFBQVFBLENBQUNYLEtBQUssRUFBRTtFQUM5QixNQUFNO0lBQUVZO0VBQU8sQ0FBQyxHQUFHWixLQUFLO0VBQ3hCLE1BQU1hLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFDakIsTUFBTUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO0VBRWxDLENBQUNGLE1BQU0sSUFBSSxFQUFFLEVBQUVHLE9BQU8sQ0FBQyxDQUFDQyxLQUFLLEVBQUVDLEtBQUssS0FBSztJQUV2QyxJQUFJLENBQUNELEtBQUssSUFBSUEsS0FBSyxLQUFLLGFBQWEsRUFBRTtNQUNyQ0YsdUJBQXVCLENBQUNHLEtBQUssQ0FBQyxHQUFHLHFDQUFxQztJQUN4RSxDQUFDLE1BQU07TUFDTCxNQUFNQyxtQkFBbUIsR0FBR04sTUFBTSxDQUFDTyxLQUFLLENBQUNGLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQ0csSUFBSSxDQUFFQyxDQUFDLElBQUtiLFlBQVksQ0FBQ2EsQ0FBQyxDQUFDLEtBQUtiLFlBQVksQ0FBQ1EsS0FBSyxDQUFDLENBQUM7TUFFeEcsSUFBSUUsbUJBQW1CLEVBQUU7UUFDdkJKLHVCQUF1QixDQUFDRyxLQUFLLENBQUMsR0FBRyxzQ0FBc0M7TUFDekU7SUFDRjtFQUNGLENBQUMsQ0FBQztFQUVGLElBQUlLLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDVCx1QkFBdUIsQ0FBQyxDQUFDVSxNQUFNLEdBQUcsQ0FBQyxFQUFFO0lBQ25EWCxNQUFNLENBQUNDLHVCQUF1QixHQUFHQSx1QkFBdUI7RUFDMUQ7RUFFQSxPQUFPRCxNQUFNO0FBQ2YiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_defaults","_interopRequireDefault","require","normalize","model","defaults","session","env","Promise","resolve","modelResult","role","markupToText","s","replace","validate","points","errors","pointsDescriptorsErrors","forEach","point","index","identicalPointDescr","slice","some","p","Object","keys","length"],"sources":["../src/index.js"],"sourcesContent":["import defaults from './defaults';\n\nconst normalize = (model) => ({ ...defaults, ...model });\n\nexport function model(model, session, env) {\n return new Promise((resolve) => {\n const modelResult = normalize(model || {});\n\n resolve(env && env.role && env.role === 'instructor' ? modelResult : {});\n });\n}\n\nfunction markupToText(s) {\n return (s || '').replace(/(<([^>]+)>)/gi, '');\n}\n\n// IMPORTANT! If you make any changes to this function, please make sure you also update complex-rubric/controller/validateSimpleRubric function!“.\nexport function validate(model) {\n const { points } = model;\n const errors = {};\n const pointsDescriptorsErrors = {};\n\n (points || []).forEach((point, index) => {\n\n if (!point || point === '<div></div>') {\n pointsDescriptorsErrors[index] = 'Points descriptors cannot be empty.';\n } else {\n const identicalPointDescr = points.slice(index + 1).some((p) => markupToText(p) === markupToText(point));\n\n if (identicalPointDescr) {\n pointsDescriptorsErrors[index] = 'Points descriptors should be unique.';\n }\n }\n });\n\n if (Object.keys(pointsDescriptorsErrors).length > 0) {\n errors.pointsDescriptorsErrors = pointsDescriptorsErrors;\n }\n\n return errors;\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,MAAMC,SAAS,GAAIC,KAAK,KAAM;EAAE,GAAGC,iBAAQ;EAAE,GAAGD;AAAM,CAAC,CAAC;AAEjD,SAASA,KAAKA,CAACA,KAAK,EAAEE,OAAO,EAAEC,GAAG,EAAE;EACzC,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;IAC9B,MAAMC,WAAW,GAAGP,SAAS,CAACC,KAAK,IAAI,CAAC,CAAC,CAAC;IAE1CK,OAAO,CAACF,GAAG,IAAIA,GAAG,CAACI,IAAI,IAAIJ,GAAG,CAACI,IAAI,KAAK,YAAY,GAAGD,WAAW,GAAG,CAAC,CAAC,CAAC;EAC1E,CAAC,CAAC;AACJ;AAEA,SAASE,YAAYA,CAACC,CAAC,EAAE;EACvB,OAAO,CAACA,CAAC,IAAI,EAAE,EAAEC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;AAC/C;;AAEA;AACO,SAASC,QAAQA,CAACX,KAAK,EAAE;EAC9B,MAAM;IAAEY;EAAO,CAAC,GAAGZ,KAAK;EACxB,MAAMa,MAAM,GAAG,CAAC,CAAC;EACjB,MAAMC,uBAAuB,GAAG,CAAC,CAAC;EAElC,CAACF,MAAM,IAAI,EAAE,EAAEG,OAAO,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAK;IAEvC,IAAI,CAACD,KAAK,IAAIA,KAAK,KAAK,aAAa,EAAE;MACrCF,uBAAuB,CAACG,KAAK,CAAC,GAAG,qCAAqC;IACxE,CAAC,MAAM;MACL,MAAMC,mBAAmB,GAAGN,MAAM,CAACO,KAAK,CAACF,KAAK,GAAG,CAAC,CAAC,CAACG,IAAI,CAAEC,CAAC,IAAKb,YAAY,CAACa,CAAC,CAAC,KAAKb,YAAY,CAACQ,KAAK,CAAC,CAAC;MAExG,IAAIE,mBAAmB,EAAE;QACvBJ,uBAAuB,CAACG,KAAK,CAAC,GAAG,sCAAsC;MACzE;IACF;EACF,CAAC,CAAC;EAEF,IAAIK,MAAM,CAACC,IAAI,CAACT,uBAAuB,CAAC,CAACU,MAAM,GAAG,CAAC,EAAE;IACnDX,MAAM,CAACC,uBAAuB,GAAGA,uBAAuB;EAC1D;EAEA,OAAOD,MAAM;AACf","ignoreList":[]}
|
package/controller/package.json
CHANGED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _enzyme = require("enzyme");
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
var _main = _interopRequireDefault(require("../main"));
|
|
7
|
+
describe('rubric viewer', () => {
|
|
8
|
+
const wrapper = extras => {
|
|
9
|
+
const props = {
|
|
10
|
+
value: {
|
|
11
|
+
points: ['nothing right', 'a teeny bit right', 'mostly right', 'bingo'],
|
|
12
|
+
sampleAnswers: [null, 'just right', 'not left', null],
|
|
13
|
+
excludeZero: false,
|
|
14
|
+
...extras
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
return (0, _enzyme.mount)(/*#__PURE__*/_react.default.createElement(_main.default, props));
|
|
18
|
+
};
|
|
19
|
+
describe('snapshot', () => {
|
|
20
|
+
it('renders', () => {
|
|
21
|
+
const w = wrapper();
|
|
22
|
+
expect(w).toMatchSnapshot();
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
describe('expanded snapshot', () => {
|
|
26
|
+
it('renders', () => {
|
|
27
|
+
const w = wrapper();
|
|
28
|
+
w.find('#rubric-toggle').simulate('click');
|
|
29
|
+
expect(w).toMatchSnapshot();
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
describe('exclude zeros', () => {
|
|
33
|
+
it('renders correctly with excluded zeroes', () => {
|
|
34
|
+
let w = wrapper({
|
|
35
|
+
excludeZero: true,
|
|
36
|
+
points: ['a teeny bit right', 'mostly right', 'bingo'],
|
|
37
|
+
sampleAnswers: ['just right', 'not left', null]
|
|
38
|
+
});
|
|
39
|
+
w.find('#rubric-toggle').simulate('click');
|
|
40
|
+
expect(w.find('li').length).toEqual(5);
|
|
41
|
+
w = wrapper({
|
|
42
|
+
excludeZero: false
|
|
43
|
+
});
|
|
44
|
+
w.find('#rubric-toggle').simulate('click');
|
|
45
|
+
expect(w.find('li').length).toEqual(6);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZW56eW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbWFpbiIsImRlc2NyaWJlIiwid3JhcHBlciIsImV4dHJhcyIsInByb3BzIiwidmFsdWUiLCJwb2ludHMiLCJzYW1wbGVBbnN3ZXJzIiwiZXhjbHVkZVplcm8iLCJtb3VudCIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiaXQiLCJ3IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwiZmluZCIsInNpbXVsYXRlIiwibGVuZ3RoIiwidG9FcXVhbCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vcnVicmljLXZpZXcudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbW91bnQgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSdWJyaWMgZnJvbSAnLi4vbWFpbic7XG5cbmRlc2NyaWJlKCdydWJyaWMgdmlld2VyJywgKCkgPT4ge1xuICAgIGNvbnN0IHdyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICBwb2ludHM6IFsnbm90aGluZyByaWdodCcsICdhIHRlZW55IGJpdCByaWdodCcsICdtb3N0bHkgcmlnaHQnLCAnYmluZ28nXSxcbiAgICAgICAgICAgICAgICBzYW1wbGVBbnN3ZXJzOiBbbnVsbCwgJ2p1c3QgcmlnaHQnLCAnbm90IGxlZnQnLCBudWxsXSxcbiAgICAgICAgICAgICAgICBleGNsdWRlWmVybzogZmFsc2UsXG4gICAgICAgICAgICAgICAgLi4uZXh0cmFzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gbW91bnQoPFJ1YnJpYyB7Li4ucHJvcHN9IC8+KTtcbiAgICB9O1xuXG4gICAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgICAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHcgPSB3cmFwcGVyKCk7XG4gICAgICAgICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2V4cGFuZGVkIHNuYXBzaG90JywgKCkgPT4ge1xuICAgICAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHcgPSB3cmFwcGVyKCk7XG4gICAgICAgICAgICB3LmZpbmQoJyNydWJyaWMtdG9nZ2xlJykuc2ltdWxhdGUoJ2NsaWNrJyk7XG4gICAgICAgICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2V4Y2x1ZGUgemVyb3MnLCAoKSA9PiB7XG4gICAgICAgIGl0KCdyZW5kZXJzIGNvcnJlY3RseSB3aXRoIGV4Y2x1ZGVkIHplcm9lcycsICgpID0+IHtcbiAgICAgICAgICAgIGxldCB3ID0gd3JhcHBlcih7XG4gICAgICAgICAgICAgICAgZXhjbHVkZVplcm86IHRydWUsXG4gICAgICAgICAgICAgICAgcG9pbnRzOiBbJ2EgdGVlbnkgYml0IHJpZ2h0JywgJ21vc3RseSByaWdodCcsICdiaW5nbyddLFxuICAgICAgICAgICAgICAgIHNhbXBsZUFuc3dlcnM6IFsnanVzdCByaWdodCcsICdub3QgbGVmdCcsIG51bGxdXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHcuZmluZCgnI3J1YnJpYy10b2dnbGUnKS5zaW11bGF0ZSgnY2xpY2snKTtcbiAgICAgICAgICAgIGV4cGVjdCh3LmZpbmQoJ2xpJykubGVuZ3RoKS50b0VxdWFsKDUpO1xuXG4gICAgICAgICAgICB3ID0gd3JhcHBlcih7ZXhjbHVkZVplcm86IGZhbHNlfSk7XG4gICAgICAgICAgICB3LmZpbmQoJyNydWJyaWMtdG9nZ2xlJykuc2ltdWxhdGUoJ2NsaWNrJyk7XG4gICAgICAgICAgICBleHBlY3Qody5maW5kKCdsaScpLmxlbmd0aCkudG9FcXVhbCg2KTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBRUFJLFFBQVEsQ0FBQyxlQUFlLEVBQUUsTUFBTTtFQUM1QixNQUFNQyxPQUFPLEdBQUlDLE1BQU0sSUFBSztJQUN4QixNQUFNQyxLQUFLLEdBQUc7TUFDVkMsS0FBSyxFQUFFO1FBQ0hDLE1BQU0sRUFBRSxDQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO1FBQ3ZFQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUM7UUFDckRDLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEdBQUdMO01BQ1A7SUFDSixDQUFDO0lBRUQsT0FBTyxJQUFBTSxhQUFLLGVBQUNYLE1BQUEsQ0FBQVksT0FBQSxDQUFBQyxhQUFBLENBQUNYLEtBQUEsQ0FBQVUsT0FBTSxFQUFLTixLQUFRLENBQUMsQ0FBQztFQUN2QyxDQUFDO0VBRURILFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTTtJQUN2QlcsRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNO01BQ2hCLE1BQU1DLENBQUMsR0FBR1gsT0FBTyxDQUFDLENBQUM7TUFDbkJZLE1BQU0sQ0FBQ0QsQ0FBQyxDQUFDLENBQUNFLGVBQWUsQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQztFQUNOLENBQUMsQ0FBQztFQUVGZCxRQUFRLENBQUMsbUJBQW1CLEVBQUUsTUFBTTtJQUNoQ1csRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNO01BQ2hCLE1BQU1DLENBQUMsR0FBR1gsT0FBTyxDQUFDLENBQUM7TUFDbkJXLENBQUMsQ0FBQ0csSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUNDLFFBQVEsQ0FBQyxPQUFPLENBQUM7TUFDMUNILE1BQU0sQ0FBQ0QsQ0FBQyxDQUFDLENBQUNFLGVBQWUsQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQztFQUNOLENBQUMsQ0FBQztFQUVGZCxRQUFRLENBQUMsZUFBZSxFQUFFLE1BQU07SUFDNUJXLEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRSxNQUFNO01BQy9DLElBQUlDLENBQUMsR0FBR1gsT0FBTyxDQUFDO1FBQ1pNLFdBQVcsRUFBRSxJQUFJO1FBQ2pCRixNQUFNLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO1FBQ3REQyxhQUFhLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUk7TUFDbEQsQ0FBQyxDQUFDO01BQ0ZNLENBQUMsQ0FBQ0csSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUNDLFFBQVEsQ0FBQyxPQUFPLENBQUM7TUFDMUNILE1BQU0sQ0FBQ0QsQ0FBQyxDQUFDRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUNFLE1BQU0sQ0FBQyxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDO01BRXRDTixDQUFDLEdBQUdYLE9BQU8sQ0FBQztRQUFDTSxXQUFXLEVBQUU7TUFBSyxDQUFDLENBQUM7TUFDakNLLENBQUMsQ0FBQ0csSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUNDLFFBQVEsQ0FBQyxPQUFPLENBQUM7TUFDMUNILE1BQU0sQ0FBQ0QsQ0FBQyxDQUFDRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUNFLE1BQU0sQ0FBQyxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUMsQ0FBQztFQUNOLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
package/lib/index.js
CHANGED
|
@@ -1,94 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
|
-
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
23
|
-
|
|
7
|
+
exports.default = void 0;
|
|
24
8
|
var _main = _interopRequireDefault(require("./main"));
|
|
25
|
-
|
|
26
9
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
29
|
-
|
|
10
|
+
var _client = require("react-dom/client");
|
|
30
11
|
var _debug = _interopRequireDefault(require("debug"));
|
|
31
|
-
|
|
32
12
|
var _mathRendering = require("@pie-lib/math-rendering");
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
(0, _inherits2["default"])(RubricRender, _HTMLElement);
|
|
40
|
-
|
|
41
|
-
var _super = _createSuper(RubricRender);
|
|
42
|
-
|
|
43
|
-
function RubricRender() {
|
|
44
|
-
var _this;
|
|
45
|
-
|
|
46
|
-
(0, _classCallCheck2["default"])(this, RubricRender);
|
|
47
|
-
_this = _super.call(this);
|
|
48
|
-
|
|
49
|
-
_debug["default"].log('constructor called');
|
|
50
|
-
|
|
51
|
-
_this.onModelChanged = _this.onModelChanged.bind((0, _assertThisInitialized2["default"])(_this));
|
|
52
|
-
return _this;
|
|
13
|
+
class RubricRender extends HTMLElement {
|
|
14
|
+
constructor() {
|
|
15
|
+
super();
|
|
16
|
+
_debug.default.log('constructor called');
|
|
17
|
+
this.onModelChanged = this.onModelChanged.bind(this);
|
|
18
|
+
this._root = null;
|
|
53
19
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
this._render();
|
|
73
|
-
}
|
|
74
|
-
}, {
|
|
75
|
-
key: "_render",
|
|
76
|
-
value: function _render() {
|
|
77
|
-
var _this2 = this;
|
|
78
|
-
|
|
79
|
-
if (this._model) {
|
|
80
|
-
var el = /*#__PURE__*/_react["default"].createElement(_main["default"], {
|
|
81
|
-
value: this._model
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
_reactDom["default"].render(el, this, function () {
|
|
85
|
-
(0, _mathRendering.renderMath)(_this2);
|
|
86
|
-
});
|
|
20
|
+
set model(s) {
|
|
21
|
+
this._model = s;
|
|
22
|
+
this._render();
|
|
23
|
+
}
|
|
24
|
+
onModelChanged(m) {
|
|
25
|
+
this._model = m;
|
|
26
|
+
this._render();
|
|
27
|
+
}
|
|
28
|
+
connectedCallback() {
|
|
29
|
+
this._render();
|
|
30
|
+
}
|
|
31
|
+
_render() {
|
|
32
|
+
if (this._model) {
|
|
33
|
+
const el = /*#__PURE__*/_react.default.createElement(_main.default, {
|
|
34
|
+
value: this._model
|
|
35
|
+
});
|
|
36
|
+
if (!this._root) {
|
|
37
|
+
this._root = (0, _client.createRoot)(this);
|
|
87
38
|
}
|
|
39
|
+
this._root.render(el);
|
|
40
|
+
queueMicrotask(() => {
|
|
41
|
+
(0, _mathRendering.renderMath)(this);
|
|
42
|
+
});
|
|
88
43
|
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
44
|
+
}
|
|
45
|
+
disconnectedCallback() {
|
|
46
|
+
if (this._root) {
|
|
47
|
+
this._root.unmount();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.default = RubricRender;
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWFpbiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2NsaWVudCIsIl9kZWJ1ZyIsIl9tYXRoUmVuZGVyaW5nIiwiUnVicmljUmVuZGVyIiwiSFRNTEVsZW1lbnQiLCJjb25zdHJ1Y3RvciIsImRlYnVnIiwibG9nIiwib25Nb2RlbENoYW5nZWQiLCJiaW5kIiwiX3Jvb3QiLCJtb2RlbCIsInMiLCJfbW9kZWwiLCJfcmVuZGVyIiwibSIsImNvbm5lY3RlZENhbGxiYWNrIiwiZWwiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJSdWJyaWMiLCJ2YWx1ZSIsImNyZWF0ZVJvb3QiLCJyZW5kZXIiLCJxdWV1ZU1pY3JvdGFzayIsInJlbmRlck1hdGgiLCJkaXNjb25uZWN0ZWRDYWxsYmFjayIsInVubW91bnQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUnVicmljIGZyb20gJy4vbWFpbic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUm9vdCB9IGZyb20gJ3JlYWN0LWRvbS9jbGllbnQnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9tYXRoLXJlbmRlcmluZyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJ1YnJpY1JlbmRlciBleHRlbmRzIEhUTUxFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBkZWJ1Zy5sb2coJ2NvbnN0cnVjdG9yIGNhbGxlZCcpO1xuICAgIHRoaXMub25Nb2RlbENoYW5nZWQgPSB0aGlzLm9uTW9kZWxDaGFuZ2VkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5fcm9vdCA9IG51bGw7XG4gIH1cblxuICBzZXQgbW9kZWwocykge1xuICAgIHRoaXMuX21vZGVsID0gcztcbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgfVxuXG4gIG9uTW9kZWxDaGFuZ2VkKG0pIHtcbiAgICB0aGlzLl9tb2RlbCA9IG07XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgfVxuXG4gIF9yZW5kZXIoKSB7XG4gICAgaWYgKHRoaXMuX21vZGVsKSB7XG4gICAgICBjb25zdCBlbCA9IFJlYWN0LmNyZWF0ZUVsZW1lbnQoUnVicmljLCB7IHZhbHVlOiB0aGlzLl9tb2RlbCB9KTtcblxuICAgICAgaWYgKCF0aGlzLl9yb290KSB7XG4gICAgICAgIHRoaXMuX3Jvb3QgPSBjcmVhdGVSb290KHRoaXMpO1xuICAgICAgfVxuICAgICAgdGhpcy5fcm9vdC5yZW5kZXIoZWwpO1xuICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICByZW5kZXJNYXRoKHRoaXMpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgaWYgKHRoaXMuX3Jvb3QpIHtcbiAgICAgIHRoaXMuX3Jvb3QudW5tb3VudCgpO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBSixPQUFBO0FBRWUsTUFBTUssWUFBWSxTQUFTQyxXQUFXLENBQUM7RUFDcERDLFdBQVdBLENBQUEsRUFBRztJQUNaLEtBQUssQ0FBQyxDQUFDO0lBQ1BDLGNBQUssQ0FBQ0MsR0FBRyxDQUFDLG9CQUFvQixDQUFDO0lBQy9CLElBQUksQ0FBQ0MsY0FBYyxHQUFHLElBQUksQ0FBQ0EsY0FBYyxDQUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3BELElBQUksQ0FBQ0MsS0FBSyxHQUFHLElBQUk7RUFDbkI7RUFFQSxJQUFJQyxLQUFLQSxDQUFDQyxDQUFDLEVBQUU7SUFDWCxJQUFJLENBQUNDLE1BQU0sR0FBR0QsQ0FBQztJQUNmLElBQUksQ0FBQ0UsT0FBTyxDQUFDLENBQUM7RUFDaEI7RUFFQU4sY0FBY0EsQ0FBQ08sQ0FBQyxFQUFFO0lBQ2hCLElBQUksQ0FBQ0YsTUFBTSxHQUFHRSxDQUFDO0lBQ2YsSUFBSSxDQUFDRCxPQUFPLENBQUMsQ0FBQztFQUNoQjtFQUVBRSxpQkFBaUJBLENBQUEsRUFBRztJQUNsQixJQUFJLENBQUNGLE9BQU8sQ0FBQyxDQUFDO0VBQ2hCO0VBRUFBLE9BQU9BLENBQUEsRUFBRztJQUNSLElBQUksSUFBSSxDQUFDRCxNQUFNLEVBQUU7TUFDZixNQUFNSSxFQUFFLGdCQUFHQyxjQUFLLENBQUNDLGFBQWEsQ0FBQ0MsYUFBTSxFQUFFO1FBQUVDLEtBQUssRUFBRSxJQUFJLENBQUNSO01BQU8sQ0FBQyxDQUFDO01BRTlELElBQUksQ0FBQyxJQUFJLENBQUNILEtBQUssRUFBRTtRQUNmLElBQUksQ0FBQ0EsS0FBSyxHQUFHLElBQUFZLGtCQUFVLEVBQUMsSUFBSSxDQUFDO01BQy9CO01BQ0EsSUFBSSxDQUFDWixLQUFLLENBQUNhLE1BQU0sQ0FBQ04sRUFBRSxDQUFDO01BQ3JCTyxjQUFjLENBQUMsTUFBTTtRQUNuQixJQUFBQyx5QkFBVSxFQUFDLElBQUksQ0FBQztNQUNsQixDQUFDLENBQUM7SUFDSjtFQUNGO0VBRUFDLG9CQUFvQkEsQ0FBQSxFQUFHO0lBQ3JCLElBQUksSUFBSSxDQUFDaEIsS0FBSyxFQUFFO01BQ2QsSUFBSSxDQUFDQSxLQUFLLENBQUNpQixPQUFPLENBQUMsQ0FBQztJQUN0QjtFQUNGO0FBQ0Y7QUFBQ0MsT0FBQSxDQUFBQyxPQUFBLEdBQUExQixZQUFBIiwiaWdub3JlTGlzdCI6W119
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_main","_interopRequireDefault","require","_react","_client","_debug","_mathRendering","RubricRender","HTMLElement","constructor","debug","log","onModelChanged","bind","_root","model","s","_model","_render","m","connectedCallback","el","React","createElement","Rubric","value","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","exports","default"],"sources":["../src/index.js"],"sourcesContent":["import Rubric from './main';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport debug from 'debug';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nexport default class RubricRender extends HTMLElement {\n constructor() {\n super();\n debug.log('constructor called');\n this.onModelChanged = this.onModelChanged.bind(this);\n this._root = null;\n }\n\n set model(s) {\n this._model = s;\n this._render();\n }\n\n onModelChanged(m) {\n this._model = m;\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (this._model) {\n const el = React.createElement(Rubric, { value: this._model });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAEe,MAAMK,YAAY,SAASC,WAAW,CAAC;EACpDC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IACPC,cAAK,CAACC,GAAG,CAAC,oBAAoB,CAAC;IAC/B,IAAI,CAACC,cAAc,GAAG,IAAI,CAACA,cAAc,CAACC,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACC,KAAK,GAAG,IAAI;EACnB;EAEA,IAAIC,KAAKA,CAACC,CAAC,EAAE;IACX,IAAI,CAACC,MAAM,GAAGD,CAAC;IACf,IAAI,CAACE,OAAO,CAAC,CAAC;EAChB;EAEAN,cAAcA,CAACO,CAAC,EAAE;IAChB,IAAI,CAACF,MAAM,GAAGE,CAAC;IACf,IAAI,CAACD,OAAO,CAAC,CAAC;EAChB;EAEAE,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACF,OAAO,CAAC,CAAC;EAChB;EAEAA,OAAOA,CAAA,EAAG;IACR,IAAI,IAAI,CAACD,MAAM,EAAE;MACf,MAAMI,EAAE,gBAAGC,cAAK,CAACC,aAAa,CAACC,aAAM,EAAE;QAAEC,KAAK,EAAE,IAAI,CAACR;MAAO,CAAC,CAAC;MAE9D,IAAI,CAAC,IAAI,CAACH,KAAK,EAAE;QACf,IAAI,CAACA,KAAK,GAAG,IAAAY,kBAAU,EAAC,IAAI,CAAC;MAC/B;MACA,IAAI,CAACZ,KAAK,CAACa,MAAM,CAACN,EAAE,CAAC;MACrBO,cAAc,CAAC,MAAM;QACnB,IAAAC,yBAAU,EAAC,IAAI,CAAC;MAClB,CAAC,CAAC;IACJ;EACF;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,IAAI,CAAChB,KAAK,EAAE;MACd,IAAI,CAACA,KAAK,CAACiB,OAAO,CAAC,CAAC;IACtB;EACF;AACF;AAACC,OAAA,CAAAC,OAAA,GAAA1B,YAAA","ignoreList":[]}
|