occam-furtle 2.0.278 → 2.0.280

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.
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _necessary = require("necessary");
12
12
  var _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
13
+ var _context = require("../utilities/context");
13
14
  function _class_call_check(instance, Constructor) {
14
15
  if (!(instance instanceof Constructor)) {
15
16
  throw new TypeError("Cannot call a class as a function");
@@ -40,6 +41,7 @@ var BlockContext = /*#__PURE__*/ function() {
40
41
  _class_call_check(this, BlockContext);
41
42
  this.context = context;
42
43
  this.variables = variables;
44
+ return (0, _context.chainContext)(this);
43
45
  }
44
46
  _create_class(BlockContext, [
45
47
  {
@@ -61,18 +63,6 @@ var BlockContext = /*#__PURE__*/ function() {
61
63
  return variables;
62
64
  }
63
65
  },
64
- {
65
- key: "findProcedureByName",
66
- value: function findProcedureByName(name) {
67
- return this.context.findProcedureByName(name);
68
- }
69
- },
70
- {
71
- key: "isProcedurePresentByName",
72
- value: function isProcedurePresentByName(name) {
73
- return this.context.isProcedurePresentByName(name);
74
- }
75
- },
76
66
  {
77
67
  key: "findVariableByVariableName",
78
68
  value: function findVariableByVariableName(variableName) {
@@ -102,52 +92,10 @@ var BlockContext = /*#__PURE__*/ function() {
102
92
  var message = "The '".concat(variableString, "' variable is already present.'"), exception = _exception.default.fromMessage(message);
103
93
  throw exception;
104
94
  }
105
- var context = this;
95
+ var context = this; ///
106
96
  context.trace("Added the '".concat(variableString, "' variable to the context."));
107
97
  this.variables.push(variable);
108
98
  }
109
- },
110
- {
111
- key: "nodeAsString",
112
- value: function nodeAsString(node) {
113
- return this.context.nodeAsString(node);
114
- }
115
- },
116
- {
117
- key: "nodesAsString",
118
- value: function nodesAsString(node) {
119
- return this.context.nodesAsString(node);
120
- }
121
- },
122
- {
123
- key: "trace",
124
- value: function trace(message) {
125
- this.context.trace(message);
126
- }
127
- },
128
- {
129
- key: "debug",
130
- value: function debug(message) {
131
- this.context.debug(message);
132
- }
133
- },
134
- {
135
- key: "info",
136
- value: function info(message) {
137
- this.context.info(message);
138
- }
139
- },
140
- {
141
- key: "warning",
142
- value: function warning(message) {
143
- this.context.warning(message);
144
- }
145
- },
146
- {
147
- key: "error",
148
- value: function error(message) {
149
- this.context.error(message);
150
- }
151
99
  }
152
100
  ], [
153
101
  {
@@ -161,4 +109,4 @@ var BlockContext = /*#__PURE__*/ function() {
161
109
  return BlockContext;
162
110
  }();
163
111
 
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2Jsb2NrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmNvbnN0IHsgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJsb2NrQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHZhcmlhYmxlcykge1xuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgdGhpcy52YXJpYWJsZXMgPSB2YXJpYWJsZXM7XG4gIH1cblxuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMobmVzdGVkID0gdHJ1ZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdO1xuXG4gICAgcHVzaCh2YXJpYWJsZXMsIHRoaXMudmFyaWFibGVzKTtcblxuICAgIGlmIChuZXN0ZWQpIHtcbiAgICAgIGNvbnN0IGNvbnRleHRWYXJpYWJsZXMgPSB0aGlzLmNvbnRleHQuZ2V0VmFyaWFibGVzKCk7XG5cbiAgICAgIHB1c2godmFyaWFibGVzLCBjb250ZXh0VmFyaWFibGVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGVzO1xuICB9XG5cbiAgZmluZFByb2NlZHVyZUJ5TmFtZShuYW1lKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZmluZFByb2NlZHVyZUJ5TmFtZShuYW1lKTsgfVxuXG4gIGlzUHJvY2VkdXJlUHJlc2VudEJ5TmFtZShuYW1lKSB7IHJldHVybiB0aGlzLmNvbnRleHQuaXNQcm9jZWR1cmVQcmVzZW50QnlOYW1lKG5hbWUpOyB9XG5cbiAgZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lLCBuZXN0ZWQgPSB0cnVlKSB7XG4gICAgY29uc3QgdmFyaWFibGVzID0gdGhpcy5nZXRWYXJpYWJsZXMobmVzdGVkKSxcbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlcy5maW5kKCh2YXJpYWJsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFyaWFibGVOYW1lTWF0Y2hlcyA9IHZhcmlhYmxlLm1hdGNoVmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSk7XG5cbiAgICAgICAgICAgIGlmICh2YXJpYWJsZU5hbWVNYXRjaGVzKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pIHx8IG51bGw7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgbmVzdGVkID0gdHJ1ZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlID0gdGhpcy5maW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUsIG5lc3RlZCksXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gKHZhcmlhYmxlICE9PSBudWxsKTtcblxuICAgIHJldHVybiB2YXJpYWJsZVByZXNlbnQ7XG4gIH1cblxuICBhZGRWYXJpYWJsZSh2YXJpYWJsZSkge1xuICAgIGNvbnN0IG5lc3RlZCA9IGZhbHNlLFxuICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IHZhcmlhYmxlLmdldE5hbWUoKSxcbiAgICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHZhcmlhYmxlLmdldFN0cmluZygpLFxuICAgICAgICAgIHZhcmlhYmxlUHJlc2VudCA9IHRoaXMuaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUsIG5lc3RlZCk7XG5cbiAgICBpZiAodmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIGlzIGFscmVhZHkgcHJlc2VudC4nYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzO1xuXG4gICAgY29udGV4dC50cmFjZShgQWRkZWQgdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUgdG8gdGhlIGNvbnRleHQuYCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlcy5wdXNoKHZhcmlhYmxlKTtcbiAgfVxuXG4gIG5vZGVBc1N0cmluZyhub2RlKSB7IHJldHVybiB0aGlzLmNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpOyB9XG5cbiAgbm9kZXNBc1N0cmluZyhub2RlKSB7IHJldHVybiB0aGlzLmNvbnRleHQubm9kZXNBc1N0cmluZyhub2RlKTsgfVxuXG4gIHRyYWNlKG1lc3NhZ2UpIHsgdGhpcy5jb250ZXh0LnRyYWNlKG1lc3NhZ2UpOyB9XG5cbiAgZGVidWcobWVzc2FnZSkgeyB0aGlzLmNvbnRleHQuZGVidWcobWVzc2FnZSk7IH1cblxuICBpbmZvKG1lc3NhZ2UpIHsgdGhpcy5jb250ZXh0LmluZm8obWVzc2FnZSk7IH1cblxuICB3YXJuaW5nKG1lc3NhZ2UpIHsgdGhpcy5jb250ZXh0Lndhcm5pbmcobWVzc2FnZSk7IH1cblxuICBlcnJvcihtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5lcnJvcihtZXNzYWdlKTsgfVxuXG4gIHN0YXRpYyBmcm9tVmFyaWFibGVzKHZhcmlhYmxlcywgY29udGV4dCkge1xuICAgIGNvbnN0IGJsb2NrQ29udGV4dCA9IG5ldyBCbG9ja0NvbnRleHQoY29udGV4dCwgdmFyaWFibGVzKTtcblxuICAgIHJldHVybiBibG9ja0NvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJCbG9ja0NvbnRleHQiLCJwdXNoIiwiYXJyYXlVdGlsaXRpZXMiLCJjb250ZXh0IiwidmFyaWFibGVzIiwiZ2V0Q29udGV4dCIsImdldFZhcmlhYmxlcyIsIm5lc3RlZCIsImNvbnRleHRWYXJpYWJsZXMiLCJmaW5kUHJvY2VkdXJlQnlOYW1lIiwibmFtZSIsImlzUHJvY2VkdXJlUHJlc2VudEJ5TmFtZSIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lIiwidmFyaWFibGVOYW1lIiwidmFyaWFibGUiLCJmaW5kIiwidmFyaWFibGVOYW1lTWF0Y2hlcyIsIm1hdGNoVmFyaWFibGVOYW1lIiwiaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSIsInZhcmlhYmxlUHJlc2VudCIsImFkZFZhcmlhYmxlIiwiZ2V0TmFtZSIsInZhcmlhYmxlU3RyaW5nIiwiZ2V0U3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidHJhY2UiLCJub2RlQXNTdHJpbmciLCJub2RlIiwibm9kZXNBc1N0cmluZyIsImRlYnVnIiwiaW5mbyIsIndhcm5pbmciLCJlcnJvciIsImZyb21WYXJpYWJsZXMiLCJibG9ja0NvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBUXFCQTs7O3lCQU5VO2dFQUVUOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXRCLElBQU0sQUFBRUMsT0FBU0MseUJBQWMsQ0FBdkJEO0FBRU8sSUFBQSxBQUFNRCw2QkFBTjthQUFNQSxhQUNQRyxPQUFPLEVBQUVDLFNBQVM7Z0NBRFhKO1FBRWpCLElBQUksQ0FBQ0csT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTs7a0JBSEFKOztZQU1uQkssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixPQUFPO1lBQ3JCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO29CQUFhQyxTQUFBQSxpRUFBUztnQkFDcEIsSUFBTUgsWUFBWSxFQUFFO2dCQUVwQkgsS0FBS0csV0FBVyxJQUFJLENBQUNBLFNBQVM7Z0JBRTlCLElBQUlHLFFBQVE7b0JBQ1YsSUFBTUMsbUJBQW1CLElBQUksQ0FB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
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2Jsb2NrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGNoYWluQ29udGV4dCB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuXG5jb25zdCB7IHB1c2ggfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCbG9ja0NvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCB2YXJpYWJsZXMpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMudmFyaWFibGVzID0gdmFyaWFibGVzO1xuXG4gICAgcmV0dXJuIGNoYWluQ29udGV4dCh0aGlzKTtcbiAgfVxuXG4gIGdldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxuXG4gIGdldFZhcmlhYmxlcyhuZXN0ZWQgPSB0cnVlKSB7XG4gICAgY29uc3QgdmFyaWFibGVzID0gW107XG5cbiAgICBwdXNoKHZhcmlhYmxlcywgdGhpcy52YXJpYWJsZXMpO1xuXG4gICAgaWYgKG5lc3RlZCkge1xuICAgICAgY29uc3QgY29udGV4dFZhcmlhYmxlcyA9IHRoaXMuY29udGV4dC5nZXRWYXJpYWJsZXMoKTtcblxuICAgICAgcHVzaCh2YXJpYWJsZXMsIGNvbnRleHRWYXJpYWJsZXMpO1xuICAgIH1cblxuICAgIHJldHVybiB2YXJpYWJsZXM7XG4gIH1cblxuICBmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUsIG5lc3RlZCA9IHRydWUpIHtcbiAgICBjb25zdCB2YXJpYWJsZXMgPSB0aGlzLmdldFZhcmlhYmxlcyhuZXN0ZWQpLFxuICAgICAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVzLmZpbmQoKHZhcmlhYmxlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YXJpYWJsZU5hbWVNYXRjaGVzID0gdmFyaWFibGUubWF0Y2hWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlTmFtZU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIGlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lLCBuZXN0ZWQgPSB0cnVlKSB7XG4gICAgY29uc3QgdmFyaWFibGUgPSB0aGlzLmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgbmVzdGVkKSxcbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSAodmFyaWFibGUgIT09IG51bGwpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlUHJlc2VudDtcbiAgfVxuXG4gIGFkZFZhcmlhYmxlKHZhcmlhYmxlKSB7XG4gICAgY29uc3QgbmVzdGVkID0gZmFsc2UsXG4gICAgICAgICAgdmFyaWFibGVOYW1lID0gdmFyaWFibGUuZ2V0TmFtZSgpLFxuICAgICAgICAgIHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gdGhpcy5pc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgbmVzdGVkKTtcblxuICAgIGlmICh2YXJpYWJsZVByZXNlbnQpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUgaXMgYWxyZWFkeSBwcmVzZW50LidgLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXM7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQWRkZWQgdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUgdG8gdGhlIGNvbnRleHQuYCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlcy5wdXNoKHZhcmlhYmxlKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVmFyaWFibGVzKHZhcmlhYmxlcywgY29udGV4dCkge1xuICAgIGNvbnN0IGJsb2NrQ29udGV4dCA9IG5ldyBCbG9ja0NvbnRleHQoY29udGV4dCwgdmFyaWFibGVzKTtcblxuICAgIHJldHVybiBibG9ja0NvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJCbG9ja0NvbnRleHQiLCJwdXNoIiwiYXJyYXlVdGlsaXRpZXMiLCJjb250ZXh0IiwidmFyaWFibGVzIiwiY2hhaW5Db250ZXh0IiwiZ2V0Q29udGV4dCIsImdldFZhcmlhYmxlcyIsIm5lc3RlZCIsImNvbnRleHRWYXJpYWJsZXMiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSIsInZhcmlhYmxlTmFtZSIsInZhcmlhYmxlIiwiZmluZCIsInZhcmlhYmxlTmFtZU1hdGNoZXMiLCJtYXRjaFZhcmlhYmxlTmFtZSIsImlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUiLCJ2YXJpYWJsZVByZXNlbnQiLCJhZGRWYXJpYWJsZSIsImdldE5hbWUiLCJ2YXJpYWJsZVN0cmluZyIsImdldFN0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInRyYWNlIiwiZnJvbVZhcmlhYmxlcyIsImJsb2NrQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFVcUJBOzs7eUJBUlU7Z0VBRVQ7dUJBRU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0IsSUFBTSxBQUFFQyxPQUFTQyx5QkFBYyxDQUF2QkQ7QUFFTyxJQUFBLEFBQU1ELDZCQUFOO2FBQU1BLGFBQ1BHLE9BQU8sRUFBRUMsU0FBUztnQ0FEWEo7UUFFakIsSUFBSSxDQUFDRyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO1FBRWpCLE9BQU9DLElBQUFBLHFCQUFZLEVBQUMsSUFBSTs7a0JBTFBMOztZQVFuQk0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxPQUFPO1lBQ3JCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO29CQUFhQyxTQUFBQSxpRUFBUztnQkFDcEIsSUFBTUosWUFBWSxFQUFFO2dCQUVwQkgsS0FBS0csV0FBVyxJQUFJLENBQUNBLFNBQVM7Z0JBRTlCLElBQUlJLFFBQVE7b0JBQ1YsSUFBTUMsbUJBQW1CLElBQUksQ0FBQ04sT0FBTyxDQUFDSSxZQUFZO29CQUVsRE4sS0FBS0csV0FBV0s7Z0JBQ2xCO2dCQUVBLE9BQU9MO1lBQ1Q7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUEsMkJBQTJCQyxZQUFZO29CQUFFSCxTQUFBQSxpRUFBUztnQkFDaEQsSUFBTUosWUFBWSxJQUFJLENBQUNHLFlBQVksQ0FBQ0MsU0FDOUJJLFdBQVdSLFVBQVVTLElBQUksQ0FBQyxTQUFDRDtvQkFDekIsSUFBTUUsc0JBQXNCRixTQUFTRyxpQkFBaUIsQ0FBQ0o7b0JBRXZELElBQUlHLHFCQUFxQjt3QkFDdkIsT0FBTztvQkFDVDtnQkFDRixNQUFNO2dCQUVaLE9BQU9GO1lBQ1Q7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsZ0NBQWdDTCxZQUFZO29CQUFFSCxTQUFBQSxpRUFBUztnQkFDckQsSUFBTUksV0FBVyxJQUFJLENBQUNGLDBCQUEwQixDQUFDQyxjQUFjSCxTQUN6RFMsa0JBQW1CTCxhQUFhO2dCQUV0QyxPQUFPSztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFlBQVlOLFFBQVE7Z0JBQ2xCLElBQU1KLFNBQVMsT0FDVEcsZUFBZUMsU0FBU08sT0FBTyxJQUMvQkMsaUJBQWlCUixTQUFTUyxTQUFTLElBQ25DSixrQkFBa0IsSUFBSSxDQUFDRCwrQkFBK0IsQ0FBQ0wsY0FBY0g7Z0JBRTNFLElBQUlTLGlCQUFpQjtvQkFDbkIsSUFBTUssVUFBVSxBQUFDLFFBQXNCLE9BQWZGLGdCQUFlLG9DQUNqQ0csWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtvQkFFeEMsTUFBTUM7Z0JBQ1I7Z0JBRUEsSUFBTXBCLFVBQVUsSUFBSSxFQUFFLEdBQUc7Z0JBRXpCQSxRQUFRdUIsS0FBSyxDQUFDLEFBQUMsY0FBNEIsT0FBZk4sZ0JBQWU7Z0JBRTNDLElBQUksQ0FBQ2hCLFNBQVMsQ0FBQ0gsSUFBSSxDQUFDVztZQUN0Qjs7OztZQUVPZSxLQUFBQTttQkFBUCxTQUFPQSxjQUFjdkIsU0FBUyxFQUFFRCxPQUFPO2dCQUNyQyxJQUFNeUIsZUFBZSxJQW5FSjVCLGFBbUVxQkcsU0FBU0M7Z0JBRS9DLE9BQU93QjtZQUNUOzs7V0F0RW1CNUIifQ==
@@ -12,6 +12,7 @@ var _necessary = require("necessary");
12
12
  var _occamgrammars = require("occam-grammars");
13
13
  var _dom = /*#__PURE__*/ _interop_require_default(require("../dom"));
14
14
  var _query = require("../utilities/query");
15
+ var _context = require("../utilities/context");
15
16
  var _string = require("../utilities/string");
16
17
  function _class_call_check(instance, Constructor) {
17
18
  if (!(instance instanceof Constructor)) {
@@ -41,19 +42,20 @@ var push = _necessary.arrayUtilities.push, furtleLexerFromNothing = _occamgramma
41
42
  var furtleLexer = furtleLexerFromNothing(), furtleParser = furtleParserFromNothing();
42
43
  var errorNodesQuery = (0, _query.nodesQuery)("/document/error"), procedureDeclarationNodesQuery = (0, _query.nodesQuery)("/document/procedureDeclaration");
43
44
  var FileContext = /*#__PURE__*/ function() {
44
- function FileContext(releaseContext, filePath, node, tokens, procedures) {
45
+ function FileContext(context, filePath, node, tokens, procedures) {
45
46
  _class_call_check(this, FileContext);
46
- this.releaseContext = releaseContext;
47
+ this.context = context;
47
48
  this.filePath = filePath;
48
49
  this.node = node;
49
50
  this.tokens = tokens;
50
51
  this.procedures = procedures;
52
+ return (0, _context.chainContext)(this);
51
53
  }
52
54
  _create_class(FileContext, [
53
55
  {
54
- key: "getReleaseContext",
55
- value: function getReleaseContext() {
56
- return this.releaseContext;
56
+ key: "getContext",
57
+ value: function getContext() {
58
+ return this.context;
57
59
  }
58
60
  },
59
61
  {
@@ -88,12 +90,6 @@ var FileContext = /*#__PURE__*/ function() {
88
90
  return parser;
89
91
  }
90
92
  },
91
- {
92
- key: "getMetaTypes",
93
- value: function getMetaTypes() {
94
- return this.releaseContext.getMetaTypes();
95
- }
96
- },
97
93
  {
98
94
  key: "getLabels",
99
95
  value: function getLabels() {
@@ -149,7 +145,7 @@ var FileContext = /*#__PURE__*/ function() {
149
145
  var procedures = [];
150
146
  push(procedures, this.procedures);
151
147
  if (includeRelease) {
152
- var releaseContextProcedures = this.releaseContext.getProcedures();
148
+ var releaseContextProcedures = this.context.getProcedures();
153
149
  push(procedures, releaseContextProcedures);
154
150
  }
155
151
  return procedures;
@@ -218,24 +214,6 @@ var FileContext = /*#__PURE__*/ function() {
218
214
  return variables;
219
215
  }
220
216
  },
221
- {
222
- key: "findFile",
223
- value: function findFile(filePath) {
224
- return this.releaseContext.findFile(filePath);
225
- }
226
- },
227
- {
228
- key: "findProcedureByName",
229
- value: function findProcedureByName(name) {
230
- return this.releaseContext.findProcedureByName(name);
231
- }
232
- },
233
- {
234
- key: "isProcedurePresentByName",
235
- value: function isProcedurePresentByName(name) {
236
- return this.releaseContext.isProcedurePresentByName(name);
237
- }
238
- },
239
217
  {
240
218
  key: "addProcedures",
241
219
  value: function addProcedures() {
@@ -266,31 +244,31 @@ var FileContext = /*#__PURE__*/ function() {
266
244
  {
267
245
  key: "trace",
268
246
  value: function trace(message) {
269
- this.releaseContext.trace(message, this.filePath);
247
+ this.context.trace(message, this.filePath);
270
248
  }
271
249
  },
272
250
  {
273
251
  key: "debug",
274
252
  value: function debug(message) {
275
- this.releaseContext.debug(message, this.filePath);
253
+ this.context.debug(message, this.filePath);
276
254
  }
277
255
  },
278
256
  {
279
257
  key: "info",
280
258
  value: function info(message) {
281
- this.releaseContext.info(message, this.filePath);
259
+ this.context.info(message, this.filePath);
282
260
  }
283
261
  },
284
262
  {
285
263
  key: "warning",
286
264
  value: function warning(message) {
287
- this.releaseContext.warning(message, this.filePath);
265
+ this.context.warning(message, this.filePath);
288
266
  }
289
267
  },
290
268
  {
291
269
  key: "error",
292
270
  value: function error(message) {
293
- this.releaseContext.error(message, this.filePath);
271
+ this.context.error(message, this.filePath);
294
272
  }
295
273
  },
296
274
  {
@@ -357,15 +335,15 @@ var FileContext = /*#__PURE__*/ function() {
357
335
  ], [
358
336
  {
359
337
  key: "fromFile",
360
- value: function fromFile(file, releaseContext) {
361
- var filePath = file.getPath(), tokens = null, node = null, procedures = [], fileContext = new FileContext(releaseContext, filePath, node, tokens, procedures);
338
+ value: function fromFile(file, context) {
339
+ var filePath = file.getPath(), tokens = null, node = null, procedures = [], fileContext = new FileContext(context, filePath, node, tokens, procedures);
362
340
  return fileContext;
363
341
  }
364
342
  },
365
343
  {
366
344
  key: "fromFilePath",
367
- value: function fromFilePath(filePath, releaseContext) {
368
- var tokens = null, node = null, procedures = null, fileContext = new FileContext(releaseContext, filePath, node, tokens, procedures);
345
+ value: function fromFilePath(filePath, context) {
346
+ var tokens = null, node = null, procedures = null, fileContext = new FileContext(context, filePath, node, tokens, procedures);
369
347
  return fileContext;
370
348
  }
371
349
  }
@@ -373,4 +351,4 @@ var FileContext = /*#__PURE__*/ function() {
373
351
  return FileContext;
374
352
  }();
375
353
 
376
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2ZpbGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuaW1wb3J0IHsgbGV4ZXJzVXRpbGl0aWVzLCBwYXJzZXJzVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXJzXCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nLCBub2Rlc0FzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY29uc3QgeyBwdXNoIH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgZnVydGxlTGV4ZXJGcm9tTm90aGluZyB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZyB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuY29uc3QgZnVydGxlTGV4ZXIgPSBmdXJ0bGVMZXhlckZyb21Ob3RoaW5nKCksXG4gICAgICBmdXJ0bGVQYXJzZXIgPSBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZygpO1xuXG5jb25zdCBlcnJvck5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2RvY3VtZW50L2Vycm9yXCIpLFxuICAgICAgcHJvY2VkdXJlRGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kb2N1bWVudC9wcm9jZWR1cmVEZWNsYXJhdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZUNvbnRleHQge1xuICBjb25zdHJ1Y3RvcihyZWxlYXNlQ29udGV4dCwgZmlsZVBhdGgsIG5vZGUsIHRva2VucywgcHJvY2VkdXJlcykge1xuICAgIHRoaXMucmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dDtcbiAgICB0aGlzLmZpbGVQYXRoID0gZmlsZVBhdGg7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0UmVsZWFzZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVsZWFzZUNvbnRleHQ7XG4gIH1cblxuICBnZXRGaWxlUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlUGF0aDtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFRva2VucygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnM7XG4gIH1cblxuICBnZXRMZXhlcigpIHtcbiAgICBjb25zdCBsZXhlciA9IGZ1cnRsZUxleGVyOyAgLy8vXG5cbiAgICByZXR1cm4gbGV4ZXI7XG4gIH1cblxuICBnZXRQYXJzZXIoKSB7XG4gICAgY29uc3QgcGFyc2VyID0gZnVydGxlUGFyc2VyOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbiAgZ2V0TWV0YVR5cGVzKCkgeyByZXR1cm4gdGhpcy5yZWxlYXNlQ29udGV4dC5nZXRNZXRhVHlwZXMoKTsgfVxuXG4gIGdldExhYmVscyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBsYWJlbHMgPSBbXTtcblxuICAgIHJldHVybiBsYWJlbHM7XG4gIH1cblxuICBnZXRUeXBlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCB0eXBlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHR5cGVzO1xuICB9XG5cbiAgZ2V0UnVsZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgcnVsZXMgPSBbXVxuXG4gICAgcmV0dXJuIHJ1bGVzO1xuICB9XG5cbiAgZ2V0QXhpb21zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGF4aW9tcyA9IFtdO1xuXG4gICAgcmV0dXJuIGF4aW9tcztcbiAgfVxuXG4gIGdldExlbW1hcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBsZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBsZW1tYXM7XG4gIH1cblxuICBnZXRUaGVvcmVtcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCB0aGVvcmVtcyA9IFtdO1xuXG4gICAgcmV0dXJuIHRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzID0gW107XG5cbiAgICBwdXNoKHByb2NlZHVyZXMsIHRoaXMucHJvY2VkdXJlcyk7XG5cbiAgICBpZiAoaW5jbHVkZVJlbGVhc2UpIHtcbiAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0UHJvY2VkdXJlcyA9IHRoaXMucmVsZWFzZUNvbnRleHQuZ2V0UHJvY2VkdXJlcygpO1xuXG4gICAgICBwdXNoKHByb2NlZHVyZXMsIHJlbGVhc2VDb250ZXh0UHJvY2VkdXJlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb2NlZHVyZXM7XG4gIH1cblxuICBnZXRNZXRhTGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGFMZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhTGVtbWFzO1xuICB9XG5cbiAgZ2V0Q29uamVjdHVyZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgY29uamVjdHVyZXMgPSBbXTtcblxuICAgIHJldHVybiBjb25qZWN0dXJlcztcbiAgfVxuXG4gIGdldENvbWJpbmF0b3JzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbWJpbmF0b3JzID0gW107XG5cbiAgICByZXR1cm4gY29tYmluYXRvcnM7XG4gIH1cblxuICBnZXRUeXBlUHJlZml4ZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgdHlwZVByZWZpeGVzID0gW107XG5cbiAgICByZXR1cm4gdHlwZVByZWZpeGVzO1xuICB9XG5cbiAgZ2V0Q29uc3RydWN0b3JzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9ycyA9IFtdO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9ycztcbiAgfVxuXG4gIGdldE1ldGF0aGVvcmVtcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhdGhlb3JlbXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhdGhlb3JlbXM7XG4gIH1cblxuICBnZXRNZXRhdmFyaWFibGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVzKCkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlcztcbiAgfVxuXG4gIGZpbmRGaWxlKGZpbGVQYXRoKSB7IHJldHVybiB0aGlzLnJlbGVhc2VDb250ZXh0LmZpbmRGaWxlKGZpbGVQYXRoKTsgfVxuXG4gIGZpbmRQcm9jZWR1cmVCeU5hbWUobmFtZSkgeyByZXR1cm4gdGhpcy5yZWxlYXNlQ29udGV4dC5maW5kUHJvY2VkdXJlQnlOYW1lKG5hbWUpOyB9XG5cbiAgaXNQcm9jZWR1cmVQcmVzZW50QnlOYW1lKG5hbWUpIHsgcmV0dXJuIHRoaXMucmVsZWFzZUNvbnRleHQuaXNQcm9jZWR1cmVQcmVzZW50QnlOYW1lKG5hbWUpOyB9XG5cbiAgYWRkUHJvY2VkdXJlcygpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpczsgLy8vXG5cbiAgICBjb25zdCB7IFByb2NlZHVyZURlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgcHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlcyA9IHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXNRdWVyeSh0aGlzLm5vZGUpO1xuXG4gICAgcHJvY2VkdXJlRGVjbGFyYXRpb25Ob2Rlcy5mb3JFYWNoKChwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUpID0+IHtcbiAgICAgIGNvbnN0IHByb2NlZHVyZURlY2xhcmF0aW9uID0gUHJvY2VkdXJlRGVjbGFyYXRpb24uZnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZShwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgcHJvY2VkdXJlID0gcHJvY2VkdXJlRGVjbGFyYXRpb24uZ2V0UHJvY2VkdXJlKCksXG4gICAgICAgICAgICBwcm9jZWR1cmVTdHJpbmcgPSBwcm9jZWR1cmUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIHRoaXMuZGVidWcoYEFkZGluZyB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgcHJvY2VkdXJlLmApO1xuXG4gICAgICB0aGlzLnByb2NlZHVyZXMucHVzaChwcm9jZWR1cmUpO1xuICAgIH0pO1xuICB9XG5cbiAgbm9kZUFzU3RyaW5nKG5vZGUpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBub2RlQXNTdHJpbmcobm9kZSwgdGhpcy50b2tlbnMpO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIG5vZGVzQXNTdHJpbmcobm9kZXMpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBub2Rlc0FzU3RyaW5nKG5vZGVzLCB0aGlzLnRva2Vucyk7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgdHJhY2UobWVzc2FnZSkgeyB0aGlzLnJlbGVhc2VDb250ZXh0LnRyYWNlKG1lc3NhZ2UsIHRoaXMuZmlsZVBhdGgpOyB9XG5cbiAgZGVidWcobWVzc2FnZSkgeyB0aGlzLnJlbGVhc2VDb250ZXh0LmRlYnVnKG1lc3NhZ2UsIHRoaXMuZmlsZVBhdGgpOyB9XG5cbiAgaW5mbyhtZXNzYWdlKSB7IHRoaXMucmVsZWFzZUNvbnRleHQuaW5mbyhtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIHdhcm5pbmcobWVzc2FnZSkgeyB0aGlzLnJlbGVhc2VDb250ZXh0Lndhcm5pbmcobWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICBlcnJvcihtZXNzYWdlKSB7IHRoaXMucmVsZWFzZUNvbnRleHQuZXJyb3IobWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICB0aGlzLmRlYnVnKGBWZXJpZnlpbmcgdGhlICcke3RoaXMuZmlsZVBhdGh9JyBmaWxlLi4uYCk7XG5cbiAgICB0aGlzLnByZXBhcmUoKTtcblxuICAgIGlmICh0aGlzLm5vZGUgPT09IG51bGwpIHtcbiAgICAgIHRoaXMud2FybmluZyhgVW5hYmxlIHRvIHZlcmlmeSB0aGUgJyR7dGhpcy5maWxlUGF0aH0nIGZpbGUgYmVjYXVzZSBpdCBjYW5ub3QgYmUgcGFyc2VkLmApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBlcnJvck5vZGVzID0gZXJyb3JOb2Rlc1F1ZXJ5KHRoaXMubm9kZSksXG4gICAgICAgICAgICBlcnJvck5vZGVzTGVuZ3RoID0gZXJyb3JOb2Rlcy5sZW5ndGg7XG5cbiAgICAgIGlmIChlcnJvck5vZGVzTGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuYWRkUHJvY2VkdXJlcygpO1xuXG4gICAgICAgIHZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMud2FybmluZyhgVGhlICcke3RoaXMuZmlsZVBhdGh9JyBmaWxlIGNhbm5vdCBiZSB2ZXJpZmllZCBiZWNhdXNlIHRoZXJlIGFyZSBlcnJvcnMuYCk7XG5cbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgdGhpcy5pbmZvKGAuLi52ZXJpZmllZCB0aGUgJyR7dGhpcy5maWxlUGF0aH0nIGZpbGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5wcm9jZWR1cmVzID0gW107XG4gIH1cblxuICBwcmVwYXJlKCkge1xuICAgIGlmICh0aGlzLnRva2VucyAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGUgPSB0aGlzLmZpbmRGaWxlKHRoaXMuZmlsZVBhdGgpLFxuICAgICAgICAgIGxleGVyID0gdGhpcy5nZXRMZXhlcigpLFxuICAgICAgICAgIHBhcnNlciA9IHRoaXMuZ2V0UGFyc2VyKCksXG4gICAgICAgICAgY29udGVudCA9IGZpbGUuZ2V0Q29udGVudCgpO1xuXG4gICAgdGhpcy50b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KTtcblxuICAgIHRoaXMubm9kZSA9IHBhcnNlci5wYXJzZSh0aGlzLnRva2Vucyk7XG4gIH1cblxuICBpbml0aWFsaXNlKGpzb24pIHtcbiAgICBjb25zdCB7IGNvbnRlbnQgfSA9IGpzb24sXG4gICAgICAgICAgbGV4ZXIgPSB0aGlzLmdldExleGVyKCksXG4gICAgICAgICAgcGFyc2VyID0gdGhpcy5nZXRQYXJzZXIoKTtcblxuICAgIHRoaXMudG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgICB0aGlzLm5vZGUgPSBwYXJzZXIucGFyc2UodGhpcy50b2tlbnMpO1xuXG4gICAgdGhpcy5jbGVhcigpO1xuXG4gICAgdGhpcy5hZGRQcm9jZWR1cmVzKCk7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgZmlsZSA9IHRoaXMuZmluZEZpbGUodGhpcy5maWxlUGF0aCksXG4gICAgICAgICAgZmlsZVBhdGggPSB0aGlzLmZpbGVQYXRoLCAvLy9cbiAgICAgICAgICBjb250ZW50ID0gZmlsZS5nZXRDb250ZW50KCksXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGZpbGVQYXRoLFxuICAgICAgICAgICAgY29udGVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRmlsZShmaWxlLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gZmlsZS5nZXRQYXRoKCksXG4gICAgICAgICAgdG9rZW5zID0gbnVsbCxcbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBwcm9jZWR1cmVzID0gW10sXG4gICAgICAgICAgZmlsZUNvbnRleHQgPSBuZXcgRmlsZUNvbnRleHQocmVsZWFzZUNvbnRleHQsIGZpbGVQYXRoLCBub2RlLCB0b2tlbnMsIHByb2NlZHVyZXMpO1xuXG4gICAgcmV0dXJuIGZpbGVDb250ZXh0O1xuICB9XG5cbiAgc3RhdGljIGZyb21GaWxlUGF0aChmaWxlUGF0aCwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBjb25zdCB0b2tlbnMgPSBudWxsLFxuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIHByb2NlZHVyZXMgPSBudWxsLFxuICAgICAgICAgIGZpbGVDb250ZXh0ID0gbmV3IEZpbGVDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBmaWxlUGF0aCwgbm9kZSwgdG9rZW5zLCBwcm9jZWR1cmVzKTtcblxuICAgIHJldHVybiBmaWxlQ29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkZpbGVDb250ZXh0IiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwiZnVydGxlTGV4ZXJGcm9tTm90aGluZyIsImxleGVyc1V0aWxpdGllcyIsImZ1cnRsZVBhcnNlckZyb21Ob3RoaW5nIiwicGFyc2Vyc1V0aWxpdGllcyIsImZ1cnRsZUxleGVyIiwiZnVydGxlUGFyc2VyIiwiZXJyb3JOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXNRdWVyeSIsInJlbGVhc2VDb250ZXh0IiwiZmlsZVBhdGgiLCJub2RlIiwidG9rZW5zIiwicHJvY2VkdXJlcyIsImdldFJlbGVhc2VDb250ZXh0IiwiZ2V0RmlsZVBhdGgiLCJnZXROb2RlIiwiZ2V0VG9rZW5zIiwiZ2V0TGV4ZXIiLCJsZXhlciIsImdldFBhcnNlciIsInBhcnNlciIsImdldE1ldGFUeXBlcyIsImdldExhYmVscyIsImluY2x1ZGVSZWxlYXNlIiwibGFiZWxzIiwiZ2V0VHlwZXMiLCJ0eXBlcyIsImdldFJ1bGVzIiwicnVsZXMiLCJnZXRBeGlvbXMiLCJheGlvbXMiLCJnZXRMZW1tYXMiLCJsZW1tYXMiLCJnZXRUaGVvcmVtcyIsInRoZW9yZW1zIiwiZ2V0UHJvY2VkdXJlcyIsInJlbGVhc2VDb250ZXh0UHJvY2VkdXJlcyIsImdldE1ldGFMZW1tYXMiLCJtZXRhTGVtbWFzIiwiZ2V0Q29uamVjdHVyZXMiLCJjb25qZWN0dXJlcyIsImdldENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRUeXBlUHJlZml4ZXMiLCJ0eXBlUHJlZml4ZXMiLCJnZXRDb25zdHJ1Y3RvcnMiLCJjb25zdHJ1Y3RvcnMiLCJnZXRNZXRhdGhlb3JlbXMiLCJtZXRhdGhlb3JlbXMiLCJnZXRNZXRhdmFyaWFibGVzIiwibWV0YXZhcmlhYmxlcyIsImdldFZhcmlhYmxlcyIsInZhcmlhYmxlcyIsImZpbmRGaWxlIiwiZmluZFByb2NlZHVyZUJ5TmFtZSIsIm5hbWUiLCJpc1Byb2NlZHVyZVByZXNlbnRCeU5hbWUiLCJhZGRQcm9jZWR1cmVzIiwiY29udGV4dCIsIlByb2NlZHVyZURlY2xhcmF0aW9uIiwiZG9tIiwicHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlcyIsImZvckVhY2giLCJwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUiLCJwcm9jZWR1cmVEZWNsYXJhdGlvbiIsImZyb21Qcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUiLCJwcm9jZWR1cmUiLCJnZXRQcm9jZWR1cmUiLCJwcm9jZWR1cmVTdHJpbmciLCJnZXRTdHJpbmciLCJkZWJ1ZyIsIm5vZGVBc1N0cmluZyIsInN0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJub2RlcyIsInRyYWNlIiwibWVzc2FnZSIsImluZm8iLCJ3YXJuaW5nIiwiZXJyb3IiLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsInByZXBhcmUiLCJlcnJvck5vZGVzIiwiZXJyb3JOb2Rlc0xlbmd0aCIsImxlbmd0aCIsImNsZWFyIiwiZmlsZSIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwidG9rZW5pc2UiLCJwYXJzZSIsImluaXRpYWxpc2UiLCJqc29uIiwidG9KU09OIiwiZnJvbUZpbGUiLCJnZXRQYXRoIiwiZmlsZUNvbnRleHQiLCJmcm9tRmlsZVBhdGgiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBb0JxQkE7Ozt5QkFsQlU7NkJBQ21COzBEQUVsQztxQkFFVztzQkFDaUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUMsSUFBTSxBQUFFQyxPQUFTQyx5QkFBYyxDQUF2QkQsTUFDRixBQUFFRSx5QkFBMkJDLDhCQUFlLENBQTFDRCx3QkFDRixBQUFFRSwwQkFBNEJDLCtCQUFnQixDQUE1Q0Q7QUFFUixJQUFNRSxjQUFjSiwwQkFDZEssZUFBZUg7QUFFckIsSUFBTUksa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLG9CQUM3QkMsaUNBQWlDRCxJQUFBQSxpQkFBVSxFQUFDO0FBRW5DLElBQUEsQUFBTVYsNEJBQU47YUFBTUEsWUFDUFksY0FBYyxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxVQUFVO2dDQUQzQ2hCO1FBRWpCLElBQUksQ0FBQ1ksY0FBYyxHQUFHQTtRQUN0QixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxVQUFVLEdBQUdBOztrQkFORGhCOztZQVNuQmlCLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0wsY0FBYztZQUM1Qjs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0wsUUFBUTtZQUN0Qjs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0wsSUFBSTtZQUNsQjs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0wsTUFBTTtZQUNwQjs7O1lBRUFNLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxRQUFRZixhQUFjLEdBQUc7Z0JBRS9CLE9BQU9lO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsU0FBU2hCLGNBQWUsR0FBRztnQkFFakMsT0FBT2dCO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQWlCLE9BQU8sSUFBSSxDQUFDYixjQUFjLENBQUNhLFlBQVk7WUFBSTs7O1lBRTVEQyxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQVVDLGlCQUFBQSxpRUFBaUI7Z0JBQ3pCLElBQU1DLFNBQVMsRUFBRTtnQkFFakIsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtvQkFBU0YsaUJBQUFBLGlFQUFpQjtnQkFDeEIsSUFBTUcsUUFBUSxFQUFFO2dCQUVoQixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO29CQUFTSixpQkFBQUEsaUVBQWlCO2dCQUN4QixJQUFNSyxRQUFRLEVBQUU7Z0JBRWhCLE9BQU9BO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQVVOLGlCQUFBQSxpRUFBaUI7Z0JBQ3pCLElBQU1PLFNBQVMsRUFBRTtnQkFFakIsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtvQkFBVVIsaUJBQUFBLGlFQUFpQjtnQkFDekIsSUFBTVMsU0FBUyxFQUFFO2dCQUVqQixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO29CQUFZVixpQkFBQUEsaUVBQWlCO2dCQUMzQixJQUFNVyxXQUFXLEVBQUU7Z0JBRW5CLE9BQU9BO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQWNaLGlCQUFBQSxpRUFBaUI7Z0JBQzdCLElBQU1YLGFBQWEsRUFBRTtnQkFFckJmLEtBQUtlLFlBQVksSUFBSSxDQUFDQSxVQUFVO2dCQUVoQyxJQUFJVyxnQkFBZ0I7b0JBQ2xCLElBQU1hLDJCQUEyQixJQUFJLENBQUM1QixjQUFjLENBQUMyQixhQUFhO29CQUVsRXRDLEtBQUtlLFlBQVl3QjtnQkFDbkI7Z0JBRUEsT0FBT3hCO1lBQ1Q7OztZQUVBeUIsS0FBQUE7bUJBQUFBLFNBQUFBO29CQUFjZCxpQkFBQUEsaUVBQWlCO2dCQUM3QixJQUFNZSxhQUFhLEVBQUU7Z0JBRXJCLE9BQU9BO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQWVoQixpQkFBQUEsaUVBQWlCO2dCQUM5QixJQUFNaUIsY0FBYyxFQUFFO2dCQUV0QixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO29CQUFlbEIsaUJBQUFBLGlFQUFpQjtnQkFDOUIsSUFBTW1CLGNBQWMsRUFBRTtnQkFFdEIsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtvQkFBZ0JwQixpQkFBQUEsaUVBQWlCO2dCQUMvQixJQUFNcUIsZUFBZSxFQUFFO2dCQUV2QixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO29CQUFnQnRCLGlCQUFBQSxpRUFBaUI7Z0JBQy9CLElBQU11QixlQUFlLEVBQUU7Z0JBRXZCLE9BQU9BO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQWdCeEIsaUJBQUFBLGlFQUFpQjtnQkFDL0IsSUFBTXlCLGVBQWUsRUFBRTtnQkFFdkIsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtvQkFBaUIxQixpQkFBQUEsaUVBQWlCO2dCQUNoQyxJQUFNMkIsZ0JBQWdCLEVBQUU7Z0JBRXhCLE9BQU9BO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsWUFBWSxFQUFFO2dCQUVwQixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVM1QyxRQUFRO2dCQUFJLE9BQU8sSUFBSSxDQUFDRCxjQUFjLENBQUM2QyxRQUFRLENBQUM1QztZQUFXOzs7WUFFcEU2QyxLQUFBQTttQkFBQUEsU0FBQUEsb0JBQW9CQyxJQUFJO2dCQUFJLE9BQU8sSUFBSSxDQUFDL0MsY0FBYyxDQUFDOEMsbUJBQW1CLENBQUNDO1lBQU87OztZQUVsRkMsS0FBQUE7bUJBQUFBLFNBQUFBLHlCQUF5QkQsSUFBSTtnQkFBSSxPQUFPLElBQUksQ0FBQy9DLGNBQWMsQ0FBQ2dELHdCQUF3QixDQUFDRDtZQUFPOzs7WUFFNUZFLEtBQUFBO21CQUFBQSxTQUFBQTs7Z0JBQ0UsSUFBTUMsVUFBVSxJQUFJLEVBQUUsR0FBRztnQkFFekIsSUFBTSxBQUFFQyx1QkFBeUJDLFlBQUcsQ0FBNUJELHNCQUNGRSw0QkFBNEJ0RCwrQkFBK0IsSUFBSSxDQUFDRyxJQUFJO2dCQUUxRW1ELDBCQUEwQkMsT0FBTyxDQUFDLFNBQUNDO29CQUNqQyxJQUFNQyx1QkFBdUJMLHFCQUFxQk0sNEJBQTRCLENBQUNGLDBCQUEwQkwsVUFDbkdRLFlBQVlGLHFCQUFxQkcsWUFBWSxJQUM3Q0Msa0JBQWtCRixVQUFVRyxTQUFTO29CQUUzQyxNQUFLQyxLQUFLLENBQUMsQUFBQyxlQUE4QixPQUFoQkYsaUJBQWdCO29CQUUxQyxNQUFLeEQsVUFBVSxDQUFDZixJQUFJLENBQUNxRTtnQkFDdkI7WUFDRjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQSxhQUFhN0QsSUFBSTtnQkFDZixJQUFNOEQsU0FBU0QsSUFBQUEsb0JBQVksRUFBQzdELE1BQU0sSUFBSSxDQUFDQyxNQUFNO2dCQUU3QyxPQUFPNkQ7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFjQyxLQUFLO2dCQUNqQixJQUFNRixTQUFTQyxJQUFBQSxxQkFBYSxFQUFDQyxPQUFPLElBQUksQ0FBQy9ELE1BQU07Z0JBRS9DLE9BQU82RDtZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1DLE9BQU87Z0JBQUksSUFBSSxDQUFDcEUsY0FBYyxDQUFDbUUsS0FBSyxDQUFDQyxTQUFTLElBQUksQ0FBQ25FLFFBQVE7WUFBRzs7O1lBRXBFNkQsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1NLE9BQU87Z0JBQUksSUFBSSxDQUFDcEUsY0FBYyxDQUFDOEQsS0FBSyxDQUFDTSxTQUFTLElBQUksQ0FBQ25FLFFBQVE7WUFBRzs7O1lBRXBFb0UsS0FBQUE7bUJBQUFBLFNBQUFBLEtBQUtELE9BQU87Z0JBQUksSUFBSSxDQUFDcEUsY0FBYyxDQUFDcUUsSUFBSSxDQUFDRCxTQUFTLElBQUksQ0FBQ25FLFFBQVE7WUFBRzs7O1lBRWxFcUUsS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFGLE9BQU87Z0JBQUksSUFBSSxDQUFDcEUsY0FBYyxDQUFDc0UsT0FBTyxDQUFDRixTQUFTLElBQUksQ0FBQ25FLFFBQVE7WUFBRzs7O1lBRXhFc0UsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1ILE9BQU87Z0JBQUksSUFBSSxDQUFDcEUsY0FBYyxDQUFDdUUsS0FBSyxDQUFDSCxTQUFTLElBQUksQ0FBQ25FLFFBQVE7WUFBRzs7O1lBRXBFdUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUlDLFdBQVc7Z0JBRWYsSUFBSSxDQUFDWCxLQUFLLENBQUMsQUFBQyxrQkFBK0IsT0FBZCxJQUFJLENBQUM3RCxRQUFRLEVBQUM7Z0JBRTNDLElBQUksQ0FBQ3lFLE9BQU87Z0JBRVosSUFBSSxJQUFJLENBQUN4RSxJQUFJLEtBQUssTUFBTTtvQkFDdEIsSUFBSSxDQUFDb0UsT0FBTyxDQUFDLEFBQUMseUJBQXNDLE9BQWQsSUFBSSxDQUFDckUsUUFBUSxFQUFDO2dCQUN0RCxPQUFPO29CQUNMLElBQU0wRSxhQUFhOUUsZ0JBQWdCLElBQUksQ0FBQ0ssSUFBSSxHQUN0QzBFLG1CQUFtQkQsV0FBV0UsTUFBTTtvQkFFMUMsSUFBSUQscUJBQXFCLEdBQUc7d0JBQzFCLElBQUksQ0FBQzNCLGFBQWE7d0JBRWxCd0IsV0FBVztvQkFDYixPQUFPO3dCQUNMLElBQUksQ0FBQ0gsT0FBTyxDQUFDLEFBQUMsUUFBcUIsT0FBZCxJQUFJLENBQUNyRSxRQUFRLEVBQUM7d0JBRW5DLElBQUksQ0FBQzZFLEtBQUs7b0JBQ1o7Z0JBQ0Y7Z0JBRUEsSUFBSUwsVUFBVTtvQkFDWixJQUFJLENBQUNKLElBQUksQ0FBQyxBQUFDLG9CQUFpQyxPQUFkLElBQUksQ0FBQ3BFLFFBQVEsRUFBQztnQkFDOUM7Z0JBRUEsT0FBT3dFO1lBQ1Q7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDMUUsVUFBVSxHQUFHLEVBQUU7WUFDdEI7OztZQUVBc0UsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksSUFBSSxDQUFDdkUsTUFBTSxLQUFLLE1BQU07b0JBQ3hCO2dCQUNGO2dCQUVBLElBQU00RSxPQUFPLElBQUksQ0FBQ2xDLFFBQVEsQ0FBQyxJQUFJLENBQUM1QyxRQUFRLEdBQ2xDUyxRQUFRLElBQUksQ0FBQ0QsUUFBUSxJQUNyQkcsU0FBUyxJQUFJLENBQUNELFNBQVMsSUFDdkJxRSxVQUFVRCxLQUFLRSxVQUFVO2dCQUUvQixJQUFJLENBQUM5RSxNQUFNLEdBQUdPLE1BQU13RSxRQUFRLENBQUNGO2dCQUU3QixJQUFJLENBQUM5RSxJQUFJLEdBQUdVLE9BQU91RSxLQUFLLENBQUMsSUFBSSxDQUFDaEYsTUFBTTtZQUN0Qzs7O1lBRUFpRixLQUFBQTttQkFBQUEsU0FBQUEsV0FBV0MsSUFBSTtnQkFDYixJQUFNLEFBQUVMLFVBQVlLLEtBQVpMLFNBQ0Z0RSxRQUFRLElBQUksQ0FBQ0QsUUFBUSxJQUNyQkcsU0FBUyxJQUFJLENBQUNELFNBQVM7Z0JBRTdCLElBQUksQ0FBQ1IsTUFBTSxHQUFHTyxNQUFNd0UsUUFBUSxDQUFDRjtnQkFFN0IsSUFBSSxDQUFDOUUsSUFBSSxHQUFHVSxPQUFPdUUsS0FBSyxDQUFDLElBQUksQ0FBQ2hGLE1BQU07Z0JBRXBDLElBQUksQ0FBQzJFLEtBQUs7Z0JBRVYsSUFBSSxDQUFDN0IsYUFBYTtZQUNwQjs7O1lBRUFxQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTVAsT0FBTyxJQUFJLENBQUNsQyxRQUFRLENBQUMsSUFBSSxDQUFDNUMsUUFBUSxHQUNsQ0EsV0FBVyxJQUFJLENBQUNBLFFBQVEsRUFDeEIrRSxVQUFVRCxLQUFLRSxVQUFVLElBQ3pCSSxPQUFPO29CQUNMcEYsVUFBQUE7b0JBQ0ErRSxTQUFBQTtnQkFDRjtnQkFFTixPQUFPSztZQUNUOzs7O1lBRU9FLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNSLElBQUksRUFBRS9FLGNBQWM7Z0JBQ2xDLElBQU1DLFdBQVc4RSxLQUFLUyxPQUFPLElBQ3ZCckYsU0FBUyxNQUNURCxPQUFPLE1BQ1BFLGFBQWEsRUFBRSxFQUNmcUYsY0FBYyxJQXZRSHJHLFlBdVFtQlksZ0JBQWdCQyxVQUFVQyxNQUFNQyxRQUFRQztnQkFFNUUsT0FBT3FGO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxhQUFhekYsUUFBUSxFQUFFRCxjQUFjO2dCQUMxQyxJQUFNRyxTQUFTLE1BQ1RELE9BQU8sTUFDUEUsYUFBYSxNQUNicUYsY0FBYyxJQWhSSHJHLFlBZ1JtQlksZ0JBQWdCQyxVQUFVQyxNQUFNQyxRQUFRQztnQkFFNUUsT0FBT3FGO1lBQ1Q7OztXQW5SbUJyRyJ9
354
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2ZpbGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuaW1wb3J0IHsgbGV4ZXJzVXRpbGl0aWVzLCBwYXJzZXJzVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXJzXCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgY2hhaW5Db250ZXh0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcsIG5vZGVzQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCB7IHB1c2ggfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyBmdXJ0bGVMZXhlckZyb21Ob3RoaW5nIH0gPSBsZXhlcnNVdGlsaXRpZXMsXG4gICAgICB7IGZ1cnRsZVBhcnNlckZyb21Ob3RoaW5nIH0gPSBwYXJzZXJzVXRpbGl0aWVzO1xuXG5jb25zdCBmdXJ0bGVMZXhlciA9IGZ1cnRsZUxleGVyRnJvbU5vdGhpbmcoKSxcbiAgICAgIGZ1cnRsZVBhcnNlciA9IGZ1cnRsZVBhcnNlckZyb21Ob3RoaW5nKCk7XG5cbmNvbnN0IGVycm9yTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvZG9jdW1lbnQvZXJyb3JcIiksXG4gICAgICBwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL2RvY3VtZW50L3Byb2NlZHVyZURlY2xhcmF0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWxlQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIGZpbGVQYXRoLCBub2RlLCB0b2tlbnMsIHByb2NlZHVyZXMpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMuZmlsZVBhdGggPSBmaWxlUGF0aDtcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMudG9rZW5zID0gdG9rZW5zO1xuICAgIHRoaXMucHJvY2VkdXJlcyA9IHByb2NlZHVyZXM7XG5cbiAgICByZXR1cm4gY2hhaW5Db250ZXh0KHRoaXMpO1xuICB9XG5cbiAgZ2V0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xuICB9XG5cbiAgZ2V0RmlsZVBhdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZVBhdGg7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXRUb2tlbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5zO1xuICB9XG5cbiAgZ2V0TGV4ZXIoKSB7XG4gICAgY29uc3QgbGV4ZXIgPSBmdXJ0bGVMZXhlcjsgIC8vL1xuXG4gICAgcmV0dXJuIGxleGVyO1xuICB9XG5cbiAgZ2V0UGFyc2VyKCkge1xuICAgIGNvbnN0IHBhcnNlciA9IGZ1cnRsZVBhcnNlcjsgIC8vL1xuXG4gICAgcmV0dXJuIHBhcnNlcjtcbiAgfVxuXG4gIGdldExhYmVscyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBsYWJlbHMgPSBbXTtcblxuICAgIHJldHVybiBsYWJlbHM7XG4gIH1cblxuICBnZXRUeXBlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCB0eXBlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHR5cGVzO1xuICB9XG5cbiAgZ2V0UnVsZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgcnVsZXMgPSBbXVxuXG4gICAgcmV0dXJuIHJ1bGVzO1xuICB9XG5cbiAgZ2V0QXhpb21zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGF4aW9tcyA9IFtdO1xuXG4gICAgcmV0dXJuIGF4aW9tcztcbiAgfVxuXG4gIGdldExlbW1hcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBsZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBsZW1tYXM7XG4gIH1cblxuICBnZXRUaGVvcmVtcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCB0aGVvcmVtcyA9IFtdO1xuXG4gICAgcmV0dXJuIHRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzID0gW107XG5cbiAgICBwdXNoKHByb2NlZHVyZXMsIHRoaXMucHJvY2VkdXJlcyk7XG5cbiAgICBpZiAoaW5jbHVkZVJlbGVhc2UpIHtcbiAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0UHJvY2VkdXJlcyA9IHRoaXMuY29udGV4dC5nZXRQcm9jZWR1cmVzKCk7XG5cbiAgICAgIHB1c2gocHJvY2VkdXJlcywgcmVsZWFzZUNvbnRleHRQcm9jZWR1cmVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlcztcbiAgfVxuXG4gIGdldE1ldGFMZW1tYXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YUxlbW1hcyA9IFtdO1xuXG4gICAgcmV0dXJuIG1ldGFMZW1tYXM7XG4gIH1cblxuICBnZXRDb25qZWN0dXJlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb25qZWN0dXJlcyA9IFtdO1xuXG4gICAgcmV0dXJuIGNvbmplY3R1cmVzO1xuICB9XG5cbiAgZ2V0Q29tYmluYXRvcnMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgY29tYmluYXRvcnMgPSBbXTtcblxuICAgIHJldHVybiBjb21iaW5hdG9ycztcbiAgfVxuXG4gIGdldFR5cGVQcmVmaXhlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCB0eXBlUHJlZml4ZXMgPSBbXTtcblxuICAgIHJldHVybiB0eXBlUHJlZml4ZXM7XG4gIH1cblxuICBnZXRDb25zdHJ1Y3RvcnMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgY29uc3RydWN0b3JzID0gW107XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3JzO1xuICB9XG5cbiAgZ2V0TWV0YXRoZW9yZW1zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGF0aGVvcmVtcyA9IFtdO1xuXG4gICAgcmV0dXJuIG1ldGF0aGVvcmVtcztcbiAgfVxuXG4gIGdldE1ldGF2YXJpYWJsZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlcyA9IFtdO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZXM7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMoKSB7XG4gICAgY29uc3QgdmFyaWFibGVzID0gW107XG5cbiAgICByZXR1cm4gdmFyaWFibGVzO1xuICB9XG5cbiAgYWRkUHJvY2VkdXJlcygpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpczsgLy8vXG5cbiAgICBjb25zdCB7IFByb2NlZHVyZURlY2xhcmF0aW9uIH0gPSBkb20sXG4gICAgICAgICAgcHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlcyA9IHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXNRdWVyeSh0aGlzLm5vZGUpO1xuXG4gICAgcHJvY2VkdXJlRGVjbGFyYXRpb25Ob2Rlcy5mb3JFYWNoKChwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUpID0+IHtcbiAgICAgIGNvbnN0IHByb2NlZHVyZURlY2xhcmF0aW9uID0gUHJvY2VkdXJlRGVjbGFyYXRpb24uZnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZShwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgcHJvY2VkdXJlID0gcHJvY2VkdXJlRGVjbGFyYXRpb24uZ2V0UHJvY2VkdXJlKCksXG4gICAgICAgICAgICBwcm9jZWR1cmVTdHJpbmcgPSBwcm9jZWR1cmUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIHRoaXMuZGVidWcoYEFkZGluZyB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgcHJvY2VkdXJlLmApO1xuXG4gICAgICB0aGlzLnByb2NlZHVyZXMucHVzaChwcm9jZWR1cmUpO1xuICAgIH0pO1xuICB9XG5cbiAgbm9kZUFzU3RyaW5nKG5vZGUpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBub2RlQXNTdHJpbmcobm9kZSwgdGhpcy50b2tlbnMpO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIG5vZGVzQXNTdHJpbmcobm9kZXMpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBub2Rlc0FzU3RyaW5nKG5vZGVzLCB0aGlzLnRva2Vucyk7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgdHJhY2UobWVzc2FnZSkgeyB0aGlzLmNvbnRleHQudHJhY2UobWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICBkZWJ1ZyhtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5kZWJ1ZyhtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIGluZm8obWVzc2FnZSkgeyB0aGlzLmNvbnRleHQuaW5mbyhtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIHdhcm5pbmcobWVzc2FnZSkgeyB0aGlzLmNvbnRleHQud2FybmluZyhtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIGVycm9yKG1lc3NhZ2UpIHsgdGhpcy5jb250ZXh0LmVycm9yKG1lc3NhZ2UsIHRoaXMuZmlsZVBhdGgpOyB9XG5cbiAgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgdGhpcy5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZS4uLmApO1xuXG4gICAgdGhpcy5wcmVwYXJlKCk7XG5cbiAgICBpZiAodGhpcy5ub2RlID09PSBudWxsKSB7XG4gICAgICB0aGlzLndhcm5pbmcoYFVuYWJsZSB0byB2ZXJpZnkgdGhlICcke3RoaXMuZmlsZVBhdGh9JyBmaWxlIGJlY2F1c2UgaXQgY2Fubm90IGJlIHBhcnNlZC5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZXJyb3JOb2RlcyA9IGVycm9yTm9kZXNRdWVyeSh0aGlzLm5vZGUpLFxuICAgICAgICAgICAgZXJyb3JOb2Rlc0xlbmd0aCA9IGVycm9yTm9kZXMubGVuZ3RoO1xuXG4gICAgICBpZiAoZXJyb3JOb2Rlc0xlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLmFkZFByb2NlZHVyZXMoKTtcblxuICAgICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLndhcm5pbmcoYFRoZSAnJHt0aGlzLmZpbGVQYXRofScgZmlsZSBjYW5ub3QgYmUgdmVyaWZpZWQgYmVjYXVzZSB0aGVyZSBhcmUgZXJyb3JzLmApO1xuXG4gICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuaW5mbyhgLi4udmVyaWZpZWQgdGhlICcke3RoaXMuZmlsZVBhdGh9JyBmaWxlLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMucHJvY2VkdXJlcyA9IFtdO1xuICB9XG5cbiAgcHJlcGFyZSgpIHtcbiAgICBpZiAodGhpcy50b2tlbnMgIT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlID0gdGhpcy5maW5kRmlsZSh0aGlzLmZpbGVQYXRoKSxcbiAgICAgICAgICBsZXhlciA9IHRoaXMuZ2V0TGV4ZXIoKSxcbiAgICAgICAgICBwYXJzZXIgPSB0aGlzLmdldFBhcnNlcigpLFxuICAgICAgICAgIGNvbnRlbnQgPSBmaWxlLmdldENvbnRlbnQoKTtcblxuICAgIHRoaXMudG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgICB0aGlzLm5vZGUgPSBwYXJzZXIucGFyc2UodGhpcy50b2tlbnMpO1xuICB9XG5cbiAgaW5pdGlhbGlzZShqc29uKSB7XG4gICAgY29uc3QgeyBjb250ZW50IH0gPSBqc29uLFxuICAgICAgICAgIGxleGVyID0gdGhpcy5nZXRMZXhlcigpLFxuICAgICAgICAgIHBhcnNlciA9IHRoaXMuZ2V0UGFyc2VyKCk7XG5cbiAgICB0aGlzLnRva2VucyA9IGxleGVyLnRva2VuaXNlKGNvbnRlbnQpO1xuXG4gICAgdGhpcy5ub2RlID0gcGFyc2VyLnBhcnNlKHRoaXMudG9rZW5zKTtcblxuICAgIHRoaXMuY2xlYXIoKTtcblxuICAgIHRoaXMuYWRkUHJvY2VkdXJlcygpO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IGZpbGUgPSB0aGlzLmZpbmRGaWxlKHRoaXMuZmlsZVBhdGgpLFxuICAgICAgICAgIGZpbGVQYXRoID0gdGhpcy5maWxlUGF0aCwgLy8vXG4gICAgICAgICAgY29udGVudCA9IGZpbGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBmaWxlUGF0aCxcbiAgICAgICAgICAgIGNvbnRlbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGUoZmlsZSwgY29udGV4dCkge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gZmlsZS5nZXRQYXRoKCksXG4gICAgICAgICAgdG9rZW5zID0gbnVsbCxcbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBwcm9jZWR1cmVzID0gW10sXG4gICAgICAgICAgZmlsZUNvbnRleHQgPSBuZXcgRmlsZUNvbnRleHQoY29udGV4dCwgZmlsZVBhdGgsIG5vZGUsIHRva2VucywgcHJvY2VkdXJlcyk7XG5cbiAgICByZXR1cm4gZmlsZUNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGVQYXRoKGZpbGVQYXRoLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdG9rZW5zID0gbnVsbCxcbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBwcm9jZWR1cmVzID0gbnVsbCxcbiAgICAgICAgICBmaWxlQ29udGV4dCA9IG5ldyBGaWxlQ29udGV4dChjb250ZXh0LCBmaWxlUGF0aCwgbm9kZSwgdG9rZW5zLCBwcm9jZWR1cmVzKTtcblxuICAgIHJldHVybiBmaWxlQ29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkZpbGVDb250ZXh0IiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwiZnVydGxlTGV4ZXJGcm9tTm90aGluZyIsImxleGVyc1V0aWxpdGllcyIsImZ1cnRsZVBhcnNlckZyb21Ob3RoaW5nIiwicGFyc2Vyc1V0aWxpdGllcyIsImZ1cnRsZUxleGVyIiwiZnVydGxlUGFyc2VyIiwiZXJyb3JOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXNRdWVyeSIsImNvbnRleHQiLCJmaWxlUGF0aCIsIm5vZGUiLCJ0b2tlbnMiLCJwcm9jZWR1cmVzIiwiY2hhaW5Db250ZXh0IiwiZ2V0Q29udGV4dCIsImdldEZpbGVQYXRoIiwiZ2V0Tm9kZSIsImdldFRva2VucyIsImdldExleGVyIiwibGV4ZXIiLCJnZXRQYXJzZXIiLCJwYXJzZXIiLCJnZXRMYWJlbHMiLCJpbmNsdWRlUmVsZWFzZSIsImxhYmVscyIsImdldFR5cGVzIiwidHlwZXMiLCJnZXRSdWxlcyIsInJ1bGVzIiwiZ2V0QXhpb21zIiwiYXhpb21zIiwiZ2V0TGVtbWFzIiwibGVtbWFzIiwiZ2V0VGhlb3JlbXMiLCJ0aGVvcmVtcyIsImdldFByb2NlZHVyZXMiLCJyZWxlYXNlQ29udGV4dFByb2NlZHVyZXMiLCJnZXRNZXRhTGVtbWFzIiwibWV0YUxlbW1hcyIsImdldENvbmplY3R1cmVzIiwiY29uamVjdHVyZXMiLCJnZXRDb21iaW5hdG9ycyIsImNvbWJpbmF0b3JzIiwiZ2V0VHlwZVByZWZpeGVzIiwidHlwZVByZWZpeGVzIiwiZ2V0Q29uc3RydWN0b3JzIiwiY29uc3RydWN0b3JzIiwiZ2V0TWV0YXRoZW9yZW1zIiwibWV0YXRoZW9yZW1zIiwiZ2V0TWV0YXZhcmlhYmxlcyIsIm1ldGF2YXJpYWJsZXMiLCJnZXRWYXJpYWJsZXMiLCJ2YXJpYWJsZXMiLCJhZGRQcm9jZWR1cmVzIiwiUHJvY2VkdXJlRGVjbGFyYXRpb24iLCJkb20iLCJwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGVzIiwiZm9yRWFjaCIsInByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSIsInByb2NlZHVyZURlY2xhcmF0aW9uIiwiZnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSIsInByb2NlZHVyZSIsImdldFByb2NlZHVyZSIsInByb2NlZHVyZVN0cmluZyIsImdldFN0cmluZyIsImRlYnVnIiwibm9kZUFzU3RyaW5nIiwic3RyaW5nIiwibm9kZXNBc1N0cmluZyIsIm5vZGVzIiwidHJhY2UiLCJtZXNzYWdlIiwiaW5mbyIsIndhcm5pbmciLCJlcnJvciIsInZlcmlmeSIsInZlcmlmaWVkIiwicHJlcGFyZSIsImVycm9yTm9kZXMiLCJlcnJvck5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiY2xlYXIiLCJmaWxlIiwiZmluZEZpbGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInRva2VuaXNlIiwicGFyc2UiLCJpbml0aWFsaXNlIiwianNvbiIsInRvSlNPTiIsImZyb21GaWxlIiwiZ2V0UGF0aCIsImZpbGVDb250ZXh0IiwiZnJvbUZpbGVQYXRoIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQXFCcUJBOzs7eUJBbkJVOzZCQUNtQjswREFFbEM7cUJBRVc7dUJBQ0U7c0JBQ2U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUMsSUFBTSxBQUFFQyxPQUFTQyx5QkFBYyxDQUF2QkQsTUFDRixBQUFFRSx5QkFBMkJDLDhCQUFlLENBQTFDRCx3QkFDRixBQUFFRSwwQkFBNEJDLCtCQUFnQixDQUE1Q0Q7QUFFUixJQUFNRSxjQUFjSiwwQkFDZEssZUFBZUg7QUFFckIsSUFBTUksa0JBQWtC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
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _index = require("../../index");
12
+ var _context = require("../../utilities/context");
12
13
  function _class_call_check(instance, Constructor) {
13
14
  if (!(instance instanceof Constructor)) {
14
15
  throw new TypeError("Cannot call a class as a function");
@@ -30,17 +31,18 @@ function _create_class(Constructor, protoProps, staticProps) {
30
31
  }
31
32
  var nodeAsString = _index.stringUtilities.nodeAsString, nodesAsString = _index.stringUtilities.nodesAsString;
32
33
  var FileContext = /*#__PURE__*/ function() {
33
- function FileContext(releaseContext, node, tokens) {
34
+ function FileContext(context, node, tokens) {
34
35
  _class_call_check(this, FileContext);
35
- this.releaseContext = releaseContext;
36
+ this.context = context;
36
37
  this.node = node;
37
38
  this.tokens = tokens;
39
+ return (0, _context.chainContext)(this);
38
40
  }
39
41
  _create_class(FileContext, [
40
42
  {
41
- key: "getReleaseContext",
42
- value: function getReleaseContext() {
43
- return this.releaseContext;
43
+ key: "getContext",
44
+ value: function getContext() {
45
+ return this.context;
44
46
  }
45
47
  },
46
48
  {
@@ -69,18 +71,6 @@ var FileContext = /*#__PURE__*/ function() {
69
71
  return procedures;
70
72
  }
71
73
  },
72
- {
73
- key: "findProcedureByName",
74
- value: function findProcedureByName(name) {
75
- return this.releaseContext.findProcedureByName(name);
76
- }
77
- },
78
- {
79
- key: "isProcedurePresentByName",
80
- value: function isProcedurePresentByName(name) {
81
- return this.releaseContext.isProcedurePresentByName(name);
82
- }
83
- },
84
74
  {
85
75
  key: "nodeAsString",
86
76
  value: function nodeAsString1(node) {
@@ -98,38 +88,38 @@ var FileContext = /*#__PURE__*/ function() {
98
88
  {
99
89
  key: "trace",
100
90
  value: function trace(message) {
101
- this.releaseContext.trace(message, this.filePath);
91
+ this.context.trace(message, this.filePath);
102
92
  }
103
93
  },
104
94
  {
105
95
  key: "debug",
106
96
  value: function debug(message) {
107
- this.releaseContext.debug(message, this.filePath);
97
+ this.context.debug(message, this.filePath);
108
98
  }
109
99
  },
110
100
  {
111
101
  key: "info",
112
102
  value: function info(message) {
113
- this.releaseContext.info(message, this.filePath);
103
+ this.context.info(message, this.filePath);
114
104
  }
115
105
  },
116
106
  {
117
107
  key: "warning",
118
108
  value: function warning(message) {
119
- this.releaseContext.warning(message, this.filePath);
109
+ this.context.warning(message, this.filePath);
120
110
  }
121
111
  },
122
112
  {
123
113
  key: "error",
124
114
  value: function error(message) {
125
- this.releaseContext.error(message, this.filePath);
115
+ this.context.error(message, this.filePath);
126
116
  }
127
117
  }
128
118
  ], [
129
119
  {
130
120
  key: "fromNodeAndTokens",
131
- value: function fromNodeAndTokens(node, tokens, releaseContext) {
132
- var fileContext = new FileContext(releaseContext, node, tokens);
121
+ value: function fromNodeAndTokens(node, tokens, context) {
122
+ var fileContext = new FileContext(context, node, tokens);
133
123
  return fileContext;
134
124
  }
135
125
  }
@@ -137,4 +127,4 @@ var FileContext = /*#__PURE__*/ function() {
137
127
  return FileContext;
138
128
  }();
139
129
 
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2NvbnRleHQvZmlsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3RyaW5nVXRpbGl0aWVzIH0gZnJvbSBcIi4uLy4uL2luZGV4XCI7ICAvLy9cblxuY29uc3QgeyBub2RlQXNTdHJpbmcsIG5vZGVzQXNTdHJpbmcgfSA9IHN0cmluZ1V0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsZUNvbnRleHQge1xuICBjb25zdHJ1Y3RvcihyZWxlYXNlQ29udGV4dCwgbm9kZSwgdG9rZW5zKSB7XG4gICAgdGhpcy5yZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0O1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy50b2tlbnMgPSB0b2tlbnM7XG4gIH1cblxuICBnZXRSZWxlYXNlQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWxlYXNlQ29udGV4dDtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFRva2VucygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnM7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMoKSB7XG4gICAgY29uc3QgdmFyaWFibGVzID0gW107XG5cbiAgICByZXR1cm4gdmFyaWFibGVzO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlcygpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzID0gW107XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlcztcbiAgfVxuXG4gIGZpbmRQcm9jZWR1cmVCeU5hbWUobmFtZSkgeyByZXR1cm4gdGhpcy5yZWxlYXNlQ29udGV4dC5maW5kUHJvY2VkdXJlQnlOYW1lKG5hbWUpOyB9XG5cbiAgaXNQcm9jZWR1cmVQcmVzZW50QnlOYW1lKG5hbWUpIHsgcmV0dXJuIHRoaXMucmVsZWFzZUNvbnRleHQuaXNQcm9jZWR1cmVQcmVzZW50QnlOYW1lKG5hbWUpOyB9XG5cbiAgbm9kZUFzU3RyaW5nKG5vZGUpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBub2RlQXNTdHJpbmcobm9kZSwgdGhpcy50b2tlbnMpO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIG5vZGVzQXNTdHJpbmcobm9kZXMpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBub2Rlc0FzU3RyaW5nKG5vZGVzLCB0aGlzLnRva2Vucyk7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgdHJhY2UobWVzc2FnZSkgeyB0aGlzLnJlbGVhc2VDb250ZXh0LnRyYWNlKG1lc3NhZ2UsIHRoaXMuZmlsZVBhdGgpOyB9XG5cbiAgZGVidWcobWVzc2FnZSkgeyB0aGlzLnJlbGVhc2VDb250ZXh0LmRlYnVnKG1lc3NhZ2UsIHRoaXMuZmlsZVBhdGgpOyB9XG5cbiAgaW5mbyhtZXNzYWdlKSB7IHRoaXMucmVsZWFzZUNvbnRleHQuaW5mbyhtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIHdhcm5pbmcobWVzc2FnZSkgeyB0aGlzLnJlbGVhc2VDb250ZXh0Lndhcm5pbmcobWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICBlcnJvcihtZXNzYWdlKSB7IHRoaXMucmVsZWFzZUNvbnRleHQuZXJyb3IobWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICBzdGF0aWMgZnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IGZpbGVDb250ZXh0ID0gbmV3IEZpbGVDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBub2RlLCB0b2tlbnMpO1xuXG4gICAgcmV0dXJuIGZpbGVDb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiRmlsZUNvbnRleHQiLCJub2RlQXNTdHJpbmciLCJzdHJpbmdVdGlsaXRpZXMiLCJub2Rlc0FzU3RyaW5nIiwicmVsZWFzZUNvbnRleHQiLCJub2RlIiwidG9rZW5zIiwiZ2V0UmVsZWFzZUNvbnRleHQiLCJnZXROb2RlIiwiZ2V0VG9rZW5zIiwiZ2V0VmFyaWFibGVzIiwidmFyaWFibGVzIiwiZ2V0UHJvY2VkdXJlcyIsInByb2NlZHVyZXMiLCJmaW5kUHJvY2VkdXJlQnlOYW1lIiwibmFtZSIsImlzUHJvY2VkdXJlUHJlc2VudEJ5TmFtZSIsInN0cmluZyIsIm5vZGVzIiwidHJhY2UiLCJtZXNzYWdlIiwiZmlsZVBhdGgiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZXJyb3IiLCJmcm9tTm9kZUFuZFRva2VucyIsImZpbGVDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7OztxQkFKVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFaEMsSUFBUUMsZUFBZ0NDLHNCQUFlLENBQS9DRCxjQUFjRSxnQkFBa0JELHNCQUFlLENBQWpDQztBQUVQLElBQUEsQUFBTUgsNEJBQU47YUFBTUEsWUFDUEksY0FBYyxFQUFFQyxJQUFJLEVBQUVDLE1BQU07Z0NBRHJCTjtRQUVqQixJQUFJLENBQUNJLGNBQWMsR0FBR0E7UUFDdEIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxNQUFNLEdBQUdBOztrQkFKR047O1lBT25CTyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILGNBQWM7WUFDNUI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILElBQUk7WUFDbEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsWUFBWSxFQUFFO2dCQUVwQixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGFBQWEsRUFBRTtnQkFFckIsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxvQkFBb0JDLElBQUk7Z0JBQUksT0FBTyxJQUFJLENBQUNYLGNBQWMsQ0FBQ1UsbUJBQW1CLENBQUNDO1lBQU87OztZQUVsRkMsS0FBQUE7bUJBQUFBLFNBQUFBLHlCQUF5QkQsSUFBSTtnQkFBSSxPQUFPLElBQUksQ0FBQ1gsY0FBYyxDQUFDWSx3QkFBd0IsQ0FBQ0Q7WUFBTzs7O1lBRTVGZCxLQUFBQTttQkFBQUEsU0FBQUEsY0FBYUksSUFBSTtnQkFDZixJQUFNWSxTQUFTaEIsYUFBYUksTUFBTSxJQUFJLENBQUNDLE1BQU07Z0JBRTdDLE9BQU9XO1lBQ1Q7OztZQUVBZCxLQUFBQTttQkFBQUEsU0FBQUEsZUFBY2UsS0FBSztnQkFDakIsSUFBTUQsU0FBU2QsY0FBY2UsT0FBTyxJQUFJLENBQUNaLE1BQU07Z0JBRS9DLE9BQU9XO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUMsT0FBTztnQkFBSSxJQUFJLENBQUNoQixjQUFjLENBQUNlLEtBQUssQ0FBQ0MsU0FBUyxJQUFJLENBQUNDLFFBQVE7WUFBRzs7O1lBRXBFQyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUYsT0FBTztnQkFBSSxJQUFJLENBQUNoQixjQUFjLENBQUNrQixLQUFLLENBQUNGLFNBQVMsSUFBSSxDQUFDQyxRQUFRO1lBQUc7OztZQUVwRUUsS0FBQUE7bUJBQUFBLFNBQUFBLEtBQUtILE9BQU87Z0JBQUksSUFBSSxDQUFDaEIsY0FBYyxDQUFDbUIsSUFBSSxDQUFDSCxTQUFTLElBQUksQ0FBQ0MsUUFBUTtZQUFHOzs7WUFFbEVHLEtBQUFBO21CQUFBQSxTQUFBQSxRQUFRSixPQUFPO2dCQUFJLElBQUksQ0FBQ2hCLGNBQWMsQ0FBQ29CLE9BQU8sQ0FBQ0osU0FBUyxJQUFJLENBQUNDLFFBQVE7WUFBRzs7O1lBRXhFSSxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUwsT0FBTztnQkFBSSxJQUFJLENBQUNoQixjQUFjLENBQUNxQixLQUFLLENBQUNMLFNBQVMsSUFBSSxDQUFDQyxRQUFRO1lBQUc7Ozs7WUFFN0RLLEtBQUFBO21CQUFQLFNBQU9BLGtCQUFrQnJCLElBQUksRUFBRUMsTUFBTSxFQUFFRixjQUFjO2dCQUNuRCxJQUFNdUIsY0FBYyxJQTFESDNCLFlBMERtQkksZ0JBQWdCQyxNQUFNQztnQkFFMUQsT0FBT3FCO1lBQ1Q7OztXQTdEbUIzQiJ9
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2NvbnRleHQvZmlsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3RyaW5nVXRpbGl0aWVzIH0gZnJvbSBcIi4uLy4uL2luZGV4XCI7ICAvLy9cblxuaW1wb3J0IHsgY2hhaW5Db250ZXh0IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5cbmNvbnN0IHsgbm9kZUFzU3RyaW5nLCBub2Rlc0FzU3RyaW5nIH0gPSBzdHJpbmdVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpbGVDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgbm9kZSwgdG9rZW5zKSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMudG9rZW5zID0gdG9rZW5zO1xuXG4gICAgcmV0dXJuIGNoYWluQ29udGV4dCh0aGlzKTtcbiAgfVxuXG4gIGdldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFRva2VucygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnM7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMoKSB7XG4gICAgY29uc3QgdmFyaWFibGVzID0gW107XG5cbiAgICByZXR1cm4gdmFyaWFibGVzO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlcygpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzID0gW107XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlcztcbiAgfVxuXG4gIG5vZGVBc1N0cmluZyhub2RlKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gbm9kZUFzU3RyaW5nKG5vZGUsIHRoaXMudG9rZW5zKTtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBub2Rlc0FzU3RyaW5nKG5vZGVzKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gbm9kZXNBc1N0cmluZyhub2RlcywgdGhpcy50b2tlbnMpO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHRyYWNlKG1lc3NhZ2UpIHsgdGhpcy5jb250ZXh0LnRyYWNlKG1lc3NhZ2UsIHRoaXMuZmlsZVBhdGgpOyB9XG5cbiAgZGVidWcobWVzc2FnZSkgeyB0aGlzLmNvbnRleHQuZGVidWcobWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICBpbmZvKG1lc3NhZ2UpIHsgdGhpcy5jb250ZXh0LmluZm8obWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICB3YXJuaW5nKG1lc3NhZ2UpIHsgdGhpcy5jb250ZXh0Lndhcm5pbmcobWVzc2FnZSwgdGhpcy5maWxlUGF0aCk7IH1cblxuICBlcnJvcihtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5lcnJvcihtZXNzYWdlLCB0aGlzLmZpbGVQYXRoKTsgfVxuXG4gIHN0YXRpYyBmcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMsIGNvbnRleHQpIHtcbiAgICBjb25zdCBmaWxlQ29udGV4dCA9IG5ldyBGaWxlQ29udGV4dChjb250ZXh0LCBub2RlLCB0b2tlbnMpO1xuXG4gICAgcmV0dXJuIGZpbGVDb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiRmlsZUNvbnRleHQiLCJub2RlQXNTdHJpbmciLCJzdHJpbmdVdGlsaXRpZXMiLCJub2Rlc0FzU3RyaW5nIiwiY29udGV4dCIsIm5vZGUiLCJ0b2tlbnMiLCJjaGFpbkNvbnRleHQiLCJnZXRDb250ZXh0IiwiZ2V0Tm9kZSIsImdldFRva2VucyIsImdldFZhcmlhYmxlcyIsInZhcmlhYmxlcyIsImdldFByb2NlZHVyZXMiLCJwcm9jZWR1cmVzIiwic3RyaW5nIiwibm9kZXMiLCJ0cmFjZSIsIm1lc3NhZ2UiLCJmaWxlUGF0aCIsImRlYnVnIiwiaW5mbyIsIndhcm5pbmciLCJlcnJvciIsImZyb21Ob2RlQW5kVG9rZW5zIiwiZmlsZUNvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBUXFCQTs7O3FCQU5XO3VCQUVIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QixJQUFRQyxlQUFnQ0Msc0JBQWUsQ0FBL0NELGNBQWNFLGdCQUFrQkQsc0JBQWUsQ0FBakNDO0FBRVAsSUFBQSxBQUFNSCw0QkFBTjthQUFNQSxZQUNQSSxPQUFPLEVBQUVDLElBQUksRUFBRUMsTUFBTTtnQ0FEZE47UUFFakIsSUFBSSxDQUFDSSxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBRWQsT0FBT0MsSUFBQUEscUJBQVksRUFBQyxJQUFJOztrQkFOUFA7O1lBU25CUSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLE9BQU87WUFDckI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLElBQUk7WUFDbEI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLE1BQU07WUFDcEI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsWUFBWSxFQUFFO2dCQUVwQixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGFBQWEsRUFBRTtnQkFFckIsT0FBT0E7WUFDVDs7O1lBRUFiLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFhSSxJQUFJO2dCQUNmLElBQU1VLFNBQVNkLGFBQWFJLE1BQU0sSUFBSSxDQUFDQyxNQUFNO2dCQUU3QyxPQUFPUztZQUNUOzs7WUFFQVosS0FBQUE7bUJBQUFBLFNBQUFBLGVBQWNhLEtBQUs7Z0JBQ2pCLElBQU1ELFNBQVNaLGNBQWNhLE9BQU8sSUFBSSxDQUFDVixNQUFNO2dCQUUvQyxPQUFPUztZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1DLE9BQU87Z0JBQUksSUFBSSxDQUFDZCxPQUFPLENBQUNhLEtBQUssQ0FBQ0MsU0FBUyxJQUFJLENBQUNDLFFBQVE7WUFBRzs7O1lBRTdEQyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUYsT0FBTztnQkFBSSxJQUFJLENBQUNkLE9BQU8sQ0FBQ2dCLEtBQUssQ0FBQ0YsU0FBUyxJQUFJLENBQUNDLFFBQVE7WUFBRzs7O1lBRTdERSxLQUFBQTttQkFBQUEsU0FBQUEsS0FBS0gsT0FBTztnQkFBSSxJQUFJLENBQUNkLE9BQU8sQ0FBQ2lCLElBQUksQ0FBQ0gsU0FBUyxJQUFJLENBQUNDLFFBQVE7WUFBRzs7O1lBRTNERyxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUUosT0FBTztnQkFBSSxJQUFJLENBQUNkLE9BQU8sQ0FBQ2tCLE9BQU8sQ0FBQ0osU0FBUyxJQUFJLENBQUNDLFFBQVE7WUFBRzs7O1lBRWpFSSxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUwsT0FBTztnQkFBSSxJQUFJLENBQUNkLE9BQU8sQ0FBQ21CLEtBQUssQ0FBQ0wsU0FBUyxJQUFJLENBQUNDLFFBQVE7WUFBRzs7OztZQUV0REssS0FBQUE7bUJBQVAsU0FBT0Esa0JBQWtCbkIsSUFBSSxFQUFFQyxNQUFNLEVBQUVGLE9BQU87Z0JBQzVDLElBQU1xQixjQUFjLElBeERIekIsWUF3RG1CSSxTQUFTQyxNQUFNQztnQkFFbkQsT0FBT21CO1lBQ1Q7OztXQTNEbUJ6QiJ9
@@ -138,9 +138,8 @@ var ReleaseContext = /*#__PURE__*/ function() {
138
138
  key: "verify",
139
139
  value: function verify() {
140
140
  var _this = this;
141
- var releaseContext = this;
142
141
  this.files.forEach(function(file) {
143
- var fileContext = _index.FileContext.fromFile(file, releaseContext);
142
+ var context = _this, fileContext = _index.FileContext.fromFile(file, context);
144
143
  fileContext.verify();
145
144
  _this.fileContexts.push(fileContext);
146
145
  });
@@ -158,4 +157,4 @@ var ReleaseContext = /*#__PURE__*/ function() {
158
157
  return ReleaseContext;
159
158
  }();
160
159
 
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2NvbnRleHQvcmVsZWFzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRmlsZUNvbnRleHQgfSBmcm9tIFwiLi4vLi4vaW5kZXhcIjsgIC8vL1xuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBjbGFzcyBSZWxlYXNlQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGZpbGVzLCBmaWxlQ29udGV4dHMpIHtcbiAgICB0aGlzLmZpbGVzID0gZmlsZXM7XG4gICAgdGhpcy5maWxlQ29udGV4dHMgPSBmaWxlQ29udGV4dHM7XG4gIH1cblxuICBnZXRGaWxlcygpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlcztcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0cygpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlQ29udGV4dHM7XG4gIH1cblxuICBhZGRGaWxlKGZpbGUpIHtcbiAgICB0aGlzLmZpbGVzLnB1c2goZmlsZSk7XG4gIH1cblxuICBhZGRGaWxlQ29udGV4dChmaWxlQ29udGV4dCkge1xuICAgIHRoaXMuZmlsZUNvbnRleHRzLnB1c2goZmlsZUNvbnRleHQpO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlcyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZXMgPSBbXTtcblxuICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCBpbmNsdWRlUmVsZWFzZSA9IGZhbHNlLFxuICAgICAgICAgICAgZmlsZUNvbnRleHRQcm9jZWR1cmVzID0gZmlsZUNvbnRleHQuZ2V0UHJvY2VkdXJlcyhpbmNsdWRlUmVsZWFzZSk7XG5cbiAgICAgIHB1c2gocHJvY2VkdXJlcywgZmlsZUNvbnRleHRQcm9jZWR1cmVzKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZmluZEZpbGUoZmlsZVBhdGgpIHtcbiAgICBjb25zdCBmaWxlID0gdGhpcy5maWxlcy5maW5kKChmaWxlKSA9PiB7XG4gICAgICBjb25zdCBmaWxlUGF0aE1hdGNoZXMgPSBmaWxlLm1hdGNoRmlsZVBhdGgoZmlsZVBhdGgpO1xuXG4gICAgICBpZiAoZmlsZVBhdGhNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pIHx8IG51bGw7XG5cbiAgICByZXR1cm4gZmlsZTtcbiAgfVxuXG4gIGZpbmRQcm9jZWR1cmVCeU5hbWUobmFtZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZXMgPSB0aGlzLmdldFByb2NlZHVyZXMoKSxcbiAgICAgICAgICBwcm9jZWR1cmUgPSBwcm9jZWR1cmVzLmZpbmQoKHByb2NlZHVyZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmFtZU1hdGNoZXMgPSBwcm9jZWR1cmUubWF0Y2hOYW1lKG5hbWUpO1xuXG4gICAgICAgICAgICBpZiAobmFtZU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cblxuICBpc1Byb2NlZHVyZVByZXNlbnRCeU5hbWUobmFtZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXMuZmluZFByb2NlZHVyZUJ5TmFtZShuYW1lKSxcbiAgICAgICAgICBwcm9jZWR1cmVQcmVzZW50ID0gKHByb2NlZHVyZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUHJlc2VudDtcbiAgfVxuXG4gIHRyYWNlKG1lc3NhZ2UpIHsgY29uc29sZS5sb2cobWVzc2FnZSk7IH1cblxuICBkZWJ1ZyhtZXNzYWdlKSB7IGNvbnNvbGUubG9nKG1lc3NhZ2UpOyB9XG5cbiAgaW5mbyhtZXNzYWdlKSB7IGNvbnNvbGUubG9nKG1lc3NhZ2UpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7IGNvbnNvbGUubG9nKG1lc3NhZ2UpOyB9XG5cbiAgZXJyb3IobWVzc2FnZSkgeyBjb25zb2xlLmxvZyhtZXNzYWdlKTsgfVxuXG4gIHZlcmlmeSgpIHtcbiAgICBjb25zdCByZWxlYXNlQ29udGV4dCA9IHRoaXM7XG5cbiAgICB0aGlzLmZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgIGNvbnN0IGZpbGVDb250ZXh0ID0gRmlsZUNvbnRleHQuZnJvbUZpbGUoZmlsZSwgcmVsZWFzZUNvbnRleHQpO1xuXG4gICAgICBmaWxlQ29udGV4dC52ZXJpZnkoKTtcblxuICAgICAgdGhpcy5maWxlQ29udGV4dHMucHVzaChmaWxlQ29udGV4dCk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgZmlsZXMgPSBbXSxcbiAgICAgICAgICBmaWxlQ29udGV4dHMgPSBbXSxcbiAgICAgICAgICByZWxlYXNlQ29udGV4dCA9IG5ldyBSZWxlYXNlQ29udGV4dChmaWxlcywgZmlsZUNvbnRleHRzKTtcblxuICAgIHJldHVybiByZWxlYXNlQ29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlJlbGVhc2VDb250ZXh0IiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwiZmlsZXMiLCJmaWxlQ29udGV4dHMiLCJnZXRGaWxlcyIsImdldEZpbGVDb250ZXh0cyIsImFkZEZpbGUiLCJmaWxlIiwiYWRkRmlsZUNvbnRleHQiLCJmaWxlQ29udGV4dCIsImdldFByb2NlZHVyZXMiLCJpbmNsdWRlRGVwZW5kZW5jaWVzIiwicHJvY2VkdXJlcyIsImZvckVhY2giLCJpbmNsdWRlUmVsZWFzZSIsImZpbGVDb250ZXh0UHJvY2VkdXJlcyIsImZpbmRGaWxlIiwiZmlsZVBhdGgiLCJmaW5kIiwiZmlsZVBhdGhNYXRjaGVzIiwibWF0Y2hGaWxlUGF0aCIsImZpbmRQcm9jZWR1cmVCeU5hbWUiLCJuYW1lIiwicHJvY2VkdXJlIiwibmFtZU1hdGNoZXMiLCJtYXRjaE5hbWUiLCJpc1Byb2NlZHVyZVByZXNlbnRCeU5hbWUiLCJwcm9jZWR1cmVQcmVzZW50IiwidHJhY2UiLCJtZXNzYWdlIiwiY29uc29sZSIsImxvZyIsImRlYnVnIiwiaW5mbyIsIndhcm5pbmciLCJlcnJvciIsInZlcmlmeSIsInJlbGVhc2VDb250ZXh0IiwiRmlsZUNvbnRleHQiLCJmcm9tRmlsZSIsImZyb21Ob3RoaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPYUE7OztlQUFBQTs7O3FCQUxlO3lCQUNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvQixJQUFNLEFBQUVDLE9BQVNDLHlCQUFjLENBQXZCRDtBQUVELElBQUEsQUFBTUQsK0JBQU47YUFBTUEsZUFDQ0csS0FBSyxFQUFFQyxZQUFZO2dDQURwQko7UUFFVCxJQUFJLENBQUNHLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLFlBQVksR0FBR0E7O2tCQUhYSjs7WUFNWEssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixLQUFLO1lBQ25COzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixZQUFZO1lBQzFCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFDLElBQUk7Z0JBQ1YsSUFBSSxDQUFDTCxLQUFLLENBQUNGLElBQUksQ0FBQ087WUFDbEI7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsZUFBZUMsV0FBVztnQkFDeEIsSUFBSSxDQUFDTixZQUFZLENBQUNILElBQUksQ0FBQ1M7WUFDekI7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQWNDLHNCQUFBQSxpRUFBc0I7Z0JBQ2xDLElBQU1DLGFBQWEsRUFBRTtnQkFFckIsSUFBSSxDQUFDVCxZQUFZLENBQUNVLE9BQU8sQ0FBQyxTQUFDSjtvQkFDekIsSUFBTUssaUJBQWlCLE9BQ2pCQyx3QkFBd0JOLFlBQVlDLGFBQWEsQ0FBQ0k7b0JBRXhEZCxLQUFLWSxZQUFZRztnQkFDbkI7Z0JBRUEsT0FBT0g7WUFDVDs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxRQUFRO2dCQUNmLElBQU1WLE9BQU8sSUFBSSxDQUFDTCxLQUFLLENBQUNnQixJQUFJLENBQUMsU0FBQ1g7b0JBQzVCLElBQU1ZLGtCQUFrQlosS0FBS2EsYUFBYSxDQUFDSDtvQkFFM0MsSUFBSUUsaUJBQWlCO3dCQUNuQixPQUFPO29CQUNUO2dCQUNGLE1BQU07Z0JBRU4sT0FBT1o7WUFDVDs7O1lBRUFjLEtBQUFBO21CQUFBQSxTQUFBQSxvQkFBb0JDLElBQUk7Z0JBQ3RCLElBQU1WLGFBQWEsSUFBSSxDQUFDRixhQUFhLElBQy9CYSxZQUFZWCxXQUFXTSxJQUFJLENBQUMsU0FBQ0s7b0JBQzNCLElBQU1DLGNBQWNELFVBQVVFLFNBQVMsQ0FBQ0g7b0JBRXhDLElBQUlFLGFBQWE7d0JBQ2YsT0FBTztvQkFDVDtnQkFDRixNQUFNO2dCQUVaLE9BQU9EO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEseUJBQXlCSixJQUFJO2dCQUMzQixJQUFNQyxZQUFZLElBQUksQ0FBQ0YsbUJBQW1CLENBQUNDLE9BQ3JDSyxtQkFBb0JKLGNBQWM7Z0JBRXhDLE9BQU9JO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUMsT0FBTztnQkFBSUMsUUFBUUMsR0FBRyxDQUFDRjtZQUFVOzs7WUFFdkNHLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNSCxPQUFPO2dCQUFJQyxRQUFRQyxHQUFHLENBQUNGO1lBQVU7OztZQUV2Q0ksS0FBQUE7bUJBQUFBLFNBQUFBLEtBQUtKLE9BQU87Z0JBQUlDLFFBQVFDLEdBQUcsQ0FBQ0Y7WUFBVTs7O1lBRXRDSyxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUUwsT0FBTztnQkFBSUMsUUFBUUMsR0FBRyxDQUFDRjtZQUFVOzs7WUFFekNNLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNTixPQUFPO2dCQUFJQyxRQUFRQyxHQUFHLENBQUNGO1lBQVU7OztZQUV2Q08sS0FBQUE7bUJBQUFBLFNBQUFBOztnQkFDRSxJQUFNQyxpQkFBaUIsSUFBSTtnQkFFM0IsSUFBSSxDQUFDbkMsS0FBSyxDQUFDVyxPQUFPLENBQUMsU0FBQ047b0JBQ2xCLElBQU1FLGNBQWM2QixrQkFBVyxDQUFDQyxRQUFRLENBQUNoQyxNQUFNOEI7b0JBRS9DNUIsWUFBWTJCLE1BQU07b0JBRWxCLE1BQUtqQyxZQUFZLENBQUNILElBQUksQ0FBQ1M7Z0JBQ3pCO1lBQ0Y7Ozs7WUFFTytCLEtBQUFBO21CQUFQLFNBQU9BO2dCQUNMLElBQU10QyxRQUFRLEVBQUUsRUFDVkMsZUFBZSxFQUFFLEVBQ2pCa0MsaUJBQWlCLElBNUZkdEMsZUE0RmlDRyxPQUFPQztnQkFFakQsT0FBT2tDO1lBQ1Q7OztXQS9GV3RDIn0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2NvbnRleHQvcmVsZWFzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRmlsZUNvbnRleHQgfSBmcm9tIFwiLi4vLi4vaW5kZXhcIjsgIC8vL1xuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBjbGFzcyBSZWxlYXNlQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGZpbGVzLCBmaWxlQ29udGV4dHMpIHtcbiAgICB0aGlzLmZpbGVzID0gZmlsZXM7XG4gICAgdGhpcy5maWxlQ29udGV4dHMgPSBmaWxlQ29udGV4dHM7XG4gIH1cblxuICBnZXRGaWxlcygpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlcztcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0cygpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlQ29udGV4dHM7XG4gIH1cblxuICBhZGRGaWxlKGZpbGUpIHtcbiAgICB0aGlzLmZpbGVzLnB1c2goZmlsZSk7XG4gIH1cblxuICBhZGRGaWxlQ29udGV4dChmaWxlQ29udGV4dCkge1xuICAgIHRoaXMuZmlsZUNvbnRleHRzLnB1c2goZmlsZUNvbnRleHQpO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlcyhpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZXMgPSBbXTtcblxuICAgIHRoaXMuZmlsZUNvbnRleHRzLmZvckVhY2goKGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCBpbmNsdWRlUmVsZWFzZSA9IGZhbHNlLFxuICAgICAgICAgICAgZmlsZUNvbnRleHRQcm9jZWR1cmVzID0gZmlsZUNvbnRleHQuZ2V0UHJvY2VkdXJlcyhpbmNsdWRlUmVsZWFzZSk7XG5cbiAgICAgIHB1c2gocHJvY2VkdXJlcywgZmlsZUNvbnRleHRQcm9jZWR1cmVzKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZmluZEZpbGUoZmlsZVBhdGgpIHtcbiAgICBjb25zdCBmaWxlID0gdGhpcy5maWxlcy5maW5kKChmaWxlKSA9PiB7XG4gICAgICBjb25zdCBmaWxlUGF0aE1hdGNoZXMgPSBmaWxlLm1hdGNoRmlsZVBhdGgoZmlsZVBhdGgpO1xuXG4gICAgICBpZiAoZmlsZVBhdGhNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pIHx8IG51bGw7XG5cbiAgICByZXR1cm4gZmlsZTtcbiAgfVxuXG4gIGZpbmRQcm9jZWR1cmVCeU5hbWUobmFtZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZXMgPSB0aGlzLmdldFByb2NlZHVyZXMoKSxcbiAgICAgICAgICBwcm9jZWR1cmUgPSBwcm9jZWR1cmVzLmZpbmQoKHByb2NlZHVyZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmFtZU1hdGNoZXMgPSBwcm9jZWR1cmUubWF0Y2hOYW1lKG5hbWUpO1xuXG4gICAgICAgICAgICBpZiAobmFtZU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cblxuICBpc1Byb2NlZHVyZVByZXNlbnRCeU5hbWUobmFtZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXMuZmluZFByb2NlZHVyZUJ5TmFtZShuYW1lKSxcbiAgICAgICAgICBwcm9jZWR1cmVQcmVzZW50ID0gKHByb2NlZHVyZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUHJlc2VudDtcbiAgfVxuXG4gIHRyYWNlKG1lc3NhZ2UpIHsgY29uc29sZS5sb2cobWVzc2FnZSk7IH1cblxuICBkZWJ1ZyhtZXNzYWdlKSB7IGNvbnNvbGUubG9nKG1lc3NhZ2UpOyB9XG5cbiAgaW5mbyhtZXNzYWdlKSB7IGNvbnNvbGUubG9nKG1lc3NhZ2UpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7IGNvbnNvbGUubG9nKG1lc3NhZ2UpOyB9XG5cbiAgZXJyb3IobWVzc2FnZSkgeyBjb25zb2xlLmxvZyhtZXNzYWdlKTsgfVxuXG4gIHZlcmlmeSgpIHtcbiAgICB0aGlzLmZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLCAvLy9cbiAgICAgICAgICAgIGZpbGVDb250ZXh0ID0gRmlsZUNvbnRleHQuZnJvbUZpbGUoZmlsZSwgY29udGV4dCk7XG5cbiAgICAgIGZpbGVDb250ZXh0LnZlcmlmeSgpO1xuXG4gICAgICB0aGlzLmZpbGVDb250ZXh0cy5wdXNoKGZpbGVDb250ZXh0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBmaWxlcyA9IFtdLFxuICAgICAgICAgIGZpbGVDb250ZXh0cyA9IFtdLFxuICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gbmV3IFJlbGVhc2VDb250ZXh0KGZpbGVzLCBmaWxlQ29udGV4dHMpO1xuXG4gICAgcmV0dXJuIHJlbGVhc2VDb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiUmVsZWFzZUNvbnRleHQiLCJwdXNoIiwiYXJyYXlVdGlsaXRpZXMiLCJmaWxlcyIsImZpbGVDb250ZXh0cyIsImdldEZpbGVzIiwiZ2V0RmlsZUNvbnRleHRzIiwiYWRkRmlsZSIsImZpbGUiLCJhZGRGaWxlQ29udGV4dCIsImZpbGVDb250ZXh0IiwiZ2V0UHJvY2VkdXJlcyIsImluY2x1ZGVEZXBlbmRlbmNpZXMiLCJwcm9jZWR1cmVzIiwiZm9yRWFjaCIsImluY2x1ZGVSZWxlYXNlIiwiZmlsZUNvbnRleHRQcm9jZWR1cmVzIiwiZmluZEZpbGUiLCJmaWxlUGF0aCIsImZpbmQiLCJmaWxlUGF0aE1hdGNoZXMiLCJtYXRjaEZpbGVQYXRoIiwiZmluZFByb2NlZHVyZUJ5TmFtZSIsIm5hbWUiLCJwcm9jZWR1cmUiLCJuYW1lTWF0Y2hlcyIsIm1hdGNoTmFtZSIsImlzUHJvY2VkdXJlUHJlc2VudEJ5TmFtZSIsInByb2NlZHVyZVByZXNlbnQiLCJ0cmFjZSIsIm1lc3NhZ2UiLCJjb25zb2xlIiwibG9nIiwiZGVidWciLCJpbmZvIiwid2FybmluZyIsImVycm9yIiwidmVyaWZ5IiwiY29udGV4dCIsIkZpbGVDb250ZXh0IiwiZnJvbUZpbGUiLCJmcm9tTm90aGluZyIsInJlbGVhc2VDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPYUE7OztlQUFBQTs7O3FCQUxlO3lCQUNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvQixJQUFNLEFBQUVDLE9BQVNDLHlCQUFjLENBQXZCRDtBQUVELElBQUEsQUFBTUQsK0JBQU47YUFBTUEsZUFDQ0csS0FBSyxFQUFFQyxZQUFZO2dDQURwQko7UUFFVCxJQUFJLENBQUNHLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLFlBQVksR0FBR0E7O2tCQUhYSjs7WUFNWEssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixLQUFLO1lBQ25COzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixZQUFZO1lBQzFCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFDLElBQUk7Z0JBQ1YsSUFBSSxDQUFDTCxLQUFLLENBQUNGLElBQUksQ0FBQ087WUFDbEI7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsZUFBZUMsV0FBVztnQkFDeEIsSUFBSSxDQUFDTixZQUFZLENBQUNILElBQUksQ0FBQ1M7WUFDekI7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQWNDLHNCQUFBQSxpRUFBc0I7Z0JBQ2xDLElBQU1DLGFBQWEsRUFBRTtnQkFFckIsSUFBSSxDQUFDVCxZQUFZLENBQUNVLE9BQU8sQ0FBQyxTQUFDSjtvQkFDekIsSUFBTUssaUJBQWlCLE9BQ2pCQyx3QkFBd0JOLFlBQVlDLGFBQWEsQ0FBQ0k7b0JBRXhEZCxLQUFLWSxZQUFZRztnQkFDbkI7Z0JBRUEsT0FBT0g7WUFDVDs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxRQUFRO2dCQUNmLElBQU1WLE9BQU8sSUFBSSxDQUFDTCxLQUFLLENBQUNnQixJQUFJLENBQUMsU0FBQ1g7b0JBQzVCLElBQU1ZLGtCQUFrQlosS0FBS2EsYUFBYSxDQUFDSDtvQkFFM0MsSUFBSUUsaUJBQWlCO3dCQUNuQixPQUFPO29CQUNUO2dCQUNGLE1BQU07Z0JBRU4sT0FBT1o7WUFDVDs7O1lBRUFjLEtBQUFBO21CQUFBQSxTQUFBQSxvQkFBb0JDLElBQUk7Z0JBQ3RCLElBQU1WLGFBQWEsSUFBSSxDQUFDRixhQUFhLElBQy9CYSxZQUFZWCxXQUFXTSxJQUFJLENBQUMsU0FBQ0s7b0JBQzNCLElBQU1DLGNBQWNELFVBQVVFLFNBQVMsQ0FBQ0g7b0JBRXhDLElBQUlFLGFBQWE7d0JBQ2YsT0FBTztvQkFDVDtnQkFDRixNQUFNO2dCQUVaLE9BQU9EO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEseUJBQXlCSixJQUFJO2dCQUMzQixJQUFNQyxZQUFZLElBQUksQ0FBQ0YsbUJBQW1CLENBQUNDLE9BQ3JDSyxtQkFBb0JKLGNBQWM7Z0JBRXhDLE9BQU9JO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUMsT0FBTztnQkFBSUMsUUFBUUMsR0FBRyxDQUFDRjtZQUFVOzs7WUFFdkNHLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNSCxPQUFPO2dCQUFJQyxRQUFRQyxHQUFHLENBQUNGO1lBQVU7OztZQUV2Q0ksS0FBQUE7bUJBQUFBLFNBQUFBLEtBQUtKLE9BQU87Z0JBQUlDLFFBQVFDLEdBQUcsQ0FBQ0Y7WUFBVTs7O1lBRXRDSyxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUUwsT0FBTztnQkFBSUMsUUFBUUMsR0FBRyxDQUFDRjtZQUFVOzs7WUFFekNNLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNTixPQUFPO2dCQUFJQyxRQUFRQyxHQUFHLENBQUNGO1lBQVU7OztZQUV2Q08sS0FBQUE7bUJBQUFBLFNBQUFBOztnQkFDRSxJQUFJLENBQUNsQyxLQUFLLENBQUNXLE9BQU8sQ0FBQyxTQUFDTjtvQkFDbEIsSUFBTThCLGlCQUNBNUIsY0FBYzZCLGtCQUFXLENBQUNDLFFBQVEsQ0FBQ2hDLE1BQU04QjtvQkFFL0M1QixZQUFZMkIsTUFBTTtvQkFFbEIsTUFBS2pDLFlBQVksQ0FBQ0gsSUFBSSxDQUFDUztnQkFDekI7WUFDRjs7OztZQUVPK0IsS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQ0wsSUFBTXRDLFFBQVEsRUFBRSxFQUNWQyxlQUFlLEVBQUUsRUFDakJzQyxpQkFBaUIsSUEzRmQxQyxlQTJGaUNHLE9BQU9DO2dCQUVqRCxPQUFPc0M7WUFDVDs7O1dBOUZXMUMifQ==
@@ -18,8 +18,8 @@ function _interop_require_default(obj) {
18
18
  }
19
19
  var nominalLexerFromCombinedCustomGrammar = _occamcustomgrammars.lexersUtilities.nominalLexerFromCombinedCustomGrammar, nominalParserFromStartRuleNameAndCombinedCustomGrammar = _occamcustomgrammars.parsersUtilities.nominalParserFromStartRuleNameAndCombinedCustomGrammar;
20
20
  function nominalFileContextFromReleaseContext(releaseContext) {
21
- var content = "∀n m = m", startRuleName = "statement", combinedCustomGrammar = (0, _grammar.combinedCustomGrammarFromNothing)(), nominalLexer = nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar), nominalParser = nominalParserFromStartRuleNameAndCombinedCustomGrammar(startRuleName, combinedCustomGrammar), lexer = nominalLexer, parser = nominalParser, tokens = lexer.tokenise(content), node = parser.parse(tokens), fileContext = _file.default.fromNodeAndTokens(node, tokens, releaseContext), nominalFileContext = fileContext; ///
21
+ var content = "∀n m = m", startRuleName = "statement", combinedCustomGrammar = (0, _grammar.combinedCustomGrammarFromNothing)(), nominalLexer = nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar), nominalParser = nominalParserFromStartRuleNameAndCombinedCustomGrammar(startRuleName, combinedCustomGrammar), lexer = nominalLexer, parser = nominalParser, tokens = lexer.tokenise(content), node = parser.parse(tokens), context = releaseContext, fileContext = _file.default.fromNodeAndTokens(node, tokens, context), nominalFileContext = fileContext; ///
22
22
  return nominalFileContext;
23
23
  }
24
24
 
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3V0aWxpdGllcy9ub21pbmFsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tY3VzdG9tLWdyYW1tYXJzXCI7XG5cbmltcG9ydCBGaWxlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9maWxlXCI7XG5cbmltcG9ydCB7IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ncmFtbWFyXCI7XG5cbmNvbnN0IHsgbm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIgfSA9IHBhcnNlcnNVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsRmlsZUNvbnRleHRGcm9tUmVsZWFzZUNvbnRleHQocmVsZWFzZUNvbnRleHQpIHtcbiAgY29uc3QgY29udGVudCA9IGDiiIBuIG0gPSBtYCxcbiAgICAgICAgc3RhcnRSdWxlTmFtZSA9IFwic3RhdGVtZW50XCIsXG4gICAgICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nKCksXG4gICAgICAgIG5vbWluYWxMZXhlciA9IG5vbWluYWxMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKSxcbiAgICAgICAgbm9taW5hbFBhcnNlciA9IG5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZUFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihzdGFydFJ1bGVOYW1lLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBsZXhlciA9IG5vbWluYWxMZXhlciwgLy8vXG4gICAgICAgIHBhcnNlciA9IG5vbWluYWxQYXJzZXIsIC8vL1xuICAgICAgICB0b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgbm9kZSA9IHBhcnNlci5wYXJzZSh0b2tlbnMpLFxuICAgICAgICBmaWxlQ29udGV4dCA9IEZpbGVDb250ZXh0LmZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2VucywgcmVsZWFzZUNvbnRleHQpLFxuICAgICAgICBub21pbmFsRmlsZUNvbnRleHQgPSBmaWxlQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBub21pbmFsRmlsZUNvbnRleHQ7XG59XG4iXSwibmFtZXMiOlsibm9taW5hbEZpbGVDb250ZXh0RnJvbVJlbGVhc2VDb250ZXh0Iiwibm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImxleGVyc1V0aWxpdGllcyIsIm5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZUFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJyZWxlYXNlQ29udGV4dCIsImNvbnRlbnQiLCJzdGFydFJ1bGVOYW1lIiwiY29tYmluZWRDdXN0b21HcmFtbWFyIiwiY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmciLCJub21pbmFsTGV4ZXIiLCJub21pbmFsUGFyc2VyIiwibGV4ZXIiLCJwYXJzZXIiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsIm5vZGUiLCJwYXJzZSIsImZpbGVDb250ZXh0IiwiRmlsZUNvbnRleHQiLCJmcm9tTm9kZUFuZFRva2VucyIsIm5vbWluYWxGaWxlQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV2dCQTs7O2VBQUFBOzs7bUNBVGtDOzJEQUUxQjt1QkFFeUI7Ozs7OztBQUVqRCxJQUFNLEFBQUVDLHdDQUEwQ0Msb0NBQWUsQ0FBekRELHVDQUNGLEFBQUVFLHlEQUEyREMscUNBQWdCLENBQTNFRDtBQUVELFNBQVNILHFDQUFxQ0ssY0FBYztJQUNqRSxJQUFNQyxVQUFVLFlBQ1ZDLGdCQUFnQixhQUNoQkMsd0JBQXdCQyxJQUFBQSx5Q0FBZ0MsS0FDeERDLGVBQWVULHNDQUFzQ08sd0JBQ3JERyxnQkFBZ0JSLHVEQUF1REksZUFBZUMsd0JBQ3RGSSxRQUFRRixjQUNSRyxTQUFTRixlQUNURyxTQUFTRixNQUFNRyxRQUFRLENBQUNULFVBQ3hCVSxPQUFPSCxPQUFPSSxLQUFLLENBQUNILFNBQ3BCSSxjQUFjQyxhQUFXLENBQUNDLGlCQUFpQixDQUFDSixNQUFNRixRQUFRVCxpQkFDMURnQixxQkFBcUJILGFBQWMsR0FBRztJQUU1QyxPQUFPRztBQUNUIn0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3V0aWxpdGllcy9ub21pbmFsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tY3VzdG9tLWdyYW1tYXJzXCI7XG5cbmltcG9ydCBGaWxlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9maWxlXCI7XG5cbmltcG9ydCB7IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ncmFtbWFyXCI7XG5cbmNvbnN0IHsgbm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIgfSA9IHBhcnNlcnNVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsRmlsZUNvbnRleHRGcm9tUmVsZWFzZUNvbnRleHQocmVsZWFzZUNvbnRleHQpIHtcbiAgY29uc3QgY29udGVudCA9IGDiiIBuIG0gPSBtYCxcbiAgICAgICAgc3RhcnRSdWxlTmFtZSA9IFwic3RhdGVtZW50XCIsXG4gICAgICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nKCksXG4gICAgICAgIG5vbWluYWxMZXhlciA9IG5vbWluYWxMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKSxcbiAgICAgICAgbm9taW5hbFBhcnNlciA9IG5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZUFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihzdGFydFJ1bGVOYW1lLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBsZXhlciA9IG5vbWluYWxMZXhlciwgLy8vXG4gICAgICAgIHBhcnNlciA9IG5vbWluYWxQYXJzZXIsIC8vL1xuICAgICAgICB0b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgbm9kZSA9IHBhcnNlci5wYXJzZSh0b2tlbnMpLFxuICAgICAgICBjb250ZXh0ID0gcmVsZWFzZUNvbnRleHQsIC8vL1xuICAgICAgICBmaWxlQ29udGV4dCA9IEZpbGVDb250ZXh0LmZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2VucywgY29udGV4dCksXG4gICAgICAgIG5vbWluYWxGaWxlQ29udGV4dCA9IGZpbGVDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIG5vbWluYWxGaWxlQ29udGV4dDtcbn1cbiJdLCJuYW1lcyI6WyJub21pbmFsRmlsZUNvbnRleHRGcm9tUmVsZWFzZUNvbnRleHQiLCJub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibGV4ZXJzVXRpbGl0aWVzIiwibm9taW5hbFBhcnNlckZyb21TdGFydFJ1bGVOYW1lQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyIiwicGFyc2Vyc1V0aWxpdGllcyIsInJlbGVhc2VDb250ZXh0IiwiY29udGVudCIsInN0YXJ0UnVsZU5hbWUiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tTm90aGluZyIsIm5vbWluYWxMZXhlciIsIm5vbWluYWxQYXJzZXIiLCJsZXhlciIsInBhcnNlciIsInRva2VucyIsInRva2VuaXNlIiwibm9kZSIsInBhcnNlIiwiY29udGV4dCIsImZpbGVDb250ZXh0IiwiRmlsZUNvbnRleHQiLCJmcm9tTm9kZUFuZFRva2VucyIsIm5vbWluYWxGaWxlQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV2dCQTs7O2VBQUFBOzs7bUNBVGtDOzJEQUUxQjt1QkFFeUI7Ozs7OztBQUVqRCxJQUFNLEFBQUVDLHdDQUEwQ0Msb0NBQWUsQ0FBekRELHVDQUNGLEFBQUVFLHlEQUEyREMscUNBQWdCLENBQTNFRDtBQUVELFNBQVNILHFDQUFxQ0ssY0FBYztJQUNqRSxJQUFNQyxVQUFVLFlBQ1ZDLGdCQUFnQixhQUNoQkMsd0JBQXdCQyxJQUFBQSx5Q0FBZ0MsS0FDeERDLGVBQWVULHNDQUFzQ08sd0JBQ3JERyxnQkFBZ0JSLHVEQUF1REksZUFBZUMsd0JBQ3RGSSxRQUFRRixjQUNSRyxTQUFTRixlQUNURyxTQUFTRixNQUFNRyxRQUFRLENBQUNULFVBQ3hCVSxPQUFPSCxPQUFPSSxLQUFLLENBQUNILFNBQ3BCSSxVQUFVYixnQkFDVmMsY0FBY0MsYUFBVyxDQUFDQyxpQkFBaUIsQ0FBQ0wsTUFBTUYsUUFBUUksVUFDMURJLHFCQUFxQkgsYUFBYyxHQUFHO0lBRTVDLE9BQU9HO0FBQ1QifQ==
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "chainContext", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return chainContext;
9
+ }
10
+ });
11
+ var _constants = require("../constants");
12
+ function _type_of(obj) {
13
+ "@swc/helpers - typeof";
14
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
15
+ }
16
+ function chainContext(context) {
17
+ return new Proxy(context, {
18
+ get: function(instance, name, receiver) {
19
+ if (name in instance) {
20
+ return Reflect.get(instance, name, receiver);
21
+ }
22
+ var _$context = instance.context, value = _$context[name];
23
+ return (typeof value === "undefined" ? "undefined" : _type_of(value)) === _constants.FUNCTION ? value.bind(_$context) : value;
24
+ }
25
+ });
26
+ }
27
+
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRlVOQ1RJT04gfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGFpbkNvbnRleHQoY29udGV4dCkge1xuICByZXR1cm4gbmV3IFByb3h5KGNvbnRleHQsIHtcbiAgICBnZXQ6IChpbnN0YW5jZSwgbmFtZSwgcmVjZWl2ZXIpID0+IHtcbiAgICAgIGlmIChuYW1lIGluIGluc3RhbmNlKSB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LmdldChpbnN0YW5jZSwgbmFtZSwgcmVjZWl2ZXIpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb250ZXh0ID0gaW5zdGFuY2UuY29udGV4dCxcbiAgICAgICAgICAgIHZhbHVlID0gY29udGV4dFtuYW1lXTtcblxuICAgICAgcmV0dXJuICh0eXBlb2YgdmFsdWUgPT09IEZVTkNUSU9OKSA/XG4gICAgICAgICAgICAgICB2YWx1ZS5iaW5kKGNvbnRleHQpIDpcbiAgICAgICAgICAgICAgICAgdmFsdWU7XG4gICAgfVxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJjaGFpbkNvbnRleHQiLCJjb250ZXh0IiwiUHJveHkiLCJnZXQiLCJpbnN0YW5jZSIsIm5hbWUiLCJyZWNlaXZlciIsIlJlZmxlY3QiLCJ2YWx1ZSIsIkZVTkNUSU9OIiwiYmluZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSWdCQTs7O2VBQUFBOzs7eUJBRlM7Ozs7O0FBRWxCLFNBQVNBLGFBQWFDLE9BQU87SUFDbEMsT0FBTyxJQUFJQyxNQUFNRCxTQUFTO1FBQ3hCRSxLQUFLLFNBQUNDLFVBQVVDLE1BQU1DO1lBQ3BCLElBQUlELFFBQVFELFVBQVU7Z0JBQ3BCLE9BQU9HLFFBQVFKLEdBQUcsQ0FBQ0MsVUFBVUMsTUFBTUM7WUFDckM7WUFFQSxJQUFNTCxZQUFVRyxTQUFTSCxPQUFPLEVBQzFCTyxRQUFRUCxTQUFPLENBQUNJLEtBQUs7WUFFM0IsT0FBTyxBQUFDLENBQUEsT0FBT0csc0NBQVAsU0FBT0EsTUFBSSxNQUFNQyxtQkFBUSxHQUN4QkQsTUFBTUUsSUFBSSxDQUFDVCxhQUNUTztRQUNiO0lBQ0Y7QUFDRiJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-furtle",
3
3
  "author": "James Smith",
4
- "version": "2.0.278",
4
+ "version": "2.0.280",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-furtle",
7
7
  "description": "Occam's Furtle language.",
@@ -4,12 +4,16 @@ import { arrayUtilities } from "necessary";
4
4
 
5
5
  import Exception from "../exception";
6
6
 
7
+ import { chainContext } from "../utilities/context";
8
+
7
9
  const { push } = arrayUtilities;
8
10
 
9
11
  export default class BlockContext {
10
12
  constructor(context, variables) {
11
13
  this.context = context;
12
14
  this.variables = variables;
15
+
16
+ return chainContext(this);
13
17
  }
14
18
 
15
19
  getContext() {
@@ -30,10 +34,6 @@ export default class BlockContext {
30
34
  return variables;
31
35
  }
32
36
 
33
- findProcedureByName(name) { return this.context.findProcedureByName(name); }
34
-
35
- isProcedurePresentByName(name) { return this.context.isProcedurePresentByName(name); }
36
-
37
37
  findVariableByVariableName(variableName, nested = true) {
38
38
  const variables = this.getVariables(nested),
39
39
  variable = variables.find((variable) => {
@@ -67,27 +67,13 @@ export default class BlockContext {
67
67
  throw exception;
68
68
  }
69
69
 
70
- const context = this;
70
+ const context = this; ///
71
71
 
72
72
  context.trace(`Added the '${variableString}' variable to the context.`);
73
73
 
74
74
  this.variables.push(variable);
75
75
  }
76
76
 
77
- nodeAsString(node) { return this.context.nodeAsString(node); }
78
-
79
- nodesAsString(node) { return this.context.nodesAsString(node); }
80
-
81
- trace(message) { this.context.trace(message); }
82
-
83
- debug(message) { this.context.debug(message); }
84
-
85
- info(message) { this.context.info(message); }
86
-
87
- warning(message) { this.context.warning(message); }
88
-
89
- error(message) { this.context.error(message); }
90
-
91
77
  static fromVariables(variables, context) {
92
78
  const blockContext = new BlockContext(context, variables);
93
79
 
@@ -6,6 +6,7 @@ import { lexersUtilities, parsersUtilities } from "occam-grammars";
6
6
  import dom from "../dom";
7
7
 
8
8
  import { nodesQuery } from "../utilities/query";
9
+ import { chainContext } from "../utilities/context";
9
10
  import { nodeAsString, nodesAsString } from "../utilities/string";
10
11
 
11
12
  const { push } = arrayUtilities,
@@ -19,16 +20,18 @@ const errorNodesQuery = nodesQuery("/document/error"),
19
20
  procedureDeclarationNodesQuery = nodesQuery("/document/procedureDeclaration");
20
21
 
21
22
  export default class FileContext {
22
- constructor(releaseContext, filePath, node, tokens, procedures) {
23
- this.releaseContext = releaseContext;
23
+ constructor(context, filePath, node, tokens, procedures) {
24
+ this.context = context;
24
25
  this.filePath = filePath;
25
26
  this.node = node;
26
27
  this.tokens = tokens;
27
28
  this.procedures = procedures;
29
+
30
+ return chainContext(this);
28
31
  }
29
32
 
30
- getReleaseContext() {
31
- return this.releaseContext;
33
+ getContext() {
34
+ return this.context;
32
35
  }
33
36
 
34
37
  getFilePath() {
@@ -55,8 +58,6 @@ export default class FileContext {
55
58
  return parser;
56
59
  }
57
60
 
58
- getMetaTypes() { return this.releaseContext.getMetaTypes(); }
59
-
60
61
  getLabels(includeRelease = true) {
61
62
  const labels = [];
62
63
 
@@ -99,7 +100,7 @@ export default class FileContext {
99
100
  push(procedures, this.procedures);
100
101
 
101
102
  if (includeRelease) {
102
- const releaseContextProcedures = this.releaseContext.getProcedures();
103
+ const releaseContextProcedures = this.context.getProcedures();
103
104
 
104
105
  push(procedures, releaseContextProcedures);
105
106
  }
@@ -155,12 +156,6 @@ export default class FileContext {
155
156
  return variables;
156
157
  }
157
158
 
158
- findFile(filePath) { return this.releaseContext.findFile(filePath); }
159
-
160
- findProcedureByName(name) { return this.releaseContext.findProcedureByName(name); }
161
-
162
- isProcedurePresentByName(name) { return this.releaseContext.isProcedurePresentByName(name); }
163
-
164
159
  addProcedures() {
165
160
  const context = this; ///
166
161
 
@@ -190,15 +185,15 @@ export default class FileContext {
190
185
  return string;
191
186
  }
192
187
 
193
- trace(message) { this.releaseContext.trace(message, this.filePath); }
188
+ trace(message) { this.context.trace(message, this.filePath); }
194
189
 
195
- debug(message) { this.releaseContext.debug(message, this.filePath); }
190
+ debug(message) { this.context.debug(message, this.filePath); }
196
191
 
197
- info(message) { this.releaseContext.info(message, this.filePath); }
192
+ info(message) { this.context.info(message, this.filePath); }
198
193
 
199
- warning(message) { this.releaseContext.warning(message, this.filePath); }
194
+ warning(message) { this.context.warning(message, this.filePath); }
200
195
 
201
- error(message) { this.releaseContext.error(message, this.filePath); }
196
+ error(message) { this.context.error(message, this.filePath); }
202
197
 
203
198
  verify() {
204
199
  let verified = false;
@@ -276,21 +271,21 @@ export default class FileContext {
276
271
  return json;
277
272
  }
278
273
 
279
- static fromFile(file, releaseContext) {
274
+ static fromFile(file, context) {
280
275
  const filePath = file.getPath(),
281
276
  tokens = null,
282
277
  node = null,
283
278
  procedures = [],
284
- fileContext = new FileContext(releaseContext, filePath, node, tokens, procedures);
279
+ fileContext = new FileContext(context, filePath, node, tokens, procedures);
285
280
 
286
281
  return fileContext;
287
282
  }
288
283
 
289
- static fromFilePath(filePath, releaseContext) {
284
+ static fromFilePath(filePath, context) {
290
285
  const tokens = null,
291
286
  node = null,
292
287
  procedures = null,
293
- fileContext = new FileContext(releaseContext, filePath, node, tokens, procedures);
288
+ fileContext = new FileContext(context, filePath, node, tokens, procedures);
294
289
 
295
290
  return fileContext;
296
291
  }
@@ -2,17 +2,21 @@
2
2
 
3
3
  import { stringUtilities } from "../../index"; ///
4
4
 
5
+ import { chainContext } from "../../utilities/context";
6
+
5
7
  const { nodeAsString, nodesAsString } = stringUtilities;
6
8
 
7
9
  export default class FileContext {
8
- constructor(releaseContext, node, tokens) {
9
- this.releaseContext = releaseContext;
10
+ constructor(context, node, tokens) {
11
+ this.context = context;
10
12
  this.node = node;
11
13
  this.tokens = tokens;
14
+
15
+ return chainContext(this);
12
16
  }
13
17
 
14
- getReleaseContext() {
15
- return this.releaseContext;
18
+ getContext() {
19
+ return this.context;
16
20
  }
17
21
 
18
22
  getNode() {
@@ -35,10 +39,6 @@ export default class FileContext {
35
39
  return procedures;
36
40
  }
37
41
 
38
- findProcedureByName(name) { return this.releaseContext.findProcedureByName(name); }
39
-
40
- isProcedurePresentByName(name) { return this.releaseContext.isProcedurePresentByName(name); }
41
-
42
42
  nodeAsString(node) {
43
43
  const string = nodeAsString(node, this.tokens);
44
44
 
@@ -51,18 +51,18 @@ export default class FileContext {
51
51
  return string;
52
52
  }
53
53
 
54
- trace(message) { this.releaseContext.trace(message, this.filePath); }
54
+ trace(message) { this.context.trace(message, this.filePath); }
55
55
 
56
- debug(message) { this.releaseContext.debug(message, this.filePath); }
56
+ debug(message) { this.context.debug(message, this.filePath); }
57
57
 
58
- info(message) { this.releaseContext.info(message, this.filePath); }
58
+ info(message) { this.context.info(message, this.filePath); }
59
59
 
60
- warning(message) { this.releaseContext.warning(message, this.filePath); }
60
+ warning(message) { this.context.warning(message, this.filePath); }
61
61
 
62
- error(message) { this.releaseContext.error(message, this.filePath); }
62
+ error(message) { this.context.error(message, this.filePath); }
63
63
 
64
- static fromNodeAndTokens(node, tokens, releaseContext) {
65
- const fileContext = new FileContext(releaseContext, node, tokens);
64
+ static fromNodeAndTokens(node, tokens, context) {
65
+ const fileContext = new FileContext(context, node, tokens);
66
66
 
67
67
  return fileContext;
68
68
  }
@@ -83,10 +83,9 @@ export class ReleaseContext {
83
83
  error(message) { console.log(message); }
84
84
 
85
85
  verify() {
86
- const releaseContext = this;
87
-
88
86
  this.files.forEach((file) => {
89
- const fileContext = FileContext.fromFile(file, releaseContext);
87
+ const context = this, ///
88
+ fileContext = FileContext.fromFile(file, context);
90
89
 
91
90
  fileContext.verify();
92
91
 
@@ -19,7 +19,8 @@ export function nominalFileContextFromReleaseContext(releaseContext) {
19
19
  parser = nominalParser, ///
20
20
  tokens = lexer.tokenise(content),
21
21
  node = parser.parse(tokens),
22
- fileContext = FileContext.fromNodeAndTokens(node, tokens, releaseContext),
22
+ context = releaseContext, ///
23
+ fileContext = FileContext.fromNodeAndTokens(node, tokens, context),
23
24
  nominalFileContext = fileContext; ///
24
25
 
25
26
  return nominalFileContext;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ import { FUNCTION } from "../constants";
4
+
5
+ export function chainContext(context) {
6
+ return new Proxy(context, {
7
+ get: (instance, name, receiver) => {
8
+ if (name in instance) {
9
+ return Reflect.get(instance, name, receiver);
10
+ }
11
+
12
+ const context = instance.context,
13
+ value = context[name];
14
+
15
+ return (typeof value === FUNCTION) ?
16
+ value.bind(context) :
17
+ value;
18
+ }
19
+ });
20
+ }