occam-verify-cli 1.0.437 → 1.0.438

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.
@@ -1,75 +1,74 @@
1
1
  "use strict";
2
2
 
3
- import elements from "../elements";
3
+ import { equalityFromStatementNode,
4
+ judgementFromStatementNode,
5
+ metavariableFromStatementNode,
6
+ typeAssertionFromStatementNode,
7
+ dDefinedAssertionFromStatementNode,
8
+ propertyAssertionFromStatementNode,
9
+ subproofAssertionFromStatementNode,
10
+ containedAssertionFromStatementNode,
11
+ satisfiesAssertionFromStatementNode } from "../utilities/element";
4
12
 
5
13
  export function equalityFromStatement(statement, context) {
6
- const { Equality } = elements,
7
- statementNode = statement.getNode(),
8
- equality = Equality.fromStatementNode(statementNode, context);
14
+ const statementNode = statement.getNode(),
15
+ equality = equalityFromStatementNode(statementNode, context);
9
16
 
10
17
  return equality;
11
18
  }
12
19
 
13
20
  export function judgementFromStatement(statement, context) {
14
- const { Judgement } = elements,
15
- statementNode = statement.getNode(),
16
- judgement = Judgement.fromStatementNode(statementNode, context);
21
+ const statementNode = statement.getNode(),
22
+ judgement = judgementFromStatementNode(statementNode, context);
17
23
 
18
24
  return judgement;
19
25
  }
20
26
 
21
27
  export function metavariableFromStatement(statement, context) {
22
- const { Metavariable } = elements,
23
- statementNode = statement.getNode(),
24
- metavariable = Metavariable.fromStatementNode(statementNode, context);
28
+ const statementNode = statement.getNode(),
29
+ metavariable = metavariableFromStatementNode(statementNode, context);
25
30
 
26
31
  return metavariable;
27
32
  }
28
33
 
29
34
  export function typeAssertionFromStatement(statement, context) {
30
- const { TypeAssertion } = elements,
31
- statementNode = statement.getNode(),
32
- typeAssertion = TypeAssertion.fromStatementNode(statementNode, context);
35
+ const statementNode = statement.getNode(),
36
+ typeAssertion = typeAssertionFromStatementNode(statementNode, context);
33
37
 
34
38
  return typeAssertion;
35
39
  }
36
40
 
37
41
  export function definedAssertionFromStatement(statement, context) {
38
- const { DefinedAssertion } = elements,
39
- statementNode = statement.getNode(),
40
- definedAssertion = DefinedAssertion.fromStatementNode(statementNode, context);
42
+ const statementNode = statement.getNode(),
43
+ definedAssertion = dDefinedAssertionFromStatementNode(statementNode, context);
41
44
 
42
45
  return definedAssertion;
43
46
  }
44
47
 
45
48
  export function propertyAssertionFromStatement(statement, context) {
46
- const { PropertyAssertion } = elements,
47
- statementNode = statement.getNode(),
48
- propertyAssertion = PropertyAssertion.fromStatementNode(statementNode, context);
49
+ const statementNode = statement.getNode(),
50
+ propertyAssertion = propertyAssertionFromStatementNode(statementNode, context);
49
51
 
50
52
  return propertyAssertion;
51
53
  }
52
54
 
53
55
  export function subproofAssertionFromStatement(statement, context) {
54
- const { SubproofAssertion } = elements,
55
- statementNode = statement.getNode(),
56
- subproofAssertion = SubproofAssertion.fromStatementNode(statementNode, context);
56
+ const statementNode = statement.getNode(),
57
+ subproofAssertion = subproofAssertionFromStatementNode(statementNode, context);
57
58
 
58
59
  return subproofAssertion;
59
60
  }
60
61
 
61
62
  export function containedAssertionFromStatement(statement, context) {
62
- const { ContainedAssertion } = elements,
63
- statementNode = statement.getNode(),
64
- containedAssertion = ContainedAssertion.fromStatementNode(statementNode, context);
63
+ const statementNode = statement.getNode(),
64
+ containedAssertion = containedAssertionFromStatementNode(statementNode, context);
65
65
 
66
66
  return containedAssertion;
67
67
  }
68
68
 
69
69
  export function satisfiesAssertionFromStatement(statement, context) {
70
- const { SatisfiesAssertion } = elements,
71
- statementNode = statement.getNode(),
72
- satisfiesAssertion = SatisfiesAssertion.fromStatementNode(statementNode, context);
70
+ const statementNode = statement.getNode(),
71
+ satisfiesAssertion = satisfiesAssertionFromStatementNode(statementNode, context);
73
72
 
74
73
  return satisfiesAssertion;
75
74
  }
@@ -1,198 +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 _elements = /*#__PURE__*/ _interop_require_default(require("../../elements"));
12
- var _statement = require("../../utilities/statement");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- function verifyAsMetavariableAndSubstitution(statement, assignments, stated, context) {
19
- var verifiesAsMetavariableAndSubstitution = false;
20
- var metavariable = (0, _statement.metavariableFromStatement)(statement, context);
21
- if (metavariable !== null) {
22
- var statementString = statement.getString();
23
- context.trace("Verifying the '".concat(statementString, "' statement as a metavariable and substitution..."));
24
- var metavariableVerifies = metavariable.verify(context);
25
- if (metavariableVerifies) {
26
- var TermSubstitution = _elements.default.TermSubstitution, FrameSubstitution = _elements.default.FrameSubstitution, frameSubstitution = FrameSubstitution.fromStatement(statement, context), termSubstitution = TermSubstitution.fromStatement(statement, context), substitution = termSubstitution || frameSubstitution;
27
- if (substitution !== null) {
28
- var substitutionVerifies = substitution.verify(context);
29
- if (substitutionVerifies) {
30
- verifiesAsMetavariableAndSubstitution = true;
31
- }
32
- } else {
33
- verifiesAsMetavariableAndSubstitution = true;
34
- }
35
- }
36
- if (verifiesAsMetavariableAndSubstitution) {
37
- context.debug("...verified the '".concat(statementString, "' statement as a metavariable and substitution."));
38
- }
39
- }
40
- return verifiesAsMetavariableAndSubstitution;
41
- }
42
- function unifyWithBracketedCombinator(statement, assignments, stated, context) {
43
- stated = true; ///
44
- assignments = null; ///
45
- var BracketedCombinator = _elements.default.BracketedCombinator, bracketedCombinator = BracketedCombinator.fromNothing(), unifiesWithBracketedCombinator = bracketedCombinator.unifyStatement(statement, assignments, stated, context);
46
- return unifiesWithBracketedCombinator;
47
- }
48
- function unifyWithCombinators(statement, assignments, stated, context) {
49
- stated = true; ///
50
- assignments = null; ///
51
- var combinators = context.getCombinators(), unifiesWithCombinators = combinators.some(function(combinator) {
52
- var unifiesWithCombinator = combinator.unifyStatement(statement, assignments, stated, context);
53
- if (unifiesWithCombinator) {
54
- return true;
55
- }
56
- });
57
- return unifiesWithCombinators;
58
- }
59
- function verifyAsEquality(statement, assignments, stated, context) {
60
- var verifiesAsEquality = false;
61
- var equality = (0, _statement.equalityFromStatement)(statement, context);
62
- if (equality !== null) {
63
- var statementString = statement.getString();
64
- context.trace("Verifying the '".concat(statementString, "' statement as an equality..."));
65
- var equalityVerifies = equality.verify(assignments, stated, context);
66
- verifiesAsEquality = equalityVerifies; ///
67
- if (verifiesAsEquality) {
68
- context.debug("...verified the '".concat(statementString, "' statement as an equality."));
69
- }
70
- }
71
- return verifiesAsEquality;
72
- }
73
- function verifyAsJudgement(statement, assignments, stated, context) {
74
- var verifiesAsJudgement = false;
75
- var judgement = (0, _statement.judgementFromStatement)(statement, context);
76
- if (judgement !== null) {
77
- var statementString = statement.getString();
78
- context.trace("Verifying the '".concat(statementString, "' statement as a judgement..."));
79
- var judgementVerifies = judgement.verify(assignments, stated, context);
80
- verifiesAsJudgement = judgementVerifies; ///
81
- if (verifiesAsJudgement) {
82
- context.debug("...verified the '".concat(statementString, "' statement as a judgement."));
83
- }
84
- }
85
- return verifiesAsJudgement;
86
- }
87
- function verifyAsTypeAssertion(statement, assignments, stated, context) {
88
- var verifiesAsTypeAssertion = false;
89
- var typeAssertion = (0, _statement.typeAssertionFromStatement)(statement, context);
90
- if (typeAssertion !== null) {
91
- var statementString = statement.getString();
92
- context.trace("Verifying the '".concat(statementString, "' statement as a type assertion..."));
93
- var typeAssertionVerifies = typeAssertion.verify(assignments, stated, context);
94
- verifiesAsTypeAssertion = typeAssertionVerifies; ///
95
- if (verifiesAsTypeAssertion) {
96
- var assertion = typeAssertion; ///
97
- context.addAssertion(assertion);
98
- context.debug("...verified the '".concat(statementString, "' statement as a type assertion."));
99
- }
100
- }
101
- return verifiesAsTypeAssertion;
102
- }
103
- function verifyAsDefinedAssertion(statement, assignments, stated, context) {
104
- var verifiesAsDefinedAssertion = false;
105
- var definedAssertion = (0, _statement.definedAssertionFromStatement)(statement, context);
106
- if (definedAssertion !== null) {
107
- var statementString = statement.getString();
108
- context.trace("Verifying the '".concat(statementString, "' statement as a defined assertion..."));
109
- var definedAssertionVerifies = definedAssertion.verify(assignments, stated, context);
110
- verifiesAsDefinedAssertion = definedAssertionVerifies; ///
111
- if (verifiesAsDefinedAssertion) {
112
- var assertion = definedAssertion; ///
113
- context.addAssertion(assertion);
114
- context.debug("...verified the '".concat(statementString, "' statement as a defined assertion."));
115
- }
116
- }
117
- return verifiesAsDefinedAssertion;
118
- }
119
- function verifyAsPropertyAssertion(statement, assignments, stated, context) {
120
- var verifiesAsPropertyAssertion = false;
121
- var propertyAssertion = (0, _statement.propertyAssertionFromStatement)(statement, context);
122
- if (propertyAssertion !== null) {
123
- var statementString = statement.getString();
124
- context.trace("Verifying the '".concat(statementString, "' statement as a property assertion..."));
125
- var propertyAssertionVerifies = propertyAssertion.verify(assignments, stated, context);
126
- verifiesAsPropertyAssertion = propertyAssertionVerifies; ///
127
- if (verifiesAsPropertyAssertion) {
128
- var assertion = propertyAssertion; ///
129
- context.addAssertion(assertion);
130
- context.debug("...verified the '".concat(statementString, "' statement as a property assertion."));
131
- }
132
- }
133
- return verifiesAsPropertyAssertion;
134
- }
135
- function verifyAsSubproofAssertion(statement, assignments, stated, context) {
136
- var verifiesAsSubproofAssertion = false;
137
- var subproofAssertion = (0, _statement.subproofAssertionFromStatement)(statement, context);
138
- if (subproofAssertion !== null) {
139
- var statementString = statement.getString();
140
- context.trace("Verifying the '".concat(statementString, "' statement as a subproof assertion..."));
141
- var subproofAssertionVerifies = subproofAssertion.verify(assignments, stated, context);
142
- verifiesAsSubproofAssertion = subproofAssertionVerifies; ///
143
- if (verifiesAsSubproofAssertion) {
144
- var assertion = subproofAssertion; ///
145
- context.addAssertion(assertion);
146
- context.debug("...verified the '".concat(statementString, "' statement as a subproof assertion."));
147
- }
148
- }
149
- return verifiesAsSubproofAssertion;
150
- }
151
- function verifyAsContainedAssertion(statement, assignments, stated, context) {
152
- var verifiesAsContainedAssertion = false;
153
- var containedAssertion = (0, _statement.containedAssertionFromStatement)(statement, context);
154
- if (containedAssertion !== null) {
155
- var statementString = statement.getString();
156
- context.trace("Verifying the '".concat(statementString, "' statement as a contained assertion..."));
157
- var containedAssertionVerifies = containedAssertion.verify(assignments, stated, context);
158
- verifiesAsContainedAssertion = containedAssertionVerifies; ///
159
- if (verifiesAsContainedAssertion) {
160
- var assertion = containedAssertion; ///
161
- context.addAssertion(assertion);
162
- context.debug("...verified the '".concat(statementString, "' statement as a contained assertion."));
163
- }
164
- }
165
- return verifiesAsContainedAssertion;
166
- }
167
- function verifyAsSatisfiesAssertion(statement, assignments, stated, context) {
168
- var verifiesAsSatisfiesAssertion = false;
169
- var satisfiesAssertion = (0, _statement.satisfiesAssertionFromStatement)(statement, context);
170
- if (satisfiesAssertion !== null) {
171
- var statementString = statement.getString();
172
- context.trace("Verifying the '".concat(statementString, "' statement as a satisfies assertion..."));
173
- var satisfiesAssertionVerifies = satisfiesAssertion.verify(assignments, stated, context);
174
- verifiesAsSatisfiesAssertion = satisfiesAssertionVerifies; ///
175
- if (verifiesAsSatisfiesAssertion) {
176
- var assertion = satisfiesAssertion; ///
177
- context.addAssertion(assertion);
178
- context.debug("...verified the '".concat(statementString, "' statement as a satisfies assertion."));
179
- }
180
- }
181
- return verifiesAsSatisfiesAssertion;
182
- }
183
- var verifyMixins = [
184
- verifyAsMetavariableAndSubstitution,
185
- unifyWithBracketedCombinator,
186
- unifyWithCombinators,
187
- verifyAsEquality,
188
- verifyAsJudgement,
189
- verifyAsTypeAssertion,
190
- verifyAsDefinedAssertion,
191
- verifyAsPropertyAssertion,
192
- verifyAsSubproofAssertion,
193
- verifyAsContainedAssertion,
194
- verifyAsSatisfiesAssertion
195
- ];
196
- var _default = verifyMixins;
197
-
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taXhpbnMvc3RhdGVtZW50L3ZlcmlmeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGVsZW1lbnRzIGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5pbXBvcnQgeyBlcXVhbGl0eUZyb21TdGF0ZW1lbnQsXG4gICAgICAgICBqdWRnZW1lbnRGcm9tU3RhdGVtZW50LFxuICAgICAgICAgbWV0YXZhcmlhYmxlRnJvbVN0YXRlbWVudCxcbiAgICAgICAgIHR5cGVBc3NlcnRpb25Gcm9tU3RhdGVtZW50LFxuICAgICAgICAgZGVmaW5lZEFzc2VydGlvbkZyb21TdGF0ZW1lbnQsXG4gICAgICAgICBwcm9wZXJ0eUFzc2VydGlvbkZyb21TdGF0ZW1lbnQsXG4gICAgICAgICBzdWJwcm9vZkFzc2VydGlvbkZyb21TdGF0ZW1lbnQsXG4gICAgICAgICBjb250YWluZWRBc3NlcnRpb25Gcm9tU3RhdGVtZW50LFxuICAgICAgICAgc2F0aXNmaWVzQXNzZXJ0aW9uRnJvbVN0YXRlbWVudCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RhdGVtZW50XCI7XG5cbmZ1bmN0aW9uIHZlcmlmeUFzTWV0YXZhcmlhYmxlQW5kU3Vic3RpdHV0aW9uKHN0YXRlbWVudCwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICBsZXQgdmVyaWZpZXNBc01ldGF2YXJpYWJsZUFuZFN1YnN0aXR1dGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZSA9IG1ldGF2YXJpYWJsZUZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBtZXRhdmFyaWFibGUgYW5kIHN1YnN0aXR1dGlvbi4uLmApO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlVmVyaWZpZXMgPSBtZXRhdmFyaWFibGUudmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVzKSB7XG4gICAgICBjb25zdCB7IFRlcm1TdWJzdGl0dXRpb24sIEZyYW1lU3Vic3RpdHV0aW9uIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICAgIGZyYW1lU3Vic3RpdHV0aW9uID0gRnJhbWVTdWJzdGl0dXRpb24uZnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpLFxuICAgICAgICAgICAgdGVybVN1YnN0aXR1dGlvbiA9IFRlcm1TdWJzdGl0dXRpb24uZnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpLFxuICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gKHRlcm1TdWJzdGl0dXRpb24gfHwgZnJhbWVTdWJzdGl0dXRpb24pO1xuXG4gICAgICBpZiAoc3Vic3RpdHV0aW9uICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvblZlcmlmaWVzID0gc3Vic3RpdHV0aW9uLnZlcmlmeShjb250ZXh0KTtcblxuICAgICAgICBpZiAoc3Vic3RpdHV0aW9uVmVyaWZpZXMpIHtcbiAgICAgICAgICB2ZXJpZmllc0FzTWV0YXZhcmlhYmxlQW5kU3Vic3RpdHV0aW9uID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmVyaWZpZXNBc01ldGF2YXJpYWJsZUFuZFN1YnN0aXR1dGlvbiA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVzQXNNZXRhdmFyaWFibGVBbmRTdWJzdGl0dXRpb24pIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBtZXRhdmFyaWFibGUgYW5kIHN1YnN0aXR1dGlvbi5gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmVyaWZpZXNBc01ldGF2YXJpYWJsZUFuZFN1YnN0aXR1dGlvbjtcbn1cblxuZnVuY3Rpb24gdW5pZnlXaXRoQnJhY2tldGVkQ29tYmluYXRvcihzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgc3RhdGVkID0gdHJ1ZTsgIC8vL1xuXG4gIGFzc2lnbm1lbnRzID0gbnVsbDsgLy8vXG5cbiAgY29uc3QgeyBCcmFja2V0ZWRDb21iaW5hdG9yIH0gPSBlbGVtZW50cyxcbiAgICAgICAgYnJhY2tldGVkQ29tYmluYXRvciA9IEJyYWNrZXRlZENvbWJpbmF0b3IuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgdW5pZmllc1dpdGhCcmFja2V0ZWRDb21iaW5hdG9yID0gYnJhY2tldGVkQ29tYmluYXRvci51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gIHJldHVybiB1bmlmaWVzV2l0aEJyYWNrZXRlZENvbWJpbmF0b3I7XG59XG5cbmZ1bmN0aW9uIHVuaWZ5V2l0aENvbWJpbmF0b3JzKHN0YXRlbWVudCwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICBzdGF0ZWQgPSB0cnVlOyAgLy8vXG5cbiAgYXNzaWdubWVudHMgPSBudWxsOyAvLy9cblxuICBjb25zdCBjb21iaW5hdG9ycyA9IGNvbnRleHQuZ2V0Q29tYmluYXRvcnMoKSxcbiAgICAgICAgdW5pZmllc1dpdGhDb21iaW5hdG9ycyA9IGNvbWJpbmF0b3JzLnNvbWUoKGNvbWJpbmF0b3IpID0+IHtcbiAgICAgICAgICBjb25zdCB1bmlmaWVzV2l0aENvbWJpbmF0b3IgPSBjb21iaW5hdG9yLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICAgICAgICBpZiAodW5pZmllc1dpdGhDb21iaW5hdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiB1bmlmaWVzV2l0aENvbWJpbmF0b3JzO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlBc0VxdWFsaXR5KHN0YXRlbWVudCwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICBsZXQgdmVyaWZpZXNBc0VxdWFsaXR5ID0gZmFsc2U7XG5cbiAgY29uc3QgZXF1YWxpdHkgPSBlcXVhbGl0eUZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTtcblxuICBpZiAoZXF1YWxpdHkgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhbiBlcXVhbGl0eS4uLmApO1xuXG4gICAgY29uc3QgZXF1YWxpdHlWZXJpZmllcyA9IGVxdWFsaXR5LnZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICAgIHZlcmlmaWVzQXNFcXVhbGl0eSA9IGVxdWFsaXR5VmVyaWZpZXM7IC8vL1xuXG4gICAgaWYgKHZlcmlmaWVzQXNFcXVhbGl0eSkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhbiBlcXVhbGl0eS5gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmVyaWZpZXNBc0VxdWFsaXR5O1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlBc0p1ZGdlbWVudChzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgbGV0IHZlcmlmaWVzQXNKdWRnZW1lbnQgPSBmYWxzZTtcblxuICBjb25zdCBqdWRnZW1lbnQgPSBqdWRnZW1lbnRGcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCk7XG5cbiAgaWYgKGp1ZGdlbWVudCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEganVkZ2VtZW50Li4uYCk7XG5cbiAgICBjb25zdCBqdWRnZW1lbnRWZXJpZmllcyA9IGp1ZGdlbWVudC52ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICB2ZXJpZmllc0FzSnVkZ2VtZW50ID0ganVkZ2VtZW50VmVyaWZpZXM7ICAvLy9cblxuICAgIGlmICh2ZXJpZmllc0FzSnVkZ2VtZW50KSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEganVkZ2VtZW50LmApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2ZXJpZmllc0FzSnVkZ2VtZW50O1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlBc1R5cGVBc3NlcnRpb24oc3RhdGVtZW50LCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gIGxldCB2ZXJpZmllc0FzVHlwZUFzc2VydGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0IHR5cGVBc3NlcnRpb24gPSB0eXBlQXNzZXJ0aW9uRnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpO1xuXG4gIGlmICh0eXBlQXNzZXJ0aW9uICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSB0eXBlIGFzc2VydGlvbi4uLmApO1xuXG4gICAgY29uc3QgdHlwZUFzc2VydGlvblZlcmlmaWVzID0gdHlwZUFzc2VydGlvbi52ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICB2ZXJpZmllc0FzVHlwZUFzc2VydGlvbiA9IHR5cGVBc3NlcnRpb25WZXJpZmllczsgLy8vXG5cbiAgICBpZiAodmVyaWZpZXNBc1R5cGVBc3NlcnRpb24pIHtcbiAgICAgIGNvbnN0IGFzc2VydGlvbiA9IHR5cGVBc3NlcnRpb247ICAvLy9cblxuICAgICAgY29udGV4dC5hZGRBc3NlcnRpb24oYXNzZXJ0aW9uKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIHR5cGUgYXNzZXJ0aW9uLmApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2ZXJpZmllc0FzVHlwZUFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5QXNEZWZpbmVkQXNzZXJ0aW9uKHN0YXRlbWVudCwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICBsZXQgdmVyaWZpZXNBc0RlZmluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBjb25zdCBkZWZpbmVkQXNzZXJ0aW9uID0gZGVmaW5lZEFzc2VydGlvbkZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTtcblxuICBpZiAoZGVmaW5lZEFzc2VydGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uLi5gKTtcblxuICAgIGNvbnN0IGRlZmluZWRBc3NlcnRpb25WZXJpZmllcyA9IGRlZmluZWRBc3NlcnRpb24udmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gICAgdmVyaWZpZXNBc0RlZmluZWRBc3NlcnRpb24gPSBkZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZXM7IC8vL1xuXG4gICAgaWYgKHZlcmlmaWVzQXNEZWZpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICBjb25zdCBhc3NlcnRpb24gPSBkZWZpbmVkQXNzZXJ0aW9uOyAgLy8vXG5cbiAgICAgIGNvbnRleHQuYWRkQXNzZXJ0aW9uKGFzc2VydGlvbik7XG5cbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBkZWZpbmVkIGFzc2VydGlvbi5gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmVyaWZpZXNBc0RlZmluZWRBc3NlcnRpb247XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUFzUHJvcGVydHlBc3NlcnRpb24oc3RhdGVtZW50LCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gIGxldCB2ZXJpZmllc0FzUHJvcGVydHlBc3NlcnRpb24gPSBmYWxzZTtcblxuICBjb25zdCBwcm9wZXJ0eUFzc2VydGlvbiA9IHByb3BlcnR5QXNzZXJ0aW9uRnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpO1xuXG4gIGlmIChwcm9wZXJ0eUFzc2VydGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgcHJvcGVydHkgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICBjb25zdCBwcm9wZXJ0eUFzc2VydGlvblZlcmlmaWVzID0gcHJvcGVydHlBc3NlcnRpb24udmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gICAgdmVyaWZpZXNBc1Byb3BlcnR5QXNzZXJ0aW9uID0gcHJvcGVydHlBc3NlcnRpb25WZXJpZmllczsgLy8vXG5cbiAgICBpZiAodmVyaWZpZXNBc1Byb3BlcnR5QXNzZXJ0aW9uKSB7XG4gICAgICBjb25zdCBhc3NlcnRpb24gPSBwcm9wZXJ0eUFzc2VydGlvbjsgLy8vXG5cbiAgICAgIGNvbnRleHQuYWRkQXNzZXJ0aW9uKGFzc2VydGlvbik7XG5cbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBwcm9wZXJ0eSBhc3NlcnRpb24uYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZlcmlmaWVzQXNQcm9wZXJ0eUFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5QXNTdWJwcm9vZkFzc2VydGlvbihzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgbGV0IHZlcmlmaWVzQXNTdWJwcm9vZkFzc2VydGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0IHN1YnByb29mQXNzZXJ0aW9uID0gc3VicHJvb2ZBc3NlcnRpb25Gcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCk7XG5cbiAgaWYgKHN1YnByb29mQXNzZXJ0aW9uICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBzdWJwcm9vZiBhc3NlcnRpb24uLi5gKTtcblxuICAgIGNvbnN0IHN1YnByb29mQXNzZXJ0aW9uVmVyaWZpZXMgPSBzdWJwcm9vZkFzc2VydGlvbi52ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICB2ZXJpZmllc0FzU3VicHJvb2ZBc3NlcnRpb24gPSBzdWJwcm9vZkFzc2VydGlvblZlcmlmaWVzOyAvLy9cblxuICAgIGlmICh2ZXJpZmllc0FzU3VicHJvb2ZBc3NlcnRpb24pIHtcbiAgICAgIGNvbnN0IGFzc2VydGlvbiA9IHN1YnByb29mQXNzZXJ0aW9uOyAvLy9cblxuICAgICAgY29udGV4dC5hZGRBc3NlcnRpb24oYXNzZXJ0aW9uKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIHN1YnByb29mIGFzc2VydGlvbi5gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmVyaWZpZXNBc1N1YnByb29mQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlBc0NvbnRhaW5lZEFzc2VydGlvbihzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgbGV0IHZlcmlmaWVzQXNDb250YWluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBjb25zdCBjb250YWluZWRBc3NlcnRpb24gPSBjb250YWluZWRBc3NlcnRpb25Gcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCk7XG5cbiAgaWYgKGNvbnRhaW5lZEFzc2VydGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbi4uLmApO1xuXG4gICAgY29uc3QgY29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZXMgPSBjb250YWluZWRBc3NlcnRpb24udmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gICAgdmVyaWZpZXNBc0NvbnRhaW5lZEFzc2VydGlvbiA9IGNvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVzOyAvLy9cblxuICAgIGlmICh2ZXJpZmllc0FzQ29udGFpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICBjb25zdCBhc3NlcnRpb24gPSBjb250YWluZWRBc3NlcnRpb247IC8vL1xuXG4gICAgICBjb250ZXh0LmFkZEFzc2VydGlvbihhc3NlcnRpb24pO1xuXG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbi5gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmVyaWZpZXNBc0NvbnRhaW5lZEFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5QXNTYXRpc2ZpZXNBc3NlcnRpb24oc3RhdGVtZW50LCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gIGxldCB2ZXJpZmllc0FzU2F0aXNmaWVzQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3Qgc2F0aXNmaWVzQXNzZXJ0aW9uID0gc2F0aXNmaWVzQXNzZXJ0aW9uRnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpO1xuXG4gIGlmIChzYXRpc2ZpZXNBc3NlcnRpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIHNhdGlzZmllcyBhc3NlcnRpb24uLi5gKTtcblxuICAgIGNvbnN0IHNhdGlzZmllc0Fzc2VydGlvblZlcmlmaWVzID0gc2F0aXNmaWVzQXNzZXJ0aW9uLnZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICAgIHZlcmlmaWVzQXNTYXRpc2ZpZXNBc3NlcnRpb24gPSBzYXRpc2ZpZXNBc3NlcnRpb25WZXJpZmllczsgLy8vXG5cbiAgICBpZiAodmVyaWZpZXNBc1NhdGlzZmllc0Fzc2VydGlvbikge1xuICAgICAgY29uc3QgYXNzZXJ0aW9uID0gc2F0aXNmaWVzQXNzZXJ0aW9uOyAvLy9cblxuICAgICAgY29udGV4dC5hZGRBc3NlcnRpb24oYXNzZXJ0aW9uKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIHNhdGlzZmllcyBhc3NlcnRpb24uYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZlcmlmaWVzQXNTYXRpc2ZpZXNBc3NlcnRpb247XG59XG5cbmNvbnN0IHZlcmlmeU1peGlucyA9IFtcbiAgdmVyaWZ5QXNNZXRhdmFyaWFibGVBbmRTdWJzdGl0dXRpb24sXG4gIHVuaWZ5V2l0aEJyYWNrZXRlZENvbWJpbmF0b3IsXG4gIHVuaWZ5V2l0aENvbWJpbmF0b3JzLFxuICB2ZXJpZnlBc0VxdWFsaXR5LFxuICB2ZXJpZnlBc0p1ZGdlbWVudCxcbiAgdmVyaWZ5QXNUeXBlQXNzZXJ0aW9uLFxuICB2ZXJpZnlBc0RlZmluZWRBc3NlcnRpb24sXG4gIHZlcmlmeUFzUHJvcGVydHlBc3NlcnRpb24sXG4gIHZlcmlmeUFzU3VicHJvb2ZBc3NlcnRpb24sXG4gIHZlcmlmeUFzQ29udGFpbmVkQXNzZXJ0aW9uLFxuICB2ZXJpZnlBc1NhdGlzZmllc0Fzc2VydGlvblxuXTtcblxuZXhwb3J0IGRlZmF1bHQgdmVyaWZ5TWl4aW5zO1xuIl0sIm5hbWVzIjpbInZlcmlmeUFzTWV0YXZhcmlhYmxlQW5kU3Vic3RpdHV0aW9uIiwic3RhdGVtZW50IiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJjb250ZXh0IiwidmVyaWZpZXNBc01ldGF2YXJpYWJsZUFuZFN1YnN0aXR1dGlvbiIsIm1ldGF2YXJpYWJsZSIsIm1ldGF2YXJpYWJsZUZyb21TdGF0ZW1lbnQiLCJzdGF0ZW1lbnRTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVzIiwidmVyaWZ5IiwiVGVybVN1YnN0aXR1dGlvbiIsImVsZW1lbnRzIiwiRnJhbWVTdWJzdGl0dXRpb24iLCJmcmFtZVN1YnN0aXR1dGlvbiIsImZyb21TdGF0ZW1lbnQiLCJ0ZXJtU3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uVmVyaWZpZXMiLCJkZWJ1ZyIsInVuaWZ5V2l0aEJyYWNrZXRlZENvbWJpbmF0b3IiLCJCcmFja2V0ZWRDb21iaW5hdG9yIiwiYnJhY2tldGVkQ29tYmluYXRvciIsImZyb21Ob3RoaW5nIiwidW5pZmllc1dpdGhCcmFja2V0ZWRDb21iaW5hdG9yIiwidW5pZnlTdGF0ZW1lbnQiLCJ1bmlmeVdpdGhDb21iaW5hdG9ycyIsImNvbWJpbmF0b3JzIiwiZ2V0Q29tYmluYXRvcnMiLCJ1bmlmaWVzV2l0aENvbWJpbmF0b3JzIiwic29tZSIsImNvbWJpbmF0b3IiLCJ1bmlmaWVzV2l0aENvbWJpbmF0b3IiLCJ2ZXJpZnlBc0VxdWFsaXR5IiwidmVyaWZpZXNBc0VxdWFsaXR5IiwiZXF1YWxpdHkiLCJlcXVhbGl0eUZyb21TdGF0ZW1lbnQiLCJlcXVhbGl0eVZlcmlmaWVzIiwidmVyaWZ5QXNKdWRnZW1lbnQiLCJ2ZXJpZmllc0FzSnVkZ2VtZW50IiwianVkZ2VtZW50IiwianVkZ2VtZW50RnJvbVN0YXRlbWVudCIsImp1ZGdlbWVudFZlcmlmaWVzIiwidmVyaWZ5QXNUeXBlQXNzZXJ0aW9uIiwidmVyaWZpZXNBc1R5cGVBc3NlcnRpb24iLCJ0eXBlQXNzZXJ0aW9uIiwidHlwZUFzc2VydGlvbkZyb21TdGF0ZW1lbnQiLCJ0eXBlQXNzZXJ0aW9uVmVyaWZpZXMiLCJhc3NlcnRpb24iLCJhZGRBc3NlcnRpb24iLCJ2ZXJpZnlBc0RlZmluZWRBc3NlcnRpb24iLCJ2ZXJpZmllc0FzRGVmaW5lZEFzc2VydGlvbiIsImRlZmluZWRBc3NlcnRpb24iLCJkZWZpbmVkQXNzZXJ0aW9uRnJvbVN0YXRlbWVudCIsImRlZmluZWRBc3NlcnRpb25WZXJpZmllcyIsInZlcmlmeUFzUHJvcGVydHlBc3NlcnRpb24iLCJ2ZXJpZmllc0FzUHJvcGVydHlBc3NlcnRpb24iLCJwcm9wZXJ0eUFzc2VydGlvbiIsInByb3BlcnR5QXNzZXJ0aW9uRnJvbVN0YXRlbWVudCIsInByb3BlcnR5QXNzZXJ0aW9uVmVyaWZpZXMiLCJ2ZXJpZnlBc1N1YnByb29mQXNzZXJ0aW9uIiwidmVyaWZpZXNBc1N1YnByb29mQXNzZXJ0aW9uIiwic3VicHJvb2ZBc3NlcnRpb24iLCJzdWJwcm9vZkFzc2VydGlvbkZyb21TdGF0ZW1lbnQiLCJzdWJwcm9vZkFzc2VydGlvblZlcmlmaWVzIiwidmVyaWZ5QXNDb250YWluZWRBc3NlcnRpb24iLCJ2ZXJpZmllc0FzQ29udGFpbmVkQXNzZXJ0aW9uIiwiY29udGFpbmVkQXNzZXJ0aW9uIiwiY29udGFpbmVkQXNzZXJ0aW9uRnJvbVN0YXRlbWVudCIsImNvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVzIiwidmVyaWZ5QXNTYXRpc2ZpZXNBc3NlcnRpb24iLCJ2ZXJpZmllc0FzU2F0aXNmaWVzQXNzZXJ0aW9uIiwic2F0aXNmaWVzQXNzZXJ0aW9uIiwic2F0aXNmaWVzQXNzZXJ0aW9uRnJvbVN0YXRlbWVudCIsInNhdGlzZmllc0Fzc2VydGlvblZlcmlmaWVzIiwidmVyaWZ5TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzU0E7OztlQUFBOzs7K0RBcFNxQjt5QkFVMkI7Ozs7OztBQUVoRCxTQUFTQSxvQ0FBb0NDLFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLE9BQU87SUFDbEYsSUFBSUMsd0NBQXdDO0lBRTVDLElBQU1DLGVBQWVDLElBQUFBLG9DQUF5QixFQUFDTixXQUFXRztJQUUxRCxJQUFJRSxpQkFBaUIsTUFBTTtRQUN6QixJQUFNRSxrQkFBa0JQLFVBQVVRLFNBQVM7UUFFM0NMLFFBQVFNLEtBQUssQ0FBQyxBQUFDLGtCQUFpQyxPQUFoQkYsaUJBQWdCO1FBRWhELElBQU1HLHVCQUF1QkwsYUFBYU0sTUFBTSxDQUFDUjtRQUVqRCxJQUFJTyxzQkFBc0I7WUFDeEIsSUFBUUUsbUJBQXdDQyxpQkFBUSxDQUFoREQsa0JBQWtCRSxvQkFBc0JELGlCQUFRLENBQTlCQyxtQkFDcEJDLG9CQUFvQkQsa0JBQWtCRSxhQUFhLENBQUNoQixXQUFXRyxVQUMvRGMsbUJBQW1CTCxpQkFBaUJJLGFBQWEsQ0FBQ2hCLFdBQVdH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
@@ -1,295 +0,0 @@
1
- "use strict";
2
-
3
- import elements from "../../elements";
4
-
5
- import { equalityFromStatement,
6
- judgementFromStatement,
7
- metavariableFromStatement,
8
- typeAssertionFromStatement,
9
- definedAssertionFromStatement,
10
- propertyAssertionFromStatement,
11
- subproofAssertionFromStatement,
12
- containedAssertionFromStatement,
13
- satisfiesAssertionFromStatement } from "../../utilities/statement";
14
-
15
- function verifyAsMetavariableAndSubstitution(statement, assignments, stated, context) {
16
- let verifiesAsMetavariableAndSubstitution = false;
17
-
18
- const metavariable = metavariableFromStatement(statement, context);
19
-
20
- if (metavariable !== null) {
21
- const statementString = statement.getString();
22
-
23
- context.trace(`Verifying the '${statementString}' statement as a metavariable and substitution...`);
24
-
25
- const metavariableVerifies = metavariable.verify(context);
26
-
27
- if (metavariableVerifies) {
28
- const { TermSubstitution, FrameSubstitution } = elements,
29
- frameSubstitution = FrameSubstitution.fromStatement(statement, context),
30
- termSubstitution = TermSubstitution.fromStatement(statement, context),
31
- substitution = (termSubstitution || frameSubstitution);
32
-
33
- if (substitution !== null) {
34
- const substitutionVerifies = substitution.verify(context);
35
-
36
- if (substitutionVerifies) {
37
- verifiesAsMetavariableAndSubstitution = true;
38
- }
39
- } else {
40
- verifiesAsMetavariableAndSubstitution = true;
41
- }
42
- }
43
-
44
- if (verifiesAsMetavariableAndSubstitution) {
45
- context.debug(`...verified the '${statementString}' statement as a metavariable and substitution.`);
46
- }
47
- }
48
-
49
- return verifiesAsMetavariableAndSubstitution;
50
- }
51
-
52
- function unifyWithBracketedCombinator(statement, assignments, stated, context) {
53
- stated = true; ///
54
-
55
- assignments = null; ///
56
-
57
- const { BracketedCombinator } = elements,
58
- bracketedCombinator = BracketedCombinator.fromNothing(),
59
- unifiesWithBracketedCombinator = bracketedCombinator.unifyStatement(statement, assignments, stated, context);
60
-
61
- return unifiesWithBracketedCombinator;
62
- }
63
-
64
- function unifyWithCombinators(statement, assignments, stated, context) {
65
- stated = true; ///
66
-
67
- assignments = null; ///
68
-
69
- const combinators = context.getCombinators(),
70
- unifiesWithCombinators = combinators.some((combinator) => {
71
- const unifiesWithCombinator = combinator.unifyStatement(statement, assignments, stated, context);
72
-
73
- if (unifiesWithCombinator) {
74
- return true;
75
- }
76
- });
77
-
78
- return unifiesWithCombinators;
79
- }
80
-
81
- function verifyAsEquality(statement, assignments, stated, context) {
82
- let verifiesAsEquality = false;
83
-
84
- const equality = equalityFromStatement(statement, context);
85
-
86
- if (equality !== null) {
87
- const statementString = statement.getString();
88
-
89
- context.trace(`Verifying the '${statementString}' statement as an equality...`);
90
-
91
- const equalityVerifies = equality.verify(assignments, stated, context);
92
-
93
- verifiesAsEquality = equalityVerifies; ///
94
-
95
- if (verifiesAsEquality) {
96
- context.debug(`...verified the '${statementString}' statement as an equality.`);
97
- }
98
- }
99
-
100
- return verifiesAsEquality;
101
- }
102
-
103
- function verifyAsJudgement(statement, assignments, stated, context) {
104
- let verifiesAsJudgement = false;
105
-
106
- const judgement = judgementFromStatement(statement, context);
107
-
108
- if (judgement !== null) {
109
- const statementString = statement.getString();
110
-
111
- context.trace(`Verifying the '${statementString}' statement as a judgement...`);
112
-
113
- const judgementVerifies = judgement.verify(assignments, stated, context);
114
-
115
- verifiesAsJudgement = judgementVerifies; ///
116
-
117
- if (verifiesAsJudgement) {
118
- context.debug(`...verified the '${statementString}' statement as a judgement.`);
119
- }
120
- }
121
-
122
- return verifiesAsJudgement;
123
- }
124
-
125
- function verifyAsTypeAssertion(statement, assignments, stated, context) {
126
- let verifiesAsTypeAssertion = false;
127
-
128
- const typeAssertion = typeAssertionFromStatement(statement, context);
129
-
130
- if (typeAssertion !== null) {
131
- const statementString = statement.getString();
132
-
133
- context.trace(`Verifying the '${statementString}' statement as a type assertion...`);
134
-
135
- const typeAssertionVerifies = typeAssertion.verify(assignments, stated, context);
136
-
137
- verifiesAsTypeAssertion = typeAssertionVerifies; ///
138
-
139
- if (verifiesAsTypeAssertion) {
140
- const assertion = typeAssertion; ///
141
-
142
- context.addAssertion(assertion);
143
-
144
- context.debug(`...verified the '${statementString}' statement as a type assertion.`);
145
- }
146
- }
147
-
148
- return verifiesAsTypeAssertion;
149
- }
150
-
151
- function verifyAsDefinedAssertion(statement, assignments, stated, context) {
152
- let verifiesAsDefinedAssertion = false;
153
-
154
- const definedAssertion = definedAssertionFromStatement(statement, context);
155
-
156
- if (definedAssertion !== null) {
157
- const statementString = statement.getString();
158
-
159
- context.trace(`Verifying the '${statementString}' statement as a defined assertion...`);
160
-
161
- const definedAssertionVerifies = definedAssertion.verify(assignments, stated, context);
162
-
163
- verifiesAsDefinedAssertion = definedAssertionVerifies; ///
164
-
165
- if (verifiesAsDefinedAssertion) {
166
- const assertion = definedAssertion; ///
167
-
168
- context.addAssertion(assertion);
169
-
170
- context.debug(`...verified the '${statementString}' statement as a defined assertion.`);
171
- }
172
- }
173
-
174
- return verifiesAsDefinedAssertion;
175
- }
176
-
177
- function verifyAsPropertyAssertion(statement, assignments, stated, context) {
178
- let verifiesAsPropertyAssertion = false;
179
-
180
- const propertyAssertion = propertyAssertionFromStatement(statement, context);
181
-
182
- if (propertyAssertion !== null) {
183
- const statementString = statement.getString();
184
-
185
- context.trace(`Verifying the '${statementString}' statement as a property assertion...`);
186
-
187
- const propertyAssertionVerifies = propertyAssertion.verify(assignments, stated, context);
188
-
189
- verifiesAsPropertyAssertion = propertyAssertionVerifies; ///
190
-
191
- if (verifiesAsPropertyAssertion) {
192
- const assertion = propertyAssertion; ///
193
-
194
- context.addAssertion(assertion);
195
-
196
- context.debug(`...verified the '${statementString}' statement as a property assertion.`);
197
- }
198
- }
199
-
200
- return verifiesAsPropertyAssertion;
201
- }
202
-
203
- function verifyAsSubproofAssertion(statement, assignments, stated, context) {
204
- let verifiesAsSubproofAssertion = false;
205
-
206
- const subproofAssertion = subproofAssertionFromStatement(statement, context);
207
-
208
- if (subproofAssertion !== null) {
209
- const statementString = statement.getString();
210
-
211
- context.trace(`Verifying the '${statementString}' statement as a subproof assertion...`);
212
-
213
- const subproofAssertionVerifies = subproofAssertion.verify(assignments, stated, context);
214
-
215
- verifiesAsSubproofAssertion = subproofAssertionVerifies; ///
216
-
217
- if (verifiesAsSubproofAssertion) {
218
- const assertion = subproofAssertion; ///
219
-
220
- context.addAssertion(assertion);
221
-
222
- context.debug(`...verified the '${statementString}' statement as a subproof assertion.`);
223
- }
224
- }
225
-
226
- return verifiesAsSubproofAssertion;
227
- }
228
-
229
- function verifyAsContainedAssertion(statement, assignments, stated, context) {
230
- let verifiesAsContainedAssertion = false;
231
-
232
- const containedAssertion = containedAssertionFromStatement(statement, context);
233
-
234
- if (containedAssertion !== null) {
235
- const statementString = statement.getString();
236
-
237
- context.trace(`Verifying the '${statementString}' statement as a contained assertion...`);
238
-
239
- const containedAssertionVerifies = containedAssertion.verify(assignments, stated, context);
240
-
241
- verifiesAsContainedAssertion = containedAssertionVerifies; ///
242
-
243
- if (verifiesAsContainedAssertion) {
244
- const assertion = containedAssertion; ///
245
-
246
- context.addAssertion(assertion);
247
-
248
- context.debug(`...verified the '${statementString}' statement as a contained assertion.`);
249
- }
250
- }
251
-
252
- return verifiesAsContainedAssertion;
253
- }
254
-
255
- function verifyAsSatisfiesAssertion(statement, assignments, stated, context) {
256
- let verifiesAsSatisfiesAssertion = false;
257
-
258
- const satisfiesAssertion = satisfiesAssertionFromStatement(statement, context);
259
-
260
- if (satisfiesAssertion !== null) {
261
- const statementString = statement.getString();
262
-
263
- context.trace(`Verifying the '${statementString}' statement as a satisfies assertion...`);
264
-
265
- const satisfiesAssertionVerifies = satisfiesAssertion.verify(assignments, stated, context);
266
-
267
- verifiesAsSatisfiesAssertion = satisfiesAssertionVerifies; ///
268
-
269
- if (verifiesAsSatisfiesAssertion) {
270
- const assertion = satisfiesAssertion; ///
271
-
272
- context.addAssertion(assertion);
273
-
274
- context.debug(`...verified the '${statementString}' statement as a satisfies assertion.`);
275
- }
276
- }
277
-
278
- return verifiesAsSatisfiesAssertion;
279
- }
280
-
281
- const verifyMixins = [
282
- verifyAsMetavariableAndSubstitution,
283
- unifyWithBracketedCombinator,
284
- unifyWithCombinators,
285
- verifyAsEquality,
286
- verifyAsJudgement,
287
- verifyAsTypeAssertion,
288
- verifyAsDefinedAssertion,
289
- verifyAsPropertyAssertion,
290
- verifyAsSubproofAssertion,
291
- verifyAsContainedAssertion,
292
- verifyAsSatisfiesAssertion
293
- ];
294
-
295
- export default verifyMixins;