occam-verify-cli 0.0.844 → 0.0.845
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/substitution/statementForMetavariable.js +29 -9
- package/lib/substitution/termForVariable.js +8 -1
- package/lib/utilities/array.js +1 -11
- package/lib/verifier/nodes/metaLevelToIntrinsicLevel.js +16 -16
- package/lib/verifier/nodes/substitution.js +221 -0
- package/lib/verify/containment.js +28 -9
- package/package.json +1 -1
- package/src/substitution/statementForMetavariable.js +44 -12
- package/src/substitution/termForVariable.js +10 -0
- package/src/utilities/array.js +0 -6
- package/src/verifier/nodes/metaLevelToIntrinsicLevel.js +25 -25
- package/src/verifier/nodes/substitution.js +122 -0
- package/src/verify/containment.js +37 -11
|
@@ -17,8 +17,10 @@ _export(exports, {
|
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
var _substitution = /*#__PURE__*/ _interop_require_default(require("../substitution"));
|
|
20
|
+
var _substitution1 = /*#__PURE__*/ _interop_require_default(require("../verifier/nodes/substitution"));
|
|
20
21
|
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("./termForVariable"));
|
|
21
22
|
var _intrinsicLevel = /*#__PURE__*/ _interop_require_default(require("../verifier/nodes/intrinsicLevel"));
|
|
23
|
+
var _array = require("../utilities/array");
|
|
22
24
|
var _proof = require("../utilities/proof");
|
|
23
25
|
function _assert_this_initialized(self) {
|
|
24
26
|
if (self === void 0) {
|
|
@@ -205,19 +207,37 @@ var StatementForMetavariableSubstitution = /*#__PURE__*/ function(Substitution)
|
|
|
205
207
|
]);
|
|
206
208
|
return StatementForMetavariableSubstitution;
|
|
207
209
|
}(_substitution.default);
|
|
210
|
+
function transformSubstitutions(substitutionsA, substitutionsB) {
|
|
211
|
+
substitutionsA = substitutionsA.map(function(substitutionA) {
|
|
212
|
+
var substitution = substitutionA, substitutions = substitutionsB, termForVariableSubstitution = _termForVariable.default.fromSubstitutionAndSubstitutions(substitution, substitutions);
|
|
213
|
+
substitutionA = termForVariableSubstitution; ///
|
|
214
|
+
return substitutionA;
|
|
215
|
+
});
|
|
216
|
+
return substitutionsA;
|
|
217
|
+
}
|
|
208
218
|
function matchStatementNode(statementNodeA, statementNodeB, substitution, substitutions, localContextA, localContextB) {
|
|
209
|
-
var statementNodeMatches;
|
|
210
|
-
var termForVariableSubstitution = _termForVariable.default.fromSubstitutionAndSubstitutions(substitution, substitutions);
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
219
|
+
var statementNodeMatches = false;
|
|
220
|
+
var termForVariableSubstitution = _termForVariable.default.fromSubstitutionAndSubstitutions(substitution, substitutions), intrinsic = termForVariableSubstitution.isIntrinsic(substitution);
|
|
221
|
+
var substitutionsA = []; ///
|
|
222
|
+
if (intrinsic) {
|
|
223
|
+
var substitutionA = termForVariableSubstitution; ///
|
|
224
|
+
substitutionsA.push(substitutionA);
|
|
225
|
+
}
|
|
226
|
+
var nonTerminalNodeA = statementNodeA, nonTerminalNodeB = statementNodeB, nonTerminalNodeVerified = _substitution1.default.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutionsA, localContextA, localContextB, function() {
|
|
216
227
|
var verifiedAhead = true;
|
|
217
228
|
return verifiedAhead;
|
|
218
229
|
});
|
|
219
|
-
|
|
230
|
+
if (nonTerminalNodeVerified) {
|
|
231
|
+
if (!intrinsic) {
|
|
232
|
+
var substitutionB = termForVariableSubstitution, substitutionsB = [
|
|
233
|
+
substitutionB
|
|
234
|
+
];
|
|
235
|
+
substitutionsA = transformSubstitutions(substitutionsA, substitutionsB);
|
|
236
|
+
(0, _array.push)(substitutions, substitutionsA);
|
|
237
|
+
}
|
|
238
|
+
statementNodeMatches = true;
|
|
239
|
+
}
|
|
220
240
|
return statementNodeMatches;
|
|
221
241
|
}
|
|
222
242
|
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb25cIjtcblxuaW1wb3J0IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiBmcm9tIFwiLi90ZXJtRm9yVmFyaWFibGVcIjtcbmltcG9ydCBpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyL25vZGVzL2ludHJpbnNpY0xldmVsXCI7XG5cbmltcG9ydCB7IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUZyb21TdGF0ZW1lbnROb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9wcm9vZlwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gZXh0ZW5kcyBTdWJzdGl0dXRpb24ge1xuICBjb25zdHJ1Y3RvcihtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb24pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5tZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZTtcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICAgIHRoaXMuc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhdmFyaWFibGVOb2RlO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0U3Vic3RpdHV0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnN1YnN0aXR1dGlvbjtcbiAgfVxuXG4gIG1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gICAgbGV0IHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuXG4gICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoU3RhdGVtZW50Tm9kZUV4KHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgaWYgKCFzdGF0ZW1lbnROb2RlTWF0Y2hlcykge1xuICAgICAgY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGlmIChicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZTsgLy8vXG5cbiAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoU3RhdGVtZW50Tm9kZUV4KHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoU3RhdGVtZW50Tm9kZUV4KHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgICBsZXQgc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG5cbiAgICBpZiAodGhpcy5zdWJzdGl0dXRpb24gPT09IG51bGwpIHtcbiAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gdGhpcy5zdGF0ZW1lbnROb2RlLm1hdGNoKHN0YXRlbWVudE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb24gPSB0aGlzLnN1YnN0aXR1dGlvbixcbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGVBID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlQiA9IHRoaXMuc3RhdGVtZW50Tm9kZTsgIC8vL1xuXG4gICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRoaXMubWV0YXZhcmlhYmxlTm9kZS5tYXRjaChtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXZhcmlhYmxlTm9kZUFuZFN0YXRlbWVudE5vZGUobWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbiA9IG51bGw7XG5cbiAgICBsZXQgc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbihtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb24pO1xuXG4gICAgY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBpZiAoYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlOyAvLy9cblxuICAgICAgc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbihtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb24pO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGF2YXJpYWJsZU5vZGVTdGF0ZW1lbnROb2RlQW5kU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbikge1xuICAgIGxldCBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbik7XG5cbiAgICBjb25zdCBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVGcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGU7IC8vL1xuXG4gICAgICBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCBzdGF0ZW1lbnROb2RlTWF0Y2hlcztcblxuICBjb25zdCB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zKTtcblxuICBzdWJzdGl0dXRpb24gPSB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247IC8vL1xuXG4gIHN1YnN0aXR1dGlvbnMgPSBbIC8vL1xuICAgIHN1YnN0aXR1dGlvblxuICBdO1xuXG4gIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSBzdGF0ZW1lbnROb2RlQSwgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBzdGF0ZW1lbnROb2RlQiwgIC8vL1xuICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgIH0pO1xuXG4gIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuXG4gIHJldHVybiBzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iLCJtYXRjaFN0YXRlbWVudE5vZGUiLCJtZXRhdmFyaWFibGVOb2RlIiwic3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbiIsImdldE1ldGF2YXJpYWJsZU5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwiZ2V0U3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwic3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaFN0YXRlbWVudE5vZGVFeCIsImJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSIsImJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUZyb21TdGF0ZW1lbnROb2RlIiwibWF0Y2giLCJzdGF0ZW1lbnROb2RlQSIsInN0YXRlbWVudE5vZGVCIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMiLCJmcm9tTWV0YXZhcmlhYmxlTm9kZUFuZFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iLCJmcm9tTWV0YXZhcmlhYmxlTm9kZVN0YXRlbWVudE5vZGVBbmRTdWJzdGl0dXRpb24iLCJTdWJzdGl0dXRpb24iLCJ0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJmcm9tU3Vic3RpdHV0aW9uQW5kU3Vic3RpdHV0aW9ucyIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXIiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJ2ZXJpZmllZEFoZWFkIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O2VBU3FCQTs7SUE0RkxDLGtCQUFrQjtlQUFsQkE7OzttRUFuR1M7c0VBRWU7cUVB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
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb25cIjtcblxuaW1wb3J0IHN1YnN0aXR1dGlvbk5vZGVzVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyL25vZGVzL3N1YnN0aXR1dGlvblwiO1xuaW1wb3J0IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiBmcm9tIFwiLi90ZXJtRm9yVmFyaWFibGVcIjtcbmltcG9ydCBpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyL25vZGVzL2ludHJpbnNpY0xldmVsXCI7XG5cbmltcG9ydCB7IHB1c2ggfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVGcm9tU3RhdGVtZW50Tm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcHJvb2ZcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIGV4dGVuZHMgU3Vic3RpdHV0aW9uIHtcbiAgY29uc3RydWN0b3IobWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9uKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMubWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGU7XG4gICAgdGhpcy5zdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZTtcbiAgICB0aGlzLnN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbjtcbiAgfVxuXG4gIGdldE1ldGF2YXJpYWJsZU5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0YXZhcmlhYmxlTm9kZTtcbiAgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldFN1YnN0aXR1dGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJzdGl0dXRpb247XG4gIH1cblxuICBtYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICAgIGxldCBzdGF0ZW1lbnROb2RlTWF0Y2hlcztcblxuICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaFN0YXRlbWVudE5vZGVFeChzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgIGlmICghc3RhdGVtZW50Tm9kZU1hdGNoZXMpIHtcbiAgICAgIGNvbnN0IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBpZiAoYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGU7IC8vL1xuXG4gICAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gdGhpcy5tYXRjaFN0YXRlbWVudE5vZGVFeChzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaFN0YXRlbWVudE5vZGVFeChzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gICAgbGV0IHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuXG4gICAgaWYgKHRoaXMuc3Vic3RpdHV0aW9uID09PSBudWxsKSB7XG4gICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHRoaXMuc3RhdGVtZW50Tm9kZS5tYXRjaChzdGF0ZW1lbnROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uID0gdGhpcy5zdWJzdGl0dXRpb24sIC8vL1xuICAgICAgICAgICAgc3RhdGVtZW50Tm9kZUEgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlQiA9IHRoaXMuc3RhdGVtZW50Tm9kZTsgLy8vXG5cbiAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzID0gdGhpcy5tZXRhdmFyaWFibGVOb2RlLm1hdGNoKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgc3RhdGljIGZyb21NZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZShtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uID0gbnVsbDtcblxuICAgIGxldCBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbik7XG5cbiAgICBjb25zdCBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVGcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGU7IC8vL1xuXG4gICAgICBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBuZXcgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXZhcmlhYmxlTm9kZVN0YXRlbWVudE5vZGVBbmRTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9uKSB7XG4gICAgbGV0IHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9uKTtcblxuICAgIGNvbnN0IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZTsgLy8vXG5cbiAgICAgIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9uc0EsIHN1YnN0aXR1dGlvbnNCKSB7XG4gIHN1YnN0aXR1dGlvbnNBID0gc3Vic3RpdHV0aW9uc0EubWFwKChzdWJzdGl0dXRpb25BKSA9PiB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uQSwgIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBzdWJzdGl0dXRpb25zQixcbiAgICAgICAgICB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zKTtcblxuICAgIHN1YnN0aXR1dGlvbkEgPSB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247IC8vL1xuXG4gICAgcmV0dXJuIHN1YnN0aXR1dGlvbkE7XG4gIH0pO1xuXG4gIHJldHVybiBzdWJzdGl0dXRpb25zQTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBsZXQgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zKSxcbiAgICAgICAgaW50cmluc2ljID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLmlzSW50cmluc2ljKHN1YnN0aXR1dGlvbik7XG5cbiAgbGV0IHN1YnN0aXR1dGlvbnNBID0gW107IC8vL1xuXG4gIGlmIChpbnRyaW5zaWMpIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25BID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uOyAgLy8vXG5cbiAgICBzdWJzdGl0dXRpb25zQS5wdXNoKHN1YnN0aXR1dGlvbkEpO1xuICB9XG5cbiAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IHN0YXRlbWVudE5vZGVBLCAgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBzdGF0ZW1lbnROb2RlQiwgIC8vL1xuICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHN1YnN0aXR1dGlvbk5vZGVzVmVyaWZpZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnNBLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgfSk7XG5cbiAgaWYgKG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkKSB7XG4gICAgaWYgKCFpbnRyaW5zaWMpIHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbkIgPSB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24sICAvLy9cbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbnNCID0gW1xuICAgICAgICAgICAgICBzdWJzdGl0dXRpb25CXG4gICAgICAgICAgICBdO1xuXG4gICAgICBzdWJzdGl0dXRpb25zQSA9IHRyYW5zZm9ybVN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9uc0EsIHN1YnN0aXR1dGlvbnNCKTtcblxuICAgICAgcHVzaChzdWJzdGl0dXRpb25zLCBzdWJzdGl0dXRpb25zQSk7XG4gICAgfVxuXG4gICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudE5vZGVNYXRjaGVzO1xufVxuIl0sIm5hbWVzIjpbIlN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJzdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9uIiwiZ2V0TWV0YXZhcmlhYmxlTm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJnZXRTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Tm9kZUV4IiwiYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlIiwiYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbVN0YXRlbWVudE5vZGUiLCJtYXRjaCIsInN0YXRlbWVudE5vZGVBIiwic3RhdGVtZW50Tm9kZUIiLCJtYXRjaE1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyIsImZyb21NZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlU3RhdGVtZW50Tm9kZUFuZFN1YnN0aXR1dGlvbiIsIlN1YnN0aXR1dGlvbiIsInRyYW5zZm9ybVN1YnN0aXR1dGlvbnMiLCJzdWJzdGl0dXRpb25zQSIsInN1YnN0aXR1dGlvbnNCIiwibWFwIiwic3Vic3RpdHV0aW9uQSIsInRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsIlRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21TdWJzdGl0dXRpb25BbmRTdWJzdGl0dXRpb25zIiwiaW50cmluc2ljIiwiaXNJbnRyaW5zaWMiLCJwdXNoIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInN1YnN0aXR1dGlvbk5vZGVzVmVyaWZpZXIiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJ2ZXJpZmllZEFoZWFkIiwic3Vic3RpdHV0aW9uQiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztlQVdxQkE7O0lBMEdMQyxrQkFBa0I7ZUFBbEJBOzs7bUVBbkhTO29FQUVhO3NFQUNFO3FFQUNBO3FCQUVuQjtxQkFDd0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOUMsSUFBQSxBQUFNRCxxREFBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQSxxQ0FDUEUsZ0JBQWdCLEVBQUVDLGFBQWEsRUFBRUMsWUFBWTtnQ0FEdENKOzs7UUFJakIsTUFBS0UsZ0JBQWdCLEdBQUdBO1FBQ3hCLE1BQUtDLGFBQWEsR0FBR0E7UUFDckIsTUFBS0MsWUFBWSxHQUFHQTs7O2tCQU5ISjs7WUFTbkJLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsZ0JBQWdCO1lBQzlCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxhQUFhO1lBQzNCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxZQUFZO1lBQzFCOzs7WUFFQUgsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkUsYUFBYSxFQUFFSyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtnQkFDM0UsSUFBSUM7Z0JBRUpBLHVCQUF1QixJQUFJLENBQUNDLG9CQUFvQixDQUFDVCxlQUFlSyxlQUFlQyxlQUFlQztn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
|
|
@@ -125,6 +125,13 @@ var TermForVariableSubstitution = /*#__PURE__*/ function(Substitution) {
|
|
|
125
125
|
return this.termNode;
|
|
126
126
|
}
|
|
127
127
|
},
|
|
128
|
+
{
|
|
129
|
+
key: "isIntrinsic",
|
|
130
|
+
value: function isIntrinsic(substitution) {
|
|
131
|
+
var termNod = substitution.getTermNode(), variableNode = substitution.getVariableNode(), termNodeMatches = this.termNode.match(termNod), variableNodeMatches = this.variableNode.match(variableNode), intrinsic = !termNodeMatches && !variableNodeMatches;
|
|
132
|
+
return intrinsic;
|
|
133
|
+
}
|
|
134
|
+
},
|
|
128
135
|
{
|
|
129
136
|
key: "matchTermNode",
|
|
130
137
|
value: function matchTermNode(termNode) {
|
|
@@ -204,4 +211,4 @@ function substituteVariableNode(variableNode, substitutions) {
|
|
|
204
211
|
return variableNode;
|
|
205
212
|
}
|
|
206
213
|
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiLyovdGVybSFcIiksXG4gICAgICB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi8qL3ZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGV4dGVuZHMgU3Vic3RpdHV0aW9uIHtcbiAgY29uc3RydWN0b3IodmFyaWFibGVOb2RlLCB0ZXJtTm9kZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZTtcbiAgICB0aGlzLnRlcm1Ob2RlID0gdGVybU5vZGU7XG4gIH1cblxuICBnZXRWYXJpYWJsZU5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGVOb2RlO1xuICB9XG5cbiAgZ2V0VGVybU5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybU5vZGU7XG4gIH1cblxuICBpc0ludHJpbnNpYyhzdWJzdGl0dXRpb24pIHtcbiAgICBjb25zdCB0ZXJtTm9kID0gc3Vic3RpdHV0aW9uLmdldFRlcm1Ob2RlKCksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gc3Vic3RpdHV0aW9uLmdldFZhcmlhYmxlTm9kZSgpLFxuICAgICAgICAgIHRlcm1Ob2RlTWF0Y2hlcyA9IHRoaXMudGVybU5vZGUubWF0Y2godGVybU5vZCksXG4gICAgICAgICAgdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRoaXMudmFyaWFibGVOb2RlLm1hdGNoKHZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgaW50cmluc2ljID0gKCghdGVybU5vZGVNYXRjaGVzKSAmJiAoIXZhcmlhYmxlTm9kZU1hdGNoZXMpKTtcblxuICAgIHJldHVybiBpbnRyaW5zaWM7XG4gIH1cblxuICBtYXRjaFRlcm1Ob2RlKHRlcm1Ob2RlKSB7XG4gICAgY29uc3QgdGVybU5vZGVNYXRjaGVzID0gdGhpcy50ZXJtTm9kZS5tYXRjaCh0ZXJtTm9kZSk7XG5cbiAgICByZXR1cm4gdGVybU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRoaXMudmFyaWFibGVOb2RlLm1hdGNoKHZhcmlhYmxlTm9kZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGVOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3Vic3RpdHV0aW9uTm9kZShzdWJzdGl0dXRpb25Ob2RlKSB7XG4gICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KHN1YnN0aXR1dGlvbk5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHN1YnN0aXR1dGlvbk5vZGUpLFxuICAgICAgICAgIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IG5ldyBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24odmFyaWFibGVOb2RlLCB0ZXJtTm9kZSk7XG5cbiAgICByZXR1cm4gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uO1xuICB9XG5cbiAgc3RhdGljIGZyb21WYXJpYWJsZU5vZGVBbmRUZXJtTm9kZSh2YXJpYWJsZU5vZGUsIHRlcm1Ob2RlKSB7XG4gICAgY29uc3QgdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbih2YXJpYWJsZU5vZGUsIHRlcm1Ob2RlKTtcblxuICAgIHJldHVybiB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMoc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IHRlcm1Ob2RlID0gc3Vic3RpdHV0aW9uLmdldFRlcm1Ob2RlKCksXG4gICAgICAgIHZhcmlhYmxlTm9kZSA9IHN1YnN0aXR1dGlvbi5nZXRWYXJpYWJsZU5vZGUoKTtcblxuICAgIHRlcm1Ob2RlID0gc3Vic3RpdHV0ZVRlcm1Ob2RlKHRlcm1Ob2RlLCBzdWJzdGl0dXRpb25zKTsgLy8vXG5cbiAgICB2YXJpYWJsZU5vZGUgPSBzdWJzdGl0dXRlVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9ucyk7IC8vL1xuXG4gICAgY29uc3QgdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbih2YXJpYWJsZU5vZGUsIHRlcm1Ob2RlKTtcblxuICAgIHJldHVybiB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbVN1YnN0aXR1dGlvbk5vZGVBbmRTdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbk5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KHN1YnN0aXR1dGlvbk5vZGUpLFxuICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeShzdWJzdGl0dXRpb25Ob2RlKTtcblxuICAgIHRlcm1Ob2RlID0gc3Vic3RpdHV0ZVRlcm1Ob2RlKHRlcm1Ob2RlLCBzdWJzdGl0dXRpb25zKTsgLy8vXG5cbiAgICB2YXJpYWJsZU5vZGUgPSBzdWJzdGl0dXRlVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9ucyk7IC8vL1xuXG4gICAgY29uc3QgdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uID0gbmV3IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbih2YXJpYWJsZU5vZGUsIHRlcm1Ob2RlKTtcblxuICAgIHJldHVybiB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb247XG4gIH1cbn1cblxuZnVuY3Rpb24gc3Vic3RpdHV0ZVRlcm1Ob2RlKHRlcm1Ob2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IHRlcm1WYXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZSk7XG5cbiAgaWYgKHRlcm1WYXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICBzdWJzdGl0dXRpb25zLnNvbWUoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgY29uc3QgdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbi5tYXRjaFZhcmlhYmxlTm9kZSh0ZXJtVmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKHZhcmlhYmxlTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgdGVybU5vZGUgPSBzdWJzdGl0dXRpb24uZ2V0VGVybU5vZGUoKTsgIC8vL1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1Ob2RlO1xufVxuXG5mdW5jdGlvbiBzdWJzdGl0dXRlVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICBzdWJzdGl0dXRpb25zLnNvbWUoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgIGNvbnN0IHZhcmlhYmxlTm9kZU1hdGNoZXMgPSBzdWJzdGl0dXRpb24ubWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKTtcblxuICAgIGlmICh2YXJpYWJsZU5vZGVNYXRjaGVzKSB7XG4gICAgICBjb25zdCB0ZXJtTm9kZSA9IHN1YnN0aXR1dGlvbi5nZXRUZXJtTm9kZSgpLFxuICAgICAgICAgICAgdGVybVZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICAgICAgaWYgKHRlcm1WYXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgdmFyaWFibGVOb2RlID0gdGVybVZhcmlhYmxlTm9kZTsgIC8vL1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHZhcmlhYmxlTm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJ2YXJpYWJsZU5vZGUiLCJ0ZXJtTm9kZSIsImdldFZhcmlhYmxlTm9kZSIsImdldFRlcm1Ob2RlIiwiaXNJbnRyaW5zaWMiLCJzdWJzdGl0dXRpb24iLCJ0ZXJtTm9kIiwidGVybU5vZGVNYXRjaGVzIiwibWF0Y2giLCJ2YXJpYWJsZU5vZGVNYXRjaGVzIiwiaW50cmluc2ljIiwibWF0Y2hUZXJtTm9kZSIsIm1hdGNoVmFyaWFibGVOb2RlIiwiZnJvbVN1YnN0aXR1dGlvbk5vZGUiLCJzdWJzdGl0dXRpb25Ob2RlIiwidGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbVZhcmlhYmxlTm9kZUFuZFRlcm1Ob2RlIiwiZnJvbVN1YnN0aXR1dGlvbkFuZFN1YnN0aXR1dGlvbnMiLCJzdWJzdGl0dXRpb25zIiwic3Vic3RpdHV0ZVRlcm1Ob2RlIiwic3Vic3RpdHV0ZVZhcmlhYmxlTm9kZSIsImZyb21TdWJzdGl0dXRpb25Ob2RlQW5kU3Vic3RpdHV0aW9ucyIsIlN1YnN0aXR1dGlvbiIsInRlcm1WYXJpYWJsZU5vZGUiLCJzb21lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7OzttRUFQSTtxQkFFQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsYUFDMUJDLG9CQUFvQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVyQixJQUFB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
|
package/lib/utilities/array.js
CHANGED
|
@@ -67,16 +67,6 @@ function someSubArray(array, subArrayLength, callback) {
|
|
|
67
67
|
offset = 0;
|
|
68
68
|
permutations = _permutationsMatrix.default[indexesLength][permutationLength];
|
|
69
69
|
}
|
|
70
|
-
if (subArrayLength === 4) {
|
|
71
|
-
permutations = [
|
|
72
|
-
[
|
|
73
|
-
0,
|
|
74
|
-
2,
|
|
75
|
-
3,
|
|
76
|
-
4
|
|
77
|
-
]
|
|
78
|
-
];
|
|
79
|
-
}
|
|
80
70
|
if (permutations !== null) {
|
|
81
71
|
found = permutations.some(function(permutation) {
|
|
82
72
|
if (permutation !== null) {
|
|
@@ -112,4 +102,4 @@ function rightDifference(arrayA, arrayB) {
|
|
|
112
102
|
});
|
|
113
103
|
}
|
|
114
104
|
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgcGVybXV0YXRpb25zTWF0cml4IGZyb20gXCIuLi9wZXJtdXRhdGlvbnNNYXRyaXhcIjtcblxuaW1wb3J0IHsgTUFYSU1VTV9JTkRFWEVTX0xFTkdUSCwgTUFYSU1VTV9QRVJNVVRBVElPTl9MRU5HVEggfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBjb25zdCB7IGZpcnN0LCBzZWNvbmQsIGxhc3QsIHB1c2gsIHBydW5lLCBtYXRjaCwgZmlsdGVyLCBjb21wcmVzcywgc2VwYXJhdGUgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gc29tZVN1YkFycmF5KGFycmF5LCBzdWJBcnJheUxlbmd0aCwgY2FsbGJhY2spIHtcbiAgbGV0IGZvdW5kID0gZmFsc2U7XG5cbiAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgIGluZGV4ZXNMZW5ndGggPSBhcnJheUxlbmd0aCwgLy8vXG4gICAgICAgIHBlcm11dGF0aW9uTGVuZ3RoID0gc3ViQXJyYXlMZW5ndGg7IC8vL1xuXG4gIGlmIChwZXJtdXRhdGlvbkxlbmd0aCA8PSBNQVhJTVVNX1BFUk1VVEFUSU9OX0xFTkdUSCkge1xuICAgIGxldCBvZmZzZXQsXG4gICAgICAgIHBlcm11dGF0aW9ucztcblxuICAgIGlmIChpbmRleGVzTGVuZ3RoID4gTUFYSU1VTV9JTkRFWEVTX0xFTkdUSCkge1xuICAgICAgb2Zmc2V0ID0gaW5kZXhlc0xlbmd0aCAtIE1BWElNVU1fSU5ERVhFU19MRU5HVEg7XG5cbiAgICAgIHBlcm11dGF0aW9ucyA9IHBlcm11dGF0aW9uc01hdHJpeFtNQVhJTVVNX0lOREVYRVNfTEVOR1RIXVtwZXJtdXRhdGlvbkxlbmd0aF07XG4gICAgfSBlbHNlIHtcbiAgICAgIG9mZnNldCA9IDA7XG5cbiAgICAgIHBlcm11dGF0aW9ucyA9IHBlcm11dGF0aW9uc01hdHJpeFtpbmRleGVzTGVuZ3RoXVtwZXJtdXRhdGlvbkxlbmd0aF07XG4gICAgfVxuXG4gICAgaWYgKHBlcm11dGF0aW9ucyAhPT0gbnVsbCkge1xuICAgICAgZm91bmQgPSBwZXJtdXRhdGlvbnMuc29tZSgocGVybXV0YXRpb24pID0+IHtcbiAgICAgICAgaWYgKHBlcm11dGF0aW9uICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3Qgc3ViQXJyYXkgPSBbXTtcblxuICAgICAgICAgIGZvciAobGV0IHBvc2l0aW9uID0gMDsgcG9zaXRpb24gPCBwZXJtdXRhdGlvbkxlbmd0aDsgcG9zaXRpb24rKykge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwZXJtdXRhdGlvbltwb3NpdGlvbl0gKyBvZmZzZXQsXG4gICAgICAgICAgICAgICAgICBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgICAgICAgICBzdWJBcnJheS5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHBhc3NlZCA9IGNhbGxiYWNrKHN1YkFycmF5KTtcblxuICAgICAgICAgIGlmIChwYXNzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZvdW5kO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGVmdERpZmZlcmVuY2UoYXJyYXlBLCBhcnJheUIpIHtcbiAgZmlsdGVyKGFycmF5QSwgKGVsZW1lbnRBKSA9PiB7XG4gICAgY29uc3QgYXJyYXlCSW5jbHVkZXNFbGVtZW50QSA9IGFycmF5Qi5pbmNsdWRlcyhlbGVtZW50QSk7XG5cbiAgICBpZiAoIWFycmF5QkluY2x1ZGVzRWxlbWVudEEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByaWdodERpZmZlcmVuY2UoYXJyYXlBLCBhcnJheUIpIHtcbiAgZmlsdGVyKGFycmF5QiwgKGVsZW1lbnRCKSA9PiB7XG4gICAgY29uc3QgYXJyYXlBSW5jbHVkZXNFbGVtZW50QiA9IGFycmF5QS5pbmNsdWRlcyhlbGVtZW50Qik7XG5cbiAgICBpZiAoIWFycmF5QUluY2x1ZGVzRWxlbWVudEIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiY29tcHJlc3MiLCJmaWx0ZXIiLCJmaXJzdCIsImxhc3QiLCJsZWZ0RGlmZmVyZW5jZSIsIm1hdGNoIiwicHJ1bmUiLCJwdXNoIiwicmlnaHREaWZmZXJlbmNlIiwic2Vjb25kIiwic2VwYXJhdGUiLCJzb21lU3ViQXJyYXkiLCJhcnJheVV0aWxpdGllcyIsImFycmF5Iiwic3ViQXJyYXlMZW5ndGgiLCJjYWxsYmFjayIsImZvdW5kIiwiYXJyYXlMZW5ndGgiLCJsZW5ndGgiLCJpbmRleGVzTGVuZ3RoIiwicGVybXV0YXRpb25MZW5ndGgiLCJNQVhJTVVNX1BFUk1VVEFUSU9OX0xFTkdUSCIsIm9mZnNldCIsInBlcm11dGF0aW9ucyIsIk1BWElNVU1fSU5ERVhFU19MRU5HVEgiLCJwZXJtdXRhdGlvbnNNYXRyaXgiLCJzb21lIiwicGVybXV0YXRpb24iLCJzdWJBcnJheSIsInBvc2l0aW9uIiwiaW5kZXgiLCJlbGVtZW50IiwicGFzc2VkIiwiYXJyYXlBIiwiYXJyYXlCIiwiZWxlbWVudEEiLCJhcnJheUJJbmNsdWRlc0VsZW1lbnRBIiwiaW5jbHVkZXMiLCJlbGVtZW50QiIsImFycmF5QUluY2x1ZGVzRWxlbWVudEIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVFnRUEsUUFBUTtlQUFSQTs7SUFBUkMsTUFBTTtlQUFOQTs7SUFBekNDLEtBQUs7ZUFBTEE7O0lBQWVDLElBQUk7ZUFBSkE7O0lBZ0RkQyxjQUFjO2VBQWRBOztJQWhEaUNDLEtBQUs7ZUFBTEE7O0lBQVBDLEtBQUs7ZUFBTEE7O0lBQU5DLElBQUk7ZUFBSkE7O0lBMERwQkMsZUFBZTtlQUFmQTs7SUExRE1DLE1BQU07ZUFBTkE7O0lBQW9EQyxRQUFRO2VBQVJBOztJQUUxREMsWUFBWTtlQUFaQTs7O3lCQVJlO3lFQUVBO3lCQUVvQzs7Ozs7O0FBRTVELElBQVFULFFBQXdFVSx5QkFBYyxDQUF0RlYsT0FBT08sU0FBaUVHLHlCQUFjLENBQS9FSCxRQUFRTixPQUF5RFMseUJBQWMsQ0FBdkVULE1BQU1JLE9BQW1ESyx5QkFBYyxDQUFqRUwsTUFBTUQsUUFBNkNNLHlCQUFjLENBQTNETixPQUFPRCxRQUFzQ08seUJBQWMsQ0FBcERQLE9BQU9KLFNBQStCVyx5QkFBYyxDQUE3Q1gsUUFBUUQsV0FBdUJZLHlCQUFjLENBQXJDWixVQUFVVSxXQUFhRSx5QkFBYyxDQUEzQkY7QUFFbkUsU0FBU0MsYUFBYUUsS0FBSyxFQUFFQyxjQUFjLEVBQUVDLFFBQVE7SUFDMUQsSUFBSUMsUUFBUTtJQUVaLElBQU1DLGNBQWNKLE1BQU1LLE1BQU0sRUFDMUJDLGdCQUFnQkYsYUFDaEJHLG9CQUFvQk4sZ0JBQWdCLEdBQUc7SUFFN0MsSUFBSU0scUJBQXFCQyxxQ0FBMEIsRUFBRTtRQUNuRCxJQUFJQyxRQUNBQztRQUVKLElBQUlKLGdCQUFnQkssaUNBQXNCLEVBQUU7WUFDMUNGLFNBQVNILGdCQUFnQkssaUNBQXNCO1lBRS9DRCxlQUFlRSwyQkFBa0IsQ0FBQ0QsaUNBQXNCLENBQUMsQ0FBQ0osa0JBQWtCO1FBQzlFLE9BQU87WUFDTEUsU0FBUztZQUVUQyxlQUFlRSwyQkFBa0IsQ0FBQ04sY0FBYyxDQUFDQyxrQkFBa0I7UUFDckU7UUFFQSxJQUFJRyxpQkFBaUIsTUFBTTtZQUN6QlAsUUFBUU8sYUFBYUcsSUFBSSxDQUFDLFNBQUNDO2dCQUN6QixJQUFJQSxnQkFBZ0IsTUFBTTtvQkFDeEIsSUFBTUMsV0FBVyxFQUFFO29CQUVuQixJQUFLLElBQUlDLFdBQVcsR0FBR0EsV0FBV1QsbUJBQW1CUyxXQUFZO3dCQUMvRCxJQUFNQyxRQUFRSCxXQUFXLENBQUNFLFNBQVMsR0FBR1AsUUFDaENTLFVBQVVsQixLQUFLLENBQUNpQixNQUFNO3dCQUU1QkYsU0FBU3JCLElBQUksQ0FBQ3dCO29CQUNoQjtvQkFFQSxJQUFNQyxTQUFTakIsU0FBU2E7b0JBRXhCLElBQUlJLFFBQVE7d0JBQ1YsT0FBTztvQkFDVDtnQkFDRjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLE9BQU9oQjtBQUNUO0FBRU8sU0FBU1osZUFBZTZCLE1BQU0sRUFBRUMsTUFBTTtJQUMzQ2pDLE9BQU9nQyxRQUFRLFNBQUNFO1FBQ2QsSUFBTUMseUJBQXlCRixPQUFPRyxRQUFRLENBQUNGO1FBRS9DLElBQUksQ0FBQ0Msd0JBQXdCO1lBQzNCLE9BQU87UUFDVDtJQUNGO0FBQ0Y7QUFFTyxTQUFTNUIsZ0JBQWdCeUIsTUFBTSxFQUFFQyxNQUFNO0lBQzVDakMsT0FBT2lDLFFBQVEsU0FBQ0k7UUFDZCxJQUFNQyx5QkFBeUJOLE9BQU9JLFFBQVEsQ0FBQ0M7UUFFL0MsSUFBSSxDQUFDQyx3QkFBd0I7WUFDM0IsT0FBTztRQUNUO0lBQ0Y7QUFDRiJ9
|
|
@@ -238,6 +238,21 @@ var MetaLevelToIntrinsicLevelNodesVerifier = /*#__PURE__*/ function(NodesVerifie
|
|
|
238
238
|
return metaArgumentNodeVerified;
|
|
239
239
|
}
|
|
240
240
|
},
|
|
241
|
+
{
|
|
242
|
+
key: "verifyStatementNode",
|
|
243
|
+
value: function verifyStatementNode(metastatementNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead) {
|
|
244
|
+
var statementNodeVerified;
|
|
245
|
+
var metavariableNodeA = metavariableNodeQuery(metastatementNodeA);
|
|
246
|
+
if (metavariableNodeA !== null) {
|
|
247
|
+
var substitutionNodeA = substitutionNodeQuery(metastatementNodeA), metavariableNodeVerified = this.verifyMetavariableNode(metavariableNodeA, substitutionNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
248
|
+
statementNodeVerified = metavariableNodeVerified; ///
|
|
249
|
+
} else {
|
|
250
|
+
var nonTerminalNodeA = metastatementNodeA, nonTerminalNodeB = statementNodeB, nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, childNodesB = nonTerminalNodeBChildNodes, childNodesVerified = _get(_get_prototype_of(MetaLevelToIntrinsicLevelNodesVerifier.prototype), "verifyChildNodes", this).call(this, childNodesA, childNodesB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
251
|
+
statementNodeVerified = childNodesVerified; ///
|
|
252
|
+
}
|
|
253
|
+
return statementNodeVerified;
|
|
254
|
+
}
|
|
255
|
+
},
|
|
241
256
|
{
|
|
242
257
|
key: "verifyMetavariableNode",
|
|
243
258
|
value: function verifyMetavariableNode(metavariableNodeA, substitutionNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead) {
|
|
@@ -265,21 +280,6 @@ var MetaLevelToIntrinsicLevelNodesVerifier = /*#__PURE__*/ function(NodesVerifie
|
|
|
265
280
|
return metavariableNodeVerified;
|
|
266
281
|
}
|
|
267
282
|
},
|
|
268
|
-
{
|
|
269
|
-
key: "verifyStatementNode",
|
|
270
|
-
value: function verifyStatementNode(metastatementNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead) {
|
|
271
|
-
var statementNodeVerified;
|
|
272
|
-
var metavariableNodeA = metavariableNodeQuery(metastatementNodeA);
|
|
273
|
-
if (metavariableNodeA !== null) {
|
|
274
|
-
var substitutionNodeA = null, metavariableNodeVerified = this.verifyMetavariableNode(metavariableNodeA, substitutionNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
275
|
-
statementNodeVerified = metavariableNodeVerified; ///
|
|
276
|
-
} else {
|
|
277
|
-
var nonTerminalNodeA = metastatementNodeA, nonTerminalNodeB = statementNodeB, nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, childNodesB = nonTerminalNodeBChildNodes, childNodesVerified = _get(_get_prototype_of(MetaLevelToIntrinsicLevelNodesVerifier.prototype), "verifyChildNodes", this).call(this, childNodesA, childNodesB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
278
|
-
statementNodeVerified = childNodesVerified; ///
|
|
279
|
-
}
|
|
280
|
-
return statementNodeVerified;
|
|
281
|
-
}
|
|
282
|
-
},
|
|
283
283
|
{
|
|
284
284
|
key: "verifyTermNode",
|
|
285
285
|
value: function verifyTermNode(termNodeA, nonTerminalNodeB, substitutions, fileContextA, localContextB, verifyAhead) {
|
|
@@ -319,4 +319,4 @@ function substitutionFromSubstitutionNodeMetavariableNodeAndStatementNode(substi
|
|
|
319
319
|
return substitution1;
|
|
320
320
|
}
|
|
321
321
|
|
|
322
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy9tZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi8uLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vLi4vdmVyaWZpZXIvbm9kZXNcIjtcbmltcG9ydCBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gZnJvbSBcIi4uLy4uL3N1YnN0aXR1dGlvbi90ZXJtRm9yVmFyaWFibGVcIjtcbmltcG9ydCBpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXJNaXhpbnMgZnJvbSBcIi4uLy4uL21peGlucy9ub2Rlc1ZlcmlmaWVyL2ludHJpbnNpY2xldmVsXCI7XG5pbXBvcnQgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi8uLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1hdGNoU3RhdGVtZW50Tm9kZSB9IGZyb20gXCIuLi8uLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlXCI7XG5pbXBvcnQgeyBURVJNX1JVTEVfTkFNRSwgU1RBVEVNRU5UX1JVTEVfTkFNRSwgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUsIE1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi8qL3ZhcmlhYmxlIVwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhQXJndW1lbnQvc3RhdGVtZW50XCIpLFxuICAgICAgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvbWV0YXZhcmlhYmxlIVwiKSxcbiAgICAgIHN1YnN0aXR1dGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L3N1YnN0aXR1dGlvbiFcIik7XG5cbmNsYXNzIE1ldGFMZXZlbFRvSW50cmluc2ljTGV2ZWxOb2Rlc1ZlcmlmaWVyIGV4dGVuZHMgTm9kZXNWZXJpZmllciB7XG4gIHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgc3dpdGNoIChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgLy8vXG4gICAgICAgICAgICAgIG1ldGFBcmd1bWVudE5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5TWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFBcmd1bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgVEVSTV9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3QgdGVybU5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgLy8vXG4gICAgICAgICAgICAgIGxvY2FsQ29udGV4dEEgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0QSksXG4gICAgICAgICAgICAgIHRlcm1Ob2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVRlcm1Ob2RlKHRlcm1Ob2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdGVybU5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBzdXBlci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5TWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVCLmdldFJ1bGVOYW1lKCk7XG5cbiAgICBzd2l0Y2ggKG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSkge1xuICAgICAgY2FzZSBNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRToge1xuICAgICAgICBjb25zdCBtZXRhQXJndW1lbnROb2RlQiA9IG5vblRlcm1pbmFsTm9kZUIsIC8vL1xuICAgICAgICAgICAgICBtZXRhQXJndW1lbnROb2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeU1ldGFBcmd1bWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBtZXRhQXJndW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgbWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZCA9IG1ldGFBcmd1bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgU1RBVEVNRU5UX1JVTEVfTkFNRToge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlQiA9IG5vblRlcm1pbmFsTm9kZUIsICAvLy9cbiAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlTdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZWQgPSBzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7ICAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeU1ldGFBcmd1bWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBtZXRhQXJndW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBtZXRhQXJndW1lbnROb2RlVmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN0YXRlbWVudE5vZGVCID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFBcmd1bWVudE5vZGVCKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlQSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZUEpO1xuXG4gICAgaWYgKChtZXRhdmFyaWFibGVOb2RlQSAhPT0gbnVsbCkgJiYgKHN0YXRlbWVudE5vZGVCICE9PSBudWxsKSkge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uTm9kZUEgPSBzdWJzdGl0dXRpb25Ob2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGVBKSxcbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlQSwgc3Vic3RpdHV0aW9uTm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgbWV0YUFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gbWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFBcmd1bWVudE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZUEsIHN1YnN0aXR1dGlvbk5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBtZXRhdmFyaWFibGVOb2RlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmQoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBID0gc3Vic3RpdHV0aW9uLm1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlQSk7XG5cbiAgICAgIGlmIChzdWJzdGl0dXRpb25NYXRjaGVzTWV0YXZhcmlhYmxlTm9kZUEpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSkgfHwgbnVsbDtcblxuICAgIGlmIChzdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdWJzdGl0dXRpb24uZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgICAgbG9jYWxDb250ZXh0QSA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHRBKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbk5vZGVBICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbk5vZGUgPSBzdWJzdGl0dXRpb25Ob2RlQSwgLy8vXG4gICAgICAgICAgICAgIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tU3Vic3RpdHV0aW9uTm9kZShzdWJzdGl0dXRpb25Ob2RlKSxcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uLCAvLy9cbiAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZUEgPSBzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICAgIG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCA9IHN0YXRlbWVudE5vZGVNYXRjaGVzOyAgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgICAgICBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbi5tYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgICAgbWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkID0gc3RhdGVtZW50Tm9kZU1hdGNoZXM7ICAvLy9cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uTm9kZSA9IHN1YnN0aXR1dGlvbk5vZGVBLCAvLy9cbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlQSwgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uRnJvbVN1YnN0aXR1dGlvbk5vZGVNZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZShzdWJzdGl0dXRpb25Ob2RlLCBtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgc3Vic3RpdHV0aW9ucy5wdXNoKHN1YnN0aXR1dGlvbik7XG5cbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlQSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZUEpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZU5vZGVBICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25Ob2RlQSA9IG51bGwsIC8vL1xuICAgICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBLCBzdWJzdGl0dXRpb25Ob2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICBzdGF0ZW1lbnROb2RlVmVyaWZpZWQgPSBtZXRhdmFyaWFibGVOb2RlVmVyaWZpZWQ7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IG1ldGFzdGF0ZW1lbnROb2RlQSwgIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IHN0YXRlbWVudE5vZGVCLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVCLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgIGNoaWxkTm9kZXNBID0gbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2Rlc0IgPSBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZpZWQgPSBzdXBlci52ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgIHN0YXRlbWVudE5vZGVWZXJpZmllZCA9IGNoaWxkTm9kZXNWZXJpZmllZDsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlUZXJtTm9kZSh0ZXJtTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgdGVybU5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpO1xuXG4gICAgc3dpdGNoIChub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgVEVSTV9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVOb2RlQSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlQSk7XG5cbiAgICAgICAgaWYgKHZhcmlhYmxlTm9kZUEgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCB0ZXJtTm9kZUIgPSBub25UZXJtaW5hbE5vZGVCLCAvLy9cbiAgICAgICAgICAgICAgICBsb2NhbENvbnRleHRBID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dEEpLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQSwgdGVybU5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICB0ZXJtTm9kZVZlcmlmaWVkID0gdmFyaWFibGVOb2RlVmVyaWZpZWQ7IC8vL1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSB0ZXJtTm9kZUEsIC8vL1xuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSB0ZXJtTm9kZUIsIC8vL1xuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3VwZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgdGVybU5vZGVWZXJpZmllZCA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAvLy9cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0ZXJtTm9kZVZlcmlmaWVkO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oTWV0YUxldmVsVG9JbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXIucHJvdG90eXBlLCBpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXJNaXhpbnMpO1xuXG5jb25zdCBtZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllciA9IG5ldyBNZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllcjtcblxuZnVuY3Rpb24gc3Vic3RpdHV0aW9uRnJvbVN1YnN0aXR1dGlvbk5vZGVNZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZShzdWJzdGl0dXRpb25Ob2RlLCBtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlKSB7XG4gIGxldCBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247XG5cbiAgaWYgKHN1YnN0aXR1dGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVN1YnN0aXR1dGlvbk5vZGUoc3Vic3RpdHV0aW9uTm9kZSksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uOyAvLy9cblxuICAgIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tTWV0YXZhcmlhYmxlTm9kZVN0YXRlbWVudE5vZGVBbmRTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9uKTtcbiAgfSBlbHNlIHtcbiAgICBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbU1ldGF2YXJpYWJsZU5vZGVBbmRTdGF0ZW1lbnROb2RlKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgY29uc3Qgc3Vic3RpdHV0aW9uID0gc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uOyAgLy8vXG5cbiAgcmV0dXJuIHN1YnN0aXR1dGlvbjtcbn1cbiJdLCJuYW1lcyI6WyJ2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsInN1YnN0aXR1dGlvbk5vZGVRdWVyeSIsIk1ldGFMZXZlbFRvSW50cmluc2ljTGV2ZWxOb2Rlc1ZlcmlmaWVyIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJzdWJzdGl0dXRpb25zIiwiZmlsZUNvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInZlcmlmeUFoZWFkIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIk1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwibWV0YXN0YXRlbWVudE5vZGVBIiwibWV0YUFyZ3VtZW50Tm9kZVZlcmlmaWVkIiwidmVyaWZ5TWV0YXN0YXRlbWVudE5vZGUiLCJURVJNX1JVTEVfTkFNRSIsInRlcm1Ob2RlQSIsImxvY2FsQ29udGV4dEEiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJ0ZXJtTm9kZVZlcmlmaWVkIiwidmVyaWZ5VGVybU5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkIiwibm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lIiwiTUVUQV9BUkdVTUVOVF9SVUxFX05BTUUiLCJtZXRhQXJndW1lbnROb2RlQiIsInZlcmlmeU1ldGFBcmd1bWVudE5vZGUiLCJTVEFURU1FTlRfUlVMRV9OQU1FIiwic3RhdGVtZW50Tm9kZUIiLCJzdGF0ZW1lbnROb2RlVmVyaWZpZWQiLCJ2ZXJpZnlTdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZUEiLCJzdWJzdGl0dXRpb25Ob2RlQSIsIm1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCIsInZlcmlmeU1ldGF2YXJpYWJsZU5vZGUiLCJzdWJzdGl0dXRpb24iLCJmaW5kIiwic3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwic3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJzdWJzdGl0dXRpb25Ob2RlIiwidGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbVN1YnN0aXR1dGlvbk5vZGUiLCJzdGF0ZW1lbnROb2RlQSIsInN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbkZyb21TdWJzdGl0dXRpb25Ob2RlTWV0YXZhcmlhYmxlTm9kZUFuZFN0YXRlbWVudE5vZGUiLCJwdXNoIiwibm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwibm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMiLCJjaGlsZE5vZGVzQSIsImNoaWxkTm9kZXNCIiwiY2hpbGROb2Rlc1ZlcmlmaWVkIiwidmVyaWZ5Q2hpbGROb2RlcyIsInZhcmlhYmxlTm9kZUEiLCJ0ZXJtTm9kZUIiLCJ2YXJpYWJsZU5vZGVWZXJpZmllZCIsInZlcmlmeVZhcmlhYmxlTm9kZSIsIk5vZGVzVmVyaWZpZXIiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXJNaXhpbnMiLCJtZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllciIsInN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsIlN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlU3RhdGVtZW50Tm9kZUFuZFN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBb01BOzs7ZUFBQTs7OzREQWxNeUI7NERBQ0M7c0VBQ2M7cUVBQ007Z0ZBQ0c7cUJBRXZCO3lCQUU0RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEcsSUFBTUEsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDLGlCQUM5QkMscUJBQXFCRCxJQUFBQSxnQkFBUyxFQUFDLDRCQUMvQkUsd0JBQXdCRixJQUFBQSxnQkFBUyxFQUFDLGlDQUNsQ0csd0JBQXdCSCxJQUFBQSxnQkFBUyxFQUFDO0FBRXhDLElBQUEsQUFBTUksdURBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCQyxnQkFBZ0IsRUFBRUMsZ0JBQWdCLEVB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
|
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy9tZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi8uLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vLi4vdmVyaWZpZXIvbm9kZXNcIjtcbmltcG9ydCBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gZnJvbSBcIi4uLy4uL3N1YnN0aXR1dGlvbi90ZXJtRm9yVmFyaWFibGVcIjtcbmltcG9ydCBpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXJNaXhpbnMgZnJvbSBcIi4uLy4uL21peGlucy9ub2Rlc1ZlcmlmaWVyL2ludHJpbnNpY2xldmVsXCI7XG5pbXBvcnQgU3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi8uLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1hdGNoU3RhdGVtZW50Tm9kZSB9IGZyb20gXCIuLi8uLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlXCI7XG5pbXBvcnQgeyBURVJNX1JVTEVfTkFNRSwgU1RBVEVNRU5UX1JVTEVfTkFNRSwgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUsIE1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi8qL3ZhcmlhYmxlIVwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhQXJndW1lbnQvc3RhdGVtZW50XCIpLFxuICAgICAgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvbWV0YXZhcmlhYmxlIVwiKSxcbiAgICAgIHN1YnN0aXR1dGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L3N1YnN0aXR1dGlvbiFcIik7XG5cbmNsYXNzIE1ldGFMZXZlbFRvSW50cmluc2ljTGV2ZWxOb2Rlc1ZlcmlmaWVyIGV4dGVuZHMgTm9kZXNWZXJpZmllciB7XG4gIHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgc3dpdGNoIChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgLy8vXG4gICAgICAgICAgICAgIG1ldGFBcmd1bWVudE5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5TWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFBcmd1bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgVEVSTV9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3QgdGVybU5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgLy8vXG4gICAgICAgICAgICAgIGxvY2FsQ29udGV4dEEgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0QSksXG4gICAgICAgICAgICAgIHRlcm1Ob2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVRlcm1Ob2RlKHRlcm1Ob2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdGVybU5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBzdXBlci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5TWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVCLmdldFJ1bGVOYW1lKCk7XG5cbiAgICBzd2l0Y2ggKG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSkge1xuICAgICAgY2FzZSBNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRToge1xuICAgICAgICBjb25zdCBtZXRhQXJndW1lbnROb2RlQiA9IG5vblRlcm1pbmFsTm9kZUIsIC8vL1xuICAgICAgICAgICAgICBtZXRhQXJndW1lbnROb2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeU1ldGFBcmd1bWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBtZXRhQXJndW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgbWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZCA9IG1ldGFBcmd1bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgU1RBVEVNRU5UX1JVTEVfTkFNRToge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlQiA9IG5vblRlcm1pbmFsTm9kZUIsICAvLy9cbiAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlTdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZWQgPSBzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7ICAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeU1ldGFBcmd1bWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBtZXRhQXJndW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBtZXRhQXJndW1lbnROb2RlVmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN0YXRlbWVudE5vZGVCID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFBcmd1bWVudE5vZGVCKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlQSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZUEpO1xuXG4gICAgaWYgKChtZXRhdmFyaWFibGVOb2RlQSAhPT0gbnVsbCkgJiYgKHN0YXRlbWVudE5vZGVCICE9PSBudWxsKSkge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uTm9kZUEgPSBzdWJzdGl0dXRpb25Ob2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGVBKSxcbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlQSwgc3Vic3RpdHV0aW9uTm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgbWV0YUFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gbWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFBcmd1bWVudE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlQSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZUEpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZU5vZGVBICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25Ob2RlQSA9IHN1YnN0aXR1dGlvbk5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZUEpLFxuICAgICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBLCBzdWJzdGl0dXRpb25Ob2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICBzdGF0ZW1lbnROb2RlVmVyaWZpZWQgPSBtZXRhdmFyaWFibGVOb2RlVmVyaWZpZWQ7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IG1ldGFzdGF0ZW1lbnROb2RlQSwgIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IHN0YXRlbWVudE5vZGVCLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVCLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgIGNoaWxkTm9kZXNBID0gbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2Rlc0IgPSBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZpZWQgPSBzdXBlci52ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgIHN0YXRlbWVudE5vZGVWZXJpZmllZCA9IGNoaWxkTm9kZXNWZXJpZmllZDsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBLCBzdWJzdGl0dXRpb25Ob2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgbWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkO1xuXG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9ucy5maW5kKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNNZXRhdmFyaWFibGVOb2RlQSA9IHN1YnN0aXR1dGlvbi5tYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZUEpO1xuXG4gICAgICBpZiAoc3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pIHx8IG51bGw7XG5cbiAgICBpZiAoc3Vic3RpdHV0aW9uICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3Vic3RpdHV0aW9uLmdldFN0YXRlbWVudE5vZGUoKSxcbiAgICAgICAgICAgIGxvY2FsQ29udGV4dEEgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0QSk7XG5cbiAgICAgIGlmIChzdWJzdGl0dXRpb25Ob2RlQSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25Ob2RlID0gc3Vic3RpdHV0aW9uTm9kZUEsIC8vL1xuICAgICAgICAgICAgICB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVN1YnN0aXR1dGlvbk5vZGUoc3Vic3RpdHV0aW9uTm9kZSksXG4gICAgICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiwgLy8vXG4gICAgICAgICAgICAgIHN0YXRlbWVudE5vZGVBID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9uLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgICBtZXRhdmFyaWFibGVOb2RlVmVyaWZpZWQgPSBzdGF0ZW1lbnROb2RlTWF0Y2hlczsgIC8vL1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVCLCAvLy9cbiAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBzdWJzdGl0dXRpb24ubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICAgIG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCA9IHN0YXRlbWVudE5vZGVNYXRjaGVzOyAgLy8vXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbk5vZGUgPSBzdWJzdGl0dXRpb25Ob2RlQSwgLy8vXG4gICAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZUEsIC8vL1xuICAgICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVCLCAvLy9cbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbkZyb21TdWJzdGl0dXRpb25Ob2RlTWV0YXZhcmlhYmxlTm9kZUFuZFN0YXRlbWVudE5vZGUoc3Vic3RpdHV0aW9uTm9kZSwgbWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIHN1YnN0aXR1dGlvbnMucHVzaChzdWJzdGl0dXRpb24pO1xuXG4gICAgICBtZXRhdmFyaWFibGVOb2RlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVOb2RlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlUZXJtTm9kZSh0ZXJtTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgdGVybU5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQi5nZXRSdWxlTmFtZSgpO1xuXG4gICAgc3dpdGNoIChub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgVEVSTV9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3QgdmFyaWFibGVOb2RlQSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlQSk7XG5cbiAgICAgICAgaWYgKHZhcmlhYmxlTm9kZUEgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCB0ZXJtTm9kZUIgPSBub25UZXJtaW5hbE5vZGVCLCAvLy9cbiAgICAgICAgICAgICAgICBsb2NhbENvbnRleHRBID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dEEpLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlQSwgdGVybU5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICB0ZXJtTm9kZVZlcmlmaWVkID0gdmFyaWFibGVOb2RlVmVyaWZpZWQ7IC8vL1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUEgPSB0ZXJtTm9kZUEsIC8vL1xuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSB0ZXJtTm9kZUIsIC8vL1xuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3VwZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgdGVybU5vZGVWZXJpZmllZCA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAvLy9cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0ZXJtTm9kZVZlcmlmaWVkO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oTWV0YUxldmVsVG9JbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXIucHJvdG90eXBlLCBpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXJNaXhpbnMpO1xuXG5jb25zdCBtZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllciA9IG5ldyBNZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllcjtcblxuZnVuY3Rpb24gc3Vic3RpdHV0aW9uRnJvbVN1YnN0aXR1dGlvbk5vZGVNZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZShzdWJzdGl0dXRpb25Ob2RlLCBtZXRhdmFyaWFibGVOb2RlLCBzdGF0ZW1lbnROb2RlKSB7XG4gIGxldCBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247XG5cbiAgaWYgKHN1YnN0aXR1dGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCB0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24gPSBUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVN1YnN0aXR1dGlvbk5vZGUoc3Vic3RpdHV0aW9uTm9kZSksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uID0gdGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uOyAvLy9cblxuICAgIHN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tTWV0YXZhcmlhYmxlTm9kZVN0YXRlbWVudE5vZGVBbmRTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9uKTtcbiAgfSBlbHNlIHtcbiAgICBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbU1ldGF2YXJpYWJsZU5vZGVBbmRTdGF0ZW1lbnROb2RlKG1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgY29uc3Qgc3Vic3RpdHV0aW9uID0gc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uOyAgLy8vXG5cbiAgcmV0dXJuIHN1YnN0aXR1dGlvbjtcbn1cbiJdLCJuYW1lcyI6WyJ2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsInN1YnN0aXR1dGlvbk5vZGVRdWVyeSIsIk1ldGFMZXZlbFRvSW50cmluc2ljTGV2ZWxOb2Rlc1ZlcmlmaWVyIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJzdWJzdGl0dXRpb25zIiwiZmlsZUNvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInZlcmlmeUFoZWFkIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIk1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwibWV0YXN0YXRlbWVudE5vZGVBIiwibWV0YUFyZ3VtZW50Tm9kZVZlcmlmaWVkIiwidmVyaWZ5TWV0YXN0YXRlbWVudE5vZGUiLCJURVJNX1JVTEVfTkFNRSIsInRlcm1Ob2RlQSIsImxvY2FsQ29udGV4dEEiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJ0ZXJtTm9kZVZlcmlmaWVkIiwidmVyaWZ5VGVybU5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkIiwibm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lIiwiTUVUQV9BUkdVTUVOVF9SVUxFX05BTUUiLCJtZXRhQXJndW1lbnROb2RlQiIsInZlcmlmeU1ldGFBcmd1bWVudE5vZGUiLCJTVEFURU1FTlRfUlVMRV9OQU1FIiwic3RhdGVtZW50Tm9kZUIiLCJzdGF0ZW1lbnROb2RlVmVyaWZpZWQiLCJ2ZXJpZnlTdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZUEiLCJzdWJzdGl0dXRpb25Ob2RlQSIsIm1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCIsInZlcmlmeU1ldGF2YXJpYWJsZU5vZGUiLCJub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyIsImNoaWxkTm9kZXNBIiwiY2hpbGROb2Rlc0IiLCJjaGlsZE5vZGVzVmVyaWZpZWQiLCJ2ZXJpZnlDaGlsZE5vZGVzIiwic3Vic3RpdHV0aW9uIiwiZmluZCIsInN1YnN0aXR1dGlvbk1hdGNoZXNNZXRhdmFyaWFibGVOb2RlQSIsIm1hdGNoTWV0YXZhcmlhYmxlTm9kZSIsInN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9uTm9kZSIsInRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsIlRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21TdWJzdGl0dXRpb25Ob2RlIiwic3RhdGVtZW50Tm9kZUEiLCJzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJzdWJzdGl0dXRpb25Gcm9tU3Vic3RpdHV0aW9uTm9kZU1ldGF2YXJpYWJsZU5vZGVBbmRTdGF0ZW1lbnROb2RlIiwicHVzaCIsInZhcmlhYmxlTm9kZUEiLCJ0ZXJtTm9kZUIiLCJ2YXJpYWJsZU5vZGVWZXJpZmllZCIsInZlcmlmeVZhcmlhYmxlTm9kZSIsIk5vZGVzVmVyaWZpZXIiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXJNaXhpbnMiLCJtZXRhTGV2ZWxUb0ludHJpbnNpY0xldmVsTm9kZXNWZXJpZmllciIsInN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsIlN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlU3RhdGVtZW50Tm9kZUFuZFN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlQW5kU3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBb01BOzs7ZUFBQTs7OzREQWxNeUI7NERBQ0M7c0VBQ2M7cUVBQ007Z0ZBQ0c7cUJBRXZCO3lCQUU0RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEcsSUFBTUEsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDLGlCQUM5QkMscUJBQXFCRCxJQUFBQSxnQkFBUyxFQUFDLDRCQUMvQkUsd0JBQXdCRixJQUFBQSxnQkFBUyxFQUFDLGlDQUNsQ0csd0JBQXdCSCxJQUFBQSxnQkFBUyxFQUFDO0FBRXhDLElBQUEsQUFBTUksdURBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FB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
|
|
@@ -0,0 +1,221 @@
|
|
|
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 _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _nodes = /*#__PURE__*/ _interop_require_default(require("../../verifier/nodes"));
|
|
12
|
+
var _termForVariable = /*#__PURE__*/ _interop_require_default(require("../../substitution/termForVariable"));
|
|
13
|
+
var _query = require("../../utilities/query");
|
|
14
|
+
var _ruleNames = require("../../ruleNames");
|
|
15
|
+
function _assert_this_initialized(self) {
|
|
16
|
+
if (self === void 0) {
|
|
17
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
18
|
+
}
|
|
19
|
+
return self;
|
|
20
|
+
}
|
|
21
|
+
function _class_call_check(instance, Constructor) {
|
|
22
|
+
if (!(instance instanceof Constructor)) {
|
|
23
|
+
throw new TypeError("Cannot call a class as a function");
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function _defineProperties(target, props) {
|
|
27
|
+
for(var i = 0; i < props.length; i++){
|
|
28
|
+
var descriptor = props[i];
|
|
29
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
30
|
+
descriptor.configurable = true;
|
|
31
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
32
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
36
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
37
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
38
|
+
return Constructor;
|
|
39
|
+
}
|
|
40
|
+
function _get(target, property, receiver) {
|
|
41
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
42
|
+
_get = Reflect.get;
|
|
43
|
+
} else {
|
|
44
|
+
_get = function get(target, property, receiver) {
|
|
45
|
+
var base = _super_prop_base(target, property);
|
|
46
|
+
if (!base) return;
|
|
47
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
48
|
+
if (desc.get) {
|
|
49
|
+
return desc.get.call(receiver || target);
|
|
50
|
+
}
|
|
51
|
+
return desc.value;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return _get(target, property, receiver || target);
|
|
55
|
+
}
|
|
56
|
+
function _get_prototype_of(o) {
|
|
57
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
58
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
59
|
+
};
|
|
60
|
+
return _get_prototype_of(o);
|
|
61
|
+
}
|
|
62
|
+
function _inherits(subClass, superClass) {
|
|
63
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
64
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
65
|
+
}
|
|
66
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
67
|
+
constructor: {
|
|
68
|
+
value: subClass,
|
|
69
|
+
writable: true,
|
|
70
|
+
configurable: true
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
74
|
+
}
|
|
75
|
+
function _interop_require_default(obj) {
|
|
76
|
+
return obj && obj.__esModule ? obj : {
|
|
77
|
+
default: obj
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function _possible_constructor_return(self, call) {
|
|
81
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
82
|
+
return call;
|
|
83
|
+
}
|
|
84
|
+
return _assert_this_initialized(self);
|
|
85
|
+
}
|
|
86
|
+
function _set_prototype_of(o, p) {
|
|
87
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
88
|
+
o.__proto__ = p;
|
|
89
|
+
return o;
|
|
90
|
+
};
|
|
91
|
+
return _set_prototype_of(o, p);
|
|
92
|
+
}
|
|
93
|
+
function _super_prop_base(object, property) {
|
|
94
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
95
|
+
object = _get_prototype_of(object);
|
|
96
|
+
if (object === null) break;
|
|
97
|
+
}
|
|
98
|
+
return object;
|
|
99
|
+
}
|
|
100
|
+
function _type_of(obj) {
|
|
101
|
+
"@swc/helpers - typeof";
|
|
102
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
103
|
+
}
|
|
104
|
+
function _is_native_reflect_construct() {
|
|
105
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
106
|
+
if (Reflect.construct.sham) return false;
|
|
107
|
+
if (typeof Proxy === "function") return true;
|
|
108
|
+
try {
|
|
109
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
110
|
+
return true;
|
|
111
|
+
} catch (e) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function _create_super(Derived) {
|
|
116
|
+
var hasNativeReflectConstruct = _is_native_reflect_construct();
|
|
117
|
+
return function _createSuperInternal() {
|
|
118
|
+
var Super = _get_prototype_of(Derived), result;
|
|
119
|
+
if (hasNativeReflectConstruct) {
|
|
120
|
+
var NewTarget = _get_prototype_of(this).constructor;
|
|
121
|
+
result = Reflect.construct(Super, arguments, NewTarget);
|
|
122
|
+
} else {
|
|
123
|
+
result = Super.apply(this, arguments);
|
|
124
|
+
}
|
|
125
|
+
return _possible_constructor_return(this, result);
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
var variableNodeQuery = (0, _query.nodeQuery)("/term/variable");
|
|
129
|
+
var SubstitutionNodesVerifier = /*#__PURE__*/ function(NodesVerifier) {
|
|
130
|
+
_inherits(SubstitutionNodesVerifier, NodesVerifier);
|
|
131
|
+
var _super = _create_super(SubstitutionNodesVerifier);
|
|
132
|
+
function SubstitutionNodesVerifier() {
|
|
133
|
+
_class_call_check(this, SubstitutionNodesVerifier);
|
|
134
|
+
return _super.apply(this, arguments);
|
|
135
|
+
}
|
|
136
|
+
_create_class(SubstitutionNodesVerifier, [
|
|
137
|
+
{
|
|
138
|
+
key: "verifyNonTerminalNode",
|
|
139
|
+
value: function verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead) {
|
|
140
|
+
var nonTerminalNodeVerified = false;
|
|
141
|
+
var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName();
|
|
142
|
+
if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
|
|
143
|
+
var ruleName = nonTerminalNodeARuleName; ///
|
|
144
|
+
switch(ruleName){
|
|
145
|
+
case _ruleNames.TERM_RULE_NAME:
|
|
146
|
+
{
|
|
147
|
+
var termNodeA = nonTerminalNodeA, termNodeB = nonTerminalNodeB, termNodeVerified = this.verifyTermNode(termNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
148
|
+
nonTerminalNodeVerified = termNodeVerified; ///
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
default:
|
|
152
|
+
{
|
|
153
|
+
nonTerminalNodeVerified = _get(_get_prototype_of(SubstitutionNodesVerifier.prototype), "verifyNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return nonTerminalNodeVerified;
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
key: "verifyTermNode",
|
|
163
|
+
value: function verifyTermNode(termNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
|
|
164
|
+
var termNodeVerified;
|
|
165
|
+
var variableNodeA = variableNodeQuery(termNodeA);
|
|
166
|
+
if (variableNodeA !== null) {
|
|
167
|
+
var variableNodeVerified = this.verifyVariableNode(variableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
168
|
+
termNodeVerified = variableNodeVerified; ///
|
|
169
|
+
} else {
|
|
170
|
+
var nonTerminalNodeA = termNodeA, nonTerminalNodeB = termNodeB, nonTerminalNodeVerified = _get(_get_prototype_of(SubstitutionNodesVerifier.prototype), "verifyNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
171
|
+
termNodeVerified = nonTerminalNodeVerified; ///
|
|
172
|
+
}
|
|
173
|
+
return termNodeVerified;
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
key: "verifyVariableNode",
|
|
178
|
+
value: function verifyVariableNode(variableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
|
|
179
|
+
var variableNodeVerified = false;
|
|
180
|
+
var variableNodeB = variableNodeQuery(termNodeB);
|
|
181
|
+
if (variableNodeB !== null) {
|
|
182
|
+
var variableNodeAMatchedVariableNodeB = variableNodeA.match(variableNodeB);
|
|
183
|
+
if (variableNodeAMatchedVariableNodeB) {
|
|
184
|
+
var verifiedAhead = verifyAhead();
|
|
185
|
+
variableNodeVerified = verifiedAhead;
|
|
186
|
+
}
|
|
187
|
+
} else {
|
|
188
|
+
var variableNode = variableNodeA; ///
|
|
189
|
+
var substitution = substitutions.find(function(substitution) {
|
|
190
|
+
var matches = substitution.matchVariableNode(variableNode);
|
|
191
|
+
if (matches) {
|
|
192
|
+
return true;
|
|
193
|
+
}
|
|
194
|
+
}) || null;
|
|
195
|
+
if (substitution !== null) {
|
|
196
|
+
var termNode = termNodeB, termNodeMatches = substitution.matchTermNode(termNode);
|
|
197
|
+
if (termNodeMatches) {
|
|
198
|
+
var verifiedAhead1 = verifyAhead();
|
|
199
|
+
variableNodeVerified = verifiedAhead1; ///
|
|
200
|
+
}
|
|
201
|
+
} else {
|
|
202
|
+
var verifiedAhead2;
|
|
203
|
+
var termNode1 = termNodeB, termForVariableSubstitution = _termForVariable.default.fromVariableNodeAndTermNode(variableNode, termNode1), substitution1 = termForVariableSubstitution; ///
|
|
204
|
+
substitutions.push(substitution1);
|
|
205
|
+
verifiedAhead2 = verifyAhead();
|
|
206
|
+
if (!verifiedAhead2) {
|
|
207
|
+
substitutions.pop();
|
|
208
|
+
}
|
|
209
|
+
variableNodeVerified = verifiedAhead2;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return variableNodeVerified;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
]);
|
|
216
|
+
return SubstitutionNodesVerifier;
|
|
217
|
+
}(_nodes.default);
|
|
218
|
+
var substitutionNodesVerifier = new SubstitutionNodesVerifier();
|
|
219
|
+
var _default = substitutionNodesVerifier;
|
|
220
|
+
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy9zdWJzdGl0dXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi8uLi92ZXJpZmllci9ub2Rlc1wiO1xuXG5pbXBvcnQgVGVybUZvclZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi8uLi9zdWJzdGl0dXRpb24vdGVybUZvclZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IFRFUk1fUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL3ZhcmlhYmxlXCIpO1xuXG5jbGFzcyBTdWJzdGl0dXRpb25Ob2Rlc1ZlcmlmaWVyIGV4dGVuZHMgTm9kZXNWZXJpZmllciB7XG4gIHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUIuZ2V0UnVsZU5hbWUoKTtcblxuICAgIGlmIChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPT09IG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSkge1xuICAgICAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWU7ICAvLy9cblxuICAgICAgc3dpdGNoIChydWxlTmFtZSkge1xuICAgICAgICBjYXNlIFRFUk1fUlVMRV9OQU1FOiB7XG4gICAgICAgICAgY29uc3QgdGVybU5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgLy8vXG4gICAgICAgICAgICAgICAgdGVybU5vZGVCID0gbm9uVGVybWluYWxOb2RlQiwgLy8vXG4gICAgICAgICAgICAgICAgdGVybU5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5VGVybU5vZGUodGVybU5vZGVBLCB0ZXJtTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdGVybU5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHN1cGVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVRlcm1Ob2RlKHRlcm1Ob2RlQSwgdGVybU5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCB0ZXJtTm9kZVZlcmlmaWVkO1xuXG4gICAgY29uc3QgdmFyaWFibGVOb2RlQSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlQSk7XG5cbiAgICBpZiAodmFyaWFibGVOb2RlQSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGVOb2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGVBLCB0ZXJtTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgdGVybU5vZGVWZXJpZmllZCA9IHZhcmlhYmxlTm9kZVZlcmlmaWVkOyAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IHRlcm1Ob2RlQSwgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gdGVybU5vZGVCLCAvLy9cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3VwZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgdGVybU5vZGVWZXJpZmllZCA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gdGVybU5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGVBLCB0ZXJtTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IHZhcmlhYmxlTm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCB2YXJpYWJsZU5vZGVCID0gdmFyaWFibGVOb2RlUXVlcnkodGVybU5vZGVCKTtcblxuICAgIGlmICh2YXJpYWJsZU5vZGVCICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB2YXJpYWJsZU5vZGVBTWF0Y2hlZFZhcmlhYmxlTm9kZUIgPSB2YXJpYWJsZU5vZGVBLm1hdGNoKHZhcmlhYmxlTm9kZUIpO1xuXG4gICAgICBpZiAodmFyaWFibGVOb2RlQU1hdGNoZWRWYXJpYWJsZU5vZGVCKSB7XG4gICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICAgIHZhcmlhYmxlTm9kZVZlcmlmaWVkID0gdmVyaWZpZWRBaGVhZDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlQTsgLy8vXG5cbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZmluZCgoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSBzdWJzdGl0dXRpb24ubWF0Y2hWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKTtcblxuICAgICAgICBpZiAobWF0Y2hlcykge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KSB8fCBudWxsO1xuXG4gICAgICBpZiAoc3Vic3RpdHV0aW9uICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHRlcm1Ob2RlID0gdGVybU5vZGVCLCAvLy9cbiAgICAgICAgICAgICAgdGVybU5vZGVNYXRjaGVzID0gc3Vic3RpdHV0aW9uLm1hdGNoVGVybU5vZGUodGVybU5vZGUpO1xuXG4gICAgICAgIGlmICh0ZXJtTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgICAgICAgIHZhcmlhYmxlTm9kZVZlcmlmaWVkID0gdmVyaWZpZWRBaGVhZDsgIC8vL1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgICAgICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlQiwgLy8vXG4gICAgICAgICAgICAgIHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbiA9IFRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tVmFyaWFibGVOb2RlQW5kVGVybU5vZGUodmFyaWFibGVOb2RlLCB0ZXJtTm9kZSksXG4gICAgICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHRlcm1Gb3JWYXJpYWJsZVN1YnN0aXR1dGlvbjsgLy8vXG5cbiAgICAgICAgc3Vic3RpdHV0aW9ucy5wdXNoKHN1YnN0aXR1dGlvbik7XG5cbiAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG5cbiAgICAgICAgaWYgKCF2ZXJpZmllZEFoZWFkKSB7XG4gICAgICAgICAgc3Vic3RpdHV0aW9ucy5wb3AoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhcmlhYmxlTm9kZVZlcmlmaWVkID0gdmVyaWZpZWRBaGVhZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGVOb2RlVmVyaWZpZWQ7XG4gIH1cbn1cblxuY29uc3Qgc3Vic3RpdHV0aW9uTm9kZXNWZXJpZmllciA9IG5ldyBTdWJzdGl0dXRpb25Ob2Rlc1ZlcmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHN1YnN0aXR1dGlvbk5vZGVzVmVyaWZpZXI7XG4iXSwibmFtZXMiOlsidmFyaWFibGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJTdWJzdGl0dXRpb25Ob2Rlc1ZlcmlmaWVyIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJ2ZXJpZnlBaGVhZCIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUiLCJydWxlTmFtZSIsIlRFUk1fUlVMRV9OQU1FIiwidGVybU5vZGVBIiwidGVybU5vZGVCIiwidGVybU5vZGVWZXJpZmllZCIsInZlcmlmeVRlcm1Ob2RlIiwidmFyaWFibGVOb2RlQSIsInZhcmlhYmxlTm9kZVZlcmlmaWVkIiwidmVyaWZ5VmFyaWFibGVOb2RlIiwidmFyaWFibGVOb2RlQiIsInZhcmlhYmxlTm9kZUFNYXRjaGVkVmFyaWFibGVOb2RlQiIsIm1hdGNoIiwidmVyaWZpZWRBaGVhZCIsInZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbiIsImZpbmQiLCJtYXRjaGVzIiwibWF0Y2hWYXJpYWJsZU5vZGUiLCJ0ZXJtTm9kZSIsInRlcm1Ob2RlTWF0Y2hlcyIsIm1hdGNoVGVybU5vZGUiLCJ0ZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJUZXJtRm9yVmFyaWFibGVTdWJzdGl0dXRpb24iLCJmcm9tVmFyaWFibGVOb2RlQW5kVGVybU5vZGUiLCJwdXNoIiwicG9wIiwiTm9kZXNWZXJpZmllciIsInN1YnN0aXR1dGlvbk5vZGVzVmVyaWZpZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXlIQTs7O2VBQUE7Ozs0REF2SDBCO3NFQUVjO3FCQUVkO3lCQUNLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0IsSUFBTUEsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXBDLElBQUEsQUFBTUMsMENBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCQyxnQkFBZ0IsRUFBRUMsZ0JBQWdCLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLFdBQVc7Z0JBQ2hILElBQUlDLDBCQUEwQjtnQkFFOUIsSUFBTUMsMkJBQTJCUCxpQkFBaUJRLFdBQVcsSUFDdkRDLDJCQUEyQlIsaUJBQWlCTyxXQUFXO2dCQUU3RCxJQUFJRCw2QkFBNkJFLDBCQUEwQjtvQkFDekQsSUFBTUMsV0FBV0gsMEJBQTJCLEdBQUc7b0JBRS9DLE9BQVFHO3dCQUNOLEtBQUtD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
|
|
@@ -11,24 +11,43 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _array = require("../utilities/array");
|
|
12
12
|
var _constants = require("../constants");
|
|
13
13
|
var _query = require("../utilities/query");
|
|
14
|
-
var
|
|
14
|
+
var termNodeQuery = (0, _query.nodeQuery)("/argument/term!"), variableNodeQuery = (0, _query.nodeQuery)("/argument/term/variable!"), metaArgumentTermNodesQuery = (0, _query.nodesQuery)("/metaArgument//term"), metaArgumentVariableNodesQuery = (0, _query.nodesQuery)("/metaArgument//variable");
|
|
15
15
|
function verifyContainment(argumentNode, containmentNode, metaArgumentNode, context) {
|
|
16
16
|
var containmentVerified = false;
|
|
17
|
-
var
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
var contained = containedFromContainmentNode(containmentNode), termNode = termNodeQuery(argumentNode), variableNode = variableNodeQuery(argumentNode);
|
|
18
|
+
if (false) {
|
|
19
|
+
///
|
|
20
|
+
} else if (variableNode !== null) {
|
|
21
|
+
var metaArgumentVariableNodes = metaArgumentVariableNodesQuery(metaArgumentNode), variableNodeMatchesMetaArgumentVariableNode = metaArgumentVariableNodes.some(function(metaArgumentVariableNode) {
|
|
22
|
+
var variableNodeMatchesMetaArgumentVariableNode = variableNode.match(metaArgumentVariableNode);
|
|
23
|
+
if (variableNodeMatchesMetaArgumentVariableNode) {
|
|
22
24
|
return true;
|
|
23
25
|
}
|
|
24
26
|
});
|
|
25
27
|
if (contained) {
|
|
26
|
-
if (
|
|
28
|
+
if (variableNodeMatchesMetaArgumentVariableNode) {
|
|
27
29
|
containmentVerified = true;
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
32
|
if (!contained) {
|
|
31
|
-
if (!
|
|
33
|
+
if (!variableNodeMatchesMetaArgumentVariableNode) {
|
|
34
|
+
containmentVerified = true;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
} else if (termNode !== null) {
|
|
38
|
+
var metaArgumentTermNodes = metaArgumentTermNodesQuery(metaArgumentNode), termNodeMatchesMetaArgumentTermNode = metaArgumentTermNodes.some(function(metaArgumentTermNode) {
|
|
39
|
+
var termNodeMatchesMetaArgumentTermNode = termNode.match(metaArgumentTermNode);
|
|
40
|
+
if (termNodeMatchesMetaArgumentTermNode) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
if (contained) {
|
|
45
|
+
if (termNodeMatchesMetaArgumentTermNode) {
|
|
46
|
+
containmentVerified = true;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (!contained) {
|
|
50
|
+
if (!termNodeMatchesMetaArgumentTermNode) {
|
|
32
51
|
containmentVerified = true;
|
|
33
52
|
}
|
|
34
53
|
}
|
|
@@ -40,4 +59,4 @@ function containedFromContainmentNode(containmentNode) {
|
|
|
40
59
|
return contained;
|
|
41
60
|
}
|
|
42
61
|
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvY29udGFpbm1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHNlY29uZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IENPTlRBSU5FRCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90ZXJtIVwiKSxcbiAgICAgIHZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L3Rlcm0vdmFyaWFibGUhXCIpLFxuICAgICAgbWV0YUFyZ3VtZW50VGVybU5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL21ldGFBcmd1bWVudC8vdGVybVwiKSxcbiAgICAgIG1ldGFBcmd1bWVudFZhcmlhYmxlTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YUFyZ3VtZW50Ly92YXJpYWJsZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5Q29udGFpbm1lbnQoYXJndW1lbnROb2RlLCBjb250YWlubWVudE5vZGUsIG1ldGFBcmd1bWVudE5vZGUsIGNvbnRleHQpIHtcbiAgbGV0IGNvbnRhaW5tZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBjb250YWluZWQgPSBjb250YWluZWRGcm9tQ29udGFpbm1lbnROb2RlKGNvbnRhaW5tZW50Tm9kZSksXG4gICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShhcmd1bWVudE5vZGUpLFxuICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeShhcmd1bWVudE5vZGUpO1xuXG4gIGlmIChmYWxzZSkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKHZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFBcmd1bWVudFZhcmlhYmxlTm9kZXMgPSBtZXRhQXJndW1lbnRWYXJpYWJsZU5vZGVzUXVlcnkobWV0YUFyZ3VtZW50Tm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOb2RlTWF0Y2hlc01ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSA9IG1ldGFBcmd1bWVudFZhcmlhYmxlTm9kZXMuc29tZSgobWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YXJpYWJsZU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlLm1hdGNoKG1ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSk7XG5cbiAgICAgICAgICAgIGlmICh2YXJpYWJsZU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgaWYgKGNvbnRhaW5lZCkge1xuICAgICAgaWYgKHZhcmlhYmxlTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRWYXJpYWJsZU5vZGUpIHtcbiAgICAgICAgY29udGFpbm1lbnRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFjb250YWluZWQpIHtcbiAgICAgIGlmICghdmFyaWFibGVOb2RlTWF0Y2hlc01ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSkge1xuICAgICAgICBjb250YWlubWVudFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAodGVybU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhQXJndW1lbnRUZXJtTm9kZXMgPSBtZXRhQXJndW1lbnRUZXJtTm9kZXNRdWVyeShtZXRhQXJndW1lbnROb2RlKSxcbiAgICAgICAgICB0ZXJtTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRUZXJtTm9kZSA9IG1ldGFBcmd1bWVudFRlcm1Ob2Rlcy5zb21lKChtZXRhQXJndW1lbnRUZXJtTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGVybU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VGVybU5vZGUgPSB0ZXJtTm9kZS5tYXRjaChtZXRhQXJndW1lbnRUZXJtTm9kZSk7XG5cbiAgICAgICAgICAgIGlmICh0ZXJtTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRUZXJtTm9kZSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgIGlmIChjb250YWluZWQpIHtcbiAgICAgIGlmICh0ZXJtTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRUZXJtTm9kZSkge1xuICAgICAgICBjb250YWlubWVudFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWNvbnRhaW5lZCkge1xuICAgICAgaWYgKCF0ZXJtTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRUZXJtTm9kZSkge1xuICAgICAgICBjb250YWlubWVudFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29udGFpbm1lbnRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gY29udGFpbmVkRnJvbUNvbnRhaW5tZW50Tm9kZShjb250YWlubWVudE5vZGUpIHtcbiAgY29uc3QgY2hpbGROb2RlcyA9IGNvbnRhaW5tZW50Tm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIHNlY29uZENoaWxkTm9kZSA9IHNlY29uZChjaGlsZE5vZGVzKSxcbiAgICAgICAgdGVybWluYWxOb2RlID0gc2Vjb25kQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgIGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICBjb250YWluZWQgPSAoY29udGVudCA9PT0gQ09OVEFJTkVEKTtcblxuICByZXR1cm4gY29udGFpbmVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUNvbnRhaW5tZW50IiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInZhcmlhYmxlTm9kZVF1ZXJ5IiwibWV0YUFyZ3VtZW50VGVybU5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwibWV0YUFyZ3VtZW50VmFyaWFibGVOb2Rlc1F1ZXJ5IiwiYXJndW1lbnROb2RlIiwiY29udGFpbm1lbnROb2RlIiwibWV0YUFyZ3VtZW50Tm9kZSIsImNvbnRleHQiLCJjb250YWlubWVudFZlcmlmaWVkIiwiY29udGFpbmVkIiwiY29udGFpbmVkRnJvbUNvbnRhaW5tZW50Tm9kZSIsInRlcm1Ob2RlIiwidmFyaWFibGVOb2RlIiwibWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlcyIsInZhcmlhYmxlTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRWYXJpYWJsZU5vZGUiLCJzb21lIiwibWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlIiwibWF0Y2giLCJtZXRhQXJndW1lbnRUZXJtTm9kZXMiLCJ0ZXJtTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRUZXJtTm9kZSIsIm1ldGFBcmd1bWVudFRlcm1Ob2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJzZWNvbmRDaGlsZE5vZGUiLCJzZWNvbmQiLCJ0ZXJtaW5hbE5vZGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsIkNPTlRBSU5FRCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7OztxQkFURDt5QkFDRztxQkFDWTtBQUV0QyxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsb0JBQzFCQyxvQkFBb0JELElBQUFBLGdCQUFTLEVBQUMsNkJBQzlCRSw2QkFBNkJDLElBQUFBLGlCQUFVLEVBQUMsd0JBQ3hDQyxpQ0FBaUNELElBQUFBLGlCQUFVLEVBQUM7QUFFbkMsU0FBU0wsa0JBQWtCTyxZQUFZLEVBQUVDLGVBQWUsRUFBRUMsZ0JBQWdCLEVBQUVDLE9BQU87SUFDaEcsSUFBSUMsc0JBQXNCO0lBRTFCLElBQU1DLFlBQVlDLDZCQUE2Qkwsa0JBQ3pDTSxXQUFXYixjQUFjTSxlQUN6QlEsZUFBZVosa0JBQWtCSTtJQUV2QyxJQUFJLE9BQU87SUFDVCxHQUFHO0lBQ0wsT0FBTyxJQUFJUSxpQkFBaUIsTUFBTTtRQUNoQyxJQUFNQyw0QkFBNEJWLCtCQUErQkcsbUJBQzNEUSw4Q0FBOENELDBCQUEwQkUsSUFBSSxDQUFDLFNBQUNDO1lBQzVFLElBQU1GLDhDQUE4Q0YsYUFBYUssS0FBSyxDQUFDRDtZQUV2RSxJQUFJRiw2Q0FBNkM7Z0JBQy9DLE9BQU87WUFDVDtRQUNGO1FBRU4sSUFBSUwsV0FBVztZQUNiLElBQUlLLDZDQUE2QztnQkFDL0NOLHNCQUFzQjtZQUN4QjtRQUNGO1FBRUEsSUFBSSxDQUFDQyxXQUFXO1lBQ2QsSUFBSSxDQUFDSyw2Q0FBNkM7Z0JBQ2hETixzQkFBc0I7WUFDeEI7UUFDRjtJQUNGLE9BQU8sSUFBSUcsYUFBYSxNQUFNO1FBQzVCLElBQU1PLHdCQUF3QmpCLDJCQUEyQkssbUJBQ25EYSxzQ0FBc0NELHNCQUFzQkgsSUFBSSxDQUFDLFNBQUNLO1lBQ2hFLElBQU1ELHNDQUFzQ1IsU0FBU00sS0FBSyxDQUFDRztZQUUzRCxJQUFJRCxxQ0FBcUM7Z0JBQ3ZDLE9BQU87WUFDVDtRQUNGO1FBRU4sSUFBSVYsV0FBVztZQUNiLElBQUlVLHFDQUFxQztnQkFDdkNYLHNCQUFzQjtZQUN4QjtRQUNGO1FBRUEsSUFBSSxDQUFDQyxXQUFXO1lBQ2QsSUFBSSxDQUFDVSxxQ0FBcUM7Z0JBQ3hDWCxzQkFBc0I7WUFDeEI7UUFDRjtJQUNGO0lBRUEsT0FBT0E7QUFDVDtBQUVBLFNBQVNFLDZCQUE2QkwsZUFBZTtJQUNuRCxJQUFNZ0IsYUFBYWhCLGdCQUFnQmlCLGFBQWEsSUFDMUNDLGtCQUFrQkMsSUFBQUEsYUFBTSxFQUFDSCxhQUN6QkksZUFBZUYsaUJBQ2ZHLFVBQVVELGFBQWFFLFVBQVUsSUFDakNsQixZQUFhaUIsWUFBWUUsb0JBQVM7SUFFeEMsT0FBT25CO0FBQ1QifQ==
|
package/package.json
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
import Substitution from "../substitution";
|
|
4
4
|
|
|
5
|
+
import substitutionNodesVerifier from "../verifier/nodes/substitution";
|
|
5
6
|
import TermForVariableSubstitution from "./termForVariable";
|
|
6
7
|
import intrinsicLevelNodesVerifier from "../verifier/nodes/intrinsicLevel";
|
|
7
8
|
|
|
9
|
+
import { push } from "../utilities/array";
|
|
8
10
|
import { bracketedStatementChildNodeFromStatementNode } from "../utilities/proof";
|
|
9
11
|
|
|
10
12
|
export default class StatementForMetavariableSubstitution extends Substitution {
|
|
@@ -52,9 +54,9 @@ export default class StatementForMetavariableSubstitution extends Substitution {
|
|
|
52
54
|
if (this.substitution === null) {
|
|
53
55
|
statementNodeMatches = this.statementNode.match(statementNode);
|
|
54
56
|
} else {
|
|
55
|
-
const substitution = this.substitution,
|
|
56
|
-
statementNodeA = statementNode,
|
|
57
|
-
statementNodeB = this.statementNode;
|
|
57
|
+
const substitution = this.substitution, ///
|
|
58
|
+
statementNodeA = statementNode, ///
|
|
59
|
+
statementNodeB = this.statementNode; ///
|
|
58
60
|
|
|
59
61
|
statementNodeMatches = matchStatementNode(statementNodeA, statementNodeB, substitution, substitutions, localContextA, localContextB);
|
|
60
62
|
}
|
|
@@ -99,26 +101,56 @@ export default class StatementForMetavariableSubstitution extends Substitution {
|
|
|
99
101
|
}
|
|
100
102
|
}
|
|
101
103
|
|
|
104
|
+
function transformSubstitutions(substitutionsA, substitutionsB) {
|
|
105
|
+
substitutionsA = substitutionsA.map((substitutionA) => {
|
|
106
|
+
const substitution = substitutionA, ///
|
|
107
|
+
substitutions = substitutionsB,
|
|
108
|
+
termForVariableSubstitution = TermForVariableSubstitution.fromSubstitutionAndSubstitutions(substitution, substitutions);
|
|
109
|
+
|
|
110
|
+
substitutionA = termForVariableSubstitution; ///
|
|
111
|
+
|
|
112
|
+
return substitutionA;
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
return substitutionsA;
|
|
116
|
+
}
|
|
117
|
+
|
|
102
118
|
export function matchStatementNode(statementNodeA, statementNodeB, substitution, substitutions, localContextA, localContextB) {
|
|
103
|
-
let statementNodeMatches;
|
|
119
|
+
let statementNodeMatches = false;
|
|
120
|
+
|
|
121
|
+
const termForVariableSubstitution = TermForVariableSubstitution.fromSubstitutionAndSubstitutions(substitution, substitutions),
|
|
122
|
+
intrinsic = termForVariableSubstitution.isIntrinsic(substitution);
|
|
104
123
|
|
|
105
|
-
|
|
124
|
+
let substitutionsA = []; ///
|
|
106
125
|
|
|
107
|
-
|
|
126
|
+
if (intrinsic) {
|
|
127
|
+
const substitutionA = termForVariableSubstitution; ///
|
|
108
128
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
];
|
|
129
|
+
substitutionsA.push(substitutionA);
|
|
130
|
+
}
|
|
112
131
|
|
|
113
|
-
const nonTerminalNodeA = statementNodeA,
|
|
132
|
+
const nonTerminalNodeA = statementNodeA, ///
|
|
114
133
|
nonTerminalNodeB = statementNodeB, ///
|
|
115
|
-
nonTerminalNodeVerified =
|
|
134
|
+
nonTerminalNodeVerified = substitutionNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutionsA, localContextA, localContextB, () => {
|
|
116
135
|
const verifiedAhead = true;
|
|
117
136
|
|
|
118
137
|
return verifiedAhead;
|
|
119
138
|
});
|
|
120
139
|
|
|
121
|
-
|
|
140
|
+
if (nonTerminalNodeVerified) {
|
|
141
|
+
if (!intrinsic) {
|
|
142
|
+
const substitutionB = termForVariableSubstitution, ///
|
|
143
|
+
substitutionsB = [
|
|
144
|
+
substitutionB
|
|
145
|
+
];
|
|
146
|
+
|
|
147
|
+
substitutionsA = transformSubstitutions(substitutionsA, substitutionsB);
|
|
148
|
+
|
|
149
|
+
push(substitutions, substitutionsA);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
statementNodeMatches = true;
|
|
153
|
+
}
|
|
122
154
|
|
|
123
155
|
return statementNodeMatches;
|
|
124
156
|
}
|
|
@@ -23,6 +23,16 @@ export default class TermForVariableSubstitution extends Substitution {
|
|
|
23
23
|
return this.termNode;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
isIntrinsic(substitution) {
|
|
27
|
+
const termNod = substitution.getTermNode(),
|
|
28
|
+
variableNode = substitution.getVariableNode(),
|
|
29
|
+
termNodeMatches = this.termNode.match(termNod),
|
|
30
|
+
variableNodeMatches = this.variableNode.match(variableNode),
|
|
31
|
+
intrinsic = ((!termNodeMatches) && (!variableNodeMatches));
|
|
32
|
+
|
|
33
|
+
return intrinsic;
|
|
34
|
+
}
|
|
35
|
+
|
|
26
36
|
matchTermNode(termNode) {
|
|
27
37
|
const termNodeMatches = this.termNode.match(termNode);
|
|
28
38
|
|
package/src/utilities/array.js
CHANGED
|
@@ -29,12 +29,6 @@ export function someSubArray(array, subArrayLength, callback) {
|
|
|
29
29
|
permutations = permutationsMatrix[indexesLength][permutationLength];
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
if (subArrayLength === 4) {
|
|
33
|
-
permutations = [
|
|
34
|
-
[ 0, 2, 3, 4 ]
|
|
35
|
-
];
|
|
36
|
-
}
|
|
37
|
-
|
|
38
32
|
if (permutations !== null) {
|
|
39
33
|
found = permutations.some((permutation) => {
|
|
40
34
|
if (permutation !== null) {
|
|
@@ -93,6 +93,31 @@ class MetaLevelToIntrinsicLevelNodesVerifier extends NodesVerifier {
|
|
|
93
93
|
return metaArgumentNodeVerified;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
verifyStatementNode(metastatementNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead) {
|
|
97
|
+
let statementNodeVerified;
|
|
98
|
+
|
|
99
|
+
const metavariableNodeA = metavariableNodeQuery(metastatementNodeA);
|
|
100
|
+
|
|
101
|
+
if (metavariableNodeA !== null) {
|
|
102
|
+
const substitutionNodeA = substitutionNodeQuery(metastatementNodeA),
|
|
103
|
+
metavariableNodeVerified = this.verifyMetavariableNode(metavariableNodeA, substitutionNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
104
|
+
|
|
105
|
+
statementNodeVerified = metavariableNodeVerified; ///
|
|
106
|
+
} else {
|
|
107
|
+
const nonTerminalNodeA = metastatementNodeA, ///
|
|
108
|
+
nonTerminalNodeB = statementNodeB, ///
|
|
109
|
+
nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(),
|
|
110
|
+
nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(),
|
|
111
|
+
childNodesA = nonTerminalNodeAChildNodes, ///
|
|
112
|
+
childNodesB = nonTerminalNodeBChildNodes, ///
|
|
113
|
+
childNodesVerified = super.verifyChildNodes(childNodesA, childNodesB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
114
|
+
|
|
115
|
+
statementNodeVerified = childNodesVerified; ///
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
return statementNodeVerified;
|
|
119
|
+
}
|
|
120
|
+
|
|
96
121
|
verifyMetavariableNode(metavariableNodeA, substitutionNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead) {
|
|
97
122
|
let metavariableNodeVerified;
|
|
98
123
|
|
|
@@ -136,31 +161,6 @@ class MetaLevelToIntrinsicLevelNodesVerifier extends NodesVerifier {
|
|
|
136
161
|
return metavariableNodeVerified;
|
|
137
162
|
}
|
|
138
163
|
|
|
139
|
-
verifyStatementNode(metastatementNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead) {
|
|
140
|
-
let statementNodeVerified;
|
|
141
|
-
|
|
142
|
-
const metavariableNodeA = metavariableNodeQuery(metastatementNodeA);
|
|
143
|
-
|
|
144
|
-
if (metavariableNodeA !== null) {
|
|
145
|
-
const substitutionNodeA = null, ///
|
|
146
|
-
metavariableNodeVerified = this.verifyMetavariableNode(metavariableNodeA, substitutionNodeA, statementNodeB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
147
|
-
|
|
148
|
-
statementNodeVerified = metavariableNodeVerified; ///
|
|
149
|
-
} else {
|
|
150
|
-
const nonTerminalNodeA = metastatementNodeA, ///
|
|
151
|
-
nonTerminalNodeB = statementNodeB, ///
|
|
152
|
-
nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(),
|
|
153
|
-
nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(),
|
|
154
|
-
childNodesA = nonTerminalNodeAChildNodes, ///
|
|
155
|
-
childNodesB = nonTerminalNodeBChildNodes, ///
|
|
156
|
-
childNodesVerified = super.verifyChildNodes(childNodesA, childNodesB, substitutions, fileContextA, localContextB, verifyAhead);
|
|
157
|
-
|
|
158
|
-
statementNodeVerified = childNodesVerified; ///
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
return statementNodeVerified;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
164
|
verifyTermNode(termNodeA, nonTerminalNodeB, substitutions, fileContextA, localContextB, verifyAhead) {
|
|
165
165
|
let termNodeVerified = false;
|
|
166
166
|
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NodesVerifier from "../../verifier/nodes";
|
|
4
|
+
|
|
5
|
+
import TermForVariableSubstitution from "../../substitution/termForVariable";
|
|
6
|
+
|
|
7
|
+
import { nodeQuery } from "../../utilities/query";
|
|
8
|
+
import { TERM_RULE_NAME } from "../../ruleNames";
|
|
9
|
+
|
|
10
|
+
const variableNodeQuery = nodeQuery("/term/variable");
|
|
11
|
+
|
|
12
|
+
class SubstitutionNodesVerifier extends NodesVerifier {
|
|
13
|
+
verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead) {
|
|
14
|
+
let nonTerminalNodeVerified = false;
|
|
15
|
+
|
|
16
|
+
const nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(),
|
|
17
|
+
nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName();
|
|
18
|
+
|
|
19
|
+
if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
|
|
20
|
+
const ruleName = nonTerminalNodeARuleName; ///
|
|
21
|
+
|
|
22
|
+
switch (ruleName) {
|
|
23
|
+
case TERM_RULE_NAME: {
|
|
24
|
+
const termNodeA = nonTerminalNodeA, ///
|
|
25
|
+
termNodeB = nonTerminalNodeB, ///
|
|
26
|
+
termNodeVerified = this.verifyTermNode(termNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
27
|
+
|
|
28
|
+
nonTerminalNodeVerified = termNodeVerified; ///
|
|
29
|
+
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
default: {
|
|
34
|
+
nonTerminalNodeVerified = super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
35
|
+
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return nonTerminalNodeVerified;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
verifyTermNode(termNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
|
|
45
|
+
let termNodeVerified;
|
|
46
|
+
|
|
47
|
+
const variableNodeA = variableNodeQuery(termNodeA);
|
|
48
|
+
|
|
49
|
+
if (variableNodeA !== null) {
|
|
50
|
+
const variableNodeVerified = this.verifyVariableNode(variableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
51
|
+
|
|
52
|
+
termNodeVerified = variableNodeVerified; ///
|
|
53
|
+
} else {
|
|
54
|
+
const nonTerminalNodeA = termNodeA, ///
|
|
55
|
+
nonTerminalNodeB = termNodeB, ///
|
|
56
|
+
nonTerminalNodeVerified = super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
57
|
+
|
|
58
|
+
termNodeVerified = nonTerminalNodeVerified; ///
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return termNodeVerified;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
verifyVariableNode(variableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
|
|
65
|
+
let variableNodeVerified = false;
|
|
66
|
+
|
|
67
|
+
const variableNodeB = variableNodeQuery(termNodeB);
|
|
68
|
+
|
|
69
|
+
if (variableNodeB !== null) {
|
|
70
|
+
const variableNodeAMatchedVariableNodeB = variableNodeA.match(variableNodeB);
|
|
71
|
+
|
|
72
|
+
if (variableNodeAMatchedVariableNodeB) {
|
|
73
|
+
const verifiedAhead = verifyAhead();
|
|
74
|
+
|
|
75
|
+
variableNodeVerified = verifiedAhead;
|
|
76
|
+
}
|
|
77
|
+
} else {
|
|
78
|
+
const variableNode = variableNodeA; ///
|
|
79
|
+
|
|
80
|
+
const substitution = substitutions.find((substitution) => {
|
|
81
|
+
const matches = substitution.matchVariableNode(variableNode);
|
|
82
|
+
|
|
83
|
+
if (matches) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
}) || null;
|
|
87
|
+
|
|
88
|
+
if (substitution !== null) {
|
|
89
|
+
const termNode = termNodeB, ///
|
|
90
|
+
termNodeMatches = substitution.matchTermNode(termNode);
|
|
91
|
+
|
|
92
|
+
if (termNodeMatches) {
|
|
93
|
+
const verifiedAhead = verifyAhead();
|
|
94
|
+
|
|
95
|
+
variableNodeVerified = verifiedAhead; ///
|
|
96
|
+
}
|
|
97
|
+
} else {
|
|
98
|
+
let verifiedAhead;
|
|
99
|
+
|
|
100
|
+
const termNode = termNodeB, ///
|
|
101
|
+
termForVariableSubstitution = TermForVariableSubstitution.fromVariableNodeAndTermNode(variableNode, termNode),
|
|
102
|
+
substitution = termForVariableSubstitution; ///
|
|
103
|
+
|
|
104
|
+
substitutions.push(substitution);
|
|
105
|
+
|
|
106
|
+
verifiedAhead = verifyAhead();
|
|
107
|
+
|
|
108
|
+
if (!verifiedAhead) {
|
|
109
|
+
substitutions.pop();
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
variableNodeVerified = verifiedAhead;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return variableNodeVerified;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
const substitutionNodesVerifier = new SubstitutionNodesVerifier();
|
|
121
|
+
|
|
122
|
+
export default substitutionNodesVerifier;
|
|
@@ -4,33 +4,59 @@ import { second } from "../utilities/array";
|
|
|
4
4
|
import { CONTAINED } from "../constants";
|
|
5
5
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
7
|
+
const termNodeQuery = nodeQuery("/argument/term!"),
|
|
8
|
+
variableNodeQuery = nodeQuery("/argument/term/variable!"),
|
|
9
|
+
metaArgumentTermNodesQuery = nodesQuery("/metaArgument//term"),
|
|
10
|
+
metaArgumentVariableNodesQuery = nodesQuery("/metaArgument//variable");
|
|
9
11
|
|
|
10
12
|
export default function verifyContainment(argumentNode, containmentNode, metaArgumentNode, context) {
|
|
11
13
|
let containmentVerified = false;
|
|
12
14
|
|
|
13
|
-
const
|
|
15
|
+
const contained = containedFromContainmentNode(containmentNode),
|
|
16
|
+
termNode = termNodeQuery(argumentNode),
|
|
17
|
+
variableNode = variableNodeQuery(argumentNode);
|
|
14
18
|
|
|
15
|
-
if (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
if (false) {
|
|
20
|
+
///
|
|
21
|
+
} else if (variableNode !== null) {
|
|
22
|
+
const metaArgumentVariableNodes = metaArgumentVariableNodesQuery(metaArgumentNode),
|
|
23
|
+
variableNodeMatchesMetaArgumentVariableNode = metaArgumentVariableNodes.some((metaArgumentVariableNode) => {
|
|
24
|
+
const variableNodeMatchesMetaArgumentVariableNode = variableNode.match(metaArgumentVariableNode);
|
|
20
25
|
|
|
21
|
-
if (
|
|
26
|
+
if (variableNodeMatchesMetaArgumentVariableNode) {
|
|
22
27
|
return true;
|
|
23
28
|
}
|
|
24
29
|
});
|
|
25
30
|
|
|
26
31
|
if (contained) {
|
|
27
|
-
if (
|
|
32
|
+
if (variableNodeMatchesMetaArgumentVariableNode) {
|
|
28
33
|
containmentVerified = true;
|
|
29
34
|
}
|
|
30
35
|
}
|
|
31
36
|
|
|
32
37
|
if (!contained) {
|
|
33
|
-
if (!
|
|
38
|
+
if (!variableNodeMatchesMetaArgumentVariableNode) {
|
|
39
|
+
containmentVerified = true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
} else if (termNode !== null) {
|
|
43
|
+
const metaArgumentTermNodes = metaArgumentTermNodesQuery(metaArgumentNode),
|
|
44
|
+
termNodeMatchesMetaArgumentTermNode = metaArgumentTermNodes.some((metaArgumentTermNode) => {
|
|
45
|
+
const termNodeMatchesMetaArgumentTermNode = termNode.match(metaArgumentTermNode);
|
|
46
|
+
|
|
47
|
+
if (termNodeMatchesMetaArgumentTermNode) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
if (contained) {
|
|
53
|
+
if (termNodeMatchesMetaArgumentTermNode) {
|
|
54
|
+
containmentVerified = true;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (!contained) {
|
|
59
|
+
if (!termNodeMatchesMetaArgumentTermNode) {
|
|
34
60
|
containmentVerified = true;
|
|
35
61
|
}
|
|
36
62
|
}
|