occam-verify-cli 1.0.170 → 1.0.172

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.
@@ -13,9 +13,8 @@ var _occamfurtle = require("occam-furtle");
13
13
  var _occamentities = require("occam-entities");
14
14
  var _occamcustomgrammars = require("occam-custom-grammars");
15
15
  var _file = /*#__PURE__*/ _interop_require_default(require("../context/file"));
16
- var _lexer = /*#__PURE__*/ _interop_require_default(require("../nominal/lexer"));
17
- var _parser = /*#__PURE__*/ _interop_require_default(require("../nominal/parser"));
18
16
  var _type = require("../dom/type");
17
+ var _parser = require("../utilities/parser");
19
18
  var _metaType = require("../dom/metaType");
20
19
  var _customGrammar = require("../utilities/customGrammar");
21
20
  function _array_like_to_array(arr, len) {
@@ -497,7 +496,9 @@ var ReleaseContext = /*#__PURE__*/ function() {
497
496
  {
498
497
  key: "initialise",
499
498
  value: function initialise(releaseContexts) {
500
- var combinedCustomGrammar = (0, _customGrammar.combinedCustomGrammarFromReleaseContexts)(releaseContexts), nominalLexer = nominalLexerFromCombinedCustomGrammar(_lexer.default, combinedCustomGrammar), nominalParser = nominalParserFromCombinedCustomGrammar(_parser.default, combinedCustomGrammar), releaseContext = this, released = this.isReleased();
499
+ var combinedCustomGrammar = (0, _customGrammar.combinedCustomGrammarFromReleaseContexts)(releaseContexts), nominalLexer = nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar), nominalParser = nominalParserFromCombinedCustomGrammar(combinedCustomGrammar);
500
+ (0, _parser.setNonTerminalNodes)(nominalParser);
501
+ var releaseContext = this, released = this.isReleased();
501
502
  this.dependencyReleaseContexts = tail(releaseContexts); ///
502
503
  this.lexer = nominalLexer; ///
503
504
  this.parser = nominalParser; ///
@@ -577,4 +578,4 @@ function fileContextsFromEntries(entries, fileContexts, releaseContext) {
577
578
  });
578
579
  }
579
580
 
580
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3JlbGVhc2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuaW1wb3J0IHsgRmlsZUNvbnRleHQgYXMgRnVydGxlRmlsZUNvbnRleHQgfSBmcm9tIFwib2NjYW0tZnVydGxlXCI7XG5cbmltcG9ydCB7IGZpbGVQYXRoVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWVudGl0aWVzXCI7XG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tY3VzdG9tLWdyYW1tYXJzXCI7XG5cbmltcG9ydCBGaWxlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9maWxlXCI7XG5pbXBvcnQgTm9taW5hbExleGVyIGZyb20gXCIuLi9ub21pbmFsL2xleGVyXCI7XG5pbXBvcnQgTm9taW5hbFBhcnNlciBmcm9tIFwiLi4vbm9taW5hbC9wYXJzZXJcIjtcblxuaW1wb3J0IHsgb2JqZWN0VHlwZSB9IGZyb20gXCIuLi9kb20vdHlwZVwiO1xuaW1wb3J0IHsgZnJhbWVNZXRhVHlwZSwgcmVmZXJlbmNlTWV0YVR5cGUsIHN0YXRlbWVudE1ldGFUeXBlIH0gZnJvbSBcIi4uL2RvbS9tZXRhVHlwZVwiO1xuaW1wb3J0IHsgY3VzdG9tR3JhbW1hckZyb21OYW1lQW5kRW50cmllcywgY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbVJlbGVhc2VDb250ZXh0cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvY3VzdG9tR3JhbW1hclwiO1xuXG5jb25zdCB7IHRhaWwsIHB1c2gsIGNsZWFyLCByZXNvbHZlIH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgbm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcyxcbiAgICAgIHsgaXNGaWxlUGF0aEZ1cnRsZUZpbGVQYXRoLCBpc0ZpbGVQYXRoTm9taW5hbEZpbGVQYXRoIH0gPSBmaWxlUGF0aFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVsZWFzZUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihsb2csIG5hbWUsIGpzb24sIGVudHJpZXMsIGxleGVyLCBwYXJzZXIsIHZlcmlmaWVkLCBpbml0aWFsaXNlZCwgZmlsZUNvbnRleHRzLCBjdXN0b21HcmFtbWFyLCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKSB7XG4gICAgdGhpcy5sb2cgPSBsb2c7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLmpzb24gPSBqc29uO1xuICAgIHRoaXMuZW50cmllcyA9IGVudHJpZXM7XG4gICAgdGhpcy5sZXhlciA9IGxleGVyO1xuICAgIHRoaXMucGFyc2VyID0gcGFyc2VyO1xuICAgIHRoaXMudmVyaWZpZWQgPSB2ZXJpZmllZDtcbiAgICB0aGlzLmluaXRpYWxpc2VkID0gaW5pdGlhbGlzZWQ7XG4gICAgdGhpcy5maWxlQ29udGV4dHMgPSBmaWxlQ29udGV4dHM7XG4gICAgdGhpcy5jdXN0b21HcmFtbWFyID0gY3VzdG9tR3JhbW1hcjtcbiAgICB0aGlzLmRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzO1xuICB9XG5cbiAgZ2V0TG9nKCkge1xuICAgIHJldHVybiBsb2c7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRKU09OKCkge1xuICAgIHJldHVybiB0aGlzLmpzb247XG4gIH1cblxuICBnZXRFbnRyaWVzKCkge1xuICAgIHJldHVybiB0aGlzLmVudHJpZXM7XG4gIH1cblxuICBnZXRMZXhlcigpIHtcbiAgICByZXR1cm4gdGhpcy5sZXhlcjtcbiAgfVxuXG4gIGdldFBhcnNlcigpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXI7XG4gIH1cblxuICBnZXRNZXRhVHlwZXMoKSB7XG4gICAgY29uc3QgbWV0YVR5cGVzID0gW1xuICAgICAgZnJhbWVNZXRhVHlwZSxcbiAgICAgIHJlZmVyZW5jZU1ldGFUeXBlLFxuICAgICAgc3RhdGVtZW50TWV0YVR5cGVcbiAgICBdO1xuXG4gICAgcmV0dXJuIG1ldGFUeXBlcztcbiAgfVxuXG4gIGlzVmVyaWZpZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudmVyaWZpZWQ7XG4gIH1cblxuICBpc0luaXRpYWxpc2VkKCkge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpc2VkO1xuICB9XG5cbiAgZ2V0RmlsZUNvbnRleHRzKCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0cztcbiAgfVxuXG4gIGdldEN1c3RvbUdyYW1tYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tR3JhbW1hcjtcbiAgfVxuXG4gIGdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cztcbiAgfVxuXG4gIGlzUmVsZWFzZWQoKSB7XG4gICAgY29uc3QgcmVsZWFzZWQgPSAodGhpcy5qc29uICE9PSBudWxsKTtcblxuICAgIHJldHVybiByZWxlYXNlZDtcbiAgfVxuXG4gIGZpbmRGaWxlKGZpbGVQYXRoKSB7IHJldHVybiB0aGlzLmVudHJpZXMuZmluZEZpbGUoZmlsZVBhdGgpOyB9XG5cbiAgZmluZEZpbGVDb250ZXh0KGZpbGVQYXRoKSB7XG4gICAgY29uc3QgZmlsZUNvbnRleHQgPSB0aGlzLmZpbGVDb250ZXh0cy5maW5kKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgZmlsZUNvbnRleHRGaWxlUGF0aCA9IGZpbGVDb250ZXh0LmdldEZpbGVQYXRoKCk7XG5cbiAgICAgIGlmIChmaWxlQ29udGV4dEZpbGVQYXRoID09PSBmaWxlUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBmaWxlQ29udGV4dDtcbiAgfVxuXG4gIGdldExhYmVscyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxhYmVscyA9IFtdO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWxlQ29udGV4dExhYmVscyA9IGZpbGVDb250ZXh0LmdldExhYmVscyhpbmNsdWRlUmVsZWFzZSk7XG5cbiAgICAgIHB1c2gobGFiZWxzLCBmaWxlQ29udGV4dExhYmVscyk7XG4gICAgfSk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRMYWJlbHMgPSByZWxlYXNlQ29udGV4dC5nZXRMYWJlbHMoaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICAgICAgcHVzaChsYWJlbHMsIHJlbGVhc2VDb250ZXh0TGFiZWxzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBsYWJlbHM7XG4gIH1cblxuICBnZXRUeXBlcyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVzID0gW107XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgaW5jbHVkZVJlbGVhc2UgPSBmYWxzZSxcbiAgICAgICAgICAgIGZpbGVDb250ZXh0VHlwZXMgPSBmaWxlQ29udGV4dC5nZXRUeXBlcyhpbmNsdWRlUmVsZWFzZSk7XG5cbiAgICAgIHB1c2godHlwZXMsIGZpbGVDb250ZXh0VHlwZXMpO1xuICAgIH0pO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0VHlwZXMgPSByZWxlYXNlQ29udGV4dC5nZXRUeXBlcyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKHR5cGVzLCByZWxlYXNlQ29udGV4dFR5cGVzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlcztcbiAgfVxuXG4gIGdldFJ1bGVzKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgcnVsZXMgPSBbXTtcblxuICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCBpbmNsdWRlUmVsZWFzZSA9IGZhbHNlLFxuICAgICAgICAgICAgZmlsZUNvbnRleHRSdWxlcyA9IGZpbGVDb250ZXh0LmdldFJ1bGVzKGluY2x1ZGVSZWxlYXNlKTtcblxuICAgICAgcHVzaChydWxlcywgZmlsZUNvbnRleHRSdWxlcyk7XG4gICAgfSk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRSdWxlcyA9IHJlbGVhc2VDb250ZXh0LmdldFJ1bGVzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2gocnVsZXMsIHJlbGVhc2VDb250ZXh0UnVsZXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJ1bGVzO1xuICB9XG5cbiAgZ2V0QXhpb21zKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgYXhpb21zID0gW107XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgaW5jbHVkZVJlbGVhc2UgPSBmYWxzZSxcbiAgICAgICAgICAgIGZpbGVDb250ZXh0QXhpb21zID0gZmlsZUNvbnRleHQuZ2V0QXhpb21zKGluY2x1ZGVSZWxlYXNlKTtcblxuICAgICAgcHVzaChheGlvbXMsIGZpbGVDb250ZXh0QXhpb21zKTtcbiAgICB9KTtcblxuICAgIGlmIChpbmNsdWRlRGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gdGhpcy5nZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKCk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dEF4aW9tcyA9IHJlbGVhc2VDb250ZXh0LmdldEF4aW9tcyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKGF4aW9tcywgcmVsZWFzZUNvbnRleHRBeGlvbXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF4aW9tcztcbiAgfVxuXG4gIGdldExlbW1hcyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxlbW1hcyA9IFtdO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWxlQ29udGV4dExlbW1hcyA9IGZpbGVDb250ZXh0LmdldExlbW1hcyhpbmNsdWRlUmVsZWFzZSk7XG5cbiAgICAgIHB1c2gobGVtbWFzLCBmaWxlQ29udGV4dExlbW1hcyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbGVtbWFzO1xuICB9XG5cbiAgZ2V0VGhlb3JlbXMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCB0aGVvcmVtcyA9IFtdO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWxlQ29udGV4dFRoZW9yZW1zID0gZmlsZUNvbnRleHQuZ2V0VGhlb3JlbXMoaW5jbHVkZVJlbGVhc2UpO1xuXG4gICAgICBwdXNoKHRoZW9yZW1zLCBmaWxlQ29udGV4dFRoZW9yZW1zKTtcbiAgICB9KTtcblxuICAgIGlmIChpbmNsdWRlRGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gdGhpcy5nZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKCk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dFRoZW9yZW1zID0gcmVsZWFzZUNvbnRleHQuZ2V0VGhlb3JlbXMoaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICAgICAgcHVzaCh0aGVvcmVtcywgcmVsZWFzZUNvbnRleHRUaGVvcmVtcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhlb3JlbXM7XG4gIH1cblxuICBnZXRQcm9jZWR1cmVzKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlcyA9IFtdO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWxlQ29udGV4dFByb2NlZHVyZXMgPSBmaWxlQ29udGV4dC5nZXRQcm9jZWR1cmVzKGluY2x1ZGVSZWxlYXNlKTtcblxuICAgICAgcHVzaChwcm9jZWR1cmVzLCBmaWxlQ29udGV4dFByb2NlZHVyZXMpO1xuICAgIH0pO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHRQcm9jZWR1cmVzID0gcmVsZWFzZUNvbnRleHQuZ2V0UHJvY2VkdXJlcyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKHByb2NlZHVyZXMsIHJlbGVhc2VDb250ZXh0UHJvY2VkdXJlcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlcztcbiAgfVxuXG4gIGdldE1ldGFMZW1tYXMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhTGVtbWFzID0gW107XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgaW5jbHVkZVJlbGVhc2UgPSBmYWxzZSxcbiAgICAgICAgICAgIGZpbGVDb250ZXh0TWV0YUxlbW1hcyA9IGZpbGVDb250ZXh0LmdldE1ldGFMZW1tYXMoaW5jbHVkZVJlbGVhc2UpO1xuXG4gICAgICBwdXNoKG1ldGFMZW1tYXMsIGZpbGVDb250ZXh0TWV0YUxlbW1hcyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWV0YUxlbW1hcztcbiAgfVxuXG4gIGdldENvbmplY3R1cmVzKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgY29uamVjdHVyZXMgPSBbXTtcblxuICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCBpbmNsdWRlUmVsZWFzZSA9IGZhbHNlLFxuICAgICAgICAgICAgZmlsZUNvbnRleHRDb25qZWN0dXJlcyA9IGZpbGVDb250ZXh0LmdldENvbmplY3R1cmVzKGluY2x1ZGVSZWxlYXNlKTtcblxuICAgICAgcHVzaChjb25qZWN0dXJlcywgZmlsZUNvbnRleHRDb25qZWN0dXJlcyk7XG4gICAgfSk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRDb25qZWN0dXJlcyA9IHJlbGVhc2VDb250ZXh0LmdldENvbmplY3R1cmVzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2goY29uamVjdHVyZXMsIHJlbGVhc2VDb250ZXh0Q29uamVjdHVyZXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmplY3R1cmVzO1xuICB9XG5cbiAgZ2V0Q29tYmluYXRvcnMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWxlQ29udGV4dENvbWJpbmF0b3JzID0gZmlsZUNvbnRleHQuZ2V0Q29tYmluYXRvcnMoaW5jbHVkZVJlbGVhc2UpO1xuXG4gICAgICBwdXNoKGNvbWJpbmF0b3JzLCBmaWxlQ29udGV4dENvbWJpbmF0b3JzKTtcbiAgICB9KTtcblxuICAgIGlmIChpbmNsdWRlRGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gdGhpcy5nZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKCk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dENvbWJpbmF0b3JzID0gcmVsZWFzZUNvbnRleHQuZ2V0Q29tYmluYXRvcnMoaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICAgICAgcHVzaChjb21iaW5hdG9ycywgcmVsZWFzZUNvbnRleHRDb21iaW5hdG9ycyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tYmluYXRvcnM7XG4gIH1cblxuICBnZXRDb25zdHJ1Y3RvcnMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBbXTtcblxuICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCBpbmNsdWRlUmVsZWFzZSA9IGZhbHNlLFxuICAgICAgICAgICAgZmlsZUNvbnRleHRDb25zdHJ1Y3RvcnMgPSBmaWxlQ29udGV4dC5nZXRDb25zdHJ1Y3RvcnMoaW5jbHVkZVJlbGVhc2UpO1xuXG4gICAgICBwdXNoKGNvbnN0cnVjdG9ycywgZmlsZUNvbnRleHRDb25zdHJ1Y3RvcnMpO1xuICAgIH0pO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0Q29uc3RydWN0b3JzID0gcmVsZWFzZUNvbnRleHQuZ2V0Q29uc3RydWN0b3JzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2goY29uc3RydWN0b3JzLCByZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3JzO1xuICB9XG5cbiAgZ2V0TWV0YXRoZW9yZW1zKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YXRoZW9yZW1zID0gW107XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgaW5jbHVkZVJlbGVhc2UgPSBmYWxzZSxcbiAgICAgICAgICAgIGZpbGVDb250ZXh0TWV0YXRoZW9yZW1zID0gZmlsZUNvbnRleHQuZ2V0TWV0YXRoZW9yZW1zKGluY2x1ZGVSZWxlYXNlKTtcblxuICAgICAgcHVzaChtZXRhdGhlb3JlbXMsIGZpbGVDb250ZXh0TWV0YXRoZW9yZW1zKTtcbiAgICB9KTtcblxuICAgIGlmIChpbmNsdWRlRGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gdGhpcy5nZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKCk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dE1ldGF0aGVvcmVtcyA9IHJlbGVhc2VDb250ZXh0LmdldE1ldGF0aGVvcmVtcyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKG1ldGF0aGVvcmVtcywgcmVsZWFzZUNvbnRleHRNZXRhdGhlb3JlbXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGF0aGVvcmVtcztcbiAgfVxuXG4gIGFkZEZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSB7XG4gICAgdGhpcy5maWxlQ29udGV4dHMucHVzaChmaWxlQ29udGV4dCk7XG4gIH1cblxuICBmaW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpIHtcbiAgICBsZXQgdHlwZXMgPSB0aGlzLmdldFR5cGVzKCk7XG5cbiAgICB0eXBlcyA9IFtcbiAgICAgIC4uLnR5cGVzLFxuICAgICAgb2JqZWN0VHlwZVxuICAgIF07XG5cbiAgICBjb25zdCB0eXBlID0gdHlwZXMuZmluZCgodHlwZSkgPT4ge1xuICAgICAgY29uc3QgdHlwZU5hbWVNYXRjaGVzID0gdHlwZS5tYXRjaFR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICAgICAgaWYgKHR5cGVOYW1lTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBnZXRSZWxlYXNlTmFtZSgpIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5nZXROYW1lKCksXG4gICAgICAgICAgcmVsZWFzZU5hbWUgPSBuYW1lOyAvLy9cblxuICAgIHJldHVybiByZWxlYXNlTmFtZTtcbiAgfVxuXG4gIGdldEZpbGUoZmlsZVBhdGgpIHsgcmV0dXJuIHRoaXMuZW50cmllcy5nZXRGaWxlKGZpbGVQYXRoKTsgfVxuXG4gIGdldFZlcnNpb24oKSB7IHJldHVybiB0aGlzLmVudHJpZXMuZ2V0VmVyc2lvbigpOyB9XG5cbiAgZ2V0RmlsZVBhdGhzKCkgeyByZXR1cm4gdGhpcy5lbnRyaWVzLmdldEZpbGVQYXRocygpOyB9XG5cbiAgZ2V0RGVwZW5kZW5jaWVzKCkgeyByZXR1cm4gdGhpcy5lbnRyaWVzLmdldERlcGVuZGVuY2llcygpOyB9XG5cbiAgbWF0Y2hTaG9ydGVuZWRWZXJzaW9uKHNob3J0ZW5lZFZlcnNpb24pIHsgcmV0dXJuIHRoaXMuZW50cmllcy5tYXRjaFNob3J0ZW5lZFZlcnNpb24oc2hvcnRlbmVkVmVyc2lvbik7IH1cblxuICB0cmFjZShtZXNzYWdlLCBmaWxlUGF0aCA9IG51bGwpIHsgdGhpcy5sb2cudHJhY2UobWVzc2FnZSwgZmlsZVBhdGgpOyB9XG5cbiAgZGVidWcobWVzc2FnZSwgZmlsZVBhdGggPSBudWxsKSB7IHRoaXMubG9nLmRlYnVnKG1lc3NhZ2UsIGZpbGVQYXRoKTsgfVxuXG4gIGluZm8obWVzc2FnZSwgZmlsZVBhdGggPSBudWxsKSB7IHRoaXMubG9nLmluZm8obWVzc2FnZSwgZmlsZVBhdGgpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlLCBmaWxlUGF0aCA9IG51bGwpIHsgdGhpcy5sb2cud2FybmluZyhtZXNzYWdlLCBmaWxlUGF0aCk7IH1cblxuICBlcnJvcihtZXNzYWdlLCBmaWxlUGF0aCA9IG51bGwpIHsgdGhpcy5sb2cuZXJyb3IobWVzc2FnZSwgZmlsZVBhdGgpOyB9XG5cbiAgaW5pdGlhbGlzZShyZWxlYXNlQ29udGV4dHMpIHtcbiAgICBjb25zdCBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0cyksXG4gICAgICAgICAgbm9taW5hbExleGVyID0gbm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hcihOb21pbmFsTGV4ZXIsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgICAgbm9taW5hbFBhcnNlciA9IG5vbWluYWxQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKE5vbWluYWxQYXJzZXIsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHQgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgcmVsZWFzZWQgPSB0aGlzLmlzUmVsZWFzZWQoKTtcblxuICAgIHRoaXMuZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRhaWwocmVsZWFzZUNvbnRleHRzKTsgLy8vXG5cbiAgICB0aGlzLmxleGVyID0gbm9taW5hbExleGVyOyAvLy9cblxuICAgIHRoaXMucGFyc2VyID0gbm9taW5hbFBhcnNlcjsgLy8vXG5cbiAgICBjbGVhcih0aGlzLmZpbGVDb250ZXh0cyk7XG5cbiAgICByZWxlYXNlZCA/XG4gICAgICBmaWxlQ29udGV4dHNGcm9tSlNPTih0aGlzLmpzb24sIHRoaXMuZmlsZUNvbnRleHRzLCByZWxlYXNlQ29udGV4dCkgOlxuICAgICAgICBmaWxlQ29udGV4dHNGcm9tRW50cmllcyh0aGlzLmVudHJpZXMsIHRoaXMuZmlsZUNvbnRleHRzLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICB0aGlzLmluaXRpYWxpc2VkID0gdHJ1ZTtcbiAgfVxuXG4gIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHZlcmlmaWVkRmlsZUNvbnRleHRzID0gW10sXG4gICAgICAgICAgZmlsZUNvbnRleHRzVmVyaWZpZWQgPSB2ZXJpZnlGaWxlQ29udGV4dHModGhpcy5maWxlQ29udGV4dHMsIHZlcmlmaWVkRmlsZUNvbnRleHRzKTtcblxuICAgIGlmIChmaWxlQ29udGV4dHNWZXJpZmllZCkge1xuICAgICAgdGhpcy5maWxlQ29udGV4dHMgPSB2ZXJpZmllZEZpbGVDb250ZXh0czsgLy8vXG5cbiAgICAgIHRoaXMudmVyaWZpZWQgPSB0cnVlO1xuXG4gICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IGZpbGVDb250ZXh0c0pTT04gPSB0aGlzLmZpbGVDb250ZXh0cy5tYXAoKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWxlQ29udGV4dEpTT04gPSBmaWxlQ29udGV4dC50b0pTT04oKTtcblxuICAgICAgICAgICAgcmV0dXJuIGZpbGVDb250ZXh0SlNPTjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBqc29uID0gZmlsZUNvbnRleHRzSlNPTjsgIC8vL1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUxvZ05hbWVKU09OQW5kRW50cmllcyhsb2csIG5hbWUsIGpzb24sIGVudHJpZXMpIHtcbiAgICBjb25zdCBsZXhlciA9IG51bGwsXG4gICAgICAgICAgcGFyc2VyID0gbnVsbCxcbiAgICAgICAgICB2ZXJpZmllZCA9IGZhbHNlLFxuICAgICAgICAgIGluaXRpYWxpc2VkID0gZmFsc2UsXG4gICAgICAgICAgZmlsZUNvbnRleHRzID0gW10sXG4gICAgICAgICAgY3VzdG9tR3JhbW1hciA9IGN1c3RvbUdyYW1tYXJGcm9tTmFtZUFuZEVudHJpZXMobmFtZSwgZW50cmllcyksXG4gICAgICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IG51bGwsXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHQgPSBuZXcgUmVsZWFzZUNvbnRleHQobG9nLCBuYW1lLCBqc29uLCBlbnRyaWVzLCBsZXhlciwgcGFyc2VyLCB2ZXJpZmllZCwgaW5pdGlhbGlzZWQsIGZpbGVDb250ZXh0cywgY3VzdG9tR3JhbW1hciwgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyk7XG5cbiAgICByZXR1cm4gcmVsZWFzZUNvbnRleHQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gdmVyaWZ5RmlsZUNvbnRleHRzKGZpbGVDb250ZXh0cywgdmVyaWZpZWRGaWxlQ29udGV4dHMpIHtcbiAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlKGZpbGVDb250ZXh0cywgdmVyaWZpZWRGaWxlQ29udGV4dHMsIChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbGVDb250ZXh0VmVyaWZpZWQgPSBmaWxlQ29udGV4dC52ZXJpZnkoKTtcblxuICAgICAgICAgIGlmIChmaWxlQ29udGV4dFZlcmlmaWVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBmaWxlQ29udGV4dHNWZXJpZmllZCA9IHJlc29sdmVkOyAgLy8vXG5cbiAgcmV0dXJuIGZpbGVDb250ZXh0c1ZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiBmaWxlQ29udGV4dHNGcm9tSlNPTihqc29uLGZpbGVDb250ZXh0cywgcmVsZWFzZUNvbnRleHQpIHtcbiAgY29uc3QgZmlsZUNvbnRleHRzSlNPTiA9IGpzb247ICAvLy9cblxuICBmaWxlQ29udGV4dHNKU09OLmZvckVhY2goKGZpbGVDb250ZXh0SlNPTikgPT4ge1xuICAgIGNvbnN0IHsgZmlsZVBhdGggfSA9IGZpbGVDb250ZXh0SlNPTixcbiAgICAgICAgICBqc29uID0gZmlsZUNvbnRleHRKU09OLCAvLy9cbiAgICAgICAgICBmaWxlUGF0aEZ1cnRsZUZpbGVQYXRoID0gaXNGaWxlUGF0aEZ1cnRsZUZpbGVQYXRoKGZpbGVQYXRoKSxcbiAgICAgICAgICBmaWxlUGF0aE5vbWluYWxGaWxlUGF0aCA9IGlzRmlsZVBhdGhOb21pbmFsRmlsZVBhdGgoZmlsZVBhdGgpO1xuXG4gICAgaWYgKGZpbGVQYXRoRnVydGxlRmlsZVBhdGgpIHtcbiAgICAgIGNvbnN0IGZ1cnRsZUZpbGVDb250ZXh0ID0gRnVydGxlRmlsZUNvbnRleHQuZnJvbUZpbGVQYXRoQW5kSlNPTihmaWxlUGF0aCwganNvbiwgcmVsZWFzZUNvbnRleHQpLFxuICAgICAgICAgICAgZmlsZUNvbnRleHQgPSBmdXJ0bGVGaWxlQ29udGV4dDsgIC8vL1xuXG4gICAgICBmaWxlQ29udGV4dHMucHVzaChmaWxlQ29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKGZpbGVQYXRoTm9taW5hbEZpbGVQYXRoKSB7XG4gICAgICBjb25zdCBmaWxlQ29udGV4dCA9IEZpbGVDb250ZXh0LmZyb21GaWxlUGF0aEFuZEpTT04oZmlsZVBhdGgsIGpzb24sIHJlbGVhc2VDb250ZXh0KTtcblxuICAgICAgZmlsZUNvbnRleHRzLnB1c2goZmlsZUNvbnRleHQpO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGZpbGVDb250ZXh0c0Zyb21FbnRyaWVzKGVudHJpZXMsIGZpbGVDb250ZXh0cywgcmVsZWFzZUNvbnRleHQpIHtcbiAgZW50cmllcy5mb3JFYWNoRmlsZSgoZmlsZSkgPT4ge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gZmlsZS5nZXRQYXRoKCksXG4gICAgICAgICAgZmlsZVBhdGhGdXJ0bGVGaWxlUGF0aCA9IGlzRmlsZVBhdGhGdXJ0bGVGaWxlUGF0aChmaWxlUGF0aCksXG4gICAgICAgICAgZmlsZVBhdGhOb21pbmFsRmlsZVBhdGggPSBpc0ZpbGVQYXRoTm9taW5hbEZpbGVQYXRoKGZpbGVQYXRoKTtcblxuICAgIGlmIChmaWxlUGF0aEZ1cnRsZUZpbGVQYXRoKSB7XG4gICAgICBjb25zdCBmdXJ0bGVGaWxlQ29udGV4dCA9IEZ1cnRsZUZpbGVDb250ZXh0LmZyb21GaWxlKGZpbGUsIHJlbGVhc2VDb250ZXh0KSxcbiAgICAgICAgICAgIGZpbGVDb250ZXh0ID0gZnVydGxlRmlsZUNvbnRleHQ7ICAvLy9cblxuICAgICAgZmlsZUNvbnRleHRzLnB1c2goZmlsZUNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmIChmaWxlUGF0aE5vbWluYWxGaWxlUGF0aCkge1xuICAgICAgY29uc3QgZmlsZUNvbnRleHQgPSBGaWxlQ29udGV4dC5mcm9tRmlsZShmaWxlLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgIGZpbGVDb250ZXh0cy5wdXNoKGZpbGVDb250ZXh0KTtcbiAgICB9XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbIlJlbGVhc2VDb250ZXh0IiwidGFpbCIsImFycmF5VXRpbGl0aWVzIiwicHVzaCIsImNsZWFyIiwicmVzb2x2ZSIsIm5vbWluYWxMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIiLCJsZXhlcnNVdGlsaXRpZXMiLCJub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJpc0ZpbGVQYXRoRnVydGxlRmlsZVBhdGgiLCJmaWxlUGF0aFV0aWxpdGllcyIsImlzRmlsZVBhdGhOb21pbmFsRmlsZVBhdGgiLCJsb2ciLCJuYW1lIiwianNvbiIsImVudHJpZXMiLCJsZXhlciIsInBhcnNlciIsInZlcmlmaWVkIiwiaW5pdGlhbGlzZWQiLCJmaWxlQ29udGV4dHMiLCJjdXN0b21HcmFtbWFyIiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsImdldExvZyIsImdldE5hbWUiLCJnZXRKU09OIiwiZ2V0RW50cmllcyIsImdldExleGVyIiwiZ2V0UGFyc2VyIiwiZ2V0TWV0YVR5cGVzIiwibWV0YVR5cGVzIiwiZnJhbWVNZXRhVHlwZSIsInJlZmVyZW5jZU1ldGFUeXBlIiwic3RhdGVtZW50TWV0YVR5cGUiLCJpc1ZlcmlmaWVkIiwiaXNJbml0aWFsaXNlZCIsImdldEZpbGVDb250ZXh0cyIsImdldEN1c3RvbUdyYW1tYXIiLCJnZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwiaXNSZWxlYXNlZCIsInJlbGVhc2VkIiwiZmluZEZpbGUiLCJmaWxlUGF0aCIsImZpbmRGaWxlQ29udGV4dCIsImZpbGVDb250ZXh0IiwiZmluZCIsImZpbGVDb250ZXh0RmlsZVBhdGgiLCJnZXRGaWxlUGF0aCIsImdldExhYmVscyIsImluY2x1ZGVEZXBlbmRlbmNpZXMiLCJsYWJlbHMiLCJmb3JFYWNoIiwiaW5jbHVkZVJlbGVhc2UiLCJmaWxlQ29udGV4dExhYmVscyIsInJlbGVhc2VDb250ZXh0IiwicmVsZWFzZUNvbnRleHRMYWJlbHMiLCJnZXRUeXBlcyIsInR5cGVzIiwiZmlsZUNvbnRleHRUeXBlcyIsInJlbGVhc2VDb250ZXh0VHlwZXMiLCJnZXRSdWxlcyIsInJ1bGVzIiwiZmlsZUNvbnRleHRSdWxlcyIsInJlbGVhc2VDb250ZXh0UnVsZXMiLCJnZXRBeGlvbXMiLCJheGlvbXMiLCJmaWxlQ29udGV4dEF4aW9tcyIsInJlbGVhc2VDb250ZXh0QXhpb21zIiwiZ2V0TGVtbWFzIiwibGVtbWFzIiwiZmlsZUNvbnRleHRMZW1tYXMiLCJnZXRUaGVvcmVtcyIsInRoZW9yZW1zIiwiZmlsZUNvbnRleHRUaGVvcmVtcyIsInJlbGVhc2VDb250ZXh0VGhlb3JlbXMiLCJnZXRQcm9jZWR1cmVzIiwicHJvY2VkdXJlcyIsImZpbGVDb250ZXh0UHJvY2VkdXJlcyIsInJlbGVhc2VDb250ZXh0UHJvY2VkdXJlcyIsImdldE1ldGFMZW1tYXMiLCJtZXRhTGVtbWFzIiwiZmlsZUNvbnRleHRNZXRhTGVtbWFzIiwiZ2V0Q29uamVjdHVyZXMiLCJjb25qZWN0dXJlcyIsImZpbGVDb250ZXh0Q29uamVjdHVyZXMiLCJyZWxlYXNlQ29udGV4dENvbmplY3R1cmVzIiwiZ2V0Q29tYmluYXRvcnMiLCJjb21iaW5hdG9ycyIsImZpbGVDb250ZXh0Q29tYmluYXRvcnMiLCJyZWxlYXNlQ29udGV4dENvbWJpbmF0b3JzIiwiZ2V0Q29uc3RydWN0b3JzIiwiY29uc3RydWN0b3JzIiwiZmlsZUNvbnRleHRDb25zdHJ1Y3RvcnMiLCJyZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyIsImdldE1ldGF0aGVvcmVtcyIsIm1ldGF0aGVvcmVtcyIsImZpbGVDb250ZXh0TWV0YXRoZW9yZW1zIiwicmVsZWFzZUNvbnRleHRNZXRhdGhlb3JlbXMiLCJhZGRGaWxlQ29udGV4dCIsImZpbmRUeXBlQnlUeXBlTmFtZSIsInR5cGVOYW1lIiwib2JqZWN0VHlwZSIsInR5cGUiLCJ0eXBlTmFtZU1hdGNoZXMiLCJtYXRjaFR5cGVOYW1lIiwiZ2V0UmVsZWFzZU5hbWUiLCJyZWxlYXNlTmFtZSIsImdldEZpbGUiLCJnZXRWZXJzaW9uIiwiZ2V0RmlsZVBhdGhzIiwiZ2V0RGVwZW5kZW5jaWVzIiwibWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwic2hvcnRlbmVkVmVyc2lvbiIsInRyYWNlIiwibWVzc2FnZSIsImRlYnVnIiwiaW5mbyIsIndhcm5pbmciLCJlcnJvciIsImluaXRpYWxpc2UiLCJyZWxlYXNlQ29udGV4dHMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tUmVsZWFzZUNvbnRleHRzIiwibm9taW5hbExleGVyIiwiTm9taW5hbExleGVyIiwibm9taW5hbFBhcnNlciIsIk5vbWluYWxQYXJzZXIiLCJmaWxlQ29udGV4dHNGcm9tSlNPTiIsImZpbGVDb250ZXh0c0Zyb21FbnRyaWVzIiwidmVyaWZ5IiwidmVyaWZpZWRGaWxlQ29udGV4dHMiLCJmaWxlQ29udGV4dHNWZXJpZmllZCIsInZlcmlmeUZpbGVDb250ZXh0cyIsInRvSlNPTiIsImZpbGVDb250ZXh0c0pTT04iLCJtYXAiLCJmaWxlQ29udGV4dEpTT04iLCJmcm9tTG9nTmFtZUpTT05BbmRFbnRyaWVzIiwiY3VzdG9tR3JhbW1hckZyb21OYW1lQW5kRW50cmllcyIsInJlc29sdmVkIiwiZmlsZUNvbnRleHRWZXJpZmllZCIsImZpbGVQYXRoRnVydGxlRmlsZVBhdGgiLCJmaWxlUGF0aE5vbWluYWxGaWxlUGF0aCIsImZ1cnRsZUZpbGVDb250ZXh0IiwiRnVydGxlRmlsZUNvbnRleHQiLCJmcm9tRmlsZVBhdGhBbmRKU09OIiwiRmlsZUNvbnRleHQiLCJmb3JFYWNoRmlsZSIsImZpbGUiLCJnZXRQYXRoIiwiZnJvbUZpbGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBcUJxQkE7Ozt5QkFuQlU7MkJBQ2tCOzZCQUVmO21DQUNnQjsyREFFMUI7NERBQ0M7NkRBQ0M7b0JBRUM7d0JBQ3lDOzZCQUNzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUYsSUFBUUMsT0FBK0JDLHlCQUFjLENBQTdDRCxNQUFNRSxPQUF5QkQseUJBQWMsQ0FBdkNDLE1BQU1DLFFBQW1CRix5QkFBYyxDQUFqQ0UsT0FBT0MsVUFBWUgseUJBQWMsQ0FBMUJHLFNBQ3JCLEFBQUVDLHdDQUEwQ0Msb0NBQWUsQ0FBekRELHVDQUNGLEFBQUVFLHlDQUEyQ0MscUNBQWdCLENBQTNERCx3Q0FDQUUsMkJBQXdEQyxnQ0FBaUIsQ0FBekVELDBCQUEwQkUsNEJBQThCRCxnQ0FBaUIsQ0FBL0NDO0FBRW5CLElBQUEsQUFBTVosK0JBQU47YUFBTUEsZUFDUGEsSUFBRyxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLFlBQVksRUFBRUMsYUFBYSxFQUFFQyx5QkFBeUI7Z0NBRC9HdkI7UUFFakIsSUFBSSxDQUFDYSxHQUFHLEdBQUdBO1FBQ1gsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2Qs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
581
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L3JlbGVhc2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuaW1wb3J0IHsgRmlsZUNvbnRleHQgYXMgRnVydGxlRmlsZUNvbnRleHQgfSBmcm9tIFwib2NjYW0tZnVydGxlXCI7XG5cbmltcG9ydCB7IGZpbGVQYXRoVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWVudGl0aWVzXCI7XG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tY3VzdG9tLWdyYW1tYXJzXCI7XG5cbmltcG9ydCBGaWxlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9maWxlXCI7XG5cbmltcG9ydCB7IG9iamVjdFR5cGUgfSBmcm9tIFwiLi4vZG9tL3R5cGVcIjtcbmltcG9ydCB7IHNldE5vblRlcm1pbmFsTm9kZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3BhcnNlclwiO1xuaW1wb3J0IHsgZnJhbWVNZXRhVHlwZSwgcmVmZXJlbmNlTWV0YVR5cGUsIHN0YXRlbWVudE1ldGFUeXBlIH0gZnJvbSBcIi4uL2RvbS9tZXRhVHlwZVwiO1xuaW1wb3J0IHsgY3VzdG9tR3JhbW1hckZyb21OYW1lQW5kRW50cmllcywgY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbVJlbGVhc2VDb250ZXh0cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvY3VzdG9tR3JhbW1hclwiO1xuXG5jb25zdCB7IHRhaWwsIHB1c2gsIGNsZWFyLCByZXNvbHZlIH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgbm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcyxcbiAgICAgIHsgaXNGaWxlUGF0aEZ1cnRsZUZpbGVQYXRoLCBpc0ZpbGVQYXRoTm9taW5hbEZpbGVQYXRoIH0gPSBmaWxlUGF0aFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVsZWFzZUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihsb2csIG5hbWUsIGpzb24sIGVudHJpZXMsIGxleGVyLCBwYXJzZXIsIHZlcmlmaWVkLCBpbml0aWFsaXNlZCwgZmlsZUNvbnRleHRzLCBjdXN0b21HcmFtbWFyLCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKSB7XG4gICAgdGhpcy5sb2cgPSBsb2c7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLmpzb24gPSBqc29uO1xuICAgIHRoaXMuZW50cmllcyA9IGVudHJpZXM7XG4gICAgdGhpcy5sZXhlciA9IGxleGVyO1xuICAgIHRoaXMucGFyc2VyID0gcGFyc2VyO1xuICAgIHRoaXMudmVyaWZpZWQgPSB2ZXJpZmllZDtcbiAgICB0aGlzLmluaXRpYWxpc2VkID0gaW5pdGlhbGlzZWQ7XG4gICAgdGhpcy5maWxlQ29udGV4dHMgPSBmaWxlQ29udGV4dHM7XG4gICAgdGhpcy5jdXN0b21HcmFtbWFyID0gY3VzdG9tR3JhbW1hcjtcbiAgICB0aGlzLmRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzO1xuICB9XG5cbiAgZ2V0TG9nKCkge1xuICAgIHJldHVybiBsb2c7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRKU09OKCkge1xuICAgIHJldHVybiB0aGlzLmpzb247XG4gIH1cblxuICBnZXRFbnRyaWVzKCkge1xuICAgIHJldHVybiB0aGlzLmVudHJpZXM7XG4gIH1cblxuICBnZXRMZXhlcigpIHtcbiAgICByZXR1cm4gdGhpcy5sZXhlcjtcbiAgfVxuXG4gIGdldFBhcnNlcigpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXI7XG4gIH1cblxuICBnZXRNZXRhVHlwZXMoKSB7XG4gICAgY29uc3QgbWV0YVR5cGVzID0gW1xuICAgICAgZnJhbWVNZXRhVHlwZSxcbiAgICAgIHJlZmVyZW5jZU1ldGFUeXBlLFxuICAgICAgc3RhdGVtZW50TWV0YVR5cGVcbiAgICBdO1xuXG4gICAgcmV0dXJuIG1ldGFUeXBlcztcbiAgfVxuXG4gIGlzVmVyaWZpZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudmVyaWZpZWQ7XG4gIH1cblxuICBpc0luaXRpYWxpc2VkKCkge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpc2VkO1xuICB9XG5cbiAgZ2V0RmlsZUNvbnRleHRzKCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0cztcbiAgfVxuXG4gIGdldEN1c3RvbUdyYW1tYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tR3JhbW1hcjtcbiAgfVxuXG4gIGdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cztcbiAgfVxuXG4gIGlzUmVsZWFzZWQoKSB7XG4gICAgY29uc3QgcmVsZWFzZWQgPSAodGhpcy5qc29uICE9PSBudWxsKTtcblxuICAgIHJldHVybiByZWxlYXNlZDtcbiAgfVxuXG4gIGZpbmRGaWxlKGZpbGVQYXRoKSB7IHJldHVybiB0aGlzLmVudHJpZXMuZmluZEZpbGUoZmlsZVBhdGgpOyB9XG5cbiAgZmluZEZpbGVDb250ZXh0KGZpbGVQYXRoKSB7XG4gICAgY29uc3QgZmlsZUNvbnRleHQgPSB0aGlzLmZpbGVDb250ZXh0cy5maW5kKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgZmlsZUNvbnRleHRGaWxlUGF0aCA9IGZpbGVDb250ZXh0LmdldEZpbGVQYXRoKCk7XG5cbiAgICAgIGlmIChmaWxlQ29udGV4dEZpbGVQYXRoID09PSBmaWxlUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBmaWxlQ29udGV4dDtcbiAgfVxuXG4gIGdldExhYmVscyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxhYmVscyA9IFtdO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWxlQ29udGV4dExhYmVscyA9IGZpbGVDb250ZXh0LmdldExhYmVscyhpbmNsdWRlUmVsZWFzZSk7XG5cbiAgICAgIHB1c2gobGFiZWxzLCBmaWxlQ29udGV4dExhYmVscyk7XG4gICAgfSk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRMYWJlbHMgPSByZWxlYXNlQ29udGV4dC5nZXRMYWJlbHMoaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICAgICAgcHVzaChsYWJlbHMsIHJlbGVhc2VDb250ZXh0TGFiZWxzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBsYWJlbHM7XG4gIH1cblxuICBnZXRUeXBlcyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVzID0gW107XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgaW5jbHVkZVJlbGVhc2UgPSBmYWxzZSxcbiAgICAgICAgICAgIGZpbGVDb250ZXh0VHlwZXMgPSBmaWxlQ29udGV4dC5nZXRUeXBlcyhpbmNsdWRlUmVsZWFzZSk7XG5cbiAgICAgIHB1c2godHlwZXMsIGZpbGVDb250ZXh0VHlwZXMpO1xuICAgIH0pO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0VHlwZXMgPSByZWxlYXNlQ29udGV4dC5nZXRUeXBlcyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKHR5cGVzLCByZWxlYXNlQ29udGV4dFR5cGVzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlcztcbiAgfVxuXG4gIGdldFJ1bGVzKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgcnVsZXMgPSBbXTtcblxuICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCBpbmNsdWRlUmVsZWFzZSA9IGZhbHNlLFxuICAgICAgICAgICAgZmlsZUNvbnRleHRSdWxlcyA9IGZpbGVDb250ZXh0LmdldFJ1bGVzKGluY2x1ZGVSZWxlYXNlKTtcblxuICAgICAgcHVzaChydWxlcywgZmlsZUNvbnRleHRSdWxlcyk7XG4gICAgfSk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRSdWxlcyA9IHJlbGVhc2VDb250ZXh0LmdldFJ1bGVzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2gocnVsZXMsIHJlbGVhc2VDb250ZXh0UnVsZXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJ1bGVzO1xuICB9XG5cbiAgZ2V0QXhpb21zKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgYXhpb21zID0gW107XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgaW5jbHVkZVJlbGVhc2UgPSBmYWxzZSxcbiAgICAgICAgICAgIGZpbGVDb250ZXh0QXhpb21zID0gZmlsZUNvbnRleHQuZ2V0QXhpb21zKGluY2x1ZGVSZWxlYXNlKTtcblxuICAgICAgcHVzaChheGlvbXMsIGZpbGVDb250ZXh0QXhpb21zKTtcbiAgICB9KTtcblxuICAgIGlmIChpbmNsdWRlRGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gdGhpcy5nZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKCk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dEF4aW9tcyA9IHJlbGVhc2VDb250ZXh0LmdldEF4aW9tcyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKGF4aW9tcywgcmVsZWFzZUNvbnRleHRBeGlvbXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF4aW9tcztcbiAgfVxuXG4gIGdldExlbW1hcyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxlbW1hcyA9IFtdO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWxlQ29udGV4dExlbW1hcyA9IGZpbGVDb250ZXh0LmdldExlbW1hcyhpbmNsdWRlUmVsZWFzZSk7XG5cbiAgICAgIHB1c2gobGVtbWFzLCBmaWxlQ29udGV4dExlbW1hcyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbGVtbWFzO1xuICB9XG5cbiAgZ2V0VGhlb3JlbXMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCB0aGVvcmVtcyA9IFtdO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWxlQ29udGV4dFRoZW9yZW1zID0gZmlsZUNvbnRleHQuZ2V0VGhlb3JlbXMoaW5jbHVkZVJlbGVhc2UpO1xuXG4gICAgICBwdXNoKHRoZW9yZW1zLCBmaWxlQ29udGV4dFRoZW9yZW1zKTtcbiAgICB9KTtcblxuICAgIGlmIChpbmNsdWRlRGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gdGhpcy5nZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKCk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dFRoZW9yZW1zID0gcmVsZWFzZUNvbnRleHQuZ2V0VGhlb3JlbXMoaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICAgICAgcHVzaCh0aGVvcmVtcywgcmVsZWFzZUNvbnRleHRUaGVvcmVtcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhlb3JlbXM7XG4gIH1cblxuICBnZXRQcm9jZWR1cmVzKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlcyA9IFtdO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWxlQ29udGV4dFByb2NlZHVyZXMgPSBmaWxlQ29udGV4dC5nZXRQcm9jZWR1cmVzKGluY2x1ZGVSZWxlYXNlKTtcblxuICAgICAgcHVzaChwcm9jZWR1cmVzLCBmaWxlQ29udGV4dFByb2NlZHVyZXMpO1xuICAgIH0pO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHRQcm9jZWR1cmVzID0gcmVsZWFzZUNvbnRleHQuZ2V0UHJvY2VkdXJlcyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKHByb2NlZHVyZXMsIHJlbGVhc2VDb250ZXh0UHJvY2VkdXJlcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlcztcbiAgfVxuXG4gIGdldE1ldGFMZW1tYXMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhTGVtbWFzID0gW107XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgaW5jbHVkZVJlbGVhc2UgPSBmYWxzZSxcbiAgICAgICAgICAgIGZpbGVDb250ZXh0TWV0YUxlbW1hcyA9IGZpbGVDb250ZXh0LmdldE1ldGFMZW1tYXMoaW5jbHVkZVJlbGVhc2UpO1xuXG4gICAgICBwdXNoKG1ldGFMZW1tYXMsIGZpbGVDb250ZXh0TWV0YUxlbW1hcyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWV0YUxlbW1hcztcbiAgfVxuXG4gIGdldENvbmplY3R1cmVzKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgY29uamVjdHVyZXMgPSBbXTtcblxuICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCBpbmNsdWRlUmVsZWFzZSA9IGZhbHNlLFxuICAgICAgICAgICAgZmlsZUNvbnRleHRDb25qZWN0dXJlcyA9IGZpbGVDb250ZXh0LmdldENvbmplY3R1cmVzKGluY2x1ZGVSZWxlYXNlKTtcblxuICAgICAgcHVzaChjb25qZWN0dXJlcywgZmlsZUNvbnRleHRDb25qZWN0dXJlcyk7XG4gICAgfSk7XG5cbiAgICBpZiAoaW5jbHVkZURlcGVuZGVuY2llcykge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyA9IHRoaXMuZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cygpO1xuXG4gICAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICAgICAgcmVsZWFzZUNvbnRleHRDb25qZWN0dXJlcyA9IHJlbGVhc2VDb250ZXh0LmdldENvbmplY3R1cmVzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2goY29uamVjdHVyZXMsIHJlbGVhc2VDb250ZXh0Q29uamVjdHVyZXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmplY3R1cmVzO1xuICB9XG5cbiAgZ2V0Q29tYmluYXRvcnMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dHMuZm9yRWFjaCgoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gZmFsc2UsXG4gICAgICAgICAgICBmaWxlQ29udGV4dENvbWJpbmF0b3JzID0gZmlsZUNvbnRleHQuZ2V0Q29tYmluYXRvcnMoaW5jbHVkZVJlbGVhc2UpO1xuXG4gICAgICBwdXNoKGNvbWJpbmF0b3JzLCBmaWxlQ29udGV4dENvbWJpbmF0b3JzKTtcbiAgICB9KTtcblxuICAgIGlmIChpbmNsdWRlRGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gdGhpcy5nZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKCk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dENvbWJpbmF0b3JzID0gcmVsZWFzZUNvbnRleHQuZ2V0Q29tYmluYXRvcnMoaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICAgICAgcHVzaChjb21iaW5hdG9ycywgcmVsZWFzZUNvbnRleHRDb21iaW5hdG9ycyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tYmluYXRvcnM7XG4gIH1cblxuICBnZXRDb25zdHJ1Y3RvcnMoaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBbXTtcblxuICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCBpbmNsdWRlUmVsZWFzZSA9IGZhbHNlLFxuICAgICAgICAgICAgZmlsZUNvbnRleHRDb25zdHJ1Y3RvcnMgPSBmaWxlQ29udGV4dC5nZXRDb25zdHJ1Y3RvcnMoaW5jbHVkZVJlbGVhc2UpO1xuXG4gICAgICBwdXNoKGNvbnN0cnVjdG9ycywgZmlsZUNvbnRleHRDb25zdHJ1Y3RvcnMpO1xuICAgIH0pO1xuXG4gICAgaWYgKGluY2x1ZGVEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0aGlzLmdldERlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoKTtcblxuICAgICAgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5mb3JFYWNoKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGVhc2VDb250ZXh0Q29uc3RydWN0b3JzID0gcmVsZWFzZUNvbnRleHQuZ2V0Q29uc3RydWN0b3JzKGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgICAgIHB1c2goY29uc3RydWN0b3JzLCByZWxlYXNlQ29udGV4dENvbnN0cnVjdG9ycyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3JzO1xuICB9XG5cbiAgZ2V0TWV0YXRoZW9yZW1zKGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YXRoZW9yZW1zID0gW107XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0cy5mb3JFYWNoKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgaW5jbHVkZVJlbGVhc2UgPSBmYWxzZSxcbiAgICAgICAgICAgIGZpbGVDb250ZXh0TWV0YXRoZW9yZW1zID0gZmlsZUNvbnRleHQuZ2V0TWV0YXRoZW9yZW1zKGluY2x1ZGVSZWxlYXNlKTtcblxuICAgICAgcHVzaChtZXRhdGhlb3JlbXMsIGZpbGVDb250ZXh0TWV0YXRoZW9yZW1zKTtcbiAgICB9KTtcblxuICAgIGlmIChpbmNsdWRlRGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gdGhpcy5nZXREZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKCk7XG5cbiAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMuZm9yRWFjaCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgICAgICByZWxlYXNlQ29udGV4dE1ldGF0aGVvcmVtcyA9IHJlbGVhc2VDb250ZXh0LmdldE1ldGF0aGVvcmVtcyhpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgICAgICBwdXNoKG1ldGF0aGVvcmVtcywgcmVsZWFzZUNvbnRleHRNZXRhdGhlb3JlbXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGF0aGVvcmVtcztcbiAgfVxuXG4gIGFkZEZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSB7XG4gICAgdGhpcy5maWxlQ29udGV4dHMucHVzaChmaWxlQ29udGV4dCk7XG4gIH1cblxuICBmaW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpIHtcbiAgICBsZXQgdHlwZXMgPSB0aGlzLmdldFR5cGVzKCk7XG5cbiAgICB0eXBlcyA9IFtcbiAgICAgIC4uLnR5cGVzLFxuICAgICAgb2JqZWN0VHlwZVxuICAgIF07XG5cbiAgICBjb25zdCB0eXBlID0gdHlwZXMuZmluZCgodHlwZSkgPT4ge1xuICAgICAgY29uc3QgdHlwZU5hbWVNYXRjaGVzID0gdHlwZS5tYXRjaFR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICAgICAgaWYgKHR5cGVOYW1lTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBnZXRSZWxlYXNlTmFtZSgpIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5nZXROYW1lKCksXG4gICAgICAgICAgcmVsZWFzZU5hbWUgPSBuYW1lOyAvLy9cblxuICAgIHJldHVybiByZWxlYXNlTmFtZTtcbiAgfVxuXG4gIGdldEZpbGUoZmlsZVBhdGgpIHsgcmV0dXJuIHRoaXMuZW50cmllcy5nZXRGaWxlKGZpbGVQYXRoKTsgfVxuXG4gIGdldFZlcnNpb24oKSB7IHJldHVybiB0aGlzLmVudHJpZXMuZ2V0VmVyc2lvbigpOyB9XG5cbiAgZ2V0RmlsZVBhdGhzKCkgeyByZXR1cm4gdGhpcy5lbnRyaWVzLmdldEZpbGVQYXRocygpOyB9XG5cbiAgZ2V0RGVwZW5kZW5jaWVzKCkgeyByZXR1cm4gdGhpcy5lbnRyaWVzLmdldERlcGVuZGVuY2llcygpOyB9XG5cbiAgbWF0Y2hTaG9ydGVuZWRWZXJzaW9uKHNob3J0ZW5lZFZlcnNpb24pIHsgcmV0dXJuIHRoaXMuZW50cmllcy5tYXRjaFNob3J0ZW5lZFZlcnNpb24oc2hvcnRlbmVkVmVyc2lvbik7IH1cblxuICB0cmFjZShtZXNzYWdlLCBmaWxlUGF0aCA9IG51bGwpIHsgdGhpcy5sb2cudHJhY2UobWVzc2FnZSwgZmlsZVBhdGgpOyB9XG5cbiAgZGVidWcobWVzc2FnZSwgZmlsZVBhdGggPSBudWxsKSB7IHRoaXMubG9nLmRlYnVnKG1lc3NhZ2UsIGZpbGVQYXRoKTsgfVxuXG4gIGluZm8obWVzc2FnZSwgZmlsZVBhdGggPSBudWxsKSB7IHRoaXMubG9nLmluZm8obWVzc2FnZSwgZmlsZVBhdGgpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlLCBmaWxlUGF0aCA9IG51bGwpIHsgdGhpcy5sb2cud2FybmluZyhtZXNzYWdlLCBmaWxlUGF0aCk7IH1cblxuICBlcnJvcihtZXNzYWdlLCBmaWxlUGF0aCA9IG51bGwpIHsgdGhpcy5sb2cuZXJyb3IobWVzc2FnZSwgZmlsZVBhdGgpOyB9XG5cbiAgaW5pdGlhbGlzZShyZWxlYXNlQ29udGV4dHMpIHtcbiAgICBjb25zdCBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0cyksXG4gICAgICAgICAgbm9taW5hbExleGVyID0gbm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hcihjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICAgIG5vbWluYWxQYXJzZXIgPSBub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hcihjb21iaW5lZEN1c3RvbUdyYW1tYXIpO1xuXG4gICAgc2V0Tm9uVGVybWluYWxOb2Rlcyhub21pbmFsUGFyc2VyKTtcblxuICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0ID0gdGhpcywgIC8vL1xuICAgICAgICAgIHJlbGVhc2VkID0gdGhpcy5pc1JlbGVhc2VkKCk7XG5cbiAgICB0aGlzLmRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSB0YWlsKHJlbGVhc2VDb250ZXh0cyk7IC8vL1xuXG4gICAgdGhpcy5sZXhlciA9IG5vbWluYWxMZXhlcjsgLy8vXG5cbiAgICB0aGlzLnBhcnNlciA9IG5vbWluYWxQYXJzZXI7IC8vL1xuXG4gICAgY2xlYXIodGhpcy5maWxlQ29udGV4dHMpO1xuXG4gICAgcmVsZWFzZWQgP1xuICAgICAgZmlsZUNvbnRleHRzRnJvbUpTT04odGhpcy5qc29uLCB0aGlzLmZpbGVDb250ZXh0cywgcmVsZWFzZUNvbnRleHQpIDpcbiAgICAgICAgZmlsZUNvbnRleHRzRnJvbUVudHJpZXModGhpcy5lbnRyaWVzLCB0aGlzLmZpbGVDb250ZXh0cywgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgdGhpcy5pbml0aWFsaXNlZCA9IHRydWU7XG4gIH1cblxuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCB2ZXJpZmllZEZpbGVDb250ZXh0cyA9IFtdLFxuICAgICAgICAgIGZpbGVDb250ZXh0c1ZlcmlmaWVkID0gdmVyaWZ5RmlsZUNvbnRleHRzKHRoaXMuZmlsZUNvbnRleHRzLCB2ZXJpZmllZEZpbGVDb250ZXh0cyk7XG5cbiAgICBpZiAoZmlsZUNvbnRleHRzVmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHRzID0gdmVyaWZpZWRGaWxlQ29udGV4dHM7IC8vL1xuXG4gICAgICB0aGlzLnZlcmlmaWVkID0gdHJ1ZTtcblxuICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBmaWxlQ29udGV4dHNKU09OID0gdGhpcy5maWxlQ29udGV4dHMubWFwKChmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZUNvbnRleHRKU09OID0gZmlsZUNvbnRleHQudG9KU09OKCk7XG5cbiAgICAgICAgICAgIHJldHVybiBmaWxlQ29udGV4dEpTT047XG4gICAgICAgICAgfSksXG4gICAgICAgICAganNvbiA9IGZpbGVDb250ZXh0c0pTT047ICAvLy9cblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21Mb2dOYW1lSlNPTkFuZEVudHJpZXMobG9nLCBuYW1lLCBqc29uLCBlbnRyaWVzKSB7XG4gICAgY29uc3QgbGV4ZXIgPSBudWxsLFxuICAgICAgICAgIHBhcnNlciA9IG51bGwsXG4gICAgICAgICAgdmVyaWZpZWQgPSBmYWxzZSxcbiAgICAgICAgICBpbml0aWFsaXNlZCA9IGZhbHNlLFxuICAgICAgICAgIGZpbGVDb250ZXh0cyA9IFtdLFxuICAgICAgICAgIGN1c3RvbUdyYW1tYXIgPSBjdXN0b21HcmFtbWFyRnJvbU5hbWVBbmRFbnRyaWVzKG5hbWUsIGVudHJpZXMpLFxuICAgICAgICAgIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSBudWxsLFxuICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gbmV3IFJlbGVhc2VDb250ZXh0KGxvZywgbmFtZSwganNvbiwgZW50cmllcywgbGV4ZXIsIHBhcnNlciwgdmVyaWZpZWQsIGluaXRpYWxpc2VkLCBmaWxlQ29udGV4dHMsIGN1c3RvbUdyYW1tYXIsIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMpO1xuXG4gICAgcmV0dXJuIHJlbGVhc2VDb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUZpbGVDb250ZXh0cyhmaWxlQ29udGV4dHMsIHZlcmlmaWVkRmlsZUNvbnRleHRzKSB7XG4gIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZShmaWxlQ29udGV4dHMsIHZlcmlmaWVkRmlsZUNvbnRleHRzLCAoZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWxlQ29udGV4dFZlcmlmaWVkID0gZmlsZUNvbnRleHQudmVyaWZ5KCk7XG5cbiAgICAgICAgICBpZiAoZmlsZUNvbnRleHRWZXJpZmllZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgZmlsZUNvbnRleHRzVmVyaWZpZWQgPSByZXNvbHZlZDsgIC8vL1xuXG4gIHJldHVybiBmaWxlQ29udGV4dHNWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gZmlsZUNvbnRleHRzRnJvbUpTT04oanNvbixmaWxlQ29udGV4dHMsIHJlbGVhc2VDb250ZXh0KSB7XG4gIGNvbnN0IGZpbGVDb250ZXh0c0pTT04gPSBqc29uOyAgLy8vXG5cbiAgZmlsZUNvbnRleHRzSlNPTi5mb3JFYWNoKChmaWxlQ29udGV4dEpTT04pID0+IHtcbiAgICBjb25zdCB7IGZpbGVQYXRoIH0gPSBmaWxlQ29udGV4dEpTT04sXG4gICAgICAgICAganNvbiA9IGZpbGVDb250ZXh0SlNPTiwgLy8vXG4gICAgICAgICAgZmlsZVBhdGhGdXJ0bGVGaWxlUGF0aCA9IGlzRmlsZVBhdGhGdXJ0bGVGaWxlUGF0aChmaWxlUGF0aCksXG4gICAgICAgICAgZmlsZVBhdGhOb21pbmFsRmlsZVBhdGggPSBpc0ZpbGVQYXRoTm9taW5hbEZpbGVQYXRoKGZpbGVQYXRoKTtcblxuICAgIGlmIChmaWxlUGF0aEZ1cnRsZUZpbGVQYXRoKSB7XG4gICAgICBjb25zdCBmdXJ0bGVGaWxlQ29udGV4dCA9IEZ1cnRsZUZpbGVDb250ZXh0LmZyb21GaWxlUGF0aEFuZEpTT04oZmlsZVBhdGgsIGpzb24sIHJlbGVhc2VDb250ZXh0KSxcbiAgICAgICAgICAgIGZpbGVDb250ZXh0ID0gZnVydGxlRmlsZUNvbnRleHQ7ICAvLy9cblxuICAgICAgZmlsZUNvbnRleHRzLnB1c2goZmlsZUNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmIChmaWxlUGF0aE5vbWluYWxGaWxlUGF0aCkge1xuICAgICAgY29uc3QgZmlsZUNvbnRleHQgPSBGaWxlQ29udGV4dC5mcm9tRmlsZVBhdGhBbmRKU09OKGZpbGVQYXRoLCBqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgIGZpbGVDb250ZXh0cy5wdXNoKGZpbGVDb250ZXh0KTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBmaWxlQ29udGV4dHNGcm9tRW50cmllcyhlbnRyaWVzLCBmaWxlQ29udGV4dHMsIHJlbGVhc2VDb250ZXh0KSB7XG4gIGVudHJpZXMuZm9yRWFjaEZpbGUoKGZpbGUpID0+IHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IGZpbGUuZ2V0UGF0aCgpLFxuICAgICAgICAgIGZpbGVQYXRoRnVydGxlRmlsZVBhdGggPSBpc0ZpbGVQYXRoRnVydGxlRmlsZVBhdGgoZmlsZVBhdGgpLFxuICAgICAgICAgIGZpbGVQYXRoTm9taW5hbEZpbGVQYXRoID0gaXNGaWxlUGF0aE5vbWluYWxGaWxlUGF0aChmaWxlUGF0aCk7XG5cbiAgICBpZiAoZmlsZVBhdGhGdXJ0bGVGaWxlUGF0aCkge1xuICAgICAgY29uc3QgZnVydGxlRmlsZUNvbnRleHQgPSBGdXJ0bGVGaWxlQ29udGV4dC5mcm9tRmlsZShmaWxlLCByZWxlYXNlQ29udGV4dCksXG4gICAgICAgICAgICBmaWxlQ29udGV4dCA9IGZ1cnRsZUZpbGVDb250ZXh0OyAgLy8vXG5cbiAgICAgIGZpbGVDb250ZXh0cy5wdXNoKGZpbGVDb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAoZmlsZVBhdGhOb21pbmFsRmlsZVBhdGgpIHtcbiAgICAgIGNvbnN0IGZpbGVDb250ZXh0ID0gRmlsZUNvbnRleHQuZnJvbUZpbGUoZmlsZSwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgICBmaWxlQ29udGV4dHMucHVzaChmaWxlQ29udGV4dCk7XG4gICAgfVxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJSZWxlYXNlQ29udGV4dCIsInRhaWwiLCJhcnJheVV0aWxpdGllcyIsInB1c2giLCJjbGVhciIsInJlc29sdmUiLCJub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibGV4ZXJzVXRpbGl0aWVzIiwibm9taW5hbFBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIiLCJwYXJzZXJzVXRpbGl0aWVzIiwiaXNGaWxlUGF0aEZ1cnRsZUZpbGVQYXRoIiwiZmlsZVBhdGhVdGlsaXRpZXMiLCJpc0ZpbGVQYXRoTm9taW5hbEZpbGVQYXRoIiwibG9nIiwibmFtZSIsImpzb24iLCJlbnRyaWVzIiwibGV4ZXIiLCJwYXJzZXIiLCJ2ZXJpZmllZCIsImluaXRpYWxpc2VkIiwiZmlsZUNvbnRleHRzIiwiY3VzdG9tR3JhbW1hciIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJnZXRMb2ciLCJnZXROYW1lIiwiZ2V0SlNPTiIsImdldEVudHJpZXMiLCJnZXRMZXhlciIsImdldFBhcnNlciIsImdldE1ldGFUeXBlcyIsIm1ldGFUeXBlcyIsImZyYW1lTWV0YVR5cGUiLCJyZWZlcmVuY2VNZXRhVHlwZSIsInN0YXRlbWVudE1ldGFUeXBlIiwiaXNWZXJpZmllZCIsImlzSW5pdGlhbGlzZWQiLCJnZXRGaWxlQ29udGV4dHMiLCJnZXRDdXN0b21HcmFtbWFyIiwiZ2V0RGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsImlzUmVsZWFzZWQiLCJyZWxlYXNlZCIsImZpbmRGaWxlIiwiZmlsZVBhdGgiLCJmaW5kRmlsZUNvbnRleHQiLCJmaWxlQ29udGV4dCIsImZpbmQiLCJmaWxlQ29udGV4dEZpbGVQYXRoIiwiZ2V0RmlsZVBhdGgiLCJnZXRMYWJlbHMiLCJpbmNsdWRlRGVwZW5kZW5jaWVzIiwibGFiZWxzIiwiZm9yRWFjaCIsImluY2x1ZGVSZWxlYXNlIiwiZmlsZUNvbnRleHRMYWJlbHMiLCJyZWxlYXNlQ29udGV4dCIsInJlbGVhc2VDb250ZXh0TGFiZWxzIiwiZ2V0VHlwZXMiLCJ0eXBlcyIsImZpbGVDb250ZXh0VHlwZXMiLCJyZWxlYXNlQ29udGV4dFR5cGVzIiwiZ2V0UnVsZXMiLCJydWxlcyIsImZpbGVDb250ZXh0UnVsZXMiLCJyZWxlYXNlQ29udGV4dFJ1bGVzIiwiZ2V0QXhpb21zIiwiYXhpb21zIiwiZmlsZUNvbnRleHRBeGlvbXMiLCJyZWxlYXNlQ29udGV4dEF4aW9tcyIsImdldExlbW1hcyIsImxlbW1hcyIsImZpbGVDb250ZXh0TGVtbWFzIiwiZ2V0VGhlb3JlbXMiLCJ0aGVvcmVtcyIsImZpbGVDb250ZXh0VGhlb3JlbXMiLCJyZWxlYXNlQ29udGV4dFRoZW9yZW1zIiwiZ2V0UHJvY2VkdXJlcyIsInByb2NlZHVyZXMiLCJmaWxlQ29udGV4dFByb2NlZHVyZXMiLCJyZWxlYXNlQ29udGV4dFByb2NlZHVyZXMiLCJnZXRNZXRhTGVtbWFzIiwibWV0YUxlbW1hcyIsImZpbGVDb250ZXh0TWV0YUxlbW1hcyIsImdldENvbmplY3R1cmVzIiwiY29uamVjdHVyZXMiLCJmaWxlQ29udGV4dENvbmplY3R1cmVzIiwicmVsZWFzZUNvbnRleHRDb25qZWN0dXJlcyIsImdldENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJmaWxlQ29udGV4dENvbWJpbmF0b3JzIiwicmVsZWFzZUNvbnRleHRDb21iaW5hdG9ycyIsImdldENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9ycyIsImZpbGVDb250ZXh0Q29uc3RydWN0b3JzIiwicmVsZWFzZUNvbnRleHRDb25zdHJ1Y3RvcnMiLCJnZXRNZXRhdGhlb3JlbXMiLCJtZXRhdGhlb3JlbXMiLCJmaWxlQ29udGV4dE1ldGF0aGVvcmVtcyIsInJlbGVhc2VDb250ZXh0TWV0YXRoZW9yZW1zIiwiYWRkRmlsZUNvbnRleHQiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJ0eXBlTmFtZSIsIm9iamVjdFR5cGUiLCJ0eXBlIiwidHlwZU5hbWVNYXRjaGVzIiwibWF0Y2hUeXBlTmFtZSIsImdldFJlbGVhc2VOYW1lIiwicmVsZWFzZU5hbWUiLCJnZXRGaWxlIiwiZ2V0VmVyc2lvbiIsImdldEZpbGVQYXRocyIsImdldERlcGVuZGVuY2llcyIsIm1hdGNoU2hvcnRlbmVkVmVyc2lvbiIsInNob3J0ZW5lZFZlcnNpb24iLCJ0cmFjZSIsIm1lc3NhZ2UiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZXJyb3IiLCJpbml0aWFsaXNlIiwicmVsZWFzZUNvbnRleHRzIiwiY29tYmluZWRDdXN0b21HcmFtbWFyIiwiY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbVJlbGVhc2VDb250ZXh0cyIsIm5vbWluYWxMZXhlciIsIm5vbWluYWxQYXJzZXIiLCJzZXROb25UZXJtaW5hbE5vZGVzIiwiZmlsZUNvbnRleHRzRnJvbUpTT04iLCJmaWxlQ29udGV4dHNGcm9tRW50cmllcyIsInZlcmlmeSIsInZlcmlmaWVkRmlsZUNvbnRleHRzIiwiZmlsZUNvbnRleHRzVmVyaWZpZWQiLCJ2ZXJpZnlGaWxlQ29udGV4dHMiLCJ0b0pTT04iLCJmaWxlQ29udGV4dHNKU09OIiwibWFwIiwiZmlsZUNvbnRleHRKU09OIiwiZnJvbUxvZ05hbWVKU09OQW5kRW50cmllcyIsImN1c3RvbUdyYW1tYXJGcm9tTmFtZUFuZEVudHJpZXMiLCJyZXNvbHZlZCIsImZpbGVDb250ZXh0VmVyaWZpZWQiLCJmaWxlUGF0aEZ1cnRsZUZpbGVQYXRoIiwiZmlsZVBhdGhOb21pbmFsRmlsZVBhdGgiLCJmdXJ0bGVGaWxlQ29udGV4dCIsIkZ1cnRsZUZpbGVDb250ZXh0IiwiZnJvbUZpbGVQYXRoQW5kSlNPTiIsIkZpbGVDb250ZXh0IiwiZm9yRWFjaEZpbGUiLCJmaWxlIiwiZ2V0UGF0aCIsImZyb21GaWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQW9CcUJBOzs7eUJBbEJVOzJCQUNrQjs2QkFFZjttQ0FDZ0I7MkRBRTFCO29CQUVHO3NCQUNTO3dCQUNnQzs2QkFDc0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFGLElBQVFDLE9BQStCQyx5QkFBYyxDQUE3Q0QsTUFBTUUsT0FBeUJELHlCQUFjLENBQXZDQyxNQUFNQyxRQUFtQkYseUJBQWMsQ0FBakNFLE9BQU9DLFVBQVlILHlCQUFjLENBQTFCRyxTQUNyQixBQUFFQyx3Q0FBMENDLG9DQUFlLENBQXpERCx1Q0FDRixBQUFFRSx5Q0FBMkNDLHFDQUFnQixDQUEzREQsd0NBQ0FFLDJCQUF3REMsZ0NBQWlCLENBQXpFRCwwQkFBMEJFLDRCQUE4QkQsZ0NBQWlCLENBQS9DQztBQUVuQixJQUFBLEFBQU1aLCtCQUFOO2FBQU1BLGVBQ1BhLElBQUcsRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLE9BQU8sRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxZQUFZLEVBQUVDLGFBQWEsRUFBRUMseUJBQXlCO2dDQUQvR3ZCO1FBRWpCLElBQUksQ0FBQ2EsR0FBRyxHQUFHQTtRQUNYLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDQyxZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTtRQUNyQixJQUFJLENBQUNDLHlCQUF5QixHQUFHQTs7a0JBWmhCdkI7O1lBZW5Cd0IsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU9YO1lBQ1Q7OztZQUVBWSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNYLElBQUk7WUFDbEI7OztZQUVBWSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNYLElBQUk7WUFDbEI7OztZQUVBWSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNYLE9BQU87WUFDckI7OztZQUVBWSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNYLEtBQUs7WUFDbkI7OztZQUVBWSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNYLE1BQU07WUFDcEI7OztZQUVBWSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsWUFBWTtvQkFDaEJDLHVCQUFhO29CQUNiQywyQkFBaUI7b0JBQ2pCQywyQkFBaUI7aUJBQ2xCO2dCQUVELE9BQU9IO1lBQ1Q7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNoQixRQUFRO1lBQ3RCOzs7WUFFQWlCLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ2hCLFdBQVc7WUFDekI7OztZQUVBaUIsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDaEIsWUFBWTtZQUMxQjs7O1lBRUFpQixLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNoQixhQUFhO1lBQzNCOzs7WUFFQWlCLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ2hCLHlCQUF5QjtZQUN2Qzs7O1lBRUFpQixLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsV0FBWSxJQUFJLENBQUMxQixJQUFJLEtBQUs7Z0JBRWhDLE9BQU8wQjtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVNDLFFBQVE7Z0JBQUksT0FBTyxJQUFJLENBQUMzQixPQUFPLENBQUMwQixRQUFRLENBQUNDO1lBQVc7OztZQUU3REMsS0FBQUE7bUJBQUFBLFNBQUFBLGdCQUFnQkQsUUFBUTtnQkFDdEIsSUFBTUUsY0FBYyxJQUFJLENBQUN4QixZQUFZLENBQUN5QixJQUFJLENBQUMsU0FBQ0Q7b0JBQzFDLElBQU1FLHNCQUFzQkYsWUFBWUcsV0FBVztvQkFFbkQsSUFBSUQsd0JBQXdCSixVQUFVO3dCQUNwQyxPQUFPO29CQUNUO2dCQUNGO2dCQUVBLE9BQU9FO1lBQ1Q7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQVVDLHNCQUFBQSxpRUFBc0I7Z0JBQzlCLElBQU1DLFNBQVMsRUFBRTtnQkFFakIsSUFBSSxDQUFDOUIsWUFBWSxDQUFDK0IsT0FBTyxDQUFDLFNBQUNQO29CQUN6QixJQUFNUSxpQkFBaUIsT0FDakJDLG9CQUFvQlQsWUFBWUksU0FBUyxDQUFDSTtvQkFFaERsRCxLQUFLZ0QsUUFBUUc7Z0JBQ2Y7Z0JBRUEsSUFBSUoscUJBQXFCO29CQUN2QixJQUFNM0IsNEJBQTRCLElBQUksQ0FBQ2dCLDRCQUE0QjtvQkFFbkVoQiwwQkFBMEI2QixPQUFPLENBQUMsU0FBQ0c7d0JBQ2pDLElBQU1MLHNCQUFzQixPQUN0Qk0sdUJBQXVCRCxlQUFlTixTQUFTLENBQUNDO3dCQUV0RC9DLEtBQUtnRCxRQUFRSztvQkFDZjtnQkFDRjtnQkFFQSxPQUFPTDtZQUNUOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO29CQUFTUCxzQkFBQUEsaUVBQXNCO2dCQUM3QixJQUFNUSxRQUFRLEVBQUU7Z0JBRWhCLElBQUksQ0FBQ3JDLFlBQVksQ0FBQytCLE9BQU8sQ0FBQyxTQUFDUDtvQkFDekIsSUFBTVEsaUJBQWlCLE9BQ2pCTSxtQkFBbUJkLFlBQVlZLFFBQVEsQ0FBQ0o7b0JBRTlDbEQsS0FBS3VELE9BQU9DO2dCQUNkO2dCQUVBLElBQUlULHFCQUFxQjtvQkFDdkIsSUFBTTNCLDRCQUE0QixJQUFJLENBQUNnQiw0QkFBNEI7b0JBRW5FaEIsMEJBQTBCNkIsT0FBTyxDQUFDLFNBQUNHO3dCQUNqQyxJQUFNTCxzQkFBc0IsT0FDdEJVLHNCQUFzQkwsZUFBZUUsUUFBUSxDQUFDUDt3QkFFcEQvQyxLQUFLdUQsT0FBT0U7b0JBQ2Q7Z0JBQ0Y7Z0JBRUEsT0FBT0Y7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtvQkFBU1gsc0JBQUFBLGlFQUFzQjtnQkFDN0IsSUFBTVksUUFBUSxFQUFFO2dCQUVoQixJQUFJLENBQUN6QyxZQUFZLENBQUMrQixPQUFPLENBQUMsU0FBQ1A7b0JBQ3pCLElBQU1RLGlCQUFpQixPQUNqQlUsbUJBQW1CbEIsWUFBWWdCLFFBQVEsQ0FBQ1I7b0JBRTlDbEQsS0FBSzJELE9BQU9DO2dCQUNkO2dCQUVBLElBQUliLHFCQUFxQjtvQkFDdkIsSUFBTTNCLDRCQUE0QixJQUFJLENBQUNnQiw0QkFBNEI7b0JBRW5FaEIsMEJBQTBCNkIsT0FBTyxDQUFDLFNBQUNHO3dCQUNqQyxJQUFNTCxzQkFBc0IsT0FDdEJjLHNCQUFzQlQsZUFBZU0sUUFBUSxDQUFDWDt3QkFFcEQvQyxLQUFLMkQsT0FBT0U7b0JBQ2Q7Z0JBQ0Y7Z0JBRUEsT0FBT0Y7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtvQkFBVWYsc0JBQUFBLGlFQUFzQjtnQkFDOUIsSUFBTWdCLFNBQVMsRUFBRTtnQkFFakIsSUFBSSxDQUFDN0MsWUFBWSxDQUFDK0IsT0FBTyxDQUFDLFNBQUNQO29CQUN6QixJQUFNUSxpQkFBaUIsT0FDakJjLG9CQUFvQnRCLFlBQVlvQixTQUFTLENBQUNaO29CQUVoRGxELEtBQUsrRCxRQUFRQztnQkFDZjtnQkFFQSxJQUFJakIscUJBQXFCO29CQUN2QixJQUFNM0IsNEJBQTRCLElBQUksQ0FBQ2dCLDRCQUE0QjtvQkFFbkVoQiwwQkFBMEI2QixPQUFPLENBQUMsU0FBQ0c7d0JBQ2pDLElBQU1MLHNCQUFzQixPQUN0QmtCLHVCQUF1QmIsZUFBZVUsU0FBUyxDQUFDZjt3QkFFdEQvQyxLQUFLK0QsUUFBUUU7b0JBQ2Y7Z0JBQ0Y7Z0JBRUEsT0FBT0Y7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtvQkFBVW5CLHNCQUFBQSxpRUFBc0I7Z0JBQzlCLElBQU1vQixTQUFTLEVBQUU7Z0JBRWpCLElBQUksQ0FBQ2pELFlBQVksQ0FBQytCLE9BQU8sQ0FBQyxTQUFDUDtvQkFDekIsSUFBTVEsaUJBQWlCLE9BQ2pCa0Isb0JBQW9CMUIsWUFBWXdCLFNBQVMsQ0FBQ2hCO29CQUVoRGxELEtBQUttRSxRQUFRQztnQkFDZjtnQkFFQSxPQUFPRDtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBO29CQUFZdEIsc0JBQUFBLGlFQUFzQjtnQkFDaEMsSUFBTXVCLFdBQVcsRUFBRTtnQkFFbkIsSUFBSSxDQUFDcEQsWUFBWSxDQUFDK0IsT0FBTyxDQUFDLFNBQUNQO29CQUN6QixJQUFNUSxpQkFBaUIsT0FDakJxQixzQkFBc0I3QixZQUFZMkIsV0FBVyxDQUFDbkI7b0JBRXBEbEQsS0FBS3NFLFVBQVVDO2dCQUNqQjtnQkFFQSxJQUFJeEIscUJBQXFCO29CQUN2QixJQUFNM0IsNEJBQTRCLElBQUksQ0FBQ2dCLDRCQUE0QjtvQkFFbkVoQiwwQkFBMEI2QixPQUFPLENBQUMsU0FBQ0c7d0JBQ2pDLElBQU1MLHNCQUFzQixPQUN0QnlCLHlCQUF5QnBCLGVBQWVpQixXQUFXLENBQUN0Qjt3QkFFMUQvQyxLQUFLc0UsVUFBVUU7b0JBQ2pCO2dCQUNGO2dCQUVBLE9BQU9GO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQWMxQixzQkFBQUEsaUVBQXNCO2dCQUNsQyxJQUFNMkIsYUFBYSxFQUFFO2dCQUVyQixJQUFJLENBQUN4RCxZQUFZLENBQUMrQixPQUFPLENBQUMsU0FBQ1A7b0JBQ3pCLElBQU1RLGlCQUFpQixPQUNqQnlCLHdCQUF3QmpDLFlBQVkrQixhQUFhLENBQUN2QjtvQkFFeERsRCxLQUFLMEUsWUFBWUM7Z0JBQ25CO2dCQUVBLElBQUk1QixxQkFBcUI7b0JBQ3ZCLElBQU0zQiw0QkFBNEIsSUFBSSxDQUFDZ0IsNEJBQTRCO29CQUVuRWhCLDBCQUEwQjZCLE9BQU8sQ0FBQyxTQUFDRzt3QkFDakMsSUFBTUwsc0JBQXNCLE9BQzFCNkIsMkJBQTJCeEIsZUFBZXFCLGFBQWEsQ0FBQzFCO3dCQUUxRC9DLEtBQUswRSxZQUFZRTtvQkFDbkI7Z0JBQ0Y7Z0JBRUEsT0FBT0Y7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtvQkFBYzlCLHNCQUFBQSxpRUFBc0I7Z0JBQ2xDLElBQU0rQixhQUFhLEVBQUU7Z0JBRXJCLElBQUksQ0FBQzVELFlBQVksQ0FBQytCLE9BQU8sQ0FBQyxTQUFDUDtvQkFDekIsSUFBTVEsaUJBQWlCLE9BQ2pCNkIsd0JBQXdCckMsWUFBWW1DLGFBQWEsQ0FBQzNCO29CQUV4RGxELEtBQUs4RSxZQUFZQztnQkFDbkI7Z0JBRUEsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtvQkFBZWpDLHNCQUFBQSxpRUFBc0I7Z0JBQ25DLElBQU1rQyxjQUFjLEVBQUU7Z0JBRXRCLElBQUksQ0FBQy9ELFlBQVksQ0FBQytCLE9BQU8sQ0FBQyxTQUFDUDtvQkFDekIsSUFBTVEsaUJBQWlCLE9BQ2pCZ0MseUJBQXlCeEMsWUFBWXNDLGNBQWMsQ0FBQzlCO29CQUUxRGxELEtBQUtpRixhQUFhQztnQkFDcEI7Z0JBRUEsSUFBSW5DLHFCQUFxQjtvQkFDdkIsSUFBTTNCLDRCQUE0QixJQUFJLENBQUNnQiw0QkFBNEI7b0JBRW5FaEIsMEJBQTBCNkIsT0FBTyxDQUFDLFNBQUNHO3dCQUNqQyxJQUFNTCxzQkFBc0IsT0FDdEJvQyw0QkFBNEIvQixlQUFlNEIsY0FBYyxDQUFDakM7d0JBRWhFL0MsS0FBS2lGLGFBQWFFO29CQUNwQjtnQkFDRjtnQkFFQSxPQUFPRjtZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO29CQUFlckMsc0JBQUFBLGlFQUFzQjtnQkFDbkMsSUFBTXNDLGNBQWMsRUFBRTtnQkFFdEIsSUFBSSxDQUFDbkUsWUFBWSxDQUFDK0IsT0FBTyxDQUFDLFNBQUNQO29CQUN6QixJQUFNUSxpQkFBaUIsT0FDakJvQyx5QkFBeUI1QyxZQUFZMEMsY0FBYyxDQUFDbEM7b0JBRTFEbEQsS0FBS3FGLGFBQWFDO2dCQUNwQjtnQkFFQSxJQUFJdkMscUJBQXFCO29CQUN2QixJQUFNM0IsNEJBQTRCLElBQUksQ0FBQ2dCLDRCQUE0QjtvQkFFbkVoQiwwQkFBMEI2QixPQUFPLENBQUMsU0FBQ0c7d0JBQ2pDLElBQU1MLHNCQUFzQixPQUN0QndDLDRCQUE0Qm5DLGVBQWVnQyxjQUFjLENBQUNyQzt3QkFFaEUvQyxLQUFLcUYsYUFBYUU7b0JBQ3BCO2dCQUNGO2dCQUVBLE9BQU9GO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQWdCekMsc0JBQUFBLGlFQUFzQjtnQkFDcEMsSUFBTTBDLGVBQWUsRUFBRTtnQkFFdkIsSUFBSSxDQUFDdkUsWUFBWSxDQUFDK0IsT0FBTyxDQUFDLFNBQUNQO29CQUN6QixJQUFNUSxpQkFBaUIsT0FDakJ3QywwQkFBMEJoRCxZQUFZOEMsZUFBZSxDQUFDdEM7b0JBRTVEbEQsS0FBS3lGLGNBQWNDO2dCQUNyQjtnQkFFQSxJQUFJM0MscUJBQXFCO29CQUN2QixJQUFNM0IsNEJBQTRCLElBQUksQ0FBQ2dCLDRCQUE0QjtvQkFFbkVoQiwwQkFBMEI2QixPQUFPLENBQUMsU0FBQ0c7d0JBQ2pDLElBQU1MLHNCQUFzQixPQUN0QjRDLDZCQUE2QnZDLGVBQWVvQyxlQUFlLENBQUN6Qzt3QkFFbEUvQyxLQUFLeUYsY0FBY0U7b0JBQ3JCO2dCQUNGO2dCQUVBLE9BQU9GO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQWdCN0Msc0JBQUFBLGlFQUFzQjtnQkFDcEMsSUFBTThDLGVBQWUsRUFBRTtnQkFFdkIsSUFBSSxDQUFDM0UsWUFBWSxDQUFDK0IsT0FBTyxDQUFDLFNBQUNQO29CQUN6QixJQUFNUSxpQkFBaUIsT0FDakI0QywwQkFBMEJwRCxZQUFZa0QsZUFBZSxDQUFDMUM7b0JBRTVEbEQsS0FBSzZGLGNBQWNDO2dCQUNyQjtnQkFFQSxJQUFJL0MscUJBQXFCO29CQUN2QixJQUFNM0IsNEJBQTRCLElBQUksQ0FBQ2dCLDRCQUE0QjtvQkFFbkVoQiwwQkFBMEI2QixPQUFPLENBQUMsU0FBQ0c7d0JBQ2pDLElBQU1MLHNCQUFzQixPQUN0QmdELDZCQUE2QjNDLGVBQWV3QyxlQUFlLENBQUM3Qzt3QkFFbEUvQyxLQUFLNkYsY0FBY0U7b0JBQ3JCO2dCQUNGO2dCQUVBLE9BQU9GO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsZUFBZXRELFdBQVc7Z0JBQ3hCLElBQUksQ0FBQ3hCLFlBQVksQ0FBQ2xCLElBQUksQ0FBQzBDO1lBQ3pCOzs7WUFFQXVELEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUJDLFFBQVE7Z0JBQ3pCLElBQUkzQyxRQUFRLElBQUksQ0FBQ0QsUUFBUTtnQkFFekJDLFFBQVEsQUFDTixxQkFBR0EsY0FERztvQkFFTjRDLGdCQUFVO2lCQUNYO2dCQUVELElBQU1DLE9BQU83QyxNQUFNWixJQUFJLENBQUMsU0FBQ3lEO29CQUN2QixJQUFNQyxrQkFBa0JELEtBQUtFLGFBQWEsQ0FBQ0o7b0JBRTNDLElBQUlHLGlCQUFpQjt3QkFDbkIsT0FBTztvQkFDVDtnQkFDRixNQUFNO2dCQUVOLE9BQU9EO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTTVGLE9BQU8sSUFBSSxDQUFDVyxPQUFPLElBQ25Ca0YsY0FBYzdGLE1BQU0sR0FBRztnQkFFN0IsT0FBTzZGO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUWpFLFFBQVE7Z0JBQUksT0FBTyxJQUFJLENBQUMzQixPQUFPLENBQUM0RixPQUFPLENBQUNqRTtZQUFXOzs7WUFFM0RrRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQWUsT0FBTyxJQUFJLENBQUM3RixPQUFPLENBQUM2RixVQUFVO1lBQUk7OztZQUVqREMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUFpQixPQUFPLElBQUksQ0FBQzlGLE9BQU8sQ0FBQzhGLFlBQVk7WUFBSTs7O1lBRXJEQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQW9CLE9BQU8sSUFBSSxDQUFDL0YsT0FBTyxDQUFDK0YsZUFBZTtZQUFJOzs7WUFFM0RDLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JDLGdCQUFnQjtnQkFBSSxPQUFPLElBQUksQ0FBQ2pHLE9BQU8sQ0FBQ2dHLHFCQUFxQixDQUFDQztZQUFtQjs7O1lBRXZHQyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUMsT0FBTztvQkFBRXhFLFdBQUFBLGlFQUFXO2dCQUFRLElBQUksQ0FBQzlCLEdBQUcsQ0FBQ3FHLEtBQUssQ0FBQ0MsU0FBU3hFO1lBQVc7OztZQUVyRXlFLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNRCxPQUFPO29CQUFFeEUsV0FBQUEsaUVBQVc7Z0JBQVEsSUFBSSxDQUFDOUIsR0FBRyxDQUFDdUcsS0FBSyxDQUFDRCxTQUFTeEU7WUFBVzs7O1lBRXJFMEUsS0FBQUE7bUJBQUFBLFNBQUFBLEtBQUtGLE9BQU87b0JBQUV4RSxXQUFBQSxpRUFBVztnQkFBUSxJQUFJLENBQUM5QixHQUFHLENBQUN3RyxJQUFJLENBQUNGLFNBQVN4RTtZQUFXOzs7WUFFbkUyRSxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUUgsT0FBTztvQkFBRXhFLFdBQUFBLGlFQUFXO2dCQUFRLElBQUksQ0FBQzlCLEdBQUcsQ0FBQ3lHLE9BQU8sQ0FBQ0gsU0FBU3hFO1lBQVc7OztZQUV6RTRFLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNSixPQUFPO29CQUFFeEUsV0FBQUEsaUVBQVc7Z0JBQVEsSUFBSSxDQUFDOUIsR0FBRyxDQUFDMEcsS0FBSyxDQUFDSixTQUFTeEU7WUFBVzs7O1lBRXJFNkUsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVdDLGVBQWU7Z0JBQ3hCLElBQU1DLHdCQUF3QkMsSUFBQUEsdURBQXdDLEVBQUNGLGtCQUNqRUcsZUFBZXRILHNDQUFzQ29ILHdCQUNyREcsZ0JBQWdCckgsdUNBQXVDa0g7Z0JBRTdESSxJQUFBQSwyQkFBbUIsRUFBQ0Q7Z0JBRXBCLElBQU10RSxpQkFBaUIsSUFBSSxFQUNyQmQsV0FBVyxJQUFJLENBQUNELFVBQVU7Z0JBRWhDLElBQUksQ0FBQ2pCLHlCQUF5QixHQUFHdEIsS0FBS3dILGtCQUFrQixHQUFHO2dCQUUzRCxJQUFJLENBQUN4RyxLQUFLLEdBQUcyRyxjQUFjLEdBQUc7Z0JBRTlCLElBQUksQ0FBQzFHLE1BQU0sR0FBRzJHLGVBQWUsR0FBRztnQkFFaEN6SCxNQUFNLElBQUksQ0FBQ2lCLFlBQVk7Z0JBRXZCb0IsV0FDRXNGLHFCQUFxQixJQUFJLENBQUNoSCxJQUFJLEVBQUUsSUFBSSxDQUFDTSxZQUFZLEVBQUVrQyxrQkFDakR5RSx3QkFBd0IsSUFBSSxDQUFDaEgsT0FBTyxFQUFFLElBQUksQ0FBQ0ssWUFBWSxFQUFFa0M7Z0JBRTdELElBQUksQ0FBQ25DLFdBQVcsR0FBRztZQUNyQjs7O1lBRUE2RyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSTlHLFdBQVc7Z0JBRWYsSUFBTStHLHVCQUF1QixFQUFFLEVBQ3pCQyx1QkFBdUJDLG1CQUFtQixJQUFJLENBQUMvRyxZQUFZLEVBQUU2RztnQkFFbkUsSUFBSUMsc0JBQXNCO29CQUN4QixJQUFJLENBQUM5RyxZQUFZLEdBQUc2RyxzQkFBc0IsR0FBRztvQkFFN0MsSUFBSSxDQUFDL0csUUFBUSxHQUFHO29CQUVoQkEsV0FBVztnQkFDYjtnQkFFQSxPQUFPQTtZQUNUOzs7WUFFQWtILEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxtQkFBbUIsSUFBSSxDQUFDakgsWUFBWSxDQUFDa0gsR0FBRyxDQUFDLFNBQUMxRjtvQkFDeEMsSUFBTTJGLGtCQUFrQjNGLFlBQVl3RixNQUFNO29CQUUxQyxPQUFPRztnQkFDVCxJQUNBekgsT0FBT3VILGtCQUFtQixHQUFHO2dCQUVuQyxPQUFPdkg7WUFDVDs7OztZQUVPMEgsS0FBQUE7bUJBQVAsU0FBT0EsMEJBQTBCNUgsSUFBRyxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsT0FBTztnQkFDdkQsSUFBTUMsUUFBUSxNQUNSQyxTQUFTLE1BQ1RDLFdBQVcsT0FDWEMsY0FBYyxPQUNkQyxlQUFlLEVBQUUsRUFDakJDLGdCQUFnQm9ILElBQUFBLDhDQUErQixFQUFDNUgsTUFBTUUsVUFDdERPLDRCQUE0QixNQUM1QmdDLGlCQUFpQixJQWxkTnZELGVBa2R5QmEsTUFBS0MsTUFBTUMsTUFBTUMsU0FBU0MsT0FBT0MsUUFBUUMsVUFBVUMsYUFBYUMsY0FBY0MsZUFBZUM7Z0JBRXZJLE9BQU9nQztZQUNUOzs7V0FyZG1CdkQ7O0FBd2RyQixTQUFTb0ksbUJBQW1CL0csWUFBWSxFQUFFNkcsb0JBQW9CO0lBQzVELElBQU1TLFdBQVd0SSxRQUFRZ0IsY0FBYzZHLHNCQUFzQixTQUFDckY7UUFDdEQsSUFBTStGLHNCQUFzQi9GLFlBQVlvRixNQUFNO1FBRTlDLElBQUlXLHFCQUFxQjtZQUN2QixPQUFPO1FBQ1Q7SUFDRixJQUNBVCx1QkFBdUJRLFVBQVcsR0FBRztJQUUzQyxPQUFPUjtBQUNUO0FBRUEsU0FBU0oscUJBQXFCaEgsSUFBSSxFQUFDTSxZQUFZLEVBQUVrQyxjQUFjO0lBQzdELElBQU0rRSxtQkFBbUJ2SCxNQUFPLEdBQUc7SUFFbkN1SCxpQkFBaUJsRixPQUFPLENBQUMsU0FBQ29GO1FBQ3hCLElBQU0sQUFBRTdGLFdBQWE2RixnQkFBYjdGLFVBQ0Y1QixTQUFPeUgsaUJBQ1BLLHlCQUF5Qm5JLHlCQUF5QmlDLFdBQ2xEbUcsMEJBQTBCbEksMEJBQTBCK0I7UUFFMUQsSUFBSWtHLHdCQUF3QjtZQUMxQixJQUFNRSxvQkFBb0JDLHdCQUFpQixDQUFDQyxtQkFBbUIsQ0FBQ3RHLFVBQVU1QixRQUFNd0MsaUJBQzFFVixjQUFja0csbUJBQW9CLEdBQUc7WUFFM0MxSCxhQUFhbEIsSUFBSSxDQUFDMEM7UUFDcEI7UUFFQSxJQUFJaUcseUJBQXlCO1lBQzNCLElBQU1qRyxlQUFjcUcsYUFBVyxDQUFDRCxtQkFBbUIsQ0FBQ3RHLFVBQVU1QixRQUFNd0M7WUFFcEVsQyxhQUFhbEIsSUFBSSxDQUFDMEM7UUFDcEI7SUFDRjtBQUNGO0FBRUEsU0FBU21GLHdCQUF3QmhILE9BQU8sRUFBRUssWUFBWSxFQUFFa0MsY0FBYztJQUNwRXZDLFFBQVFtSSxXQUFXLENBQUMsU0FBQ0M7UUFDbkIsSUFBTXpHLFdBQVd5RyxLQUFLQyxPQUFPLElBQ3ZCUix5QkFBeUJuSSx5QkFBeUJpQyxXQUNsRG1HLDBCQUEwQmxJLDBCQUEwQitCO1FBRTFELElBQUlrRyx3QkFBd0I7WUFDMUIsSUFBTUUsb0JBQW9CQyx3QkFBaUIsQ0FBQ00sUUFBUSxDQUFDRixNQUFNN0YsaUJBQ3JEVixjQUFja0csbUJBQW9CLEdBQUc7WUFFM0MxSCxhQUFhbEIsSUFBSSxDQUFDMEM7UUFDcEI7UUFFQSxJQUFJaUcseUJBQXlCO1lBQzNCLElBQU1qRyxlQUFjcUcsYUFBVyxDQUFDSSxRQUFRLENBQUNGLE1BQU03RjtZQUUvQ2xDLGFBQWFsQixJQUFJLENBQUMwQztRQUNwQjtJQUNGO0FBQ0YifQ==
package/lib/nodeMap.js CHANGED
@@ -43,8 +43,8 @@ var _procedureCall = /*#__PURE__*/ _interop_require_default(require("./node/proc
43
43
  var _subDerivation = /*#__PURE__*/ _interop_require_default(require("./node/subDerivation"));
44
44
  var _type1 = /*#__PURE__*/ _interop_require_default(require("./node/assertion/type"));
45
45
  var _type2 = /*#__PURE__*/ _interop_require_default(require("./node/declaration/type"));
46
- var _defined = /*#__PURE__*/ _interop_require_default(require("./node/assertion/defined"));
47
46
  var _propertyRelation = /*#__PURE__*/ _interop_require_default(require("./node/propertyRelation"));
47
+ var _defined = /*#__PURE__*/ _interop_require_default(require("./node/assertion/defined"));
48
48
  var _property1 = /*#__PURE__*/ _interop_require_default(require("./node/assertion/property"));
49
49
  var _subproof1 = /*#__PURE__*/ _interop_require_default(require("./node/assertion/subproof"));
50
50
  var _contained = /*#__PURE__*/ _interop_require_default(require("./node/assertion/contained"));
@@ -77,4 +77,4 @@ var _obj;
77
77
  var ruleMap = (_obj = {}, _define_property(_obj, _ruleNames.RULE_RULE_NAME, _rule.default), _define_property(_obj, _ruleNames.STEP_RULE_NAME, _step.default), _define_property(_obj, _ruleNames.TERM_RULE_NAME, _term.default), _define_property(_obj, _ruleNames.TYPE_RULE_NAME, _type.default), _define_property(_obj, _ruleNames.ERROR_RULE_NAME, _error.default), _define_property(_obj, _ruleNames.FRAME_RULE_NAME, _frame.default), _define_property(_obj, _ruleNames.LABEL_RULE_NAME, _label.default), _define_property(_obj, _ruleNames.LEMMA_RULE_NAME, _lemma.default), _define_property(_obj, _ruleNames.AXIOM_RULE_NAME, _axiom.default), _define_property(_obj, _ruleNames.PROOF_RULE_NAME, _proof.default), _define_property(_obj, _ruleNames.THEOREM_RULE_NAME, _theorem.default), _define_property(_obj, _ruleNames.PREMISE_RULE_NAME, _premise.default), _define_property(_obj, _ruleNames.PROPERTY_RULE_NAME, _property.default), _define_property(_obj, _ruleNames.EQUALITY_RULE_NAME, _equality.default), _define_property(_obj, _ruleNames.SUBPROOF_RULE_NAME, _subproof.default), _define_property(_obj, _ruleNames.REFERENCE_RULE_NAME, _reference.default), _define_property(_obj, _ruleNames.JUDGEMENT_RULE_NAME, _judgement.default), _define_property(_obj, _ruleNames.META_TYPE_RULE_NAME, _metaType.default), _define_property(_obj, _ruleNames.DEDUCTION_RULE_NAME, _deduction.default), _define_property(_obj, _ruleNames.PARAMETER_RULE_NAME, _parameter.default), _define_property(_obj, _ruleNames.STATEMENT_RULE_NAME, _statement.default), _define_property(_obj, _ruleNames.COMBINATOR_RULE_NAME, _combinator.default), _define_property(_obj, _ruleNames.CONCLUSION_RULE_NAME, _conclusion.default), _define_property(_obj, _ruleNames.CONJECTURE_RULE_NAME, _conjecture.default), _define_property(_obj, _ruleNames.DERIVATION_RULE_NAME, _derivation.default), _define_property(_obj, _ruleNames.META_LEMMA_RULE_NAME, _metaLemma.default), _define_property(_obj, _ruleNames.SUPPOSITION_RULE_NAME, _supposition.default), _define_property(_obj, _ruleNames.CONSTRUCTOR_RULE_NAME, _constructor.default), _define_property(_obj, _ruleNames.DECLARATION_RULE_NAME, _declaration.default), _define_property(_obj, _ruleNames.METATHEOREM_RULE_NAME, _metatheorem.default), _define_property(_obj, _ruleNames.METAVARIABLE_RULE_NAME, _metavariable.default), _define_property(_obj, _ruleNames.TYPE_ASSERTION_RULE_NAME, _type1.default), _define_property(_obj, _ruleNames.PROCEDURE_CALL_RULE_NAME, _procedureCall.default), _define_property(_obj, _ruleNames.SUB_DERIVATION_RULE_NAME, _subDerivation.default), _define_property(_obj, _ruleNames.TYPE_DECLARATION_RULE_NAME, _type2.default), _define_property(_obj, _ruleNames.PROPERTY_RELATION_RULE_NAME, _propertyRelation.default), _define_property(_obj, _ruleNames.DEFINED_ASSERTION_RULE_NAME, _defined.default), _define_property(_obj, _ruleNames.SUBPROOF_ASSERTION_RULE_NAME, _subproof1.default), _define_property(_obj, _ruleNames.PROPERTY_ASSERTION_RULE_NAME, _property1.default), _define_property(_obj, _ruleNames.SATISFIES_ASSERTION_RULE_NAME, _satisfies.default), _define_property(_obj, _ruleNames.CONTAINED_ASSERTION_RULE_NAME, _contained.default), _define_property(_obj, _ruleNames.VARIABLE_DECLARATION_RULE_NAME, _variable.default), _define_property(_obj, _ruleNames.COMBINATOR_DECLARATION_RULE_NAME, _combinator1.default), _define_property(_obj, _ruleNames.CONSTRUCTOR_DECLARATION_RULE_NAME, _constructor1.default), _define_property(_obj, _ruleNames.COMPLEX_TYPE_DECLARATION_RULE_NAME, _complexType.default), _define_property(_obj, _ruleNames.METAVARIABLE_DECLARATION_RULE_NAME, _metavariable1.default), _obj);
78
78
  var _default = ruleMap;
79
79
 
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub2RlTWFwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGVybU5vZGUgZnJvbSBcIi4vbm9kZS90ZXJtXCJcbmltcG9ydCBUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL3R5cGVcIlxuaW1wb3J0IFJ1bGVOb2RlIGZyb20gXCIuL25vZGUvcnVsZVwiXG5pbXBvcnQgU3RlcE5vZGUgZnJvbSBcIi4vbm9kZS9zdGVwXCJcbmltcG9ydCBFcnJvck5vZGUgZnJvbSBcIi4vbm9kZS9lcnJvclwiXG5pbXBvcnQgRnJhbWVOb2RlIGZyb20gXCIuL25vZGUvZnJhbWVcIlxuaW1wb3J0IEF4aW9tTm9kZSBmcm9tIFwiLi9ub2RlL2F4aW9tXCJcbmltcG9ydCBMYWJlbE5vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbFwiXG5pbXBvcnQgTGVtbWFOb2RlIGZyb20gXCIuL25vZGUvbGVtbWFcIlxuaW1wb3J0IFByb29mTm9kZSBmcm9tIFwiLi9ub2RlL3Byb29mXCJcbmltcG9ydCBQcmVtaXNlTm9kZSBmcm9tIFwiLi9ub2RlL3ByZW1pc2VcIlxuaW1wb3J0IFRoZW9yZW1Ob2RlIGZyb20gXCIuL25vZGUvdGhlb3JlbVwiXG5pbXBvcnQgU3VicHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvc3VicHJvb2ZcIlxuaW1wb3J0IFByb3BlcnR5Tm9kZSBmcm9tIFwiLi9ub2RlL3Byb3BlcnR5XCJcbmltcG9ydCBNZXRhVHlwZU5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhVHlwZVwiXG5pbXBvcnQgRXF1YWxpdHlOb2RlIGZyb20gXCIuL25vZGUvZXF1YWxpdHlcIlxuaW1wb3J0IFN0YXRlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9zdGF0ZW1lbnRcIlxuaW1wb3J0IFJlZmVyZW5jZU5vZGUgZnJvbSBcIi4vbm9kZS9yZWZlcmVuY2VcIlxuaW1wb3J0IERlZHVjdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWR1Y3Rpb25cIlxuaW1wb3J0IEp1ZGdlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9qdWRnZW1lbnRcIlxuaW1wb3J0IE1ldGFMZW1tYU5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhTGVtbWFcIlxuaW1wb3J0IFBhcmFtZXRlck5vZGUgZnJvbSBcIi4vbm9kZS9wYXJhbWV0ZXJcIlxuaW1wb3J0IERlcml2YXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVyaXZhdGlvblwiXG5pbXBvcnQgQ29tYmluYXRvck5vZGUgZnJvbSBcIi4vbm9kZS9jb21iaW5hdG9yXCJcbmltcG9ydCBDb25jbHVzaW9uTm9kZSBmcm9tIFwiLi9ub2RlL2NvbmNsdXNpb25cIlxuaW1wb3J0IENvbmplY3R1cmVOb2RlIGZyb20gXCIuL25vZGUvY29uamVjdHVyZVwiXG5pbXBvcnQgU3VwcG9zaXRpb25Ob2RlIGZyb20gXCIuL25vZGUvc3VwcG9zaXRpb25cIlxuaW1wb3J0IENvbnN0cnVjdG9yTm9kZSBmcm9tIFwiLi9ub2RlL2NvbnN0cnVjdG9yXCJcbmltcG9ydCBEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvblwiXG5pbXBvcnQgTWV0YXRoZW9yZW1Ob2RlIGZyb20gXCIuL25vZGUvbWV0YXRoZW9yZW1cIlxuaW1wb3J0IE1ldGF2YXJpYWJsZU5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhdmFyaWFibGVcIlxuaW1wb3J0IFByb2NlZHVyZUNhbGxOb2RlIGZyb20gXCIuL25vZGUvcHJvY2VkdXJlQ2FsbFwiXG5pbXBvcnQgU3ViRGVyaXZhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJEZXJpdmF0aW9uXCJcbmltcG9ydCBUeXBlQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi90eXBlXCI7XG5pbXBvcnQgdHlwZURlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL3R5cGVcIjtcbmltcG9ydCBEZWZpbmVkQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9kZWZpbmVkXCI7XG5pbXBvcnQgUHJvcGVydHlSZWxhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9wcm9wZXJ0eVJlbGF0aW9uXCJcbmltcG9ydCBQcm9wZXJ0eUFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vcHJvcGVydHlcIjtcbmltcG9ydCBTdWJwcm9vZkFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vc3VicHJvb2ZcIjtcbmltcG9ydCBDb250YWluZWRBc3NlcnRpb25Ob2RlIGZyb20gXCIuL25vZGUvYXNzZXJ0aW9uL2NvbnRhaW5lZFwiO1xuaW1wb3J0IFNhdGlzZmllc0Fzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vc2F0aXNmaWVzXCI7XG5pbXBvcnQgdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi92YXJpYWJsZVwiO1xuaW1wb3J0IGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9jb21iaW5hdG9yXCI7XG5pbXBvcnQgY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9jb21wbGV4VHlwZVwiO1xuaW1wb3J0IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vY29uc3RydWN0b3JcIjtcbmltcG9ydCBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9tZXRhdmFyaWFibGVcIjtcblxuaW1wb3J0IHsgUlVMRV9SVUxFX05BTUUsXG4gICAgICAgICBTVEVQX1JVTEVfTkFNRSxcbiAgICAgICAgIFRFUk1fUlVMRV9OQU1FLFxuICAgICAgICAgVFlQRV9SVUxFX05BTUUsXG4gICAgICAgICBQUk9PRl9SVUxFX05BTUUsXG4gICAgICAgICBFUlJPUl9SVUxFX05BTUUsXG4gICAgICAgICBGUkFNRV9SVUxFX05BTUUsXG4gICAgICAgICBBWElPTV9SVUxFX05BTUUsXG4gICAgICAgICBMQUJFTF9SVUxFX05BTUUsXG4gICAgICAgICBMRU1NQV9SVUxFX05BTUUsXG4gICAgICAgICBUSEVPUkVNX1JVTEVfTkFNRSxcbiAgICAgICAgIFBSRU1JU0VfUlVMRV9OQU1FLFxuICAgICAgICAgU1VCUFJPT0ZfUlVMRV9OQU1FLFxuICAgICAgICAgUFJPUEVSVFlfUlVMRV9OQU1FLFxuICAgICAgICAgRVFVQUxJVFlfUlVMRV9OQU1FLFxuICAgICAgICAgTUVUQV9UWVBFX1JVTEVfTkFNRSxcbiAgICAgICAgIERFRFVDVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBKVURHRU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICAgUEFSQU1FVEVSX1JVTEVfTkFNRSxcbiAgICAgICAgIFJFRkVSRU5DRV9SVUxFX05BTUUsXG4gICAgICAgICBTVEFURU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICAgTUVUQV9MRU1NQV9SVUxFX05BTUUsXG4gICAgICAgICBERVJJVkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTUJJTkFUT1JfUlVMRV9OQU1FLFxuICAgICAgICAgQ09OQ0xVU0lPTl9SVUxFX05BTUUsXG4gICAgICAgICBDT05KRUNUVVJFX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTlNUUlVDVE9SX1JVTEVfTkFNRSxcbiAgICAgICAgIERFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNVUFBPU0lUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIE1FVEFUSEVPUkVNX1JVTEVfTkFNRSxcbiAgICAgICAgIE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgICBTVUJfREVSSVZBVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUUsXG4gICAgICAgICBUWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFBST1BFUlRZX1JFTEFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIERFRklORURfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBTQVRJU0ZJRVNfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFZBUklBQkxFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTUJJTkFUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgQ09NUExFWF9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIE1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgcnVsZU1hcCA9IHtcbiAgW1JVTEVfUlVMRV9OQU1FXTogUnVsZU5vZGUsXG4gIFtTVEVQX1JVTEVfTkFNRV06IFN0ZXBOb2RlLFxuICBbVEVSTV9SVUxFX05BTUVdOiBUZXJtTm9kZSxcbiAgW1RZUEVfUlVMRV9OQU1FXTogVHlwZU5vZGUsXG4gIFtFUlJPUl9SVUxFX05BTUVdOiBFcnJvck5vZGUsXG4gIFtGUkFNRV9SVUxFX05BTUVdOiBGcmFtZU5vZGUsXG4gIFtMQUJFTF9SVUxFX05BTUVdOiBMYWJlbE5vZGUsXG4gIFtMRU1NQV9SVUxFX05BTUVdOiBMZW1tYU5vZGUsXG4gIFtBWElPTV9SVUxFX05BTUVdOiBBeGlvbU5vZGUsXG4gIFtQUk9PRl9SVUxFX05BTUVdOiBQcm9vZk5vZGUsXG4gIFtUSEVPUkVNX1JVTEVfTkFNRV06IFRoZW9yZW1Ob2RlLFxuICBbUFJFTUlTRV9SVUxFX05BTUVdOiBQcmVtaXNlTm9kZSxcbiAgW1BST1BFUlRZX1JVTEVfTkFNRV06IFByb3BlcnR5Tm9kZSxcbiAgW0VRVUFMSVRZX1JVTEVfTkFNRV06IEVxdWFsaXR5Tm9kZSxcbiAgW1NVQlBST09GX1JVTEVfTkFNRV06IFN1YnByb29mTm9kZSxcbiAgW1JFRkVSRU5DRV9SVUxFX05BTUVdOiBSZWZlcmVuY2VOb2RlLFxuICBbSlVER0VNRU5UX1JVTEVfTkFNRV06IEp1ZGdlbWVudE5vZGUsXG4gIFtNRVRBX1RZUEVfUlVMRV9OQU1FXTogTWV0YVR5cGVOb2RlLFxuICBbREVEVUNUSU9OX1JVTEVfTkFNRV06IERlZHVjdGlvbk5vZGUsXG4gIFtQQVJBTUVURVJfUlVMRV9OQU1FXTogUGFyYW1ldGVyTm9kZSxcbiAgW1NUQVRFTUVOVF9SVUxFX05BTUVdOiBTdGF0ZW1lbnROb2RlLFxuICBbQ09NQklOQVRPUl9SVUxFX05BTUVdOiBDb21iaW5hdG9yTm9kZSxcbiAgW0NPTkNMVVNJT05fUlVMRV9OQU1FXTogQ29uY2x1c2lvbk5vZGUsXG4gIFtDT05KRUNUVVJFX1JVTEVfTkFNRV06IENvbmplY3R1cmVOb2RlLFxuICBbREVSSVZBVElPTl9SVUxFX05BTUVdOiBEZXJpdmF0aW9uTm9kZSxcbiAgW01FVEFfTEVNTUFfUlVMRV9OQU1FXTogTWV0YUxlbW1hTm9kZSxcbiAgW1NVUFBPU0lUSU9OX1JVTEVfTkFNRV06IFN1cHBvc2l0aW9uTm9kZSxcbiAgW0NPTlNUUlVDVE9SX1JVTEVfTkFNRV06IENvbnN0cnVjdG9yTm9kZSxcbiAgW0RFQ0xBUkFUSU9OX1JVTEVfTkFNRV06IERlY2xhcmF0aW9uTm9kZSxcbiAgW01FVEFUSEVPUkVNX1JVTEVfTkFNRV06IE1ldGF0aGVvcmVtTm9kZSxcbiAgW01FVEFWQVJJQUJMRV9SVUxFX05BTUVdOiBNZXRhdmFyaWFibGVOb2RlLFxuICBbVFlQRV9BU1NFUlRJT05fUlVMRV9OQU1FXTogVHlwZUFzc2VydGlvbk5vZGUsXG4gIFtQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUVdOiBQcm9jZWR1cmVDYWxsTm9kZSxcbiAgW1NVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRV06IFN1YkRlcml2YXRpb25Ob2RlLFxuICBbVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiB0eXBlRGVjbGFyYXRpb25Ob2RlLFxuICBbUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FXTogUHJvcGVydHlSZWxhdGlvbk5vZGUsXG4gIFtERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUVdOiBEZWZpbmVkQXNzZXJ0aW9uTm9kZSxcbiAgW1NVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUVdOiBTdWJwcm9vZkFzc2VydGlvbk5vZGUsXG4gIFtQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FXTogUHJvcGVydHlBc3NlcnRpb25Ob2RlLFxuICBbU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUVdOiBTYXRpc2ZpZXNBc3NlcnRpb25Ob2RlLFxuICBbQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUVdOiBDb250YWluZWRBc3NlcnRpb25Ob2RlLFxuICBbVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtDT01CSU5BVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRV06IGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsXG4gIFtDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSxcbiAgW0NPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSxcbiAgW01FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHJ1bGVNYXA7XG4iXSwibmFtZXMiOlsicnVsZU1hcCIsIlJVTEVfUlVMRV9OQU1FIiwiUnVsZU5vZGUiLCJTVEVQX1JVTEVfTkFNRSIsIlN0ZXBOb2RlIiwiVEVSTV9SVUxFX05BTUUiLCJUZXJtTm9kZSIsIlRZUEVfUlVMRV9OQU1FIiwiVHlwZU5vZGUiLCJFUlJPUl9SVUxFX05BTUUiLCJFcnJvck5vZGUiLCJGUkFNRV9SVUxFX05BTUUiLCJGcmFtZU5vZGUiLCJMQUJFTF9SVUxFX05BTUUiLCJMYWJlbE5vZGUiLCJMRU1NQV9SVUxFX05BTUUiLCJMZW1tYU5vZGUiLCJBWElPTV9SVUxFX05BTUUiLCJBeGlvbU5vZGUiLCJQUk9PRl9SVUxFX05BTUUiLCJQcm9vZk5vZGUiLCJUSEVPUkVNX1JVTEVfTkFNRSIsIlRoZW9yZW1Ob2RlIiwiUFJFTUlTRV9SVUxFX05BTUUiLCJQcmVtaXNlTm9kZSIsIlBST1BFUlRZX1JVTEVfTkFNRSIsIlByb3BlcnR5Tm9kZSIsIkVRVUFMSVRZX1JVTEVfTkFNRSIsIkVxdWFsaXR5Tm9kZSIsIlNVQlBST09GX1JVTEVfTkFNRSIsIlN1YnByb29mTm9kZSIsIlJFRkVSRU5DRV9SVUxFX05BTUUiLCJSZWZlcmVuY2VOb2RlIiwiSlVER0VNRU5UX1JVTEVfTkFNRSIsIkp1ZGdlbWVudE5vZGUiLCJNRVRBX1RZUEVfUlVMRV9OQU1FIiwiTWV0YVR5cGVOb2RlIiwiREVEVUNUSU9OX1JVTEVfTkFNRSIsIkRlZHVjdGlvbk5vZGUiLCJQQVJBTUVURVJfUlVMRV9OQU1FIiwiUGFyYW1ldGVyTm9kZSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJTdGF0ZW1lbnROb2RlIiwiQ09NQklOQVRPUl9SVUxFX05BTUUiLCJDb21iaW5hdG9yTm9kZSIsIkNPTkNMVVNJT05fUlVMRV9OQU1FIiwiQ29uY2x1c2lvbk5vZGUiLCJDT05KRUNUVVJFX1JVTEVfTkFNRSIsIkNvbmplY3R1cmVOb2RlIiwiREVSSVZBVElPTl9SVUxFX05BTUUiLCJEZXJpdmF0aW9uTm9kZSIsIk1FVEFfTEVNTUFfUlVMRV9OQU1FIiwiTWV0YUxlbW1hTm9kZSIsIlNVUFBPU0lUSU9OX1JVTEVfTkFNRSIsIlN1cHBvc2l0aW9uTm9kZSIsIkNPTlNUUlVDVE9SX1JVTEVfTkFNRSIsIkNvbnN0cnVjdG9yTm9kZSIsIkRFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIkRlY2xhcmF0aW9uTm9kZSIsIk1FVEFUSEVPUkVNX1JVTEVfTkFNRSIsIk1ldGF0aGVvcmVtTm9kZSIsIk1FVEFWQVJJQUJMRV9SVUxFX05BTUUiLCJNZXRhdmFyaWFibGVOb2RlIiwiVFlQRV9BU1NFUlRJT05fUlVMRV9OQU1FIiwiVHlwZUFzc2VydGlvbk5vZGUiLCJQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUUiLCJQcm9jZWR1cmVDYWxsTm9kZSIsIlNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSIsIlN1YkRlcml2YXRpb25Ob2RlIiwiVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlIiwiUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FIiwiUHJvcGVydHlSZWxhdGlvbk5vZGUiLCJERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJEZWZpbmVkQXNzZXJ0aW9uTm9kZSIsIlNVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUUiLCJTdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FIiwiUHJvcGVydHlBc3NlcnRpb25Ob2RlIiwiU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUUiLCJTYXRpc2ZpZXNBc3NlcnRpb25Ob2RlIiwiQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJDb250YWluZWRBc3NlcnRpb25Ob2RlIiwiVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwidmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJDT01CSU5BVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIkNPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsIk1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWlKQTs7O2VBQUE7OzsyREEvSXFCOzJEQUNBOzJEQUNBOzJEQUNBOzREQUNDOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzhEQUNFOzhEQUNBOytEQUNDOytEQUNBOytEQUNBOytEQUNBO2dFQUNDO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBO2lFQUNDO2lFQUNBO2lFQUNBO2lFQUNBO2tFQUNDO2tFQUNBO2tFQUNBO2tFQUNBO21FQUNDO29FQUNDO29FQUNBOzREQUNBOzREQUNFOzhEQUNDO3VFQUNBO2dFQUNDO2dFQUNBO2dFQUNDO2dFQUNBOytEQUNDO2tFQUNFO2tFQUNDO21FQUNBO29FQUNDO3lCQStDVzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUVuQztBQUFoQixJQUFNQSxXQUFVLFdBQ2QsaUJBRGMsTUFDYkMseUJBQWMsRUFBR0MsYUFBUSxHQUMxQixpQkFGYyxNQUViQyx5QkFBYyxFQUFHQyxhQUFRLEdBQzFCLGlCQUhjLE1BR2JDLHlCQUFjLEVBQUdDLGFBQVEsR0FDMUIsaUJBSmMsTUFJYkMseUJBQWMsRUFBR0MsYUFBUSxHQUMxQixpQkFMYyxNQUtiQywwQkFBZSxFQUFHQyxjQUFTLEdBQzVCLGlCQU5jLE1BTWJDLDBCQUFlLEVBQUdDLGNBQVMsR0FDNUIsaUJBUGMsTUFPYkMsMEJBQWUsRUFBR0MsY0FBUyxHQUM1QixpQkFSYyxNQVFiQywwQkFBZSxFQUFHQyxjQUFTLEdBQzVCLGlCQVRjLE1BU2JDLDBCQUFlLEVBQUdDLGNBQVMsR0FDNUIsaUJBVmMsTUFVYkMsMEJBQWUsRUFBR0MsY0FBUyxHQUM1QixpQkFYYyxNQVdiQyw0QkFBaUIsRUFBR0MsZ0JBQVcsR0FDaEMsaUJBWmMsTUFZYkMsNEJBQWlCLEVBQUdDLGdCQUFXLEdBQ2hDLGlCQWJjLE1BYWJDLDZCQUFrQixFQUFHQyxpQkFBWSxHQUNsQyxpQkFkYyxNQWNiQyw2QkFBa0IsRUFBR0MsaUJBQVksR0FDbEMsaUJBZmMsTUFlYkMsNkJBQWtCLEVBQUdDLGlCQUFZLEdBQ2xDLGlCQWhCYyxNQWdCYkMsOEJBQW1CLEVBQUdDLGtCQUFhLEdBQ3BDLGlCQWpCYyxNQWlCYkMsOEJBQW1CLEVBQUdDLGtCQUFhLEdBQ3BDLGlCQWxCYyxNQWtCYkMsOEJBQW1CLEVBQUdDLGlCQUFZLEdBQ25DLGlCQW5CYyxNQW1CYkMsOEJBQW1CLEVBQUdDLGtCQUFhLEdBQ3BDLGlCQXBCYyxNQW9CYkMsOEJBQW1CLEVBQUdDLGtCQUFhLEdBQ3BDLGlCQXJCYyxNQXFCYkMsOEJBQW1CLEVBQUdDLGtCQUFhLEdBQ3BDLGlCQXRCYyxNQXNCYkMsK0JBQW9CLEVBQUdDLG1CQUFjLEdBQ3RDLGlCQXZCYyxNQXVCYkMsK0JBQW9CLEVBQUdDLG1CQUFjLEdBQ3RDLGlCQXhCYyxNQXdCYkMsK0JBQW9CLEVBQUdDLG1CQUFjLEdBQ3RDLGlCQXpCYyxNQXlCYkMsK0JBQW9CLEVBQUdDLG1CQUFjLEdBQ3RDLGlCQTFCYyxNQTBCYkMsK0JBQW9CLEVBQUdDLGtCQUFhLEdBQ3JDLGlCQTNCYyxNQTJCYkMsZ0NBQXFCLEVBQUdDLG9CQUFlLEdBQ3hDLGlCQTVCYyxNQTRCYkMsZ0NBQXFCLEVBQUdDLG9CQUFlLEdBQ3hDLGlCQTdCYyxNQTZCYkMsZ0NBQXFCLEVBQUdDLG9CQUFlLEdBQ3hDLGlCQTlCYyxNQThCYkMsZ0NBQXFCLEVBQUdDLG9CQUFlLEdBQ3hDLGlCQS9CYyxNQStCYkMsaUNBQXNCLEVBQUdDLHFCQUFnQixHQUMxQyxpQkFoQ2MsTUFnQ2JDLG1DQUF3QixFQUFHQyxjQUFpQixHQUM3QyxpQkFqQ2MsTUFpQ2JDLG1DQUF3QixFQUFHQyxzQkFBaUIsR0FDN0MsaUJBbENjLE1Ba0NiQyxtQ0FBd0IsRUFBR0Msc0JBQWlCLEdBQzdDLGlCQW5DYyxNQW1DYkMscUNBQTBCLEVBQUdDLGNBQW1CLEdBQ2pELGlCQXBDYyxNQW9DYkMsc0NBQTJCLEVBQUdDLHlCQUFvQixHQUNuRCxpQkFyQ2MsTUFxQ2JDLHNDQUEyQixFQUFHQyxnQkFBb0IsR0FDbkQsaUJBdENjLE1Bc0NiQyx1Q0FBNEIsRUFBR0Msa0JBQXFCLEdBQ3JELGlCQXZDYyxNQXVDYkMsdUNBQTRCLEVBQUdDLGtCQUFxQixHQUNyRCxpQkF4Q2MsTUF3Q2JDLHdDQUE2QixFQUFHQyxrQkFBc0IsR0FDdkQsaUJBekNjLE1BeUNiQyx3Q0FBNkIsRUFBR0Msa0JBQXNCLEdBQ3ZELGlCQTFDYyxNQTBDYkMseUNBQThCLEVBQUdDLGlCQUF1QixHQUN6RCxpQkEzQ2MsTUEyQ2JDLDJDQUFnQyxFQUFHQyxvQkFBeUIsR0FDN0QsaUJBNUNjLE1BNENiQyw0Q0FBaUMsRUFBR0MscUJBQTBCLEdBQy9ELGlCQTdDYyxNQTZDYkMsNkNBQWtDLEVBQUdDLG9CQUEwQixHQUNoRSxpQkE5Q2MsTUE4Q2JDLDZDQUFrQyxFQUFHQyxzQkFBMkIsR0E5Q25EO0lBaURoQixXQUFlNUYifQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub2RlTWFwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGVybU5vZGUgZnJvbSBcIi4vbm9kZS90ZXJtXCJcbmltcG9ydCBUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL3R5cGVcIlxuaW1wb3J0IFJ1bGVOb2RlIGZyb20gXCIuL25vZGUvcnVsZVwiXG5pbXBvcnQgU3RlcE5vZGUgZnJvbSBcIi4vbm9kZS9zdGVwXCJcbmltcG9ydCBFcnJvck5vZGUgZnJvbSBcIi4vbm9kZS9lcnJvclwiXG5pbXBvcnQgRnJhbWVOb2RlIGZyb20gXCIuL25vZGUvZnJhbWVcIlxuaW1wb3J0IEF4aW9tTm9kZSBmcm9tIFwiLi9ub2RlL2F4aW9tXCJcbmltcG9ydCBMYWJlbE5vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbFwiXG5pbXBvcnQgTGVtbWFOb2RlIGZyb20gXCIuL25vZGUvbGVtbWFcIlxuaW1wb3J0IFByb29mTm9kZSBmcm9tIFwiLi9ub2RlL3Byb29mXCJcbmltcG9ydCBQcmVtaXNlTm9kZSBmcm9tIFwiLi9ub2RlL3ByZW1pc2VcIlxuaW1wb3J0IFRoZW9yZW1Ob2RlIGZyb20gXCIuL25vZGUvdGhlb3JlbVwiXG5pbXBvcnQgU3VicHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvc3VicHJvb2ZcIlxuaW1wb3J0IFByb3BlcnR5Tm9kZSBmcm9tIFwiLi9ub2RlL3Byb3BlcnR5XCJcbmltcG9ydCBNZXRhVHlwZU5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhVHlwZVwiXG5pbXBvcnQgRXF1YWxpdHlOb2RlIGZyb20gXCIuL25vZGUvZXF1YWxpdHlcIlxuaW1wb3J0IFN0YXRlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9zdGF0ZW1lbnRcIlxuaW1wb3J0IFJlZmVyZW5jZU5vZGUgZnJvbSBcIi4vbm9kZS9yZWZlcmVuY2VcIlxuaW1wb3J0IERlZHVjdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWR1Y3Rpb25cIlxuaW1wb3J0IEp1ZGdlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9qdWRnZW1lbnRcIlxuaW1wb3J0IE1ldGFMZW1tYU5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhTGVtbWFcIlxuaW1wb3J0IFBhcmFtZXRlck5vZGUgZnJvbSBcIi4vbm9kZS9wYXJhbWV0ZXJcIlxuaW1wb3J0IERlcml2YXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVyaXZhdGlvblwiXG5pbXBvcnQgQ29tYmluYXRvck5vZGUgZnJvbSBcIi4vbm9kZS9jb21iaW5hdG9yXCJcbmltcG9ydCBDb25jbHVzaW9uTm9kZSBmcm9tIFwiLi9ub2RlL2NvbmNsdXNpb25cIlxuaW1wb3J0IENvbmplY3R1cmVOb2RlIGZyb20gXCIuL25vZGUvY29uamVjdHVyZVwiXG5pbXBvcnQgU3VwcG9zaXRpb25Ob2RlIGZyb20gXCIuL25vZGUvc3VwcG9zaXRpb25cIlxuaW1wb3J0IENvbnN0cnVjdG9yTm9kZSBmcm9tIFwiLi9ub2RlL2NvbnN0cnVjdG9yXCJcbmltcG9ydCBEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvblwiXG5pbXBvcnQgTWV0YXRoZW9yZW1Ob2RlIGZyb20gXCIuL25vZGUvbWV0YXRoZW9yZW1cIlxuaW1wb3J0IE1ldGF2YXJpYWJsZU5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhdmFyaWFibGVcIlxuaW1wb3J0IFByb2NlZHVyZUNhbGxOb2RlIGZyb20gXCIuL25vZGUvcHJvY2VkdXJlQ2FsbFwiXG5pbXBvcnQgU3ViRGVyaXZhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJEZXJpdmF0aW9uXCJcbmltcG9ydCBUeXBlQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi90eXBlXCI7XG5pbXBvcnQgdHlwZURlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL3R5cGVcIjtcbmltcG9ydCBQcm9wZXJ0eVJlbGF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3Byb3BlcnR5UmVsYXRpb25cIlxuaW1wb3J0IERlZmluZWRBc3NlcnRpb25Ob2RlIGZyb20gXCIuL25vZGUvYXNzZXJ0aW9uL2RlZmluZWRcIjtcbmltcG9ydCBQcm9wZXJ0eUFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vcHJvcGVydHlcIjtcbmltcG9ydCBTdWJwcm9vZkFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vc3VicHJvb2ZcIjtcbmltcG9ydCBDb250YWluZWRBc3NlcnRpb25Ob2RlIGZyb20gXCIuL25vZGUvYXNzZXJ0aW9uL2NvbnRhaW5lZFwiO1xuaW1wb3J0IFNhdGlzZmllc0Fzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vc2F0aXNmaWVzXCI7XG5pbXBvcnQgdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi92YXJpYWJsZVwiO1xuaW1wb3J0IGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9jb21iaW5hdG9yXCI7XG5pbXBvcnQgY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9jb21wbGV4VHlwZVwiO1xuaW1wb3J0IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vY29uc3RydWN0b3JcIjtcbmltcG9ydCBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9tZXRhdmFyaWFibGVcIjtcblxuaW1wb3J0IHsgUlVMRV9SVUxFX05BTUUsXG4gICAgICAgICBTVEVQX1JVTEVfTkFNRSxcbiAgICAgICAgIFRFUk1fUlVMRV9OQU1FLFxuICAgICAgICAgVFlQRV9SVUxFX05BTUUsXG4gICAgICAgICBQUk9PRl9SVUxFX05BTUUsXG4gICAgICAgICBFUlJPUl9SVUxFX05BTUUsXG4gICAgICAgICBGUkFNRV9SVUxFX05BTUUsXG4gICAgICAgICBBWElPTV9SVUxFX05BTUUsXG4gICAgICAgICBMQUJFTF9SVUxFX05BTUUsXG4gICAgICAgICBMRU1NQV9SVUxFX05BTUUsXG4gICAgICAgICBUSEVPUkVNX1JVTEVfTkFNRSxcbiAgICAgICAgIFBSRU1JU0VfUlVMRV9OQU1FLFxuICAgICAgICAgU1VCUFJPT0ZfUlVMRV9OQU1FLFxuICAgICAgICAgUFJPUEVSVFlfUlVMRV9OQU1FLFxuICAgICAgICAgRVFVQUxJVFlfUlVMRV9OQU1FLFxuICAgICAgICAgTUVUQV9UWVBFX1JVTEVfTkFNRSxcbiAgICAgICAgIERFRFVDVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBKVURHRU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICAgUEFSQU1FVEVSX1JVTEVfTkFNRSxcbiAgICAgICAgIFJFRkVSRU5DRV9SVUxFX05BTUUsXG4gICAgICAgICBTVEFURU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICAgTUVUQV9MRU1NQV9SVUxFX05BTUUsXG4gICAgICAgICBERVJJVkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTUJJTkFUT1JfUlVMRV9OQU1FLFxuICAgICAgICAgQ09OQ0xVU0lPTl9SVUxFX05BTUUsXG4gICAgICAgICBDT05KRUNUVVJFX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTlNUUlVDVE9SX1JVTEVfTkFNRSxcbiAgICAgICAgIERFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNVUFBPU0lUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIE1FVEFUSEVPUkVNX1JVTEVfTkFNRSxcbiAgICAgICAgIE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgICBTVUJfREVSSVZBVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUUsXG4gICAgICAgICBUWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFBST1BFUlRZX1JFTEFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIERFRklORURfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBTQVRJU0ZJRVNfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFZBUklBQkxFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTUJJTkFUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgQ09NUExFWF9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIE1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgcnVsZU1hcCA9IHtcbiAgW1JVTEVfUlVMRV9OQU1FXTogUnVsZU5vZGUsXG4gIFtTVEVQX1JVTEVfTkFNRV06IFN0ZXBOb2RlLFxuICBbVEVSTV9SVUxFX05BTUVdOiBUZXJtTm9kZSxcbiAgW1RZUEVfUlVMRV9OQU1FXTogVHlwZU5vZGUsXG4gIFtFUlJPUl9SVUxFX05BTUVdOiBFcnJvck5vZGUsXG4gIFtGUkFNRV9SVUxFX05BTUVdOiBGcmFtZU5vZGUsXG4gIFtMQUJFTF9SVUxFX05BTUVdOiBMYWJlbE5vZGUsXG4gIFtMRU1NQV9SVUxFX05BTUVdOiBMZW1tYU5vZGUsXG4gIFtBWElPTV9SVUxFX05BTUVdOiBBeGlvbU5vZGUsXG4gIFtQUk9PRl9SVUxFX05BTUVdOiBQcm9vZk5vZGUsXG4gIFtUSEVPUkVNX1JVTEVfTkFNRV06IFRoZW9yZW1Ob2RlLFxuICBbUFJFTUlTRV9SVUxFX05BTUVdOiBQcmVtaXNlTm9kZSxcbiAgW1BST1BFUlRZX1JVTEVfTkFNRV06IFByb3BlcnR5Tm9kZSxcbiAgW0VRVUFMSVRZX1JVTEVfTkFNRV06IEVxdWFsaXR5Tm9kZSxcbiAgW1NVQlBST09GX1JVTEVfTkFNRV06IFN1YnByb29mTm9kZSxcbiAgW1JFRkVSRU5DRV9SVUxFX05BTUVdOiBSZWZlcmVuY2VOb2RlLFxuICBbSlVER0VNRU5UX1JVTEVfTkFNRV06IEp1ZGdlbWVudE5vZGUsXG4gIFtNRVRBX1RZUEVfUlVMRV9OQU1FXTogTWV0YVR5cGVOb2RlLFxuICBbREVEVUNUSU9OX1JVTEVfTkFNRV06IERlZHVjdGlvbk5vZGUsXG4gIFtQQVJBTUVURVJfUlVMRV9OQU1FXTogUGFyYW1ldGVyTm9kZSxcbiAgW1NUQVRFTUVOVF9SVUxFX05BTUVdOiBTdGF0ZW1lbnROb2RlLFxuICBbQ09NQklOQVRPUl9SVUxFX05BTUVdOiBDb21iaW5hdG9yTm9kZSxcbiAgW0NPTkNMVVNJT05fUlVMRV9OQU1FXTogQ29uY2x1c2lvbk5vZGUsXG4gIFtDT05KRUNUVVJFX1JVTEVfTkFNRV06IENvbmplY3R1cmVOb2RlLFxuICBbREVSSVZBVElPTl9SVUxFX05BTUVdOiBEZXJpdmF0aW9uTm9kZSxcbiAgW01FVEFfTEVNTUFfUlVMRV9OQU1FXTogTWV0YUxlbW1hTm9kZSxcbiAgW1NVUFBPU0lUSU9OX1JVTEVfTkFNRV06IFN1cHBvc2l0aW9uTm9kZSxcbiAgW0NPTlNUUlVDVE9SX1JVTEVfTkFNRV06IENvbnN0cnVjdG9yTm9kZSxcbiAgW0RFQ0xBUkFUSU9OX1JVTEVfTkFNRV06IERlY2xhcmF0aW9uTm9kZSxcbiAgW01FVEFUSEVPUkVNX1JVTEVfTkFNRV06IE1ldGF0aGVvcmVtTm9kZSxcbiAgW01FVEFWQVJJQUJMRV9SVUxFX05BTUVdOiBNZXRhdmFyaWFibGVOb2RlLFxuICBbVFlQRV9BU1NFUlRJT05fUlVMRV9OQU1FXTogVHlwZUFzc2VydGlvbk5vZGUsXG4gIFtQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUVdOiBQcm9jZWR1cmVDYWxsTm9kZSxcbiAgW1NVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRV06IFN1YkRlcml2YXRpb25Ob2RlLFxuICBbVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiB0eXBlRGVjbGFyYXRpb25Ob2RlLFxuICBbUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FXTogUHJvcGVydHlSZWxhdGlvbk5vZGUsXG4gIFtERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUVdOiBEZWZpbmVkQXNzZXJ0aW9uTm9kZSxcbiAgW1NVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUVdOiBTdWJwcm9vZkFzc2VydGlvbk5vZGUsXG4gIFtQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FXTogUHJvcGVydHlBc3NlcnRpb25Ob2RlLFxuICBbU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUVdOiBTYXRpc2ZpZXNBc3NlcnRpb25Ob2RlLFxuICBbQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUVdOiBDb250YWluZWRBc3NlcnRpb25Ob2RlLFxuICBbVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtDT01CSU5BVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRV06IGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsXG4gIFtDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSxcbiAgW0NPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSxcbiAgW01FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHJ1bGVNYXA7XG4iXSwibmFtZXMiOlsicnVsZU1hcCIsIlJVTEVfUlVMRV9OQU1FIiwiUnVsZU5vZGUiLCJTVEVQX1JVTEVfTkFNRSIsIlN0ZXBOb2RlIiwiVEVSTV9SVUxFX05BTUUiLCJUZXJtTm9kZSIsIlRZUEVfUlVMRV9OQU1FIiwiVHlwZU5vZGUiLCJFUlJPUl9SVUxFX05BTUUiLCJFcnJvck5vZGUiLCJGUkFNRV9SVUxFX05BTUUiLCJGcmFtZU5vZGUiLCJMQUJFTF9SVUxFX05BTUUiLCJMYWJlbE5vZGUiLCJMRU1NQV9SVUxFX05BTUUiLCJMZW1tYU5vZGUiLCJBWElPTV9SVUxFX05BTUUiLCJBeGlvbU5vZGUiLCJQUk9PRl9SVUxFX05BTUUiLCJQcm9vZk5vZGUiLCJUSEVPUkVNX1JVTEVfTkFNRSIsIlRoZW9yZW1Ob2RlIiwiUFJFTUlTRV9SVUxFX05BTUUiLCJQcmVtaXNlTm9kZSIsIlBST1BFUlRZX1JVTEVfTkFNRSIsIlByb3BlcnR5Tm9kZSIsIkVRVUFMSVRZX1JVTEVfTkFNRSIsIkVxdWFsaXR5Tm9kZSIsIlNVQlBST09GX1JVTEVfTkFNRSIsIlN1YnByb29mTm9kZSIsIlJFRkVSRU5DRV9SVUxFX05BTUUiLCJSZWZlcmVuY2VOb2RlIiwiSlVER0VNRU5UX1JVTEVfTkFNRSIsIkp1ZGdlbWVudE5vZGUiLCJNRVRBX1RZUEVfUlVMRV9OQU1FIiwiTWV0YVR5cGVOb2RlIiwiREVEVUNUSU9OX1JVTEVfTkFNRSIsIkRlZHVjdGlvbk5vZGUiLCJQQVJBTUVURVJfUlVMRV9OQU1FIiwiUGFyYW1ldGVyTm9kZSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJTdGF0ZW1lbnROb2RlIiwiQ09NQklOQVRPUl9SVUxFX05BTUUiLCJDb21iaW5hdG9yTm9kZSIsIkNPTkNMVVNJT05fUlVMRV9OQU1FIiwiQ29uY2x1c2lvbk5vZGUiLCJDT05KRUNUVVJFX1JVTEVfTkFNRSIsIkNvbmplY3R1cmVOb2RlIiwiREVSSVZBVElPTl9SVUxFX05BTUUiLCJEZXJpdmF0aW9uTm9kZSIsIk1FVEFfTEVNTUFfUlVMRV9OQU1FIiwiTWV0YUxlbW1hTm9kZSIsIlNVUFBPU0lUSU9OX1JVTEVfTkFNRSIsIlN1cHBvc2l0aW9uTm9kZSIsIkNPTlNUUlVDVE9SX1JVTEVfTkFNRSIsIkNvbnN0cnVjdG9yTm9kZSIsIkRFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIkRlY2xhcmF0aW9uTm9kZSIsIk1FVEFUSEVPUkVNX1JVTEVfTkFNRSIsIk1ldGF0aGVvcmVtTm9kZSIsIk1FVEFWQVJJQUJMRV9SVUxFX05BTUUiLCJNZXRhdmFyaWFibGVOb2RlIiwiVFlQRV9BU1NFUlRJT05fUlVMRV9OQU1FIiwiVHlwZUFzc2VydGlvbk5vZGUiLCJQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUUiLCJQcm9jZWR1cmVDYWxsTm9kZSIsIlNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSIsIlN1YkRlcml2YXRpb25Ob2RlIiwiVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlIiwiUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FIiwiUHJvcGVydHlSZWxhdGlvbk5vZGUiLCJERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJEZWZpbmVkQXNzZXJ0aW9uTm9kZSIsIlNVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUUiLCJTdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FIiwiUHJvcGVydHlBc3NlcnRpb25Ob2RlIiwiU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUUiLCJTYXRpc2ZpZXNBc3NlcnRpb25Ob2RlIiwiQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJDb250YWluZWRBc3NlcnRpb25Ob2RlIiwiVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwidmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJDT01CSU5BVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIkNPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsIk1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWlKQTs7O2VBQUE7OzsyREEvSXFCOzJEQUNBOzJEQUNBOzJEQUNBOzREQUNDOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzhEQUNFOzhEQUNBOytEQUNDOytEQUNBOytEQUNBOytEQUNBO2dFQUNDO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBO2lFQUNDO2lFQUNBO2lFQUNBO2lFQUNBO2tFQUNDO2tFQUNBO2tFQUNBO2tFQUNBO21FQUNDO29FQUNDO29FQUNBOzREQUNBOzREQUNFO3VFQUNDOzhEQUNBO2dFQUNDO2dFQUNBO2dFQUNDO2dFQUNBOytEQUNDO2tFQUNFO2tFQUNDO21FQUNBO29FQUNDO3lCQStDVzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUVuQztBQUFoQixJQUFNQSxXQUFVLFdBQ2QsaUJBRGMsTUFDYkMseUJBQWMsRUFBR0MsYUFBUSxHQUMxQixpQkFGYyxNQUViQyx5QkFBYyxFQUFHQyxhQUFRLEdBQzFCLGlCQUhjLE1BR2JDLHlCQUFjLEVBQUdDLGFBQVEsR0FDMUIsaUJBSmMsTUFJYkMseUJBQWMsRUFBR0MsYUFBUSxHQUMxQixpQkFMYyxNQUtiQywwQkFBZSxFQUFHQyxjQUFTLEdBQzVCLGlCQU5jLE1BTWJDLDBCQUFlLEVBQUdDLGNBQVMsR0FDNUIsaUJBUGMsTUFPYkMsMEJBQWUsRUFBR0MsY0FBUyxHQUM1QixpQkFSYyxNQVFiQywwQkFBZSxFQUFHQyxjQUFTLEdBQzVCLGlCQVRjLE1BU2JDLDBCQUFlLEVBQUdDLGNBQVMsR0FDNUIsaUJBVmMsTUFVYkMsMEJBQWUsRUFBR0MsY0FBUyxHQUM1QixpQkFYYyxNQVdiQyw0QkFBaUIsRUFBR0MsZ0JBQVcsR0FDaEMsaUJBWmMsTUFZYkMsNEJBQWlCLEVBQUdDLGdCQUFXLEdBQ2hDLGlCQWJjLE1BYWJDLDZCQUFrQixFQUFHQyxpQkFBWSxHQUNsQyxpQkFkYyxNQWNiQyw2QkFBa0IsRUFBR0MsaUJBQVksR0FDbEMsaUJBZmMsTUFlYkMsNkJBQWtCLEVBQUdDLGlCQUFZLEdBQ2xDLGlCQWhCYyxNQWdCYkMsOEJBQW1CLEVBQUdDLGtCQUFhLEdBQ3BDLGlCQWpCYyxNQWlCYkMsOEJBQW1CLEVBQUdDLGtCQUFhLEdBQ3BDLGlCQWxCYyxNQWtCYkMsOEJBQW1CLEVBQUdDLGlCQUFZLEdBQ25DLGlCQW5CYyxNQW1CYkMsOEJBQW1CLEVBQUdDLGtCQUFhLEdBQ3BDLGlCQXBCYyxNQW9CYkMsOEJBQW1CLEVBQUdDLGtCQUFhLEdBQ3BDLGlCQXJCYyxNQXFCYkMsOEJBQW1CLEVBQUdDLGtCQUFhLEdBQ3BDLGlCQXRCYyxNQXNCYkMsK0JBQW9CLEVBQUdDLG1CQUFjLEdBQ3RDLGlCQXZCYyxNQXVCYkMsK0JBQW9CLEVBQUdDLG1CQUFjLEdBQ3RDLGlCQXhCYyxNQXdCYkMsK0JBQW9CLEVBQUdDLG1CQUFjLEdBQ3RDLGlCQXpCYyxNQXlCYkMsK0JBQW9CLEVBQUdDLG1CQUFjLEdBQ3RDLGlCQTFCYyxNQTBCYkMsK0JBQW9CLEVBQUdDLGtCQUFhLEdBQ3JDLGlCQTNCYyxNQTJCYkMsZ0NBQXFCLEVBQUdDLG9CQUFlLEdBQ3hDLGlCQTVCYyxNQTRCYkMsZ0NBQXFCLEVBQUdDLG9CQUFlLEdBQ3hDLGlCQTdCYyxNQTZCYkMsZ0NBQXFCLEVBQUdDLG9CQUFlLEdBQ3hDLGlCQTlCYyxNQThCYkMsZ0NBQXFCLEVBQUdDLG9CQUFlLEdBQ3hDLGlCQS9CYyxNQStCYkMsaUNBQXNCLEVBQUdDLHFCQUFnQixHQUMxQyxpQkFoQ2MsTUFnQ2JDLG1DQUF3QixFQUFHQyxjQUFpQixHQUM3QyxpQkFqQ2MsTUFpQ2JDLG1DQUF3QixFQUFHQyxzQkFBaUIsR0FDN0MsaUJBbENjLE1Ba0NiQyxtQ0FBd0IsRUFBR0Msc0JBQWlCLEdBQzdDLGlCQW5DYyxNQW1DYkMscUNBQTBCLEVBQUdDLGNBQW1CLEdBQ2pELGlCQXBDYyxNQW9DYkMsc0NBQTJCLEVBQUdDLHlCQUFvQixHQUNuRCxpQkFyQ2MsTUFxQ2JDLHNDQUEyQixFQUFHQyxnQkFBb0IsR0FDbkQsaUJBdENjLE1Bc0NiQyx1Q0FBNEIsRUFBR0Msa0JBQXFCLEdBQ3JELGlCQXZDYyxNQXVDYkMsdUNBQTRCLEVBQUdDLGtCQUFxQixHQUNyRCxpQkF4Q2MsTUF3Q2JDLHdDQUE2QixFQUFHQyxrQkFBc0IsR0FDdkQsaUJBekNjLE1BeUNiQyx3Q0FBNkIsRUFBR0Msa0JBQXNCLEdBQ3ZELGlCQTFDYyxNQTBDYkMseUNBQThCLEVBQUdDLGlCQUF1QixHQUN6RCxpQkEzQ2MsTUEyQ2JDLDJDQUFnQyxFQUFHQyxvQkFBeUIsR0FDN0QsaUJBNUNjLE1BNENiQyw0Q0FBaUMsRUFBR0MscUJBQTBCLEdBQy9ELGlCQTdDYyxNQTZDYkMsNkNBQWtDLEVBQUdDLG9CQUEwQixHQUNoRSxpQkE5Q2MsTUE4Q2JDLDZDQUFrQyxFQUFHQyxzQkFBMkIsR0E5Q25EO0lBaURoQixXQUFlNUYifQ==
package/lib/ruleNames.js CHANGED
@@ -163,17 +163,17 @@ var PREMISE_RULE_NAME = "premise";
163
163
  var PROPERTY_RULE_NAME = "property";
164
164
  var EQUALITY_RULE_NAME = "equality";
165
165
  var SUBPROOF_RULE_NAME = "subproof";
166
- var PARAMETER_RULE_NAME = "parameter";
167
166
  var META_TYPE_RULE_NAME = "metaType";
167
+ var PARAMETER_RULE_NAME = "parameter";
168
168
  var DEDUCTION_RULE_NAME = "deduction";
169
169
  var JUDGEMENT_RULE_NAME = "judgement";
170
170
  var REFERENCE_RULE_NAME = "reference";
171
171
  var STATEMENT_RULE_NAME = "statement";
172
+ var META_LEMMA_RULE_NAME = "metaLemma";
172
173
  var COMBINATOR_RULE_NAME = "combinator";
173
174
  var CONCLUSION_RULE_NAME = "conclusion";
174
175
  var CONJECTURE_RULE_NAME = "conjecture";
175
176
  var DERIVATION_RULE_NAME = "derivation";
176
- var META_LEMMA_RULE_NAME = "metaLemma";
177
177
  var SUPPOSITION_RULE_NAME = "supposition";
178
178
  var CONSTRUCTOR_RULE_NAME = "constructor";
179
179
  var DECLARATION_RULE_NAME = "declaration";
@@ -195,4 +195,4 @@ var CONSTRUCTOR_DECLARATION_RULE_NAME = "constructorDeclaration";
195
195
  var COMPLEX_TYPE_DECLARATION_RULE_NAME = "complexTypeDeclaration";
196
196
  var METAVARIABLE_DECLARATION_RULE_NAME = "metavariableDeclaration";
197
197
 
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBSVUxFX1JVTEVfTkFNRSA9IFwicnVsZVwiO1xuZXhwb3J0IGNvbnN0IFNURVBfUlVMRV9OQU1FID0gXCJzdGVwXCI7XG5leHBvcnQgY29uc3QgVEVSTV9SVUxFX05BTUUgPSBcInRlcm1cIjtcbmV4cG9ydCBjb25zdCBUWVBFX1JVTEVfTkFNRSA9IFwidHlwZVwiO1xuZXhwb3J0IGNvbnN0IExBQkVMX1JVTEVfTkFNRSA9IFwibGFiZWxcIjtcbmV4cG9ydCBjb25zdCBMRU1NQV9SVUxFX05BTUUgPSBcImxlbW1hXCI7XG5leHBvcnQgY29uc3QgQVhJT01fUlVMRV9OQU1FID0gXCJheGlvbVwiO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1JVTEVfTkFNRSA9IFwiZXJyb3JcIjtcbmV4cG9ydCBjb25zdCBGUkFNRV9SVUxFX05BTUUgPSBcImZyYW1lXCI7XG5leHBvcnQgY29uc3QgUFJPT0ZfUlVMRV9OQU1FID0gXCJwcm9vZlwiO1xuZXhwb3J0IGNvbnN0IFRIRU9SRU1fUlVMRV9OQU1FID0gXCJ0aGVvcmVtXCI7XG5leHBvcnQgY29uc3QgUFJFTUlTRV9SVUxFX05BTUUgPSBcInByZW1pc2VcIjtcbmV4cG9ydCBjb25zdCBQUk9QRVJUWV9SVUxFX05BTUUgPSBcInByb3BlcnR5XCI7XG5leHBvcnQgY29uc3QgRVFVQUxJVFlfUlVMRV9OQU1FID0gXCJlcXVhbGl0eVwiO1xuZXhwb3J0IGNvbnN0IFNVQlBST09GX1JVTEVfTkFNRSA9IFwic3VicHJvb2ZcIjtcbmV4cG9ydCBjb25zdCBQQVJBTUVURVJfUlVMRV9OQU1FID0gXCJwYXJhbWV0ZXJcIjtcbmV4cG9ydCBjb25zdCBNRVRBX1RZUEVfUlVMRV9OQU1FID0gXCJtZXRhVHlwZVwiO1xuZXhwb3J0IGNvbnN0IERFRFVDVElPTl9SVUxFX05BTUUgPSBcImRlZHVjdGlvblwiO1xuZXhwb3J0IGNvbnN0IEpVREdFTUVOVF9SVUxFX05BTUUgPSBcImp1ZGdlbWVudFwiO1xuZXhwb3J0IGNvbnN0IFJFRkVSRU5DRV9SVUxFX05BTUUgPSBcInJlZmVyZW5jZVwiO1xuZXhwb3J0IGNvbnN0IFNUQVRFTUVOVF9SVUxFX05BTUUgPSBcInN0YXRlbWVudFwiO1xuZXhwb3J0IGNvbnN0IENPTUJJTkFUT1JfUlVMRV9OQU1FID0gXCJjb21iaW5hdG9yXCI7XG5leHBvcnQgY29uc3QgQ09OQ0xVU0lPTl9SVUxFX05BTUUgPSBcImNvbmNsdXNpb25cIjtcbmV4cG9ydCBjb25zdCBDT05KRUNUVVJFX1JVTEVfTkFNRSA9IFwiY29uamVjdHVyZVwiO1xuZXhwb3J0IGNvbnN0IERFUklWQVRJT05fUlVMRV9OQU1FID0gXCJkZXJpdmF0aW9uXCI7XG5leHBvcnQgY29uc3QgTUVUQV9MRU1NQV9SVUxFX05BTUUgPSBcIm1ldGFMZW1tYVwiO1xuZXhwb3J0IGNvbnN0IFNVUFBPU0lUSU9OX1JVTEVfTkFNRSA9IFwic3VwcG9zaXRpb25cIjtcbmV4cG9ydCBjb25zdCBDT05TVFJVQ1RPUl9SVUxFX05BTUUgPSBcImNvbnN0cnVjdG9yXCI7XG5leHBvcnQgY29uc3QgREVDTEFSQVRJT05fUlVMRV9OQU1FID0gXCJkZWNsYXJhdGlvblwiO1xuZXhwb3J0IGNvbnN0IE1FVEFUSEVPUkVNX1JVTEVfTkFNRSA9IFwibWV0YXRoZW9yZW1cIjtcbmV4cG9ydCBjb25zdCBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FID0gXCJtZXRhdmFyaWFibGVcIjtcbmV4cG9ydCBjb25zdCBQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUUgPSBcInByb2NlZHVyZUNhbGxcIjtcbmV4cG9ydCBjb25zdCBTVUJfREVSSVZBVElPTl9SVUxFX05BTUUgPSBcInN1YkRlcml2YXRpb25cIjtcbmV4cG9ydCBjb25zdCBUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUgPSBcInR5cGVBc3NlcnRpb25cIjtcbmV4cG9ydCBjb25zdCBUWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSA9IFwidHlwZURlY2xhcmF0aW9uXCI7XG5leHBvcnQgY29uc3QgUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FID0gXCJwcm9wZXJ0eVJlbGF0aW9uXCI7XG5leHBvcnQgY29uc3QgREVGSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FID0gXCJkZWZpbmVkQXNzZXJ0aW9uXCI7XG5leHBvcnQgY29uc3QgUFJPUEVSVFlfQVNTRVJUSU9OX1JVTEVfTkFNRSA9IFwicHJvcGVydHlBc3NlcnRpb25cIjtcbmV4cG9ydCBjb25zdCBTVUJQUk9PRl9BU1NFUlRJT05fUlVMRV9OQU1FID0gXCJzdWJwcm9vZkFzc2VydGlvblwiO1xuZXhwb3J0IGNvbnN0IENPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FID0gXCJjb250YWluZWRBc3NlcnRpb25cIjtcbmV4cG9ydCBjb25zdCBTQVRJU0ZJRVNfQVNTRVJUSU9OX1JVTEVfTkFNRSA9IFwic2F0aXNmaWVzQXNzZXJ0aW9uXCI7XG5leHBvcnQgY29uc3QgVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FID0gXCJ2YXJpYWJsZURlY2xhcmF0aW9uXCI7XG5leHBvcnQgY29uc3QgQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUgPSBcImNvbWJpbmF0b3JEZWNsYXJhdGlvblwiO1xuZXhwb3J0IGNvbnN0IENPTlNUUlVDVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSA9IFwiY29uc3RydWN0b3JEZWNsYXJhdGlvblwiO1xuZXhwb3J0IGNvbnN0IENPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUgPSBcImNvbXBsZXhUeXBlRGVjbGFyYXRpb25cIjtcbmV4cG9ydCBjb25zdCBNRVRBVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FID0gXCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvblwiO1xuIl0sIm5hbWVzIjpbIkFYSU9NX1JVTEVfTkFNRSIsIkNPTUJJTkFUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiQ09NQklOQVRPUl9SVUxFX05BTUUiLCJDT01QTEVYX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiQ09OQ0xVU0lPTl9SVUxFX05BTUUiLCJDT05KRUNUVVJFX1JVTEVfTkFNRSIsIkNPTlNUUlVDVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIkNPTlNUUlVDVE9SX1JVTEVfTkFNRSIsIkNPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FIiwiREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiREVEVUNUSU9OX1JVTEVfTkFNRSIsIkRFRklORURfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIkRFUklWQVRJT05fUlVMRV9OQU1FIiwiRVFVQUxJVFlfUlVMRV9OQU1FIiwiRVJST1JfUlVMRV9OQU1FIiwiRlJBTUVfUlVMRV9OQU1FIiwiSlVER0VNRU5UX1JVTEVfTkFNRSIsIkxBQkVMX1JVTEVfTkFNRSIsIkxFTU1BX1JVTEVfTkFNRSIsIk1FVEFUSEVPUkVNX1JVTEVfTkFNRSIsIk1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwiTUVUQV9MRU1NQV9SVUxFX05BTUUiLCJNRVRBX1RZUEVfUlVMRV9OQU1FIiwiUEFSQU1FVEVSX1JVTEVfTkFNRSIsIlBSRU1JU0VfUlVMRV9OQU1FIiwiUFJPQ0VEVVJFX0NBTExfUlVMRV9OQU1FIiwiUFJPT0ZfUlVMRV9OQU1FIiwiUFJPUEVSVFlfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlBST1BFUlRZX1JFTEFUSU9OX1JVTEVfTkFNRSIsIlBST1BFUlRZX1JVTEVfTkFNRSIsIlJFRkVSRU5DRV9SVUxFX05BTUUiLCJSVUxFX1JVTEVfTkFNRSIsIlNBVElTRklFU19BU1NFUlRJT05fUlVMRV9OQU1FIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlNURVBfUlVMRV9OQU1FIiwiU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlNVQlBST09GX1JVTEVfTkFNRSIsIlNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSIsIlNVUFBPU0lUSU9OX1JVTEVfTkFNRSIsIlRFUk1fUlVMRV9OQU1FIiwiVEhFT1JFTV9SVUxFX05BTUUiLCJUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUiLCJUWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlRZUEVfUlVMRV9OQU1FIiwiVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFRYUE7ZUFBQUE7O1FBb0NBQztlQUFBQTs7UUFyQkFDO2VBQUFBOztRQXVCQUM7ZUFBQUE7O1FBdEJBQztlQUFBQTs7UUFDQUM7ZUFBQUE7O1FBb0JBQztlQUFBQTs7UUFoQkFDO2VBQUFBOztRQVlBQztlQUFBQTs7UUFYQUM7ZUFBQUE7O1FBWEFDO2VBQUFBOztRQW1CQUM7ZUFBQUE7O1FBWkFDO2VBQUFBOztRQVhBQztlQUFBQTs7UUFOQUM7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQVVBQztlQUFBQTs7UUFkQUM7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQXdCQUM7ZUFBQUE7O1FBZ0JBQztlQUFBQTs7UUFmQUM7ZUFBQUE7O1FBTEFDO2VBQUFBOztRQVRBQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBSkFDO2VBQUFBOztRQW9CQUM7ZUFBQUE7O1FBdEJBQztlQUFBQTs7UUE0QkFDO2VBQUFBOztRQUZBQztlQUFBQTs7UUF2QkFDO2VBQUFBOztRQU9BQztlQUFBQTs7UUFuQkFDO2VBQUFBOztRQXdDQUM7ZUFBQUE7O1FBcEJBQztlQUFBQTs7UUFuQkFDO2VBQUFBOztRQXFDQUM7ZUFBQUE7O1FBeEJBQztlQUFBQTs7UUFrQkFDO2VBQUFBOztRQU5BQztlQUFBQTs7UUF4QkFDO2VBQUFBOztRQVFBQztlQUFBQTs7UUF1QkFDO2VBQUFBOztRQUNBQztlQUFBQTs7UUEvQkFDO2VBQUFBOztRQXNDQUM7ZUFBQUE7OztBQXpDTixJQUFNYixpQkFBaUI7QUFDdkIsSUFBTUcsaUJBQWlCO0FBQ3ZCLElBQU1LLGlCQUFpQjtBQUN2QixJQUFNSSxpQkFBaUI7QUFDdkIsSUFBTTNCLGtCQUFrQjtBQUN4QixJQUFNQyxrQkFBa0I7QUFDeEIsSUFBTWxCLGtCQUFrQjtBQUN4QixJQUFNYyxrQkFBa0I7QUFDeEIsSUFBTUMsa0JBQWtCO0FBQ3hCLElBQU1ZLGtCQUFrQjtBQUN4QixJQUFNYyxvQkFBb0I7QUFDMUIsSUFBTWhCLG9CQUFvQjtBQUMxQixJQUFNSyxxQkFBcUI7QUFDM0IsSUFBTWpCLHFCQUFxQjtBQUMzQixJQUFNd0IscUJBQXFCO0FBQzNCLElBQU1iLHNCQUFzQjtBQUM1QixJQUFNRCxzQkFBc0I7QUFDNUIsSUFBTWIsc0JBQXNCO0FBQzVCLElBQU1NLHNCQUFzQjtBQUM1QixJQUFNZSxzQkFBc0I7QUFDNUIsSUFBTUcsc0JBQXNCO0FBQzVCLElBQU1oQyx1QkFBdUI7QUFDN0IsSUFBTUUsdUJBQXVCO0FBQzdCLElBQU1DLHVCQUF1QjtBQUM3QixJQUFNTyx1QkFBdUI7QUFDN0IsSUFBTVUsdUJBQXVCO0FBQzdCLElBQU1pQix3QkFBd0I7QUFDOUIsSUFBTWhDLHdCQUF3QjtBQUM5QixJQUFNRSx3QkFBd0I7QUFDOUIsSUFBTVUsd0JBQXdCO0FBQzlCLElBQU1FLHlCQUF5QjtBQUMvQixJQUFNSywyQkFBMkI7QUFDakMsSUFBTVksMkJBQTJCO0FBQ2pDLElBQU1JLDJCQUEyQjtBQUNqQyxJQUFNQyw2QkFBNkI7QUFDbkMsSUFBTWQsOEJBQThCO0FBQ3BDLElBQU1sQiw4QkFBOEI7QUFDcEMsSUFBTWlCLCtCQUErQjtBQUNyQyxJQUFNUSwrQkFBK0I7QUFDckMsSUFBTTVCLGdDQUFnQztBQUN0QyxJQUFNeUIsZ0NBQWdDO0FBQ3RDLElBQU1ZLGlDQUFpQztBQUN2QyxJQUFNNUMsbUNBQW1DO0FBQ3pDLElBQU1LLG9DQUFvQztBQUMxQyxJQUFNSCxxQ0FBcUM7QUFDM0MsSUFBTWlCLHFDQUFxQyJ9
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBSVUxFX1JVTEVfTkFNRSA9IFwicnVsZVwiO1xuZXhwb3J0IGNvbnN0IFNURVBfUlVMRV9OQU1FID0gXCJzdGVwXCI7XG5leHBvcnQgY29uc3QgVEVSTV9SVUxFX05BTUUgPSBcInRlcm1cIjtcbmV4cG9ydCBjb25zdCBUWVBFX1JVTEVfTkFNRSA9IFwidHlwZVwiO1xuZXhwb3J0IGNvbnN0IExBQkVMX1JVTEVfTkFNRSA9IFwibGFiZWxcIjtcbmV4cG9ydCBjb25zdCBMRU1NQV9SVUxFX05BTUUgPSBcImxlbW1hXCI7XG5leHBvcnQgY29uc3QgQVhJT01fUlVMRV9OQU1FID0gXCJheGlvbVwiO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1JVTEVfTkFNRSA9IFwiZXJyb3JcIjtcbmV4cG9ydCBjb25zdCBGUkFNRV9SVUxFX05BTUUgPSBcImZyYW1lXCI7XG5leHBvcnQgY29uc3QgUFJPT0ZfUlVMRV9OQU1FID0gXCJwcm9vZlwiO1xuZXhwb3J0IGNvbnN0IFRIRU9SRU1fUlVMRV9OQU1FID0gXCJ0aGVvcmVtXCI7XG5leHBvcnQgY29uc3QgUFJFTUlTRV9SVUxFX05BTUUgPSBcInByZW1pc2VcIjtcbmV4cG9ydCBjb25zdCBQUk9QRVJUWV9SVUxFX05BTUUgPSBcInByb3BlcnR5XCI7XG5leHBvcnQgY29uc3QgRVFVQUxJVFlfUlVMRV9OQU1FID0gXCJlcXVhbGl0eVwiO1xuZXhwb3J0IGNvbnN0IFNVQlBST09GX1JVTEVfTkFNRSA9IFwic3VicHJvb2ZcIjtcbmV4cG9ydCBjb25zdCBNRVRBX1RZUEVfUlVMRV9OQU1FID0gXCJtZXRhVHlwZVwiO1xuZXhwb3J0IGNvbnN0IFBBUkFNRVRFUl9SVUxFX05BTUUgPSBcInBhcmFtZXRlclwiO1xuZXhwb3J0IGNvbnN0IERFRFVDVElPTl9SVUxFX05BTUUgPSBcImRlZHVjdGlvblwiO1xuZXhwb3J0IGNvbnN0IEpVREdFTUVOVF9SVUxFX05BTUUgPSBcImp1ZGdlbWVudFwiO1xuZXhwb3J0IGNvbnN0IFJFRkVSRU5DRV9SVUxFX05BTUUgPSBcInJlZmVyZW5jZVwiO1xuZXhwb3J0IGNvbnN0IFNUQVRFTUVOVF9SVUxFX05BTUUgPSBcInN0YXRlbWVudFwiO1xuZXhwb3J0IGNvbnN0IE1FVEFfTEVNTUFfUlVMRV9OQU1FID0gXCJtZXRhTGVtbWFcIjtcbmV4cG9ydCBjb25zdCBDT01CSU5BVE9SX1JVTEVfTkFNRSA9IFwiY29tYmluYXRvclwiO1xuZXhwb3J0IGNvbnN0IENPTkNMVVNJT05fUlVMRV9OQU1FID0gXCJjb25jbHVzaW9uXCI7XG5leHBvcnQgY29uc3QgQ09OSkVDVFVSRV9SVUxFX05BTUUgPSBcImNvbmplY3R1cmVcIjtcbmV4cG9ydCBjb25zdCBERVJJVkFUSU9OX1JVTEVfTkFNRSA9IFwiZGVyaXZhdGlvblwiO1xuZXhwb3J0IGNvbnN0IFNVUFBPU0lUSU9OX1JVTEVfTkFNRSA9IFwic3VwcG9zaXRpb25cIjtcbmV4cG9ydCBjb25zdCBDT05TVFJVQ1RPUl9SVUxFX05BTUUgPSBcImNvbnN0cnVjdG9yXCI7XG5leHBvcnQgY29uc3QgREVDTEFSQVRJT05fUlVMRV9OQU1FID0gXCJkZWNsYXJhdGlvblwiO1xuZXhwb3J0IGNvbnN0IE1FVEFUSEVPUkVNX1JVTEVfTkFNRSA9IFwibWV0YXRoZW9yZW1cIjtcbmV4cG9ydCBjb25zdCBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FID0gXCJtZXRhdmFyaWFibGVcIjtcbmV4cG9ydCBjb25zdCBQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUUgPSBcInByb2NlZHVyZUNhbGxcIjtcbmV4cG9ydCBjb25zdCBTVUJfREVSSVZBVElPTl9SVUxFX05BTUUgPSBcInN1YkRlcml2YXRpb25cIjtcbmV4cG9ydCBjb25zdCBUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUgPSBcInR5cGVBc3NlcnRpb25cIjtcbmV4cG9ydCBjb25zdCBUWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSA9IFwidHlwZURlY2xhcmF0aW9uXCI7XG5leHBvcnQgY29uc3QgUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FID0gXCJwcm9wZXJ0eVJlbGF0aW9uXCI7XG5leHBvcnQgY29uc3QgREVGSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FID0gXCJkZWZpbmVkQXNzZXJ0aW9uXCI7XG5leHBvcnQgY29uc3QgUFJPUEVSVFlfQVNTRVJUSU9OX1JVTEVfTkFNRSA9IFwicHJvcGVydHlBc3NlcnRpb25cIjtcbmV4cG9ydCBjb25zdCBTVUJQUk9PRl9BU1NFUlRJT05fUlVMRV9OQU1FID0gXCJzdWJwcm9vZkFzc2VydGlvblwiO1xuZXhwb3J0IGNvbnN0IENPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FID0gXCJjb250YWluZWRBc3NlcnRpb25cIjtcbmV4cG9ydCBjb25zdCBTQVRJU0ZJRVNfQVNTRVJUSU9OX1JVTEVfTkFNRSA9IFwic2F0aXNmaWVzQXNzZXJ0aW9uXCI7XG5leHBvcnQgY29uc3QgVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FID0gXCJ2YXJpYWJsZURlY2xhcmF0aW9uXCI7XG5leHBvcnQgY29uc3QgQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUgPSBcImNvbWJpbmF0b3JEZWNsYXJhdGlvblwiO1xuZXhwb3J0IGNvbnN0IENPTlNUUlVDVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSA9IFwiY29uc3RydWN0b3JEZWNsYXJhdGlvblwiO1xuZXhwb3J0IGNvbnN0IENPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUgPSBcImNvbXBsZXhUeXBlRGVjbGFyYXRpb25cIjtcbmV4cG9ydCBjb25zdCBNRVRBVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FID0gXCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvblwiO1xuIl0sIm5hbWVzIjpbIkFYSU9NX1JVTEVfTkFNRSIsIkNPTUJJTkFUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiQ09NQklOQVRPUl9SVUxFX05BTUUiLCJDT01QTEVYX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiQ09OQ0xVU0lPTl9SVUxFX05BTUUiLCJDT05KRUNUVVJFX1JVTEVfTkFNRSIsIkNPTlNUUlVDVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIkNPTlNUUlVDVE9SX1JVTEVfTkFNRSIsIkNPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FIiwiREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiREVEVUNUSU9OX1JVTEVfTkFNRSIsIkRFRklORURfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIkRFUklWQVRJT05fUlVMRV9OQU1FIiwiRVFVQUxJVFlfUlVMRV9OQU1FIiwiRVJST1JfUlVMRV9OQU1FIiwiRlJBTUVfUlVMRV9OQU1FIiwiSlVER0VNRU5UX1JVTEVfTkFNRSIsIkxBQkVMX1JVTEVfTkFNRSIsIkxFTU1BX1JVTEVfTkFNRSIsIk1FVEFUSEVPUkVNX1JVTEVfTkFNRSIsIk1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwiTUVUQV9MRU1NQV9SVUxFX05BTUUiLCJNRVRBX1RZUEVfUlVMRV9OQU1FIiwiUEFSQU1FVEVSX1JVTEVfTkFNRSIsIlBSRU1JU0VfUlVMRV9OQU1FIiwiUFJPQ0VEVVJFX0NBTExfUlVMRV9OQU1FIiwiUFJPT0ZfUlVMRV9OQU1FIiwiUFJPUEVSVFlfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlBST1BFUlRZX1JFTEFUSU9OX1JVTEVfTkFNRSIsIlBST1BFUlRZX1JVTEVfTkFNRSIsIlJFRkVSRU5DRV9SVUxFX05BTUUiLCJSVUxFX1JVTEVfTkFNRSIsIlNBVElTRklFU19BU1NFUlRJT05fUlVMRV9OQU1FIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlNURVBfUlVMRV9OQU1FIiwiU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlNVQlBST09GX1JVTEVfTkFNRSIsIlNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSIsIlNVUFBPU0lUSU9OX1JVTEVfTkFNRSIsIlRFUk1fUlVMRV9OQU1FIiwiVEhFT1JFTV9SVUxFX05BTUUiLCJUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUiLCJUWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlRZUEVfUlVMRV9OQU1FIiwiVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFRYUE7ZUFBQUE7O1FBb0NBQztlQUFBQTs7UUFwQkFDO2VBQUFBOztRQXNCQUM7ZUFBQUE7O1FBckJBQztlQUFBQTs7UUFDQUM7ZUFBQUE7O1FBbUJBQztlQUFBQTs7UUFoQkFDO2VBQUFBOztRQVlBQztlQUFBQTs7UUFYQUM7ZUFBQUE7O1FBWEFDO2VBQUFBOztRQW1CQUM7ZUFBQUE7O1FBWEFDO2VBQUFBOztRQVpBQztlQUFBQTs7UUFOQUM7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQVVBQztlQUFBQTs7UUFkQUM7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQXdCQUM7ZUFBQUE7O1FBZ0JBQztlQUFBQTs7UUFmQUM7ZUFBQUE7O1FBVEFDO2VBQUFBOztRQU5BQztlQUFBQTs7UUFDQUM7ZUFBQUE7O1FBTEFDO2VBQUFBOztRQW9CQUM7ZUFBQUE7O1FBdEJBQztlQUFBQTs7UUE0QkFDO2VBQUFBOztRQUZBQztlQUFBQTs7UUF2QkFDO2VBQUFBOztRQU9BQztlQUFBQTs7UUFuQkFDO2VBQUFBOztRQXdDQUM7ZUFBQUE7O1FBcEJBQztlQUFBQTs7UUFuQkFDO2VBQUFBOztRQXFDQUM7ZUFBQUE7O1FBeEJBQztlQUFBQTs7UUFrQkFDO2VBQUFBOztRQU5BQztlQUFBQTs7UUF4QkFDO2VBQUFBOztRQVFBQztlQUFBQTs7UUF1QkFDO2VBQUFBOztRQUNBQztlQUFBQTs7UUEvQkFDO2VBQUFBOztRQXNDQUM7ZUFBQUE7OztBQXpDTixJQUFNYixpQkFBaUI7QUFDdkIsSUFBTUcsaUJBQWlCO0FBQ3ZCLElBQU1LLGlCQUFpQjtBQUN2QixJQUFNSSxpQkFBaUI7QUFDdkIsSUFBTTNCLGtCQUFrQjtBQUN4QixJQUFNQyxrQkFBa0I7QUFDeEIsSUFBTWxCLGtCQUFrQjtBQUN4QixJQUFNYyxrQkFBa0I7QUFDeEIsSUFBTUMsa0JBQWtCO0FBQ3hCLElBQU1ZLGtCQUFrQjtBQUN4QixJQUFNYyxvQkFBb0I7QUFDMUIsSUFBTWhCLG9CQUFvQjtBQUMxQixJQUFNSyxxQkFBcUI7QUFDM0IsSUFBTWpCLHFCQUFxQjtBQUMzQixJQUFNd0IscUJBQXFCO0FBQzNCLElBQU1kLHNCQUFzQjtBQUM1QixJQUFNQyxzQkFBc0I7QUFDNUIsSUFBTWQsc0JBQXNCO0FBQzVCLElBQU1NLHNCQUFzQjtBQUM1QixJQUFNZSxzQkFBc0I7QUFDNUIsSUFBTUcsc0JBQXNCO0FBQzVCLElBQU1aLHVCQUF1QjtBQUM3QixJQUFNcEIsdUJBQXVCO0FBQzdCLElBQU1FLHVCQUF1QjtBQUM3QixJQUFNQyx1QkFBdUI7QUFDN0IsSUFBTU8sdUJBQXVCO0FBQzdCLElBQU0yQix3QkFBd0I7QUFDOUIsSUFBTWhDLHdCQUF3QjtBQUM5QixJQUFNRSx3QkFBd0I7QUFDOUIsSUFBTVUsd0JBQXdCO0FBQzlCLElBQU1FLHlCQUF5QjtBQUMvQixJQUFNSywyQkFBMkI7QUFDakMsSUFBTVksMkJBQTJCO0FBQ2pDLElBQU1JLDJCQUEyQjtBQUNqQyxJQUFNQyw2QkFBNkI7QUFDbkMsSUFBTWQsOEJBQThCO0FBQ3BDLElBQU1sQiw4QkFBOEI7QUFDcEMsSUFBTWlCLCtCQUErQjtBQUNyQyxJQUFNUSwrQkFBK0I7QUFDckMsSUFBTTVCLGdDQUFnQztBQUN0QyxJQUFNeUIsZ0NBQWdDO0FBQ3RDLElBQU1ZLGlDQUFpQztBQUN2QyxJQUFNNUMsbUNBQW1DO0FBQ3pDLElBQU1LLG9DQUFvQztBQUMxQyxJQUFNSCxxQ0FBcUM7QUFDM0MsSUFBTWlCLHFDQUFxQyJ9
package/lib/typeNames.js CHANGED
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "OBJECT_TYPE_NAME", {
8
8
  return OBJECT_TYPE_NAME;
9
9
  }
10
10
  });
11
- var OBJECT_TYPE_NAME = "Object";
11
+ var _occamcustomgrammars = require("occam-custom-grammars");
12
+ var typePattern = _occamcustomgrammars.defaultCustomGrammar.getTypePattern();
13
+ var OBJECT_TYPE_NAME = typePattern; ///
12
14
 
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBPQkpFQ1RfVFlQRV9OQU1FID0gXCJPYmplY3RcIjtcbiJdLCJuYW1lcyI6WyJPQkpFQ1RfVFlQRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFFYUE7OztlQUFBQTs7O0FBQU4sSUFBTUEsbUJBQW1CIn0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGRlZmF1bHRDdXN0b21HcmFtbWFyIH0gZnJvbSBcIm9jY2FtLWN1c3RvbS1ncmFtbWFyc1wiO1xuXG5jb25zdCB0eXBlUGF0dGVybiA9IGRlZmF1bHRDdXN0b21HcmFtbWFyLmdldFR5cGVQYXR0ZXJuKCk7XG5cbmV4cG9ydCBjb25zdCBPQkpFQ1RfVFlQRV9OQU1FID0gdHlwZVBhdHRlcm47ICAvLy9cbiJdLCJuYW1lcyI6WyJPQkpFQ1RfVFlQRV9OQU1FIiwidHlwZVBhdHRlcm4iLCJkZWZhdWx0Q3VzdG9tR3JhbW1hciIsImdldFR5cGVQYXR0ZXJuIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNYUE7OztlQUFBQTs7O21DQUp3QjtBQUVyQyxJQUFNQyxjQUFjQyx5Q0FBb0IsQ0FBQ0MsY0FBYztBQUVoRCxJQUFNSCxtQkFBbUJDLGFBQWMsR0FBRyJ9
@@ -9,13 +9,20 @@ Object.defineProperty(exports, "setNonTerminalNodes", {
9
9
  }
10
10
  });
11
11
  var _occamparsers = require("occam-parsers");
12
+ var _node = /*#__PURE__*/ _interop_require_default(require("../node"));
13
+ var _nodeMap = /*#__PURE__*/ _interop_require_default(require("../nodeMap"));
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
12
19
  var rulesFromStartRuleAndRuleMap = _occamparsers.rulesUtilities.rulesFromStartRuleAndRuleMap;
13
- function setNonTerminalNodes(parser, nodeMap, DefaultNonTerminalNode) {
14
- var startRule = parser.getStartRule(), ruleMap = parser.getRuleMap(), rules = rulesFromStartRuleAndRuleMap(startRule, ruleMap);
20
+ function setNonTerminalNodes(nominalParser) {
21
+ var startRule = nominalParser.getStartRule(), ruleMap = nominalParser.getRuleMap(), rules = rulesFromStartRuleAndRuleMap(startRule, ruleMap);
15
22
  rules.forEach(function(rule) {
16
- var ruleName = rule.getName(), NonTerminalNode = nodeMap[ruleName] || DefaultNonTerminalNode; ///
23
+ var ruleName = rule.getName(), NonTerminalNode = _nodeMap.default[ruleName] || _node.default; ///
17
24
  rule.setNonTerminalNode(NonTerminalNode);
18
25
  });
19
26
  }
20
27
 
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBydWxlc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5cbmNvbnN0IHsgcnVsZXNGcm9tU3RhcnRSdWxlQW5kUnVsZU1hcCB9ID0gcnVsZXNVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXROb25UZXJtaW5hbE5vZGVzKHBhcnNlciwgbm9kZU1hcCwgRGVmYXVsdE5vblRlcm1pbmFsTm9kZSkge1xuICBjb25zdCBzdGFydFJ1bGUgPSBwYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgIHJ1bGVNYXAgPSBwYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICBydWxlcyA9IHJ1bGVzRnJvbVN0YXJ0UnVsZUFuZFJ1bGVNYXAoc3RhcnRSdWxlLCBydWxlTWFwKTtcblxuICBydWxlcy5mb3JFYWNoKChydWxlKSA9PiB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBydWxlLmdldE5hbWUoKSxcbiAgICAgICAgICBOb25UZXJtaW5hbE5vZGUgPSBub2RlTWFwW3J1bGVOYW1lXSB8fCBEZWZhdWx0Tm9uVGVybWluYWxOb2RlOyAvLy9cblxuICAgIHJ1bGUuc2V0Tm9uVGVybWluYWxOb2RlKE5vblRlcm1pbmFsTm9kZSk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbInNldE5vblRlcm1pbmFsTm9kZXMiLCJydWxlc0Zyb21TdGFydFJ1bGVBbmRSdWxlTWFwIiwicnVsZXNVdGlsaXRpZXMiLCJwYXJzZXIiLCJub2RlTWFwIiwiRGVmYXVsdE5vblRlcm1pbmFsTm9kZSIsInN0YXJ0UnVsZSIsImdldFN0YXJ0UnVsZSIsInJ1bGVNYXAiLCJnZXRSdWxlTWFwIiwicnVsZXMiLCJmb3JFYWNoIiwicnVsZSIsInJ1bGVOYW1lIiwiZ2V0TmFtZSIsIk5vblRlcm1pbmFsTm9kZSIsInNldE5vblRlcm1pbmFsTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTWdCQTs7O2VBQUFBOzs7NEJBSmU7QUFFL0IsSUFBTSxBQUFFQywrQkFBaUNDLDRCQUFjLENBQS9DRDtBQUVELFNBQVNELG9CQUFvQkcsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLHNCQUFzQjtJQUN6RSxJQUFNQyxZQUFZSCxPQUFPSSxZQUFZLElBQy9CQyxVQUFVTCxPQUFPTSxVQUFVLElBQzNCQyxRQUFRVCw2QkFBNkJLLFdBQVdFO0lBRXRERSxNQUFNQyxPQUFPLENBQUMsU0FBQ0M7UUFDYixJQUFNQyxXQUFXRCxLQUFLRSxPQUFPLElBQ3ZCQyxrQkFBa0JYLE9BQU8sQ0FBQ1MsU0FBUyxJQUFJUix3QkFBd0IsR0FBRztRQUV4RU8sS0FBS0ksa0JBQWtCLENBQUNEO0lBQzFCO0FBQ0YifQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBydWxlc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5cbmltcG9ydCBOb2RlIGZyb20gXCIuLi9ub2RlXCI7XG5pbXBvcnQgbm9kZU1hcCBmcm9tIFwiLi4vbm9kZU1hcFwiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbVN0YXJ0UnVsZUFuZFJ1bGVNYXAgfSA9IHJ1bGVzVXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0Tm9uVGVybWluYWxOb2Rlcyhub21pbmFsUGFyc2VyKSB7XG4gIGNvbnN0IHN0YXJ0UnVsZSA9IG5vbWluYWxQYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgIHJ1bGVNYXAgPSBub21pbmFsUGFyc2VyLmdldFJ1bGVNYXAoKSxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21TdGFydFJ1bGVBbmRSdWxlTWFwKHN0YXJ0UnVsZSwgcnVsZU1hcCk7XG5cbiAgcnVsZXMuZm9yRWFjaCgocnVsZSkgPT4ge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gcnVsZS5nZXROYW1lKCksXG4gICAgICAgICAgTm9uVGVybWluYWxOb2RlID0gbm9kZU1hcFtydWxlTmFtZV0gfHwgTm9kZTsgLy8vXG5cbiAgICBydWxlLnNldE5vblRlcm1pbmFsTm9kZShOb25UZXJtaW5hbE5vZGUpO1xuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJzZXROb25UZXJtaW5hbE5vZGVzIiwicnVsZXNGcm9tU3RhcnRSdWxlQW5kUnVsZU1hcCIsInJ1bGVzVXRpbGl0aWVzIiwibm9taW5hbFBhcnNlciIsInN0YXJ0UnVsZSIsImdldFN0YXJ0UnVsZSIsInJ1bGVNYXAiLCJnZXRSdWxlTWFwIiwicnVsZXMiLCJmb3JFYWNoIiwicnVsZSIsInJ1bGVOYW1lIiwiZ2V0TmFtZSIsIk5vblRlcm1pbmFsTm9kZSIsIm5vZGVNYXAiLCJOb2RlIiwic2V0Tm9uVGVybWluYWxOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTZ0JBOzs7ZUFBQUE7Ozs0QkFQZTsyREFFZDs4REFDRzs7Ozs7O0FBRXBCLElBQU0sQUFBRUMsK0JBQWlDQyw0QkFBYyxDQUEvQ0Q7QUFFRCxTQUFTRCxvQkFBb0JHLGFBQWE7SUFDL0MsSUFBTUMsWUFBWUQsY0FBY0UsWUFBWSxJQUN0Q0MsVUFBVUgsY0FBY0ksVUFBVSxJQUNsQ0MsUUFBUVAsNkJBQTZCRyxXQUFXRTtJQUV0REUsTUFBTUMsT0FBTyxDQUFDLFNBQUNDO1FBQ2IsSUFBTUMsV0FBV0QsS0FBS0UsT0FBTyxJQUN2QkMsa0JBQWtCQyxnQkFBTyxDQUFDSCxTQUFTLElBQUlJLGFBQUksRUFBRSxHQUFHO1FBRXRETCxLQUFLTSxrQkFBa0IsQ0FBQ0g7SUFDMUI7QUFDRiJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-verify-cli",
3
3
  "author": "James Smith",
4
- "version": "1.0.170",
4
+ "version": "1.0.172",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -12,7 +12,7 @@
12
12
  "dependencies": {
13
13
  "argumentative": "^2.0.32",
14
14
  "necessary": "^14.3.2",
15
- "occam-custom-grammars": "^5.0.1193",
15
+ "occam-custom-grammars": "^5.0.1195",
16
16
  "occam-entities": "^1.0.355",
17
17
  "occam-file-system": "^6.0.373",
18
18
  "occam-furtle": "^2.0.152",
@@ -7,10 +7,9 @@ import { filePathUtilities } from "occam-entities";
7
7
  import { lexersUtilities, parsersUtilities } from "occam-custom-grammars";
8
8
 
9
9
  import FileContext from "../context/file";
10
- import NominalLexer from "../nominal/lexer";
11
- import NominalParser from "../nominal/parser";
12
10
 
13
11
  import { objectType } from "../dom/type";
12
+ import { setNonTerminalNodes } from "../utilities/parser";
14
13
  import { frameMetaType, referenceMetaType, statementMetaType } from "../dom/metaType";
15
14
  import { customGrammarFromNameAndEntries, combinedCustomGrammarFromReleaseContexts } from "../utilities/customGrammar";
16
15
 
@@ -426,9 +425,12 @@ export default class ReleaseContext {
426
425
 
427
426
  initialise(releaseContexts) {
428
427
  const combinedCustomGrammar = combinedCustomGrammarFromReleaseContexts(releaseContexts),
429
- nominalLexer = nominalLexerFromCombinedCustomGrammar(NominalLexer, combinedCustomGrammar),
430
- nominalParser = nominalParserFromCombinedCustomGrammar(NominalParser, combinedCustomGrammar),
431
- releaseContext = this, ///
428
+ nominalLexer = nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar),
429
+ nominalParser = nominalParserFromCombinedCustomGrammar(combinedCustomGrammar);
430
+
431
+ setNonTerminalNodes(nominalParser);
432
+
433
+ const releaseContext = this, ///
432
434
  released = this.isReleased();
433
435
 
434
436
  this.dependencyReleaseContexts = tail(releaseContexts); ///
package/src/nodeMap.js CHANGED
@@ -35,8 +35,8 @@ import ProcedureCallNode from "./node/procedureCall"
35
35
  import SubDerivationNode from "./node/subDerivation"
36
36
  import TypeAssertionNode from "./node/assertion/type";
37
37
  import typeDeclarationNode from "./node/declaration/type";
38
- import DefinedAssertionNode from "./node/assertion/defined";
39
38
  import PropertyRelationNode from "./node/propertyRelation"
39
+ import DefinedAssertionNode from "./node/assertion/defined";
40
40
  import PropertyAssertionNode from "./node/assertion/property";
41
41
  import SubproofAssertionNode from "./node/assertion/subproof";
42
42
  import ContainedAssertionNode from "./node/assertion/contained";
package/src/ruleNames.js CHANGED
@@ -15,17 +15,17 @@ export const PREMISE_RULE_NAME = "premise";
15
15
  export const PROPERTY_RULE_NAME = "property";
16
16
  export const EQUALITY_RULE_NAME = "equality";
17
17
  export const SUBPROOF_RULE_NAME = "subproof";
18
- export const PARAMETER_RULE_NAME = "parameter";
19
18
  export const META_TYPE_RULE_NAME = "metaType";
19
+ export const PARAMETER_RULE_NAME = "parameter";
20
20
  export const DEDUCTION_RULE_NAME = "deduction";
21
21
  export const JUDGEMENT_RULE_NAME = "judgement";
22
22
  export const REFERENCE_RULE_NAME = "reference";
23
23
  export const STATEMENT_RULE_NAME = "statement";
24
+ export const META_LEMMA_RULE_NAME = "metaLemma";
24
25
  export const COMBINATOR_RULE_NAME = "combinator";
25
26
  export const CONCLUSION_RULE_NAME = "conclusion";
26
27
  export const CONJECTURE_RULE_NAME = "conjecture";
27
28
  export const DERIVATION_RULE_NAME = "derivation";
28
- export const META_LEMMA_RULE_NAME = "metaLemma";
29
29
  export const SUPPOSITION_RULE_NAME = "supposition";
30
30
  export const CONSTRUCTOR_RULE_NAME = "constructor";
31
31
  export const DECLARATION_RULE_NAME = "declaration";
package/src/typeNames.js CHANGED
@@ -1,3 +1,7 @@
1
1
  "use strict";
2
2
 
3
- export const OBJECT_TYPE_NAME = "Object";
3
+ import { defaultCustomGrammar } from "occam-custom-grammars";
4
+
5
+ const typePattern = defaultCustomGrammar.getTypePattern();
6
+
7
+ export const OBJECT_TYPE_NAME = typePattern; ///
@@ -2,16 +2,19 @@
2
2
 
3
3
  import { rulesUtilities } from "occam-parsers";
4
4
 
5
+ import Node from "../node";
6
+ import nodeMap from "../nodeMap";
7
+
5
8
  const { rulesFromStartRuleAndRuleMap } = rulesUtilities;
6
9
 
7
- export function setNonTerminalNodes(parser, nodeMap, DefaultNonTerminalNode) {
8
- const startRule = parser.getStartRule(),
9
- ruleMap = parser.getRuleMap(),
10
+ export function setNonTerminalNodes(nominalParser) {
11
+ const startRule = nominalParser.getStartRule(),
12
+ ruleMap = nominalParser.getRuleMap(),
10
13
  rules = rulesFromStartRuleAndRuleMap(startRule, ruleMap);
11
14
 
12
15
  rules.forEach((rule) => {
13
16
  const ruleName = rule.getName(),
14
- NonTerminalNode = nodeMap[ruleName] || DefaultNonTerminalNode; ///
17
+ NonTerminalNode = nodeMap[ruleName] || Node; ///
15
18
 
16
19
  rule.setNonTerminalNode(NonTerminalNode);
17
20
  });
@@ -1,114 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return NominalLexer;
9
- }
10
- });
11
- var _occamgrammars = require("occam-grammars");
12
- function _assert_this_initialized(self) {
13
- if (self === void 0) {
14
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
15
- }
16
- return self;
17
- }
18
- function _call_super(_this, derived, args) {
19
- derived = _get_prototype_of(derived);
20
- return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
21
- }
22
- function _class_call_check(instance, Constructor) {
23
- if (!(instance instanceof Constructor)) {
24
- throw new TypeError("Cannot call a class as a function");
25
- }
26
- }
27
- function _defineProperties(target, props) {
28
- for(var i = 0; i < props.length; i++){
29
- var descriptor = props[i];
30
- descriptor.enumerable = descriptor.enumerable || false;
31
- descriptor.configurable = true;
32
- if ("value" in descriptor) descriptor.writable = true;
33
- Object.defineProperty(target, descriptor.key, descriptor);
34
- }
35
- }
36
- function _create_class(Constructor, protoProps, staticProps) {
37
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
38
- if (staticProps) _defineProperties(Constructor, staticProps);
39
- return Constructor;
40
- }
41
- function _get_prototype_of(o) {
42
- _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
43
- return o.__proto__ || Object.getPrototypeOf(o);
44
- };
45
- return _get_prototype_of(o);
46
- }
47
- function _inherits(subClass, superClass) {
48
- if (typeof superClass !== "function" && superClass !== null) {
49
- throw new TypeError("Super expression must either be null or a function");
50
- }
51
- subClass.prototype = Object.create(superClass && superClass.prototype, {
52
- constructor: {
53
- value: subClass,
54
- writable: true,
55
- configurable: true
56
- }
57
- });
58
- if (superClass) _set_prototype_of(subClass, superClass);
59
- }
60
- function _possible_constructor_return(self, call) {
61
- if (call && (_type_of(call) === "object" || typeof call === "function")) {
62
- return call;
63
- }
64
- return _assert_this_initialized(self);
65
- }
66
- function _set_prototype_of(o, p) {
67
- _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
68
- o.__proto__ = p;
69
- return o;
70
- };
71
- return _set_prototype_of(o, p);
72
- }
73
- function _type_of(obj) {
74
- "@swc/helpers - typeof";
75
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
76
- }
77
- function _is_native_reflect_construct() {
78
- try {
79
- var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
80
- } catch (_) {}
81
- return (_is_native_reflect_construct = function() {
82
- return !!result;
83
- })();
84
- }
85
- var NominalLexer = /*#__PURE__*/ function(NominalLexerBase) {
86
- _inherits(NominalLexer, NominalLexerBase);
87
- function NominalLexer() {
88
- _class_call_check(this, NominalLexer);
89
- return _call_super(this, NominalLexer, arguments);
90
- }
91
- _create_class(NominalLexer, null, [
92
- {
93
- key: "fromRules",
94
- value: function fromRules(rules) {
95
- return _occamgrammars.NominalLexer.fromRules(NominalLexer, rules);
96
- }
97
- },
98
- {
99
- key: "fromEntries",
100
- value: function fromEntries(entries) {
101
- return _occamgrammars.NominalLexer.fromEntries(NominalLexer, entries);
102
- }
103
- },
104
- {
105
- key: "fromNothing",
106
- value: function fromNothing() {
107
- return _occamgrammars.NominalLexer.fromNothing(NominalLexer);
108
- }
109
- }
110
- ]);
111
- return NominalLexer;
112
- }(_occamgrammars.NominalLexer);
113
-
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL2xleGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOb21pbmFsTGV4ZXIgYXMgTm9taW5hbExleGVyQmFzZSB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOb21pbmFsTGV4ZXIgZXh0ZW5kcyBOb21pbmFsTGV4ZXJCYXNlIHtcbiAgc3RhdGljIGZyb21SdWxlcyhydWxlcykgeyByZXR1cm4gTm9taW5hbExleGVyQmFzZS5mcm9tUnVsZXMoTm9taW5hbExleGVyLCBydWxlcyk7IH1cblxuICBzdGF0aWMgZnJvbUVudHJpZXMoZW50cmllcykgeyByZXR1cm4gTm9taW5hbExleGVyQmFzZS5mcm9tRW50cmllcyhOb21pbmFsTGV4ZXIsIGVudHJpZXMpOyB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkgeyByZXR1cm4gTm9taW5hbExleGVyQmFzZS5mcm9tTm90aGluZyhOb21pbmFsTGV4ZXIpOyB9XG59XG4iXSwibmFtZXMiOlsiTm9taW5hbExleGVyIiwiZnJvbVJ1bGVzIiwicnVsZXMiLCJOb21pbmFsTGV4ZXJCYXNlIiwiZnJvbUVudHJpZXMiLCJlbnRyaWVzIiwiZnJvbU5vdGhpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7OzZCQUY0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEMsSUFBQSxBQUFNQSw2QkFBTjtjQUFNQTthQUFBQTtnQ0FBQUE7UUFBTixPQUFBLGtCQUFNQTs7a0JBQUFBOztZQUNaQyxLQUFBQTttQkFBUCxTQUFPQSxVQUFVQyxLQUFLO2dCQUFJLE9BQU9DLDJCQUFnQixDQUFDRixTQUFTLENBRHhDRCxjQUN1REU7WUFBUTs7O1lBRTNFRSxLQUFBQTttQkFBUCxTQUFPQSxZQUFZQyxPQUFPO2dCQUFJLE9BQU9GLDJCQUFnQixDQUFDQyxXQUFXLENBSDlDSixjQUc2REs7WUFBVTs7O1lBRW5GQyxLQUFBQTttQkFBUCxTQUFPQTtnQkFBZ0IsT0FBT0gsMkJBQWdCLENBQUNHLFdBQVcsQ0FMdkNOO1lBS3VEOzs7V0FMdkRBO0VBQXFCRywyQkFBZ0IifQ==
@@ -1,128 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return NominalParser;
9
- }
10
- });
11
- var _occamgrammars = require("occam-grammars");
12
- var _node = /*#__PURE__*/ _interop_require_default(require("../node"));
13
- var _nodeMap = /*#__PURE__*/ _interop_require_default(require("../nodeMap"));
14
- var _parser = require("../utilities/parser");
15
- function _assert_this_initialized(self) {
16
- if (self === void 0) {
17
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
18
- }
19
- return self;
20
- }
21
- function _call_super(_this, derived, args) {
22
- derived = _get_prototype_of(derived);
23
- return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
24
- }
25
- function _class_call_check(instance, Constructor) {
26
- if (!(instance instanceof Constructor)) {
27
- throw new TypeError("Cannot call a class as a function");
28
- }
29
- }
30
- function _defineProperties(target, props) {
31
- for(var i = 0; i < props.length; i++){
32
- var descriptor = props[i];
33
- descriptor.enumerable = descriptor.enumerable || false;
34
- descriptor.configurable = true;
35
- if ("value" in descriptor) descriptor.writable = true;
36
- Object.defineProperty(target, descriptor.key, descriptor);
37
- }
38
- }
39
- function _create_class(Constructor, protoProps, staticProps) {
40
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
41
- if (staticProps) _defineProperties(Constructor, staticProps);
42
- return Constructor;
43
- }
44
- function _get_prototype_of(o) {
45
- _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
46
- return o.__proto__ || Object.getPrototypeOf(o);
47
- };
48
- return _get_prototype_of(o);
49
- }
50
- function _inherits(subClass, superClass) {
51
- if (typeof superClass !== "function" && superClass !== null) {
52
- throw new TypeError("Super expression must either be null or a function");
53
- }
54
- subClass.prototype = Object.create(superClass && superClass.prototype, {
55
- constructor: {
56
- value: subClass,
57
- writable: true,
58
- configurable: true
59
- }
60
- });
61
- if (superClass) _set_prototype_of(subClass, superClass);
62
- }
63
- function _interop_require_default(obj) {
64
- return obj && obj.__esModule ? obj : {
65
- default: obj
66
- };
67
- }
68
- function _possible_constructor_return(self, call) {
69
- if (call && (_type_of(call) === "object" || typeof call === "function")) {
70
- return call;
71
- }
72
- return _assert_this_initialized(self);
73
- }
74
- function _set_prototype_of(o, p) {
75
- _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
76
- o.__proto__ = p;
77
- return o;
78
- };
79
- return _set_prototype_of(o, p);
80
- }
81
- function _type_of(obj) {
82
- "@swc/helpers - typeof";
83
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
84
- }
85
- function _is_native_reflect_construct() {
86
- try {
87
- var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
88
- } catch (_) {}
89
- return (_is_native_reflect_construct = function() {
90
- return !!result;
91
- })();
92
- }
93
- var NominalParser = /*#__PURE__*/ function(NominalParserBase) {
94
- _inherits(NominalParser, NominalParserBase);
95
- function NominalParser() {
96
- _class_call_check(this, NominalParser);
97
- return _call_super(this, NominalParser, arguments);
98
- }
99
- _create_class(NominalParser, null, [
100
- {
101
- key: "fromBNF",
102
- value: function fromBNF(bnf) {
103
- var markdownParser = _occamgrammars.NominalParser.fromBNF(NominalParser, bnf), DefaultNonTerminalNode = _node.default; ///
104
- (0, _parser.setNonTerminalNodes)(markdownParser, _nodeMap.default, DefaultNonTerminalNode);
105
- return markdownParser;
106
- }
107
- },
108
- {
109
- key: "fromRules",
110
- value: function fromRules(rules) {
111
- var markdownParser = _occamgrammars.NominalParser.fromRules(NominalParser, rules), DefaultNonTerminalNode = _node.default; ///
112
- (0, _parser.setNonTerminalNodes)(markdownParser, _nodeMap.default, DefaultNonTerminalNode);
113
- return markdownParser;
114
- }
115
- },
116
- {
117
- key: "fromNothing",
118
- value: function fromNothing() {
119
- var markdownParser = _occamgrammars.NominalParser.fromNothing(NominalParser), DefaultNonTerminalNode = _node.default; ///
120
- (0, _parser.setNonTerminalNodes)(markdownParser, _nodeMap.default, DefaultNonTerminalNode);
121
- return markdownParser;
122
- }
123
- }
124
- ]);
125
- return NominalParser;
126
- }(_occamgrammars.NominalParser);
127
-
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL3BhcnNlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9taW5hbFBhcnNlciBhcyBOb21pbmFsUGFyc2VyQmFzZSB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgTm9kZSBmcm9tIFwiLi4vbm9kZVwiO1xuaW1wb3J0IG5vZGVNYXAgZnJvbSBcIi4uL25vZGVNYXBcIjtcblxuaW1wb3J0IHsgc2V0Tm9uVGVybWluYWxOb2RlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGFyc2VyXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5vbWluYWxQYXJzZXIgZXh0ZW5kcyBOb21pbmFsUGFyc2VyQmFzZSB7XG4gIHN0YXRpYyBmcm9tQk5GKGJuZikge1xuICAgIGNvbnN0IG1hcmtkb3duUGFyc2VyID0gTm9taW5hbFBhcnNlckJhc2UuZnJvbUJORihOb21pbmFsUGFyc2VyLCBibmYpLFxuICAgICAgICAgIERlZmF1bHROb25UZXJtaW5hbE5vZGUgPSBOb2RlOyAgLy8vXG5cbiAgICBzZXROb25UZXJtaW5hbE5vZGVzKG1hcmtkb3duUGFyc2VyLCBub2RlTWFwLCBEZWZhdWx0Tm9uVGVybWluYWxOb2RlKTtcblxuICAgIHJldHVybiBtYXJrZG93blBhcnNlcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZXMocnVsZXMpIHtcbiAgICBjb25zdCBtYXJrZG93blBhcnNlciA9IE5vbWluYWxQYXJzZXJCYXNlLmZyb21SdWxlcyhOb21pbmFsUGFyc2VyLCBydWxlcyksXG4gICAgICAgICAgRGVmYXVsdE5vblRlcm1pbmFsTm9kZSA9IE5vZGU7ICAvLy9cblxuICAgIHNldE5vblRlcm1pbmFsTm9kZXMobWFya2Rvd25QYXJzZXIsIG5vZGVNYXAsIERlZmF1bHROb25UZXJtaW5hbE5vZGUpO1xuXG4gICAgcmV0dXJuIG1hcmtkb3duUGFyc2VyO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IG1hcmtkb3duUGFyc2VyID0gTm9taW5hbFBhcnNlckJhc2UuZnJvbU5vdGhpbmcoTm9taW5hbFBhcnNlciksXG4gICAgICAgICAgRGVmYXVsdE5vblRlcm1pbmFsTm9kZSA9IE5vZGU7ICAvLy9cblxuICAgIHNldE5vblRlcm1pbmFsTm9kZXMobWFya2Rvd25QYXJzZXIsIG5vZGVNYXAsIERlZmF1bHROb25UZXJtaW5hbE5vZGUpO1xuXG4gICAgcmV0dXJuIG1hcmtkb3duUGFyc2VyO1xuICB9XG59XG4iXSwibmFtZXMiOlsiTm9taW5hbFBhcnNlciIsImZyb21CTkYiLCJibmYiLCJtYXJrZG93blBhcnNlciIsIk5vbWluYWxQYXJzZXJCYXNlIiwiRGVmYXVsdE5vblRlcm1pbmFsTm9kZSIsIk5vZGUiLCJzZXROb25UZXJtaW5hbE5vZGVzIiwibm9kZU1hcCIsImZyb21SdWxlcyIsInJ1bGVzIiwiZnJvbU5vdGhpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBU3FCQTs7OzZCQVA4QjsyREFFbEM7OERBQ0c7c0JBRWdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJCLElBQUEsQUFBTUEsOEJBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO1FBQU4sT0FBQSxrQkFBTUE7O2tCQUFBQTs7WUFDWkMsS0FBQUE7bUJBQVAsU0FBT0EsUUFBUUMsR0FBRztnQkFDaEIsSUFBTUMsaUJBQWlCQyw0QkFBaUIsQ0FBQ0gsT0FBTyxDQUYvQkQsZUFFK0NFLE1BQzFERyx5QkFBeUJDLGFBQUksRUFBRyxHQUFHO2dCQUV6Q0MsSUFBQUEsMkJBQW1CLEVBQUNKLGdCQUFnQkssZ0JBQU8sRUFBRUg7Z0JBRTdDLE9BQU9GO1lBQ1Q7OztZQUVPTSxLQUFBQTttQkFBUCxTQUFPQSxVQUFVQyxLQUFLO2dCQUNwQixJQUFNUCxpQkFBaUJDLDRCQUFpQixDQUFDSyxTQUFTLENBWGpDVCxlQVdpRFUsUUFDNURMLHlCQUF5QkMsYUFBSSxFQUFHLEdBQUc7Z0JBRXpDQyxJQUFBQSwyQkFBbUIsRUFBQ0osZ0JBQWdCSyxnQkFBTyxFQUFFSDtnQkFFN0MsT0FBT0Y7WUFDVDs7O1lBRU9RLEtBQUFBO21CQUFQLFNBQU9BO2dCQUNMLElBQU1SLGlCQUFpQkMsNEJBQWlCLENBQUNPLFdBQVcsQ0FwQm5DWCxnQkFxQlhLLHlCQUF5QkMsYUFBSSxFQUFHLEdBQUc7Z0JBRXpDQyxJQUFBQSwyQkFBbUIsRUFBQ0osZ0JBQWdCSyxnQkFBTyxFQUFFSDtnQkFFN0MsT0FBT0Y7WUFDVDs7O1dBMUJtQkg7RUFBc0JJLDRCQUFpQiJ9
@@ -1,11 +0,0 @@
1
- "use strict";
2
-
3
- import { NominalLexer as NominalLexerBase } from "occam-grammars";
4
-
5
- export default class NominalLexer extends NominalLexerBase {
6
- static fromRules(rules) { return NominalLexerBase.fromRules(NominalLexer, rules); }
7
-
8
- static fromEntries(entries) { return NominalLexerBase.fromEntries(NominalLexer, entries); }
9
-
10
- static fromNothing() { return NominalLexerBase.fromNothing(NominalLexer); }
11
- }
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- import { NominalParser as NominalParserBase } from "occam-grammars";
4
-
5
- import Node from "../node";
6
- import nodeMap from "../nodeMap";
7
-
8
- import { setNonTerminalNodes } from "../utilities/parser";
9
-
10
- export default class NominalParser extends NominalParserBase {
11
- static fromBNF(bnf) {
12
- const markdownParser = NominalParserBase.fromBNF(NominalParser, bnf),
13
- DefaultNonTerminalNode = Node; ///
14
-
15
- setNonTerminalNodes(markdownParser, nodeMap, DefaultNonTerminalNode);
16
-
17
- return markdownParser;
18
- }
19
-
20
- static fromRules(rules) {
21
- const markdownParser = NominalParserBase.fromRules(NominalParser, rules),
22
- DefaultNonTerminalNode = Node; ///
23
-
24
- setNonTerminalNodes(markdownParser, nodeMap, DefaultNonTerminalNode);
25
-
26
- return markdownParser;
27
- }
28
-
29
- static fromNothing() {
30
- const markdownParser = NominalParserBase.fromNothing(NominalParser),
31
- DefaultNonTerminalNode = Node; ///
32
-
33
- setNonTerminalNodes(markdownParser, nodeMap, DefaultNonTerminalNode);
34
-
35
- return markdownParser;
36
- }
37
- }