@gmb/bitmark-parser-generator 1.5.10 → 1.5.12

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 (100) hide show
  1. package/dist/browser/bitmark-parser-generator.min.js +1 -1
  2. package/dist/browser/bundle-report.html +2 -2
  3. package/dist/cjs/ast/Builder.js +3 -3
  4. package/dist/cjs/ast/Builder.js.map +1 -1
  5. package/dist/cjs/config/raw/bits.js +75 -3
  6. package/dist/cjs/config/raw/bits.js.map +1 -1
  7. package/dist/cjs/config/raw/properties.js +20 -5
  8. package/dist/cjs/config/raw/properties.js.map +1 -1
  9. package/dist/cjs/generated/build-info.js +1 -1
  10. package/dist/cjs/generated/parser/text/text-peggy-parser.js +762 -374
  11. package/dist/cjs/generated/parser/text/text-peggy-parser.js.map +1 -1
  12. package/dist/cjs/generator/bitmark/BitmarkGenerator.js +24 -7
  13. package/dist/cjs/generator/bitmark/BitmarkGenerator.js.map +1 -1
  14. package/dist/cjs/generator/json/JsonGenerator.js +51 -23
  15. package/dist/cjs/generator/json/JsonGenerator.js.map +1 -1
  16. package/dist/cjs/generator/text/TextGenerator.js +55 -51
  17. package/dist/cjs/generator/text/TextGenerator.js.map +1 -1
  18. package/dist/cjs/model/ast/NodeType.js +7 -1
  19. package/dist/cjs/model/ast/NodeType.js.map +1 -1
  20. package/dist/cjs/model/config/enum/PropertyConfigKey.js +7 -4
  21. package/dist/cjs/model/config/enum/PropertyConfigKey.js.map +1 -1
  22. package/dist/cjs/model/enum/BitType.js +3 -0
  23. package/dist/cjs/model/enum/BitType.js.map +1 -1
  24. package/dist/cjs/model/enum/PropertyTag.js +7 -4
  25. package/dist/cjs/model/enum/PropertyTag.js.map +1 -1
  26. package/dist/cjs/model/enum/TextMarkType.js +13 -2
  27. package/dist/cjs/model/enum/TextMarkType.js.map +1 -1
  28. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js +2 -2
  29. package/dist/cjs/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
  30. package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +20 -10
  31. package/dist/cjs/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
  32. package/dist/cjs/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js +13 -2
  33. package/dist/cjs/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js.map +1 -1
  34. package/dist/cjs/parser/json/JsonParser.js +17 -7
  35. package/dist/cjs/parser/json/JsonParser.js.map +1 -1
  36. package/dist/esm/ast/Builder.js +3 -3
  37. package/dist/esm/ast/Builder.js.map +1 -1
  38. package/dist/esm/config/raw/bits.js +75 -3
  39. package/dist/esm/config/raw/bits.js.map +1 -1
  40. package/dist/esm/config/raw/properties.js +20 -5
  41. package/dist/esm/config/raw/properties.js.map +1 -1
  42. package/dist/esm/generated/build-info.js +1 -1
  43. package/dist/esm/generated/parser/text/text-peggy-parser.js +762 -374
  44. package/dist/esm/generated/parser/text/text-peggy-parser.js.map +1 -1
  45. package/dist/esm/generator/bitmark/BitmarkGenerator.js +24 -7
  46. package/dist/esm/generator/bitmark/BitmarkGenerator.js.map +1 -1
  47. package/dist/esm/generator/json/JsonGenerator.js +51 -23
  48. package/dist/esm/generator/json/JsonGenerator.js.map +1 -1
  49. package/dist/esm/generator/text/TextGenerator.js +55 -51
  50. package/dist/esm/generator/text/TextGenerator.js.map +1 -1
  51. package/dist/esm/model/ast/NodeType.js +7 -1
  52. package/dist/esm/model/ast/NodeType.js.map +1 -1
  53. package/dist/esm/model/config/enum/PropertyConfigKey.js +7 -4
  54. package/dist/esm/model/config/enum/PropertyConfigKey.js.map +1 -1
  55. package/dist/esm/model/enum/BitType.js +3 -0
  56. package/dist/esm/model/enum/BitType.js.map +1 -1
  57. package/dist/esm/model/enum/PropertyTag.js +7 -4
  58. package/dist/esm/model/enum/PropertyTag.js.map +1 -1
  59. package/dist/esm/model/enum/TextMarkType.js +13 -2
  60. package/dist/esm/model/enum/TextMarkType.js.map +1 -1
  61. package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js +2 -2
  62. package/dist/esm/parser/bitmark/peg/BitmarkPegParserProcessor.js.map +1 -1
  63. package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js +20 -10
  64. package/dist/esm/parser/bitmark/peg/contentProcessors/CardContentProcessor.js.map +1 -1
  65. package/dist/esm/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js +13 -2
  66. package/dist/esm/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.js.map +1 -1
  67. package/dist/esm/parser/json/JsonParser.js +17 -7
  68. package/dist/esm/parser/json/JsonParser.js.map +1 -1
  69. package/dist/types/ast/Builder.d.ts +4 -0
  70. package/dist/types/ast/Builder.d.ts.map +1 -1
  71. package/dist/types/config/raw/bits.d.ts.map +1 -1
  72. package/dist/types/config/raw/properties.d.ts.map +1 -1
  73. package/dist/types/generated/parser/text/text-peggy-parser.d.ts.map +1 -1
  74. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts +1 -1
  75. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts.map +1 -1
  76. package/dist/types/generator/json/JsonGenerator.d.ts.map +1 -1
  77. package/dist/types/generator/text/TextGenerator.d.ts.map +1 -1
  78. package/dist/types/model/ast/NodeType.d.ts +14 -2
  79. package/dist/types/model/ast/NodeType.d.ts.map +1 -1
  80. package/dist/types/model/ast/Nodes.d.ts +4 -0
  81. package/dist/types/model/ast/Nodes.d.ts.map +1 -1
  82. package/dist/types/model/config/enum/ConfigKey.d.ts +14 -8
  83. package/dist/types/model/config/enum/ConfigKey.d.ts.map +1 -1
  84. package/dist/types/model/config/enum/PropertyConfigKey.d.ts +21 -12
  85. package/dist/types/model/config/enum/PropertyConfigKey.d.ts.map +1 -1
  86. package/dist/types/model/enum/BitType.d.ts +6 -0
  87. package/dist/types/model/enum/BitType.d.ts.map +1 -1
  88. package/dist/types/model/enum/PropertyTag.d.ts +14 -8
  89. package/dist/types/model/enum/PropertyTag.d.ts.map +1 -1
  90. package/dist/types/model/enum/TextMarkType.d.ts +26 -4
  91. package/dist/types/model/enum/TextMarkType.d.ts.map +1 -1
  92. package/dist/types/model/json/BitJson.d.ts +6 -1
  93. package/dist/types/model/json/BitJson.d.ts.map +1 -1
  94. package/dist/types/parser/bitmark/peg/BitmarkPegParserProcessor.d.ts.map +1 -1
  95. package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts +1 -1
  96. package/dist/types/parser/bitmark/peg/BitmarkPegParserTypes.d.ts.map +1 -1
  97. package/dist/types/parser/bitmark/peg/contentProcessors/CardContentProcessor.d.ts.map +1 -1
  98. package/dist/types/parser/bitmark/peg/contentProcessors/ResourceContentProcessor.d.ts.map +1 -1
  99. package/dist/types/parser/json/JsonParser.d.ts.map +1 -1
  100. package/package.json +13 -13
@@ -2,7 +2,6 @@
2
2
  //
3
3
  // https://peggyjs.org/
4
4
  import { Breakscape } from "../../../breakscaping/Breakscape";
5
- // export const UNBREAKSCAPE_REGEX = new RegExp(/=\^(\^*)(?==)|\*\^(\^*)(?=\*)|_\^(\^*)(?=_)|`\^(\^*)(?=`)|!\^(\^*)(?=!)|\^(\^*)\]|\[\^(\^*)|•\^(\^*)|#\^(\^*)|\|\^(\^*)|\^(\^*)/, "g")
6
5
  function s(_string) {
7
6
  return _string !== null && _string !== void 0 ? _string : "";
8
7
  }
@@ -11,46 +10,46 @@ function unbreakscape(_str) {
11
10
  // function replacer(match, p1, offset, string, groups) {
12
11
  // return match.replace("^", "");
13
12
  // }
14
- // let re_ = UNBREAKSCAPE_REGEX;
13
+ // let re_ = new RegExp( /=\^(\^*)(?==)|\*\^(\^*)(?=\*)|_\^(\^*)(?=_)|`\^(\^*)(?=`)|!\^(\^*)(?=!)|\[\^(\^*)|•\^(\^*)|#\^(\^*)|\|\^(\^*)|\|\^(\^*)/, "g") // RegExp( /([\[*_`!])\^(?!\^)/, "g")
15
14
  // u_ = u_.replace(re_, replacer)
16
15
  u_ = Breakscape.unbreakscape(u_);
17
16
  return u_;
18
17
  }
19
18
  function bitmarkPlusPlus(_str) {
20
- if (typeof parser !== 'undefined') {
21
- return parser.parse(_str, { startRule: "bitmarkPlusPlus" });
22
- }
23
- return peg$parse(_str, { startRule: "bitmarkPlusPlus" });
24
19
  // if (parser) {
25
20
  // return parser.parse(_str, { startRule: "bitmarkPlusPlus" })
26
21
  // } else {
27
22
  // // embedded in Get More Brain
28
23
  // return parse(_str, { startRule: "bitmarkPlusPlus" })
29
24
  // }
30
- }
31
- function bitmarkPlusString(_str) {
32
25
  if (typeof parser !== 'undefined') {
33
- return parser.parse(_str, { startRule: "bitmarkPlusString" });
26
+ return parser.parse(_str, { startRule: "bitmarkPlusPlus" });
34
27
  }
35
- return peg$parse(_str, { startRule: "bitmarkPlusString" });
28
+ return peg$parse(_str, { startRule: "bitmarkPlusPlus" });
29
+ }
30
+ function bitmarkPlusString(_str) {
36
31
  // if (parser) {
37
32
  // return parser.parse(_str, { startRule: "bitmarkPlusString" })
38
33
  // } else {
39
34
  // // embedded in Get More Brain
40
35
  // return parse(_str, { startRule: "bitmarkPlusString" })
41
36
  // }
42
- }
43
- function bitmarkMinusMinusString(_str) {
44
37
  if (typeof parser !== 'undefined') {
45
- return parser.parse(_str, { startRule: "bitmarkMinusMinusString" });
38
+ return parser.parse(_str, { startRule: "bitmarkPlusString" });
46
39
  }
47
- return peg$parse(_str, { startRule: "bitmarkMinusMinusString" });
40
+ return peg$parse(_str, { startRule: "bitmarkPlusString" });
41
+ }
42
+ function bitmarkMinusMinusString(_str) {
48
43
  // if (parser) {
49
44
  // return parser.parse(_str, { startRule: "bitmarkMinusMinusString" })
50
45
  // } else {
51
46
  // // embedded in Get More Brain
52
47
  // return parse(_str, { startRule: "bitmarkMinusMinusString" })
53
48
  // }
49
+ if (typeof parser !== 'undefined') {
50
+ return parser.parse(_str, { startRule: "bitmarkMinusMinusString" });
51
+ }
52
+ return peg$parse(_str, { startRule: "bitmarkMinusMinusString" });
54
53
  }
55
54
  function peg$subclass(child, parent) {
56
55
  function C() { this.constructor = child; }
@@ -226,56 +225,69 @@ function peg$parse(input, options) {
226
225
  var peg$c22 = "link:";
227
226
  var peg$c23 = "var:";
228
227
  var peg$c24 = "code:";
229
- var peg$c25 = "color:";
230
- var peg$c26 = "bold";
231
- var peg$c27 = "italic";
232
- var peg$c28 = "light";
233
- var peg$c29 = "highlight";
234
- var peg$c30 = "strike";
235
- var peg$c31 = "sub";
236
- var peg$c32 = "super";
237
- var peg$c33 = "ins";
238
- var peg$c34 = "del";
239
- var peg$c35 = "aqua";
240
- var peg$c36 = "black";
241
- var peg$c37 = "blue";
242
- var peg$c38 = "pink";
243
- var peg$c39 = "fuchsia";
244
- var peg$c40 = "lightgrey";
245
- var peg$c41 = "gray";
246
- var peg$c42 = "darkgray";
247
- var peg$c43 = "green";
248
- var peg$c44 = "lime";
249
- var peg$c45 = "magenta";
250
- var peg$c46 = "maroon";
251
- var peg$c47 = "navy";
252
- var peg$c48 = "olive";
253
- var peg$c49 = "orange";
254
- var peg$c50 = "purple";
255
- var peg$c51 = "red";
256
- var peg$c52 = "silver";
257
- var peg$c53 = "teal";
258
- var peg$c54 = "violet";
259
- var peg$c55 = "white";
260
- var peg$c56 = "yellow";
261
- var peg$c57 = "*";
262
- var peg$c58 = "_";
263
- var peg$c59 = "`";
264
- var peg$c60 = "!";
265
- var peg$c61 = "[!";
266
- var peg$c62 = "]";
267
- var peg$c63 = "\n";
268
- var peg$c64 = "\r\n";
269
- var peg$c65 = "\r";
270
- var peg$c66 = "\u2028";
271
- var peg$c67 = "\u2029";
272
- var peg$c68 = "http";
273
- var peg$c69 = "s";
274
- var peg$c70 = "://";
275
- var peg$c71 = "mailto:";
276
- var peg$c72 = "~";
277
- var peg$c73 = "^";
278
- var peg$c74 = "'";
228
+ var peg$c25 = "timer";
229
+ var peg$c26 = "timer:";
230
+ var peg$c27 = "duration:";
231
+ var peg$c28 = "P";
232
+ var peg$c29 = "color:";
233
+ var peg$c30 = "bold";
234
+ var peg$c31 = "italic";
235
+ var peg$c32 = "light";
236
+ var peg$c33 = "highlight";
237
+ var peg$c34 = "strike";
238
+ var peg$c35 = "subscript";
239
+ var peg$c36 = "superscript";
240
+ var peg$c37 = "ins";
241
+ var peg$c38 = "del";
242
+ var peg$c39 = "underline";
243
+ var peg$c40 = "doubleUnderline";
244
+ var peg$c41 = "circle";
245
+ var peg$c42 = "languageEm";
246
+ var peg$c43 = "userUnderline";
247
+ var peg$c44 = "userDoubleUnderline";
248
+ var peg$c45 = "userStrike";
249
+ var peg$c46 = "userCircle";
250
+ var peg$c47 = "userHighlight";
251
+ var peg$c48 = "aqua";
252
+ var peg$c49 = "black";
253
+ var peg$c50 = "blue";
254
+ var peg$c51 = "pink";
255
+ var peg$c52 = "fuchsia";
256
+ var peg$c53 = "lightgrey";
257
+ var peg$c54 = "gray";
258
+ var peg$c55 = "darkgray";
259
+ var peg$c56 = "green";
260
+ var peg$c57 = "lime";
261
+ var peg$c58 = "magenta";
262
+ var peg$c59 = "maroon";
263
+ var peg$c60 = "navy";
264
+ var peg$c61 = "olive";
265
+ var peg$c62 = "orange";
266
+ var peg$c63 = "purple";
267
+ var peg$c64 = "red";
268
+ var peg$c65 = "silver";
269
+ var peg$c66 = "teal";
270
+ var peg$c67 = "violet";
271
+ var peg$c68 = "white";
272
+ var peg$c69 = "yellow";
273
+ var peg$c70 = "*";
274
+ var peg$c71 = "_";
275
+ var peg$c72 = "`";
276
+ var peg$c73 = "!";
277
+ var peg$c74 = "[!";
278
+ var peg$c75 = "]";
279
+ var peg$c76 = "\n";
280
+ var peg$c77 = "\r\n";
281
+ var peg$c78 = "\r";
282
+ var peg$c79 = "\u2028";
283
+ var peg$c80 = "\u2029";
284
+ var peg$c81 = "http";
285
+ var peg$c82 = "s";
286
+ var peg$c83 = "://";
287
+ var peg$c84 = "mailto:";
288
+ var peg$c85 = "~";
289
+ var peg$c86 = "^";
290
+ var peg$c87 = "'";
279
291
  var peg$r0 = /^[ \t]/;
280
292
  var peg$r1 = /^[0-9]/;
281
293
  var peg$r2 = /^[\t\v\f \xA0\uFEFF \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/;
@@ -313,68 +325,81 @@ function peg$parse(input, options) {
313
325
  var peg$e27 = peg$literalExpectation("link:", false);
314
326
  var peg$e28 = peg$literalExpectation("var:", false);
315
327
  var peg$e29 = peg$literalExpectation("code:", false);
316
- var peg$e30 = peg$literalExpectation("color:", false);
317
- var peg$e31 = peg$literalExpectation("bold", false);
318
- var peg$e32 = peg$literalExpectation("italic", false);
319
- var peg$e33 = peg$literalExpectation("light", false);
320
- var peg$e34 = peg$literalExpectation("highlight", false);
321
- var peg$e35 = peg$literalExpectation("strike", false);
322
- var peg$e36 = peg$literalExpectation("sub", false);
323
- var peg$e37 = peg$literalExpectation("super", false);
324
- var peg$e38 = peg$literalExpectation("ins", false);
325
- var peg$e39 = peg$literalExpectation("del", false);
326
- var peg$e40 = peg$literalExpectation("aqua", false);
327
- var peg$e41 = peg$literalExpectation("black", false);
328
- var peg$e42 = peg$literalExpectation("blue", false);
329
- var peg$e43 = peg$literalExpectation("pink", false);
330
- var peg$e44 = peg$literalExpectation("fuchsia", false);
331
- var peg$e45 = peg$literalExpectation("lightgrey", false);
332
- var peg$e46 = peg$literalExpectation("gray", false);
333
- var peg$e47 = peg$literalExpectation("darkgray", false);
334
- var peg$e48 = peg$literalExpectation("green", false);
335
- var peg$e49 = peg$literalExpectation("lime", false);
336
- var peg$e50 = peg$literalExpectation("magenta", false);
337
- var peg$e51 = peg$literalExpectation("maroon", false);
338
- var peg$e52 = peg$literalExpectation("navy", false);
339
- var peg$e53 = peg$literalExpectation("olive", false);
340
- var peg$e54 = peg$literalExpectation("orange", false);
341
- var peg$e55 = peg$literalExpectation("purple", false);
342
- var peg$e56 = peg$literalExpectation("red", false);
343
- var peg$e57 = peg$literalExpectation("silver", false);
344
- var peg$e58 = peg$literalExpectation("teal", false);
345
- var peg$e59 = peg$literalExpectation("violet", false);
346
- var peg$e60 = peg$literalExpectation("white", false);
347
- var peg$e61 = peg$literalExpectation("yellow", false);
348
- var peg$e62 = peg$otherExpectation("MinimalStyledText");
349
- var peg$e63 = peg$otherExpectation("MinimalStyledString");
350
- var peg$e64 = peg$literalExpectation("*", false);
351
- var peg$e65 = peg$literalExpectation("_", false);
352
- var peg$e66 = peg$literalExpectation("`", false);
353
- var peg$e67 = peg$literalExpectation("!", false);
354
- var peg$e68 = peg$literalExpectation("[!", false);
355
- var peg$e69 = peg$literalExpectation("]", false);
356
- var peg$e70 = peg$otherExpectation("Line Terminator");
357
- var peg$e71 = peg$literalExpectation("\n", false);
358
- var peg$e72 = peg$literalExpectation("\r\n", false);
359
- var peg$e73 = peg$literalExpectation("\r", false);
360
- var peg$e74 = peg$literalExpectation("\u2028", false);
361
- var peg$e75 = peg$literalExpectation("\u2029", false);
362
- var peg$e76 = peg$otherExpectation("whitespace in line");
363
- var peg$e77 = peg$otherExpectation("space");
364
- var peg$e78 = peg$otherExpectation("language tag separator");
365
- var peg$e79 = peg$otherExpectation("white space, separator");
366
- var peg$e80 = peg$classExpectation(["\t", "\v", "\f", " ", "\xA0", "\uFEFF", " ", "\xA0", "\u1680", ["\u2000", "\u200A"], "\u202F", "\u205F", "\u3000"], false, false);
367
- var peg$e81 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], false, false);
368
- var peg$e82 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false);
369
- var peg$e83 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029", "\t", "\v", "\f", " ", "\xA0", "\uFEFF", " ", "\xA0", "\u1680", ["\u2000", "\u200A"], "\u202F", "\u205F", "\u3000"], true, false);
370
- var peg$e84 = peg$literalExpectation("http", false);
371
- var peg$e85 = peg$literalExpectation("s", false);
372
- var peg$e86 = peg$literalExpectation("://", false);
373
- var peg$e87 = peg$literalExpectation("mailto:", false);
374
- var peg$e88 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "!", "*", "'", "(", ")", "=", ["+", "/"], ".", "_", "?", "#", "@", "[", "]", "$", "&", "(", ")", ",", ";", "%", ":", "{", "}"], false, false);
375
- var peg$e89 = peg$literalExpectation("~", false);
376
- var peg$e90 = peg$literalExpectation("^", false);
377
- var peg$e91 = peg$literalExpectation("'", false);
328
+ var peg$e30 = peg$literalExpectation("timer", false);
329
+ var peg$e31 = peg$literalExpectation("timer:", false);
330
+ var peg$e32 = peg$literalExpectation("duration:", false);
331
+ var peg$e33 = peg$literalExpectation("P", false);
332
+ var peg$e34 = peg$literalExpectation("color:", false);
333
+ var peg$e35 = peg$literalExpectation("bold", false);
334
+ var peg$e36 = peg$literalExpectation("italic", false);
335
+ var peg$e37 = peg$literalExpectation("light", false);
336
+ var peg$e38 = peg$literalExpectation("highlight", false);
337
+ var peg$e39 = peg$literalExpectation("strike", false);
338
+ var peg$e40 = peg$literalExpectation("subscript", false);
339
+ var peg$e41 = peg$literalExpectation("superscript", false);
340
+ var peg$e42 = peg$literalExpectation("ins", false);
341
+ var peg$e43 = peg$literalExpectation("del", false);
342
+ var peg$e44 = peg$literalExpectation("underline", false);
343
+ var peg$e45 = peg$literalExpectation("doubleUnderline", false);
344
+ var peg$e46 = peg$literalExpectation("circle", false);
345
+ var peg$e47 = peg$literalExpectation("languageEm", false);
346
+ var peg$e48 = peg$literalExpectation("userUnderline", false);
347
+ var peg$e49 = peg$literalExpectation("userDoubleUnderline", false);
348
+ var peg$e50 = peg$literalExpectation("userStrike", false);
349
+ var peg$e51 = peg$literalExpectation("userCircle", false);
350
+ var peg$e52 = peg$literalExpectation("userHighlight", false);
351
+ var peg$e53 = peg$literalExpectation("aqua", false);
352
+ var peg$e54 = peg$literalExpectation("black", false);
353
+ var peg$e55 = peg$literalExpectation("blue", false);
354
+ var peg$e56 = peg$literalExpectation("pink", false);
355
+ var peg$e57 = peg$literalExpectation("fuchsia", false);
356
+ var peg$e58 = peg$literalExpectation("lightgrey", false);
357
+ var peg$e59 = peg$literalExpectation("gray", false);
358
+ var peg$e60 = peg$literalExpectation("darkgray", false);
359
+ var peg$e61 = peg$literalExpectation("green", false);
360
+ var peg$e62 = peg$literalExpectation("lime", false);
361
+ var peg$e63 = peg$literalExpectation("magenta", false);
362
+ var peg$e64 = peg$literalExpectation("maroon", false);
363
+ var peg$e65 = peg$literalExpectation("navy", false);
364
+ var peg$e66 = peg$literalExpectation("olive", false);
365
+ var peg$e67 = peg$literalExpectation("orange", false);
366
+ var peg$e68 = peg$literalExpectation("purple", false);
367
+ var peg$e69 = peg$literalExpectation("red", false);
368
+ var peg$e70 = peg$literalExpectation("silver", false);
369
+ var peg$e71 = peg$literalExpectation("teal", false);
370
+ var peg$e72 = peg$literalExpectation("violet", false);
371
+ var peg$e73 = peg$literalExpectation("white", false);
372
+ var peg$e74 = peg$literalExpectation("yellow", false);
373
+ var peg$e75 = peg$otherExpectation("MinimalStyledText");
374
+ var peg$e76 = peg$otherExpectation("MinimalStyledString");
375
+ var peg$e77 = peg$literalExpectation("*", false);
376
+ var peg$e78 = peg$literalExpectation("_", false);
377
+ var peg$e79 = peg$literalExpectation("`", false);
378
+ var peg$e80 = peg$literalExpectation("!", false);
379
+ var peg$e81 = peg$literalExpectation("[!", false);
380
+ var peg$e82 = peg$literalExpectation("]", false);
381
+ var peg$e83 = peg$otherExpectation("Line Terminator");
382
+ var peg$e84 = peg$literalExpectation("\n", false);
383
+ var peg$e85 = peg$literalExpectation("\r\n", false);
384
+ var peg$e86 = peg$literalExpectation("\r", false);
385
+ var peg$e87 = peg$literalExpectation("\u2028", false);
386
+ var peg$e88 = peg$literalExpectation("\u2029", false);
387
+ var peg$e89 = peg$otherExpectation("whitespace in line");
388
+ var peg$e90 = peg$otherExpectation("space");
389
+ var peg$e91 = peg$otherExpectation("language tag separator");
390
+ var peg$e92 = peg$otherExpectation("white space, separator");
391
+ var peg$e93 = peg$classExpectation(["\t", "\v", "\f", " ", "\xA0", "\uFEFF", " ", "\xA0", "\u1680", ["\u2000", "\u200A"], "\u202F", "\u205F", "\u3000"], false, false);
392
+ var peg$e94 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], false, false);
393
+ var peg$e95 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false);
394
+ var peg$e96 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029", "\t", "\v", "\f", " ", "\xA0", "\uFEFF", " ", "\xA0", "\u1680", ["\u2000", "\u200A"], "\u202F", "\u205F", "\u3000"], true, false);
395
+ var peg$e97 = peg$literalExpectation("http", false);
396
+ var peg$e98 = peg$literalExpectation("s", false);
397
+ var peg$e99 = peg$literalExpectation("://", false);
398
+ var peg$e100 = peg$literalExpectation("mailto:", false);
399
+ var peg$e101 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "!", "*", "'", "(", ")", "=", ["+", "/"], ".", "_", "?", "#", "@", "[", "]", "$", "&", "(", ")", ",", ";", "%", ":", "{", "}"], false, false);
400
+ var peg$e102 = peg$literalExpectation("~", false);
401
+ var peg$e103 = peg$literalExpectation("^", false);
402
+ var peg$e104 = peg$literalExpectation("'", false);
378
403
  var peg$f0 = function (b) { return Object.assign({}, b); };
379
404
  var peg$f1 = function (b) { return Object.assign({}, b); };
380
405
  var peg$f2 = function (b) { return Object.assign({}, b); };
@@ -455,9 +480,11 @@ function peg$parse(input, options) {
455
480
  delete chain.caption;
456
481
  let class_ = chain.align || "center";
457
482
  delete chain.align;
483
+ let zoomDisabled_ = chain.zoomDisabled || Boolean(chain.zoomDisabled);
484
+ delete chain.zoomDisabled;
458
485
  let image = {
459
486
  type: t,
460
- attrs: Object.assign({ textAlign: textAlign_, src: u, alt: alt_, title: title_, class: class_ }, chain)
487
+ attrs: Object.assign({ textAlign: textAlign_, src: u, alt: alt_, title: title_, class: class_, zoomDisabled: zoomDisabled_ }, chain)
461
488
  };
462
489
  return image;
463
490
  };
@@ -484,18 +511,21 @@ function peg$parse(input, options) {
484
511
  var peg$f52 = function (str) { return { type: 'var', attrs: { name: str.trim() } }; };
485
512
  var peg$f53 = function () { return { type: 'code', attrs: { language: "plain text" } }; };
486
513
  var peg$f54 = function (lang) { return { type: 'code', attrs: { language: lang.trim().toLowerCase() } }; };
487
- var peg$f55 = function (color) { return { type: 'color', attrs: { color } }; };
488
- var peg$f56 = function (style) { return { type: style }; };
489
- var peg$f57 = function (str) { return { type: "comment", comment: str }; };
490
- var peg$f58 = function (bs) { return [{ type: 'paragraph', content: bs, attrs: {} }]; };
491
- var peg$f59 = function (first, more) { return first ? [first, ...more.flat()] : more.flat(); };
492
- var peg$f60 = function (t) { return { text: unbreakscape(t), type: "text" }; };
493
- var peg$f61 = function (t) { return { index: +t, type: "bit" }; };
494
- var peg$f62 = function (t) { return { marks: [{ type: "bold" }], text: unbreakscape(t), type: "text" }; };
495
- var peg$f63 = function (t) { return { marks: [{ type: "italic" }], text: unbreakscape(t), type: "text" }; };
496
- var peg$f64 = function (t) { return { marks: [{ type: "light" }], text: unbreakscape(t), type: "text" }; };
497
- var peg$f65 = function (t) { return { marks: [{ type: "highlight" }], text: unbreakscape(t), type: "text" }; };
498
- var peg$f66 = function (pr, t) { return { pr, t }; };
514
+ var peg$f55 = function () { return { type: 'timer', attrs: { name: "" } }; };
515
+ var peg$f56 = function (str) { return { type: 'timer', attrs: { name: str.trim() } }; };
516
+ var peg$f57 = function (str) { return { type: 'duration', attrs: { duration: str } }; };
517
+ var peg$f58 = function (color) { return { type: 'color', attrs: { color } }; };
518
+ var peg$f59 = function (style) { return { type: style }; };
519
+ var peg$f60 = function (str) { return { type: "comment", comment: str }; };
520
+ var peg$f61 = function (bs) { return [{ type: 'paragraph', content: bs, attrs: {} }]; };
521
+ var peg$f62 = function (first, more) { return first ? [first, ...more.flat()] : more.flat(); };
522
+ var peg$f63 = function (t) { return { text: unbreakscape(t), type: "text" }; };
523
+ var peg$f64 = function (t) { return { index: +t, type: "bit" }; };
524
+ var peg$f65 = function (t) { return { marks: [{ type: "bold" }], text: unbreakscape(t), type: "text" }; };
525
+ var peg$f66 = function (t) { return { marks: [{ type: "italic" }], text: unbreakscape(t), type: "text" }; };
526
+ var peg$f67 = function (t) { return { marks: [{ type: "light" }], text: unbreakscape(t), type: "text" }; };
527
+ var peg$f68 = function (t) { return { marks: [{ type: "highlight" }], text: unbreakscape(t), type: "text" }; };
528
+ var peg$f69 = function (pr, t) { return { pr, t }; };
499
529
  var peg$currPos = 0;
500
530
  var peg$savedPos = 0;
501
531
  var peg$posDetailsCache = [{ line: 1, column: 1 }];
@@ -2360,7 +2390,7 @@ function peg$parse(input, options) {
2360
2390
  if (s1 === peg$FAILED) {
2361
2391
  s1 = null;
2362
2392
  }
2363
- s2 = peg$parseMediaNumberTags();
2393
+ s2 = peg$parseMediaSizeTags();
2364
2394
  if (s2 !== peg$FAILED) {
2365
2395
  if (input.charCodeAt(peg$currPos) === 58) {
2366
2396
  s3 = peg$c1;
@@ -2525,7 +2555,7 @@ function peg$parse(input, options) {
2525
2555
  if (s1 === peg$FAILED) {
2526
2556
  s1 = null;
2527
2557
  }
2528
- s2 = peg$parseMediaNumberTags();
2558
+ s2 = peg$parseMediaSizeTags();
2529
2559
  if (s2 !== peg$FAILED) {
2530
2560
  if (input.charCodeAt(peg$currPos) === 58) {
2531
2561
  s3 = peg$c1;
@@ -2928,7 +2958,7 @@ function peg$parse(input, options) {
2928
2958
  }
2929
2959
  return s0;
2930
2960
  }
2931
- function peg$parseMediaNumberTags() {
2961
+ function peg$parseMediaSizeTags() {
2932
2962
  var s0;
2933
2963
  if (input.substr(peg$currPos, 5) === peg$c18) {
2934
2964
  s0 = peg$c18;
@@ -3444,11 +3474,14 @@ function peg$parse(input, options) {
3444
3474
  s5 = peg$parseInlineTag();
3445
3475
  if (s5 !== peg$FAILED) {
3446
3476
  s6 = peg$parseAttrChain();
3447
- if (s6 === peg$FAILED) {
3448
- s6 = null;
3477
+ if (s6 !== peg$FAILED) {
3478
+ peg$savedPos = s0;
3479
+ s0 = peg$f44(s3, s6);
3480
+ }
3481
+ else {
3482
+ peg$currPos = s0;
3483
+ s0 = peg$FAILED;
3449
3484
  }
3450
- peg$savedPos = s0;
3451
- s0 = peg$f44(s3, s6);
3452
3485
  }
3453
3486
  else {
3454
3487
  peg$currPos = s0;
@@ -4301,12 +4334,23 @@ function peg$parse(input, options) {
4301
4334
  if (s1 !== peg$FAILED) {
4302
4335
  s2 = [];
4303
4336
  s3 = peg$parseAttrChainItem();
4304
- while (s3 !== peg$FAILED) {
4305
- s2.push(s3);
4306
- s3 = peg$parseAttrChainItem();
4337
+ if (s3 !== peg$FAILED) {
4338
+ while (s3 !== peg$FAILED) {
4339
+ s2.push(s3);
4340
+ s3 = peg$parseAttrChainItem();
4341
+ }
4342
+ }
4343
+ else {
4344
+ s2 = peg$FAILED;
4345
+ }
4346
+ if (s2 !== peg$FAILED) {
4347
+ peg$savedPos = s0;
4348
+ s0 = peg$f50(s2);
4349
+ }
4350
+ else {
4351
+ peg$currPos = s0;
4352
+ s0 = peg$FAILED;
4307
4353
  }
4308
- peg$savedPos = s0;
4309
- s0 = peg$f50(s2);
4310
4354
  }
4311
4355
  else {
4312
4356
  peg$currPos = s0;
@@ -4315,7 +4359,7 @@ function peg$parse(input, options) {
4315
4359
  return s0;
4316
4360
  }
4317
4361
  function peg$parseAttrChainItem() {
4318
- var s0, s1, s2, s3, s4, s5, s6;
4362
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
4319
4363
  s0 = peg$currPos;
4320
4364
  if (input.substr(peg$currPos, 5) === peg$c22) {
4321
4365
  s1 = peg$c22;
@@ -4605,9 +4649,9 @@ function peg$parse(input, options) {
4605
4649
  }
4606
4650
  if (s0 === peg$FAILED) {
4607
4651
  s0 = peg$currPos;
4608
- if (input.substr(peg$currPos, 6) === peg$c25) {
4652
+ if (input.substr(peg$currPos, 5) === peg$c25) {
4609
4653
  s1 = peg$c25;
4610
- peg$currPos += 6;
4654
+ peg$currPos += 5;
4611
4655
  }
4612
4656
  else {
4613
4657
  s1 = peg$FAILED;
@@ -4616,17 +4660,10 @@ function peg$parse(input, options) {
4616
4660
  }
4617
4661
  }
4618
4662
  if (s1 !== peg$FAILED) {
4619
- s2 = peg$parseColor();
4663
+ s2 = peg$parseBlockTag();
4620
4664
  if (s2 !== peg$FAILED) {
4621
- s3 = peg$parseBlockTag();
4622
- if (s3 !== peg$FAILED) {
4623
- peg$savedPos = s0;
4624
- s0 = peg$f55(s2);
4625
- }
4626
- else {
4627
- peg$currPos = s0;
4628
- s0 = peg$FAILED;
4629
- }
4665
+ peg$savedPos = s0;
4666
+ s0 = peg$f55();
4630
4667
  }
4631
4668
  else {
4632
4669
  peg$currPos = s0;
@@ -4639,37 +4676,48 @@ function peg$parse(input, options) {
4639
4676
  }
4640
4677
  if (s0 === peg$FAILED) {
4641
4678
  s0 = peg$currPos;
4642
- s1 = peg$parseAlternativeStyleTags();
4643
- if (s1 !== peg$FAILED) {
4644
- s2 = peg$parseBlockTag();
4645
- if (s2 !== peg$FAILED) {
4646
- peg$savedPos = s0;
4647
- s0 = peg$f56(s1);
4648
- }
4649
- else {
4650
- peg$currPos = s0;
4651
- s0 = peg$FAILED;
4652
- }
4679
+ if (input.substr(peg$currPos, 6) === peg$c26) {
4680
+ s1 = peg$c26;
4681
+ peg$currPos += 6;
4653
4682
  }
4654
4683
  else {
4655
- peg$currPos = s0;
4656
- s0 = peg$FAILED;
4684
+ s1 = peg$FAILED;
4685
+ if (peg$silentFails === 0) {
4686
+ peg$fail(peg$e31);
4687
+ }
4657
4688
  }
4658
- if (s0 === peg$FAILED) {
4659
- s0 = peg$currPos;
4660
- if (input.charCodeAt(peg$currPos) === 35) {
4661
- s1 = peg$c16;
4662
- peg$currPos++;
4689
+ if (s1 !== peg$FAILED) {
4690
+ s2 = peg$currPos;
4691
+ s3 = [];
4692
+ s4 = peg$currPos;
4693
+ s5 = peg$currPos;
4694
+ peg$silentFails++;
4695
+ s6 = peg$parseBlockTag();
4696
+ peg$silentFails--;
4697
+ if (s6 === peg$FAILED) {
4698
+ s5 = undefined;
4663
4699
  }
4664
4700
  else {
4665
- s1 = peg$FAILED;
4666
- if (peg$silentFails === 0) {
4667
- peg$fail(peg$e19);
4701
+ peg$currPos = s5;
4702
+ s5 = peg$FAILED;
4703
+ }
4704
+ if (s5 !== peg$FAILED) {
4705
+ s6 = peg$parsechar();
4706
+ if (s6 !== peg$FAILED) {
4707
+ s5 = [s5, s6];
4708
+ s4 = s5;
4709
+ }
4710
+ else {
4711
+ peg$currPos = s4;
4712
+ s4 = peg$FAILED;
4668
4713
  }
4669
4714
  }
4670
- if (s1 !== peg$FAILED) {
4671
- s2 = peg$currPos;
4672
- s3 = [];
4715
+ else {
4716
+ peg$currPos = s4;
4717
+ s4 = peg$FAILED;
4718
+ }
4719
+ while (s4 !== peg$FAILED) {
4720
+ s3.push(s4);
4673
4721
  s4 = peg$currPos;
4674
4722
  s5 = peg$currPos;
4675
4723
  peg$silentFails++;
@@ -4697,41 +4745,131 @@ function peg$parse(input, options) {
4697
4745
  peg$currPos = s4;
4698
4746
  s4 = peg$FAILED;
4699
4747
  }
4700
- while (s4 !== peg$FAILED) {
4701
- s3.push(s4);
4702
- s4 = peg$currPos;
4748
+ }
4749
+ s2 = input.substring(s2, peg$currPos);
4750
+ s3 = peg$parseBlockTag();
4751
+ if (s3 !== peg$FAILED) {
4752
+ peg$savedPos = s0;
4753
+ s0 = peg$f56(s2);
4754
+ }
4755
+ else {
4756
+ peg$currPos = s0;
4757
+ s0 = peg$FAILED;
4758
+ }
4759
+ }
4760
+ else {
4761
+ peg$currPos = s0;
4762
+ s0 = peg$FAILED;
4763
+ }
4764
+ if (s0 === peg$FAILED) {
4765
+ s0 = peg$currPos;
4766
+ if (input.substr(peg$currPos, 9) === peg$c27) {
4767
+ s1 = peg$c27;
4768
+ peg$currPos += 9;
4769
+ }
4770
+ else {
4771
+ s1 = peg$FAILED;
4772
+ if (peg$silentFails === 0) {
4773
+ peg$fail(peg$e32);
4774
+ }
4775
+ }
4776
+ if (s1 !== peg$FAILED) {
4777
+ s2 = peg$currPos;
4778
+ s3 = peg$currPos;
4779
+ if (input.charCodeAt(peg$currPos) === 80) {
4780
+ s4 = peg$c28;
4781
+ peg$currPos++;
4782
+ }
4783
+ else {
4784
+ s4 = peg$FAILED;
4785
+ if (peg$silentFails === 0) {
4786
+ peg$fail(peg$e33);
4787
+ }
4788
+ }
4789
+ if (s4 !== peg$FAILED) {
4703
4790
  s5 = peg$currPos;
4791
+ s6 = [];
4792
+ s7 = peg$currPos;
4793
+ s8 = peg$currPos;
4704
4794
  peg$silentFails++;
4705
- s6 = peg$parseBlockTag();
4795
+ s9 = peg$parseBlockTag();
4706
4796
  peg$silentFails--;
4707
- if (s6 === peg$FAILED) {
4708
- s5 = undefined;
4797
+ if (s9 === peg$FAILED) {
4798
+ s8 = undefined;
4709
4799
  }
4710
4800
  else {
4711
- peg$currPos = s5;
4712
- s5 = peg$FAILED;
4801
+ peg$currPos = s8;
4802
+ s8 = peg$FAILED;
4713
4803
  }
4714
- if (s5 !== peg$FAILED) {
4715
- s6 = peg$parsechar();
4716
- if (s6 !== peg$FAILED) {
4717
- s5 = [s5, s6];
4718
- s4 = s5;
4804
+ if (s8 !== peg$FAILED) {
4805
+ s9 = peg$parsechar();
4806
+ if (s9 !== peg$FAILED) {
4807
+ s8 = [s8, s9];
4808
+ s7 = s8;
4719
4809
  }
4720
4810
  else {
4721
- peg$currPos = s4;
4722
- s4 = peg$FAILED;
4811
+ peg$currPos = s7;
4812
+ s7 = peg$FAILED;
4723
4813
  }
4724
4814
  }
4725
4815
  else {
4726
- peg$currPos = s4;
4727
- s4 = peg$FAILED;
4816
+ peg$currPos = s7;
4817
+ s7 = peg$FAILED;
4818
+ }
4819
+ while (s7 !== peg$FAILED) {
4820
+ s6.push(s7);
4821
+ s7 = peg$currPos;
4822
+ s8 = peg$currPos;
4823
+ peg$silentFails++;
4824
+ s9 = peg$parseBlockTag();
4825
+ peg$silentFails--;
4826
+ if (s9 === peg$FAILED) {
4827
+ s8 = undefined;
4828
+ }
4829
+ else {
4830
+ peg$currPos = s8;
4831
+ s8 = peg$FAILED;
4832
+ }
4833
+ if (s8 !== peg$FAILED) {
4834
+ s9 = peg$parsechar();
4835
+ if (s9 !== peg$FAILED) {
4836
+ s8 = [s8, s9];
4837
+ s7 = s8;
4838
+ }
4839
+ else {
4840
+ peg$currPos = s7;
4841
+ s7 = peg$FAILED;
4842
+ }
4843
+ }
4844
+ else {
4845
+ peg$currPos = s7;
4846
+ s7 = peg$FAILED;
4847
+ }
4728
4848
  }
4849
+ s5 = input.substring(s5, peg$currPos);
4850
+ s4 = [s4, s5];
4851
+ s3 = s4;
4852
+ }
4853
+ else {
4854
+ peg$currPos = s3;
4855
+ s3 = peg$FAILED;
4729
4856
  }
4730
- s2 = input.substring(s2, peg$currPos);
4731
- s3 = peg$parseBlockTag();
4732
4857
  if (s3 !== peg$FAILED) {
4733
- peg$savedPos = s0;
4734
- s0 = peg$f57(s2);
4858
+ s2 = input.substring(s2, peg$currPos);
4859
+ }
4860
+ else {
4861
+ s2 = s3;
4862
+ }
4863
+ if (s2 !== peg$FAILED) {
4864
+ s3 = peg$parseBlockTag();
4865
+ if (s3 !== peg$FAILED) {
4866
+ peg$savedPos = s0;
4867
+ s0 = peg$f57(s2);
4868
+ }
4869
+ else {
4870
+ peg$currPos = s0;
4871
+ s0 = peg$FAILED;
4872
+ }
4735
4873
  }
4736
4874
  else {
4737
4875
  peg$currPos = s0;
@@ -4742,6 +4880,148 @@ function peg$parse(input, options) {
4742
4880
  peg$currPos = s0;
4743
4881
  s0 = peg$FAILED;
4744
4882
  }
4883
+ if (s0 === peg$FAILED) {
4884
+ s0 = peg$currPos;
4885
+ if (input.substr(peg$currPos, 6) === peg$c29) {
4886
+ s1 = peg$c29;
4887
+ peg$currPos += 6;
4888
+ }
4889
+ else {
4890
+ s1 = peg$FAILED;
4891
+ if (peg$silentFails === 0) {
4892
+ peg$fail(peg$e34);
4893
+ }
4894
+ }
4895
+ if (s1 !== peg$FAILED) {
4896
+ s2 = peg$parseColor();
4897
+ if (s2 !== peg$FAILED) {
4898
+ s3 = peg$parseBlockTag();
4899
+ if (s3 !== peg$FAILED) {
4900
+ peg$savedPos = s0;
4901
+ s0 = peg$f58(s2);
4902
+ }
4903
+ else {
4904
+ peg$currPos = s0;
4905
+ s0 = peg$FAILED;
4906
+ }
4907
+ }
4908
+ else {
4909
+ peg$currPos = s0;
4910
+ s0 = peg$FAILED;
4911
+ }
4912
+ }
4913
+ else {
4914
+ peg$currPos = s0;
4915
+ s0 = peg$FAILED;
4916
+ }
4917
+ if (s0 === peg$FAILED) {
4918
+ s0 = peg$currPos;
4919
+ s1 = peg$parseAlternativeStyleTags();
4920
+ if (s1 !== peg$FAILED) {
4921
+ s2 = peg$parseBlockTag();
4922
+ if (s2 !== peg$FAILED) {
4923
+ peg$savedPos = s0;
4924
+ s0 = peg$f59(s1);
4925
+ }
4926
+ else {
4927
+ peg$currPos = s0;
4928
+ s0 = peg$FAILED;
4929
+ }
4930
+ }
4931
+ else {
4932
+ peg$currPos = s0;
4933
+ s0 = peg$FAILED;
4934
+ }
4935
+ if (s0 === peg$FAILED) {
4936
+ s0 = peg$currPos;
4937
+ if (input.charCodeAt(peg$currPos) === 35) {
4938
+ s1 = peg$c16;
4939
+ peg$currPos++;
4940
+ }
4941
+ else {
4942
+ s1 = peg$FAILED;
4943
+ if (peg$silentFails === 0) {
4944
+ peg$fail(peg$e19);
4945
+ }
4946
+ }
4947
+ if (s1 !== peg$FAILED) {
4948
+ s2 = peg$currPos;
4949
+ s3 = [];
4950
+ s4 = peg$currPos;
4951
+ s5 = peg$currPos;
4952
+ peg$silentFails++;
4953
+ s6 = peg$parseBlockTag();
4954
+ peg$silentFails--;
4955
+ if (s6 === peg$FAILED) {
4956
+ s5 = undefined;
4957
+ }
4958
+ else {
4959
+ peg$currPos = s5;
4960
+ s5 = peg$FAILED;
4961
+ }
4962
+ if (s5 !== peg$FAILED) {
4963
+ s6 = peg$parsechar();
4964
+ if (s6 !== peg$FAILED) {
4965
+ s5 = [s5, s6];
4966
+ s4 = s5;
4967
+ }
4968
+ else {
4969
+ peg$currPos = s4;
4970
+ s4 = peg$FAILED;
4971
+ }
4972
+ }
4973
+ else {
4974
+ peg$currPos = s4;
4975
+ s4 = peg$FAILED;
4976
+ }
4977
+ while (s4 !== peg$FAILED) {
4978
+ s3.push(s4);
4979
+ s4 = peg$currPos;
4980
+ s5 = peg$currPos;
4981
+ peg$silentFails++;
4982
+ s6 = peg$parseBlockTag();
4983
+ peg$silentFails--;
4984
+ if (s6 === peg$FAILED) {
4985
+ s5 = undefined;
4986
+ }
4987
+ else {
4988
+ peg$currPos = s5;
4989
+ s5 = peg$FAILED;
4990
+ }
4991
+ if (s5 !== peg$FAILED) {
4992
+ s6 = peg$parsechar();
4993
+ if (s6 !== peg$FAILED) {
4994
+ s5 = [s5, s6];
4995
+ s4 = s5;
4996
+ }
4997
+ else {
4998
+ peg$currPos = s4;
4999
+ s4 = peg$FAILED;
5000
+ }
5001
+ }
5002
+ else {
5003
+ peg$currPos = s4;
5004
+ s4 = peg$FAILED;
5005
+ }
5006
+ }
5007
+ s2 = input.substring(s2, peg$currPos);
5008
+ s3 = peg$parseBlockTag();
5009
+ if (s3 !== peg$FAILED) {
5010
+ peg$savedPos = s0;
5011
+ s0 = peg$f60(s2);
5012
+ }
5013
+ else {
5014
+ peg$currPos = s0;
5015
+ s0 = peg$FAILED;
5016
+ }
5017
+ }
5018
+ else {
5019
+ peg$currPos = s0;
5020
+ s0 = peg$FAILED;
5021
+ }
5022
+ }
5023
+ }
5024
+ }
4745
5025
  }
4746
5026
  }
4747
5027
  }
@@ -4752,102 +5032,210 @@ function peg$parse(input, options) {
4752
5032
  }
4753
5033
  function peg$parseAlternativeStyleTags() {
4754
5034
  var s0;
4755
- if (input.substr(peg$currPos, 4) === peg$c26) {
4756
- s0 = peg$c26;
5035
+ if (input.substr(peg$currPos, 4) === peg$c30) {
5036
+ s0 = peg$c30;
4757
5037
  peg$currPos += 4;
4758
5038
  }
4759
5039
  else {
4760
5040
  s0 = peg$FAILED;
4761
5041
  if (peg$silentFails === 0) {
4762
- peg$fail(peg$e31);
5042
+ peg$fail(peg$e35);
4763
5043
  }
4764
5044
  }
4765
5045
  if (s0 === peg$FAILED) {
4766
- if (input.substr(peg$currPos, 6) === peg$c27) {
4767
- s0 = peg$c27;
5046
+ if (input.substr(peg$currPos, 6) === peg$c31) {
5047
+ s0 = peg$c31;
4768
5048
  peg$currPos += 6;
4769
5049
  }
4770
5050
  else {
4771
5051
  s0 = peg$FAILED;
4772
5052
  if (peg$silentFails === 0) {
4773
- peg$fail(peg$e32);
5053
+ peg$fail(peg$e36);
4774
5054
  }
4775
5055
  }
4776
5056
  if (s0 === peg$FAILED) {
4777
- if (input.substr(peg$currPos, 5) === peg$c28) {
4778
- s0 = peg$c28;
5057
+ if (input.substr(peg$currPos, 5) === peg$c32) {
5058
+ s0 = peg$c32;
4779
5059
  peg$currPos += 5;
4780
5060
  }
4781
5061
  else {
4782
5062
  s0 = peg$FAILED;
4783
5063
  if (peg$silentFails === 0) {
4784
- peg$fail(peg$e33);
5064
+ peg$fail(peg$e37);
4785
5065
  }
4786
5066
  }
4787
5067
  if (s0 === peg$FAILED) {
4788
- if (input.substr(peg$currPos, 9) === peg$c29) {
4789
- s0 = peg$c29;
5068
+ if (input.substr(peg$currPos, 9) === peg$c33) {
5069
+ s0 = peg$c33;
4790
5070
  peg$currPos += 9;
4791
5071
  }
4792
5072
  else {
4793
5073
  s0 = peg$FAILED;
4794
5074
  if (peg$silentFails === 0) {
4795
- peg$fail(peg$e34);
5075
+ peg$fail(peg$e38);
4796
5076
  }
4797
5077
  }
4798
5078
  if (s0 === peg$FAILED) {
4799
- if (input.substr(peg$currPos, 6) === peg$c30) {
4800
- s0 = peg$c30;
5079
+ if (input.substr(peg$currPos, 6) === peg$c34) {
5080
+ s0 = peg$c34;
4801
5081
  peg$currPos += 6;
4802
5082
  }
4803
5083
  else {
4804
5084
  s0 = peg$FAILED;
4805
5085
  if (peg$silentFails === 0) {
4806
- peg$fail(peg$e35);
5086
+ peg$fail(peg$e39);
4807
5087
  }
4808
5088
  }
4809
5089
  if (s0 === peg$FAILED) {
4810
- if (input.substr(peg$currPos, 3) === peg$c31) {
4811
- s0 = peg$c31;
4812
- peg$currPos += 3;
5090
+ if (input.substr(peg$currPos, 9) === peg$c35) {
5091
+ s0 = peg$c35;
5092
+ peg$currPos += 9;
4813
5093
  }
4814
5094
  else {
4815
5095
  s0 = peg$FAILED;
4816
5096
  if (peg$silentFails === 0) {
4817
- peg$fail(peg$e36);
5097
+ peg$fail(peg$e40);
4818
5098
  }
4819
5099
  }
4820
5100
  if (s0 === peg$FAILED) {
4821
- if (input.substr(peg$currPos, 5) === peg$c32) {
4822
- s0 = peg$c32;
4823
- peg$currPos += 5;
5101
+ if (input.substr(peg$currPos, 11) === peg$c36) {
5102
+ s0 = peg$c36;
5103
+ peg$currPos += 11;
4824
5104
  }
4825
5105
  else {
4826
5106
  s0 = peg$FAILED;
4827
5107
  if (peg$silentFails === 0) {
4828
- peg$fail(peg$e37);
5108
+ peg$fail(peg$e41);
4829
5109
  }
4830
5110
  }
4831
5111
  if (s0 === peg$FAILED) {
4832
- if (input.substr(peg$currPos, 3) === peg$c33) {
4833
- s0 = peg$c33;
5112
+ if (input.substr(peg$currPos, 3) === peg$c37) {
5113
+ s0 = peg$c37;
4834
5114
  peg$currPos += 3;
4835
5115
  }
4836
5116
  else {
4837
5117
  s0 = peg$FAILED;
4838
5118
  if (peg$silentFails === 0) {
4839
- peg$fail(peg$e38);
5119
+ peg$fail(peg$e42);
4840
5120
  }
4841
5121
  }
4842
5122
  if (s0 === peg$FAILED) {
4843
- if (input.substr(peg$currPos, 3) === peg$c34) {
4844
- s0 = peg$c34;
5123
+ if (input.substr(peg$currPos, 3) === peg$c38) {
5124
+ s0 = peg$c38;
4845
5125
  peg$currPos += 3;
4846
5126
  }
4847
5127
  else {
4848
5128
  s0 = peg$FAILED;
4849
5129
  if (peg$silentFails === 0) {
4850
- peg$fail(peg$e39);
5130
+ peg$fail(peg$e43);
5131
+ }
5132
+ }
5133
+ if (s0 === peg$FAILED) {
5134
+ if (input.substr(peg$currPos, 9) === peg$c39) {
5135
+ s0 = peg$c39;
5136
+ peg$currPos += 9;
5137
+ }
5138
+ else {
5139
+ s0 = peg$FAILED;
5140
+ if (peg$silentFails === 0) {
5141
+ peg$fail(peg$e44);
5142
+ }
5143
+ }
5144
+ if (s0 === peg$FAILED) {
5145
+ if (input.substr(peg$currPos, 15) === peg$c40) {
5146
+ s0 = peg$c40;
5147
+ peg$currPos += 15;
5148
+ }
5149
+ else {
5150
+ s0 = peg$FAILED;
5151
+ if (peg$silentFails === 0) {
5152
+ peg$fail(peg$e45);
5153
+ }
5154
+ }
5155
+ if (s0 === peg$FAILED) {
5156
+ if (input.substr(peg$currPos, 6) === peg$c41) {
5157
+ s0 = peg$c41;
5158
+ peg$currPos += 6;
5159
+ }
5160
+ else {
5161
+ s0 = peg$FAILED;
5162
+ if (peg$silentFails === 0) {
5163
+ peg$fail(peg$e46);
5164
+ }
5165
+ }
5166
+ if (s0 === peg$FAILED) {
5167
+ if (input.substr(peg$currPos, 10) === peg$c42) {
5168
+ s0 = peg$c42;
5169
+ peg$currPos += 10;
5170
+ }
5171
+ else {
5172
+ s0 = peg$FAILED;
5173
+ if (peg$silentFails === 0) {
5174
+ peg$fail(peg$e47);
5175
+ }
5176
+ }
5177
+ if (s0 === peg$FAILED) {
5178
+ if (input.substr(peg$currPos, 13) === peg$c43) {
5179
+ s0 = peg$c43;
5180
+ peg$currPos += 13;
5181
+ }
5182
+ else {
5183
+ s0 = peg$FAILED;
5184
+ if (peg$silentFails === 0) {
5185
+ peg$fail(peg$e48);
5186
+ }
5187
+ }
5188
+ if (s0 === peg$FAILED) {
5189
+ if (input.substr(peg$currPos, 19) === peg$c44) {
5190
+ s0 = peg$c44;
5191
+ peg$currPos += 19;
5192
+ }
5193
+ else {
5194
+ s0 = peg$FAILED;
5195
+ if (peg$silentFails === 0) {
5196
+ peg$fail(peg$e49);
5197
+ }
5198
+ }
5199
+ if (s0 === peg$FAILED) {
5200
+ if (input.substr(peg$currPos, 10) === peg$c45) {
5201
+ s0 = peg$c45;
5202
+ peg$currPos += 10;
5203
+ }
5204
+ else {
5205
+ s0 = peg$FAILED;
5206
+ if (peg$silentFails === 0) {
5207
+ peg$fail(peg$e50);
5208
+ }
5209
+ }
5210
+ if (s0 === peg$FAILED) {
5211
+ if (input.substr(peg$currPos, 10) === peg$c46) {
5212
+ s0 = peg$c46;
5213
+ peg$currPos += 10;
5214
+ }
5215
+ else {
5216
+ s0 = peg$FAILED;
5217
+ if (peg$silentFails === 0) {
5218
+ peg$fail(peg$e51);
5219
+ }
5220
+ }
5221
+ if (s0 === peg$FAILED) {
5222
+ if (input.substr(peg$currPos, 13) === peg$c47) {
5223
+ s0 = peg$c47;
5224
+ peg$currPos += 13;
5225
+ }
5226
+ else {
5227
+ s0 = peg$FAILED;
5228
+ if (peg$silentFails === 0) {
5229
+ peg$fail(peg$e52);
5230
+ }
5231
+ }
5232
+ }
5233
+ }
5234
+ }
5235
+ }
5236
+ }
5237
+ }
5238
+ }
4851
5239
  }
4852
5240
  }
4853
5241
  }
@@ -4862,245 +5250,245 @@ function peg$parse(input, options) {
4862
5250
  }
4863
5251
  function peg$parseColor() {
4864
5252
  var s0;
4865
- if (input.substr(peg$currPos, 4) === peg$c35) {
4866
- s0 = peg$c35;
5253
+ if (input.substr(peg$currPos, 4) === peg$c48) {
5254
+ s0 = peg$c48;
4867
5255
  peg$currPos += 4;
4868
5256
  }
4869
5257
  else {
4870
5258
  s0 = peg$FAILED;
4871
5259
  if (peg$silentFails === 0) {
4872
- peg$fail(peg$e40);
5260
+ peg$fail(peg$e53);
4873
5261
  }
4874
5262
  }
4875
5263
  if (s0 === peg$FAILED) {
4876
- if (input.substr(peg$currPos, 5) === peg$c36) {
4877
- s0 = peg$c36;
5264
+ if (input.substr(peg$currPos, 5) === peg$c49) {
5265
+ s0 = peg$c49;
4878
5266
  peg$currPos += 5;
4879
5267
  }
4880
5268
  else {
4881
5269
  s0 = peg$FAILED;
4882
5270
  if (peg$silentFails === 0) {
4883
- peg$fail(peg$e41);
5271
+ peg$fail(peg$e54);
4884
5272
  }
4885
5273
  }
4886
5274
  if (s0 === peg$FAILED) {
4887
- if (input.substr(peg$currPos, 4) === peg$c37) {
4888
- s0 = peg$c37;
5275
+ if (input.substr(peg$currPos, 4) === peg$c50) {
5276
+ s0 = peg$c50;
4889
5277
  peg$currPos += 4;
4890
5278
  }
4891
5279
  else {
4892
5280
  s0 = peg$FAILED;
4893
5281
  if (peg$silentFails === 0) {
4894
- peg$fail(peg$e42);
5282
+ peg$fail(peg$e55);
4895
5283
  }
4896
5284
  }
4897
5285
  if (s0 === peg$FAILED) {
4898
- if (input.substr(peg$currPos, 4) === peg$c38) {
4899
- s0 = peg$c38;
5286
+ if (input.substr(peg$currPos, 4) === peg$c51) {
5287
+ s0 = peg$c51;
4900
5288
  peg$currPos += 4;
4901
5289
  }
4902
5290
  else {
4903
5291
  s0 = peg$FAILED;
4904
5292
  if (peg$silentFails === 0) {
4905
- peg$fail(peg$e43);
5293
+ peg$fail(peg$e56);
4906
5294
  }
4907
5295
  }
4908
5296
  if (s0 === peg$FAILED) {
4909
- if (input.substr(peg$currPos, 7) === peg$c39) {
4910
- s0 = peg$c39;
5297
+ if (input.substr(peg$currPos, 7) === peg$c52) {
5298
+ s0 = peg$c52;
4911
5299
  peg$currPos += 7;
4912
5300
  }
4913
5301
  else {
4914
5302
  s0 = peg$FAILED;
4915
5303
  if (peg$silentFails === 0) {
4916
- peg$fail(peg$e44);
5304
+ peg$fail(peg$e57);
4917
5305
  }
4918
5306
  }
4919
5307
  if (s0 === peg$FAILED) {
4920
- if (input.substr(peg$currPos, 9) === peg$c40) {
4921
- s0 = peg$c40;
5308
+ if (input.substr(peg$currPos, 9) === peg$c53) {
5309
+ s0 = peg$c53;
4922
5310
  peg$currPos += 9;
4923
5311
  }
4924
5312
  else {
4925
5313
  s0 = peg$FAILED;
4926
5314
  if (peg$silentFails === 0) {
4927
- peg$fail(peg$e45);
5315
+ peg$fail(peg$e58);
4928
5316
  }
4929
5317
  }
4930
5318
  if (s0 === peg$FAILED) {
4931
- if (input.substr(peg$currPos, 4) === peg$c41) {
4932
- s0 = peg$c41;
5319
+ if (input.substr(peg$currPos, 4) === peg$c54) {
5320
+ s0 = peg$c54;
4933
5321
  peg$currPos += 4;
4934
5322
  }
4935
5323
  else {
4936
5324
  s0 = peg$FAILED;
4937
5325
  if (peg$silentFails === 0) {
4938
- peg$fail(peg$e46);
5326
+ peg$fail(peg$e59);
4939
5327
  }
4940
5328
  }
4941
5329
  if (s0 === peg$FAILED) {
4942
- if (input.substr(peg$currPos, 8) === peg$c42) {
4943
- s0 = peg$c42;
5330
+ if (input.substr(peg$currPos, 8) === peg$c55) {
5331
+ s0 = peg$c55;
4944
5332
  peg$currPos += 8;
4945
5333
  }
4946
5334
  else {
4947
5335
  s0 = peg$FAILED;
4948
5336
  if (peg$silentFails === 0) {
4949
- peg$fail(peg$e47);
5337
+ peg$fail(peg$e60);
4950
5338
  }
4951
5339
  }
4952
5340
  if (s0 === peg$FAILED) {
4953
- if (input.substr(peg$currPos, 5) === peg$c43) {
4954
- s0 = peg$c43;
5341
+ if (input.substr(peg$currPos, 5) === peg$c56) {
5342
+ s0 = peg$c56;
4955
5343
  peg$currPos += 5;
4956
5344
  }
4957
5345
  else {
4958
5346
  s0 = peg$FAILED;
4959
5347
  if (peg$silentFails === 0) {
4960
- peg$fail(peg$e48);
5348
+ peg$fail(peg$e61);
4961
5349
  }
4962
5350
  }
4963
5351
  if (s0 === peg$FAILED) {
4964
- if (input.substr(peg$currPos, 4) === peg$c44) {
4965
- s0 = peg$c44;
5352
+ if (input.substr(peg$currPos, 4) === peg$c57) {
5353
+ s0 = peg$c57;
4966
5354
  peg$currPos += 4;
4967
5355
  }
4968
5356
  else {
4969
5357
  s0 = peg$FAILED;
4970
5358
  if (peg$silentFails === 0) {
4971
- peg$fail(peg$e49);
5359
+ peg$fail(peg$e62);
4972
5360
  }
4973
5361
  }
4974
5362
  if (s0 === peg$FAILED) {
4975
- if (input.substr(peg$currPos, 7) === peg$c45) {
4976
- s0 = peg$c45;
5363
+ if (input.substr(peg$currPos, 7) === peg$c58) {
5364
+ s0 = peg$c58;
4977
5365
  peg$currPos += 7;
4978
5366
  }
4979
5367
  else {
4980
5368
  s0 = peg$FAILED;
4981
5369
  if (peg$silentFails === 0) {
4982
- peg$fail(peg$e50);
5370
+ peg$fail(peg$e63);
4983
5371
  }
4984
5372
  }
4985
5373
  if (s0 === peg$FAILED) {
4986
- if (input.substr(peg$currPos, 6) === peg$c46) {
4987
- s0 = peg$c46;
5374
+ if (input.substr(peg$currPos, 6) === peg$c59) {
5375
+ s0 = peg$c59;
4988
5376
  peg$currPos += 6;
4989
5377
  }
4990
5378
  else {
4991
5379
  s0 = peg$FAILED;
4992
5380
  if (peg$silentFails === 0) {
4993
- peg$fail(peg$e51);
5381
+ peg$fail(peg$e64);
4994
5382
  }
4995
5383
  }
4996
5384
  if (s0 === peg$FAILED) {
4997
- if (input.substr(peg$currPos, 4) === peg$c47) {
4998
- s0 = peg$c47;
5385
+ if (input.substr(peg$currPos, 4) === peg$c60) {
5386
+ s0 = peg$c60;
4999
5387
  peg$currPos += 4;
5000
5388
  }
5001
5389
  else {
5002
5390
  s0 = peg$FAILED;
5003
5391
  if (peg$silentFails === 0) {
5004
- peg$fail(peg$e52);
5392
+ peg$fail(peg$e65);
5005
5393
  }
5006
5394
  }
5007
5395
  if (s0 === peg$FAILED) {
5008
- if (input.substr(peg$currPos, 5) === peg$c48) {
5009
- s0 = peg$c48;
5396
+ if (input.substr(peg$currPos, 5) === peg$c61) {
5397
+ s0 = peg$c61;
5010
5398
  peg$currPos += 5;
5011
5399
  }
5012
5400
  else {
5013
5401
  s0 = peg$FAILED;
5014
5402
  if (peg$silentFails === 0) {
5015
- peg$fail(peg$e53);
5403
+ peg$fail(peg$e66);
5016
5404
  }
5017
5405
  }
5018
5406
  if (s0 === peg$FAILED) {
5019
- if (input.substr(peg$currPos, 6) === peg$c49) {
5020
- s0 = peg$c49;
5407
+ if (input.substr(peg$currPos, 6) === peg$c62) {
5408
+ s0 = peg$c62;
5021
5409
  peg$currPos += 6;
5022
5410
  }
5023
5411
  else {
5024
5412
  s0 = peg$FAILED;
5025
5413
  if (peg$silentFails === 0) {
5026
- peg$fail(peg$e54);
5414
+ peg$fail(peg$e67);
5027
5415
  }
5028
5416
  }
5029
5417
  if (s0 === peg$FAILED) {
5030
- if (input.substr(peg$currPos, 6) === peg$c50) {
5031
- s0 = peg$c50;
5418
+ if (input.substr(peg$currPos, 6) === peg$c63) {
5419
+ s0 = peg$c63;
5032
5420
  peg$currPos += 6;
5033
5421
  }
5034
5422
  else {
5035
5423
  s0 = peg$FAILED;
5036
5424
  if (peg$silentFails === 0) {
5037
- peg$fail(peg$e55);
5425
+ peg$fail(peg$e68);
5038
5426
  }
5039
5427
  }
5040
5428
  if (s0 === peg$FAILED) {
5041
- if (input.substr(peg$currPos, 3) === peg$c51) {
5042
- s0 = peg$c51;
5429
+ if (input.substr(peg$currPos, 3) === peg$c64) {
5430
+ s0 = peg$c64;
5043
5431
  peg$currPos += 3;
5044
5432
  }
5045
5433
  else {
5046
5434
  s0 = peg$FAILED;
5047
5435
  if (peg$silentFails === 0) {
5048
- peg$fail(peg$e56);
5436
+ peg$fail(peg$e69);
5049
5437
  }
5050
5438
  }
5051
5439
  if (s0 === peg$FAILED) {
5052
- if (input.substr(peg$currPos, 6) === peg$c52) {
5053
- s0 = peg$c52;
5440
+ if (input.substr(peg$currPos, 6) === peg$c65) {
5441
+ s0 = peg$c65;
5054
5442
  peg$currPos += 6;
5055
5443
  }
5056
5444
  else {
5057
5445
  s0 = peg$FAILED;
5058
5446
  if (peg$silentFails === 0) {
5059
- peg$fail(peg$e57);
5447
+ peg$fail(peg$e70);
5060
5448
  }
5061
5449
  }
5062
5450
  if (s0 === peg$FAILED) {
5063
- if (input.substr(peg$currPos, 4) === peg$c53) {
5064
- s0 = peg$c53;
5451
+ if (input.substr(peg$currPos, 4) === peg$c66) {
5452
+ s0 = peg$c66;
5065
5453
  peg$currPos += 4;
5066
5454
  }
5067
5455
  else {
5068
5456
  s0 = peg$FAILED;
5069
5457
  if (peg$silentFails === 0) {
5070
- peg$fail(peg$e58);
5458
+ peg$fail(peg$e71);
5071
5459
  }
5072
5460
  }
5073
5461
  if (s0 === peg$FAILED) {
5074
- if (input.substr(peg$currPos, 6) === peg$c54) {
5075
- s0 = peg$c54;
5462
+ if (input.substr(peg$currPos, 6) === peg$c67) {
5463
+ s0 = peg$c67;
5076
5464
  peg$currPos += 6;
5077
5465
  }
5078
5466
  else {
5079
5467
  s0 = peg$FAILED;
5080
5468
  if (peg$silentFails === 0) {
5081
- peg$fail(peg$e59);
5469
+ peg$fail(peg$e72);
5082
5470
  }
5083
5471
  }
5084
5472
  if (s0 === peg$FAILED) {
5085
- if (input.substr(peg$currPos, 5) === peg$c55) {
5086
- s0 = peg$c55;
5473
+ if (input.substr(peg$currPos, 5) === peg$c68) {
5474
+ s0 = peg$c68;
5087
5475
  peg$currPos += 5;
5088
5476
  }
5089
5477
  else {
5090
5478
  s0 = peg$FAILED;
5091
5479
  if (peg$silentFails === 0) {
5092
- peg$fail(peg$e60);
5480
+ peg$fail(peg$e73);
5093
5481
  }
5094
5482
  }
5095
5483
  if (s0 === peg$FAILED) {
5096
- if (input.substr(peg$currPos, 6) === peg$c56) {
5097
- s0 = peg$c56;
5484
+ if (input.substr(peg$currPos, 6) === peg$c69) {
5485
+ s0 = peg$c69;
5098
5486
  peg$currPos += 6;
5099
5487
  }
5100
5488
  else {
5101
5489
  s0 = peg$FAILED;
5102
5490
  if (peg$silentFails === 0) {
5103
- peg$fail(peg$e61);
5491
+ peg$fail(peg$e74);
5104
5492
  }
5105
5493
  }
5106
5494
  }
@@ -5132,12 +5520,12 @@ function peg$parse(input, options) {
5132
5520
  s0 = peg$currPos;
5133
5521
  s1 = peg$parsebitmarkMinusMinusString();
5134
5522
  peg$savedPos = s0;
5135
- s1 = peg$f58(s1);
5523
+ s1 = peg$f61(s1);
5136
5524
  s0 = s1;
5137
5525
  peg$silentFails--;
5138
5526
  s1 = peg$FAILED;
5139
5527
  if (peg$silentFails === 0) {
5140
- peg$fail(peg$e62);
5528
+ peg$fail(peg$e75);
5141
5529
  }
5142
5530
  return s0;
5143
5531
  }
@@ -5162,11 +5550,11 @@ function peg$parse(input, options) {
5162
5550
  }
5163
5551
  }
5164
5552
  peg$savedPos = s0;
5165
- s0 = peg$f59(s1, s2);
5553
+ s0 = peg$f62(s1, s2);
5166
5554
  peg$silentFails--;
5167
5555
  s1 = peg$FAILED;
5168
5556
  if (peg$silentFails === 0) {
5169
- peg$fail(peg$e63);
5557
+ peg$fail(peg$e76);
5170
5558
  }
5171
5559
  return s0;
5172
5560
  }
@@ -5271,7 +5659,7 @@ function peg$parse(input, options) {
5271
5659
  }
5272
5660
  if (s1 !== peg$FAILED) {
5273
5661
  peg$savedPos = s0;
5274
- s1 = peg$f60(s1);
5662
+ s1 = peg$f63(s1);
5275
5663
  }
5276
5664
  s0 = s1;
5277
5665
  if (s0 === peg$FAILED) {
@@ -5282,13 +5670,13 @@ function peg$parse(input, options) {
5282
5670
  function peg$parseBoldHalfTag() {
5283
5671
  var s0;
5284
5672
  if (input.charCodeAt(peg$currPos) === 42) {
5285
- s0 = peg$c57;
5673
+ s0 = peg$c70;
5286
5674
  peg$currPos++;
5287
5675
  }
5288
5676
  else {
5289
5677
  s0 = peg$FAILED;
5290
5678
  if (peg$silentFails === 0) {
5291
- peg$fail(peg$e64);
5679
+ peg$fail(peg$e77);
5292
5680
  }
5293
5681
  }
5294
5682
  return s0;
@@ -5296,13 +5684,13 @@ function peg$parse(input, options) {
5296
5684
  function peg$parseItalicHalfTag() {
5297
5685
  var s0;
5298
5686
  if (input.charCodeAt(peg$currPos) === 95) {
5299
- s0 = peg$c58;
5687
+ s0 = peg$c71;
5300
5688
  peg$currPos++;
5301
5689
  }
5302
5690
  else {
5303
5691
  s0 = peg$FAILED;
5304
5692
  if (peg$silentFails === 0) {
5305
- peg$fail(peg$e65);
5693
+ peg$fail(peg$e78);
5306
5694
  }
5307
5695
  }
5308
5696
  return s0;
@@ -5310,13 +5698,13 @@ function peg$parse(input, options) {
5310
5698
  function peg$parseLightHalfTag() {
5311
5699
  var s0;
5312
5700
  if (input.charCodeAt(peg$currPos) === 96) {
5313
- s0 = peg$c59;
5701
+ s0 = peg$c72;
5314
5702
  peg$currPos++;
5315
5703
  }
5316
5704
  else {
5317
5705
  s0 = peg$FAILED;
5318
5706
  if (peg$silentFails === 0) {
5319
- peg$fail(peg$e66);
5707
+ peg$fail(peg$e79);
5320
5708
  }
5321
5709
  }
5322
5710
  return s0;
@@ -5324,13 +5712,13 @@ function peg$parse(input, options) {
5324
5712
  function peg$parseHighlightHalfTag() {
5325
5713
  var s0;
5326
5714
  if (input.charCodeAt(peg$currPos) === 33) {
5327
- s0 = peg$c60;
5715
+ s0 = peg$c73;
5328
5716
  peg$currPos++;
5329
5717
  }
5330
5718
  else {
5331
5719
  s0 = peg$FAILED;
5332
5720
  if (peg$silentFails === 0) {
5333
- peg$fail(peg$e67);
5721
+ peg$fail(peg$e80);
5334
5722
  }
5335
5723
  }
5336
5724
  return s0;
@@ -5421,14 +5809,14 @@ function peg$parse(input, options) {
5421
5809
  }
5422
5810
  function peg$parseBodyBitOpenTag() {
5423
5811
  var s0;
5424
- if (input.substr(peg$currPos, 2) === peg$c61) {
5425
- s0 = peg$c61;
5812
+ if (input.substr(peg$currPos, 2) === peg$c74) {
5813
+ s0 = peg$c74;
5426
5814
  peg$currPos += 2;
5427
5815
  }
5428
5816
  else {
5429
5817
  s0 = peg$FAILED;
5430
5818
  if (peg$silentFails === 0) {
5431
- peg$fail(peg$e68);
5819
+ peg$fail(peg$e81);
5432
5820
  }
5433
5821
  }
5434
5822
  return s0;
@@ -5436,13 +5824,13 @@ function peg$parse(input, options) {
5436
5824
  function peg$parseBodyBitCloseTag() {
5437
5825
  var s0;
5438
5826
  if (input.charCodeAt(peg$currPos) === 93) {
5439
- s0 = peg$c62;
5827
+ s0 = peg$c75;
5440
5828
  peg$currPos++;
5441
5829
  }
5442
5830
  else {
5443
5831
  s0 = peg$FAILED;
5444
5832
  if (peg$silentFails === 0) {
5445
- peg$fail(peg$e69);
5833
+ peg$fail(peg$e82);
5446
5834
  }
5447
5835
  }
5448
5836
  return s0;
@@ -5492,7 +5880,7 @@ function peg$parse(input, options) {
5492
5880
  s3 = peg$parseBodyBitCloseTag();
5493
5881
  if (s3 !== peg$FAILED) {
5494
5882
  peg$savedPos = s0;
5495
- s0 = peg$f61(s2);
5883
+ s0 = peg$f64(s2);
5496
5884
  }
5497
5885
  else {
5498
5886
  peg$currPos = s0;
@@ -5663,7 +6051,7 @@ function peg$parse(input, options) {
5663
6051
  s5 = peg$parseBoldTag();
5664
6052
  if (s5 !== peg$FAILED) {
5665
6053
  peg$savedPos = s0;
5666
- s0 = peg$f62(s3);
6054
+ s0 = peg$f65(s3);
5667
6055
  }
5668
6056
  else {
5669
6057
  peg$currPos = s0;
@@ -5829,7 +6217,7 @@ function peg$parse(input, options) {
5829
6217
  s5 = peg$parseItalicTag();
5830
6218
  if (s5 !== peg$FAILED) {
5831
6219
  peg$savedPos = s0;
5832
- s0 = peg$f63(s3);
6220
+ s0 = peg$f66(s3);
5833
6221
  }
5834
6222
  else {
5835
6223
  peg$currPos = s0;
@@ -5995,7 +6383,7 @@ function peg$parse(input, options) {
5995
6383
  s5 = peg$parseLightTag();
5996
6384
  if (s5 !== peg$FAILED) {
5997
6385
  peg$savedPos = s0;
5998
- s0 = peg$f64(s3);
6386
+ s0 = peg$f67(s3);
5999
6387
  }
6000
6388
  else {
6001
6389
  peg$currPos = s0;
@@ -6161,7 +6549,7 @@ function peg$parse(input, options) {
6161
6549
  s5 = peg$parseHighlightTag();
6162
6550
  if (s5 !== peg$FAILED) {
6163
6551
  peg$savedPos = s0;
6164
- s0 = peg$f65(s3);
6552
+ s0 = peg$f68(s3);
6165
6553
  }
6166
6554
  else {
6167
6555
  peg$currPos = s0;
@@ -6328,57 +6716,57 @@ function peg$parse(input, options) {
6328
6716
  var s0, s1;
6329
6717
  peg$silentFails++;
6330
6718
  if (input.charCodeAt(peg$currPos) === 10) {
6331
- s0 = peg$c63;
6719
+ s0 = peg$c76;
6332
6720
  peg$currPos++;
6333
6721
  }
6334
6722
  else {
6335
6723
  s0 = peg$FAILED;
6336
6724
  if (peg$silentFails === 0) {
6337
- peg$fail(peg$e71);
6725
+ peg$fail(peg$e84);
6338
6726
  }
6339
6727
  }
6340
6728
  if (s0 === peg$FAILED) {
6341
- if (input.substr(peg$currPos, 2) === peg$c64) {
6342
- s0 = peg$c64;
6729
+ if (input.substr(peg$currPos, 2) === peg$c77) {
6730
+ s0 = peg$c77;
6343
6731
  peg$currPos += 2;
6344
6732
  }
6345
6733
  else {
6346
6734
  s0 = peg$FAILED;
6347
6735
  if (peg$silentFails === 0) {
6348
- peg$fail(peg$e72);
6736
+ peg$fail(peg$e85);
6349
6737
  }
6350
6738
  }
6351
6739
  if (s0 === peg$FAILED) {
6352
6740
  if (input.charCodeAt(peg$currPos) === 13) {
6353
- s0 = peg$c65;
6741
+ s0 = peg$c78;
6354
6742
  peg$currPos++;
6355
6743
  }
6356
6744
  else {
6357
6745
  s0 = peg$FAILED;
6358
6746
  if (peg$silentFails === 0) {
6359
- peg$fail(peg$e73);
6747
+ peg$fail(peg$e86);
6360
6748
  }
6361
6749
  }
6362
6750
  if (s0 === peg$FAILED) {
6363
6751
  if (input.charCodeAt(peg$currPos) === 8232) {
6364
- s0 = peg$c66;
6752
+ s0 = peg$c79;
6365
6753
  peg$currPos++;
6366
6754
  }
6367
6755
  else {
6368
6756
  s0 = peg$FAILED;
6369
6757
  if (peg$silentFails === 0) {
6370
- peg$fail(peg$e74);
6758
+ peg$fail(peg$e87);
6371
6759
  }
6372
6760
  }
6373
6761
  if (s0 === peg$FAILED) {
6374
6762
  if (input.charCodeAt(peg$currPos) === 8233) {
6375
- s0 = peg$c67;
6763
+ s0 = peg$c80;
6376
6764
  peg$currPos++;
6377
6765
  }
6378
6766
  else {
6379
6767
  s0 = peg$FAILED;
6380
6768
  if (peg$silentFails === 0) {
6381
- peg$fail(peg$e75);
6769
+ peg$fail(peg$e88);
6382
6770
  }
6383
6771
  }
6384
6772
  }
@@ -6389,7 +6777,7 @@ function peg$parse(input, options) {
6389
6777
  if (s0 === peg$FAILED) {
6390
6778
  s1 = peg$FAILED;
6391
6779
  if (peg$silentFails === 0) {
6392
- peg$fail(peg$e70);
6780
+ peg$fail(peg$e83);
6393
6781
  }
6394
6782
  }
6395
6783
  return s0;
@@ -6424,7 +6812,7 @@ function peg$parse(input, options) {
6424
6812
  peg$silentFails--;
6425
6813
  s1 = peg$FAILED;
6426
6814
  if (peg$silentFails === 0) {
6427
- peg$fail(peg$e76);
6815
+ peg$fail(peg$e89);
6428
6816
  }
6429
6817
  return s0;
6430
6818
  }
@@ -6448,7 +6836,7 @@ function peg$parse(input, options) {
6448
6836
  peg$silentFails--;
6449
6837
  s1 = peg$FAILED;
6450
6838
  if (peg$silentFails === 0) {
6451
- peg$fail(peg$e77);
6839
+ peg$fail(peg$e90);
6452
6840
  }
6453
6841
  return s0;
6454
6842
  }
@@ -6472,7 +6860,7 @@ function peg$parse(input, options) {
6472
6860
  if (s0 === peg$FAILED) {
6473
6861
  s1 = peg$FAILED;
6474
6862
  if (peg$silentFails === 0) {
6475
- peg$fail(peg$e78);
6863
+ peg$fail(peg$e91);
6476
6864
  }
6477
6865
  }
6478
6866
  return s0;
@@ -6487,14 +6875,14 @@ function peg$parse(input, options) {
6487
6875
  else {
6488
6876
  s0 = peg$FAILED;
6489
6877
  if (peg$silentFails === 0) {
6490
- peg$fail(peg$e80);
6878
+ peg$fail(peg$e93);
6491
6879
  }
6492
6880
  }
6493
6881
  peg$silentFails--;
6494
6882
  if (s0 === peg$FAILED) {
6495
6883
  s1 = peg$FAILED;
6496
6884
  if (peg$silentFails === 0) {
6497
- peg$fail(peg$e79);
6885
+ peg$fail(peg$e92);
6498
6886
  }
6499
6887
  }
6500
6888
  return s0;
@@ -6508,7 +6896,7 @@ function peg$parse(input, options) {
6508
6896
  else {
6509
6897
  s0 = peg$FAILED;
6510
6898
  if (peg$silentFails === 0) {
6511
- peg$fail(peg$e81);
6899
+ peg$fail(peg$e94);
6512
6900
  }
6513
6901
  }
6514
6902
  return s0;
@@ -6522,7 +6910,7 @@ function peg$parse(input, options) {
6522
6910
  else {
6523
6911
  s0 = peg$FAILED;
6524
6912
  if (peg$silentFails === 0) {
6525
- peg$fail(peg$e82);
6913
+ peg$fail(peg$e95);
6526
6914
  }
6527
6915
  }
6528
6916
  return s0;
@@ -6536,7 +6924,7 @@ function peg$parse(input, options) {
6536
6924
  else {
6537
6925
  s0 = peg$FAILED;
6538
6926
  if (peg$silentFails === 0) {
6539
- peg$fail(peg$e83);
6927
+ peg$fail(peg$e96);
6540
6928
  }
6541
6929
  }
6542
6930
  return s0;
@@ -6572,38 +6960,38 @@ function peg$parse(input, options) {
6572
6960
  var s0, s1, s2, s3, s4, s5, s6, s7, s8;
6573
6961
  s0 = peg$currPos;
6574
6962
  s1 = peg$currPos;
6575
- if (input.substr(peg$currPos, 4) === peg$c68) {
6576
- s2 = peg$c68;
6963
+ if (input.substr(peg$currPos, 4) === peg$c81) {
6964
+ s2 = peg$c81;
6577
6965
  peg$currPos += 4;
6578
6966
  }
6579
6967
  else {
6580
6968
  s2 = peg$FAILED;
6581
6969
  if (peg$silentFails === 0) {
6582
- peg$fail(peg$e84);
6970
+ peg$fail(peg$e97);
6583
6971
  }
6584
6972
  }
6585
6973
  if (s2 !== peg$FAILED) {
6586
6974
  if (input.charCodeAt(peg$currPos) === 115) {
6587
- s3 = peg$c69;
6975
+ s3 = peg$c82;
6588
6976
  peg$currPos++;
6589
6977
  }
6590
6978
  else {
6591
6979
  s3 = peg$FAILED;
6592
6980
  if (peg$silentFails === 0) {
6593
- peg$fail(peg$e85);
6981
+ peg$fail(peg$e98);
6594
6982
  }
6595
6983
  }
6596
6984
  if (s3 === peg$FAILED) {
6597
6985
  s3 = null;
6598
6986
  }
6599
- if (input.substr(peg$currPos, 3) === peg$c70) {
6600
- s4 = peg$c70;
6987
+ if (input.substr(peg$currPos, 3) === peg$c83) {
6988
+ s4 = peg$c83;
6601
6989
  peg$currPos += 3;
6602
6990
  }
6603
6991
  else {
6604
6992
  s4 = peg$FAILED;
6605
6993
  if (peg$silentFails === 0) {
6606
- peg$fail(peg$e86);
6994
+ peg$fail(peg$e99);
6607
6995
  }
6608
6996
  }
6609
6997
  if (s4 !== peg$FAILED) {
@@ -6690,38 +7078,38 @@ function peg$parse(input, options) {
6690
7078
  s0 = peg$currPos;
6691
7079
  s1 = peg$currPos;
6692
7080
  s2 = peg$currPos;
6693
- if (input.substr(peg$currPos, 4) === peg$c68) {
6694
- s3 = peg$c68;
7081
+ if (input.substr(peg$currPos, 4) === peg$c81) {
7082
+ s3 = peg$c81;
6695
7083
  peg$currPos += 4;
6696
7084
  }
6697
7085
  else {
6698
7086
  s3 = peg$FAILED;
6699
7087
  if (peg$silentFails === 0) {
6700
- peg$fail(peg$e84);
7088
+ peg$fail(peg$e97);
6701
7089
  }
6702
7090
  }
6703
7091
  if (s3 !== peg$FAILED) {
6704
7092
  if (input.charCodeAt(peg$currPos) === 115) {
6705
- s4 = peg$c69;
7093
+ s4 = peg$c82;
6706
7094
  peg$currPos++;
6707
7095
  }
6708
7096
  else {
6709
7097
  s4 = peg$FAILED;
6710
7098
  if (peg$silentFails === 0) {
6711
- peg$fail(peg$e85);
7099
+ peg$fail(peg$e98);
6712
7100
  }
6713
7101
  }
6714
7102
  if (s4 === peg$FAILED) {
6715
7103
  s4 = null;
6716
7104
  }
6717
- if (input.substr(peg$currPos, 3) === peg$c70) {
6718
- s5 = peg$c70;
7105
+ if (input.substr(peg$currPos, 3) === peg$c83) {
7106
+ s5 = peg$c83;
6719
7107
  peg$currPos += 3;
6720
7108
  }
6721
7109
  else {
6722
7110
  s5 = peg$FAILED;
6723
7111
  if (peg$silentFails === 0) {
6724
- peg$fail(peg$e86);
7112
+ peg$fail(peg$e99);
6725
7113
  }
6726
7114
  }
6727
7115
  if (s5 !== peg$FAILED) {
@@ -6738,14 +7126,14 @@ function peg$parse(input, options) {
6738
7126
  s2 = peg$FAILED;
6739
7127
  }
6740
7128
  if (s2 === peg$FAILED) {
6741
- if (input.substr(peg$currPos, 7) === peg$c71) {
6742
- s2 = peg$c71;
7129
+ if (input.substr(peg$currPos, 7) === peg$c84) {
7130
+ s2 = peg$c84;
6743
7131
  peg$currPos += 7;
6744
7132
  }
6745
7133
  else {
6746
7134
  s2 = peg$FAILED;
6747
7135
  if (peg$silentFails === 0) {
6748
- peg$fail(peg$e87);
7136
+ peg$fail(peg$e100);
6749
7137
  }
6750
7138
  }
6751
7139
  }
@@ -6817,7 +7205,7 @@ function peg$parse(input, options) {
6817
7205
  }
6818
7206
  s2 = input.substring(s2, peg$currPos);
6819
7207
  peg$savedPos = s0;
6820
- s0 = peg$f66(s1, s2);
7208
+ s0 = peg$f69(s1, s2);
6821
7209
  }
6822
7210
  else {
6823
7211
  peg$currPos = s0;
@@ -6834,40 +7222,40 @@ function peg$parse(input, options) {
6834
7222
  else {
6835
7223
  s0 = peg$FAILED;
6836
7224
  if (peg$silentFails === 0) {
6837
- peg$fail(peg$e88);
7225
+ peg$fail(peg$e101);
6838
7226
  }
6839
7227
  }
6840
7228
  if (s0 === peg$FAILED) {
6841
7229
  if (input.charCodeAt(peg$currPos) === 126) {
6842
- s0 = peg$c72;
7230
+ s0 = peg$c85;
6843
7231
  peg$currPos++;
6844
7232
  }
6845
7233
  else {
6846
7234
  s0 = peg$FAILED;
6847
7235
  if (peg$silentFails === 0) {
6848
- peg$fail(peg$e89);
7236
+ peg$fail(peg$e102);
6849
7237
  }
6850
7238
  }
6851
7239
  if (s0 === peg$FAILED) {
6852
7240
  if (input.charCodeAt(peg$currPos) === 94) {
6853
- s0 = peg$c73;
7241
+ s0 = peg$c86;
6854
7242
  peg$currPos++;
6855
7243
  }
6856
7244
  else {
6857
7245
  s0 = peg$FAILED;
6858
7246
  if (peg$silentFails === 0) {
6859
- peg$fail(peg$e90);
7247
+ peg$fail(peg$e103);
6860
7248
  }
6861
7249
  }
6862
7250
  if (s0 === peg$FAILED) {
6863
7251
  if (input.charCodeAt(peg$currPos) === 39) {
6864
- s0 = peg$c74;
7252
+ s0 = peg$c87;
6865
7253
  peg$currPos++;
6866
7254
  }
6867
7255
  else {
6868
7256
  s0 = peg$FAILED;
6869
7257
  if (peg$silentFails === 0) {
6870
- peg$fail(peg$e91);
7258
+ peg$fail(peg$e104);
6871
7259
  }
6872
7260
  }
6873
7261
  }