occam-verify-cli 0.0.972 → 0.0.975
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/bin/action/verify.js +30 -0
- package/bin/main.js +0 -27
- package/lib/context/file.js +1 -8
- package/lib/frame.js +3 -3
- package/lib/judgement.js +4 -4
- package/lib/metavariable.js +4 -28
- package/lib/resolve/complexSubstitutionAgainstSimpleSubstitution.js +76 -0
- package/lib/resolve/substitution.js +27 -0
- package/lib/resolve/substitutions.js +8 -70
- package/lib/rule.js +11 -1
- package/lib/substitution/statementForMetavariable.js +2 -2
- package/lib/substitution.js +8 -1
- package/lib/substitutions.js +19 -7
- package/lib/topLevelAssertion.js +11 -1
- package/lib/type.js +3 -3
- package/lib/unifier/metavariable.js +142 -0
- package/lib/unify/complexSubstitutionStatementWithSimpleSubstitutionStatement.js +26 -0
- package/lib/unify/qualifiedStatement.js +136 -0
- package/lib/unify/statementWithCombinator.js +29 -0
- package/lib/unify/statementWithCombinators.js +5 -14
- package/lib/unify/termWithBracketedConstructor.js +3 -3
- package/lib/unify/termWithConstructor.js +37 -0
- package/lib/unify/termWithConstructors.js +6 -33
- package/lib/unify/unqualifiedStatement.js +25 -0
- package/lib/verifier/statementAsCombinator.js +2 -2
- package/lib/verify/assertion/contained.js +2 -2
- package/lib/verify/assertion/defined.js +7 -4
- package/lib/verify/assertion/type.js +5 -3
- package/lib/verify/conclusion.js +2 -2
- package/lib/verify/consequent.js +2 -2
- package/lib/verify/declaration.js +14 -26
- package/lib/verify/equality.js +11 -7
- package/lib/verify/frame.js +39 -32
- package/lib/verify/judgement.js +28 -49
- package/lib/verify/metavariableGivenMetaType.js +44 -0
- package/lib/verify/premise.js +3 -3
- package/lib/verify/statement/qualified.js +3 -3
- package/lib/verify/statement/unqualified.js +9 -53
- package/lib/verify/statement.js +27 -62
- package/lib/verify/statementGivenMetaType.js +3 -2
- package/lib/verify/term.js +11 -5
- package/package.json +4 -4
- package/src/context/file.js +0 -6
- package/src/frame.js +1 -1
- package/src/judgement.js +1 -1
- package/src/metavariable.js +3 -32
- package/src/resolve/complexSubstitutionAgainstSimpleSubstitution.js +94 -0
- package/src/resolve/substitution.js +19 -0
- package/src/resolve/substitutions.js +9 -112
- package/src/rule.js +10 -0
- package/src/substitution/statementForMetavariable.js +1 -1
- package/src/substitution.js +6 -0
- package/src/substitutions.js +17 -6
- package/src/topLevelAssertion.js +10 -0
- package/src/type.js +3 -3
- package/src/unifier/metavariable.js +46 -0
- package/src/unify/complexSubstitutionStatementWithSimpleSubstitutionStatement.js +18 -0
- package/src/unify/{statement/qualified.js → qualifiedStatement.js} +61 -31
- package/src/unify/statementWithCombinator.js +22 -0
- package/src/unify/statementWithCombinators.js +5 -20
- package/src/unify/termWithBracketedConstructor.js +1 -1
- package/src/unify/termWithConstructor.js +39 -0
- package/src/unify/termWithConstructors.js +1 -37
- package/src/unify/{statement/unqualified.js → unqualifiedStatement.js} +1 -1
- package/src/verifier/statementAsCombinator.js +2 -2
- package/src/verify/assertion/contained.js +1 -1
- package/src/verify/assertion/defined.js +10 -3
- package/src/verify/assertion/type.js +6 -4
- package/src/verify/conclusion.js +1 -1
- package/src/verify/consequent.js +1 -1
- package/src/verify/declaration.js +25 -36
- package/src/verify/equality.js +12 -8
- package/src/verify/frame.js +52 -39
- package/src/verify/judgement.js +43 -75
- package/src/verify/metavariableGivenMetaType.js +45 -0
- package/src/verify/premise.js +3 -3
- package/src/verify/statement/qualified.js +1 -1
- package/src/verify/statement/unqualified.js +8 -13
- package/src/verify/statement.js +25 -69
- package/src/verify/statementGivenMetaType.js +3 -1
- package/src/verify/term.js +13 -6
- package/lib/unify/statement/qualified.js +0 -117
- package/lib/unify/statement/unqualified.js +0 -25
- package/lib/verify/metavariable.js +0 -51
- package/src/verify/metavariable.js +0 -58
|
@@ -0,0 +1,142 @@
|
|
|
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 _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
|
|
12
|
+
var _unifier = /*#__PURE__*/ _interop_require_default(require("../unifier"));
|
|
13
|
+
var _query = require("../utilities/query");
|
|
14
|
+
var _termWithType = /*#__PURE__*/ _interop_require_default(require("../unify/termWithType"));
|
|
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 _call_super(_this, derived, args) {
|
|
22
|
+
derived = _get_prototype_of(derived);
|
|
23
|
+
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
24
|
+
}
|
|
25
|
+
function _class_call_check(instance, Constructor) {
|
|
26
|
+
if (!(instance instanceof Constructor)) {
|
|
27
|
+
throw new TypeError("Cannot call a class as a function");
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function _defineProperties(target, props) {
|
|
31
|
+
for(var i = 0; i < props.length; i++){
|
|
32
|
+
var descriptor = props[i];
|
|
33
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
34
|
+
descriptor.configurable = true;
|
|
35
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
36
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
40
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
41
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
42
|
+
return Constructor;
|
|
43
|
+
}
|
|
44
|
+
function _define_property(obj, key, value) {
|
|
45
|
+
if (key in obj) {
|
|
46
|
+
Object.defineProperty(obj, key, {
|
|
47
|
+
value: value,
|
|
48
|
+
enumerable: true,
|
|
49
|
+
configurable: true,
|
|
50
|
+
writable: true
|
|
51
|
+
});
|
|
52
|
+
} else {
|
|
53
|
+
obj[key] = value;
|
|
54
|
+
}
|
|
55
|
+
return obj;
|
|
56
|
+
}
|
|
57
|
+
function _get_prototype_of(o) {
|
|
58
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
59
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
60
|
+
};
|
|
61
|
+
return _get_prototype_of(o);
|
|
62
|
+
}
|
|
63
|
+
function _inherits(subClass, superClass) {
|
|
64
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
65
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
66
|
+
}
|
|
67
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
68
|
+
constructor: {
|
|
69
|
+
value: subClass,
|
|
70
|
+
writable: true,
|
|
71
|
+
configurable: true
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
75
|
+
}
|
|
76
|
+
function _interop_require_default(obj) {
|
|
77
|
+
return obj && obj.__esModule ? obj : {
|
|
78
|
+
default: obj
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function _possible_constructor_return(self, call) {
|
|
82
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
83
|
+
return call;
|
|
84
|
+
}
|
|
85
|
+
return _assert_this_initialized(self);
|
|
86
|
+
}
|
|
87
|
+
function _set_prototype_of(o, p) {
|
|
88
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
89
|
+
o.__proto__ = p;
|
|
90
|
+
return o;
|
|
91
|
+
};
|
|
92
|
+
return _set_prototype_of(o, p);
|
|
93
|
+
}
|
|
94
|
+
function _type_of(obj) {
|
|
95
|
+
"@swc/helpers - typeof";
|
|
96
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
97
|
+
}
|
|
98
|
+
function _is_native_reflect_construct() {
|
|
99
|
+
try {
|
|
100
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
101
|
+
} catch (_) {}
|
|
102
|
+
return (_is_native_reflect_construct = function() {
|
|
103
|
+
return !!result;
|
|
104
|
+
})();
|
|
105
|
+
}
|
|
106
|
+
var typeNodeQuery = (0, _query.nodeQuery)("/type!"), termNodeQuery = (0, _query.nodeQuery)("/term!");
|
|
107
|
+
var MetavariableUnifier = /*#__PURE__*/ function(Unifier) {
|
|
108
|
+
_inherits(MetavariableUnifier, Unifier);
|
|
109
|
+
function MetavariableUnifier() {
|
|
110
|
+
_class_call_check(this, MetavariableUnifier);
|
|
111
|
+
return _call_super(this, MetavariableUnifier, arguments);
|
|
112
|
+
}
|
|
113
|
+
_create_class(MetavariableUnifier, [
|
|
114
|
+
{
|
|
115
|
+
key: "unify",
|
|
116
|
+
value: function unify(metavariableNodeA, metavariableNodeB, localContext) {
|
|
117
|
+
var unified;
|
|
118
|
+
var nonTerminalNodeA = metavariableNodeA, nonTerminalNodeB = metavariableNodeB, nonTerminalNodeUnified = this.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext);
|
|
119
|
+
unified = nonTerminalNodeUnified; ///
|
|
120
|
+
return unified;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
]);
|
|
124
|
+
return MetavariableUnifier;
|
|
125
|
+
}(_unifier.default);
|
|
126
|
+
_define_property(MetavariableUnifier, "maps", [
|
|
127
|
+
{
|
|
128
|
+
nodeQueryA: termNodeQuery,
|
|
129
|
+
nodeQueryB: typeNodeQuery,
|
|
130
|
+
unify: function(termNodeA, typeNodeB, localContext) {
|
|
131
|
+
var termNode = termNodeA, typeNode = typeNodeB, termUnifiedWithType = (0, _termWithType.default)(termNode, typeNode, localContext);
|
|
132
|
+
return termUnifiedWithType;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
]);
|
|
136
|
+
var metavariableUnifier = new MetavariableUnifier();
|
|
137
|
+
Object.assign(_shim.default, {
|
|
138
|
+
metavariableUnifier: metavariableUnifier
|
|
139
|
+
});
|
|
140
|
+
var _default = metavariableUnifier;
|
|
141
|
+
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmaWVyL21ldGF2YXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcbmltcG9ydCBVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB1bmlmeVRlcm1XaXRoVHlwZSBmcm9tIFwiLi4vdW5pZnkvdGVybVdpdGhUeXBlXCI7XG5cbmNvbnN0IHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZSFcIiksXG4gICAgICB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0hXCIpO1xuXG5jbGFzcyBNZXRhdmFyaWFibGVVbmlmaWVyIGV4dGVuZHMgVW5pZmllciB7XG4gIHVuaWZ5KG1ldGF2YXJpYWJsZU5vZGVBLCBtZXRhdmFyaWFibGVOb2RlQiwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHVuaWZpZWQ7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBID0gbWV0YXZhcmlhYmxlTm9kZUEsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBtZXRhdmFyaWFibGVOb2RlQiwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVW5pZmllZCA9IHRoaXMudW5pZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgbG9jYWxDb250ZXh0KTtcblxuICAgIHVuaWZpZWQgPSBub25UZXJtaW5hbE5vZGVVbmlmaWVkOyAvLy9cblxuICAgIHJldHVybiB1bmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIG1hcHMgPSBbXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5QTogdGVybU5vZGVRdWVyeSxcbiAgICAgIG5vZGVRdWVyeUI6IHR5cGVOb2RlUXVlcnksXG4gICAgICB1bmlmeTogKHRlcm1Ob2RlQSwgdHlwZU5vZGVCLCBsb2NhbENvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZUEsIC8vL1xuICAgICAgICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlQiwgLy8vXG4gICAgICAgICAgICAgIHRlcm1VbmlmaWVkV2l0aFR5cGUgPSB1bmlmeVRlcm1XaXRoVHlwZSh0ZXJtTm9kZSwgdHlwZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHRlcm1VbmlmaWVkV2l0aFR5cGU7XG4gICAgICB9XG4gICAgfVxuICBdO1xufVxuXG5jb25zdCBtZXRhdmFyaWFibGVVbmlmaWVyID0gbmV3IE1ldGF2YXJpYWJsZVVuaWZpZXIoKTtcblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIG1ldGF2YXJpYWJsZVVuaWZpZXJcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhdmFyaWFibGVVbmlmaWVyO1xuIl0sIm5hbWVzIjpbInR5cGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0ZXJtTm9kZVF1ZXJ5IiwiTWV0YXZhcmlhYmxlVW5pZmllciIsInVuaWZ5IiwibWV0YXZhcmlhYmxlTm9kZUEiLCJtZXRhdmFyaWFibGVOb2RlQiIsImxvY2FsQ29udGV4dCIsInVuaWZpZWQiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsIm5vblRlcm1pbmFsTm9kZVVuaWZpZWQiLCJ1bmlmeU5vblRlcm1pbmFsTm9kZSIsIlVuaWZpZXIiLCJtYXBzIiwibm9kZVF1ZXJ5QSIsIm5vZGVRdWVyeUIiLCJ0ZXJtTm9kZUEiLCJ0eXBlTm9kZUIiLCJ0ZXJtTm9kZSIsInR5cGVOb2RlIiwidGVybVVuaWZpZWRXaXRoVHlwZSIsInVuaWZ5VGVybVdpdGhUeXBlIiwibWV0YXZhcmlhYmxlVW5pZmllciIsIk9iamVjdCIsImFzc2lnbiIsInNoaW0iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTZDQTs7O2VBQUE7OzsyREEzQ2lCOzhEQUNHO3FCQUVNO21FQUNJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU5QixJQUFNQSxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsV0FDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVoQyxJQUFBLEFBQU1FLG9DQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtpQ0FBQUE7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1DLGlCQUFpQixFQUFFQyxpQkFBaUIsRUFBRUMsWUFBWTtnQkFDdEQsSUFBSUM7Z0JBRUosSUFBTUMsbUJBQW1CSixtQkFDbkJLLG1CQUFtQkosbUJBQ25CSyx5QkFBeUIsSUFBSSxDQUFDQyxvQkFBb0IsQ0FBQ0gsa0JBQWtCQyxrQkFBa0JIO2dCQUU3RkMsVUFBVUcsd0JBQXdCLEdBQUc7Z0JBRXJDLE9BQU9IO1lBQ1Q7OztXQVhJTDtFQUE0QlUsZ0JBQU87QUFhdkMsaUJBYklWLHFCQWFHVyxRQUFPO0lBQ1o7UUFDRUMsWUFBWWI7UUFDWmMsWUFBWWhCO1FBQ1pJLE9BQU8sU0FBQ2EsV0FBV0MsV0FBV1g7WUFDNUIsSUFBTVksV0FBV0YsV0FDWEcsV0FBV0YsV0FDWEcsc0JBQXNCQyxJQUFBQSxxQkFBaUIsRUFBQ0gsVUFBVUMsVUFBVWI7WUFFbEUsT0FBT2M7UUFDVDtJQUNGO0NBQ0Q7QUFHSCxJQUFNRSxzQkFBc0IsSUFBSXBCO0FBRWhDcUIsT0FBT0MsTUFBTSxDQUFDQyxhQUFJLEVBQUU7SUFDbEJILHFCQUFBQTtBQUNGO0lBRUEsV0FBZUEifQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
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 unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../unifier/metaLevel"));
|
|
12
|
+
function _interop_require_default(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement(complexSubstitutionStatementNode, simpleSubstitutionStatementNode, substitutions, localContextA, localContextB) {
|
|
18
|
+
var complexSubstitutionStatementWithSimpleSubstitutionStatement;
|
|
19
|
+
var nodeA = complexSubstitutionStatementNode, nodeB = simpleSubstitutionStatementNode; ///
|
|
20
|
+
localContextA = localContextB; ///
|
|
21
|
+
var unified = _metaLevel.default.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
|
|
22
|
+
complexSubstitutionStatementWithSimpleSubstitutionStatement = unified; ///
|
|
23
|
+
return complexSubstitutionStatementWithSimpleSubstitutionStatement;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9jb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50V2l0aFNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG1ldGFMZXZlbFVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvbWV0YUxldmVsXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5Q29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFdpdGhTaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnQoY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgbGV0IGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50O1xuXG4gIGNvbnN0IG5vZGVBID0gY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgbm9kZUIgPSBzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlOyAgLy8vXG5cbiAgbG9jYWxDb250ZXh0QSA9IGxvY2FsQ29udGV4dEI7ICAvLy9cblxuICBjb25zdCB1bmlmaWVkID0gbWV0YUxldmVsVW5pZmllci51bmlmeShub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gIGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50ID0gdW5pZmllZDsgIC8vL1xuXG4gIHJldHVybiBjb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50V2l0aFNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudDtcbn1cbiJdLCJuYW1lcyI6WyJ1bmlmeUNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50IiwiY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUiLCJzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwiY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFdpdGhTaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnQiLCJub2RlQSIsIm5vZGVCIiwidW5pZmllZCIsIm1ldGFMZXZlbFVuaWZpZXIiLCJ1bmlmeSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7OztnRUFGSzs7Ozs7O0FBRWQsU0FBU0EsaUVBQWlFQyxnQ0FBZ0MsRUFBRUMsK0JBQStCLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhO0lBQ3JNLElBQUlDO0lBRUosSUFBTUMsUUFBUU4sa0NBQ1JPLFFBQVFOLGlDQUFrQyxHQUFHO0lBRW5ERSxnQkFBZ0JDLGVBQWdCLEdBQUc7SUFFbkMsSUFBTUksVUFBVUMsa0JBQWdCLENBQUNDLEtBQUssQ0FBQ0osT0FBT0MsT0FBT0wsZUFBZUMsZUFBZUM7SUFFbkZDLDhEQUE4REcsU0FBVSxHQUFHO0lBRTNFLE9BQU9IO0FBQ1QifQ==
|
|
@@ -0,0 +1,136 @@
|
|
|
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 unifyQualifiedStatement;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _metavariable = /*#__PURE__*/ _interop_require_default(require("../unifier/metavariable"));
|
|
12
|
+
var _statementForMetavariable = /*#__PURE__*/ _interop_require_default(require("../substitution/statementForMetavariable"));
|
|
13
|
+
var _query = require("../utilities/query");
|
|
14
|
+
var _name = require("../utilities/name");
|
|
15
|
+
function _interop_require_default(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
var statementNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/statement!"), metavariableNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/reference/metavariable!");
|
|
21
|
+
var unifyQualifiedStatementFunctions = [
|
|
22
|
+
unifyQualifiedStatementAWithRule,
|
|
23
|
+
unifyQualifiedStatementAWithAxiom,
|
|
24
|
+
unifyQualifiedStatementAWithLemma,
|
|
25
|
+
unifyQualifiedStatementAWithTheorem,
|
|
26
|
+
unifyQualifiedStatementAWithConjecture,
|
|
27
|
+
unifyQualifiedStatementAWithReference
|
|
28
|
+
];
|
|
29
|
+
function unifyQualifiedStatement(qualifiedStatementNode, substitutions, localContext) {
|
|
30
|
+
var qualifiedStatementUnified;
|
|
31
|
+
var qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
|
|
32
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement..."), qualifiedStatementNode);
|
|
33
|
+
qualifiedStatementUnified = unifyQualifiedStatementFunctions.some(function(unifyQualifiedStatementFunction) {
|
|
34
|
+
var qualifiedStatementUnified = unifyQualifiedStatementFunction(qualifiedStatementNode, substitutions, localContext);
|
|
35
|
+
return qualifiedStatementUnified;
|
|
36
|
+
});
|
|
37
|
+
if (qualifiedStatementUnified) {
|
|
38
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement."), qualifiedStatementNode);
|
|
39
|
+
}
|
|
40
|
+
return qualifiedStatementUnified;
|
|
41
|
+
}
|
|
42
|
+
function unifyQualifiedStatementAWithRule(qualifiedStatementNode, substitutions, localContext) {
|
|
43
|
+
var qualifiedStatementUnifiedWithRule = false;
|
|
44
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), rule = localContext.findRuleByMetavariableNode(metavariableNode);
|
|
45
|
+
if (rule !== null) {
|
|
46
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), labelMetavariableNodes = rule.getLabelMetavariableNodes(), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode), labelMetavariableNodesString = localContext.nodesAsString(labelMetavariableNodes);
|
|
47
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' rule..."), qualifiedStatementNode);
|
|
48
|
+
var statementUnified = rule.unifyStatement(statementNode, localContext);
|
|
49
|
+
qualifiedStatementUnifiedWithRule = statementUnified; ///
|
|
50
|
+
if (qualifiedStatementUnifiedWithRule) {
|
|
51
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' rule."), qualifiedStatementNode);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return qualifiedStatementUnifiedWithRule;
|
|
55
|
+
}
|
|
56
|
+
function unifyQualifiedStatementAWithAxiom(qualifiedStatementNode, substitutions, localContext) {
|
|
57
|
+
var qualifiedStatementUnifiedWithAxiom = false;
|
|
58
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), axiom = localContext.findAxiomByMetavariableNode(metavariableNode);
|
|
59
|
+
if (axiom !== null) {
|
|
60
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), labelMetavariableNodes = axiom.getLabelMetavariableNodes(), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode), labelMetavariableNodesString = localContext.nodesAsString(labelMetavariableNodes);
|
|
61
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' axiom..."), qualifiedStatementNode);
|
|
62
|
+
var statementUnified = axiom.unifyStatement(statementNode, localContext);
|
|
63
|
+
qualifiedStatementUnifiedWithAxiom = statementUnified; ///
|
|
64
|
+
if (qualifiedStatementUnifiedWithAxiom) {
|
|
65
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' axiom."), qualifiedStatementNode);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return qualifiedStatementUnifiedWithAxiom;
|
|
69
|
+
}
|
|
70
|
+
function unifyQualifiedStatementAWithLemma(qualifiedStatementNode, substitutions, localContext) {
|
|
71
|
+
var qualifiedStatementUnifiedWithLemma = false;
|
|
72
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), lemma = localContext.findLemmaByMetavariableNode(metavariableNode);
|
|
73
|
+
if (lemma !== null) {
|
|
74
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), labelMetavariableNodes = lemma.getLabelMetavariableNodes(), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode), labelMetavariableNodesString = localContext.nodesAsString(labelMetavariableNodes);
|
|
75
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' lemma..."), qualifiedStatementNode);
|
|
76
|
+
var statementUnified = lemma.unifyStatement(statementNode, localContext);
|
|
77
|
+
qualifiedStatementUnifiedWithLemma = statementUnified; ///
|
|
78
|
+
if (qualifiedStatementUnifiedWithLemma) {
|
|
79
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' lemma."), qualifiedStatementNode);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return qualifiedStatementUnifiedWithLemma;
|
|
83
|
+
}
|
|
84
|
+
function unifyQualifiedStatementAWithTheorem(qualifiedStatementNode, substitutions, localContext) {
|
|
85
|
+
var qualifiedStatementUnifiedWithTheorem = false;
|
|
86
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), theorem = localContext.findTheoremByMetavariableNode(metavariableNode);
|
|
87
|
+
if (theorem !== null) {
|
|
88
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), labelMetavariableNodes = theorem.getLabelMetavariableNodes(), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode), labelMetavariableNodesString = localContext.nodesAsString(labelMetavariableNodes);
|
|
89
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' theorem..."), qualifiedStatementNode);
|
|
90
|
+
var statementUnified = theorem.unifyStatement(statementNode, localContext);
|
|
91
|
+
qualifiedStatementUnifiedWithTheorem = statementUnified; ///
|
|
92
|
+
if (qualifiedStatementUnifiedWithTheorem) {
|
|
93
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' theorem."), qualifiedStatementNode);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return qualifiedStatementUnifiedWithTheorem;
|
|
97
|
+
}
|
|
98
|
+
function unifyQualifiedStatementAWithConjecture(qualifiedStatementNode, substitutions, localContext) {
|
|
99
|
+
var qualifiedStatementUnifiedWithConjecture = false;
|
|
100
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), conjecture = localContext.findConjectureByMetavariableNode(metavariableNode);
|
|
101
|
+
if (conjecture !== null) {
|
|
102
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), labelMetavariableNodes = conjecture.getLabelMetavariableNodes(), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode), labelMetavariableNodesString = localContext.nodesAsString(labelMetavariableNodes);
|
|
103
|
+
localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' conjecture..."), qualifiedStatementNode);
|
|
104
|
+
var statementUnified = conjecture.unifyStatement(statementNode, localContext);
|
|
105
|
+
qualifiedStatementUnifiedWithConjecture = statementUnified; ///
|
|
106
|
+
if (qualifiedStatementUnifiedWithConjecture) {
|
|
107
|
+
localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' conjecture."), qualifiedStatementNode);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return qualifiedStatementUnifiedWithConjecture;
|
|
111
|
+
}
|
|
112
|
+
function unifyQualifiedStatementAWithReference(qualifiedStatementNode, substitutions, localContext) {
|
|
113
|
+
var qualifiedStatementUnifiedWithReference = false;
|
|
114
|
+
var metavariableNode = metavariableNodeQuery(qualifiedStatementNode);
|
|
115
|
+
var metavariableName = (0, _name.metavariableNameFromMetavariableNode)(metavariableNode), metavariable = localContext.findMetavariableByMetavariableName(metavariableName);
|
|
116
|
+
if (metavariable !== null) {
|
|
117
|
+
var statementNode = statementNodeQuery(qualifiedStatementNode), statementString = localContext.nodeAsString(statementNode), metavariableString = localContext.nodeAsString(metavariableNode);
|
|
118
|
+
localContext.trace("Unifying the '".concat(statementString, "' qualified statement with the '").concat(metavariableString, "' reference..."), qualifiedStatementNode);
|
|
119
|
+
var metavariableNodeA = metavariableNode; ///
|
|
120
|
+
metavariableNode = metavariable.getNode();
|
|
121
|
+
var metavariableNodeB = metavariableNode; ///
|
|
122
|
+
var unified = _metavariable.default.unify(metavariableNodeA, metavariableNodeB, localContext);
|
|
123
|
+
if (unified) {
|
|
124
|
+
metavariableNode = metavariableNodeA; ///
|
|
125
|
+
var statementForMetavariableSubstitution = _statementForMetavariable.default.fromStatementNodeAndMetavariableNode(statementNode, metavariableNode), substitution = statementForMetavariableSubstitution, localContextA = localContext, localContextB = localContext; ///
|
|
126
|
+
substitutions.addSubstitution(substitution, localContextA, localContextB);
|
|
127
|
+
qualifiedStatementUnifiedWithReference = true;
|
|
128
|
+
}
|
|
129
|
+
if (qualifiedStatementUnifiedWithReference) {
|
|
130
|
+
localContext.debug("...unified the '".concat(statementString, "' qualified statement with the '").concat(metavariableString, "' reference."), qualifiedStatementNode);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return qualifiedStatementUnifiedWithReference;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9xdWFsaWZpZWRTdGF0ZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBtZXRhdmFyaWFibGVVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL21ldGF2YXJpYWJsZVwiO1xuaW1wb3J0IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uL3N0YXRlbWVudEZvck1ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZFN0YXRlbWVudC9yZWZlcmVuY2UvbWV0YXZhcmlhYmxlIVwiKTtcblxuY29uc3QgdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhSdWxlLFxuICB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoQXhpb20sXG4gIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhMZW1tYSxcbiAgdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aFRoZW9yZW0sXG4gIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhDb25qZWN0dXJlLFxuICB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUmVmZXJlbmNlXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgY29uc3QgcXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50Li4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZCA9IHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkID0gdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbihxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQ7XG4gIH0pO1xuXG4gIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50LmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhSdWxlKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSdWxlID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgcnVsZSA9IGxvY2FsQ29udGV4dC5maW5kUnVsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAocnVsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbGFiZWxNZXRhdmFyaWFibGVOb2RlcyA9IHJ1bGUuZ2V0TGFiZWxNZXRhdmFyaWFibGVOb2RlcygpLFxuICAgICAgICAgIHF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZyA9IGxvY2FsQ29udGV4dC5ub2Rlc0FzU3RyaW5nKGxhYmVsTWV0YXZhcmlhYmxlTm9kZXMpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtsYWJlbE1ldGF2YXJpYWJsZU5vZGVzU3RyaW5nfScgcnVsZS4uLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50VW5pZmllZCA9IHJ1bGUudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUnVsZSA9IHN0YXRlbWVudFVuaWZpZWQ7ICAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFJ1bGUpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtsYWJlbE1ldGF2YXJpYWJsZU5vZGVzU3RyaW5nfScgcnVsZS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSdWxlO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoQXhpb20ocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aEF4aW9tID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgYXhpb20gPSBsb2NhbENvbnRleHQuZmluZEF4aW9tQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGlmIChheGlvbSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbGFiZWxNZXRhdmFyaWFibGVOb2RlcyA9IGF4aW9tLmdldExhYmVsTWV0YXZhcmlhYmxlTm9kZXMoKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZXNTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE1ldGF2YXJpYWJsZU5vZGVzKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZ30nIGF4aW9tLi4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gYXhpb20udW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoQXhpb20gPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aEF4aW9tKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZ30nIGF4aW9tLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aEF4aW9tO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoTGVtbWEocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aExlbW1hID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgbGVtbWEgPSBsb2NhbENvbnRleHQuZmluZExlbW1hQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGlmIChsZW1tYSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbGFiZWxNZXRhdmFyaWFibGVOb2RlcyA9IGxlbW1hLmdldExhYmVsTWV0YXZhcmlhYmxlTm9kZXMoKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZXNTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE1ldGF2YXJpYWJsZU5vZGVzKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZ30nIGxlbW1hLi4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gbGVtbWEudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoTGVtbWEgPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aExlbW1hKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZ30nIGxlbW1hLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aExlbW1hO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoVGhlb3JlbShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoVGhlb3JlbSA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHRoZW9yZW0gPSBsb2NhbENvbnRleHQuZmluZFRoZW9yZW1CeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgaWYgKHRoZW9yZW0gIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZXMgPSB0aGVvcmVtLmdldExhYmVsTWV0YXZhcmlhYmxlTm9kZXMoKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZXNTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE1ldGF2YXJpYWJsZU5vZGVzKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZ30nIHRoZW9yZW0uLi5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSB0aGVvcmVtLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW0gPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW0pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtsYWJlbE1ldGF2YXJpYWJsZU5vZGVzU3RyaW5nfScgdGhlb3JlbS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhUaGVvcmVtO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoQ29uamVjdHVyZShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoQ29uamVjdHVyZSA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbmplY3R1cmUgPSBsb2NhbENvbnRleHQuZmluZENvbmplY3R1cmVCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgaWYgKGNvbmplY3R1cmUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZXMgPSBjb25qZWN0dXJlLmdldExhYmVsTWV0YXZhcmlhYmxlTm9kZXMoKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZXNTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE1ldGF2YXJpYWJsZU5vZGVzKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZ30nIGNvbmplY3R1cmUuLi5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSBjb25qZWN0dXJlLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aENvbmplY3R1cmUgPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aENvbmplY3R1cmUpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtsYWJlbE1ldGF2YXJpYWJsZU5vZGVzU3RyaW5nfScgY29uamVjdHVyZS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhDb25qZWN0dXJlO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUmVmZXJlbmNlKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSZWZlcmVuY2UgPSBmYWxzZTtcblxuICBsZXQgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICBtZXRhdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTmFtZShtZXRhdmFyaWFibGVOYW1lKTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJlZmVyZW5jZS4uLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZUEgPSBtZXRhdmFyaWFibGVOb2RlOyAvLy9cblxuICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGUuZ2V0Tm9kZSgpO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZUIgPSBtZXRhdmFyaWFibGVOb2RlOyAvLy9cblxuICAgIGNvbnN0IHVuaWZpZWQgPSBtZXRhdmFyaWFibGVVbmlmaWVyLnVuaWZ5KG1ldGF2YXJpYWJsZU5vZGVBLCBtZXRhdmFyaWFibGVOb2RlQiwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh1bmlmaWVkKSB7XG4gICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZUE7IC8vL1xuXG4gICAgICBjb25zdCBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVN0YXRlbWVudE5vZGVBbmRNZXRhdmFyaWFibGVOb2RlKHN0YXRlbWVudE5vZGUsIG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uLCAvLy9cbiAgICAgICAgICAgIGxvY2FsQ29udGV4dEEgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgICAgbG9jYWxDb250ZXh0QiA9IGxvY2FsQ29udGV4dDsgLy8vXG5cbiAgICAgIHN1YnN0aXR1dGlvbnMuYWRkU3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbiwgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUmVmZXJlbmNlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSZWZlcmVuY2UpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyByZWZlcmVuY2UuYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUmVmZXJlbmNlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbnMiLCJ1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUnVsZSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhBeGlvbSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhMZW1tYSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhUaGVvcmVtIiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aENvbmplY3R1cmUiLCJ1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUmVmZXJlbmNlIiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHQiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkIiwicXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJzb21lIiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbiIsImRlYnVnIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSdWxlIiwibWV0YXZhcmlhYmxlTm9kZSIsInJ1bGUiLCJmaW5kUnVsZUJ5TWV0YXZhcmlhYmxlTm9kZSIsInN0YXRlbWVudE5vZGUiLCJsYWJlbE1ldGF2YXJpYWJsZU5vZGVzIiwiZ2V0TGFiZWxNZXRhdmFyaWFibGVOb2RlcyIsImxhYmVsTWV0YXZhcmlhYmxlTm9kZXNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwic3RhdGVtZW50VW5pZmllZCIsInVuaWZ5U3RhdGVtZW50IiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhBeGlvbSIsImF4aW9tIiwiZmluZEF4aW9tQnlNZXRhdmFyaWFibGVOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhMZW1tYSIsImxlbW1hIiwiZmluZExlbW1hQnlNZXRhdmFyaWFibGVOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhUaGVvcmVtIiwidGhlb3JlbSIsImZpbmRUaGVvcmVtQnlNZXRhdmFyaWFibGVOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhDb25qZWN0dXJlIiwiY29uamVjdHVyZSIsImZpbmRDb25qZWN0dXJlQnlNZXRhdmFyaWFibGVOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSZWZlcmVuY2UiLCJtZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlIiwiZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTmFtZSIsInN0YXRlbWVudFN0cmluZyIsIm1ldGF2YXJpYWJsZVN0cmluZyIsIm1ldGF2YXJpYWJsZU5vZGVBIiwiZ2V0Tm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVCIiwidW5pZmllZCIsIm1ldGF2YXJpYWJsZVVuaWZpZXIiLCJ1bmlmeSIsInN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsIlN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21TdGF0ZW1lbnROb2RlQW5kTWV0YXZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbiIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwiYWRkU3Vic3RpdHV0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvQkE7OztlQUF3QkE7OzttRUFsQlE7K0VBQ2lCO3FCQUV2QjtvQkFDMkI7Ozs7OztBQUVyRCxJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMsbUNBQy9CQyx3QkFBd0JELElBQUFBLGdCQUFTLEVBQUM7QUFFeEMsSUFBTUUsbUNBQW1DO0lBQ3ZDQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztD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
|
|
@@ -0,0 +1,29 @@
|
|
|
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 unifyStatementWithCombinator;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _statementWithCombinator = /*#__PURE__*/ _interop_require_default(require("../unifier/statementWithCombinator"));
|
|
12
|
+
function _interop_require_default(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function unifyStatementWithCombinator(statementNode, combinator, assignments, stated, localContext) {
|
|
18
|
+
var statementUnifiedWithCombinator;
|
|
19
|
+
var statementString = localContext.nodeAsString(statementNode), combinatorString = combinator.getString();
|
|
20
|
+
localContext.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."), statementNode);
|
|
21
|
+
var combinatorStatementNode = combinator.getStatementNode();
|
|
22
|
+
statementUnifiedWithCombinator = _statementWithCombinator.default.unify(statementNode, combinatorStatementNode, assignments, stated, localContext);
|
|
23
|
+
if (statementUnifiedWithCombinator) {
|
|
24
|
+
localContext.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."), statementNode);
|
|
25
|
+
}
|
|
26
|
+
return statementUnifiedWithCombinator;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHN0YXRlbWVudFdpdGhDb21iaW5hdG9yVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvclwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yKHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3IsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbWJpbmF0b3JTdHJpbmcgPSBjb21iaW5hdG9yLmdldFN0cmluZygpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlID0gY29tYmluYXRvci5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yID0gc3RhdGVtZW50V2l0aENvbWJpbmF0b3JVbmlmaWVyLnVuaWZ5KHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gIGlmIChzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3I7XG59XG4iXSwibmFtZXMiOlsidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciIsInN0YXRlbWVudE5vZGUiLCJjb21iaW5hdG9yIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJjb21iaW5hdG9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRXaXRoQ29tYmluYXRvclVuaWZpZXIiLCJ1bmlmeSIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7OzhFQUZtQjs7Ozs7O0FBRTVCLFNBQVNBLDZCQUE2QkMsYUFBYSxFQUFFQyxVQUFVLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO0lBQy9HLElBQUlDO0lBRUosSUFBTUMsa0JBQWtCRixhQUFhRyxZQUFZLENBQUNQLGdCQUM1Q1EsbUJBQW1CUCxXQUFXUSxTQUFTO0lBRTdDTCxhQUFhTSxLQUFLLENBQUMsQUFBQyxpQkFBd0RGLE9BQXhDRixpQkFBZ0IsMEJBQXlDLE9BQWpCRSxrQkFBaUIsb0JBQWtCUjtJQUUvRyxJQUFNVywwQkFBMEJWLFdBQVdXLGdCQUFnQjtJQUUzRFAsaUNBQWlDUSxnQ0FBOEIsQ0FBQ0MsS0FBSyxDQUFDZCxlQUFlVyx5QkFBeUJULGFBQWFDLFFBQVFDO0lBRW5JLElBQUlDLGdDQUFnQztRQUNsQ0QsYUFBYVcsS0FBSyxDQUFDLEFBQUMsbUJBQTBEUCxPQUF4Q0YsaUJBQWdCLDBCQUF5QyxPQUFqQkUsa0JBQWlCLGtCQUFnQlI7SUFDakg7SUFFQSxPQUFPSztBQUNUIn0=
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return unifyStatementWithCombinators;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _statementWithCombinator = /*#__PURE__*/ _interop_require_default(require("../
|
|
11
|
+
var _statementWithCombinator = /*#__PURE__*/ _interop_require_default(require("../unify/statementWithCombinator"));
|
|
12
12
|
function _interop_require_default(obj) {
|
|
13
13
|
return obj && obj.__esModule ? obj : {
|
|
14
14
|
default: obj
|
|
@@ -17,24 +17,15 @@ function _interop_require_default(obj) {
|
|
|
17
17
|
function unifyStatementWithCombinators(statementNode, assignments, stated, localContext) {
|
|
18
18
|
var statementUnifiedWithCombinators;
|
|
19
19
|
var combinators = localContext.getCombinators();
|
|
20
|
+
assignments = null; ///
|
|
21
|
+
stated = true; ///
|
|
20
22
|
statementUnifiedWithCombinators = combinators.some(function(combinator) {
|
|
21
|
-
var statementUnifiedWithCombinator =
|
|
23
|
+
var statementUnifiedWithCombinator = (0, _statementWithCombinator.default)(statementNode, combinator, assignments, stated, localContext);
|
|
22
24
|
if (statementUnifiedWithCombinator) {
|
|
23
25
|
return true;
|
|
24
26
|
}
|
|
25
27
|
});
|
|
26
28
|
return statementUnifiedWithCombinators;
|
|
27
29
|
}
|
|
28
|
-
function unifyStatementWithCombinator(statementNode, combinator, assignments, stated, localContext) {
|
|
29
|
-
var statementUnifiedWithCombinator;
|
|
30
|
-
var statementString = localContext.nodeAsString(statementNode), combinatorString = combinator.getString();
|
|
31
|
-
localContext.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."), statementNode);
|
|
32
|
-
var combinatorStatementNode = combinator.getStatementNode();
|
|
33
|
-
statementUnifiedWithCombinator = _statementWithCombinator.default.unify(statementNode, combinatorStatementNode, assignments, stated, localContext);
|
|
34
|
-
if (statementUnifiedWithCombinator) {
|
|
35
|
-
localContext.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."), statementNode);
|
|
36
|
-
}
|
|
37
|
-
return statementUnifiedWithCombinator;
|
|
38
|
-
}
|
|
39
30
|
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIGZyb20gXCIuLi91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvclwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9ycyhzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvcnM7XG5cbiAgY29uc3QgY29tYmluYXRvcnMgPSBsb2NhbENvbnRleHQuZ2V0Q29tYmluYXRvcnMoKTtcblxuICBhc3NpZ25tZW50cyA9IG51bGw7IC8vL1xuXG4gIHN0YXRlZCA9IHRydWU7ICAvLy9cblxuICBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3JzID0gY29tYmluYXRvcnMuc29tZSgoY29tYmluYXRvcikgPT4ge1xuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvciA9IHVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSwgY29tYmluYXRvciwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvcnM7XG59XG4iXSwibmFtZXMiOlsidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMiLCJzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRDb21iaW5hdG9ycyIsInNvbWUiLCJjb21iaW5hdG9yIiwic3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yIiwidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7Ozs4RUFGaUI7Ozs7OztBQUUxQixTQUFTQSw4QkFBOEJDLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLFlBQVk7SUFDcEcsSUFBSUM7SUFFSixJQUFNQyxjQUFjRixhQUFhRyxjQUFjO0lBRS9DTCxjQUFjLE1BQU0sR0FBRztJQUV2QkMsU0FBUyxNQUFPLEdBQUc7SUFFbkJFLGtDQUFrQ0MsWUFBWUUsSUFBSSxDQUFDLFNBQUNDO1FBQ2xELElBQU1DLGlDQUFpQ0MsSUFBQUEsZ0NBQTRCLEVBQUNWLGVBQWVRLFlBQVlQLGFBQWFDLFFBQVFDO1FBRXBILElBQUlNLGdDQUFnQztZQUNsQyxPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9MO0FBQ1QifQ==
|
|
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
|
|
12
12
|
var _bracketed = /*#__PURE__*/ _interop_require_default(require("../constructor/bracketed"));
|
|
13
|
+
var _termWithConstructor = /*#__PURE__*/ _interop_require_default(require("../unify/termWithConstructor"));
|
|
13
14
|
var _query = require("../utilities/query");
|
|
14
|
-
var _termWithConstructors = require("../unify/termWithConstructors");
|
|
15
15
|
function _interop_require_default(obj) {
|
|
16
16
|
return obj && obj.__esModule ? obj : {
|
|
17
17
|
default: obj
|
|
@@ -22,7 +22,7 @@ function unifyTermWithBracketedConstructor(termNode, terms, localContext, verify
|
|
|
22
22
|
var termUnifiedWithBracketedConstructor;
|
|
23
23
|
var termString = localContext.nodeAsString(termNode), bracketedTerms = [];
|
|
24
24
|
localContext.trace("Unifying the '".concat(termString, "' term with the bracketed constructor..."), termNode);
|
|
25
|
-
termUnifiedWithBracketedConstructor = (0,
|
|
25
|
+
termUnifiedWithBracketedConstructor = (0, _termWithConstructor.default)(termNode, bracketedTerms, _bracketed.default, localContext, function() {
|
|
26
26
|
var verifiedAhead;
|
|
27
27
|
var bracketedTermNode = termNode; ///
|
|
28
28
|
termNode = termNodeQuery(bracketedTermNode); ///
|
|
@@ -36,4 +36,4 @@ function unifyTermWithBracketedConstructor(termNode, terms, localContext, verify
|
|
|
36
36
|
return termUnifiedWithBracketedConstructor;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi4vc2hpbVwiO1xuaW1wb3J0IGJyYWNrZXRlZENvbnN0cnVjdG9yIGZyb20gXCIuLi9jb25zdHJ1Y3Rvci9icmFja2V0ZWRcIjtcbmltcG9ydCB1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3IgZnJvbSBcIi4uL3VuaWZ5L3Rlcm1XaXRoQ29uc3RydWN0b3JcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0vYXJndW1lbnQvdGVybVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlUZXJtV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yKHRlcm1Ob2RlLCB0ZXJtcywgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3I7XG5cbiAgY29uc3QgdGVybVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpLFxuICAgICAgICBicmFja2V0ZWRUZXJtcyA9IFtdO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlIGJyYWNrZXRlZCBjb25zdHJ1Y3Rvci4uLmAsIHRlcm1Ob2RlKTtcblxuICB0ZXJtVW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciA9IHVuaWZ5VGVybVdpdGhDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgYnJhY2tldGVkVGVybXMsIGJyYWNrZXRlZENvbnN0cnVjdG9yLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgIGNvbnN0IGJyYWNrZXRlZFRlcm1Ob2RlID0gdGVybU5vZGU7IC8vL1xuXG4gICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGJyYWNrZXRlZFRlcm1Ob2RlKTsgLy8vXG5cbiAgICBjb25zdCB7IHZlcmlmeVRlcm0gfSA9IHNoaW0sXG4gICAgICAgICAgdGVybVZWZXJpZmllZCA9IHZlcmlmeVRlcm0odGVybU5vZGUsIHRlcm1zLCBsb2NhbENvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgIHZlcmlmaWVkQWhlYWQgPSB0ZXJtVlZlcmlmaWVkOyAgLy8vXG5cbiAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgfSk7XG5cbiAgaWYgKHRlcm1VbmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSBicmFja2V0ZWQgY29uc3RydWN0b3IuYCwgdGVybU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1VbmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0ZXJtTm9kZSIsInRlcm1zIiwibG9jYWxDb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJ0ZXJtVW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciIsInRlcm1TdHJpbmciLCJub2RlQXNTdHJpbmciLCJicmFja2V0ZWRUZXJtcyIsInRyYWNlIiwidW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yIiwiYnJhY2tldGVkQ29uc3RydWN0b3IiLCJ2ZXJpZmllZEFoZWFkIiwiYnJhY2tldGVkVGVybU5vZGUiLCJ2ZXJpZnlUZXJtIiwic2hpbSIsInRlcm1WVmVyaWZpZWQiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7OzsyREFSUDtnRUFDZ0I7MEVBQ0k7cUJBRVg7Ozs7OztBQUUxQixJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFakIsU0FBU0Ysa0NBQWtDRyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsWUFBWSxFQUFFQyxXQUFXO0lBQ2xHLElBQUlDO0lBRUosSUFBTUMsYUFBYUgsYUFBYUksWUFBWSxDQUFDTixXQUN2Q08saUJBQWlCLEVBQUU7SUFFekJMLGFBQWFNLEtBQUssQ0FBQyxBQUFDLGlCQUEyQixPQUFYSCxZQUFXLDZDQUEyQ0w7SUFFMUZJLHNDQUFzQ0ssSUFBQUEsNEJBQXdCLEVBQUNULFVBQVVPLGdCQUFnQkcsa0JBQW9CLEVBQUVSLGNBQWM7UUFDM0gsSUFBSVM7UUFFSixJQUFNQyxvQkFBb0JaLFVBQVUsR0FBRztRQUV2Q0EsV0FBV0YsY0FBY2Msb0JBQW9CLEdBQUc7UUFFaEQsSUFBTSxBQUFFQyxhQUFlQyxhQUFJLENBQW5CRCxZQUNGRSxnQkFBZ0JGLFdBQVdiLFVBQVVDLE9BQU9DLGNBQWNDO1FBRWhFUSxnQkFBZ0JJLGVBQWdCLEdBQUc7UUFFbkMsT0FBT0o7SUFDVDtJQUVBLElBQUlQLHFDQUFxQztRQUN2Q0YsYUFBYWMsS0FBSyxDQUFDLEFBQUMsbUJBQTZCLE9BQVhYLFlBQVcsMkNBQXlDTDtJQUM1RjtJQUVBLE9BQU9JO0FBQ1QifQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
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 unifyTermWithConstructor;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _term = /*#__PURE__*/ _interop_require_default(require("../term"));
|
|
12
|
+
var _termWithConstructor = /*#__PURE__*/ _interop_require_default(require("../unifier/termWithConstructor"));
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function unifyTermWithConstructor(termNode, terms, constructor, localContext, verifyAhead) {
|
|
19
|
+
var termUnifiedWithConstructor = false;
|
|
20
|
+
var termString = localContext.nodeAsString(termNode), constructorString = constructor.getString(), constructorTermNode = constructor.getTermNode();
|
|
21
|
+
localContext.trace("Unifying the '".concat(termString, "' term with the '").concat(constructorString, "' constructor..."), termNode);
|
|
22
|
+
var termNodeA = termNode, constructorTermNodeB = constructorTermNode, unified = _termWithConstructor.default.unify(termNodeA, constructorTermNodeB, localContext);
|
|
23
|
+
if (unified) {
|
|
24
|
+
var verifiedAhead;
|
|
25
|
+
var type = constructor.getType(), term = _term.default.fromTermNodeAndType(termNode, type);
|
|
26
|
+
terms.push(term);
|
|
27
|
+
verifiedAhead = verifyAhead();
|
|
28
|
+
terms.pop();
|
|
29
|
+
termUnifiedWithConstructor = verifiedAhead; ///
|
|
30
|
+
}
|
|
31
|
+
if (termUnifiedWithConstructor) {
|
|
32
|
+
localContext.debug("...unified the '".concat(termString, "' term with the '").concat(constructorString, "' constructor."), termNode);
|
|
33
|
+
}
|
|
34
|
+
return termUnifiedWithConstructor;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aENvbnN0cnVjdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGVybSBmcm9tIFwiLi4vdGVybVwiO1xuaW1wb3J0IHRlcm1XaXRoQ29uc3RydWN0b3JVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL3Rlcm1XaXRoQ29uc3RydWN0b3JcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yKHRlcm1Ob2RlLCB0ZXJtcywgY29uc3RydWN0b3IsIGxvY2FsQ29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yID0gZmFsc2U7XG5cbiAgY29uc3QgdGVybVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpLFxuICAgICAgICBjb25zdHJ1Y3RvclN0cmluZyA9IGNvbnN0cnVjdG9yLmdldFN0cmluZygpLFxuICAgICAgICBjb25zdHJ1Y3RvclRlcm1Ob2RlID0gY29uc3RydWN0b3IuZ2V0VGVybU5vZGUoKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yLi4uYCwgdGVybU5vZGUpO1xuXG4gIGNvbnN0IHRlcm1Ob2RlQSA9IHRlcm1Ob2RlLCAgLy8vXG4gICAgICAgIGNvbnN0cnVjdG9yVGVybU5vZGVCID0gY29uc3RydWN0b3JUZXJtTm9kZSwgIC8vL1xuICAgICAgICB1bmlmaWVkID0gdGVybVdpdGhDb25zdHJ1Y3RvclVuaWZpZXIudW5pZnkodGVybU5vZGVBLCBjb25zdHJ1Y3RvclRlcm1Ob2RlQiwgbG9jYWxDb250ZXh0KTtcblxuICBpZiAodW5pZmllZCkge1xuICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgY29uc3QgdHlwZSA9IGNvbnN0cnVjdG9yLmdldFR5cGUoKSxcbiAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGVBbmRUeXBlKHRlcm1Ob2RlLCB0eXBlKTtcblxuICAgIHRlcm1zLnB1c2godGVybSk7XG5cbiAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgIHRlcm1zLnBvcCgpO1xuXG4gICAgdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IgPSB2ZXJpZmllZEFoZWFkOyAgLy8vXG4gIH1cblxuICBpZiAodGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3IuYCwgdGVybU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvciIsInRlcm1Ob2RlIiwidGVybXMiLCJjb25zdHJ1Y3RvciIsImxvY2FsQ29udGV4dCIsInZlcmlmeUFoZWFkIiwidGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IiLCJ0ZXJtU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiY29uc3RydWN0b3JTdHJpbmciLCJnZXRTdHJpbmciLCJjb25zdHJ1Y3RvclRlcm1Ob2RlIiwiZ2V0VGVybU5vZGUiLCJ0cmFjZSIsInRlcm1Ob2RlQSIsImNvbnN0cnVjdG9yVGVybU5vZGVCIiwidW5pZmllZCIsInRlcm1XaXRoQ29uc3RydWN0b3JVbmlmaWVyIiwidW5pZnkiLCJ2ZXJpZmllZEFoZWFkIiwidHlwZSIsImdldFR5cGUiLCJ0ZXJtIiwiVGVybSIsImZyb21UZXJtTm9kZUFuZFR5cGUiLCJwdXNoIiwicG9wIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUtBOzs7ZUFBd0JBOzs7MkRBSFA7MEVBQ3NCOzs7Ozs7QUFFeEIsU0FBU0EseUJBQXlCQyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsV0FBVyxFQUFFQyxZQUFZLEVBQUVDLFdBQVc7SUFDdEcsSUFBSUMsNkJBQTZCO0lBRWpDLElBQU1DLGFBQWFILGFBQWFJLFlBQVksQ0FBQ1AsV0FDdkNRLG9CQUFvQk4sWUFBWU8sU0FBUyxJQUN6Q0Msc0JBQXNCUixZQUFZUyxXQUFXO0lBRW5EUixhQUFhUyxLQUFLLENBQUMsQUFBQyxpQkFBOENKLE9BQTlCRixZQUFXLHFCQUFxQyxPQUFsQkUsbUJBQWtCLHFCQUFtQlI7SUFFdkcsSUFBTWEsWUFBWWIsVUFDWmMsdUJBQXVCSixxQkFDdkJLLFVBQVVDLDRCQUEwQixDQUFDQyxLQUFLLENBQUNKLFdBQVdDLHNCQUFzQlg7SUFFbEYsSUFBSVksU0FBUztRQUNYLElBQUlHO1FBRUosSUFBTUMsT0FBT2pCLFlBQVlrQixPQUFPLElBQzFCQyxPQUFPQyxhQUFJLENBQUNDLG1CQUFtQixDQUFDdkIsVUFBVW1CO1FBRWhEbEIsTUFBTXVCLElBQUksQ0FBQ0g7UUFFWEgsZ0JBQWdCZDtRQUVoQkgsTUFBTXdCLEdBQUc7UUFFVHBCLDZCQUE2QmEsZUFBZ0IsR0FBRztJQUNsRDtJQUVBLElBQUliLDRCQUE0QjtRQUM5QkYsYUFBYXVCLEtBQUssQ0FBQyxBQUFDLG1CQUFnRGxCLE9BQTlCRixZQUFXLHFCQUFxQyxPQUFsQkUsbUJBQWtCLG1CQUFpQlI7SUFDekc7SUFFQSxPQUFPSztBQUNUIn0=
|
|
@@ -2,22 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
13
8
|
return unifyTermWithConstructors;
|
|
14
|
-
},
|
|
15
|
-
unifyTermWithConstructor: function() {
|
|
16
|
-
return unifyTermWithConstructor;
|
|
17
9
|
}
|
|
18
10
|
});
|
|
19
|
-
var
|
|
20
|
-
var _termWithConstructor = /*#__PURE__*/ _interop_require_default(require("../unifier/termWithConstructor"));
|
|
11
|
+
var _termWithConstructor = /*#__PURE__*/ _interop_require_default(require("../unify/termWithConstructor"));
|
|
21
12
|
var _query = require("../utilities/query");
|
|
22
13
|
function _interop_require_default(obj) {
|
|
23
14
|
return obj && obj.__esModule ? obj : {
|
|
@@ -31,7 +22,7 @@ function unifyTermWithConstructors(termNode, terms, localContext, verifyAhead) {
|
|
|
31
22
|
if (variableNode === null) {
|
|
32
23
|
var constructors = localContext.getConstructors();
|
|
33
24
|
termUnifiedWithConstructors = constructors.some(function(constructor) {
|
|
34
|
-
var termUnifiedWithConstructor =
|
|
25
|
+
var termUnifiedWithConstructor = (0, _termWithConstructor.default)(termNode, terms, constructor, localContext, verifyAhead);
|
|
35
26
|
if (termUnifiedWithConstructor) {
|
|
36
27
|
return true;
|
|
37
28
|
}
|
|
@@ -39,23 +30,5 @@ function unifyTermWithConstructors(termNode, terms, localContext, verifyAhead) {
|
|
|
39
30
|
}
|
|
40
31
|
return termUnifiedWithConstructors;
|
|
41
32
|
}
|
|
42
|
-
function unifyTermWithConstructor(termNode, terms, constructor, localContext, verifyAhead) {
|
|
43
|
-
var termUnifiedWithConstructor = false;
|
|
44
|
-
var termString = localContext.nodeAsString(termNode), constructorString = constructor.getString(), constructorTermNode = constructor.getTermNode();
|
|
45
|
-
localContext.trace("Unifying the '".concat(termString, "' term with the '").concat(constructorString, "' constructor..."), termNode);
|
|
46
|
-
var termNodeA = termNode, constructorTermNodeB = constructorTermNode, unified = _termWithConstructor.default.unify(termNodeA, constructorTermNodeB, localContext);
|
|
47
|
-
if (unified) {
|
|
48
|
-
var verifiedAhead;
|
|
49
|
-
var type = constructor.getType(), term = _term.default.fromTermNodeAndType(termNode, type);
|
|
50
|
-
terms.push(term);
|
|
51
|
-
verifiedAhead = verifyAhead();
|
|
52
|
-
terms.pop();
|
|
53
|
-
termUnifiedWithConstructor = verifiedAhead; ///
|
|
54
|
-
}
|
|
55
|
-
if (termUnifiedWithConstructor) {
|
|
56
|
-
localContext.debug("...unified the '".concat(termString, "' term with the '").concat(constructorString, "' constructor."), termNode);
|
|
57
|
-
}
|
|
58
|
-
return termUnifiedWithConstructor;
|
|
59
|
-
}
|
|
60
33
|
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aENvbnN0cnVjdG9ycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvciBmcm9tIFwiLi4vdW5pZnkvdGVybVdpdGhDb25zdHJ1Y3RvclwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0vdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3JzKHRlcm1Ob2RlLCB0ZXJtcywgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3JzID0gZmFsc2U7XG5cbiAgY29uc3QgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkodGVybU5vZGUpO1xuXG4gIGlmICh2YXJpYWJsZU5vZGUgPT09IG51bGwpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBsb2NhbENvbnRleHQuZ2V0Q29uc3RydWN0b3JzKCk7XG5cbiAgICB0ZXJtVW5pZmllZFdpdGhDb25zdHJ1Y3RvcnMgPSBjb25zdHJ1Y3RvcnMuc29tZSgoY29uc3RydWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yID0gdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yKHRlcm1Ob2RlLCB0ZXJtcywgY29uc3RydWN0b3IsIGxvY2FsQ29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICBpZiAodGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3JzO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvcnMiLCJ2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInRlcm1Ob2RlIiwidGVybXMiLCJsb2NhbENvbnRleHQiLCJ2ZXJpZnlBaGVhZCIsInRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9ycyIsInZhcmlhYmxlTm9kZSIsImNvbnN0cnVjdG9ycyIsImdldENvbnN0cnVjdG9ycyIsInNvbWUiLCJjb25zdHJ1Y3RvciIsInRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yIiwidW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7OzBFQU5hO3FCQUVYOzs7Ozs7QUFFMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXJCLFNBQVNGLDBCQUEwQkcsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLFlBQVksRUFBRUMsV0FBVztJQUMxRixJQUFJQyw4QkFBOEI7SUFFbEMsSUFBTUMsZUFBZVAsa0JBQWtCRTtJQUV2QyxJQUFJSyxpQkFBaUIsTUFBTTtRQUN6QixJQUFNQyxlQUFlSixhQUFhSyxlQUFlO1FBRWpESCw4QkFBOEJFLGFBQWFFLElBQUksQ0FBQyxTQUFDQztZQUMvQyxJQUFNQyw2QkFBNkJDLElBQUFBLDRCQUF3QixFQUFDWCxVQUFVQyxPQUFPUSxhQUFhUCxjQUFjQztZQUV4RyxJQUFJTyw0QkFBNEI7Z0JBQzlCLE9BQU87WUFDVDtRQUNGO0lBQ0Y7SUFFQSxPQUFPTjtBQUNUIn0=
|