occam-verify-cli 1.0.405 → 1.0.415
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/constants.js +1 -5
- package/lib/context/file.js +7 -8
- package/lib/context/local.js +3 -3
- package/lib/context/release.js +2 -2
- package/lib/context/temporary.js +103 -54
- package/lib/mixins/statement/verify.js +2 -2
- package/lib/mixins/step/unify.js +2 -2
- package/lib/node/argument.js +2 -2
- package/lib/node/assumption.js +6 -6
- package/lib/node/frame.js +19 -7
- package/lib/node/judgement.js +8 -1
- package/lib/node/statement.js +34 -15
- package/lib/node/substitution/term.js +3 -11
- package/lib/node/term.js +20 -8
- package/lib/nonTerminalNode.js +3 -3
- package/lib/ontology/assertion/contained.js +7 -7
- package/lib/ontology/assertion/defined.js +8 -8
- package/lib/ontology/assertion/subproof.js +3 -3
- package/lib/ontology/assumption.js +49 -45
- package/lib/ontology/combinator.js +3 -3
- package/lib/ontology/constructor.js +3 -3
- package/lib/ontology/declaration/combinator.js +3 -3
- package/lib/ontology/declaration/constructor.js +3 -3
- package/lib/ontology/equality.js +4 -4
- package/lib/ontology/equivalence.js +2 -2
- package/lib/ontology/frame.js +37 -12
- package/lib/ontology/judgement.js +13 -6
- package/lib/ontology/metavariable.js +75 -76
- package/lib/ontology/propertyRelation.js +2 -2
- package/lib/ontology/reference.js +33 -4
- package/lib/ontology/signature.js +2 -2
- package/lib/ontology/statement.js +33 -8
- package/lib/ontology/step.js +4 -4
- package/lib/ontology/substitution/frame.js +13 -15
- package/lib/ontology/substitution/statement.js +31 -32
- package/lib/ontology/substitution/term.js +26 -25
- package/lib/ontology/substitution.js +2 -2
- package/lib/ontology/substitutions.js +4 -4
- package/lib/ontology/term.js +26 -12
- package/lib/ontology/variable.js +2 -2
- package/lib/process/equate.js +322 -0
- package/lib/process/unify.js +623 -0
- package/lib/process/verify.js +612 -0
- package/lib/utilities/brackets.js +3 -8
- package/lib/utilities/context.js +4 -14
- package/lib/utilities/json.js +18 -1
- package/lib/utilities/pass.js +68 -0
- package/lib/utilities/substitutions.js +11 -16
- package/package.json +11 -11
- package/src/constants.js +0 -1
- package/src/context/file.js +8 -8
- package/src/context/local.js +2 -2
- package/src/context/release.js +1 -1
- package/src/context/temporary.js +124 -54
- package/src/mixins/statement/verify.js +3 -1
- package/src/mixins/step/unify.js +0 -1
- package/src/node/argument.js +1 -1
- package/src/node/assumption.js +4 -4
- package/src/node/frame.js +19 -5
- package/src/node/judgement.js +7 -0
- package/src/node/statement.js +35 -13
- package/src/node/substitution/term.js +4 -14
- package/src/node/term.js +20 -6
- package/src/nonTerminalNode.js +1 -1
- package/src/ontology/assertion/contained.js +6 -6
- package/src/ontology/assertion/defined.js +7 -7
- package/src/ontology/assertion/subproof.js +1 -1
- package/src/ontology/assumption.js +52 -57
- package/src/ontology/combinator.js +1 -1
- package/src/ontology/constructor.js +1 -1
- package/src/ontology/declaration/combinator.js +2 -3
- package/src/ontology/declaration/constructor.js +2 -2
- package/src/ontology/equality.js +3 -3
- package/src/ontology/equivalence.js +1 -1
- package/src/ontology/frame.js +44 -10
- package/src/ontology/judgement.js +8 -3
- package/src/ontology/metavariable.js +108 -102
- package/src/ontology/propertyRelation.js +3 -2
- package/src/ontology/reference.js +39 -1
- package/src/ontology/signature.js +3 -3
- package/src/ontology/statement.js +38 -4
- package/src/ontology/step.js +7 -7
- package/src/ontology/substitution/frame.js +13 -17
- package/src/ontology/substitution/statement.js +45 -48
- package/src/ontology/substitution/term.js +19 -19
- package/src/ontology/substitution.js +3 -2
- package/src/ontology/substitutions.js +3 -3
- package/src/ontology/term.js +26 -5
- package/src/ontology/variable.js +3 -2
- package/src/process/equate.js +212 -0
- package/src/process/unify.js +634 -0
- package/src/process/verify.js +584 -0
- package/src/utilities/brackets.js +2 -11
- package/src/utilities/context.js +1 -21
- package/src/utilities/json.js +19 -0
- package/src/utilities/{unifier.js → pass.js} +17 -1
- package/src/utilities/substitutions.js +10 -20
- package/lib/unifier/equantional.js +0 -170
- package/lib/unifier/intrinsicLevel.js +0 -144
- package/lib/unifier/metaLevel.js +0 -197
- package/lib/unifier/metavariable.js +0 -140
- package/lib/unifier/statementWithCombinator.js +0 -177
- package/lib/unifier/termWithConstructor.js +0 -145
- package/lib/unifier.js +0 -241
- package/lib/utilities/arguments.js +0 -28
- package/lib/utilities/frame.js +0 -18
- package/lib/utilities/metavariable.js +0 -18
- package/lib/utilities/statement.js +0 -18
- package/lib/utilities/unification.js +0 -109
- package/lib/utilities/unifier.js +0 -51
- package/lib/utilities/variable.js +0 -18
- package/lib/verifier/combinator.js +0 -158
- package/lib/verifier/constructor.js +0 -230
- package/lib/verifier/topLevel.js +0 -242
- package/lib/verifier.js +0 -219
- package/src/unifier/equantional.js +0 -90
- package/src/unifier/intrinsicLevel.js +0 -52
- package/src/unifier/metaLevel.js +0 -151
- package/src/unifier/metavariable.js +0 -50
- package/src/unifier/statementWithCombinator.js +0 -114
- package/src/unifier/termWithConstructor.js +0 -56
- package/src/unifier.js +0 -183
- package/src/utilities/arguments.js +0 -21
- package/src/utilities/frame.js +0 -13
- package/src/utilities/metavariable.js +0 -13
- package/src/utilities/statement.js +0 -13
- package/src/utilities/unification.js +0 -136
- package/src/utilities/variable.js +0 -13
- package/src/verifier/combinator.js +0 -72
- package/src/verifier/constructor.js +0 -96
- package/src/verifier/topLevel.js +0 -204
- package/src/verifier.js +0 -150
|
@@ -1,22 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { nodeQuery } from "../utilities/query";
|
|
4
|
-
import { frameMetavariableNameFromFrameNode } from "../utilities/frame";
|
|
5
|
-
import { termVariableIdentifierFromTermNode } from "../utilities/variable";
|
|
6
|
-
import { statementMetavariableNameFromFrameNode } from "../utilities/statement";
|
|
7
|
-
|
|
8
|
-
const substitutionNodeQuery = nodeQuery("/statement/termSubstitution|frameSubstitution!");
|
|
9
|
-
|
|
10
3
|
export function termFromTermAndSubstitutions(term, substitutions, generalContext, specificContext) {
|
|
11
4
|
if (term !== null) {
|
|
12
5
|
const termNode = term.getNode(),
|
|
13
|
-
|
|
6
|
+
termSingular = term.isSingular();
|
|
14
7
|
|
|
15
8
|
term = null; ///
|
|
16
9
|
|
|
17
|
-
if (
|
|
18
|
-
const
|
|
19
|
-
variableIdentifier = termVariableIdentifier, ///
|
|
10
|
+
if (termSingular) {
|
|
11
|
+
const variableIdentifier = termNode.getVariableIdentifier(),
|
|
20
12
|
variable = generalContext.findVariableByVariableIdentifier(variableIdentifier);
|
|
21
13
|
|
|
22
14
|
if (variable !== null) {
|
|
@@ -37,13 +29,12 @@ export function termFromTermAndSubstitutions(term, substitutions, generalContext
|
|
|
37
29
|
export function frameFromFrameAndSubstitutions(frame, substitutions, generalContext, specificContext) {
|
|
38
30
|
if (frame !== null) {
|
|
39
31
|
const frameNode = frame.getNode(),
|
|
40
|
-
|
|
32
|
+
frameSingular = frame.isSingular();
|
|
41
33
|
|
|
42
34
|
frame = null; ///
|
|
43
35
|
|
|
44
|
-
if (
|
|
45
|
-
const
|
|
46
|
-
metavariableName = frameMetavariableName, ///
|
|
36
|
+
if (frameSingular) {
|
|
37
|
+
const metavariableName = frameNode.getMetavariableName(),
|
|
47
38
|
metavariable = generalContext.findMetavariableByMetavariableName(metavariableName);
|
|
48
39
|
|
|
49
40
|
if (metavariable !== null) {
|
|
@@ -66,21 +57,20 @@ export function frameFromFrameAndSubstitutions(frame, substitutions, generalCont
|
|
|
66
57
|
export function statementFromStatementAndSubstitutions(statement, substitutions, generalContext, specificContext) {
|
|
67
58
|
if (statement !== null) {
|
|
68
59
|
const statementNode = statement.getNode(),
|
|
69
|
-
|
|
60
|
+
statementSingular = statement.isSingular();
|
|
70
61
|
|
|
71
|
-
if (
|
|
62
|
+
if (statementSingular) {
|
|
72
63
|
statement = null;
|
|
73
64
|
|
|
74
65
|
let substitution = null;
|
|
75
66
|
|
|
76
|
-
const substitutionNode =
|
|
67
|
+
const substitutionNode = statementNode.getSubstitutionNode();
|
|
77
68
|
|
|
78
69
|
if (substitutionNode !== null) {
|
|
79
70
|
substitution = generalContext.findSubstitutionBySubstitutionNode(substitutionNode);
|
|
80
71
|
}
|
|
81
72
|
|
|
82
|
-
const
|
|
83
|
-
metavariableName = statementMetavariableName, ///
|
|
73
|
+
const metavariableName = statementNode.getMetavariableName(),
|
|
84
74
|
metavariable = generalContext.findMetavariableByMetavariableName(metavariableName);
|
|
85
75
|
|
|
86
76
|
if (metavariable !== null) {
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _unifier = /*#__PURE__*/ _interop_require_default(require("../unifier"));
|
|
12
|
-
var _query = require("../utilities/query");
|
|
13
|
-
function _assert_this_initialized(self) {
|
|
14
|
-
if (self === void 0) {
|
|
15
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
16
|
-
}
|
|
17
|
-
return self;
|
|
18
|
-
}
|
|
19
|
-
function _call_super(_this, derived, args) {
|
|
20
|
-
derived = _get_prototype_of(derived);
|
|
21
|
-
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
22
|
-
}
|
|
23
|
-
function _class_call_check(instance, Constructor) {
|
|
24
|
-
if (!(instance instanceof Constructor)) {
|
|
25
|
-
throw new TypeError("Cannot call a class as a function");
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _defineProperties(target, props) {
|
|
29
|
-
for(var i = 0; i < props.length; i++){
|
|
30
|
-
var descriptor = props[i];
|
|
31
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
32
|
-
descriptor.configurable = true;
|
|
33
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
34
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
38
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
39
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
40
|
-
return Constructor;
|
|
41
|
-
}
|
|
42
|
-
function _define_property(obj, key, value) {
|
|
43
|
-
if (key in obj) {
|
|
44
|
-
Object.defineProperty(obj, key, {
|
|
45
|
-
value: value,
|
|
46
|
-
enumerable: true,
|
|
47
|
-
configurable: true,
|
|
48
|
-
writable: true
|
|
49
|
-
});
|
|
50
|
-
} else {
|
|
51
|
-
obj[key] = value;
|
|
52
|
-
}
|
|
53
|
-
return obj;
|
|
54
|
-
}
|
|
55
|
-
function _get_prototype_of(o) {
|
|
56
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
57
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
58
|
-
};
|
|
59
|
-
return _get_prototype_of(o);
|
|
60
|
-
}
|
|
61
|
-
function _inherits(subClass, superClass) {
|
|
62
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
63
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
64
|
-
}
|
|
65
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
66
|
-
constructor: {
|
|
67
|
-
value: subClass,
|
|
68
|
-
writable: true,
|
|
69
|
-
configurable: true
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
73
|
-
}
|
|
74
|
-
function _interop_require_default(obj) {
|
|
75
|
-
return obj && obj.__esModule ? obj : {
|
|
76
|
-
default: obj
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function _possible_constructor_return(self, call) {
|
|
80
|
-
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
81
|
-
return call;
|
|
82
|
-
}
|
|
83
|
-
return _assert_this_initialized(self);
|
|
84
|
-
}
|
|
85
|
-
function _set_prototype_of(o, p) {
|
|
86
|
-
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
87
|
-
o.__proto__ = p;
|
|
88
|
-
return o;
|
|
89
|
-
};
|
|
90
|
-
return _set_prototype_of(o, p);
|
|
91
|
-
}
|
|
92
|
-
function _type_of(obj) {
|
|
93
|
-
"@swc/helpers - typeof";
|
|
94
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
95
|
-
}
|
|
96
|
-
function _is_native_reflect_construct() {
|
|
97
|
-
try {
|
|
98
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
99
|
-
} catch (_) {}
|
|
100
|
-
return (_is_native_reflect_construct = function() {
|
|
101
|
-
return !!result;
|
|
102
|
-
})();
|
|
103
|
-
}
|
|
104
|
-
var termNodeQuery = (0, _query.nodeQuery)("/term");
|
|
105
|
-
var EquationalUnifier = /*#__PURE__*/ function(Unifier) {
|
|
106
|
-
_inherits(EquationalUnifier, Unifier);
|
|
107
|
-
function EquationalUnifier() {
|
|
108
|
-
_class_call_check(this, EquationalUnifier);
|
|
109
|
-
return _call_super(this, EquationalUnifier, arguments);
|
|
110
|
-
}
|
|
111
|
-
_create_class(EquationalUnifier, [
|
|
112
|
-
{
|
|
113
|
-
key: "equateTerms",
|
|
114
|
-
value: function equateTerms(leftTermNode, rightTermNode, context) {
|
|
115
|
-
var termsEquate;
|
|
116
|
-
var generalNonTerminalNode = leftTermNode, specificNonTerminalNode = rightTermNode, nonTerminalNodeUnifies = this.unifyNonTerminalNode(generalNonTerminalNode, specificNonTerminalNode, context);
|
|
117
|
-
termsEquate = nonTerminalNodeUnifies; ///
|
|
118
|
-
return termsEquate;
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
key: "equateStatements",
|
|
123
|
-
value: function equateStatements(statementANode, statementBNode, context) {
|
|
124
|
-
var statementsEquate;
|
|
125
|
-
var generalNonTerminalNode = statementANode, specificNonTerminalNode = statementBNode, nonTerminalNodeUnifies = this.unifyNonTerminalNode(generalNonTerminalNode, specificNonTerminalNode, context);
|
|
126
|
-
statementsEquate = nonTerminalNodeUnifies; ///
|
|
127
|
-
return statementsEquate;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
]);
|
|
131
|
-
return EquationalUnifier;
|
|
132
|
-
}(_unifier.default);
|
|
133
|
-
_define_property(EquationalUnifier, "maps", [
|
|
134
|
-
{
|
|
135
|
-
generalNodeQuery: termNodeQuery,
|
|
136
|
-
specificNodeQuery: termNodeQuery,
|
|
137
|
-
unify: function(leftTermNode, rightTermNode, context) {
|
|
138
|
-
var termUnifies = false;
|
|
139
|
-
if (!termUnifies) {
|
|
140
|
-
var depth = Infinity, leftTermNodeMatchesRightTermNode = leftTermNode.match(rightTermNode, depth);
|
|
141
|
-
if (leftTermNodeMatchesRightTermNode) {
|
|
142
|
-
termUnifies = true;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
if (!termUnifies) {
|
|
146
|
-
var equivalences = context.getEquivalences(), termNodes = [
|
|
147
|
-
leftTermNode,
|
|
148
|
-
rightTermNode
|
|
149
|
-
], equivalence = equivalences.findEquivalenceByTermNodes(termNodes);
|
|
150
|
-
if (equivalence !== null) {
|
|
151
|
-
termUnifies = true;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
if (!termUnifies) {
|
|
155
|
-
var depth1 = 1, leftTermNodeMatchesRightTermNode1 = leftTermNode.match(rightTermNode, depth1);
|
|
156
|
-
if (leftTermNodeMatchesRightTermNode1) {
|
|
157
|
-
var leftNonTerminalNode = leftTermNode, rightNonTerminalNode = rightTermNode, leftNonTerminalNodeChildNodes = leftNonTerminalNode.getChildNodes(), rightNonTerminalNodeChildNodes = rightNonTerminalNode.getChildNodes(), leftChildNodes = leftNonTerminalNodeChildNodes, rightChildNodes = rightNonTerminalNodeChildNodes, childNodesUnify = equationalUnifier.unifyChildNodes(leftChildNodes, rightChildNodes, context);
|
|
158
|
-
if (childNodesUnify) {
|
|
159
|
-
termUnifies = true;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
return termUnifies;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
]);
|
|
167
|
-
var equationalUnifier = new EquationalUnifier();
|
|
168
|
-
var _default = equationalUnifier;
|
|
169
|
-
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmaWVyL2VxdWFudGlvbmFsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVW5pZmllciBmcm9tIFwiLi4vdW5pZmllclwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybVwiKTtcblxuY2xhc3MgRXF1YXRpb25hbFVuaWZpZXIgZXh0ZW5kcyBVbmlmaWVyIHtcbiAgZXF1YXRlVGVybXMobGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IHRlcm1zRXF1YXRlO1xuXG4gICAgY29uc3QgZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSA9IGxlZnRUZXJtTm9kZSwgLy8vXG4gICAgICAgICAgc3BlY2lmaWNOb25UZXJtaW5hbE5vZGUgPSByaWdodFRlcm1Ob2RlLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVVbmlmaWVzID0gdGhpcy51bmlmeU5vblRlcm1pbmFsTm9kZShnZW5lcmFsTm9uVGVybWluYWxOb2RlLCBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSwgY29udGV4dCk7XG5cbiAgICB0ZXJtc0VxdWF0ZSA9IG5vblRlcm1pbmFsTm9kZVVuaWZpZXM7IC8vL1xuXG4gICAgcmV0dXJuIHRlcm1zRXF1YXRlO1xuICB9O1xuXG4gIGVxdWF0ZVN0YXRlbWVudHMoc3RhdGVtZW50QU5vZGUsIHN0YXRlbWVudEJOb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudHNFcXVhdGU7XG5cbiAgICBjb25zdCBnZW5lcmFsTm9uVGVybWluYWxOb2RlID0gc3RhdGVtZW50QU5vZGUsIC8vL1xuICAgICAgICAgIHNwZWNpZmljTm9uVGVybWluYWxOb2RlID0gc3RhdGVtZW50Qk5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZXMgPSB0aGlzLnVuaWZ5Tm9uVGVybWluYWxOb2RlKGdlbmVyYWxOb25UZXJtaW5hbE5vZGUsIHNwZWNpZmljTm9uVGVybWluYWxOb2RlLCBjb250ZXh0KTtcblxuICAgIHN0YXRlbWVudHNFcXVhdGUgPSBub25UZXJtaW5hbE5vZGVVbmlmaWVzOyAvLy9cblxuICAgIHJldHVybiBzdGF0ZW1lbnRzRXF1YXRlO1xuICB9O1xuXG4gIHN0YXRpYyBtYXBzID0gW1xuICAgIHtcbiAgICAgIGdlbmVyYWxOb2RlUXVlcnk6IHRlcm1Ob2RlUXVlcnksICAvLy9cbiAgICAgIHNwZWNpZmljTm9kZVF1ZXJ5OiB0ZXJtTm9kZVF1ZXJ5LCAvLy9cbiAgICAgIHVuaWZ5OiAobGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGxldCB0ZXJtVW5pZmllcyA9IGZhbHNlO1xuXG4gICAgICAgIGlmICghdGVybVVuaWZpZXMpIHtcbiAgICAgICAgICBjb25zdCBkZXB0aCA9IEluZmluaXR5LFxuICAgICAgICAgICAgICAgIGxlZnRUZXJtTm9kZU1hdGNoZXNSaWdodFRlcm1Ob2RlID0gbGVmdFRlcm1Ob2RlLm1hdGNoKHJpZ2h0VGVybU5vZGUsIGRlcHRoKTtcblxuICAgICAgICAgIGlmIChsZWZ0VGVybU5vZGVNYXRjaGVzUmlnaHRUZXJtTm9kZSkge1xuICAgICAgICAgICAgdGVybVVuaWZpZXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGVybVVuaWZpZXMpIHtcbiAgICAgICAgICBjb25zdCBlcXVpdmFsZW5jZXMgPSBjb250ZXh0LmdldEVxdWl2YWxlbmNlcygpLFxuICAgICAgICAgICAgICAgIHRlcm1Ob2RlcyA9IFtcbiAgICAgICAgICAgICAgICAgIGxlZnRUZXJtTm9kZSxcbiAgICAgICAgICAgICAgICAgIHJpZ2h0VGVybU5vZGVcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGVxdWl2YWxlbmNlID0gZXF1aXZhbGVuY2VzLmZpbmRFcXVpdmFsZW5jZUJ5VGVybU5vZGVzKHRlcm1Ob2Rlcyk7XG5cbiAgICAgICAgICBpZiAoZXF1aXZhbGVuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRlcm1VbmlmaWVzID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRlcm1VbmlmaWVzKSB7XG4gICAgICAgICAgY29uc3QgZGVwdGggPSAxLFxuICAgICAgICAgICAgICAgIGxlZnRUZXJtTm9kZU1hdGNoZXNSaWdodFRlcm1Ob2RlID0gbGVmdFRlcm1Ob2RlLm1hdGNoKHJpZ2h0VGVybU5vZGUsIGRlcHRoKTtcblxuICAgICAgICAgIGlmIChsZWZ0VGVybU5vZGVNYXRjaGVzUmlnaHRUZXJtTm9kZSkge1xuICAgICAgICAgICAgY29uc3QgbGVmdE5vblRlcm1pbmFsTm9kZSA9IGxlZnRUZXJtTm9kZSwgLy8vXG4gICAgICAgICAgICAgICAgICByaWdodE5vblRlcm1pbmFsTm9kZSA9IHJpZ2h0VGVybU5vZGUsIC8vL1xuICAgICAgICAgICAgICAgICAgbGVmdE5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXMgPSBsZWZ0Tm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgICAgIHJpZ2h0Tm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyA9IHJpZ2h0Tm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgICAgIGxlZnRDaGlsZE5vZGVzID0gbGVmdE5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgICAgICAgcmlnaHRDaGlsZE5vZGVzID0gcmlnaHROb25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgICAgIGNoaWxkTm9kZXNVbmlmeSA9IGVxdWF0aW9uYWxVbmlmaWVyLnVuaWZ5Q2hpbGROb2RlcyhsZWZ0Q2hpbGROb2RlcywgcmlnaHRDaGlsZE5vZGVzLCBjb250ZXh0KTtcblxuICAgICAgICAgICAgaWYgKGNoaWxkTm9kZXNVbmlmeSkge1xuICAgICAgICAgICAgICB0ZXJtVW5pZmllcyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRlcm1VbmlmaWVzO1xuICAgICAgfVxuICAgIH1cbiAgXTtcbn1cblxuY29uc3QgZXF1YXRpb25hbFVuaWZpZXIgPSBuZXcgRXF1YXRpb25hbFVuaWZpZXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgZXF1YXRpb25hbFVuaWZpZXI7XG4iXSwibmFtZXMiOlsidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIkVxdWF0aW9uYWxVbmlmaWVyIiwiZXF1YXRlVGVybXMiLCJsZWZ0VGVybU5vZGUiLCJyaWdodFRlcm1Ob2RlIiwiY29udGV4dCIsInRlcm1zRXF1YXRlIiwiZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSIsInNwZWNpZmljTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlVW5pZmllcyIsInVuaWZ5Tm9uVGVybWluYWxOb2RlIiwiZXF1YXRlU3RhdGVtZW50cyIsInN0YXRlbWVudEFOb2RlIiwic3RhdGVtZW50Qk5vZGUiLCJzdGF0ZW1lbnRzRXF1YXRlIiwiVW5pZmllciIsIm1hcHMiLCJnZW5lcmFsTm9kZVF1ZXJ5Iiwic3BlY2lmaWNOb2RlUXVlcnkiLCJ1bmlmeSIsInRlcm1VbmlmaWVzIiwiZGVwdGgiLCJJbmZpbml0eSIsImxlZnRUZXJtTm9kZU1hdGNoZXNSaWdodFRlcm1Ob2RlIiwibWF0Y2giLCJlcXVpdmFsZW5jZXMiLCJnZXRFcXVpdmFsZW5jZXMiLCJ0ZXJtTm9kZXMiLCJlcXVpdmFsZW5jZSIsImZpbmRFcXVpdmFsZW5jZUJ5VGVybU5vZGVzIiwibGVmdE5vblRlcm1pbmFsTm9kZSIsInJpZ2h0Tm9uVGVybWluYWxOb2RlIiwibGVmdE5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwicmlnaHROb25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzIiwibGVmdENoaWxkTm9kZXMiLCJyaWdodENoaWxkTm9kZXMiLCJjaGlsZE5vZGVzVW5pZnkiLCJlcXVhdGlvbmFsVW5pZmllciIsInVuaWZ5Q2hpbGROb2RlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBeUZBOzs7ZUFBQTs7OzhEQXZGb0I7cUJBRU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFCLElBQU1BLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUVoQyxJQUFBLEFBQU1DLGtDQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQSxZQUFZQyxZQUFZLEVBQUVDLGFBQWEsRUFBRUMsT0FBTztnQkFDOUMsSUFBSUM7Z0JBRUosSUFBTUMseUJBQXlCSixjQUN6QkssMEJBQTBCSixlQUMxQksseUJBQXlCLElBQUksQ0FBQ0Msb0JBQW9CLENBQUNILHdCQUF3QkMseUJBQXlCSDtnQkFFMUdDLGNBQWNHLHdCQUF3QixHQUFHO2dCQUV6QyxPQUFPSDtZQUNUOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQkMsY0FBYyxFQUFFQyxjQUFjLEVBQUVSLE9BQU87Z0JBQ3RELElBQUlTO2dCQUVKLElBQU1QLHlCQUF5QkssZ0JBQ3pCSiwwQkFBMEJLLGdCQUMxQkoseUJBQXlCLElBQUksQ0FBQ0Msb0JBQW9CLENBQUNILHdCQUF3QkMseUJBQXlCSDtnQkFFMUdTLG1CQUFtQkwsd0JBQXdCLEdBQUc7Z0JBRTlDLE9BQU9LO1lBQ1Q7OztXQXZCSWI7RUFBMEJjLGdCQUFPO0FBeUJyQyxpQkF6QklkLG1CQXlCR2UsUUFBTztJQUNaO1FBQ0VDLGtCQUFrQmxCO1FBQ2xCbUIsbUJBQW1CbkI7UUFDbkJvQixPQUFPLFNBQUNoQixjQUFjQyxlQUFlQztZQUNuQyxJQUFJZSxjQUFjO1lBRWxCLElBQUksQ0FBQ0EsYUFBYTtnQkFDaEIsSUFBTUMsUUFBUUMsVUFDUkMsbUNBQW1DcEIsYUFBYXFCLEtBQUssQ0FBQ3BCLGVBQWVpQjtnQkFFM0UsSUFBSUUsa0NBQWtDO29CQUNwQ0gsY0FBYztnQkFDaEI7WUFDRjtZQUVBLElBQUksQ0FBQ0EsYUFBYTtnQkFDaEIsSUFBTUssZUFBZXBCLFFBQVFxQixlQUFlLElBQ3RDQyxZQUFZO29CQUNWeEI7b0JBQ0FDO2lCQUNELEVBQ0R3QixjQUFjSCxhQUFhSSwwQkFBMEIsQ0FBQ0Y7Z0JBRTVELElBQUlDLGdCQUFnQixNQUFNO29CQUN4QlIsY0FBYztnQkFDaEI7WUFDRjtZQUVBLElBQUksQ0FBQ0EsYUFBYTtnQkFDaEIsSUFBTUMsU0FBUSxHQUNSRSxvQ0FBbUNwQixhQUFhcUIsS0FBSyxDQUFDcEIsZUFBZWlCO2dCQUUzRSxJQUFJRSxtQ0FBa0M7b0JBQ3BDLElBQU1PLHNCQUFzQjNCLGNBQ3RCNEIsdUJBQXVCM0IsZUFDdkI0QixnQ0FBZ0NGLG9CQUFvQkcsYUFBYSxJQUNqRUMsaUNBQWlDSCxxQkFBcUJFLGFBQWEsSUFDbkVFLGlCQUFpQkgsK0JBQ2pCSSxrQkFBa0JGLGdDQUNsQkcsa0JBQWtCQyxrQkFBa0JDLGVBQWUsQ0FBQ0osZ0JBQWdCQyxpQkFBaUIvQjtvQkFFM0YsSUFBSWdDLGlCQUFpQjt3QkFDbkJqQixjQUFjO29CQUNoQjtnQkFDRjtZQUNGO1lBRUEsT0FBT0E7UUFDVDtJQUNGO0NBQ0Q7QUFHSCxJQUFNa0Isb0JBQW9CLElBQUlyQztJQUU5QixXQUFlcUMifQ==
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _unifier = /*#__PURE__*/ _interop_require_default(require("../unifier"));
|
|
12
|
-
var _query = require("../utilities/query");
|
|
13
|
-
function _assert_this_initialized(self) {
|
|
14
|
-
if (self === void 0) {
|
|
15
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
16
|
-
}
|
|
17
|
-
return self;
|
|
18
|
-
}
|
|
19
|
-
function _call_super(_this, derived, args) {
|
|
20
|
-
derived = _get_prototype_of(derived);
|
|
21
|
-
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
22
|
-
}
|
|
23
|
-
function _class_call_check(instance, Constructor) {
|
|
24
|
-
if (!(instance instanceof Constructor)) {
|
|
25
|
-
throw new TypeError("Cannot call a class as a function");
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _defineProperties(target, props) {
|
|
29
|
-
for(var i = 0; i < props.length; i++){
|
|
30
|
-
var descriptor = props[i];
|
|
31
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
32
|
-
descriptor.configurable = true;
|
|
33
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
34
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
38
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
39
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
40
|
-
return Constructor;
|
|
41
|
-
}
|
|
42
|
-
function _define_property(obj, key, value) {
|
|
43
|
-
if (key in obj) {
|
|
44
|
-
Object.defineProperty(obj, key, {
|
|
45
|
-
value: value,
|
|
46
|
-
enumerable: true,
|
|
47
|
-
configurable: true,
|
|
48
|
-
writable: true
|
|
49
|
-
});
|
|
50
|
-
} else {
|
|
51
|
-
obj[key] = value;
|
|
52
|
-
}
|
|
53
|
-
return obj;
|
|
54
|
-
}
|
|
55
|
-
function _get_prototype_of(o) {
|
|
56
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
57
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
58
|
-
};
|
|
59
|
-
return _get_prototype_of(o);
|
|
60
|
-
}
|
|
61
|
-
function _inherits(subClass, superClass) {
|
|
62
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
63
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
64
|
-
}
|
|
65
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
66
|
-
constructor: {
|
|
67
|
-
value: subClass,
|
|
68
|
-
writable: true,
|
|
69
|
-
configurable: true
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
73
|
-
}
|
|
74
|
-
function _interop_require_default(obj) {
|
|
75
|
-
return obj && obj.__esModule ? obj : {
|
|
76
|
-
default: obj
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function _possible_constructor_return(self, call) {
|
|
80
|
-
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
81
|
-
return call;
|
|
82
|
-
}
|
|
83
|
-
return _assert_this_initialized(self);
|
|
84
|
-
}
|
|
85
|
-
function _set_prototype_of(o, p) {
|
|
86
|
-
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
87
|
-
o.__proto__ = p;
|
|
88
|
-
return o;
|
|
89
|
-
};
|
|
90
|
-
return _set_prototype_of(o, p);
|
|
91
|
-
}
|
|
92
|
-
function _type_of(obj) {
|
|
93
|
-
"@swc/helpers - typeof";
|
|
94
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
95
|
-
}
|
|
96
|
-
function _is_native_reflect_construct() {
|
|
97
|
-
try {
|
|
98
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
99
|
-
} catch (_) {}
|
|
100
|
-
return (_is_native_reflect_construct = function() {
|
|
101
|
-
return !!result;
|
|
102
|
-
})();
|
|
103
|
-
}
|
|
104
|
-
var termNodeQuery = (0, _query.nodeQuery)("/term"), termVariableNodeQuery = (0, _query.nodeQuery)("/term/variable!");
|
|
105
|
-
var IntrinsicLevelUnifier = /*#__PURE__*/ function(Unifier) {
|
|
106
|
-
_inherits(IntrinsicLevelUnifier, Unifier);
|
|
107
|
-
function IntrinsicLevelUnifier() {
|
|
108
|
-
_class_call_check(this, IntrinsicLevelUnifier);
|
|
109
|
-
return _call_super(this, IntrinsicLevelUnifier, arguments);
|
|
110
|
-
}
|
|
111
|
-
_create_class(IntrinsicLevelUnifier, [
|
|
112
|
-
{
|
|
113
|
-
key: "unify",
|
|
114
|
-
value: function unify(generalNonTerminalNode, specificNonTerminalNode, substitutions, generalContext, specificContext) {
|
|
115
|
-
var unifiesAtIntrinsicLevel;
|
|
116
|
-
var nonTerminalNodeUnifies = this.unifyNonTerminalNode(generalNonTerminalNode, specificNonTerminalNode, substitutions, generalContext, specificContext);
|
|
117
|
-
unifiesAtIntrinsicLevel = nonTerminalNodeUnifies; ///
|
|
118
|
-
return unifiesAtIntrinsicLevel;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
]);
|
|
122
|
-
return IntrinsicLevelUnifier;
|
|
123
|
-
}(_unifier.default);
|
|
124
|
-
_define_property(IntrinsicLevelUnifier, "maps", [
|
|
125
|
-
{
|
|
126
|
-
generalNodeQuery: termVariableNodeQuery,
|
|
127
|
-
specificNodeQuery: termNodeQuery,
|
|
128
|
-
unify: function(generalTermVariableNode, specificTermNode, substitutions, generalContext, specificContext) {
|
|
129
|
-
var termUnifies;
|
|
130
|
-
var termNode = specificTermNode, variableNode = generalTermVariableNode, variableIdentifier = variableNode.getVariableIdentifier();
|
|
131
|
-
var context;
|
|
132
|
-
context = generalContext; ///
|
|
133
|
-
var variable = context.findVariableByVariableIdentifier(variableIdentifier);
|
|
134
|
-
context = specificContext; ///
|
|
135
|
-
var term = context.findTermByTermNode(termNode);
|
|
136
|
-
termUnifies = variable.unifyTerm(term, substitutions, generalContext, specificContext);
|
|
137
|
-
return termUnifies;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
]);
|
|
141
|
-
var intrinsicLevelUnifier = new IntrinsicLevelUnifier();
|
|
142
|
-
var _default = intrinsicLevelUnifier;
|
|
143
|
-
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmaWVyL2ludHJpbnNpY0xldmVsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVW5pZmllciBmcm9tIFwiLi4vdW5pZmllclwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybVwiKSxcbiAgICAgIHRlcm1WYXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL3ZhcmlhYmxlIVwiKTtcblxuY2xhc3MgSW50cmluc2ljTGV2ZWxVbmlmaWVyIGV4dGVuZHMgVW5pZmllciB7XG4gIHVuaWZ5KGdlbmVyYWxOb25UZXJtaW5hbE5vZGUsIHNwZWNpZmljTm9uVGVybWluYWxOb2RlLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSB7XG4gICAgbGV0IHVuaWZpZXNBdEludHJpbnNpY0xldmVsO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlVW5pZmllcyA9IHRoaXMudW5pZnlOb25UZXJtaW5hbE5vZGUoZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSwgc3BlY2lmaWNOb25UZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgdW5pZmllc0F0SW50cmluc2ljTGV2ZWwgPSBub25UZXJtaW5hbE5vZGVVbmlmaWVzOyAvLy9cblxuICAgIHJldHVybiB1bmlmaWVzQXRJbnRyaW5zaWNMZXZlbDtcbiAgfVxuXG4gIHN0YXRpYyBtYXBzID0gW1xuICAgIHtcbiAgICAgIGdlbmVyYWxOb2RlUXVlcnk6IHRlcm1WYXJpYWJsZU5vZGVRdWVyeSxcbiAgICAgIHNwZWNpZmljTm9kZVF1ZXJ5OiB0ZXJtTm9kZVF1ZXJ5LFxuICAgICAgdW5pZnk6IChnZW5lcmFsVGVybVZhcmlhYmxlTm9kZSwgc3BlY2lmaWNUZXJtTm9kZSwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkgPT4ge1xuICAgICAgICBsZXQgdGVybVVuaWZpZXM7XG5cbiAgICAgICAgY29uc3QgdGVybU5vZGUgPSBzcGVjaWZpY1Rlcm1Ob2RlLCAvLy9cbiAgICAgICAgICAgICAgdmFyaWFibGVOb2RlID0gZ2VuZXJhbFRlcm1WYXJpYWJsZU5vZGUsIC8vL1xuICAgICAgICAgICAgICB2YXJpYWJsZUlkZW50aWZpZXIgPSB2YXJpYWJsZU5vZGUuZ2V0VmFyaWFibGVJZGVudGlmaWVyKCk7XG5cbiAgICAgICAgbGV0IGNvbnRleHQ7XG5cbiAgICAgICAgY29udGV4dCA9IGdlbmVyYWxDb250ZXh0OyAvLy9cblxuICAgICAgICBjb25zdCB2YXJpYWJsZSA9IGNvbnRleHQuZmluZFZhcmlhYmxlQnlWYXJpYWJsZUlkZW50aWZpZXIodmFyaWFibGVJZGVudGlmaWVyKTtcblxuICAgICAgICBjb250ZXh0ID0gc3BlY2lmaWNDb250ZXh0OyAgLy8vXG5cbiAgICAgICAgY29uc3QgdGVybSA9IGNvbnRleHQuZmluZFRlcm1CeVRlcm1Ob2RlKHRlcm1Ob2RlKTtcblxuICAgICAgICB0ZXJtVW5pZmllcyA9IHZhcmlhYmxlLnVuaWZ5VGVybSh0ZXJtLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gdGVybVVuaWZpZXM7XG4gICAgICB9XG4gICAgfVxuICBdO1xufVxuXG5jb25zdCBpbnRyaW5zaWNMZXZlbFVuaWZpZXIgPSBuZXcgSW50cmluc2ljTGV2ZWxVbmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGludHJpbnNpY0xldmVsVW5pZmllcjtcbiJdLCJuYW1lcyI6WyJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidGVybVZhcmlhYmxlTm9kZVF1ZXJ5IiwiSW50cmluc2ljTGV2ZWxVbmlmaWVyIiwidW5pZnkiLCJnZW5lcmFsTm9uVGVybWluYWxOb2RlIiwic3BlY2lmaWNOb25UZXJtaW5hbE5vZGUiLCJzdWJzdGl0dXRpb25zIiwiZ2VuZXJhbENvbnRleHQiLCJzcGVjaWZpY0NvbnRleHQiLCJ1bmlmaWVzQXRJbnRyaW5zaWNMZXZlbCIsIm5vblRlcm1pbmFsTm9kZVVuaWZpZXMiLCJ1bmlmeU5vblRlcm1pbmFsTm9kZSIsIlVuaWZpZXIiLCJtYXBzIiwiZ2VuZXJhbE5vZGVRdWVyeSIsInNwZWNpZmljTm9kZVF1ZXJ5IiwiZ2VuZXJhbFRlcm1WYXJpYWJsZU5vZGUiLCJzcGVjaWZpY1Rlcm1Ob2RlIiwidGVybVVuaWZpZXMiLCJ0ZXJtTm9kZSIsInZhcmlhYmxlTm9kZSIsInZhcmlhYmxlSWRlbnRpZmllciIsImdldFZhcmlhYmxlSWRlbnRpZmllciIsImNvbnRleHQiLCJ2YXJpYWJsZSIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVJZGVudGlmaWVyIiwidGVybSIsImZpbmRUZXJtQnlUZXJtTm9kZSIsInVuaWZ5VGVybSIsImludHJpbnNpY0xldmVsVW5pZmllciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbURBOzs7ZUFBQTs7OzhEQWpEb0I7cUJBRU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFCLElBQU1BLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxVQUMxQkMsd0JBQXdCRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXhDLElBQUEsQUFBTUUsc0NBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO1FBQU4sT0FBQSxrQkFBTUE7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1DLHNCQUFzQixFQUFFQyx1QkFBdUIsRUFBRUMsYUFBYSxFQUFFQyxjQUFjLEVBQUVDLGVBQWU7Z0JBQ25HLElBQUlDO2dCQUVKLElBQU1DLHlCQUF5QixJQUFJLENBQUNDLG9CQUFvQixDQUFDUCx3QkFBd0JDLHlCQUF5QkMsZUFBZUMsZ0JBQWdCQztnQkFFeklDLDBCQUEwQkMsd0JBQXdCLEdBQUc7Z0JBRXJELE9BQU9EO1lBQ1Q7OztXQVRJUDtFQUE4QlUsZ0JBQU87QUFXekMsaUJBWElWLHVCQVdHVyxRQUFPO0lBQ1o7UUFDRUMsa0JBQWtCYjtRQUNsQmMsbUJBQW1CaEI7UUFDbkJJLE9BQU8sU0FBQ2EseUJBQXlCQyxrQkFBa0JYLGVBQWVDLGdCQUFnQkM7WUFDaEYsSUFBSVU7WUFFSixJQUFNQyxXQUFXRixrQkFDWEcsZUFBZUoseUJBQ2ZLLHFCQUFxQkQsYUFBYUUscUJBQXFCO1lBRTdELElBQUlDO1lBRUpBLFVBQVVoQixnQkFBZ0IsR0FBRztZQUU3QixJQUFNaUIsV0FBV0QsUUFBUUUsZ0NBQWdDLENBQUNKO1lBRTFERSxVQUFVZixpQkFBa0IsR0FBRztZQUUvQixJQUFNa0IsT0FBT0gsUUFBUUksa0JBQWtCLENBQUNSO1lBRXhDRCxjQUFjTSxTQUFTSSxTQUFTLENBQUNGLE1BQU1wQixlQUFlQyxnQkFBZ0JDO1lBRXRFLE9BQU9VO1FBQ1Q7SUFDRjtDQUNEO0FBR0gsSUFBTVcsd0JBQXdCLElBQUkzQjtJQUVsQyxXQUFlMkIifQ==
|
package/lib/unifier/metaLevel.js
DELETED
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _unifier = /*#__PURE__*/ _interop_require_default(require("../unifier"));
|
|
12
|
-
var _ontology = /*#__PURE__*/ _interop_require_default(require("../ontology"));
|
|
13
|
-
var _query = require("../utilities/query");
|
|
14
|
-
var _metavariable = require("../utilities/metavariable");
|
|
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 termNodeQuery = (0, _query.nodeQuery)("/term"), frameNodeQuery = (0, _query.nodeQuery)("/frame"), statementNodeQuery = (0, _query.nodeQuery)("/statement"), termVariableNodeQuery = (0, _query.nodeQuery)("/term/variable!"), statementMetavariableNodeQuery = (0, _query.nodeQuery)("/statement/metavariable!"), assumptionMetavariableNodeQuery = (0, _query.nodeQuery)("/assumption/metavariable!"), frameAssumptionMetavariableNodeQuery = (0, _query.nodeQuery)("/frame/assumption!/metavariable!");
|
|
107
|
-
var MetaLevelUnifier = /*#__PURE__*/ function(Unifier) {
|
|
108
|
-
_inherits(MetaLevelUnifier, Unifier);
|
|
109
|
-
function MetaLevelUnifier() {
|
|
110
|
-
_class_call_check(this, MetaLevelUnifier);
|
|
111
|
-
return _call_super(this, MetaLevelUnifier, arguments);
|
|
112
|
-
}
|
|
113
|
-
_create_class(MetaLevelUnifier, [
|
|
114
|
-
{
|
|
115
|
-
key: "unify",
|
|
116
|
-
value: function unify(generalNonTerminalNode, specificNonTerminalNode, substitutions, generalContext, specificContext) {
|
|
117
|
-
var unifiesAtMetaLevel;
|
|
118
|
-
var nonTerminalNodeUnifies = this.unifyNonTerminalNode(generalNonTerminalNode, specificNonTerminalNode, substitutions, generalContext, specificContext);
|
|
119
|
-
unifiesAtMetaLevel = nonTerminalNodeUnifies; ///
|
|
120
|
-
return unifiesAtMetaLevel;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
]);
|
|
124
|
-
return MetaLevelUnifier;
|
|
125
|
-
}(_unifier.default);
|
|
126
|
-
_define_property(MetaLevelUnifier, "maps", [
|
|
127
|
-
{
|
|
128
|
-
generalNodeQuery: statementMetavariableNodeQuery,
|
|
129
|
-
specificNodeQuery: statementNodeQuery,
|
|
130
|
-
unify: function(generalStatementMetavariableNode, specificStatementNode, substitutions, generalContext, specificContext) {
|
|
131
|
-
var statementUnifies;
|
|
132
|
-
var context, statement, statementNode;
|
|
133
|
-
context = generalContext; ///
|
|
134
|
-
var metavariableNode = generalStatementMetavariableNode, metavariableName = (0, _metavariable.metavariableNameFromMetavariableNode)(metavariableNode), metavariable = context.findMetavariableByMetavariableName(metavariableName);
|
|
135
|
-
var metavariableNodeParentNode = metavariableNode.getParentNode();
|
|
136
|
-
statementNode = metavariableNodeParentNode; ///
|
|
137
|
-
statement = context.findStatementByStatementNode(statementNode);
|
|
138
|
-
var TermSubstitution = _ontology.default.TermSubstitution, FrameSubstitution = _ontology.default.FrameSubstitution, frameSubstitution = FrameSubstitution.fromStatement(statement, context), termSubstitution = TermSubstitution.fromStatement(statement, context), substitution = frameSubstitution || termSubstitution;
|
|
139
|
-
context = specificContext; ///
|
|
140
|
-
statementNode = specificStatementNode; ///
|
|
141
|
-
statement = context.findStatementByStatementNode(statementNode);
|
|
142
|
-
statementUnifies = metavariable.unifyStatement(statement, substitution, substitutions, generalContext, specificContext);
|
|
143
|
-
return statementUnifies;
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
generalNodeQuery: frameAssumptionMetavariableNodeQuery,
|
|
148
|
-
specificNodeQuery: frameNodeQuery,
|
|
149
|
-
unify: function(generalFrameAssumptionMetavariableNode, specificFrameNode, substitutions, generalContext, specificContext) {
|
|
150
|
-
var frameUnifies;
|
|
151
|
-
var frameNode = specificFrameNode, metavariableNode = generalFrameAssumptionMetavariableNode, metavariableName = (0, _metavariable.metavariableNameFromMetavariableNode)(metavariableNode);
|
|
152
|
-
var context;
|
|
153
|
-
context = generalContext; ///
|
|
154
|
-
var metavariable = context.findMetavariableByMetavariableName(metavariableName);
|
|
155
|
-
context = specificContext; ///
|
|
156
|
-
var frame = context.findFrameByFrameNode(frameNode);
|
|
157
|
-
frameUnifies = metavariable.unifyFrame(frame, substitutions, generalContext, specificContext);
|
|
158
|
-
return frameUnifies;
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
generalNodeQuery: termVariableNodeQuery,
|
|
163
|
-
specificNodeQuery: termNodeQuery,
|
|
164
|
-
unify: function(generalTermVariableNode, specificTermNode, substitutions, generalContext, specificContext) {
|
|
165
|
-
var termUnifies;
|
|
166
|
-
var termNode = specificTermNode, variableNode = generalTermVariableNode, variableIdentifier = variableNode.getVariableIdentifier();
|
|
167
|
-
var context;
|
|
168
|
-
context = generalContext; ///
|
|
169
|
-
var variable = context.findVariableByVariableIdentifier(variableIdentifier);
|
|
170
|
-
context = specificContext; ///
|
|
171
|
-
var term = context.findTermByTermNode(termNode);
|
|
172
|
-
termUnifies = variable.unifyTerm(term, substitutions, generalContext, specificContext);
|
|
173
|
-
return termUnifies;
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
generalNodeQuery: assumptionMetavariableNodeQuery,
|
|
178
|
-
specificNodeQuery: assumptionMetavariableNodeQuery,
|
|
179
|
-
unify: function(generalAssumptionMetavariableNode, specificAssumptionMetavariableNode, substitutions, generalContext, specificContext) {
|
|
180
|
-
var referenceUnifies;
|
|
181
|
-
var Reference = _ontology.default.Reference;
|
|
182
|
-
var context, metavariableNode;
|
|
183
|
-
context = generalContext; ///
|
|
184
|
-
metavariableNode = generalAssumptionMetavariableNode; ///
|
|
185
|
-
var metavariableName = (0, _metavariable.metavariableNameFromMetavariableNode)(metavariableNode), metavariable = context.findMetavariableByMetavariableName(metavariableName);
|
|
186
|
-
context = specificContext; ///
|
|
187
|
-
metavariableNode = specificAssumptionMetavariableNode; ///
|
|
188
|
-
var reference = Reference.fromMetavariableNode(metavariableNode, context);
|
|
189
|
-
referenceUnifies = metavariable.unifyReference(reference, substitutions, generalContext, specificContext);
|
|
190
|
-
return referenceUnifies;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
]);
|
|
194
|
-
var metaLevelUnifier = new MetaLevelUnifier();
|
|
195
|
-
var _default = metaLevelUnifier;
|
|
196
|
-
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmaWVyL21ldGFMZXZlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXJcIjtcbmltcG9ydCBvbnRvbG9neSBmcm9tIFwiLi4vb250b2xvZ3lcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9tZXRhdmFyaWFibGVcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtXCIpLFxuICAgICAgZnJhbWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZnJhbWVcIiksXG4gICAgICBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50XCIpLFxuICAgICAgdGVybVZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0vdmFyaWFibGUhXCIpLFxuICAgICAgc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC9tZXRhdmFyaWFibGUhXCIpLFxuICAgICAgYXNzdW1wdGlvbk1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hc3N1bXB0aW9uL21ldGF2YXJpYWJsZSFcIiksXG4gICAgICBmcmFtZUFzc3VtcHRpb25NZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZnJhbWUvYXNzdW1wdGlvbiEvbWV0YXZhcmlhYmxlIVwiKTtcblxuY2xhc3MgTWV0YUxldmVsVW5pZmllciBleHRlbmRzIFVuaWZpZXIge1xuICB1bmlmeShnZW5lcmFsTm9uVGVybWluYWxOb2RlLCBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkge1xuICAgIGxldCB1bmlmaWVzQXRNZXRhTGV2ZWw7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVVbmlmaWVzID0gdGhpcy51bmlmeU5vblRlcm1pbmFsTm9kZShnZW5lcmFsTm9uVGVybWluYWxOb2RlLCBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICB1bmlmaWVzQXRNZXRhTGV2ZWwgPSBub25UZXJtaW5hbE5vZGVVbmlmaWVzOyAvLy9cblxuICAgIHJldHVybiB1bmlmaWVzQXRNZXRhTGV2ZWw7XG4gIH1cblxuICBzdGF0aWMgbWFwcyA9IFtcbiAgICB7XG4gICAgICBnZW5lcmFsTm9kZVF1ZXJ5OiBzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlUXVlcnksXG4gICAgICBzcGVjaWZpY05vZGVRdWVyeTogc3RhdGVtZW50Tm9kZVF1ZXJ5LFxuICAgICAgdW5pZnk6IChnZW5lcmFsU3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZSwgc3BlY2lmaWNTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSA9PiB7XG4gICAgICAgIGxldCBzdGF0ZW1lbnRVbmlmaWVzO1xuXG4gICAgICAgIGxldCBjb250ZXh0LFxuICAgICAgICAgICAgc3RhdGVtZW50LFxuICAgICAgICAgICAgc3RhdGVtZW50Tm9kZTtcblxuICAgICAgICBjb250ZXh0ID0gZ2VuZXJhbENvbnRleHQ7IC8vL1xuXG4gICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBnZW5lcmFsU3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgICAgICBtZXRhdmFyaWFibGUgPSBjb250ZXh0LmZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5hbWUobWV0YXZhcmlhYmxlTmFtZSk7XG5cbiAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZVBhcmVudE5vZGUgPSBtZXRhdmFyaWFibGVOb2RlLmdldFBhcmVudE5vZGUoKTtcblxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gbWV0YXZhcmlhYmxlTm9kZVBhcmVudE5vZGU7IC8vL1xuXG4gICAgICAgIHN0YXRlbWVudCA9IGNvbnRleHQuZmluZFN0YXRlbWVudEJ5U3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBjb25zdCB7IFRlcm1TdWJzdGl0dXRpb24sIEZyYW1lU3Vic3RpdHV0aW9uIH0gPSBvbnRvbG9neSxcbiAgICAgICAgICAgICAgZnJhbWVTdWJzdGl0dXRpb24gPSBGcmFtZVN1YnN0aXR1dGlvbi5mcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCksXG4gICAgICAgICAgICAgIHRlcm1TdWJzdGl0dXRpb24gPSBUZXJtU3Vic3RpdHV0aW9uLmZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gKGZyYW1lU3Vic3RpdHV0aW9uIHx8IHRlcm1TdWJzdGl0dXRpb24pO1xuXG4gICAgICAgIGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQ7IC8vL1xuXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzcGVjaWZpY1N0YXRlbWVudE5vZGU7ICAvLy9cblxuICAgICAgICBzdGF0ZW1lbnQgPSBjb250ZXh0LmZpbmRTdGF0ZW1lbnRCeVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgc3RhdGVtZW50VW5pZmllcyA9IG1ldGF2YXJpYWJsZS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBnZW5lcmFsTm9kZVF1ZXJ5OiBmcmFtZUFzc3VtcHRpb25NZXRhdmFyaWFibGVOb2RlUXVlcnksXG4gICAgICBzcGVjaWZpY05vZGVRdWVyeTogZnJhbWVOb2RlUXVlcnksXG4gICAgICB1bmlmeTogKGdlbmVyYWxGcmFtZUFzc3VtcHRpb25NZXRhdmFyaWFibGVOb2RlLCBzcGVjaWZpY0ZyYW1lTm9kZSwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkgPT4ge1xuICAgICAgICBsZXQgZnJhbWVVbmlmaWVzO1xuXG4gICAgICAgIGNvbnN0IGZyYW1lTm9kZSA9IHNwZWNpZmljRnJhbWVOb2RlLCAvLy9cbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IGdlbmVyYWxGcmFtZUFzc3VtcHRpb25NZXRhdmFyaWFibGVOb2RlLCAgLy8vXG4gICAgICAgICAgICAgIG1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgICAgbGV0IGNvbnRleHQ7XG5cbiAgICAgICAgY29udGV4dCA9IGdlbmVyYWxDb250ZXh0OyAvLy9cblxuICAgICAgICBjb25zdCBtZXRhdmFyaWFibGUgPSBjb250ZXh0LmZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5hbWUobWV0YXZhcmlhYmxlTmFtZSk7XG5cbiAgICAgICAgY29udGV4dCA9IHNwZWNpZmljQ29udGV4dDsgIC8vL1xuXG4gICAgICAgIGNvbnN0IGZyYW1lID0gY29udGV4dC5maW5kRnJhbWVCeUZyYW1lTm9kZShmcmFtZU5vZGUpO1xuXG4gICAgICAgIGZyYW1lVW5pZmllcyA9IG1ldGF2YXJpYWJsZS51bmlmeUZyYW1lKGZyYW1lLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gZnJhbWVVbmlmaWVzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgZ2VuZXJhbE5vZGVRdWVyeTogdGVybVZhcmlhYmxlTm9kZVF1ZXJ5LFxuICAgICAgc3BlY2lmaWNOb2RlUXVlcnk6IHRlcm1Ob2RlUXVlcnksXG4gICAgICB1bmlmeTogKGdlbmVyYWxUZXJtVmFyaWFibGVOb2RlLCBzcGVjaWZpY1Rlcm1Ob2RlLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSA9PiB7XG4gICAgICAgIGxldCB0ZXJtVW5pZmllcztcblxuICAgICAgICBjb25zdCB0ZXJtTm9kZSA9IHNwZWNpZmljVGVybU5vZGUsIC8vL1xuICAgICAgICAgICAgICB2YXJpYWJsZU5vZGUgPSBnZW5lcmFsVGVybVZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgICAgIHZhcmlhYmxlSWRlbnRpZmllciA9IHZhcmlhYmxlTm9kZS5nZXRWYXJpYWJsZUlkZW50aWZpZXIoKTtcblxuICAgICAgICBsZXQgY29udGV4dDtcblxuICAgICAgICBjb250ZXh0ID0gZ2VuZXJhbENvbnRleHQ7IC8vL1xuXG4gICAgICAgIGNvbnN0IHZhcmlhYmxlID0gY29udGV4dC5maW5kVmFyaWFibGVCeVZhcmlhYmxlSWRlbnRpZmllcih2YXJpYWJsZUlkZW50aWZpZXIpO1xuXG4gICAgICAgIGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQ7ICAvLy9cblxuICAgICAgICBjb25zdCB0ZXJtID0gY29udGV4dC5maW5kVGVybUJ5VGVybU5vZGUodGVybU5vZGUpO1xuXG4gICAgICAgIHRlcm1VbmlmaWVzID0gdmFyaWFibGUudW5pZnlUZXJtKHRlcm0sIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiB0ZXJtVW5pZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIGdlbmVyYWxOb2RlUXVlcnk6IGFzc3VtcHRpb25NZXRhdmFyaWFibGVOb2RlUXVlcnksXG4gICAgICBzcGVjaWZpY05vZGVRdWVyeTogYXNzdW1wdGlvbk1ldGF2YXJpYWJsZU5vZGVRdWVyeSxcbiAgICAgIHVuaWZ5OiAoZ2VuZXJhbEFzc3VtcHRpb25NZXRhdmFyaWFibGVOb2RlLCBzcGVjaWZpY0Fzc3VtcHRpb25NZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSA9PiB7XG4gICAgICAgIGxldCByZWZlcmVuY2VVbmlmaWVzO1xuXG4gICAgICAgIGNvbnN0IHsgUmVmZXJlbmNlIH0gPSBvbnRvbG9neTtcblxuICAgICAgICBsZXQgY29udGV4dCxcbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGU7XG5cbiAgICAgICAgY29udGV4dCA9IGdlbmVyYWxDb250ZXh0OyAvLy9cblxuICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gZ2VuZXJhbEFzc3VtcHRpb25NZXRhdmFyaWFibGVOb2RlOyAgLy8vXG5cbiAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlID0gY29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOYW1lKG1ldGF2YXJpYWJsZU5hbWUpO1xuXG4gICAgICAgIGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQ7ICAvLy9cblxuICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gc3BlY2lmaWNBc3N1bXB0aW9uTWV0YXZhcmlhYmxlTm9kZTsgLy8vXG5cbiAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gUmVmZXJlbmNlLmZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIHJlZmVyZW5jZVVuaWZpZXMgPSBtZXRhdmFyaWFibGUudW5pZnlSZWZlcmVuY2UocmVmZXJlbmNlLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gcmVmZXJlbmNlVW5pZmllcztcbiAgICAgIH1cbiAgICB9XG4gIF07XG59XG5cbmNvbnN0IG1ldGFMZXZlbFVuaWZpZXIgPSBuZXcgTWV0YUxldmVsVW5pZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhTGV2ZWxVbmlmaWVyO1xuIl0sIm5hbWVzIjpbInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJmcmFtZU5vZGVRdWVyeSIsInN0YXRlbWVudE5vZGVRdWVyeSIsInRlcm1WYXJpYWJsZU5vZGVRdWVyeSIsInN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsImFzc3VtcHRpb25NZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJmcmFtZUFzc3VtcHRpb25NZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJNZXRhTGV2ZWxVbmlmaWVyIiwidW5pZnkiLCJnZW5lcmFsTm9uVGVybWluYWxOb2RlIiwic3BlY2lmaWNOb25UZXJtaW5hbE5vZGUiLCJzdWJzdGl0dXRpb25zIiwiZ2VuZXJhbENvbnRleHQiLCJzcGVjaWZpY0NvbnRleHQiLCJ1bmlmaWVzQXRNZXRhTGV2ZWwiLCJub25UZXJtaW5hbE5vZGVVbmlmaWVzIiwidW5pZnlOb25UZXJtaW5hbE5vZGUiLCJVbmlmaWVyIiwibWFwcyIsImdlbmVyYWxOb2RlUXVlcnkiLCJzcGVjaWZpY05vZGVRdWVyeSIsImdlbmVyYWxTdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlIiwic3BlY2lmaWNTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50VW5pZmllcyIsImNvbnRleHQiLCJzdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTm9kZVBhcmVudE5vZGUiLCJnZXRQYXJlbnROb2RlIiwiZmluZFN0YXRlbWVudEJ5U3RhdGVtZW50Tm9kZSIsIlRlcm1TdWJzdGl0dXRpb24iLCJvbnRvbG9neSIsIkZyYW1lU3Vic3RpdHV0aW9uIiwiZnJhbWVTdWJzdGl0dXRpb24iLCJmcm9tU3RhdGVtZW50IiwidGVybVN1YnN0aXR1dGlvbiIsInN1YnN0aXR1dGlvbiIsInVuaWZ5U3RhdGVtZW50IiwiZ2VuZXJhbEZyYW1lQXNzdW1wdGlvbk1ldGF2YXJpYWJsZU5vZGUiLCJzcGVjaWZpY0ZyYW1lTm9kZSIsImZyYW1lVW5pZmllcyIsImZyYW1lTm9kZSIsImZyYW1lIiwiZmluZEZyYW1lQnlGcmFtZU5vZGUiLCJ1bmlmeUZyYW1lIiwiZ2VuZXJhbFRlcm1WYXJpYWJsZU5vZGUiLCJzcGVjaWZpY1Rlcm1Ob2RlIiwidGVybVVuaWZpZXMiLCJ0ZXJtTm9kZSIsInZhcmlhYmxlTm9kZSIsInZhcmlhYmxlSWRlbnRpZmllciIsImdldFZhcmlhYmxlSWRlbnRpZmllciIsInZhcmlhYmxlIiwiZmluZFZhcmlhYmxlQnlWYXJpYWJsZUlkZW50aWZpZXIiLCJ0ZXJtIiwiZmluZFRlcm1CeVRlcm1Ob2RlIiwidW5pZnlUZXJtIiwiZ2VuZXJhbEFzc3VtcHRpb25NZXRhdmFyaWFibGVOb2RlIiwic3BlY2lmaWNBc3N1bXB0aW9uTWV0YXZhcmlhYmxlTm9kZSIsInJlZmVyZW5jZVVuaWZpZXMiLCJSZWZlcmVuY2UiLCJyZWZlcmVuY2UiLCJmcm9tTWV0YXZhcmlhYmxlTm9kZSIsInVuaWZ5UmVmZXJlbmNlIiwibWV0YUxldmVsVW5pZmllciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBc0pBOzs7ZUFBQTs7OzhEQXBKb0I7K0RBQ0M7cUJBRUs7NEJBQzJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|