occam-nominal 1.0.324 → 1.0.326
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.
|
@@ -30,35 +30,36 @@ const _default = (0, _elements.define)(class Axiom extends _topLevelAssertion.de
|
|
|
30
30
|
verify = breakable(function(context, continuation) {
|
|
31
31
|
const axiomString = this.getString(); ///
|
|
32
32
|
context.trace(`Verifying the '${axiomString}' axiom...`);
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
return this.verifyEx(context, (verifies)=>{
|
|
39
|
-
if (verifies) {
|
|
40
|
-
const axiom = this; ///
|
|
41
|
-
context.addAxiom(axiom);
|
|
42
|
-
context.debug(`...verified the '${axiomString}' axiom.`);
|
|
33
|
+
this.verifySignature(context, (signatureVerifies)=>{
|
|
34
|
+
if (!signatureVerifies) {
|
|
35
|
+
const verifies = false;
|
|
36
|
+
return continuation(verifies);
|
|
43
37
|
}
|
|
44
|
-
return
|
|
38
|
+
return this.verifyEx(context, (verifies)=>{
|
|
39
|
+
if (verifies) {
|
|
40
|
+
const axiom = this; ///
|
|
41
|
+
context.addAxiom(axiom);
|
|
42
|
+
context.debug(`...verified the '${axiomString}' axiom.`);
|
|
43
|
+
}
|
|
44
|
+
return continuation(verifies);
|
|
45
|
+
});
|
|
45
46
|
});
|
|
46
47
|
});
|
|
47
|
-
verifySignature(context) {
|
|
48
|
-
let signatureVerifies;
|
|
48
|
+
verifySignature(context, continuation) {
|
|
49
49
|
const satisfiable = this.isSatisfiable();
|
|
50
|
-
if (satisfiable) {
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
if (!satisfiable) {
|
|
51
|
+
const signatureVerifies = true; ///
|
|
52
|
+
return continuation(signatureVerifies);
|
|
53
|
+
}
|
|
54
|
+
const axiomString = this.getString(); ///
|
|
55
|
+
context.trace(`Verifying the '${axiomString}' axiom's signature...`);
|
|
56
|
+
const signature = this.getSignature();
|
|
57
|
+
signature.verify(context, (signatureVerifies)=>{
|
|
55
58
|
if (signatureVerifies) {
|
|
56
59
|
context.trace(`...verified the '${axiomString}' axiom's signature.`);
|
|
57
60
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
return signatureVerifies;
|
|
61
|
+
return continuation(signatureVerifies);
|
|
62
|
+
});
|
|
62
63
|
}
|
|
63
64
|
unifySignature(signature, context) {
|
|
64
65
|
let signatureUnifies;
|
|
@@ -156,4 +157,4 @@ const _default = (0, _elements.define)(class Axiom extends _topLevelAssertion.de
|
|
|
156
157
|
}
|
|
157
158
|
});
|
|
158
159
|
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3RvcExldmVsQXNzZXJ0aW9uL2F4aW9tLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBUb3BMZXZlbEFzc2VydGlvbiBmcm9tIFwiLi4vdG9wTGV2ZWxBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyByZWNvbmNpbGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcblxuY29uc3QgeyBtYXRjaCB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzLFxuICAgICAgeyBicmVha2FibGUgfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBBeGlvbSBleHRlbmRzIFRvcExldmVsQXNzZXJ0aW9uIHtcbiAgZ2V0QXhpb21Ob2RlKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICBheGlvbU5vZGUgPSBub2RlOyAvLy9cblxuICAgIHJldHVybiBheGlvbU5vZGU7XG4gIH1cblxuICBpc1NhdGlzZmlhYmxlKCkge1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IHRoaXMuZ2V0U2lnbmF0dXJlKCksXG4gICAgICAgICAgc2F0aXNmaWFibGUgPSAoc2lnbmF0dXJlICE9PSBudWxsKTtcblxuICAgIHJldHVybiBzYXRpc2ZpYWJsZTtcbiAgfVxuXG4gIHZlcmlmeSA9IGJyZWFrYWJsZShmdW5jdGlvbiAoY29udGV4dCwgY29udGludWF0aW9uKSB7XG4gICAgY29uc3QgYXhpb21TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbS4uLmApO1xuXG4gICAgY29uc3Qgc2lnbmF0dXJlVmVyaWZpZXMgPSB0aGlzLnZlcmlmeVNpZ25hdHVyZShjb250ZXh0KTtcblxuICAgIGlmIChzaWduYXR1cmVWZXJpZmllcykge1xuICAgICAgY29uc3QgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgICAgcmV0dXJuIGNvbnRpbnVhdGlvbih2ZXJpZmllcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudmVyaWZ5RXgoY29udGV4dCwgKHZlcmlmaWVzKSA9PiB7XG4gICAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgICAgY29uc3QgYXhpb20gPSB0aGlzOyAvLy9cblxuICAgICAgICBjb250ZXh0LmFkZEF4aW9tKGF4aW9tKTtcblxuICAgICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbS5gKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbnRpbnVhdGlvbih2ZXJpZmllcyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHZlcmlmeVNpZ25hdHVyZShjb250ZXh0KSB7XG4gICAgbGV0IHNpZ25hdHVyZVZlcmlmaWVzO1xuXG4gICAgY29uc3Qgc2F0aXNmaWFibGUgPSB0aGlzLmlzU2F0aXNmaWFibGUoKTtcblxuICAgIGlmIChzYXRpc2ZpYWJsZSkge1xuICAgICAgY29uc3QgYXhpb21TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtheGlvbVN0cmluZ30nIGF4aW9tJ3Mgc2lnbmF0dXJlLi4uYCk7XG5cbiAgICAgIGNvbnN0IHNpZ25hdHVyZSA9IHRoaXMuZ2V0U2lnbmF0dXJlKCk7XG5cbiAgICAgIHNpZ25hdHVyZVZlcmlmaWVzID0gc2lnbmF0dXJlLnZlcmlmeShjb250ZXh0KTtcblxuICAgICAgaWYgKHNpZ25hdHVyZVZlcmlmaWVzKSB7XG4gICAgICAgIGNvbnRleHQudHJhY2UoYC4uLnZlcmlmaWVkIHRoZSAnJHtheGlvbVN0cmluZ30nIGF4aW9tJ3Mgc2lnbmF0dXJlLmApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzaWduYXR1cmVWZXJpZmllcyA9IHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlVmVyaWZpZXM7XG4gIH1cblxuICB1bmlmeVNpZ25hdHVyZShzaWduYXR1cmUsIGNvbnRleHQpIHtcbiAgICBsZXQgc2lnbmF0dXJlVW5pZmllcztcblxuICAgIGNvbnN0IGF4aW9tU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgLy8vXG4gICAgICAgICAgc2lnbmF0dXJlU3RyaW5nID0gc2lnbmF0dXJlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3NpZ25hdHVyZVN0cmluZ30nIHNpZ25hdHVyZSB3aXRoIHRoZSAnJHtheGlvbVN0cmluZ30nIGF4aW9tLi4uYCk7XG5cbiAgICBjb25zdCBzcGVjaWZpY1NpZ25hdHVyZSA9IHNpZ25hdHVyZTsgIC8vL1xuXG4gICAgc2lnbmF0dXJlID0gdGhpcy5nZXRTaWduYXR1cmUoKTtcblxuICAgIGNvbnN0IGdlbmVyYWxTaWduYXR1cmUgPSBzaWduYXR1cmU7IC8vL1xuXG4gICAgc2lnbmF0dXJlVW5pZmllcyA9IGdlbmVyYWxTaWduYXR1cmUudW5pZnlTaWduYXR1cmUoc3BlY2lmaWNTaWduYXR1cmUsIGNvbnRleHQpO1xuXG4gICAgaWYgKHNpZ25hdHVyZVVuaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3NpZ25hdHVyZVN0cmluZ30nIHNpZ25hdHVyZSB3aXRoIHRoZSAnJHtheGlvbVN0cmluZ30nIGF4aW9tLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzaWduYXR1cmVVbmlmaWVzO1xuICB9XG5cbiAgdW5pZnlEZWR1Y3Rpb24oZGVkdWN0aW9uLCBjb250ZXh0KSB7XG4gICAgbGV0IGRlZHVjdGlvblVuaWZpZXM7XG5cbiAgICB0aGlzLmJyZWFrKGNvbnRleHQpO1xuXG4gICAgY29uc3QgYXhpb21TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLCAvLy9cbiAgICAgICAgICBnZW5lcmFsRGVkdWN0aW9uID0gdGhpcy5kZWR1Y3Rpb24sICAvLy9cbiAgICAgICAgICBzcGVjaWZpY0RlZHVjdGlvbiA9IGRlZHVjdGlvbiwgIC8vL1xuICAgICAgICAgIGdlbmVyYWxEZWR1Y3Rpb25TdHJpbmcgPSBnZW5lcmFsRGVkdWN0aW9uLmdldFN0cmluZygpLFxuICAgICAgICAgIHNwZWNpZmljRGVkdWN0aW9uU3RyaW5nID0gc3BlY2lmaWNEZWR1Y3Rpb24uZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3BlY2lmaWNEZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24gd2l0aCB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbSdzICcke2dlbmVyYWxEZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24uLi5gKTtcblxuICAgIGNvbnN0IGdlbmVyYWxEZWR1Y3Rpb25Db250ZXh0ID0gZ2VuZXJhbERlZHVjdGlvbi5nZXRDb250ZXh0KCksXG4gICAgICAgICAgc3BlY2lmaWNEZWR1Y3Rpb25Db250ZXh0ID0gc3BlY2lmaWNEZWR1Y3Rpb24uZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIGdlbmVyYWxDb250ZXh0ID0gZ2VuZXJhbERlZHVjdGlvbkNvbnRleHQsIC8vL1xuICAgICAgICAgIHNwZWNpZmljQ29udGV4dCA9IHNwZWNpZmljRGVkdWN0aW9uQ29udGV4dDsgLy8vXG5cbiAgICByZWNvbmNpbGUoKHNwZWNpZmljQ29udGV4dCkgPT4ge1xuICAgICAgbGV0IHN0YXRlbWVudDtcblxuICAgICAgc3RhdGVtZW50ID0gc3BlY2lmaWNEZWR1Y3Rpb24uZ2V0U3RhdGVtZW50KCk7XG5cbiAgICAgIGNvbnN0IHNwZWNpZmljU3RhdGVtZW50ID0gc3RhdGVtZW50OyAgLy8vXG5cbiAgICAgIHN0YXRlbWVudCA9IGdlbmVyYWxEZWR1Y3Rpb24uZ2V0U3RhdGVtZW50KCk7XG5cbiAgICAgIGNvbnN0IGdlbmVyYWxTdGF0ZW1lbnQgPSBzdGF0ZW1lbnQsIC8vL1xuICAgICAgICAgICAgc3RhdGVtZW50VW5pZmllcyA9IGdlbmVyYWxTdGF0ZW1lbnQudW5pZnlTdGF0ZW1lbnQoc3BlY2lmaWNTdGF0ZW1lbnQsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VW5pZmllcykge1xuICAgICAgICBzcGVjaWZpY0NvbnRleHQuY29tbWl0KGNvbnRleHQpO1xuXG4gICAgICAgIGRlZHVjdGlvblVuaWZpZXMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICBpZiAoZGVkdWN0aW9uVW5pZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3BlY2lmaWNEZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24gd2l0aCB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbSdzICcke2dlbmVyYWxEZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZHVjdGlvblVuaWZpZXM7XG4gIH1cblxuICB1bmlmeVN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uLCBpbmRleCwgY29udGV4dCkge1xuICAgIGxldCBzdXBwb3NpdGlvblVuaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHNwZWNpZmljU3VwcG9zaXRpb24gPSBzdXBwb3NpdGlvbjsgIC8vL1xuXG4gICAgc3VwcG9zaXRpb24gPSB0aGlzLmdldFN1cHBvc2l0aW9uKGluZGV4KTtcblxuICAgIGNvbnN0IGF4aW9tU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgLy8vXG4gICAgICAgICAgZ2VuZXJhbFN1cHBvc2l0aW9uID0gc3VwcG9zaXRpb24sICAvLy9cbiAgICAgICAgICBnZW5lcmFsU3VwcG9zaXRpb25TdHJpbmcgPSBnZW5lcmFsU3VwcG9zaXRpb24uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3BlY2lmaWNTdXBwb3NpdGlvblN0cmluZyA9IHNwZWNpZmljU3VwcG9zaXRpb24uZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3BlY2lmaWNTdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uIHdpdGggdGhlICcke2F4aW9tU3RyaW5nfScgYXhpb20ncyAnJHtnZW5lcmFsU3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi4uLmApO1xuXG4gICAgY29uc3QgZ2VuZXJhbFN1cHBvc2l0aW9uQ29udGV4dCA9IGdlbmVyYWxTdXBwb3NpdGlvbi5nZXRDb250ZXh0KCksXG4gICAgICAgICAgc3BlY2lmaWNTdXBwb3NpdGlvbkNvbnRleHQgPSBzcGVjaWZpY1N1cHBvc2l0aW9uLmdldENvbnRleHQoKSxcbiAgICAgICAgICBnZW5lcmFsQ29udGV4dCA9IGdlbmVyYWxTdXBwb3NpdGlvbkNvbnRleHQsIC8vL1xuICAgICAgICAgIHNwZWNpZmljQ29udGV4dCA9IHNwZWNpZmljU3VwcG9zaXRpb25Db250ZXh0OyAvLy9cblxuICAgIHJlY29uY2lsZSgoc3BlY2lmaWNDb250ZXh0KSA9PiB7XG4gICAgICBsZXQgc3RhdGVtZW50O1xuXG4gICAgICBzdGF0ZW1lbnQgPSBzcGVjaWZpY1N1cHBvc2l0aW9uLmdldFN0YXRlbWVudCgpO1xuXG4gICAgICBjb25zdCBzcGVjaWZpY1N0YXRlbWVudCA9IHN0YXRlbWVudDsgIC8vL1xuXG4gICAgICBzdGF0ZW1lbnQgPSBnZW5lcmFsU3VwcG9zaXRpb24uZ2V0U3RhdGVtZW50KCk7XG5cbiAgICAgIGNvbnN0IGdlbmVyYWxTdGF0ZW1lbnQgPSBzdGF0ZW1lbnQsIC8vL1xuICAgICAgICAgICAgc3RhdGVtZW50VW5pZmllcyA9IGdlbmVyYWxTdGF0ZW1lbnQudW5pZnlTdGF0ZW1lbnQoc3BlY2lmaWNTdGF0ZW1lbnQsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VW5pZmllcykge1xuICAgICAgICBzcGVjaWZpY0NvbnRleHQuY29tbWl0KGNvbnRleHQpO1xuXG4gICAgICAgIHN1cHBvc2l0aW9uVW5pZmllcyA9IHRydWU7XG4gICAgICB9XG4gICAgfSwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgIGlmIChzdXBwb3NpdGlvblVuaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3NwZWNpZmljU3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbiB3aXRoIHRoZSAnJHtheGlvbVN0cmluZ30nIGF4aW9tJ3MgJyR7Z2VuZXJhbFN1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24uLi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwcG9zaXRpb25VbmlmaWVzO1xuICB9XG5cbiAgdW5pZnlTdXBwb3NpdGlvbnMoc3VwcG9zaXRpb25zLCBjb250ZXh0KSB7XG4gICAgbGV0IHN1cHBvc2l0aW9uc1VuaWZ5O1xuXG4gICAgY29uc3Qgc3BlY2lmaWNTdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnM7ICAvLy9cblxuICAgIHN1cHBvc2l0aW9ucyA9IHRoaXMuZ2V0U3VwcG9zaXRpb25zKCk7XG5cbiAgICBjb25zdCBnZW5lcmFsU3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zOyAvLy9cblxuICAgIHN1cHBvc2l0aW9uc1VuaWZ5ID0gbWF0Y2goZ2VuZXJhbFN1cHBvc2l0aW9ucywgc3BlY2lmaWNTdXBwb3NpdGlvbnMsIChnZW5lcmFsU3VwcG9zaXRpb24sIHNwZWNpZmljU3VwcG9zaXRpb24sIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBzdXBwb3NpdGlvbiA9IHNwZWNpZmljU3VwcG9zaXRpb24sICAvLy9cbiAgICAgICAgICAgIHN1cHBvc2l0aW9uVW5pZmllcyA9IHRoaXMudW5pZnlTdXBwb3NpdGlvbihzdXBwb3NpdGlvbiwgaW5kZXgsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoc3VwcG9zaXRpb25VbmlmaWVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uc1VuaWZ5O1xuICB9XG5cbiAgdW5pZnlUb3BMZXZlbEFzc2VydGlvbih0b3BMZXZlbEFzc2VydGlvbiwgY29udGV4dCkge1xuICAgIGxldCB0b3BMZXZlbEFzc2VydGlvblVuaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IGF4aW9tU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgLy8vXG4gICAgICAgICAgdG9wTGV2ZWxBc3NlcnRpb25TdHJpbmcgPSB0b3BMZXZlbEFzc2VydGlvbi5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHt0b3BMZXZlbEFzc2VydGlvblN0cmluZ30nIHRvcCBsZXZlbCBhc3NlcnRpb24gd2l0aCB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbS4uLmApO1xuXG4gICAgY29uc3QgZGVkdWN0aW9uID0gdG9wTGV2ZWxBc3NlcnRpb24uZ2V0RGVkdWN0aW9uKCksXG4gICAgICAgICAgZGVkdWN0aW9uVW5pZmllcyA9IHRoaXMudW5pZnlEZWR1Y3Rpb24oZGVkdWN0aW9uLCBjb250ZXh0KTtcblxuICAgIGlmIChkZWR1Y3Rpb25VbmlmaWVzKSB7XG4gICAgICBjb25zdCBoeXBvdGhlc2VzRGlzY2hhcmdlcyA9IHRvcExldmVsQXNzZXJ0aW9uLmRpc2NoYXJnZUh5cG90aGVzZXMoY29udGV4dCk7XG5cbiAgICAgIGlmIChoeXBvdGhlc2VzRGlzY2hhcmdlcykge1xuICAgICAgICBjb25zdCBzdXBwb3NpdGlvbnMgPSB0b3BMZXZlbEFzc2VydGlvbi5nZXRTdXBwb3NpdGlvbnMoKSxcbiAgICAgICAgICAgICAgc3VwcG9zaXRpb25zVW5pZnkgPSB0aGlzLnVuaWZ5U3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucywgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKHN1cHBvc2l0aW9uc1VuaWZ5KSB7XG4gICAgICAgICAgdG9wTGV2ZWxBc3NlcnRpb25VbmlmaWVzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0b3BMZXZlbEFzc2VydGlvblVuaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3RvcExldmVsQXNzZXJ0aW9uU3RyaW5nfScgdG9wIGxldmVsIGFzc2VydGlvbiB3aXRoIHRoZSAnJHtheGlvbVN0cmluZ30nIGF4aW9tLmApO1xuICAgIH1cblxuICAgIHJldHVybiB0b3BMZXZlbEFzc2VydGlvblVuaWZpZXM7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQXhpb21cIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkgeyByZXR1cm4gVG9wTGV2ZWxBc3NlcnRpb24uZnJvbUpTT04oQXhpb20sIGpzb24sIGNvbnRleHQpOyB9XG59KTtcbiJdLCJuYW1lcyI6WyJtYXRjaCIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImJyZWFrYWJsZSIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJBeGlvbSIsIlRvcExldmVsQXNzZXJ0aW9uIiwiZ2V0QXhpb21Ob2RlIiwibm9kZSIsImdldE5vZGUiLCJheGlvbU5vZGUiLCJpc1NhdGlzZmlhYmxlIiwic2lnbmF0dXJlIiwiZ2V0U2lnbmF0dXJlIiwic2F0aXNmaWFibGUiLCJ2ZXJpZnkiLCJjb250ZXh0IiwiY29udGludWF0aW9uIiwiYXhpb21TdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInNpZ25hdHVyZVZlcmlmaWVzIiwidmVyaWZ5U2lnbmF0dXJlIiwidmVyaWZpZXMiLCJ2ZXJpZnlFeCIsImF4aW9tIiwiYWRkQXhpb20iLCJkZWJ1ZyIsInVuaWZ5U2lnbmF0dXJlIiwic2lnbmF0dXJlVW5pZmllcyIsInNpZ25hdHVyZVN0cmluZyIsInNwZWNpZmljU2lnbmF0dXJlIiwiZ2VuZXJhbFNpZ25hdHVyZSIsInVuaWZ5RGVkdWN0aW9uIiwiZGVkdWN0aW9uIiwiZGVkdWN0aW9uVW5pZmllcyIsImJyZWFrIiwiZ2VuZXJhbERlZHVjdGlvbiIsInNwZWNpZmljRGVkdWN0aW9uIiwiZ2VuZXJhbERlZHVjdGlvblN0cmluZyIsInNwZWNpZmljRGVkdWN0aW9uU3RyaW5nIiwiZ2VuZXJhbERlZHVjdGlvbkNvbnRleHQiLCJnZXRDb250ZXh0Iiwic3BlY2lmaWNEZWR1Y3Rpb25Db250ZXh0IiwiZ2VuZXJhbENvbnRleHQiLCJzcGVjaWZpY0NvbnRleHQiLCJyZWNvbmNpbGUiLCJzdGF0ZW1lbnQiLCJnZXRTdGF0ZW1lbnQiLCJzcGVjaWZpY1N0YXRlbWVudCIsImdlbmVyYWxTdGF0ZW1lbnQiLCJzdGF0ZW1lbnRVbmlmaWVzIiwidW5pZnlTdGF0ZW1lbnQiLCJjb21taXQiLCJ1bmlmeVN1cHBvc2l0aW9uIiwic3VwcG9zaXRpb24iLCJpbmRleCIsInN1cHBvc2l0aW9uVW5pZmllcyIsInNwZWNpZmljU3VwcG9zaXRpb24iLCJnZXRTdXBwb3NpdGlvbiIsImdlbmVyYWxTdXBwb3NpdGlvbiIsImdlbmVyYWxTdXBwb3NpdGlvblN0cmluZyIsInNwZWNpZmljU3VwcG9zaXRpb25TdHJpbmciLCJnZW5lcmFsU3VwcG9zaXRpb25Db250ZXh0Iiwic3BlY2lmaWNTdXBwb3NpdGlvbkNvbnRleHQiLCJ1bmlmeVN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9uc1VuaWZ5Iiwic3BlY2lmaWNTdXBwb3NpdGlvbnMiLCJnZXRTdXBwb3NpdGlvbnMiLCJnZW5lcmFsU3VwcG9zaXRpb25zIiwidW5pZnlUb3BMZXZlbEFzc2VydGlvbiIsInRvcExldmVsQXNzZXJ0aW9uIiwidG9wTGV2ZWxBc3NlcnRpb25VbmlmaWVzIiwidG9wTGV2ZWxBc3NlcnRpb25TdHJpbmciLCJnZXREZWR1Y3Rpb24iLCJoeXBvdGhlc2VzRGlzY2hhcmdlcyIsImRp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
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3RvcExldmVsQXNzZXJ0aW9uL2F4aW9tLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBUb3BMZXZlbEFzc2VydGlvbiBmcm9tIFwiLi4vdG9wTGV2ZWxBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyByZWNvbmNpbGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcblxuY29uc3QgeyBtYXRjaCB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzLFxuICAgICAgeyBicmVha2FibGUgfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBBeGlvbSBleHRlbmRzIFRvcExldmVsQXNzZXJ0aW9uIHtcbiAgZ2V0QXhpb21Ob2RlKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICBheGlvbU5vZGUgPSBub2RlOyAvLy9cblxuICAgIHJldHVybiBheGlvbU5vZGU7XG4gIH1cblxuICBpc1NhdGlzZmlhYmxlKCkge1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IHRoaXMuZ2V0U2lnbmF0dXJlKCksXG4gICAgICAgICAgc2F0aXNmaWFibGUgPSAoc2lnbmF0dXJlICE9PSBudWxsKTtcblxuICAgIHJldHVybiBzYXRpc2ZpYWJsZTtcbiAgfVxuXG4gIHZlcmlmeSA9IGJyZWFrYWJsZShmdW5jdGlvbiAoY29udGV4dCwgY29udGludWF0aW9uKSB7XG4gICAgY29uc3QgYXhpb21TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbS4uLmApO1xuXG4gICAgdGhpcy52ZXJpZnlTaWduYXR1cmUoY29udGV4dCwgKHNpZ25hdHVyZVZlcmlmaWVzKSA9PiB7XG4gICAgICBpZiAoIXNpZ25hdHVyZVZlcmlmaWVzKSB7XG4gICAgICAgIGNvbnN0IHZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRpbnVhdGlvbih2ZXJpZmllcyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLnZlcmlmeUV4KGNvbnRleHQsICh2ZXJpZmllcykgPT4ge1xuICAgICAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgICAgICBjb25zdCBheGlvbSA9IHRoaXM7IC8vL1xuXG4gICAgICAgICAgY29udGV4dC5hZGRBeGlvbShheGlvbSk7XG5cbiAgICAgICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbS5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb250aW51YXRpb24odmVyaWZpZXMpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHZlcmlmeVNpZ25hdHVyZShjb250ZXh0LCBjb250aW51YXRpb24pIHtcbiAgICBjb25zdCBzYXRpc2ZpYWJsZSA9IHRoaXMuaXNTYXRpc2ZpYWJsZSgpO1xuXG4gICAgaWYgKCFzYXRpc2ZpYWJsZSkge1xuICAgICAgY29uc3Qgc2lnbmF0dXJlVmVyaWZpZXMgPSB0cnVlOyAvLy9cblxuICAgICAgcmV0dXJuIGNvbnRpbnVhdGlvbihzaWduYXR1cmVWZXJpZmllcyk7XG4gICAgfVxuXG4gICAgY29uc3QgYXhpb21TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbSdzIHNpZ25hdHVyZS4uLmApO1xuXG4gICAgY29uc3Qgc2lnbmF0dXJlID0gdGhpcy5nZXRTaWduYXR1cmUoKTtcblxuICAgIHNpZ25hdHVyZS52ZXJpZnkoY29udGV4dCwgKHNpZ25hdHVyZVZlcmlmaWVzKSA9PiB7XG4gICAgICBpZiAoc2lnbmF0dXJlVmVyaWZpZXMpIHtcbiAgICAgICAgY29udGV4dC50cmFjZShgLi4udmVyaWZpZWQgdGhlICcke2F4aW9tU3RyaW5nfScgYXhpb20ncyBzaWduYXR1cmUuYCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb250aW51YXRpb24oc2lnbmF0dXJlVmVyaWZpZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgdW5pZnlTaWduYXR1cmUoc2lnbmF0dXJlLCBjb250ZXh0KSB7XG4gICAgbGV0IHNpZ25hdHVyZVVuaWZpZXM7XG5cbiAgICBjb25zdCBheGlvbVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksIC8vL1xuICAgICAgICAgIHNpZ25hdHVyZVN0cmluZyA9IHNpZ25hdHVyZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzaWduYXR1cmVTdHJpbmd9JyBzaWduYXR1cmUgd2l0aCB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbS4uLmApO1xuXG4gICAgY29uc3Qgc3BlY2lmaWNTaWduYXR1cmUgPSBzaWduYXR1cmU7ICAvLy9cblxuICAgIHNpZ25hdHVyZSA9IHRoaXMuZ2V0U2lnbmF0dXJlKCk7XG5cbiAgICBjb25zdCBnZW5lcmFsU2lnbmF0dXJlID0gc2lnbmF0dXJlOyAvLy9cblxuICAgIHNpZ25hdHVyZVVuaWZpZXMgPSBnZW5lcmFsU2lnbmF0dXJlLnVuaWZ5U2lnbmF0dXJlKHNwZWNpZmljU2lnbmF0dXJlLCBjb250ZXh0KTtcblxuICAgIGlmIChzaWduYXR1cmVVbmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzaWduYXR1cmVTdHJpbmd9JyBzaWduYXR1cmUgd2l0aCB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlVW5pZmllcztcbiAgfVxuXG4gIHVuaWZ5RGVkdWN0aW9uKGRlZHVjdGlvbiwgY29udGV4dCkge1xuICAgIGxldCBkZWR1Y3Rpb25VbmlmaWVzO1xuXG4gICAgdGhpcy5icmVhayhjb250ZXh0KTtcblxuICAgIGNvbnN0IGF4aW9tU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgLy8vXG4gICAgICAgICAgZ2VuZXJhbERlZHVjdGlvbiA9IHRoaXMuZGVkdWN0aW9uLCAgLy8vXG4gICAgICAgICAgc3BlY2lmaWNEZWR1Y3Rpb24gPSBkZWR1Y3Rpb24sICAvLy9cbiAgICAgICAgICBnZW5lcmFsRGVkdWN0aW9uU3RyaW5nID0gZ2VuZXJhbERlZHVjdGlvbi5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBzcGVjaWZpY0RlZHVjdGlvblN0cmluZyA9IHNwZWNpZmljRGVkdWN0aW9uLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3NwZWNpZmljRGVkdWN0aW9uU3RyaW5nfScgZGVkdWN0aW9uIHdpdGggdGhlICcke2F4aW9tU3RyaW5nfScgYXhpb20ncyAnJHtnZW5lcmFsRGVkdWN0aW9uU3RyaW5nfScgZGVkdWN0aW9uLi4uYCk7XG5cbiAgICBjb25zdCBnZW5lcmFsRGVkdWN0aW9uQ29udGV4dCA9IGdlbmVyYWxEZWR1Y3Rpb24uZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHNwZWNpZmljRGVkdWN0aW9uQ29udGV4dCA9IHNwZWNpZmljRGVkdWN0aW9uLmdldENvbnRleHQoKSxcbiAgICAgICAgICBnZW5lcmFsQ29udGV4dCA9IGdlbmVyYWxEZWR1Y3Rpb25Db250ZXh0LCAvLy9cbiAgICAgICAgICBzcGVjaWZpY0NvbnRleHQgPSBzcGVjaWZpY0RlZHVjdGlvbkNvbnRleHQ7IC8vL1xuXG4gICAgcmVjb25jaWxlKChzcGVjaWZpY0NvbnRleHQpID0+IHtcbiAgICAgIGxldCBzdGF0ZW1lbnQ7XG5cbiAgICAgIHN0YXRlbWVudCA9IHNwZWNpZmljRGVkdWN0aW9uLmdldFN0YXRlbWVudCgpO1xuXG4gICAgICBjb25zdCBzcGVjaWZpY1N0YXRlbWVudCA9IHN0YXRlbWVudDsgIC8vL1xuXG4gICAgICBzdGF0ZW1lbnQgPSBnZW5lcmFsRGVkdWN0aW9uLmdldFN0YXRlbWVudCgpO1xuXG4gICAgICBjb25zdCBnZW5lcmFsU3RhdGVtZW50ID0gc3RhdGVtZW50LCAvLy9cbiAgICAgICAgICAgIHN0YXRlbWVudFVuaWZpZXMgPSBnZW5lcmFsU3RhdGVtZW50LnVuaWZ5U3RhdGVtZW50KHNwZWNpZmljU3RhdGVtZW50LCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZXMpIHtcbiAgICAgICAgc3BlY2lmaWNDb250ZXh0LmNvbW1pdChjb250ZXh0KTtcblxuICAgICAgICBkZWR1Y3Rpb25VbmlmaWVzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgaWYgKGRlZHVjdGlvblVuaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3NwZWNpZmljRGVkdWN0aW9uU3RyaW5nfScgZGVkdWN0aW9uIHdpdGggdGhlICcke2F4aW9tU3RyaW5nfScgYXhpb20ncyAnJHtnZW5lcmFsRGVkdWN0aW9uU3RyaW5nfScgZGVkdWN0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiBkZWR1Y3Rpb25VbmlmaWVzO1xuICB9XG5cbiAgdW5pZnlTdXBwb3NpdGlvbihzdXBwb3NpdGlvbiwgaW5kZXgsIGNvbnRleHQpIHtcbiAgICBsZXQgc3VwcG9zaXRpb25VbmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBzcGVjaWZpY1N1cHBvc2l0aW9uID0gc3VwcG9zaXRpb247ICAvLy9cblxuICAgIHN1cHBvc2l0aW9uID0gdGhpcy5nZXRTdXBwb3NpdGlvbihpbmRleCk7XG5cbiAgICBjb25zdCBheGlvbVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksIC8vL1xuICAgICAgICAgIGdlbmVyYWxTdXBwb3NpdGlvbiA9IHN1cHBvc2l0aW9uLCAgLy8vXG4gICAgICAgICAgZ2VuZXJhbFN1cHBvc2l0aW9uU3RyaW5nID0gZ2VuZXJhbFN1cHBvc2l0aW9uLmdldFN0cmluZygpLFxuICAgICAgICAgIHNwZWNpZmljU3VwcG9zaXRpb25TdHJpbmcgPSBzcGVjaWZpY1N1cHBvc2l0aW9uLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3NwZWNpZmljU3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbiB3aXRoIHRoZSAnJHtheGlvbVN0cmluZ30nIGF4aW9tJ3MgJyR7Z2VuZXJhbFN1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24uLi5gKTtcblxuICAgIGNvbnN0IGdlbmVyYWxTdXBwb3NpdGlvbkNvbnRleHQgPSBnZW5lcmFsU3VwcG9zaXRpb24uZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHNwZWNpZmljU3VwcG9zaXRpb25Db250ZXh0ID0gc3BlY2lmaWNTdXBwb3NpdGlvbi5nZXRDb250ZXh0KCksXG4gICAgICAgICAgZ2VuZXJhbENvbnRleHQgPSBnZW5lcmFsU3VwcG9zaXRpb25Db250ZXh0LCAvLy9cbiAgICAgICAgICBzcGVjaWZpY0NvbnRleHQgPSBzcGVjaWZpY1N1cHBvc2l0aW9uQ29udGV4dDsgLy8vXG5cbiAgICByZWNvbmNpbGUoKHNwZWNpZmljQ29udGV4dCkgPT4ge1xuICAgICAgbGV0IHN0YXRlbWVudDtcblxuICAgICAgc3RhdGVtZW50ID0gc3BlY2lmaWNTdXBwb3NpdGlvbi5nZXRTdGF0ZW1lbnQoKTtcblxuICAgICAgY29uc3Qgc3BlY2lmaWNTdGF0ZW1lbnQgPSBzdGF0ZW1lbnQ7ICAvLy9cblxuICAgICAgc3RhdGVtZW50ID0gZ2VuZXJhbFN1cHBvc2l0aW9uLmdldFN0YXRlbWVudCgpO1xuXG4gICAgICBjb25zdCBnZW5lcmFsU3RhdGVtZW50ID0gc3RhdGVtZW50LCAvLy9cbiAgICAgICAgICAgIHN0YXRlbWVudFVuaWZpZXMgPSBnZW5lcmFsU3RhdGVtZW50LnVuaWZ5U3RhdGVtZW50KHNwZWNpZmljU3RhdGVtZW50LCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZXMpIHtcbiAgICAgICAgc3BlY2lmaWNDb250ZXh0LmNvbW1pdChjb250ZXh0KTtcblxuICAgICAgICBzdXBwb3NpdGlvblVuaWZpZXMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25VbmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzcGVjaWZpY1N1cHBvc2l0aW9uU3RyaW5nfScgc3VwcG9zaXRpb24gd2l0aCB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbSdzICcke2dlbmVyYWxTdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uLi4uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uVW5pZmllcztcbiAgfVxuXG4gIHVuaWZ5U3VwcG9zaXRpb25zKHN1cHBvc2l0aW9ucywgY29udGV4dCkge1xuICAgIGxldCBzdXBwb3NpdGlvbnNVbmlmeTtcblxuICAgIGNvbnN0IHNwZWNpZmljU3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zOyAgLy8vXG5cbiAgICBzdXBwb3NpdGlvbnMgPSB0aGlzLmdldFN1cHBvc2l0aW9ucygpO1xuXG4gICAgY29uc3QgZ2VuZXJhbFN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9uczsgLy8vXG5cbiAgICBzdXBwb3NpdGlvbnNVbmlmeSA9IG1hdGNoKGdlbmVyYWxTdXBwb3NpdGlvbnMsIHNwZWNpZmljU3VwcG9zaXRpb25zLCAoZ2VuZXJhbFN1cHBvc2l0aW9uLCBzcGVjaWZpY1N1cHBvc2l0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3Qgc3VwcG9zaXRpb24gPSBzcGVjaWZpY1N1cHBvc2l0aW9uLCAgLy8vXG4gICAgICAgICAgICBzdXBwb3NpdGlvblVuaWZpZXMgPSB0aGlzLnVuaWZ5U3VwcG9zaXRpb24oc3VwcG9zaXRpb24sIGluZGV4LCBjb250ZXh0KTtcblxuICAgICAgaWYgKHN1cHBvc2l0aW9uVW5pZmllcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzdXBwb3NpdGlvbnNVbmlmeTtcbiAgfVxuXG4gIHVuaWZ5VG9wTGV2ZWxBc3NlcnRpb24odG9wTGV2ZWxBc3NlcnRpb24sIGNvbnRleHQpIHtcbiAgICBsZXQgdG9wTGV2ZWxBc3NlcnRpb25VbmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBheGlvbVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksIC8vL1xuICAgICAgICAgIHRvcExldmVsQXNzZXJ0aW9uU3RyaW5nID0gdG9wTGV2ZWxBc3NlcnRpb24uZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7dG9wTGV2ZWxBc3NlcnRpb25TdHJpbmd9JyB0b3AgbGV2ZWwgYXNzZXJ0aW9uIHdpdGggdGhlICcke2F4aW9tU3RyaW5nfScgYXhpb20uLi5gKTtcblxuICAgIGNvbnN0IGRlZHVjdGlvbiA9IHRvcExldmVsQXNzZXJ0aW9uLmdldERlZHVjdGlvbigpLFxuICAgICAgICAgIGRlZHVjdGlvblVuaWZpZXMgPSB0aGlzLnVuaWZ5RGVkdWN0aW9uKGRlZHVjdGlvbiwgY29udGV4dCk7XG5cbiAgICBpZiAoZGVkdWN0aW9uVW5pZmllcykge1xuICAgICAgY29uc3QgaHlwb3RoZXNlc0Rpc2NoYXJnZXMgPSB0b3BMZXZlbEFzc2VydGlvbi5kaXNjaGFyZ2VIeXBvdGhlc2VzKGNvbnRleHQpO1xuXG4gICAgICBpZiAoaHlwb3RoZXNlc0Rpc2NoYXJnZXMpIHtcbiAgICAgICAgY29uc3Qgc3VwcG9zaXRpb25zID0gdG9wTGV2ZWxBc3NlcnRpb24uZ2V0U3VwcG9zaXRpb25zKCksXG4gICAgICAgICAgICAgIHN1cHBvc2l0aW9uc1VuaWZ5ID0gdGhpcy51bmlmeVN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbnMsIGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChzdXBwb3NpdGlvbnNVbmlmeSkge1xuICAgICAgICAgIHRvcExldmVsQXNzZXJ0aW9uVW5pZmllcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodG9wTGV2ZWxBc3NlcnRpb25VbmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHt0b3BMZXZlbEFzc2VydGlvblN0cmluZ30nIHRvcCBsZXZlbCBhc3NlcnRpb24gd2l0aCB0aGUgJyR7YXhpb21TdHJpbmd9JyBheGlvbS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG9wTGV2ZWxBc3NlcnRpb25VbmlmaWVzO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkF4aW9tXCI7XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHsgcmV0dXJuIFRvcExldmVsQXNzZXJ0aW9uLmZyb21KU09OKEF4aW9tLCBqc29uLCBjb250ZXh0KTsgfVxufSk7XG4iXSwibmFtZXMiOlsibWF0Y2giLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJicmVha2FibGUiLCJicmVha1BvaW50VXRpbGl0aWVzIiwiZGVmaW5lIiwiQXhpb20iLCJUb3BMZXZlbEFzc2VydGlvbiIsImdldEF4aW9tTm9kZSIsIm5vZGUiLCJnZXROb2RlIiwiYXhpb21Ob2RlIiwiaXNTYXRpc2ZpYWJsZSIsInNpZ25hdHVyZSIsImdldFNpZ25hdHVyZSIsInNhdGlzZmlhYmxlIiwidmVyaWZ5IiwiY29udGV4dCIsImNvbnRpbnVhdGlvbiIsImF4aW9tU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlTaWduYXR1cmUiLCJzaWduYXR1cmVWZXJpZmllcyIsInZlcmlmaWVzIiwidmVyaWZ5RXgiLCJheGlvbSIsImFkZEF4aW9tIiwiZGVidWciLCJ1bmlmeVNpZ25hdHVyZSIsInNpZ25hdHVyZVVuaWZpZXMiLCJzaWduYXR1cmVTdHJpbmciLCJzcGVjaWZpY1NpZ25hdHVyZSIsImdlbmVyYWxTaWduYXR1cmUiLCJ1bmlmeURlZHVjdGlvbiIsImRlZHVjdGlvbiIsImRlZHVjdGlvblVuaWZpZXMiLCJicmVhayIsImdlbmVyYWxEZWR1Y3Rpb24iLCJzcGVjaWZpY0RlZHVjdGlvbiIsImdlbmVyYWxEZWR1Y3Rpb25TdHJpbmciLCJzcGVjaWZpY0RlZHVjdGlvblN0cmluZyIsImdlbmVyYWxEZWR1Y3Rpb25Db250ZXh0IiwiZ2V0Q29udGV4dCIsInNwZWNpZmljRGVkdWN0aW9uQ29udGV4dCIsImdlbmVyYWxDb250ZXh0Iiwic3BlY2lmaWNDb250ZXh0IiwicmVjb25jaWxlIiwic3RhdGVtZW50IiwiZ2V0U3RhdGVtZW50Iiwic3BlY2lmaWNTdGF0ZW1lbnQiLCJnZW5lcmFsU3RhdGVtZW50Iiwic3RhdGVtZW50VW5pZmllcyIsInVuaWZ5U3RhdGVtZW50IiwiY29tbWl0IiwidW5pZnlTdXBwb3NpdGlvbiIsInN1cHBvc2l0aW9uIiwiaW5kZXgiLCJzdXBwb3NpdGlvblVuaWZpZXMiLCJzcGVjaWZpY1N1cHBvc2l0aW9uIiwiZ2V0U3VwcG9zaXRpb24iLCJnZW5lcmFsU3VwcG9zaXRpb24iLCJnZW5lcmFsU3VwcG9zaXRpb25TdHJpbmciLCJzcGVjaWZpY1N1cHBvc2l0aW9uU3RyaW5nIiwiZ2VuZXJhbFN1cHBvc2l0aW9uQ29udGV4dCIsInNwZWNpZmljU3VwcG9zaXRpb25Db250ZXh0IiwidW5pZnlTdXBwb3NpdGlvbnMiLCJzdXBwb3NpdGlvbnMiLCJzdXBwb3NpdGlvbnNVbmlmeSIsInNwZWNpZmljU3VwcG9zaXRpb25zIiwiZ2V0U3VwcG9zaXRpb25zIiwiZ2VuZXJhbFN1cHBvc2l0aW9ucyIsInVuaWZ5VG9wTGV2ZWxBc3NlcnRpb24iLCJ0b3BMZXZlbEFzc2VydGlvbiIsInRvcExldmVsQXNzZXJ0aW9uVW5pZmllcyIsInRvcExldmVsQXNzZXJ0aW9uU3RyaW5nIiwiZ2V0RGVkdWN0aW9uIiwiaHlwb3RoZXNlc0Rpc2NoYXJnZXMiLCJkaXNjaGFyZ2VIeXBvdGhlc2VzIiwibmFtZSIsImZyb21KU09OIiwianNvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBWUE7OztlQUFBOzs7Z0NBVjJEOzBFQUU3QjswQkFFUDt5QkFDRzs7Ozs7O0FBRTFCLE1BQU0sRUFBRUEsS0FBSyxFQUFFLEdBQUdDLHFDQUFxQixFQUNqQyxFQUFFQyxTQUFTLEVBQUUsR0FBR0MsbUNBQW1CO01BRXpDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsY0FBY0MsMEJBQWlCO0lBQ3pEQyxlQUFlO1FBQ2IsTUFBTUMsT0FBTyxJQUFJLENBQUNDLE9BQU8sSUFDbkJDLFlBQVlGLE1BQU0sR0FBRztRQUUzQixPQUFPRTtJQUNUO0lBRUFDLGdCQUFnQjtRQUNkLE1BQU1DLFlBQVksSUFBSSxDQUFDQyxZQUFZLElBQzdCQyxjQUFlRixjQUFjO1FBRW5DLE9BQU9FO0lBQ1Q7SUFFQUMsU0FBU2IsVUFBVSxTQUFVYyxPQUFPLEVBQUVDLFlBQVk7UUFDaEQsTUFBTUMsY0FBYyxJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRXpDSCxRQUFRSSxLQUFLLENBQUMsQ0FBQyxlQUFlLEVBQUVGLFlBQVksVUFBVSxDQUFDO1FBRXZELElBQUksQ0FBQ0csZUFBZSxDQUFDTCxTQUFTLENBQUNNO1lBQzdCLElBQUksQ0FBQ0EsbUJBQW1CO2dCQUN0QixNQUFNQyxXQUFXO2dCQUVqQixPQUFPTixhQUFhTTtZQUN0QjtZQUVBLE9BQU8sSUFBSSxDQUFDQyxRQUFRLENBQUNSLFNBQVMsQ0FBQ087Z0JBQzdCLElBQUlBLFVBQVU7b0JBQ1osTUFBTUUsUUFBUSxJQUFJLEVBQUUsR0FBRztvQkFFdkJULFFBQVFVLFFBQVEsQ0FBQ0Q7b0JBRWpCVCxRQUFRVyxLQUFLLENBQUMsQ0FBQyxpQkFBaUIsRUFBRVQsWUFBWSxRQUFRLENBQUM7Z0JBQ3pEO2dCQUVBLE9BQU9ELGFBQWFNO1lBQ3RCO1FBQ0Y7SUFDRixHQUFHO0lBRUhGLGdCQUFnQkwsT0FBTyxFQUFFQyxZQUFZLEVBQUU7UUFDckMsTUFBTUgsY0FBYyxJQUFJLENBQUNILGFBQWE7UUFFdEMsSUFBSSxDQUFDRyxhQUFhO1lBQ2hCLE1BQU1RLG9CQUFvQixNQUFNLEdBQUc7WUFFbkMsT0FBT0wsYUFBYUs7UUFDdEI7UUFFQSxNQUFNSixjQUFjLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFekNILFFBQVFJLEtBQUssQ0FBQyxDQUFDLGVBQWUsRUFBRUYsWUFBWSxzQkFBc0IsQ0FBQztRQUVuRSxNQUFNTixZQUFZLElBQUksQ0FBQ0MsWUFBWTtRQUVuQ0QsVUFBVUcsTUFBTSxDQUFDQyxTQUFTLENBQUNNO1lBQ3pCLElBQUlBLG1CQUFtQjtnQkFDckJOLFFBQVFJLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixFQUFFRixZQUFZLG9CQUFvQixDQUFDO1lBQ3JFO1lBRUEsT0FBT0QsYUFBYUs7UUFDdEI7SUFDRjtJQUVBTSxlQUFlaEIsU0FBUyxFQUFFSSxPQUFPLEVBQUU7UUFDakMsSUFBSWE7UUFFSixNQUFNWCxjQUFjLElBQUksQ0FBQ0MsU0FBUyxJQUM1Qlcsa0JBQWtCbEIsVUFBVU8sU0FBUztRQUUzQ0gsUUFBUUksS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFVSxnQkFBZ0Isc0JBQXNCLEVBQUVaLFlBQVksVUFBVSxDQUFDO1FBRTlGLE1BQU1hLG9CQUFvQm5CLFdBQVksR0FBRztRQUV6Q0EsWUFBWSxJQUFJLENBQUNDLFlBQVk7UUFFN0IsTUFBTW1CLG1CQUFtQnBCLFdBQVcsR0FBRztRQUV2Q2lCLG1CQUFtQkcsaUJBQWlCSixjQUFjLENBQUNHLG1CQUFtQmY7UUFFdEUsSUFBSWEsa0JBQWtCO1lBQ3BCYixRQUFRVyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUcsZ0JBQWdCLHNCQUFzQixFQUFFWixZQUFZLFFBQVEsQ0FBQztRQUNoRztRQUVBLE9BQU9XO0lBQ1Q7SUFFQUksZUFBZUMsU0FBUyxFQUFFbEIsT0FBTyxFQUFFO1FBQ2pDLElBQUltQjtRQUVKLElBQUksQ0FBQ0MsS0FBSyxDQUFDcEI7UUFFWCxNQUFNRSxjQUFjLElBQUksQ0FBQ0MsU0FBUyxJQUM1QmtCLG1CQUFtQixJQUFJLENBQUNILFNBQVMsRUFDakNJLG9CQUFvQkosV0FDcEJLLHlCQUF5QkYsaUJBQWlCbEIsU0FBUyxJQUNuRHFCLDBCQUEwQkYsa0JBQWtCbkIsU0FBUztRQUUzREgsUUFBUUksS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFb0Isd0JBQXdCLHNCQUFzQixFQUFFdEIsWUFBWSxXQUFXLEVBQUVxQix1QkFBdUIsY0FBYyxDQUFDO1FBRTlJLE1BQU1FLDBCQUEwQkosaUJBQWlCSyxVQUFVLElBQ3JEQywyQkFBMkJMLGtCQUFrQkksVUFBVSxJQUN2REUsaUJBQWlCSCx5QkFDakJJLGtCQUFrQkYsMEJBQTBCLEdBQUc7UUFFckRHLElBQUFBLGtCQUFTLEVBQUMsQ0FBQ0Q7WUFDVCxJQUFJRTtZQUVKQSxZQUFZVCxrQkFBa0JVLFlBQVk7WUFFMUMsTUFBTUMsb0JBQW9CRixXQUFZLEdBQUc7WUFFekNBLFlBQVlWLGlCQUFpQlcsWUFBWTtZQUV6QyxNQUFNRSxtQkFBbUJILFdBQ25CSSxtQkFBbUJELGlCQUFpQkUsY0FBYyxDQUFDSCxtQkFBbUJMLGdCQUFnQkM7WUFFNUYsSUFBSU0sa0JBQWtCO2dCQUNwQk4sZ0JBQWdCUSxNQUFNLENBQUNyQztnQkFFdkJtQixtQkFBbUI7WUFDckI7UUFDRixHQUFHVTtRQUVILElBQUlWLGtCQUFrQjtZQUNwQm5CLFFBQVFXLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFYSx3QkFBd0Isc0JBQXNCLEVBQUV0QixZQUFZLFdBQVcsRUFBRXFCLHVCQUF1QixZQUFZLENBQUM7UUFDaEo7UUFFQSxPQUFPSjtJQUNUO0lBRUFtQixpQkFBaUJDLFdBQVcsRUFBRUMsS0FBSyxFQUFFeEMsT0FBTyxFQUFFO1FBQzVDLElBQUl5QyxxQkFBcUI7UUFFekIsTUFBTUMsc0JBQXNCSCxhQUFjLEdBQUc7UUFFN0NBLGNBQWMsSUFBSSxDQUFDSSxjQUFjLENBQUNIO1FBRWxDLE1BQU10QyxjQUFjLElBQUksQ0FBQ0MsU0FBUyxJQUM1QnlDLHFCQUFxQkwsYUFDckJNLDJCQUEyQkQsbUJBQW1CekMsU0FBUyxJQUN2RDJDLDRCQUE0Qkosb0JBQW9CdkMsU0FBUztRQUUvREgsUUFBUUksS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFMEMsMEJBQTBCLHdCQUF3QixFQUFFNUMsWUFBWSxXQUFXLEVBQUUyQyx5QkFBeUIsZ0JBQWdCLENBQUM7UUFFdEosTUFBTUUsNEJBQTRCSCxtQkFBbUJsQixVQUFVLElBQ3pEc0IsNkJBQTZCTixvQkFBb0JoQixVQUFVLElBQzNERSxpQkFBaUJtQiwyQkFDakJsQixrQkFBa0JtQiw0QkFBNEIsR0FBRztRQUV2RGxCLElBQUFBLGtCQUFTLEVBQUMsQ0FBQ0Q7WUFDVCxJQUFJRTtZQUVKQSxZQUFZVyxvQkFBb0JWLFlBQVk7WUFFNUMsTUFBTUMsb0JBQW9CRixXQUFZLEdBQUc7WUFFekNBLFlBQVlhLG1CQUFtQlosWUFBWTtZQUUzQyxNQUFNRSxtQkFBbUJILFdBQ25CSSxtQkFBbUJELGlCQUFpQkUsY0FBYyxDQUFDSCxtQkFBbUJMLGdCQUFnQkM7WUFFNUYsSUFBSU0sa0JBQWtCO2dCQUNwQk4sZ0JBQWdCUSxNQUFNLENBQUNyQztnQkFFdkJ5QyxxQkFBcUI7WUFDdkI7UUFDRixHQUFHWjtRQUVILElBQUlZLG9CQUFvQjtZQUN0QnpDLFFBQVFXLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFbUMsMEJBQTBCLHdCQUF3QixFQUFFNUMsWUFBWSxXQUFXLEVBQUUyQyx5QkFBeUIsZ0JBQWdCLENBQUM7UUFDMUo7UUFFQSxPQUFPSjtJQUNUO0lBRUFRLGtCQUFrQkMsWUFBWSxFQUFFbEQsT0FBTyxFQUFFO1FBQ3ZDLElBQUltRDtRQUVKLE1BQU1DLHVCQUF1QkYsY0FBZSxHQUFHO1FBRS9DQSxlQUFlLElBQUksQ0FBQ0csZUFBZTtRQUVuQyxNQUFNQyxzQkFBc0JKLGNBQWMsR0FBRztRQUU3Q0Msb0JBQW9CbkUsTUFBTXNFLHFCQUFxQkYsc0JBQXNCLENBQUNSLG9CQUFvQkYscUJBQXFCRjtZQUM3RyxNQUFNRCxjQUFjRyxxQkFDZEQscUJBQXFCLElBQUksQ0FBQ0gsZ0JBQWdCLENBQUNDLGFBQWFDLE9BQU94QztZQUVyRSxJQUFJeUMsb0JBQW9CO2dCQUN0QixPQUFPO1lBQ1Q7UUFDRjtRQUVBLE9BQU9VO0lBQ1Q7SUFFQUksdUJBQXVCQyxpQkFBaUIsRUFBRXhELE9BQU8sRUFBRTtRQUNqRCxJQUFJeUQsMkJBQTJCO1FBRS9CLE1BQU12RCxjQUFjLElBQUksQ0FBQ0MsU0FBUyxJQUM1QnVELDBCQUEwQkYsa0JBQWtCckQsU0FBUztRQUUzREgsUUFBUUksS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFc0Qsd0JBQXdCLGdDQUFnQyxFQUFFeEQsWUFBWSxVQUFVLENBQUM7UUFFaEgsTUFBTWdCLFlBQVlzQyxrQkFBa0JHLFlBQVksSUFDMUN4QyxtQkFBbUIsSUFBSSxDQUFDRixjQUFjLENBQUNDLFdBQVdsQjtRQUV4RCxJQUFJbUIsa0JBQWtCO1lBQ3BCLE1BQU15Qyx1QkFBdUJKLGtCQUFrQkssbUJBQW1CLENBQUM3RDtZQUVuRSxJQUFJNEQsc0JBQXNCO2dCQUN4QixNQUFNVixlQUFlTSxrQkFBa0JILGVBQWUsSUFDaERGLG9CQUFvQixJQUFJLENBQUNGLGlCQUFpQixDQUFDQyxjQUFjbEQ7Z0JBRS9ELElBQUltRCxtQkFBbUI7b0JBQ3JCTSwyQkFBMkI7Z0JBQzdCO1lBQ0Y7UUFDRjtRQUVBLElBQUlBLDBCQUEwQjtZQUM1QnpELFFBQVFXLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFK0Msd0JBQXdCLGdDQUFnQyxFQUFFeEQsWUFBWSxRQUFRLENBQUM7UUFDbEg7UUFFQSxPQUFPdUQ7SUFDVDtJQUVBLE9BQU9LLE9BQU8sUUFBUTtJQUV0QixPQUFPQyxTQUFTQyxJQUFJLEVBQUVoRSxPQUFPLEVBQUU7UUFBRSxPQUFPViwwQkFBaUIsQ0FBQ3lFLFFBQVEsQ0FBQzFFLE9BQU8yRSxNQUFNaEU7SUFBVTtBQUM1RiJ9
|
package/package.json
CHANGED
|
@@ -30,49 +30,49 @@ export default define(class Axiom extends TopLevelAssertion {
|
|
|
30
30
|
|
|
31
31
|
context.trace(`Verifying the '${axiomString}' axiom...`);
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
this.verifySignature(context, (signatureVerifies) => {
|
|
34
|
+
if (!signatureVerifies) {
|
|
35
|
+
const verifies = false;
|
|
34
36
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return continuation(verifies);
|
|
39
|
-
}
|
|
37
|
+
return continuation(verifies);
|
|
38
|
+
}
|
|
40
39
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
return this.verifyEx(context, (verifies) => {
|
|
41
|
+
if (verifies) {
|
|
42
|
+
const axiom = this; ///
|
|
44
43
|
|
|
45
|
-
|
|
44
|
+
context.addAxiom(axiom);
|
|
46
45
|
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
context.debug(`...verified the '${axiomString}' axiom.`);
|
|
47
|
+
}
|
|
49
48
|
|
|
50
|
-
|
|
49
|
+
return continuation(verifies);
|
|
50
|
+
});
|
|
51
51
|
});
|
|
52
52
|
});
|
|
53
53
|
|
|
54
|
-
verifySignature(context) {
|
|
55
|
-
let signatureVerifies;
|
|
56
|
-
|
|
54
|
+
verifySignature(context, continuation) {
|
|
57
55
|
const satisfiable = this.isSatisfiable();
|
|
58
56
|
|
|
59
|
-
if (satisfiable) {
|
|
60
|
-
const
|
|
57
|
+
if (!satisfiable) {
|
|
58
|
+
const signatureVerifies = true; ///
|
|
61
59
|
|
|
62
|
-
|
|
60
|
+
return continuation(signatureVerifies);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const axiomString = this.getString(); ///
|
|
63
64
|
|
|
64
|
-
|
|
65
|
+
context.trace(`Verifying the '${axiomString}' axiom's signature...`);
|
|
65
66
|
|
|
66
|
-
|
|
67
|
+
const signature = this.getSignature();
|
|
67
68
|
|
|
69
|
+
signature.verify(context, (signatureVerifies) => {
|
|
68
70
|
if (signatureVerifies) {
|
|
69
71
|
context.trace(`...verified the '${axiomString}' axiom's signature.`);
|
|
70
72
|
}
|
|
71
|
-
} else {
|
|
72
|
-
signatureVerifies = true
|
|
73
|
-
}
|
|
74
73
|
|
|
75
|
-
|
|
74
|
+
return continuation(signatureVerifies);
|
|
75
|
+
});
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
unifySignature(signature, context) {
|