occam-verify-cli 0.0.506 → 0.0.508
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/axiomLemmaTheorem.js +2 -2
- package/lib/conclusion.js +6 -161
- package/lib/consequence.js +4 -82
- package/lib/matcher/metastatementForMetavariable/conclusion.js +113 -0
- package/lib/matcher/metastatementForMetavariable/premise.js +113 -0
- package/lib/matcher/metastatementForMetavariable.js +201 -0
- package/lib/matcher/statementForMetavariable/conclusion.js +113 -0
- package/lib/matcher/statementForMetavariable/premise.js +113 -0
- package/lib/matcher/statementForMetavariable.js +201 -0
- package/lib/matcher/statementForVariable/consequence.js +113 -0
- package/lib/matcher/statementForVariable/supposition.js +113 -0
- package/lib/matcher/statementForVariable.js +201 -0
- package/lib/matcher.js +150 -0
- package/lib/premise.js +21 -190
- package/lib/rule.js +11 -11
- package/lib/ruleNames.js +5 -1
- package/lib/step/metaproof.js +5 -5
- package/lib/substitution/metastatementForMetavariable.js +86 -0
- package/lib/substitution/statementForMetavariable.js +86 -0
- package/lib/substitution/statementForVariable.js +86 -0
- package/lib/supposition.js +10 -97
- package/lib/utilities/substitution.js +61 -0
- package/lib/verify/metaproof.js +3 -3
- package/lib/verify/proof.js +3 -3
- package/lib/verify/ruleProof.js +3 -3
- package/package.json +1 -1
- package/src/axiomLemmaTheorem.js +1 -1
- package/src/conclusion.js +11 -282
- package/src/consequence.js +6 -144
- package/src/matcher/metastatementForMetavariable/conclusion.js +9 -0
- package/src/matcher/metastatementForMetavariable/premise.js +9 -0
- package/src/matcher/metastatementForMetavariable.js +99 -0
- package/src/matcher/statementForMetavariable/conclusion.js +9 -0
- package/src/matcher/statementForMetavariable/premise.js +9 -0
- package/src/matcher/statementForMetavariable.js +99 -0
- package/src/matcher/statementForVariable/consequence.js +9 -0
- package/src/matcher/statementForVariable/supposition.js +9 -0
- package/src/matcher/statementForVariable.js +99 -0
- package/src/matcher.js +76 -0
- package/src/premise.js +48 -336
- package/src/rule.js +12 -12
- package/src/ruleNames.js +1 -0
- package/src/step/metaproof.js +1 -1
- package/src/{metaSubstitution.js → substitution/metastatementForMetavariable.js} +9 -8
- package/src/{substitution.js → substitution/statementForMetavariable.js} +8 -7
- package/src/substitution/statementForVariable.js +64 -0
- package/src/supposition.js +26 -173
- package/src/utilities/{node.js → substitution.js} +4 -74
- package/src/verify/metaproof.js +2 -2
- package/src/verify/proof.js +2 -2
- package/src/verify/ruleProof.js +2 -2
- package/lib/metaSubstitution.js +0 -85
- package/lib/metaSupposition.js +0 -167
- package/lib/substitution.js +0 -85
- package/lib/utilities/node.js +0 -106
- package/lib/verify/metaSupposition.js +0 -41
- package/src/metaSupposition.js +0 -196
- package/src/verify/metaSupposition.js +0 -44
package/lib/metaSupposition.js
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return MetaSupposition;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _metaSubstitution = /*#__PURE__*/ _interopRequireDefault(require("./metaSubstitution"));
|
|
12
|
-
var _array = require("./utilities/array");
|
|
13
|
-
var _string = require("./utilities/string");
|
|
14
|
-
var _query = require("./utilities/query");
|
|
15
|
-
var _ruleNames = require("./ruleNames");
|
|
16
|
-
function _classCallCheck(instance, Constructor) {
|
|
17
|
-
if (!(instance instanceof Constructor)) {
|
|
18
|
-
throw new TypeError("Cannot call a class as a function");
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
function _defineProperties(target, props) {
|
|
22
|
-
for(var i = 0; i < props.length; i++){
|
|
23
|
-
var descriptor = props[i];
|
|
24
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
25
|
-
descriptor.configurable = true;
|
|
26
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
27
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
31
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
32
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
33
|
-
return Constructor;
|
|
34
|
-
}
|
|
35
|
-
function _interopRequireDefault(obj) {
|
|
36
|
-
return obj && obj.__esModule ? obj : {
|
|
37
|
-
default: obj
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
var MetaSupposition = /*#__PURE__*/ function() {
|
|
41
|
-
function MetaSupposition(metastatementNode) {
|
|
42
|
-
_classCallCheck(this, MetaSupposition);
|
|
43
|
-
this.metastatementNode = metastatementNode;
|
|
44
|
-
}
|
|
45
|
-
_createClass(MetaSupposition, [
|
|
46
|
-
{
|
|
47
|
-
key: "getMetastatementNode",
|
|
48
|
-
value: function getMetastatementNode() {
|
|
49
|
-
return this.metastatementNode;
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
key: "matchMetastatementNode",
|
|
54
|
-
value: function matchMetastatementNode(metastatementNode, metaSubstitutions) {
|
|
55
|
-
var nonTerminalNode = metastatementNode, metaSuppositionNonTerminalNode = this.metastatementNode, metaSuppositionNonTerminalNodeMatches = matchMetaSuppositionNonTerminalNode(metaSuppositionNonTerminalNode, nonTerminalNode, metaSubstitutions), metastatementNodeMatches = metaSuppositionNonTerminalNodeMatches; ///
|
|
56
|
-
return metastatementNodeMatches;
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
key: "toJSON",
|
|
61
|
-
value: function toJSON() {
|
|
62
|
-
var metastatementString = (0, _string.nodeAsString)(this.metastatementNode), metastatement = metastatementString, json = {
|
|
63
|
-
metastatement: metastatement
|
|
64
|
-
};
|
|
65
|
-
return json;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
], [
|
|
69
|
-
{
|
|
70
|
-
key: "fromJSON",
|
|
71
|
-
value: function fromJSON(json, releaseContext) {
|
|
72
|
-
var metastatement = json.metastatement, metastatementString = metastatement, metastatementNode = (0, _string.metastatementNodeFromMetastatementString)(metastatementString, releaseContext), metaSupposition = new MetaSupposition(metastatementNode);
|
|
73
|
-
return metaSupposition;
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
key: "fromMetastatementNode",
|
|
78
|
-
value: function fromMetastatementNode(metastatementNode) {
|
|
79
|
-
var metaSupposition = new MetaSupposition(metastatementNode);
|
|
80
|
-
return metaSupposition;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
]);
|
|
84
|
-
return MetaSupposition;
|
|
85
|
-
}();
|
|
86
|
-
function matchMetaSuppositionNode(metaSuppositionNode, node, metaSubstitutions) {
|
|
87
|
-
var metaSuppositionNodeMatches = false;
|
|
88
|
-
var nodeTerminalNode = node.isTerminalNode(), ruleNodeTerminalNode = metaSuppositionNode.isTerminalNode();
|
|
89
|
-
if (nodeTerminalNode === ruleNodeTerminalNode) {
|
|
90
|
-
if (nodeTerminalNode) {
|
|
91
|
-
var terminalNode = node, metaSuppositionTerminalNode = metaSuppositionNode, metaSuppositionTerminalNodeMatches = matchMetaSuppositionTerminalNode(metaSuppositionTerminalNode, terminalNode, metaSubstitutions);
|
|
92
|
-
metaSuppositionNodeMatches = metaSuppositionTerminalNodeMatches; ///
|
|
93
|
-
} else {
|
|
94
|
-
var nonTerminalNode = node, metaSuppositionNonTerminalNode = metaSuppositionNode, metaSuppositionNonTerminalNodeMatches = matchMetaSuppositionNonTerminalNode(metaSuppositionNonTerminalNode, nonTerminalNode, metaSubstitutions);
|
|
95
|
-
metaSuppositionNodeMatches = metaSuppositionNonTerminalNodeMatches; ///
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return metaSuppositionNodeMatches;
|
|
99
|
-
}
|
|
100
|
-
function matchMetaSuppositionNodes(metaSuppositionNodes, nodes, metaSubstitutions) {
|
|
101
|
-
var metaSuppositionNodesMatches = false;
|
|
102
|
-
var nodesLength = nodes.length, metaSuppositionNodesLength = metaSuppositionNodes.length;
|
|
103
|
-
if (nodesLength === metaSuppositionNodesLength) {
|
|
104
|
-
metaSuppositionNodesMatches = nodes.every(function(node, index) {
|
|
105
|
-
var metaSuppositionNode = metaSuppositionNodes[index], metaSuppositionNodeMatches = matchMetaSuppositionNode(metaSuppositionNode, node, metaSubstitutions);
|
|
106
|
-
if (metaSuppositionNodeMatches) {
|
|
107
|
-
return true;
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
return metaSuppositionNodesMatches;
|
|
112
|
-
}
|
|
113
|
-
function matchMetaSuppositionMetavariable(metaSuppositionMetavariableNode, nodes, metaSubstitutions) {
|
|
114
|
-
var metaSuppositionMetavariableMatches;
|
|
115
|
-
var metaSuppositionMetavariableName = (0, _query.metavariableNameFromMetavariableNode)(metaSuppositionMetavariableNode), metaSubstitution = metaSubstitutions.find(function(metaSubstitution) {
|
|
116
|
-
var metavariableName = metaSubstitution.getMetavariableName();
|
|
117
|
-
if (metavariableName === metaSuppositionMetavariableName) {
|
|
118
|
-
return true;
|
|
119
|
-
}
|
|
120
|
-
}) || null;
|
|
121
|
-
if (metaSubstitution !== null) {
|
|
122
|
-
var metaSubstitutionNodesMatch = metaSubstitution.matchNodes(nodes);
|
|
123
|
-
metaSuppositionMetavariableMatches = metaSubstitutionNodesMatch; ///
|
|
124
|
-
} else {
|
|
125
|
-
var metavariableName = metaSuppositionMetavariableName, metaSubstitution1 = _metaSubstitution.default.fromMetavariableNameAndNodes(metavariableName, nodes);
|
|
126
|
-
metaSubstitutions.push(metaSubstitution1);
|
|
127
|
-
metaSuppositionMetavariableMatches = true;
|
|
128
|
-
}
|
|
129
|
-
return metaSuppositionMetavariableMatches;
|
|
130
|
-
}
|
|
131
|
-
function matchMetaSuppositionTerminalNode(metaSuppositionTerminalNode, terminalNode, metaSubstitutions) {
|
|
132
|
-
var matches = metaSuppositionTerminalNode.match(terminalNode), metaSuppositionTerminalNodeMatches = matches;
|
|
133
|
-
return metaSuppositionTerminalNodeMatches;
|
|
134
|
-
}
|
|
135
|
-
function matchMetaSuppositionNonTerminalNode(metaSuppositionNonTerminalNode, nonTerminalNode, metaSubstitutions) {
|
|
136
|
-
var metaSuppositionNonTerminalNodeMatches = false;
|
|
137
|
-
var ruleName = nonTerminalNode.getRuleName(), metaSuppositionRuleName = metaSuppositionNonTerminalNode.getRuleName(); ///
|
|
138
|
-
if (ruleName === metaSuppositionRuleName) {
|
|
139
|
-
var childNodes = nonTerminalNode.getChildNodes(), metaSuppositionChildNodes = metaSuppositionNonTerminalNode.getChildNodes(), nodes = childNodes, metaSuppositionNodes = metaSuppositionChildNodes, metaSuppositionChildNodesMatches = matchMetaSuppositionNodes(metaSuppositionNodes, nodes, metaSubstitutions);
|
|
140
|
-
metaSuppositionNonTerminalNodeMatches = metaSuppositionChildNodesMatches; ///
|
|
141
|
-
if (!metaSuppositionNonTerminalNodeMatches) {
|
|
142
|
-
var ruleNameMetastatementRuleName = ruleName === _ruleNames.METASTATEMENT_RULE_NAME;
|
|
143
|
-
if (ruleNameMetastatementRuleName) {
|
|
144
|
-
var metastatementNode = nonTerminalNode, metaSuppositionMetastatementNode = metaSuppositionNonTerminalNode, metaSuppositionMetastatementNodeMatches = matchMetaSuppositionMetastatementNode(metaSuppositionMetastatementNode, metastatementNode, metaSubstitutions);
|
|
145
|
-
metaSuppositionNonTerminalNodeMatches = metaSuppositionMetastatementNodeMatches; ///
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
return metaSuppositionNonTerminalNodeMatches;
|
|
150
|
-
}
|
|
151
|
-
function matchMetaSuppositionMetastatementNode(metaSuppositionMetastatementNode, metastatementNode, metaSubstitutions) {
|
|
152
|
-
var metaSuppositionMetastatementNodeMatches = false;
|
|
153
|
-
var metaSuppositionNonTerminalNode = metaSuppositionMetastatementNode, metaSuppositionChildNodes = metaSuppositionNonTerminalNode.getChildNodes(), metaSuppositionChildNodesLength = metaSuppositionChildNodes.length;
|
|
154
|
-
if (metaSuppositionChildNodesLength === 1) {
|
|
155
|
-
var firstMetaSuppositionChildNode = (0, _array.first)(metaSuppositionChildNodes), metaSuppositionChildNode = firstMetaSuppositionChildNode, metaSuppositionChildNodeNonTerminalNode = metaSuppositionChildNode.isNonTerminalNode();
|
|
156
|
-
if (metaSuppositionChildNodeNonTerminalNode) {
|
|
157
|
-
var metaSuppositionNonTerminalChildNode = metaSuppositionChildNode, metaSuppositionNonTerminalChildNodeRuleName = metaSuppositionNonTerminalChildNode.getRuleName(), metaSuppositionNonTerminalChildNodeRuleNameMetavariableRuleName = metaSuppositionNonTerminalChildNodeRuleName === _ruleNames.METAVARIABLE_RULE_NAME;
|
|
158
|
-
if (metaSuppositionNonTerminalChildNodeRuleNameMetavariableRuleName) {
|
|
159
|
-
var metaSuppositionMetavariableNode = metaSuppositionNonTerminalChildNode, nonTerminalNode = metastatementNode, childNodes = nonTerminalNode.getChildNodes(), nodes = childNodes, metaSuppositionMetavariableMatches = matchMetaSuppositionMetavariable(metaSuppositionMetavariableNode, nodes, metaSubstitutions);
|
|
160
|
-
metaSuppositionMetastatementNodeMatches = metaSuppositionMetavariableMatches; ///
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
return metaSuppositionMetastatementNodeMatches;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhU3VwcG9zaXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhU3Vic3RpdHV0aW9uIGZyb20gXCIuL21ldGFTdWJzdGl0dXRpb25cIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsIE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGFTdXBwb3NpdGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0TWV0YXN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0YXN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgbWV0YVN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlID0gdGhpcy5tZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG1ldGFTdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFTdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZShtZXRhU3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG1ldGFTdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMubWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnQgPSBtZXRhc3RhdGVtZW50U3RyaW5nLCAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbWV0YXN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgbWV0YXN0YXRlbWVudCB9ID0ganNvbixcbiAgICAgICAgICBtZXRhc3RhdGVtZW50U3RyaW5nID0gbWV0YXN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyhtZXRhc3RhdGVtZW50U3RyaW5nLCByZWxlYXNlQ29udGV4dCksXG4gICAgICAgICAgbWV0YVN1cHBvc2l0aW9uID0gbmV3IE1ldGFTdXBwb3NpdGlvbihtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gbWV0YVN1cHBvc2l0aW9uO1xuICB9XG5cbiAgc3RhdGljIGZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IG1ldGFTdXBwb3NpdGlvbiA9IG5ldyBNZXRhU3VwcG9zaXRpb24obWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIG1ldGFTdXBwb3NpdGlvbjtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXRjaE1ldGFTdXBwb3NpdGlvbk5vZGUobWV0YVN1cHBvc2l0aW9uTm9kZSwgbm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IG1ldGFTdXBwb3NpdGlvbk5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgcnVsZU5vZGVUZXJtaW5hbE5vZGUgPSBtZXRhU3VwcG9zaXRpb25Ob2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IHJ1bGVOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFTdXBwb3NpdGlvblRlcm1pbmFsTm9kZSA9IG1ldGFTdXBwb3NpdGlvbk5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFTdXBwb3NpdGlvblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFTdXBwb3NpdGlvblRlcm1pbmFsTm9kZShtZXRhU3VwcG9zaXRpb25UZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBtZXRhU3VwcG9zaXRpb25Ob2RlTWF0Y2hlcyA9IG1ldGFTdXBwb3NpdGlvblRlcm1pbmFsTm9kZU1hdGNoZXM7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9kZSwgLy8vXG4gICAgICAgICAgICBtZXRhU3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGUgPSBtZXRhU3VwcG9zaXRpb25Ob2RlLCAgLy8vXG4gICAgICAgICAgICBtZXRhU3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hNZXRhU3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGUobWV0YVN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgbWV0YVN1cHBvc2l0aW9uTm9kZU1hdGNoZXMgPSBtZXRhU3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YVN1cHBvc2l0aW9uTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVN1cHBvc2l0aW9uTm9kZXMobWV0YVN1cHBvc2l0aW9uTm9kZXMsIG5vZGVzLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgbWV0YVN1cHBvc2l0aW9uTm9kZXNNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIG1ldGFTdXBwb3NpdGlvbk5vZGVzTGVuZ3RoID0gbWV0YVN1cHBvc2l0aW9uTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChub2Rlc0xlbmd0aCA9PT0gbWV0YVN1cHBvc2l0aW9uTm9kZXNMZW5ndGgpIHtcbiAgICBtZXRhU3VwcG9zaXRpb25Ob2Rlc01hdGNoZXMgPSBub2Rlcy5ldmVyeSgobm9kZSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IG1ldGFTdXBwb3NpdGlvbk5vZGUgPSBtZXRhU3VwcG9zaXRpb25Ob2Rlc1tpbmRleF0sXG4gICAgICAgICAgICBtZXRhU3VwcG9zaXRpb25Ob2RlTWF0Y2hlcyA9IG1hdGNoTWV0YVN1cHBvc2l0aW9uTm9kZShtZXRhU3VwcG9zaXRpb25Ob2RlLCBub2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGlmIChtZXRhU3VwcG9zaXRpb25Ob2RlTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBtZXRhU3VwcG9zaXRpb25Ob2Rlc01hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVN1cHBvc2l0aW9uTWV0YXZhcmlhYmxlKG1ldGFTdXBwb3NpdGlvbk1ldGF2YXJpYWJsZU5vZGUsIG5vZGVzLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgbWV0YVN1cHBvc2l0aW9uTWV0YXZhcmlhYmxlTWF0Y2hlcztcblxuICBjb25zdCBtZXRhU3VwcG9zaXRpb25NZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGFTdXBwb3NpdGlvbk1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICBtZXRhU3Vic3RpdHV0aW9uID0gbWV0YVN1YnN0aXR1dGlvbnMuZmluZCgobWV0YVN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhU3Vic3RpdHV0aW9uLmdldE1ldGF2YXJpYWJsZU5hbWUoKTtcblxuICAgICAgICAgIGlmIChtZXRhdmFyaWFibGVOYW1lID09PSBtZXRhU3VwcG9zaXRpb25NZXRhdmFyaWFibGVOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pIHx8IG51bGw7XG5cbiAgaWYgKG1ldGFTdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhU3Vic3RpdHV0aW9uTm9kZXNNYXRjaCA9IG1ldGFTdWJzdGl0dXRpb24ubWF0Y2hOb2Rlcyhub2Rlcyk7XG5cbiAgICBtZXRhU3VwcG9zaXRpb25NZXRhdmFyaWFibGVNYXRjaGVzID0gbWV0YVN1YnN0aXR1dGlvbk5vZGVzTWF0Y2g7ICAvLy9cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YVN1cHBvc2l0aW9uTWV0YXZhcmlhYmxlTmFtZSwgLy8vXG4gICAgICAgICAgbWV0YVN1YnN0aXR1dGlvbiA9IE1ldGFTdWJzdGl0dXRpb24uZnJvbU1ldGF2YXJpYWJsZU5hbWVBbmROb2RlcyhtZXRhdmFyaWFibGVOYW1lLCBub2Rlcyk7XG5cbiAgICBtZXRhU3Vic3RpdHV0aW9ucy5wdXNoKG1ldGFTdWJzdGl0dXRpb24pO1xuXG4gICAgbWV0YVN1cHBvc2l0aW9uTWV0YXZhcmlhYmxlTWF0Y2hlcyA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gbWV0YVN1cHBvc2l0aW9uTWV0YXZhcmlhYmxlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhU3VwcG9zaXRpb25UZXJtaW5hbE5vZGUobWV0YVN1cHBvc2l0aW9uVGVybWluYWxOb2RlLCB0ZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBtZXRhU3VwcG9zaXRpb25UZXJtaW5hbE5vZGUubWF0Y2godGVybWluYWxOb2RlKSxcbiAgICAgICAgbWV0YVN1cHBvc2l0aW9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoZXM7XG5cbiAgcmV0dXJuIG1ldGFTdXBwb3NpdGlvblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlKG1ldGFTdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgbWV0YVN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgIG1ldGFTdXBwb3NpdGlvblJ1bGVOYW1lID0gbWV0YVN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCk7IC8vL1xuXG4gIGlmIChydWxlTmFtZSA9PT0gbWV0YVN1cHBvc2l0aW9uUnVsZU5hbWUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBtZXRhU3VwcG9zaXRpb25DaGlsZE5vZGVzID0gbWV0YVN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIG1ldGFTdXBwb3NpdGlvbk5vZGVzID0gbWV0YVN1cHBvc2l0aW9uQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgbWV0YVN1cHBvc2l0aW9uQ2hpbGROb2Rlc01hdGNoZXMgPSBtYXRjaE1ldGFTdXBwb3NpdGlvbk5vZGVzKG1ldGFTdXBwb3NpdGlvbk5vZGVzLCBub2RlcywgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgbWV0YVN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1ldGFTdXBwb3NpdGlvbkNoaWxkTm9kZXNNYXRjaGVzOyAvLy9cblxuICAgIGlmICghbWV0YVN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcykge1xuICAgICAgY29uc3QgcnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUgPSAocnVsZU5hbWUgPT09IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FKTtcblxuICAgICAgaWYgKHJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgIG1ldGFTdXBwb3NpdGlvbk1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YVN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgIG1ldGFTdXBwb3NpdGlvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG1hdGNoTWV0YVN1cHBvc2l0aW9uTWV0YXN0YXRlbWVudE5vZGUobWV0YVN1cHBvc2l0aW9uTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgbWV0YVN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1ldGFTdXBwb3NpdGlvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlczsgLy8vXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFTdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVN1cHBvc2l0aW9uTWV0YXN0YXRlbWVudE5vZGUobWV0YVN1cHBvc2l0aW9uTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgbWV0YVN1cHBvc2l0aW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YVN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlID0gbWV0YVN1cHBvc2l0aW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgbWV0YVN1cHBvc2l0aW9uQ2hpbGROb2RlcyA9IG1ldGFTdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIG1ldGFTdXBwb3NpdGlvbkNoaWxkTm9kZXNMZW5ndGggPSBtZXRhU3VwcG9zaXRpb25DaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAobWV0YVN1cHBvc2l0aW9uQ2hpbGROb2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGZpcnN0TWV0YVN1cHBvc2l0aW9uQ2hpbGROb2RlID0gZmlyc3QobWV0YVN1cHBvc2l0aW9uQ2hpbGROb2RlcyksXG4gICAgICAgICAgbWV0YVN1cHBvc2l0aW9uQ2hpbGROb2RlID0gZmlyc3RNZXRhU3VwcG9zaXRpb25DaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICBtZXRhU3VwcG9zaXRpb25DaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBtZXRhU3VwcG9zaXRpb25DaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChtZXRhU3VwcG9zaXRpb25DaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG1ldGFTdXBwb3NpdGlvbk5vblRlcm1pbmFsQ2hpbGROb2RlID0gbWV0YVN1cHBvc2l0aW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBtZXRhU3VwcG9zaXRpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lID0gbWV0YVN1cHBvc2l0aW9uTm9uVGVybWluYWxDaGlsZE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIG1ldGFTdXBwb3NpdGlvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSA9IChtZXRhU3VwcG9zaXRpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lID09PSBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FKTtcblxuICAgICAgaWYgKG1ldGFTdXBwb3NpdGlvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBtZXRhU3VwcG9zaXRpb25NZXRhdmFyaWFibGVOb2RlID0gbWV0YVN1cHBvc2l0aW9uTm9uVGVybWluYWxDaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlID0gbWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICAgIG1ldGFTdXBwb3NpdGlvbk1ldGF2YXJpYWJsZU1hdGNoZXMgPSBtYXRjaE1ldGFTdXBwb3NpdGlvbk1ldGF2YXJpYWJsZShtZXRhU3VwcG9zaXRpb25NZXRhdmFyaWFibGVOb2RlLCBub2RlcywgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgIG1ldGFTdXBwb3NpdGlvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG1ldGFTdXBwb3NpdGlvbk1ldGF2YXJpYWJsZU1hdGNoZXM7IC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhU3VwcG9zaXRpb25NZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG59XG4iXSwibmFtZXMiOlsiTWV0YVN1cHBvc2l0aW9uIiwibWV0YXN0YXRlbWVudE5vZGUiLCJnZXRNZXRhc3RhdGVtZW50Tm9kZSIsIm1hdGNoTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhU3Vic3RpdHV0aW9ucyIsIm5vblRlcm1pbmFsTm9kZSIsIm1ldGFTdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZSIsIm1ldGFTdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMiLCJtYXRjaE1ldGFTdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsInRvSlNPTiIsIm1ldGFzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJtZXRhc3RhdGVtZW50IiwianNvbiIsImZyb21KU09OIiwicmVsZWFzZUNvbnRleHQiLCJtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nIiwibWV0YVN1cHBvc2l0aW9uIiwiZnJvbU1ldGFzdGF0ZW1lbnROb2RlIiwibWF0Y2hNZXRhU3VwcG9zaXRpb25Ob2RlIiwibWV0YVN1cHBvc2l0aW9uTm9kZSIsIm5vZGUiLCJtZXRhU3VwcG9zaXRpb25Ob2RlTWF0Y2hlcyIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInJ1bGVOb2RlVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwibWV0YVN1cHBvc2l0aW9uVGVybWluYWxOb2RlIiwibWV0YVN1cHBvc2l0aW9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YVN1cHBvc2l0aW9uVGVybWluYWxOb2RlIiwibWF0Y2hNZXRhU3VwcG9zaXRpb25Ob2RlcyIsIm1ldGFTdXBwb3NpdGlvbk5vZGVzIiwibm9kZXMiLCJtZXRhU3VwcG9zaXRpb25Ob2Rlc01hdGNoZXMiLCJub2Rlc0xlbmd0aCIsImxlbmd0aCIsIm1ldGFTdXBwb3NpdGlvbk5vZGVzTGVuZ3RoIiwiZXZlcnkiLCJpbmRleCIsIm1hdGNoTWV0YVN1cHBvc2l0aW9uTWV0YXZhcmlhYmxlIiwibWV0YVN1cHBvc2l0aW9uTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFTdXBwb3NpdGlvbk1ldGF2YXJpYWJsZU1hdGNoZXMiLCJtZXRhU3VwcG9zaXRpb25NZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwibWV0YVN1YnN0aXR1dGlvbiIsImZpbmQiLCJtZXRhdmFyaWFibGVOYW1lIiwiZ2V0TWV0YXZhcmlhYmxlTmFtZSIsIm1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoIiwibWF0Y2hOb2RlcyIsIk1ldGFTdWJzdGl0dXRpb24iLCJmcm9tTWV0YXZhcmlhYmxlTmFtZUFuZE5vZGVzIiwicHVzaCIsIm1hdGNoZXMiLCJtYXRjaCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJtZXRhU3VwcG9zaXRpb25SdWxlTmFtZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwibWV0YVN1cHBvc2l0aW9uQ2hpbGROb2RlcyIsIm1ldGFTdXBwb3NpdGlvbkNoaWxkTm9kZXNNYXRjaGVzIiwicnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsIm1ldGFTdXBwb3NpdGlvbk1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YVN1cHBvc2l0aW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhU3VwcG9zaXRpb25NZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFTdXBwb3NpdGlvbkNoaWxkTm9kZXNMZW5ndGgiLCJmaXJzdE1ldGFTdXBwb3NpdGlvbkNoaWxkTm9kZSIsImZpcnN0IiwibWV0YVN1cHBvc2l0aW9uQ2hpbGROb2RlIiwibWV0YVN1cHBvc2l0aW9uQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJtZXRhU3VwcG9zaXRpb25Ob25UZXJtaW5hbENoaWxkTm9kZSIsIm1ldGFTdXBwb3NpdGlvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUiLCJtZXRhU3VwcG9zaXRpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lTWV0YXZhcmlhYmxlUnVsZU5hbWUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7OztxRUFSUTtxQkFFUDtzQkFDTztxQkFDd0I7eUJBRVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFakQsSUFBQSxBQUFNQSxnQ0E0Q2xCLEFBNUNZO2FBQU1BLGdCQUNQQyxpQkFBaUI7OEJBRFZEO1FBRWpCLElBQUksQ0FBQ0MsaUJBQWlCLEdBQUdBOztpQkFGUkQ7O1lBS25CRSxLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCO2dCQUNyQixPQUFPLElBQUksQ0FBQ0QsaUJBQWlCO1lBQy9COzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QkYsaUJBQWlCLEVBQUVHLGlCQUFpQixFQUFFO2dCQUMzRCxJQUFNQyxrQkFBa0JKLG1CQUNsQkssaUNBQWlDLElBQUksQ0FBQ0wsaUJBQWlCLEVBQ3ZETSx3Q0FBd0NDLG9DQUFvQ0YsZ0NBQWdDRCxpQkFBaUJELG9CQUM3SEssMkJBQTJCRix1Q0FBdUMsR0FBRztnQkFFM0UsT0FBT0U7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU1DLHNCQUFzQkMsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUNYLGlCQUFpQixHQUN6RFksZ0JBQWdCRixxQkFDaEJHLE9BQU87b0JBQ0xELGVBQUFBO2dCQUNGO2dCQUVOLE9BQU9DO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxF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
|
package/lib/substitution.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return Substitution;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _ruleNames = require("./ruleNames");
|
|
12
|
-
var _node = require("./utilities/node");
|
|
13
|
-
function _classCallCheck(instance, Constructor) {
|
|
14
|
-
if (!(instance instanceof Constructor)) {
|
|
15
|
-
throw new TypeError("Cannot call a class as a function");
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
function _defineProperties(target, props) {
|
|
19
|
-
for(var i = 0; i < props.length; i++){
|
|
20
|
-
var descriptor = props[i];
|
|
21
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
22
|
-
descriptor.configurable = true;
|
|
23
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
24
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
28
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
29
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
-
return Constructor;
|
|
31
|
-
}
|
|
32
|
-
var Substitution = /*#__PURE__*/ function() {
|
|
33
|
-
function Substitution(metavariableName, statementNode) {
|
|
34
|
-
_classCallCheck(this, Substitution);
|
|
35
|
-
this.metavariableName = metavariableName;
|
|
36
|
-
this.statementNode = statementNode;
|
|
37
|
-
}
|
|
38
|
-
_createClass(Substitution, [
|
|
39
|
-
{
|
|
40
|
-
key: "getMetavariableName",
|
|
41
|
-
value: function getMetavariableName() {
|
|
42
|
-
return this.metavariableName;
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
key: "getStatementNode",
|
|
47
|
-
value: function getStatementNode() {
|
|
48
|
-
return this.statementNode;
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
key: "matchStatementNode",
|
|
53
|
-
value: function matchStatementNode(statementNode) {
|
|
54
|
-
var matchesStatementNode;
|
|
55
|
-
var nodeA = this.statementNode, nodeB = statementNode, nodeMatches = (0, _node.matchNode)(nodeA, nodeB);
|
|
56
|
-
matchesStatementNode = nodeMatches; ///
|
|
57
|
-
if (!matchesStatementNode) {
|
|
58
|
-
var nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), ruleName = _ruleNames.STATEMENT_RULE_NAME;
|
|
59
|
-
statementNode = (0, _node.bracketedNonTerminalChildNodeFromChildNodes)(childNodes, ruleName); ///
|
|
60
|
-
if (statementNode !== null) {
|
|
61
|
-
var nodeA1 = this.statementNode, nodeB1 = statementNode, nodeMatches1 = (0, _node.matchNode)(nodeA1, nodeB1);
|
|
62
|
-
matchesStatementNode = nodeMatches1; ///
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return matchesStatementNode;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
], [
|
|
69
|
-
{
|
|
70
|
-
key: "fromMetavariableNameAndStatementNode",
|
|
71
|
-
value: function fromMetavariableNameAndStatementNode(metavariableName, statementNode) {
|
|
72
|
-
var substitution = new Substitution(metavariableName, statementNode);
|
|
73
|
-
var nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), ruleName = _ruleNames.STATEMENT_RULE_NAME;
|
|
74
|
-
statementNode = (0, _node.bracketedNonTerminalChildNodeFromChildNodes)(childNodes, ruleName); ///
|
|
75
|
-
if (statementNode !== null) {
|
|
76
|
-
substitution = new Substitution(metavariableName, statementNode);
|
|
77
|
-
}
|
|
78
|
-
return substitution;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
]);
|
|
82
|
-
return Substitution;
|
|
83
|
-
}();
|
|
84
|
-
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdWJzdGl0dXRpb24uanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IG1hdGNoTm9kZSwgYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVGcm9tQ2hpbGROb2RlcyB9IGZyb20gXCIuL3V0aWxpdGllcy9ub2RlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1YnN0aXR1dGlvbiB7XG4gIGNvbnN0cnVjdG9yKG1ldGF2YXJpYWJsZU5hbWUsIHN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLm1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhdmFyaWFibGVOYW1lO1xuICAgIHRoaXMuc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRNZXRhdmFyaWFibGVOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGF2YXJpYWJsZU5hbWU7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBtYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSkge1xuICAgIGxldCBtYXRjaGVzU3RhdGVtZW50Tm9kZTtcblxuICAgIGNvbnN0IG5vZGVBID0gdGhpcy5zdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgbm9kZUIgPSBzdGF0ZW1lbnROb2RlLFxuICAgICAgICAgIG5vZGVNYXRjaGVzID0gbWF0Y2hOb2RlKG5vZGVBLCBub2RlQik7XG5cbiAgICBtYXRjaGVzU3RhdGVtZW50Tm9kZSA9IG5vZGVNYXRjaGVzOyAgLy8vXG5cbiAgICBpZiAoIW1hdGNoZXNTdGF0ZW1lbnROb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSwgLy8vXG4gICAgICAgICAgICBydWxlTmFtZSA9IFNUQVRFTUVOVF9SVUxFX05BTUU7XG5cbiAgICAgIHN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIHJ1bGVOYW1lKTsgIC8vL1xuXG4gICAgICBpZiAoc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBub2RlQSA9IHRoaXMuc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICBub2RlQiA9IHN0YXRlbWVudE5vZGUsXG4gICAgICAgICAgICAgIG5vZGVNYXRjaGVzID0gbWF0Y2hOb2RlKG5vZGVBLCBub2RlQik7XG5cbiAgICAgICAgbWF0Y2hlc1N0YXRlbWVudE5vZGUgPSBub2RlTWF0Y2hlczsgIC8vL1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtYXRjaGVzU3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXZhcmlhYmxlTmFtZUFuZFN0YXRlbWVudE5vZGUobWV0YXZhcmlhYmxlTmFtZSwgc3RhdGVtZW50Tm9kZSkge1xuICAgIGxldCBzdWJzdGl0dXRpb24gPSBuZXcgU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5hbWUsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIHJ1bGVOYW1lID0gU1RBVEVNRU5UX1JVTEVfTkFNRTtcblxuICAgIHN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIHJ1bGVOYW1lKTsgIC8vL1xuXG4gICAgaWYgKHN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIHN1YnN0aXR1dGlvbiA9IG5ldyBTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTmFtZSwgc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnN0aXR1dGlvbjtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJTdWJzdGl0dXRpb24iLCJtZXRhdmFyaWFibGVOYW1lIiwic3RhdGVtZW50Tm9kZSIsImdldE1ldGF2YXJpYWJsZU5hbWUiLCJnZXRTdGF0ZW1lbnROb2RlIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwibWF0Y2hlc1N0YXRlbWVudE5vZGUiLCJub2RlQSIsIm5vZGVCIiwibm9kZU1hdGNoZXMiLCJtYXRjaE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsInJ1bGVOYW1lIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsImJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlRnJvbUNoaWxkTm9kZXMiLCJmcm9tTWV0YXZhcmlhYmxlTmFtZUFuZFN0YXRlbWVudE5vZGUiLCJzdWJzdGl0dXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBS3FCQTs7O3lCQUhlO29CQUNtQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFeEQsSUFBQSxBQUFNQSw2QkFBTjthQUFNQSxhQUNQQyxnQkFBZ0IsRUFBRUMsYUFBYTs4QkFEeEJGO1FBRWpCLElBQUksQ0FBQ0MsZ0JBQWdCLEdBQUdBO1FBQ3hCLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTs7aUJBSEpGOztZQU1uQkcsS0FBQUE7bUJBQUFBLFNBQUFBLHNCQUFzQjtnQkFDcEIsT0FBTyxJQUFJLENBQUNGLGdCQUFnQjtZQUM5Qjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUI7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDRixhQUFhO1lBQzNCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkgsYUFBYSxFQUFFO2dCQUNoQyxJQUFJSTtnQkFFSixJQUFNQyxRQUFRLElBQUksQ0FBQ0wsYUFBYSxFQUMxQk0sUUFBUU4sZUFDUk8sY0FBY0MsSUFBQUEsZUFBUyxFQUFDSCxPQUFPQztnQkFFckNGLHVCQUF1QkcsYUFBYyxHQUFHO2dCQUV4QyxJQUFJLENBQUNILHNCQUFzQjtvQkFDekIsSUFBTUssa0JBQWtCVCxlQUNsQlUsYUFBYUQsZ0JBQWdCRSxhQUFhLElBQzFDQyxXQUFXQyw4QkFBbUI7b0JBRXBDYixnQkFBZ0JjLElBQUFBLGlEQUEyQyxFQUFDSixZQUFZRSxXQUFZLEdBQUc7b0JBRXZGLElBQUlaLGtCQUFrQixJQUFJLEVBQUU7d0JBQzFCLElBQU1LLFNBQVEsSUFBSSxDQUFDTCxhQUFhLEVBQzFCTSxTQUFRTixlQUNSTyxlQUFjQyxJQUFBQSxlQUFTLEVBQUNILFFBQU9DO3dCQUVyQ0YsdUJBQXVCRyxjQUFjLEdBQUc7b0JBQzFDLENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxPQUFPSDtZQUNUOzs7O1lBRU9XLEtBQUFBO21CQUFQLFNBQU9BLHFDQUFxQ2hCLGdCQUFnQixFQUFFQyxhQUFhLEVBQUU7Z0JBQzNFLElBQUlnQixlQUFlLElBM0NGbEIsYUEyQ21CQyxrQkFBa0JDO2dCQUV0RCxJQUFNUyxrQkFBa0JULGVBQ2xCVSxhQUFhRCxnQkFBZ0JFLGFBQWEsSUFDMUNDLFdBQVdDLDhCQUFtQjtnQkFFcENiLGdCQUFnQmMsSUFBQUEsaURBQTJDLEVBQUNKLFlBQVlFLFdBQVksR0FBRztnQkFFdkYsSUFBSVosa0JBQWtCLElBQUksRUFBRTtvQkFDMUJnQixlQUFlLElBcERBbEIsYUFvRGlCQyxrQkFBa0JDO2dCQUNwRCxDQUFDO2dCQUVELE9BQU9nQjtZQUNUOzs7V0F4RG1CbEIifQ==
|
package/lib/utilities/node.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
matchNode: function() {
|
|
13
|
-
return matchNode;
|
|
14
|
-
},
|
|
15
|
-
matchNodes: function() {
|
|
16
|
-
return matchNodes;
|
|
17
|
-
},
|
|
18
|
-
matchBracketedNonTerminalNode: function() {
|
|
19
|
-
return matchBracketedNonTerminalNode;
|
|
20
|
-
},
|
|
21
|
-
bracketedNonTerminalChildNodeFromChildNodes: function() {
|
|
22
|
-
return bracketedNonTerminalChildNodeFromChildNodes;
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
var _array = require("./array");
|
|
26
|
-
var _ruleNames = require("../ruleNames");
|
|
27
|
-
var _constants = require("../constants");
|
|
28
|
-
function matchNode(nodeA, nodeB) {
|
|
29
|
-
var nodeMatches = false;
|
|
30
|
-
var nodeATerminalNode = nodeA.isTerminalNode(), nodeBTerminalNode = nodeB.isTerminalNode();
|
|
31
|
-
if (nodeATerminalNode === nodeBTerminalNode) {
|
|
32
|
-
if (nodeATerminalNode) {
|
|
33
|
-
var terminalNodeA = nodeA, terminalNodeB = nodeB, terminalNodeMatches = matchTerminalNode(terminalNodeA, terminalNodeB);
|
|
34
|
-
nodeMatches = terminalNodeMatches; ///
|
|
35
|
-
} else {
|
|
36
|
-
var nonTerminalNodeA = nodeA, nonTerminalNodeB = nodeB, nonTerminalNodeMatches = matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB);
|
|
37
|
-
nodeMatches = nonTerminalNodeMatches; ///
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return nodeMatches;
|
|
41
|
-
}
|
|
42
|
-
function matchNodes(nodesA, nodesB) {
|
|
43
|
-
var nodesMatch = false;
|
|
44
|
-
var nodesALength = nodesA.length, nodesBLength = nodesB.length;
|
|
45
|
-
if (nodesALength === nodesBLength) {
|
|
46
|
-
nodesMatch = nodesA.every(function(nodeA, index) {
|
|
47
|
-
var nodeB = nodesB[index], nodeMatches = matchNode(nodeA, nodeB);
|
|
48
|
-
if (nodeMatches) {
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
return nodesMatch;
|
|
54
|
-
}
|
|
55
|
-
function matchBracketedNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB) {
|
|
56
|
-
var bracketedNodeMatches = false;
|
|
57
|
-
if (!bracketedNodeMatches) {
|
|
58
|
-
var nonTerminalNodeMatches = matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB);
|
|
59
|
-
bracketedNodeMatches = nonTerminalNodeMatches; ///
|
|
60
|
-
}
|
|
61
|
-
if (!bracketedNodeMatches) {
|
|
62
|
-
var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, bracketedNonTerminalChildNodeA = bracketedNonTerminalChildNodeFromChildNodes(childNodesA);
|
|
63
|
-
if (bracketedNonTerminalChildNodeA !== null) {
|
|
64
|
-
var nodeA = bracketedNonTerminalChildNodeA, nodeB = nonTerminalNodeB, nodeMatches = matchNode(nodeA, nodeB);
|
|
65
|
-
bracketedNodeMatches = nodeMatches; ///
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
if (!bracketedNodeMatches) {
|
|
69
|
-
var nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesB = nonTerminalNodeBChildNodes, bracketedNonTerminalChildNodeB = bracketedNonTerminalChildNodeFromChildNodes(childNodesB);
|
|
70
|
-
if (bracketedNonTerminalChildNodeB !== null) {
|
|
71
|
-
var nodeB1 = bracketedNonTerminalChildNodeB, nodeA1 = nonTerminalNodeA, nodeMatches1 = matchNode(nodeA1, nodeB1);
|
|
72
|
-
bracketedNodeMatches = nodeMatches1; ///
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return bracketedNodeMatches;
|
|
76
|
-
}
|
|
77
|
-
function bracketedNonTerminalChildNodeFromChildNodes(childNodes) {
|
|
78
|
-
var ruleName = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : _ruleNames.METASTATEMENT_RULE_NAME;
|
|
79
|
-
var bracketedNonTerminalChildNode = null;
|
|
80
|
-
var childNodesLength = childNodes.length;
|
|
81
|
-
if (childNodesLength === _constants.BRACKETED_CHILD_NODES_LENGTH) {
|
|
82
|
-
var firstChildNode = (0, _array.first)(childNodes), thirdChildNode = (0, _array.third)(childNodes), secondChildNode = (0, _array.second)(childNodes), firstChildNodeTerminalNode = firstChildNode.isTerminalNode(), thirdChildNodeTerminalNode = thirdChildNode.isTerminalNode(), secondChildNodeNonTerminalNode = secondChildNode.isNonTerminalNode();
|
|
83
|
-
if (firstChildNodeTerminalNode && secondChildNodeNonTerminalNode && thirdChildNodeTerminalNode) {
|
|
84
|
-
var nonTerminalNode = secondChildNode, firstTerminalNode = firstChildNode, secondTerminalNode = thirdChildNode, nonTerminalNodeRuleName = nonTerminalNode.getRuleName(), firstTerminalNodeContent = firstTerminalNode.getContent(), secondTerminalNodeContent = secondTerminalNode.getContent(), nonTerminalNodeRuleNameRuleName = nonTerminalNodeRuleName === ruleName, firstTerminalNodeContentLeftBracket = firstTerminalNodeContent === _constants.LEFT_BRACKET, secondTerminalNodeContentRightBracket = secondTerminalNodeContent === _constants.RIGHT_BRACKET;
|
|
85
|
-
if (nonTerminalNodeRuleNameRuleName && firstTerminalNodeContentLeftBracket && secondTerminalNodeContentRightBracket) {
|
|
86
|
-
bracketedNonTerminalChildNode = nonTerminalNode; ///
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return bracketedNonTerminalChildNode;
|
|
91
|
-
}
|
|
92
|
-
function matchTerminalNode(terminalNodeA, terminalNodeB) {
|
|
93
|
-
var matches = terminalNodeA.match(terminalNodeB), terminalNodeMatches = matches; ///
|
|
94
|
-
return terminalNodeMatches;
|
|
95
|
-
}
|
|
96
|
-
function matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB) {
|
|
97
|
-
var nonTerminalNodeMatches = false;
|
|
98
|
-
var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(); ///
|
|
99
|
-
if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
|
|
100
|
-
var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), nodesA = nonTerminalNodeAChildNodes, nodesB = nonTerminalNodeBChildNodes, nodesMatch = matchNodes(nodesA, nodesB);
|
|
101
|
-
nonTerminalNodeMatches = nodesMatch; ///
|
|
102
|
-
}
|
|
103
|
-
return nonTerminalNodeMatches;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QsIHNlY29uZCwgdGhpcmQgfSBmcm9tIFwiLi9hcnJheVwiO1xuaW1wb3J0IHsgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyBCUkFDS0VURURfQ0hJTERfTk9ERVNfTEVOR1RILCBMRUZUX0JSQUNLRVQsIFJJR0hUX0JSQUNLRVQgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaE5vZGUobm9kZUEsIG5vZGVCKSB7XG4gIGxldCBub2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVBVGVybWluYWxOb2RlID0gbm9kZUEuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgbm9kZUJUZXJtaW5hbE5vZGUgPSBub2RlQi5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlQVRlcm1pbmFsTm9kZSA9PT0gbm9kZUJUZXJtaW5hbE5vZGUpIHtcbiAgICBpZiAobm9kZUFUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgdGVybWluYWxOb2RlQiA9IG5vZGVCLCAgLy8vXG4gICAgICAgICAgICB0ZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlQSwgdGVybWluYWxOb2RlQik7XG5cbiAgICAgIG5vZGVNYXRjaGVzID0gdGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBID0gbm9kZUEsICAvLy9cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBub2RlQiwgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQik7XG5cbiAgICAgIG5vZGVNYXRjaGVzID0gbm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5vZGVNYXRjaGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hOb2Rlcyhub2Rlc0EsIG5vZGVzQikge1xuICBsZXQgbm9kZXNNYXRjaCA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVzQUxlbmd0aCA9IG5vZGVzQS5sZW5ndGgsXG4gICAgICAgIG5vZGVzQkxlbmd0aCA9IG5vZGVzQi5sZW5ndGg7XG5cbiAgaWYgKG5vZGVzQUxlbmd0aCA9PT0gbm9kZXNCTGVuZ3RoKSB7XG4gICAgbm9kZXNNYXRjaCA9IG5vZGVzQS5ldmVyeSgobm9kZUEsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBub2RlQiA9IG5vZGVzQltpbmRleF0sXG4gICAgICAgICAgICBub2RlTWF0Y2hlcyA9IG1hdGNoTm9kZShub2RlQSwgbm9kZUIpO1xuXG4gICAgICBpZiAobm9kZU1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBub2Rlc01hdGNoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hCcmFja2V0ZWROb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQikge1xuICBsZXQgYnJhY2tldGVkTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBpZiAoIWJyYWNrZXRlZE5vZGVNYXRjaGVzKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoTm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIpO1xuXG4gICAgYnJhY2tldGVkTm9kZU1hdGNoZXMgPSBub25UZXJtaW5hbE5vZGVNYXRjaGVzOyAgLy8vXG4gIH1cblxuICBpZiAoIWJyYWNrZXRlZE5vZGVNYXRjaGVzKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVBLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBjaGlsZE5vZGVzQSA9IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUEgPSBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXNBKTtcblxuICAgIGlmIChicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG5vZGVBID0gYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVBLCAgLy8vXG4gICAgICAgICAgICBub2RlQiA9IG5vblRlcm1pbmFsTm9kZUIsIC8vL1xuICAgICAgICAgICAgbm9kZU1hdGNoZXMgPSBtYXRjaE5vZGUobm9kZUEsIG5vZGVCKTtcblxuICAgICAgYnJhY2tldGVkTm9kZU1hdGNoZXMgPSBub2RlTWF0Y2hlczsgLy8vXG4gICAgfVxuICB9XG5cbiAgaWYgKCFicmFja2V0ZWROb2RlTWF0Y2hlcykge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQi5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgY2hpbGROb2Rlc0IgPSBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVCID0gYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzQik7XG5cbiAgICBpZiAoYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVCICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlQiA9IGJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlQiwgIC8vL1xuICAgICAgICAgICAgbm9kZUEgPSBub25UZXJtaW5hbE5vZGVBLCAvLy9cbiAgICAgICAgICAgIG5vZGVNYXRjaGVzID0gbWF0Y2hOb2RlKG5vZGVBLCBub2RlQik7XG5cbiAgICAgIGJyYWNrZXRlZE5vZGVNYXRjaGVzID0gbm9kZU1hdGNoZXM7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBicmFja2V0ZWROb2RlTWF0Y2hlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyYWNrZXRlZE5vblRlcm1pbmFsQ2hpbGROb2RlRnJvbUNoaWxkTm9kZXMoY2hpbGROb2RlcywgcnVsZU5hbWUgPSBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSkge1xuICBsZXQgYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGUgPSBudWxsO1xuXG4gIGNvbnN0IGNoaWxkTm9kZXNMZW5ndGggPSBjaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAoY2hpbGROb2Rlc0xlbmd0aCA9PT0gQlJBQ0tFVEVEX0NISUxEX05PREVTX0xFTkdUSCkge1xuICAgIGNvbnN0IGZpcnN0Q2hpbGROb2RlID0gZmlyc3QoY2hpbGROb2RlcyksXG4gICAgICAgICAgdGhpcmRDaGlsZE5vZGUgPSB0aGlyZChjaGlsZE5vZGVzKSxcbiAgICAgICAgICBzZWNvbmRDaGlsZE5vZGUgPSBzZWNvbmQoY2hpbGROb2RlcyksXG4gICAgICAgICAgZmlyc3RDaGlsZE5vZGVUZXJtaW5hbE5vZGUgPSBmaXJzdENoaWxkTm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIHRoaXJkQ2hpbGROb2RlVGVybWluYWxOb2RlID0gdGhpcmRDaGlsZE5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBzZWNvbmRDaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBzZWNvbmRDaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChmaXJzdENoaWxkTm9kZVRlcm1pbmFsTm9kZSAmJiBzZWNvbmRDaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgJiYgdGhpcmRDaGlsZE5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IHNlY29uZENoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgZmlyc3RUZXJtaW5hbE5vZGUgPSBmaXJzdENoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICBzZWNvbmRUZXJtaW5hbE5vZGUgPSB0aGlyZENoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIGZpcnN0VGVybWluYWxOb2RlQ29udGVudCA9IGZpcnN0VGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgICAgIHNlY29uZFRlcm1pbmFsTm9kZUNvbnRlbnQgPSBzZWNvbmRUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlUnVsZU5hbWVSdWxlTmFtZSA9IChub25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9PT0gcnVsZU5hbWUpLFxuICAgICAgICAgICAgZmlyc3RUZXJtaW5hbE5vZGVDb250ZW50TGVmdEJyYWNrZXQgPSAoZmlyc3RUZXJtaW5hbE5vZGVDb250ZW50ID09PSBMRUZUX0JSQUNLRVQpLFxuICAgICAgICAgICAgc2Vjb25kVGVybWluYWxOb2RlQ29udGVudFJpZ2h0QnJhY2tldCA9IChzZWNvbmRUZXJtaW5hbE5vZGVDb250ZW50ID09PSBSSUdIVF9CUkFDS0VUKTtcblxuICAgICAgaWYgKG5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lUnVsZU5hbWUgJiYgZmlyc3RUZXJtaW5hbE5vZGVDb250ZW50TGVmdEJyYWNrZXQgJiYgc2Vjb25kVGVybWluYWxOb2RlQ29udGVudFJpZ2h0QnJhY2tldCkge1xuICAgICAgICBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZSA9IG5vblRlcm1pbmFsTm9kZTsgIC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZTtcbn1cblxuZnVuY3Rpb24gbWF0Y2hUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlQSwgdGVybWluYWxOb2RlQikge1xuICBjb25zdCBtYXRjaGVzID0gdGVybWluYWxOb2RlQS5tYXRjaCh0ZXJtaW5hbE5vZGVCKSxcbiAgICAgICAgdGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoZXM7ICAvLy9cblxuICByZXR1cm4gdGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQikge1xuICBsZXQgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0UnVsZU5hbWUoKSwgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUIuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgaWYgKG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9PT0gbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lKSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVBLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUIuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vZGVzQSA9IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBub2Rlc0IgPSBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgbm9kZXNNYXRjaCA9IG1hdGNoTm9kZXMobm9kZXNBLCBub2Rlc0IpO1xuXG4gICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG5vZGVzTWF0Y2g7IC8vL1xuICB9XG5cbiAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG4iXSwibmFtZXMiOlsibWF0Y2hOb2RlIiwibWF0Y2hOb2RlcyIsIm1hdGNoQnJhY2tldGVkTm9uVGVybWluYWxOb2RlIiwiYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVGcm9tQ2hpbGROb2RlcyIsIm5vZGVBIiwibm9kZUIiLCJub2RlTWF0Y2hlcyIsIm5vZGVBVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJub2RlQlRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZUEiLCJ0ZXJtaW5hbE5vZGVCIiwidGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJub25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hOb25UZXJtaW5hbE5vZGUiLCJub2Rlc0EiLCJub2Rlc0IiLCJub2Rlc01hdGNoIiwibm9kZXNBTGVuZ3RoIiwibGVuZ3RoIiwibm9kZXNCTGVuZ3RoIiwiZXZlcnkiLCJpbmRleCIsImJyYWNrZXRlZE5vZGVNYXRjaGVzIiwibm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiY2hpbGROb2Rlc0EiLCJicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyIsImNoaWxkTm9kZXNCIiwiYnJhY2tldGVkTm9uVGVybWluYWxDaGlsZE5vZGVCIiwiY2hpbGROb2RlcyIsInJ1bGVOYW1lIiwiTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJicmFja2V0ZWROb25UZXJtaW5hbENoaWxkTm9kZSIsImNoaWxkTm9kZXNMZW5ndGgiLCJCUkFDS0VURURfQ0hJTERfTk9ERVNfTEVOR1RIIiwiZmlyc3RDaGlsZE5vZGUiLCJmaXJzdCIsInRoaXJkQ2hpbGROb2RlIiwidGhpcmQiLCJzZWNvbmRDaGlsZE5vZGUiLCJzZWNvbmQiLCJmaXJzdENoaWxkTm9kZVRlcm1pbmFsTm9kZSIsInRoaXJkQ2hpbGROb2RlVGVybWluYWxOb2RlIiwic2Vjb25kQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJmaXJzdFRlcm1pbmFsTm9kZSIsInNlY29uZFRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Iiwic2Vjb25kVGVybWluYWxOb2RlQ29udGVudCIsIm5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lUnVsZU5hbWUiLCJmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnRMZWZ0QnJhY2tldCIsIkxFRlRfQlJBQ0tFVCIsInNlY29uZFRlcm1pbmFsTm9kZUNvbnRlbnRSaWdodEJyYWNrZXQiLCJSSUdIVF9CUkFDS0VUIiwibWF0Y2hlcyIsIm1hdGNoIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lIiwibm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFNZ0JBLFNBQVM7ZUFBVEE7O0lBeUJBQyxVQUFVO2VBQVZBOztJQW9CQUMsNkJBQTZCO2VBQTdCQTs7SUF3Q0FDLDJDQUEyQztlQUEzQ0E7OztxQkF6RnFCO3lCQUNHO3lCQUNrQztBQUVuRSxTQUFTSCxVQUFVSSxLQUFLLEVBQUVDLEtBQUssRUFBRTtJQUN0QyxJQUFJQyxjQUFjLEtBQUs7SUFFdkIsSUFBTUMsb0JBQW9CSCxNQUFNSSxjQUFjLElBQ3hDQyxvQkFBb0JKLE1BQU1HLGNBQWM7SUFFOUMsSUFBSUQsc0JBQXNCRSxtQkFBbUI7UUFDM0MsSUFBSUYsbUJBQW1CO1lBQ3JCLElBQU1HLGdCQUFnQk4sT0FDaEJPLGdCQUFnQk4sT0FDaEJPLHNCQUFzQkMsa0JBQWtCSCxlQUFlQztZ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
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return verifyMetaSupposition;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _metaproof = /*#__PURE__*/ _interopRequireDefault(require("../step/metaproof"));
|
|
12
|
-
var _metaSupposition = /*#__PURE__*/ _interopRequireDefault(require("../metaSupposition"));
|
|
13
|
-
var _metastatement = /*#__PURE__*/ _interopRequireDefault(require("./metastatement"));
|
|
14
|
-
var _query = require("../utilities/query");
|
|
15
|
-
var _string = require("../utilities/string");
|
|
16
|
-
function _interopRequireDefault(obj) {
|
|
17
|
-
return obj && obj.__esModule ? obj : {
|
|
18
|
-
default: obj
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
var metastatementNodeQuery = (0, _query.nodeQuery)("/metaSupposition/unqualifiedMetastatement!/metastatement!");
|
|
22
|
-
function verifyMetaSupposition(metaSuppositionNode, metaSuppositions, metaproofContext) {
|
|
23
|
-
var metaSuppositionVerified;
|
|
24
|
-
metaproofContext.begin(metaSuppositionNode);
|
|
25
|
-
var metaSuppositionString = (0, _string.nodeAsString)(metaSuppositionNode);
|
|
26
|
-
metaproofContext.debug("Verifying the ".concat(metaSuppositionString, " metaSupposition..."));
|
|
27
|
-
var metastatementNode = metastatementNodeQuery(metaSuppositionNode);
|
|
28
|
-
if (metastatementNode !== null) {
|
|
29
|
-
var qualified = false, metastatementVerified = (0, _metastatement.default)(metastatementNode, qualified, metaproofContext);
|
|
30
|
-
if (metastatementVerified) {
|
|
31
|
-
var metaproofStep = _metaproof.default.fromMetastatementNode(metastatementNode), metaSupposition = _metaSupposition.default.fromMetastatementNode(metastatementNode);
|
|
32
|
-
metaSuppositions.push(metaSupposition);
|
|
33
|
-
metaproofContext.addMetaproofStep(metaproofStep);
|
|
34
|
-
}
|
|
35
|
-
metaSuppositionVerified = true;
|
|
36
|
-
}
|
|
37
|
-
metaSuppositionVerified ? metaproofContext.complete(metaSuppositionNode) : metaproofContext.halt(metaSuppositionNode);
|
|
38
|
-
return metaSuppositionVerified;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YVN1cHBvc2l0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YXByb29mU3RlcCBmcm9tIFwiLi4vc3RlcC9tZXRhcHJvb2ZcIjtcbmltcG9ydCBNZXRhU3VwcG9zaXRpb24gZnJvbSBcIi4uL21ldGFTdXBwb3NpdGlvblwiO1xuaW1wb3J0IHZlcmlmeU1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4vbWV0YXN0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFTdXBwb3NpdGlvbi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhL21ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhU3VwcG9zaXRpb24obWV0YVN1cHBvc2l0aW9uTm9kZSwgbWV0YVN1cHBvc2l0aW9ucywgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgbWV0YVN1cHBvc2l0aW9uVmVyaWZpZWQ7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihtZXRhU3VwcG9zaXRpb25Ob2RlKTtcblxuICBjb25zdCBtZXRhU3VwcG9zaXRpb25TdHJpbmcgPSBub2RlQXNTdHJpbmcobWV0YVN1cHBvc2l0aW9uTm9kZSk7XG5cbiAgbWV0YXByb29mQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAke21ldGFTdXBwb3NpdGlvblN0cmluZ30gbWV0YVN1cHBvc2l0aW9uLi4uYCk7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFTdXBwb3NpdGlvbk5vZGUpO1xuXG4gIGlmIChtZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHF1YWxpZmllZCA9IGZhbHNlLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeU1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIHF1YWxpZmllZCwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YVN1cHBvc2l0aW9uID0gTWV0YVN1cHBvc2l0aW9uLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIG1ldGFTdXBwb3NpdGlvbnMucHVzaChtZXRhU3VwcG9zaXRpb24pO1xuXG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG4gICAgfVxuXG4gICAgbWV0YVN1cHBvc2l0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICB9XG5cbiAgbWV0YVN1cHBvc2l0aW9uVmVyaWZpZWQgP1xuICAgIG1ldGFwcm9vZkNvbnRleHQuY29tcGxldGUobWV0YVN1cHBvc2l0aW9uTm9kZSkgOlxuICAgICAgbWV0YXByb29mQ29udGV4dC5oYWx0KG1ldGFTdXBwb3NpdGlvbk5vZGUpO1xuXG4gIHJldHVybiBtZXRhU3VwcG9zaXRpb25WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhU3VwcG9zaXRpb24iLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YVN1cHBvc2l0aW9uTm9kZSIsIm1ldGFTdXBwb3NpdGlvbnMiLCJtZXRhcHJvb2ZDb250ZXh0IiwibWV0YVN1cHBvc2l0aW9uVmVyaWZpZWQiLCJiZWdpbiIsIm1ldGFTdXBwb3NpdGlvblN0cmluZyIsIm5vZGVBc1N0cmluZyIsImRlYnVnIiwibWV0YXN0YXRlbWVudE5vZGUiLCJxdWFsaWZpZWQiLCJtZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlNZXRhc3RhdGVtZW50IiwibWV0YXByb29mU3RlcCIsIk1ldGFwcm9vZlN0ZXAiLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhU3VwcG9zaXRpb24iLCJNZXRhU3VwcG9zaXRpb24iLCJwdXNoIiwiYWRkTWV0YXByb29mU3RlcCIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7Ozs4REFURTtvRUFDRTtrRUFDSTtxQkFFTjtzQkFDRzs7Ozs7O0FBRTdCLElBQU1DLHlCQUF5QkMsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTRixzQkFBc0JHLG1CQUFtQixFQUFFQyxnQkFBZ0IsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDckcsSUFBSUM7SUFFSkQsaUJBQWlCRSxLQUFLLENBQUNKO0lBRXZCLElBQU1LLHdCQUF3QkMsSUFBQUEsb0JBQVksRUFBQ047SUFFM0NFLGlCQUFpQkssS0FBSyxDQUFDLEFBQUMsaUJBQXNDLE9BQXRCRix1QkFBc0I7SUFFOUQsSUFBTUcsb0JBQW9CVix1QkFBdUJFO0lBRWpELElBQUlRLHNCQUFzQixJQUFJLEVBQUU7UUFDOUIsSUFBTUMsWUFBWSxLQUFLLEVBQ2pCQyx3QkFBd0JDLElBQUFBLHNCQUFtQixFQUFDSCxtQkFBbUJDLFdBQVdQO1FBRWhGLElBQUlRLHVCQUF1QjtZQUN6QixJQUFNRSxnQkFBZ0JDLGtCQUFhLENBQUNDLHFCQUFxQixDQUFDTixvQkFDcERPLGtCQUFrQkMsd0JBQWUsQ0FBQ0YscUJBQXFCLENBQUNOO1lBRTlEUCxpQkFBaUJnQixJQUFJLENBQUNGO1lBRXRCYixpQkFBaUJnQixnQkFBZ0IsQ0FBQ047UUFDcEMsQ0FBQztRQUVEVCwwQkFBMEIsSUFBSTtJQUNoQyxDQUFDO0lBRURBLDBCQUNFRCxpQkFBaUJpQixRQUFRLENBQUNuQix1QkFDeEJFLGlCQUFpQmtCLElBQUksQ0FBQ3BCLG9CQUFvQjtJQUU5QyxPQUFPRztBQUNUIn0=
|