@pie-element/inline-dropdown 3.10.6-next.2 → 3.10.7
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 +72 -0
- package/LICENSE.md +5 -0
- package/configure/CHANGELOG.md +64 -0
- package/configure/lib/defaults.js +1 -1
- package/configure/lib/index.js +1 -1
- package/configure/lib/inline-dropdown-toolbar.js +1 -1
- package/configure/lib/main.js +4 -17
- package/configure/lib/main.js.map +1 -1
- package/configure/lib/markupUtils.js +1 -1
- package/configure/package.json +3 -3
- package/controller/CHANGELOG.md +16 -0
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/index.js +1 -21
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +1 -1
- package/controller/package.json +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/inline-dropdown.js +1 -1
- package/package.json +2 -2
- package/configure/lib/__tests__/inline-dropdown-toolbar.test.js +0 -124
- package/configure/lib/__tests__/main.test.js +0 -516
- package/configure/lib/__tests__/markupUtils.test.js +0 -108
- package/controller/lib/__tests__/index.test.js +0 -942
- package/docs/demo/pie.manifest.json +0 -11
- package/lib/__tests__/inline-dropdown.test.js +0 -121
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,78 @@
|
|
|
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
|
+
## [3.10.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown@3.10.6...@pie-element/inline-dropdown@3.10.7) (2022-04-12)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [3.10.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown@3.10.5...@pie-element/inline-dropdown@3.10.6) (2022-03-28)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [3.10.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown@3.10.4...@pie-element/inline-dropdown@3.10.5) (2022-03-22)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## [3.10.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown@3.10.3...@pie-element/inline-dropdown@3.10.4) (2022-03-08)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## [3.10.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown@3.10.2...@pie-element/inline-dropdown@3.10.3) (2022-03-08)
|
|
39
|
+
|
|
40
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## [3.10.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown@3.10.1...@pie-element/inline-dropdown@3.10.2) (2022-02-21)
|
|
47
|
+
|
|
48
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## [3.10.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown@3.10.0...@pie-element/inline-dropdown@3.10.1) (2022-02-04)
|
|
55
|
+
|
|
56
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
# [3.10.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown@3.9.9...@pie-element/inline-dropdown@3.10.0) (2022-01-24)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
### Bug Fixes
|
|
66
|
+
|
|
67
|
+
* use preview prompt for prompt, rationale and teacher instructions to fix table rendering PD-1456 ([f330601](https://github.com/pie-framework/pie-elements/commit/f3306019a2d1c8ce3e2783823dfe9ef0a0394e4f))
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
### Features
|
|
71
|
+
|
|
72
|
+
* **drag-in-the-blank, inline-dropdown:** move rationale after the item content PD-1379 ([fd71c58](https://github.com/pie-framework/pie-elements/commit/fd71c5853bdd63b31a746241dd5649e5de051300))
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
6
78
|
## [3.9.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown@3.9.8...@pie-element/inline-dropdown@3.9.9) (2022-01-10)
|
|
7
79
|
|
|
8
80
|
**Note:** Version bump only for package @pie-element/inline-dropdown
|
package/LICENSE.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Copyright 2019 CoreSpring Inc
|
|
2
|
+
|
|
3
|
+
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
|
4
|
+
|
|
5
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
package/configure/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,70 @@
|
|
|
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
|
+
## [3.6.16](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown-configure@3.6.15...@pie-element/inline-dropdown-configure@3.6.16) (2022-04-12)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown-configure
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [3.6.15](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown-configure@3.6.14...@pie-element/inline-dropdown-configure@3.6.15) (2022-03-28)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown-configure
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [3.6.14](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown-configure@3.6.13...@pie-element/inline-dropdown-configure@3.6.14) (2022-03-22)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown-configure
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## [3.6.13](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown-configure@3.6.12...@pie-element/inline-dropdown-configure@3.6.13) (2022-03-08)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown-configure
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## [3.6.12](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown-configure@3.6.11...@pie-element/inline-dropdown-configure@3.6.12) (2022-03-08)
|
|
39
|
+
|
|
40
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown-configure
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## [3.6.11](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown-configure@3.6.10...@pie-element/inline-dropdown-configure@3.6.11) (2022-02-21)
|
|
47
|
+
|
|
48
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown-configure
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## [3.6.10](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown-configure@3.6.9...@pie-element/inline-dropdown-configure@3.6.10) (2022-02-04)
|
|
55
|
+
|
|
56
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown-configure
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## [3.6.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown-configure@3.6.8...@pie-element/inline-dropdown-configure@3.6.9) (2022-01-24)
|
|
63
|
+
|
|
64
|
+
**Note:** Version bump only for package @pie-element/inline-dropdown-configure
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
6
70
|
## [3.6.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/inline-dropdown-configure@3.6.7...@pie-element/inline-dropdown-configure@3.6.8) (2022-01-10)
|
|
7
71
|
|
|
8
72
|
**Note:** Version bump only for package @pie-element/inline-dropdown-configure
|
|
@@ -58,4 +58,4 @@ var _default = {
|
|
|
58
58
|
}
|
|
59
59
|
};
|
|
60
60
|
exports["default"] = _default;
|
|
61
|
-
//# sourceMappingURL=
|
|
61
|
+
//# sourceMappingURL=defaults.js.map
|
package/configure/lib/index.js
CHANGED
|
@@ -159,4 +159,4 @@ exports["default"] = InlineDropdown;
|
|
|
159
159
|
|
|
160
160
|
});
|
|
161
161
|
});
|
|
162
|
-
//# sourceMappingURL=
|
|
162
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -441,4 +441,4 @@ var StyledRespAreaToolbar = (0, _styles.withStyles)({
|
|
|
441
441
|
})(RespAreaToolbar);
|
|
442
442
|
var _default = StyledRespAreaToolbar;
|
|
443
443
|
exports["default"] = _default;
|
|
444
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmxpbmUtZHJvcGRvd24tdG9vbGJhci5qc3giXSwibmFtZXMiOlsiTWVudUl0ZW1Db21wIiwiZSIsIm9uUmVtb3ZlQ2hvaWNlIiwicHJvcHMiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImNsYXNzZXMiLCJjb3JyZWN0Iiwib25DbGljayIsInZhbHVlIiwid3JhcHBlciIsInZhbHVlSG9sZGVyIiwiX19odG1sIiwicmVtb3ZlSWNvbiIsIm9uUmVtb3ZlQ2xpY2siLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJib29sIiwiZnVuYyIsInN0cmluZyIsIk1lbnVJdGVtIiwiYmFja2dyb3VuZCIsImJvcmRlckJvdHRvbSIsImJveFNpemluZyIsImRpc3BsYXkiLCJjdXJzb3IiLCJsaW5lSGVpZ2h0IiwicGFkZGluZyIsInBvc2l0aW9uIiwiZm9udFNpemUiLCJmb250U3R5bGUiLCJ0cmFuc2Zvcm0iLCJ0b3AiLCJyaWdodCIsInpJbmRleCIsIndvcmRCcmVhayIsImZpbmRTbGF0ZU5vZGUiLCJrZXkiLCJ3aW5kb3ciLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJjcmVhdGVFbGVtZW50RnJvbUhUTUwiLCJodG1sU3RyaW5nIiwiZGl2IiwiY3JlYXRlRWxlbWVudCIsImlubmVySFRNTCIsInRyaW0iLCJSZXNwQXJlYVRvb2xiYXIiLCJyZXNwQXJlYU1hcmt1cCIsInNldFN0YXRlIiwiZWRpdG9yUmVmIiwiZmluaXNoRWRpdGluZyIsInZhbCIsIm5vZGUiLCJvbkFkZENob2ljZSIsIm9ubHlUZXh0IiwidGV4dENvbnRlbnQiLCJkYXRhIiwiZ2V0IiwibmV3VmFsdWUiLCJpbmRleCIsIm9uVG9vbGJhckRvbmUiLCJvblNlbGVjdENob2ljZSIsInVwZGF0ZSIsInRvSlNPTiIsImNoYW5nZSIsInNldE5vZGVCeUtleSIsIm5leHRUZXh0IiwiZ2V0TmV4dFRleHQiLCJtb3ZlRm9jdXNUbyIsIm1vdmVBbmNob3JUbyIsImV2ZW50IiwiY2xpY2tlZEluc2lkZSIsImNob2ljZXMiLCJvbkNoZWNrIiwiY29ycmVjdFJlc3BvbnNlIiwiZmluZCIsImNob2ljZSIsImxlbmd0aCIsInJlbW92ZU5vZGVCeUtleSIsInNsYXRlRWRpdG9yUmVmIiwicm9vdFJlZiIsInNsYXRlRWRpdG9yIiwiaW5wdXRSZWYiLCJlbGVtZW50IiwiZm9jdXMiLCJkb21Ob2RlIiwiZG9tTm9kZVJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJlZGl0b3IiLCJjbG9zZXN0IiwiZWRpdG9yUmVjdCIsImxlZnQiLCJ0b29sYmFyU3R5bGUiLCJoZWlnaHQiLCJ3aWR0aCIsIlJlYWN0RE9NIiwiZmluZERPTU5vZGUiLCJzcGVsbENoZWNrIiwic3RhdGUiLCJmaWx0ZXJlZERlZmF1bHRQbHVnaW5zIiwiREVGQVVMVF9QTFVHSU5TIiwiZmlsdGVyIiwicCIsImxhYmVsUGx1Z2lucyIsImF1ZGlvIiwiZGlzYWJsZWQiLCJ2aWRlbyIsImJhY2tncm91bmRDb2xvciIsIm9uQ2xpY2tJbnNpZGUiLCJpdGVtQnVpbGRlciIsInJlZiIsInJlc3BBcmVhIiwiYWx3YXlzVmlzaWJsZSIsInNob3dEb25lIiwiZG9uZU9uIiwib25LZXlEb3duIiwib25SZXNwQXJlYUNoYW5nZSIsIm9uRG9uZSIsIm9uQmx1ciIsImZvY3VzSW5wdXQiLCJjaG9pY2VzSG9sZGVyIiwibWFwIiwibGFiZWwiLCJhcnJheSIsInNoYXBlIiwiU3R5bGVkUmVzcEFyZWFUb29sYmFyIiwibWluSGVpZ2h0IiwiZmxleERpcmVjdGlvbiIsImJvcmRlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7OztJQUdNQSxZOzs7Ozs7Ozs7Ozs7Ozs7c0dBU1ksVUFBQUMsQ0FBQyxFQUFJO0FBQ25CLFVBQVFDLGNBQVIsR0FBMkIsTUFBS0MsS0FBaEMsQ0FBUUQsY0FBUjtBQUVBRCxNQUFBQSxDQUFDLENBQUNHLGNBQUY7QUFDQUgsTUFBQUEsQ0FBQyxDQUFDSSxlQUFGO0FBRUFILE1BQUFBLGNBQWM7QUFDZixLOzs7Ozs7V0FFRCxrQkFBUztBQUNQLHdCQUE2QyxLQUFLQyxLQUFsRDtBQUFBLFVBQVFHLE9BQVIsZUFBUUEsT0FBUjtBQUFBLFVBQWlCQyxPQUFqQixlQUFpQkEsT0FBakI7QUFBQSxVQUEwQkMsT0FBMUIsZUFBMEJBLE9BQTFCO0FBQUEsVUFBbUNDLEtBQW5DLGVBQW1DQSxLQUFuQztBQUVBLDBCQUNFO0FBQUssUUFBQSxTQUFTLEVBQUUsNkJBQVdILE9BQU8sQ0FBQ0ksT0FBbkIsdUNBQStCSixPQUFPLENBQUNDLE9BQXZDLEVBQWlEQSxPQUFqRCxFQUFoQjtBQUE2RSxRQUFBLE9BQU8sRUFBRUM7QUFBdEYsc0JBQ0U7QUFDRSxRQUFBLFNBQVMsRUFBRUYsT0FBTyxDQUFDSyxXQURyQjtBQUVFLFFBQUEsdUJBQXVCLEVBQUU7QUFDdkJDLFVBQUFBLE1BQU0sRUFBRUg7QUFEZTtBQUYzQixRQURGLGVBT0U7QUFBRyxRQUFBLFNBQVMsRUFBRUgsT0FBTyxDQUFDTyxVQUF0QjtBQUFrQyxRQUFBLE9BQU8sRUFBRSxLQUFLQztBQUFoRCxhQVBGLENBREY7QUFhRDs7O0VBbEN3QkMsa0JBQU1DLFM7O2lDQUEzQmhCLFksZUFDZTtBQUNqQk0sRUFBQUEsT0FBTyxFQUFFVyxzQkFBVUMsTUFBVixDQUFpQkMsVUFEVDtBQUVqQlosRUFBQUEsT0FBTyxFQUFFVSxzQkFBVUcsSUFBVixDQUFlRCxVQUZQO0FBR2pCWCxFQUFBQSxPQUFPLEVBQUVTLHNCQUFVSSxJQUFWLENBQWVGLFVBSFA7QUFJakJqQixFQUFBQSxjQUFjLEVBQUVlLHNCQUFVSSxJQUFWLENBQWVGLFVBSmQ7QUFLakJWLEVBQUFBLEtBQUssRUFBRVEsc0JBQVVLLE1BQVYsQ0FBaUJIO0FBTFAsQztBQW9DckIsSUFBTUksUUFBUSxHQUFHLHdCQUFXO0FBQzFCYixFQUFBQSxPQUFPLEVBQUU7QUFDUGMsSUFBQUEsVUFBVSxFQUFFLE1BREw7QUFFUEMsSUFBQUEsWUFBWSxFQUFFLGlCQUZQO0FBR1BDLElBQUFBLFNBQVMsRUFBRSxZQUhKO0FBSVBDLElBQUFBLE9BQU8sRUFBRSxPQUpGO0FBS1BDLElBQUFBLE1BQU0sRUFBRSxTQUxEO0FBTVBDLElBQUFBLFVBQVUsRUFBRSxNQU5MO0FBT1BDLElBQUFBLE9BQU8sRUFBRSxxQkFQRjtBQVFQQyxJQUFBQSxRQUFRLEVBQUU7QUFSSCxHQURpQjtBQVcxQnhCLEVBQUFBLE9BQU8sRUFBRTtBQUNQaUIsSUFBQUEsVUFBVSxFQUFFO0FBREwsR0FYaUI7QUFjMUJYLEVBQUFBLFVBQVUsRUFBRTtBQUNWZSxJQUFBQSxNQUFNLEVBQUUsU0FERTtBQUVWSSxJQUFBQSxRQUFRLEVBQUUsTUFGQTtBQUdWQyxJQUFBQSxTQUFTLEVBQUUsUUFIRDtBQUlWRixJQUFBQSxRQUFRLEVBQUUsVUFKQTtBQUtWRyxJQUFBQSxTQUFTLEVBQUUsb0JBTEQ7QUFNVkMsSUFBQUEsR0FBRyxFQUFFLEtBTks7QUFPVkMsSUFBQUEsS0FBSyxFQUFFLEtBUEc7QUFRVkMsSUFBQUEsTUFBTSxFQUFFO0FBUkUsR0FkYztBQXdCMUIxQixFQUFBQSxXQUFXLEVBQUU7QUFDWDJCLElBQUFBLFNBQVMsRUFBRTtBQURBO0FBeEJhLENBQVgsRUEyQmR0QyxZQTNCYyxDQUFqQjs7QUE2QkEsSUFBTXVDLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsQ0FBQUMsR0FBRyxFQUFJO0FBQzNCLFNBQU9DLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkMsYUFBaEIsQ0FBOEIsZ0JBQWdCSCxHQUFoQixHQUFzQixJQUFwRCxDQUFQO0FBQ0QsQ0FGRDs7QUFJQSxJQUFNSSxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXdCLENBQUFDLFVBQVUsRUFBSTtBQUMxQyxNQUFNQyxHQUFHLEdBQUdKLFFBQVEsQ0FBQ0ssYUFBVCxDQUF1QixLQUF2QixDQUFaO0FBRUFELEVBQUFBLEdBQUcsQ0FBQ0UsU0FBSixHQUFnQixDQUFDSCxVQUFVLElBQUksRUFBZixFQUFtQkksSUFBbkIsRUFBaEI7QUFFQSxTQUFPSCxHQUFQO0FBQ0QsQ0FORDs7SUFRYUksZTs7Ozs7Ozs7Ozs7Ozs7OytGQWtCSDtBQUNOQyxNQUFBQSxjQUFjLEVBQUU7QUFEVixLOzBHQW1DVyxVQUFBQSxjQUFjLEVBQUk7QUFDbkMsYUFBS0MsUUFBTCxDQUFjO0FBQUVELFFBQUFBLGNBQWMsRUFBZEE7QUFBRixPQUFkO0FBQ0QsSztxR0FFYSxZQUFNO0FBQ2xCLFVBQUksT0FBS0UsU0FBVCxFQUFvQjtBQUNsQixlQUFLQSxTQUFMLENBQWVDLGFBQWY7QUFDRDtBQUNGLEs7Z0dBRVEsVUFBQ0MsR0FBRCxFQUFTO0FBQ2hCLHlCQUE4QixPQUFLcEQsS0FBbkM7QUFBQSxVQUFRcUQsSUFBUixnQkFBUUEsSUFBUjtBQUFBLFVBQWNDLFdBQWQsZ0JBQWNBLFdBQWQ7QUFDQSxVQUFNQyxRQUFRLEdBQUdkLHFCQUFxQixDQUFDVyxHQUFELENBQXJCLENBQTJCSSxXQUEzQixDQUF1Q1YsSUFBdkMsRUFBakI7O0FBRUEsVUFBSSxDQUFDLHlCQUFRUyxRQUFSLENBQUwsRUFBd0I7QUFDdEJELFFBQUFBLFdBQVcsQ0FBQ0QsSUFBSSxDQUFDSSxJQUFMLENBQVVDLEdBQVYsQ0FBYyxPQUFkLENBQUQsRUFBeUJOLEdBQXpCLENBQVg7QUFDRDtBQUNGLEs7d0dBRWdCLFVBQUNPLFFBQUQsRUFBV0MsS0FBWCxFQUFxQjtBQUNwQywwQkFBdUQsT0FBSzVELEtBQTVEO0FBQUEsVUFBUXFELElBQVIsaUJBQVFBLElBQVI7QUFBQSxVQUFjL0MsS0FBZCxpQkFBY0EsS0FBZDtBQUFBLFVBQXFCdUQsYUFBckIsaUJBQXFCQSxhQUFyQjtBQUFBLFVBQW9DQyxjQUFwQyxpQkFBb0NBLGNBQXBDOztBQUNBLFVBQU1DLE1BQU0sbUNBQVFWLElBQUksQ0FBQ0ksSUFBTCxDQUFVTyxNQUFWLEVBQVI7QUFBNEIxRCxRQUFBQSxLQUFLLEVBQUVxRDtBQUFuQyxRQUFaOztBQUNBLFVBQU1NLE1BQU0sR0FBRzNELEtBQUssQ0FBQzJELE1BQU4sR0FBZUMsWUFBZixDQUE0QmIsSUFBSSxDQUFDaEIsR0FBakMsRUFBc0M7QUFBRW9CLFFBQUFBLElBQUksRUFBRU07QUFBUixPQUF0QyxDQUFmO0FBRUEsVUFBTUksUUFBUSxHQUFHN0QsS0FBSyxDQUFDaUMsUUFBTixDQUFlNkIsV0FBZixDQUEyQmYsSUFBSSxDQUFDaEIsR0FBaEMsQ0FBakI7QUFFQTRCLE1BQUFBLE1BQU0sQ0FBQ0ksV0FBUCxDQUFtQkYsUUFBUSxDQUFDOUIsR0FBNUIsRUFBaUMsQ0FBakMsRUFBb0NpQyxZQUFwQyxDQUFpREgsUUFBUSxDQUFDOUIsR0FBMUQsRUFBK0QsQ0FBL0Q7QUFFQXdCLE1BQUFBLGFBQWEsQ0FBQ0ksTUFBRCxFQUFTLEtBQVQsQ0FBYjtBQUVBSCxNQUFBQSxjQUFjLENBQUNGLEtBQUQsQ0FBZDtBQUNELEs7d0dBRWdCLFVBQUNSLEdBQUQsRUFBTVEsS0FBTixFQUFnQjtBQUMvQiwwQkFBdUQsT0FBSzVELEtBQTVEO0FBQUEsVUFBUXFELElBQVIsaUJBQVFBLElBQVI7QUFBQSxVQUFjL0MsS0FBZCxpQkFBY0EsS0FBZDtBQUFBLFVBQXFCdUQsYUFBckIsaUJBQXFCQSxhQUFyQjtBQUFBLFVBQW9DOUQsY0FBcEMsaUJBQW9DQSxjQUFwQzs7QUFFQSxVQUFJLHlCQUFRcUQsR0FBUixFQUFhQyxJQUFJLENBQUNJLElBQUwsQ0FBVUMsR0FBVixDQUFjLE9BQWQsQ0FBYixDQUFKLEVBQTBDO0FBQ3hDLFlBQU1LLE1BQU0sbUNBQVFWLElBQUksQ0FBQ0ksSUFBTCxDQUFVTyxNQUFWLEVBQVI7QUFBNEIxRCxVQUFBQSxLQUFLLEVBQUU7QUFBbkMsVUFBWjs7QUFDQSxZQUFNMkQsTUFBTSxHQUFHM0QsS0FBSyxDQUFDMkQsTUFBTixHQUFlQyxZQUFmLENBQTRCYixJQUFJLENBQUNoQixHQUFqQyxFQUFzQztBQUFFb0IsVUFBQUEsSUFBSSxFQUFFTTtBQUFSLFNBQXRDLENBQWY7QUFFQUYsUUFBQUEsYUFBYSxDQUFDSSxNQUFELEVBQVMsS0FBVCxDQUFiO0FBQ0Q7O0FBRURsRSxNQUFBQSxjQUFjLENBQUM2RCxLQUFELENBQWQ7QUFDRCxLO21HQUVXLFVBQUFXLEtBQUssRUFBSTtBQUNuQixVQUFJQSxLQUFLLENBQUNsQyxHQUFOLEtBQWMsT0FBbEIsRUFBMkI7QUFDekIsZUFBS2lCLFdBQUwsR0FEeUIsQ0FFekI7OztBQUNBLGVBQU8sS0FBUDtBQUNEO0FBQ0YsSztnR0FFUSxZQUFNO0FBQ2IsVUFBSSxPQUFLa0IsYUFBVCxFQUF3QjtBQUN0QixlQUFLQSxhQUFMLEdBQXFCLEtBQXJCO0FBQ0E7QUFDRDs7QUFFRCwwQkFBeUQsT0FBS3hFLEtBQTlEO0FBQUEsVUFBUXFELElBQVIsaUJBQVFBLElBQVI7QUFBQSxVQUFjb0IsT0FBZCxpQkFBY0EsT0FBZDtBQUFBLFVBQXVCQyxPQUF2QixpQkFBdUJBLE9BQXZCO0FBQUEsVUFBZ0NiLGFBQWhDLGlCQUFnQ0EsYUFBaEM7QUFBQSxVQUErQ3ZELEtBQS9DLGlCQUErQ0EsS0FBL0M7QUFDQSxVQUFNcUUsZUFBZSxHQUFHLENBQUNGLE9BQU8sSUFBSSxFQUFaLEVBQWdCRyxJQUFoQixDQUFxQixVQUFBQyxNQUFNO0FBQUEsZUFBSUEsTUFBTSxDQUFDekUsT0FBWDtBQUFBLE9BQTNCLENBQXhCOztBQUVBLGFBQUtrRCxXQUFMOztBQUNBLFVBQUksQ0FBQ21CLE9BQUQsSUFBYUEsT0FBTyxJQUFJQSxPQUFPLENBQUNLLE1BQVIsR0FBaUIsQ0FBekMsSUFBK0MsQ0FBQ0gsZUFBcEQsRUFBcUU7QUFDbkVELFFBQUFBLE9BQU8sQ0FBQyxZQUFNO0FBQ1osY0FBTVQsTUFBTSxHQUFHM0QsS0FBSyxDQUFDMkQsTUFBTixFQUFmO0FBRUFBLFVBQUFBLE1BQU0sQ0FBQ2MsZUFBUCxDQUF1QjFCLElBQUksQ0FBQ0ssR0FBTCxDQUFTLEtBQVQsQ0FBdkI7QUFDQUcsVUFBQUEsYUFBYSxDQUFDSSxNQUFELEVBQVMsS0FBVCxDQUFiO0FBQ0QsU0FMTSxDQUFQO0FBTUQ7QUFDRixLO3VHQUVlLFlBQU07QUFDcEIsYUFBS08sYUFBTCxHQUFxQixJQUFyQjtBQUNELEs7b0dBRVksWUFBTTtBQUNqQjtBQUNBLFVBQU1RLGNBQWMsR0FBRyxPQUFLOUIsU0FBTCxJQUFrQixPQUFLQSxTQUFMLENBQWUrQixPQUFqQyxJQUE0QyxPQUFLL0IsU0FBTCxDQUFlK0IsT0FBZixDQUF1QkMsV0FBMUY7QUFDQSxVQUFNQyxRQUFRLEdBQUdILGNBQWMsSUFBSUEsY0FBYyxDQUFDOUIsU0FBakMsSUFBOEM4QixjQUFjLENBQUM5QixTQUFmLENBQXlCa0MsT0FBeEY7O0FBRUEsVUFBSUQsUUFBSixFQUFjO0FBQ1pBLFFBQUFBLFFBQVEsQ0FBQ0UsS0FBVDtBQUNEO0FBQ0YsSzs7Ozs7O1dBckhELDZCQUFvQjtBQUNsQixVQUFRaEMsSUFBUixHQUFpQixLQUFLckQsS0FBdEIsQ0FBUXFELElBQVI7QUFFQSxVQUFNaUMsT0FBTyxHQUFHbEQsYUFBYSxDQUFDaUIsSUFBSSxDQUFDaEIsR0FBTixDQUE3Qjs7QUFFQSxVQUFJaUQsT0FBSixFQUFhO0FBQ1g7QUFDQSxZQUFNQyxXQUFXLEdBQUdELE9BQU8sQ0FBQ0UscUJBQVIsRUFBcEI7QUFDQSxZQUFNQyxNQUFNLEdBQUdILE9BQU8sQ0FBQ0ksT0FBUixDQUFnQixxQkFBaEIsQ0FBZjtBQUNBLFlBQU1DLFVBQVUsR0FBR0YsTUFBTSxDQUFDRCxxQkFBUCxFQUFuQjtBQUNBLFlBQU14RCxHQUFHLEdBQUd1RCxXQUFXLENBQUN2RCxHQUFaLEdBQWtCMkQsVUFBVSxDQUFDM0QsR0FBekM7QUFDQSxZQUFNNEQsSUFBSSxHQUFHTCxXQUFXLENBQUNLLElBQVosR0FBbUJELFVBQVUsQ0FBQ0MsSUFBM0M7QUFFQSxhQUFLM0MsUUFBTCxDQUFjO0FBQ1o0QyxVQUFBQSxZQUFZLEVBQUU7QUFDWmpFLFlBQUFBLFFBQVEsRUFBRSxVQURFO0FBRVpJLFlBQUFBLEdBQUcsWUFBS0EsR0FBRyxHQUFHdUQsV0FBVyxDQUFDTyxNQUFsQixHQUEyQixFQUFoQyxPQUZTO0FBR1pGLFlBQUFBLElBQUksWUFBS0EsSUFBSSxHQUFHLEVBQVosT0FIUTtBQUlaRyxZQUFBQSxLQUFLLEVBQUVSLFdBQVcsQ0FBQ1E7QUFKUDtBQURGLFNBQWQ7QUFRRDtBQUNGOzs7V0FFRCw4QkFBcUI7QUFDbkI7QUFDQSxVQUFNVCxPQUFPLEdBQUdVLHFCQUFTQyxXQUFULENBQXFCLElBQXJCLENBQWhCOztBQUVBLHFDQUFXWCxPQUFYO0FBQ0Q7OztXQTBGRCxrQkFBUztBQUFBOztBQUNQLHlCQUF5QyxLQUFLdEYsS0FBOUM7QUFBQSxVQUFRRyxPQUFSLGdCQUFRQSxPQUFSO0FBQUEsVUFBaUJzRSxPQUFqQixnQkFBaUJBLE9BQWpCO0FBQUEsVUFBMEJ5QixVQUExQixnQkFBMEJBLFVBQTFCO0FBQ0Esd0JBQXlDLEtBQUtDLEtBQTlDO0FBQUEsVUFBUW5ELGNBQVIsZUFBUUEsY0FBUjtBQUFBLFVBQXdCNkMsWUFBeEIsZUFBd0JBLFlBQXhCO0FBRUEsVUFBTU8sc0JBQXNCLEdBQUcsQ0FBQ0MsaUNBQW1CLEVBQXBCLEVBQXdCQyxNQUF4QixDQUErQixVQUFBQyxDQUFDO0FBQUEsZUFBSUEsQ0FBQyxLQUFLLE9BQU4sSUFBaUJBLENBQUMsS0FBSyxlQUF2QixJQUEwQ0EsQ0FBQyxLQUFLLGVBQXBEO0FBQUEsT0FBaEMsQ0FBL0I7QUFDQSxVQUFNQyxZQUFZLEdBQUc7QUFDbkJDLFFBQUFBLEtBQUssRUFBRTtBQUFFQyxVQUFBQSxRQUFRLEVBQUU7QUFBWixTQURZO0FBRW5CQyxRQUFBQSxLQUFLLEVBQUU7QUFBRUQsVUFBQUEsUUFBUSxFQUFFO0FBQVo7QUFGWSxPQUFyQjs7QUFLQSxVQUFJLENBQUNiLFlBQUwsRUFBbUI7QUFDakIsZUFBTyxJQUFQO0FBQ0Q7O0FBRUQsMEJBQ0U7QUFDRSxRQUFBLEtBQUssa0NBQ0FBLFlBREE7QUFFSGUsVUFBQUEsZUFBZSxFQUFFO0FBRmQsVUFEUDtBQUtFLFFBQUEsV0FBVyxFQUFFLEtBQUtDO0FBTHBCLHNCQU9FO0FBQUssUUFBQSxTQUFTLEVBQUUxRyxPQUFPLENBQUMyRztBQUF4QixzQkFDRSxnQ0FBQyx3QkFBRDtBQUNFLFFBQUEsR0FBRyxFQUFFLGFBQUFDLElBQUcsRUFBSTtBQUNWLGNBQUlBLElBQUosRUFBUztBQUNQLFlBQUEsTUFBSSxDQUFDN0QsU0FBTCxHQUFpQjZELElBQWpCO0FBQ0Q7QUFDRixTQUxIO0FBTUUsUUFBQSxTQUFTLEVBQUUsSUFOYjtBQU9FLFFBQUEsUUFBUSxNQVBWO0FBUUUsUUFBQSxTQUFTLEVBQUU1RyxPQUFPLENBQUM2RyxRQVJyQjtBQVNFLFFBQUEsV0FBVyxFQUFFO0FBQ1hwRixVQUFBQSxRQUFRLEVBQUUsS0FEQztBQUVYcUYsVUFBQUEsYUFBYSxFQUFFLEtBRko7QUFHWEMsVUFBQUEsUUFBUSxFQUFFLEtBSEM7QUFJWEMsVUFBQUEsTUFBTSxFQUFFO0FBSkcsU0FUZjtBQWVFLFFBQUEsTUFBTSxFQUFFbkUsY0FmVjtBQWdCRSxRQUFBLFNBQVMsRUFBRSxLQUFLb0UsU0FoQmxCO0FBaUJFLFFBQUEsUUFBUSxFQUFFLEtBQUtDLGdCQWpCakI7QUFrQkUsUUFBQSxNQUFNLEVBQUUsS0FBS0MsTUFsQmY7QUFtQkUsUUFBQSxXQUFXLEVBQUMsWUFuQmQ7QUFvQkUsUUFBQSxhQUFhLEVBQUVsQixzQkFwQmpCO0FBcUJFLFFBQUEsV0FBVyxFQUFFSSxZQXJCZjtBQXNCRSxRQUFBLE1BQU0sRUFBRSxLQUFLZSxNQXRCZjtBQXVCRSxRQUFBLFVBQVUsRUFBRXJCO0FBdkJkLFFBREYsZUEwQkU7QUFDRSxRQUFBLEtBQUssRUFBRTtBQUNMekUsVUFBQUEsTUFBTSxFQUFFLFNBREg7QUFFTEksVUFBQUEsUUFBUSxFQUFFLE1BRkw7QUFHTEMsVUFBQUEsU0FBUyxFQUFFLFFBSE47QUFJTEYsVUFBQUEsUUFBUSxFQUFFLFVBSkw7QUFLTEksVUFBQUEsR0FBRyxFQUFFLEtBTEE7QUFNTEMsVUFBQUEsS0FBSyxFQUFFLE1BTkY7QUFPTEYsVUFBQUEsU0FBUyxFQUFFO0FBUE4sU0FEVDtBQVVFLFFBQUEsZUFBZSxFQUFFLEtBVm5CO0FBV0UsUUFBQSxXQUFXLEVBQUU7QUFBQSxpQkFBTSxNQUFJLENBQUN5RixVQUFMLEVBQU47QUFBQSxTQVhmO0FBWUUsUUFBQSxPQUFPLEVBQUU7QUFBQSxpQkFBTSxNQUFJLENBQUNsRSxXQUFMLEVBQU47QUFBQTtBQVpYLGFBMUJGLENBUEYsRUFrREdtQixPQUFPLGlCQUNOO0FBQUssUUFBQSxTQUFTLEVBQUV0RSxPQUFPLENBQUNzSDtBQUF4QixTQUNHaEQsT0FBTyxDQUFDaUQsR0FBUixDQUFZLGlCQUFxQjlELEtBQXJCO0FBQUEsWUFBRytELEtBQUgsU0FBR0EsS0FBSDtBQUFBLFlBQVV2SCxPQUFWLFNBQVVBLE9BQVY7QUFBQSw0QkFDWCxnQ0FBQyxRQUFEO0FBQ0UsVUFBQSxHQUFHLEVBQUV3RCxLQURQO0FBRUUsVUFBQSxPQUFPLEVBQUU7QUFBQSxtQkFBTSxNQUFJLENBQUNFLGNBQUwsQ0FBb0I2RCxLQUFwQixFQUEyQi9ELEtBQTNCLENBQU47QUFBQSxXQUZYO0FBR0UsVUFBQSxjQUFjLEVBQUU7QUFBQSxtQkFBTSxNQUFJLENBQUM3RCxjQUFMLENBQW9CNEgsS0FBcEIsRUFBMkIvRCxLQUEzQixDQUFOO0FBQUEsV0FIbEI7QUFJRSxVQUFBLEtBQUssRUFBRStELEtBSlQ7QUFLRSxVQUFBLE9BQU8sRUFBRXZIO0FBTFgsVUFEVztBQUFBLE9BQVosQ0FESCxDQW5ESixDQURGO0FBa0VEOzs7RUE3TmtDUSxrQkFBTUMsUzs7O2lDQUE5QmtDLGUsZUFDUTtBQUNqQjVDLEVBQUFBLE9BQU8sRUFBRVcsc0JBQVVDLE1BREY7QUFFakJzQyxFQUFBQSxJQUFJLEVBQUV2QyxzQkFBVUMsTUFGQztBQUdqQnVHLEVBQUFBLE1BQU0sRUFBRXhHLHNCQUFVSSxJQUhEO0FBSWpCdUQsRUFBQUEsT0FBTyxFQUFFM0Qsc0JBQVU4RyxLQUpGO0FBS2pCdEUsRUFBQUEsV0FBVyxFQUFFeEMsc0JBQVVJLElBQVYsQ0FBZUYsVUFMWDtBQU1qQmpCLEVBQUFBLGNBQWMsRUFBRWUsc0JBQVVJLElBQVYsQ0FBZUYsVUFOZDtBQU9qQjhDLEVBQUFBLGNBQWMsRUFBRWhELHNCQUFVSSxJQUFWLENBQWVGLFVBUGQ7QUFRakI2QyxFQUFBQSxhQUFhLEVBQUUvQyxzQkFBVUksSUFBVixDQUFlRixVQVJiO0FBU2pCVixFQUFBQSxLQUFLLEVBQUVRLHNCQUFVK0csS0FBVixDQUFnQjtBQUNyQjVELElBQUFBLE1BQU0sRUFBRW5ELHNCQUFVSSxJQUFWLENBQWVGLFVBREY7QUFFckJ1QixJQUFBQSxRQUFRLEVBQUV6QixzQkFBVStHLEtBQVYsQ0FBZ0I7QUFDeEJ6RCxNQUFBQSxXQUFXLEVBQUV0RCxzQkFBVUksSUFBVixDQUFlRjtBQURKLEtBQWhCO0FBRlcsR0FBaEI7QUFUVSxDO0FBK05yQixJQUFNOEcscUJBQXFCLEdBQUcsd0JBQVc7QUFDdkNkLEVBQUFBLFFBQVEsRUFBRTtBQUNSSixJQUFBQSxlQUFlLEVBQUUsTUFEVDtBQUVSLG9DQUFnQztBQUM5Qm1CLE1BQUFBLFNBQVMsRUFBRTtBQURtQjtBQUZ4QixHQUQ2QjtBQU92Q04sRUFBQUEsYUFBYSxFQUFFO0FBQ2JqRyxJQUFBQSxPQUFPLEVBQUUsTUFESTtBQUVid0csSUFBQUEsYUFBYSxFQUFFLFFBRkY7QUFHYiwwQkFBc0I7QUFDcEJDLE1BQUFBLE1BQU0sRUFBRTtBQURZO0FBSFQsR0FQd0I7QUFjdkNuQixFQUFBQSxXQUFXLEVBQUU7QUFDWG5GLElBQUFBLE9BQU8sRUFBRSxLQURFO0FBRVhDLElBQUFBLFFBQVEsRUFBRTtBQUZDO0FBZDBCLENBQVgsRUFrQjNCbUIsZUFsQjJCLENBQTlCO2VBb0JlK0UscUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEVkaXRhYmxlSHRtbCBmcm9tICdAcGllLWxpYi9lZGl0YWJsZS1odG1sJztcbmltcG9ydCB7IHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9tYXRoLXJlbmRlcmluZyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgREVGQVVMVF9QTFVHSU5TIH0gZnJvbSAnQHBpZS1saWIvZWRpdGFibGUtaHRtbCc7XG5cbmNsYXNzIE1lbnVJdGVtQ29tcCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGNvcnJlY3Q6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblJlbW92ZUNob2ljZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH07XG5cbiAgb25SZW1vdmVDbGljayA9IGUgPT4ge1xuICAgIGNvbnN0IHsgb25SZW1vdmVDaG9pY2UgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIG9uUmVtb3ZlQ2hvaWNlKCk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3NlcywgY29ycmVjdCwgb25DbGljaywgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzbmFtZXMoY2xhc3Nlcy53cmFwcGVyLCB7IFtjbGFzc2VzLmNvcnJlY3RdOiBjb3JyZWN0IH0pfSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy52YWx1ZUhvbGRlcn1cbiAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgX19odG1sOiB2YWx1ZVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxpIGNsYXNzTmFtZT17Y2xhc3Nlcy5yZW1vdmVJY29ufSBvbkNsaWNrPXt0aGlzLm9uUmVtb3ZlQ2xpY2t9PlxuICAgICAgICAgIHhcbiAgICAgICAgPC9pPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBNZW51SXRlbSA9IHdpdGhTdHlsZXMoe1xuICB3cmFwcGVyOiB7XG4gICAgYmFja2dyb3VuZDogJyNmZmYnLFxuICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCBibGFjaycsXG4gICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICBsaW5lSGVpZ2h0OiAnMzBweCcsXG4gICAgcGFkZGluZzogJzEwcHggMjVweCAxMHB4IDEwcHgnLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnXG4gIH0sXG4gIGNvcnJlY3Q6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI0M0RENGQSdcbiAgfSxcbiAgcmVtb3ZlSWNvbjoge1xuICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgIGZvbnRTaXplOiAnMjBweCcsXG4gICAgZm9udFN0eWxlOiAnbm9ybWFsJyxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgLTUwJSknLFxuICAgIHRvcDogJzUwJScsXG4gICAgcmlnaHQ6ICc1cHgnLFxuICAgIHpJbmRleDogM1xuICB9LFxuICB2YWx1ZUhvbGRlcjoge1xuICAgIHdvcmRCcmVhazogJ2JyZWFrLWFsbCdcbiAgfVxufSkoTWVudUl0ZW1Db21wKTtcblxuY29uc3QgZmluZFNsYXRlTm9kZSA9IGtleSA9PiB7XG4gIHJldHVybiB3aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEta2V5PVwiJyArIGtleSArICdcIl0nKTtcbn07XG5cbmNvbnN0IGNyZWF0ZUVsZW1lbnRGcm9tSFRNTCA9IGh0bWxTdHJpbmcgPT4ge1xuICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICBkaXYuaW5uZXJIVE1MID0gKGh0bWxTdHJpbmcgfHwgJycpLnRyaW0oKTtcblxuICByZXR1cm4gZGl2O1xufTtcblxuZXhwb3J0IGNsYXNzIFJlc3BBcmVhVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBub2RlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG9uRG9uZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgY2hvaWNlczogUHJvcFR5cGVzLmFycmF5LFxuICAgIG9uQWRkQ2hvaWNlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUmVtb3ZlQ2hvaWNlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uU2VsZWN0Q2hvaWNlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVG9vbGJhckRvbmU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBjaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBkb2N1bWVudDogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgZ2V0TmV4dFRleHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWRcbiAgICAgIH0pXG4gICAgfSlcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICByZXNwQXJlYU1hcmt1cDogJydcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IG5vZGUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBkb21Ob2RlID0gZmluZFNsYXRlTm9kZShub2RlLmtleSk7XG5cbiAgICBpZiAoZG9tTm9kZSkge1xuICAgICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgIGNvbnN0IGRvbU5vZGVSZWN0ID0gZG9tTm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGVkaXRvciA9IGRvbU5vZGUuY2xvc2VzdCgnW2RhdGEtc2xhdGUtZWRpdG9yXScpO1xuICAgICAgY29uc3QgZWRpdG9yUmVjdCA9IGVkaXRvci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHRvcCA9IGRvbU5vZGVSZWN0LnRvcCAtIGVkaXRvclJlY3QudG9wO1xuICAgICAgY29uc3QgbGVmdCA9IGRvbU5vZGVSZWN0LmxlZnQgLSBlZGl0b3JSZWN0LmxlZnQ7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB0b29sYmFyU3R5bGU6IHtcbiAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICB0b3A6IGAke3RvcCArIGRvbU5vZGVSZWN0LmhlaWdodCArIDYwfXB4YCxcbiAgICAgICAgICBsZWZ0OiBgJHtsZWZ0ICsgMjV9cHhgLFxuICAgICAgICAgIHdpZHRoOiBkb21Ob2RlUmVjdC53aWR0aFxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBjb25zdCBkb21Ob2RlID0gUmVhY3RET00uZmluZERPTU5vZGUodGhpcyk7XG5cbiAgICByZW5kZXJNYXRoKGRvbU5vZGUpO1xuICB9XG5cbiAgb25SZXNwQXJlYUNoYW5nZSA9IHJlc3BBcmVhTWFya3VwID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgcmVzcEFyZWFNYXJrdXAgfSk7XG4gIH07XG5cbiAgb25BZGRDaG9pY2UgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuZWRpdG9yUmVmKSB7XG4gICAgICB0aGlzLmVkaXRvclJlZi5maW5pc2hFZGl0aW5nKCk7XG4gICAgfVxuICB9O1xuXG4gIG9uRG9uZSA9ICh2YWwpID0+IHtcbiAgICBjb25zdCB7IG5vZGUsIG9uQWRkQ2hvaWNlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IG9ubHlUZXh0ID0gY3JlYXRlRWxlbWVudEZyb21IVE1MKHZhbCkudGV4dENvbnRlbnQudHJpbSgpO1xuXG4gICAgaWYgKCFpc0VtcHR5KG9ubHlUZXh0KSkge1xuICAgICAgb25BZGRDaG9pY2Uobm9kZS5kYXRhLmdldCgnaW5kZXgnKSwgdmFsKTtcbiAgICB9XG4gIH07XG5cbiAgb25TZWxlY3RDaG9pY2UgPSAobmV3VmFsdWUsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgeyBub2RlLCB2YWx1ZSwgb25Ub29sYmFyRG9uZSwgb25TZWxlY3RDaG9pY2UgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdXBkYXRlID0geyAuLi5ub2RlLmRhdGEudG9KU09OKCksIHZhbHVlOiBuZXdWYWx1ZSB9O1xuICAgIGNvbnN0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpLnNldE5vZGVCeUtleShub2RlLmtleSwgeyBkYXRhOiB1cGRhdGUgfSk7XG5cbiAgICBjb25zdCBuZXh0VGV4dCA9IHZhbHVlLmRvY3VtZW50LmdldE5leHRUZXh0KG5vZGUua2V5KTtcblxuICAgIGNoYW5nZS5tb3ZlRm9jdXNUbyhuZXh0VGV4dC5rZXksIDApLm1vdmVBbmNob3JUbyhuZXh0VGV4dC5rZXksIDApO1xuXG4gICAgb25Ub29sYmFyRG9uZShjaGFuZ2UsIGZhbHNlKTtcblxuICAgIG9uU2VsZWN0Q2hvaWNlKGluZGV4KTtcbiAgfTtcblxuICBvblJlbW92ZUNob2ljZSA9ICh2YWwsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgeyBub2RlLCB2YWx1ZSwgb25Ub29sYmFyRG9uZSwgb25SZW1vdmVDaG9pY2UgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoaXNFcXVhbCh2YWwsIG5vZGUuZGF0YS5nZXQoJ3ZhbHVlJykpKSB7XG4gICAgICBjb25zdCB1cGRhdGUgPSB7IC4uLm5vZGUuZGF0YS50b0pTT04oKSwgdmFsdWU6IG51bGwgfTtcbiAgICAgIGNvbnN0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpLnNldE5vZGVCeUtleShub2RlLmtleSwgeyBkYXRhOiB1cGRhdGUgfSk7XG5cbiAgICAgIG9uVG9vbGJhckRvbmUoY2hhbmdlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgb25SZW1vdmVDaG9pY2UoaW5kZXgpO1xuICB9O1xuXG4gIG9uS2V5RG93biA9IGV2ZW50ID0+IHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICB0aGlzLm9uQWRkQ2hvaWNlKCk7XG4gICAgICAvLyBDYW5jZWxsaW5nIGV2ZW50XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9O1xuXG4gIG9uQmx1ciA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5jbGlja2VkSW5zaWRlKSB7XG4gICAgICB0aGlzLmNsaWNrZWRJbnNpZGUgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IG5vZGUsIGNob2ljZXMsIG9uQ2hlY2ssIG9uVG9vbGJhckRvbmUsIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNvcnJlY3RSZXNwb25zZSA9IChjaG9pY2VzIHx8IFtdKS5maW5kKGNob2ljZSA9PiBjaG9pY2UuY29ycmVjdCk7XG5cbiAgICB0aGlzLm9uQWRkQ2hvaWNlKCk7XG4gICAgaWYgKCFjaG9pY2VzIHx8IChjaG9pY2VzICYmIGNob2ljZXMubGVuZ3RoIDwgMikgfHwgIWNvcnJlY3RSZXNwb25zZSkge1xuICAgICAgb25DaGVjaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpO1xuXG4gICAgICAgIGNoYW5nZS5yZW1vdmVOb2RlQnlLZXkobm9kZS5nZXQoJ2tleScpKTtcbiAgICAgICAgb25Ub29sYmFyRG9uZShjaGFuZ2UsIGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBvbkNsaWNrSW5zaWRlID0gKCkgPT4ge1xuICAgIHRoaXMuY2xpY2tlZEluc2lkZSA9IHRydWU7XG4gIH07XG5cbiAgZm9jdXNJbnB1dCA9ICgpID0+IHtcbiAgICAvLyB3ZSBuZWVkIHRvIGZvY3VzIHRoZSBpbnB1dCBzbyB0aGF0IG1hdGggaXMgc2F2ZWQgZXZlbiB3aXRob3V0IHByZXNzaW5nIHRoZSBncmVlbiBjaGVja21hcmtcbiAgICBjb25zdCBzbGF0ZUVkaXRvclJlZiA9IHRoaXMuZWRpdG9yUmVmICYmIHRoaXMuZWRpdG9yUmVmLnJvb3RSZWYgJiYgdGhpcy5lZGl0b3JSZWYucm9vdFJlZi5zbGF0ZUVkaXRvcjtcbiAgICBjb25zdCBpbnB1dFJlZiA9IHNsYXRlRWRpdG9yUmVmICYmIHNsYXRlRWRpdG9yUmVmLmVkaXRvclJlZiAmJiBzbGF0ZUVkaXRvclJlZi5lZGl0b3JSZWYuZWxlbWVudDtcblxuICAgIGlmIChpbnB1dFJlZikge1xuICAgICAgaW5wdXRSZWYuZm9jdXMoKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3NlcywgY2hvaWNlcywgc3BlbGxDaGVjayB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHJlc3BBcmVhTWFya3VwLCB0b29sYmFyU3R5bGUgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBmaWx0ZXJlZERlZmF1bHRQbHVnaW5zID0gKERFRkFVTFRfUExVR0lOUyB8fCBbXSkuZmlsdGVyKHAgPT4gcCAhPT0gJ3RhYmxlJyAmJiBwICE9PSAnYnVsbGV0ZWQtbGlzdCcgJiYgcCAhPT0gJ251bWJlcmVkLWxpc3QnKTtcbiAgICBjb25zdCBsYWJlbFBsdWdpbnMgPSB7XG4gICAgICBhdWRpbzogeyBkaXNhYmxlZDogdHJ1ZSB9LFxuICAgICAgdmlkZW86IHsgZGlzYWJsZWQ6IHRydWUgfVxuICAgIH07XG5cbiAgICBpZiAoIXRvb2xiYXJTdHlsZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAuLi50b29sYmFyU3R5bGUsXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0UwRTFFNidcbiAgICAgICAgfX1cbiAgICAgICAgb25Nb3VzZURvd249e3RoaXMub25DbGlja0luc2lkZX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuaXRlbUJ1aWxkZXJ9PlxuICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgIHJlZj17cmVmID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yUmVmID0gcmVmO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXt0cnVlfVxuICAgICAgICAgICAgYXV0b1NhdmVcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5yZXNwQXJlYX1cbiAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbiAgICAgICAgICAgICAgYWx3YXlzVmlzaWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgIHNob3dEb25lOiBmYWxzZSxcbiAgICAgICAgICAgICAgZG9uZU9uOiAnYmx1cidcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBtYXJrdXA9e3Jlc3BBcmVhTWFya3VwfVxuICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLm9uS2V5RG93bn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uUmVzcEFyZWFDaGFuZ2V9XG4gICAgICAgICAgICBvbkRvbmU9e3RoaXMub25Eb25lfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJBZGQgQ2hvaWNlXCJcbiAgICAgICAgICAgIGFjdGl2ZVBsdWdpbnM9e2ZpbHRlcmVkRGVmYXVsdFBsdWdpbnN9XG4gICAgICAgICAgICBwbHVnaW5Qcm9wcz17bGFiZWxQbHVnaW5zfVxuICAgICAgICAgICAgb25CbHVyPXt0aGlzLm9uQmx1cn1cbiAgICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2t9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8aVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAnMjBweCcsXG4gICAgICAgICAgICAgIGZvbnRTdHlsZTogJ25vcm1hbCcsXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICB0b3A6ICc1MCUnLFxuICAgICAgICAgICAgICByaWdodDogJzE1cHgnLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgLTUwJSknXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB0aGlzLmZvY3VzSW5wdXQoKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRoaXMub25BZGRDaG9pY2UoKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICArXG4gICAgICAgICAgPC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2Nob2ljZXMgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmNob2ljZXNIb2xkZXJ9PlxuICAgICAgICAgICAge2Nob2ljZXMubWFwKCh7IGxhYmVsLCBjb3JyZWN0IH0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdGhpcy5vblNlbGVjdENob2ljZShsYWJlbCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgIG9uUmVtb3ZlQ2hvaWNlPXsoKSA9PiB0aGlzLm9uUmVtb3ZlQ2hvaWNlKGxhYmVsLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgdmFsdWU9e2xhYmVsfVxuICAgICAgICAgICAgICAgIGNvcnJlY3Q9e2NvcnJlY3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3QgU3R5bGVkUmVzcEFyZWFUb29sYmFyID0gd2l0aFN0eWxlcyh7XG4gIHJlc3BBcmVhOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiAnI2ZmZicsXG4gICAgJyYgW2RhdGEtc2xhdGUtZWRpdG9yPVwidHJ1ZVwiXSc6IHtcbiAgICAgIG1pbkhlaWdodDogJ2luaXRpYWwgIWltcG9ydGFudCdcbiAgICB9XG4gIH0sXG4gIGNob2ljZXNIb2xkZXI6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgJyYgPiBkaXY6bGFzdC1jaGlsZCc6IHtcbiAgICAgIGJvcmRlcjogJ25vbmUnXG4gICAgfVxuICB9LFxuICBpdGVtQnVpbGRlcjoge1xuICAgIHBhZGRpbmc6ICc4cHgnLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnXG4gIH1cbn0pKFJlc3BBcmVhVG9vbGJhcik7XG5cbmV4cG9ydCBkZWZhdWx0IFN0eWxlZFJlc3BBcmVhVG9vbGJhcjtcbiJdfQ==
|
|
444
|
+
//# sourceMappingURL=inline-dropdown-toolbar.js.map
|
package/configure/lib/main.js
CHANGED
|
@@ -155,12 +155,6 @@ var styles = function styles(theme) {
|
|
|
155
155
|
},
|
|
156
156
|
panelDetails: {
|
|
157
157
|
display: 'block'
|
|
158
|
-
},
|
|
159
|
-
errorText: {
|
|
160
|
-
fontSize: '12px',
|
|
161
|
-
color: 'red',
|
|
162
|
-
paddingTop: '5px',
|
|
163
|
-
marginTop: '8px'
|
|
164
158
|
}
|
|
165
159
|
};
|
|
166
160
|
};
|
|
@@ -445,11 +439,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
445
439
|
promptEnabled = _ref3.promptEnabled,
|
|
446
440
|
teacherInstructionsEnabled = _ref3.teacherInstructionsEnabled,
|
|
447
441
|
choices = _ref3.choices,
|
|
448
|
-
spellCheckEnabled = _ref3.spellCheckEnabled
|
|
449
|
-
errors = _ref3.errors;
|
|
450
|
-
|
|
451
|
-
var _ref4 = errors || {},
|
|
452
|
-
responseAreasError = _ref4.responseAreasError;
|
|
442
|
+
spellCheckEnabled = _ref3.spellCheckEnabled;
|
|
453
443
|
|
|
454
444
|
var renderChoiceRationale = function renderChoiceRationale() {
|
|
455
445
|
return (Object.keys(choices) || []).map(function (key) {
|
|
@@ -560,9 +550,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
560
550
|
spellCheck: spellCheckEnabled
|
|
561
551
|
})), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
562
552
|
className: classes.text
|
|
563
|
-
}, "Define Template, Choices, and Correct Responses"),
|
|
564
|
-
className: classes.errorText
|
|
565
|
-
}, responseAreasError), /*#__PURE__*/_react["default"].createElement(InfoDialog, {
|
|
553
|
+
}, "Define Template, Choices, and Correct Responses"), /*#__PURE__*/_react["default"].createElement(InfoDialog, {
|
|
566
554
|
open: dialog.open,
|
|
567
555
|
title: dialog.message,
|
|
568
556
|
onCancel: dialog.onCancel,
|
|
@@ -605,8 +593,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
605
593
|
imageSupport: imageSupport,
|
|
606
594
|
onBlur: this.onBlur,
|
|
607
595
|
disabled: false,
|
|
608
|
-
highlightShape: false
|
|
609
|
-
error: responseAreasError
|
|
596
|
+
highlightShape: false
|
|
610
597
|
}), /*#__PURE__*/_react["default"].createElement("br", null), choiceRationaleEnabled && renderChoiceRationale())));
|
|
611
598
|
}
|
|
612
599
|
}]);
|
|
@@ -629,4 +616,4 @@ exports.Main = Main;
|
|
|
629
616
|
var Styled = (0, _styles.withStyles)(styles)(Main);
|
|
630
617
|
var _default = Styled;
|
|
631
618
|
exports["default"] = _default;
|
|
632
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzeCJdLCJuYW1lcyI6WyJ0b2dnbGUiLCJzZXR0aW5ncyIsIlBhbmVsIiwiSW5mb0RpYWxvZyIsIm9wZW4iLCJvbkNhbmNlbCIsIm9uT2siLCJ0aXRsZSIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImJvb2wiLCJmdW5jIiwic3RyaW5nIiwic3R5bGVzIiwidGhlbWUiLCJwcm9tcHRIb2xkZXIiLCJ3aWR0aCIsInBhZGRpbmdCb3R0b20iLCJzcGFjaW5nIiwidW5pdCIsIm1hcmdpbkJvdHRvbSIsInByb21wdCIsInBhZGRpbmdUb3AiLCJtYXJrdXAiLCJtaW5IZWlnaHQiLCJkZXNpZ24iLCJjaG9pY2VDb25maWd1cmF0aW9uIiwic3dpdGNoRWxlbWVudCIsImp1c3RpZnlDb250ZW50IiwibWFyZ2luIiwiYWRkQnV0dG9uIiwidGV4dCIsImZvbnRGYW1pbHkiLCJmb250U2l6ZSIsImxpbmVIZWlnaHQiLCJjb2xvciIsInJhdGlvbmFsZUxhYmVsIiwiZGlzcGxheSIsIndoaXRlU3BhY2UiLCJyYXRpb25hbGVDaG9pY2VzIiwibWFyZ2luVG9wIiwicGFuZWxEZXRhaWxzIiwiZXJyb3JUZXh0IiwiY3JlYXRlRWxlbWVudEZyb21IVE1MIiwiaHRtbFN0cmluZyIsImRpdiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImlubmVySFRNTCIsInRyaW0iLCJwcmVwYXJlVmFsIiwiaHRtbCIsInRtcCIsInZhbHVlIiwidGV4dENvbnRlbnQiLCJpbm5lclRleHQiLCJNYWluIiwiZGlhbG9nIiwibmV3VmFsIiwicHJvcHMiLCJvbk1vZGVsQ2hhbmdlZCIsIm1vZGVsIiwib25Nb2RlbENoYW5nZSIsInJhdGlvbmFsZSIsImluZGV4IiwiY2hvaWNlIiwiaW5kZXhPZkNob2ljZSIsImNob2ljZXMiLCJmaW5kSW5kZXgiLCJlbGVtIiwibGFiZWwiLCJzcGxpY2UiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwic2xhdGVNYXJrdXAiLCJjYWxsYmFjayIsInNldFN0YXRlIiwibWVzc2FnZSIsInJlc3BBcmVhQ2hvaWNlcyIsInN0YXRlIiwiZG9tTWFya3VwIiwiYWxsUmVzcEFyZWFzIiwicXVlcnlTZWxlY3RvckFsbCIsImFsbENob2ljZXMiLCJmb3JFYWNoIiwiZWwiLCJkYXRhc2V0IiwiZXhpc3RpbmdSZXNwQXJlYUNob2ljZXMiLCJvYmoiLCJrZXkiLCJuZXdSZXNwQXJlYUNob2ljZXMiLCJzaG91bGRXYXJuIiwibmV3Q2hvaWNlcyIsImxlbmd0aCIsImZpbmQiLCJjIiwiY29ycmVjdCIsInJlbW92ZSIsInIiLCJtYXAiLCJwYXJzZUludCIsImZpbHRlciIsInZhbCIsImlzTmFOIiwicHVzaCIsInJlc3BJbmRleCIsInNlbGVjdGVkSW5kZXgiLCJjaCIsIm5Qcm9wcyIsIm5ld1N0YXRlIiwiZG9tTm9kZSIsIlJlYWN0RE9NIiwiZmluZERPTU5vZGUiLCJjbGFzc2VzIiwiY29uZmlndXJhdGlvbiIsIm9uQ29uZmlndXJhdGlvbkNoYW5nZWQiLCJpbWFnZVN1cHBvcnQiLCJwYXJ0aWFsU2NvcmluZyIsImxvY2tDaG9pY2VPcmRlciIsImNob2ljZVJhdGlvbmFsZSIsInNwZWxsQ2hlY2siLCJyYXRpb25hbGVFbmFibGVkIiwiY2hvaWNlUmF0aW9uYWxlRW5hYmxlZCIsInByb21wdEVuYWJsZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCIsInNwZWxsQ2hlY2tFbmFibGVkIiwiZXJyb3JzIiwicmVzcG9uc2VBcmVhc0Vycm9yIiwicmVuZGVyQ2hvaWNlUmF0aW9uYWxlIiwiT2JqZWN0Iiwia2V5cyIsIl9faHRtbCIsIm9uQ2hvaWNlUmF0aW9uYWxlQ2hhbmdlZCIsInRvb2xiYXJPcHRzIiwidG9vbGJhckVkaXRvclBvc2l0aW9uIiwicG9zaXRpb24iLCJTZXR0aW5ncyIsIlByb3BlcnRpZXMiLCJvblRlYWNoZXJJbnN0cnVjdGlvbnNDaGFuZ2VkIiwib25Qcm9tcHRDaGFuZ2VkIiwib25SYXRpb25hbGVDaGFuZ2VkIiwiQUxMX1BMVUdJTlMiLCJ0eXBlIiwib3B0aW9ucyIsImR1cGxpY2F0ZXMiLCJyZXNwQXJlYVRvb2xiYXIiLCJub2RlIiwib25Ub29sYmFyRG9uZSIsIm9uQWRkQ2hvaWNlIiwib25DaGVjayIsIm9uUmVtb3ZlQ2hvaWNlIiwiZGF0YSIsImdldCIsIm9uU2VsZWN0Q2hvaWNlIiwib25DaGFuZ2UiLCJvbkJsdXIiLCJSZWFjdCIsIkNvbXBvbmVudCIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJkaXNhYmxlU2lkZVBhbmVsIiwic2hhcGUiLCJhZGQiLCJTdHlsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFRQSxNQUFSLEdBQTBCQyxrQkFBMUIsQ0FBUUQsTUFBUjtBQUFBLElBQWdCRSxLQUFoQixHQUEwQkQsa0JBQTFCLENBQWdCQyxLQUFoQjs7QUFFQSxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBYTtBQUFBLE1BQUdDLElBQUgsUUFBR0EsSUFBSDtBQUFBLE1BQVNDLFFBQVQsUUFBU0EsUUFBVDtBQUFBLE1BQW1CQyxJQUFuQixRQUFtQkEsSUFBbkI7QUFBQSxNQUF5QkMsS0FBekIsUUFBeUJBLEtBQXpCO0FBQUEsc0JBQ2pCLGdDQUFDLGtCQUFEO0FBQVEsSUFBQSxJQUFJLEVBQUVIO0FBQWQsa0JBQ0UsZ0NBQUMsdUJBQUQsUUFBY0csS0FBZCxDQURGLGVBRUUsZ0NBQUMseUJBQUQsUUFDR0QsSUFBSSxpQkFDSCxnQ0FBQyxrQkFBRDtBQUFRLElBQUEsT0FBTyxFQUFFQSxJQUFqQjtBQUF1QixJQUFBLEtBQUssRUFBQztBQUE3QixVQUZKLEVBTUdELFFBQVEsaUJBQ1AsZ0NBQUMsa0JBQUQ7QUFBUSxJQUFBLE9BQU8s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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBFZGl0YWJsZUh0bWwsIHsgQUxMX1BMVUdJTlMgfSBmcm9tICdAcGllLWxpYi9lZGl0YWJsZS1odG1sJztcbmltcG9ydCB7IElucHV0Q29udGFpbmVyLCBsYXlvdXQsIHNldHRpbmdzIH0gZnJvbSAnQHBpZS1saWIvY29uZmlnLXVpJztcbmltcG9ydCB7IHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9tYXRoLXJlbmRlcmluZyc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuaW1wb3J0IGlzVW5kZWZpbmVkIGZyb20gJ2xvZGFzaC9pc1VuZGVmaW5lZCc7XG5pbXBvcnQgaXNFbXB0eSBmcm9tICdsb2Rhc2gvaXNFbXB0eSc7XG5pbXBvcnQgcmVkdWNlIGZyb20gJ2xvZGFzaC9yZWR1Y2UnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0J1dHRvbic7XG5pbXBvcnQgRGlhbG9nIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0RpYWxvZyc7XG5pbXBvcnQgRGlhbG9nVGl0bGUgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRGlhbG9nVGl0bGUnO1xuaW1wb3J0IERpYWxvZ0FjdGlvbnMgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRGlhbG9nQWN0aW9ucyc7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9UeXBvZ3JhcGh5JztcbmltcG9ydCBFeHBhbnNpb25QYW5lbCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9FeHBhbnNpb25QYW5lbCc7XG5pbXBvcnQgRXhwYW5zaW9uUGFuZWxTdW1tYXJ5IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0V4cGFuc2lvblBhbmVsU3VtbWFyeSc7XG5pbXBvcnQgRXhwYW5zaW9uUGFuZWxEZXRhaWxzIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0V4cGFuc2lvblBhbmVsRGV0YWlscyc7XG5pbXBvcnQgRXhwYW5kTW9yZUljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0V4cGFuZE1vcmUnO1xuaW1wb3J0IElubGluZURyb3Bkb3duVG9vbGJhciBmcm9tICcuL2lubGluZS1kcm9wZG93bi10b29sYmFyJztcbmltcG9ydCBtYXggZnJvbSAnbG9kYXNoL21heCc7XG5cbmNvbnN0IHsgdG9nZ2xlLCBQYW5lbCB9ID0gc2V0dGluZ3M7XG5cbmNvbnN0IEluZm9EaWFsb2cgPSAoeyBvcGVuLCBvbkNhbmNlbCwgb25PaywgdGl0bGUgfSkgPT4gKFxuICA8RGlhbG9nIG9wZW49e29wZW59PlxuICAgIDxEaWFsb2dUaXRsZT57dGl0bGV9PC9EaWFsb2dUaXRsZT5cbiAgICA8RGlhbG9nQWN0aW9ucz5cbiAgICAgIHtvbk9rICYmIChcbiAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtvbk9rfSBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICBPS1xuICAgICAgICA8L0J1dHRvbj5cbiAgICAgICl9XG4gICAgICB7b25DYW5jZWwgJiYgKFxuICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e29uQ2FuY2VsfSBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICBDYW5jZWxcbiAgICAgICAgPC9CdXR0b24+XG4gICAgICApfVxuICAgIDwvRGlhbG9nQWN0aW9ucz5cbiAgPC9EaWFsb2c+XG4pO1xuXG5JbmZvRGlhbG9nLnByb3BUeXBlcyA9IHtcbiAgb3BlbjogUHJvcFR5cGVzLmJvb2wsXG4gIG9uQ2FuY2VsOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25PazogUHJvcFR5cGVzLmZ1bmMsXG4gIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nXG59O1xuXG5jb25zdCBzdHlsZXMgPSB0aGVtZSA9PiAoe1xuICBwcm9tcHRIb2xkZXI6IHtcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIHBhZGRpbmdCb3R0b206IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIsXG4gICAgbWFyZ2luQm90dG9tOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAyXG4gIH0sXG4gIHByb21wdDoge1xuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIsXG4gICAgd2lkdGg6ICcxMDAlJ1xuICB9LFxuICBtYXJrdXA6IHtcbiAgICBtaW5IZWlnaHQ6ICcxMDBweCcsXG4gICAgcGFkZGluZ1RvcDogdGhlbWUuc3BhY2luZy51bml0ICogMixcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgICcmIFtkYXRhLXNsYXRlLWVkaXRvcj1cInRydWVcIl0nOiB7XG4gICAgICBtaW5IZWlnaHQ6ICcxMDBweCdcbiAgICB9XG4gIH0sXG4gIGRlc2lnbjoge1xuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDNcbiAgfSxcbiAgY2hvaWNlQ29uZmlndXJhdGlvbjoge1xuICAgIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDIsXG4gICAgcGFkZGluZ0JvdHRvbTogdGhlbWUuc3BhY2luZy51bml0ICogMlxuICB9LFxuICBzd2l0Y2hFbGVtZW50OiB7XG4gICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICBtYXJnaW46IDBcbiAgfSxcbiAgYWRkQnV0dG9uOiB7XG4gICAgZmxvYXQ6ICdyaWdodCdcbiAgfSxcbiAgdGV4dDoge1xuICAgIGZvbnRGYW1pbHk6ICdDZXJlYnJpIFNhbnMnLFxuICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgbGluZUhlaWdodDogJzE5cHgnLFxuICAgIGNvbG9yOiAnIzQ5NUI4RidcbiAgfSxcbiAgcmF0aW9uYWxlTGFiZWw6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgd2hpdGVTcGFjZTogJ2JyZWFrLXNwYWNlcydcbiAgfSxcbiAgcmF0aW9uYWxlQ2hvaWNlczoge1xuICAgIG1hcmdpblRvcDogJzE2cHgnXG4gIH0sXG4gIHBhbmVsRGV0YWlsczoge1xuICAgZGlzcGxheTogJ2Jsb2NrJ1xuICB9LFxuICBlcnJvclRleHQ6IHtcbiAgICBmb250U2l6ZTogJzEycHgnLFxuICAgIGNvbG9yOiAncmVkJyxcbiAgICBwYWRkaW5nVG9wOiAnNXB4JyxcbiAgICBtYXJnaW5Ub3A6ICc4cHgnXG4gIH1cbn0pO1xuXG5jb25zdCBjcmVhdGVFbGVtZW50RnJvbUhUTUwgPSBodG1sU3RyaW5nID0+IHtcbiAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgZGl2LmlubmVySFRNTCA9IChodG1sU3RyaW5nIHx8ICcnKS50cmltKCk7XG5cbiAgcmV0dXJuIGRpdjtcbn07XG5cbmNvbnN0IHByZXBhcmVWYWwgPSBodG1sID0+IHtcbiAgY29uc3QgdG1wID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnRElWJyk7XG5cbiAgdG1wLmlubmVySFRNTCA9IGh0bWw7XG5cbiAgY29uc3QgdmFsdWUgPSB0bXAudGV4dENvbnRlbnQgfHwgdG1wLmlubmVyVGV4dCB8fCAnJztcblxuICByZXR1cm4gdmFsdWUudHJpbSgpO1xufTtcblxuZXhwb3J0IGNsYXNzIE1haW4gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNvbmZpZ3VyYXRpb246IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGRpc2FibGVTaWRlUGFuZWw6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uTW9kZWxDaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uQ29uZmlndXJhdGlvbkNoYW5nZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGltYWdlU3VwcG9ydDogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIGFkZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZFxuICAgIH0pXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgZGlhbG9nOiB7XG4gICAgICBvcGVuOiBmYWxzZVxuICAgIH1cbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7XG4gICAgICBtb2RlbDogeyBjaG9pY2VzIH1cbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHRoaXMuc2V0U3RhdGUoeyByZXNwQXJlYUNob2ljZXM6IGNsb25lRGVlcChjaG9pY2VzKSB9KTtcbiAgfVxuXG4gIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5Qcm9wcykge1xuICAgIGNvbnN0IG5ld1N0YXRlID0ge307XG5cbiAgICBpZiAoXG4gICAgICAhaXNFcXVhbChuUHJvcHMubW9kZWwuY2hvaWNlcywgdGhpcy5wcm9wcy5tb2RlbC5jaG9pY2VzKSB8fFxuICAgICAgIWlzRXF1YWwoblByb3BzLm1vZGVsLmNob2ljZXMsIHRoaXMuc3RhdGUucmVzcEFyZWFDaG9pY2VzKVxuICAgICkge1xuICAgICAgbmV3U3RhdGUucmVzcEFyZWFDaG9pY2VzID0gY2xvbmVEZWVwKG5Qcm9wcy5tb2RlbC5jaG9pY2VzKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzRW1wdHkobmV3U3RhdGUpKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKG5ld1N0YXRlKTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBjb25zdCBkb21Ob2RlID0gUmVhY3RET00uZmluZERPTU5vZGUodGhpcyk7XG5cbiAgICByZW5kZXJNYXRoKGRvbU5vZGUpO1xuICB9XG5cbiAgb25Nb2RlbENoYW5nZSA9IG5ld1ZhbCA9PiB7XG4gICAgdGhpcy5wcm9wcy5vbk1vZGVsQ2hhbmdlZCh7XG4gICAgICAuLi50aGlzLnByb3BzLm1vZGVsLFxuICAgICAgLi4ubmV3VmFsXG4gICAgfSk7XG4gIH07XG5cbiAgb25Qcm9tcHRDaGFuZ2VkID0gcHJvbXB0ID0+IHtcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UoeyBwcm9tcHQgfSk7XG4gIH07XG5cbiAgb25SYXRpb25hbGVDaGFuZ2VkID0gcmF0aW9uYWxlID0+IHtcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UoeyByYXRpb25hbGUgfSk7XG4gIH07XG5cbiAgb25DaG9pY2VSYXRpb25hbGVDaGFuZ2VkID0gKGluZGV4LCBjaG9pY2UpID0+IHtcbiAgICBjb25zdCB7IG1vZGVsIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGluZGV4T2ZDaG9pY2UgPSBtb2RlbC5jaG9pY2VzICYmIG1vZGVsLmNob2ljZXNbaW5kZXhdICYmIG1vZGVsLmNob2ljZXNbaW5kZXhdXG4gICAgICAuZmluZEluZGV4KGVsZW0gPT4gZWxlbS5sYWJlbCA9PT0gY2hvaWNlLmxhYmVsICYmIGVsZW0udmFsdWUgPT09IGNob2ljZS52YWx1ZSk7XG5cbiAgICBtb2RlbC5jaG9pY2VzW2luZGV4XSAmJiBtb2RlbC5jaG9pY2VzW2luZGV4XS5zcGxpY2UoaW5kZXhPZkNob2ljZSwgMSwgY2hvaWNlKTtcblxuICAgIHRoaXMub25Nb2RlbENoYW5nZShtb2RlbCk7XG4gIH07XG5cbiAgb25UZWFjaGVySW5zdHJ1Y3Rpb25zQ2hhbmdlZCA9IHRlYWNoZXJJbnN0cnVjdGlvbnMgPT4ge1xuICAgIHRoaXMub25Nb2RlbENoYW5nZSh7IHRlYWNoZXJJbnN0cnVjdGlvbnMgfSk7XG4gIH07XG5cbiAgb25NYXJrdXBDaGFuZ2VkID0gc2xhdGVNYXJrdXAgPT4ge1xuICAgIHRoaXMub25Nb2RlbENoYW5nZSh7IHNsYXRlTWFya3VwIH0pO1xuICB9O1xuXG4gIG9uQ2hlY2sgPSBjYWxsYmFjayA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBkaWFsb2c6IHtcbiAgICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICAnUmVzcG9uc2UgYXJlYXMgd2l0aCB1bmRlciAyIG9wdGlvbnMgb3Igd2l0aCBubyBjb3JyZWN0IGFuc3dlcnMgd2lsbCBiZSBkaXNjYXJkZWQnLFxuICAgICAgICBvbk9rOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZGlhbG9nOiB7XG4gICAgICAgICAgICAgICAgb3BlbjogZmFsc2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNhbGxiYWNrXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25DYW5jZWw6ICgpID0+XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBkaWFsb2c6IHtcbiAgICAgICAgICAgICAgb3BlbjogZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIG9uQ2hhbmdlID0gbWFya3VwID0+IHtcbiAgICBjb25zdCB7IHJlc3BBcmVhQ2hvaWNlcyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBkb21NYXJrdXAgPSBjcmVhdGVFbGVtZW50RnJvbUhUTUwobWFya3VwKTtcbiAgICBjb25zdCBhbGxSZXNwQXJlYXMgPSBkb21NYXJrdXAucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICdbZGF0YS10eXBlPVwiaW5saW5lX2Ryb3Bkb3duXCJdJ1xuICAgICk7XG5cbiAgICBjb25zdCBhbGxDaG9pY2VzID0ge307XG5cbiAgICBhbGxSZXNwQXJlYXMuZm9yRWFjaChlbCA9PiB7XG4gICAgICBhbGxDaG9pY2VzW2VsLmRhdGFzZXQuaW5kZXhdID0gZWwuZGF0YXNldC52YWx1ZSB8fCAnJztcbiAgICB9KTtcblxuICAgIGNvbnN0IGV4aXN0aW5nUmVzcEFyZWFDaG9pY2VzID0gcmVkdWNlKFxuICAgICAgcmVzcEFyZWFDaG9pY2VzLFxuICAgICAgKG9iaiwgY2hvaWNlcywga2V5KSA9PiB7XG4gICAgICAgIGlmICghaXNVbmRlZmluZWQoYWxsQ2hvaWNlc1trZXldKSkge1xuICAgICAgICAgIG9ialtrZXldID0gcmVzcEFyZWFDaG9pY2VzW2tleV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2JqO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGNvbnN0IG5ld1Jlc3BBcmVhQ2hvaWNlcyA9IHt9O1xuICAgIGxldCBzaG91bGRXYXJuID0gZmFsc2U7XG5cbiAgICBhbGxSZXNwQXJlYXMuZm9yRWFjaCgoZWwsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBuZXdDaG9pY2VzID0gZXhpc3RpbmdSZXNwQXJlYUNob2ljZXNbZWwuZGF0YXNldC5pbmRleF0gfHwgW107XG5cbiAgICAgIGlmIChuZXdDaG9pY2VzLmxlbmd0aCA8IDIgfHwgIW5ld0Nob2ljZXMuZmluZChjID0+IGMuY29ycmVjdCkpIHtcbiAgICAgICAgZWwucmVtb3ZlKCk7XG4gICAgICAgIHNob3VsZFdhcm4gPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3UmVzcEFyZWFDaG9pY2VzW2luZGV4XSA9XG4gICAgICAgICAgZXhpc3RpbmdSZXNwQXJlYUNob2ljZXNbZWwuZGF0YXNldC5pbmRleF0gfHwgW107XG4gICAgICAgIGVsLmRhdGFzZXQuaW5kZXggPSBpbmRleDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChzaG91bGRXYXJuKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgZGlhbG9nOiB7XG4gICAgICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICAgJ1Jlc3BvbnNlIGFyZWFzIHdpdGggdW5kZXIgMiBvcHRpb25zIG9yIHdpdGggbm8gY29ycmVjdCBhbnN3ZXJzIHdpbGwgYmUgZGlzY2FyZGVkJyxcbiAgICAgICAgICBvbk9rOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlhbG9nOiB7XG4gICAgICAgICAgICAgICAgICBvcGVuOiBmYWxzZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2Uoe1xuICAgICAgICAgICAgICAgICAgY2hvaWNlczogY2xvbmVEZWVwKG5ld1Jlc3BBcmVhQ2hvaWNlcyksXG4gICAgICAgICAgICAgICAgICBzbGF0ZU1hcmt1cDogZG9tTWFya3VwLmlubmVySFRNTFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgb25DYW5jZWw6ICgpID0+XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgZGlhbG9nOiB7XG4gICAgICAgICAgICAgICAgb3BlbjogZmFsc2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25Nb2RlbENoYW5nZSh7XG4gICAgICAgIGNob2ljZXM6IGNsb25lRGVlcChuZXdSZXNwQXJlYUNob2ljZXMpLFxuICAgICAgICBzbGF0ZU1hcmt1cDogZG9tTWFya3VwLmlubmVySFRNTFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIG9uQWRkQ2hvaWNlID0gKGluZGV4LCBsYWJlbCkgPT4ge1xuICAgIGNvbnN0IHsgcmVzcEFyZWFDaG9pY2VzIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgaWYgKCFyZXNwQXJlYUNob2ljZXNbaW5kZXhdKSB7XG4gICAgICByZXNwQXJlYUNob2ljZXNbaW5kZXhdID0gW107XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgKHJlc3BBcmVhQ2hvaWNlc1tpbmRleF0gfHwgW10pLmZpbmQoXG4gICAgICAgIHIgPT4gcHJlcGFyZVZhbChyLmxhYmVsKSA9PT0gcHJlcGFyZVZhbChsYWJlbClcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBkaWFsb2c6IHtcbiAgICAgICAgICBvcGVuOiB0cnVlLFxuICAgICAgICAgIG1lc3NhZ2U6ICdEdXBsaWNhdGUgYW5zd2VycyBhcmUgbm90IGFsbG93ZWQuJyxcbiAgICAgICAgICBvbk9rOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgZGlhbG9nOiB7XG4gICAgICAgICAgICAgICAgb3BlbjogZmFsc2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gKHJlc3BBcmVhQ2hvaWNlc1tpbmRleF0gJiYgbWF4KHJlc3BBcmVhQ2hvaWNlc1tpbmRleF0ubWFwKGMgPT4gcGFyc2VJbnQoYy52YWx1ZSkpLmZpbHRlcih2YWwgPT4gIWlzTmFOKHZhbCkpKSkgfHwgMDtcblxuICAgIHJlc3BBcmVhQ2hvaWNlc1tpbmRleF0ucHVzaCh7XG4gICAgICBsYWJlbCxcbiAgICAgIHZhbHVlOiBgJHt2YWx1ZSArIDF9YCxcbiAgICAgIGNvcnJlY3Q6IGZhbHNlXG4gICAgfSk7XG5cbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UoeyBjaG9pY2VzOiBjbG9uZURlZXAocmVzcEFyZWFDaG9pY2VzKSB9KTtcbiAgfTtcblxuICBvblJlbW92ZUNob2ljZSA9IChyZXNwSW5kZXgsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgeyByZXNwQXJlYUNob2ljZXMgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICByZXNwQXJlYUNob2ljZXNbcmVzcEluZGV4XS5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHsgY2hvaWNlczogY2xvbmVEZWVwKHJlc3BBcmVhQ2hvaWNlcykgfSk7XG4gIH07XG5cbiAgb25TZWxlY3RDaG9pY2UgPSAocmVzcEluZGV4LCBzZWxlY3RlZEluZGV4KSA9PiB7XG4gICAgY29uc3QgeyByZXNwQXJlYUNob2ljZXMgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICByZXNwQXJlYUNob2ljZXNbcmVzcEluZGV4XSA9IHJlc3BBcmVhQ2hvaWNlc1tyZXNwSW5kZXhdLm1hcChcbiAgICAgIChjaCwgaW5kZXgpID0+ICh7IC4uLmNoLCBjb3JyZWN0OiBpbmRleCA9PT0gc2VsZWN0ZWRJbmRleCB9KVxuICAgICk7XG5cbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UoeyBjaG9pY2VzOiBjbG9uZURlZXAocmVzcEFyZWFDaG9pY2VzKSB9KTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBkaWFsb2cgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3Qge1xuICAgICAgY2xhc3NlcyxcbiAgICAgIG1vZGVsLFxuICAgICAgY29uZmlndXJhdGlvbixcbiAgICAgIG9uQ29uZmlndXJhdGlvbkNoYW5nZWQsXG4gICAgICBpbWFnZVN1cHBvcnRcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7XG4gICAgICBwcm9tcHQgPSB7fSxcbiAgICAgIHBhcnRpYWxTY29yaW5nID0ge30sXG4gICAgICBsb2NrQ2hvaWNlT3JkZXIgPSB7fSxcbiAgICAgIHJhdGlvbmFsZSA9IHt9LFxuICAgICAgY2hvaWNlUmF0aW9uYWxlID0ge30sXG4gICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zID0ge30sXG4gICAgICBzcGVsbENoZWNrID0ge30sXG4gICAgfSA9IGNvbmZpZ3VyYXRpb24gfHwge307XG4gICAgY29uc3Qge1xuICAgICAgcmF0aW9uYWxlRW5hYmxlZCxcbiAgICAgIGNob2ljZVJhdGlvbmFsZUVuYWJsZWQsXG4gICAgICBwcm9tcHRFbmFibGVkLFxuICAgICAgdGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQsXG4gICAgICBjaG9pY2VzLFxuICAgICAgc3BlbGxDaGVja0VuYWJsZWQsXG4gICAgICBlcnJvcnNcbiAgICB9ID1cbiAgICBtb2RlbCB8fCB7fTtcbiAgICBjb25zdCB7IHJlc3BvbnNlQXJlYXNFcnJvciB9ID0gZXJyb3JzIHx8IHt9O1xuXG4gICAgY29uc3QgcmVuZGVyQ2hvaWNlUmF0aW9uYWxlID0gKCkgPT4gKE9iamVjdC5rZXlzKGNob2ljZXMpIHx8IFtdKS5tYXAoa2V5ID0+XG4gICAgICA8ZGl2IGtleT17a2V5fSBjbGFzc05hbWU9e2NsYXNzZXMucmF0aW9uYWxlQ2hvaWNlc30+XG4gICAgICAgIDxFeHBhbnNpb25QYW5lbD5cbiAgICAgICAgICA8RXhwYW5zaW9uUGFuZWxTdW1tYXJ5IGV4cGFuZEljb249ezxFeHBhbmRNb3JlSWNvbi8+fT5cbiAgICAgICAgICAgIDxUeXBvZ3JhcGh5IGNsYXNzTmFtZT17Y2xhc3Nlcy50ZXh0fT5cbiAgICAgICAgICAgICAge2BSYXRpb25hbGUgZm9yIHJlc3BvbnNlIGFyZWEgIyR7cGFyc2VJbnQoa2V5KSArIDF9YH1cbiAgICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICA8L0V4cGFuc2lvblBhbmVsU3VtbWFyeT5cbiAgICAgICAgICA8RXhwYW5zaW9uUGFuZWxEZXRhaWxzIGNsYXNzTmFtZT17Y2xhc3Nlcy5wYW5lbERldGFpbHN9PlxuICAgICAgICAgICAgeyhjaG9pY2VzW2tleV0gfHwgW10pLm1hcChjaG9pY2UgPT5cbiAgICAgICAgICAgICAgPElucHV0Q29udGFpbmVyXG4gICAgICAgICAgICAgICAga2V5PXtjaG9pY2UubGFiZWx9XG4gICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnJhdGlvbmFsZUxhYmVsfVxuICAgICAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgICAgICAgICAgIF9faHRtbDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGAke3JhdGlvbmFsZS5sYWJlbH0gZm9yICR7Y2hvaWNlLmxhYmVsfSAoJHtjaG9pY2UuY29ycmVjdCA/ICdjb3JyZWN0JyA6ICdpbmNvcnJlY3QnfSlgXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMucHJvbXB0SG9sZGVyfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdH1cbiAgICAgICAgICAgICAgICAgIG1hcmt1cD17Y2hvaWNlLnJhdGlvbmFsZSB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2tFbmFibGVkfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2MgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNob2ljZVJhdGlvbmFsZUNoYW5nZWQoa2V5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgLi4uY2hvaWNlLFxuICAgICAgICAgICAgICAgICAgICAgIHJhdGlvbmFsZTogY1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgaW1hZ2VTdXBwb3J0PXtpbWFnZVN1cHBvcnR9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9FeHBhbnNpb25QYW5lbERldGFpbHM+XG4gICAgICAgIDwvRXhwYW5zaW9uUGFuZWw+XG4gICAgICA8L2Rpdj5cbiAgICApXG5cbiAgICBjb25zdCB0b29sYmFyT3B0cyA9IHt9O1xuXG4gICAgc3dpdGNoIChtb2RlbC50b29sYmFyRWRpdG9yUG9zaXRpb24pIHtcbiAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgIHRvb2xiYXJPcHRzLnBvc2l0aW9uID0gJ3RvcCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdG9vbGJhck9wdHMucG9zaXRpb24gPSAnYm90dG9tJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmRlc2lnbn0+XG4gICAgICAgIDxsYXlvdXQuQ29uZmlnTGF5b3V0XG4gICAgICAgICAgc2V0dGluZ3M9e1xuICAgICAgICAgICAgPFBhbmVsXG4gICAgICAgICAgICAgIG1vZGVsPXttb2RlbH1cbiAgICAgICAgICAgICAgY29uZmlndXJhdGlvbj17Y29uZmlndXJhdGlvbn1cbiAgICAgICAgICAgICAgb25DaGFuZ2VNb2RlbD17bW9kZWwgPT4gdGhpcy5vbk1vZGVsQ2hhbmdlKG1vZGVsKX1cbiAgICAgICAgICAgICAgb25DaGFuZ2VDb25maWd1cmF0aW9uPXtjb25maWd1cmF0aW9uID0+XG4gICAgICAgICAgICAgICAgb25Db25maWd1cmF0aW9uQ2hhbmdlZChjb25maWd1cmF0aW9uLCB0cnVlKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGdyb3Vwcz17e1xuICAgICAgICAgICAgICAgIFNldHRpbmdzOiB7XG4gICAgICAgICAgICAgICAgICBwYXJ0aWFsU2NvcmluZzpcbiAgICAgICAgICAgICAgICAgICAgcGFydGlhbFNjb3Jpbmcuc2V0dGluZ3MgJiYgdG9nZ2xlKHBhcnRpYWxTY29yaW5nLmxhYmVsKSxcbiAgICAgICAgICAgICAgICAgIGxvY2tDaG9pY2VPcmRlcjpcbiAgICAgICAgICAgICAgICAgICAgbG9ja0Nob2ljZU9yZGVyLnNldHRpbmdzICYmIHRvZ2dsZShsb2NrQ2hvaWNlT3JkZXIubGFiZWwpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBQcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDpcbiAgICAgICAgICAgICAgICAgICAgdGVhY2hlckluc3RydWN0aW9ucy5zZXR0aW5ncyAmJlxuICAgICAgICAgICAgICAgICAgICB0b2dnbGUodGVhY2hlckluc3RydWN0aW9ucy5sYWJlbCksXG4gICAgICAgICAgICAgICAgICByYXRpb25hbGVFbmFibGVkOlxuICAgICAgICAgICAgICAgICAgICByYXRpb25hbGUuc2V0dGluZ3MgJiYgdG9nZ2xlKHJhdGlvbmFsZS5sYWJlbCksXG4gICAgICAgICAgICAgICAgICBjaG9pY2VSYXRpb25hbGVFbmFibGVkOlxuICAgICAgICAgICAgICAgICAgICBjaG9pY2VSYXRpb25hbGUuc2V0dGluZ3MgJiYgdG9nZ2xlKGNob2ljZVJhdGlvbmFsZS5sYWJlbCksXG4gICAgICAgICAgICAgICAgICBwcm9tcHRFbmFibGVkOiBwcm9tcHQuc2V0dGluZ3MgJiYgdG9nZ2xlKHByb21wdC5sYWJlbCksXG4gICAgICAgICAgICAgICAgICBzcGVsbENoZWNrRW5hYmxlZDpcbiAgICAgICAgICAgICAgICAgIHNwZWxsQ2hlY2suc2V0dGluZ3MgJiYgdG9nZ2xlKHNwZWxsQ2hlY2subGFiZWwpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAge3RlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkICYmIChcbiAgICAgICAgICAgICAgPElucHV0Q29udGFpbmVyXG4gICAgICAgICAgICAgICAgbGFiZWw9e3RlYWNoZXJJbnN0cnVjdGlvbnMubGFiZWx9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdEhvbGRlcn1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHR9XG4gICAgICAgICAgICAgICAgICBtYXJrdXA9e21vZGVsLnRlYWNoZXJJbnN0cnVjdGlvbnMgfHwgJyd9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vblRlYWNoZXJJbnN0cnVjdGlvbnNDaGFuZ2VkfVxuICAgICAgICAgICAgICAgICAgaW1hZ2VTdXBwb3J0PXtpbWFnZVN1cHBvcnR9XG4gICAgICAgICAgICAgICAgICBub25FbXB0eT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICB0b29sYmFyT3B0cz17dG9vbGJhck9wdHN9XG4gICAgICAgICAgICAgICAgICBzcGVsbENoZWNrPXtzcGVsbENoZWNrRW5hYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge3Byb21wdEVuYWJsZWQgJiYgKFxuICAgICAgICAgICAgICA8SW5wdXRDb250YWluZXJcbiAgICAgICAgICAgICAgICBsYWJlbD17cHJvbXB0LmxhYmVsfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHRIb2xkZXJ9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RWRpdGFibGVIdG1sXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMucHJvbXB0fVxuICAgICAgICAgICAgICAgICAgbWFya3VwPXttb2RlbC5wcm9tcHR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vblByb21wdENoYW5nZWR9XG4gICAgICAgICAgICAgICAgICBpbWFnZVN1cHBvcnQ9e2ltYWdlU3VwcG9ydH1cbiAgICAgICAgICAgICAgICAgIG5vbkVtcHR5PXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVVbmRlcmxpbmVcbiAgICAgICAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt0b29sYmFyT3B0c31cbiAgICAgICAgICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2tFbmFibGVkfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvSW5wdXRDb250YWluZXI+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAgICB7cmF0aW9uYWxlRW5hYmxlZCAmJiAoXG4gICAgICAgICAgICAgIDxJbnB1dENvbnRhaW5lclxuICAgICAgICAgICAgICAgIGxhYmVsPXtyYXRpb25hbGUubGFiZWx9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnByb21wdEhvbGRlcn1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5wcm9tcHR9XG4gICAgICAgICAgICAgICAgICBtYXJrdXA9e21vZGVsLnJhdGlvbmFsZSB8fCAnJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uUmF0aW9uYWxlQ2hhbmdlZH1cbiAgICAgICAgICAgICAgICAgIGltYWdlU3VwcG9ydD17aW1hZ2VTdXBwb3J0fVxuICAgICAgICAgICAgICAgICAgdG9vbGJhck9wdHM9e3Rvb2xiYXJPcHRzfVxuICAgICAgICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9JbnB1dENvbnRhaW5lcj5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIDxUeXBvZ3JhcGh5IGNsYXNzTmFtZT17Y2xhc3Nlcy50ZXh0fT5cbiAgICAgICAgICAgICAgRGVmaW5lIFRlbXBsYXRlLCBDaG9pY2VzLCBhbmQgQ29ycmVjdCBSZXNwb25zZXNcbiAgICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgIHtyZXNwb25zZUFyZWFzRXJyb3IgJiYgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZXJyb3JUZXh0fT57cmVzcG9uc2VBcmVhc0Vycm9yfTwvZGl2Pn1cbiAgICAgICAgICAgIDxJbmZvRGlhbG9nXG4gICAgICAgICAgICAgIG9wZW49e2RpYWxvZy5vcGVufVxuICAgICAgICAgICAgICB0aXRsZT17ZGlhbG9nLm1lc3NhZ2V9XG4gICAgICAgICAgICAgIG9uQ2FuY2VsPXtkaWFsb2cub25DYW5jZWx9XG4gICAgICAgICAgICAgIG9uT2s9e2RpYWxvZy5vbk9rfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgICAgYWN0aXZlUGx1Z2lucz17QUxMX1BMVUdJTlN9XG4gICAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt7IHBvc2l0aW9uOiAndG9wJyB9fVxuICAgICAgICAgICAgICByZXNwb25zZUFyZWFQcm9wcz17e1xuICAgICAgICAgICAgICAgIHR5cGU6ICdpbmxpbmUtZHJvcGRvd24nLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGR1cGxpY2F0ZXM6IHRydWVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc3BBcmVhVG9vbGJhcjogKG5vZGUsIHZhbHVlLCBvblRvb2xiYXJEb25lKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCB7IHJlc3BBcmVhQ2hvaWNlcyB9ID0gdGhpcy5zdGF0ZTtcblxuICAgICAgICAgICAgICAgICAgcmV0dXJuICgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPElubGluZURyb3Bkb3duVG9vbGJhclxuICAgICAgICAgICAgICAgICAgICAgIG9uQWRkQ2hvaWNlPXt0aGlzLm9uQWRkQ2hvaWNlfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2s9e3RoaXMub25DaGVja31cbiAgICAgICAgICAgICAgICAgICAgICBvblJlbW92ZUNob2ljZT17aW5kZXggPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25SZW1vdmVDaG9pY2Uobm9kZS5kYXRhLmdldCgnaW5kZXgnKSwgaW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIG9uU2VsZWN0Q2hvaWNlPXtpbmRleCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vblNlbGVjdENob2ljZShub2RlLmRhdGEuZ2V0KCdpbmRleCcpLCBpbmRleClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgbm9kZT17bm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgb25Ub29sYmFyRG9uZT17b25Ub29sYmFyRG9uZX1cbiAgICAgICAgICAgICAgICAgICAgICBjaG9pY2VzPXtyZXNwQXJlYUNob2ljZXNbbm9kZS5kYXRhLmdldCgnaW5kZXgnKV19XG4gICAgICAgICAgICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgc3BlbGxDaGVjaz17c3BlbGxDaGVja0VuYWJsZWR9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5tYXJrdXB9XG4gICAgICAgICAgICAgIG1hcmt1cD17bW9kZWwuc2xhdGVNYXJrdXAgfHwgJyd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlfVxuICAgICAgICAgICAgICBpbWFnZVN1cHBvcnQ9e2ltYWdlU3VwcG9ydH1cbiAgICAgICAgICAgICAgb25CbHVyPXt0aGlzLm9uQmx1cn1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICAgICAgICBoaWdobGlnaHRTaGFwZT17ZmFsc2V9XG4gICAgICAgICAgICAgIGVycm9yPXtyZXNwb25zZUFyZWFzRXJyb3J9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICB7Y2hvaWNlUmF0aW9uYWxlRW5hYmxlZCAmJiByZW5kZXJDaG9pY2VSYXRpb25hbGUoKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9sYXlvdXQuQ29uZmlnTGF5b3V0PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBTdHlsZWQgPSB3aXRoU3R5bGVzKHN0eWxlcykoTWFpbik7XG5cbmV4cG9ydCBkZWZhdWx0IFN0eWxlZDtcbiJdfQ==
|
|
619
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["toggle","settings","Panel","InfoDialog","open","onCancel","onOk","title","propTypes","PropTypes","bool","func","string","styles","theme","promptHolder","width","paddingBottom","spacing","unit","marginBottom","prompt","paddingTop","markup","minHeight","design","choiceConfiguration","switchElement","justifyContent","margin","addButton","text","fontFamily","fontSize","lineHeight","color","rationaleLabel","display","whiteSpace","rationaleChoices","marginTop","panelDetails","errorText","createElementFromHTML","htmlString","div","document","createElement","innerHTML","trim","prepareVal","html","tmp","value","textContent","innerText","Main","dialog","newVal","props","onModelChanged","model","onModelChange","rationale","index","choice","indexOfChoice","choices","findIndex","elem","label","splice","teacherInstructions","slateMarkup","callback","setState","message","respAreaChoices","state","domMarkup","allRespAreas","querySelectorAll","allChoices","forEach","el","dataset","existingRespAreaChoices","obj","key","newRespAreaChoices","shouldWarn","newChoices","length","find","c","correct","remove","r","map","parseInt","filter","val","isNaN","push","respIndex","selectedIndex","ch","nProps","newState","domNode","ReactDOM","findDOMNode","classes","configuration","onConfigurationChanged","imageSupport","partialScoring","lockChoiceOrder","choiceRationale","spellCheck","rationaleEnabled","choiceRationaleEnabled","promptEnabled","teacherInstructionsEnabled","spellCheckEnabled","errors","responseAreasError","renderChoiceRationale","Object","keys","__html","onChoiceRationaleChanged","toolbarOpts","toolbarEditorPosition","position","Settings","Properties","onTeacherInstructionsChanged","onPromptChanged","onRationaleChanged","ALL_PLUGINS","type","options","duplicates","respAreaToolbar","node","onToolbarDone","onAddChoice","onCheck","onRemoveChoice","data","get","onSelectChoice","onChange","onBlur","React","Component","object","isRequired","disableSidePanel","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport EditableHtml, { ALL_PLUGINS } from '@pie-lib/editable-html';\nimport { InputContainer, layout, settings } from '@pie-lib/config-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEqual from 'lodash/isEqual';\nimport isUndefined from 'lodash/isUndefined';\nimport isEmpty from 'lodash/isEmpty';\nimport reduce from 'lodash/reduce';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Typography from '@material-ui/core/Typography';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport InlineDropdownToolbar from './inline-dropdown-toolbar';\nimport max from 'lodash/max';\n\nconst { toggle, Panel } = settings;\n\nconst InfoDialog = ({ open, onCancel, onOk, title }) => (\n <Dialog open={open}>\n <DialogTitle>{title}</DialogTitle>\n <DialogActions>\n {onOk && (\n <Button onClick={onOk} color=\"primary\">\n OK\n </Button>\n )}\n {onCancel && (\n <Button onClick={onCancel} color=\"primary\">\n Cancel\n </Button>\n )}\n </DialogActions>\n </Dialog>\n);\n\nInfoDialog.propTypes = {\n open: PropTypes.bool,\n onCancel: PropTypes.func,\n onOk: PropTypes.func,\n title: PropTypes.string\n};\n\nconst styles = theme => ({\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n markup: {\n minHeight: '100px',\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n '& [data-slate-editor=\"true\"]': {\n minHeight: '100px'\n }\n },\n design: {\n paddingTop: theme.spacing.unit * 3\n },\n choiceConfiguration: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2\n },\n switchElement: {\n justifyContent: 'space-between',\n margin: 0\n },\n addButton: {\n float: 'right'\n },\n text: {\n fontFamily: 'Cerebri Sans',\n fontSize: '16px',\n lineHeight: '19px',\n color: '#495B8F'\n },\n rationaleLabel: {\n display: 'flex',\n whiteSpace: 'break-spaces'\n },\n rationaleChoices: {\n marginTop: '16px'\n },\n panelDetails: {\n display: 'block'\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n paddingTop: '5px',\n marginTop: '8px'\n }\n});\n\nconst createElementFromHTML = htmlString => {\n const div = document.createElement('div');\n\n div.innerHTML = (htmlString || '').trim();\n\n return div;\n};\n\nconst prepareVal = html => {\n const tmp = document.createElement('DIV');\n\n tmp.innerHTML = html;\n\n const value = tmp.textContent || tmp.innerText || '';\n\n return value.trim();\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n configuration: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n })\n };\n\n state = {\n dialog: {\n open: false\n }\n };\n\n componentDidMount() {\n const {\n model: { choices }\n } = this.props;\n\n this.setState({ respAreaChoices: cloneDeep(choices) });\n }\n\n UNSAFE_componentWillReceiveProps(nProps) {\n const newState = {};\n\n if (\n !isEqual(nProps.model.choices, this.props.model.choices) ||\n !isEqual(nProps.model.choices, this.state.respAreaChoices)\n ) {\n newState.respAreaChoices = cloneDeep(nProps.model.choices);\n }\n\n if (!isEmpty(newState)) {\n this.setState(newState);\n }\n }\n\n componentDidUpdate() {\n //eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n onModelChange = newVal => {\n this.props.onModelChanged({\n ...this.props.model,\n ...newVal\n });\n };\n\n onPromptChanged = prompt => {\n this.onModelChange({ prompt });\n };\n\n onRationaleChanged = rationale => {\n this.onModelChange({ rationale });\n };\n\n onChoiceRationaleChanged = (index, choice) => {\n const { model } = this.props;\n const indexOfChoice = model.choices && model.choices[index] && model.choices[index]\n .findIndex(elem => elem.label === choice.label && elem.value === choice.value);\n\n model.choices[index] && model.choices[index].splice(indexOfChoice, 1, choice);\n\n this.onModelChange(model);\n };\n\n onTeacherInstructionsChanged = teacherInstructions => {\n this.onModelChange({ teacherInstructions });\n };\n\n onMarkupChanged = slateMarkup => {\n this.onModelChange({ slateMarkup });\n };\n\n onCheck = callback => {\n this.setState({\n dialog: {\n open: true,\n message:\n 'Response areas with under 2 options or with no correct answers will be discarded',\n onOk: () => {\n this.setState(\n {\n dialog: {\n open: false\n }\n },\n callback\n );\n },\n onCancel: () =>\n this.setState({\n dialog: {\n open: false\n }\n })\n }\n });\n };\n\n onChange = markup => {\n const { respAreaChoices } = this.state;\n const domMarkup = createElementFromHTML(markup);\n const allRespAreas = domMarkup.querySelectorAll(\n '[data-type=\"inline_dropdown\"]'\n );\n\n const allChoices = {};\n\n allRespAreas.forEach(el => {\n allChoices[el.dataset.index] = el.dataset.value || '';\n });\n\n const existingRespAreaChoices = reduce(\n respAreaChoices,\n (obj, choices, key) => {\n if (!isUndefined(allChoices[key])) {\n obj[key] = respAreaChoices[key];\n }\n\n return obj;\n },\n {}\n );\n\n const newRespAreaChoices = {};\n let shouldWarn = false;\n\n allRespAreas.forEach((el, index) => {\n const newChoices = existingRespAreaChoices[el.dataset.index] || [];\n\n if (newChoices.length < 2 || !newChoices.find(c => c.correct)) {\n el.remove();\n shouldWarn = true;\n } else {\n newRespAreaChoices[index] =\n existingRespAreaChoices[el.dataset.index] || [];\n el.dataset.index = index;\n }\n });\n\n if (shouldWarn) {\n this.setState({\n dialog: {\n open: true,\n message:\n 'Response areas with under 2 options or with no correct answers will be discarded',\n onOk: () => {\n this.setState(\n {\n dialog: {\n open: false\n }\n },\n () =>\n this.onModelChange({\n choices: cloneDeep(newRespAreaChoices),\n slateMarkup: domMarkup.innerHTML\n })\n );\n },\n onCancel: () =>\n this.setState({\n dialog: {\n open: false\n }\n })\n }\n });\n } else {\n this.onModelChange({\n choices: cloneDeep(newRespAreaChoices),\n slateMarkup: domMarkup.innerHTML\n });\n }\n };\n\n onAddChoice = (index, label) => {\n const { respAreaChoices } = this.state;\n\n if (!respAreaChoices[index]) {\n respAreaChoices[index] = [];\n }\n\n if (\n (respAreaChoices[index] || []).find(\n r => prepareVal(r.label) === prepareVal(label)\n )\n ) {\n this.setState({\n dialog: {\n open: true,\n message: 'Duplicate answers are not allowed.',\n onOk: () => {\n this.setState({\n dialog: {\n open: false\n }\n });\n }\n }\n });\n\n return;\n }\n\n const value = (respAreaChoices[index] && max(respAreaChoices[index].map(c => parseInt(c.value)).filter(val => !isNaN(val)))) || 0;\n\n respAreaChoices[index].push({\n label,\n value: `${value + 1}`,\n correct: false\n });\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n onRemoveChoice = (respIndex, index) => {\n const { respAreaChoices } = this.state;\n\n respAreaChoices[respIndex].splice(index, 1);\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n onSelectChoice = (respIndex, selectedIndex) => {\n const { respAreaChoices } = this.state;\n\n respAreaChoices[respIndex] = respAreaChoices[respIndex].map(\n (ch, index) => ({ ...ch, correct: index === selectedIndex })\n );\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n render() {\n const { dialog } = this.state;\n const {\n classes,\n model,\n configuration,\n onConfigurationChanged,\n imageSupport\n } = this.props;\n const {\n prompt = {},\n partialScoring = {},\n lockChoiceOrder = {},\n rationale = {},\n choiceRationale = {},\n teacherInstructions = {},\n spellCheck = {},\n } = configuration || {};\n const {\n rationaleEnabled,\n choiceRationaleEnabled,\n promptEnabled,\n teacherInstructionsEnabled,\n choices,\n spellCheckEnabled,\n errors\n } =\n model || {};\n const { responseAreasError } = errors || {};\n\n const renderChoiceRationale = () => (Object.keys(choices) || []).map(key =>\n <div key={key} className={classes.rationaleChoices}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon/>}>\n <Typography className={classes.text}>\n {`Rationale for response area #${parseInt(key) + 1}`}\n </Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails className={classes.panelDetails}>\n {(choices[key] || []).map(choice =>\n <InputContainer\n key={choice.label}\n label={\n <span\n className={classes.rationaleLabel}\n dangerouslySetInnerHTML={{\n __html:\n `${rationale.label} for ${choice.label} (${choice.correct ? 'correct' : 'incorrect'})`\n }}\n />\n }\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={choice.rationale || ''}\n spellCheck={spellCheckEnabled}\n onChange={c =>\n this.onChoiceRationaleChanged(key, {\n ...choice,\n rationale: c\n })\n }\n imageSupport={imageSupport}\n />\n </InputContainer>\n )}\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n )\n\n const toolbarOpts = {};\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n\n return (\n <div className={classes.design}>\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={model => this.onModelChange(model)}\n onChangeConfiguration={configuration =>\n onConfigurationChanged(configuration, true)\n }\n groups={{\n Settings: {\n partialScoring:\n partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder:\n lockChoiceOrder.settings && toggle(lockChoiceOrder.label)\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n rationaleEnabled:\n rationale.settings && toggle(rationale.label),\n choiceRationaleEnabled:\n choiceRationale.settings && toggle(choiceRationale.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label)\n }\n }}\n />\n }\n >\n <div>\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer\n label={prompt.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n <Typography className={classes.text}>\n Define Template, Choices, and Correct Responses\n </Typography>\n {responseAreasError && <div className={classes.errorText}>{responseAreasError}</div>}\n <InfoDialog\n open={dialog.open}\n title={dialog.message}\n onCancel={dialog.onCancel}\n onOk={dialog.onOk}\n />\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n toolbarOpts={{ position: 'top' }}\n responseAreaProps={{\n type: 'inline-dropdown',\n options: {\n duplicates: true\n },\n respAreaToolbar: (node, value, onToolbarDone) => {\n const { respAreaChoices } = this.state;\n\n return () => (\n <InlineDropdownToolbar\n onAddChoice={this.onAddChoice}\n onCheck={this.onCheck}\n onRemoveChoice={index =>\n this.onRemoveChoice(node.data.get('index'), index)\n }\n onSelectChoice={index =>\n this.onSelectChoice(node.data.get('index'), index)\n }\n node={node}\n value={value}\n onToolbarDone={onToolbarDone}\n choices={respAreaChoices[node.data.get('index')]}\n spellCheck={spellCheckEnabled}\n />\n );\n }\n }}\n spellCheck={spellCheckEnabled}\n className={classes.markup}\n markup={model.slateMarkup || ''}\n onChange={this.onChange}\n imageSupport={imageSupport}\n onBlur={this.onBlur}\n disabled={false}\n highlightShape={false}\n error={responseAreasError}\n />\n <br />\n {choiceRationaleEnabled && renderChoiceRationale()}\n </div>\n </layout.ConfigLayout>\n </div>\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"main.js"}
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["toggle","settings","Panel","InfoDialog","open","onCancel","onOk","title","propTypes","PropTypes","bool","func","string","styles","theme","promptHolder","width","paddingBottom","spacing","unit","marginBottom","prompt","paddingTop","markup","minHeight","design","choiceConfiguration","switchElement","justifyContent","margin","addButton","text","fontFamily","fontSize","lineHeight","color","rationaleLabel","display","whiteSpace","rationaleChoices","marginTop","panelDetails","createElementFromHTML","htmlString","div","document","createElement","innerHTML","trim","prepareVal","html","tmp","value","textContent","innerText","Main","dialog","newVal","props","onModelChanged","model","onModelChange","rationale","index","choice","indexOfChoice","choices","findIndex","elem","label","splice","teacherInstructions","slateMarkup","callback","setState","message","respAreaChoices","state","domMarkup","allRespAreas","querySelectorAll","allChoices","forEach","el","dataset","existingRespAreaChoices","obj","key","newRespAreaChoices","shouldWarn","newChoices","length","find","c","correct","remove","r","map","parseInt","filter","val","isNaN","push","respIndex","selectedIndex","ch","nProps","newState","domNode","ReactDOM","findDOMNode","classes","configuration","onConfigurationChanged","imageSupport","partialScoring","lockChoiceOrder","choiceRationale","spellCheck","rationaleEnabled","choiceRationaleEnabled","promptEnabled","teacherInstructionsEnabled","spellCheckEnabled","renderChoiceRationale","Object","keys","__html","onChoiceRationaleChanged","toolbarOpts","toolbarEditorPosition","position","Settings","Properties","onTeacherInstructionsChanged","onPromptChanged","onRationaleChanged","ALL_PLUGINS","type","options","duplicates","respAreaToolbar","node","onToolbarDone","onAddChoice","onCheck","onRemoveChoice","data","get","onSelectChoice","onChange","onBlur","React","Component","object","isRequired","disableSidePanel","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport EditableHtml, { ALL_PLUGINS } from '@pie-lib/editable-html';\nimport { InputContainer, layout, settings } from '@pie-lib/config-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEqual from 'lodash/isEqual';\nimport isUndefined from 'lodash/isUndefined';\nimport isEmpty from 'lodash/isEmpty';\nimport reduce from 'lodash/reduce';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Typography from '@material-ui/core/Typography';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport InlineDropdownToolbar from './inline-dropdown-toolbar';\nimport max from 'lodash/max';\n\nconst { toggle, Panel } = settings;\n\nconst InfoDialog = ({ open, onCancel, onOk, title }) => (\n <Dialog open={open}>\n <DialogTitle>{title}</DialogTitle>\n <DialogActions>\n {onOk && (\n <Button onClick={onOk} color=\"primary\">\n OK\n </Button>\n )}\n {onCancel && (\n <Button onClick={onCancel} color=\"primary\">\n Cancel\n </Button>\n )}\n </DialogActions>\n </Dialog>\n);\n\nInfoDialog.propTypes = {\n open: PropTypes.bool,\n onCancel: PropTypes.func,\n onOk: PropTypes.func,\n title: PropTypes.string\n};\n\nconst styles = theme => ({\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n markup: {\n minHeight: '100px',\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n '& [data-slate-editor=\"true\"]': {\n minHeight: '100px'\n }\n },\n design: {\n paddingTop: theme.spacing.unit * 3\n },\n choiceConfiguration: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2\n },\n switchElement: {\n justifyContent: 'space-between',\n margin: 0\n },\n addButton: {\n float: 'right'\n },\n text: {\n fontFamily: 'Cerebri Sans',\n fontSize: '16px',\n lineHeight: '19px',\n color: '#495B8F'\n },\n rationaleLabel: {\n display: 'flex',\n whiteSpace: 'break-spaces'\n },\n rationaleChoices: {\n marginTop: '16px'\n },\n panelDetails: {\n display: 'block'\n }\n});\n\nconst createElementFromHTML = htmlString => {\n const div = document.createElement('div');\n\n div.innerHTML = (htmlString || '').trim();\n\n return div;\n};\n\nconst prepareVal = html => {\n const tmp = document.createElement('DIV');\n\n tmp.innerHTML = html;\n\n const value = tmp.textContent || tmp.innerText || '';\n\n return value.trim();\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n configuration: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n })\n };\n\n state = {\n dialog: {\n open: false\n }\n };\n\n componentDidMount() {\n const {\n model: { choices }\n } = this.props;\n\n this.setState({ respAreaChoices: cloneDeep(choices) });\n }\n\n UNSAFE_componentWillReceiveProps(nProps) {\n const newState = {};\n\n if (\n !isEqual(nProps.model.choices, this.props.model.choices) ||\n !isEqual(nProps.model.choices, this.state.respAreaChoices)\n ) {\n newState.respAreaChoices = cloneDeep(nProps.model.choices);\n }\n\n if (!isEmpty(newState)) {\n this.setState(newState);\n }\n }\n\n componentDidUpdate() {\n //eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n onModelChange = newVal => {\n this.props.onModelChanged({\n ...this.props.model,\n ...newVal\n });\n };\n\n onPromptChanged = prompt => {\n this.onModelChange({ prompt });\n };\n\n onRationaleChanged = rationale => {\n this.onModelChange({ rationale });\n };\n\n onChoiceRationaleChanged = (index, choice) => {\n const { model } = this.props;\n const indexOfChoice = model.choices && model.choices[index] && model.choices[index]\n .findIndex(elem => elem.label === choice.label && elem.value === choice.value);\n\n model.choices[index] && model.choices[index].splice(indexOfChoice, 1, choice);\n\n this.onModelChange(model);\n };\n\n onTeacherInstructionsChanged = teacherInstructions => {\n this.onModelChange({ teacherInstructions });\n };\n\n onMarkupChanged = slateMarkup => {\n this.onModelChange({ slateMarkup });\n };\n\n onCheck = callback => {\n this.setState({\n dialog: {\n open: true,\n message:\n 'Response areas with under 2 options or with no correct answers will be discarded',\n onOk: () => {\n this.setState(\n {\n dialog: {\n open: false\n }\n },\n callback\n );\n },\n onCancel: () =>\n this.setState({\n dialog: {\n open: false\n }\n })\n }\n });\n };\n\n onChange = markup => {\n const { respAreaChoices } = this.state;\n const domMarkup = createElementFromHTML(markup);\n const allRespAreas = domMarkup.querySelectorAll(\n '[data-type=\"inline_dropdown\"]'\n );\n\n const allChoices = {};\n\n allRespAreas.forEach(el => {\n allChoices[el.dataset.index] = el.dataset.value || '';\n });\n\n const existingRespAreaChoices = reduce(\n respAreaChoices,\n (obj, choices, key) => {\n if (!isUndefined(allChoices[key])) {\n obj[key] = respAreaChoices[key];\n }\n\n return obj;\n },\n {}\n );\n\n const newRespAreaChoices = {};\n let shouldWarn = false;\n\n allRespAreas.forEach((el, index) => {\n const newChoices = existingRespAreaChoices[el.dataset.index] || [];\n\n if (newChoices.length < 2 || !newChoices.find(c => c.correct)) {\n el.remove();\n shouldWarn = true;\n } else {\n newRespAreaChoices[index] =\n existingRespAreaChoices[el.dataset.index] || [];\n el.dataset.index = index;\n }\n });\n\n if (shouldWarn) {\n this.setState({\n dialog: {\n open: true,\n message:\n 'Response areas with under 2 options or with no correct answers will be discarded',\n onOk: () => {\n this.setState(\n {\n dialog: {\n open: false\n }\n },\n () =>\n this.onModelChange({\n choices: cloneDeep(newRespAreaChoices),\n slateMarkup: domMarkup.innerHTML\n })\n );\n },\n onCancel: () =>\n this.setState({\n dialog: {\n open: false\n }\n })\n }\n });\n } else {\n this.onModelChange({\n choices: cloneDeep(newRespAreaChoices),\n slateMarkup: domMarkup.innerHTML\n });\n }\n };\n\n onAddChoice = (index, label) => {\n const { respAreaChoices } = this.state;\n\n if (!respAreaChoices[index]) {\n respAreaChoices[index] = [];\n }\n\n if (\n (respAreaChoices[index] || []).find(\n r => prepareVal(r.label) === prepareVal(label)\n )\n ) {\n this.setState({\n dialog: {\n open: true,\n message: 'Duplicate answers are not allowed.',\n onOk: () => {\n this.setState({\n dialog: {\n open: false\n }\n });\n }\n }\n });\n\n return;\n }\n\n const value = (respAreaChoices[index] && max(respAreaChoices[index].map(c => parseInt(c.value)).filter(val => !isNaN(val)))) || 0;\n\n respAreaChoices[index].push({\n label,\n value: `${value + 1}`,\n correct: false\n });\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n onRemoveChoice = (respIndex, index) => {\n const { respAreaChoices } = this.state;\n\n respAreaChoices[respIndex].splice(index, 1);\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n onSelectChoice = (respIndex, selectedIndex) => {\n const { respAreaChoices } = this.state;\n\n respAreaChoices[respIndex] = respAreaChoices[respIndex].map(\n (ch, index) => ({ ...ch, correct: index === selectedIndex })\n );\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n render() {\n const { dialog } = this.state;\n const {\n classes,\n model,\n configuration,\n onConfigurationChanged,\n imageSupport\n } = this.props;\n const {\n prompt = {},\n partialScoring = {},\n lockChoiceOrder = {},\n rationale = {},\n choiceRationale = {},\n teacherInstructions = {},\n spellCheck = {},\n } = configuration || {};\n const {\n rationaleEnabled,\n choiceRationaleEnabled,\n promptEnabled,\n teacherInstructionsEnabled,\n choices,\n spellCheckEnabled\n } =\n model || {};\n\n const renderChoiceRationale = () => (Object.keys(choices) || []).map(key =>\n <div key={key} className={classes.rationaleChoices}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon/>}>\n <Typography className={classes.text}>\n {`Rationale for response area #${parseInt(key) + 1}`}\n </Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails className={classes.panelDetails}>\n {(choices[key] || []).map(choice =>\n <InputContainer\n key={choice.label}\n label={\n <span\n className={classes.rationaleLabel}\n dangerouslySetInnerHTML={{\n __html:\n `${rationale.label} for ${choice.label} (${choice.correct ? 'correct' : 'incorrect'})`\n }}\n />\n }\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={choice.rationale || ''}\n spellCheck={spellCheckEnabled}\n onChange={c =>\n this.onChoiceRationaleChanged(key, {\n ...choice,\n rationale: c\n })\n }\n imageSupport={imageSupport}\n />\n </InputContainer>\n )}\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n )\n\n const toolbarOpts = {};\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n\n return (\n <div className={classes.design}>\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={model => this.onModelChange(model)}\n onChangeConfiguration={configuration =>\n onConfigurationChanged(configuration, true)\n }\n groups={{\n Settings: {\n partialScoring:\n partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder:\n lockChoiceOrder.settings && toggle(lockChoiceOrder.label)\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n rationaleEnabled:\n rationale.settings && toggle(rationale.label),\n choiceRationaleEnabled:\n choiceRationale.settings && toggle(choiceRationale.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label)\n }\n }}\n />\n }\n >\n <div>\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer\n label={prompt.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n <Typography className={classes.text}>\n Define Template, Choices, and Correct Responses\n </Typography>\n <InfoDialog\n open={dialog.open}\n title={dialog.message}\n onCancel={dialog.onCancel}\n onOk={dialog.onOk}\n />\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n toolbarOpts={{ position: 'top' }}\n responseAreaProps={{\n type: 'inline-dropdown',\n options: {\n duplicates: true\n },\n respAreaToolbar: (node, value, onToolbarDone) => {\n const { respAreaChoices } = this.state;\n\n return () => (\n <InlineDropdownToolbar\n onAddChoice={this.onAddChoice}\n onCheck={this.onCheck}\n onRemoveChoice={index =>\n this.onRemoveChoice(node.data.get('index'), index)\n }\n onSelectChoice={index =>\n this.onSelectChoice(node.data.get('index'), index)\n }\n node={node}\n value={value}\n onToolbarDone={onToolbarDone}\n choices={respAreaChoices[node.data.get('index')]}\n spellCheck={spellCheckEnabled}\n />\n );\n }\n }}\n spellCheck={spellCheckEnabled}\n className={classes.markup}\n markup={model.slateMarkup || ''}\n onChange={this.onChange}\n imageSupport={imageSupport}\n onBlur={this.onBlur}\n disabled={false}\n highlightShape={false}\n />\n <br />\n {choiceRationaleEnabled && renderChoiceRationale()}\n </div>\n </layout.ConfigLayout>\n </div>\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"main.js"}
|
|
@@ -67,4 +67,4 @@ var createSlateMarkup = function createSlateMarkup(markup, choices) {
|
|
|
67
67
|
};
|
|
68
68
|
|
|
69
69
|
exports.createSlateMarkup = createSlateMarkup;
|
|
70
|
-
//# sourceMappingURL=
|
|
70
|
+
//# sourceMappingURL=markupUtils.js.map
|