chordsheetjs 10.10.1 → 10.11.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/lib/bundle.js CHANGED
@@ -14632,11 +14632,25 @@ to a key`);
14632
14632
  separator: ","
14633
14633
  };
14634
14634
  var $f1e1976743ced067$var$MetadataConfiguration = class {
14635
- constructor(metadataConfiguration = $f1e1976743ced067$export$a014e67b549cbef4) {
14636
- this.separator = metadataConfiguration.separator;
14635
+ constructor(metadataConfiguration = {}) {
14636
+ this.separator = metadataConfiguration.separator || $f1e1976743ced067$export$a014e67b549cbef4.separator;
14637
14637
  }
14638
14638
  };
14639
14639
  var $f1e1976743ced067$export$2e2bcd8739ae039 = $f1e1976743ced067$var$MetadataConfiguration;
14640
+ var $66494710ef677b2b$var$InstrumentConfiguration = class {
14641
+ constructor(instrumentConfiguration = {}) {
14642
+ this.type = instrumentConfiguration.type;
14643
+ this.description = instrumentConfiguration.description;
14644
+ }
14645
+ };
14646
+ var $66494710ef677b2b$export$2e2bcd8739ae039 = $66494710ef677b2b$var$InstrumentConfiguration;
14647
+ var $a911f47e3c49e507$var$UserConfiguration = class {
14648
+ constructor(userConfiguration = {}) {
14649
+ this.name = userConfiguration.name;
14650
+ this.fullname = userConfiguration.fullname;
14651
+ }
14652
+ };
14653
+ var $a911f47e3c49e507$export$2e2bcd8739ae039 = $a911f47e3c49e507$var$UserConfiguration;
14640
14654
  var $1900e9488433afb1$export$f152539e8297cacc = (string) => string;
14641
14655
  var $1900e9488433afb1$export$78c0028a34264234 = {
14642
14656
  evaluate: false,
@@ -14671,10 +14685,8 @@ to a key`);
14671
14685
  ...$1900e9488433afb1$export$78c0028a34264234.delegates,
14672
14686
  ...configuration.delegates
14673
14687
  };
14674
- this.configuration = {
14675
- configuration,
14676
- delegates: this.delegates
14677
- };
14688
+ this.instrument = configuration.instrument ? new (0, $66494710ef677b2b$export$2e2bcd8739ae039)(configuration.instrument) : void 0;
14689
+ this.user = configuration.user ? new (0, $a911f47e3c49e507$export$2e2bcd8739ae039)(configuration.user) : void 0;
14678
14690
  }
14679
14691
  };
14680
14692
  var $1900e9488433afb1$export$2e2bcd8739ae039 = $1900e9488433afb1$var$Configuration;
@@ -14863,7 +14875,7 @@ to a key`);
14863
14875
  };
14864
14876
  var $7251dad5f4a4c35f$var$Tag = class _$7251dad5f4a4c35f$var$Tag extends (0, $c5ce4fc4f57fe810$export$2e2bcd8739ae039) {
14865
14877
  constructor(name, value = null, traceInfo = null, attributes = {}) {
14866
- super(traceInfo), this._isMetaTag = false, this._originalName = "", this._name = "", this._value = "", this.selector = null, /**
14878
+ super(traceInfo), this._isMetaTag = false, this._originalName = "", this._name = "", this._value = "", this.selector = null, this.isNegated = false, /**
14867
14879
  * The tag attributes. For example, section related tags can have a label:
14868
14880
  * `{start_of_verse: label="Verse 1"}`
14869
14881
  * @type {Record<string, string>}
@@ -15274,7 +15286,8 @@ to a key`);
15274
15286
  location: location.start,
15275
15287
  value: value?.value || "",
15276
15288
  attributes: value?.attributes || {},
15277
- selector
15289
+ selector: selector?.value,
15290
+ isNegated: selector?.isNegated
15278
15291
  };
15279
15292
  }
15280
15293
  function $51ced2cf8b50f946$export$4bae24da7c5e47c7(string, search, replaceMatch, replaceRest = (subString) => subString) {
@@ -15658,7 +15671,8 @@ to a key`);
15658
15671
  value: text2,
15659
15672
  chordDefinition,
15660
15673
  location: location().start,
15661
- selector
15674
+ selector: selector?.value,
15675
+ isNegated: selector?.isNegated
15662
15676
  };
15663
15677
  };
15664
15678
  const peg$c66 = function(tagName, selector, tagColonWithValue) {
@@ -15666,40 +15680,48 @@ to a key`);
15666
15680
  };
15667
15681
  const peg$c67 = "-";
15668
15682
  const peg$c68 = peg$literalExpectation("-", false);
15669
- const peg$c69 = function(value) {
15670
- return value;
15683
+ const peg$c69 = function(value, negator) {
15684
+ return {
15685
+ value,
15686
+ isNegated: !!negator
15687
+ };
15671
15688
  };
15672
- const peg$c70 = function(tagValue) {
15689
+ const peg$c70 = "!";
15690
+ const peg$c71 = peg$literalExpectation("!", false);
15691
+ const peg$c72 = function() {
15692
+ return true;
15693
+ };
15694
+ const peg$c73 = function(tagValue) {
15673
15695
  return tagValue;
15674
15696
  };
15675
- const peg$c71 = function(attributes) {
15697
+ const peg$c74 = function(attributes) {
15676
15698
  return {
15677
15699
  attributes
15678
15700
  };
15679
15701
  };
15680
- const peg$c72 = function(value) {
15702
+ const peg$c75 = function(value) {
15681
15703
  return {
15682
15704
  value
15683
15705
  };
15684
15706
  };
15685
- const peg$c73 = function(attributes) {
15707
+ const peg$c76 = function(attributes) {
15686
15708
  const obj = {};
15687
15709
  attributes.forEach((pair) => {
15688
15710
  obj[pair[0]] = pair[1];
15689
15711
  });
15690
15712
  return obj;
15691
15713
  };
15692
- const peg$c74 = function(attribute) {
15714
+ const peg$c77 = function(attribute) {
15693
15715
  return attribute;
15694
15716
  };
15695
- const peg$c75 = function(name, value) {
15717
+ const peg$c78 = function(name, value) {
15696
15718
  return [
15697
15719
  name,
15698
15720
  value
15699
15721
  ];
15700
15722
  };
15701
- const peg$c76 = /^[a-zA-Z_]/;
15702
- const peg$c77 = peg$classExpectation([
15723
+ const peg$c79 = /^[a-zA-Z_]/;
15724
+ const peg$c80 = peg$classExpectation([
15703
15725
  [
15704
15726
  "a",
15705
15727
  "z"
@@ -15710,18 +15732,18 @@ to a key`);
15710
15732
  ],
15711
15733
  "_"
15712
15734
  ], false, false);
15713
- const peg$c78 = function(chars) {
15735
+ const peg$c81 = function(chars) {
15714
15736
  return chars.map((c) => c.char || c).join("");
15715
15737
  };
15716
- const peg$c79 = /^[^}\\\r\n]/;
15717
- const peg$c80 = peg$classExpectation([
15738
+ const peg$c82 = /^[^}\\\r\n]/;
15739
+ const peg$c83 = peg$classExpectation([
15718
15740
  "}",
15719
15741
  "\\",
15720
15742
  "\r",
15721
15743
  "\n"
15722
15744
  ], true, false);
15723
- const peg$c81 = /^[a-zA-Z\-_]/;
15724
- const peg$c82 = peg$classExpectation([
15745
+ const peg$c84 = /^[a-zA-Z\-_]/;
15746
+ const peg$c85 = peg$classExpectation([
15725
15747
  [
15726
15748
  "a",
15727
15749
  "z"
@@ -15733,22 +15755,25 @@ to a key`);
15733
15755
  "-",
15734
15756
  "_"
15735
15757
  ], false, false);
15736
- const peg$c83 = '"';
15737
- const peg$c84 = peg$literalExpectation('"', false);
15738
- const peg$c85 = /^[^"}]/;
15739
- const peg$c86 = peg$classExpectation([
15758
+ const peg$c86 = '"';
15759
+ const peg$c87 = peg$literalExpectation('"', false);
15760
+ const peg$c88 = function(value) {
15761
+ return value;
15762
+ };
15763
+ const peg$c89 = /^[^"}]/;
15764
+ const peg$c90 = peg$classExpectation([
15740
15765
  '"',
15741
15766
  "}"
15742
15767
  ], true, false);
15743
- const peg$c87 = function() {
15768
+ const peg$c91 = function() {
15744
15769
  return {
15745
15770
  type: "char",
15746
15771
  char: '"'
15747
15772
  };
15748
15773
  };
15749
- const peg$c88 = "frets";
15750
- const peg$c89 = peg$literalExpectation("frets", false);
15751
- const peg$c90 = function(name, baseFret, frets, fingers) {
15774
+ const peg$c92 = "frets";
15775
+ const peg$c93 = peg$literalExpectation("frets", false);
15776
+ const peg$c94 = function(name, baseFret, frets, fingers) {
15752
15777
  return {
15753
15778
  name,
15754
15779
  baseFret: baseFret || 1,
@@ -15757,10 +15782,10 @@ to a key`);
15757
15782
  text: text()
15758
15783
  };
15759
15784
  };
15760
- const peg$c91 = "/";
15761
- const peg$c92 = peg$literalExpectation("/", false);
15762
- const peg$c93 = /^[A-Ga-g]/;
15763
- const peg$c94 = peg$classExpectation([
15785
+ const peg$c95 = "/";
15786
+ const peg$c96 = peg$literalExpectation("/", false);
15787
+ const peg$c97 = /^[A-Ga-g]/;
15788
+ const peg$c98 = peg$classExpectation([
15764
15789
  [
15765
15790
  "A",
15766
15791
  "G"
@@ -15770,21 +15795,21 @@ to a key`);
15770
15795
  "g"
15771
15796
  ]
15772
15797
  ], false, false);
15773
- const peg$c95 = /^[b#\u266D\u266F]/;
15774
- const peg$c96 = peg$classExpectation([
15798
+ const peg$c99 = /^[b#\u266D\u266F]/;
15799
+ const peg$c100 = peg$classExpectation([
15775
15800
  "b",
15776
15801
  "#",
15777
15802
  "\u266D",
15778
15803
  "\u266F"
15779
15804
  ], false, false);
15780
- const peg$c97 = "es";
15781
- const peg$c98 = peg$literalExpectation("es", false);
15782
- const peg$c99 = "s";
15783
- const peg$c100 = peg$literalExpectation("s", false);
15784
- const peg$c101 = "is";
15785
- const peg$c102 = peg$literalExpectation("is", false);
15786
- const peg$c103 = /^[a-zA-Z0-9#\u266Fb\u266D()+\-\/\xF8\u0394\u2212]/;
15787
- const peg$c104 = peg$classExpectation([
15805
+ const peg$c101 = "es";
15806
+ const peg$c102 = peg$literalExpectation("es", false);
15807
+ const peg$c103 = "s";
15808
+ const peg$c104 = peg$literalExpectation("s", false);
15809
+ const peg$c105 = "is";
15810
+ const peg$c106 = peg$literalExpectation("is", false);
15811
+ const peg$c107 = /^[a-zA-Z0-9#\u266Fb\u266D()+\-\/\xF8\u0394\u2212]/;
15812
+ const peg$c108 = peg$classExpectation([
15788
15813
  [
15789
15814
  "a",
15790
15815
  "z"
@@ -15810,21 +15835,21 @@ to a key`);
15810
15835
  "\u0394",
15811
15836
  "\u2212"
15812
15837
  ], false, false);
15813
- const peg$c105 = "base-fret";
15814
- const peg$c106 = peg$literalExpectation("base-fret", false);
15815
- const peg$c107 = function(baseFret) {
15838
+ const peg$c109 = "base-fret";
15839
+ const peg$c110 = peg$literalExpectation("base-fret", false);
15840
+ const peg$c111 = function(baseFret) {
15816
15841
  return baseFret;
15817
15842
  };
15818
- const peg$c108 = "fingers";
15819
- const peg$c109 = peg$literalExpectation("fingers", false);
15820
- const peg$c110 = function(fingers) {
15843
+ const peg$c112 = "fingers";
15844
+ const peg$c113 = peg$literalExpectation("fingers", false);
15845
+ const peg$c114 = function(fingers) {
15821
15846
  return fingers;
15822
15847
  };
15823
- const peg$c111 = function(finger) {
15848
+ const peg$c115 = function(finger) {
15824
15849
  return finger;
15825
15850
  };
15826
- const peg$c112 = /^[\-A-Za-z]/;
15827
- const peg$c113 = peg$classExpectation([
15851
+ const peg$c116 = /^[\-A-Za-z]/;
15852
+ const peg$c117 = peg$classExpectation([
15828
15853
  "-",
15829
15854
  [
15830
15855
  "A",
@@ -15835,18 +15860,18 @@ to a key`);
15835
15860
  "z"
15836
15861
  ]
15837
15862
  ], false, false);
15838
- const peg$c114 = /^[0-9]/;
15839
- const peg$c115 = peg$classExpectation([
15863
+ const peg$c118 = /^[0-9]/;
15864
+ const peg$c119 = peg$classExpectation([
15840
15865
  [
15841
15866
  "0",
15842
15867
  "9"
15843
15868
  ]
15844
15869
  ], false, false);
15845
- const peg$c116 = function(number) {
15870
+ const peg$c120 = function(number) {
15846
15871
  return parseInt(number, 10);
15847
15872
  };
15848
- const peg$c117 = /^[a-zA-Z]/;
15849
- const peg$c118 = peg$classExpectation([
15873
+ const peg$c121 = /^[a-zA-Z]/;
15874
+ const peg$c122 = peg$classExpectation([
15850
15875
  [
15851
15876
  "a",
15852
15877
  "z"
@@ -15856,93 +15881,93 @@ to a key`);
15856
15881
  "Z"
15857
15882
  ]
15858
15883
  ], false, false);
15859
- const peg$c119 = /^[\-NXnx]/;
15860
- const peg$c120 = peg$classExpectation([
15884
+ const peg$c123 = /^[\-NXnx]/;
15885
+ const peg$c124 = peg$classExpectation([
15861
15886
  "-",
15862
15887
  "N",
15863
15888
  "X",
15864
15889
  "n",
15865
15890
  "x"
15866
15891
  ], false, false);
15867
- const peg$c121 = function(fret) {
15892
+ const peg$c125 = function(fret) {
15868
15893
  return fret;
15869
15894
  };
15870
- const peg$c122 = /^[1-9]/;
15871
- const peg$c123 = peg$classExpectation([
15895
+ const peg$c126 = /^[1-9]/;
15896
+ const peg$c127 = peg$classExpectation([
15872
15897
  [
15873
15898
  "1",
15874
15899
  "9"
15875
15900
  ]
15876
15901
  ], false, false);
15877
- const peg$c124 = "0";
15878
- const peg$c125 = peg$literalExpectation("0", false);
15879
- const peg$c126 = function() {
15902
+ const peg$c128 = "0";
15903
+ const peg$c129 = peg$literalExpectation("0", false);
15904
+ const peg$c130 = function() {
15880
15905
  return 0;
15881
15906
  };
15882
- const peg$c127 = "-1";
15883
- const peg$c128 = peg$literalExpectation("-1", false);
15884
- const peg$c129 = /^[NXnx]/;
15885
- const peg$c130 = peg$classExpectation([
15907
+ const peg$c131 = "-1";
15908
+ const peg$c132 = peg$literalExpectation("-1", false);
15909
+ const peg$c133 = /^[NXnx]/;
15910
+ const peg$c134 = peg$classExpectation([
15886
15911
  "N",
15887
15912
  "X",
15888
15913
  "n",
15889
15914
  "x"
15890
15915
  ], false, false);
15891
- const peg$c131 = function(startTag, content, endTag) {
15916
+ const peg$c135 = function(startTag, content, endTag) {
15892
15917
  return $51ced2cf8b50f946$export$665e0f4515a68234(startTag, endTag, content);
15893
15918
  };
15894
- const peg$c132 = "start_of_abc";
15895
- const peg$c133 = peg$literalExpectation("start_of_abc", false);
15896
- const peg$c134 = "end_of_abc";
15897
- const peg$c135 = peg$literalExpectation("end_of_abc", false);
15898
- const peg$c136 = function(tagName) {
15919
+ const peg$c136 = "start_of_abc";
15920
+ const peg$c137 = peg$literalExpectation("start_of_abc", false);
15921
+ const peg$c138 = "end_of_abc";
15922
+ const peg$c139 = peg$literalExpectation("end_of_abc", false);
15923
+ const peg$c140 = function(tagName) {
15899
15924
  return $51ced2cf8b50f946$export$4478cda40be33ba2(tagName, null, null, location());
15900
15925
  };
15901
- const peg$c137 = "start_of_grid";
15902
- const peg$c138 = peg$literalExpectation("start_of_grid", false);
15903
- const peg$c139 = "sog";
15904
- const peg$c140 = peg$literalExpectation("sog", false);
15905
- const peg$c141 = "end_of_grid";
15906
- const peg$c142 = peg$literalExpectation("end_of_grid", false);
15907
- const peg$c143 = "eog";
15908
- const peg$c144 = peg$literalExpectation("eog", false);
15909
- const peg$c145 = "start_of_ly";
15910
- const peg$c146 = peg$literalExpectation("start_of_ly", false);
15911
- const peg$c147 = "end_of_ly";
15912
- const peg$c148 = peg$literalExpectation("end_of_ly", false);
15913
- const peg$c149 = "start_of_tab";
15914
- const peg$c150 = peg$literalExpectation("start_of_tab", false);
15915
- const peg$c151 = "sot";
15916
- const peg$c152 = peg$literalExpectation("sot", false);
15917
- const peg$c153 = "end_of_tab";
15918
- const peg$c154 = peg$literalExpectation("end_of_tab", false);
15919
- const peg$c155 = "eot";
15920
- const peg$c156 = peg$literalExpectation("eot", false);
15921
- const peg$c157 = peg$anyExpectation();
15922
- const peg$c158 = peg$otherExpectation("whitespace");
15923
- const peg$c159 = peg$otherExpectation("optional whitespace");
15924
- const peg$c160 = /^[ \t\n\r]/;
15925
- const peg$c161 = peg$classExpectation([
15926
+ const peg$c141 = "start_of_grid";
15927
+ const peg$c142 = peg$literalExpectation("start_of_grid", false);
15928
+ const peg$c143 = "sog";
15929
+ const peg$c144 = peg$literalExpectation("sog", false);
15930
+ const peg$c145 = "end_of_grid";
15931
+ const peg$c146 = peg$literalExpectation("end_of_grid", false);
15932
+ const peg$c147 = "eog";
15933
+ const peg$c148 = peg$literalExpectation("eog", false);
15934
+ const peg$c149 = "start_of_ly";
15935
+ const peg$c150 = peg$literalExpectation("start_of_ly", false);
15936
+ const peg$c151 = "end_of_ly";
15937
+ const peg$c152 = peg$literalExpectation("end_of_ly", false);
15938
+ const peg$c153 = "start_of_tab";
15939
+ const peg$c154 = peg$literalExpectation("start_of_tab", false);
15940
+ const peg$c155 = "sot";
15941
+ const peg$c156 = peg$literalExpectation("sot", false);
15942
+ const peg$c157 = "end_of_tab";
15943
+ const peg$c158 = peg$literalExpectation("end_of_tab", false);
15944
+ const peg$c159 = "eot";
15945
+ const peg$c160 = peg$literalExpectation("eot", false);
15946
+ const peg$c161 = peg$anyExpectation();
15947
+ const peg$c162 = peg$otherExpectation("whitespace");
15948
+ const peg$c163 = peg$otherExpectation("optional whitespace");
15949
+ const peg$c164 = /^[ \t\n\r]/;
15950
+ const peg$c165 = peg$classExpectation([
15926
15951
  " ",
15927
15952
  " ",
15928
15953
  "\n",
15929
15954
  "\r"
15930
15955
  ], false, false);
15931
- const peg$c162 = peg$otherExpectation("space");
15932
- const peg$c163 = /^[ \t]/;
15933
- const peg$c164 = peg$classExpectation([
15956
+ const peg$c166 = peg$otherExpectation("space");
15957
+ const peg$c167 = /^[ \t]/;
15958
+ const peg$c168 = peg$classExpectation([
15934
15959
  " ",
15935
15960
  " "
15936
15961
  ], false, false);
15937
- const peg$c165 = /^[\n\r]/;
15938
- const peg$c166 = peg$classExpectation([
15962
+ const peg$c169 = /^[\n\r]/;
15963
+ const peg$c170 = peg$classExpectation([
15939
15964
  "\n",
15940
15965
  "\r"
15941
15966
  ], false, false);
15942
- const peg$c167 = "\n";
15943
- const peg$c168 = peg$literalExpectation("\n", false);
15944
- const peg$c169 = "\r";
15945
- const peg$c170 = peg$literalExpectation("\r", false);
15967
+ const peg$c171 = "\n";
15968
+ const peg$c172 = peg$literalExpectation("\n", false);
15969
+ const peg$c173 = "\r";
15970
+ const peg$c174 = peg$literalExpectation("\r", false);
15946
15971
  let peg$currPos = 0;
15947
15972
  let peg$savedPos = 0;
15948
15973
  const peg$posDetailsCache = [
@@ -17222,7 +17247,7 @@ to a key`);
17222
17247
  return s0;
17223
17248
  }
17224
17249
  function peg$parseTagSelector() {
17225
- let s0, s1, s2;
17250
+ let s0, s1, s2, s3;
17226
17251
  s0 = peg$currPos;
17227
17252
  if (input.charCodeAt(peg$currPos) === 45) {
17228
17253
  s1 = peg$c67;
@@ -17234,9 +17259,16 @@ to a key`);
17234
17259
  if (s1 !== peg$FAILED) {
17235
17260
  s2 = peg$parseTagSelectorValue();
17236
17261
  if (s2 !== peg$FAILED) {
17237
- peg$savedPos = s0;
17238
- s1 = peg$c69(s2);
17239
- s0 = s1;
17262
+ s3 = peg$parseTagSelectorNegator();
17263
+ if (s3 === peg$FAILED) s3 = null;
17264
+ if (s3 !== peg$FAILED) {
17265
+ peg$savedPos = s0;
17266
+ s1 = peg$c69(s2, s3);
17267
+ s0 = s1;
17268
+ } else {
17269
+ peg$currPos = s0;
17270
+ s0 = peg$FAILED;
17271
+ }
17240
17272
  } else {
17241
17273
  peg$currPos = s0;
17242
17274
  s0 = peg$FAILED;
@@ -17247,6 +17279,23 @@ to a key`);
17247
17279
  }
17248
17280
  return s0;
17249
17281
  }
17282
+ function peg$parseTagSelectorNegator() {
17283
+ let s0, s1;
17284
+ s0 = peg$currPos;
17285
+ if (input.charCodeAt(peg$currPos) === 33) {
17286
+ s1 = peg$c70;
17287
+ peg$currPos++;
17288
+ } else {
17289
+ s1 = peg$FAILED;
17290
+ if (peg$silentFails === 0) peg$fail(peg$c71);
17291
+ }
17292
+ if (s1 !== peg$FAILED) {
17293
+ peg$savedPos = s0;
17294
+ s1 = peg$c72();
17295
+ }
17296
+ s0 = s1;
17297
+ return s0;
17298
+ }
17250
17299
  function peg$parseTagSelectorValue() {
17251
17300
  let s0, s1, s2;
17252
17301
  s0 = peg$currPos;
@@ -17287,7 +17336,7 @@ to a key`);
17287
17336
  s2 = peg$parseTagValue();
17288
17337
  if (s2 !== peg$FAILED) {
17289
17338
  peg$savedPos = s0;
17290
- s1 = peg$c70(s2);
17339
+ s1 = peg$c73(s2);
17291
17340
  s0 = s1;
17292
17341
  } else {
17293
17342
  peg$currPos = s0;
@@ -17305,7 +17354,7 @@ to a key`);
17305
17354
  s1 = peg$parseTagAttributes();
17306
17355
  if (s1 !== peg$FAILED) {
17307
17356
  peg$savedPos = s0;
17308
- s1 = peg$c71(s1);
17357
+ s1 = peg$c74(s1);
17309
17358
  }
17310
17359
  s0 = s1;
17311
17360
  if (s0 === peg$FAILED) {
@@ -17313,7 +17362,7 @@ to a key`);
17313
17362
  s1 = peg$parseTagSimpleValue();
17314
17363
  if (s1 !== peg$FAILED) {
17315
17364
  peg$savedPos = s0;
17316
- s1 = peg$c72(s1);
17365
+ s1 = peg$c75(s1);
17317
17366
  }
17318
17367
  s0 = s1;
17319
17368
  }
@@ -17331,7 +17380,7 @@ to a key`);
17331
17380
  else s1 = peg$FAILED;
17332
17381
  if (s1 !== peg$FAILED) {
17333
17382
  peg$savedPos = s0;
17334
- s1 = peg$c73(s1);
17383
+ s1 = peg$c76(s1);
17335
17384
  }
17336
17385
  s0 = s1;
17337
17386
  return s0;
@@ -17344,7 +17393,7 @@ to a key`);
17344
17393
  s2 = peg$parseTagAttribute();
17345
17394
  if (s2 !== peg$FAILED) {
17346
17395
  peg$savedPos = s0;
17347
- s1 = peg$c74(s2);
17396
+ s1 = peg$c77(s2);
17348
17397
  s0 = s1;
17349
17398
  } else {
17350
17399
  peg$currPos = s0;
@@ -17376,7 +17425,7 @@ to a key`);
17376
17425
  s5 = peg$parseTagAttributeValue();
17377
17426
  if (s5 !== peg$FAILED) {
17378
17427
  peg$savedPos = s0;
17379
- s1 = peg$c75(s1, s5);
17428
+ s1 = peg$c78(s1, s5);
17380
17429
  s0 = s1;
17381
17430
  } else {
17382
17431
  peg$currPos = s0;
@@ -17403,21 +17452,21 @@ to a key`);
17403
17452
  function peg$parseTagName() {
17404
17453
  let s0, s1;
17405
17454
  s0 = [];
17406
- if (peg$c76.test(input.charAt(peg$currPos))) {
17455
+ if (peg$c79.test(input.charAt(peg$currPos))) {
17407
17456
  s1 = input.charAt(peg$currPos);
17408
17457
  peg$currPos++;
17409
17458
  } else {
17410
17459
  s1 = peg$FAILED;
17411
- if (peg$silentFails === 0) peg$fail(peg$c77);
17460
+ if (peg$silentFails === 0) peg$fail(peg$c80);
17412
17461
  }
17413
17462
  if (s1 !== peg$FAILED) while (s1 !== peg$FAILED) {
17414
17463
  s0.push(s1);
17415
- if (peg$c76.test(input.charAt(peg$currPos))) {
17464
+ if (peg$c79.test(input.charAt(peg$currPos))) {
17416
17465
  s1 = input.charAt(peg$currPos);
17417
17466
  peg$currPos++;
17418
17467
  } else {
17419
17468
  s1 = peg$FAILED;
17420
- if (peg$silentFails === 0) peg$fail(peg$c77);
17469
+ if (peg$silentFails === 0) peg$fail(peg$c80);
17421
17470
  }
17422
17471
  }
17423
17472
  else s0 = peg$FAILED;
@@ -17436,7 +17485,7 @@ to a key`);
17436
17485
  }
17437
17486
  if (s2 !== peg$FAILED) {
17438
17487
  peg$savedPos = s0;
17439
- s1 = peg$c78(s2);
17488
+ s1 = peg$c81(s2);
17440
17489
  s0 = s1;
17441
17490
  } else {
17442
17491
  peg$currPos = s0;
@@ -17450,12 +17499,12 @@ to a key`);
17450
17499
  }
17451
17500
  function peg$parseTagValueChar() {
17452
17501
  let s0, s1, s2, s3;
17453
- if (peg$c79.test(input.charAt(peg$currPos))) {
17502
+ if (peg$c82.test(input.charAt(peg$currPos))) {
17454
17503
  s0 = input.charAt(peg$currPos);
17455
17504
  peg$currPos++;
17456
17505
  } else {
17457
17506
  s0 = peg$FAILED;
17458
- if (peg$silentFails === 0) peg$fail(peg$c80);
17507
+ if (peg$silentFails === 0) peg$fail(peg$c83);
17459
17508
  }
17460
17509
  if (s0 === peg$FAILED) {
17461
17510
  s0 = peg$currPos;
@@ -17523,21 +17572,21 @@ to a key`);
17523
17572
  let s0, s1, s2;
17524
17573
  s0 = peg$currPos;
17525
17574
  s1 = [];
17526
- if (peg$c81.test(input.charAt(peg$currPos))) {
17575
+ if (peg$c84.test(input.charAt(peg$currPos))) {
17527
17576
  s2 = input.charAt(peg$currPos);
17528
17577
  peg$currPos++;
17529
17578
  } else {
17530
17579
  s2 = peg$FAILED;
17531
- if (peg$silentFails === 0) peg$fail(peg$c82);
17580
+ if (peg$silentFails === 0) peg$fail(peg$c85);
17532
17581
  }
17533
17582
  if (s2 !== peg$FAILED) while (s2 !== peg$FAILED) {
17534
17583
  s1.push(s2);
17535
- if (peg$c81.test(input.charAt(peg$currPos))) {
17584
+ if (peg$c84.test(input.charAt(peg$currPos))) {
17536
17585
  s2 = input.charAt(peg$currPos);
17537
17586
  peg$currPos++;
17538
17587
  } else {
17539
17588
  s2 = peg$FAILED;
17540
- if (peg$silentFails === 0) peg$fail(peg$c82);
17589
+ if (peg$silentFails === 0) peg$fail(peg$c85);
17541
17590
  }
17542
17591
  }
17543
17592
  else s1 = peg$FAILED;
@@ -17549,11 +17598,11 @@ to a key`);
17549
17598
  let s0, s1, s2, s3, s4;
17550
17599
  s0 = peg$currPos;
17551
17600
  if (input.charCodeAt(peg$currPos) === 34) {
17552
- s1 = peg$c83;
17601
+ s1 = peg$c86;
17553
17602
  peg$currPos++;
17554
17603
  } else {
17555
17604
  s1 = peg$FAILED;
17556
- if (peg$silentFails === 0) peg$fail(peg$c84);
17605
+ if (peg$silentFails === 0) peg$fail(peg$c87);
17557
17606
  }
17558
17607
  if (s1 !== peg$FAILED) {
17559
17608
  s2 = peg$currPos;
@@ -17567,15 +17616,15 @@ to a key`);
17567
17616
  else s2 = s3;
17568
17617
  if (s2 !== peg$FAILED) {
17569
17618
  if (input.charCodeAt(peg$currPos) === 34) {
17570
- s3 = peg$c83;
17619
+ s3 = peg$c86;
17571
17620
  peg$currPos++;
17572
17621
  } else {
17573
17622
  s3 = peg$FAILED;
17574
- if (peg$silentFails === 0) peg$fail(peg$c84);
17623
+ if (peg$silentFails === 0) peg$fail(peg$c87);
17575
17624
  }
17576
17625
  if (s3 !== peg$FAILED) {
17577
17626
  peg$savedPos = s0;
17578
- s1 = peg$c69(s2);
17627
+ s1 = peg$c88(s2);
17579
17628
  s0 = s1;
17580
17629
  } else {
17581
17630
  peg$currPos = s0;
@@ -17593,12 +17642,12 @@ to a key`);
17593
17642
  }
17594
17643
  function peg$parseTagAttributeValueChar() {
17595
17644
  let s0, s1, s2, s3;
17596
- if (peg$c85.test(input.charAt(peg$currPos))) {
17645
+ if (peg$c89.test(input.charAt(peg$currPos))) {
17597
17646
  s0 = input.charAt(peg$currPos);
17598
17647
  peg$currPos++;
17599
17648
  } else {
17600
17649
  s0 = peg$FAILED;
17601
- if (peg$silentFails === 0) peg$fail(peg$c86);
17650
+ if (peg$silentFails === 0) peg$fail(peg$c90);
17602
17651
  }
17603
17652
  if (s0 === peg$FAILED) {
17604
17653
  s0 = peg$currPos;
@@ -17634,15 +17683,15 @@ to a key`);
17634
17683
  if (s2 === peg$FAILED) {
17635
17684
  s2 = peg$currPos;
17636
17685
  if (input.charCodeAt(peg$currPos) === 34) {
17637
- s3 = peg$c83;
17686
+ s3 = peg$c86;
17638
17687
  peg$currPos++;
17639
17688
  } else {
17640
17689
  s3 = peg$FAILED;
17641
- if (peg$silentFails === 0) peg$fail(peg$c84);
17690
+ if (peg$silentFails === 0) peg$fail(peg$c87);
17642
17691
  }
17643
17692
  if (s3 !== peg$FAILED) {
17644
17693
  peg$savedPos = s2;
17645
- s3 = peg$c87();
17694
+ s3 = peg$c91();
17646
17695
  }
17647
17696
  s2 = s3;
17648
17697
  }
@@ -17672,12 +17721,12 @@ to a key`);
17672
17721
  s3 = peg$parseBaseFret();
17673
17722
  if (s3 === peg$FAILED) s3 = null;
17674
17723
  if (s3 !== peg$FAILED) {
17675
- if (input.substr(peg$currPos, 5) === peg$c88) {
17676
- s4 = peg$c88;
17724
+ if (input.substr(peg$currPos, 5) === peg$c92) {
17725
+ s4 = peg$c92;
17677
17726
  peg$currPos += 5;
17678
17727
  } else {
17679
17728
  s4 = peg$FAILED;
17680
- if (peg$silentFails === 0) peg$fail(peg$c89);
17729
+ if (peg$silentFails === 0) peg$fail(peg$c93);
17681
17730
  }
17682
17731
  if (s4 !== peg$FAILED) {
17683
17732
  s5 = [];
@@ -17692,7 +17741,7 @@ to a key`);
17692
17741
  if (s6 === peg$FAILED) s6 = null;
17693
17742
  if (s6 !== peg$FAILED) {
17694
17743
  peg$savedPos = s0;
17695
- s1 = peg$c90(s1, s3, s5, s6);
17744
+ s1 = peg$c94(s1, s3, s5, s6);
17696
17745
  s0 = s1;
17697
17746
  } else {
17698
17747
  peg$currPos = s0;
@@ -17777,11 +17826,11 @@ to a key`);
17777
17826
  s0 = peg$currPos;
17778
17827
  s1 = peg$currPos;
17779
17828
  if (input.charCodeAt(peg$currPos) === 47) {
17780
- s2 = peg$c91;
17829
+ s2 = peg$c95;
17781
17830
  peg$currPos++;
17782
17831
  } else {
17783
17832
  s2 = peg$FAILED;
17784
- if (peg$silentFails === 0) peg$fail(peg$c92);
17833
+ if (peg$silentFails === 0) peg$fail(peg$c96);
17785
17834
  }
17786
17835
  if (s2 !== peg$FAILED) {
17787
17836
  s3 = peg$parseChordDefinitionNote();
@@ -17807,44 +17856,44 @@ to a key`);
17807
17856
  let s0, s1, s2, s3;
17808
17857
  s0 = peg$currPos;
17809
17858
  s1 = peg$currPos;
17810
- if (peg$c93.test(input.charAt(peg$currPos))) {
17859
+ if (peg$c97.test(input.charAt(peg$currPos))) {
17811
17860
  s2 = input.charAt(peg$currPos);
17812
17861
  peg$currPos++;
17813
17862
  } else {
17814
17863
  s2 = peg$FAILED;
17815
- if (peg$silentFails === 0) peg$fail(peg$c94);
17864
+ if (peg$silentFails === 0) peg$fail(peg$c98);
17816
17865
  }
17817
17866
  if (s2 !== peg$FAILED) {
17818
- if (peg$c95.test(input.charAt(peg$currPos))) {
17867
+ if (peg$c99.test(input.charAt(peg$currPos))) {
17819
17868
  s3 = input.charAt(peg$currPos);
17820
17869
  peg$currPos++;
17821
17870
  } else {
17822
17871
  s3 = peg$FAILED;
17823
- if (peg$silentFails === 0) peg$fail(peg$c96);
17872
+ if (peg$silentFails === 0) peg$fail(peg$c100);
17824
17873
  }
17825
17874
  if (s3 === peg$FAILED) {
17826
- if (input.substr(peg$currPos, 2) === peg$c97) {
17827
- s3 = peg$c97;
17875
+ if (input.substr(peg$currPos, 2) === peg$c101) {
17876
+ s3 = peg$c101;
17828
17877
  peg$currPos += 2;
17829
17878
  } else {
17830
17879
  s3 = peg$FAILED;
17831
- if (peg$silentFails === 0) peg$fail(peg$c98);
17880
+ if (peg$silentFails === 0) peg$fail(peg$c102);
17832
17881
  }
17833
17882
  if (s3 === peg$FAILED) {
17834
17883
  if (input.charCodeAt(peg$currPos) === 115) {
17835
- s3 = peg$c99;
17884
+ s3 = peg$c103;
17836
17885
  peg$currPos++;
17837
17886
  } else {
17838
17887
  s3 = peg$FAILED;
17839
- if (peg$silentFails === 0) peg$fail(peg$c100);
17888
+ if (peg$silentFails === 0) peg$fail(peg$c104);
17840
17889
  }
17841
17890
  if (s3 === peg$FAILED) {
17842
- if (input.substr(peg$currPos, 2) === peg$c101) {
17843
- s3 = peg$c101;
17891
+ if (input.substr(peg$currPos, 2) === peg$c105) {
17892
+ s3 = peg$c105;
17844
17893
  peg$currPos += 2;
17845
17894
  } else {
17846
17895
  s3 = peg$FAILED;
17847
- if (peg$silentFails === 0) peg$fail(peg$c102);
17896
+ if (peg$silentFails === 0) peg$fail(peg$c106);
17848
17897
  }
17849
17898
  }
17850
17899
  }
@@ -17872,21 +17921,21 @@ to a key`);
17872
17921
  let s0, s1, s2;
17873
17922
  s0 = peg$currPos;
17874
17923
  s1 = [];
17875
- if (peg$c103.test(input.charAt(peg$currPos))) {
17924
+ if (peg$c107.test(input.charAt(peg$currPos))) {
17876
17925
  s2 = input.charAt(peg$currPos);
17877
17926
  peg$currPos++;
17878
17927
  } else {
17879
17928
  s2 = peg$FAILED;
17880
- if (peg$silentFails === 0) peg$fail(peg$c104);
17929
+ if (peg$silentFails === 0) peg$fail(peg$c108);
17881
17930
  }
17882
17931
  if (s2 !== peg$FAILED) while (s2 !== peg$FAILED) {
17883
17932
  s1.push(s2);
17884
- if (peg$c103.test(input.charAt(peg$currPos))) {
17933
+ if (peg$c107.test(input.charAt(peg$currPos))) {
17885
17934
  s2 = input.charAt(peg$currPos);
17886
17935
  peg$currPos++;
17887
17936
  } else {
17888
17937
  s2 = peg$FAILED;
17889
- if (peg$silentFails === 0) peg$fail(peg$c104);
17938
+ if (peg$silentFails === 0) peg$fail(peg$c108);
17890
17939
  }
17891
17940
  }
17892
17941
  else s1 = peg$FAILED;
@@ -17897,12 +17946,12 @@ to a key`);
17897
17946
  function peg$parseBaseFret() {
17898
17947
  let s0, s1, s2, s3, s4;
17899
17948
  s0 = peg$currPos;
17900
- if (input.substr(peg$currPos, 9) === peg$c105) {
17901
- s1 = peg$c105;
17949
+ if (input.substr(peg$currPos, 9) === peg$c109) {
17950
+ s1 = peg$c109;
17902
17951
  peg$currPos += 9;
17903
17952
  } else {
17904
17953
  s1 = peg$FAILED;
17905
- if (peg$silentFails === 0) peg$fail(peg$c106);
17954
+ if (peg$silentFails === 0) peg$fail(peg$c110);
17906
17955
  }
17907
17956
  if (s1 !== peg$FAILED) {
17908
17957
  s2 = peg$parse__();
@@ -17912,7 +17961,7 @@ to a key`);
17912
17961
  s4 = peg$parse__();
17913
17962
  if (s4 !== peg$FAILED) {
17914
17963
  peg$savedPos = s0;
17915
- s1 = peg$c107(s3);
17964
+ s1 = peg$c111(s3);
17916
17965
  s0 = s1;
17917
17966
  } else {
17918
17967
  peg$currPos = s0;
@@ -17937,12 +17986,12 @@ to a key`);
17937
17986
  s0 = peg$currPos;
17938
17987
  s1 = peg$parse__();
17939
17988
  if (s1 !== peg$FAILED) {
17940
- if (input.substr(peg$currPos, 7) === peg$c108) {
17941
- s2 = peg$c108;
17989
+ if (input.substr(peg$currPos, 7) === peg$c112) {
17990
+ s2 = peg$c112;
17942
17991
  peg$currPos += 7;
17943
17992
  } else {
17944
17993
  s2 = peg$FAILED;
17945
- if (peg$silentFails === 0) peg$fail(peg$c109);
17994
+ if (peg$silentFails === 0) peg$fail(peg$c113);
17946
17995
  }
17947
17996
  if (s2 !== peg$FAILED) {
17948
17997
  s3 = [];
@@ -17954,7 +18003,7 @@ to a key`);
17954
18003
  else s3 = peg$FAILED;
17955
18004
  if (s3 !== peg$FAILED) {
17956
18005
  peg$savedPos = s0;
17957
- s1 = peg$c110(s3);
18006
+ s1 = peg$c114(s3);
17958
18007
  s0 = s1;
17959
18008
  } else {
17960
18009
  peg$currPos = s0;
@@ -17978,7 +18027,7 @@ to a key`);
17978
18027
  s2 = peg$parseFinger();
17979
18028
  if (s2 !== peg$FAILED) {
17980
18029
  peg$savedPos = s0;
17981
- s1 = peg$c111(s2);
18030
+ s1 = peg$c115(s2);
17982
18031
  s0 = s1;
17983
18032
  } else {
17984
18033
  peg$currPos = s0;
@@ -17994,12 +18043,12 @@ to a key`);
17994
18043
  let s0;
17995
18044
  s0 = peg$parseFingerNumber();
17996
18045
  if (s0 === peg$FAILED) {
17997
- if (peg$c112.test(input.charAt(peg$currPos))) {
18046
+ if (peg$c116.test(input.charAt(peg$currPos))) {
17998
18047
  s0 = input.charAt(peg$currPos);
17999
18048
  peg$currPos++;
18000
18049
  } else {
18001
18050
  s0 = peg$FAILED;
18002
- if (peg$silentFails === 0) peg$fail(peg$c113);
18051
+ if (peg$silentFails === 0) peg$fail(peg$c117);
18003
18052
  }
18004
18053
  }
18005
18054
  return s0;
@@ -18007,39 +18056,39 @@ to a key`);
18007
18056
  function peg$parseFingerNumber() {
18008
18057
  let s0, s1;
18009
18058
  s0 = peg$currPos;
18010
- if (peg$c114.test(input.charAt(peg$currPos))) {
18059
+ if (peg$c118.test(input.charAt(peg$currPos))) {
18011
18060
  s1 = input.charAt(peg$currPos);
18012
18061
  peg$currPos++;
18013
18062
  } else {
18014
18063
  s1 = peg$FAILED;
18015
- if (peg$silentFails === 0) peg$fail(peg$c115);
18064
+ if (peg$silentFails === 0) peg$fail(peg$c119);
18016
18065
  }
18017
18066
  if (s1 !== peg$FAILED) {
18018
18067
  peg$savedPos = s0;
18019
- s1 = peg$c116(s1);
18068
+ s1 = peg$c120(s1);
18020
18069
  }
18021
18070
  s0 = s1;
18022
18071
  return s0;
18023
18072
  }
18024
18073
  function peg$parseFingerLetter() {
18025
18074
  let s0;
18026
- if (peg$c117.test(input.charAt(peg$currPos))) {
18075
+ if (peg$c121.test(input.charAt(peg$currPos))) {
18027
18076
  s0 = input.charAt(peg$currPos);
18028
18077
  peg$currPos++;
18029
18078
  } else {
18030
18079
  s0 = peg$FAILED;
18031
- if (peg$silentFails === 0) peg$fail(peg$c118);
18080
+ if (peg$silentFails === 0) peg$fail(peg$c122);
18032
18081
  }
18033
18082
  return s0;
18034
18083
  }
18035
18084
  function peg$parseNoFingerSetting() {
18036
18085
  let s0;
18037
- if (peg$c119.test(input.charAt(peg$currPos))) {
18086
+ if (peg$c123.test(input.charAt(peg$currPos))) {
18038
18087
  s0 = input.charAt(peg$currPos);
18039
18088
  peg$currPos++;
18040
18089
  } else {
18041
18090
  s0 = peg$FAILED;
18042
- if (peg$silentFails === 0) peg$fail(peg$c120);
18091
+ if (peg$silentFails === 0) peg$fail(peg$c124);
18043
18092
  }
18044
18093
  return s0;
18045
18094
  }
@@ -18051,7 +18100,7 @@ to a key`);
18051
18100
  s2 = peg$parseFret();
18052
18101
  if (s2 !== peg$FAILED) {
18053
18102
  peg$savedPos = s0;
18054
- s1 = peg$c121(s2);
18103
+ s1 = peg$c125(s2);
18055
18104
  s0 = s1;
18056
18105
  } else {
18057
18106
  peg$currPos = s0;
@@ -18075,7 +18124,7 @@ to a key`);
18075
18124
  }
18076
18125
  if (s2 !== peg$FAILED) {
18077
18126
  peg$savedPos = s0;
18078
- s1 = peg$c121(s2);
18127
+ s1 = peg$c125(s2);
18079
18128
  s0 = s1;
18080
18129
  } else {
18081
18130
  peg$currPos = s0;
@@ -18090,16 +18139,16 @@ to a key`);
18090
18139
  function peg$parseFretNumber() {
18091
18140
  let s0, s1;
18092
18141
  s0 = peg$currPos;
18093
- if (peg$c122.test(input.charAt(peg$currPos))) {
18142
+ if (peg$c126.test(input.charAt(peg$currPos))) {
18094
18143
  s1 = input.charAt(peg$currPos);
18095
18144
  peg$currPos++;
18096
18145
  } else {
18097
18146
  s1 = peg$FAILED;
18098
- if (peg$silentFails === 0) peg$fail(peg$c123);
18147
+ if (peg$silentFails === 0) peg$fail(peg$c127);
18099
18148
  }
18100
18149
  if (s1 !== peg$FAILED) {
18101
18150
  peg$savedPos = s0;
18102
- s1 = peg$c116(s1);
18151
+ s1 = peg$c120(s1);
18103
18152
  }
18104
18153
  s0 = s1;
18105
18154
  return s0;
@@ -18108,35 +18157,35 @@ to a key`);
18108
18157
  let s0, s1;
18109
18158
  s0 = peg$currPos;
18110
18159
  if (input.charCodeAt(peg$currPos) === 48) {
18111
- s1 = peg$c124;
18160
+ s1 = peg$c128;
18112
18161
  peg$currPos++;
18113
18162
  } else {
18114
18163
  s1 = peg$FAILED;
18115
- if (peg$silentFails === 0) peg$fail(peg$c125);
18164
+ if (peg$silentFails === 0) peg$fail(peg$c129);
18116
18165
  }
18117
18166
  if (s1 !== peg$FAILED) {
18118
18167
  peg$savedPos = s0;
18119
- s1 = peg$c126();
18168
+ s1 = peg$c130();
18120
18169
  }
18121
18170
  s0 = s1;
18122
18171
  return s0;
18123
18172
  }
18124
18173
  function peg$parseNonSoundingString() {
18125
18174
  let s0;
18126
- if (input.substr(peg$currPos, 2) === peg$c127) {
18127
- s0 = peg$c127;
18175
+ if (input.substr(peg$currPos, 2) === peg$c131) {
18176
+ s0 = peg$c131;
18128
18177
  peg$currPos += 2;
18129
18178
  } else {
18130
18179
  s0 = peg$FAILED;
18131
- if (peg$silentFails === 0) peg$fail(peg$c128);
18180
+ if (peg$silentFails === 0) peg$fail(peg$c132);
18132
18181
  }
18133
18182
  if (s0 === peg$FAILED) {
18134
- if (peg$c129.test(input.charAt(peg$currPos))) {
18183
+ if (peg$c133.test(input.charAt(peg$currPos))) {
18135
18184
  s0 = input.charAt(peg$currPos);
18136
18185
  peg$currPos++;
18137
18186
  } else {
18138
18187
  s0 = peg$FAILED;
18139
- if (peg$silentFails === 0) peg$fail(peg$c130);
18188
+ if (peg$silentFails === 0) peg$fail(peg$c134);
18140
18189
  }
18141
18190
  }
18142
18191
  return s0;
@@ -18223,7 +18272,7 @@ to a key`);
18223
18272
  s4 = peg$parseAbcEndTag();
18224
18273
  if (s4 !== peg$FAILED) {
18225
18274
  peg$savedPos = s0;
18226
- s1 = peg$c131(s1, s3, s4);
18275
+ s1 = peg$c135(s1, s3, s4);
18227
18276
  s0 = s1;
18228
18277
  } else {
18229
18278
  peg$currPos = s0;
@@ -18256,12 +18305,12 @@ to a key`);
18256
18305
  if (s1 !== peg$FAILED) {
18257
18306
  s2 = peg$parse_();
18258
18307
  if (s2 !== peg$FAILED) {
18259
- if (input.substr(peg$currPos, 12) === peg$c132) {
18260
- s3 = peg$c132;
18308
+ if (input.substr(peg$currPos, 12) === peg$c136) {
18309
+ s3 = peg$c136;
18261
18310
  peg$currPos += 12;
18262
18311
  } else {
18263
18312
  s3 = peg$FAILED;
18264
- if (peg$silentFails === 0) peg$fail(peg$c133);
18313
+ if (peg$silentFails === 0) peg$fail(peg$c137);
18265
18314
  }
18266
18315
  if (s3 !== peg$FAILED) {
18267
18316
  s4 = peg$parseTagSelector();
@@ -18332,12 +18381,12 @@ to a key`);
18332
18381
  if (s1 !== peg$FAILED) {
18333
18382
  s2 = peg$parse_();
18334
18383
  if (s2 !== peg$FAILED) {
18335
- if (input.substr(peg$currPos, 10) === peg$c134) {
18336
- s3 = peg$c134;
18384
+ if (input.substr(peg$currPos, 10) === peg$c138) {
18385
+ s3 = peg$c138;
18337
18386
  peg$currPos += 10;
18338
18387
  } else {
18339
18388
  s3 = peg$FAILED;
18340
- if (peg$silentFails === 0) peg$fail(peg$c135);
18389
+ if (peg$silentFails === 0) peg$fail(peg$c139);
18341
18390
  }
18342
18391
  if (s3 !== peg$FAILED) {
18343
18392
  s4 = peg$parse_();
@@ -18351,7 +18400,7 @@ to a key`);
18351
18400
  }
18352
18401
  if (s5 !== peg$FAILED) {
18353
18402
  peg$savedPos = s0;
18354
- s1 = peg$c136(s3);
18403
+ s1 = peg$c140(s3);
18355
18404
  s0 = s1;
18356
18405
  } else {
18357
18406
  peg$currPos = s0;
@@ -18445,7 +18494,7 @@ to a key`);
18445
18494
  s4 = peg$parseGridEndTag();
18446
18495
  if (s4 !== peg$FAILED) {
18447
18496
  peg$savedPos = s0;
18448
- s1 = peg$c131(s1, s3, s4);
18497
+ s1 = peg$c135(s1, s3, s4);
18449
18498
  s0 = s1;
18450
18499
  } else {
18451
18500
  peg$currPos = s0;
@@ -18478,20 +18527,20 @@ to a key`);
18478
18527
  if (s1 !== peg$FAILED) {
18479
18528
  s2 = peg$parse_();
18480
18529
  if (s2 !== peg$FAILED) {
18481
- if (input.substr(peg$currPos, 13) === peg$c137) {
18482
- s3 = peg$c137;
18530
+ if (input.substr(peg$currPos, 13) === peg$c141) {
18531
+ s3 = peg$c141;
18483
18532
  peg$currPos += 13;
18484
18533
  } else {
18485
18534
  s3 = peg$FAILED;
18486
- if (peg$silentFails === 0) peg$fail(peg$c138);
18535
+ if (peg$silentFails === 0) peg$fail(peg$c142);
18487
18536
  }
18488
18537
  if (s3 === peg$FAILED) {
18489
- if (input.substr(peg$currPos, 3) === peg$c139) {
18490
- s3 = peg$c139;
18538
+ if (input.substr(peg$currPos, 3) === peg$c143) {
18539
+ s3 = peg$c143;
18491
18540
  peg$currPos += 3;
18492
18541
  } else {
18493
18542
  s3 = peg$FAILED;
18494
- if (peg$silentFails === 0) peg$fail(peg$c140);
18543
+ if (peg$silentFails === 0) peg$fail(peg$c144);
18495
18544
  }
18496
18545
  }
18497
18546
  if (s3 !== peg$FAILED) {
@@ -18563,20 +18612,20 @@ to a key`);
18563
18612
  if (s1 !== peg$FAILED) {
18564
18613
  s2 = peg$parse_();
18565
18614
  if (s2 !== peg$FAILED) {
18566
- if (input.substr(peg$currPos, 11) === peg$c141) {
18567
- s3 = peg$c141;
18615
+ if (input.substr(peg$currPos, 11) === peg$c145) {
18616
+ s3 = peg$c145;
18568
18617
  peg$currPos += 11;
18569
18618
  } else {
18570
18619
  s3 = peg$FAILED;
18571
- if (peg$silentFails === 0) peg$fail(peg$c142);
18620
+ if (peg$silentFails === 0) peg$fail(peg$c146);
18572
18621
  }
18573
18622
  if (s3 === peg$FAILED) {
18574
- if (input.substr(peg$currPos, 3) === peg$c143) {
18575
- s3 = peg$c143;
18623
+ if (input.substr(peg$currPos, 3) === peg$c147) {
18624
+ s3 = peg$c147;
18576
18625
  peg$currPos += 3;
18577
18626
  } else {
18578
18627
  s3 = peg$FAILED;
18579
- if (peg$silentFails === 0) peg$fail(peg$c144);
18628
+ if (peg$silentFails === 0) peg$fail(peg$c148);
18580
18629
  }
18581
18630
  }
18582
18631
  if (s3 !== peg$FAILED) {
@@ -18591,7 +18640,7 @@ to a key`);
18591
18640
  }
18592
18641
  if (s5 !== peg$FAILED) {
18593
18642
  peg$savedPos = s0;
18594
- s1 = peg$c136(s3);
18643
+ s1 = peg$c140(s3);
18595
18644
  s0 = s1;
18596
18645
  } else {
18597
18646
  peg$currPos = s0;
@@ -18685,7 +18734,7 @@ to a key`);
18685
18734
  s4 = peg$parseLyEndTag();
18686
18735
  if (s4 !== peg$FAILED) {
18687
18736
  peg$savedPos = s0;
18688
- s1 = peg$c131(s1, s3, s4);
18737
+ s1 = peg$c135(s1, s3, s4);
18689
18738
  s0 = s1;
18690
18739
  } else {
18691
18740
  peg$currPos = s0;
@@ -18718,12 +18767,12 @@ to a key`);
18718
18767
  if (s1 !== peg$FAILED) {
18719
18768
  s2 = peg$parse_();
18720
18769
  if (s2 !== peg$FAILED) {
18721
- if (input.substr(peg$currPos, 11) === peg$c145) {
18722
- s3 = peg$c145;
18770
+ if (input.substr(peg$currPos, 11) === peg$c149) {
18771
+ s3 = peg$c149;
18723
18772
  peg$currPos += 11;
18724
18773
  } else {
18725
18774
  s3 = peg$FAILED;
18726
- if (peg$silentFails === 0) peg$fail(peg$c146);
18775
+ if (peg$silentFails === 0) peg$fail(peg$c150);
18727
18776
  }
18728
18777
  if (s3 !== peg$FAILED) {
18729
18778
  s4 = peg$parseTagSelector();
@@ -18794,12 +18843,12 @@ to a key`);
18794
18843
  if (s1 !== peg$FAILED) {
18795
18844
  s2 = peg$parse_();
18796
18845
  if (s2 !== peg$FAILED) {
18797
- if (input.substr(peg$currPos, 9) === peg$c147) {
18798
- s3 = peg$c147;
18846
+ if (input.substr(peg$currPos, 9) === peg$c151) {
18847
+ s3 = peg$c151;
18799
18848
  peg$currPos += 9;
18800
18849
  } else {
18801
18850
  s3 = peg$FAILED;
18802
- if (peg$silentFails === 0) peg$fail(peg$c148);
18851
+ if (peg$silentFails === 0) peg$fail(peg$c152);
18803
18852
  }
18804
18853
  if (s3 !== peg$FAILED) {
18805
18854
  s4 = peg$parse_();
@@ -18813,7 +18862,7 @@ to a key`);
18813
18862
  }
18814
18863
  if (s5 !== peg$FAILED) {
18815
18864
  peg$savedPos = s0;
18816
- s1 = peg$c136(s3);
18865
+ s1 = peg$c140(s3);
18817
18866
  s0 = s1;
18818
18867
  } else {
18819
18868
  peg$currPos = s0;
@@ -18907,7 +18956,7 @@ to a key`);
18907
18956
  s4 = peg$parseTabEndTag();
18908
18957
  if (s4 !== peg$FAILED) {
18909
18958
  peg$savedPos = s0;
18910
- s1 = peg$c131(s1, s3, s4);
18959
+ s1 = peg$c135(s1, s3, s4);
18911
18960
  s0 = s1;
18912
18961
  } else {
18913
18962
  peg$currPos = s0;
@@ -18940,20 +18989,20 @@ to a key`);
18940
18989
  if (s1 !== peg$FAILED) {
18941
18990
  s2 = peg$parse_();
18942
18991
  if (s2 !== peg$FAILED) {
18943
- if (input.substr(peg$currPos, 12) === peg$c149) {
18944
- s3 = peg$c149;
18992
+ if (input.substr(peg$currPos, 12) === peg$c153) {
18993
+ s3 = peg$c153;
18945
18994
  peg$currPos += 12;
18946
18995
  } else {
18947
18996
  s3 = peg$FAILED;
18948
- if (peg$silentFails === 0) peg$fail(peg$c150);
18997
+ if (peg$silentFails === 0) peg$fail(peg$c154);
18949
18998
  }
18950
18999
  if (s3 === peg$FAILED) {
18951
- if (input.substr(peg$currPos, 3) === peg$c151) {
18952
- s3 = peg$c151;
19000
+ if (input.substr(peg$currPos, 3) === peg$c155) {
19001
+ s3 = peg$c155;
18953
19002
  peg$currPos += 3;
18954
19003
  } else {
18955
19004
  s3 = peg$FAILED;
18956
- if (peg$silentFails === 0) peg$fail(peg$c152);
19005
+ if (peg$silentFails === 0) peg$fail(peg$c156);
18957
19006
  }
18958
19007
  }
18959
19008
  if (s3 !== peg$FAILED) {
@@ -19025,20 +19074,20 @@ to a key`);
19025
19074
  if (s1 !== peg$FAILED) {
19026
19075
  s2 = peg$parse_();
19027
19076
  if (s2 !== peg$FAILED) {
19028
- if (input.substr(peg$currPos, 10) === peg$c153) {
19029
- s3 = peg$c153;
19077
+ if (input.substr(peg$currPos, 10) === peg$c157) {
19078
+ s3 = peg$c157;
19030
19079
  peg$currPos += 10;
19031
19080
  } else {
19032
19081
  s3 = peg$FAILED;
19033
- if (peg$silentFails === 0) peg$fail(peg$c154);
19082
+ if (peg$silentFails === 0) peg$fail(peg$c158);
19034
19083
  }
19035
19084
  if (s3 === peg$FAILED) {
19036
- if (input.substr(peg$currPos, 3) === peg$c155) {
19037
- s3 = peg$c155;
19085
+ if (input.substr(peg$currPos, 3) === peg$c159) {
19086
+ s3 = peg$c159;
19038
19087
  peg$currPos += 3;
19039
19088
  } else {
19040
19089
  s3 = peg$FAILED;
19041
- if (peg$silentFails === 0) peg$fail(peg$c156);
19090
+ if (peg$silentFails === 0) peg$fail(peg$c160);
19042
19091
  }
19043
19092
  }
19044
19093
  if (s3 !== peg$FAILED) {
@@ -19053,7 +19102,7 @@ to a key`);
19053
19102
  }
19054
19103
  if (s5 !== peg$FAILED) {
19055
19104
  peg$savedPos = s0;
19056
- s1 = peg$c136(s3);
19105
+ s1 = peg$c140(s3);
19057
19106
  s0 = s1;
19058
19107
  } else {
19059
19108
  peg$currPos = s0;
@@ -19084,7 +19133,7 @@ to a key`);
19084
19133
  peg$currPos++;
19085
19134
  } else {
19086
19135
  s0 = peg$FAILED;
19087
- if (peg$silentFails === 0) peg$fail(peg$c157);
19136
+ if (peg$silentFails === 0) peg$fail(peg$c161);
19088
19137
  }
19089
19138
  return s0;
19090
19139
  }
@@ -19101,7 +19150,7 @@ to a key`);
19101
19150
  peg$silentFails--;
19102
19151
  if (s0 === peg$FAILED) {
19103
19152
  s1 = peg$FAILED;
19104
- if (peg$silentFails === 0) peg$fail(peg$c158);
19153
+ if (peg$silentFails === 0) peg$fail(peg$c162);
19105
19154
  }
19106
19155
  return s0;
19107
19156
  }
@@ -19117,18 +19166,18 @@ to a key`);
19117
19166
  peg$silentFails--;
19118
19167
  if (s0 === peg$FAILED) {
19119
19168
  s1 = peg$FAILED;
19120
- if (peg$silentFails === 0) peg$fail(peg$c159);
19169
+ if (peg$silentFails === 0) peg$fail(peg$c163);
19121
19170
  }
19122
19171
  return s0;
19123
19172
  }
19124
19173
  function peg$parseWhitespaceCharacter() {
19125
19174
  let s0;
19126
- if (peg$c160.test(input.charAt(peg$currPos))) {
19175
+ if (peg$c164.test(input.charAt(peg$currPos))) {
19127
19176
  s0 = input.charAt(peg$currPos);
19128
19177
  peg$currPos++;
19129
19178
  } else {
19130
19179
  s0 = peg$FAILED;
19131
- if (peg$silentFails === 0) peg$fail(peg$c161);
19180
+ if (peg$silentFails === 0) peg$fail(peg$c165);
19132
19181
  }
19133
19182
  return s0;
19134
19183
  }
@@ -19137,21 +19186,21 @@ to a key`);
19137
19186
  peg$silentFails++;
19138
19187
  s0 = peg$currPos;
19139
19188
  s1 = [];
19140
- if (peg$c163.test(input.charAt(peg$currPos))) {
19189
+ if (peg$c167.test(input.charAt(peg$currPos))) {
19141
19190
  s2 = input.charAt(peg$currPos);
19142
19191
  peg$currPos++;
19143
19192
  } else {
19144
19193
  s2 = peg$FAILED;
19145
- if (peg$silentFails === 0) peg$fail(peg$c164);
19194
+ if (peg$silentFails === 0) peg$fail(peg$c168);
19146
19195
  }
19147
19196
  if (s2 !== peg$FAILED) while (s2 !== peg$FAILED) {
19148
19197
  s1.push(s2);
19149
- if (peg$c163.test(input.charAt(peg$currPos))) {
19198
+ if (peg$c167.test(input.charAt(peg$currPos))) {
19150
19199
  s2 = input.charAt(peg$currPos);
19151
19200
  peg$currPos++;
19152
19201
  } else {
19153
19202
  s2 = peg$FAILED;
19154
- if (peg$silentFails === 0) peg$fail(peg$c164);
19203
+ if (peg$silentFails === 0) peg$fail(peg$c168);
19155
19204
  }
19156
19205
  }
19157
19206
  else s1 = peg$FAILED;
@@ -19160,18 +19209,18 @@ to a key`);
19160
19209
  peg$silentFails--;
19161
19210
  if (s0 === peg$FAILED) {
19162
19211
  s1 = peg$FAILED;
19163
- if (peg$silentFails === 0) peg$fail(peg$c162);
19212
+ if (peg$silentFails === 0) peg$fail(peg$c166);
19164
19213
  }
19165
19214
  return s0;
19166
19215
  }
19167
19216
  function peg$parseNewLine() {
19168
19217
  let s0;
19169
- if (peg$c165.test(input.charAt(peg$currPos))) {
19218
+ if (peg$c169.test(input.charAt(peg$currPos))) {
19170
19219
  s0 = input.charAt(peg$currPos);
19171
19220
  peg$currPos++;
19172
19221
  } else {
19173
19222
  s0 = peg$FAILED;
19174
- if (peg$silentFails === 0) peg$fail(peg$c166);
19223
+ if (peg$silentFails === 0) peg$fail(peg$c170);
19175
19224
  }
19176
19225
  if (s0 === peg$FAILED) s0 = peg$parseCarriageReturnLineFeed();
19177
19226
  return s0;
@@ -19201,22 +19250,22 @@ to a key`);
19201
19250
  function peg$parseLineFeed() {
19202
19251
  let s0;
19203
19252
  if (input.charCodeAt(peg$currPos) === 10) {
19204
- s0 = peg$c167;
19253
+ s0 = peg$c171;
19205
19254
  peg$currPos++;
19206
19255
  } else {
19207
19256
  s0 = peg$FAILED;
19208
- if (peg$silentFails === 0) peg$fail(peg$c168);
19257
+ if (peg$silentFails === 0) peg$fail(peg$c172);
19209
19258
  }
19210
19259
  return s0;
19211
19260
  }
19212
19261
  function peg$parseCarriageReturn() {
19213
19262
  let s0;
19214
19263
  if (input.charCodeAt(peg$currPos) === 13) {
19215
- s0 = peg$c169;
19264
+ s0 = peg$c173;
19216
19265
  peg$currPos++;
19217
19266
  } else {
19218
19267
  s0 = peg$FAILED;
19219
- if (peg$silentFails === 0) peg$fail(peg$c170);
19268
+ if (peg$silentFails === 0) peg$fail(peg$c174);
19220
19269
  }
19221
19270
  return s0;
19222
19271
  }
@@ -20439,13 +20488,14 @@ Or set the song key before changing key:
20439
20488
  return new (0, $551a223fc13b5c10$export$2e2bcd8739ae039)(chord ? new (0, $177a605b8569b31c$export$2e2bcd8739ae039)(chord).toString() : chords, lyrics, annotation);
20440
20489
  }
20441
20490
  parseTag(astComponent) {
20442
- const { name, value, location: { offset = null, line = null, column = null } = {}, chordDefinition, attributes, selector } = astComponent;
20491
+ const { name, value, location: { offset = null, line = null, column = null } = {}, chordDefinition, attributes, selector, isNegated } = astComponent;
20443
20492
  const tag = new (0, $7251dad5f4a4c35f$export$2e2bcd8739ae039)(name, value, {
20444
20493
  line,
20445
20494
  column,
20446
20495
  offset
20447
20496
  }, attributes);
20448
20497
  tag.selector = selector || null;
20498
+ tag.isNegated = isNegated || false;
20449
20499
  if (chordDefinition) tag.chordDefinition = new (0, $36ec5eba476f1300$export$2e2bcd8739ae039)(chordDefinition.name, chordDefinition.baseFret, chordDefinition.frets, chordDefinition.fingers);
20450
20500
  return tag;
20451
20501
  }