occam-verify-cli 1.0.34 → 1.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/context/file.js +8 -1
- package/lib/context/local.js +7 -1
- package/lib/dom/assertion/type.js +8 -5
- package/lib/dom/declaration/variable.js +3 -3
- package/lib/dom/declaration.js +8 -11
- package/lib/dom/derivation.js +12 -4
- package/lib/dom/frame.js +2 -2
- package/lib/dom/judgement.js +4 -3
- package/lib/dom/proofStep.js +14 -34
- package/lib/dom/subDerivation.js +12 -4
- package/lib/dom/subproof.js +2 -18
- package/lib/dom/type.js +9 -1
- package/lib/mixins/term/verify.js +6 -2
- package/package.json +1 -1
- package/src/context/file.js +7 -0
- package/src/context/local.js +2 -0
- package/src/dom/assertion/type.js +10 -5
- package/src/dom/declaration/variable.js +2 -2
- package/src/dom/declaration.js +7 -12
- package/src/dom/derivation.js +15 -3
- package/src/dom/frame.js +1 -2
- package/src/dom/judgement.js +8 -3
- package/src/dom/proofStep.js +19 -45
- package/src/dom/subDerivation.js +15 -3
- package/src/dom/subproof.js +1 -21
- package/src/dom/type.js +12 -0
- package/src/mixins/term/verify.js +9 -2
package/lib/dom/proofStep.js
CHANGED
|
@@ -12,7 +12,6 @@ var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
|
|
|
12
12
|
var _unify = /*#__PURE__*/ _interop_require_default(require("../mixins/proofStep/unify"));
|
|
13
13
|
var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
|
|
14
14
|
var _query = require("../utilities/query");
|
|
15
|
-
var _assignments = require("../utilities/assignments");
|
|
16
15
|
var _context = require("../utilities/context");
|
|
17
16
|
function _class_call_check(instance, Constructor) {
|
|
18
17
|
if (!(instance instanceof Constructor)) {
|
|
@@ -164,38 +163,6 @@ var _default = (0, _dom.domAssigned)((_ProofStep = /*#__PURE__*/ function() {
|
|
|
164
163
|
return unified;
|
|
165
164
|
}
|
|
166
165
|
},
|
|
167
|
-
{
|
|
168
|
-
key: "unifyStatement",
|
|
169
|
-
value: function unifyStatement(statement, context) {
|
|
170
|
-
var statementUnified;
|
|
171
|
-
var specificContext = context, generalContext = context, substitutions = _substitutions.default.fromNothing();
|
|
172
|
-
statementUnified = statement.unifyStatement(this.statement, substitutions, generalContext, specificContext);
|
|
173
|
-
if (statementUnified) {
|
|
174
|
-
var equivalences = context.getEquivalences(), substitutionsUnified = equivalences.unifySubstitutions(substitutions);
|
|
175
|
-
statementUnified = substitutionsUnified; ///
|
|
176
|
-
}
|
|
177
|
-
return statementUnified;
|
|
178
|
-
}
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
key: "verifyAndUnify",
|
|
182
|
-
value: function verifyAndUnify(substitutions, context) {
|
|
183
|
-
var verifiedAndUnified = false;
|
|
184
|
-
var assignments = [], verified = this.verify(substitutions, assignments, context);
|
|
185
|
-
if (verified) {
|
|
186
|
-
var unified = this.unify(substitutions, context);
|
|
187
|
-
if (unified) {
|
|
188
|
-
var assignmentsAssigned = (0, _assignments.assignAssignments)(assignments, context);
|
|
189
|
-
if (assignmentsAssigned) {
|
|
190
|
-
var proofStepSubproof = this; ///
|
|
191
|
-
context.addProofStepSubproof(proofStepSubproof);
|
|
192
|
-
verifiedAndUnified = true; ///
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
return verifiedAndUnified;
|
|
197
|
-
}
|
|
198
|
-
},
|
|
199
166
|
{
|
|
200
167
|
key: "verify",
|
|
201
168
|
value: function verify(substitutions, assignments, context) {
|
|
@@ -220,6 +187,19 @@ var _default = (0, _dom.domAssigned)((_ProofStep = /*#__PURE__*/ function() {
|
|
|
220
187
|
}
|
|
221
188
|
return verified;
|
|
222
189
|
}
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
key: "unifyStatement",
|
|
193
|
+
value: function unifyStatement(statement, context) {
|
|
194
|
+
var statementUnified;
|
|
195
|
+
var specificContext = context, generalContext = context, substitutions = _substitutions.default.fromNothing();
|
|
196
|
+
statementUnified = statement.unifyStatement(this.statement, substitutions, generalContext, specificContext);
|
|
197
|
+
if (statementUnified) {
|
|
198
|
+
var equivalences = context.getEquivalences(), substitutionsUnified = equivalences.unifySubstitutions(substitutions);
|
|
199
|
+
statementUnified = substitutionsUnified; ///
|
|
200
|
+
}
|
|
201
|
+
return statementUnified;
|
|
202
|
+
}
|
|
223
203
|
}
|
|
224
204
|
], [
|
|
225
205
|
{
|
|
@@ -245,4 +225,4 @@ var _default = (0, _dom.domAssigned)((_ProofStep = /*#__PURE__*/ function() {
|
|
|
245
225
|
return ProofStep;
|
|
246
226
|
}(), _define_property(_ProofStep, "name", "ProofStep"), _ProofStep));
|
|
247
227
|
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcHJvb2ZTdGVwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCB1bmlmeU1peGlucyBmcm9tIFwiLi4vbWl4aW5zL3Byb29mU3RlcC91bmlmeVwiO1xuaW1wb3J0IFN1YnN0aXR1dGlvbnMgZnJvbSBcIi4uL3N1YnN0aXR1dGlvbnNcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgeyBhc3NpZ25Bc3NpZ25tZW50cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcbmltcG9ydCB7IHByb3BlcnR5QXNzZXJ0aW9uRnJvbVN0YXRlbWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuXG5jb25zdCBwcm9vZlN0ZXBOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJvb2ZTdGVwXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBQcm9vZlN0ZXAge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHN0YXRlbWVudCwgcmVmZXJlbmNlKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy5zdGF0ZW1lbnQgPSBzdGF0ZW1lbnQ7XG4gICAgdGhpcy5yZWZlcmVuY2UgPSByZWZlcmVuY2U7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFJlZmVyZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2U7XG4gIH1cblxuICBpc1F1YWxpZmllZCgpIHtcbiAgICBjb25zdCBxdWFsaWZpZWQgPSAodGhpcy5yZWZlcmVuY2UgIT09IG51bGwpO1xuXG4gICAgcmV0dXJuIHF1YWxpZmllZDtcbiAgfVxuXG4gIGlzUHJvb2ZTdGVwKCkge1xuICAgIGNvbnN0IHByb29mU3RlcCA9IHRydWU7XG5cbiAgICByZXR1cm4gcHJvb2ZTdGVwO1xuICB9XG5cbiAgbWF0Y2hUZXJtQW5kUHJvcGVydHlSZWxhdGlvbih0ZXJtLCBwcm9wZXJ0eVJlbGF0aW9uLCBjb250ZXh0KSB7XG4gICAgbGV0IHRlcm1BbmRQcm9wZXJ0eVJlbGF0aW9uTWF0Y2ggPSBmYWxzZTtcblxuICAgIGNvbnN0IHByb3BlcnR5QXNzZXJ0aW9uID0gcHJvcGVydHlBc3NlcnRpb25Gcm9tU3RhdGVtZW50KHRoaXMuc3RhdGVtZW50LCBjb250ZXh0KTtcblxuICAgIGlmIChwcm9wZXJ0eUFzc2VydGlvbiAhPT0gbnVsbCkge1xuICAgICAgdGVybUFuZFByb3BlcnR5UmVsYXRpb25NYXRjaCA9IHByb3BlcnR5QXNzZXJ0aW9uLm1hdGNoVGVybUFuZFByb3BlcnR5UmVsYXRpb24odGVybSwgcHJvcGVydHlSZWxhdGlvbiwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRlcm1BbmRQcm9wZXJ0eVJlbGF0aW9uTWF0Y2g7XG4gIH1cblxuICB1bmlmeShzdWJzdGl0dXRpb25zLCBjb250ZXh0KSB7XG4gICAgbGV0IHVuaWZpZWQ7XG5cbiAgICBjb25zdCBwcm9vZlN0ZXBTdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3Byb29mU3RlcFN0cmluZ30nIHByb29mIHN0ZXAuLi5gKTtcblxuICAgIHVuaWZpZWQgPSB1bmlmeU1peGlucy5zb21lKCh1bmlmeU1peGluKSA9PiB7XG4gICAgICBjb25zdCB1bmlmaWVkID0gdW5pZnlNaXhpbih0aGlzLnN0YXRlbWVudCwgdGhpcy5yZWZlcmVuY2UsIHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpO1xuXG4gICAgICBpZiAodW5pZmllZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICh1bmlmaWVkKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtwcm9vZlN0ZXBTdHJpbmd9JyBwcm9vZiBzdGVwLmApO1xuICAgIH1cblxuICAgIHJldHVybiB1bmlmaWVkO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgICBjb25zdCBzcGVjaWZpY0NvbnRleHQgPSBjb250ZXh0LCAvLy9cbiAgICAgICAgICBnZW5lcmFsQ29udGV4dCA9IGNvbnRleHQsIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCk7XG5cbiAgICBzdGF0ZW1lbnRVbmlmaWVkID0gc3RhdGVtZW50LnVuaWZ5U3RhdGVtZW50KHRoaXMuc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICBjb25zdCBlcXVpdmFsZW5jZXMgPSBjb250ZXh0LmdldEVxdWl2YWxlbmNlcygpLFxuICAgICAgICAgICAgc3Vic3RpdHV0aW9uc1VuaWZpZWQgPSBlcXVpdmFsZW5jZXMudW5pZnlTdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBzdGF0ZW1lbnRVbmlmaWVkID0gc3Vic3RpdHV0aW9uc1VuaWZpZWQ7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIHZlcmlmeUFuZFVuaWZ5KHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWRBbmRVbmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgIHZlcmlmaWVkID0gdGhpcy52ZXJpZnkoc3Vic3RpdHV0aW9ucywgYXNzaWdubWVudHMsIGNvbnRleHQpO1xuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICBjb25zdCB1bmlmaWVkID0gdGhpcy51bmlmeShzdWJzdGl0dXRpb25zLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHVuaWZpZWQpIHtcbiAgICAgICAgY29uc3QgYXNzaWdubWVudHNBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnRzKGFzc2lnbm1lbnRzLCBjb250ZXh0KTtcblxuICAgICAgICBpZiAoYXNzaWdubWVudHNBc3NpZ25lZCkge1xuICAgICAgICAgIGNvbnN0IHByb29mU3RlcFN1YnByb29mID0gdGhpczsgLy8vXG5cbiAgICAgICAgICBjb250ZXh0LmFkZFByb29mU3RlcFN1YnByb29mKHByb29mU3RlcFN1YnByb29mKTtcblxuICAgICAgICAgIHZlcmlmaWVkQW5kVW5pZmllZCA9IHRydWU7IC8vL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkQW5kVW5pZmllZDtcbiAgfVxuXG4gIHZlcmlmeShzdWJzdGl0dXRpb25zLCBhc3NpZ25tZW50cywgY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgcHJvb2ZTdGVwU3RyaW5nID0gdGhpcy5zdHJpbmc7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb29mU3RlcFN0cmluZ30nIHByb29mIHN0ZXAuLi5gKTtcblxuICAgIGlmICh0aGlzLnN0YXRlbWVudCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcXVhbGlmaWVkID0gdGhpcy5pc1F1YWxpZmllZCgpLFxuICAgICAgICAgICAgc3RhdGVkID0gcXVhbGlmaWVkLCAvLy9cbiAgICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdGhpcy5zdGF0ZW1lbnQudmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVmZXJlbmNlID09PSBudWxsKSB7XG4gICAgICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZVZlcmlmaWVkID0gdGhpcy5yZWZlcmVuY2UudmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgICAgICAgdmVyaWZpZWQgPSByZWZlcmVuY2VWZXJpZmllZDsgLy8vXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgQ2Fubm90IHZlcmlmeSB0aGUgJyR7cHJvb2ZTdGVwU3RyaW5nfScgcHJvb2Ygc3RlcCBiZWNhdXNlIGl0IGlzIG5vbnNlbnNlLmApO1xuICAgIH1cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3Byb29mU3RlcFN0cmluZ30nIHByb29mIHN0ZXAuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlByb29mU3RlcFwiO1xuXG4gIHN0YXRpYyBmcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBzdHJpbmcgPSBzdGF0ZW1lbnRTdHJpbmcsIC8vL1xuICAgICAgICAgIHJlZmVyZW5jZSA9IG51bGwsXG4gICAgICAgICAgcHJvb2ZTdGVwID0gbmV3IFByb29mU3RlcChzdHJpbmcsIHN0YXRlbWVudCwgcmVmZXJlbmNlKTtcblxuICAgIHJldHVybiBwcm9vZlN0ZXA7XG4gIH1cblxuICBzdGF0aWMgZnJvbVByb29mU3RlcFN1YnByb29mTm9kZShwcm9vZlN0ZXBTdWJwcm9vZk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHByb29mU3RlcCA9IG51bGw7XG5cbiAgICBjb25zdCBwcm9vZlN0ZXBOb2RlID0gcHJvb2ZTdGVwTm9kZVF1ZXJ5KHByb29mU3RlcFN1YnByb29mTm9kZSk7XG5cbiAgICBpZiAocHJvb2ZTdGVwTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBTdGF0ZW1lbnQsIFJlZmVyZW5jZSB9ID0gZG9tLFxuICAgICAgICAgICAgbm9kZSA9IHByb29mU3RlcE5vZGUsIC8vL1xuICAgICAgICAgICAgc3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21Qcm9vZlN0ZXBOb2RlKHByb29mU3RlcE5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgIHJlZmVyZW5jZSA9IFJlZmVyZW5jZS5mcm9tUHJvb2ZTdGVwTm9kZShwcm9vZlN0ZXBOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgIHByb29mU3RlcCA9IG5ldyBQcm9vZlN0ZXAoc3RyaW5nLCBzdGF0ZW1lbnQsIHJlZmVyZW5jZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb29mU3RlcDtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsicHJvb2ZTdGVwTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJQcm9vZlN0ZXAiLCJzdHJpbmciLCJzdGF0ZW1lbnQiLCJyZWZlcmVuY2UiLCJnZXRTdHJpbmciLCJnZXRTdGF0ZW1lbnQiLCJnZXRSZWZlcmVuY2UiLCJpc1F1YWxpZmllZCIsInF1YWxpZmllZCIsImlzUHJvb2ZTdGVwIiwicHJvb2ZTdGVwIiwibWF0Y2hUZXJtQW5kUHJvcGVydHlSZWxhdGlvbiIsInRlcm0iLCJwcm9wZXJ0eVJlbGF0aW9uIiwiY29udGV4dCIsInRlcm1BbmRQcm9wZXJ0eVJlbGF0aW9uTWF0Y2giLCJwcm9wZXJ0eUFzc2VydGlvbiIsInByb3BlcnR5QXNzZXJ0aW9uRnJvbVN0YXRlbWVudCIsInVuaWZ5Iiwic3Vic3RpdHV0aW9ucyIsInVuaWZpZWQiLCJwcm9vZlN0ZXBTdHJpbmciLCJ0cmFjZSIsInVuaWZ5TWl4aW5zIiwic29tZSIsInVuaWZ5TWl4aW4iLCJkZWJ1ZyIsInVuaWZ5U3RhdGVtZW50Iiwic3RhdGVtZW50VW5pZmllZCIsInNwZWNpZmljQ29udGV4dCIsImdlbmVyYWxDb250ZXh0IiwiU3Vic3RpdHV0aW9ucyIsImZyb21Ob3RoaW5nIiwiZXF1aXZhbGVuY2VzIiwiZ2V0RXF1aXZhbGVuY2VzIiwic3Vic3RpdHV0aW9uc1VuaWZpZWQiLCJ1bmlmeVN1YnN0aXR1dGlvbnMiLCJ2ZXJpZnlBbmRVbmlmeSIsInZlcmlmaWVkQW5kVW5pZmllZCIsImFzc2lnbm1lbnRzIiwidmVyaWZpZWQiLCJ2ZXJpZnkiLCJhc3NpZ25tZW50c0Fzc2lnbmVkIiwiYXNzaWduQXNzaWdubWVudHMiLCJwcm9vZlN0ZXBTdWJwcm9vZiIsImFkZFByb29mU3RlcFN1YnByb29mIiwic3RhdGVkIiwic3RhdGVtZW50VmVyaWZpZWQiLCJyZWZlcmVuY2VWZXJpZmllZCIsImZyb21TdGF0ZW1lbnQiLCJzdGF0ZW1lbnRTdHJpbmciLCJmcm9tUHJvb2ZTdGVwU3VicHJvb2ZOb2RlIiwicHJvb2ZTdGVwU3VicHJvb2ZOb2RlIiwiZmlsZUNvbnRleHQiLCJwcm9vZlN0ZXBOb2RlIiwiU3RhdGVtZW50IiwiZG9tIiwiUmVmZXJlbmNlIiwibm9kZSIsIm5vZGVBc1N0cmluZyIsImZyb21Qcm9vZlN0ZXBOb2RlIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYUE7OztlQUFBOzs7MkRBWGdCOzREQUNRO29FQUNFO3FCQUVBOzJCQUVRO3VCQUNhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvQyxJQUFNQSxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7SUFFckMsV0FBZUMsSUFBQUEsZ0JBQVcsOEJBQUM7YUFBTUMsVUFD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
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcHJvb2ZTdGVwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCB1bmlmeU1peGlucyBmcm9tIFwiLi4vbWl4aW5zL3Byb29mU3RlcC91bmlmeVwiO1xuaW1wb3J0IFN1YnN0aXR1dGlvbnMgZnJvbSBcIi4uL3N1YnN0aXR1dGlvbnNcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgeyBwcm9wZXJ0eUFzc2VydGlvbkZyb21TdGF0ZW1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcblxuY29uc3QgcHJvb2ZTdGVwTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Byb29mU3RlcFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgUHJvb2ZTdGVwIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCBzdGF0ZW1lbnQsIHJlZmVyZW5jZSkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMuc3RhdGVtZW50ID0gc3RhdGVtZW50O1xuICAgIHRoaXMucmVmZXJlbmNlID0gcmVmZXJlbmNlO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRSZWZlcmVuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlO1xuICB9XG5cbiAgaXNRdWFsaWZpZWQoKSB7XG4gICAgY29uc3QgcXVhbGlmaWVkID0gKHRoaXMucmVmZXJlbmNlICE9PSBudWxsKTtcblxuICAgIHJldHVybiBxdWFsaWZpZWQ7XG4gIH1cblxuICBpc1Byb29mU3RlcCgpIHtcbiAgICBjb25zdCBwcm9vZlN0ZXAgPSB0cnVlO1xuXG4gICAgcmV0dXJuIHByb29mU3RlcDtcbiAgfVxuXG4gIG1hdGNoVGVybUFuZFByb3BlcnR5UmVsYXRpb24odGVybSwgcHJvcGVydHlSZWxhdGlvbiwgY29udGV4dCkge1xuICAgIGxldCB0ZXJtQW5kUHJvcGVydHlSZWxhdGlvbk1hdGNoID0gZmFsc2U7XG5cbiAgICBjb25zdCBwcm9wZXJ0eUFzc2VydGlvbiA9IHByb3BlcnR5QXNzZXJ0aW9uRnJvbVN0YXRlbWVudCh0aGlzLnN0YXRlbWVudCwgY29udGV4dCk7XG5cbiAgICBpZiAocHJvcGVydHlBc3NlcnRpb24gIT09IG51bGwpIHtcbiAgICAgIHRlcm1BbmRQcm9wZXJ0eVJlbGF0aW9uTWF0Y2ggPSBwcm9wZXJ0eUFzc2VydGlvbi5tYXRjaFRlcm1BbmRQcm9wZXJ0eVJlbGF0aW9uKHRlcm0sIHByb3BlcnR5UmVsYXRpb24sIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiB0ZXJtQW5kUHJvcGVydHlSZWxhdGlvbk1hdGNoO1xuICB9XG5cbiAgdW5pZnkoc3Vic3RpdHV0aW9ucywgY29udGV4dCkge1xuICAgIGxldCB1bmlmaWVkO1xuXG4gICAgY29uc3QgcHJvb2ZTdGVwU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtwcm9vZlN0ZXBTdHJpbmd9JyBwcm9vZiBzdGVwLi4uYCk7XG5cbiAgICB1bmlmaWVkID0gdW5pZnlNaXhpbnMuc29tZSgodW5pZnlNaXhpbikgPT4ge1xuICAgICAgY29uc3QgdW5pZmllZCA9IHVuaWZ5TWl4aW4odGhpcy5zdGF0ZW1lbnQsIHRoaXMucmVmZXJlbmNlLCBzdWJzdGl0dXRpb25zLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHVuaWZpZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodW5pZmllZCkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cHJvb2ZTdGVwU3RyaW5nfScgcHJvb2Ygc3RlcC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5pZmllZDtcbiAgfVxuXG4gIHZlcmlmeShzdWJzdGl0dXRpb25zLCBhc3NpZ25tZW50cywgY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgcHJvb2ZTdGVwU3RyaW5nID0gdGhpcy5zdHJpbmc7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb29mU3RlcFN0cmluZ30nIHByb29mIHN0ZXAuLi5gKTtcblxuICAgIGlmICh0aGlzLnN0YXRlbWVudCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcXVhbGlmaWVkID0gdGhpcy5pc1F1YWxpZmllZCgpLFxuICAgICAgICAgICAgc3RhdGVkID0gcXVhbGlmaWVkLCAvLy9cbiAgICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdGhpcy5zdGF0ZW1lbnQudmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgICAgaWYgKHRoaXMucmVmZXJlbmNlID09PSBudWxsKSB7XG4gICAgICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZVZlcmlmaWVkID0gdGhpcy5yZWZlcmVuY2UudmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgICAgICAgdmVyaWZpZWQgPSByZWZlcmVuY2VWZXJpZmllZDsgLy8vXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgQ2Fubm90IHZlcmlmeSB0aGUgJyR7cHJvb2ZTdGVwU3RyaW5nfScgcHJvb2Ygc3RlcCBiZWNhdXNlIGl0IGlzIG5vbnNlbnNlLmApO1xuICAgIH1cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3Byb29mU3RlcFN0cmluZ30nIHByb29mIHN0ZXAuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgICBjb25zdCBzcGVjaWZpY0NvbnRleHQgPSBjb250ZXh0LCAvLy9cbiAgICAgICAgICBnZW5lcmFsQ29udGV4dCA9IGNvbnRleHQsIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCk7XG5cbiAgICBzdGF0ZW1lbnRVbmlmaWVkID0gc3RhdGVtZW50LnVuaWZ5U3RhdGVtZW50KHRoaXMuc3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICBjb25zdCBlcXVpdmFsZW5jZXMgPSBjb250ZXh0LmdldEVxdWl2YWxlbmNlcygpLFxuICAgICAgICAgICAgc3Vic3RpdHV0aW9uc1VuaWZpZWQgPSBlcXVpdmFsZW5jZXMudW5pZnlTdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBzdGF0ZW1lbnRVbmlmaWVkID0gc3Vic3RpdHV0aW9uc1VuaWZpZWQ7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQcm9vZlN0ZXBcIjtcblxuICBzdGF0aWMgZnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3RyaW5nID0gc3RhdGVtZW50U3RyaW5nLCAvLy9cbiAgICAgICAgICByZWZlcmVuY2UgPSBudWxsLFxuICAgICAgICAgIHByb29mU3RlcCA9IG5ldyBQcm9vZlN0ZXAoc3RyaW5nLCBzdGF0ZW1lbnQsIHJlZmVyZW5jZSk7XG5cbiAgICByZXR1cm4gcHJvb2ZTdGVwO1xuICB9XG5cbiAgc3RhdGljIGZyb21Qcm9vZlN0ZXBTdWJwcm9vZk5vZGUocHJvb2ZTdGVwU3VicHJvb2ZOb2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCBwcm9vZlN0ZXAgPSBudWxsO1xuXG4gICAgY29uc3QgcHJvb2ZTdGVwTm9kZSA9IHByb29mU3RlcE5vZGVRdWVyeShwcm9vZlN0ZXBTdWJwcm9vZk5vZGUpO1xuXG4gICAgaWYgKHByb29mU3RlcE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHsgU3RhdGVtZW50LCBSZWZlcmVuY2UgfSA9IGRvbSxcbiAgICAgICAgICAgIG5vZGUgPSBwcm9vZlN0ZXBOb2RlLCAvLy9cbiAgICAgICAgICAgIHN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgICAgIHN0YXRlbWVudCA9IFN0YXRlbWVudC5mcm9tUHJvb2ZTdGVwTm9kZShwcm9vZlN0ZXBOb2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICByZWZlcmVuY2UgPSBSZWZlcmVuY2UuZnJvbVByb29mU3RlcE5vZGUocHJvb2ZTdGVwTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICBwcm9vZlN0ZXAgPSBuZXcgUHJvb2ZTdGVwKHN0cmluZywgc3RhdGVtZW50LCByZWZlcmVuY2UpO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9vZlN0ZXA7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbInByb29mU3RlcE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiUHJvb2ZTdGVwIiwic3RyaW5nIiwic3RhdGVtZW50IiwicmVmZXJlbmNlIiwiZ2V0U3RyaW5nIiwiZ2V0U3RhdGVtZW50IiwiZ2V0UmVmZXJlbmNlIiwiaXNRdWFsaWZpZWQiLCJxdWFsaWZpZWQiLCJpc1Byb29mU3RlcCIsInByb29mU3RlcCIsIm1hdGNoVGVybUFuZFByb3BlcnR5UmVsYXRpb24iLCJ0ZXJtIiwicHJvcGVydHlSZWxhdGlvbiIsImNvbnRleHQiLCJ0ZXJtQW5kUHJvcGVydHlSZWxhdGlvbk1hdGNoIiwicHJvcGVydHlBc3NlcnRpb24iLCJwcm9wZXJ0eUFzc2VydGlvbkZyb21TdGF0ZW1lbnQiLCJ1bmlmeSIsInN1YnN0aXR1dGlvbnMiLCJ1bmlmaWVkIiwicHJvb2ZTdGVwU3RyaW5nIiwidHJhY2UiLCJ1bmlmeU1peGlucyIsInNvbWUiLCJ1bmlmeU1peGluIiwiZGVidWciLCJ2ZXJpZnkiLCJhc3NpZ25tZW50cyIsInZlcmlmaWVkIiwic3RhdGVkIiwic3RhdGVtZW50VmVyaWZpZWQiLCJyZWZlcmVuY2VWZXJpZmllZCIsInVuaWZ5U3RhdGVtZW50Iiwic3RhdGVtZW50VW5pZmllZCIsInNwZWNpZmljQ29udGV4dCIsImdlbmVyYWxDb250ZXh0IiwiU3Vic3RpdHV0aW9ucyIsImZyb21Ob3RoaW5nIiwiZXF1aXZhbGVuY2VzIiwiZ2V0RXF1aXZhbGVuY2VzIiwic3Vic3RpdHV0aW9uc1VuaWZpZWQiLCJ1bmlmeVN1YnN0aXR1dGlvbnMiLCJmcm9tU3RhdGVtZW50Iiwic3RhdGVtZW50U3RyaW5nIiwiZnJvbVByb29mU3RlcFN1YnByb29mTm9kZSIsInByb29mU3RlcFN1YnByb29mTm9kZSIsImZpbGVDb250ZXh0IiwicHJvb2ZTdGVwTm9kZSIsIlN0YXRlbWVudCIsImRvbSIsIlJlZmVyZW5jZSIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJmcm9tUHJvb2ZTdGVwTm9kZSIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVlBOzs7ZUFBQTs7OzJEQVZnQjs0REFDUTtvRUFDRTtxQkFFQTt1QkFFcUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
package/lib/dom/subDerivation.js
CHANGED
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _necessary = require("necessary");
|
|
12
12
|
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
|
|
13
13
|
var _query = require("../utilities/query");
|
|
14
|
+
var _assignments = require("../utilities/assignments");
|
|
14
15
|
function _class_call_check(instance, Constructor) {
|
|
15
16
|
if (!(instance instanceof Constructor)) {
|
|
16
17
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -111,9 +112,16 @@ var _default = (0, _dom.domAssigned)((_SubDerivation = /*#__PURE__*/ function()
|
|
|
111
112
|
value: function verify(substitutions, context) {
|
|
112
113
|
var verified;
|
|
113
114
|
verified = this.proofStepSubproofs.every(function(proofStepSubproof) {
|
|
114
|
-
var
|
|
115
|
-
if (
|
|
116
|
-
|
|
115
|
+
var assignments = [], proofStepSubproofVerified = proofStepSubproof.verify(substitutions, assignments, context);
|
|
116
|
+
if (proofStepSubproofVerified) {
|
|
117
|
+
var proofStepSubproofUnified = proofStepSubproof.unify(substitutions, context);
|
|
118
|
+
if (proofStepSubproofUnified) {
|
|
119
|
+
var assignmentsAssigned = (0, _assignments.assignAssignments)(assignments, context);
|
|
120
|
+
if (assignmentsAssigned) {
|
|
121
|
+
context.addProofStepSubproof(proofStepSubproof);
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
117
125
|
}
|
|
118
126
|
});
|
|
119
127
|
return verified;
|
|
@@ -138,4 +146,4 @@ function proofStepSubproofFromSubDerivationNode(subDerivationNode, fileContext)
|
|
|
138
146
|
return proofStepSubproofs;
|
|
139
147
|
}
|
|
140
148
|
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vc3ViRGVyaXZhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgeyBhc3NpZ25Bc3NpZ25tZW50cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcblxuY29uc3QgeyBsYXN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuY29uc3QgcHJvb2ZTdGVwU3VicHJvb2ZOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9zdWJEZXJpdmF0aW9uL3Byb29mU3RlcHxzdWJwcm9vZlwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgU3ViRGVyaXZhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHByb29mU3RlcFN1YnByb29mcykge1xuICAgIHRoaXMucHJvb2ZTdGVwU3VicHJvb2ZzID0gcHJvb2ZTdGVwU3VicHJvb2ZzO1xuICB9XG5cbiAgZ2V0UHJvb2ZTdGVwU3VicHJvb2ZzKCkge1xuICAgIHJldHVybiB0aGlzLnByb29mU3RlcFN1YnByb29mcztcbiAgfVxuXG4gIGdldExhc3RQcm9vZlN0ZXAoKSB7XG4gICAgY29uc3QgbGFzdFByb29mU3RlcFN1YnByb29mID0gbGFzdCh0aGlzLnByb29mU3RlcFN1YnByb29mcyksXG4gICAgICAgICAgbGFzdFByb29mU3RlcCA9IGxhc3RQcm9vZlN0ZXBTdWJwcm9vZjsgIC8vL1xuXG4gICAgcmV0dXJuIGxhc3RQcm9vZlN0ZXA7XG4gIH1cblxuICB2ZXJpZnkoc3Vic3RpdHV0aW9ucywgY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZDtcblxuICAgIHZlcmlmaWVkID0gdGhpcy5wcm9vZlN0ZXBTdWJwcm9vZnMuZXZlcnkoKHByb29mU3RlcFN1YnByb29mKSA9PiB7IC8vL1xuICAgICAgY29uc3QgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICAgIHByb29mU3RlcFN1YnByb29mVmVyaWZpZWQgPSBwcm9vZlN0ZXBTdWJwcm9vZi52ZXJpZnkoc3Vic3RpdHV0aW9ucywgYXNzaWdubWVudHMsIGNvbnRleHQpO1xuXG4gICAgICBpZiAocHJvb2ZTdGVwU3VicHJvb2ZWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBwcm9vZlN0ZXBTdWJwcm9vZlVuaWZpZWQgPSBwcm9vZlN0ZXBTdWJwcm9vZi51bmlmeShzdWJzdGl0dXRpb25zLCBjb250ZXh0KTtcblxuICAgICAgICBpZiAocHJvb2ZTdGVwU3VicHJvb2ZVbmlmaWVkKSB7XG4gICAgICAgICAgY29uc3QgYXNzaWdubWVudHNBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnRzKGFzc2lnbm1lbnRzLCBjb250ZXh0KTtcblxuICAgICAgICAgIGlmIChhc3NpZ25tZW50c0Fzc2lnbmVkKSB7XG4gICAgICAgICAgICBjb250ZXh0LmFkZFByb29mU3RlcFN1YnByb29mKHByb29mU3RlcFN1YnByb29mKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiU3ViRGVyaXZhdGlvblwiO1xuXG4gIHN0YXRpYyBmcm9tU3ViRGVyaXZhdGlvbk5vZGUoc3ViRGVyaXZhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgcHJvb2ZTdGVwU3VicHJvb2ZzID0gcHJvb2ZTdGVwU3VicHJvb2ZGcm9tU3ViRGVyaXZhdGlvbk5vZGUoc3ViRGVyaXZhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdWJEZXJpdmF0aW9uID0gbmV3IFN1YkRlcml2YXRpb24ocHJvb2ZTdGVwU3VicHJvb2ZzKTtcblxuICAgIHJldHVybiBzdWJEZXJpdmF0aW9uO1xuICB9XG59KTtcblxuZnVuY3Rpb24gcHJvb2ZTdGVwU3VicHJvb2ZGcm9tU3ViRGVyaXZhdGlvbk5vZGUoc3ViRGVyaXZhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IHsgUHJvb2ZTdGVwLCBTdWJwcm9vZiB9ID0gZG9tLFxuICAgICAgICBwcm9vZlN0ZXBTdWJwcm9vZk5vZGVzID0gcHJvb2ZTdGVwU3VicHJvb2ZOb2Rlc1F1ZXJ5KHN1YkRlcml2YXRpb25Ob2RlKSxcbiAgICAgICAgcHJvb2ZTdGVwU3VicHJvb2ZzID0gcHJvb2ZTdGVwU3VicHJvb2ZOb2Rlcy5tYXAoKHByb29mU3RlcFN1YnByb29mTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1YnByb29mID0gU3VicHJvb2YuZnJvbVByb29mU3RlcFN1YnByb29mTm9kZShwcm9vZlN0ZXBTdWJwcm9vZk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgICBwcm9vZlN0ZXAgPSBQcm9vZlN0ZXAuZnJvbVByb29mU3RlcFN1YnByb29mTm9kZShwcm9vZlN0ZXBTdWJwcm9vZk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgICBwcm9vZlN0ZXBTdWJwcm9vZiA9IChwcm9vZlN0ZXAgfHwgc3VicHJvb2YpO1xuXG4gICAgICAgICAgcmV0dXJuIHByb29mU3RlcFN1YnByb29mO1xuICAgICAgICB9KTtcblxuICByZXR1cm4gcHJvb2ZTdGVwU3VicHJvb2ZzO1xufSJdLCJuYW1lcyI6WyJsYXN0IiwiYXJyYXlVdGlsaXRpZXMiLCJwcm9vZlN0ZXBTdWJwcm9vZk5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwiZG9tQXNzaWduZWQiLCJTdWJEZXJpdmF0aW9uIiwicHJvb2ZTdGVwU3VicHJvb2ZzIiwiZ2V0UHJvb2ZTdGVwU3VicHJvb2ZzIiwiZ2V0TGFzdFByb29mU3RlcCIsImxhc3RQcm9vZlN0ZXBTdWJwcm9vZiIsImxhc3RQcm9vZlN0ZXAiLCJ2ZXJpZnkiLCJzdWJzdGl0dXRpb25zIiwiY29udGV4dCIsInZlcmlmaWVkIiwiZXZlcnkiLCJwcm9vZlN0ZXBTdWJwcm9vZiIsImFzc2lnbm1lbnRzIiwicHJvb2ZTdGVwU3VicHJvb2ZWZXJpZmllZCIsInByb29mU3RlcFN1YnByb29mVW5pZmllZCIsInVuaWZ5IiwiYXNzaWdubWVudHNBc3NpZ25lZCIsImFzc2lnbkFzc2lnbm1lbnRzIiwiYWRkUHJvb2ZTdGVwU3VicHJvb2YiLCJmcm9tU3ViRGVyaXZhdGlvbk5vZGUiLCJzdWJEZXJpdmF0aW9uTm9kZSIsImZpbGVDb250ZXh0IiwicHJvb2ZTdGVwU3VicHJvb2ZGcm9tU3ViRGVyaXZhdGlvbk5vZGUiLCJzdWJEZXJpdmF0aW9uIiwibmFtZSIsIlByb29mU3RlcCIsImRvbSIsIlN1YnByb29mIiwicHJvb2ZTdGVwU3VicHJvb2ZOb2RlcyIsIm1hcCIsInByb29mU3RlcFN1YnByb29mTm9kZSIsInN1YnByb29mIiwiZnJvbVByb29mU3RlcFN1YnByb29mTm9kZSIsInByb29mU3RlcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7eUJBWitCOzJEQUVmO3FCQUVXOzJCQUVPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEMsSUFBTSxBQUFFQSxPQUFTQyx5QkFBYyxDQUF2QkQ7QUFFUixJQUFNRSw4QkFBOEJDLElBQUFBLGlCQUFVLEVBQUM7SUFFL0MsV0FBZUMsSUFBQUEsZ0JBQVcsa0NBQUM7YUFBTUMsY0FDbkJDLGtCQUFrQjtnQ0FEQ0Q7UUFFN0IsSUFBSSxDQUFDQyxrQkFBa0IsR0FBR0E7Ozs7WUFHNUJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0Qsa0JBQWtCO1lBQ2hDOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLHdCQUF3QlQsS0FBSyxJQUFJLENBQUNNLGtCQUFrQixHQUNwREksZ0JBQWdCRCx1QkFBd0IsR0FBRztnQkFFakQsT0FBT0M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxhQUFhLEVBQUVDLE9BQU87Z0JBQzNCLElBQUlDO2dCQUVKQSxXQUFXLElBQUksQ0FBQ1Isa0JBQWtCLENBQUNTLEtBQUssQ0FBQyxTQUFDQztvQkFDeEMsSUFBTUMsY0FBYyxFQUFFLEVBQ2hCQyw0QkFBNEJGLGtCQUFrQkwsTUFBTSxDQUFDQyxlQUFlSyxhQUFhSjtvQkFFdkYsSUFBSUssMkJBQTJCO3dCQUM3QixJQUFNQywyQkFBMkJILGtCQUFrQkksS0FBSyxDQUFDUixlQUFlQzt3QkFFeEUsSUFBSU0sMEJBQTBCOzRCQUM1QixJQUFNRSxzQkFBc0JDLElBQUFBLDhCQUFpQixFQUFDTCxhQUFhSjs0QkFFM0QsSUFBSVEscUJBQXFCO2dDQUN2QlIsUUFBUVUsb0JBQW9CLENBQUNQO2dDQUU3QixPQUFPOzRCQUNUO3dCQUNGO29CQUNGO2dCQUNGO2dCQUVBLE9BQU9GO1lBQ1Q7Ozs7WUFJT1UsS0FBQUE7bUJBQVAsU0FBT0Esc0JBQXNCQyxpQkFBaUIsRUFBRUMsV0FBVztnQkFDekQsSUFBTXBCLHFCQUFxQnFCLHVDQUF1Q0YsbUJBQW1CQyxjQUMvRUUsZ0JBQWdCLElBQUl2QixjQUFjQztnQkFFeEMsT0FBT3NCO1lBQ1Q7Ozs7S0FQQSxpQ0FBT0MsUUFBTztBQVVoQixTQUFTRix1Q0FBdUNGLGlCQUFpQixFQUFFQyxXQUFXO0lBQzVFLElBQVFJLFlBQXdCQyxZQUFHLENBQTNCRCxXQUFXRSxXQUFhRCxZQUFHLENBQWhCQyxVQUNiQyx5QkFBeUIvQiw0QkFBNEJ1QixvQkFDckRuQixxQkFBcUIyQix1QkFBdUJDLEdBQUcsQ0FBQyxTQUFDQztRQUMvQyxJQUFNQyxXQUFXSixTQUFTSyx5QkFBeUIsQ0FBQ0YsdUJBQXVCVCxjQUNyRVksWUFBWVIsVUFBVU8seUJBQXlCLENBQUNGLHVCQUF1QlQsY0FDdkVWLG9CQUFxQnNCLGFBQWFGO1FBRXhDLE9BQU9wQjtJQUNUO0lBRU4sT0FBT1Y7QUFDVCJ9
|
package/lib/dom/subproof.js
CHANGED
|
@@ -199,7 +199,7 @@ var _default = (0, _dom.domAssigned)((_Subproof = /*#__PURE__*/ function() {
|
|
|
199
199
|
},
|
|
200
200
|
{
|
|
201
201
|
key: "verify",
|
|
202
|
-
value: function verify(substitutions, context) {
|
|
202
|
+
value: function verify(substitutions, assignments, context) {
|
|
203
203
|
var subproofVerified = false;
|
|
204
204
|
var localContext = _local.default.fromContext(context); ///
|
|
205
205
|
context = localContext; ///
|
|
@@ -217,22 +217,6 @@ var _default = (0, _dom.domAssigned)((_Subproof = /*#__PURE__*/ function() {
|
|
|
217
217
|
}
|
|
218
218
|
return subproofVerified;
|
|
219
219
|
}
|
|
220
|
-
},
|
|
221
|
-
{
|
|
222
|
-
key: "verifyAndUnify",
|
|
223
|
-
value: function verifyAndUnify(substitutions, context) {
|
|
224
|
-
var verifiedAndUnified = false;
|
|
225
|
-
var verified = this.verify(substitutions, context);
|
|
226
|
-
if (verified) {
|
|
227
|
-
var unified = this.unify(substitutions, context);
|
|
228
|
-
if (unified) {
|
|
229
|
-
var proofStepSubproof = this; ///
|
|
230
|
-
context.addProofStepSubproof(proofStepSubproof);
|
|
231
|
-
verifiedAndUnified = true; ///
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
return verifiedAndUnified;
|
|
235
|
-
}
|
|
236
220
|
}
|
|
237
221
|
], [
|
|
238
222
|
{
|
|
@@ -262,4 +246,4 @@ function subDerivationFromSubproofNode(subproofNode, fileContext) {
|
|
|
262
246
|
return subDerivation;
|
|
263
247
|
}
|
|
264
248
|
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vc3VicHJvb2YuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbFwiO1xuaW1wb3J0IFN1YnN0aXR1dGlvbnMgZnJvbSBcIi4uL3N1YnN0aXR1dGlvbnNcIjtcblxuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdWJwcm9vZlN0cmluZ0Zyb21TdWJwcm9vZk5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N1YnByb29mXCI7XG5cbmNvbnN0IHN1YnByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N1YnByb29mXCIpLFxuICAgICAgc3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9zdWJwcm9vZi9zdXBwb3NpdGlvblwiKSxcbiAgICAgIHN1YkRlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3VicHJvb2Yvc3ViRGVyaXZhdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgU3VicHJvb2Yge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHN1cHBvc2l0aW9ucywgc3ViRGVyaXZhdGlvbikge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMuc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zO1xuICAgIHRoaXMuc3ViRGVyaXZhdGlvbiA9IHN1YkRlcml2YXRpb247XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlO1xuICB9XG5cbiAgZ2V0U3VwcG9zaXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnN1cHBvc2l0aW9ucztcbiAgfVxuXG4gIGdldFN1YkRlcml2YXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViRGVyaXZhdGlvbjtcbiAgfVxuXG4gIGdldExhc3RQcm9vZlN0ZXAoKSB7IHJldHVybiB0aGlzLnN1YkRlcml2YXRpb24uZ2V0TGFzdFByb29mU3RlcCgpOyB9XG5cbiAgZ2V0U3RhdGVtZW50cygpIHtcbiAgICBjb25zdCBsYXN0UHJvb2ZTdGVwID0gdGhpcy5nZXRMYXN0UHJvb2ZTdGVwKCksXG4gICAgICAgICAgc3VwcG9zaXRpb25TdGF0ZW1lbnRzID0gdGhpcy5zdXBwb3NpdGlvbnMubWFwKChzdXBwb3NpdGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3VwcG9zaXRpb25TdGF0ZW1lbnQgPSBzdXBwb3NpdGlvbi5nZXRTdGF0ZW1lbnQoKTtcblxuICAgICAgICAgICAgcmV0dXJuIHN1cHBvc2l0aW9uU3RhdGVtZW50O1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGxhc3RQcm9vZlN0ZXBTdGF0ZW1lbnQgPSBsYXN0UHJvb2ZTdGVwLmdldFN0YXRlbWVudCgpLFxuICAgICAgICAgIHN0YXRlbWVudHMgPSBbXG4gICAgICAgICAgICAuLi5zdXBwb3NpdGlvblN0YXRlbWVudHMsXG4gICAgICAgICAgICBsYXN0UHJvb2ZTdGVwU3RhdGVtZW50XG4gICAgICAgICAgXTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnRzO1xuICB9XG5cbiAgaXNQcm9vZlN0ZXAoKSB7XG4gICAgY29uc3QgcHJvb2ZTdGVwID0gZmFsc2U7XG5cbiAgICByZXR1cm4gcHJvb2ZTdGVwO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgICBjb25zdCBzcGVjaWZpY0NvbnRleHQgPSBjb250ZXh0LCAvLy9cbiAgICAgICAgICBnZW5lcmFsQ29udGV4dCA9IGNvbnRleHQsIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgc3VicHJvb2YgPSB0aGlzO1xuXG4gICAgY29uc3Qgc3VicHJvb2ZVbmlmaWVkID0gc3RhdGVtZW50LnVuaWZ5U3VicHJvb2Yoc3VicHJvb2YsIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgc3RhdGVtZW50VW5pZmllZCA9IHN1YnByb29mVW5pZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllZCkge1xuICAgICAgY29uc3QgZXF1aXZhbGVuY2VzID0gY29udGV4dC5nZXRFcXVpdmFsZW5jZXMoKSxcbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbnNVbmlmaWVkID0gZXF1aXZhbGVuY2VzLnVuaWZ5U3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb25zKTtcblxuICAgICAgc3RhdGVtZW50VW5pZmllZCA9IHN1YnN0aXR1dGlvbnNVbmlmaWVkOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZWQ7XG4gIH1cblxuICB1bmlmeShzdWJzdGl0dXRpb25zLCBjb250ZXh0KSB7XG4gICAgbGV0IHVuaWZpZWQ7XG5cbiAgICB1bmlmaWVkID0gdHJ1ZTtcblxuICAgIHJldHVybiB1bmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5KHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpIHtcbiAgICBsZXQgc3VicHJvb2ZWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21Db250ZXh0KGNvbnRleHQpOyAgLy8vXG5cbiAgICBjb250ZXh0ID0gbG9jYWxDb250ZXh0OyAvLy9cblxuICAgIGNvbnN0IHN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gdGhpcy5zdXBwb3NpdGlvbnMuZXZlcnkoKHN1cHBvc2l0aW9uKSA9PiB7XG4gICAgICBjb25zdCBzdXBwb3NpdGlvblZlcmlmaWVkID0gc3VwcG9zaXRpb24udmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgICBpZiAoc3VwcG9zaXRpb25WZXJpZmllZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChzdXBwb3NpdGlvbnNWZXJpZmllZCkge1xuICAgICAgY29uc3Qgc3ViRGVyaXZhdGlvblZlcmlmaWVkID0gdGhpcy5zdWJEZXJpdmF0aW9uLnZlcmlmeShzdWJzdGl0dXRpb25zLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHN1YkRlcml2YXRpb25WZXJpZmllZCkge1xuICAgICAgICBzdWJwcm9vZlZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3VicHJvb2ZWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeUFuZFVuaWZ5KHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWRBbmRVbmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCB2ZXJpZmllZCA9IHRoaXMudmVyaWZ5KHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpO1xuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICBjb25zdCB1bmlmaWVkID0gdGhpcy51bmlmeShzdWJzdGl0dXRpb25zLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHVuaWZpZWQpIHtcbiAgICAgICAgY29uc3QgcHJvb2ZTdGVwU3VicHJvb2YgPSB0aGlzOyAvLy9cblxuICAgICAgICBjb250ZXh0LmFkZFByb29mU3RlcFN1YnByb29mKHByb29mU3RlcFN1YnByb29mKTtcblxuICAgICAgICB2ZXJpZmllZEFuZFVuaWZpZWQgPSB0cnVlOyAvLy9cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRBbmRVbmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlN1YnByb29mXCI7XG5cbiAgc3RhdGljIGZyb21Qcm9vZlN0ZXBTdWJwcm9vZk5vZGUocHJvb2ZTdGVwU3VicHJvb2ZOb2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCBzdWJwcm9vZiA9IG51bGw7XG5cbiAgICBjb25zdCBzdWJwcm9vZk5vZGUgPSBzdWJwcm9vZk5vZGVRdWVyeShwcm9vZlN0ZXBTdWJwcm9vZk5vZGUpO1xuXG4gICAgaWYgKHN1YnByb29mTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3VicHJvb2ZTdHJpbmcgPSBzdWJwcm9vZlN0cmluZ0Zyb21TdWJwcm9vZk5vZGUoc3VicHJvb2ZOb2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICBzdHJpbmcgPSBzdWJwcm9vZlN0cmluZywgIC8vL1xuICAgICAgICAgICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zRnJvbVN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgIHN1YkRlcml2YXRpb24gPSBzdWJEZXJpdmF0aW9uRnJvbVN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgc3VicHJvb2YgPSBuZXcgU3VicHJvb2Yoc3RyaW5nLCBzdXBwb3NpdGlvbnMsIHN1YkRlcml2YXRpb24pO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJwcm9vZjtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHN1cHBvc2l0aW9uc0Zyb21TdWJwcm9vZk5vZGUoc3VicHJvb2ZOb2RlLCBmaWxlQ29udGV4dCkge1xuICBjb25zdCB7IFN1cHBvc2l0aW9uIH0gPSBkb20sXG4gICAgICAgIHN1cHBvc2l0aW9uTm9kZXMgPSBzdXBwb3NpdGlvbk5vZGVzUXVlcnkoc3VicHJvb2ZOb2RlKSxcbiAgICAgICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25Ob2Rlcy5tYXAoKHN1cHBvc2l0aW9uTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1cHBvc2l0aW9uID0gU3VwcG9zaXRpb24uZnJvbVN1cHBvc2l0aW9uTm9kZShzdXBwb3NpdGlvbk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICAgIHJldHVybiBzdXBwb3NpdGlvbjtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9ucztcbn1cblxuZnVuY3Rpb24gc3ViRGVyaXZhdGlvbkZyb21TdWJwcm9vZk5vZGUoc3VicHJvb2ZOb2RlLCBmaWxlQ29udGV4dCkge1xuICBjb25zdCB7IFN1YkRlcml2YXRpb24gfSA9IGRvbSxcbiAgICAgICAgc3ViRGVyaXZhdGlvbk5vZGUgPSBzdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5KHN1YnByb29mTm9kZSksXG4gICAgICAgIHN1YkRlcml2YXRpb24gPSBTdWJEZXJpdmF0aW9uLmZyb21TdWJEZXJpdmF0aW9uTm9kZShzdWJEZXJpdmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gIHJldHVybiBzdWJEZXJpdmF0aW9uO1xufVxuIl0sIm5hbWVzIjpbInN1YnByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInN1YkRlcml2YXRpb25Ob2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIlN1YnByb29mIiwic3RyaW5nIiwic3VwcG9zaXRpb25zIiwic3ViRGVyaXZhdGlvbiIsImdldFN0cmluZyIsImdldE5vZGUiLCJub2RlIiwiZ2V0U3VwcG9zaXRpb25zIiwiZ2V0U3ViRGVyaXZhdGlvbiIsImdldExhc3RQcm9vZlN0ZXAiLCJnZXRTdGF0ZW1lbnRzIiwibGFzdFByb29mU3RlcCIsInN1cHBvc2l0aW9uU3RhdGVtZW50cyIsIm1hcCIsInN1cHBvc2l0aW9uIiwic3VwcG9zaXRpb25TdGF0ZW1lbnQiLCJnZXRTdGF0ZW1lbnQiLCJsYXN0UHJvb2ZTdGVwU3RhdGVtZW50Iiwic3RhdGVtZW50cyIsImlzUHJvb2ZTdGVwIiwicHJvb2ZTdGVwIiwidW5pZnlTdGF0ZW1lbnQiLCJzdGF0ZW1lbnQiLCJjb250ZXh0Iiwic3RhdGVtZW50VW5pZmllZCIsInNwZWNpZmljQ29udGV4dCIsImdlbmVyYWxDb250ZXh0Iiwic3Vic3RpdHV0aW9ucyIsIlN1YnN0aXR1dGlvbnMiLCJmcm9tTm90aGluZyIsInN1YnByb29mIiwic3VicHJvb2ZVbmlmaWVkIiwidW5pZnlTdWJwcm9vZiIsImVxdWl2YWxlbmNlcyIsImdldEVxdWl2YWxlbmNlcyIsInN1YnN0aXR1dGlvbnNVbmlmaWVkIiwidW5pZnlTdWJzdGl0dXRpb25zIiwidW5pZnkiLCJ1bmlmaWVkIiwidmVyaWZ5Iiwic3VicHJvb2ZWZXJpZmllZCIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21Db250ZXh0Iiwic3VwcG9zaXRpb25zVmVyaWZpZWQiLCJldmVyeSIsInN1cHBvc2l0aW9uVmVyaWZpZWQiLCJzdWJEZXJpdmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlBbmRVbmlmeSIsInZlcmlmaWVkQW5kVW5pZmllZCIsInZlcmlmaWVkIiwicHJvb2ZTdGVwU3VicHJvb2YiLCJhZGRQcm9vZlN0ZXBTdWJwcm9vZiIsImZyb21Qcm9vZlN0ZXBTdWJwcm9vZk5vZGUiLCJwcm9vZlN0ZXBTdWJwcm9vZk5vZGUiLCJmaWxlQ29udGV4dCIsInN1YnByb29mTm9kZSIsInN1YnByb29mU3RyaW5nIiwic3VicHJvb2ZTdHJpbmdGcm9tU3VicHJvb2ZOb2RlIiwic3VwcG9zaXRpb25zRnJvbVN1YnByb29mTm9kZSIsInN1YkRlcml2YXRpb25Gcm9tU3VicHJvb2ZOb2RlIiwibmFtZSIsIlN1cHBvc2l0aW9uIiwiZG9tIiwic3VwcG9zaXRpb25Ob2RlcyIsInN1cHBvc2l0aW9uTm9kZSIsImZyb21TdXBwb3NpdGlvbk5vZGUiLCJTdWJEZXJpdmF0aW9uIiwic3ViRGVyaXZhdGlvbk5vZGUiLCJmcm9tU3ViRGVyaXZhdGlvbk5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWNBOzs7ZUFBQTs7OzJEQVpnQjs0REFDUztvRUFDQztxQkFHWTt3QkFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
249
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vc3VicHJvb2YuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbFwiO1xuaW1wb3J0IFN1YnN0aXR1dGlvbnMgZnJvbSBcIi4uL3N1YnN0aXR1dGlvbnNcIjtcblxuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdWJwcm9vZlN0cmluZ0Zyb21TdWJwcm9vZk5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N1YnByb29mXCI7XG5cbmNvbnN0IHN1YnByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N1YnByb29mXCIpLFxuICAgICAgc3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9zdWJwcm9vZi9zdXBwb3NpdGlvblwiKSxcbiAgICAgIHN1YkRlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3VicHJvb2Yvc3ViRGVyaXZhdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgU3VicHJvb2Yge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHN1cHBvc2l0aW9ucywgc3ViRGVyaXZhdGlvbikge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMuc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zO1xuICAgIHRoaXMuc3ViRGVyaXZhdGlvbiA9IHN1YkRlcml2YXRpb247XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlO1xuICB9XG5cbiAgZ2V0U3VwcG9zaXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnN1cHBvc2l0aW9ucztcbiAgfVxuXG4gIGdldFN1YkRlcml2YXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViRGVyaXZhdGlvbjtcbiAgfVxuXG4gIGdldExhc3RQcm9vZlN0ZXAoKSB7IHJldHVybiB0aGlzLnN1YkRlcml2YXRpb24uZ2V0TGFzdFByb29mU3RlcCgpOyB9XG5cbiAgZ2V0U3RhdGVtZW50cygpIHtcbiAgICBjb25zdCBsYXN0UHJvb2ZTdGVwID0gdGhpcy5nZXRMYXN0UHJvb2ZTdGVwKCksXG4gICAgICAgICAgc3VwcG9zaXRpb25TdGF0ZW1lbnRzID0gdGhpcy5zdXBwb3NpdGlvbnMubWFwKChzdXBwb3NpdGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3VwcG9zaXRpb25TdGF0ZW1lbnQgPSBzdXBwb3NpdGlvbi5nZXRTdGF0ZW1lbnQoKTtcblxuICAgICAgICAgICAgcmV0dXJuIHN1cHBvc2l0aW9uU3RhdGVtZW50O1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGxhc3RQcm9vZlN0ZXBTdGF0ZW1lbnQgPSBsYXN0UHJvb2ZTdGVwLmdldFN0YXRlbWVudCgpLFxuICAgICAgICAgIHN0YXRlbWVudHMgPSBbXG4gICAgICAgICAgICAuLi5zdXBwb3NpdGlvblN0YXRlbWVudHMsXG4gICAgICAgICAgICBsYXN0UHJvb2ZTdGVwU3RhdGVtZW50XG4gICAgICAgICAgXTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnRzO1xuICB9XG5cbiAgaXNQcm9vZlN0ZXAoKSB7XG4gICAgY29uc3QgcHJvb2ZTdGVwID0gZmFsc2U7XG5cbiAgICByZXR1cm4gcHJvb2ZTdGVwO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgICBjb25zdCBzcGVjaWZpY0NvbnRleHQgPSBjb250ZXh0LCAvLy9cbiAgICAgICAgICBnZW5lcmFsQ29udGV4dCA9IGNvbnRleHQsIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgc3VicHJvb2YgPSB0aGlzO1xuXG4gICAgY29uc3Qgc3VicHJvb2ZVbmlmaWVkID0gc3RhdGVtZW50LnVuaWZ5U3VicHJvb2Yoc3VicHJvb2YsIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgc3RhdGVtZW50VW5pZmllZCA9IHN1YnByb29mVW5pZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllZCkge1xuICAgICAgY29uc3QgZXF1aXZhbGVuY2VzID0gY29udGV4dC5nZXRFcXVpdmFsZW5jZXMoKSxcbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbnNVbmlmaWVkID0gZXF1aXZhbGVuY2VzLnVuaWZ5U3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb25zKTtcblxuICAgICAgc3RhdGVtZW50VW5pZmllZCA9IHN1YnN0aXR1dGlvbnNVbmlmaWVkOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZWQ7XG4gIH1cblxuICB1bmlmeShzdWJzdGl0dXRpb25zLCBjb250ZXh0KSB7XG4gICAgbGV0IHVuaWZpZWQ7XG5cbiAgICB1bmlmaWVkID0gdHJ1ZTtcblxuICAgIHJldHVybiB1bmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5KHN1YnN0aXR1dGlvbnMsIGFzc2lnbm1lbnRzLCBjb250ZXh0KSB7XG4gICAgbGV0IHN1YnByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tQ29udGV4dChjb250ZXh0KTsgIC8vL1xuXG4gICAgY29udGV4dCA9IGxvY2FsQ29udGV4dDsgLy8vXG5cbiAgICBjb25zdCBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHRoaXMuc3VwcG9zaXRpb25zLmV2ZXJ5KChzdXBwb3NpdGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3VwcG9zaXRpb25WZXJpZmllZCA9IHN1cHBvc2l0aW9uLnZlcmlmeShjb250ZXh0KTtcblxuICAgICAgaWYgKHN1cHBvc2l0aW9uVmVyaWZpZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25zVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN1YkRlcml2YXRpb25WZXJpZmllZCA9IHRoaXMuc3ViRGVyaXZhdGlvbi52ZXJpZnkoc3Vic3RpdHV0aW9ucywgY29udGV4dCk7XG5cbiAgICAgIGlmIChzdWJEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICAgICAgc3VicHJvb2ZWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnByb29mVmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiU3VicHJvb2ZcIjtcblxuICBzdGF0aWMgZnJvbVByb29mU3RlcFN1YnByb29mTm9kZShwcm9vZlN0ZXBTdWJwcm9vZk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHN1YnByb29mID0gbnVsbDtcblxuICAgIGNvbnN0IHN1YnByb29mTm9kZSA9IHN1YnByb29mTm9kZVF1ZXJ5KHByb29mU3RlcFN1YnByb29mTm9kZSk7XG5cbiAgICBpZiAoc3VicHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJwcm9vZlN0cmluZyA9IHN1YnByb29mU3RyaW5nRnJvbVN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgIHN0cmluZyA9IHN1YnByb29mU3RyaW5nLCAgLy8vXG4gICAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnNGcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgc3ViRGVyaXZhdGlvbiA9IHN1YkRlcml2YXRpb25Gcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICBzdWJwcm9vZiA9IG5ldyBTdWJwcm9vZihzdHJpbmcsIHN1cHBvc2l0aW9ucywgc3ViRGVyaXZhdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnByb29mO1xuICB9XG59KTtcblxuZnVuY3Rpb24gc3VwcG9zaXRpb25zRnJvbVN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IHsgU3VwcG9zaXRpb24gfSA9IGRvbSxcbiAgICAgICAgc3VwcG9zaXRpb25Ob2RlcyA9IHN1cHBvc2l0aW9uTm9kZXNRdWVyeShzdWJwcm9vZk5vZGUpLFxuICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbk5vZGVzLm1hcCgoc3VwcG9zaXRpb25Ob2RlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VwcG9zaXRpb24gPSBTdXBwb3NpdGlvbi5mcm9tU3VwcG9zaXRpb25Ob2RlKHN1cHBvc2l0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgcmV0dXJuIHN1cHBvc2l0aW9uO1xuICAgICAgICB9KTtcblxuICByZXR1cm4gc3VwcG9zaXRpb25zO1xufVxuXG5mdW5jdGlvbiBzdWJEZXJpdmF0aW9uRnJvbVN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IHsgU3ViRGVyaXZhdGlvbiB9ID0gZG9tLFxuICAgICAgICBzdWJEZXJpdmF0aW9uTm9kZSA9IHN1YkRlcml2YXRpb25Ob2RlUXVlcnkoc3VicHJvb2ZOb2RlKSxcbiAgICAgICAgc3ViRGVyaXZhdGlvbiA9IFN1YkRlcml2YXRpb24uZnJvbVN1YkRlcml2YXRpb25Ob2RlKHN1YkRlcml2YXRpb25Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgcmV0dXJuIHN1YkRlcml2YXRpb247XG59XG4iXSwibmFtZXMiOlsic3VicHJvb2ZOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdXBwb3NpdGlvbk5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5Iiwic3ViRGVyaXZhdGlvbk5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiU3VicHJvb2YiLCJzdHJpbmciLCJzdXBwb3NpdGlvbnMiLCJzdWJEZXJpdmF0aW9uIiwiZ2V0U3RyaW5nIiwiZ2V0Tm9kZSIsIm5vZGUiLCJnZXRTdXBwb3NpdGlvbnMiLCJnZXRTdWJEZXJpdmF0aW9uIiwiZ2V0TGFzdFByb29mU3RlcCIsImdldFN0YXRlbWVudHMiLCJsYXN0UHJvb2ZTdGVwIiwic3VwcG9zaXRpb25TdGF0ZW1lbnRzIiwibWFwIiwic3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvblN0YXRlbWVudCIsImdldFN0YXRlbWVudCIsImxhc3RQcm9vZlN0ZXBTdGF0ZW1lbnQiLCJzdGF0ZW1lbnRzIiwiaXNQcm9vZlN0ZXAiLCJwcm9vZlN0ZXAiLCJ1bmlmeVN0YXRlbWVudCIsInN0YXRlbWVudCIsImNvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkIiwic3BlY2lmaWNDb250ZXh0IiwiZ2VuZXJhbENvbnRleHQiLCJzdWJzdGl0dXRpb25zIiwiU3Vic3RpdHV0aW9ucyIsImZyb21Ob3RoaW5nIiwic3VicHJvb2YiLCJzdWJwcm9vZlVuaWZpZWQiLCJ1bmlmeVN1YnByb29mIiwiZXF1aXZhbGVuY2VzIiwiZ2V0RXF1aXZhbGVuY2VzIiwic3Vic3RpdHV0aW9uc1VuaWZpZWQiLCJ1bmlmeVN1YnN0aXR1dGlvbnMiLCJ1bmlmeSIsInVuaWZpZWQiLCJ2ZXJpZnkiLCJhc3NpZ25tZW50cyIsInN1YnByb29mVmVyaWZpZWQiLCJsb2NhbENvbnRleHQiLCJMb2NhbENvbnRleHQiLCJmcm9tQ29udGV4dCIsInN1cHBvc2l0aW9uc1ZlcmlmaWVkIiwiZXZlcnkiLCJzdXBwb3NpdGlvblZlcmlmaWVkIiwic3ViRGVyaXZhdGlvblZlcmlmaWVkIiwiZnJvbVByb29mU3RlcFN1YnByb29mTm9kZSIsInByb29mU3RlcFN1YnByb29mTm9kZSIsImZpbGVDb250ZXh0Iiwic3VicHJvb2ZOb2RlIiwic3VicHJvb2ZTdHJpbmciLCJzdWJwcm9vZlN0cmluZ0Zyb21TdWJwcm9vZk5vZGUiLCJzdXBwb3NpdGlvbnNGcm9tU3VicHJvb2ZOb2RlIiwic3ViRGVyaXZhdGlvbkZyb21TdWJwcm9vZk5vZGUiLCJuYW1lIiwiU3VwcG9zaXRpb24iLCJkb20iLCJzdXBwb3NpdGlvbk5vZGVzIiwic3VwcG9zaXRpb25Ob2RlIiwiZnJvbVN1cHBvc2l0aW9uTm9kZSIsIlN1YkRlcml2YXRpb24iLCJzdWJEZXJpdmF0aW9uTm9kZSIsImZyb21TdWJEZXJpdmF0aW9uTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7MkRBWmdCOzREQUNTO29FQUNDO3FCQUdZO3dCQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0MsSUFBTUEsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDLGNBQzlCQyx3QkFBd0JDLElBQUFBLGlCQUFVLEVBQUMsMEJBQ25DQyx5QkFBeUJILElBQUFBLGdCQUFTLEVBQUM7SUFFekMsV0FBZUksSUFBQUEsZ0JBQVcsNkJBQUM7YUFBTUMsU0FDbkJDLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxhQUFhO2dDQURoQkg7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTs7OztZQUd2QkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxNQUFNO1lBQ3BCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDQyxJQUFJO1lBQ2xCOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxZQUFZO1lBQzFCOzs7WUFFQU0s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
|
package/lib/dom/type.js
CHANGED
|
@@ -314,6 +314,14 @@ var Type = /*#__PURE__*/ function() {
|
|
|
314
314
|
return type;
|
|
315
315
|
}
|
|
316
316
|
},
|
|
317
|
+
{
|
|
318
|
+
key: "fromType",
|
|
319
|
+
value: function fromType(type, context) {
|
|
320
|
+
var name = type.getName(), superType = type, string = stringFromNameAndSuperType(name, superType), properties = type.getProperties(), provisional = false; ///
|
|
321
|
+
type = new Type(string, name, superType, properties, provisional); ///
|
|
322
|
+
return type;
|
|
323
|
+
}
|
|
324
|
+
},
|
|
317
325
|
{
|
|
318
326
|
key: "fromTypeNode",
|
|
319
327
|
value: function fromTypeNode(typeNode) {
|
|
@@ -448,4 +456,4 @@ var ObjectType = /*#__PURE__*/ function(Type) {
|
|
|
448
456
|
}(Type);
|
|
449
457
|
var objectType = ObjectType.fromNothing();
|
|
450
458
|
|
|
451
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBQUk9WSVNJT05BTCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IHsgT0JKRUNUX1RZUEVfTkFNRSB9IGZyb20gXCIuLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9uYW1lXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdXBlclR5cGVGcm9tSlNPTiwgcHJvcGVydGllc0Zyb21KU09OLCBzdXBlclR5cGVUb1N1cGVyVHlwZUpTT04sIHByb3BlcnRpZXNUb1Byb3BlcnRpZXNKU09OIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9qc29uXCI7XG5cbmNvbnN0IHsgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IHR5cGVEZWNsYXJhdGlvblR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZURlY2xhcmF0aW9ufGNvbXBsZXhUeXBlRGVjbGFyYXRpb24vdHlwZVswXVwiKSxcbiAgICAgIHByb3BlcnR5RGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9jb21wbGV4VHlwZURlY2xhcmF0aW9uL3Byb3BlcnR5RGVjbGFyYXRpb25cIiksXG4gICAgICBwcm9wZXJ0eURlY2xhcmF0aW9uVHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9wZXJ0eURlY2xhcmF0aW9uL3R5cGVcIiksXG4gICAgICB0eXBlRGVjbGFyYXRpb25TdXBlclR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZURlY2xhcmF0aW9ufGNvbXBsZXhUeXBlRGVjbGFyYXRpb24vdHlwZVsxXVwiKSxcbiAgICAgIGZpcnN0UHJpbWFyeUtleXdvcmRUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlRGVjbGFyYXRpb258Y29tcGxleFR5cGVEZWNsYXJhdGlvbi9AcHJpbWFyeS1rZXl3b3JkWzBdXCIpLFxuICAgICAgdmFyaWFibGVEZWNsYXJhdGlvblN1cGVyVHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZURlY2xhcmF0aW9uL3R5cGVcIik7XG5cbmNsYXNzIFR5cGUge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIG5hbWUsIHN1cGVyVHlwZSwgcHJvcGVydGllcywgcHJvdmlzaW9uYWwpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuc3VwZXJUeXBlID0gc3VwZXJUeXBlO1xuICAgIHRoaXMucHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG4gICAgdGhpcy5wcm92aXNpb25hbCA9IHByb3Zpc2lvbmFsO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFN1cGVyVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdXBlclR5cGU7XG4gIH1cblxuICBnZXRQcm9wZXJ0aWVzKGluY2x1ZGVTdXBlclR5cGUgPSB0cnVlKSB7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IFtdO1xuXG4gICAgcHVzaChwcm9wZXJ0aWVzLCB0aGlzLnByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGluY2x1ZGVTdXBlclR5cGUpIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZVByb3BlcnRpZXMgPSB0aGlzLnN1cGVyVHlwZS5nZXRQcm9wZXJ0aWVzKCk7XG5cbiAgICAgIHB1c2gocHJvcGVydGllcywgc3VwZXJUeXBlUHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BlcnRpZXM7XG4gIH1cblxuICBpc1Byb3Zpc2lvbmFsKCkge1xuICAgIHJldHVybiB0aGlzLnByb3Zpc2lvbmFsO1xuICB9XG5cbiAgc2V0U3RyaW5nKHN0cmluZykge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICB9XG5cbiAgc2V0TmFtZShuYW1lKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgfVxuXG4gIHNldFN1cGVyVHlwZShzdXBlclR5cGUpIHtcbiAgICB0aGlzLnN1cGVyVHlwZSA9IHN1cGVyVHlwZTtcbiAgfVxuXG4gIHNldFByb3BlcnRpZXMocHJvcGVydGllcykge1xuICAgIHRoaXMucHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG4gIH1cblxuICBzZXRQcm92aXNpb25hbChwcm92aXNpb25hbCkge1xuICAgIHRoaXMucHJvdmlzaW9uYWwgPSBwcm92aXNpb25hbDtcbiAgfVxuXG4gIGlzRXF1YWxUbyh0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUbyA9ICh0aGlzID09PSB0eXBlKTtcblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgaXNTdWJUeXBlT2YodHlwZSkge1xuICAgIGxldCBzdWJUeXBlT2Y7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAodGhpcyA9PT0gb2JqZWN0VHlwZSkge1xuICAgICAgc3ViVHlwZU9mID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmICh0aGlzLnN1cGVyVHlwZSA9PT0gdHlwZSkge1xuICAgICAgc3ViVHlwZU9mID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3ViVHlwZU9mID0gdGhpcy5zdXBlclR5cGUuaXNTdWJUeXBlT2YodHlwZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YlR5cGVPZjtcbiAgfVxuXG4gIGlzU3VwZXJUeXBlT2YodHlwZSkge1xuICAgIGNvbnN0IHN1YlR5cGVPZiA9IHR5cGUuaXNTdWJUeXBlT2YodGhpcyksXG4gICAgICAgICAgc3VwZXJUeXBlT2YgPSBzdWJUeXBlT2Y7ICAvLy9cblxuICAgIHJldHVybiBzdXBlclR5cGVPZjtcbiAgfVxuXG4gIGlzQ29tcGFyYWJsZVRvKHR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mID0gdGhpcy5pc1N1YlR5cGVPZih0eXBlKSxcbiAgICAgICAgICBzdXBlclR5cGVPZiA9IHRoaXMuaXNTdXBlclR5cGVPZih0eXBlKSxcbiAgICAgICAgICBjb21wYXJhYmxlVG8gPSAoZXF1YWxUbyB8fCBzdWJUeXBlT2YgfHwgc3VwZXJUeXBlT2YpO1xuXG4gICAgcmV0dXJuIGNvbXBhcmFibGVUbztcbiAgfVxuXG4gIGlzRXF1YWxUb09yU3ViVHlwZU9mKHR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mID0gdGhpcy5pc1N1YlR5cGVPZih0eXBlKSxcbiAgICAgICAgICBlcXVhbFRvT3JTdWJUeXBlT2YgPSAoZXF1YWxUbyB8fCBzdWJUeXBlT2YpO1xuXG4gICAgcmV0dXJuIGVxdWFsVG9PclN1YlR5cGVPZjtcbiAgfVxuXG4gIGlzRXF1YWxUb09yU3VwZXJUeXBlT2YodHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG8gPSB0aGlzLmlzRXF1YWxUbyh0eXBlKSxcbiAgICAgICAgICBzdXBlclR5cGVPZiA9IHRoaXMuaXNTdXBlclR5cGVPZih0eXBlKSxcbiAgICAgICAgICBlcXVhbFRvT3JTdXBlclR5cGVPZiA9IChlcXVhbFRvIHx8IHN1cGVyVHlwZU9mKTtcblxuICAgIHJldHVybiBlcXVhbFRvT3JTdXBlclR5cGVPZjtcbiAgfVxuXG4gIG1hdGNoTmFtZShuYW1lKSB7XG4gICAgY29uc3Qgbm9kZU1hdGNoZXMgPSAodGhpcy5uYW1lID09PSBuYW1lKTtcblxuICAgIHJldHVybiBub2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoVHlwZU5hbWUodHlwZU5hbWUpIHtcbiAgICBjb25zdCB0eXBlTmFtZU1hdGNoZXMgPSAodGhpcy5uYW1lID09PSB0eXBlTmFtZSk7XG5cbiAgICByZXR1cm4gdHlwZU5hbWVNYXRjaGVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHByb3BlcnRpZXNKU09OID0gcHJvcGVydGllc1RvUHJvcGVydGllc0pTT04odGhpcy5wcm9wZXJ0aWVzKSxcbiAgICAgICAgICBzdXBlclR5cGVKU09OID0gc3VwZXJUeXBlVG9TdXBlclR5cGVKU09OKHRoaXMuc3VwZXJUeXBlKSxcbiAgICAgICAgICBwcm92aXNpb25hbCA9IHRoaXMucHJvdmlzaW9uYWwsXG4gICAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXNKU09OLCAgLy8vXG4gICAgICAgICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlSlNPTiwgIC8vL1xuICAgICAgICAgIG5hbWUgPSB0aGlzLm5hbWUsXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBzdXBlclR5cGUsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICAgICAgcHJvdmlzaW9uYWxcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVHlwZVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgbmFtZSwgcHJvdmlzaW9uYWwgfSA9IGpzb24sXG4gICAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXNGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21OYW1lQW5kU3VwZXJUeXBlKG5hbWUsIHN1cGVyVHlwZSksXG4gICAgICAgICAgdHlwZSA9IG5ldyBUeXBlKHN0cmluZywgbmFtZSwgc3VwZXJUeXBlLCBwcm9wZXJ0aWVzLCBwcm92aXNpb25hbCk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZU5vZGUodHlwZU5vZGUpIHtcbiAgICBsZXQgdHlwZTtcblxuICAgIGlmICh0eXBlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgdHlwZSA9IG9iamVjdFR5cGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgICBzdXBlclR5cGUgPSBudWxsLFxuICAgICAgICAgICAgcHJvcGVydGllcyA9IG51bGwsXG4gICAgICAgICAgICBwcm92aXNpb25hbCA9IG51bGw7XG5cbiAgICAgIHR5cGUgPSBuZXcgVHlwZShzdHJpbmcsIG5hbWUsIHN1cGVyVHlwZSwgcHJvcGVydGllcywgcHJvdmlzaW9uYWwpO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21UeXBlRGVjbGFyYXRpb25Ob2RlKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgcHJvdmlzaW9uYWwgPSBwcm92aXNpb25hbEZyb21UeXBlRGVjbGFyYXRpb25Ob2RlKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdXBlclR5cGUgPSBzdXBlclR5cGVGcm9tVHlwZURlY2xhcmF0aW9uTm9kZSh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgbmFtZSA9IG5hbWVGcm9tVHlwZURlY2xhcmF0aW9uTm9kZSh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbU5hbWVBbmRTdXBlclR5cGUobmFtZSwgc3VwZXJUeXBlKSxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gW10sXG4gICAgICAgICAgdHlwZSA9IG5ldyBUeXBlKHN0cmluZywgbmFtZSwgc3VwZXJUeXBlLCBwcm9wZXJ0aWVzLCBwcm92aXNpb25hbCk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUHJvcGVydHlEZWNsYXJhdGlvbk5vZGUocHJvcGVydHlEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHR5cGU7XG5cbiAgICBjb25zdCBwcm9wZXJ0eURlY2xhcmF0aW9uVHlwZU5vZGUgPSBwcm9wZXJ0eURlY2xhcmF0aW9uVHlwZU5vZGVRdWVyeShwcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSk7XG5cbiAgICBpZiAocHJvcGVydHlEZWNsYXJhdGlvblR5cGVOb2RlID09PSBudWxsKSB7XG4gICAgICB0eXBlID0gb2JqZWN0VHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdHlwZU5vZGUgPSBwcm9wZXJ0eURlY2xhcmF0aW9uVHlwZU5vZGUsIC8vL1xuICAgICAgICAgICAgdHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgICAgICBuYW1lID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICAgIHN0cmluZyA9IG5hbWUsICAvLy9cbiAgICAgICAgICAgIHN1cGVyVHlwZSA9IG51bGwsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzID0gbnVsbCxcbiAgICAgICAgICAgIHByb3Zpc2lvbmFsID0gbnVsbDtcblxuICAgICAgdHlwZSA9IG5ldyBUeXBlKHN0cmluZywgbmFtZSwgc3VwZXJUeXBlLCBwcm9wZXJ0aWVzLCBwcm92aXNpb25hbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB0eXBlO1xuXG4gICAgY29uc3QgdmFyaWFibGVEZWNsYXJhdGlvblN1cGVyVHlwZU5vZGUgPSB2YXJpYWJsZURlY2xhcmF0aW9uU3VwZXJUeXBlTm9kZVF1ZXJ5KHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKTtcblxuICAgIGlmICh2YXJpYWJsZURlY2xhcmF0aW9uU3VwZXJUeXBlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgdHlwZSA9IG9iamVjdFR5cGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR5cGVOb2RlID0gdmFyaWFibGVEZWNsYXJhdGlvblN1cGVyVHlwZU5vZGUsICAvLy9cbiAgICAgICAgICAgIHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgICBzdXBlclR5cGUgPSBudWxsLFxuICAgICAgICAgICAgcHJvcGVydGllcyA9IG51bGwsXG4gICAgICAgICAgICBwcm92aXNpb25hbCA9IG51bGw7XG5cbiAgICAgIHR5cGUgPSBuZXcgVHlwZShzdHJpbmcsIG5hbWUsIHN1cGVyVHlwZSwgcHJvcGVydGllcywgcHJvdmlzaW9uYWwpO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBwcm92aXNpb25hbCA9IHByb3Zpc2lvbmFsRnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllc0Zyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZUZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIG5hbWUgPSBuYW1lRnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlKGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbU5hbWVBbmRTdXBlclR5cGUobmFtZSwgc3VwZXJUeXBlKSxcbiAgICAgICAgICB0eXBlID0gbmV3IFR5cGUoc3RyaW5nLCBuYW1lLCBzdXBlclR5cGUsIHByb3BlcnRpZXMsIHByb3Zpc2lvbmFsKTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKFR5cGUpO1xuXG5mdW5jdGlvbiBzdHJpbmdGcm9tTmFtZUFuZFN1cGVyVHlwZShuYW1lLCBzdXBlclR5cGUpIHtcbiAgbGV0IHN0cmluZyA9IG5hbWU7ICAvLy9cblxuICBpZiAoKHN1cGVyVHlwZSAhPT0gbnVsbCkgJiYgKHN1cGVyVHlwZSAhPT0gb2JqZWN0VHlwZSkpIHtcbiAgICBjb25zdCB0eXBlU3RyaW5nID0gc3RyaW5nLCAgLy8vXG4gICAgICAgICAgc3VwZXJUeXBlTmFtZSA9IHN1cGVyVHlwZS5nZXROYW1lKCk7XG5cbiAgICBzdHJpbmcgPSBgJHt0eXBlU3RyaW5nfToke3N1cGVyVHlwZU5hbWV9YDtcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIG5hbWVGcm9tVHlwZURlY2xhcmF0aW9uTm9kZSh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICBjb25zdCB0eXBlRGVjbGFyYXRpb25UeXBlTm9kZSA9IHR5cGVEZWNsYXJhdGlvblR5cGVOb2RlUXVlcnkodHlwZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHR5cGVOb2RlID0gdHlwZURlY2xhcmF0aW9uVHlwZU5vZGUsIC8vL1xuICAgICAgICB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgbmFtZSA9IHR5cGVOYW1lOyAgLy8vXG5cbiAgcmV0dXJuIG5hbWU7XG59XG5cbmZ1bmN0aW9uIHN1cGVyVHlwZUZyb21UeXBlRGVjbGFyYXRpb25Ob2RlKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IHR5cGVEZWNsYXJhdGlvblN1cGVyVHlwZU5vZGUgPSB0eXBlRGVjbGFyYXRpb25TdXBlclR5cGVOb2RlUXVlcnkodHlwZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHN1cGVyVHlwZU5vZGUgPSB0eXBlRGVjbGFyYXRpb25TdXBlclR5cGVOb2RlLCAvLy9cbiAgICAgICAgc3VwZXJUeXBlID0gVHlwZS5mcm9tVHlwZU5vZGUoc3VwZXJUeXBlTm9kZSk7XG5cbiAgcmV0dXJuIHN1cGVyVHlwZTtcbn1cblxuZnVuY3Rpb24gcHJvdmlzaW9uYWxGcm9tVHlwZURlY2xhcmF0aW9uTm9kZSh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICBjb25zdCBmaXJzdFByaW1hcnlLZXl3b3JkVGVybWluYWxOb2RlID0gZmlyc3RQcmltYXJ5S2V5d29yZFRlcm1pbmFsTm9kZVF1ZXJ5KHR5cGVEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICBjb250ZW50ID0gZmlyc3RQcmltYXJ5S2V5d29yZFRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIGNvbnRlbnRQcm92aXNpb25hbCA9IChjb250ZW50ID09PSBQUk9WSVNJT05BTCksXG4gICAgICAgIHByb3Zpc2lvbmFsID0gY29udGVudFByb3Zpc2lvbmFsOyAvLy9cblxuICByZXR1cm4gcHJvdmlzaW9uYWw7XG59XG5cbmZ1bmN0aW9uIG5hbWVGcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IHR5cGVEZWNsYXJhdGlvblR5cGVOb2RlID0gdHlwZURlY2xhcmF0aW9uVHlwZU5vZGVRdWVyeShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHR5cGVOb2RlID0gdHlwZURlY2xhcmF0aW9uVHlwZU5vZGUsIC8vL1xuICAgICAgICB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgbmFtZSA9IHR5cGVOYW1lOyAgLy8vXG5cbiAgcmV0dXJuIG5hbWU7XG59XG5cbmZ1bmN0aW9uIHN1cGVyVHlwZUZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgY29uc3QgdHlwZURlY2xhcmF0aW9uU3VwZXJUeXBlTm9kZSA9IHR5cGVEZWNsYXJhdGlvblN1cGVyVHlwZU5vZGVRdWVyeShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHN1cGVyVHlwZU5vZGUgPSB0eXBlRGVjbGFyYXRpb25TdXBlclR5cGVOb2RlLCAvLy9cbiAgICAgICAgc3VwZXJUeXBlID0gVHlwZS5mcm9tVHlwZU5vZGUoc3VwZXJUeXBlTm9kZSk7XG5cbiAgcmV0dXJuIHN1cGVyVHlwZTtcbn1cblxuZnVuY3Rpb24gcHJvcGVydGllc0Zyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgY29uc3QgcHJvcGVydHlEZWNsYXJhdGlvbk5vZGVzID0gcHJvcGVydHlEZWNsYXJhdGlvbk5vZGVzUXVlcnkoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydHlEZWNsYXJhdGlvbk5vZGVzLm1hcCgocHJvcGVydHlEZWNsYXJhdGlvbk5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCB7IFByb3BlcnR5IH0gPSBkb20sXG4gICAgICAgICAgICAgICAgcHJvcGVydHkgPSBQcm9wZXJ0eS5mcm9tUHJvcGVydHlEZWNsYXJhdGlvbk5vZGUocHJvcGVydHlEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICAgIHJldHVybiBwcm9wZXJ0eTtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIHByb3BlcnRpZXM7XG59XG5cbmNsYXNzIE9iamVjdFR5cGUgZXh0ZW5kcyBUeXBlIHtcbiAgZ2V0UHJvcGVydGllcygpIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gW107XG5cbiAgICByZXR1cm4gcHJvcGVydGllcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lLFxuICAgICAgICAgIHN1cGVyVHlwZSA9IG51bGwsXG4gICAgICAgICAgcHJvcGVydGllcyA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICBwcm92aXNpb25hbCA9IHRoaXMucHJvdmlzaW9uYWwsXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBzdXBlclR5cGUsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICAgICAgcHJvdmlzaW9uYWxcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgbmFtZSA9IE9CSkVDVF9UWVBFX05BTUUsXG4gICAgICAgICAgc3RyaW5nID0gbmFtZSwgIC8vXG4gICAgICAgICAgc3VwZXJUeXBlID0gbnVsbCxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gW10sXG4gICAgICAgICAgcHJvdmlzaW9uYWwgPSBmYWxzZSxcbiAgICAgICAgICBvYmplY3RUeXBlID0gbmV3IE9iamVjdFR5cGUoc3RyaW5nLCBuYW1lLCBzdXBlclR5cGUsIHByb3BlcnRpZXMsIHByb3Zpc2lvbmFsKTtcblxuICAgIHJldHVybiBvYmplY3RUeXBlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBvYmplY3RUeXBlID0gT2JqZWN0VHlwZS5mcm9tTm90aGluZygpO1xuIl0sIm5hbWVzIjpbIm9iamVjdFR5cGUiLCJwdXNoIiwiYXJyYXlVdGlsaXRpZXMiLCJ0eXBlRGVjbGFyYXRpb25UeXBlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicHJvcGVydHlEZWNsYXJhdGlvbk5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicHJvcGVydHlEZWNsYXJhdGlvblR5cGVOb2RlUXVlcnkiLCJ0eXBlRGVjbGFyYXRpb25TdXBlclR5cGVOb2RlUXVlcnkiLCJmaXJzdFByaW1hcnlLZXl3b3JkVGVybWluYWxOb2RlUXVlcnkiLCJ2YXJpYWJsZURlY2xhcmF0aW9uU3VwZXJUeXBlTm9kZVF1ZXJ5IiwiVHlwZSIsInN0cmluZyIsIm5hbWUiLCJzdXBlclR5cGUiLCJwcm9wZXJ0aWVzIiwicHJvdmlzaW9uYWwiLCJnZXRTdHJpbmciLCJnZXROYW1lIiwiZ2V0U3VwZXJUeXBlIiwiZ2V0UHJvcGVydGllcyIsImluY2x1ZGVTdXBlclR5cGUiLCJzdXBlclR5cGVQcm9wZXJ0aWVzIiwiaXNQcm92aXNpb25hbCIsInNldFN0cmluZyIsInNldE5hbWUiLCJzZXRTdXBlclR5cGUiLCJzZXRQcm9wZXJ0aWVzIiwic2V0UHJvdmlzaW9uYWwiLCJpc0VxdWFsVG8iLCJ0eXBlIiwiZXF1YWxUbyIsImlzU3ViVHlwZU9mIiwic3ViVHlwZU9mIiwiaXNTdXBlclR5cGVPZiIsInN1cGVyVHlwZU9mIiwiaXNDb21wYXJhYmxlVG8iLCJjb21wYXJhYmxlVG8iLCJpc0VxdWFsVG9PclN1YlR5cGVPZiIsImVxdWFsVG9PclN1YlR5cGVPZiIsImlzRXF1YWxUb09yU3VwZXJUeXBlT2YiLCJlcXVhbFRvT3JTdXBlclR5cGVPZiIsIm1hdGNoTmFtZSIsIm5vZGVNYXRjaGVzIiwibWF0Y2hUeXBlTmFtZSIsInR5cGVOYW1lIiwidHlwZU5hbWVNYXRjaGVzIiwidG9KU09OIiwicHJvcGVydGllc0pTT04iLCJwcm9wZXJ0aWVzVG9Qcm9wZXJ0aWVzSlNPTiIsInN1cGVyVHlwZUpTT04iLCJzdXBlclR5cGVUb1N1cGVyVHlwZUpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJmaWxlQ29udGV4dCIsInByb3BlcnRpZXNGcm9tSlNPTiIsInN1cGVyVHlwZUZyb21KU09OIiwic3RyaW5nRnJvbU5hbWVBbmRTdXBlclR5cGUiLCJmcm9tVHlwZU5vZGUiLCJ0eXBlTm9kZSIsInR5cGVOYW1lRnJvbVR5cGVOb2RlIiwiZnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlIiwicHJvdmlzaW9uYWxGcm9tVHlwZURlY2xhcmF0aW9uTm9kZSIsInN1cGVyVHlwZUZyb21UeXBlRGVjbGFyYXRpb25Ob2RlIiwibmFtZUZyb21UeXBlRGVjbGFyYXRpb25Ob2RlIiwiZnJvbVByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIiwicHJvcGVydHlEZWNsYXJhdGlvbk5vZGUiLCJwcm9wZXJ0eURlY2xhcmF0aW9uVHlwZU5vZGUiLCJmcm9tVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsInZhcmlhYmxlRGVjbGFyYXRpb25TdXBlclR5cGVOb2RlIiwiZnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJwcm9wZXJ0aWVzRnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwic3VwZXJUeXBlRnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwibmFtZUZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsImRvbUFzc2lnbmVkIiwidHlwZVN0cmluZyIsInN1cGVyVHlwZU5hbWUiLCJ0eXBlRGVjbGFyYXRpb25UeXBlTm9kZSIsInR5cGVEZWNsYXJhdGlvblN1cGVyVHlwZU5vZGUiLCJzdXBlclR5cGVOb2RlIiwiZmlyc3RQcmltYXJ5S2V5d29yZFRlcm1pbmFsTm9kZSIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwiY29udGVudFByb3Zpc2lvbmFsIiwiUFJPVklTSU9OQUwiLCJwcm9wZXJ0eURlY2xhcmF0aW9uTm9kZXMiLCJtYXAiLCJQcm9wZXJ0eSIsImRvbSIsInByb3BlcnR5IiwiT2JqZWN0VHlwZSIsImZyb21Ob3RoaW5nIiwiT0JKRUNUX1RZUEVfTkFNRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBc1FBLE9BQWlDO2VBQWpDOztJQXdHYUEsVUFBVTtlQUFWQTs7O3lCQTVXa0I7MkRBRWY7eUJBRVk7eUJBRUs7b0JBQ0k7cUJBQ0M7b0JBQ3NFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RyxJQUFNLEFBQUVDLE9BQVNDLHlCQUFjLENBQXZCRDtBQUVSLElBQU1FLCtCQUErQkMsSUFBQUEsZ0JBQVMsRUFBQyxvREFDekNDLGdDQUFnQ0MsSUFBQUEsaUJBQVUsRUFBQyxnREFDM0NDLG1DQUFtQ0gsSUFBQUEsZ0JBQVMsRUFBQyw4QkFDN0NJLG9DQUFvQ0osSUFBQUEsZ0JBQVMsRUFBQyxvREFDOUNLLHVDQUF1Q0wsSUFBQUEsZ0JBQVMsRUFBQyxnRUFDakRNLHdDQUF3Q04sSUFBQUEsZ0JBQVMsRUFBQztBQUV4RCxJQUFBLEFBQU1PLHFCQUFOO2FBQU1BLEtBQ1FDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLFVBQVUsRUFBRUMsV0FBVztnQ0FEeERMO1FBRUYsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxTQUFTLEdB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
|
|
459
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBQUk9WSVNJT05BTCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IHsgT0JKRUNUX1RZUEVfTkFNRSB9IGZyb20gXCIuLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9uYW1lXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdXBlclR5cGVGcm9tSlNPTiwgcHJvcGVydGllc0Zyb21KU09OLCBzdXBlclR5cGVUb1N1cGVyVHlwZUpTT04sIHByb3BlcnRpZXNUb1Byb3BlcnRpZXNKU09OIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9qc29uXCI7XG5cbmNvbnN0IHsgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IHR5cGVEZWNsYXJhdGlvblR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZURlY2xhcmF0aW9ufGNvbXBsZXhUeXBlRGVjbGFyYXRpb24vdHlwZVswXVwiKSxcbiAgICAgIHByb3BlcnR5RGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9jb21wbGV4VHlwZURlY2xhcmF0aW9uL3Byb3BlcnR5RGVjbGFyYXRpb25cIiksXG4gICAgICBwcm9wZXJ0eURlY2xhcmF0aW9uVHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9wZXJ0eURlY2xhcmF0aW9uL3R5cGVcIiksXG4gICAgICB0eXBlRGVjbGFyYXRpb25TdXBlclR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZURlY2xhcmF0aW9ufGNvbXBsZXhUeXBlRGVjbGFyYXRpb24vdHlwZVsxXVwiKSxcbiAgICAgIGZpcnN0UHJpbWFyeUtleXdvcmRUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlRGVjbGFyYXRpb258Y29tcGxleFR5cGVEZWNsYXJhdGlvbi9AcHJpbWFyeS1rZXl3b3JkWzBdXCIpLFxuICAgICAgdmFyaWFibGVEZWNsYXJhdGlvblN1cGVyVHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZURlY2xhcmF0aW9uL3R5cGVcIik7XG5cbmNsYXNzIFR5cGUge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIG5hbWUsIHN1cGVyVHlwZSwgcHJvcGVydGllcywgcHJvdmlzaW9uYWwpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuc3VwZXJUeXBlID0gc3VwZXJUeXBlO1xuICAgIHRoaXMucHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG4gICAgdGhpcy5wcm92aXNpb25hbCA9IHByb3Zpc2lvbmFsO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFN1cGVyVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdXBlclR5cGU7XG4gIH1cblxuICBnZXRQcm9wZXJ0aWVzKGluY2x1ZGVTdXBlclR5cGUgPSB0cnVlKSB7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IFtdO1xuXG4gICAgcHVzaChwcm9wZXJ0aWVzLCB0aGlzLnByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGluY2x1ZGVTdXBlclR5cGUpIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZVByb3BlcnRpZXMgPSB0aGlzLnN1cGVyVHlwZS5nZXRQcm9wZXJ0aWVzKCk7XG5cbiAgICAgIHB1c2gocHJvcGVydGllcywgc3VwZXJUeXBlUHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BlcnRpZXM7XG4gIH1cblxuICBpc1Byb3Zpc2lvbmFsKCkge1xuICAgIHJldHVybiB0aGlzLnByb3Zpc2lvbmFsO1xuICB9XG5cbiAgc2V0U3RyaW5nKHN0cmluZykge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICB9XG5cbiAgc2V0TmFtZShuYW1lKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgfVxuXG4gIHNldFN1cGVyVHlwZShzdXBlclR5cGUpIHtcbiAgICB0aGlzLnN1cGVyVHlwZSA9IHN1cGVyVHlwZTtcbiAgfVxuXG4gIHNldFByb3BlcnRpZXMocHJvcGVydGllcykge1xuICAgIHRoaXMucHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG4gIH1cblxuICBzZXRQcm92aXNpb25hbChwcm92aXNpb25hbCkge1xuICAgIHRoaXMucHJvdmlzaW9uYWwgPSBwcm92aXNpb25hbDtcbiAgfVxuXG4gIGlzRXF1YWxUbyh0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUbyA9ICh0aGlzID09PSB0eXBlKTtcblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgaXNTdWJUeXBlT2YodHlwZSkge1xuICAgIGxldCBzdWJUeXBlT2Y7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAodGhpcyA9PT0gb2JqZWN0VHlwZSkge1xuICAgICAgc3ViVHlwZU9mID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmICh0aGlzLnN1cGVyVHlwZSA9PT0gdHlwZSkge1xuICAgICAgc3ViVHlwZU9mID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3ViVHlwZU9mID0gdGhpcy5zdXBlclR5cGUuaXNTdWJUeXBlT2YodHlwZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YlR5cGVPZjtcbiAgfVxuXG4gIGlzU3VwZXJUeXBlT2YodHlwZSkge1xuICAgIGNvbnN0IHN1YlR5cGVPZiA9IHR5cGUuaXNTdWJUeXBlT2YodGhpcyksXG4gICAgICAgICAgc3VwZXJUeXBlT2YgPSBzdWJUeXBlT2Y7ICAvLy9cblxuICAgIHJldHVybiBzdXBlclR5cGVPZjtcbiAgfVxuXG4gIGlzQ29tcGFyYWJsZVRvKHR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mID0gdGhpcy5pc1N1YlR5cGVPZih0eXBlKSxcbiAgICAgICAgICBzdXBlclR5cGVPZiA9IHRoaXMuaXNTdXBlclR5cGVPZih0eXBlKSxcbiAgICAgICAgICBjb21wYXJhYmxlVG8gPSAoZXF1YWxUbyB8fCBzdWJUeXBlT2YgfHwgc3VwZXJUeXBlT2YpO1xuXG4gICAgcmV0dXJuIGNvbXBhcmFibGVUbztcbiAgfVxuXG4gIGlzRXF1YWxUb09yU3ViVHlwZU9mKHR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mID0gdGhpcy5pc1N1YlR5cGVPZih0eXBlKSxcbiAgICAgICAgICBlcXVhbFRvT3JTdWJUeXBlT2YgPSAoZXF1YWxUbyB8fCBzdWJUeXBlT2YpO1xuXG4gICAgcmV0dXJuIGVxdWFsVG9PclN1YlR5cGVPZjtcbiAgfVxuXG4gIGlzRXF1YWxUb09yU3VwZXJUeXBlT2YodHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG8gPSB0aGlzLmlzRXF1YWxUbyh0eXBlKSxcbiAgICAgICAgICBzdXBlclR5cGVPZiA9IHRoaXMuaXNTdXBlclR5cGVPZih0eXBlKSxcbiAgICAgICAgICBlcXVhbFRvT3JTdXBlclR5cGVPZiA9IChlcXVhbFRvIHx8IHN1cGVyVHlwZU9mKTtcblxuICAgIHJldHVybiBlcXVhbFRvT3JTdXBlclR5cGVPZjtcbiAgfVxuXG4gIG1hdGNoTmFtZShuYW1lKSB7XG4gICAgY29uc3Qgbm9kZU1hdGNoZXMgPSAodGhpcy5uYW1lID09PSBuYW1lKTtcblxuICAgIHJldHVybiBub2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoVHlwZU5hbWUodHlwZU5hbWUpIHtcbiAgICBjb25zdCB0eXBlTmFtZU1hdGNoZXMgPSAodGhpcy5uYW1lID09PSB0eXBlTmFtZSk7XG5cbiAgICByZXR1cm4gdHlwZU5hbWVNYXRjaGVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHByb3BlcnRpZXNKU09OID0gcHJvcGVydGllc1RvUHJvcGVydGllc0pTT04odGhpcy5wcm9wZXJ0aWVzKSxcbiAgICAgICAgICBzdXBlclR5cGVKU09OID0gc3VwZXJUeXBlVG9TdXBlclR5cGVKU09OKHRoaXMuc3VwZXJUeXBlKSxcbiAgICAgICAgICBwcm92aXNpb25hbCA9IHRoaXMucHJvdmlzaW9uYWwsXG4gICAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXNKU09OLCAgLy8vXG4gICAgICAgICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlSlNPTiwgIC8vL1xuICAgICAgICAgIG5hbWUgPSB0aGlzLm5hbWUsXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBzdXBlclR5cGUsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICAgICAgcHJvdmlzaW9uYWxcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVHlwZVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgbmFtZSwgcHJvdmlzaW9uYWwgfSA9IGpzb24sXG4gICAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXNGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21OYW1lQW5kU3VwZXJUeXBlKG5hbWUsIHN1cGVyVHlwZSksXG4gICAgICAgICAgdHlwZSA9IG5ldyBUeXBlKHN0cmluZywgbmFtZSwgc3VwZXJUeXBlLCBwcm9wZXJ0aWVzLCBwcm92aXNpb25hbCk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZSh0eXBlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgbmFtZSA9IHR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgIHN1cGVyVHlwZSA9IHR5cGUsIC8vL1xuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21OYW1lQW5kU3VwZXJUeXBlKG5hbWUsIHN1cGVyVHlwZSksXG4gICAgICAgICAgcHJvcGVydGllcyA9IHR5cGUuZ2V0UHJvcGVydGllcygpLFxuICAgICAgICAgIHByb3Zpc2lvbmFsID0gZmFsc2U7ICAvLy9cblxuICAgIHR5cGUgPSBuZXcgVHlwZShzdHJpbmcsIG5hbWUsIHN1cGVyVHlwZSwgcHJvcGVydGllcywgcHJvdmlzaW9uYWwpOyAgLy8vXG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZU5vZGUodHlwZU5vZGUpIHtcbiAgICBsZXQgdHlwZTtcblxuICAgIGlmICh0eXBlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgdHlwZSA9IG9iamVjdFR5cGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgICBzdXBlclR5cGUgPSBudWxsLFxuICAgICAgICAgICAgcHJvcGVydGllcyA9IG51bGwsXG4gICAgICAgICAgICBwcm92aXNpb25hbCA9IG51bGw7XG5cbiAgICAgIHR5cGUgPSBuZXcgVHlwZShzdHJpbmcsIG5hbWUsIHN1cGVyVHlwZSwgcHJvcGVydGllcywgcHJvdmlzaW9uYWwpO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21UeXBlRGVjbGFyYXRpb25Ob2RlKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgcHJvdmlzaW9uYWwgPSBwcm92aXNpb25hbEZyb21UeXBlRGVjbGFyYXRpb25Ob2RlKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdXBlclR5cGUgPSBzdXBlclR5cGVGcm9tVHlwZURlY2xhcmF0aW9uTm9kZSh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgbmFtZSA9IG5hbWVGcm9tVHlwZURlY2xhcmF0aW9uTm9kZSh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbU5hbWVBbmRTdXBlclR5cGUobmFtZSwgc3VwZXJUeXBlKSxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gW10sXG4gICAgICAgICAgdHlwZSA9IG5ldyBUeXBlKHN0cmluZywgbmFtZSwgc3VwZXJUeXBlLCBwcm9wZXJ0aWVzLCBwcm92aXNpb25hbCk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUHJvcGVydHlEZWNsYXJhdGlvbk5vZGUocHJvcGVydHlEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHR5cGU7XG5cbiAgICBjb25zdCBwcm9wZXJ0eURlY2xhcmF0aW9uVHlwZU5vZGUgPSBwcm9wZXJ0eURlY2xhcmF0aW9uVHlwZU5vZGVRdWVyeShwcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSk7XG5cbiAgICBpZiAocHJvcGVydHlEZWNsYXJhdGlvblR5cGVOb2RlID09PSBudWxsKSB7XG4gICAgICB0eXBlID0gb2JqZWN0VHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdHlwZU5vZGUgPSBwcm9wZXJ0eURlY2xhcmF0aW9uVHlwZU5vZGUsIC8vL1xuICAgICAgICAgICAgdHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgICAgICBuYW1lID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICAgIHN0cmluZyA9IG5hbWUsICAvLy9cbiAgICAgICAgICAgIHN1cGVyVHlwZSA9IG51bGwsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzID0gbnVsbCxcbiAgICAgICAgICAgIHByb3Zpc2lvbmFsID0gbnVsbDtcblxuICAgICAgdHlwZSA9IG5ldyBUeXBlKHN0cmluZywgbmFtZSwgc3VwZXJUeXBlLCBwcm9wZXJ0aWVzLCBwcm92aXNpb25hbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB0eXBlO1xuXG4gICAgY29uc3QgdmFyaWFibGVEZWNsYXJhdGlvblN1cGVyVHlwZU5vZGUgPSB2YXJpYWJsZURlY2xhcmF0aW9uU3VwZXJUeXBlTm9kZVF1ZXJ5KHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKTtcblxuICAgIGlmICh2YXJpYWJsZURlY2xhcmF0aW9uU3VwZXJUeXBlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgdHlwZSA9IG9iamVjdFR5cGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR5cGVOb2RlID0gdmFyaWFibGVEZWNsYXJhdGlvblN1cGVyVHlwZU5vZGUsICAvLy9cbiAgICAgICAgICAgIHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgICBzdXBlclR5cGUgPSBudWxsLFxuICAgICAgICAgICAgcHJvcGVydGllcyA9IG51bGwsXG4gICAgICAgICAgICBwcm92aXNpb25hbCA9IG51bGw7XG5cbiAgICAgIHR5cGUgPSBuZXcgVHlwZShzdHJpbmcsIG5hbWUsIHN1cGVyVHlwZSwgcHJvcGVydGllcywgcHJvdmlzaW9uYWwpO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBwcm92aXNpb25hbCA9IHByb3Zpc2lvbmFsRnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllc0Zyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZUZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIG5hbWUgPSBuYW1lRnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlKGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbU5hbWVBbmRTdXBlclR5cGUobmFtZSwgc3VwZXJUeXBlKSxcbiAgICAgICAgICB0eXBlID0gbmV3IFR5cGUoc3RyaW5nLCBuYW1lLCBzdXBlclR5cGUsIHByb3BlcnRpZXMsIHByb3Zpc2lvbmFsKTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKFR5cGUpO1xuXG5mdW5jdGlvbiBzdHJpbmdGcm9tTmFtZUFuZFN1cGVyVHlwZShuYW1lLCBzdXBlclR5cGUpIHtcbiAgbGV0IHN0cmluZyA9IG5hbWU7ICAvLy9cblxuICBpZiAoKHN1cGVyVHlwZSAhPT0gbnVsbCkgJiYgKHN1cGVyVHlwZSAhPT0gb2JqZWN0VHlwZSkpIHtcbiAgICBjb25zdCB0eXBlU3RyaW5nID0gc3RyaW5nLCAgLy8vXG4gICAgICAgICAgc3VwZXJUeXBlTmFtZSA9IHN1cGVyVHlwZS5nZXROYW1lKCk7XG5cbiAgICBzdHJpbmcgPSBgJHt0eXBlU3RyaW5nfToke3N1cGVyVHlwZU5hbWV9YDtcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIG5hbWVGcm9tVHlwZURlY2xhcmF0aW9uTm9kZSh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICBjb25zdCB0eXBlRGVjbGFyYXRpb25UeXBlTm9kZSA9IHR5cGVEZWNsYXJhdGlvblR5cGVOb2RlUXVlcnkodHlwZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHR5cGVOb2RlID0gdHlwZURlY2xhcmF0aW9uVHlwZU5vZGUsIC8vL1xuICAgICAgICB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgbmFtZSA9IHR5cGVOYW1lOyAgLy8vXG5cbiAgcmV0dXJuIG5hbWU7XG59XG5cbmZ1bmN0aW9uIHN1cGVyVHlwZUZyb21UeXBlRGVjbGFyYXRpb25Ob2RlKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IHR5cGVEZWNsYXJhdGlvblN1cGVyVHlwZU5vZGUgPSB0eXBlRGVjbGFyYXRpb25TdXBlclR5cGVOb2RlUXVlcnkodHlwZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHN1cGVyVHlwZU5vZGUgPSB0eXBlRGVjbGFyYXRpb25TdXBlclR5cGVOb2RlLCAvLy9cbiAgICAgICAgc3VwZXJUeXBlID0gVHlwZS5mcm9tVHlwZU5vZGUoc3VwZXJUeXBlTm9kZSk7XG5cbiAgcmV0dXJuIHN1cGVyVHlwZTtcbn1cblxuZnVuY3Rpb24gcHJvdmlzaW9uYWxGcm9tVHlwZURlY2xhcmF0aW9uTm9kZSh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICBjb25zdCBmaXJzdFByaW1hcnlLZXl3b3JkVGVybWluYWxOb2RlID0gZmlyc3RQcmltYXJ5S2V5d29yZFRlcm1pbmFsTm9kZVF1ZXJ5KHR5cGVEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICBjb250ZW50ID0gZmlyc3RQcmltYXJ5S2V5d29yZFRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIGNvbnRlbnRQcm92aXNpb25hbCA9IChjb250ZW50ID09PSBQUk9WSVNJT05BTCksXG4gICAgICAgIHByb3Zpc2lvbmFsID0gY29udGVudFByb3Zpc2lvbmFsOyAvLy9cblxuICByZXR1cm4gcHJvdmlzaW9uYWw7XG59XG5cbmZ1bmN0aW9uIG5hbWVGcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IHR5cGVEZWNsYXJhdGlvblR5cGVOb2RlID0gdHlwZURlY2xhcmF0aW9uVHlwZU5vZGVRdWVyeShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHR5cGVOb2RlID0gdHlwZURlY2xhcmF0aW9uVHlwZU5vZGUsIC8vL1xuICAgICAgICB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgbmFtZSA9IHR5cGVOYW1lOyAgLy8vXG5cbiAgcmV0dXJuIG5hbWU7XG59XG5cbmZ1bmN0aW9uIHN1cGVyVHlwZUZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgY29uc3QgdHlwZURlY2xhcmF0aW9uU3VwZXJUeXBlTm9kZSA9IHR5cGVEZWNsYXJhdGlvblN1cGVyVHlwZU5vZGVRdWVyeShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHN1cGVyVHlwZU5vZGUgPSB0eXBlRGVjbGFyYXRpb25TdXBlclR5cGVOb2RlLCAvLy9cbiAgICAgICAgc3VwZXJUeXBlID0gVHlwZS5mcm9tVHlwZU5vZGUoc3VwZXJUeXBlTm9kZSk7XG5cbiAgcmV0dXJuIHN1cGVyVHlwZTtcbn1cblxuZnVuY3Rpb24gcHJvcGVydGllc0Zyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgY29uc3QgcHJvcGVydHlEZWNsYXJhdGlvbk5vZGVzID0gcHJvcGVydHlEZWNsYXJhdGlvbk5vZGVzUXVlcnkoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydHlEZWNsYXJhdGlvbk5vZGVzLm1hcCgocHJvcGVydHlEZWNsYXJhdGlvbk5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCB7IFByb3BlcnR5IH0gPSBkb20sXG4gICAgICAgICAgICAgICAgcHJvcGVydHkgPSBQcm9wZXJ0eS5mcm9tUHJvcGVydHlEZWNsYXJhdGlvbk5vZGUocHJvcGVydHlEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICAgIHJldHVybiBwcm9wZXJ0eTtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIHByb3BlcnRpZXM7XG59XG5cbmNsYXNzIE9iamVjdFR5cGUgZXh0ZW5kcyBUeXBlIHtcbiAgZ2V0UHJvcGVydGllcygpIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gW107XG5cbiAgICByZXR1cm4gcHJvcGVydGllcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lLFxuICAgICAgICAgIHN1cGVyVHlwZSA9IG51bGwsXG4gICAgICAgICAgcHJvcGVydGllcyA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgICBwcm92aXNpb25hbCA9IHRoaXMucHJvdmlzaW9uYWwsXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBzdXBlclR5cGUsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICAgICAgcHJvdmlzaW9uYWxcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgbmFtZSA9IE9CSkVDVF9UWVBFX05BTUUsXG4gICAgICAgICAgc3RyaW5nID0gbmFtZSwgIC8vXG4gICAgICAgICAgc3VwZXJUeXBlID0gbnVsbCxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gW10sXG4gICAgICAgICAgcHJvdmlzaW9uYWwgPSBmYWxzZSxcbiAgICAgICAgICBvYmplY3RUeXBlID0gbmV3IE9iamVjdFR5cGUoc3RyaW5nLCBuYW1lLCBzdXBlclR5cGUsIHByb3BlcnRpZXMsIHByb3Zpc2lvbmFsKTtcblxuICAgIHJldHVybiBvYmplY3RUeXBlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBvYmplY3RUeXBlID0gT2JqZWN0VHlwZS5mcm9tTm90aGluZygpO1xuIl0sIm5hbWVzIjpbIm9iamVjdFR5cGUiLCJwdXNoIiwiYXJyYXlVdGlsaXRpZXMiLCJ0eXBlRGVjbGFyYXRpb25UeXBlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicHJvcGVydHlEZWNsYXJhdGlvbk5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicHJvcGVydHlEZWNsYXJhdGlvblR5cGVOb2RlUXVlcnkiLCJ0eXBlRGVjbGFyYXRpb25TdXBlclR5cGVOb2RlUXVlcnkiLCJmaXJzdFByaW1hcnlLZXl3b3JkVGVybWluYWxOb2RlUXVlcnkiLCJ2YXJpYWJsZURlY2xhcmF0aW9uU3VwZXJUeXBlTm9kZVF1ZXJ5IiwiVHlwZSIsInN0cmluZyIsIm5hbWUiLCJzdXBlclR5cGUiLCJwcm9wZXJ0aWVzIiwicHJvdmlzaW9uYWwiLCJnZXRTdHJpbmciLCJnZXROYW1lIiwiZ2V0U3VwZXJUeXBlIiwiZ2V0UHJvcGVydGllcyIsImluY2x1ZGVTdXBlclR5cGUiLCJzdXBlclR5cGVQcm9wZXJ0aWVzIiwiaXNQcm92aXNpb25hbCIsInNldFN0cmluZyIsInNldE5hbWUiLCJzZXRTdXBlclR5cGUiLCJzZXRQcm9wZXJ0aWVzIiwic2V0UHJvdmlzaW9uYWwiLCJpc0VxdWFsVG8iLCJ0eXBlIiwiZXF1YWxUbyIsImlzU3ViVHlwZU9mIiwic3ViVHlwZU9mIiwiaXNTdXBlclR5cGVPZiIsInN1cGVyVHlwZU9mIiwiaXNDb21wYXJhYmxlVG8iLCJjb21wYXJhYmxlVG8iLCJpc0VxdWFsVG9PclN1YlR5cGVPZiIsImVxdWFsVG9PclN1YlR5cGVPZiIsImlzRXF1YWxUb09yU3VwZXJUeXBlT2YiLCJlcXVhbFRvT3JTdXBlclR5cGVPZiIsIm1hdGNoTmFtZSIsIm5vZGVNYXRjaGVzIiwibWF0Y2hUeXBlTmFtZSIsInR5cGVOYW1lIiwidHlwZU5hbWVNYXRjaGVzIiwidG9KU09OIiwicHJvcGVydGllc0pTT04iLCJwcm9wZXJ0aWVzVG9Qcm9wZXJ0aWVzSlNPTiIsInN1cGVyVHlwZUpTT04iLCJzdXBlclR5cGVUb1N1cGVyVHlwZUpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJmaWxlQ29udGV4dCIsInByb3BlcnRpZXNGcm9tSlNPTiIsInN1cGVyVHlwZUZyb21KU09OIiwic3RyaW5nRnJvbU5hbWVBbmRTdXBlclR5cGUiLCJmcm9tVHlwZSIsImNvbnRleHQiLCJmcm9tVHlwZU5vZGUiLCJ0eXBlTm9kZSIsInR5cGVOYW1lRnJvbVR5cGVOb2RlIiwiZnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlIiwicHJvdmlzaW9uYWxGcm9tVHlwZURlY2xhcmF0aW9uTm9kZSIsInN1cGVyVHlwZUZyb21UeXBlRGVjbGFyYXRpb25Ob2RlIiwibmFtZUZyb21UeXBlRGVjbGFyYXRpb25Ob2RlIiwiZnJvbVByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIiwicHJvcGVydHlEZWNsYXJhdGlvbk5vZGUiLCJwcm9wZXJ0eURlY2xhcmF0aW9uVHlwZU5vZGUiLCJmcm9tVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsInZhcmlhYmxlRGVjbGFyYXRpb25TdXBlclR5cGVOb2RlIiwiZnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJwcm9wZXJ0aWVzRnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwic3VwZXJUeXBlRnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwibmFtZUZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsImRvbUFzc2lnbmVkIiwidHlwZVN0cmluZyIsInN1cGVyVHlwZU5hbWUiLCJ0eXBlRGVjbGFyYXRpb25UeXBlTm9kZSIsInR5cGVEZWNsYXJhdGlvblN1cGVyVHlwZU5vZGUiLCJzdXBlclR5cGVOb2RlIiwiZmlyc3RQcmltYXJ5S2V5d29yZFRlcm1pbmFsTm9kZSIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwiY29udGVudFByb3Zpc2lvbmFsIiwiUFJPVklTSU9OQUwiLCJwcm9wZXJ0eURlY2xhcmF0aW9uTm9kZXMiLCJtYXAiLCJQcm9wZXJ0eSIsImRvbSIsInByb3BlcnR5IiwiT2JqZWN0VHlwZSIsImZyb21Ob3RoaW5nIiwiT0JKRUNUX1RZUEVfTkFNRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBa1JBLE9BQWlDO2VBQWpDOztJQXdHYUEsVUFBVTtlQUFWQTs7O3lCQXhYa0I7MkRBRWY7eUJBRVk7eUJBRUs7b0JBQ0k7cUJBQ0M7b0JBQ3NFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RyxJQUFNLEFBQUVDLE9BQVNDLHlCQUFj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
|
|
@@ -35,13 +35,17 @@ function unifyWithConstructors(term, context, verifyAhead) {
|
|
|
35
35
|
}
|
|
36
36
|
function verifyTermAsVariable(term, localContext, verifyAhead) {
|
|
37
37
|
var termVerifiedAsVariable = false;
|
|
38
|
-
var Variable = _dom.default.Variable, context = localContext, termNode = term.getNode(), variableNode = variableNodeQuery(termNode)
|
|
38
|
+
var Variable = _dom.default.Variable, context = localContext, termNode = term.getNode(), variableNode = variableNodeQuery(termNode);
|
|
39
|
+
var variable;
|
|
40
|
+
variable = Variable.fromVariableNode(variableNode, context);
|
|
39
41
|
if (variable !== null) {
|
|
40
42
|
var termString = term.getString();
|
|
41
43
|
localContext.trace("Verifying the '".concat(termString, "' term as a variable..."));
|
|
42
44
|
var variableVerified = variable.verify(localContext);
|
|
43
45
|
if (variableVerified) {
|
|
44
46
|
var verifiedAhead;
|
|
47
|
+
var variableName = variable.getName();
|
|
48
|
+
variable = context.findVariableByVariableName(variableName);
|
|
45
49
|
var type = variable.getType();
|
|
46
50
|
term.setType(type);
|
|
47
51
|
verifiedAhead = verifyAhead();
|
|
@@ -60,4 +64,4 @@ var verifyMixins = [
|
|
|
60
64
|
];
|
|
61
65
|
var _default = verifyMixins;
|
|
62
66
|
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taXhpbnMvdGVybS92ZXJpZnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0vdmFyaWFibGUhXCIpO1xuXG5mdW5jdGlvbiB1bmlmeVdpdGhCcmFja2V0ZWRDb25zdHJ1Y3Rvcih0ZXJtLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvcjtcblxuICBjb25zdCB7IEJyYWNrZXRlZENvbnN0cnVjdG9yIH0gPSBkb20sXG4gICAgICAgIGJyYWNrZXRlZENvbnN0cnVjdG9yID0gQnJhY2tldGVkQ29uc3RydWN0b3IuZnJvbU5vdGhpbmcoKTtcblxuICB1bmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yID0gYnJhY2tldGVkQ29uc3RydWN0b3IudW5pZnlUZXJtKHRlcm0sIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICByZXR1cm4gdW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3Rvcjtcbn1cblxuZnVuY3Rpb24gdW5pZnlXaXRoQ29uc3RydWN0b3JzKHRlcm0sIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCB1bmlmaWVkV2l0aENvbnN0cnVjdG9ycztcblxuICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBjb250ZXh0LmdldENvbnN0cnVjdG9ycygpO1xuXG4gIHVuaWZpZWRXaXRoQ29uc3RydWN0b3JzID0gY29uc3RydWN0b3JzLnNvbWUoKGNvbnN0cnVjdG9yKSA9PiB7XG4gICAgY29uc3QgdW5pZmllZFdpdGhDb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9yLnVuaWZ5VGVybSh0ZXJtLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgICBpZiAodW5pZmllZFdpdGhDb25zdHJ1Y3Rvcikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdW5pZmllZFdpdGhDb25zdHJ1Y3RvcnM7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVRlcm1Bc1ZhcmlhYmxlKHRlcm0sIGxvY2FsQ29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZEFzVmFyaWFibGUgPSBmYWxzZTtcblxuICBjb25zdCB7IFZhcmlhYmxlIH0gPSBkb20sXG4gICAgICAgIGNvbnRleHQgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICB0ZXJtTm9kZSA9IHRlcm0uZ2V0Tm9kZSgpLFxuICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZSk7XG5cbiAgbGV0IHZhcmlhYmxlO1xuXG4gIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUsIGNvbnRleHQpO1xuXG4gIGlmICh2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIGFzIGEgdmFyaWFibGUuLi5gKTtcblxuICAgIGNvbnN0IHZhcmlhYmxlVmVyaWZpZWQgPSB2YXJpYWJsZS52ZXJpZnkobG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgICAgY29uc3QgdmFyaWFibGVOYW1lID0gdmFyaWFibGUuZ2V0TmFtZSgpO1xuXG4gICAgICB2YXJpYWJsZSA9IGNvbnRleHQuZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICAgICAgY29uc3QgdHlwZSA9IHZhcmlhYmxlLmdldFR5cGUoKTtcblxuICAgICAgdGVybS5zZXRUeXBlKHR5cGUpO1xuXG4gICAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgICAgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IHZlcmlmaWVkQWhlYWQ7IC8vL1xuICAgIH1cblxuICAgIGlmICh0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSBhcyBhIHZhcmlhYmxlLmApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlO1xufVxuXG5jb25zdCB2ZXJpZnlNaXhpbnMgPSBbXG4gIHVuaWZ5V2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yLFxuICB1bmlmeVdpdGhDb25zdHJ1Y3RvcnMsXG4gIHZlcmlmeVRlcm1Bc1ZhcmlhYmxlXG5dO1xuXG5leHBvcnQgZGVmYXVsdCB2ZXJpZnlNaXhpbnM7XG4iXSwibmFtZXMiOlsidmFyaWFibGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bmlmeVdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciIsInRlcm0iLCJjb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJ1bmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yIiwiQnJhY2tldGVkQ29uc3RydWN0b3IiLCJkb20iLCJicmFja2V0ZWRDb25zdHJ1Y3RvciIsImZyb21Ob3RoaW5nIiwidW5pZnlUZXJtIiwidW5pZnlXaXRoQ29uc3RydWN0b3JzIiwidW5pZmllZFdpdGhDb25zdHJ1Y3RvcnMiLCJjb25zdHJ1Y3RvcnMiLCJnZXRDb25zdHJ1Y3RvcnMiLCJzb21lIiwiY29uc3RydWN0b3IiLCJ1bmlmaWVkV2l0aENvbnN0cnVjdG9yIiwidmVyaWZ5VGVybUFzVmFyaWFibGUiLCJsb2NhbENvbnRleHQiLCJ0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlIiwiVmFyaWFibGUiLCJ0ZXJtTm9kZSIsImdldE5vZGUiLCJ2YXJpYWJsZU5vZGUiLCJ2YXJpYWJsZSIsImZyb21WYXJpYWJsZU5vZGUiLCJ0ZXJtU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YXJpYWJsZVZlcmlmaWVkIiwidmVyaWZ5IiwidmVyaWZpZWRBaGVhZCIsInZhcmlhYmxlTmFtZSIsImdldE5hbWUiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSIsInR5cGUiLCJnZXRUeXBlIiwic2V0VHlwZSIsImRlYnVnIiwidmVyaWZ5TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvRkE7OztlQUFBOzs7MERBbEZnQjtxQkFFVTs7Ozs7O0FBRTFCLElBQU1BLG9CQUFvQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUVwQyxTQUFTQyw4QkFBOEJDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxXQUFXO0lBQy9ELElBQUlDO0lBRUosSUFBTSxBQUFFQyx1QkFBeUJDLFlBQUcsQ0FBNUJELHNCQUNGRSx1QkFBdUJGLHFCQUFxQkcsV0FBVztJQUU3REosa0NBQWtDRyxxQkFBcUJFLFNBQVMsQ0FBQ1IsTUFBTUMsU0FBU0M7SUFFaEYsT0FBT0M7QUFDVDtBQUVBLFNBQVNNLHNCQUFzQlQsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLFdBQVc7SUFDdkQsSUFBSVE7SUFFSixJQUFNQyxlQUFlVixRQUFRVyxlQUFlO0lBRTVDRiwwQkFBMEJDLGFBQWFFLElBQUksQ0FBQyxTQUFDQztRQUMzQyxJQUFNQyx5QkFBeUJELFlBQVlOLFNBQVMsQ0FBQ1IsTUFBTUMsU0FBU0M7UUFFcEUsSUFBSWEsd0JBQXdCO1lBQzFCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0w7QUFDVDtBQUVBLFNBQVNNLHFCQUFxQmhCLElBQUksRUFBRWlCLFlBQVksRUFBRWYsV0FBVztJQUMzRCxJQUFJZ0IseUJBQXlCO0lBRTdCLElBQU0sQUFBRUMsV0FBYWQsWUFBRyxDQUFoQmMsVUFDRmxCLFVBQVVnQixjQUNWRyxXQUFXcEIsS0FBS3FCLE9BQU8sSUFDdkJDLGVBQWV6QixrQkFBa0J1QjtJQUV2QyxJQUFJRztJQUVKQSxXQUFXSixTQUFTSyxnQkFBZ0IsQ0FBQ0YsY0FBY3JCO0lBRW5ELElBQUlzQixhQUFhLE1BQU07UUFDckIsSUFBTUUsYUFBYXpCLEtBQUswQixTQUFTO1FBRWpDVCxhQUFhVSxLQUFLLENBQUMsQUFBQyxrQkFBNEIsT0FBWEYsWUFBVztRQUVoRCxJQUFNRyxtQkFBbUJMLFNBQVNNLE1BQU0sQ0FBQ1o7UUFFekMsSUFBSVcsa0JBQWtCO1lBQ3BCLElBQUlFO1lBRUosSUFBTUMsZUFBZVIsU0FBU1MsT0FBTztZQUVyQ1QsV0FBV3RCLFFBQVFnQywwQkFBMEIsQ0FBQ0Y7WUFFOUMsSUFBTUcsT0FBT1gsU0FBU1ksT0FBTztZQUU3Qm5DLEtBQUtvQyxPQUFPLENBQUNGO1lBRWJKLGdCQUFnQjVCO1lBRWhCZ0IseUJBQXlCWSxlQUFlLEdBQUc7UUFDN0M7UUFFQSxJQUFJWix3QkFBd0I7WUFDMUJELGFBQWFvQixLQUFLLENBQUMsQUFBQyxvQkFBOEIsT0FBWFosWUFBVztRQUNwRDtJQUNGO0lBRUEsT0FBT1A7QUFDVDtBQUVBLElBQU1vQixlQUFlO0lBQ25CdkM7SUFDQVU7SUFDQU87Q0FDRDtJQUVELFdBQWVzQiJ9
|
package/package.json
CHANGED
package/src/context/file.js
CHANGED
|
@@ -735,6 +735,13 @@ export default class FileContext {
|
|
|
735
735
|
return metavariablePresent;
|
|
736
736
|
}
|
|
737
737
|
|
|
738
|
+
isMetaLemmaMetatheoremPresentByReference(reference) {
|
|
739
|
+
const metaLemmaMetatheorem = this.findMetaLemmaMetatheoremByReference(reference),
|
|
740
|
+
metaLemmaMetatheoremPresent = (metaLemmaMetatheorem !== null);
|
|
741
|
+
|
|
742
|
+
return metaLemmaMetatheoremPresent;
|
|
743
|
+
}
|
|
744
|
+
|
|
738
745
|
nodeAsString(node, tokens = null) {
|
|
739
746
|
if (tokens === null) {
|
|
740
747
|
tokens = this.tokens;
|
package/src/context/local.js
CHANGED
|
@@ -281,6 +281,8 @@ class LocalContext {
|
|
|
281
281
|
|
|
282
282
|
isMetavariablePresentByReference(reference) { return this.context.isMetavariablePresentByReference(reference); }
|
|
283
283
|
|
|
284
|
+
isMetaLemmaMetatheoremPresentByReference(reference) { return this.context.isMetaLemmaMetatheoremPresentByReference(reference); }
|
|
285
|
+
|
|
284
286
|
findAxiomLemmaTheoremConjectureByReference(reference) { return this.context.findAxiomLemmaTheoremConjectureByReference(reference); }
|
|
285
287
|
|
|
286
288
|
isMetavariablePresent(metavariable, generalContext, specificContext) { return this.context.isMetavariablePresent(metavariable, generalContext, specificContext); }
|
|
@@ -111,10 +111,11 @@ export default domAssigned(class TypeAssertion {
|
|
|
111
111
|
});
|
|
112
112
|
|
|
113
113
|
if (termVerified) {
|
|
114
|
-
const { Variable } = dom,
|
|
114
|
+
const { Type, Variable } = dom,
|
|
115
115
|
termNode = this.term.getNode(),
|
|
116
116
|
variableNode = variableNodeQuery(termNode),
|
|
117
|
-
|
|
117
|
+
type = Type.fromType(this.type, context),
|
|
118
|
+
variable = Variable.fromVariableNodeAndType(variableNode, type, context);
|
|
118
119
|
|
|
119
120
|
if (variable === null) {
|
|
120
121
|
const termString = this.term.getString();
|
|
@@ -147,12 +148,16 @@ export default domAssigned(class TypeAssertion {
|
|
|
147
148
|
context.trace(`Verifying the '${typeAssertionString}' derived type assertion...`);
|
|
148
149
|
|
|
149
150
|
const termVerified = this.term.verify(context, () => {
|
|
150
|
-
let verifiedAhead;
|
|
151
|
+
let verifiedAhead = false;
|
|
151
152
|
|
|
152
153
|
const termType = this.term.getType(),
|
|
153
|
-
|
|
154
|
+
termTypeProvisional = termType.isProvisional();
|
|
155
|
+
|
|
156
|
+
if (!termTypeProvisional) {
|
|
157
|
+
const typeEqualToOrSuperTypeOfTermType = this.type.isEqualToOrSuperTypeOf(termType);
|
|
154
158
|
|
|
155
|
-
|
|
159
|
+
verifiedAhead = typeEqualToOrSuperTypeOfTermType; ///
|
|
160
|
+
}
|
|
156
161
|
|
|
157
162
|
return verifiedAhead;
|
|
158
163
|
});
|
|
@@ -53,11 +53,11 @@ export default domAssigned(class VariableDeclaration {
|
|
|
53
53
|
variableString = this.variable.getString();
|
|
54
54
|
|
|
55
55
|
if (typeProvisional) {
|
|
56
|
-
this.fileContext.debug(`The '${typeString}' type is provisional
|
|
56
|
+
this.fileContext.debug(`The '${typeString}' type is provisional whilst the '${variableString}' variable's type is not.`);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
if (variableProvisional) {
|
|
60
|
-
this.fileContext.debug(`The '${typeString}' type is not provisional
|
|
60
|
+
this.fileContext.debug(`The '${typeString}' type is not provisional whilst the '${variableString}' variable's type is.`);
|
|
61
61
|
}
|
|
62
62
|
} else {
|
|
63
63
|
this.variable.setType(type);
|
package/src/dom/declaration.js
CHANGED
|
@@ -51,7 +51,7 @@ export default domAssigned(class Declaration {
|
|
|
51
51
|
return substitutionMatches;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
verify(
|
|
54
|
+
verify(assignments, stated, context) {
|
|
55
55
|
let verified = false;
|
|
56
56
|
|
|
57
57
|
const declarationString = this.string; ///
|
|
@@ -68,9 +68,9 @@ export default domAssigned(class Declaration {
|
|
|
68
68
|
verifiedWhenDerived = false;
|
|
69
69
|
|
|
70
70
|
if (stated) {
|
|
71
|
-
verifiedWhenStated = this.verifyWhenStated(
|
|
71
|
+
verifiedWhenStated = this.verifyWhenStated(assignments, context);
|
|
72
72
|
} else {
|
|
73
|
-
verifiedWhenDerived = this.verifyWhenDerived(
|
|
73
|
+
verifiedWhenDerived = this.verifyWhenDerived(context);
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
if (verifiedWhenStated || verifiedWhenDerived) {
|
|
@@ -124,7 +124,7 @@ export default domAssigned(class Declaration {
|
|
|
124
124
|
return statementVerified;
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
verifyWhenStated(
|
|
127
|
+
verifyWhenStated(assignments, context) {
|
|
128
128
|
let verifiedWhenStated;
|
|
129
129
|
|
|
130
130
|
const declarationString = this.string; ///
|
|
@@ -155,21 +155,16 @@ export default domAssigned(class Declaration {
|
|
|
155
155
|
return verifiedWhenStated;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
verifyWhenDerived(
|
|
158
|
+
verifyWhenDerived(context) {
|
|
159
159
|
let verifiedWhenDerived;
|
|
160
160
|
|
|
161
161
|
const declarationString = this.string; ///
|
|
162
162
|
|
|
163
163
|
context.trace(`Verifying the '${declarationString}' derived declaration...`);
|
|
164
164
|
|
|
165
|
-
const
|
|
165
|
+
const metaLemmaMetatheoremPresent = context.isMetaLemmaMetatheoremPresentByReference(this.reference);
|
|
166
166
|
|
|
167
|
-
|
|
168
|
-
const substitutions = metaLemmaMetatheorem.getSubstitutions(),
|
|
169
|
-
substitutionsMatches = frame.matchSubstitutions(substitutions, context);
|
|
170
|
-
|
|
171
|
-
verifiedWhenDerived = substitutionsMatches; ///
|
|
172
|
-
}
|
|
167
|
+
verifiedWhenDerived = metaLemmaMetatheoremPresent; ///
|
|
173
168
|
|
|
174
169
|
if (verifiedWhenDerived) {
|
|
175
170
|
context.debug(`...verified the '${declarationString}' derived declaration.`);
|