occam-grammars 1.3.300 → 1.3.302

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.
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- var bnf = "\n\n\n document ::= <NO_WHITESPACE> pattern ( verticalSpace | error )* \n \n | ( verticalSpace | error )+ \n \n ;\n\n\n pattern ::= [unassigned]+ ;\n\n\n verticalSpace ::= <END_OF_LINE>+ ;\n\n\n error. ::= . ;\n\n\n";
11
+ var bnf = "\n\n\n document ::= string+ error*\n \n | error\n \n ;\n\n\n string ::= <NO_WHITESPACE>[unassigned] <END_OF_LINE> ;\n\n\n error. ::= . ;\n\n";
12
12
  var _default = bnf;
13
13
 
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21HcmFtbWFyUGF0dGVybi9ibmYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGJuZiA9IGBcblxuXG4gICAgZG9jdW1lbnQgICAgICAgOjo9ICA8Tk9fV0hJVEVTUEFDRT4gcGF0dGVybiAoIHZlcnRpY2FsU3BhY2UgfCBlcnJvciApKiBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgIHwgICggdmVydGljYWxTcGFjZSB8IGVycm9yICkrIFxuICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICA7XG5cblxuICAgIHBhdHRlcm4gICAgICAgIDo6PSAgW3VuYXNzaWduZWRdKyA7XG5cblxuICAgIHZlcnRpY2FsU3BhY2UgIDo6PSAgPEVORF9PRl9MSU5FPisgO1xuXG5cbiAgICBlcnJvci4gICAgICAgICA6Oj0gIC4gO1xuXG5cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXVCQTs7O2VBQUE7OztBQXJCQSxJQUFNQSxNQUFPO0lBcUJiLFdBQWVBIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21HcmFtbWFyUGF0dGVybi9ibmYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGJuZiA9IGBcblxuXG4gICAgZG9jdW1lbnQgIDo6PSAgc3RyaW5nKyBlcnJvcipcbiAgICAgXG4gICAgICAgICAgICAgICAgfCAgZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDtcblxuXG4gICAgc3RyaW5nICAgIDo6PSAgPE5PX1dISVRFU1BBQ0U+W3VuYXNzaWduZWRdIDxFTkRfT0ZfTElORT4gO1xuXG5cbiAgICBlcnJvci4gICAgOjo9ICAuIDtcblxuYDtcblxuZXhwb3J0IGRlZmF1bHQgYm5mO1xuIl0sIm5hbWVzIjpbImJuZiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbUJBOzs7ZUFBQTs7O0FBakJBLElBQU1BLE1BQU87SUFpQmIsV0FBZUEifQ==
@@ -10,9 +10,9 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var entries = [
12
12
  {
13
- "unassigned": "^."
13
+ "unassigned": "^[^\\s]+"
14
14
  }
15
15
  ];
16
16
  var _default = entries;
17
17
 
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21HcmFtbWFyUGF0dGVybi9lbnRyaWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuY29uc3QgZW50cmllcyA9IFtcclxuICB7XHJcbiAgICBcInVuYXNzaWduZWRcIjogXCJeLlwiXHJcbiAgfVxyXG5dO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZW50cmllcztcclxuIl0sIm5hbWVzIjpbImVudHJpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBQTs7O0FBTkEsSUFBTUEsVUFBVTtJQUNkO1FBQ0UsY0FBYztJQUNoQjtDQUNEO0lBRUQsV0FBZUEifQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21HcmFtbWFyUGF0dGVybi9lbnRyaWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuY29uc3QgZW50cmllcyA9IFtcclxuICB7XHJcbiAgICBcInVuYXNzaWduZWRcIjogXCJeW15cXFxcc10rXCJcclxuICB9XHJcbl07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBlbnRyaWVzO1xyXG4iXSwibmFtZXMiOlsiZW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUFBOzs7QUFOQSxJQUFNQSxVQUFVO0lBQ2Q7UUFDRSxjQUFjO0lBQ2hCO0NBQ0Q7SUFFRCxXQUFlQSJ9
@@ -130,7 +130,7 @@ var CustomGrammarPatternLexer = /*#__PURE__*/ function(CommonLexer) {
130
130
  return CustomGrammarPatternLexer;
131
131
  }(_occamlexers.CommonLexer);
132
132
  _define_property(CustomGrammarPatternLexer, "entries", _entries.default);
133
- _define_property(CustomGrammarPatternLexer, "EndOfLineToken", _occamlexers.EndOfLineSignificantToken); ///
133
+ _define_property(CustomGrammarPatternLexer, "EndOfLineToken", _occamlexers.EndOfLineSignificantToken);
134
134
  _define_property(CustomGrammarPatternLexer, "WhitespaceToken", _occamlexers.WhitespaceToken);
135
135
  _define_property(CustomGrammarPatternLexer, "EndOfLineCommentToken", null);
136
136
  _define_property(CustomGrammarPatternLexer, "SingleLineCommentToken", null);
@@ -141,4 +141,4 @@ _define_property(CustomGrammarPatternLexer, "MiddleOfMultiLineCommentToken", nul
141
141
  _define_property(CustomGrammarPatternLexer, "SinglyQuotedStringLiteralToken", null);
142
142
  _define_property(CustomGrammarPatternLexer, "DoublyQuotedStringLiteralToken", null);
143
143
 
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21HcmFtbWFyUGF0dGVybi9sZXhlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uTGV4ZXIsIFdoaXRlc3BhY2VUb2tlbiwgRW5kT2ZMaW5lU2lnbmlmaWNhbnRUb2tlbiB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcblxuaW1wb3J0IGVudHJpZXMgZnJvbSBcIi4vZW50cmllc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDdXN0b21HcmFtbWFyUGF0dGVybkxleGVyIGV4dGVuZHMgQ29tbW9uTGV4ZXIge1xuICBzdGF0aWMgZW50cmllcyA9IGVudHJpZXM7XG5cbiAgc3RhdGljIEVuZE9mTGluZVRva2VuID0gRW5kT2ZMaW5lU2lnbmlmaWNhbnRUb2tlbjsgLy8vXG5cbiAgc3RhdGljIFdoaXRlc3BhY2VUb2tlbiA9IFdoaXRlc3BhY2VUb2tlbjtcblxuICBzdGF0aWMgRW5kT2ZMaW5lQ29tbWVudFRva2VuID0gbnVsbDtcblxuICBzdGF0aWMgU2luZ2xlTGluZUNvbW1lbnRUb2tlbiA9IG51bGw7XG5cbiAgc3RhdGljIFJlZ3VsYXJFeHByZXNzaW9uVG9rZW4gPSBudWxsO1xuXG4gIHN0YXRpYyBFbmRPZk11bHRpTGluZUNvbW1lbnRUb2tlbiA9IG51bGw7XG5cbiAgc3RhdGljIFN0YXJ0T2ZNdWx0aUxpbmVDb21tZW50VG9rZW4gPSBudWxsO1xuXG4gIHN0YXRpYyBNaWRkbGVPZk11bHRpTGluZUNvbW1lbnRUb2tlbiA9IG51bGw7XG5cbiAgc3RhdGljIFNpbmdseVF1b3RlZFN0cmluZ0xpdGVyYWxUb2tlbiA9IG51bGw7XG5cbiAgc3RhdGljIERvdWJseVF1b3RlZFN0cmluZ0xpdGVyYWxUb2tlbiA9IG51bGw7XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkgeyByZXR1cm4gQ29tbW9uTGV4ZXIuZnJvbU5vdGhpbmcoQ3VzdG9tR3JhbW1hclBhdHRlcm5MZXhlcik7IH1cblxuICBzdGF0aWMgZnJvbVJ1bGVzKHJ1bGVzKSB7IHJldHVybiBDb21tb25MZXhlci5mcm9tUnVsZXMoQ3VzdG9tR3JhbW1hclBhdHRlcm5MZXhlciwgcnVsZXMpOyB9XG5cbiAgc3RhdGljIGZyb21FbnRyaWVzKGVudHJpZXMpIHsgcmV0dXJuIENvbW1vbkxleGVyLmZyb21FbnRyaWVzKEN1c3RvbUdyYW1tYXJQYXR0ZXJuTGV4ZXIsIGVudHJpZXMpOyB9XG59XG4iXSwibmFtZXMiOlsiQ3VzdG9tR3JhbW1hclBhdHRlcm5MZXhlciIsImZyb21Ob3RoaW5nIiwiQ29tbW9uTGV4ZXIiLCJmcm9tUnVsZXMiLCJydWxlcyIsImZyb21FbnRyaWVzIiwiZW50cmllcyIsIkVuZE9mTGluZVRva2VuIiwiRW5kT2ZMaW5lU2lnbmlmaWNhbnRUb2tlbiIsIldoaXRlc3BhY2VUb2tlbiIsIkVuZE9mTGluZUNvbW1lbnRUb2tlbiIsIlNpbmdsZUxpbmVDb21tZW50VG9rZW4iLCJSZWd1bGFyRXhwcmVzc2lvblRva2VuIiwiRW5kT2ZNdWx0aUxpbmVDb21tZW50VG9rZW4iLCJTdGFydE9mTXVsdGlMaW5lQ29tbWVudFRva2VuIiwiTWlkZGxlT2ZNdWx0aUxpbmVDb21tZW50VG9rZW4iLCJTaW5nbHlRdW90ZWRTdHJpbmdMaXRlcmFsVG9rZW4iLCJEb3VibHlRdW90ZWRTdHJpbmdMaXRlcmFsVG9rZW4iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBTXFCQTs7OzJCQUptRDs4REFFcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUwsSUFBQSxBQUFNQSwwQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7UUFBTixPQUFBLGtCQUFNQTs7a0JBQUFBOztZQXVCWkMsS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQWdCLE9BQU9DLHdCQUFXLENBQUNELFdBQVcsQ0F2QmxDRDtZQXVCK0Q7OztZQUUzRUcsS0FBQUE7bUJBQVAsU0FBT0EsVUFBVUMsS0FBSztnQkFBSSxPQUFPRix3QkFBVyxDQUFDQyxTQUFTLENBekJuQ0gsMkJBeUIrREk7WUFBUTs7O1lBRW5GQyxLQUFBQTttQkFBUCxTQUFPQSxZQUFZQyxPQUFPO2dCQUFJLE9BQU9KLHdCQUFXLENBQUNHLFdBQVcsQ0EzQnpDTCwyQkEyQnFFTTtZQUFVOzs7V0EzQi9FTjtFQUFrQ0Usd0JBQVc7QUFDaEUsaUJBRG1CRiwyQkFDWk0sV0FBVUEsZ0JBQU87QUFFeEIsaUJBSG1CTiwyQkFHWk8sa0JBQWlCQyxzQ0FBeUIsR0FBRSxHQUFHO0FBRXRELGlCQUxtQlIsMkJBS1pTLG1CQUFrQkEsNEJBQWU7QUFFeEMsaUJBUG1CVCwyQkFPWlUseUJBQXdCO0FBRS9CLGlCQVRtQlYsMkJBU1pXLDBCQUF5QjtBQUVoQyxpQkFYbUJYLDJCQVdaWSwwQkFBeUI7QUFFaEMsaUJBYm1CWiwyQkFhWmEsOEJBQTZCO0FBRXBDLGlCQWZtQmIsMkJBZVpjLGdDQUErQjtBQUV0QyxpQkFqQm1CZCwyQkFpQlplLGlDQUFnQztBQUV2QyxpQkFuQm1CZiwyQkFtQlpnQixrQ0FBaUM7QUFFeEMsaUJBckJtQmhCLDJCQXFCWmlCLGtDQUFpQyJ9
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21HcmFtbWFyUGF0dGVybi9sZXhlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uTGV4ZXIsIFdoaXRlc3BhY2VUb2tlbiwgRW5kT2ZMaW5lU2lnbmlmaWNhbnRUb2tlbiB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcblxuaW1wb3J0IGVudHJpZXMgZnJvbSBcIi4vZW50cmllc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDdXN0b21HcmFtbWFyUGF0dGVybkxleGVyIGV4dGVuZHMgQ29tbW9uTGV4ZXIge1xuICBzdGF0aWMgZW50cmllcyA9IGVudHJpZXM7XG5cbiAgc3RhdGljIEVuZE9mTGluZVRva2VuID0gRW5kT2ZMaW5lU2lnbmlmaWNhbnRUb2tlbjtcblxuICBzdGF0aWMgV2hpdGVzcGFjZVRva2VuID0gV2hpdGVzcGFjZVRva2VuO1xuXG4gIHN0YXRpYyBFbmRPZkxpbmVDb21tZW50VG9rZW4gPSBudWxsO1xuXG4gIHN0YXRpYyBTaW5nbGVMaW5lQ29tbWVudFRva2VuID0gbnVsbDtcblxuICBzdGF0aWMgUmVndWxhckV4cHJlc3Npb25Ub2tlbiA9IG51bGw7XG5cbiAgc3RhdGljIEVuZE9mTXVsdGlMaW5lQ29tbWVudFRva2VuID0gbnVsbDtcblxuICBzdGF0aWMgU3RhcnRPZk11bHRpTGluZUNvbW1lbnRUb2tlbiA9IG51bGw7XG5cbiAgc3RhdGljIE1pZGRsZU9mTXVsdGlMaW5lQ29tbWVudFRva2VuID0gbnVsbDtcblxuICBzdGF0aWMgU2luZ2x5UXVvdGVkU3RyaW5nTGl0ZXJhbFRva2VuID0gbnVsbDtcblxuICBzdGF0aWMgRG91Ymx5UXVvdGVkU3RyaW5nTGl0ZXJhbFRva2VuID0gbnVsbDtcblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBDb21tb25MZXhlci5mcm9tTm90aGluZyhDdXN0b21HcmFtbWFyUGF0dGVybkxleGVyKTsgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZXMocnVsZXMpIHsgcmV0dXJuIENvbW1vbkxleGVyLmZyb21SdWxlcyhDdXN0b21HcmFtbWFyUGF0dGVybkxleGVyLCBydWxlcyk7IH1cblxuICBzdGF0aWMgZnJvbUVudHJpZXMoZW50cmllcykgeyByZXR1cm4gQ29tbW9uTGV4ZXIuZnJvbUVudHJpZXMoQ3VzdG9tR3JhbW1hclBhdHRlcm5MZXhlciwgZW50cmllcyk7IH1cbn1cbiJdLCJuYW1lcyI6WyJDdXN0b21HcmFtbWFyUGF0dGVybkxleGVyIiwiZnJvbU5vdGhpbmciLCJDb21tb25MZXhlciIsImZyb21SdWxlcyIsInJ1bGVzIiwiZnJvbUVudHJpZXMiLCJlbnRyaWVzIiwiRW5kT2ZMaW5lVG9rZW4iLCJFbmRPZkxpbmVTaWduaWZpY2FudFRva2VuIiwiV2hpdGVzcGFjZVRva2VuIiwiRW5kT2ZMaW5lQ29tbWVudFRva2VuIiwiU2luZ2xlTGluZUNvbW1lbnRUb2tlbiIsIlJlZ3VsYXJFeHByZXNzaW9uVG9rZW4iLCJFbmRPZk11bHRpTGluZUNvbW1lbnRUb2tlbiIsIlN0YXJ0T2ZNdWx0aUxpbmVDb21tZW50VG9rZW4iLCJNaWRkbGVPZk11bHRpTGluZUNvbW1lbnRUb2tlbiIsIlNpbmdseVF1b3RlZFN0cmluZ0xpdGVyYWxUb2tlbiIsIkRvdWJseVF1b3RlZFN0cmluZ0xpdGVyYWxUb2tlbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7MkJBSm1EOzhEQUVwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTCxJQUFBLEFBQU1BLDBDQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOztrQkFBQUE7O1lBdUJaQyxLQUFBQTttQkFBUCxTQUFPQTtnQkFBZ0IsT0FBT0Msd0JBQVcsQ0FBQ0QsV0FBVyxDQXZCbENEO1lBdUIrRDs7O1lBRTNFRyxLQUFBQTttQkFBUCxTQUFPQSxVQUFVQyxLQUFLO2dCQUFJLE9BQU9GLHdCQUFXLENBQUNDLFNBQVMsQ0F6Qm5DSCwyQkF5QitESTtZQUFROzs7WUFFbkZDLEtBQUFBO21CQUFQLFNBQU9BLFlBQVlDLE9BQU87Z0JBQUksT0FBT0osd0JBQVcsQ0FBQ0csV0FBVyxDQTNCekNMLDJCQTJCcUVNO1lBQVU7OztXQTNCL0VOO0VBQWtDRSx3QkFBVztBQUNoRSxpQkFEbUJGLDJCQUNaTSxXQUFVQSxnQkFBTztBQUV4QixpQkFIbUJOLDJCQUdaTyxrQkFBaUJDLHNDQUF5QjtBQUVqRCxpQkFMbUJSLDJCQUtaUyxtQkFBa0JBLDRCQUFlO0FBRXhDLGlCQVBtQlQsMkJBT1pVLHlCQUF3QjtBQUUvQixpQkFUbUJWLDJCQVNaVywwQkFBeUI7QUFFaEMsaUJBWG1CWCwyQkFXWlksMEJBQXlCO0FBRWhDLGlCQWJtQlosMkJBYVphLDhCQUE2QjtBQUVwQyxpQkFmbUJiLDJCQWVaYyxnQ0FBK0I7QUFFdEMsaUJBakJtQmQsMkJBaUJaZSxpQ0FBZ0M7QUFFdkMsaUJBbkJtQmYsMkJBbUJaZ0Isa0NBQWlDO0FBRXhDLGlCQXJCbUJoQiwyQkFxQlppQixrQ0FBaUMifQ==
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- var bnf = 'document ::= ( topLevelDeclaration | topLevelAssertion | section | verticalSpace | error )+ ;\n\n\n\ntopLevelDeclaration ::= variableDeclaration \n \n | combinatorDeclaration \n \n | constructorDeclaration \n \n | metavariableDeclaration \n \n | simpleTypeDeclaration \n \n | complexTypeDeclaration \n \n ;\n\n\n\ntopLevelAssertion ::= rule \n\n | axiom \n\n | lemma \n\n | theorem \n\n | conjecture \n\n | metaLemma \n\n | metatheorem \n\n ;\n\n\n\nsection ::= "Given" <END_OF_LINE>\n\n hypothesis+\n \n <END_OF_LINE>\n \n ( axiom \n \n | lemma \n \n | theorem \n \n | conjecture ) ; \n\n\n\nverticalSpace ::= <END_OF_LINE>+ ;\n\n\n\nerror. ::= . ;\n\n\n\nvariableDeclaration ::= "Variable" variable ( ":" type "provisionally"? )? <END_OF_LINE> ;\n \ncombinatorDeclaration ::= "Combinator" statement... <END_OF_LINE> ;\n \nconstructorDeclaration ::= "Constructor" term... ( ":" type "provisionally"? )? <END_OF_LINE> ;\n \nmetavariableDeclaration ::= "Metavariable" metavariable ":" metaType <END_OF_LINE> ;\n \nsimpleTypeDeclaration ::= "Provisional"? "Type" type ( ":" types )? <END_OF_LINE> ;\n \ncomplexTypeDeclaration ::= "Provisional"? "Type" <END_OF_LINE> \n\n type ( ":" types )? <END_OF_LINE>\n \n (\n \n ( "Properties" <END_OF_LINE> propertyDeclaration propertyDeclaration+ ) \n \n | \n \n ( "Property" <END_OF_LINE> propertyDeclaration ) \n \n );\n \n\n \nrule ::= "Rule" parenthesisedLabels <END_OF_LINE> \n\n ( \n\n ( "Premises" <END_OF_LINE> premise premise+ ) \n \n | \n \n ( "Premise" <END_OF_LINE> premise ) \n \n )?\n \n "Conclusion" <END_OF_LINE> conclusion \n \n proof? ; \n\nmetaLemma ::= "MetaLemma" parenthesisedLabel? <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+ \n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\nmetatheorem ::= "Metatheorem" parenthesisedLabel <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+ \n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\naxiom ::= "Axiom" signature? parenthesisedLabels <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction ;\n\nlemma ::= "Lemma" parenthesisedLabels? <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\ntheorem ::= "Theorem" parenthesisedLabels <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\nconjecture ::= "Conjecture" parenthesisedLabels <END_OF_LINE>\n\n (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof? ;\n\n\n\nproof ::= "Proof" <END_OF_LINE> derivation ;\n\nsubproof ::= "Suppose" <END_OF_LINE> supposition+ subDerivation ;\n\nderivation ::= ( \n\n ( step | subproof )+ \n \n "Therefore" <END_OF_LINE> \n \n )? \n \n step ; \n\nsubDerivation ::= (\n\n "Hence" <END_OF_LINE>\n \n ( step | subproof )+ \n \n )? \n \n "Then" <END_OF_LINE> \n \n step ; \n\n\n\npropertyDeclaration. ::= property ( ":" type )? <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\n\n\npremise. ::= procedureCall... <END_OF_LINE> \n\n | statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\nsupposition. ::= procedureCall... <END_OF_LINE> \n\n | statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\nconclusion. ::= statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\ndeduction. ::= statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\nhypothesis. ::= statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\n\n\nstep. ::= statement... ( \n\n ( ( "by" | "from" ) reference )\n \n |\n \n ( "because" satisfiesAssertion ) \n \n )? <END_OF_LINE> \n\n | nonsense... ( \n\n ( ( "by" | "from" ) reference )\n \n |\n \n ( "because" satisfiesAssertion ) \n \n )? <END_OF_LINE>\n \n ;\n\n\n\nparenthesisedLabels ::= "(" labels... ")" ; \n\nparenthesisedLabel ::= "(" label... ")" ; \n\n\n\nprocedureCall ::= "@"<NO_WHITESPACE>reference<NO_WHITESPACE>"(" parameter ( "," parameter )* ")" ;\n\n\n\nsignature ::= "[" term ( "," term )* "]" ;\n\n\n\narguments ::= argument ( "," argument )* ;\n\nlabels ::= label ( "," label )* ;\n\ntypes ::= type ( "," type )* ;\n\n\n\nargument ::= term ( ) \n\n | type ( )\n \n ;\n\nmetaArgument ::= statement ( ) \n\n | metaType ( ) \n \n ;\n\nframeArgument ::= frame ( ) \n\n | metaType ( ) \n \n ;\n\n\n\nreference. ::= metavariable ;\n\nlabel. ::= metavariable ;\n\n\n\nmetavariable. ::= [name] ( <NO_WHITESPACE> "(" ( term | type | stuff ) ")" )? ;\n\nparameter. ::= [name] ;\n\nvariable. ::= [name] ;\n\nproperty. ::= [name]+ ;\n\nmetaType. ::= [meta-type] ;\n\ntype. ::= [type] ;\n\n\n\nstuff. ::= ( [name] | [symbol] | [bracket] | [unassigned] )+ ;\n\nnonsense. ::= ( [type] | [meta-type] | [special] | [secondary-keyword] | [name] | [symbol] | [bracket] | [unassigned] )+ ;';
11
+ var bnf = 'document ::= ( topLevelDeclaration | topLevelAssertion | section | verticalSpace | error )+ ;\n\n\n\ntopLevelDeclaration ::= variableDeclaration \n \n | combinatorDeclaration \n \n | constructorDeclaration \n \n | metavariableDeclaration \n \n | simpleTypeDeclaration \n \n | complexTypeDeclaration \n \n ;\n\n\n\ntopLevelAssertion ::= rule \n\n | axiom \n\n | lemma \n\n | theorem \n\n | conjecture \n\n | metaLemma \n\n | metatheorem \n\n ;\n\n\n\nsection ::= "Given" <END_OF_LINE>\n\n hypothesis+\n \n <END_OF_LINE>\n \n ( axiom \n \n | lemma \n \n | theorem \n \n | conjecture ) ; \n\n\n\nverticalSpace ::= <END_OF_LINE>+ ;\n\n\n\nerror. ::= . ;\n\n\n\nvariableDeclaration ::= "Variable" variable ( ":" type "provisionally"? )? <END_OF_LINE> ;\n \ncombinatorDeclaration ::= "Combinator" statement... <END_OF_LINE> ;\n \nconstructorDeclaration ::= "Constructor" term... ( ":" type "provisionally"? )? <END_OF_LINE> ;\n \nmetavariableDeclaration ::= "Metavariable" metavariable... ":" metaType <END_OF_LINE> ;\n \nsimpleTypeDeclaration ::= "Provisional"? "Type" type ( ":" types )? <END_OF_LINE> ;\n \ncomplexTypeDeclaration ::= "Provisional"? "Type" <END_OF_LINE> \n\n type ( ":" types )? <END_OF_LINE>\n \n (\n \n ( "Properties" <END_OF_LINE> propertyDeclaration propertyDeclaration+ ) \n \n | \n \n ( "Property" <END_OF_LINE> propertyDeclaration ) \n \n );\n \n\n \nrule ::= ruleHeading ruleBody ; \n\nmetaLemma ::= metaLemmaHeading metaLemmaBody ;\n\nmetatheorem ::= metatheoremHeading metatheoremBody ;\n\naxiom ::= axiomHeading axiomBody ;\n\nlemma ::= lemmaHeading lemmaBody ;\n\ntheorem ::= theoremHeading theoremBody ;\n\nconjecture ::= conjectureHeading conjectureBody ;\n\n\n\nruleHeading ::= "Rule" parenthesisedLabels... <END_OF_LINE> ; \n\nmetaLemmaHeading ::= "MetaLemma" parenthesisedLabel... <END_OF_LINE> | "MetaLemma" <END_OF_LINE> ;\n\nmetatheoremHeading ::= "Metatheorem" parenthesisedLabel... <END_OF_LINE> ; \n\naxiomHeading ::= "Axiom" signature? parenthesisedLabels... <END_OF_LINE> ; \n\nlemmaHeading ::= "Lemma" parenthesisedLabels... <END_OF_LINE> | "Lemma" <END_OF_LINE> ; \n\ntheoremHeading ::= "Theorem" parenthesisedLabels... <END_OF_LINE> ; \n\nconjectureHeading ::= "Conjecture" parenthesisedLabels... <END_OF_LINE>\n\n\n\nruleBody ::= ( \n\n ( "Premises" <END_OF_LINE> premise premise+ ) \n \n | \n \n ( "Premise" <END_OF_LINE> premise ) \n \n )?\n \n "Conclusion" <END_OF_LINE> conclusion \n \n proof? ; \n\nmetaLemmaBody ::= (\n \n "Suppose" <END_OF_LINE> supposition+ \n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\nmetatheoremBody ::= (\n \n "Suppose" <END_OF_LINE> supposition+ \n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\naxiomBody ::= (\n \n "Suppose" <END_OF_LINE> supposition+\n \n "Then" <END_OF_LINE> \n \n )?\n \n deduction ;\n\nlemmaBody ::= (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\ntheoremBody ::= (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\nconjectureBody ::= (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof? ;\n\n\n\nproof ::= "Proof" <END_OF_LINE> derivation ;\n\nsubproof ::= "Suppose" <END_OF_LINE> supposition+ subDerivation ;\n\nderivation ::= ( \n\n ( step | subproof )+ \n \n "Therefore" <END_OF_LINE> \n \n )? \n \n step ; \n\nsubDerivation ::= (\n\n "Hence" <END_OF_LINE>\n \n ( step | subproof )+ \n \n )? \n \n "Then" <END_OF_LINE> \n \n step ; \n\n\n\npropertyDeclaration. ::= property ( ":" type )? <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\n\n\npremise. ::= procedureCall... <END_OF_LINE> \n\n | statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\nsupposition. ::= procedureCall... <END_OF_LINE> \n\n | statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\nconclusion. ::= statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\ndeduction. ::= statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\nhypothesis. ::= statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\n\n\nstep. ::= statement... qualification? <END_OF_LINE> \n\n | nonsense... qualification? <END_OF_LINE>\n \n ;\n\n\n\nqualification ::= ( "by" | "from" ) reference\n \n | "because" satisfiesAssertion \n \n ; \n\n\n\nparenthesisedLabels ::= "(" labels ")" ; \n\nparenthesisedLabel ::= "(" label ")" ; \n\n\n\nprocedureCall ::= "@"<NO_WHITESPACE>reference<NO_WHITESPACE>"(" parameter ( "," parameter )* ")" ;\n\n\n\nsignature ::= "[" term ( "," term )* "]" ;\n\n\n\narguments ::= argument ( "," argument )* ;\n\nlabels ::= label ( "," label )* ;\n\ntypes ::= type ( "," type )* ;\n\n\n\nargument ::= term ( ) \n\n | type ( )\n \n ;\n\nmetaArgument ::= statement ( ) \n\n | metaType ( ) \n \n ;\n\nframeArgument ::= frame ( ) \n\n | metaType ( ) \n \n ;\n\n\n\nreference. ::= metavariable ;\n\nlabel. ::= metavariable ;\n\n\n\nmetavariable. ::= [identifier] ( <NO_WHITESPACE> "(" ( term | type | stuff ) ")" )? ;\n\nparameter. ::= [identifier] ;\n\nvariable. ::= [identifier] ;\n\nproperty. ::= [identifier]+ ;\n\nmetaType. ::= [meta-type] ;\n\ntype. ::= [type] ;\n\n\n\nstuff. ::= ( [type] | [symbol] | [bracket] | [reserved] | [identifier] | [unassigned] )+ ;\n\nnonsense. ::= ( [meta-type] | [special] | [secondary-keyword] | [type] | [symbol] | [bracket] | [reserved] | [identifier] | [unassigned] )+ ;';
12
12
  var _default = bnf;
13
13
 
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL2JuZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgYm5mID0gYGRvY3VtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gICggdG9wTGV2ZWxEZWNsYXJhdGlvbiB8IHRvcExldmVsQXNzZXJ0aW9uIHwgc2VjdGlvbiB8IHZlcnRpY2FsU3BhY2UgfCBlcnJvciApKyA7XG5cblxuXG50b3BMZXZlbERlY2xhcmF0aW9uICAgICAgICAgICAgICAgICAgOjo9ICB2YXJpYWJsZURlY2xhcmF0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29tYmluYXRvckRlY2xhcmF0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29uc3RydWN0b3JEZWNsYXJhdGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHNpbXBsZVR5cGVEZWNsYXJhdGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbXBsZXhUeXBlRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG50b3BMZXZlbEFzc2VydGlvbiAgICAgICAgICAgICAgICAgICAgOjo9ICBydWxlIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBheGlvbSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbGVtbWEgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRoZW9yZW0gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbmplY3R1cmUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG1ldGFMZW1tYSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbWV0YXRoZW9yZW0gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiR2l2ZW5cIiA8RU5EX09GX0xJTkU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh5cG90aGVzaXMrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxFTkRfT0ZfTElORT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBheGlvbSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBsZW1tYSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGVvcmVtIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGNvbmplY3R1cmUgKSA7IFxuXG5cblxudmVydGljYWxTcGFjZSAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgPEVORF9PRl9MSU5FPisgO1xuXG5cblxuZXJyb3IuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgLiA7XG5cblxuXG52YXJpYWJsZURlY2xhcmF0aW9uICAgICAgICAgICAgICAgICAgOjo9ICBcIlZhcmlhYmxlXCIgdmFyaWFibGUgKCBcIjpcIiB0eXBlIFwicHJvdmlzaW9uYWxseVwiPyApPyA8RU5EX09GX0xJTkU+IDtcbiBcbmNvbWJpbmF0b3JEZWNsYXJhdGlvbiAgICAgICAgICAgICAgICA6Oj0gIFwiQ29tYmluYXRvclwiIHN0YXRlbWVudC4uLiA8RU5EX09GX0xJTkU+IDtcbiBcbmNvbnN0cnVjdG9yRGVjbGFyYXRpb24gICAgICAgICAgICAgICA6Oj0gIFwiQ29uc3RydWN0b3JcIiB0ZXJtLi4uICggXCI6XCIgdHlwZSBcInByb3Zpc2lvbmFsbHlcIj8gKT8gPEVORF9PRl9MSU5FPiA7XG4gXG5tZXRhdmFyaWFibGVEZWNsYXJhdGlvbiAgICAgICAgICAgICAgOjo9ICBcIk1ldGF2YXJpYWJsZVwiIG1ldGF2YXJpYWJsZSBcIjpcIiBtZXRhVHlwZSA8RU5EX09GX0xJTkU+IDtcbiBcbnNpbXBsZVR5cGVEZWNsYXJhdGlvbiAgICAgICAgICAgICAgICA6Oj0gIFwiUHJvdmlzaW9uYWxcIj8gXCJUeXBlXCIgdHlwZSAoIFwiOlwiIHR5cGVzICk/IDxFTkRfT0ZfTElORT4gO1xuIFxuY29tcGxleFR5cGVEZWNsYXJhdGlvbiAgICAgICAgICAgICAgIDo6PSAgXCJQcm92aXNpb25hbFwiPyBcIlR5cGVcIiA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlICggXCI6XCIgdHlwZXMgKT8gPEVORF9PRl9MSU5FPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIlByb3BlcnRpZXNcIiA8RU5EX09GX0xJTkU+IHByb3BlcnR5RGVjbGFyYXRpb24gcHJvcGVydHlEZWNsYXJhdGlvbisgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJQcm9wZXJ0eVwiIDxFTkRfT0ZfTElORT4gcHJvcGVydHlEZWNsYXJhdGlvbiApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuIFxuXG4gIFxucnVsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJSdWxlXCIgcGFyZW50aGVzaXNlZExhYmVscyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJQcmVtaXNlc1wiIDxFTkRfT0ZfTElORT4gcHJlbWlzZSBwcmVtaXNlKyApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIlByZW1pc2VcIiA8RU5EX09GX0xJTkU+IHByZW1pc2UgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJDb25jbHVzaW9uXCIgPEVORF9PRl9MSU5FPiBjb25jbHVzaW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvb2Y/IDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5tZXRhTGVtbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBcIk1ldGFMZW1tYVwiIHBhcmVudGhlc2lzZWRMYWJlbD8gPEVORF9PRl9MSU5FPiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlN1cHBvc2VcIiA8RU5EX09GX0xJTkU+IHN1cHBvc2l0aW9uKyBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlRoZW5cIiA8RU5EX09GX0xJTkU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb29mIDtcblxubWV0YXRoZW9yZW0gICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJNZXRhdGhlb3JlbVwiIHBhcmVudGhlc2lzZWRMYWJlbCA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZiA7XG5cbmF4aW9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiQXhpb21cIiBzaWduYXR1cmU/IHBhcmVudGhlc2lzZWRMYWJlbHMgPEVORF9PRl9MSU5FPiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlN1cHBvc2VcIiA8RU5EX09GX0xJTkU+IHN1cHBvc2l0aW9uK1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvbiA7XG5cbmxlbW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiTGVtbWFcIiBwYXJlbnRoZXNpc2VkTGFiZWxzPyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWR1Y3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb29mIDtcblxudGhlb3JlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJUaGVvcmVtXCIgcGFyZW50aGVzaXNlZExhYmVscyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZiA7XG5cbmNvbmplY3R1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiQ29uamVjdHVyZVwiIHBhcmVudGhlc2lzZWRMYWJlbHMgPEVORF9PRl9MSU5FPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZj8gO1xuXG5cblxucHJvb2YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJQcm9vZlwiIDxFTkRfT0ZfTElORT4gZGVyaXZhdGlvbiA7XG5cbnN1YnByb29mICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rIHN1YkRlcml2YXRpb24gO1xuXG5kZXJpdmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RlcCB8IHN1YnByb29mICkrIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVyZWZvcmVcIiA8RU5EX09GX0xJTkU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbnN1YkRlcml2YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkhlbmNlXCIgPEVORF9PRl9MSU5FPlxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHN0ZXAgfCBzdWJwcm9vZiApKyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApPyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cblxuXG5wcm9wZXJ0eURlY2xhcmF0aW9uLiAgICAgICAgICAgICAgICAgOjo9ICBwcm9wZXJ0eSAoIFwiOlwiIHR5cGUgKT8gPEVORF9PRl9MSU5FPiAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vbnNlbnNlLi4uIDxFTkRfT0ZfTElORT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxucHJlbWlzZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgcHJvY2VkdXJlQ2FsbC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuc3VwcG9zaXRpb24uICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgcHJvY2VkdXJlQ2FsbC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuY29uY2x1c2lvbi4gICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuZGVkdWN0aW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuaHlwb3RoZXNpcy4gICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnN0ZXAuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIHN0YXRlbWVudC4uLiAoIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoICggXCJieVwiIHwgXCJmcm9tXCIgKSByZWZlcmVuY2UgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJiZWNhdXNlXCIgc2F0aXNmaWVzQXNzZXJ0aW9uICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApPyA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9uc2Vuc2UuLi4gKCBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoICggXCJieVwiIHwgXCJmcm9tXCIgKSByZWZlcmVuY2UgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIFwiYmVjYXVzZVwiIHNhdGlzZmllc0Fzc2VydGlvbiApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApPyA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnBhcmVudGhlc2lzZWRMYWJlbHMgICAgICAgICAgICAgICAgICA6Oj0gIFwiKFwiIGxhYmVscy4uLiBcIilcIiA7IFxuXG5wYXJlbnRoZXNpc2VkTGFiZWwgICAgICAgICAgICAgICAgICAgOjo9ICBcIihcIiBsYWJlbC4uLiBcIilcIiA7IFxuXG5cblxucHJvY2VkdXJlQ2FsbCAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJAXCI8Tk9fV0hJVEVTUEFDRT5yZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogXCIpXCIgO1xuXG5cblxuc2lnbmF0dXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJbXCIgdGVybSAoIFwiLFwiIHRlcm0gKSogXCJdXCIgO1xuXG5cblxuYXJndW1lbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgYXJndW1lbnQgKCBcIixcIiBhcmd1bWVudCApKiA7XG5cbmxhYmVscyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIGxhYmVsICggXCIsXCIgbGFiZWwgKSogO1xuXG50eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICB0eXBlICggXCIsXCIgdHlwZSApKiA7XG5cblxuXG5hcmd1bWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICB0ZXJtICggKSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdHlwZSAoIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5tZXRhQXJndW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBzdGF0ZW1lbnQgKCApIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhVHlwZSAoICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuZnJhbWVBcmd1bWVudCAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgZnJhbWUgKCApIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhVHlwZSAoICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnJlZmVyZW5jZS4gICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGF2YXJpYWJsZSA7XG5cbmxhYmVsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGF2YXJpYWJsZSA7XG5cblxuXG5tZXRhdmFyaWFibGUuICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gKCA8Tk9fV0hJVEVTUEFDRT4gXCIoXCIgKCB0ZXJtIHwgdHlwZSB8IHN0dWZmICkgXCIpXCIgKT8gO1xuXG5wYXJhbWV0ZXIuICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG52YXJpYWJsZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG5wcm9wZXJ0eS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0rIDtcblxubWV0YVR5cGUuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgW21ldGEtdHlwZV0gO1xuXG50eXBlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gO1xuXG5cblxuc3R1ZmYuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgKCBbbmFtZV0gfCBbc3ltYm9sXSB8IFticmFja2V0XSB8IFt1bmFzc2lnbmVkXSApKyA7XG5cbm5vbnNlbnNlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gICggW3R5cGVdIHwgW21ldGEtdHlwZV0gfCBbc3BlY2lhbF0gfCBbc2Vjb25kYXJ5LWtleXdvcmRdIHwgW25hbWVdIHwgW3N5bWJvbF0gfCBbYnJhY2tldF0gfCBbdW5hc3NpZ25lZF0gKSsgO2A7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdXQTs7O2VBQUE7OztBQTlWQSxJQUFNQSxNQUFPO0lBOFZiLFdBQWVBIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL2JuZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgYm5mID0gYGRvY3VtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gICggdG9wTGV2ZWxEZWNsYXJhdGlvbiB8IHRvcExldmVsQXNzZXJ0aW9uIHwgc2VjdGlvbiB8IHZlcnRpY2FsU3BhY2UgfCBlcnJvciApKyA7XG5cblxuXG50b3BMZXZlbERlY2xhcmF0aW9uICAgICAgICAgICAgICAgICAgOjo9ICB2YXJpYWJsZURlY2xhcmF0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29tYmluYXRvckRlY2xhcmF0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29uc3RydWN0b3JEZWNsYXJhdGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHNpbXBsZVR5cGVEZWNsYXJhdGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbXBsZXhUeXBlRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG50b3BMZXZlbEFzc2VydGlvbiAgICAgICAgICAgICAgICAgICAgOjo9ICBydWxlIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBheGlvbSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbGVtbWEgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRoZW9yZW0gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbmplY3R1cmUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG1ldGFMZW1tYSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbWV0YXRoZW9yZW0gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiR2l2ZW5cIiA8RU5EX09GX0xJTkU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh5cG90aGVzaXMrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxFTkRfT0ZfTElORT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBheGlvbSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBsZW1tYSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGVvcmVtIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGNvbmplY3R1cmUgKSA7IFxuXG5cblxudmVydGljYWxTcGFjZSAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgPEVORF9PRl9MSU5FPisgO1xuXG5cblxuZXJyb3IuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgLiA7XG5cblxuXG52YXJpYWJsZURlY2xhcmF0aW9uICAgICAgICAgICAgICAgICAgOjo9ICBcIlZhcmlhYmxlXCIgdmFyaWFibGUgKCBcIjpcIiB0eXBlIFwicHJvdmlzaW9uYWxseVwiPyApPyA8RU5EX09GX0xJTkU+IDtcbiBcbmNvbWJpbmF0b3JEZWNsYXJhdGlvbiAgICAgICAgICAgICAgICA6Oj0gIFwiQ29tYmluYXRvclwiIHN0YXRlbWVudC4uLiA8RU5EX09GX0xJTkU+IDtcbiBcbmNvbnN0cnVjdG9yRGVjbGFyYXRpb24gICAgICAgICAgICAgICA6Oj0gIFwiQ29uc3RydWN0b3JcIiB0ZXJtLi4uICggXCI6XCIgdHlwZSBcInByb3Zpc2lvbmFsbHlcIj8gKT8gPEVORF9PRl9MSU5FPiA7XG4gXG5tZXRhdmFyaWFibGVEZWNsYXJhdGlvbiAgICAgICAgICAgICAgOjo9ICBcIk1ldGF2YXJpYWJsZVwiIG1ldGF2YXJpYWJsZS4uLiBcIjpcIiBtZXRhVHlwZSA8RU5EX09GX0xJTkU+IDtcbiBcbnNpbXBsZVR5cGVEZWNsYXJhdGlvbiAgICAgICAgICAgICAgICA6Oj0gIFwiUHJvdmlzaW9uYWxcIj8gXCJUeXBlXCIgdHlwZSAoIFwiOlwiIHR5cGVzICk/IDxFTkRfT0ZfTElORT4gO1xuIFxuY29tcGxleFR5cGVEZWNsYXJhdGlvbiAgICAgICAgICAgICAgIDo6PSAgXCJQcm92aXNpb25hbFwiPyBcIlR5cGVcIiA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlICggXCI6XCIgdHlwZXMgKT8gPEVORF9PRl9MSU5FPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIlByb3BlcnRpZXNcIiA8RU5EX09GX0xJTkU+IHByb3BlcnR5RGVjbGFyYXRpb24gcHJvcGVydHlEZWNsYXJhdGlvbisgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJQcm9wZXJ0eVwiIDxFTkRfT0ZfTElORT4gcHJvcGVydHlEZWNsYXJhdGlvbiApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuIFxuXG4gIFxucnVsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgcnVsZUhlYWRpbmcgcnVsZUJvZHkgOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbm1ldGFMZW1tYSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGFMZW1tYUhlYWRpbmcgbWV0YUxlbW1hQm9keSA7XG5cbm1ldGF0aGVvcmVtICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGF0aGVvcmVtSGVhZGluZyBtZXRhdGhlb3JlbUJvZHkgO1xuXG5heGlvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBheGlvbUhlYWRpbmcgYXhpb21Cb2R5IDtcblxubGVtbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgbGVtbWFIZWFkaW5nIGxlbW1hQm9keSA7XG5cbnRoZW9yZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIHRoZW9yZW1IZWFkaW5nIHRoZW9yZW1Cb2R5IDtcblxuY29uamVjdHVyZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgY29uamVjdHVyZUhlYWRpbmcgY29uamVjdHVyZUJvZHkgO1xuXG5cblxucnVsZUhlYWRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJSdWxlXCIgcGFyZW50aGVzaXNlZExhYmVscy4uLiA8RU5EX09GX0xJTkU+IDsgXG5cbm1ldGFMZW1tYUhlYWRpbmcgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiTWV0YUxlbW1hXCIgcGFyZW50aGVzaXNlZExhYmVsLi4uIDxFTkRfT0ZfTElORT4gfCBcIk1ldGFMZW1tYVwiIDxFTkRfT0ZfTElORT4gO1xuXG5tZXRhdGhlb3JlbUhlYWRpbmcgICAgICAgICAgICAgICAgICAgOjo9ICBcIk1ldGF0aGVvcmVtXCIgcGFyZW50aGVzaXNlZExhYmVsLi4uIDxFTkRfT0ZfTElORT4gOyBcblxuYXhpb21IZWFkaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJBeGlvbVwiIHNpZ25hdHVyZT8gcGFyZW50aGVzaXNlZExhYmVscy4uLiA8RU5EX09GX0xJTkU+IDsgXG5cbmxlbW1hSGVhZGluZyAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiTGVtbWFcIiBwYXJlbnRoZXNpc2VkTGFiZWxzLi4uIDxFTkRfT0ZfTElORT4gfCBcIkxlbW1hXCIgPEVORF9PRl9MSU5FPiA7IFxuXG50aGVvcmVtSGVhZGluZyAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBcIlRoZW9yZW1cIiBwYXJlbnRoZXNpc2VkTGFiZWxzLi4uIDxFTkRfT0ZfTElORT4gOyBcblxuY29uamVjdHVyZUhlYWRpbmcgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJDb25qZWN0dXJlXCIgcGFyZW50aGVzaXNlZExhYmVscy4uLiA8RU5EX09GX0xJTkU+XG5cblxuXG5ydWxlQm9keSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJQcmVtaXNlc1wiIDxFTkRfT0ZfTElORT4gcHJlbWlzZSBwcmVtaXNlKyApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIlByZW1pc2VcIiA8RU5EX09GX0xJTkU+IHByZW1pc2UgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJDb25jbHVzaW9uXCIgPEVORF9PRl9MSU5FPiBjb25jbHVzaW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvb2Y/IDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5tZXRhTGVtbWFCb2R5ICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvb2YgO1xuXG5tZXRhdGhlb3JlbUJvZHkgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZiA7XG5cbmF4aW9tQm9keSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJTdXBwb3NlXCIgPEVORF9PRl9MSU5FPiBzdXBwb3NpdGlvbitcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWR1Y3Rpb24gO1xuXG5sZW1tYUJvZHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWR1Y3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb29mIDtcblxudGhlb3JlbUJvZHkgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlN1cHBvc2VcIiA8RU5EX09GX0xJTkU+IHN1cHBvc2l0aW9uK1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvb2YgO1xuXG5jb25qZWN0dXJlQm9keSAgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZj8gO1xuXG5cblxucHJvb2YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJQcm9vZlwiIDxFTkRfT0ZfTElORT4gZGVyaXZhdGlvbiA7XG5cbnN1YnByb29mICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rIHN1YkRlcml2YXRpb24gO1xuXG5kZXJpdmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RlcCB8IHN1YnByb29mICkrIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVyZWZvcmVcIiA8RU5EX09GX0xJTkU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbnN1YkRlcml2YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkhlbmNlXCIgPEVORF9PRl9MSU5FPlxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHN0ZXAgfCBzdWJwcm9vZiApKyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApPyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cblxuXG5wcm9wZXJ0eURlY2xhcmF0aW9uLiAgICAgICAgICAgICAgICAgOjo9ICBwcm9wZXJ0eSAoIFwiOlwiIHR5cGUgKT8gPEVORF9PRl9MSU5FPiAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vbnNlbnNlLi4uIDxFTkRfT0ZfTElORT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxucHJlbWlzZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgcHJvY2VkdXJlQ2FsbC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuc3VwcG9zaXRpb24uICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgcHJvY2VkdXJlQ2FsbC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuY29uY2x1c2lvbi4gICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuZGVkdWN0aW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuaHlwb3RoZXNpcy4gICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnN0ZXAuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIHN0YXRlbWVudC4uLiBxdWFsaWZpY2F0aW9uPyA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9uc2Vuc2UuLi4gcXVhbGlmaWNhdGlvbj8gPEVORF9PRl9MSU5FPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG5xdWFsaWZpY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoIFwiYnlcIiB8IFwiZnJvbVwiICkgcmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiYmVjYXVzZVwiIHNhdGlzZmllc0Fzc2VydGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBcblxuXG5cbnBhcmVudGhlc2lzZWRMYWJlbHMgICAgICAgICAgICAgICAgICA6Oj0gIFwiKFwiIGxhYmVscyBcIilcIiA7IFxuXG5wYXJlbnRoZXNpc2VkTGFiZWwgICAgICAgICAgICAgICAgICAgOjo9ICBcIihcIiBsYWJlbCBcIilcIiA7IFxuXG5cblxucHJvY2VkdXJlQ2FsbCAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJAXCI8Tk9fV0hJVEVTUEFDRT5yZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogXCIpXCIgO1xuXG5cblxuc2lnbmF0dXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJbXCIgdGVybSAoIFwiLFwiIHRlcm0gKSogXCJdXCIgO1xuXG5cblxuYXJndW1lbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgYXJndW1lbnQgKCBcIixcIiBhcmd1bWVudCApKiA7XG5cbmxhYmVscyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIGxhYmVsICggXCIsXCIgbGFiZWwgKSogO1xuXG50eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICB0eXBlICggXCIsXCIgdHlwZSApKiA7XG5cblxuXG5hcmd1bWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICB0ZXJtICggKSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdHlwZSAoIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5tZXRhQXJndW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBzdGF0ZW1lbnQgKCApIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhVHlwZSAoICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuZnJhbWVBcmd1bWVudCAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgZnJhbWUgKCApIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhVHlwZSAoICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnJlZmVyZW5jZS4gICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGF2YXJpYWJsZSA7XG5cbmxhYmVsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGF2YXJpYWJsZSA7XG5cblxuXG5tZXRhdmFyaWFibGUuICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbaWRlbnRpZmllcl0gKCA8Tk9fV0hJVEVTUEFDRT4gXCIoXCIgKCB0ZXJtIHwgdHlwZSB8IHN0dWZmICkgXCIpXCIgKT8gO1xuXG5wYXJhbWV0ZXIuICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbaWRlbnRpZmllcl0gO1xuXG52YXJpYWJsZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbaWRlbnRpZmllcl0gO1xuXG5wcm9wZXJ0eS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbaWRlbnRpZmllcl0rIDtcblxubWV0YVR5cGUuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgW21ldGEtdHlwZV0gO1xuXG50eXBlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gO1xuXG5cblxuc3R1ZmYuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgKCBbdHlwZV0gfCBbc3ltYm9sXSB8IFticmFja2V0XSB8IFtyZXNlcnZlZF0gfCBbaWRlbnRpZmllcl0gfCBbdW5hc3NpZ25lZF0gKSsgO1xuXG5ub25zZW5zZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoIFttZXRhLXR5cGVdIHwgW3NwZWNpYWxdIHwgW3NlY29uZGFyeS1rZXl3b3JkXSB8IFt0eXBlXSB8IFtzeW1ib2xdIHwgW2JyYWNrZXRdIHwgW3Jlc2VydmVkXSB8IFtpZGVudGlmaWVyXSB8IFt1bmFzc2lnbmVkXSApKyA7YDtcblxuZXhwb3J0IGRlZmF1bHQgYm5mO1xuIl0sIm5hbWVzIjpbImJuZiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBMFdBOzs7ZUFBQTs7O0FBeFdBLElBQU1BLE1BQU87SUF3V2IsV0FBZUEifQ==
@@ -10,27 +10,30 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var entries = [
12
12
  {
13
- "special": "^(?:@|:|,)"
13
+ "special": "^(?:\\.\\.\\.|\\|-|@|,|::|:|=)"
14
14
  },
15
15
  {
16
- "bracket": "^(?:\\(|\\))"
16
+ "bracket": "^(?:\\(|\\)|\\[|\\])"
17
17
  },
18
18
  {
19
19
  "primary-keyword": "^(?:Rule|Axiom|Theorem|Lemma|Conjecture|MetaLemma|Metatheorem|Premises|Premise|Conclusion|Proof|Therefore|Suppose|Hence|Then|Provisional|Type|Properties|Property|Variable|Constructor|Combinator|Metavariable|Given)\\b"
20
20
  },
21
21
  {
22
- "secondary-keyword": "^(?:is|in|an|a|of|by|from|because|for|satisfies|provisionally)\\b"
22
+ "secondary-keyword": "^(?:is|in|an|a|of|by|from|because|for|satisfies|provisionally|defined|undefined|missing|present)\\b"
23
23
  },
24
24
  {
25
25
  "meta-type": "^(?:Statement|Reference|Frame)\\b"
26
26
  },
27
27
  {
28
- "name": "^[A-Za-zΑ-Ωα-ω][A-Za-zΑ-Ωα-ω_0-9]*"
28
+ "identifier": "^[A-Za-zΑ-Ωα-ω][A-Za-zΑ-Ωα-ω_0-9]*"
29
29
  },
30
30
  {
31
- "unassigned": "^[^\\s\\(\\):,]+"
31
+ "reserved": "^(?:\\{|\\}|<|>|;|\.|\\+|-|\\*|/|%|\\^|&|!|'|\"|#|\\$|\\?|~|`|\\\\|\\|=|\\|)"
32
+ },
33
+ {
34
+ "unassigned": "^[^\\s\\(\\)\\[\\]:,]+"
32
35
  }
33
36
  ];
34
37
  var _default = entries;
35
38
 
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL2VudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5jb25zdCBlbnRyaWVzID0gW1xyXG4gIHtcclxuICAgIFwic3BlY2lhbFwiOiBcIl4oPzpAfDp8LClcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJicmFja2V0XCI6IFwiXig/OlxcXFwofFxcXFwpKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInByaW1hcnkta2V5d29yZFwiOiBcIl4oPzpSdWxlfEF4aW9tfFRoZW9yZW18TGVtbWF8Q29uamVjdHVyZXxNZXRhTGVtbWF8TWV0YXRoZW9yZW18UHJlbWlzZXN8UHJlbWlzZXxDb25jbHVzaW9ufFByb29mfFRoZXJlZm9yZXxTdXBwb3NlfEhlbmNlfFRoZW58UHJvdmlzaW9uYWx8VHlwZXxQcm9wZXJ0aWVzfFByb3BlcnR5fFZhcmlhYmxlfENvbnN0cnVjdG9yfENvbWJpbmF0b3J8TWV0YXZhcmlhYmxlfEdpdmVuKVxcXFxiXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwic2Vjb25kYXJ5LWtleXdvcmRcIjogXCJeKD86aXN8aW58YW58YXxvZnxieXxmcm9tfGJlY2F1c2V8Zm9yfHNhdGlzZmllc3xwcm92aXNpb25hbGx5KVxcXFxiXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwibWV0YS10eXBlXCI6IFwiXig/OlN0YXRlbWVudHxSZWZlcmVuY2V8RnJhbWUpXFxcXGJcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJuYW1lXCI6IFwiXltBLVphLXrOkS3Oqc6xLc+JXVtBLVphLXrOkS3Oqc6xLc+JXzAtOV0qXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwidW5hc3NpZ25lZFwiOiBcIl5bXlxcXFxzXFxcXChcXFxcKTosXStcIlxyXG4gIH1cclxuXTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGVudHJpZXM7XHJcbiJdLCJuYW1lcyI6WyJlbnRyaWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEwQkE7OztlQUFBOzs7QUF4QkEsSUFBTUEsVUFBVTtJQUNkO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLG1CQUFtQjtJQUNyQjtJQUNBO1FBQ0UscUJBQXFCO0lBQ3ZCO0lBQ0E7UUFDRSxhQUFhO0lBQ2Y7SUFDQTtRQUNFLFFBQVE7SUFDVjtJQUNBO1FBQ0UsY0FBYztJQUNoQjtDQUNEO0lBRUQsV0FBZUEifQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL2VudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5jb25zdCBlbnRyaWVzID0gW1xyXG4gIHtcclxuICAgIFwic3BlY2lhbFwiOiBcIl4oPzpcXFxcLlxcXFwuXFxcXC58XFxcXHwtfEB8LHw6Onw6fD0pXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwiYnJhY2tldFwiOiBcIl4oPzpcXFxcKHxcXFxcKXxcXFxcW3xcXFxcXSlcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJwcmltYXJ5LWtleXdvcmRcIjogXCJeKD86UnVsZXxBeGlvbXxUaGVvcmVtfExlbW1hfENvbmplY3R1cmV8TWV0YUxlbW1hfE1ldGF0aGVvcmVtfFByZW1pc2VzfFByZW1pc2V8Q29uY2x1c2lvbnxQcm9vZnxUaGVyZWZvcmV8U3VwcG9zZXxIZW5jZXxUaGVufFByb3Zpc2lvbmFsfFR5cGV8UHJvcGVydGllc3xQcm9wZXJ0eXxWYXJpYWJsZXxDb25zdHJ1Y3RvcnxDb21iaW5hdG9yfE1ldGF2YXJpYWJsZXxHaXZlbilcXFxcYlwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInNlY29uZGFyeS1rZXl3b3JkXCI6IFwiXig/OmlzfGlufGFufGF8b2Z8Ynl8ZnJvbXxiZWNhdXNlfGZvcnxzYXRpc2ZpZXN8cHJvdmlzaW9uYWxseXxkZWZpbmVkfHVuZGVmaW5lZHxtaXNzaW5nfHByZXNlbnQpXFxcXGJcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJtZXRhLXR5cGVcIjogXCJeKD86U3RhdGVtZW50fFJlZmVyZW5jZXxGcmFtZSlcXFxcYlwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcImlkZW50aWZpZXJcIjogXCJeW0EtWmEtes6RLc6pzrEtz4ldW0EtWmEtes6RLc6pzrEtz4lfMC05XSpcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJyZXNlcnZlZFwiOiBcIl4oPzpcXFxce3xcXFxcfXw8fD58O3xcXC58XFxcXCt8LXxcXFxcKnwvfCV8XFxcXF58JnwhfCd8XFxcInwjfFxcXFwkfFxcXFw/fH58YHxcXFxcXFxcXHxcXFxcfD18XFxcXHwpXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwidW5hc3NpZ25lZFwiOiBcIl5bXlxcXFxzXFxcXChcXFxcKVxcXFxbXFxcXF06LF0rXCJcclxuICB9XHJcbl07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBlbnRyaWVzO1xyXG4iXSwibmFtZXMiOlsiZW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBNkJBOzs7ZUFBQTs7O0FBM0JBLElBQU1BLFVBQVU7SUFDZDtRQUNFLFdBQVc7SUFDYjtJQUNBO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxtQkFBbUI7SUFDckI7SUFDQTtRQUNFLHFCQUFxQjtJQUN2QjtJQUNBO1FBQ0UsYUFBYTtJQUNmO0lBQ0E7UUFDRSxjQUFjO0lBQ2hCO0lBQ0E7UUFDRSxZQUFZO0lBQ2Q7SUFDQTtRQUNFLGNBQWM7SUFDaEI7Q0FDRDtJQUVELFdBQWVBIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-grammars",
3
3
  "author": "James Smith",
4
- "version": "1.3.300",
4
+ "version": "1.3.302",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-grammars",
7
7
  "description": "Occam's grammars.",
@@ -3,21 +3,17 @@
3
3
  const bnf = `
4
4
 
5
5
 
6
- document ::= <NO_WHITESPACE> pattern ( verticalSpace | error )*
7
-
8
- | ( verticalSpace | error )+
6
+ document ::= string+ error*
7
+
8
+ | error
9
9
 
10
- ;
10
+ ;
11
11
 
12
12
 
13
- pattern ::= [unassigned]+ ;
13
+ string ::= <NO_WHITESPACE>[unassigned] <END_OF_LINE> ;
14
14
 
15
15
 
16
- verticalSpace ::= <END_OF_LINE>+ ;
17
-
18
-
19
- error. ::= . ;
20
-
16
+ error. ::= . ;
21
17
 
22
18
  `;
23
19
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  const entries = [
4
4
  {
5
- "unassigned": "^."
5
+ "unassigned": "^[^\\s]+"
6
6
  }
7
7
  ];
8
8
 
@@ -7,7 +7,7 @@ import entries from "./entries";
7
7
  export default class CustomGrammarPatternLexer extends CommonLexer {
8
8
  static entries = entries;
9
9
 
10
- static EndOfLineToken = EndOfLineSignificantToken; ///
10
+ static EndOfLineToken = EndOfLineSignificantToken;
11
11
 
12
12
  static WhitespaceToken = WhitespaceToken;
13
13
 
@@ -68,7 +68,7 @@ combinatorDeclaration ::= "Combinator" statement... <END_OF_LINE
68
68
 
69
69
  constructorDeclaration ::= "Constructor" term... ( ":" type "provisionally"? )? <END_OF_LINE> ;
70
70
 
71
- metavariableDeclaration ::= "Metavariable" metavariable ":" metaType <END_OF_LINE> ;
71
+ metavariableDeclaration ::= "Metavariable" metavariable... ":" metaType <END_OF_LINE> ;
72
72
 
73
73
  simpleTypeDeclaration ::= "Provisional"? "Type" type ( ":" types )? <END_OF_LINE> ;
74
74
 
@@ -88,9 +88,39 @@ complexTypeDeclaration ::= "Provisional"? "Type" <END_OF_LINE>
88
88
 
89
89
 
90
90
 
91
- rule ::= "Rule" parenthesisedLabels <END_OF_LINE>
91
+ rule ::= ruleHeading ruleBody ;
92
92
 
93
- (
93
+ metaLemma ::= metaLemmaHeading metaLemmaBody ;
94
+
95
+ metatheorem ::= metatheoremHeading metatheoremBody ;
96
+
97
+ axiom ::= axiomHeading axiomBody ;
98
+
99
+ lemma ::= lemmaHeading lemmaBody ;
100
+
101
+ theorem ::= theoremHeading theoremBody ;
102
+
103
+ conjecture ::= conjectureHeading conjectureBody ;
104
+
105
+
106
+
107
+ ruleHeading ::= "Rule" parenthesisedLabels... <END_OF_LINE> ;
108
+
109
+ metaLemmaHeading ::= "MetaLemma" parenthesisedLabel... <END_OF_LINE> | "MetaLemma" <END_OF_LINE> ;
110
+
111
+ metatheoremHeading ::= "Metatheorem" parenthesisedLabel... <END_OF_LINE> ;
112
+
113
+ axiomHeading ::= "Axiom" signature? parenthesisedLabels... <END_OF_LINE> ;
114
+
115
+ lemmaHeading ::= "Lemma" parenthesisedLabels... <END_OF_LINE> | "Lemma" <END_OF_LINE> ;
116
+
117
+ theoremHeading ::= "Theorem" parenthesisedLabels... <END_OF_LINE> ;
118
+
119
+ conjectureHeading ::= "Conjecture" parenthesisedLabels... <END_OF_LINE>
120
+
121
+
122
+
123
+ ruleBody ::= (
94
124
 
95
125
  ( "Premises" <END_OF_LINE> premise premise+ )
96
126
 
@@ -104,9 +134,7 @@ rule ::= "Rule" parenthesisedLabels <END_OF_LIN
104
134
 
105
135
  proof? ;
106
136
 
107
- metaLemma ::= "MetaLemma" parenthesisedLabel? <END_OF_LINE>
108
-
109
- (
137
+ metaLemmaBody ::= (
110
138
 
111
139
  "Suppose" <END_OF_LINE> supposition+
112
140
 
@@ -118,9 +146,7 @@ metaLemma ::= "MetaLemma" parenthesisedLabel? <END_O
118
146
 
119
147
  proof ;
120
148
 
121
- metatheorem ::= "Metatheorem" parenthesisedLabel <END_OF_LINE>
122
-
123
- (
149
+ metatheoremBody ::= (
124
150
 
125
151
  "Suppose" <END_OF_LINE> supposition+
126
152
 
@@ -132,21 +158,17 @@ metatheorem ::= "Metatheorem" parenthesisedLabel <END_
132
158
 
133
159
  proof ;
134
160
 
135
- axiom ::= "Axiom" signature? parenthesisedLabels <END_OF_LINE>
136
-
137
- (
161
+ axiomBody ::= (
138
162
 
139
163
  "Suppose" <END_OF_LINE> supposition+
140
-
164
+
141
165
  "Then" <END_OF_LINE>
142
-
166
+
143
167
  )?
144
-
168
+
145
169
  deduction ;
146
170
 
147
- lemma ::= "Lemma" parenthesisedLabels? <END_OF_LINE>
148
-
149
- (
171
+ lemmaBody ::= (
150
172
 
151
173
  "Suppose" <END_OF_LINE> supposition+
152
174
 
@@ -158,9 +180,7 @@ lemma ::= "Lemma" parenthesisedLabels? <END_OF_L
158
180
 
159
181
  proof ;
160
182
 
161
- theorem ::= "Theorem" parenthesisedLabels <END_OF_LINE>
162
-
163
- (
183
+ theoremBody ::= (
164
184
 
165
185
  "Suppose" <END_OF_LINE> supposition+
166
186
 
@@ -172,9 +192,7 @@ theorem ::= "Theorem" parenthesisedLabels <END_OF_
172
192
 
173
193
  proof ;
174
194
 
175
- conjecture ::= "Conjecture" parenthesisedLabels <END_OF_LINE>
176
-
177
- (
195
+ conjectureBody ::= (
178
196
 
179
197
  "Suppose" <END_OF_LINE> supposition+
180
198
 
@@ -260,33 +278,25 @@ hypothesis. ::= statement... <END_OF_LINE>
260
278
 
261
279
 
262
280
 
263
- step. ::= statement... (
281
+ step. ::= statement... qualification? <END_OF_LINE>
264
282
 
265
- ( ( "by" | "from" ) reference )
266
-
267
- |
268
-
269
- ( "because" satisfiesAssertion )
270
-
271
- )? <END_OF_LINE>
283
+ | nonsense... qualification? <END_OF_LINE>
284
+
285
+ ;
272
286
 
273
- | nonsense... (
274
287
 
275
- ( ( "by" | "from" ) reference )
276
-
277
- |
278
-
279
- ( "because" satisfiesAssertion )
288
+
289
+ qualification ::= ( "by" | "from" ) reference
280
290
 
281
- )? <END_OF_LINE>
291
+ | "because" satisfiesAssertion
282
292
 
283
- ;
293
+ ;
284
294
 
285
295
 
286
296
 
287
- parenthesisedLabels ::= "(" labels... ")" ;
297
+ parenthesisedLabels ::= "(" labels ")" ;
288
298
 
289
- parenthesisedLabel ::= "(" label... ")" ;
299
+ parenthesisedLabel ::= "(" label ")" ;
290
300
 
291
301
 
292
302
 
@@ -332,13 +342,13 @@ label. ::= metavariable ;
332
342
 
333
343
 
334
344
 
335
- metavariable. ::= [name] ( <NO_WHITESPACE> "(" ( term | type | stuff ) ")" )? ;
345
+ metavariable. ::= [identifier] ( <NO_WHITESPACE> "(" ( term | type | stuff ) ")" )? ;
336
346
 
337
- parameter. ::= [name] ;
347
+ parameter. ::= [identifier] ;
338
348
 
339
- variable. ::= [name] ;
349
+ variable. ::= [identifier] ;
340
350
 
341
- property. ::= [name]+ ;
351
+ property. ::= [identifier]+ ;
342
352
 
343
353
  metaType. ::= [meta-type] ;
344
354
 
@@ -346,8 +356,8 @@ type. ::= [type] ;
346
356
 
347
357
 
348
358
 
349
- stuff. ::= ( [name] | [symbol] | [bracket] | [unassigned] )+ ;
359
+ stuff. ::= ( [type] | [symbol] | [bracket] | [reserved] | [identifier] | [unassigned] )+ ;
350
360
 
351
- nonsense. ::= ( [type] | [meta-type] | [special] | [secondary-keyword] | [name] | [symbol] | [bracket] | [unassigned] )+ ;`;
361
+ nonsense. ::= ( [meta-type] | [special] | [secondary-keyword] | [type] | [symbol] | [bracket] | [reserved] | [identifier] | [unassigned] )+ ;`;
352
362
 
353
363
  export default bnf;
@@ -2,25 +2,28 @@
2
2
 
3
3
  const entries = [
4
4
  {
5
- "special": "^(?:@|:|,)"
5
+ "special": "^(?:\\.\\.\\.|\\|-|@|,|::|:|=)"
6
6
  },
7
7
  {
8
- "bracket": "^(?:\\(|\\))"
8
+ "bracket": "^(?:\\(|\\)|\\[|\\])"
9
9
  },
10
10
  {
11
11
  "primary-keyword": "^(?:Rule|Axiom|Theorem|Lemma|Conjecture|MetaLemma|Metatheorem|Premises|Premise|Conclusion|Proof|Therefore|Suppose|Hence|Then|Provisional|Type|Properties|Property|Variable|Constructor|Combinator|Metavariable|Given)\\b"
12
12
  },
13
13
  {
14
- "secondary-keyword": "^(?:is|in|an|a|of|by|from|because|for|satisfies|provisionally)\\b"
14
+ "secondary-keyword": "^(?:is|in|an|a|of|by|from|because|for|satisfies|provisionally|defined|undefined|missing|present)\\b"
15
15
  },
16
16
  {
17
17
  "meta-type": "^(?:Statement|Reference|Frame)\\b"
18
18
  },
19
19
  {
20
- "name": "^[A-Za-zΑ-Ωα-ω][A-Za-zΑ-Ωα-ω_0-9]*"
20
+ "identifier": "^[A-Za-zΑ-Ωα-ω][A-Za-zΑ-Ωα-ω_0-9]*"
21
21
  },
22
22
  {
23
- "unassigned": "^[^\\s\\(\\):,]+"
23
+ "reserved": "^(?:\\{|\\}|<|>|;|\.|\\+|-|\\*|/|%|\\^|&|!|'|\"|#|\\$|\\?|~|`|\\\\|\\|=|\\|)"
24
+ },
25
+ {
26
+ "unassigned": "^[^\\s\\(\\)\\[\\]:,]+"
24
27
  }
25
28
  ];
26
29