@gmb/bitmark-parser-generator 5.0.1 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -594,6 +594,7 @@ var BitType = {
594
594
  trueFalse: "true-false",
595
595
  trueFalse1: "true-false-1",
596
596
  vendorAmcharts5Chart: "vendor-amcharts-5-chart",
597
+ vendorDatadogDashboard: "vendor-datadog-dashboard",
597
598
  vendorDatadogDashboardEmbed: "vendor-datadog-dashboard-embed",
598
599
  vendorFormbricksEmbed: "vendor-formbricks-embed",
599
600
  vendorFormbricksLink: "vendor-formbricks-link",
@@ -1233,6 +1234,7 @@ var propertyKeys = {
1233
1234
  property_internalComment: "@internalComment",
1234
1235
  property_internalPrintPdf: "@internalPrintPdf",
1235
1236
  property_hasPrintRestriction: "@hasPrintRestriction",
1237
+ property_enforceUpdateOverUserInput: "@enforceUpdateOverUserInput",
1236
1238
  property_isCaseSensitive: "@isCaseSensitive",
1237
1239
  property_isInfoOnly: "@isInfoOnly",
1238
1240
  property_isPublic: "@isPublic",
@@ -1259,6 +1261,7 @@ var propertyKeys = {
1259
1261
  property_listItemIndent: "@listItemIndent",
1260
1262
  property_location: "@location",
1261
1263
  property_machineTranslated: "@machineTranslated",
1264
+ property_translationOf: "@translationOf",
1262
1265
  property_spansPageBreak: "@spansPageBreak",
1263
1266
  property_mailingList: "@mailingList",
1264
1267
  property_mark: "@mark",
@@ -2746,6 +2749,11 @@ var GROUPS = {
2746
2749
  description: "If true, the bit is machine-translated",
2747
2750
  format: TagFormat.plainText
2748
2751
  },
2752
+ {
2753
+ key: ConfigKey.property_translationOf,
2754
+ description: "Translation source reference",
2755
+ format: TagFormat.plainText
2756
+ },
2749
2757
  {
2750
2758
  key: ConfigKey.property_spansPageBreak,
2751
2759
  description: "If true, the bit spans a page break",
@@ -3396,6 +3404,12 @@ var GROUPS = {
3396
3404
  description: "If true, the book has print restrictions",
3397
3405
  format: TagFormat.boolean,
3398
3406
  defaultValue: "true"
3407
+ },
3408
+ {
3409
+ key: ConfigKey.property_enforceUpdateOverUserInput,
3410
+ description: "If true, prioritize new content over legacy content from the instance API",
3411
+ format: TagFormat.boolean,
3412
+ defaultValue: "false"
3399
3413
  }
3400
3414
  ]
3401
3415
  },
@@ -9584,6 +9598,11 @@ var BITS = {
9584
9598
  description: "AmCharts 5 chart bit, used to embed AmCharts 5 charts in articles or books",
9585
9599
  textFormatDefault: TextFormat.json
9586
9600
  },
9601
+ [BitType.vendorDatadogDashboard]: {
9602
+ since: "5.2.0",
9603
+ baseBitType: BitType.nonProductionPrototypeIframe,
9604
+ description: "A Datadog dashboard bit, used to embed Datadog dashboards"
9605
+ },
9587
9606
  [BitType.vendorDatadogDashboardEmbed]: {
9588
9607
  since: "3.12.0",
9589
9608
  baseBitType: BitType.code,
@@ -10213,7 +10232,7 @@ var instance2 = new Config();
10213
10232
  // src/generated/package_info.ts
10214
10233
  var PACKAGE_INFO = {
10215
10234
  "name": "@gmb/bitmark-parser-generator",
10216
- "version": "5.0.1",
10235
+ "version": "5.2.0",
10217
10236
  "author": "Get More Brain Ltd",
10218
10237
  "license": "ISC",
10219
10238
  "description": "A bitmark parser and generator using Peggy.js"
@@ -10510,6 +10529,7 @@ var TextMarkType = {
10510
10529
  timer: "timer",
10511
10530
  duration: "duration",
10512
10531
  color: "color",
10532
+ colorPicker: "colorPicker",
10513
10533
  comment: "comment"
10514
10534
  };
10515
10535
 
@@ -10833,6 +10853,8 @@ var NodeType = {
10833
10853
  internalPrintPdfValue: "internalPrintPdfValue",
10834
10854
  hasPrintRestriction: "hasPrintRestriction",
10835
10855
  hasPrintRestrictionValue: "hasPrintRestrictionValue",
10856
+ enforceUpdateOverUserInput: "enforceUpdateOverUserInput",
10857
+ enforceUpdateOverUserInputValue: "enforceUpdateOverUserInputValue",
10836
10858
  isCaseSensitive: "isCaseSensitive",
10837
10859
  isCommented: "isCommented",
10838
10860
  isCorrect: "isCorrect",
@@ -10899,6 +10921,8 @@ var NodeType = {
10899
10921
  locationValue: "locationValue",
10900
10922
  machineTranslated: "machineTranslated",
10901
10923
  machineTranslatedValue: "machineTranslatedValue",
10924
+ translationOf: "translationOf",
10925
+ translationOfValue: "translationOfValue",
10902
10926
  spansPageBreak: "spansPageBreak",
10903
10927
  spansPageBreakValue: "spansPageBreakValue",
10904
10928
  mailingList: "mailingList",
@@ -12007,6 +12031,7 @@ var INLINE_MARK_TYPES = [
12007
12031
  TextMarkType.timer,
12008
12032
  TextMarkType.duration,
12009
12033
  TextMarkType.color,
12034
+ TextMarkType.colorPicker,
12010
12035
  TextMarkType.comment
12011
12036
  ];
12012
12037
  var INDENTATION_REGEX = new RegExp(/(\n|\r\n)/, "g");
@@ -12017,7 +12042,7 @@ var Stage = {
12017
12042
  between: "between",
12018
12043
  exit: "exit"
12019
12044
  };
12020
- var TextGenerator = class extends AstWalkerGenerator {
12045
+ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
12021
12046
  /**
12022
12047
  * Generate text from a bitmark text AST
12023
12048
  *
@@ -12029,6 +12054,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12029
12054
  __publicField(this, "ast", new Ast());
12030
12055
  __publicField(this, "bitmarkVersion");
12031
12056
  __publicField(this, "options");
12057
+ __publicField(this, "internalTextGenerator", null);
12032
12058
  // State
12033
12059
  __publicField(this, "generateOptions", {});
12034
12060
  __publicField(this, "textFormat", TextFormat.bitmarkText);
@@ -12044,6 +12070,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12044
12070
  __publicField(this, "exitedCodeBlock", false);
12045
12071
  __publicField(this, "inBulletList", false);
12046
12072
  __publicField(this, "inInline", false);
12073
+ __publicField(this, "markDepth", 0);
12047
12074
  __publicField(this, "textDepth", 0);
12048
12075
  __publicField(this, "placeholderIndex", 0);
12049
12076
  __publicField(this, "placeholders", {});
@@ -12068,6 +12095,13 @@ var TextGenerator = class extends AstWalkerGenerator {
12068
12095
  this.between = this.between.bind(this);
12069
12096
  this.exit = this.exit.bind(this);
12070
12097
  this.leaf = this.leaf.bind(this);
12098
+ if (!this.options.isInternal) {
12099
+ this.internalTextGenerator = new _TextGenerator(bitmarkVersion, {
12100
+ ...this.options,
12101
+ writeCallback: void 0,
12102
+ isInternal: true
12103
+ });
12104
+ }
12071
12105
  }
12072
12106
  /**
12073
12107
  * Generate text from a bitmark text AST
@@ -12124,6 +12158,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12124
12158
  this.exitedCodeBlock = false;
12125
12159
  this.inBulletList = false;
12126
12160
  this.inInline = false;
12161
+ this.markDepth = 0;
12127
12162
  this.textDepth = 0;
12128
12163
  this.placeholderIndex = 0;
12129
12164
  this.placeholders = {};
@@ -12171,8 +12206,16 @@ var TextGenerator = class extends AstWalkerGenerator {
12171
12206
  exit_contentValueValue(node, route) {
12172
12207
  return this.handleExitNode(node.value, route);
12173
12208
  }
12209
+ // * -> marks
12210
+ enter_marks(_node, _route) {
12211
+ this.markDepth++;
12212
+ }
12213
+ exit_marks(_node, _route) {
12214
+ this.markDepth--;
12215
+ }
12174
12216
  // END NODE HANDLERS
12175
12217
  handleEnterNode(node, route) {
12218
+ if (this.markDepth > 0) return;
12176
12219
  this.handleEnterNodePreTextCheck(node, route);
12177
12220
  this.handleIndent(node);
12178
12221
  switch (node.type) {
@@ -12183,7 +12226,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12183
12226
  case TextNodeType.hardBreak:
12184
12227
  this.writeHardBreak(node);
12185
12228
  break;
12186
- case TextNodeType.text:
12229
+ case TextNodeType.text: {
12187
12230
  this.writeMarks(node, Stage.enter);
12188
12231
  this.writeText(node);
12189
12232
  this.writeMarks(node, Stage.between);
@@ -12192,6 +12235,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12192
12235
  }
12193
12236
  this.textDepth++;
12194
12237
  break;
12238
+ }
12195
12239
  case TextNodeType.heading:
12196
12240
  this.writeHeading(node);
12197
12241
  this.inHeading = true;
@@ -12242,6 +12286,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12242
12286
  }
12243
12287
  }
12244
12288
  handleExitNode(node, _route) {
12289
+ if (this.markDepth > 0) return;
12245
12290
  switch (node.type) {
12246
12291
  case TextNodeType.text:
12247
12292
  this.textDepth--;
@@ -12548,7 +12593,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12548
12593
  */
12549
12594
  writeMarks(node, stage) {
12550
12595
  if (node.marks) {
12551
- const forceSingleMark = !!(this.inInline || this.inHeading);
12596
+ const forceSingleMark = this.generateOptions.forceInline || !!(this.inInline || this.inHeading);
12552
12597
  this.thisNodeIsPreText = false;
12553
12598
  const emptyMarks = node.marks.length === 0;
12554
12599
  if (emptyMarks) {
@@ -12738,7 +12783,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12738
12783
  let s = `${mark.type}`;
12739
12784
  if (mark.attrs) {
12740
12785
  for (const [k, v] of Object.entries(mark.attrs)) {
12741
- if (k === "language" && v !== "plain text" || k === "color" || k === "name" || k === "duration") {
12786
+ if (k === "language" && v !== "plain text" || k === "color" || k === "propertyRef" || k === "name" || k === "duration") {
12742
12787
  s = `${s}:${v}`;
12743
12788
  }
12744
12789
  }
@@ -12779,13 +12824,33 @@ var TextGenerator = class extends AstWalkerGenerator {
12779
12824
  s += `|provider:${provider}`;
12780
12825
  this.write(s);
12781
12826
  }
12782
- writeFootnoteMark(_mark) {
12827
+ writeFootnoteMark(mark) {
12783
12828
  const s = `footnote:`;
12784
12829
  this.write(s);
12830
+ const text = this.internalTextGenerator?.generateSync(
12831
+ mark.attrs?.content,
12832
+ this.textFormat,
12833
+ this.textLocation,
12834
+ {
12835
+ ...this.generateOptions,
12836
+ forceInline: true
12837
+ }
12838
+ ) ?? "";
12839
+ this.write(text);
12785
12840
  }
12786
- writeFootnoteStarMark(_mark) {
12841
+ writeFootnoteStarMark(mark) {
12787
12842
  const s = `footnote*:`;
12788
12843
  this.write(s);
12844
+ const text = this.internalTextGenerator?.generateSync(
12845
+ mark.attrs?.content,
12846
+ this.textFormat,
12847
+ this.textLocation,
12848
+ {
12849
+ ...this.generateOptions,
12850
+ forceInline: true
12851
+ }
12852
+ ) ?? "";
12853
+ this.write(text);
12789
12854
  }
12790
12855
  writeSymbolMark(mark) {
12791
12856
  if (mark.attrs == null) return;
@@ -12929,7 +12994,7 @@ var TextGenerator = class extends AstWalkerGenerator {
12929
12994
  };
12930
12995
 
12931
12996
  // src/generated/parser/text/text-peggy-parser.js
12932
- var VERSION = "8.35.0";
12997
+ var VERSION = "8.37.3";
12933
12998
  function unbreakscape(str) {
12934
12999
  if (typeof str !== "string") return null;
12935
13000
  return instance3.unbreakscape(str);
@@ -13148,72 +13213,83 @@ function peg$parse(input, options) {
13148
13213
  const peg$c64 = "duration:";
13149
13214
  const peg$c65 = "P";
13150
13215
  const peg$c66 = "color:";
13151
- const peg$c67 = "|\u25BA";
13152
- const peg$c68 = "bold";
13153
- const peg$c69 = "italic";
13154
- const peg$c70 = "light";
13155
- const peg$c71 = "highlight";
13156
- const peg$c72 = "strike";
13157
- const peg$c73 = "subscript";
13158
- const peg$c74 = "superscript";
13159
- const peg$c75 = "ins";
13160
- const peg$c76 = "del";
13161
- const peg$c77 = "underline";
13162
- const peg$c78 = "doubleUnderline";
13163
- const peg$c79 = "circle";
13164
- const peg$c80 = "languageEmRed";
13165
- const peg$c81 = "languageEmOrange";
13166
- const peg$c82 = "languageEmYellow";
13167
- const peg$c83 = "languageEmGreen";
13168
- const peg$c84 = "languageEmBlue";
13169
- const peg$c85 = "languageEmPurple";
13170
- const peg$c86 = "languageEmPink";
13171
- const peg$c87 = "languageEmBrown";
13172
- const peg$c88 = "languageEmBlack";
13173
- const peg$c89 = "languageEmWhite";
13174
- const peg$c90 = "languageEmGray";
13175
- const peg$c91 = "languageEm";
13176
- const peg$c92 = "userUnderline";
13177
- const peg$c93 = "userDoubleUnderline";
13178
- const peg$c94 = "userStrike";
13179
- const peg$c95 = "userCircle";
13180
- const peg$c96 = "userHighlight";
13181
- const peg$c97 = "notranslate";
13182
- const peg$c98 = "aqua";
13183
- const peg$c99 = "black";
13184
- const peg$c100 = "blue";
13185
- const peg$c101 = "brown";
13186
- const peg$c102 = "fuchsia";
13187
- const peg$c103 = "lightgrey";
13188
- const peg$c104 = "gray";
13189
- const peg$c105 = "darkgray";
13190
- const peg$c106 = "green";
13191
- const peg$c107 = "lime";
13192
- const peg$c108 = "magenta";
13193
- const peg$c109 = "maroon";
13194
- const peg$c110 = "navy";
13195
- const peg$c111 = "olive";
13196
- const peg$c112 = "orange";
13197
- const peg$c113 = "pink";
13198
- const peg$c114 = "purple";
13199
- const peg$c115 = "red";
13200
- const peg$c116 = "silver";
13201
- const peg$c117 = "teal";
13202
- const peg$c118 = "violet";
13203
- const peg$c119 = "white";
13204
- const peg$c120 = "yellow";
13205
- const peg$c121 = "*";
13206
- const peg$c122 = "_";
13207
- const peg$c123 = "`";
13208
- const peg$c124 = "!";
13209
- const peg$c125 = "[!";
13210
- const peg$c126 = "]";
13211
- const peg$c127 = "\n";
13212
- const peg$c128 = "\r\n";
13213
- const peg$c129 = "http";
13214
- const peg$c130 = "s";
13215
- const peg$c131 = "://";
13216
- const peg$c132 = "mailto:";
13216
+ const peg$c67 = "colorPicker:";
13217
+ const peg$c68 = "|\u25BA";
13218
+ const peg$c69 = "bold";
13219
+ const peg$c70 = "italic";
13220
+ const peg$c71 = "light";
13221
+ const peg$c72 = "highlightOrange";
13222
+ const peg$c73 = "highlightYellow";
13223
+ const peg$c74 = "highlightGreen";
13224
+ const peg$c75 = "highlightBlue";
13225
+ const peg$c76 = "highlightPurple";
13226
+ const peg$c77 = "highlightPink";
13227
+ const peg$c78 = "highlightBrown";
13228
+ const peg$c79 = "highlightBlack";
13229
+ const peg$c80 = "highlightWhite";
13230
+ const peg$c81 = "highlightGray";
13231
+ const peg$c82 = "highlight";
13232
+ const peg$c83 = "strike";
13233
+ const peg$c84 = "subscript";
13234
+ const peg$c85 = "superscript";
13235
+ const peg$c86 = "ins";
13236
+ const peg$c87 = "del";
13237
+ const peg$c88 = "underline";
13238
+ const peg$c89 = "doubleUnderline";
13239
+ const peg$c90 = "circle";
13240
+ const peg$c91 = "languageEmRed";
13241
+ const peg$c92 = "languageEmOrange";
13242
+ const peg$c93 = "languageEmYellow";
13243
+ const peg$c94 = "languageEmGreen";
13244
+ const peg$c95 = "languageEmBlue";
13245
+ const peg$c96 = "languageEmPurple";
13246
+ const peg$c97 = "languageEmPink";
13247
+ const peg$c98 = "languageEmBrown";
13248
+ const peg$c99 = "languageEmBlack";
13249
+ const peg$c100 = "languageEmWhite";
13250
+ const peg$c101 = "languageEmGray";
13251
+ const peg$c102 = "languageEm";
13252
+ const peg$c103 = "userUnderline";
13253
+ const peg$c104 = "userDoubleUnderline";
13254
+ const peg$c105 = "userStrike";
13255
+ const peg$c106 = "userCircle";
13256
+ const peg$c107 = "userHighlight";
13257
+ const peg$c108 = "notranslate";
13258
+ const peg$c109 = "aqua";
13259
+ const peg$c110 = "black";
13260
+ const peg$c111 = "blue";
13261
+ const peg$c112 = "brown";
13262
+ const peg$c113 = "fuchsia";
13263
+ const peg$c114 = "lightgrey";
13264
+ const peg$c115 = "gray";
13265
+ const peg$c116 = "darkgray";
13266
+ const peg$c117 = "green";
13267
+ const peg$c118 = "lime";
13268
+ const peg$c119 = "magenta";
13269
+ const peg$c120 = "maroon";
13270
+ const peg$c121 = "navy";
13271
+ const peg$c122 = "olive";
13272
+ const peg$c123 = "orange";
13273
+ const peg$c124 = "pink";
13274
+ const peg$c125 = "purple";
13275
+ const peg$c126 = "red";
13276
+ const peg$c127 = "silver";
13277
+ const peg$c128 = "teal";
13278
+ const peg$c129 = "violet";
13279
+ const peg$c130 = "white";
13280
+ const peg$c131 = "yellow";
13281
+ const peg$c132 = "*";
13282
+ const peg$c133 = "_";
13283
+ const peg$c134 = "`";
13284
+ const peg$c135 = "!";
13285
+ const peg$c136 = "[!";
13286
+ const peg$c137 = "]";
13287
+ const peg$c138 = "\n";
13288
+ const peg$c139 = "\r\n";
13289
+ const peg$c140 = "http";
13290
+ const peg$c141 = "s";
13291
+ const peg$c142 = "://";
13292
+ const peg$c143 = "mailto:";
13217
13293
  const peg$r0 = /^[ \t]/;
13218
13294
  const peg$r1 = /^[0-9]/;
13219
13295
  const peg$r2 = /^[\r\u2028-\u2029]/;
@@ -13290,76 +13366,87 @@ function peg$parse(input, options) {
13290
13366
  const peg$e68 = peg$literalExpectation("duration:", false);
13291
13367
  const peg$e69 = peg$literalExpectation("P", false);
13292
13368
  const peg$e70 = peg$literalExpectation("color:", false);
13293
- const peg$e71 = peg$literalExpectation("|\u25BA", false);
13294
- const peg$e72 = peg$literalExpectation("bold", false);
13295
- const peg$e73 = peg$literalExpectation("italic", false);
13296
- const peg$e74 = peg$literalExpectation("light", false);
13297
- const peg$e75 = peg$literalExpectation("highlight", false);
13298
- const peg$e76 = peg$literalExpectation("strike", false);
13299
- const peg$e77 = peg$literalExpectation("subscript", false);
13300
- const peg$e78 = peg$literalExpectation("superscript", false);
13301
- const peg$e79 = peg$literalExpectation("ins", false);
13302
- const peg$e80 = peg$literalExpectation("del", false);
13303
- const peg$e81 = peg$literalExpectation("underline", false);
13304
- const peg$e82 = peg$literalExpectation("doubleUnderline", false);
13305
- const peg$e83 = peg$literalExpectation("circle", false);
13306
- const peg$e84 = peg$literalExpectation("languageEmRed", false);
13307
- const peg$e85 = peg$literalExpectation("languageEmOrange", false);
13308
- const peg$e86 = peg$literalExpectation("languageEmYellow", false);
13309
- const peg$e87 = peg$literalExpectation("languageEmGreen", false);
13310
- const peg$e88 = peg$literalExpectation("languageEmBlue", false);
13311
- const peg$e89 = peg$literalExpectation("languageEmPurple", false);
13312
- const peg$e90 = peg$literalExpectation("languageEmPink", false);
13313
- const peg$e91 = peg$literalExpectation("languageEmBrown", false);
13314
- const peg$e92 = peg$literalExpectation("languageEmBlack", false);
13315
- const peg$e93 = peg$literalExpectation("languageEmWhite", false);
13316
- const peg$e94 = peg$literalExpectation("languageEmGray", false);
13317
- const peg$e95 = peg$literalExpectation("languageEm", false);
13318
- const peg$e96 = peg$literalExpectation("userUnderline", false);
13319
- const peg$e97 = peg$literalExpectation("userDoubleUnderline", false);
13320
- const peg$e98 = peg$literalExpectation("userStrike", false);
13321
- const peg$e99 = peg$literalExpectation("userCircle", false);
13322
- const peg$e100 = peg$literalExpectation("userHighlight", false);
13323
- const peg$e101 = peg$literalExpectation("notranslate", false);
13324
- const peg$e102 = peg$literalExpectation("aqua", false);
13325
- const peg$e103 = peg$literalExpectation("black", false);
13326
- const peg$e104 = peg$literalExpectation("blue", false);
13327
- const peg$e105 = peg$literalExpectation("brown", false);
13328
- const peg$e106 = peg$literalExpectation("fuchsia", false);
13329
- const peg$e107 = peg$literalExpectation("lightgrey", false);
13330
- const peg$e108 = peg$literalExpectation("gray", false);
13331
- const peg$e109 = peg$literalExpectation("darkgray", false);
13332
- const peg$e110 = peg$literalExpectation("green", false);
13333
- const peg$e111 = peg$literalExpectation("lime", false);
13334
- const peg$e112 = peg$literalExpectation("magenta", false);
13335
- const peg$e113 = peg$literalExpectation("maroon", false);
13336
- const peg$e114 = peg$literalExpectation("navy", false);
13337
- const peg$e115 = peg$literalExpectation("olive", false);
13338
- const peg$e116 = peg$literalExpectation("orange", false);
13339
- const peg$e117 = peg$literalExpectation("pink", false);
13340
- const peg$e118 = peg$literalExpectation("purple", false);
13341
- const peg$e119 = peg$literalExpectation("red", false);
13342
- const peg$e120 = peg$literalExpectation("silver", false);
13343
- const peg$e121 = peg$literalExpectation("teal", false);
13344
- const peg$e122 = peg$literalExpectation("violet", false);
13345
- const peg$e123 = peg$literalExpectation("white", false);
13346
- const peg$e124 = peg$literalExpectation("yellow", false);
13347
- const peg$e125 = peg$literalExpectation("*", false);
13348
- const peg$e126 = peg$literalExpectation("_", false);
13349
- const peg$e127 = peg$literalExpectation("`", false);
13350
- const peg$e128 = peg$literalExpectation("!", false);
13351
- const peg$e129 = peg$literalExpectation("[!", false);
13352
- const peg$e130 = peg$literalExpectation("]", false);
13353
- const peg$e131 = peg$otherExpectation("Line Terminator");
13354
- const peg$e132 = peg$literalExpectation("\n", false);
13355
- const peg$e133 = peg$literalExpectation("\r\n", false);
13356
- const peg$e134 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
13357
- const peg$e135 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
13358
- const peg$e136 = peg$literalExpectation("http", false);
13359
- const peg$e137 = peg$literalExpectation("s", false);
13360
- const peg$e138 = peg$literalExpectation("://", false);
13361
- const peg$e139 = peg$literalExpectation("mailto:", false);
13362
- const peg$e140 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
13369
+ const peg$e71 = peg$literalExpectation("colorPicker:", false);
13370
+ const peg$e72 = peg$literalExpectation("|\u25BA", false);
13371
+ const peg$e73 = peg$literalExpectation("bold", false);
13372
+ const peg$e74 = peg$literalExpectation("italic", false);
13373
+ const peg$e75 = peg$literalExpectation("light", false);
13374
+ const peg$e76 = peg$literalExpectation("highlightOrange", false);
13375
+ const peg$e77 = peg$literalExpectation("highlightYellow", false);
13376
+ const peg$e78 = peg$literalExpectation("highlightGreen", false);
13377
+ const peg$e79 = peg$literalExpectation("highlightBlue", false);
13378
+ const peg$e80 = peg$literalExpectation("highlightPurple", false);
13379
+ const peg$e81 = peg$literalExpectation("highlightPink", false);
13380
+ const peg$e82 = peg$literalExpectation("highlightBrown", false);
13381
+ const peg$e83 = peg$literalExpectation("highlightBlack", false);
13382
+ const peg$e84 = peg$literalExpectation("highlightWhite", false);
13383
+ const peg$e85 = peg$literalExpectation("highlightGray", false);
13384
+ const peg$e86 = peg$literalExpectation("highlight", false);
13385
+ const peg$e87 = peg$literalExpectation("strike", false);
13386
+ const peg$e88 = peg$literalExpectation("subscript", false);
13387
+ const peg$e89 = peg$literalExpectation("superscript", false);
13388
+ const peg$e90 = peg$literalExpectation("ins", false);
13389
+ const peg$e91 = peg$literalExpectation("del", false);
13390
+ const peg$e92 = peg$literalExpectation("underline", false);
13391
+ const peg$e93 = peg$literalExpectation("doubleUnderline", false);
13392
+ const peg$e94 = peg$literalExpectation("circle", false);
13393
+ const peg$e95 = peg$literalExpectation("languageEmRed", false);
13394
+ const peg$e96 = peg$literalExpectation("languageEmOrange", false);
13395
+ const peg$e97 = peg$literalExpectation("languageEmYellow", false);
13396
+ const peg$e98 = peg$literalExpectation("languageEmGreen", false);
13397
+ const peg$e99 = peg$literalExpectation("languageEmBlue", false);
13398
+ const peg$e100 = peg$literalExpectation("languageEmPurple", false);
13399
+ const peg$e101 = peg$literalExpectation("languageEmPink", false);
13400
+ const peg$e102 = peg$literalExpectation("languageEmBrown", false);
13401
+ const peg$e103 = peg$literalExpectation("languageEmBlack", false);
13402
+ const peg$e104 = peg$literalExpectation("languageEmWhite", false);
13403
+ const peg$e105 = peg$literalExpectation("languageEmGray", false);
13404
+ const peg$e106 = peg$literalExpectation("languageEm", false);
13405
+ const peg$e107 = peg$literalExpectation("userUnderline", false);
13406
+ const peg$e108 = peg$literalExpectation("userDoubleUnderline", false);
13407
+ const peg$e109 = peg$literalExpectation("userStrike", false);
13408
+ const peg$e110 = peg$literalExpectation("userCircle", false);
13409
+ const peg$e111 = peg$literalExpectation("userHighlight", false);
13410
+ const peg$e112 = peg$literalExpectation("notranslate", false);
13411
+ const peg$e113 = peg$literalExpectation("aqua", false);
13412
+ const peg$e114 = peg$literalExpectation("black", false);
13413
+ const peg$e115 = peg$literalExpectation("blue", false);
13414
+ const peg$e116 = peg$literalExpectation("brown", false);
13415
+ const peg$e117 = peg$literalExpectation("fuchsia", false);
13416
+ const peg$e118 = peg$literalExpectation("lightgrey", false);
13417
+ const peg$e119 = peg$literalExpectation("gray", false);
13418
+ const peg$e120 = peg$literalExpectation("darkgray", false);
13419
+ const peg$e121 = peg$literalExpectation("green", false);
13420
+ const peg$e122 = peg$literalExpectation("lime", false);
13421
+ const peg$e123 = peg$literalExpectation("magenta", false);
13422
+ const peg$e124 = peg$literalExpectation("maroon", false);
13423
+ const peg$e125 = peg$literalExpectation("navy", false);
13424
+ const peg$e126 = peg$literalExpectation("olive", false);
13425
+ const peg$e127 = peg$literalExpectation("orange", false);
13426
+ const peg$e128 = peg$literalExpectation("pink", false);
13427
+ const peg$e129 = peg$literalExpectation("purple", false);
13428
+ const peg$e130 = peg$literalExpectation("red", false);
13429
+ const peg$e131 = peg$literalExpectation("silver", false);
13430
+ const peg$e132 = peg$literalExpectation("teal", false);
13431
+ const peg$e133 = peg$literalExpectation("violet", false);
13432
+ const peg$e134 = peg$literalExpectation("white", false);
13433
+ const peg$e135 = peg$literalExpectation("yellow", false);
13434
+ const peg$e136 = peg$literalExpectation("*", false);
13435
+ const peg$e137 = peg$literalExpectation("_", false);
13436
+ const peg$e138 = peg$literalExpectation("`", false);
13437
+ const peg$e139 = peg$literalExpectation("!", false);
13438
+ const peg$e140 = peg$literalExpectation("[!", false);
13439
+ const peg$e141 = peg$literalExpectation("]", false);
13440
+ const peg$e142 = peg$otherExpectation("Line Terminator");
13441
+ const peg$e143 = peg$literalExpectation("\n", false);
13442
+ const peg$e144 = peg$literalExpectation("\r\n", false);
13443
+ const peg$e145 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
13444
+ const peg$e146 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
13445
+ const peg$e147 = peg$literalExpectation("http", false);
13446
+ const peg$e148 = peg$literalExpectation("s", false);
13447
+ const peg$e149 = peg$literalExpectation("://", false);
13448
+ const peg$e150 = peg$literalExpectation("mailto:", false);
13449
+ const peg$e151 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
13363
13450
  function peg$f0() {
13364
13451
  return VERSION;
13365
13452
  }
@@ -13726,44 +13813,47 @@ function peg$parse(input, options) {
13726
13813
  function peg$f86(color) {
13727
13814
  return { type: "color", attrs: { color } };
13728
13815
  }
13729
- function peg$f87(style) {
13816
+ function peg$f87(str) {
13817
+ return { type: "colorPicker", attrs: { propertyRef: str.trim() } };
13818
+ }
13819
+ function peg$f88(style) {
13730
13820
  return { type: style };
13731
13821
  }
13732
- function peg$f88(str) {
13822
+ function peg$f89(str) {
13733
13823
  return { type: "comment", comment: str };
13734
13824
  }
13735
- function peg$f89(r) {
13825
+ function peg$f90(r) {
13736
13826
  return r.trim();
13737
13827
  }
13738
- function peg$f90(bs) {
13828
+ function peg$f91(bs) {
13739
13829
  return [{ type: "paragraph", content: bs, attrs: {} }];
13740
13830
  }
13741
- function peg$f91(first, more) {
13831
+ function peg$f92(first, more) {
13742
13832
  const cleaned_ = cleanEmptyTextNodes(first ? [first, ...more.flat()] : more.flat());
13743
13833
  return cleaned_;
13744
13834
  }
13745
- function peg$f92() {
13835
+ function peg$f93() {
13746
13836
  return { "type": "hardBreak" };
13747
13837
  }
13748
- function peg$f93(t) {
13838
+ function peg$f94(t) {
13749
13839
  return { text: unbreakscape(t), type: "text" };
13750
13840
  }
13751
- function peg$f94(t) {
13841
+ function peg$f95(t) {
13752
13842
  return { index: +t, type: "bit" };
13753
13843
  }
13754
- function peg$f95(t) {
13844
+ function peg$f96(t) {
13755
13845
  return { marks: [{ type: "bold" }], text: unbreakscape(t), type: "text" };
13756
13846
  }
13757
- function peg$f96(t) {
13847
+ function peg$f97(t) {
13758
13848
  return { marks: [{ type: "italic" }], text: unbreakscape(t), type: "text" };
13759
13849
  }
13760
- function peg$f97(t) {
13850
+ function peg$f98(t) {
13761
13851
  return { marks: [{ type: "light" }], text: unbreakscape(t), type: "text" };
13762
13852
  }
13763
- function peg$f98(t) {
13853
+ function peg$f99(t) {
13764
13854
  return { marks: [{ type: "highlight" }], text: unbreakscape(t), type: "text" };
13765
13855
  }
13766
- function peg$f99(pr, t) {
13856
+ function peg$f100(pr, t) {
13767
13857
  return { pr, t };
13768
13858
  }
13769
13859
  let peg$currPos = options.peg$currPos | 0;
@@ -19827,34 +19917,44 @@ function peg$parse(input, options) {
19827
19917
  }
19828
19918
  if (s0 === peg$FAILED) {
19829
19919
  s0 = peg$currPos;
19830
- s1 = peg$parseAlternativeStyleTags();
19831
- if (s1 !== peg$FAILED) {
19832
- s2 = peg$parseBlockTag();
19833
- if (s2 !== peg$FAILED) {
19834
- peg$savedPos = s0;
19835
- s0 = peg$f87(s1);
19836
- } else {
19837
- peg$currPos = s0;
19838
- s0 = peg$FAILED;
19839
- }
19920
+ if (input.substr(peg$currPos, 12) === peg$c67) {
19921
+ s1 = peg$c67;
19922
+ peg$currPos += 12;
19840
19923
  } else {
19841
- peg$currPos = s0;
19842
- s0 = peg$FAILED;
19924
+ s1 = peg$FAILED;
19925
+ if (peg$silentFails === 0) {
19926
+ peg$fail(peg$e71);
19927
+ }
19843
19928
  }
19844
- if (s0 === peg$FAILED) {
19845
- s0 = peg$currPos;
19846
- if (input.charCodeAt(peg$currPos) === 35) {
19847
- s1 = peg$c21;
19848
- peg$currPos++;
19929
+ if (s1 !== peg$FAILED) {
19930
+ s2 = peg$currPos;
19931
+ s3 = [];
19932
+ s4 = peg$currPos;
19933
+ s5 = peg$currPos;
19934
+ peg$silentFails++;
19935
+ s6 = peg$parseBlockTag();
19936
+ peg$silentFails--;
19937
+ if (s6 === peg$FAILED) {
19938
+ s5 = void 0;
19849
19939
  } else {
19850
- s1 = peg$FAILED;
19851
- if (peg$silentFails === 0) {
19852
- peg$fail(peg$e25);
19940
+ peg$currPos = s5;
19941
+ s5 = peg$FAILED;
19942
+ }
19943
+ if (s5 !== peg$FAILED) {
19944
+ s6 = peg$parsechar();
19945
+ if (s6 !== peg$FAILED) {
19946
+ s5 = [s5, s6];
19947
+ s4 = s5;
19948
+ } else {
19949
+ peg$currPos = s4;
19950
+ s4 = peg$FAILED;
19853
19951
  }
19952
+ } else {
19953
+ peg$currPos = s4;
19954
+ s4 = peg$FAILED;
19854
19955
  }
19855
- if (s1 !== peg$FAILED) {
19856
- s2 = peg$currPos;
19857
- s3 = [];
19956
+ while (s4 !== peg$FAILED) {
19957
+ s3.push(s4);
19858
19958
  s4 = peg$currPos;
19859
19959
  s5 = peg$currPos;
19860
19960
  peg$silentFails++;
@@ -19879,8 +19979,50 @@ function peg$parse(input, options) {
19879
19979
  peg$currPos = s4;
19880
19980
  s4 = peg$FAILED;
19881
19981
  }
19882
- while (s4 !== peg$FAILED) {
19883
- s3.push(s4);
19982
+ }
19983
+ s2 = input.substring(s2, peg$currPos);
19984
+ s3 = peg$parseBlockTag();
19985
+ if (s3 !== peg$FAILED) {
19986
+ peg$savedPos = s0;
19987
+ s0 = peg$f87(s2);
19988
+ } else {
19989
+ peg$currPos = s0;
19990
+ s0 = peg$FAILED;
19991
+ }
19992
+ } else {
19993
+ peg$currPos = s0;
19994
+ s0 = peg$FAILED;
19995
+ }
19996
+ if (s0 === peg$FAILED) {
19997
+ s0 = peg$currPos;
19998
+ s1 = peg$parseAlternativeStyleTags();
19999
+ if (s1 !== peg$FAILED) {
20000
+ s2 = peg$parseBlockTag();
20001
+ if (s2 !== peg$FAILED) {
20002
+ peg$savedPos = s0;
20003
+ s0 = peg$f88(s1);
20004
+ } else {
20005
+ peg$currPos = s0;
20006
+ s0 = peg$FAILED;
20007
+ }
20008
+ } else {
20009
+ peg$currPos = s0;
20010
+ s0 = peg$FAILED;
20011
+ }
20012
+ if (s0 === peg$FAILED) {
20013
+ s0 = peg$currPos;
20014
+ if (input.charCodeAt(peg$currPos) === 35) {
20015
+ s1 = peg$c21;
20016
+ peg$currPos++;
20017
+ } else {
20018
+ s1 = peg$FAILED;
20019
+ if (peg$silentFails === 0) {
20020
+ peg$fail(peg$e25);
20021
+ }
20022
+ }
20023
+ if (s1 !== peg$FAILED) {
20024
+ s2 = peg$currPos;
20025
+ s3 = [];
19884
20026
  s4 = peg$currPos;
19885
20027
  s5 = peg$currPos;
19886
20028
  peg$silentFails++;
@@ -19905,19 +20047,46 @@ function peg$parse(input, options) {
19905
20047
  peg$currPos = s4;
19906
20048
  s4 = peg$FAILED;
19907
20049
  }
19908
- }
19909
- s2 = input.substring(s2, peg$currPos);
19910
- s3 = peg$parseBlockTag();
19911
- if (s3 !== peg$FAILED) {
19912
- peg$savedPos = s0;
19913
- s0 = peg$f88(s2);
20050
+ while (s4 !== peg$FAILED) {
20051
+ s3.push(s4);
20052
+ s4 = peg$currPos;
20053
+ s5 = peg$currPos;
20054
+ peg$silentFails++;
20055
+ s6 = peg$parseBlockTag();
20056
+ peg$silentFails--;
20057
+ if (s6 === peg$FAILED) {
20058
+ s5 = void 0;
20059
+ } else {
20060
+ peg$currPos = s5;
20061
+ s5 = peg$FAILED;
20062
+ }
20063
+ if (s5 !== peg$FAILED) {
20064
+ s6 = peg$parsechar();
20065
+ if (s6 !== peg$FAILED) {
20066
+ s5 = [s5, s6];
20067
+ s4 = s5;
20068
+ } else {
20069
+ peg$currPos = s4;
20070
+ s4 = peg$FAILED;
20071
+ }
20072
+ } else {
20073
+ peg$currPos = s4;
20074
+ s4 = peg$FAILED;
20075
+ }
20076
+ }
20077
+ s2 = input.substring(s2, peg$currPos);
20078
+ s3 = peg$parseBlockTag();
20079
+ if (s3 !== peg$FAILED) {
20080
+ peg$savedPos = s0;
20081
+ s0 = peg$f89(s2);
20082
+ } else {
20083
+ peg$currPos = s0;
20084
+ s0 = peg$FAILED;
20085
+ }
19914
20086
  } else {
19915
20087
  peg$currPos = s0;
19916
20088
  s0 = peg$FAILED;
19917
20089
  }
19918
- } else {
19919
- peg$currPos = s0;
19920
- s0 = peg$FAILED;
19921
20090
  }
19922
20091
  }
19923
20092
  }
@@ -19950,13 +20119,13 @@ function peg$parse(input, options) {
19950
20119
  function peg$parseRef() {
19951
20120
  let s0, s1, s2, s3, s4, s5, s6;
19952
20121
  s0 = peg$currPos;
19953
- if (input.substr(peg$currPos, 2) === peg$c67) {
19954
- s1 = peg$c67;
20122
+ if (input.substr(peg$currPos, 2) === peg$c68) {
20123
+ s1 = peg$c68;
19955
20124
  peg$currPos += 2;
19956
20125
  } else {
19957
20126
  s1 = peg$FAILED;
19958
20127
  if (peg$silentFails === 0) {
19959
- peg$fail(peg$e71);
20128
+ peg$fail(peg$e72);
19960
20129
  }
19961
20130
  }
19962
20131
  if (s1 !== peg$FAILED) {
@@ -20015,7 +20184,7 @@ function peg$parse(input, options) {
20015
20184
  }
20016
20185
  s2 = input.substring(s2, peg$currPos);
20017
20186
  peg$savedPos = s0;
20018
- s0 = peg$f89(s2);
20187
+ s0 = peg$f90(s2);
20019
20188
  } else {
20020
20189
  peg$currPos = s0;
20021
20190
  s0 = peg$FAILED;
@@ -20024,303 +20193,413 @@ function peg$parse(input, options) {
20024
20193
  }
20025
20194
  function peg$parseAlternativeStyleTags() {
20026
20195
  let s0;
20027
- if (input.substr(peg$currPos, 4) === peg$c68) {
20028
- s0 = peg$c68;
20196
+ if (input.substr(peg$currPos, 4) === peg$c69) {
20197
+ s0 = peg$c69;
20029
20198
  peg$currPos += 4;
20030
20199
  } else {
20031
20200
  s0 = peg$FAILED;
20032
20201
  if (peg$silentFails === 0) {
20033
- peg$fail(peg$e72);
20202
+ peg$fail(peg$e73);
20034
20203
  }
20035
20204
  }
20036
20205
  if (s0 === peg$FAILED) {
20037
- if (input.substr(peg$currPos, 6) === peg$c69) {
20038
- s0 = peg$c69;
20206
+ if (input.substr(peg$currPos, 6) === peg$c70) {
20207
+ s0 = peg$c70;
20039
20208
  peg$currPos += 6;
20040
20209
  } else {
20041
20210
  s0 = peg$FAILED;
20042
20211
  if (peg$silentFails === 0) {
20043
- peg$fail(peg$e73);
20212
+ peg$fail(peg$e74);
20044
20213
  }
20045
20214
  }
20046
20215
  if (s0 === peg$FAILED) {
20047
- if (input.substr(peg$currPos, 5) === peg$c70) {
20048
- s0 = peg$c70;
20216
+ if (input.substr(peg$currPos, 5) === peg$c71) {
20217
+ s0 = peg$c71;
20049
20218
  peg$currPos += 5;
20050
20219
  } else {
20051
20220
  s0 = peg$FAILED;
20052
20221
  if (peg$silentFails === 0) {
20053
- peg$fail(peg$e74);
20222
+ peg$fail(peg$e75);
20054
20223
  }
20055
20224
  }
20056
20225
  if (s0 === peg$FAILED) {
20057
- if (input.substr(peg$currPos, 9) === peg$c71) {
20058
- s0 = peg$c71;
20059
- peg$currPos += 9;
20226
+ if (input.substr(peg$currPos, 15) === peg$c72) {
20227
+ s0 = peg$c72;
20228
+ peg$currPos += 15;
20060
20229
  } else {
20061
20230
  s0 = peg$FAILED;
20062
20231
  if (peg$silentFails === 0) {
20063
- peg$fail(peg$e75);
20232
+ peg$fail(peg$e76);
20064
20233
  }
20065
20234
  }
20066
20235
  if (s0 === peg$FAILED) {
20067
- if (input.substr(peg$currPos, 6) === peg$c72) {
20068
- s0 = peg$c72;
20069
- peg$currPos += 6;
20236
+ if (input.substr(peg$currPos, 15) === peg$c73) {
20237
+ s0 = peg$c73;
20238
+ peg$currPos += 15;
20070
20239
  } else {
20071
20240
  s0 = peg$FAILED;
20072
20241
  if (peg$silentFails === 0) {
20073
- peg$fail(peg$e76);
20242
+ peg$fail(peg$e77);
20074
20243
  }
20075
20244
  }
20076
20245
  if (s0 === peg$FAILED) {
20077
- if (input.substr(peg$currPos, 9) === peg$c73) {
20078
- s0 = peg$c73;
20079
- peg$currPos += 9;
20246
+ if (input.substr(peg$currPos, 14) === peg$c74) {
20247
+ s0 = peg$c74;
20248
+ peg$currPos += 14;
20080
20249
  } else {
20081
20250
  s0 = peg$FAILED;
20082
20251
  if (peg$silentFails === 0) {
20083
- peg$fail(peg$e77);
20252
+ peg$fail(peg$e78);
20084
20253
  }
20085
20254
  }
20086
20255
  if (s0 === peg$FAILED) {
20087
- if (input.substr(peg$currPos, 11) === peg$c74) {
20088
- s0 = peg$c74;
20089
- peg$currPos += 11;
20256
+ if (input.substr(peg$currPos, 13) === peg$c75) {
20257
+ s0 = peg$c75;
20258
+ peg$currPos += 13;
20090
20259
  } else {
20091
20260
  s0 = peg$FAILED;
20092
20261
  if (peg$silentFails === 0) {
20093
- peg$fail(peg$e78);
20262
+ peg$fail(peg$e79);
20094
20263
  }
20095
20264
  }
20096
20265
  if (s0 === peg$FAILED) {
20097
- if (input.substr(peg$currPos, 3) === peg$c75) {
20098
- s0 = peg$c75;
20099
- peg$currPos += 3;
20266
+ if (input.substr(peg$currPos, 15) === peg$c76) {
20267
+ s0 = peg$c76;
20268
+ peg$currPos += 15;
20100
20269
  } else {
20101
20270
  s0 = peg$FAILED;
20102
20271
  if (peg$silentFails === 0) {
20103
- peg$fail(peg$e79);
20272
+ peg$fail(peg$e80);
20104
20273
  }
20105
20274
  }
20106
20275
  if (s0 === peg$FAILED) {
20107
- if (input.substr(peg$currPos, 3) === peg$c76) {
20108
- s0 = peg$c76;
20109
- peg$currPos += 3;
20276
+ if (input.substr(peg$currPos, 13) === peg$c77) {
20277
+ s0 = peg$c77;
20278
+ peg$currPos += 13;
20110
20279
  } else {
20111
20280
  s0 = peg$FAILED;
20112
20281
  if (peg$silentFails === 0) {
20113
- peg$fail(peg$e80);
20282
+ peg$fail(peg$e81);
20114
20283
  }
20115
20284
  }
20116
20285
  if (s0 === peg$FAILED) {
20117
- if (input.substr(peg$currPos, 9) === peg$c77) {
20118
- s0 = peg$c77;
20119
- peg$currPos += 9;
20286
+ if (input.substr(peg$currPos, 14) === peg$c78) {
20287
+ s0 = peg$c78;
20288
+ peg$currPos += 14;
20120
20289
  } else {
20121
20290
  s0 = peg$FAILED;
20122
20291
  if (peg$silentFails === 0) {
20123
- peg$fail(peg$e81);
20292
+ peg$fail(peg$e82);
20124
20293
  }
20125
20294
  }
20126
20295
  if (s0 === peg$FAILED) {
20127
- if (input.substr(peg$currPos, 15) === peg$c78) {
20128
- s0 = peg$c78;
20129
- peg$currPos += 15;
20296
+ if (input.substr(peg$currPos, 14) === peg$c79) {
20297
+ s0 = peg$c79;
20298
+ peg$currPos += 14;
20130
20299
  } else {
20131
20300
  s0 = peg$FAILED;
20132
20301
  if (peg$silentFails === 0) {
20133
- peg$fail(peg$e82);
20302
+ peg$fail(peg$e83);
20134
20303
  }
20135
20304
  }
20136
20305
  if (s0 === peg$FAILED) {
20137
- if (input.substr(peg$currPos, 6) === peg$c79) {
20138
- s0 = peg$c79;
20139
- peg$currPos += 6;
20306
+ if (input.substr(peg$currPos, 14) === peg$c80) {
20307
+ s0 = peg$c80;
20308
+ peg$currPos += 14;
20140
20309
  } else {
20141
20310
  s0 = peg$FAILED;
20142
20311
  if (peg$silentFails === 0) {
20143
- peg$fail(peg$e83);
20312
+ peg$fail(peg$e84);
20144
20313
  }
20145
20314
  }
20146
20315
  if (s0 === peg$FAILED) {
20147
- if (input.substr(peg$currPos, 13) === peg$c80) {
20148
- s0 = peg$c80;
20316
+ if (input.substr(peg$currPos, 13) === peg$c81) {
20317
+ s0 = peg$c81;
20149
20318
  peg$currPos += 13;
20150
20319
  } else {
20151
20320
  s0 = peg$FAILED;
20152
20321
  if (peg$silentFails === 0) {
20153
- peg$fail(peg$e84);
20322
+ peg$fail(peg$e85);
20154
20323
  }
20155
20324
  }
20156
20325
  if (s0 === peg$FAILED) {
20157
- if (input.substr(peg$currPos, 16) === peg$c81) {
20158
- s0 = peg$c81;
20159
- peg$currPos += 16;
20326
+ if (input.substr(peg$currPos, 9) === peg$c82) {
20327
+ s0 = peg$c82;
20328
+ peg$currPos += 9;
20160
20329
  } else {
20161
20330
  s0 = peg$FAILED;
20162
20331
  if (peg$silentFails === 0) {
20163
- peg$fail(peg$e85);
20332
+ peg$fail(peg$e86);
20164
20333
  }
20165
20334
  }
20166
20335
  if (s0 === peg$FAILED) {
20167
- if (input.substr(peg$currPos, 16) === peg$c82) {
20168
- s0 = peg$c82;
20169
- peg$currPos += 16;
20336
+ if (input.substr(peg$currPos, 6) === peg$c83) {
20337
+ s0 = peg$c83;
20338
+ peg$currPos += 6;
20170
20339
  } else {
20171
20340
  s0 = peg$FAILED;
20172
20341
  if (peg$silentFails === 0) {
20173
- peg$fail(peg$e86);
20342
+ peg$fail(peg$e87);
20174
20343
  }
20175
20344
  }
20176
20345
  if (s0 === peg$FAILED) {
20177
- if (input.substr(peg$currPos, 15) === peg$c83) {
20178
- s0 = peg$c83;
20179
- peg$currPos += 15;
20346
+ if (input.substr(peg$currPos, 9) === peg$c84) {
20347
+ s0 = peg$c84;
20348
+ peg$currPos += 9;
20180
20349
  } else {
20181
20350
  s0 = peg$FAILED;
20182
20351
  if (peg$silentFails === 0) {
20183
- peg$fail(peg$e87);
20352
+ peg$fail(peg$e88);
20184
20353
  }
20185
20354
  }
20186
20355
  if (s0 === peg$FAILED) {
20187
- if (input.substr(peg$currPos, 14) === peg$c84) {
20188
- s0 = peg$c84;
20189
- peg$currPos += 14;
20356
+ if (input.substr(peg$currPos, 11) === peg$c85) {
20357
+ s0 = peg$c85;
20358
+ peg$currPos += 11;
20190
20359
  } else {
20191
20360
  s0 = peg$FAILED;
20192
20361
  if (peg$silentFails === 0) {
20193
- peg$fail(peg$e88);
20362
+ peg$fail(peg$e89);
20194
20363
  }
20195
20364
  }
20196
20365
  if (s0 === peg$FAILED) {
20197
- if (input.substr(peg$currPos, 16) === peg$c85) {
20198
- s0 = peg$c85;
20199
- peg$currPos += 16;
20366
+ if (input.substr(peg$currPos, 3) === peg$c86) {
20367
+ s0 = peg$c86;
20368
+ peg$currPos += 3;
20200
20369
  } else {
20201
20370
  s0 = peg$FAILED;
20202
20371
  if (peg$silentFails === 0) {
20203
- peg$fail(peg$e89);
20372
+ peg$fail(peg$e90);
20204
20373
  }
20205
20374
  }
20206
20375
  if (s0 === peg$FAILED) {
20207
- if (input.substr(peg$currPos, 14) === peg$c86) {
20208
- s0 = peg$c86;
20209
- peg$currPos += 14;
20376
+ if (input.substr(peg$currPos, 3) === peg$c87) {
20377
+ s0 = peg$c87;
20378
+ peg$currPos += 3;
20210
20379
  } else {
20211
20380
  s0 = peg$FAILED;
20212
20381
  if (peg$silentFails === 0) {
20213
- peg$fail(peg$e90);
20382
+ peg$fail(peg$e91);
20214
20383
  }
20215
20384
  }
20216
20385
  if (s0 === peg$FAILED) {
20217
- if (input.substr(peg$currPos, 15) === peg$c87) {
20218
- s0 = peg$c87;
20219
- peg$currPos += 15;
20386
+ if (input.substr(peg$currPos, 9) === peg$c88) {
20387
+ s0 = peg$c88;
20388
+ peg$currPos += 9;
20220
20389
  } else {
20221
20390
  s0 = peg$FAILED;
20222
20391
  if (peg$silentFails === 0) {
20223
- peg$fail(peg$e91);
20392
+ peg$fail(peg$e92);
20224
20393
  }
20225
20394
  }
20226
20395
  if (s0 === peg$FAILED) {
20227
- if (input.substr(peg$currPos, 15) === peg$c88) {
20228
- s0 = peg$c88;
20396
+ if (input.substr(peg$currPos, 15) === peg$c89) {
20397
+ s0 = peg$c89;
20229
20398
  peg$currPos += 15;
20230
20399
  } else {
20231
20400
  s0 = peg$FAILED;
20232
20401
  if (peg$silentFails === 0) {
20233
- peg$fail(peg$e92);
20402
+ peg$fail(peg$e93);
20234
20403
  }
20235
20404
  }
20236
20405
  if (s0 === peg$FAILED) {
20237
- if (input.substr(peg$currPos, 15) === peg$c89) {
20238
- s0 = peg$c89;
20239
- peg$currPos += 15;
20406
+ if (input.substr(peg$currPos, 6) === peg$c90) {
20407
+ s0 = peg$c90;
20408
+ peg$currPos += 6;
20240
20409
  } else {
20241
20410
  s0 = peg$FAILED;
20242
20411
  if (peg$silentFails === 0) {
20243
- peg$fail(peg$e93);
20412
+ peg$fail(peg$e94);
20244
20413
  }
20245
20414
  }
20246
20415
  if (s0 === peg$FAILED) {
20247
- if (input.substr(peg$currPos, 14) === peg$c90) {
20248
- s0 = peg$c90;
20249
- peg$currPos += 14;
20416
+ if (input.substr(peg$currPos, 13) === peg$c91) {
20417
+ s0 = peg$c91;
20418
+ peg$currPos += 13;
20250
20419
  } else {
20251
20420
  s0 = peg$FAILED;
20252
20421
  if (peg$silentFails === 0) {
20253
- peg$fail(peg$e94);
20422
+ peg$fail(peg$e95);
20254
20423
  }
20255
20424
  }
20256
20425
  if (s0 === peg$FAILED) {
20257
- if (input.substr(peg$currPos, 10) === peg$c91) {
20258
- s0 = peg$c91;
20259
- peg$currPos += 10;
20426
+ if (input.substr(peg$currPos, 16) === peg$c92) {
20427
+ s0 = peg$c92;
20428
+ peg$currPos += 16;
20260
20429
  } else {
20261
20430
  s0 = peg$FAILED;
20262
20431
  if (peg$silentFails === 0) {
20263
- peg$fail(peg$e95);
20432
+ peg$fail(peg$e96);
20264
20433
  }
20265
20434
  }
20266
20435
  if (s0 === peg$FAILED) {
20267
- if (input.substr(peg$currPos, 13) === peg$c92) {
20268
- s0 = peg$c92;
20269
- peg$currPos += 13;
20436
+ if (input.substr(peg$currPos, 16) === peg$c93) {
20437
+ s0 = peg$c93;
20438
+ peg$currPos += 16;
20270
20439
  } else {
20271
20440
  s0 = peg$FAILED;
20272
20441
  if (peg$silentFails === 0) {
20273
- peg$fail(peg$e96);
20442
+ peg$fail(peg$e97);
20274
20443
  }
20275
20444
  }
20276
20445
  if (s0 === peg$FAILED) {
20277
- if (input.substr(peg$currPos, 19) === peg$c93) {
20278
- s0 = peg$c93;
20279
- peg$currPos += 19;
20446
+ if (input.substr(peg$currPos, 15) === peg$c94) {
20447
+ s0 = peg$c94;
20448
+ peg$currPos += 15;
20280
20449
  } else {
20281
20450
  s0 = peg$FAILED;
20282
20451
  if (peg$silentFails === 0) {
20283
- peg$fail(peg$e97);
20452
+ peg$fail(peg$e98);
20284
20453
  }
20285
20454
  }
20286
20455
  if (s0 === peg$FAILED) {
20287
- if (input.substr(peg$currPos, 10) === peg$c94) {
20288
- s0 = peg$c94;
20289
- peg$currPos += 10;
20456
+ if (input.substr(peg$currPos, 14) === peg$c95) {
20457
+ s0 = peg$c95;
20458
+ peg$currPos += 14;
20290
20459
  } else {
20291
20460
  s0 = peg$FAILED;
20292
20461
  if (peg$silentFails === 0) {
20293
- peg$fail(peg$e98);
20462
+ peg$fail(peg$e99);
20294
20463
  }
20295
20464
  }
20296
20465
  if (s0 === peg$FAILED) {
20297
- if (input.substr(peg$currPos, 10) === peg$c95) {
20298
- s0 = peg$c95;
20299
- peg$currPos += 10;
20466
+ if (input.substr(peg$currPos, 16) === peg$c96) {
20467
+ s0 = peg$c96;
20468
+ peg$currPos += 16;
20300
20469
  } else {
20301
20470
  s0 = peg$FAILED;
20302
20471
  if (peg$silentFails === 0) {
20303
- peg$fail(peg$e99);
20472
+ peg$fail(peg$e100);
20304
20473
  }
20305
20474
  }
20306
20475
  if (s0 === peg$FAILED) {
20307
- if (input.substr(peg$currPos, 13) === peg$c96) {
20308
- s0 = peg$c96;
20309
- peg$currPos += 13;
20476
+ if (input.substr(peg$currPos, 14) === peg$c97) {
20477
+ s0 = peg$c97;
20478
+ peg$currPos += 14;
20310
20479
  } else {
20311
20480
  s0 = peg$FAILED;
20312
20481
  if (peg$silentFails === 0) {
20313
- peg$fail(peg$e100);
20482
+ peg$fail(peg$e101);
20314
20483
  }
20315
20484
  }
20316
20485
  if (s0 === peg$FAILED) {
20317
- if (input.substr(peg$currPos, 11) === peg$c97) {
20318
- s0 = peg$c97;
20319
- peg$currPos += 11;
20486
+ if (input.substr(peg$currPos, 15) === peg$c98) {
20487
+ s0 = peg$c98;
20488
+ peg$currPos += 15;
20320
20489
  } else {
20321
20490
  s0 = peg$FAILED;
20322
20491
  if (peg$silentFails === 0) {
20323
- peg$fail(peg$e101);
20492
+ peg$fail(peg$e102);
20493
+ }
20494
+ }
20495
+ if (s0 === peg$FAILED) {
20496
+ if (input.substr(peg$currPos, 15) === peg$c99) {
20497
+ s0 = peg$c99;
20498
+ peg$currPos += 15;
20499
+ } else {
20500
+ s0 = peg$FAILED;
20501
+ if (peg$silentFails === 0) {
20502
+ peg$fail(peg$e103);
20503
+ }
20504
+ }
20505
+ if (s0 === peg$FAILED) {
20506
+ if (input.substr(peg$currPos, 15) === peg$c100) {
20507
+ s0 = peg$c100;
20508
+ peg$currPos += 15;
20509
+ } else {
20510
+ s0 = peg$FAILED;
20511
+ if (peg$silentFails === 0) {
20512
+ peg$fail(peg$e104);
20513
+ }
20514
+ }
20515
+ if (s0 === peg$FAILED) {
20516
+ if (input.substr(peg$currPos, 14) === peg$c101) {
20517
+ s0 = peg$c101;
20518
+ peg$currPos += 14;
20519
+ } else {
20520
+ s0 = peg$FAILED;
20521
+ if (peg$silentFails === 0) {
20522
+ peg$fail(peg$e105);
20523
+ }
20524
+ }
20525
+ if (s0 === peg$FAILED) {
20526
+ if (input.substr(peg$currPos, 10) === peg$c102) {
20527
+ s0 = peg$c102;
20528
+ peg$currPos += 10;
20529
+ } else {
20530
+ s0 = peg$FAILED;
20531
+ if (peg$silentFails === 0) {
20532
+ peg$fail(peg$e106);
20533
+ }
20534
+ }
20535
+ if (s0 === peg$FAILED) {
20536
+ if (input.substr(peg$currPos, 13) === peg$c103) {
20537
+ s0 = peg$c103;
20538
+ peg$currPos += 13;
20539
+ } else {
20540
+ s0 = peg$FAILED;
20541
+ if (peg$silentFails === 0) {
20542
+ peg$fail(peg$e107);
20543
+ }
20544
+ }
20545
+ if (s0 === peg$FAILED) {
20546
+ if (input.substr(peg$currPos, 19) === peg$c104) {
20547
+ s0 = peg$c104;
20548
+ peg$currPos += 19;
20549
+ } else {
20550
+ s0 = peg$FAILED;
20551
+ if (peg$silentFails === 0) {
20552
+ peg$fail(peg$e108);
20553
+ }
20554
+ }
20555
+ if (s0 === peg$FAILED) {
20556
+ if (input.substr(peg$currPos, 10) === peg$c105) {
20557
+ s0 = peg$c105;
20558
+ peg$currPos += 10;
20559
+ } else {
20560
+ s0 = peg$FAILED;
20561
+ if (peg$silentFails === 0) {
20562
+ peg$fail(peg$e109);
20563
+ }
20564
+ }
20565
+ if (s0 === peg$FAILED) {
20566
+ if (input.substr(peg$currPos, 10) === peg$c106) {
20567
+ s0 = peg$c106;
20568
+ peg$currPos += 10;
20569
+ } else {
20570
+ s0 = peg$FAILED;
20571
+ if (peg$silentFails === 0) {
20572
+ peg$fail(peg$e110);
20573
+ }
20574
+ }
20575
+ if (s0 === peg$FAILED) {
20576
+ if (input.substr(peg$currPos, 13) === peg$c107) {
20577
+ s0 = peg$c107;
20578
+ peg$currPos += 13;
20579
+ } else {
20580
+ s0 = peg$FAILED;
20581
+ if (peg$silentFails === 0) {
20582
+ peg$fail(peg$e111);
20583
+ }
20584
+ }
20585
+ if (s0 === peg$FAILED) {
20586
+ if (input.substr(peg$currPos, 11) === peg$c108) {
20587
+ s0 = peg$c108;
20588
+ peg$currPos += 11;
20589
+ } else {
20590
+ s0 = peg$FAILED;
20591
+ if (peg$silentFails === 0) {
20592
+ peg$fail(peg$e112);
20593
+ }
20594
+ }
20595
+ }
20596
+ }
20597
+ }
20598
+ }
20599
+ }
20600
+ }
20601
+ }
20602
+ }
20324
20603
  }
20325
20604
  }
20326
20605
  }
@@ -20356,233 +20635,233 @@ function peg$parse(input, options) {
20356
20635
  }
20357
20636
  function peg$parseColor() {
20358
20637
  let s0;
20359
- if (input.substr(peg$currPos, 4) === peg$c98) {
20360
- s0 = peg$c98;
20638
+ if (input.substr(peg$currPos, 4) === peg$c109) {
20639
+ s0 = peg$c109;
20361
20640
  peg$currPos += 4;
20362
20641
  } else {
20363
20642
  s0 = peg$FAILED;
20364
20643
  if (peg$silentFails === 0) {
20365
- peg$fail(peg$e102);
20644
+ peg$fail(peg$e113);
20366
20645
  }
20367
20646
  }
20368
20647
  if (s0 === peg$FAILED) {
20369
- if (input.substr(peg$currPos, 5) === peg$c99) {
20370
- s0 = peg$c99;
20648
+ if (input.substr(peg$currPos, 5) === peg$c110) {
20649
+ s0 = peg$c110;
20371
20650
  peg$currPos += 5;
20372
20651
  } else {
20373
20652
  s0 = peg$FAILED;
20374
20653
  if (peg$silentFails === 0) {
20375
- peg$fail(peg$e103);
20654
+ peg$fail(peg$e114);
20376
20655
  }
20377
20656
  }
20378
20657
  if (s0 === peg$FAILED) {
20379
- if (input.substr(peg$currPos, 4) === peg$c100) {
20380
- s0 = peg$c100;
20658
+ if (input.substr(peg$currPos, 4) === peg$c111) {
20659
+ s0 = peg$c111;
20381
20660
  peg$currPos += 4;
20382
20661
  } else {
20383
20662
  s0 = peg$FAILED;
20384
20663
  if (peg$silentFails === 0) {
20385
- peg$fail(peg$e104);
20664
+ peg$fail(peg$e115);
20386
20665
  }
20387
20666
  }
20388
20667
  if (s0 === peg$FAILED) {
20389
- if (input.substr(peg$currPos, 5) === peg$c101) {
20390
- s0 = peg$c101;
20668
+ if (input.substr(peg$currPos, 5) === peg$c112) {
20669
+ s0 = peg$c112;
20391
20670
  peg$currPos += 5;
20392
20671
  } else {
20393
20672
  s0 = peg$FAILED;
20394
20673
  if (peg$silentFails === 0) {
20395
- peg$fail(peg$e105);
20674
+ peg$fail(peg$e116);
20396
20675
  }
20397
20676
  }
20398
20677
  if (s0 === peg$FAILED) {
20399
- if (input.substr(peg$currPos, 7) === peg$c102) {
20400
- s0 = peg$c102;
20678
+ if (input.substr(peg$currPos, 7) === peg$c113) {
20679
+ s0 = peg$c113;
20401
20680
  peg$currPos += 7;
20402
20681
  } else {
20403
20682
  s0 = peg$FAILED;
20404
20683
  if (peg$silentFails === 0) {
20405
- peg$fail(peg$e106);
20684
+ peg$fail(peg$e117);
20406
20685
  }
20407
20686
  }
20408
20687
  if (s0 === peg$FAILED) {
20409
- if (input.substr(peg$currPos, 9) === peg$c103) {
20410
- s0 = peg$c103;
20688
+ if (input.substr(peg$currPos, 9) === peg$c114) {
20689
+ s0 = peg$c114;
20411
20690
  peg$currPos += 9;
20412
20691
  } else {
20413
20692
  s0 = peg$FAILED;
20414
20693
  if (peg$silentFails === 0) {
20415
- peg$fail(peg$e107);
20694
+ peg$fail(peg$e118);
20416
20695
  }
20417
20696
  }
20418
20697
  if (s0 === peg$FAILED) {
20419
- if (input.substr(peg$currPos, 4) === peg$c104) {
20420
- s0 = peg$c104;
20698
+ if (input.substr(peg$currPos, 4) === peg$c115) {
20699
+ s0 = peg$c115;
20421
20700
  peg$currPos += 4;
20422
20701
  } else {
20423
20702
  s0 = peg$FAILED;
20424
20703
  if (peg$silentFails === 0) {
20425
- peg$fail(peg$e108);
20704
+ peg$fail(peg$e119);
20426
20705
  }
20427
20706
  }
20428
20707
  if (s0 === peg$FAILED) {
20429
- if (input.substr(peg$currPos, 8) === peg$c105) {
20430
- s0 = peg$c105;
20708
+ if (input.substr(peg$currPos, 8) === peg$c116) {
20709
+ s0 = peg$c116;
20431
20710
  peg$currPos += 8;
20432
20711
  } else {
20433
20712
  s0 = peg$FAILED;
20434
20713
  if (peg$silentFails === 0) {
20435
- peg$fail(peg$e109);
20714
+ peg$fail(peg$e120);
20436
20715
  }
20437
20716
  }
20438
20717
  if (s0 === peg$FAILED) {
20439
- if (input.substr(peg$currPos, 5) === peg$c106) {
20440
- s0 = peg$c106;
20718
+ if (input.substr(peg$currPos, 5) === peg$c117) {
20719
+ s0 = peg$c117;
20441
20720
  peg$currPos += 5;
20442
20721
  } else {
20443
20722
  s0 = peg$FAILED;
20444
20723
  if (peg$silentFails === 0) {
20445
- peg$fail(peg$e110);
20724
+ peg$fail(peg$e121);
20446
20725
  }
20447
20726
  }
20448
20727
  if (s0 === peg$FAILED) {
20449
- if (input.substr(peg$currPos, 4) === peg$c107) {
20450
- s0 = peg$c107;
20728
+ if (input.substr(peg$currPos, 4) === peg$c118) {
20729
+ s0 = peg$c118;
20451
20730
  peg$currPos += 4;
20452
20731
  } else {
20453
20732
  s0 = peg$FAILED;
20454
20733
  if (peg$silentFails === 0) {
20455
- peg$fail(peg$e111);
20734
+ peg$fail(peg$e122);
20456
20735
  }
20457
20736
  }
20458
20737
  if (s0 === peg$FAILED) {
20459
- if (input.substr(peg$currPos, 7) === peg$c108) {
20460
- s0 = peg$c108;
20738
+ if (input.substr(peg$currPos, 7) === peg$c119) {
20739
+ s0 = peg$c119;
20461
20740
  peg$currPos += 7;
20462
20741
  } else {
20463
20742
  s0 = peg$FAILED;
20464
20743
  if (peg$silentFails === 0) {
20465
- peg$fail(peg$e112);
20744
+ peg$fail(peg$e123);
20466
20745
  }
20467
20746
  }
20468
20747
  if (s0 === peg$FAILED) {
20469
- if (input.substr(peg$currPos, 6) === peg$c109) {
20470
- s0 = peg$c109;
20748
+ if (input.substr(peg$currPos, 6) === peg$c120) {
20749
+ s0 = peg$c120;
20471
20750
  peg$currPos += 6;
20472
20751
  } else {
20473
20752
  s0 = peg$FAILED;
20474
20753
  if (peg$silentFails === 0) {
20475
- peg$fail(peg$e113);
20754
+ peg$fail(peg$e124);
20476
20755
  }
20477
20756
  }
20478
20757
  if (s0 === peg$FAILED) {
20479
- if (input.substr(peg$currPos, 4) === peg$c110) {
20480
- s0 = peg$c110;
20758
+ if (input.substr(peg$currPos, 4) === peg$c121) {
20759
+ s0 = peg$c121;
20481
20760
  peg$currPos += 4;
20482
20761
  } else {
20483
20762
  s0 = peg$FAILED;
20484
20763
  if (peg$silentFails === 0) {
20485
- peg$fail(peg$e114);
20764
+ peg$fail(peg$e125);
20486
20765
  }
20487
20766
  }
20488
20767
  if (s0 === peg$FAILED) {
20489
- if (input.substr(peg$currPos, 5) === peg$c111) {
20490
- s0 = peg$c111;
20768
+ if (input.substr(peg$currPos, 5) === peg$c122) {
20769
+ s0 = peg$c122;
20491
20770
  peg$currPos += 5;
20492
20771
  } else {
20493
20772
  s0 = peg$FAILED;
20494
20773
  if (peg$silentFails === 0) {
20495
- peg$fail(peg$e115);
20774
+ peg$fail(peg$e126);
20496
20775
  }
20497
20776
  }
20498
20777
  if (s0 === peg$FAILED) {
20499
- if (input.substr(peg$currPos, 6) === peg$c112) {
20500
- s0 = peg$c112;
20778
+ if (input.substr(peg$currPos, 6) === peg$c123) {
20779
+ s0 = peg$c123;
20501
20780
  peg$currPos += 6;
20502
20781
  } else {
20503
20782
  s0 = peg$FAILED;
20504
20783
  if (peg$silentFails === 0) {
20505
- peg$fail(peg$e116);
20784
+ peg$fail(peg$e127);
20506
20785
  }
20507
20786
  }
20508
20787
  if (s0 === peg$FAILED) {
20509
- if (input.substr(peg$currPos, 4) === peg$c113) {
20510
- s0 = peg$c113;
20788
+ if (input.substr(peg$currPos, 4) === peg$c124) {
20789
+ s0 = peg$c124;
20511
20790
  peg$currPos += 4;
20512
20791
  } else {
20513
20792
  s0 = peg$FAILED;
20514
20793
  if (peg$silentFails === 0) {
20515
- peg$fail(peg$e117);
20794
+ peg$fail(peg$e128);
20516
20795
  }
20517
20796
  }
20518
20797
  if (s0 === peg$FAILED) {
20519
- if (input.substr(peg$currPos, 6) === peg$c114) {
20520
- s0 = peg$c114;
20798
+ if (input.substr(peg$currPos, 6) === peg$c125) {
20799
+ s0 = peg$c125;
20521
20800
  peg$currPos += 6;
20522
20801
  } else {
20523
20802
  s0 = peg$FAILED;
20524
20803
  if (peg$silentFails === 0) {
20525
- peg$fail(peg$e118);
20804
+ peg$fail(peg$e129);
20526
20805
  }
20527
20806
  }
20528
20807
  if (s0 === peg$FAILED) {
20529
- if (input.substr(peg$currPos, 3) === peg$c115) {
20530
- s0 = peg$c115;
20808
+ if (input.substr(peg$currPos, 3) === peg$c126) {
20809
+ s0 = peg$c126;
20531
20810
  peg$currPos += 3;
20532
20811
  } else {
20533
20812
  s0 = peg$FAILED;
20534
20813
  if (peg$silentFails === 0) {
20535
- peg$fail(peg$e119);
20814
+ peg$fail(peg$e130);
20536
20815
  }
20537
20816
  }
20538
20817
  if (s0 === peg$FAILED) {
20539
- if (input.substr(peg$currPos, 6) === peg$c116) {
20540
- s0 = peg$c116;
20818
+ if (input.substr(peg$currPos, 6) === peg$c127) {
20819
+ s0 = peg$c127;
20541
20820
  peg$currPos += 6;
20542
20821
  } else {
20543
20822
  s0 = peg$FAILED;
20544
20823
  if (peg$silentFails === 0) {
20545
- peg$fail(peg$e120);
20824
+ peg$fail(peg$e131);
20546
20825
  }
20547
20826
  }
20548
20827
  if (s0 === peg$FAILED) {
20549
- if (input.substr(peg$currPos, 4) === peg$c117) {
20550
- s0 = peg$c117;
20828
+ if (input.substr(peg$currPos, 4) === peg$c128) {
20829
+ s0 = peg$c128;
20551
20830
  peg$currPos += 4;
20552
20831
  } else {
20553
20832
  s0 = peg$FAILED;
20554
20833
  if (peg$silentFails === 0) {
20555
- peg$fail(peg$e121);
20834
+ peg$fail(peg$e132);
20556
20835
  }
20557
20836
  }
20558
20837
  if (s0 === peg$FAILED) {
20559
- if (input.substr(peg$currPos, 6) === peg$c118) {
20560
- s0 = peg$c118;
20838
+ if (input.substr(peg$currPos, 6) === peg$c129) {
20839
+ s0 = peg$c129;
20561
20840
  peg$currPos += 6;
20562
20841
  } else {
20563
20842
  s0 = peg$FAILED;
20564
20843
  if (peg$silentFails === 0) {
20565
- peg$fail(peg$e122);
20844
+ peg$fail(peg$e133);
20566
20845
  }
20567
20846
  }
20568
20847
  if (s0 === peg$FAILED) {
20569
- if (input.substr(peg$currPos, 5) === peg$c119) {
20570
- s0 = peg$c119;
20848
+ if (input.substr(peg$currPos, 5) === peg$c130) {
20849
+ s0 = peg$c130;
20571
20850
  peg$currPos += 5;
20572
20851
  } else {
20573
20852
  s0 = peg$FAILED;
20574
20853
  if (peg$silentFails === 0) {
20575
- peg$fail(peg$e123);
20854
+ peg$fail(peg$e134);
20576
20855
  }
20577
20856
  }
20578
20857
  if (s0 === peg$FAILED) {
20579
- if (input.substr(peg$currPos, 6) === peg$c120) {
20580
- s0 = peg$c120;
20858
+ if (input.substr(peg$currPos, 6) === peg$c131) {
20859
+ s0 = peg$c131;
20581
20860
  peg$currPos += 6;
20582
20861
  } else {
20583
20862
  s0 = peg$FAILED;
20584
20863
  if (peg$silentFails === 0) {
20585
- peg$fail(peg$e124);
20864
+ peg$fail(peg$e135);
20586
20865
  }
20587
20866
  }
20588
20867
  }
@@ -20615,7 +20894,7 @@ function peg$parse(input, options) {
20615
20894
  s0 = peg$currPos;
20616
20895
  s1 = peg$parsebitmarkMinusMinusString();
20617
20896
  peg$savedPos = s0;
20618
- s1 = peg$f90(s1);
20897
+ s1 = peg$f91(s1);
20619
20898
  s0 = s1;
20620
20899
  peg$silentFails--;
20621
20900
  return s0;
@@ -20641,7 +20920,7 @@ function peg$parse(input, options) {
20641
20920
  }
20642
20921
  }
20643
20922
  peg$savedPos = s0;
20644
- s0 = peg$f91(s1, s2);
20923
+ s0 = peg$f92(s1, s2);
20645
20924
  peg$silentFails--;
20646
20925
  return s0;
20647
20926
  }
@@ -20651,7 +20930,7 @@ function peg$parse(input, options) {
20651
20930
  s1 = peg$parseNL();
20652
20931
  if (s1 !== peg$FAILED) {
20653
20932
  peg$savedPos = s0;
20654
- s1 = peg$f92();
20933
+ s1 = peg$f93();
20655
20934
  }
20656
20935
  s0 = s1;
20657
20936
  if (s0 === peg$FAILED) {
@@ -20780,7 +21059,7 @@ function peg$parse(input, options) {
20780
21059
  }
20781
21060
  if (s1 !== peg$FAILED) {
20782
21061
  peg$savedPos = s0;
20783
- s1 = peg$f93(s1);
21062
+ s1 = peg$f94(s1);
20784
21063
  }
20785
21064
  s0 = s1;
20786
21065
  }
@@ -20789,12 +21068,12 @@ function peg$parse(input, options) {
20789
21068
  function peg$parseBoldHalfTag() {
20790
21069
  let s0;
20791
21070
  if (input.charCodeAt(peg$currPos) === 42) {
20792
- s0 = peg$c121;
21071
+ s0 = peg$c132;
20793
21072
  peg$currPos++;
20794
21073
  } else {
20795
21074
  s0 = peg$FAILED;
20796
21075
  if (peg$silentFails === 0) {
20797
- peg$fail(peg$e125);
21076
+ peg$fail(peg$e136);
20798
21077
  }
20799
21078
  }
20800
21079
  return s0;
@@ -20802,12 +21081,12 @@ function peg$parse(input, options) {
20802
21081
  function peg$parseItalicHalfTag() {
20803
21082
  let s0;
20804
21083
  if (input.charCodeAt(peg$currPos) === 95) {
20805
- s0 = peg$c122;
21084
+ s0 = peg$c133;
20806
21085
  peg$currPos++;
20807
21086
  } else {
20808
21087
  s0 = peg$FAILED;
20809
21088
  if (peg$silentFails === 0) {
20810
- peg$fail(peg$e126);
21089
+ peg$fail(peg$e137);
20811
21090
  }
20812
21091
  }
20813
21092
  return s0;
@@ -20815,12 +21094,12 @@ function peg$parse(input, options) {
20815
21094
  function peg$parseLightHalfTag() {
20816
21095
  let s0;
20817
21096
  if (input.charCodeAt(peg$currPos) === 96) {
20818
- s0 = peg$c123;
21097
+ s0 = peg$c134;
20819
21098
  peg$currPos++;
20820
21099
  } else {
20821
21100
  s0 = peg$FAILED;
20822
21101
  if (peg$silentFails === 0) {
20823
- peg$fail(peg$e127);
21102
+ peg$fail(peg$e138);
20824
21103
  }
20825
21104
  }
20826
21105
  return s0;
@@ -20828,12 +21107,12 @@ function peg$parse(input, options) {
20828
21107
  function peg$parseHighlightHalfTag() {
20829
21108
  let s0;
20830
21109
  if (input.charCodeAt(peg$currPos) === 33) {
20831
- s0 = peg$c124;
21110
+ s0 = peg$c135;
20832
21111
  peg$currPos++;
20833
21112
  } else {
20834
21113
  s0 = peg$FAILED;
20835
21114
  if (peg$silentFails === 0) {
20836
- peg$fail(peg$e128);
21115
+ peg$fail(peg$e139);
20837
21116
  }
20838
21117
  }
20839
21118
  return s0;
@@ -20916,13 +21195,13 @@ function peg$parse(input, options) {
20916
21195
  }
20917
21196
  function peg$parseBodyBitOpenTag() {
20918
21197
  let s0;
20919
- if (input.substr(peg$currPos, 2) === peg$c125) {
20920
- s0 = peg$c125;
21198
+ if (input.substr(peg$currPos, 2) === peg$c136) {
21199
+ s0 = peg$c136;
20921
21200
  peg$currPos += 2;
20922
21201
  } else {
20923
21202
  s0 = peg$FAILED;
20924
21203
  if (peg$silentFails === 0) {
20925
- peg$fail(peg$e129);
21204
+ peg$fail(peg$e140);
20926
21205
  }
20927
21206
  }
20928
21207
  return s0;
@@ -20930,12 +21209,12 @@ function peg$parse(input, options) {
20930
21209
  function peg$parseBodyBitCloseTag() {
20931
21210
  let s0;
20932
21211
  if (input.charCodeAt(peg$currPos) === 93) {
20933
- s0 = peg$c126;
21212
+ s0 = peg$c137;
20934
21213
  peg$currPos++;
20935
21214
  } else {
20936
21215
  s0 = peg$FAILED;
20937
21216
  if (peg$silentFails === 0) {
20938
- peg$fail(peg$e130);
21217
+ peg$fail(peg$e141);
20939
21218
  }
20940
21219
  }
20941
21220
  return s0;
@@ -20981,7 +21260,7 @@ function peg$parse(input, options) {
20981
21260
  s3 = peg$parseBodyBitCloseTag();
20982
21261
  if (s3 !== peg$FAILED) {
20983
21262
  peg$savedPos = s0;
20984
- s0 = peg$f94(s2);
21263
+ s0 = peg$f95(s2);
20985
21264
  } else {
20986
21265
  peg$currPos = s0;
20987
21266
  s0 = peg$FAILED;
@@ -21071,7 +21350,7 @@ function peg$parse(input, options) {
21071
21350
  s3 = peg$parseBoldTag();
21072
21351
  if (s3 !== peg$FAILED) {
21073
21352
  peg$savedPos = s0;
21074
- s0 = peg$f95(s2);
21353
+ s0 = peg$f96(s2);
21075
21354
  } else {
21076
21355
  peg$currPos = s0;
21077
21356
  s0 = peg$FAILED;
@@ -21157,7 +21436,7 @@ function peg$parse(input, options) {
21157
21436
  s3 = peg$parseItalicTag();
21158
21437
  if (s3 !== peg$FAILED) {
21159
21438
  peg$savedPos = s0;
21160
- s0 = peg$f96(s2);
21439
+ s0 = peg$f97(s2);
21161
21440
  } else {
21162
21441
  peg$currPos = s0;
21163
21442
  s0 = peg$FAILED;
@@ -21243,7 +21522,7 @@ function peg$parse(input, options) {
21243
21522
  s3 = peg$parseLightTag();
21244
21523
  if (s3 !== peg$FAILED) {
21245
21524
  peg$savedPos = s0;
21246
- s0 = peg$f97(s2);
21525
+ s0 = peg$f98(s2);
21247
21526
  } else {
21248
21527
  peg$currPos = s0;
21249
21528
  s0 = peg$FAILED;
@@ -21329,7 +21608,7 @@ function peg$parse(input, options) {
21329
21608
  s3 = peg$parseHighlightTag();
21330
21609
  if (s3 !== peg$FAILED) {
21331
21610
  peg$savedPos = s0;
21332
- s0 = peg$f98(s2);
21611
+ s0 = peg$f99(s2);
21333
21612
  } else {
21334
21613
  peg$currPos = s0;
21335
21614
  s0 = peg$FAILED;
@@ -21414,22 +21693,22 @@ function peg$parse(input, options) {
21414
21693
  let s0, s1;
21415
21694
  peg$silentFails++;
21416
21695
  if (input.charCodeAt(peg$currPos) === 10) {
21417
- s0 = peg$c127;
21696
+ s0 = peg$c138;
21418
21697
  peg$currPos++;
21419
21698
  } else {
21420
21699
  s0 = peg$FAILED;
21421
21700
  if (peg$silentFails === 0) {
21422
- peg$fail(peg$e132);
21701
+ peg$fail(peg$e143);
21423
21702
  }
21424
21703
  }
21425
21704
  if (s0 === peg$FAILED) {
21426
- if (input.substr(peg$currPos, 2) === peg$c128) {
21427
- s0 = peg$c128;
21705
+ if (input.substr(peg$currPos, 2) === peg$c139) {
21706
+ s0 = peg$c139;
21428
21707
  peg$currPos += 2;
21429
21708
  } else {
21430
21709
  s0 = peg$FAILED;
21431
21710
  if (peg$silentFails === 0) {
21432
- peg$fail(peg$e133);
21711
+ peg$fail(peg$e144);
21433
21712
  }
21434
21713
  }
21435
21714
  if (s0 === peg$FAILED) {
@@ -21439,7 +21718,7 @@ function peg$parse(input, options) {
21439
21718
  } else {
21440
21719
  s0 = peg$FAILED;
21441
21720
  if (peg$silentFails === 0) {
21442
- peg$fail(peg$e134);
21721
+ peg$fail(peg$e145);
21443
21722
  }
21444
21723
  }
21445
21724
  }
@@ -21448,7 +21727,7 @@ function peg$parse(input, options) {
21448
21727
  if (s0 === peg$FAILED) {
21449
21728
  s1 = peg$FAILED;
21450
21729
  if (peg$silentFails === 0) {
21451
- peg$fail(peg$e131);
21730
+ peg$fail(peg$e142);
21452
21731
  }
21453
21732
  }
21454
21733
  return s0;
@@ -21461,7 +21740,7 @@ function peg$parse(input, options) {
21461
21740
  } else {
21462
21741
  s0 = peg$FAILED;
21463
21742
  if (peg$silentFails === 0) {
21464
- peg$fail(peg$e135);
21743
+ peg$fail(peg$e146);
21465
21744
  }
21466
21745
  }
21467
21746
  return s0;
@@ -21495,35 +21774,35 @@ function peg$parse(input, options) {
21495
21774
  let s0, s1, s2, s3, s4, s5, s6, s7, s8;
21496
21775
  s0 = peg$currPos;
21497
21776
  s1 = peg$currPos;
21498
- if (input.substr(peg$currPos, 4) === peg$c129) {
21499
- s2 = peg$c129;
21777
+ if (input.substr(peg$currPos, 4) === peg$c140) {
21778
+ s2 = peg$c140;
21500
21779
  peg$currPos += 4;
21501
21780
  } else {
21502
21781
  s2 = peg$FAILED;
21503
21782
  if (peg$silentFails === 0) {
21504
- peg$fail(peg$e136);
21783
+ peg$fail(peg$e147);
21505
21784
  }
21506
21785
  }
21507
21786
  if (s2 !== peg$FAILED) {
21508
21787
  if (input.charCodeAt(peg$currPos) === 115) {
21509
- s3 = peg$c130;
21788
+ s3 = peg$c141;
21510
21789
  peg$currPos++;
21511
21790
  } else {
21512
21791
  s3 = peg$FAILED;
21513
21792
  if (peg$silentFails === 0) {
21514
- peg$fail(peg$e137);
21793
+ peg$fail(peg$e148);
21515
21794
  }
21516
21795
  }
21517
21796
  if (s3 === peg$FAILED) {
21518
21797
  s3 = null;
21519
21798
  }
21520
- if (input.substr(peg$currPos, 3) === peg$c131) {
21521
- s4 = peg$c131;
21799
+ if (input.substr(peg$currPos, 3) === peg$c142) {
21800
+ s4 = peg$c142;
21522
21801
  peg$currPos += 3;
21523
21802
  } else {
21524
21803
  s4 = peg$FAILED;
21525
21804
  if (peg$silentFails === 0) {
21526
- peg$fail(peg$e138);
21805
+ peg$fail(peg$e149);
21527
21806
  }
21528
21807
  }
21529
21808
  if (s4 !== peg$FAILED) {
@@ -21601,35 +21880,35 @@ function peg$parse(input, options) {
21601
21880
  s0 = peg$currPos;
21602
21881
  s1 = peg$currPos;
21603
21882
  s2 = peg$currPos;
21604
- if (input.substr(peg$currPos, 4) === peg$c129) {
21605
- s3 = peg$c129;
21883
+ if (input.substr(peg$currPos, 4) === peg$c140) {
21884
+ s3 = peg$c140;
21606
21885
  peg$currPos += 4;
21607
21886
  } else {
21608
21887
  s3 = peg$FAILED;
21609
21888
  if (peg$silentFails === 0) {
21610
- peg$fail(peg$e136);
21889
+ peg$fail(peg$e147);
21611
21890
  }
21612
21891
  }
21613
21892
  if (s3 !== peg$FAILED) {
21614
21893
  if (input.charCodeAt(peg$currPos) === 115) {
21615
- s4 = peg$c130;
21894
+ s4 = peg$c141;
21616
21895
  peg$currPos++;
21617
21896
  } else {
21618
21897
  s4 = peg$FAILED;
21619
21898
  if (peg$silentFails === 0) {
21620
- peg$fail(peg$e137);
21899
+ peg$fail(peg$e148);
21621
21900
  }
21622
21901
  }
21623
21902
  if (s4 === peg$FAILED) {
21624
21903
  s4 = null;
21625
21904
  }
21626
- if (input.substr(peg$currPos, 3) === peg$c131) {
21627
- s5 = peg$c131;
21905
+ if (input.substr(peg$currPos, 3) === peg$c142) {
21906
+ s5 = peg$c142;
21628
21907
  peg$currPos += 3;
21629
21908
  } else {
21630
21909
  s5 = peg$FAILED;
21631
21910
  if (peg$silentFails === 0) {
21632
- peg$fail(peg$e138);
21911
+ peg$fail(peg$e149);
21633
21912
  }
21634
21913
  }
21635
21914
  if (s5 !== peg$FAILED) {
@@ -21644,13 +21923,13 @@ function peg$parse(input, options) {
21644
21923
  s2 = peg$FAILED;
21645
21924
  }
21646
21925
  if (s2 === peg$FAILED) {
21647
- if (input.substr(peg$currPos, 7) === peg$c132) {
21648
- s2 = peg$c132;
21926
+ if (input.substr(peg$currPos, 7) === peg$c143) {
21927
+ s2 = peg$c143;
21649
21928
  peg$currPos += 7;
21650
21929
  } else {
21651
21930
  s2 = peg$FAILED;
21652
21931
  if (peg$silentFails === 0) {
21653
- peg$fail(peg$e139);
21932
+ peg$fail(peg$e150);
21654
21933
  }
21655
21934
  }
21656
21935
  }
@@ -21715,7 +21994,7 @@ function peg$parse(input, options) {
21715
21994
  }
21716
21995
  s2 = input.substring(s2, peg$currPos);
21717
21996
  peg$savedPos = s0;
21718
- s0 = peg$f99(s1, s2);
21997
+ s0 = peg$f100(s1, s2);
21719
21998
  } else {
21720
21999
  peg$currPos = s0;
21721
22000
  s0 = peg$FAILED;
@@ -21730,7 +22009,7 @@ function peg$parse(input, options) {
21730
22009
  } else {
21731
22010
  s0 = peg$FAILED;
21732
22011
  if (peg$silentFails === 0) {
21733
- peg$fail(peg$e140);
22012
+ peg$fail(peg$e151);
21734
22013
  }
21735
22014
  }
21736
22015
  return s0;
@@ -23728,6 +24007,12 @@ var Builder = class extends BaseBuilder {
23728
24007
  data.machineTranslated,
23729
24008
  options
23730
24009
  ),
24010
+ translationOf: this.toAstProperty(
24011
+ bitType,
24012
+ ConfigKey.property_translationOf,
24013
+ data.translationOf,
24014
+ options
24015
+ ),
23731
24016
  spansPageBreak: this.toAstProperty(
23732
24017
  bitType,
23733
24018
  ConfigKey.property_spansPageBreak,
@@ -24444,6 +24729,12 @@ var Builder = class extends BaseBuilder {
24444
24729
  data.hasPrintRestriction,
24445
24730
  options
24446
24731
  ),
24732
+ enforceUpdateOverUserInput: this.toAstProperty(
24733
+ bitType,
24734
+ ConfigKey.property_enforceUpdateOverUserInput,
24735
+ data.enforceUpdateOverUserInput,
24736
+ options
24737
+ ),
24447
24738
  tocResource: this.toAstProperty(
24448
24739
  bitType,
24449
24740
  ConfigKey.property_tocResource,
@@ -30144,6 +30435,7 @@ var JsonGenerator = class extends AstWalkerGenerator {
30144
30435
  if (instance2.isOfBitType(bitType, BitType.book)) {
30145
30436
  if (bitJson.maxTocChapterLevel == null) bitJson.maxTocChapterLevel = -1;
30146
30437
  if (bitJson.hasPrintRestriction == null) bitJson.hasPrintRestriction = true;
30438
+ if (bitJson.enforceUpdateOverUserInput == null) bitJson.enforceUpdateOverUserInput = false;
30147
30439
  if (bitJson.hasMarkAsDone == null) bitJson.hasMarkAsDone = false;
30148
30440
  if (bitJson.processHandIn == null) bitJson.processHandIn = false;
30149
30441
  if (bitJson.isPublic == null) bitJson.isPublic = false;