occam-verify-cli 0.0.543 → 0.0.545

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.
@@ -72,36 +72,35 @@ function createReleaseContext(dependency, dependentNames, context, callback) {
72
72
  createDependencyReleaseContexts(dependency, dependentNames, context, callback);
73
73
  }, context);
74
74
  }
75
- function initialiseReleaseContext(dependency, dependentName, verified, context, callback) {
75
+ function initialiseReleaseContext(dependency, dependentName, dependentReleased, context, callback) {
76
76
  var done = function done() {
77
77
  var dependencyReleaseContexts = retrieveDependencyReleaseContexts(dependency, context);
78
78
  releaseContext.initialise(dependencyReleaseContexts);
79
79
  callback(error);
80
80
  };
81
81
  var error = null;
82
- var releaseContextMap = context.releaseContextMap, dependencyName = dependency.getName(), releaseName = dependencyName, releaseContext = releaseContextMap[releaseName] || null;
82
+ var releaseContextMap = context.releaseContextMap, name = dependency.getName(), releaseName = name, releaseContext = releaseContextMap[releaseName] || null;
83
83
  if (releaseContext === null) {
84
84
  callback(error);
85
85
  return;
86
86
  }
87
- var initialised = releaseContext.isInitialised();
87
+ var released = releaseContext.isReleased(), initialised = releaseContext.isInitialised();
88
88
  if (initialised) {
89
89
  callback(error);
90
90
  return;
91
91
  }
92
- var releaseContextVerified = releaseContext.isVerified();
93
- if (verified) {
94
- if (!releaseContextVerified) {
95
- error = "Unable to initialise the '".concat(releaseName, "' dependency's context because its '").concat(dependentName, "' dependent is a package.");
92
+ if (!released) {
93
+ if (dependentReleased) {
94
+ error = "Unable to initialise the '".concat(name, "' dependency's context because its '").concat(dependentName, "' dependent is a package.");
96
95
  callback(error);
97
96
  return;
98
97
  }
99
98
  }
100
- dependentName = releaseName; ///
101
- verified = releaseContextVerified; ///
99
+ dependentName = name; ///
100
+ dependentReleased = released; ///
102
101
  var dependencies = releaseContext.getDependencies();
103
102
  dependencies.asynchronousForEachDependency(function(dependency, next, done) {
104
- initialiseReleaseContext(dependency, dependentName, verified, context, function(error) {
103
+ initialiseReleaseContext(dependency, dependentName, dependentReleased, context, function(error) {
105
104
  if (error) {
106
105
  callback(error);
107
106
  return;
@@ -179,4 +178,4 @@ function retrieveDependencyReleaseContexts(dependency, context) {
179
178
  return dependencyReleaseContexts;
180
179
  }
181
180
 
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVsZWFzZUNvbnRleHQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxhc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgY2FsbGJhY2spIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dE1hcCB9ID0gY29udGV4dCxcbiAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZU5hbWUgPSBkZXBlbmRlbmN5TmFtZSwgLy8vXG4gICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbcmVsZWFzZU5hbWVdIHx8IG51bGw7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgY29uc3QgZXJyb3IgPSBjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeShkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IH0gPSBjb250ZXh0O1xuXG4gIHJlbGVhc2VDb250ZXh0RnJvbURlcGVuZGVuY3koZGVwZW5kZW5jeSwgY29udGV4dCwgKGVycm9yLCByZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHJlbGVhc2VDb250ZXh0ID09PSBudWxsKSB7XG4gICAgICBjb25zdCBlcnJvciA9IGBUaGUgJyR7cmVsZWFzZU5hbWV9JyBwYWNrYWdlIGNvdWxkIG5vdCBiZSBjcmVhdGVkLmA7XG5cbiAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVycm9yID0gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3koZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIHJlbGVhc2VDb250ZXh0KTtcblxuICAgIGlmIChlcnJvcikge1xuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmVsZWFzZUNvbnRleHRNYXBbcmVsZWFzZU5hbWVdID0gcmVsZWFzZUNvbnRleHQ7XG5cbiAgICBjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCBjYWxsYmFjayk7XG4gIH0sIGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWUsIHZlcmlmaWVkLCBjb250ZXh0LCBjYWxsYmFjaykge1xuICBsZXQgZXJyb3IgPSBudWxsO1xuXG4gIGNvbnN0IHsgcmVsZWFzZUNvbnRleHRNYXAgfSA9IGNvbnRleHQsXG4gICAgICAgIGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgIHJlbGVhc2VOYW1lID0gZGVwZW5kZW5jeU5hbWUsIC8vL1xuICAgICAgICByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW3JlbGVhc2VOYW1lXSB8fCBudWxsO1xuXG4gIGlmIChyZWxlYXNlQ29udGV4dCA9PT0gbnVsbCkge1xuICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGluaXRpYWxpc2VkID0gcmVsZWFzZUNvbnRleHQuaXNJbml0aWFsaXNlZCgpO1xuXG4gIGlmIChpbml0aWFsaXNlZCkge1xuICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHJlbGVhc2VDb250ZXh0VmVyaWZpZWQgPSByZWxlYXNlQ29udGV4dC5pc1ZlcmlmaWVkKCk7XG5cbiAgaWYgKHZlcmlmaWVkKSB7XG4gICAgaWYgKCFyZWxlYXNlQ29udGV4dFZlcmlmaWVkKSB7XG4gICAgICBlcnJvciA9IGBVbmFibGUgdG8gaW5pdGlhbGlzZSB0aGUgJyR7cmVsZWFzZU5hbWV9JyBkZXBlbmRlbmN5J3MgY29udGV4dCBiZWNhdXNlIGl0cyAnJHtkZXBlbmRlbnROYW1lfScgZGVwZW5kZW50IGlzIGEgcGFja2FnZS5gO1xuXG4gICAgICBjYWxsYmFjayhlcnJvcik7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBkZXBlbmRlbnROYW1lID0gcmVsZWFzZU5hbWU7ICAvLy9cblxuICB2ZXJpZmllZCA9IHJlbGVhc2VDb250ZXh0VmVyaWZpZWQ7ICAvLy9cblxuICBjb25zdCBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKTtcblxuICBkZXBlbmRlbmNpZXMuYXN5bmNocm9ub3VzRm9yRWFjaERlcGVuZGVuY3koKGRlcGVuZGVuY3ksIG5leHQsIGRvbmUpID0+IHtcbiAgICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZSwgdmVyaWZpZWQsIGNvbnRleHQsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgZG9uZSk7XG5cbiAgZnVuY3Rpb24gZG9uZSgpIHtcbiAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gcmV0cmlldmVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY3ksIGNvbnRleHQpO1xuXG4gICAgcmVsZWFzZUNvbnRleHQuaW5pdGlhbGlzZShkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKTtcblxuICAgIGNhbGxiYWNrKGVycm9yKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNyZWF0ZVJlbGVhc2VDb250ZXh0LFxuICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRcbn07XG5cbmZ1bmN0aW9uIGNoZWNrQ3ljbGljRGVwZW5kZW5jeUV4aXN0cyhkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcykge1xuICBsZXQgZXJyb3IgPSBudWxsO1xuXG4gIGNvbnN0IGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgIGRlcGVuZGVudE5hbWVzSW5jbHVkZXNEZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVudE5hbWVzLmluY2x1ZGVzKGRlcGVuZGVuY3lOYW1lKSxcbiAgICAgICAgY3ljbGljRGVwZW5kZW5jeUV4aXN0cyA9IGRlcGVuZGVudE5hbWVzSW5jbHVkZXNEZXBlbmRlbmN5TmFtZTsgIC8vL1xuXG4gIGlmIChjeWNsaWNEZXBlbmRlbmN5RXhpc3RzKSB7XG4gICAgY29uc3QgZmlyc3REZXBlbmRlbnROYW1lID0gZmlyc3QoZGVwZW5kZW50TmFtZXMpLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lcyA9IFsgIC8vL1xuICAgICAgICAgICAgLi4uZGVwZW5kZW50TmFtZXMsXG4gICAgICAgICAgICBmaXJzdERlcGVuZGVudE5hbWVcbiAgICAgICAgICBdLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lc1N0cmluZyA9IGRlcGVuZGVuY3lOYW1lcy5qb2luKGAnIC0+ICdgKTtcblxuICAgIGVycm9yID1gVGhlcmUgaXMgYSBjeWNsaWMgZGVwZW5kZW5jeTogJyR7ZGVwZW5kZW5jeU5hbWVzU3RyaW5nfScuYDtcbiAgfVxuXG4gIHJldHVybiBlcnJvcjtcbn1cblxuZnVuY3Rpb24gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3koZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIHJlbGVhc2VDb250ZXh0KSB7XG4gIGxldCBlcnJvciA9IG51bGw7XG5cbiAgY29uc3QgZW50cmllcyA9IHJlbGVhc2VDb250ZXh0LmdldEVudHJpZXMoKSxcbiAgICAgICAgc2hvcnRlbmVkVmVyc2lvbiA9IGRlcGVuZGVuY3kuZ2V0U2hvcnRlZFZlcnNpb24oKTtcblxuICBpZiAoc2hvcnRlbmVkVmVyc2lvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGVudHJpZXNNYXRjaFNob3J0ZW5lZFZlcnNpb24gPSBlbnRyaWVzLm1hdGNoU2hvcnRlbmVkVmVyc2lvbihzaG9ydGVuZWRWZXJzaW9uKTtcblxuICAgIGlmICghZW50cmllc01hdGNoU2hvcnRlbmVkVmVyc2lvbikge1xuICAgICAgY29uc3QgdmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0LmdldFZlcnNpb24oKSxcbiAgICAgICAgICAgIHZlcnNpb25TdHJpbmcgPSB2ZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBsYXN0RGVwZW5kZW50TmFtZSA9IGxhc3QoZGVwZW5kZW50TmFtZXMpLFxuICAgICAgICAgICAgZGVwZW5kZW50TmFtZSA9IGxhc3REZXBlbmRlbnROYW1lLCAgLy8vXG4gICAgICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgc2hvcnRlbmVkVmVyc2lvbiA9IGRlcGVuZGVuY3kuZ2V0U2hvcnRlZFZlcnNpb24oKSxcbiAgICAgICAgICAgIHNob3J0ZW5lZFZlcnNpb25TdHJpbmcgPSBzaG9ydGVuZWRWZXJzaW9uLnRvU3RyaW5nKCk7XG5cbiAgICAgIGVycm9yID0gYFZlcnNpb24gbWlzbWF0Y2g6ICcke2RlcGVuZGVudE5hbWV9JyByZXF1aXJlcyAnJHtkZXBlbmRlbmN5TmFtZX0nIHRvIGJlIHZlcnNpb24gJHtzaG9ydGVuZWRWZXJzaW9uU3RyaW5nfS4wIG9yIGhpZ2hlciBidXQgdmVyc2lvbiAke3ZlcnNpb25TdHJpbmd9IGhhcyBiZWVuIHN1cHBsaWVkLmA7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVycm9yO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCBjYWxsYmFjaykge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0TWFwIH0gPSBjb250ZXh0LFxuICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0sXG4gICAgICAgIGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpO1xuXG4gIGRlcGVuZGVudE5hbWVzID0gWyAuLi5kZXBlbmRlbnROYW1lcywgZGVwZW5kZW5jeU5hbWUgXTsgIC8vL1xuXG4gIGRlcGVuZGVuY2llcy5hc3luY2hyb25vdXNGb3JFYWNoRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNvbnN0IGVycm9yID0gY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzKTtcblxuICAgIGlmIChlcnJvcikge1xuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY3JlYXRlUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgZG9uZSk7XG5cbiAgZnVuY3Rpb24gZG9uZSgpIHtcbiAgICBjb25zdCBlcnJvciA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhlcnJvcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmV0cmlldmVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY3ksIGNvbnRleHQsIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSBbXSkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0TWFwIH0gPSBjb250ZXh0LFxuICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0sXG4gICAgICAgIGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpO1xuXG4gIGRlcGVuZGVuY2llcy5mb3JFYWNoRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSkgPT4ge1xuICAgIGNvbnN0IGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgICAgcmVsZWFzZU5hbWUgPSBkZXBlbmRlbmN5TmFtZSwgLy8vXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0gfHwgbnVsbDtcblxuICAgIGlmIChyZWxlYXNlQ29udGV4dCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0ID0gZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5pbmNsdWRlcyhyZWxlYXNlQ29udGV4dCk7XG5cbiAgICBpZiAoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXRyaWV2ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoZGVwZW5kZW5jeSwgY29udGV4dCwgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyk7XG5cbiAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLnB1c2gocmVsZWFzZUNvbnRleHQpO1xuICB9KTtcblxuICByZXR1cm4gZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cztcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVSZWxlYXNlQ29udGV4dCIsImluaXRpYWxpc2VSZWxlYXNlQ29udGV4dCIsImRlcGVuZGVuY3kiLCJkZXBlbmRlbnROYW1lcyIsImNvbnRleHQiLCJjYWxsYmFjayIsInJlbGVhc2VDb250ZXh0TWFwIiwiZGVwZW5kZW5jeU5hbWUiLCJnZXROYW1lIiwicmVsZWFzZU5hbWUiLCJyZWxlYXNlQ29udGV4dCIsImVycm9yIiwiY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kiLCJyZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IiwiY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsImRlcGVuZGVudE5hbWUiLCJ2ZXJpZmllZCIsImRvbmUiLCJkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwicmV0cmlldmVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwiaW5pdGlhbGlzZSIsImluaXRpYWxpc2VkIiwiaXNJbml0aWFsaXNlZCIsInJlbGVhc2VDb250ZXh0VmVyaWZpZWQiLCJpc1ZlcmlmaWVkIiwiZGVwZW5kZW5jaWVzIiwiZ2V0RGVwZW5kZW5jaWVzIiwiYXN5bmNocm9ub3VzRm9yRWFjaERlcGVuZGVuY3kiLCJuZXh0IiwiY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzIiwiZGVwZW5kZW50TmFtZXNJbmNsdWRlc0RlcGVuZGVuY3lOYW1lIiwiaW5jbHVkZXMiLCJjeWNsaWNEZXBlbmRlbmN5RXhpc3RzIiwiZmlyc3REZXBlbmRlbnROYW1lIiwiZmlyc3QiLCJkZXBlbmRlbmN5TmFtZXMiLCJkZXBlbmRlbmN5TmFtZXNTdHJpbmciLCJqb2luIiwiZW50cmllcyIsImdldEVudHJpZXMiLCJzaG9ydGVuZWRWZXJzaW9uIiwiZ2V0U2hvcnRlZFZlcnNpb24iLCJlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwibWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwidmVyc2lvbiIsImdldFZlcnNpb24iLCJ2ZXJzaW9uU3RyaW5nIiwidG9TdHJpbmciLCJsYXN0RGVwZW5kZW50TmFtZSIsImxhc3QiLCJzaG9ydGVuZWRWZXJzaW9uU3RyaW5nIiwiZm9yRWFjaERlcGVuZGVuY3kiLCJkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzSW5jbHVkZXNSZWxlYXNlQ29udGV4dCIsInB1c2giXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQUlnQkEsb0JBQW9CO2VBQXBCQTs7SUE2Q0FDLHdCQUF3QjtlQUF4QkE7O0lBNkRoQixPQUdFO2VBSEY7OztxQkE1R3FCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVkLFNBQVNELHFCQUFxQkUsVUFBVSxFQUFFQyxjQUFjLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFO0lBQ2xGLElBQU0sQUFBRUMsb0JBQXNCRixRQUF0QkUsbUJBQ0ZDLGlCQUFpQkwsV0FBV00sT0FBTyxJQUNuQ0MsY0FBY0YsZ0JBQ2RHLGlCQUFpQkosaUJBQWlCLENBQUNHLFlBQVksSUFBSSxJQUFJO0lBRTdELElBQUlDLG1CQUFtQixJQUFJLEVBQUU7UUFDM0IsSUFBTUMsUUFBUUMsOEJBQThCVixZQUFZQyxnQkFBZ0JPO1FBRXhFTCxTQUFTTTtRQUVUO0lBQ0YsQ0FBQztJQUVELElBQU0sQUFBRUUsK0JBQWlDVCxRQUFqQ1M7SUFFUkEsNkJBQTZCWCxZQUFZRSxTQUFTLFNBQUNPLE9BQU9ELGdCQUFtQjtRQUMzRSxJQUFJQyxPQUFPO1lBQ1ROLFNBQVNNO1lBRVQ7UUFDRixDQUFDO1FBRUQsSUFBSUQsbUJBQW1CLElBQUksRUFBRTtZQUMzQixJQUFNQyxVQUFRLEFBQUMsUUFBbUIsT0FBWkYsYUFBWTtZQUVsQ0osU0FBU007WUFFVDtRQUNGLENBQUM7UUFFREEsUUFB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
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVsZWFzZUNvbnRleHQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxhc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgY2FsbGJhY2spIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dE1hcCB9ID0gY29udGV4dCxcbiAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZU5hbWUgPSBkZXBlbmRlbmN5TmFtZSwgLy8vXG4gICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRNYXBbcmVsZWFzZU5hbWVdIHx8IG51bGw7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgY29uc3QgZXJyb3IgPSBjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeShkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IH0gPSBjb250ZXh0O1xuXG4gIHJlbGVhc2VDb250ZXh0RnJvbURlcGVuZGVuY3koZGVwZW5kZW5jeSwgY29udGV4dCwgKGVycm9yLCByZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHJlbGVhc2VDb250ZXh0ID09PSBudWxsKSB7XG4gICAgICBjb25zdCBlcnJvciA9IGBUaGUgJyR7cmVsZWFzZU5hbWV9JyBwYWNrYWdlIGNvdWxkIG5vdCBiZSBjcmVhdGVkLmA7XG5cbiAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVycm9yID0gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3koZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIHJlbGVhc2VDb250ZXh0KTtcblxuICAgIGlmIChlcnJvcikge1xuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmVsZWFzZUNvbnRleHRNYXBbcmVsZWFzZU5hbWVdID0gcmVsZWFzZUNvbnRleHQ7XG5cbiAgICBjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCBjYWxsYmFjayk7XG4gIH0sIGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWUsIGRlcGVuZGVudFJlbGVhc2VkLCBjb250ZXh0LCBjYWxsYmFjaykge1xuICBsZXQgZXJyb3IgPSBudWxsO1xuXG4gIGNvbnN0IHsgcmVsZWFzZUNvbnRleHRNYXAgfSA9IGNvbnRleHQsXG4gICAgICAgIG5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZU5hbWUgPSBuYW1lLCAvLy9cbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0gfHwgbnVsbDtcblxuICBpZiAocmVsZWFzZUNvbnRleHQgPT09IG51bGwpIHtcbiAgICBjYWxsYmFjayhlcnJvcik7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCByZWxlYXNlZCA9IHJlbGVhc2VDb250ZXh0LmlzUmVsZWFzZWQoKSxcbiAgICAgICAgaW5pdGlhbGlzZWQgPSByZWxlYXNlQ29udGV4dC5pc0luaXRpYWxpc2VkKCk7XG5cbiAgaWYgKGluaXRpYWxpc2VkKSB7XG4gICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKCFyZWxlYXNlZCkge1xuICAgIGlmIChkZXBlbmRlbnRSZWxlYXNlZCkge1xuICAgICAgZXJyb3IgPSBgVW5hYmxlIHRvIGluaXRpYWxpc2UgdGhlICcke25hbWV9JyBkZXBlbmRlbmN5J3MgY29udGV4dCBiZWNhdXNlIGl0cyAnJHtkZXBlbmRlbnROYW1lfScgZGVwZW5kZW50IGlzIGEgcGFja2FnZS5gO1xuXG4gICAgICBjYWxsYmFjayhlcnJvcik7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBkZXBlbmRlbnROYW1lID0gbmFtZTsgIC8vL1xuXG4gIGRlcGVuZGVudFJlbGVhc2VkID0gcmVsZWFzZWQ7ICAvLy9cblxuICBjb25zdCBkZXBlbmRlbmNpZXMgPSByZWxlYXNlQ29udGV4dC5nZXREZXBlbmRlbmNpZXMoKTtcblxuICBkZXBlbmRlbmNpZXMuYXN5bmNocm9ub3VzRm9yRWFjaERlcGVuZGVuY3koKGRlcGVuZGVuY3ksIG5leHQsIGRvbmUpID0+IHtcbiAgICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZSwgZGVwZW5kZW50UmVsZWFzZWQsIGNvbnRleHQsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgZG9uZSk7XG5cbiAgZnVuY3Rpb24gZG9uZSgpIHtcbiAgICBjb25zdCBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzID0gcmV0cmlldmVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY3ksIGNvbnRleHQpO1xuXG4gICAgcmVsZWFzZUNvbnRleHQuaW5pdGlhbGlzZShkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKTtcblxuICAgIGNhbGxiYWNrKGVycm9yKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGNyZWF0ZVJlbGVhc2VDb250ZXh0LFxuICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRcbn07XG5cbmZ1bmN0aW9uIGNoZWNrQ3ljbGljRGVwZW5kZW5jeUV4aXN0cyhkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcykge1xuICBsZXQgZXJyb3IgPSBudWxsO1xuXG4gIGNvbnN0IGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgIGRlcGVuZGVudE5hbWVzSW5jbHVkZXNEZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVudE5hbWVzLmluY2x1ZGVzKGRlcGVuZGVuY3lOYW1lKSxcbiAgICAgICAgY3ljbGljRGVwZW5kZW5jeUV4aXN0cyA9IGRlcGVuZGVudE5hbWVzSW5jbHVkZXNEZXBlbmRlbmN5TmFtZTsgIC8vL1xuXG4gIGlmIChjeWNsaWNEZXBlbmRlbmN5RXhpc3RzKSB7XG4gICAgY29uc3QgZmlyc3REZXBlbmRlbnROYW1lID0gZmlyc3QoZGVwZW5kZW50TmFtZXMpLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lcyA9IFsgIC8vL1xuICAgICAgICAgICAgLi4uZGVwZW5kZW50TmFtZXMsXG4gICAgICAgICAgICBmaXJzdERlcGVuZGVudE5hbWVcbiAgICAgICAgICBdLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lc1N0cmluZyA9IGRlcGVuZGVuY3lOYW1lcy5qb2luKGAnIC0+ICdgKTtcblxuICAgIGVycm9yID1gVGhlcmUgaXMgYSBjeWNsaWMgZGVwZW5kZW5jeTogJyR7ZGVwZW5kZW5jeU5hbWVzU3RyaW5nfScuYDtcbiAgfVxuXG4gIHJldHVybiBlcnJvcjtcbn1cblxuZnVuY3Rpb24gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3koZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIHJlbGVhc2VDb250ZXh0KSB7XG4gIGxldCBlcnJvciA9IG51bGw7XG5cbiAgY29uc3QgZW50cmllcyA9IHJlbGVhc2VDb250ZXh0LmdldEVudHJpZXMoKSxcbiAgICAgICAgc2hvcnRlbmVkVmVyc2lvbiA9IGRlcGVuZGVuY3kuZ2V0U2hvcnRlZFZlcnNpb24oKTtcblxuICBpZiAoc2hvcnRlbmVkVmVyc2lvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGVudHJpZXNNYXRjaFNob3J0ZW5lZFZlcnNpb24gPSBlbnRyaWVzLm1hdGNoU2hvcnRlbmVkVmVyc2lvbihzaG9ydGVuZWRWZXJzaW9uKTtcblxuICAgIGlmICghZW50cmllc01hdGNoU2hvcnRlbmVkVmVyc2lvbikge1xuICAgICAgY29uc3QgdmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0LmdldFZlcnNpb24oKSxcbiAgICAgICAgICAgIHZlcnNpb25TdHJpbmcgPSB2ZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBsYXN0RGVwZW5kZW50TmFtZSA9IGxhc3QoZGVwZW5kZW50TmFtZXMpLFxuICAgICAgICAgICAgZGVwZW5kZW50TmFtZSA9IGxhc3REZXBlbmRlbnROYW1lLCAgLy8vXG4gICAgICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgc2hvcnRlbmVkVmVyc2lvbiA9IGRlcGVuZGVuY3kuZ2V0U2hvcnRlZFZlcnNpb24oKSxcbiAgICAgICAgICAgIHNob3J0ZW5lZFZlcnNpb25TdHJpbmcgPSBzaG9ydGVuZWRWZXJzaW9uLnRvU3RyaW5nKCk7XG5cbiAgICAgIGVycm9yID0gYFZlcnNpb24gbWlzbWF0Y2g6ICcke2RlcGVuZGVudE5hbWV9JyByZXF1aXJlcyAnJHtkZXBlbmRlbmN5TmFtZX0nIHRvIGJlIHZlcnNpb24gJHtzaG9ydGVuZWRWZXJzaW9uU3RyaW5nfS4wIG9yIGhpZ2hlciBidXQgdmVyc2lvbiAke3ZlcnNpb25TdHJpbmd9IGhhcyBiZWVuIHN1cHBsaWVkLmA7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVycm9yO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCBjYWxsYmFjaykge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0TWFwIH0gPSBjb250ZXh0LFxuICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0sXG4gICAgICAgIGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpO1xuXG4gIGRlcGVuZGVudE5hbWVzID0gWyAuLi5kZXBlbmRlbnROYW1lcywgZGVwZW5kZW5jeU5hbWUgXTsgIC8vL1xuXG4gIGRlcGVuZGVuY2llcy5hc3luY2hyb25vdXNGb3JFYWNoRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNvbnN0IGVycm9yID0gY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzKTtcblxuICAgIGlmIChlcnJvcikge1xuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY3JlYXRlUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgZG9uZSk7XG5cbiAgZnVuY3Rpb24gZG9uZSgpIHtcbiAgICBjb25zdCBlcnJvciA9IG51bGw7XG5cbiAgICBjYWxsYmFjayhlcnJvcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmV0cmlldmVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY3ksIGNvbnRleHQsIGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMgPSBbXSkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0TWFwIH0gPSBjb250ZXh0LFxuICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0sXG4gICAgICAgIGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpO1xuXG4gIGRlcGVuZGVuY2llcy5mb3JFYWNoRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSkgPT4ge1xuICAgIGNvbnN0IGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgICAgcmVsZWFzZU5hbWUgPSBkZXBlbmRlbmN5TmFtZSwgLy8vXG4gICAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0gfHwgbnVsbDtcblxuICAgIGlmIChyZWxlYXNlQ29udGV4dCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0ID0gZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cy5pbmNsdWRlcyhyZWxlYXNlQ29udGV4dCk7XG5cbiAgICBpZiAoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXRyaWV2ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMoZGVwZW5kZW5jeSwgY29udGV4dCwgZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyk7XG5cbiAgICBkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzLnB1c2gocmVsZWFzZUNvbnRleHQpO1xuICB9KTtcblxuICByZXR1cm4gZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cztcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVSZWxlYXNlQ29udGV4dCIsImluaXRpYWxpc2VSZWxlYXNlQ29udGV4dCIsImRlcGVuZGVuY3kiLCJkZXBlbmRlbnROYW1lcyIsImNvbnRleHQiLCJjYWxsYmFjayIsInJlbGVhc2VDb250ZXh0TWFwIiwiZGVwZW5kZW5jeU5hbWUiLCJnZXROYW1lIiwicmVsZWFzZU5hbWUiLCJyZWxlYXNlQ29udGV4dCIsImVycm9yIiwiY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kiLCJyZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IiwiY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsImRlcGVuZGVudE5hbWUiLCJkZXBlbmRlbnRSZWxlYXNlZCIsImRvbmUiLCJkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwicmV0cmlldmVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwiaW5pdGlhbGlzZSIsIm5hbWUiLCJyZWxlYXNlZCIsImlzUmVsZWFzZWQiLCJpbml0aWFsaXNlZCIsImlzSW5pdGlhbGlzZWQiLCJkZXBlbmRlbmNpZXMiLCJnZXREZXBlbmRlbmNpZXMiLCJhc3luY2hyb25vdXNGb3JFYWNoRGVwZW5kZW5jeSIsIm5leHQiLCJjaGVja0N5Y2xpY0RlcGVuZGVuY3lFeGlzdHMiLCJkZXBlbmRlbnROYW1lc0luY2x1ZGVzRGVwZW5kZW5jeU5hbWUiLCJpbmNsdWRlcyIsImN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMiLCJmaXJzdERlcGVuZGVudE5hbWUiLCJmaXJzdCIsImRlcGVuZGVuY3lOYW1lcyIsImRlcGVuZGVuY3lOYW1lc1N0cmluZyIsImpvaW4iLCJlbnRyaWVzIiwiZ2V0RW50cmllcyIsInNob3J0ZW5lZFZlcnNpb24iLCJnZXRTaG9ydGVkVmVyc2lvbiIsImVudHJpZXNNYXRjaFNob3J0ZW5lZFZlcnNpb24iLCJtYXRjaFNob3J0ZW5lZFZlcnNpb24iLCJ2ZXJzaW9uIiwiZ2V0VmVyc2lvbiIsInZlcnNpb25TdHJpbmciLCJ0b1N0cmluZyIsImxhc3REZXBlbmRlbnROYW1lIiwibGFzdCIsInNob3J0ZW5lZFZlcnNpb25TdHJpbmciLCJmb3JFYWNoRGVwZW5kZW5jeSIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0IiwicHVzaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBSWdCQSxvQkFBb0I7ZUFBcEJBOztJQTZDQUMsd0JBQXdCO2VBQXhCQTs7SUE0RGhCLE9BR0U7ZUFIRjs7O3FCQTNHcUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWQsU0FBU0QscUJBQXFCRSxVQUFVLEVBQUVDLGNBQWMsRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUU7SUFDbEYsSUFBTSxBQUFFQyxvQkFBc0JGLFFBQXRCRSxtQkFDRkMsaUJBQWlCTCxXQUFXTSxPQUFPLElBQ25DQyxjQUFjRixnQkFDZEcsaUJBQWlCSixpQkFBaUIsQ0FBQ0csWUFBWSxJQUFJLElBQUk7SUFFN0QsSUFBSUMsbUJBQW1CLElBQUksRUFBRTtRQUMzQixJQUFNQyxRQUFRQyw4QkFBOEJWLFlBQVlDLGdCQUFnQk87UUFFeEVMLFNBQVNNO1FBRVQ7SUFDRixDQUFDO0lBRUQsSUFBTSxBQUFFRSwrQkFBaUNULFFBQWpDUztJQUVSQSw2QkFBNkJYLFlBQVlFLFNBQVMsU0FBQ08sT0FBT0QsZ0JBQW1CO1FBQzNFLElBQUlDLE9BQU87WUFDVE4sU0FBU007WUFFVDtRQUNGLENBQUM7UUFFRCxJQUFJRCxtQkFBbUIsSUFBSSxFQUFFO1lBQzNCLElBQU1DLFVBQVEsQUFBQyxRQUFtQixPQUFaRixhQUFZO1lBRWxDSixTQUFTTTtZQUVUO1FBQ0YsQ0FBQztRQUVEQSxRQUFRQyw4QkFBOEJWLFlBQVlDLGdCQUFnQk87UUFFbEUsSUFBSUMsT0FB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
package/lib/variable.js CHANGED
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _type = /*#__PURE__*/ _interopRequireDefault(require("./type"));
12
- var _kinds = require("./kinds");
13
12
  function _classCallCheck(instance, Constructor) {
14
13
  if (!(instance instanceof Constructor)) {
15
14
  throw new TypeError("Cannot call a class as a function");
@@ -70,8 +69,7 @@ var Variable = /*#__PURE__*/ function() {
70
69
  {
71
70
  key: "toJSON",
72
71
  value: function toJSON(tokens) {
73
- var typeJSON = this.type.toJSON(tokens), kind = _kinds.VARIABLE_KIND, name = this.name, type = typeJSON, json = {
74
- kind: kind,
72
+ var typeJSON = this.type.toJSON(tokens), name = this.name, type = typeJSON, json = {
75
73
  name: name,
76
74
  type: type
77
75
  };
@@ -103,4 +101,4 @@ var Variable = /*#__PURE__*/ function() {
103
101
  return Variable;
104
102
  }();
105
103
 
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92YXJpYWJsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4vdHlwZVwiO1xuXG5pbXBvcnQgeyBWQVJJQUJMRV9LSU5EIH0gZnJvbSBcIi4va2luZHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmFyaWFibGUge1xuICBjb25zdHJ1Y3RvcihuYW1lLCB0eXBlKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgbWF0Y2hOYW1lKG5hbWUpIHtcbiAgICBjb25zdCBtYXRjaGVzTmFtZSA9ICh0aGlzLm5hbWUgPT09IG5hbWUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNOYW1lO1xuICB9XG5cbiAgYXNTdHJpbmcodG9rZW5zKSB7XG4gICAgY29uc3QgdHlwZU5hbWUgPSB0aGlzLnR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgIHN0cmluZyA9IGAke3RoaXMubmFtZX06JHt0eXBlTmFtZX1gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHRvSlNPTih0b2tlbnMpIHtcbiAgICBjb25zdCB0eXBlSlNPTiA9IHRoaXMudHlwZS50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICBraW5kID0gVkFSSUFCTEVfS0lORCxcbiAgICAgICAgICBuYW1lID0gdGhpcy5uYW1lLCAvLy9cbiAgICAgICAgICB0eXBlID0gdHlwZUpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAga2luZCxcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21OYW1lQW5kVHlwZShuYW1lLCB0eXBlKSB7XG4gICAgY29uc3QgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUobmFtZSwgdHlwZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgbmFtZSB9ID0ganNvbjtcblxuICAgIGxldCB7IHR5cGUgfSA9IGpzb247XG5cbiAgICBqc29uID0gdHlwZTsgIC8vL1xuXG4gICAgdHlwZSA9IFR5cGUuZnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCk7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgdHlwZSA9IGZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZSh0eXBlTmFtZSk7IC8vL1xuXG4gICAgY29uc3QgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUobmFtZSwgdHlwZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiVmFyaWFibGUiLCJuYW1lIiwidHlwZSIsImdldE5hbWUiLCJnZXRUeXBlIiwibWF0Y2hOYW1lIiwibWF0Y2hlc05hbWUiLCJhc1N0cmluZyIsInRva2VucyIsInR5cGVOYW1lIiwic3RyaW5nIiwidG9KU09OIiwidHlwZUpTT04iLCJraW5kIiwiVkFSSUFCTEVfS0lORCIsImpzb24iLCJmcm9tTmFtZUFuZFR5cGUiLCJ2YXJpYWJsZSIsImZyb21KU09OQW5kRmlsZUNvbnRleHQiLCJmaWxlQ29udGV4dCIsIlR5cGUiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBTXFCQTs7O3lEQUpKO3FCQUVhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWYsSUFBQSxBQUFNQSx5QkFBTjthQUFNQSxTQUNQQyxJQUFJLEVBQUVDLElBQUk7OEJBREhGO1FBRWpCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTs7aUJBSEtGOztZQU1uQkcsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVU7Z0JBQ1IsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVTtnQkFDUixPQUFPLElBQUksQ0FBQ0YsSUFBSTtZQUNsQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVSixJQUFJLEVBQUU7Z0JBQ2QsSUFBTUssY0FBZSxJQUFJLENBQUNMLElBQUksS0FBS0E7Z0JBRW5DLE9BQU9LO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsU0FBU0MsTUFBTSxFQUFFO2dCQUNmLElBQU1DLFdBQVcsSUFBSSxDQUFDUCxJQUFJLENBQUNDLE9BQU8sSUFDNUJPLFNBQVMsQUFBQyxHQUFlRCxPQUFiLElBQUksQ0FBQ1IsSUFBSSxFQUFDLEtBQVksT0FBVFE7Z0JBRS9CLE9BQU9DO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0gsTUFBTSxFQUFFO2dCQUNiLElBQU1JLFdBQVcsSUFBSSxDQUFDVixJQUFJLENBQUNTLE1BQU0sQ0FBQ0gsU0FDNUJLLE9BQU9DLG9CQUFhLEVBQ3BCYixPQUFPLElBQUksQ0FBQ0EsSUFBSSxFQUNoQkMsT0FBT1UsVUFDUEcsT0FBTztvQkFDTEYsTUFBQUE7b0JBQ0FaLE1BQUFBO29CQUNBQyxNQUFBQTtnQkFDRjtnQkFFTixPQUFPYTtZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLGdCQUFnQmYsSUFBSSxFQUFFQyxJQUFJLEVBQUU7Z0JBQ2pDLElBQU1lLFdBQVcsSUExQ0FqQixTQTBDYUMsTUFBTUM7Z0JBRXBDLE9BQU9lO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSx1QkFBdUJILElBQUksRUFBRUksV0FBVyxFQUFFO2dCQUMvQyxJQUFNLEFBQUVsQixPQUFTYyxLQUFUZDtnQkFFUixJQUFJLEFBQUVDLE9BQVNhLEtBQVRiO2dCQUVOYSxPQUFPYixNQUFPLEdBQUc7Z0JBRWpCQSxPQUFPa0IsYUFBSSxDQUFDRixzQkFBc0IsQ0FBQ0gsTUFBTUk7Z0JBRXpDLElBQU1WLFdBQVdQLEtBQUtDLE9BQU87Z0JBRTdCRCxPQUFPaUIsWUFBWUUsa0JBQWtCLENBQUNaLFdBQVcsR0FBRztnQkFFcEQsSUFBTVEsV0FBVyxJQTVEQWpCLFNBNERhQyxNQUFNQztnQkFFcEMsT0FBT2U7WUFDVDs7O1dBL0RtQmpCIn0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92YXJpYWJsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4vdHlwZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWYXJpYWJsZSB7XG4gIGNvbnN0cnVjdG9yKG5hbWUsIHR5cGUpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBtYXRjaE5hbWUobmFtZSkge1xuICAgIGNvbnN0IG1hdGNoZXNOYW1lID0gKHRoaXMubmFtZSA9PT0gbmFtZSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlc05hbWU7XG4gIH1cblxuICBhc1N0cmluZyh0b2tlbnMpIHtcbiAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgc3RyaW5nID0gYCR7dGhpcy5uYW1lfToke3R5cGVOYW1lfWA7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgdG9KU09OKHRva2Vucykge1xuICAgIGNvbnN0IHR5cGVKU09OID0gdGhpcy50eXBlLnRvSlNPTih0b2tlbnMpLFxuICAgICAgICAgIG5hbWUgPSB0aGlzLm5hbWUsIC8vL1xuICAgICAgICAgIHR5cGUgPSB0eXBlSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTmFtZUFuZFR5cGUobmFtZSwgdHlwZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKG5hbWUsIHR5cGUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IG5hbWUgfSA9IGpzb247XG5cbiAgICBsZXQgeyB0eXBlIH0gPSBqc29uO1xuXG4gICAganNvbiA9IHR5cGU7ICAvLy9cblxuICAgIHR5cGUgPSBUeXBlLmZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpO1xuXG4gICAgY29uc3QgdHlwZU5hbWUgPSB0eXBlLmdldE5hbWUoKTtcblxuICAgIHR5cGUgPSBmaWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpOyAvLy9cblxuICAgIGNvbnN0IHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKG5hbWUsIHR5cGUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIlZhcmlhYmxlIiwibmFtZSIsInR5cGUiLCJnZXROYW1lIiwiZ2V0VHlwZSIsIm1hdGNoTmFtZSIsIm1hdGNoZXNOYW1lIiwiYXNTdHJpbmciLCJ0b2tlbnMiLCJ0eXBlTmFtZSIsInN0cmluZyIsInRvSlNPTiIsInR5cGVKU09OIiwianNvbiIsImZyb21OYW1lQW5kVHlwZSIsInZhcmlhYmxlIiwiZnJvbUpTT05BbmRGaWxlQ29udGV4dCIsImZpbGVDb250ZXh0IiwiVHlwZSIsImZpbmRUeXBlQnlUeXBlTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFJcUJBOzs7eURBRko7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFRixJQUFBLEFBQU1BLHlCQUFOO2FBQU1BLFNBQ1BDLElBQUksRUFBRUMsSUFBSTs4QkFESEY7UUFFakIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxJQUFJLEdBQUdBOztpQkFIS0Y7O1lBTW5CRyxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVTtnQkFDUixPQUFPLElBQUksQ0FBQ0YsSUFBSTtZQUNsQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVO2dCQUNSLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVVKLElBQUksRUFBRTtnQkFDZCxJQUFNSyxjQUFlLElBQUksQ0FBQ0wsSUFBSSxLQUFLQTtnQkFFbkMsT0FBT0s7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxNQUFNLEVBQUU7Z0JBQ2YsSUFBTUMsV0FBVyxJQUFJLENBQUNQLElBQUksQ0FBQ0MsT0FBTyxJQUM1Qk8sU0FBUyxBQUFDLEdBQWVELE9BQWIsSUFBSSxDQUFDUixJQUFJLEVBQUMsS0FBWSxPQUFUUTtnQkFFL0IsT0FBT0M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPSCxNQUFNLEVBQUU7Z0JBQ2IsSUFBTUksV0FBVyxJQUFJLENBQUNWLElBQUksQ0FBQ1MsTUFBTSxDQUFDSCxTQUM1QlAsT0FBTyxJQUFJLENBQUNBLElBQUksRUFDaEJDLE9BQU9VLFVBQ1BDLE9BQU87b0JBQ0xaLE1BQUFBO29CQUNBQyxNQUFBQTtnQkFDRjtnQkFFTixPQUFPVztZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLGdCQUFnQmIsSUFBSSxFQUFFQyxJQUFJLEVBQUU7Z0JBQ2pDLElBQU1hLFdBQVcsSUF4Q0FmLFNBd0NhQyxNQUFNQztnQkFFcEMsT0FBT2E7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLHVCQUF1QkgsSUFBSSxFQUFFSSxXQUFXLEVBQUU7Z0JBQy9DLElBQU0sQUFBRWhCLE9BQVNZLEtBQVRaO2dCQUVSLElBQUksQUFBRUMsT0FBU1csS0FBVFg7Z0JBRU5XLE9BQU9YLE1BQU8sR0FBRztnQkFFakJBLE9BQU9nQixhQUFJLENBQUNGLHNCQUFzQixDQUFDSCxNQUFNSTtnQkFFekMsSUFBTVIsV0FBV1AsS0FBS0MsT0FBTztnQkFFN0JELE9BQU9lLFlBQVlFLGtCQUFrQixDQUFDVixXQUFXLEdBQUc7Z0JBRXBELElBQU1NLFdBQVcsSUExREFmLFNBMERhQyxNQUFNQztnQkFFcEMsT0FBT2E7WUFDVDs7O1dBN0RtQmYifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-verify-cli",
3
3
  "author": "James Smith",
4
- "version": "0.0.543",
4
+ "version": "0.0.545",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
package/src/axiom.js CHANGED
@@ -2,11 +2,7 @@
2
2
 
3
3
  import AxiomLemmaTheoremConjecture from "./axiomLemmaTheoremConjecture";
4
4
 
5
- import { AXIOM_KIND } from "./kinds";
6
-
7
5
  export default class Axiom extends AxiomLemmaTheoremConjecture {
8
- static kind = AXIOM_KIND;
9
-
10
6
  static fromJSONAndFileContext(json, fileContexct) { return AxiomLemmaTheoremConjecture.fromJSONAndFileContext(Axiom, json, fileContexct); }
11
7
 
12
8
  static fromLabelsSuppositionsConsequenceAndProofContext(labels, suppositions, consequence, proofContext) { return AxiomLemmaTheoremConjecture.fromLabelsSuppositionsConsequenceAndProofContext(Axiom, labels, suppositions, consequence, proofContext); }
@@ -79,8 +79,7 @@ export default class AxiomLemmaTheoremConjecture {
79
79
  }
80
80
 
81
81
  toJSON(tokens) {
82
- const { kind } = this.constructor,
83
- labelsJSON = this.labels.map((label) => {
82
+ const labelsJSON = this.labels.map((label) => {
84
83
  const labelJSON = label.toJSON(tokens);
85
84
 
86
85
  return labelJSON;
@@ -95,7 +94,6 @@ export default class AxiomLemmaTheoremConjecture {
95
94
  suppositions = suppositionsJSON, ///
96
95
  consequence = consequenceJSON, ///
97
96
  json = {
98
- kind,
99
97
  labels,
100
98
  suppositions,
101
99
  consequence
package/src/combinator.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  import { nodeAsString } from "./utilities/string";
4
- import { COMBINATOR_KIND } from "./kinds";
5
4
  import { statementNodeFromStatementString } from "./utilities/node";
6
5
 
7
6
  export default class Combinator {
@@ -25,10 +24,8 @@ export default class Combinator {
25
24
 
26
25
  toJSON(tokens) {
27
26
  const statementString = nodeAsString(this.statementNode, tokens),
28
- kind = COMBINATOR_KIND,
29
27
  statement = statementString, ///
30
28
  json = {
31
- kind,
32
29
  statement
33
30
  };
34
31
 
package/src/conjecture.js CHANGED
@@ -2,11 +2,7 @@
2
2
 
3
3
  import AxiomLemmaTheoremConjecture from "./axiomLemmaTheoremConjecture";
4
4
 
5
- import { CONJECTURE_KIND } from "./kinds";
6
-
7
5
  export default class Conjecture extends AxiomLemmaTheoremConjecture {
8
- static kind = CONJECTURE_KIND;
9
-
10
6
  static fromJSONAndFileContext(json, fileContext) { return AxiomLemmaTheoremConjecture.fromJSONAndFileContext(Conjecture, json, fileContext); }
11
7
 
12
8
  static fromLabelsSuppositionsConsequenceAndProofContext(labels, suppositions, consequence, proofContext) { return AxiomLemmaTheoremConjecture.fromLabelsSuppositionsConsequenceAndProofContext(Conjecture, labels, suppositions, consequence, proofContext); }
@@ -3,7 +3,6 @@
3
3
  import Type from "./type";
4
4
 
5
5
  import { nodeAsString } from "./utilities/string";
6
- import { CONSTRUCTOR_KIND } from "./kinds";
7
6
  import { termNodeFromTermString } from "./utilities/node";
8
7
 
9
8
  export default class Constructor {
@@ -42,11 +41,9 @@ export default class Constructor {
42
41
  typeJSON = (this.type === null) ?
43
42
  null :
44
43
  this.type.toJSON(tokens),
45
- kind = CONSTRUCTOR_KIND,
46
44
  term = termString, ///
47
45
  type = typeJSON, ///
48
46
  json = {
49
- kind,
50
47
  term,
51
48
  type
52
49
  };
@@ -16,16 +16,6 @@ import Metavariable from "../metavariable";
16
16
  import { push, filter } from "../utilities/array";
17
17
  import { statementMetaType } from "../metaType";
18
18
  import { nodeAsString, nodesAsString } from "../utilities/string";
19
- import { TYPE_KIND,
20
- RULE_KIND,
21
- AXIOM_KIND,
22
- LEMMA_KIND,
23
- THEOREM_KIND,
24
- VARIABLE_KIND,
25
- CONJECTURE_KIND,
26
- COMBINATOR_KIND,
27
- CONSTRUCTOR_KIND,
28
- METAVARIABLE_KIND } from "../kinds";
29
19
 
30
20
  const metaTypes = [
31
21
  statementMetaType
@@ -65,6 +55,10 @@ export default class FileContext {
65
55
  return this.node;
66
56
  }
67
57
 
58
+ getLexer() { return this.releaseContext.getLexer(); }
59
+
60
+ getParser() { return this.releaseContext.getParser(); }
61
+
68
62
  getProofSteps() {
69
63
  const proofSteps = []; ///
70
64
 
@@ -502,159 +496,185 @@ export default class FileContext {
502
496
  fatal(message, node) { this.releaseContext.fatal(message, node, this.tokens, this.filePath); }
503
497
 
504
498
  toJSON() {
505
- const json = [];
499
+ const filePath = this.filePath,
500
+ types = this.types.map((type) => {
501
+ const typeJSON = type.toJSON(this.tokens);
506
502
 
507
- this.types.forEach((type) => {
508
- const typeJSON = type.toJSON(this.tokens);
503
+ type = typeJSON; ///
509
504
 
510
- json.push(typeJSON);
511
- });
505
+ return type;
506
+ }),
507
+ rules = this.rules.map((rule) => {
508
+ const ruleJSON = rule.toJSON(this.tokens);
512
509
 
513
- this.rules.forEach((rule) => {
514
- const ruleJSON = rule.toJSON(this.tokens);
510
+ rule = ruleJSON; ///
515
511
 
516
- json.push(ruleJSON);
517
- });
512
+ return rule;
513
+ }),
514
+ axioms = this.axioms.map((axiom) => {
515
+ const axiomJSON = axiom.toJSON(this.tokens);
518
516
 
519
- this.axioms.forEach((axiom) => {
520
- const axiomJSON = axiom.toJSON(this.tokens);
517
+ axiom = axiomJSON; ///
521
518
 
522
- json.push(axiomJSON);
523
- });
519
+ return axiom;
520
+ }),
521
+ lemmas = this.lemmas.map((lemma) => {
522
+ const lemmaJSON = lemma.toJSON(this.tokens);
524
523
 
525
- this.lemmas.forEach((lemma) => {
526
- const lemmaJSON = lemma.toJSON(this.tokens);
524
+ lemma = lemmaJSON; ///
527
525
 
528
- json.push(lemmaJSON);
529
- });
526
+ return lemma;
527
+ }),
528
+ theorems = this.theorems.map((theorem) => {
529
+ const theoremJSON = theorem.toJSON(this.tokens);
530
530
 
531
- this.theorems.forEach((theorem) => {
532
- const theoremJSON = theorem.toJSON(this.tokens);
531
+ theorem = theoremJSON; ///
533
532
 
534
- json.push(theoremJSON);
535
- });
533
+ return theorem;
534
+ }),
535
+ variables = this.variables.map((variable) => {
536
+ const variableJSON = variable.toJSON(this.tokens);
536
537
 
537
- this.variables.forEach((variable) => {
538
- const variableJSON = variable.toJSON(this.tokens);
538
+ variable = variableJSON; ///
539
539
 
540
- json.push(variableJSON)
541
- });
540
+ return variable;
541
+ }),
542
+ conjectures = this.conjectures.map((conjecture) => {
543
+ const conjectureJSON = conjecture.toJSON(this.tokens);
542
544
 
543
- this.conjectures.forEach((conjecture) => {
544
- const conjectureJSON = conjecture.toJSON(this.tokens);
545
+ conjecture = conjectureJSON; ///
545
546
 
546
- json.push(conjectureJSON);
547
- });
547
+ return conjecture;
548
+ }),
549
+ combinators = this.combinators.map((combinator) => {
550
+ const combinatorJSON = combinator.toJSON(this.tokens);
548
551
 
549
- this.combinators.forEach((combinator) => {
550
- const combinatorJSON = combinator.toJSON(this.tokens);
552
+ combinator = combinatorJSON; ///
551
553
 
552
- json.push(combinatorJSON);
553
- });
554
+ return combinator;
555
+ }),
556
+ constructors = this.constructors.map((constructor) => {
557
+ const constructorJSON = constructor.toJSON(this.tokens);
554
558
 
555
- this.constructors.forEach((constructor) => {
556
- const constructorJSON = constructor.toJSON(this.tokens);
559
+ constructor = constructorJSON; ///
557
560
 
558
- json.push(constructorJSON)
559
- });
561
+ return constructor;
562
+ }),
563
+ metavariables = this.metavariables.map((metavariable) => {
564
+ const metavariableJSON = metavariable.toJSON(this.tokens);
560
565
 
561
- this.metavariables.forEach((metavariable) => {
562
- const metavariableJSON = metavariable.toJSON(this.tokens);
566
+ metavariable = metavariableJSON; ///
563
567
 
564
- json.push(metavariableJSON)
565
- });
568
+ return metavariable;
569
+ }),
570
+ json = {
571
+ filePath,
572
+ types,
573
+ rules,
574
+ axioms,
575
+ lemmas,
576
+ theorems,
577
+ variables,
578
+ conjectures,
579
+ combinators,
580
+ constructors,
581
+ metavariables
582
+ };
566
583
 
567
584
  return json;
568
585
  }
569
586
 
570
587
  initialise(json) {
571
- const jsonArray = json, ///
572
- fileContext = this; ///
573
-
574
- jsonArray.forEach((json) => {
575
- const { kind } = json;
576
-
577
- switch (kind) {
578
- case TYPE_KIND: {
579
- const type = Type.fromJSONAndFileContext(json, fileContext);
580
-
581
- this.types.push(type);
582
-
583
- break;
584
- }
585
-
586
- case RULE_KIND: {
587
- const rule = Rule.fromJSONAndFileContext(json, fileContext);
588
-
589
- this.rules.push(rule);
590
-
591
- break;
592
- }
593
-
594
- case AXIOM_KIND: {
595
- const axiom = Axiom.fromJSONAndFileContext(json, fileContext);
596
-
597
- this.axioms.push(axiom);
598
-
599
- break;
600
- }
601
-
602
- case LEMMA_KIND: {
603
- const lemma = Lemma.fromJSONAndFileContext(json, fileContext);
604
-
605
- this.lemmas.push(lemma);
606
-
607
- break;
608
- }
588
+ const fileContext = this, ///
589
+ { types,
590
+ rules,
591
+ axioms,
592
+ lemmas,
593
+ theorems,
594
+ variables,
595
+ conjectures,
596
+ combinators,
597
+ constructors,
598
+ metavariables } = json,
599
+ typesJSON = types,
600
+ rulesJSON = rules,
601
+ axiomsJSON = axioms,
602
+ lemmasJSON = lemmas,
603
+ theoremsJSON = theorems,
604
+ variablesJSON = variables,
605
+ conjecturesJSON = conjectures,
606
+ combinatorsJSON = combinators,
607
+ constructorsJSON = constructors,
608
+ metavariablesJSON = metavariables;
609
+
610
+ typesJSON.forEach((typeJSON) => {
611
+ const json = typeJSON, ///
612
+ type = Type.fromJSONAndFileContext(json, fileContext);
613
+
614
+ this.types.push(type);
615
+ });
609
616
 
610
- case THEOREM_KIND: {
611
- const theorem = Theorem.fromJSONAndFileContext(json, fileContext);
617
+ rulesJSON.forEach((ruleJSON) => {
618
+ const json = ruleJSON, ///
619
+ rule = Rule.fromJSONAndFileContext(json, fileContext);
612
620
 
613
- this.theorems.push(theorem);
621
+ this.rules.push(rule);
622
+ });
614
623
 
615
- break;
616
- }
624
+ axiomsJSON.forEach((axiomJSON) => {
625
+ const json = axiomJSON, ///
626
+ axiom = Axiom.fromJSONAndFileContext(json, fileContext);
617
627
 
618
- case VARIABLE_KIND: {
619
- const variable = Variable.fromJSONAndFileContext(json, fileContext);
628
+ this.axioms.push(axiom);
629
+ });
620
630
 
621
- this.variables.push(variable);
631
+ lemmasJSON.forEach((lemmaJSON) => {
632
+ const json = lemmaJSON, ///
633
+ lemma = Lemma.fromJSONAndFileContext(json, fileContext);
622
634
 
623
- break;
624
- }
635
+ this.lemmas.push(lemma);
636
+ });
625
637
 
626
- case CONJECTURE_KIND: {
627
- const conjecture = Conjecture.fromJSONAndFileContext(json, fileContext);
638
+ theoremsJSON.forEach((theoremJSON) => {
639
+ const json = theoremJSON, ///
640
+ theorem = Theorem.fromJSONAndFileContext(json, fileContext);
628
641
 
629
- this.conjectures.push(conjecture);
642
+ this.theorems.push(theorem);
643
+ });
630
644
 
631
- break;
632
- }
645
+ variablesJSON.forEach((variableJSON) => {
646
+ const json = variableJSON, ///
647
+ variable = Variable.fromJSONAndFileContext(json, fileContext);
633
648
 
634
- case COMBINATOR_KIND: {
635
- const combinator = Combinator.fromJSONAndFileContext(json, fileContext);
649
+ this.variables.push(variable);
650
+ });
636
651
 
637
- this.combinators.push(combinator);
652
+ conjecturesJSON.forEach((conjectureJSON) => {
653
+ const json = conjectureJSON, ///
654
+ conjecture = Conjecture.fromJSONAndFileContext(json, fileContext);
638
655
 
639
- break;
640
- }
656
+ this.conjectures.push(conjecture);
657
+ });
641
658
 
642
- case CONSTRUCTOR_KIND: {
643
- const constructor = Constructor.fromJSONAndFileContext(json, fileContext);
659
+ combinatorsJSON.forEach((combinatorJSON) => {
660
+ const json = combinatorJSON, ///
661
+ combinator = Combinator.fromJSONAndFileContext(json, fileContext);
644
662
 
645
- this.constructors.push(constructor);
663
+ this.combinators.push(combinator);
664
+ });
646
665
 
647
- break;
648
- }
666
+ constructorsJSON.forEach((constructorJSON) => {
667
+ const json = constructorJSON, ///
668
+ constructor = Constructor.fromJSONAndFileContext(json, fileContext);
649
669
 
650
- case METAVARIABLE_KIND: {
651
- const metavariable = Metavariable.fromJSONAndFileContext(json, fileContext);
670
+ this.constructors.push(constructor);
671
+ });
652
672
 
653
- this.metavariables.push(metavariable);
673
+ metavariablesJSON.forEach((metavariableJSON) => {
674
+ const json = metavariableJSON, ///
675
+ metavariable = Metavariable.fromJSONAndFileContext(json, fileContext);
654
676
 
655
- break;
656
- }
657
- }
677
+ this.metavariables.push(metavariable);
658
678
  });
659
679
  }
660
680