yapp 5.1.321 → 5.1.322

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.
Files changed (84) hide show
  1. package/package.json +2 -2
  2. package/lib/colours.js +0 -114
  3. package/lib/constants.js +0 -46
  4. package/lib/customEventTypes.js +0 -13
  5. package/lib/defaults.js +0 -42
  6. package/lib/div/gutter.js +0 -73
  7. package/lib/div/lineNumbers.js +0 -62
  8. package/lib/div/pretty.js +0 -78
  9. package/lib/div/syntax.js +0 -101
  10. package/lib/example/constants.js +0 -13
  11. package/lib/example/view/div/sizeable/left.js +0 -30
  12. package/lib/example/view/div/sizeable/middle.js +0 -30
  13. package/lib/example/view/div/sizeable/right.js +0 -30
  14. package/lib/example/view/div/sizeable/top.js +0 -30
  15. package/lib/example/view/input.js +0 -27
  16. package/lib/example/view/javascript.js +0 -51
  17. package/lib/example/view/json.js +0 -38
  18. package/lib/example/view/plainText.js +0 -27
  19. package/lib/example/view/subHeading.js +0 -29
  20. package/lib/example/view/textarea/bnf.js +0 -39
  21. package/lib/example/view/textarea/lexicalEntries.js +0 -39
  22. package/lib/example/view/textarea/parseTree.js +0 -46
  23. package/lib/example/view/textarea/tokens.js +0 -59
  24. package/lib/example/view/textarea.js +0 -31
  25. package/lib/example/view/xml.js +0 -42
  26. package/lib/example/view.js +0 -107
  27. package/lib/example/yapp.js +0 -25
  28. package/lib/example.js +0 -39
  29. package/lib/index.js +0 -55
  30. package/lib/languages.js +0 -30
  31. package/lib/lexer/javascript.js +0 -55
  32. package/lib/lexer/json.js +0 -46
  33. package/lib/lexer/plainText.js +0 -37
  34. package/lib/lexer/xml.js +0 -43
  35. package/lib/mixins/style.js +0 -72
  36. package/lib/parser/javascript.js +0 -289
  37. package/lib/parser/json.js +0 -44
  38. package/lib/parser/plainText.js +0 -28
  39. package/lib/parser/xml.js +0 -68
  40. package/lib/plugin/javascript.js +0 -31
  41. package/lib/plugin/json.js +0 -31
  42. package/lib/plugin/plainText.js +0 -31
  43. package/lib/plugin/xml.js +0 -31
  44. package/lib/plugin.js +0 -58
  45. package/lib/prettyPrinter.js +0 -102
  46. package/lib/processor/javascript.js +0 -82
  47. package/lib/processor/json.js +0 -35
  48. package/lib/processor/plainText.js +0 -26
  49. package/lib/processor/xml.js +0 -50
  50. package/lib/processor.js +0 -67
  51. package/lib/renderYappStyles.js +0 -27
  52. package/lib/richTextarea.js +0 -86
  53. package/lib/scheme/colour.js +0 -55
  54. package/lib/scheme/syntax/default.js +0 -31
  55. package/lib/scheme/syntax/javaScript.js +0 -31
  56. package/lib/scheme/syntax/json.js +0 -14
  57. package/lib/scheme/syntax/xml.js +0 -23
  58. package/lib/style/firaCode.js +0 -29
  59. package/lib/style/syntax/default.js +0 -44
  60. package/lib/style/syntax/javaScript.js +0 -25
  61. package/lib/style/syntax/json.js +0 -19
  62. package/lib/style/syntax/xml.js +0 -21
  63. package/lib/style/syntax.js +0 -33
  64. package/lib/style/yapp.js +0 -81
  65. package/lib/styles.js +0 -22
  66. package/lib/token/significant/argument.js +0 -20
  67. package/lib/token/significant/attribute.js +0 -20
  68. package/lib/token/significant/comment.js +0 -20
  69. package/lib/token/significant/error.js +0 -20
  70. package/lib/token/significant/jsx/attributeName.js +0 -20
  71. package/lib/token/significant/jsx/tagName.js +0 -20
  72. package/lib/token/significant/name.js +0 -20
  73. package/lib/token/significant/string.js +0 -20
  74. package/lib/token/significant/variable.js +0 -20
  75. package/lib/tokenTypes.js +0 -46
  76. package/lib/utilities/configuration.js +0 -22
  77. package/lib/utilities/content.js +0 -43
  78. package/lib/utilities/css.js +0 -24
  79. package/lib/utilities/element.js +0 -33
  80. package/lib/utilities/plugin.js +0 -48
  81. package/lib/utilities/rules.js +0 -34
  82. package/lib/utilities/scrollbar.js +0 -35
  83. package/lib/utilities/tokens.js +0 -22
  84. package/lib/yapp.js +0 -142
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
- const _easylayout = require("easy-layout");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- class RightSizeableDiv extends _easylayout.SizeableDiv {
19
- static defaultProperties = {
20
- className: "right"
21
- };
22
- }
23
- const _default = (0, _easywithstyle.default)(RightSizeableDiv)`
24
-
25
- height: 24rem;
26
- min-height: 12rem;
27
-
28
- `;
29
-
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvZGl2L3NpemVhYmxlL3JpZ2h0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjsgIC8vL1xuXG5pbXBvcnQgeyBTaXplYWJsZURpdiB9IGZyb20gXCJlYXN5LWxheW91dFwiO1xuXG5jbGFzcyBSaWdodFNpemVhYmxlRGl2IGV4dGVuZHMgU2l6ZWFibGVEaXYge1xuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInJpZ2h0XCJcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFJpZ2h0U2l6ZWFibGVEaXYpYFxuXG4gIGhlaWdodDogMjRyZW07XG4gIG1pbi1oZWlnaHQ6IDEycmVtO1xuICBcbmA7XG4iXSwibmFtZXMiOlsiUmlnaHRTaXplYWJsZURpdiIsIlNpemVhYmxlRGl2IiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJ3aXRoU3R5bGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVlBOzs7ZUFBQTs7O3NFQVZzQjs0QkFFTTs7Ozs7O0FBRTVCLE1BQU1BLHlCQUF5QkMsdUJBQVc7SUFDeEMsT0FBT0Msb0JBQW9CO1FBQ3pCQyxXQUFXO0lBQ2IsRUFBRTtBQUNKO01BRUEsV0FBZUMsSUFBQUEsc0JBQVMsRUFBQ0osaUJBQWlCLENBQUM7Ozs7O0FBSzNDLENBQUMifQ==
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
- const _easylayout = require("easy-layout");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- class TopSizeableDiv extends _easylayout.SizeableDiv {
19
- static defaultProperties = {
20
- className: "top"
21
- };
22
- }
23
- const _default = (0, _easywithstyle.default)(TopSizeableDiv)`
24
-
25
- height: 64rem;
26
- min-height: 12rem;
27
-
28
- `;
29
-
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvZGl2L3NpemVhYmxlL3RvcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7ICAvLy9cblxuaW1wb3J0IHsgU2l6ZWFibGVEaXYgfSBmcm9tIFwiZWFzeS1sYXlvdXRcIjtcblxuY2xhc3MgVG9wU2l6ZWFibGVEaXYgZXh0ZW5kcyBTaXplYWJsZURpdiB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwidG9wXCJcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFRvcFNpemVhYmxlRGl2KWBcblxuICBoZWlnaHQ6IDY0cmVtO1xuICBtaW4taGVpZ2h0OiAxMnJlbTtcbiAgXG5gO1xuIl0sIm5hbWVzIjpbIlRvcFNpemVhYmxlRGl2IiwiU2l6ZWFibGVEaXYiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsIndpdGhTdHlsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBWUE7OztlQUFBOzs7c0VBVnNCOzRCQUVNOzs7Ozs7QUFFNUIsTUFBTUEsdUJBQXVCQyx1QkFBVztJQUN0QyxPQUFPQyxvQkFBb0I7UUFDekJDLFdBQVc7SUFDYixFQUFFO0FBQ0o7TUFFQSxXQUFlQyxJQUFBQSxzQkFBUyxFQUFDSixlQUFlLENBQUM7Ozs7O0FBS3pDLENBQUMifQ==
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
- const _easy = require("easy");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- const _default = (0, _easywithstyle.default)(_easy.Input)`
19
-
20
- border: 1px solid darkgrey;
21
- padding: 0.25rem;
22
- font-size: 1.2rem;
23
- font-family: monospace;
24
-
25
- `;
26
-
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvaW5wdXQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IElucHV0IH0gZnJvbSBcImVhc3lcIjtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKElucHV0KWBcblxuICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG5cbmA7XG4iXSwibmFtZXMiOlsid2l0aFN0eWxlIiwiSW5wdXQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBQTs7O3NFQUpzQjtzQkFFQTs7Ozs7O01BRXRCLFdBQWVBLElBQUFBLHNCQUFTLEVBQUNDLFdBQUssQ0FBQyxDQUFDOzs7Ozs7O0FBT2hDLENBQUMifQ==
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return JavaScriptView;
9
- }
10
- });
11
- const _view = /*#__PURE__*/ _interop_require_default(require("../view"));
12
- const _javascript = /*#__PURE__*/ _interop_require_default(require("../../plugin/javascript"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- class JavaScriptView extends _view.default {
19
- static Plugin = _javascript.default;
20
- static firaCode = true;
21
- static initialContent = `"use strict";
22
-
23
- import "juxtapose";
24
-
25
- import withStyle from "easy-with-style"; ///
26
-
27
- import { Body } from "easy";
28
-
29
- function simpleApplication(selector) {
30
- const body = new Body(selector);
31
-
32
- body.mount(
33
-
34
- <p>
35
- A simple application.
36
- </p>
37
-
38
- );
39
- }
40
-
41
- export default withStyle(simpleApplication)\`
42
-
43
- color: #333;
44
-
45
- \`;`;
46
- static defaultProperties = {
47
- className: "javascript"
48
- };
49
- }
50
-
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvamF2YXNjcmlwdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFZpZXcgZnJvbSBcIi4uL3ZpZXdcIjtcblxuaW1wb3J0IEphdmFTY3JpcHRQbHVnaW4gZnJvbSBcIi4uLy4uL3BsdWdpbi9qYXZhc2NyaXB0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEphdmFTY3JpcHRWaWV3IGV4dGVuZHMgVmlldyB7XG4gIHN0YXRpYyBQbHVnaW4gPSBKYXZhU2NyaXB0UGx1Z2luO1xuXG4gIHN0YXRpYyBmaXJhQ29kZSA9IHRydWU7XG5cbiAgc3RhdGljIGluaXRpYWxDb250ZW50ID0gYFwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgXCJqdXh0YXBvc2VcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7IC8vL1xuXG5pbXBvcnQgeyBCb2R5IH0gZnJvbSBcImVhc3lcIjtcblxuZnVuY3Rpb24gc2ltcGxlQXBwbGljYXRpb24oc2VsZWN0b3IpIHtcbiAgY29uc3QgYm9keSA9IG5ldyBCb2R5KHNlbGVjdG9yKTtcblxuICBib2R5Lm1vdW50KFxuXG4gICAgPHA+XG4gICAgICBBIHNpbXBsZSBhcHBsaWNhdGlvbi5cbiAgICA8L3A+XG5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKHNpbXBsZUFwcGxpY2F0aW9uKVxcYFxuXG4gIGNvbG9yOiAjMzMzO1xuXG5cXGA7YDtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcImphdmFzY3JpcHRcIlxuICB9O1xufTtcbiJdLCJuYW1lcyI6WyJKYXZhU2NyaXB0VmlldyIsIlZpZXciLCJQbHVnaW4iLCJKYXZhU2NyaXB0UGx1Z2luIiwiZmlyYUNvZGUiLCJpbml0aWFsQ29udGVudCIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXFCQTs7OzZEQUpKO21FQUVZOzs7Ozs7QUFFZCxNQUFNQSx1QkFBdUJDLGFBQUk7SUFDOUMsT0FBT0MsU0FBU0MsbUJBQWdCLENBQUM7SUFFakMsT0FBT0MsV0FBVyxLQUFLO0lBRXZCLE9BQU9DLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QnhCLENBQUMsQ0FBQztJQUVILE9BQU9DLG9CQUFvQjtRQUN6QkMsV0FBVztJQUNiLEVBQUU7QUFDSiJ9
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return JSONView;
9
- }
10
- });
11
- const _view = /*#__PURE__*/ _interop_require_default(require("../view"));
12
- const _json = /*#__PURE__*/ _interop_require_default(require("../../plugin/json"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- class JSONView extends _view.default {
19
- static Plugin = _json.default;
20
- static firaCode = true;
21
- static initialContent = `{
22
- "type": "book",
23
- "title": "Look to Windward",
24
- "author": "Look to Windward",
25
- "stores" : [{
26
- "identifier": 123
27
- }],
28
- "details" : {
29
- "in-print": true,
30
- "stock-count": 123
31
- }
32
- }`;
33
- static defaultProperties = {
34
- className: "json"
35
- };
36
- }
37
-
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvanNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFZpZXcgZnJvbSBcIi4uL3ZpZXdcIjtcblxuaW1wb3J0IEpTT05QbHVnaW4gZnJvbSBcIi4uLy4uL3BsdWdpbi9qc29uXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEpTT05WaWV3IGV4dGVuZHMgVmlldyB7XG4gIHN0YXRpYyBQbHVnaW4gPSBKU09OUGx1Z2luO1xuXG4gIHN0YXRpYyBmaXJhQ29kZSA9IHRydWU7XG5cbiAgc3RhdGljIGluaXRpYWxDb250ZW50ID0gYHsgIFxuICBcInR5cGVcIjogXCJib29rXCIsXG4gIFwidGl0bGVcIjogXCJMb29rIHRvIFdpbmR3YXJkXCIsXG4gIFwiYXV0aG9yXCI6IFwiTG9vayB0byBXaW5kd2FyZFwiLFxuICBcInN0b3Jlc1wiIDogW3tcbiAgICBcImlkZW50aWZpZXJcIjogMTIzXG4gIH1dLFxuICBcImRldGFpbHNcIiA6IHtcbiAgICBcImluLXByaW50XCI6IHRydWUsXG4gICAgXCJzdG9jay1jb3VudFwiOiAxMjNcbiAgfVxufWA7XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJqc29uXCJcbiAgfTtcbn07XG4iXSwibmFtZXMiOlsiSlNPTlZpZXciLCJWaWV3IiwiUGx1Z2luIiwiSlNPTlBsdWdpbiIsImZpcmFDb2RlIiwiaW5pdGlhbENvbnRlbnQiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFxQkE7Ozs2REFKSjs2REFFTTs7Ozs7O0FBRVIsTUFBTUEsaUJBQWlCQyxhQUFJO0lBQ3hDLE9BQU9DLFNBQVNDLGFBQVUsQ0FBQztJQUUzQixPQUFPQyxXQUFXLEtBQUs7SUFFdkIsT0FBT0MsaUJBQWlCLENBQUM7Ozs7Ozs7Ozs7O0NBVzFCLENBQUMsQ0FBQztJQUVELE9BQU9DLG9CQUFvQjtRQUN6QkMsV0FBVztJQUNiLEVBQUU7QUFDSiJ9
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return PlainTextView;
9
- }
10
- });
11
- const _view = /*#__PURE__*/ _interop_require_default(require("../view"));
12
- const _plainText = /*#__PURE__*/ _interop_require_default(require("../../plugin/plainText"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- class PlainTextView extends _view.default {
19
- static Plugin = _plainText.default;
20
- static firaCode = true;
21
- static initialContent = `Some plain text...`;
22
- static defaultProperties = {
23
- className: "plain-text"
24
- };
25
- }
26
-
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvcGxhaW5UZXh0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVmlldyBmcm9tIFwiLi4vdmlld1wiO1xuXG5pbXBvcnQgUGxhaW5UZXh0UGx1Z2luIGZyb20gXCIuLi8uLi9wbHVnaW4vcGxhaW5UZXh0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBsYWluVGV4dFZpZXcgZXh0ZW5kcyBWaWV3IHtcbiAgc3RhdGljIFBsdWdpbiA9IFBsYWluVGV4dFBsdWdpbjtcblxuICBzdGF0aWMgZmlyYUNvZGUgPSB0cnVlO1xuXG4gIHN0YXRpYyBpbml0aWFsQ29udGVudCA9IGBTb21lIHBsYWluIHRleHQuLi5gO1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwicGxhaW4tdGV4dFwiXG4gIH07XG59O1xuIl0sIm5hbWVzIjpbIlBsYWluVGV4dFZpZXciLCJWaWV3IiwiUGx1Z2luIiwiUGxhaW5UZXh0UGx1Z2luIiwiZmlyYUNvZGUiLCJpbml0aWFsQ29udGVudCIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXFCQTs7OzZEQUpKO2tFQUVXOzs7Ozs7QUFFYixNQUFNQSxzQkFBc0JDLGFBQUk7SUFDN0MsT0FBT0MsU0FBU0Msa0JBQWUsQ0FBQztJQUVoQyxPQUFPQyxXQUFXLEtBQUs7SUFFdkIsT0FBT0MsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUU3QyxPQUFPQyxvQkFBb0I7UUFDekJDLFdBQVc7SUFDYixFQUFFO0FBQ0oifQ==
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- const SubHeading = _easywithstyle.default.h2`
18
-
19
- margin: 1rem 0 0.5rem 0;
20
- font-size: 2rem;
21
-
22
- :first-of-type {
23
- margin-top: 0;
24
- }
25
-
26
- `;
27
- const _default = SubHeading;
28
-
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvc3ViSGVhZGluZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHdpdGhTdHlsZSBmcm9tIFwiZWFzeS13aXRoLXN0eWxlXCI7ICAvLy9cblxuY29uc3QgU3ViSGVhZGluZyA9IHdpdGhTdHlsZS5oMmBcblxuICBtYXJnaW46IDFyZW0gMCAwLjVyZW0gMDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBcbiAgOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuYDtcblxuZXhwb3J0IGRlZmF1bHQgU3ViSGVhZGluZztcbiJdLCJuYW1lcyI6WyJTdWJIZWFkaW5nIiwid2l0aFN0eWxlIiwiaDIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWVBOzs7ZUFBQTs7O3NFQWJzQjs7Ozs7O0FBRXRCLE1BQU1BLGFBQWFDLHNCQUFTLENBQUNDLEVBQUUsQ0FBQzs7Ozs7Ozs7O0FBU2hDLENBQUM7TUFFRCxXQUFlRiJ9
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return BNFTextarea;
9
- }
10
- });
11
- const _textarea = /*#__PURE__*/ _interop_require_default(require("../textarea"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- class BNFTextarea extends _textarea.default {
18
- getBNF() {
19
- const value = this.getValue(), bnf = value; ///
20
- return bnf;
21
- }
22
- setBNF(bnf) {
23
- const value = bnf;
24
- this.setValue(value);
25
- }
26
- parentContext() {
27
- const getBNF = this.getBNF.bind(this), setBNF = this.setBNF.bind(this);
28
- return {
29
- getBNF,
30
- setBNF
31
- };
32
- }
33
- static defaultProperties = {
34
- className: "bnf",
35
- spellCheck: "false"
36
- };
37
- }
38
-
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvdGV4dGFyZWEvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGV4dGFyZWEgZnJvbSBcIi4uL3RleHRhcmVhXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJORlRleHRhcmVhIGV4dGVuZHMgVGV4dGFyZWEge1xuICBnZXRCTkYoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlKCksXG4gICAgICAgICAgYm5mID0gdmFsdWU7IC8vL1xuXG4gICAgcmV0dXJuIGJuZjtcbiAgfVxuXG4gIHNldEJORihibmYpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGJuZjtcblxuICAgIHRoaXMuc2V0VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgcGFyZW50Q29udGV4dCgpIHtcbiAgICBjb25zdCBnZXRCTkYgPSB0aGlzLmdldEJORi5iaW5kKHRoaXMpLFxuICAgICAgICAgIHNldEJORiA9IHRoaXMuc2V0Qk5GLmJpbmQodGhpcyk7XG5cbiAgICByZXR1cm4gKHtcbiAgICAgIGdldEJORixcbiAgICAgIHNldEJORlxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJibmZcIixcbiAgICBzcGVsbENoZWNrOiBcImZhbHNlXCJcbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJCTkZUZXh0YXJlYSIsIlRleHRhcmVhIiwiZ2V0Qk5GIiwidmFsdWUiLCJnZXRWYWx1ZSIsImJuZiIsInNldEJORiIsInNldFZhbHVlIiwicGFyZW50Q29udGV4dCIsImJpbmQiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsInNwZWxsQ2hlY2siXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBcUJBOzs7aUVBRkE7Ozs7OztBQUVOLE1BQU1BLG9CQUFvQkMsaUJBQVE7SUFDL0NDLFNBQVM7UUFDUCxNQUFNQyxRQUFRLElBQUksQ0FBQ0MsUUFBUSxJQUNyQkMsTUFBTUYsT0FBTyxHQUFHO1FBRXRCLE9BQU9FO0lBQ1Q7SUFFQUMsT0FBT0QsR0FBRyxFQUFFO1FBQ1YsTUFBTUYsUUFBUUU7UUFFZCxJQUFJLENBQUNFLFFBQVEsQ0FBQ0o7SUFDaEI7SUFFQUssZ0JBQWdCO1FBQ2QsTUFBTU4sU0FBUyxJQUFJLENBQUNBLE1BQU0sQ0FBQ08sSUFBSSxDQUFDLElBQUksR0FDOUJILFNBQVMsSUFBSSxDQUFDQSxNQUFNLENBQUNHLElBQUksQ0FBQyxJQUFJO1FBRXBDLE9BQVE7WUFDTlA7WUFDQUk7UUFDRjtJQUNGO0lBRUEsT0FBT0ksb0JBQW9CO1FBQ3pCQyxXQUFXO1FBQ1hDLFlBQVk7SUFDZCxFQUFFO0FBQ0oifQ==
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return LexicalEntriesTextarea;
9
- }
10
- });
11
- const _textarea = /*#__PURE__*/ _interop_require_default(require("../textarea"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- class LexicalEntriesTextarea extends _textarea.default {
18
- getLexicalEntries() {
19
- const value = this.getValue(), jsonString = value, json = JSON.parse(jsonString), lexicalEntries = json; ///
20
- return lexicalEntries;
21
- }
22
- setLexicalEntries(lexicalEntries) {
23
- const json = lexicalEntries, jsonString = JSON.stringify(json, null, 2), value = jsonString; ///
24
- this.setValue(value);
25
- }
26
- parentContext() {
27
- const getLexicalEntries = this.getLexicalEntries.bind(this), setLexicalEntries = this.setLexicalEntries.bind(this);
28
- return {
29
- getLexicalEntries,
30
- setLexicalEntries
31
- };
32
- }
33
- static defaultProperties = {
34
- className: "lexical-entries",
35
- spellCheck: "false"
36
- };
37
- }
38
-
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvdGV4dGFyZWEvbGV4aWNhbEVudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUZXh0YXJlYSBmcm9tIFwiLi4vdGV4dGFyZWFcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGV4aWNhbEVudHJpZXNUZXh0YXJlYSBleHRlbmRzIFRleHRhcmVhIHtcbiAgZ2V0TGV4aWNhbEVudHJpZXMoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlKCksXG4gICAgICAgICAganNvblN0cmluZyA9IHZhbHVlLCAvLy9cbiAgICAgICAgICBqc29uID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKSxcbiAgICAgICAgICBsZXhpY2FsRW50cmllcyA9IGpzb247ICAvLy9cblxuICAgIHJldHVybiBsZXhpY2FsRW50cmllcztcbiAgfVxuXG4gIHNldExleGljYWxFbnRyaWVzKGxleGljYWxFbnRyaWVzKSB7XG4gICAgY29uc3QganNvbiA9IGxleGljYWxFbnRyaWVzLCAgLy8vXG4gICAgICAgICAganNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIDIpLFxuICAgICAgICAgIHZhbHVlID0ganNvblN0cmluZzsgLy8vXG5cbiAgICB0aGlzLnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHBhcmVudENvbnRleHQoKSB7XG4gICAgY29uc3QgZ2V0TGV4aWNhbEVudHJpZXMgPSB0aGlzLmdldExleGljYWxFbnRyaWVzLmJpbmQodGhpcyksXG4gICAgICAgICAgc2V0TGV4aWNhbEVudHJpZXMgPSB0aGlzLnNldExleGljYWxFbnRyaWVzLmJpbmQodGhpcyk7XG5cbiAgICByZXR1cm4gKHtcbiAgICAgIGdldExleGljYWxFbnRyaWVzLFxuICAgICAgc2V0TGV4aWNhbEVudHJpZXNcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwibGV4aWNhbC1lbnRyaWVzXCIsXG4gICAgc3BlbGxDaGVjazogXCJmYWxzZVwiXG4gIH07XG59XG4iXSwibmFtZXMiOlsiTGV4aWNhbEVudHJpZXNUZXh0YXJlYSIsIlRleHRhcmVhIiwiZ2V0TGV4aWNhbEVudHJpZXMiLCJ2YWx1ZSIsImdldFZhbHVlIiwianNvblN0cmluZyIsImpzb24iLCJKU09OIiwicGFyc2UiLCJsZXhpY2FsRW50cmllcyIsInNldExleGljYWxFbnRyaWVzIiwic3RyaW5naWZ5Iiwic2V0VmFsdWUiLCJwYXJlbnRDb250ZXh0IiwiYmluZCIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwic3BlbGxDaGVjayJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUFxQkE7OztpRUFGQTs7Ozs7O0FBRU4sTUFBTUEsK0JBQStCQyxpQkFBUTtJQUMxREMsb0JBQW9CO1FBQ2xCLE1BQU1DLFFBQVEsSUFBSSxDQUFDQyxRQUFRLElBQ3JCQyxhQUFhRixPQUNiRyxPQUFPQyxLQUFLQyxLQUFLLENBQUNILGFBQ2xCSSxpQkFBaUJILE1BQU8sR0FBRztRQUVqQyxPQUFPRztJQUNUO0lBRUFDLGtCQUFrQkQsY0FBYyxFQUFFO1FBQ2hDLE1BQU1ILE9BQU9HLGdCQUNQSixhQUFhRSxLQUFLSSxTQUFTLENBQUNMLE1BQU0sTUFBTSxJQUN4Q0gsUUFBUUUsWUFBWSxHQUFHO1FBRTdCLElBQUksQ0FBQ08sUUFBUSxDQUFDVDtJQUNoQjtJQUVBVSxnQkFBZ0I7UUFDZCxNQUFNWCxvQkFBb0IsSUFBSSxDQUFDQSxpQkFBaUIsQ0FBQ1ksSUFBSSxDQUFDLElBQUksR0FDcERKLG9CQUFvQixJQUFJLENBQUNBLGlCQUFpQixDQUFDSSxJQUFJLENBQUMsSUFBSTtRQUUxRCxPQUFRO1lBQ05aO1lBQ0FRO1FBQ0Y7SUFDRjtJQUVBLE9BQU9LLG9CQUFvQjtRQUN6QkMsV0FBVztRQUNYQyxZQUFZO0lBQ2QsRUFBRTtBQUNKIn0=
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return ParseTreeTextarea;
9
- }
10
- });
11
- const _textarea = /*#__PURE__*/ _interop_require_default(require("../textarea"));
12
- const _constants = require("../../constants");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- class ParseTreeTextarea extends _textarea.default {
19
- setParseTree(parseTree) {
20
- if (parseTree !== null) {
21
- parseTree.shiftLine(); //
22
- const parseTreeString = parseTree.asString(), value = parseTreeString; ///
23
- this.setValue(value);
24
- } else {
25
- this.clearParseTree();
26
- }
27
- }
28
- clearParseTree() {
29
- const value = _constants.EMPTY_STRING;
30
- this.setValue(value);
31
- }
32
- parentContext() {
33
- const setParseTree = this.setParseTree.bind(this), clearParseTree = this.clearParseTree.bind(this);
34
- return {
35
- setParseTree,
36
- clearParseTree
37
- };
38
- }
39
- static defaultProperties = {
40
- className: "tokens",
41
- spellCheck: "false",
42
- readOnly: true
43
- };
44
- }
45
-
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvdGV4dGFyZWEvcGFyc2VUcmVlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGV4dGFyZWEgZnJvbSBcIi4uL3RleHRhcmVhXCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGFyc2VUcmVlVGV4dGFyZWEgZXh0ZW5kcyBUZXh0YXJlYSB7XG4gIHNldFBhcnNlVHJlZShwYXJzZVRyZWUpIHtcbiAgICBpZiAocGFyc2VUcmVlICE9PSBudWxsKSB7XG4gICAgICBwYXJzZVRyZWUuc2hpZnRMaW5lKCk7ICAvL1xuXG4gICAgICBjb25zdCBwYXJzZVRyZWVTdHJpbmcgPSBwYXJzZVRyZWUuYXNTdHJpbmcoKSxcbiAgICAgICAgICAgIHZhbHVlID0gcGFyc2VUcmVlU3RyaW5nOyAgLy8vXG5cbiAgICAgIHRoaXMuc2V0VmFsdWUodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsZWFyUGFyc2VUcmVlKCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJQYXJzZVRyZWUoKSB7XG4gICAgY29uc3QgdmFsdWUgPSBFTVBUWV9TVFJJTkc7XG5cbiAgICB0aGlzLnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHBhcmVudENvbnRleHQoKSB7XG4gICAgY29uc3Qgc2V0UGFyc2VUcmVlID0gdGhpcy5zZXRQYXJzZVRyZWUuYmluZCh0aGlzKSxcbiAgICAgICAgICBjbGVhclBhcnNlVHJlZSA9IHRoaXMuY2xlYXJQYXJzZVRyZWUuYmluZCh0aGlzKTtcblxuICAgIHJldHVybiAoe1xuICAgICAgc2V0UGFyc2VUcmVlLFxuICAgICAgY2xlYXJQYXJzZVRyZWVcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwidG9rZW5zXCIsXG4gICAgc3BlbGxDaGVjazogXCJmYWxzZVwiLFxuICAgIHJlYWRPbmx5OiB0cnVlXG4gIH07XG59XG4iXSwibmFtZXMiOlsiUGFyc2VUcmVlVGV4dGFyZWEiLCJUZXh0YXJlYSIsInNldFBhcnNlVHJlZSIsInBhcnNlVHJlZSIsInNoaWZ0TGluZSIsInBhcnNlVHJlZVN0cmluZyIsImFzU3RyaW5nIiwidmFsdWUiLCJzZXRWYWx1ZSIsImNsZWFyUGFyc2VUcmVlIiwiRU1QVFlfU1RSSU5HIiwicGFyZW50Q29udGV4dCIsImJpbmQiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSIsInNwZWxsQ2hlY2siLCJyZWFkT25seSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFxQkE7OztpRUFKQTsyQkFFUTs7Ozs7O0FBRWQsTUFBTUEsMEJBQTBCQyxpQkFBUTtJQUNyREMsYUFBYUMsU0FBUyxFQUFFO1FBQ3RCLElBQUlBLGNBQWMsTUFBTTtZQUN0QkEsVUFBVUMsU0FBUyxJQUFLLEVBQUU7WUFFMUIsTUFBTUMsa0JBQWtCRixVQUFVRyxRQUFRLElBQ3BDQyxRQUFRRixpQkFBa0IsR0FBRztZQUVuQyxJQUFJLENBQUNHLFFBQVEsQ0FBQ0Q7UUFDaEIsT0FBTztZQUNMLElBQUksQ0FBQ0UsY0FBYztRQUNyQjtJQUNGO0lBRUFBLGlCQUFpQjtRQUNmLE1BQU1GLFFBQVFHLHVCQUFZO1FBRTFCLElBQUksQ0FBQ0YsUUFBUSxDQUFDRDtJQUNoQjtJQUVBSSxnQkFBZ0I7UUFDZCxNQUFNVCxlQUFlLElBQUksQ0FBQ0EsWUFBWSxDQUFDVSxJQUFJLENBQUMsSUFBSSxHQUMxQ0gsaUJBQWlCLElBQUksQ0FBQ0EsY0FBYyxDQUFDRyxJQUFJLENBQUMsSUFBSTtRQUVwRCxPQUFRO1lBQ05WO1lBQ0FPO1FBQ0Y7SUFDRjtJQUVBLE9BQU9JLG9CQUFvQjtRQUN6QkMsV0FBVztRQUNYQyxZQUFZO1FBQ1pDLFVBQVU7SUFDWixFQUFFO0FBQ0oifQ==
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return TokensTextarea;
9
- }
10
- });
11
- const _textarea = /*#__PURE__*/ _interop_require_default(require("../textarea"));
12
- const _constants = require("../../constants");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- class TokensTextarea extends _textarea.default {
19
- setTokens(tokens) {
20
- if (tokens !== null) {
21
- let lineNumber = 1, previousToken = null;
22
- const html = tokens.reduce((html, token)=>{
23
- const tokenHTML = token.asHTML();
24
- if (previousToken === null) {
25
- html += `${lineNumber++}: `;
26
- } else {
27
- const previousTokenEndOfLineToken = previousToken.isEndOfLineToken();
28
- if (previousTokenEndOfLineToken) {
29
- html += `${lineNumber++}: `;
30
- }
31
- }
32
- html += tokenHTML;
33
- previousToken = token;
34
- return html;
35
- }, _constants.EMPTY_STRING);
36
- this.html(html);
37
- } else {
38
- this.clearTokens();
39
- }
40
- }
41
- clearTokens() {
42
- const html = _constants.EMPTY_STRING;
43
- this.html(html);
44
- }
45
- parentContext() {
46
- const setTokens = this.setTokens.bind(this), clearTokens = this.clearTokens.bind(this);
47
- return {
48
- setTokens,
49
- clearTokens
50
- };
51
- }
52
- static defaultProperties = {
53
- className: "tokens",
54
- spellCheck: "false",
55
- readOnly: true
56
- };
57
- }
58
-
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvdGV4dGFyZWEvdG9rZW5zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGV4dGFyZWEgZnJvbSBcIi4uL3RleHRhcmVhXCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVG9rZW5zVGV4dGFyZWEgZXh0ZW5kcyBUZXh0YXJlYSB7XG4gIHNldFRva2Vucyh0b2tlbnMpIHtcbiAgICBpZiAodG9rZW5zICE9PSBudWxsKSB7XG4gICAgICBsZXQgbGluZU51bWJlciA9IDEsXG4gICAgICAgICAgcHJldmlvdXNUb2tlbiA9IG51bGw7XG5cbiAgICAgIGNvbnN0IGh0bWwgPSB0b2tlbnMucmVkdWNlKChodG1sLCB0b2tlbikgPT4ge1xuICAgICAgICBjb25zdCB0b2tlbkhUTUwgPSB0b2tlbi5hc0hUTUwoKTtcblxuICAgICAgICBpZiAocHJldmlvdXNUb2tlbiA9PT0gbnVsbCkge1xuICAgICAgICAgIGh0bWwgKz0gYCR7bGluZU51bWJlcisrfTogYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBwcmV2aW91c1Rva2VuRW5kT2ZMaW5lVG9rZW4gPSBwcmV2aW91c1Rva2VuLmlzRW5kT2ZMaW5lVG9rZW4oKTtcblxuICAgICAgICAgIGlmIChwcmV2aW91c1Rva2VuRW5kT2ZMaW5lVG9rZW4pIHtcbiAgICAgICAgICAgIGh0bWwgKz0gYCR7bGluZU51bWJlcisrfTogYDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBodG1sICs9IHRva2VuSFRNTDtcblxuICAgICAgICBwcmV2aW91c1Rva2VuID0gdG9rZW47XG5cbiAgICAgICAgcmV0dXJuIGh0bWw7XG4gICAgICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gICAgICB0aGlzLmh0bWwoaHRtbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xlYXJUb2tlbnMoKTtcbiAgICB9XG4gIH1cblxuICBjbGVhclRva2VucygpIHtcbiAgICBjb25zdCBodG1sID0gRU1QVFlfU1RSSU5HO1xuXG4gICAgdGhpcy5odG1sKGh0bWwpO1xuICB9XG5cbiAgcGFyZW50Q29udGV4dCgpIHtcbiAgICBjb25zdCBzZXRUb2tlbnMgPSB0aGlzLnNldFRva2Vucy5iaW5kKHRoaXMpLFxuICAgICAgICAgIGNsZWFyVG9rZW5zID0gdGhpcy5jbGVhclRva2Vucy5iaW5kKHRoaXMpO1xuXG4gICAgcmV0dXJuICh7XG4gICAgICBzZXRUb2tlbnMsXG4gICAgICBjbGVhclRva2Vuc1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJ0b2tlbnNcIixcbiAgICBzcGVsbENoZWNrOiBcImZhbHNlXCIsXG4gICAgcmVhZE9ubHk6IHRydWVcbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJUb2tlbnNUZXh0YXJlYSIsIlRleHRhcmVhIiwic2V0VG9rZW5zIiwidG9rZW5zIiwibGluZU51bWJlciIsInByZXZpb3VzVG9rZW4iLCJodG1sIiwicmVkdWNlIiwidG9rZW4iLCJ0b2tlbkhUTUwiLCJhc0hUTUwiLCJwcmV2aW91c1Rva2VuRW5kT2ZMaW5lVG9rZW4iLCJpc0VuZE9mTGluZVRva2VuIiwiRU1QVFlfU1RSSU5HIiwiY2xlYXJUb2tlbnMiLCJwYXJlbnRDb250ZXh0IiwiYmluZCIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwic3BlbGxDaGVjayIsInJlYWRPbmx5Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXFCQTs7O2lFQUpBOzJCQUVROzs7Ozs7QUFFZCxNQUFNQSx1QkFBdUJDLGlCQUFRO0lBQ2xEQyxVQUFVQyxNQUFNLEVBQUU7UUFDaEIsSUFBSUEsV0FBVyxNQUFNO1lBQ25CLElBQUlDLGFBQWEsR0FDYkMsZ0JBQWdCO1lBRXBCLE1BQU1DLE9BQU9ILE9BQU9JLE1BQU0sQ0FBQyxDQUFDRCxNQUFNRTtnQkFDaEMsTUFBTUMsWUFBWUQsTUFBTUUsTUFBTTtnQkFFOUIsSUFBSUwsa0JBQWtCLE1BQU07b0JBQzFCQyxRQUFRLEdBQUdGLGFBQWEsRUFBRSxDQUFDO2dCQUM3QixPQUFPO29CQUNMLE1BQU1PLDhCQUE4Qk4sY0FBY08sZ0JBQWdCO29CQUVsRSxJQUFJRCw2QkFBNkI7d0JBQy9CTCxRQUFRLEdBQUdGLGFBQWEsRUFBRSxDQUFDO29CQUM3QjtnQkFDRjtnQkFFQUUsUUFBUUc7Z0JBRVJKLGdCQUFnQkc7Z0JBRWhCLE9BQU9GO1lBQ1QsR0FBR08sdUJBQVk7WUFFZixJQUFJLENBQUNQLElBQUksQ0FBQ0E7UUFDWixPQUFPO1lBQ0wsSUFBSSxDQUFDUSxXQUFXO1FBQ2xCO0lBQ0Y7SUFFQUEsY0FBYztRQUNaLE1BQU1SLE9BQU9PLHVCQUFZO1FBRXpCLElBQUksQ0FBQ1AsSUFBSSxDQUFDQTtJQUNaO0lBRUFTLGdCQUFnQjtRQUNkLE1BQU1iLFlBQVksSUFBSSxDQUFDQSxTQUFTLENBQUNjLElBQUksQ0FBQyxJQUFJLEdBQ3BDRixjQUFjLElBQUksQ0FBQ0EsV0FBVyxDQUFDRSxJQUFJLENBQUMsSUFBSTtRQUU5QyxPQUFRO1lBQ05kO1lBQ0FZO1FBQ0Y7SUFDRjtJQUVBLE9BQU9HLG9CQUFvQjtRQUN6QkMsV0FBVztRQUNYQyxZQUFZO1FBQ1pDLFVBQVU7SUFDWixFQUFFO0FBQ0oifQ==
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
- const _easy = require("easy");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- const _default = (0, _easywithstyle.default)(_easy.Textarea)`
19
-
20
- border: 1px solid darkgrey;
21
- resize: none;
22
- padding: 0.25rem;
23
- flex-grow: 1;
24
- font-size: 1.2rem;
25
- line-height: 1.5rem;
26
- white-space: pre;
27
- font-family: monospace;
28
-
29
- `;
30
-
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvdGV4dGFyZWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IFRleHRhcmVhIH0gZnJvbSBcImVhc3lcIjtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKFRleHRhcmVhKWBcblxuICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZ3JleTtcbiAgcmVzaXplOiBub25lO1xuICBwYWRkaW5nOiAwLjI1cmVtO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuXG5gO1xuIl0sIm5hbWVzIjpbIndpdGhTdHlsZSIsIlRleHRhcmVhIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQUE7OztzRUFKc0I7c0JBRUc7Ozs7OztNQUV6QixXQUFlQSxJQUFBQSxzQkFBUyxFQUFDQyxjQUFRLENBQUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFXbkMsQ0FBQyJ9
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return XMLView;
9
- }
10
- });
11
- const _view = /*#__PURE__*/ _interop_require_default(require("../view"));
12
- const _xml = /*#__PURE__*/ _interop_require_default(require("../../plugin/xml"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- class XMLView extends _view.default {
19
- static Plugin = _xml.default;
20
- static firaCode = false;
21
- static initialContent = `<?xml version="1.0" encoding="UTF-8"?>
22
- <!-- Look to Windward by Iain M. Banks -->
23
- <book>
24
- <name>
25
- Look to Windward
26
- </name>
27
- <author>
28
- Iain M. Banks
29
- </author>
30
- <language>
31
- English
32
- </language>
33
- <genre>
34
- Science fiction
35
- </genre>
36
- </book>`;
37
- static defaultProperties = {
38
- className: "xml"
39
- };
40
- }
41
-
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcveG1sLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVmlldyBmcm9tIFwiLi4vdmlld1wiO1xuXG5pbXBvcnQgWE1MUGx1Z2luIGZyb20gXCIuLi8uLi9wbHVnaW4veG1sXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFhNTFZpZXcgZXh0ZW5kcyBWaWV3IHtcbiAgc3RhdGljIFBsdWdpbiA9IFhNTFBsdWdpbjtcblxuICBzdGF0aWMgZmlyYUNvZGUgPSBmYWxzZTtcblxuICBzdGF0aWMgaW5pdGlhbENvbnRlbnQgPSBgPD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIj8+XG48IS0tIExvb2sgdG8gV2luZHdhcmQgYnkgSWFpbiBNLiBCYW5rcyAtLT5cbjxib29rPlxuICA8bmFtZT5cbiAgICBMb29rIHRvIFdpbmR3YXJkXG4gIDwvbmFtZT5cbiAgPGF1dGhvcj5cbiAgICBJYWluIE0uIEJhbmtzXG4gIDwvYXV0aG9yPlxuICA8bGFuZ3VhZ2U+XG4gICAgRW5nbGlzaFxuICA8L2xhbmd1YWdlPlxuICA8Z2VucmU+XG4gICAgU2NpZW5jZSBmaWN0aW9uXG4gIDwvZ2VucmU+XG48L2Jvb2s+YDtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcInhtbFwiXG4gIH07XG59O1xuIl0sIm5hbWVzIjpbIlhNTFZpZXciLCJWaWV3IiwiUGx1Z2luIiwiWE1MUGx1Z2luIiwiZmlyYUNvZGUiLCJpbml0aWFsQ29udGVudCIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXFCQTs7OzZEQUpKOzREQUVLOzs7Ozs7QUFFUCxNQUFNQSxnQkFBZ0JDLGFBQUk7SUFDdkMsT0FBT0MsU0FBU0MsWUFBUyxDQUFDO0lBRTFCLE9BQU9DLFdBQVcsTUFBTTtJQUV4QixPQUFPQyxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O09BZXBCLENBQUMsQ0FBQztJQUVQLE9BQU9DLG9CQUFvQjtRQUN6QkMsV0FBVztJQUNiLEVBQUU7QUFDSiJ9
@@ -1,107 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _easywithstyle = /*#__PURE__*/ _interop_require_default(require("easy-with-style"));
12
- const _easy = require("easy");
13
- const _occamparsers = require("occam-parsers");
14
- const _easylayout = require("easy-layout");
15
- const _yapp = /*#__PURE__*/ _interop_require_default(require("./yapp"));
16
- const _subHeading = /*#__PURE__*/ _interop_require_default(require("./view/subHeading"));
17
- const _bnf = /*#__PURE__*/ _interop_require_default(require("./view/textarea/bnf"));
18
- const _tokens = /*#__PURE__*/ _interop_require_default(require("./view/textarea/tokens"));
19
- const _top = /*#__PURE__*/ _interop_require_default(require("./view/div/sizeable/top"));
20
- const _left = /*#__PURE__*/ _interop_require_default(require("./view/div/sizeable/left"));
21
- const _right = /*#__PURE__*/ _interop_require_default(require("./view/div/sizeable/right"));
22
- const _middle = /*#__PURE__*/ _interop_require_default(require("./view/div/sizeable/middle"));
23
- const _parseTree = /*#__PURE__*/ _interop_require_default(require("./view/textarea/parseTree"));
24
- const _lexicalEntries = /*#__PURE__*/ _interop_require_default(require("./view/textarea/lexicalEntries"));
25
- function _interop_require_default(obj) {
26
- return obj && obj.__esModule ? obj : {
27
- default: obj
28
- };
29
- }
30
- const { rulesFromBNF } = _occamparsers.parserUtilities;
31
- class View extends _easy.Element {
32
- contentChangeCustomHandler = (event, element)=>{
33
- this.update();
34
- };
35
- lexerFromEntries(entries) {
36
- const { Plugin } = this.constructor, { Lexer } = Plugin, lexer = Lexer.fromEntries(entries);
37
- return lexer;
38
- }
39
- parserFromBNF(bnf) {
40
- const { Plugin } = this.constructor, { Parser } = Plugin, rules = rulesFromBNF(bnf), parser = Parser.fromRules(rules);
41
- return parser;
42
- }
43
- keyUpHandler = (event, element)=>{
44
- try {
45
- const lexicalEntries = this.getLexicalEntries(), entries = lexicalEntries, bnf = this.getBNF(), lexer = this.lexerFromEntries(entries), parser = this.parserFromBNF(bnf), yappLexer = lexer, yappParser = parser; ///
46
- this.setYappLexer(yappLexer);
47
- this.setYappParser(yappParser);
48
- this.updateYapp();
49
- this.update();
50
- } catch (error) {
51
- console.log(error);
52
- }
53
- };
54
- update() {
55
- try {
56
- let parseTree = null;
57
- const plugin = this.getPlugin(), tokens = plugin.getTokens(), node = plugin.getNode();
58
- if (node !== null) {
59
- parseTree = node.asParseTree(tokens);
60
- }
61
- this.setTokens(tokens);
62
- this.setParseTree(parseTree);
63
- } catch (error) {
64
- console.log(error);
65
- this.clearTokens();
66
- this.clearParseTree();
67
- }
68
- }
69
- didMount() {
70
- this.update();
71
- }
72
- willUnmount() {
73
- ///
74
- }
75
- childElements() {
76
- const { Plugin, firaCode, initialContent } = this.constructor;
77
- return /*#__PURE__*/ React.createElement(_easylayout.ColumnsDiv, null, /*#__PURE__*/ React.createElement(_left.default, null, /*#__PURE__*/ React.createElement(_easylayout.RowsDiv, null, /*#__PURE__*/ React.createElement(_top.default, null, /*#__PURE__*/ React.createElement(_yapp.default, {
78
- Plugin: Plugin,
79
- firaCode: firaCode,
80
- onCustomContentChange: this.contentChangeCustomHandler
81
- }, initialContent)), /*#__PURE__*/ React.createElement(_easylayout.HorizontalSplitterDiv, null), /*#__PURE__*/ React.createElement(_easylayout.RowDiv, null, /*#__PURE__*/ React.createElement(_easylayout.RowsDiv, null, /*#__PURE__*/ React.createElement(_middle.default, null, /*#__PURE__*/ React.createElement(_easylayout.RowsDiv, null, /*#__PURE__*/ React.createElement(_subHeading.default, null, "Tokens"), /*#__PURE__*/ React.createElement(_tokens.default, null))), /*#__PURE__*/ React.createElement(_easylayout.HorizontalSplitterDiv, null), /*#__PURE__*/ React.createElement(_easylayout.RowsDiv, null, /*#__PURE__*/ React.createElement(_subHeading.default, null, "Parse tree"), /*#__PURE__*/ React.createElement(_parseTree.default, null)))))), /*#__PURE__*/ React.createElement(_easylayout.VerticalSplitterDiv, null), /*#__PURE__*/ React.createElement(_easylayout.ColumnDiv, null, /*#__PURE__*/ React.createElement(_easylayout.RowsDiv, null, /*#__PURE__*/ React.createElement(_right.default, null, /*#__PURE__*/ React.createElement(_easylayout.RowsDiv, null, /*#__PURE__*/ React.createElement(_subHeading.default, null, "Lexical entries"), /*#__PURE__*/ React.createElement(_lexicalEntries.default, {
82
- onKeyUp: this.keyUpHandler
83
- }))), /*#__PURE__*/ React.createElement(_easylayout.HorizontalSplitterDiv, null), /*#__PURE__*/ React.createElement(_easylayout.RowDiv, null, /*#__PURE__*/ React.createElement(_easylayout.RowsDiv, null, /*#__PURE__*/ React.createElement(_subHeading.default, null, "BNF"), /*#__PURE__*/ React.createElement(_bnf.default, {
84
- onKeyUp: this.keyUpHandler
85
- }))))));
86
- }
87
- initialise() {
88
- this.assignContext();
89
- const { Plugin } = this.constructor, { Lexer, Parser } = Plugin, { bnf } = Parser, { entries } = Lexer, lexicalEntries = entries; ///
90
- this.setBNF(bnf);
91
- this.setLexicalEntries(lexicalEntries);
92
- }
93
- static tagName = "div";
94
- static defaultProperties = {
95
- className: "view"
96
- };
97
- }
98
- const _default = (0, _easywithstyle.default)(View)`
99
-
100
- width: 100%;
101
- height: 100vh;
102
- display: flex;
103
- padding: 1rem;
104
-
105
- `;
106
-
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiOyAgLy8vXG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuaW1wb3J0IHsgcGFyc2VyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IFJvd0RpdiwgUm93c0RpdiwgQ29sdW1uRGl2LCBDb2x1bW5zRGl2LCBWZXJ0aWNhbFNwbGl0dGVyRGl2LCBIb3Jpem9udGFsU3BsaXR0ZXJEaXYgfSBmcm9tIFwiZWFzeS1sYXlvdXRcIjtcblxuaW1wb3J0IFlhcHAgZnJvbSBcIi4veWFwcFwiO1xuaW1wb3J0IFN1YkhlYWRpbmcgZnJvbSBcIi4vdmlldy9zdWJIZWFkaW5nXCI7XG5pbXBvcnQgQk5GVGV4dGFyZWEgZnJvbSBcIi4vdmlldy90ZXh0YXJlYS9ibmZcIjtcbmltcG9ydCBUb2tlbnNUZXh0YXJlYSBmcm9tIFwiLi92aWV3L3RleHRhcmVhL3Rva2Vuc1wiO1xuaW1wb3J0IFRvcFNpemVhYmxlRGl2IGZyb20gXCIuL3ZpZXcvZGl2L3NpemVhYmxlL3RvcFwiO1xuaW1wb3J0IExlZnRTaXplYWJsZURpdiBmcm9tIFwiLi92aWV3L2Rpdi9zaXplYWJsZS9sZWZ0XCI7XG5pbXBvcnQgUmlnaHRTaXplYWJsZURpdiBmcm9tIFwiLi92aWV3L2Rpdi9zaXplYWJsZS9yaWdodFwiO1xuaW1wb3J0IE1pZGRsZVNpemVhYmxlRGl2IGZyb20gXCIuL3ZpZXcvZGl2L3NpemVhYmxlL21pZGRsZVwiO1xuaW1wb3J0IFBhcnNlVHJlZVRleHRhcmVhIGZyb20gXCIuL3ZpZXcvdGV4dGFyZWEvcGFyc2VUcmVlXCI7XG5pbXBvcnQgTGV4aWNhbEVudHJpZXNUZXh0YXJlYSBmcm9tIFwiLi92aWV3L3RleHRhcmVhL2xleGljYWxFbnRyaWVzXCI7XG5cbmNvbnN0IHsgcnVsZXNGcm9tQk5GIH0gPSBwYXJzZXJVdGlsaXRpZXM7XG5cbmNsYXNzIFZpZXcgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29udGVudENoYW5nZUN1c3RvbUhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgbGV4ZXJGcm9tRW50cmllcyhlbnRyaWVzKSB7XG4gICAgY29uc3QgeyBQbHVnaW4gfSA9IHRoaXMuY29uc3RydWN0b3IsXG4gICAgICAgICAgeyBMZXhlciB9ID0gUGx1Z2luLFxuICAgICAgICAgIGxleGVyID0gTGV4ZXIuZnJvbUVudHJpZXMoZW50cmllcyk7XG5cbiAgICByZXR1cm4gbGV4ZXI7XG4gIH1cblxuICBwYXJzZXJGcm9tQk5GKGJuZikge1xuICAgIGNvbnN0IHsgUGx1Z2luIH0gPSB0aGlzLmNvbnN0cnVjdG9yLFxuICAgICAgICAgIHsgUGFyc2VyIH0gPSBQbHVnaW4sXG4gICAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKSxcbiAgICAgICAgICBwYXJzZXIgPSBQYXJzZXIuZnJvbVJ1bGVzKHJ1bGVzKTtcblxuICAgIHJldHVybiBwYXJzZXI7XG4gIH1cblxuICBrZXlVcEhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbGV4aWNhbEVudHJpZXMgPSB0aGlzLmdldExleGljYWxFbnRyaWVzKCksXG4gICAgICAgICAgICBlbnRyaWVzID0gbGV4aWNhbEVudHJpZXMsIC8vL1xuICAgICAgICAgICAgYm5mID0gdGhpcy5nZXRCTkYoKSxcbiAgICAgICAgICAgIGxleGVyID0gdGhpcy5sZXhlckZyb21FbnRyaWVzKGVudHJpZXMpLFxuICAgICAgICAgICAgcGFyc2VyID0gdGhpcy5wYXJzZXJGcm9tQk5GKGJuZiksXG4gICAgICAgICAgICB5YXBwTGV4ZXIgPSBsZXhlciwgIC8vL1xuICAgICAgICAgICAgeWFwcFBhcnNlciA9IHBhcnNlcjsgIC8vL1xuXG4gICAgICB0aGlzLnNldFlhcHBMZXhlcih5YXBwTGV4ZXIpO1xuXG4gICAgICB0aGlzLnNldFlhcHBQYXJzZXIoeWFwcFBhcnNlcik7XG5cbiAgICAgIHRoaXMudXBkYXRlWWFwcCgpO1xuXG4gICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIHRyeSB7XG4gICAgICBsZXQgcGFyc2VUcmVlID0gbnVsbDtcblxuICAgICAgY29uc3QgcGx1Z2luID0gdGhpcy5nZXRQbHVnaW4oKSxcbiAgICAgICAgICAgIHRva2VucyA9IHBsdWdpbi5nZXRUb2tlbnMoKSxcbiAgICAgICAgICAgIG5vZGUgPSBwbHVnaW4uZ2V0Tm9kZSgpO1xuXG4gICAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBwYXJzZVRyZWUgPSBub2RlLmFzUGFyc2VUcmVlKHRva2Vucyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0VG9rZW5zKHRva2Vucyk7XG5cbiAgICAgIHRoaXMuc2V0UGFyc2VUcmVlKHBhcnNlVHJlZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcblxuICAgICAgdGhpcy5jbGVhclRva2VucygpO1xuXG4gICAgICB0aGlzLmNsZWFyUGFyc2VUcmVlKCk7XG4gICAgfVxuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIHdpbGxVbm1vdW50KCkge1xuICAgIC8vL1xuICB9XG5cbiAgY2hpbGRFbGVtZW50cygpIHtcbiAgICBjb25zdCB7IFBsdWdpbiwgZmlyYUNvZGUsIGluaXRpYWxDb250ZW50IH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgcmV0dXJuIChcblxuICAgICAgPENvbHVtbnNEaXY+XG4gICAgICAgIDxMZWZ0U2l6ZWFibGVEaXY+XG4gICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICA8VG9wU2l6ZWFibGVEaXY+XG4gICAgICAgICAgICAgIDxZYXBwIFBsdWdpbj17UGx1Z2lufSBmaXJhQ29kZT17ZmlyYUNvZGV9IG9uQ3VzdG9tQ29udGVudENoYW5nZT17dGhpcy5jb250ZW50Q2hhbmdlQ3VzdG9tSGFuZGxlcn0gPlxuICAgICAgICAgICAgICAgIHtpbml0aWFsQ29udGVudH1cbiAgICAgICAgICAgICAgPC9ZYXBwPlxuICAgICAgICAgICAgPC9Ub3BTaXplYWJsZURpdj5cbiAgICAgICAgICAgIDxIb3Jpem9udGFsU3BsaXR0ZXJEaXYvPlxuICAgICAgICAgICAgPFJvd0Rpdj5cbiAgICAgICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICAgICAgPE1pZGRsZVNpemVhYmxlRGl2PlxuICAgICAgICAgICAgICAgICAgPFJvd3NEaXY+XG4gICAgICAgICAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICAgICAgICAgIFRva2Vuc1xuICAgICAgICAgICAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgICAgICAgICAgIDxUb2tlbnNUZXh0YXJlYS8+XG4gICAgICAgICAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgICAgICAgICAgPC9NaWRkbGVTaXplYWJsZURpdj5cbiAgICAgICAgICAgICAgICA8SG9yaXpvbnRhbFNwbGl0dGVyRGl2Lz5cbiAgICAgICAgICAgICAgICA8Um93c0Rpdj5cbiAgICAgICAgICAgICAgICAgIDxTdWJIZWFkaW5nPlxuICAgICAgICAgICAgICAgICAgICBQYXJzZSB0cmVlXG4gICAgICAgICAgICAgICAgICA8L1N1YkhlYWRpbmc+XG4gICAgICAgICAgICAgICAgICA8UGFyc2VUcmVlVGV4dGFyZWEgLz5cbiAgICAgICAgICAgICAgICA8L1Jvd3NEaXY+XG4gICAgICAgICAgICAgIDwvUm93c0Rpdj5cbiAgICAgICAgICAgIDwvUm93RGl2PlxuICAgICAgICAgIDwvUm93c0Rpdj5cbiAgICAgICAgPC9MZWZ0U2l6ZWFibGVEaXY+XG4gICAgICAgIDxWZXJ0aWNhbFNwbGl0dGVyRGl2Lz5cbiAgICAgICAgPENvbHVtbkRpdj5cbiAgICAgICAgICA8Um93c0Rpdj5cbiAgICAgICAgICAgIDxSaWdodFNpemVhYmxlRGl2PlxuICAgICAgICAgICAgICA8Um93c0Rpdj5cbiAgICAgICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgICAgIExleGljYWwgZW50cmllc1xuICAgICAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgICA8TGV4aWNhbEVudHJpZXNUZXh0YXJlYSBvbktleVVwPXt0aGlzLmtleVVwSGFuZGxlcn0gLz5cbiAgICAgICAgICAgICAgPC9Sb3dzRGl2PlxuICAgICAgICAgICAgPC9SaWdodFNpemVhYmxlRGl2PlxuICAgICAgICAgICAgPEhvcml6b250YWxTcGxpdHRlckRpdi8+XG4gICAgICAgICAgICA8Um93RGl2PlxuICAgICAgICAgICAgICA8Um93c0Rpdj5cbiAgICAgICAgICAgICAgICA8U3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgICAgIEJORlxuICAgICAgICAgICAgICAgIDwvU3ViSGVhZGluZz5cbiAgICAgICAgICAgICAgICA8Qk5GVGV4dGFyZWEgb25LZXlVcD17dGhpcy5rZXlVcEhhbmRsZXJ9IC8+XG4gICAgICAgICAgICAgIDwvUm93c0Rpdj5cbiAgICAgICAgICAgIDwvUm93RGl2PlxuICAgICAgICAgIDwvUm93c0Rpdj5cbiAgICAgICAgPC9Db2x1bW5EaXY+XG4gICAgICA8L0NvbHVtbnNEaXY+XG5cbiAgICApO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgpIHtcbiAgICB0aGlzLmFzc2lnbkNvbnRleHQoKTtcblxuICAgIGNvbnN0IHsgUGx1Z2luIH0gPSB0aGlzLmNvbnN0cnVjdG9yLFxuICAgICAgICAgIHsgTGV4ZXIsIFBhcnNlciB9ID0gUGx1Z2luLFxuICAgICAgICAgIHsgYm5mIH0gPSBQYXJzZXIsXG4gICAgICAgICAgeyBlbnRyaWVzIH0gPSBMZXhlcixcbiAgICAgICAgICBsZXhpY2FsRW50cmllcyA9IGVudHJpZXM7IC8vL1xuXG4gICAgdGhpcy5zZXRCTkYoYm5mKTtcblxuICAgIHRoaXMuc2V0TGV4aWNhbEVudHJpZXMobGV4aWNhbEVudHJpZXMpO1xuICB9XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwidmlld1wiXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShWaWV3KWBcblxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMXJlbTtcbiAgXG5gO1xuIl0sIm5hbWVzIjpbInJ1bGVzRnJvbUJORiIsInBhcnNlclV0aWxpdGllcyIsIlZpZXciLCJFbGVtZW50IiwiY29udGVudENoYW5nZUN1c3RvbUhhbmRsZXIiLCJldmVudCIsImVsZW1lbnQiLCJ1cGRhdGUiLCJsZXhlckZyb21FbnRyaWVzIiwiZW50cmllcyIsIlBsdWdpbiIsIkxleGVyIiwibGV4ZXIiLCJmcm9tRW50cmllcyIsInBhcnNlckZyb21CTkYiLCJibmYiLCJQYXJzZXIiLCJydWxlcyIsInBhcnNlciIsImZyb21SdWxlcyIsImtleVVwSGFuZGxlciIsImxleGljYWxFbnRyaWVzIiwiZ2V0TGV4aWNhbEVudHJpZXMiLCJnZXRCTkYiLCJ5YXBwTGV4ZXIiLCJ5YXBwUGFyc2VyIiwic2V0WWFwcExleGVyIiwic2V0WWFwcFBhcnNlciIsInVwZGF0ZVlhcHAiLCJlcnJvciIsImNvbnNvbGUiLCJsb2ciLCJwYXJzZVRyZWUiLCJwbHVnaW4iLCJnZXRQbHVnaW4iLCJ0b2tlbnMiLCJnZXRUb2tlbnMiLCJub2RlIiwiZ2V0Tm9kZSIsImFzUGFyc2VUcmVlIiwic2V0VG9rZW5zIiwic2V0UGFyc2VUcmVlIiwiY2xlYXJUb2tlbnMiLCJjbGVhclBhcnNlVHJlZSIsImRpZE1vdW50Iiwid2lsbFVubW91bnQiLCJjaGlsZEVsZW1lbnRzIiwiZmlyYUNvZGUiLCJpbml0aWFsQ29udGVudCIsIkNvbHVtbnNEaXYiLCJMZWZ0U2l6ZWFibGVEaXYiLCJSb3dzRGl2IiwiVG9wU2l6ZWFibGVEaXYiLCJZYXBwIiwib25DdXN0b21Db250ZW50Q2hhbmdlIiwiSG9yaXpvbnRhbFNwbGl0dGVyRGl2IiwiUm93RGl2IiwiTWlkZGxlU2l6ZWFibGVEaXYiLCJTdWJIZWFkaW5nIiwiVG9rZW5zVGV4dGFyZWEiLCJQYXJzZVRyZWVUZXh0YXJlYSIsIlZlcnRpY2FsU3BsaXR0ZXJEaXYiLCJDb2x1bW5EaXYiLCJSaWdodFNpemVhYmxlRGl2IiwiTGV4aWNhbEVudHJpZXNUZXh0YXJlYSIsIm9uS2V5VXAiLCJCTkZUZXh0YXJlYSIsImluaXRpYWxpc2UiLCJhc3NpZ25Db250ZXh0Iiwic2V0Qk5GIiwic2V0TGV4aWNhbEVudHJpZXMiLCJ0YWdOYW1lIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJ3aXRoU3R5bGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW9MQTs7O2VBQUE7OztzRUFsTHNCO3NCQUVFOzhCQUNROzRCQUNtRTs2REFFbEY7bUVBQ007NERBQ0M7K0RBQ0c7NERBQ0E7NkRBQ0M7OERBQ0M7K0RBQ0M7a0VBQ0E7dUVBQ0s7Ozs7OztBQUVuQyxNQUFNLEVBQUVBLFlBQVksRUFBRSxHQUFHQyw2QkFBZTtBQUV4QyxNQUFNQyxhQUFhQyxhQUFPO0lBQ3hCQyw2QkFBNkIsQ0FBQ0MsT0FBT0M7UUFDbkMsSUFBSSxDQUFDQyxNQUFNO0lBQ2IsRUFBQztJQUVEQyxpQkFBaUJDLE9BQU8sRUFBRTtRQUN4QixNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQzdCLEVBQUVDLEtBQUssRUFBRSxHQUFHRCxRQUNaRSxRQUFRRCxNQUFNRSxXQUFXLENBQUNKO1FBRWhDLE9BQU9HO0lBQ1Q7SUFF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