occam-verify-cli 0.0.922 → 0.0.923
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/conclusion.js +11 -41
- package/lib/constants.js +1 -5
- package/lib/context/local.js +15 -55
- package/lib/declaration.js +15 -15
- package/lib/metaLemmaMetatheorem.js +59 -59
- package/lib/mixins/nodesVerifier/metaLevel.js +6 -6
- package/lib/premise.js +14 -91
- package/lib/{step/proof.js → proofStep.js} +1 -1
- package/lib/rule.js +1 -45
- package/lib/ruleNames.js +1 -9
- package/lib/substitution/statementForMetavariable.js +9 -1
- package/lib/substitution.js +1 -8
- package/lib/supposition.js +55 -1
- package/lib/utilities/customGrammar.js +2 -2
- package/lib/utilities/match.js +13 -50
- package/lib/utilities/node.js +2 -27
- package/lib/utilities/tokens.js +1 -8
- package/lib/utilities/verify.js +8 -24
- package/lib/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +29 -29
- package/lib/verifier/nodes/metaLevel.js +13 -13
- package/lib/verify/conclusion.js +10 -11
- package/lib/verify/declaration.js +6 -6
- package/lib/verify/metaLemma.js +12 -12
- package/lib/verify/metastatement.js +64 -64
- package/lib/verify/metatheorem.js +12 -12
- package/lib/verify/premise.js +11 -30
- package/lib/verify/proofStep.js +5 -5
- package/lib/verify/rule.js +9 -9
- package/lib/verify/statement/qualified.js +35 -9
- package/lib/verify/statement/unqualified.js +1 -1
- package/lib/verify/supposition.js +3 -3
- package/package.json +1 -1
- package/src/conclusion.js +13 -52
- package/src/constants.js +0 -1
- package/src/context/local.js +17 -64
- package/src/declaration.js +19 -19
- package/src/metaLemmaMetatheorem.js +58 -58
- package/src/mixins/nodesVerifier/metaLevel.js +8 -8
- package/src/premise.js +20 -137
- package/src/rule.js +0 -67
- package/src/ruleNames.js +0 -2
- package/src/substitution/statementForMetavariable.js +14 -0
- package/src/substitution.js +0 -6
- package/src/supposition.js +46 -0
- package/src/utilities/customGrammar.js +1 -2
- package/src/utilities/match.js +13 -60
- package/src/utilities/node.js +3 -32
- package/src/utilities/tokens.js +0 -8
- package/src/utilities/verify.js +4 -20
- package/src/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +36 -37
- package/src/verifier/nodes/metaLevel.js +17 -17
- package/src/verify/conclusion.js +9 -13
- package/src/verify/declaration.js +7 -7
- package/src/verify/metaLemma.js +22 -22
- package/src/verify/metastatement.js +64 -64
- package/src/verify/metatheorem.js +21 -21
- package/src/verify/premise.js +14 -46
- package/src/verify/proofStep.js +1 -1
- package/src/verify/rule.js +8 -8
- package/src/verify/statement/qualified.js +43 -9
- package/src/verify/statement/unqualified.js +1 -1
- package/src/verify/supposition.js +1 -1
- package/lib/metaConsequent.js +0 -108
- package/lib/metaSupposition.js +0 -160
- package/lib/node/metastatement/bracketed.js +0 -16
- package/lib/step/metaproof.js +0 -106
- package/lib/substitution/metastatementForMetavariable.js +0 -173
- package/lib/verify/metaConsequent.js +0 -50
- package/lib/verify/metaDerivation.js +0 -31
- package/lib/verify/metaSubDerivation.js +0 -25
- package/lib/verify/metaSubproof.js +0 -34
- package/lib/verify/metaSupposition.js +0 -61
- package/lib/verify/metaSuppositions.js +0 -28
- package/lib/verify/metaproof.js +0 -31
- package/lib/verify/metaproofStep.js +0 -98
- package/lib/verify/metastatement/qualified.js +0 -95
- package/lib/verify/metastatement/unqualified.js +0 -37
- package/lib/verify/metastatementAsContainedAssertion.js +0 -109
- package/lib/verify/metastatementAsDefinedAssertion.js +0 -132
- package/lib/verify/metavariableAgainstMetastatement.js +0 -44
- package/src/metaConsequent.js +0 -83
- package/src/metaSupposition.js +0 -127
- package/src/node/metastatement/bracketed.js +0 -9
- package/src/step/metaproof.js +0 -73
- package/src/substitution/metastatementForMetavariable.js +0 -90
- package/src/verify/metaConsequent.js +0 -61
- package/src/verify/metaDerivation.js +0 -23
- package/src/verify/metaSubDerivation.js +0 -22
- package/src/verify/metaSubproof.js +0 -32
- package/src/verify/metaSupposition.js +0 -78
- package/src/verify/metaSuppositions.js +0 -17
- package/src/verify/metaproof.js +0 -28
- package/src/verify/metaproofStep.js +0 -137
- package/src/verify/metastatement/qualified.js +0 -130
- package/src/verify/metastatement/unqualified.js +0 -34
- package/src/verify/metastatementAsContainedAssertion.js +0 -127
- package/src/verify/metastatementAsDefinedAssertion.js +0 -156
- package/src/verify/metavariableAgainstMetastatement.js +0 -42
- /package/src/{step/proof.js → proofStep.js} +0 -0
package/lib/verify/conclusion.js
CHANGED
|
@@ -9,27 +9,26 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _conclusion = /*#__PURE__*/ _interop_require_default(require("../conclusion"));
|
|
12
|
-
var _unqualified = /*#__PURE__*/ _interop_require_default(require("
|
|
13
|
-
var _unqualified1 = /*#__PURE__*/ _interop_require_default(require("../verify/metastatement/unqualified"));
|
|
12
|
+
var _unqualified = /*#__PURE__*/ _interop_require_default(require("../verify/statement/unqualified"));
|
|
14
13
|
var _query = require("../utilities/query");
|
|
15
14
|
function _interop_require_default(obj) {
|
|
16
15
|
return obj && obj.__esModule ? obj : {
|
|
17
16
|
default: obj
|
|
18
17
|
};
|
|
19
18
|
}
|
|
20
|
-
var statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!"),
|
|
19
|
+
var statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!"), unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/conclusion/unqualifiedStatement!");
|
|
21
20
|
function verifyConclusion(conclusionNode, conclusions, localContext) {
|
|
22
21
|
var conclusionVerified = false;
|
|
23
22
|
var conclusionString = localContext.nodeAsString(conclusionNode);
|
|
24
23
|
localContext.trace("Verifying the '".concat(conclusionString, "' conclusion..."), conclusionNode);
|
|
25
|
-
var unqualifiedStatementNode = unqualifiedStatementNodeQuery(conclusionNode)
|
|
24
|
+
var unqualifiedStatementNode = unqualifiedStatementNodeQuery(conclusionNode);
|
|
26
25
|
if (unqualifiedStatementNode !== null) {
|
|
27
26
|
var derived = false, assignments = [], unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, assignments, derived, localContext);
|
|
28
27
|
conclusionVerified = unqualifiedStatementVerified; ///
|
|
29
28
|
}
|
|
30
|
-
if (
|
|
31
|
-
var derived1 = false, assignments1 = [],
|
|
32
|
-
conclusionVerified =
|
|
29
|
+
if (unqualifiedStatementNode !== null) {
|
|
30
|
+
var derived1 = false, assignments1 = [], unqualifiedStatementVerified1 = (0, _unqualified.default)(unqualifiedStatementNode, assignments1, derived1, localContext);
|
|
31
|
+
conclusionVerified = unqualifiedStatementVerified1; ///
|
|
33
32
|
}
|
|
34
33
|
if (conclusionVerified) {
|
|
35
34
|
var conclusion;
|
|
@@ -37,9 +36,9 @@ function verifyConclusion(conclusionNode, conclusions, localContext) {
|
|
|
37
36
|
var statementNode = statementNodeQuery(unqualifiedStatementNode);
|
|
38
37
|
conclusion = _conclusion.default.fromStatementNode(statementNode);
|
|
39
38
|
}
|
|
40
|
-
if (
|
|
41
|
-
var
|
|
42
|
-
conclusion = _conclusion.default.
|
|
39
|
+
if (unqualifiedStatementNode !== null) {
|
|
40
|
+
var statementNode1 = statementNodeQuery(unqualifiedStatementNode);
|
|
41
|
+
conclusion = _conclusion.default.fromStatementNode(statementNode1);
|
|
43
42
|
}
|
|
44
43
|
conclusions.push(conclusion);
|
|
45
44
|
localContext.debug("...verified the '".concat(conclusionString, "' conclusion."), conclusionNode);
|
|
@@ -47,4 +46,4 @@ function verifyConclusion(conclusionNode, conclusions, localContext) {
|
|
|
47
46
|
return conclusionVerified;
|
|
48
47
|
}
|
|
49
48
|
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29uY2x1c2lvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbmNsdXNpb24gZnJvbSBcIi4uL2NvbmNsdXNpb25cIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uY2x1c2lvbi91bnF1YWxpZmllZFN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUNvbmNsdXNpb24oY29uY2x1c2lvbk5vZGUsIGNvbmNsdXNpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGNvbmNsdXNpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGNvbmNsdXNpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGNvbmNsdXNpb25Ob2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7Y29uY2x1c2lvblN0cmluZ30nIGNvbmNsdXNpb24uLi5gLCBjb25jbHVzaW9uTm9kZSk7XG5cbiAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkoY29uY2x1c2lvbk5vZGUpO1xuXG4gIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGNvbmNsdXNpb25WZXJpZmllZCA9IHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICB9XG5cbiAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGRlcml2ZWQgPSBmYWxzZSxcbiAgICAgICAgICBhc3NpZ25tZW50cyA9IFtdLFxuICAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgY29uY2x1c2lvblZlcmlmaWVkID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gIH1cblxuICBpZiAoY29uY2x1c2lvblZlcmlmaWVkKSB7XG4gICAgbGV0IGNvbmNsdXNpb247XG5cbiAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGNvbmNsdXNpb24gPSBDb25jbHVzaW9uLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuICAgIH1cblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgICAgY29uY2x1c2lvbiA9IENvbmNsdXNpb24uZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuXG4gICAgY29uY2x1c2lvbnMucHVzaChjb25jbHVzaW9uKTtcblxuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbmNsdXNpb25TdHJpbmd9JyBjb25jbHVzaW9uLmAsIGNvbmNsdXNpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBjb25jbHVzaW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5Q29uY2x1c2lvbiIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwiY29uY2x1c2lvbk5vZGUiLCJjb25jbHVzaW9ucyIsImxvY2FsQ29udGV4dCIsImNvbmNsdXNpb25WZXJpZmllZCIsImNvbmNsdXNpb25TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsImRlcml2ZWQiLCJhc3NpZ25tZW50cyIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsImNvbmNsdXNpb24iLCJzdGF0ZW1lbnROb2RlIiwiQ29uY2x1c2lvbiIsImZyb21TdGF0ZW1lbnROb2RlIiwicHVzaCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXdCQTs7O2lFQVJEO2tFQUNnQjtxQkFFYjs7Ozs7O0FBRTFCLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyxxQ0FDL0JDLGdDQUFnQ0QsSUFBQUEsZ0JBQVMsRUFBQztBQUVqQyxTQUFTRixpQkFBaUJJLGNBQWMsRUFBRUMsV0FBVyxFQUFFQyxZQUFZO0lBQ2hGLElBQUlDLHFCQUFxQjtJQUV6QixJQUFNQyxtQkFBbUJGLGFBQWFHLFlBQVksQ0FBQ0w7SUFFbkRFLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUFrQyxPQUFqQkYsa0JBQWlCLG9CQUFrQko7SUFFeEUsSUFBTU8sMkJBQTJCUiw4QkFBOEJDO0lBRS9ELElBQUlPLDZCQUE2QixNQUFNO1FBQ3JDLElBQU1DLFVBQVUsT0FDVkMsY0FBYyxFQUFFLEVBQ2hCQywrQkFBK0JDLElBQUFBLG9CQUEwQixFQUFDSiwwQkFBMEJFLGFBQWFELFNBQVNOO1FBRWhIQyxxQkFBcUJPLDhCQUE4QixHQUFHO0lBQ3hEO0lBRUEsSUFBSUgsNkJBQTZCLE1BQU07UUFDckMsSUFBTUMsV0FBVSxPQUNWQyxlQUFjLEVBQUUsRUFDaEJDLGdDQUErQkMsSUFBQUEsb0JBQTBCLEVBQUNKLDBCQUEwQkUsY0FBYUQsVUFBU047UUFFaEhDLHFCQUFxQk8sK0JBQThCLEdBQUc7SUFDeEQ7SUFFQSxJQUFJUCxvQkFBb0I7UUFDdEIsSUFBSVM7UUFFSixJQUFJTCw2QkFBNkIsTUFBTTtZQUNyQyxJQUFNTSxnQkFBZ0JoQixtQkFBbUJVO1lBRXpDSyxhQUFhRSxtQkFBVSxDQUFDQyxpQkFBaUIsQ0FBQ0Y7UUFDNUM7UUFFQSxJQUFJTiw2QkFBNkIsTUFBTTtZQUNyQyxJQUFNTSxpQkFBZ0JoQixtQkFBbUJVO1lBRXpDSyxhQUFhRSxtQkFBVSxDQUFDQyxpQkFBaUIsQ0FBQ0Y7UUFDNUM7UUFFQVosWUFBWWUsSUFBSSxDQUFDSjtRQUVqQlYsYUFBYWUsS0FBSyxDQUFDLEFBQUMsb0JBQW9DLE9BQWpCYixrQkFBaUIsa0JBQWdCSjtJQUMxRTtJQUVBLE9BQU9HO0FBQ1QifQ==
|
|
@@ -17,20 +17,20 @@ function _interop_require_default(obj) {
|
|
|
17
17
|
default: obj
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
var referenceNodeQuery = (0, _query.nodeQuery)("/declaration/reference!"),
|
|
20
|
+
var referenceNodeQuery = (0, _query.nodeQuery)("/declaration/reference!"), statementNodeQuery = (0, _query.nodeQuery)("/declaration/statement!"), metavariableNodeQuery = (0, _query.nodeQuery)("/reference/metavariable!");
|
|
21
21
|
function verifyDeclaration(declarationNode, declarations, localContext) {
|
|
22
22
|
var declarationVerified = false;
|
|
23
23
|
var declarationString = localContext.nodeAsString(declarationNode);
|
|
24
24
|
localContext.trace("Verifying the '".concat(declarationString, "' declaration..."), declarationNode);
|
|
25
25
|
var referenceNode = referenceNodeQuery(declarationNode), referenceVerified = verifyReference(referenceNode, localContext);
|
|
26
26
|
if (referenceVerified) {
|
|
27
|
-
var
|
|
28
|
-
var
|
|
27
|
+
var statementNode = statementNodeQuery(declarationNode);
|
|
28
|
+
var verifyStatement = _metaLevel.default.verifyStatement, derived = false, assignments = [], statementVerified = verifyStatement(statementNode, assignments, derived, localContext, function() {
|
|
29
29
|
var verifiedAhead = true;
|
|
30
30
|
return verifiedAhead;
|
|
31
31
|
});
|
|
32
|
-
if (
|
|
33
|
-
var metavariableNode = metavariableNodeQuery(referenceNode), declaration = _declaration.default.
|
|
32
|
+
if (statementVerified) {
|
|
33
|
+
var metavariableNode = metavariableNodeQuery(referenceNode), declaration = _declaration.default.fromMetavariableNodeAndStatementNode(metavariableNode, statementNode);
|
|
34
34
|
declarations.push(declaration);
|
|
35
35
|
declarationVerified = true;
|
|
36
36
|
}
|
|
@@ -62,4 +62,4 @@ function verifyReference(referenceNode, localContext) {
|
|
|
62
62
|
return referenceVerified;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBEZWNsYXJhdGlvbiBmcm9tIFwiLi4vZGVjbGFyYXRpb25cIlxuaW1wb3J0IHJlZmVyZW5jZU1ldGFUeXBlIGZyb20gXCIuLi9tZXRhVHlwZS9yZWZlcmVuY2VcIjtcbmltcG9ydCBtZXRhTGV2ZWxOb2RlVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyL25vZGUvbWV0YUxldmVsXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgcmVmZXJlbmNlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2RlY2xhcmF0aW9uL3JlZmVyZW5jZSFcIiksXG4gICAgICBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZGVjbGFyYXRpb24vc3RhdGVtZW50IVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9yZWZlcmVuY2UvbWV0YXZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5RGVjbGFyYXRpb24oZGVjbGFyYXRpb25Ob2RlLCBkZWNsYXJhdGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZGVjbGFyYXRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGRlY2xhcmF0aW9uU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhkZWNsYXJhdGlvbk5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtkZWNsYXJhdGlvblN0cmluZ30nIGRlY2xhcmF0aW9uLi4uYCwgZGVjbGFyYXRpb25Ob2RlKTtcblxuICBjb25zdCByZWZlcmVuY2VOb2RlID0gcmVmZXJlbmNlTm9kZVF1ZXJ5KGRlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHJlZmVyZW5jZVZlcmlmaWVkID0gdmVyaWZ5UmVmZXJlbmNlKHJlZmVyZW5jZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgaWYgKHJlZmVyZW5jZVZlcmlmaWVkKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShkZWNsYXJhdGlvbk5vZGUpO1xuXG4gICAgY29uc3QgeyB2ZXJpZnlTdGF0ZW1lbnQgfSA9IG1ldGFMZXZlbE5vZGVWZXJpZmllcixcbiAgICAgICAgICBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkocmVmZXJlbmNlTm9kZSksXG4gICAgICAgICAgICBkZWNsYXJhdGlvbiA9IERlY2xhcmF0aW9uLmZyb21NZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZShtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgZGVjbGFyYXRpb25zLnB1c2goZGVjbGFyYXRpb24pO1xuXG4gICAgICBkZWNsYXJhdGlvblZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAoZGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgZGVjbGFyYXRpb24uYCwgZGVjbGFyYXRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBkZWNsYXJhdGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlSZWZlcmVuY2UocmVmZXJlbmNlTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCByZWZlcmVuY2VWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHJlZmVyZW5jZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocmVmZXJlbmNlTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3JlZmVyZW5jZVN0cmluZ30nIHJlZmVyZW5jZS4uLmAsIHJlZmVyZW5jZU5vZGUpO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkocmVmZXJlbmNlTm9kZSksXG4gICAgICAgIG1ldGF2YXJpYWJsZSA9IGxvY2FsQ29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgaWYgKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFUeXBlID0gbWV0YXZhcmlhYmxlLmdldE1ldGFUeXBlKCk7XG5cbiAgICBpZiAobWV0YVR5cGUgPT09IHJlZmVyZW5jZU1ldGFUeXBlKSB7XG4gICAgICByZWZlcmVuY2VWZXJpZmllZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlZmVyZW5jZU1ldGFUeXBlTmFtZSA9IHJlZmVyZW5jZU1ldGFUeXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgIG1ldGFUeXBlU3RyaW5nID0gbWV0YVR5cGUuYXNTdHJpbmcoKTtcblxuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGUgJyR7cmVmZXJlbmNlU3RyaW5nfScgbWV0YXZhcmlhYmxlJ3MgbWV0YS10eXBlIGlzICcke21ldGFUeXBlU3RyaW5nfScgd2hlbiBpdCBzaG91bGQgYmUgJyR7cmVmZXJlbmNlTWV0YVR5cGVOYW1lfScuYCwgcmVmZXJlbmNlTm9kZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlICcke3JlZmVyZW5jZVN0cmluZ30nIG1ldGF2YXJpYWJsZSBpcyBub3QgcHJlc2VudCcuYCwgcmVmZXJlbmNlTm9kZSk7XG4gIH1cblxuICBpZiAocmVmZXJlbmNlVmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtyZWZlcmVuY2VTdHJpbmd9JyByZWZlcmVuY2UuYCwgcmVmZXJlbmNlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gcmVmZXJlbmNlVmVyaWZpZWQ7XG59Il0sIm5hbWVzIjpbInZlcmlmeURlY2xhcmF0aW9uIiwicmVmZXJlbmNlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwiZGVjbGFyYXRpb25Ob2RlIiwiZGVjbGFyYXRpb25zIiwibG9jYWxDb250ZXh0IiwiZGVjbGFyYXRpb25WZXJpZmllZCIsImRlY2xhcmF0aW9uU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJyZWZlcmVuY2VOb2RlIiwicmVmZXJlbmNlVmVyaWZpZWQiLCJ2ZXJpZnlSZWZlcmVuY2UiLCJzdGF0ZW1lbnROb2RlIiwidmVyaWZ5U3RhdGVtZW50IiwibWV0YUxldmVsTm9kZVZlcmlmaWVyIiwiZGVyaXZlZCIsImFzc2lnbm1lbnRzIiwic3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZmllZEFoZWFkIiwibWV0YXZhcmlhYmxlTm9kZSIsImRlY2xhcmF0aW9uIiwiRGVjbGFyYXRpb24iLCJmcm9tTWV0YXZhcmlhYmxlTm9kZUFuZFN0YXRlbWVudE5vZGUiLCJwdXNoIiwiZGVidWciLCJyZWZlcmVuY2VTdHJpbmciLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YVR5cGUiLCJnZXRNZXRhVHlwZSIsInJlZmVyZW5jZU1ldGFUeXBlIiwicmVmZXJlbmNlTWV0YVR5cGVOYW1lIiwiZ2V0TmFtZSIsIm1ldGFUeXBlU3RyaW5nIiwiYXNTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVlBOzs7ZUFBd0JBOzs7a0VBVkE7Z0VBQ007Z0VBQ0k7cUJBRVI7Ozs7OztBQUUxQixJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMsNEJBQy9CQyxxQkFBcUJELElBQUFBLGdCQUFTLEVBQUMsNEJBQy9CRSx3QkFBd0JGLElBQUFBLGdCQUFTLEVBQUM7QUFFekIsU0FBU0Ysa0JBQWtCSyxlQUFlLEVBQUVDLFlBQVksRUFBRUMsWUFBWTtJQUNuRixJQUFJQyxzQkFBc0I7SUFFMUIsSUFBTUMsb0JBQW9CRixhQUFhRyxZQUFZLENBQUNMO0lBRXBERSxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBbUMsT0FBbEJGLG1CQUFrQixxQkFBbUJKO0lBRTFFLElBQU1PLGdCQUFnQlgsbUJBQW1CSSxrQkFDbkNRLG9CQUFvQkMsZ0JBQWdCRixlQUFlTDtJQUV6RCxJQUFJTSxtQkFBbUI7UUFDckIsSUFBTUUsZ0JBQWdCWixtQkFBbUJFO1FBRXpDLElBQU0sQUFBRVcsa0JBQW9CQyxrQkFBcUIsQ0FBekNELGlCQUNGRSxVQUFVLE9BQ1ZDLGNBQWMsRUFBRSxFQUNoQkMsb0JBQW9CSixnQkFBZ0JELGVBQWVJLGFBQWFELFNBQVNYLGNBQWM7WUFDckYsSUFBTWMsZ0JBQWdCO1lBRXRCLE9BQU9BO1FBQ1Q7UUFFTixJQUFJRCxtQkFBbUI7WUFDckIsSUFBTUUsbUJBQW1CbEIsc0JBQXNCUSxnQkFDekNXLGNBQWNDLG9CQUFXLENBQUNDLG9DQUFvQyxDQUFDSCxrQkFBa0JQO1lBRXZGVCxhQUFhb0IsSUFBSSxDQUFDSDtZQUVsQmYsc0JBQXNCO1FBQ3hCO0lBQ0Y7SUFFQSxJQUFJQSxxQkFBcUI7UUFDdkJELGFBQWFvQixLQUFLLENBQUMsQUFBQyxvQkFBcUMsT0FBbEJsQixtQkFBa0IsbUJBQWlCSjtJQUM1RTtJQUVBLE9BQU9HO0FBQ1Q7QUFFQSxTQUFTTSxnQkFBZ0JGLGFBQWEsRUFBRUwsWUFBWTtJQUNsRCxJQUFJTSxvQkFBb0I7SUFFeEIsSUFBTWUsa0JBQWtCckIsYUFBYUcsWUFBWSxDQUFDRTtJQUVsREwsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCaUIsaUJBQWdCLG1CQUFpQmhCO0lBRXRFLElBQU1VLG1CQUFtQmxCLHNCQUFzQlEsZ0JBQ3pDaUIsZUFBZXRCLGFBQWF1QixrQ0FBa0MsQ0FBQ1Isa0JBQWtCZjtJQUV2RixJQUFJc0IsaUJBQWlCLE1BQU07UUFDekIsSUFBTUUsV0FBV0YsYUFBYUcsV0FBVztRQUV6QyxJQUFJRCxhQUFhRSxrQkFBaUIsRUFBRTtZQUNsQ3BCLG9CQUFvQjtRQUN0QixPQUFPO1lBQ0wsSUFBTXFCLHdCQUF3QkQsa0JBQWlCLENBQUNFLE9BQU8sSUFDakRDLGlCQUFpQkwsU0FBU00sUUFBUTtZQUV4QzlCLGFBQWFvQixLQUFLLENBQUMsQUFBQyxRQUF3RFMsT0FBakRSLGlCQUFnQixtQ0FBdUVNLE9BQXRDRSxnQkFBZSx5QkFBNkMsT0FBdEJGLHVCQUFzQixPQUFLdEI7UUFDL0k7SUFDRixPQUFPO1FBQ0xMLGFBQWFvQixLQUFLLENBQUMsQUFBQyxRQUF1QixPQUFoQkMsaUJBQWdCLG9DQUFrQ2hCO0lBQy9FO0lBRUEsSUFBSUMsbUJBQW1CO1FBQ3JCTixhQUFhb0IsS0FBSyxDQUFDLEFBQUMsb0JBQW1DLE9BQWhCQyxpQkFBZ0IsaUJBQWVoQjtJQUN4RTtJQUVBLE9BQU9DO0FBQ1QifQ==
|
package/lib/verify/metaLemma.js
CHANGED
|
@@ -9,11 +9,11 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _metaLemma = /*#__PURE__*/ _interop_require_default(require("../metaLemma"));
|
|
12
|
+
var _proof = /*#__PURE__*/ _interop_require_default(require("../verify/proof"));
|
|
12
13
|
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
13
14
|
var _labels = /*#__PURE__*/ _interop_require_default(require("../verify/labels"));
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var _metaSuppositions = /*#__PURE__*/ _interop_require_default(require("../verify/metaSuppositions"));
|
|
15
|
+
var _consequent = /*#__PURE__*/ _interop_require_default(require("../verify/consequent"));
|
|
16
|
+
var _suppositions = /*#__PURE__*/ _interop_require_default(require("../verify/suppositions"));
|
|
17
17
|
var _array = require("../utilities/array");
|
|
18
18
|
var _constants = require("../constants");
|
|
19
19
|
var _query = require("../utilities/query");
|
|
@@ -22,20 +22,20 @@ function _interop_require_default(obj) {
|
|
|
22
22
|
default: obj
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
var
|
|
25
|
+
var proofNodeQuery = (0, _query.nodeQuery)("/metaLemma/proof!"), labelNodesQuery = (0, _query.nodesQuery)("/metaLemma/label"), consequentNodeQuery = (0, _query.nodeQuery)("/metaLemma/consequent!"), suppositionsNodeQuery = (0, _query.nodesQuery)("/metaLemma/supposition");
|
|
26
26
|
function verifyMetaLemma(metaLemmaNode, fileContext) {
|
|
27
27
|
var metaLemmaVerified = false;
|
|
28
28
|
var labelNodes = labelNodesQuery(metaLemmaNode), labelsString = fileContext.nodesAsString(labelNodes);
|
|
29
29
|
labelsString === _constants.EMPTY_STRING ? fileContext.trace("Verifying a meta-lLemma...", metaLemmaNode) : fileContext.trace("Verifying the '".concat(labelsString, "' meta-lLemma..."), metaLemmaNode);
|
|
30
30
|
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
31
31
|
if (labelsVerified) {
|
|
32
|
-
var localContext = _local.default.fromFileContext(fileContext), substitutions = [],
|
|
33
|
-
if (
|
|
34
|
-
var
|
|
35
|
-
if (
|
|
36
|
-
var
|
|
37
|
-
if (
|
|
38
|
-
var metaLemma = _metaLemma.default.
|
|
32
|
+
var localContext = _local.default.fromFileContext(fileContext), substitutions = [], suppositions = [], suppositionNodes = suppositionsNodeQuery(metaLemmaNode), suppositionsVerified = (0, _suppositions.default)(suppositionNodes, suppositions, substitutions, localContext);
|
|
33
|
+
if (suppositionsVerified) {
|
|
34
|
+
var consequents = [], consequentNode = consequentNodeQuery(metaLemmaNode), consequentVerified = (0, _consequent.default)(consequentNode, consequents, substitutions, localContext);
|
|
35
|
+
if (consequentVerified) {
|
|
36
|
+
var proofNode = proofNodeQuery(metaLemmaNode), firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent, statementNode = consequent.getStatementNode(), proofVerified = (0, _proof.default)(proofNode, statementNode, substitutions, localContext);
|
|
37
|
+
if (proofVerified) {
|
|
38
|
+
var metaLemma = _metaLemma.default.fromLabelsSuppositionsConsequentSubstitutionsAndFileContext(labels, suppositions, consequent, substitutions, fileContext);
|
|
39
39
|
fileContext.addMetaLemma(metaLemma);
|
|
40
40
|
metaLemmaVerified = true;
|
|
41
41
|
}
|
|
@@ -48,4 +48,4 @@ function verifyMetaLemma(metaLemmaNode, fileContext) {
|
|
|
48
48
|
return metaLemmaVerified;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YUxlbW1hLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YUxlbW1hIGZyb20gXCIuLi9tZXRhTGVtbWFcIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgdmVyaWZ5Q29uc2VxdWVudCBmcm9tIFwiLi4vdmVyaWZ5L2NvbnNlcXVlbnRcIjtcbmltcG9ydCB2ZXJpZnlTdXBwb3NpdGlvbnMgZnJvbSBcIi4uL3ZlcmlmeS9zdXBwb3NpdGlvbnNcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFMZW1tYS9wcm9vZiFcIiksXG4gICAgICBsYWJlbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL21ldGFMZW1tYS9sYWJlbFwiKSxcbiAgICAgIGNvbnNlcXVlbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YUxlbW1hL2NvbnNlcXVlbnQhXCIpLFxuICAgICAgc3VwcG9zaXRpb25zTm9kZVF1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhTGVtbWEvc3VwcG9zaXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeU1ldGFMZW1tYShtZXRhTGVtbWFOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgbWV0YUxlbW1hVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KG1ldGFMZW1tYU5vZGUpLFxuICAgICAgICBsYWJlbHNTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2Rlc0FzU3RyaW5nKGxhYmVsTm9kZXMpO1xuXG4gIChsYWJlbHNTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgYSBtZXRhLWxMZW1tYS4uLmAsIG1ldGFMZW1tYU5vZGUpIDpcbiAgICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2xhYmVsc1N0cmluZ30nIG1ldGEtbExlbW1hLi4uYCwgbWV0YUxlbW1hTm9kZSk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLCAvLy9cbiAgICAgICAgICBzdWJzdGl0dXRpb25zID0gW10sXG4gICAgICAgICAgc3VwcG9zaXRpb25zID0gW10sXG4gICAgICAgICAgc3VwcG9zaXRpb25Ob2RlcyA9IHN1cHBvc2l0aW9uc05vZGVRdWVyeShtZXRhTGVtbWFOb2RlKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHZlcmlmeVN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbk5vZGVzLCBzdXBwb3NpdGlvbnMsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoc3VwcG9zaXRpb25zVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGNvbnNlcXVlbnRzID0gW10sXG4gICAgICAgICAgICBjb25zZXF1ZW50Tm9kZSA9IGNvbnNlcXVlbnROb2RlUXVlcnkobWV0YUxlbW1hTm9kZSksXG4gICAgICAgICAgICBjb25zZXF1ZW50VmVyaWZpZWQgPSB2ZXJpZnlDb25zZXF1ZW50KGNvbnNlcXVlbnROb2RlLCBjb25zZXF1ZW50cywgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKGNvbnNlcXVlbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBwcm9vZk5vZGUgPSBwcm9vZk5vZGVRdWVyeShtZXRhTGVtbWFOb2RlKSxcbiAgICAgICAgICAgICAgZmlyc3RDb25zZXF1ZW50ID0gZmlyc3QoY29uc2VxdWVudHMpLFxuICAgICAgICAgICAgICBjb25zZXF1ZW50ID0gZmlyc3RDb25zZXF1ZW50LCAvLy9cbiAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IGNvbnNlcXVlbnQuZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgICAgICBwcm9vZlZlcmlmaWVkID0gdmVyaWZ5UHJvb2YocHJvb2ZOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIGlmIChwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgICAgY29uc3QgbWV0YUxlbW1hID0gTWV0YUxlbW1hLmZyb21MYWJlbHNTdXBwb3NpdGlvbnNDb25zZXF1ZW50U3Vic3RpdHV0aW9uc0FuZEZpbGVDb250ZXh0KGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW50LCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgICBmaWxlQ29udGV4dC5hZGRNZXRhTGVtbWEobWV0YUxlbW1hKTtcblxuICAgICAgICAgIG1ldGFMZW1tYVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChtZXRhTGVtbWFWZXJpZmllZCkge1xuICAgIChsYWJlbHNTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBtZXRhLWxlbW1hLmAsIG1ldGFMZW1tYU5vZGUpIDpcbiAgICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBtZXRhLWxlbW1hLmAsIG1ldGFMZW1tYU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFMZW1tYVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFMZW1tYSIsInByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImNvbnNlcXVlbnROb2RlUXVlcnkiLCJzdXBwb3NpdGlvbnNOb2RlUXVlcnkiLCJtZXRhTGVtbWFOb2RlIiwiZmlsZUNvbnRleHQiLCJtZXRhTGVtbWFWZXJpZmllZCIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwidHJhY2UiLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInN1YnN0aXR1dGlvbnMiLCJzdXBwb3NpdGlvbnMiLCJzdXBwb3NpdGlvbk5vZGVzIiwic3VwcG9zaXRpb25zVmVyaWZpZWQiLCJ2ZXJpZnlTdXBwb3NpdGlvbnMiLCJjb25zZXF1ZW50cyIsImNvbnNlcXVlbnROb2RlIiwiY29uc2VxdWVudFZlcmlmaWVkIiwidmVyaWZ5Q29uc2VxdWVudCIsInByb29mTm9kZSIsImZpcnN0Q29uc2VxdWVudCIsImZpcnN0IiwiY29uc2VxdWVudCIsInN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwicHJvb2ZWZXJpZmllZCIsInZlcmlmeVByb29mIiwibWV0YUxlbW1hIiwiTWV0YUxlbW1hIiwiZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0NvbnNlcXVlbnRTdWJzdGl0dXRpb25zQW5kRmlsZUNvbnRleHQiLCJhZGRNZXRhTGVtbWEiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBa0JBOzs7ZUFBd0JBOzs7Z0VBaEJGOzREQUNFOzREQUNDOzZEQUNBO2lFQUNJO21FQUNFO3FCQUVUO3lCQUNPO3FCQUNTOzs7Ozs7QUFFdEMsSUFBTUMsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLHNCQUMzQkMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLHFCQUM3QkMsc0JBQXNCSCxJQUFBQSxnQkFBUyxFQUFDLDJCQUNoQ0ksd0JBQXdCRixJQUFBQSxpQkFBVSxFQUFDO0FBRTFCLFNBQVNKLGdCQUFnQk8sYUFBYSxFQUFFQyxXQUFXO0lBQ2hFLElBQUlDLG9CQUFvQjtJQUV4QixJQUFNQyxhQUFhUCxnQkFBZ0JJLGdCQUM3QkksZUFBZUgsWUFBWUksYUFBYSxDQUFDRjtJQUU5Q0MsaUJBQWlCRSx1QkFBWSxHQUM1QkwsWUFBWU0sS0FBSyxDQUFFLDhCQUE2QlAsaUJBQzlDQyxZQUFZTSxLQUFLLENBQUMsQUFBQyxrQkFBOEIsT0FBYkgsY0FBYSxxQkFBbUJKO0lBRXhFLElBQU1RLFNBQVMsRUFBRSxFQUNYQyxpQkFBaUJDLElBQUFBLGVBQVksRUFBQ1AsWUFBWUssUUFBUVA7SUFFeEQsSUFBSVEsZ0JBQWdCO1FBQ2xCLElBQU1FLGVBQWVDLGNBQVksQ0FBQ0MsZUFBZSxDQUFDWixjQUM1Q2EsZ0JBQWdCLEVBQUUsRUFDbEJDLGVBQWUsRUFBRSxFQUNqQkMsbUJBQW1CakIsc0JBQXNCQyxnQkFDekNpQix1QkFBdUJDLElBQUFBLHFCQUFrQixFQUFDRixrQkFBa0JELGNBQWNELGVBQWVIO1FBRS9GLElBQUlNLHNCQUFzQjtZQUN4QixJQUFNRSxjQUFjLEVBQUUsRUFDaEJDLGlCQUFpQnRCLG9CQUFvQkUsZ0JBQ3JDcUIscUJBQXFCQyxJQUFBQSxtQkFBZ0IsRUFBQ0YsZ0JBQWdCRCxhQUFhTCxlQUFlSDtZQUV4RixJQUFJVSxvQkFBb0I7Z0JBQ3RCLElBQU1FLFlBQVk3QixlQUFlTSxnQkFDM0J3QixrQkFBa0JDLElBQUFBLFlBQUssRUFBQ04sY0FDeEJPLGFBQWFGLGlCQUNiRyxnQkFBZ0JELFdBQVdFLGdCQUFnQixJQUMzQ0MsZ0JBQWdCQyxJQUFBQSxjQUFXLEVBQUNQLFdBQVdJLGVBQWViLGVBQWVIO2dCQUUzRSxJQUFJa0IsZUFBZTtvQkFDakIsSUFBTUUsWUFBWUMsa0JBQVMsQ0FBQ0MsMkRBQTJELENBQUN6QixRQUFRTyxjQUFjVyxZQUFZWixlQUFlYjtvQkFFeklBLFlBQVlpQyxZQUFZLENBQUNIO29CQUV6QjdCLG9CQUFvQjtnQkFDdEI7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxJQUFJQSxtQkFBbUI7UUFDcEJFLGlCQUFpQkUsdUJBQVksR0FDNUJMLFlBQVlrQyxLQUFLLENBQUUsK0JBQThCbkMsaUJBQy9DQyxZQUFZa0MsS0FBSyxDQUFDLEFBQUMsb0JBQWdDLE9BQWIvQixjQUFhLGtCQUFnQko7SUFDekU7SUFFQSxPQUFPRTtBQUNUIn0=
|
|
@@ -10,103 +10,103 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _judgement = /*#__PURE__*/ _interop_require_default(require("../verify/judgement"));
|
|
12
12
|
var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../verifier/node/metaLevel"));
|
|
13
|
-
var
|
|
14
|
-
var
|
|
13
|
+
var _statementAsDefinedAssertion = /*#__PURE__*/ _interop_require_default(require("./statementAsDefinedAssertion"));
|
|
14
|
+
var _statementAsContainedAssertion = /*#__PURE__*/ _interop_require_default(require("./statementAsContainedAssertion"));
|
|
15
15
|
var _query = require("../utilities/query");
|
|
16
16
|
function _interop_require_default(obj) {
|
|
17
17
|
return obj && obj.__esModule ? obj : {
|
|
18
18
|
default: obj
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
-
var judgementNodeQuery = (0, _query.nodeQuery)("/
|
|
22
|
-
function
|
|
23
|
-
var
|
|
24
|
-
var
|
|
25
|
-
localContext.trace("Verifying the '".concat(
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
21
|
+
var judgementNodeQuery = (0, _query.nodeQuery)("/statement/judgement!");
|
|
22
|
+
function verifyStatement(statementNode, assignments, derived, localContext) {
|
|
23
|
+
var statementVerified;
|
|
24
|
+
var statementString = localContext.nodeAsString(statementNode);
|
|
25
|
+
localContext.trace("Verifying the '".concat(statementString, "' statement..."), statementNode);
|
|
26
|
+
var verifyStatementFunctions = [
|
|
27
|
+
verifyStatementAsJudgement,
|
|
28
|
+
_statementAsDefinedAssertion.default,
|
|
29
|
+
_statementAsContainedAssertion.default,
|
|
30
|
+
verifyStatementAsIs
|
|
31
31
|
];
|
|
32
|
-
|
|
33
|
-
var
|
|
34
|
-
if (
|
|
32
|
+
statementVerified = verifyStatementFunctions.some(function(verifyStatementFunction) {
|
|
33
|
+
var statementVerified = verifyStatementFunction(statementNode, assignments, derived, localContext);
|
|
34
|
+
if (statementVerified) {
|
|
35
35
|
return true;
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
|
-
if (
|
|
39
|
-
localContext.debug("...verified the '".concat(
|
|
38
|
+
if (statementVerified) {
|
|
39
|
+
localContext.debug("...verified the '".concat(statementString, "' statement."), statementNode);
|
|
40
40
|
}
|
|
41
|
-
return
|
|
41
|
+
return statementVerified;
|
|
42
42
|
}
|
|
43
43
|
Object.assign(_metaLevel.default, {
|
|
44
|
-
|
|
44
|
+
verifyStatement: verifyStatement
|
|
45
45
|
});
|
|
46
|
-
var _default =
|
|
47
|
-
function
|
|
48
|
-
var
|
|
49
|
-
var
|
|
50
|
-
if (
|
|
51
|
-
var
|
|
52
|
-
localContext.trace("Verifying the '".concat(
|
|
53
|
-
var judgementNode = judgementNodeQuery(
|
|
54
|
-
|
|
55
|
-
if (
|
|
56
|
-
localContext.debug("...verified the '".concat(
|
|
46
|
+
var _default = verifyStatement;
|
|
47
|
+
function verifyStatementAsJudgement(statementNode, assignments, derived, localContext) {
|
|
48
|
+
var statementVerifiedAsJudgement = false;
|
|
49
|
+
var statementJudgement = isStatementJudgement(statementNode);
|
|
50
|
+
if (statementJudgement) {
|
|
51
|
+
var statementString = localContext.nodeAsString(statementNode);
|
|
52
|
+
localContext.trace("Verifying the '".concat(statementString, "' statement as a judgement..."), statementNode);
|
|
53
|
+
var judgementNode = judgementNodeQuery(statementNode), judgementVerified = (0, _judgement.default)(judgementNode, assignments, derived, localContext);
|
|
54
|
+
statementVerifiedAsJudgement = judgementVerified; ///
|
|
55
|
+
if (statementVerifiedAsJudgement) {
|
|
56
|
+
localContext.debug("...verified the '".concat(statementString, "' statement as a judgement."), statementNode);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
return
|
|
59
|
+
return statementVerifiedAsJudgement;
|
|
60
60
|
}
|
|
61
|
-
function
|
|
62
|
-
var
|
|
63
|
-
var
|
|
64
|
-
if (!
|
|
65
|
-
var
|
|
66
|
-
localContext.trace("Verifying the '".concat(
|
|
67
|
-
var
|
|
68
|
-
|
|
69
|
-
|
|
61
|
+
function verifyStatementAsIs(statementNode, assignments, derived, localContext) {
|
|
62
|
+
var statementVerifiedAsIs;
|
|
63
|
+
var statementJudgement = isStatementJudgement(statementNode);
|
|
64
|
+
if (!statementJudgement) {
|
|
65
|
+
var statementString = localContext.nodeAsString(statementNode);
|
|
66
|
+
localContext.trace("Verifying the '".concat(statementString, "' statement as is..."), statementNode);
|
|
67
|
+
var verifyStatementAsIsFunctions = [
|
|
68
|
+
verifyDerivedStatementAsIs,
|
|
69
|
+
verifyStatedStatementAsIs
|
|
70
70
|
];
|
|
71
|
-
|
|
72
|
-
var
|
|
73
|
-
if (
|
|
71
|
+
statementVerifiedAsIs = verifyStatementAsIsFunctions.some(function(verifyStatementAsIsFunction) {
|
|
72
|
+
var statementVerifiedAsIs = verifyStatementAsIsFunction(statementNode, assignments, derived, localContext);
|
|
73
|
+
if (statementVerifiedAsIs) {
|
|
74
74
|
return true;
|
|
75
75
|
}
|
|
76
76
|
});
|
|
77
|
-
if (
|
|
78
|
-
localContext.debug("...verified the '".concat(
|
|
77
|
+
if (statementVerifiedAsIs) {
|
|
78
|
+
localContext.debug("...verified the '".concat(statementString, "' statement as is."), statementNode);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
return
|
|
81
|
+
return statementVerifiedAsIs;
|
|
82
82
|
}
|
|
83
|
-
function
|
|
84
|
-
var
|
|
83
|
+
function verifyDerivedStatementAsIs(statementNode, assignments, derived, localContext) {
|
|
84
|
+
var derivedStatementVerifiedAsIs = false;
|
|
85
85
|
if (derived) {
|
|
86
|
-
var
|
|
87
|
-
localContext.debug("Cannot verify the derived '".concat(
|
|
86
|
+
var statementString = localContext.nodeAsString(statementNode);
|
|
87
|
+
localContext.debug("Cannot verify the derived '".concat(statementString, "' statement as is."), statementNode);
|
|
88
88
|
}
|
|
89
|
-
return
|
|
89
|
+
return derivedStatementVerifiedAsIs;
|
|
90
90
|
}
|
|
91
|
-
function
|
|
92
|
-
var
|
|
91
|
+
function verifyStatedStatementAsIs(statementNode, assignments, derived, localContext) {
|
|
92
|
+
var statedStatementVerifiedAsIs = false;
|
|
93
93
|
if (!derived) {
|
|
94
|
-
var
|
|
95
|
-
localContext.trace("Verifying the stated '".concat(
|
|
96
|
-
var nonTerminalNode =
|
|
94
|
+
var statementString = localContext.nodeAsString(statementNode);
|
|
95
|
+
localContext.trace("Verifying the stated '".concat(statementString, "' statement as is..."), statementNode);
|
|
96
|
+
var nonTerminalNode = statementNode, nonTerminalNodeVerified = _metaLevel.default.verifyNonTerminalNode(nonTerminalNode, localContext, function() {
|
|
97
97
|
var verifiedAhead = true;
|
|
98
98
|
return verifiedAhead;
|
|
99
99
|
});
|
|
100
|
-
|
|
101
|
-
if (
|
|
102
|
-
localContext.debug("...verified the stated '".concat(
|
|
100
|
+
statedStatementVerifiedAsIs = nonTerminalNodeVerified; ///
|
|
101
|
+
if (statedStatementVerifiedAsIs) {
|
|
102
|
+
localContext.debug("...verified the stated '".concat(statementString, "' statement as is."), statementNode);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
return
|
|
105
|
+
return statedStatementVerifiedAsIs;
|
|
106
106
|
}
|
|
107
|
-
function
|
|
108
|
-
var judgementNode = judgementNodeQuery(
|
|
109
|
-
return
|
|
107
|
+
function isStatementJudgement(statementNode) {
|
|
108
|
+
var judgementNode = judgementNodeQuery(statementNode), statementJudgement = judgementNode !== null;
|
|
109
|
+
return statementJudgement;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUp1ZGdlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L2p1ZGdlbWVudFwiO1xuaW1wb3J0IG1ldGFMZXZlbE5vZGVWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZS9tZXRhTGV2ZWxcIjtcbmltcG9ydCB2ZXJpZnlNZXRhc3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uIGZyb20gXCIuL21ldGFzdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb25cIjtcbmltcG9ydCB2ZXJpZnlNZXRhc3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24gZnJvbSBcIi4vbWV0YXN0YXRlbWVudEFzQ29udGFpbmVkQXNzZXJ0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QganVkZ2VtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvanVkZ2VtZW50IVwiKTtcblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgdmVyaWZ5TWV0YVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlNZXRhc3RhdGVtZW50QXNKdWRnZW1lbnQsXG4gICAgdmVyaWZ5TWV0YXN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbixcbiAgICB2ZXJpZnlNZXRhc3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24sXG4gICAgdmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNcbiAgXTtcblxuICBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbihtZXRhTGV2ZWxOb2RlVmVyaWZpZXIsIHtcbiAgdmVyaWZ5TWV0YXN0YXRlbWVudFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHZlcmlmeU1ldGFzdGF0ZW1lbnQ7XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0p1ZGdlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNKdWRnZW1lbnQgPSBmYWxzZTtcblxuICBjb25zdCBtZXRhc3RhdGVtZW50SnVkZ2VtZW50ID0gaXNNZXRhc3RhdGVtZW50SnVkZ2VtZW50KG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAobWV0YXN0YXRlbWVudEp1ZGdlbWVudCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGp1ZGdlbWVudC4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IGp1ZGdlbWVudE5vZGUgPSBqdWRnZW1lbnROb2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGp1ZGdlbWVudFZlcmlmaWVkID0gdmVyaWZ5SnVkZ2VtZW50KGp1ZGdlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNKdWRnZW1lbnQgPSBqdWRnZW1lbnRWZXJpZmllZDsgIC8vL1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSnVkZ2VtZW50KSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGp1ZGdlbWVudC5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSnVkZ2VtZW50O1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJcyhtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcztcblxuICBjb25zdCBtZXRhc3RhdGVtZW50SnVkZ2VtZW50ID0gaXNNZXRhc3RhdGVtZW50SnVkZ2VtZW50KG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoIW1ldGFzdGF0ZW1lbnRKdWRnZW1lbnQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgaXMuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9ucyA9IFtcbiAgICAgIHZlcmlmeURlcml2ZWRNZXRhc3RhdGVtZW50QXNJcyxcbiAgICAgIHZlcmlmeVN0YXRlZE1ldGFzdGF0ZW1lbnRBc0lzXG4gICAgXTtcblxuICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSB2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9ucy5zb21lKCh2ZXJpZnlNZXRhc3RhdGVtZW50QXNJc0Z1bmN0aW9uKSA9PiB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzID0gdmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNGdW5jdGlvbihtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGlzLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcztcbn1cblxuZnVuY3Rpb24gdmVyaWZ5RGVyaXZlZE1ldGFzdGF0ZW1lbnRBc0lzKG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IGZhbHNlO1xuXG4gIGlmIChkZXJpdmVkKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGBDYW5ub3QgdmVyaWZ5IHRoZSBkZXJpdmVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGlzLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcztcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVkTWV0YXN0YXRlbWVudEFzSXMobWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSBmYWxzZTtcblxuICBpZiAoIWRlcml2ZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgc3RhdGVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGlzLi4uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbWV0YXN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gbWV0YUxldmVsTm9kZVZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgIH0pO1xuXG4gICAgc3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAoc3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcykge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgc3RhdGVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGlzLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcztcbn1cblxuZnVuY3Rpb24gaXNNZXRhc3RhdGVtZW50SnVkZ2VtZW50KG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gIGNvbnN0IGp1ZGdlbWVudE5vZGUgPSBqdWRnZW1lbnROb2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICBtZXRhc3RhdGVtZW50SnVkZ2VtZW50ID0gKGp1ZGdlbWVudE5vZGUgIT09IG51bGwpO1xuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50SnVkZ2VtZW50O1xufSJdLCJuYW1lcyI6WyJqdWRnZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbENvbnRleHQiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzSnVkZ2VtZW50IiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbiIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0NvbnRhaW5lZEFzc2VydGlvbiIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzIiwic29tZSIsInZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uIiwiZGVidWciLCJPYmplY3QiLCJhc3NpZ24iLCJtZXRhTGV2ZWxOb2RlVmVyaWZpZXIiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0p1ZGdlbWVudCIsIm1ldGFzdGF0ZW1lbnRKdWRnZW1lbnQiLCJpc01ldGFzdGF0ZW1lbnRKdWRnZW1lbnQiLCJqdWRnZW1lbnROb2RlIiwianVkZ2VtZW50VmVyaWZpZWQiLCJ2ZXJpZnlKdWRnZW1lbnQiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0lzIiwidmVyaWZ5TWV0YXN0YXRlbWVudEFzSXNGdW5jdGlvbnMiLCJ2ZXJpZnlEZXJpdmVkTWV0YXN0YXRlbWVudEFzSXMiLCJ2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNJcyIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0lzRnVuY3Rpb24iLCJkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNJcyIsInN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzSXMiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsInZlcmlmaWVkQWhlYWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTRDQTs7O2VBQUE7OztnRUExQzRCO2dFQUNNO3NGQUNnQjt3RkFDRTtxQkFFMUI7Ozs7OztBQUUxQixJQUFNQSxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFckMsU0FBU0Msb0JBQW9CQyxpQkFBaUIsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFlBQVk7SUFDaEYsSUFBSUM7SUFFSixJQUFNQyxzQkFB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
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeUp1ZGdlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L2p1ZGdlbWVudFwiO1xuaW1wb3J0IG1ldGFMZXZlbE5vZGVWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZS9tZXRhTGV2ZWxcIjtcbmltcG9ydCB2ZXJpZnlTdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24gZnJvbSBcIi4vc3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uXCI7XG5pbXBvcnQgdmVyaWZ5U3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24gZnJvbSBcIi4vc3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBqdWRnZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L2p1ZGdlbWVudCFcIik7XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZDtcblxuICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gICAgdmVyaWZ5U3RhdGVtZW50QXNKdWRnZW1lbnQsXG4gICAgdmVyaWZ5U3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uLFxuICAgIHZlcmlmeVN0YXRlbWVudEFzQ29udGFpbmVkQXNzZXJ0aW9uLFxuICAgIHZlcmlmeVN0YXRlbWVudEFzSXNcbiAgXTtcblxuICBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24oc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50LmAsIHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVkO1xufVxuXG5PYmplY3QuYXNzaWduKG1ldGFMZXZlbE5vZGVWZXJpZmllciwge1xuICB2ZXJpZnlTdGF0ZW1lbnRcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB2ZXJpZnlTdGF0ZW1lbnQ7XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzSnVkZ2VtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNKdWRnZW1lbnQgPSBmYWxzZTtcblxuICBjb25zdCBzdGF0ZW1lbnRKdWRnZW1lbnQgPSBpc1N0YXRlbWVudEp1ZGdlbWVudChzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoc3RhdGVtZW50SnVkZ2VtZW50KSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBqdWRnZW1lbnQuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IGp1ZGdlbWVudE5vZGUgPSBqdWRnZW1lbnROb2RlUXVlcnkoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAganVkZ2VtZW50VmVyaWZpZWQgPSB2ZXJpZnlKdWRnZW1lbnQoanVkZ2VtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzSnVkZ2VtZW50ID0ganVkZ2VtZW50VmVyaWZpZWQ7ICAvLy9cblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzSnVkZ2VtZW50KSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBqdWRnZW1lbnQuYCwgc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVkQXNKdWRnZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzSXMoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xuXG4gIGNvbnN0IHN0YXRlbWVudEp1ZGdlbWVudCA9IGlzU3RhdGVtZW50SnVkZ2VtZW50KHN0YXRlbWVudE5vZGUpO1xuXG4gIGlmICghc3RhdGVtZW50SnVkZ2VtZW50KSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgaXMuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHZlcmlmeVN0YXRlbWVudEFzSXNGdW5jdGlvbnMgPSBbXG4gICAgICB2ZXJpZnlEZXJpdmVkU3RhdGVtZW50QXNJcyxcbiAgICAgIHZlcmlmeVN0YXRlZFN0YXRlbWVudEFzSXNcbiAgICBdO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc0lzID0gdmVyaWZ5U3RhdGVtZW50QXNJc0Z1bmN0aW9ucy5zb21lKCh2ZXJpZnlTdGF0ZW1lbnRBc0lzRnVuY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IHZlcmlmeVN0YXRlbWVudEFzSXNGdW5jdGlvbihzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkQXNJcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzSXMpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBpcy5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlEZXJpdmVkU3RhdGVtZW50QXNJcyhzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBkZXJpdmVkU3RhdGVtZW50VmVyaWZpZWRBc0lzID0gZmFsc2U7XG5cbiAgaWYgKGRlcml2ZWQpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGBDYW5ub3QgdmVyaWZ5IHRoZSBkZXJpdmVkICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBpcy5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBkZXJpdmVkU3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZWRTdGF0ZW1lbnRBc0lzKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlZFN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgc3RhdGVkICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBpcy4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhTGV2ZWxOb2RlVmVyaWZpZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICBzdGF0ZWRTdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuXG4gICAgaWYgKHN0YXRlZFN0YXRlbWVudFZlcmlmaWVkQXNJcykge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgc3RhdGVkICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBpcy5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVkU3RhdGVtZW50VmVyaWZpZWRBc0lzO1xufVxuXG5mdW5jdGlvbiBpc1N0YXRlbWVudEp1ZGdlbWVudChzdGF0ZW1lbnROb2RlKSB7XG4gIGNvbnN0IGp1ZGdlbWVudE5vZGUgPSBqdWRnZW1lbnROb2RlUXVlcnkoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHN0YXRlbWVudEp1ZGdlbWVudCA9IChqdWRnZW1lbnROb2RlICE9PSBudWxsKTtcblxuICByZXR1cm4gc3RhdGVtZW50SnVkZ2VtZW50O1xufSJdLCJuYW1lcyI6WyJqdWRnZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxDb250ZXh0Iiwic3RhdGVtZW50VmVyaWZpZWQiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeVN0YXRlbWVudEFzSnVkZ2VtZW50IiwidmVyaWZ5U3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uIiwidmVyaWZ5U3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24iLCJ2ZXJpZnlTdGF0ZW1lbnRBc0lzIiwic29tZSIsInZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uIiwiZGVidWciLCJPYmplY3QiLCJhc3NpZ24iLCJtZXRhTGV2ZWxOb2RlVmVyaWZpZXIiLCJzdGF0ZW1lbnRWZXJpZmllZEFzSnVkZ2VtZW50Iiwic3RhdGVtZW50SnVkZ2VtZW50IiwiaXNTdGF0ZW1lbnRKdWRnZW1lbnQiLCJqdWRnZW1lbnROb2RlIiwianVkZ2VtZW50VmVyaWZpZWQiLCJ2ZXJpZnlKdWRnZW1lbnQiLCJzdGF0ZW1lbnRWZXJpZmllZEFzSXMiLCJ2ZXJpZnlTdGF0ZW1lbnRBc0lzRnVuY3Rpb25zIiwidmVyaWZ5RGVyaXZlZFN0YXRlbWVudEFzSXMiLCJ2ZXJpZnlTdGF0ZWRTdGF0ZW1lbnRBc0lzIiwidmVyaWZ5U3RhdGVtZW50QXNJc0Z1bmN0aW9uIiwiZGVyaXZlZFN0YXRlbWVudFZlcmlmaWVkQXNJcyIsInN0YXRlZFN0YXRlbWVudFZlcmlmaWVkQXNJcyIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwidmVyaWZpZWRBaGVhZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBNENBOzs7ZUFBQTs7O2dFQTFDNEI7Z0VBQ007a0ZBQ1k7b0ZBQ0U7cUJBRXRCOzs7Ozs7QUFFMUIsSUFBTUEscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXJDLFNBQVNDLGdCQUFnQkMsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUN4RSxJQUFJQztJQUVKLElBQU1DLGtCQUFrQkYsYUFBYUcsWUFBWSxDQUFDTjtJQUVsREcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFBZ0IsbUJBQWlCTDtJQUV0RSxJQUFNUSwyQkFBMkI7UUFDL0JDO1FBQ0FDLG9DQUFpQztRQUNqQ0Msc0NBQW1DO1FBQ25DQztLQUNEO0lBRURSLG9CQUFvQkkseUJBQXlCSyxJQUFJLENBQUMsU0FBQ0M7UUFDakQsSUFBTVYsb0JBQW9CVSx3QkFBd0JkLGVBQWVDLGFBQWFDLFNBQVNDO1FBRXZGLElBQUlDLG1CQUFtQjtZQUNyQixPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlBLG1CQUFtQjtRQUNyQkQsYUFBYVksS0FBSyxDQUFDLEFBQUMsb0JBQW1DLE9BQWhCVixpQkFBZ0IsaUJBQWVMO0lBQ3hFO0lBRUEsT0FBT0k7QUFDVDtBQUVBWSxPQUFPQyxNQUFNLENBQUNDLGtCQUFxQixFQUFFO0lBQ25DbkIsaUJBQUFBO0FBQ0Y7SUFFQSxXQUFlQTtBQUVmLFNBQVNVLDJCQUEyQlQsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUNuRixJQUFJZ0Is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
|
|
@@ -8,12 +8,12 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return verifyMetatheorem;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _proof = /*#__PURE__*/ _interop_require_default(require("../verify/proof"));
|
|
11
12
|
var _metatheorem = /*#__PURE__*/ _interop_require_default(require("../metatheorem"));
|
|
12
13
|
var _labels = /*#__PURE__*/ _interop_require_default(require("../verify/labels"));
|
|
13
14
|
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var _metaSuppositions = /*#__PURE__*/ _interop_require_default(require("../verify/metaSuppositions"));
|
|
15
|
+
var _consequent = /*#__PURE__*/ _interop_require_default(require("../verify/consequent"));
|
|
16
|
+
var _suppositions = /*#__PURE__*/ _interop_require_default(require("../verify/suppositions"));
|
|
17
17
|
var _array = require("../utilities/array");
|
|
18
18
|
var _query = require("../utilities/query");
|
|
19
19
|
function _interop_require_default(obj) {
|
|
@@ -21,20 +21,20 @@ function _interop_require_default(obj) {
|
|
|
21
21
|
default: obj
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
var labelNodesQuery = (0, _query.nodesQuery)("/metatheorem/label"),
|
|
24
|
+
var labelNodesQuery = (0, _query.nodesQuery)("/metatheorem/label"), proofNodeQuery = (0, _query.nodeQuery)("/metatheorem/proof!"), consequentNodeQuery = (0, _query.nodeQuery)("/metatheorem/consequent!"), suppositionsNodeQuery = (0, _query.nodesQuery)("/metatheorem/supposition");
|
|
25
25
|
function verifyMetatheorem(metatheoremNode, fileContext) {
|
|
26
26
|
var metatheoremVerified = false;
|
|
27
27
|
var labelNodes = labelNodesQuery(metatheoremNode), labelsString = fileContext.nodesAsString(labelNodes);
|
|
28
28
|
fileContext.trace("Verifying the '".concat(labelsString, "' metatheorem..."), metatheoremNode);
|
|
29
29
|
var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
|
|
30
30
|
if (labelsVerified) {
|
|
31
|
-
var localContext = _local.default.fromFileContext(fileContext), substitutions = [],
|
|
32
|
-
if (
|
|
33
|
-
var
|
|
34
|
-
if (
|
|
35
|
-
var
|
|
36
|
-
if (
|
|
37
|
-
var metatheorem = _metatheorem.default.
|
|
31
|
+
var localContext = _local.default.fromFileContext(fileContext), substitutions = [], suppositions = [], suppositionNodes = suppositionsNodeQuery(metatheoremNode), suppositionsVerified = (0, _suppositions.default)(suppositionNodes, suppositions, substitutions, localContext);
|
|
32
|
+
if (suppositionsVerified) {
|
|
33
|
+
var consequents = [], consequentNode = consequentNodeQuery(metatheoremNode), consequentVerified = (0, _consequent.default)(consequentNode, consequents, substitutions, localContext);
|
|
34
|
+
if (consequentVerified) {
|
|
35
|
+
var proofNode = proofNodeQuery(metatheoremNode), firstConsequent = (0, _array.first)(consequents), consequent = firstConsequent, statementNode = consequent.getStatementNode(), proofVerified = (0, _proof.default)(proofNode, statementNode, substitutions, localContext);
|
|
36
|
+
if (proofVerified) {
|
|
37
|
+
var metatheorem = _metatheorem.default.fromLabelsSuppositionsConsequentSubstitutionsAndFileContext(labels, suppositions, consequent, substitutions, fileContext);
|
|
38
38
|
fileContext.addMetatheorem(metatheorem);
|
|
39
39
|
metatheoremVerified = true;
|
|
40
40
|
}
|
|
@@ -47,4 +47,4 @@ function verifyMetatheorem(metatheoremNode, fileContext) {
|
|
|
47
47
|
return metatheoremVerified;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXRoZW9yZW0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgTWV0YXRoZW9yZW0gZnJvbSBcIi4uL21ldGF0aGVvcmVtXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgdmVyaWZ5Q29uc2VxdWVudCBmcm9tIFwiLi4vdmVyaWZ5L2NvbnNlcXVlbnRcIjtcbmltcG9ydCB2ZXJpZnlTdXBwb3NpdGlvbnMgZnJvbSBcIi4uL3ZlcmlmeS9zdXBwb3NpdGlvbnNcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGxhYmVsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YXRoZW9yZW0vbGFiZWxcIiksXG4gICAgICBwcm9vZk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdGhlb3JlbS9wcm9vZiFcIiksXG4gICAgICBjb25zZXF1ZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF0aGVvcmVtL2NvbnNlcXVlbnQhXCIpLFxuICAgICAgc3VwcG9zaXRpb25zTm9kZVF1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhdGhlb3JlbS9zdXBwb3NpdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YXRoZW9yZW0obWV0YXRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgbWV0YXRoZW9yZW1WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGxhYmVsTm9kZXMgPSBsYWJlbE5vZGVzUXVlcnkobWV0YXRoZW9yZW1Ob2RlKSxcbiAgICAgICAgbGFiZWxzU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE5vZGVzKTtcblxuICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBtZXRhdGhlb3JlbS4uLmAsIG1ldGF0aGVvcmVtTm9kZSk7XG5cbiAgY29uc3QgbGFiZWxzID0gW10sXG4gICAgICAgIGxhYmVsc1ZlcmlmaWVkID0gdmVyaWZ5TGFiZWxzKGxhYmVsTm9kZXMsIGxhYmVscywgZmlsZUNvbnRleHQpO1xuXG4gIGlmIChsYWJlbHNWZXJpZmllZCkge1xuICAgIGNvbnN0IGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLCAvLy9cbiAgICAgICAgICBzdWJzdGl0dXRpb25zID0gW10sXG4gICAgICAgICAgc3VwcG9zaXRpb25zID0gW10sXG4gICAgICAgICAgc3VwcG9zaXRpb25Ob2RlcyA9IHN1cHBvc2l0aW9uc05vZGVRdWVyeShtZXRhdGhlb3JlbU5vZGUpLFxuICAgICAgICAgIHN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gdmVyaWZ5U3VwcG9zaXRpb25zKHN1cHBvc2l0aW9uTm9kZXMsIHN1cHBvc2l0aW9ucywgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChzdXBwb3NpdGlvbnNWZXJpZmllZCkge1xuICAgICAgY29uc3QgY29uc2VxdWVudHMgPSBbXSxcbiAgICAgICAgICAgIGNvbnNlcXVlbnROb2RlID0gY29uc2VxdWVudE5vZGVRdWVyeShtZXRhdGhlb3JlbU5vZGUpLFxuICAgICAgICAgICAgY29uc2VxdWVudFZlcmlmaWVkID0gdmVyaWZ5Q29uc2VxdWVudChjb25zZXF1ZW50Tm9kZSwgY29uc2VxdWVudHMsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChjb25zZXF1ZW50VmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgcHJvb2ZOb2RlID0gcHJvb2ZOb2RlUXVlcnkobWV0YXRoZW9yZW1Ob2RlKSxcbiAgICAgICAgICAgICAgZmlyc3RDb25zZXF1ZW50ID0gZmlyc3QoY29uc2VxdWVudHMpLFxuICAgICAgICAgICAgICBjb25zZXF1ZW50ID0gZmlyc3RDb25zZXF1ZW50LCAvLy9cbiAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IGNvbnNlcXVlbnQuZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgICAgICBwcm9vZlZlcmlmaWVkID0gdmVyaWZ5UHJvb2YocHJvb2ZOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIGlmIChwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgICAgY29uc3QgbWV0YXRoZW9yZW0gPSBNZXRhdGhlb3JlbS5mcm9tTGFiZWxzU3VwcG9zaXRpb25zQ29uc2VxdWVudFN1YnN0aXR1dGlvbnNBbmRGaWxlQ29udGV4dChsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVudCwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgZmlsZUNvbnRleHQuYWRkTWV0YXRoZW9yZW0obWV0YXRoZW9yZW0pO1xuXG4gICAgICAgICAgbWV0YXRoZW9yZW1WZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobWV0YXRoZW9yZW1WZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bGFiZWxzU3RyaW5nfScgbWV0YXRoZW9yZW0uYCwgbWV0YXRoZW9yZW1Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhdGhlb3JlbVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGF0aGVvcmVtIiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiY29uc2VxdWVudE5vZGVRdWVyeSIsInN1cHBvc2l0aW9uc05vZGVRdWVyeSIsIm1ldGF0aGVvcmVtTm9kZSIsImZpbGVDb250ZXh0IiwibWV0YXRoZW9yZW1WZXJpZmllZCIsImxhYmVsTm9kZXMiLCJsYWJlbHNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwidHJhY2UiLCJsYWJlbHMiLCJsYWJlbHNWZXJpZmllZCIsInZlcmlmeUxhYmVscyIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInN1YnN0aXR1dGlvbnMiLCJzdXBwb3NpdGlvbnMiLCJzdXBwb3NpdGlvbk5vZGVzIiwic3VwcG9zaXRpb25zVmVyaWZpZWQiLCJ2ZXJpZnlTdXBwb3NpdGlvbnMiLCJjb25zZXF1ZW50cyIsImNvbnNlcXVlbnROb2RlIiwiY29uc2VxdWVudFZlcmlmaWVkIiwidmVyaWZ5Q29uc2VxdWVudCIsInByb29mTm9kZSIsImZpcnN0Q29uc2VxdWVudCIsImZpcnN0IiwiY29uc2VxdWVudCIsInN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwicHJvb2ZWZXJpZmllZCIsInZlcmlmeVByb29mIiwibWV0YXRoZW9yZW0iLCJNZXRhdGhlb3JlbSIsImZyb21MYWJlbHNTdXBwb3NpdGlvbnNDb25zZXF1ZW50U3Vic3RpdHV0aW9uc0FuZEZpbGVDb250ZXh0IiwiYWRkTWV0YXRoZW9yZW0iLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBd0JBOzs7NERBZkE7a0VBQ0E7NkRBQ0M7NERBQ0E7aUVBQ0k7bUVBQ0U7cUJBRVQ7cUJBQ2dCOzs7Ozs7QUFFdEMsSUFBTUMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLHVCQUM3QkMsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLHdCQUMzQkMsc0JBQXNCRCxJQUFBQSxnQkFBUyxFQUFDLDZCQUNoQ0Usd0JBQXdCSixJQUFBQSxpQkFBVSxFQUFDO0FBRTFCLFNBQVNGLGtCQUFrQk8sZUFBZSxFQUFFQyxXQUFXO0lBQ3BFLElBQUlDLHNCQUFzQjtJQUUxQixJQUFNQyxhQUFhVCxnQkFBZ0JNLGtCQUM3QkksZUFBZUgsWUFBWUksYUFBYSxDQUFDRjtJQUUvQ0YsWUFBWUssS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJGLGNBQWEscUJBQW1CSjtJQUVwRSxJQUFNTyxTQUFTLEVBQUUsRUFDWEMsaUJBQWlCQyxJQUFBQSxlQUFZLEVBQUNOLFlBQVlJLFFBQVFOO0lBRXhELElBQUlPLGdCQUFnQjtRQUNsQixJQUFNRSxlQUFlQyxjQUFZLENBQUNDLGVBQWUsQ0FBQ1gsY0FDNUNZLGdCQUFnQixFQUFFLEVBQ2xCQyxlQUFlLEVBQUUsRUFDakJDLG1CQUFtQmhCLHNCQUFzQkMsa0JBQ3pDZ0IsdUJBQXVCQyxJQUFBQSxxQkFBa0IsRUFBQ0Ysa0JBQWtCRCxjQUFjRCxlQUFlSDtRQUUvRixJQUFJTSxzQkFBc0I7WUFDeEIsSUFBTUUsY0FBYyxFQUFFLEVBQ2hCQyxpQkFBaUJyQixvQkFBb0JFLGtCQUNyQ29CLHFCQUFxQkMsSUFBQUEsbUJBQWdCLEVBQUNGLGdCQUFnQkQsYUFBYUwsZUFBZUg7WUFFeEYsSUFBSVUsb0JBQW9CO2dCQUN0QixJQUFNRSxZQUFZMUIsZUFBZUksa0JBQzNCdUIsa0JBQWtCQyxJQUFBQSxZQUFLLEVBQUNOLGNBQ3hCTyxhQUFhRixpQkFDYkcsZ0JBQWdCRCxXQUFXRSxnQkFBZ0IsSUFDM0NDLGdCQUFnQkMsSUFBQUEsY0FBVyxFQUFDUCxXQUFXSSxlQUFlYixlQUFlSDtnQkFFM0UsSUFBSWtCLGVBQWU7b0JBQ2pCLElBQU1FLGNBQWNDLG9CQUFXLENBQUNDLDJEQUEyRCxDQUFDekIsUUFBUU8sY0FBY1csWUFBWVosZUFBZVo7b0JBRTdJQSxZQUFZZ0MsY0FBYyxDQUFDSDtvQkFFM0I1QixzQkFBc0I7Z0JBQ3hCO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsSUFBSUEscUJBQXFCO1FBQ3ZCRCxZQUFZaUMsS0FBSyxDQUFDLEFBQUMsb0JBQWdDLE9BQWI5QixjQUFhLG1CQUFpQko7SUFDdEU7SUFFQSxPQUFPRTtBQUNUIn0=
|