occam-verify-cli 1.0.448 → 1.0.472
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 +13 -5
- package/lib/context/ephemeral.js +270 -0
- package/lib/context/file.js +136 -128
- package/lib/context/liminal.js +120 -0
- package/lib/context/literal.js +92 -0
- package/lib/context/nominal.js +15 -1
- package/lib/context/release.js +68 -9
- package/lib/context/scoped.js +322 -0
- package/lib/context/synthetic.js +133 -0
- package/lib/element/assertion/contained.js +66 -66
- package/lib/element/assertion/defined.js +32 -32
- package/lib/element/assertion/property.js +39 -39
- package/lib/element/assertion/satisfies.js +22 -22
- package/lib/element/assumption.js +71 -87
- package/lib/element/combinator/bracketed.js +1 -10
- package/lib/element/conclusion.js +19 -15
- package/lib/element/constructor/bracketed.js +1 -10
- package/lib/element/constructor.js +2 -2
- package/lib/element/declaration/combinator.js +1 -2
- package/lib/element/declaration/metavariable.js +3 -3
- package/lib/element/declaration/variable.js +3 -3
- package/lib/element/deduction.js +26 -20
- package/lib/element/derivation.js +3 -3
- package/lib/element/equality.js +5 -5
- package/lib/element/equivalence.js +112 -107
- package/lib/element/equivalences.js +24 -10
- package/lib/element/error.js +3 -3
- package/lib/element/frame.js +73 -62
- package/lib/element/hypothesis.js +2 -2
- package/lib/element/judgement.js +40 -60
- package/lib/element/metaType.js +4 -4
- package/lib/element/metavariable.js +49 -38
- package/lib/element/parameter.js +13 -5
- package/lib/element/procedureCall.js +16 -16
- package/lib/element/proof.js +14 -13
- package/lib/element/proofAssertion/premise.js +319 -0
- package/lib/element/proofAssertion/step.js +309 -0
- package/lib/element/proofAssertion/supposition.js +333 -0
- package/lib/element/proofAssertion.js +20 -10
- package/lib/element/propertyRelation.js +2 -2
- package/lib/element/reference.js +72 -30
- package/lib/element/rule.js +26 -28
- package/lib/element/section.js +5 -5
- package/lib/element/signature.js +9 -6
- package/lib/element/statement.js +44 -36
- package/lib/element/subproof.js +18 -17
- package/lib/element/substitution/frame.js +86 -49
- package/lib/element/substitution/reference.js +101 -19
- package/lib/element/substitution/statement.js +128 -105
- package/lib/element/substitution/term.js +93 -57
- package/lib/element/substitution.js +20 -69
- package/lib/element/substitutions.js +49 -34
- package/lib/element/term.js +41 -30
- package/lib/element/topLevelAssertion/axiom.js +331 -0
- package/lib/element/{conjecture.js → topLevelAssertion/conjecture.js} +10 -10
- package/lib/element/{lemma.js → topLevelAssertion/lemma.js} +9 -9
- package/lib/element/{theorem.js → topLevelAssertion/theorem.js} +8 -8
- package/lib/element/topLevelAssertion.js +434 -0
- package/lib/element/{metaLemma.js → topLevelMetaAssertion/metaLemma.js} +8 -8
- package/lib/element/{metatheorem.js → topLevelMetaAssertion/metatheorem.js} +8 -8
- package/lib/element/topLevelMetaAssertion.js +293 -0
- package/lib/element/type.js +4 -4
- package/lib/element/variable.js +48 -40
- package/lib/index.js +3 -3
- package/lib/main.js +3 -3
- package/lib/metaTypes.js +18 -15
- package/lib/node/frame.js +2 -2
- package/lib/node/metavariable.js +4 -4
- package/lib/node/parameter.js +28 -7
- package/lib/node/proofAssertion/premise.js +116 -0
- package/lib/node/proofAssertion/step.js +152 -0
- package/lib/node/proofAssertion/supposition.js +116 -0
- package/lib/node/{premise.js → proofAssertion.js} +11 -18
- package/lib/node/statement.js +2 -2
- package/lib/node/substitution/frame.js +9 -31
- package/lib/node/substitution/reference.js +137 -0
- package/lib/node/substitution/statement.js +9 -31
- package/lib/node/substitution/term.js +9 -23
- package/lib/node/{axiom.js → topLevelAssertion/axiom.js} +7 -7
- package/lib/node/{conjecture.js → topLevelAssertion/conjecture.js} +7 -7
- package/lib/node/{lemma.js → topLevelAssertion/lemma.js} +7 -7
- package/lib/node/{theorem.js → topLevelAssertion/theorem.js} +7 -7
- package/lib/node/{axiomLemmaTheoremConjecture.js → topLevelAssertion.js} +9 -9
- package/lib/node/{metaLemma.js → topLevelMetaAssertion/metaLemma.js} +7 -7
- package/lib/node/{metatheorem.js → topLevelMetaAssertion/metatheorem.js} +7 -7
- package/lib/node/{metaLemmaMetaTheorem.js → topLevelMetaAssertion.js} +9 -9
- package/lib/nonTerminalNodeMap.js +15 -14
- package/lib/preamble.js +10 -10
- package/lib/process/instantiate.js +6 -21
- package/lib/process/unify.js +11 -10
- package/lib/tokenTypes.js +22 -0
- package/lib/types.js +3 -3
- package/lib/utilities/bnf.js +5 -5
- package/lib/utilities/context.js +63 -0
- package/lib/utilities/element.js +235 -408
- package/lib/utilities/instance.js +12 -34
- package/lib/utilities/json.js +3 -2
- package/lib/utilities/string.js +56 -21
- package/lib/utilities/unification.js +38 -32
- package/lib/utilities/validation.js +47 -50
- package/package.json +2 -2
- package/src/constants.js +12 -1
- package/src/context/ephemeral.js +257 -0
- package/src/context/file.js +108 -116
- package/src/context/liminal.js +67 -0
- package/src/context/literal.js +51 -0
- package/src/context/nominal.js +12 -0
- package/src/context/release.js +48 -8
- package/src/context/{local.js → scoped.js} +43 -125
- package/src/context/synthetic.js +60 -0
- package/src/element/assertion/contained.js +49 -47
- package/src/element/assertion/defined.js +29 -27
- package/src/element/assertion/property.js +35 -35
- package/src/element/assertion/satisfies.js +19 -18
- package/src/element/assumption.js +71 -93
- package/src/element/combinator/bracketed.js +0 -7
- package/src/element/conclusion.js +25 -24
- package/src/element/constructor/bracketed.js +0 -7
- package/src/element/constructor.js +1 -1
- package/src/element/declaration/combinator.js +0 -1
- package/src/element/declaration/metavariable.js +2 -2
- package/src/element/declaration/variable.js +5 -5
- package/src/element/deduction.js +33 -31
- package/src/element/derivation.js +2 -2
- package/src/element/equality.js +4 -4
- package/src/element/equivalence.js +115 -135
- package/src/element/equivalences.js +9 -7
- package/src/element/error.js +4 -2
- package/src/element/frame.js +80 -65
- package/src/element/hypothesis.js +1 -1
- package/src/element/judgement.js +42 -62
- package/src/element/metaType.js +3 -4
- package/src/element/metavariable.js +59 -56
- package/src/element/parameter.js +10 -5
- package/src/element/procedureCall.js +20 -18
- package/src/element/proof.js +14 -16
- package/src/element/{premise.js → proofAssertion/premise.js} +57 -53
- package/src/element/{step.js → proofAssertion/step.js} +59 -62
- package/src/element/{supposition.js → proofAssertion/supposition.js} +67 -56
- package/src/element/proofAssertion.js +24 -13
- package/src/element/propertyRelation.js +1 -1
- package/src/element/reference.js +87 -37
- package/src/element/rule.js +31 -37
- package/src/element/section.js +5 -5
- package/src/element/signature.js +8 -8
- package/src/element/statement.js +52 -48
- package/src/element/subproof.js +16 -18
- package/src/element/substitution/frame.js +104 -50
- package/src/element/substitution/reference.js +120 -20
- package/src/element/substitution/statement.js +169 -130
- package/src/element/substitution/term.js +104 -63
- package/src/element/substitution.js +16 -58
- package/src/element/substitutions.js +43 -41
- package/src/element/term.js +47 -41
- package/src/element/{axiom.js → topLevelAssertion/axiom.js} +22 -20
- package/src/element/{conjecture.js → topLevelAssertion/conjecture.js} +5 -6
- package/src/element/{lemma.js → topLevelAssertion/lemma.js} +5 -6
- package/src/element/{theorem.js → topLevelAssertion/theorem.js} +5 -5
- package/src/element/{axiomLemmaTheoremConjecture.js → topLevelAssertion.js} +37 -33
- package/src/element/{metaLemma.js → topLevelMetaAssertion/metaLemma.js} +5 -6
- package/src/element/{metatheorem.js → topLevelMetaAssertion/metatheorem.js} +5 -6
- package/src/element/{metaLemmaMetatheorem.js → topLevelMetaAssertion.js} +19 -17
- package/src/element/type.js +2 -4
- package/src/element/variable.js +47 -48
- package/src/index.js +2 -1
- package/src/main.js +2 -1
- package/src/metaTypes.js +25 -9
- package/src/node/frame.js +1 -1
- package/src/node/metavariable.js +3 -3
- package/src/node/parameter.js +32 -5
- package/src/node/proofAssertion/premise.js +16 -0
- package/src/node/{step.js → proofAssertion/step.js} +4 -18
- package/src/node/proofAssertion/supposition.js +16 -0
- package/src/node/proofAssertion.js +23 -0
- package/src/node/statement.js +1 -1
- package/src/node/substitution/frame.js +6 -32
- package/src/node/substitution/reference.js +38 -0
- package/src/node/substitution/statement.js +6 -32
- package/src/node/substitution/term.js +6 -22
- package/src/node/topLevelAssertion/axiom.js +13 -0
- package/src/node/topLevelAssertion/conjecture.js +13 -0
- package/src/node/topLevelAssertion/lemma.js +13 -0
- package/src/node/topLevelAssertion/theorem.js +13 -0
- package/src/node/{axiomLemmaTheoremConjecture.js → topLevelAssertion.js} +1 -1
- package/src/node/topLevelMetaAssertion/metaLemma.js +13 -0
- package/src/node/topLevelMetaAssertion/metatheorem.js +13 -0
- package/src/node/{metaLemmaMetaTheorem.js → topLevelMetaAssertion.js} +1 -1
- package/src/nonTerminalNodeMap.js +15 -12
- package/src/preamble.js +9 -9
- package/src/process/instantiate.js +27 -36
- package/src/process/unify.js +10 -9
- package/src/tokenTypes.js +4 -0
- package/src/types.js +4 -2
- package/src/utilities/bnf.js +3 -2
- package/src/utilities/context.js +46 -0
- package/src/utilities/element.js +302 -509
- package/src/utilities/instance.js +19 -42
- package/src/utilities/json.js +3 -1
- package/src/utilities/string.js +69 -28
- package/src/utilities/unification.js +41 -38
- package/src/utilities/validation.js +66 -75
- package/lib/context/local.js +0 -605
- package/lib/context/temporary.js +0 -752
- package/lib/element/axiom.js +0 -329
- package/lib/element/axiomLemmaTheoremConjecture.js +0 -427
- package/lib/element/metaLemmaMetatheorem.js +0 -289
- package/lib/element/premise.js +0 -307
- package/lib/element/step.js +0 -311
- package/lib/element/supposition.js +0 -320
- package/lib/log.js +0 -150
- package/lib/node/step.js +0 -166
- package/lib/node/supposition.js +0 -130
- package/src/context/temporary.js +0 -476
- package/src/log.js +0 -118
- package/src/node/axiom.js +0 -13
- package/src/node/conjecture.js +0 -13
- package/src/node/lemma.js +0 -13
- package/src/node/metaLemma.js +0 -13
- package/src/node/metatheorem.js +0 -13
- package/src/node/premise.js +0 -30
- package/src/node/supposition.js +0 -30
- package/src/node/theorem.js +0 -13
|
@@ -0,0 +1,309 @@
|
|
|
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_wildcard(require("../../elements"));
|
|
12
|
+
var _proofAssertion = /*#__PURE__*/ _interop_require_default(require("../proofAssertion"));
|
|
13
|
+
var _unification = require("../../utilities/unification");
|
|
14
|
+
var _context = require("../../utilities/context");
|
|
15
|
+
var _statement = require("../../utilities/statement");
|
|
16
|
+
function _assert_this_initialized(self) {
|
|
17
|
+
if (self === void 0) {
|
|
18
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
19
|
+
}
|
|
20
|
+
return self;
|
|
21
|
+
}
|
|
22
|
+
function _call_super(_this, derived, args) {
|
|
23
|
+
derived = _get_prototype_of(derived);
|
|
24
|
+
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
25
|
+
}
|
|
26
|
+
function _class_call_check(instance, Constructor) {
|
|
27
|
+
if (!(instance instanceof Constructor)) {
|
|
28
|
+
throw new TypeError("Cannot call a class as a function");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function _defineProperties(target, props) {
|
|
32
|
+
for(var i = 0; i < props.length; i++){
|
|
33
|
+
var descriptor = props[i];
|
|
34
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
35
|
+
descriptor.configurable = true;
|
|
36
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
37
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
41
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
42
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
43
|
+
return Constructor;
|
|
44
|
+
}
|
|
45
|
+
function _define_property(obj, key, value) {
|
|
46
|
+
if (key in obj) {
|
|
47
|
+
Object.defineProperty(obj, key, {
|
|
48
|
+
value: value,
|
|
49
|
+
enumerable: true,
|
|
50
|
+
configurable: true,
|
|
51
|
+
writable: true
|
|
52
|
+
});
|
|
53
|
+
} else {
|
|
54
|
+
obj[key] = value;
|
|
55
|
+
}
|
|
56
|
+
return obj;
|
|
57
|
+
}
|
|
58
|
+
function _get_prototype_of(o) {
|
|
59
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
60
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
61
|
+
};
|
|
62
|
+
return _get_prototype_of(o);
|
|
63
|
+
}
|
|
64
|
+
function _inherits(subClass, superClass) {
|
|
65
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
66
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
67
|
+
}
|
|
68
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
69
|
+
constructor: {
|
|
70
|
+
value: subClass,
|
|
71
|
+
writable: true,
|
|
72
|
+
configurable: true
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
76
|
+
}
|
|
77
|
+
function _interop_require_default(obj) {
|
|
78
|
+
return obj && obj.__esModule ? obj : {
|
|
79
|
+
default: obj
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
83
|
+
if (typeof WeakMap !== "function") return null;
|
|
84
|
+
var cacheBabelInterop = new WeakMap();
|
|
85
|
+
var cacheNodeInterop = new WeakMap();
|
|
86
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
87
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
88
|
+
})(nodeInterop);
|
|
89
|
+
}
|
|
90
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
91
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
92
|
+
return obj;
|
|
93
|
+
}
|
|
94
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
95
|
+
return {
|
|
96
|
+
default: obj
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
100
|
+
if (cache && cache.has(obj)) {
|
|
101
|
+
return cache.get(obj);
|
|
102
|
+
}
|
|
103
|
+
var newObj = {
|
|
104
|
+
__proto__: null
|
|
105
|
+
};
|
|
106
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
107
|
+
for(var key in obj){
|
|
108
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
109
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
110
|
+
if (desc && (desc.get || desc.set)) {
|
|
111
|
+
Object.defineProperty(newObj, key, desc);
|
|
112
|
+
} else {
|
|
113
|
+
newObj[key] = obj[key];
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
newObj.default = obj;
|
|
118
|
+
if (cache) {
|
|
119
|
+
cache.set(obj, newObj);
|
|
120
|
+
}
|
|
121
|
+
return newObj;
|
|
122
|
+
}
|
|
123
|
+
function _possible_constructor_return(self, call) {
|
|
124
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
125
|
+
return call;
|
|
126
|
+
}
|
|
127
|
+
return _assert_this_initialized(self);
|
|
128
|
+
}
|
|
129
|
+
function _set_prototype_of(o, p) {
|
|
130
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
131
|
+
o.__proto__ = p;
|
|
132
|
+
return o;
|
|
133
|
+
};
|
|
134
|
+
return _set_prototype_of(o, p);
|
|
135
|
+
}
|
|
136
|
+
function _type_of(obj) {
|
|
137
|
+
"@swc/helpers - typeof";
|
|
138
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
139
|
+
}
|
|
140
|
+
function _is_native_reflect_construct() {
|
|
141
|
+
try {
|
|
142
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
143
|
+
} catch (_) {}
|
|
144
|
+
return (_is_native_reflect_construct = function() {
|
|
145
|
+
return !!result;
|
|
146
|
+
})();
|
|
147
|
+
}
|
|
148
|
+
var _Step;
|
|
149
|
+
var _default = (0, _elements.define)((_Step = /*#__PURE__*/ function(ProofAssertion) {
|
|
150
|
+
_inherits(Step, ProofAssertion);
|
|
151
|
+
function Step(context, string, node, statement, reference, satisfiesAssertion) {
|
|
152
|
+
_class_call_check(this, Step);
|
|
153
|
+
var _this;
|
|
154
|
+
_this = _call_super(this, Step, [
|
|
155
|
+
context,
|
|
156
|
+
string,
|
|
157
|
+
node,
|
|
158
|
+
statement
|
|
159
|
+
]);
|
|
160
|
+
_this.reference = reference;
|
|
161
|
+
_this.satisfiesAssertion = satisfiesAssertion;
|
|
162
|
+
return _this;
|
|
163
|
+
}
|
|
164
|
+
_create_class(Step, [
|
|
165
|
+
{
|
|
166
|
+
key: "getReference",
|
|
167
|
+
value: function getReference() {
|
|
168
|
+
return this.reference;
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
key: "getSatisfiesAssertion",
|
|
173
|
+
value: function getSatisfiesAssertion() {
|
|
174
|
+
return this.satisfiesAssertion;
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
key: "isSatisfied",
|
|
179
|
+
value: function isSatisfied() {
|
|
180
|
+
var satisfied = this.satisfiesAssertion !== null;
|
|
181
|
+
return satisfied;
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
key: "isQualified",
|
|
186
|
+
value: function isQualified() {
|
|
187
|
+
var qualified = this.reference !== null;
|
|
188
|
+
return qualified;
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
key: "isStated",
|
|
193
|
+
value: function isStated() {
|
|
194
|
+
var qualified = this.isQualified(), stated = qualified; ///
|
|
195
|
+
return stated;
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
key: "compareTermAndPropertyRelation",
|
|
200
|
+
value: function compareTermAndPropertyRelation(term, propertyRelation, context) {
|
|
201
|
+
var comparesToTermAndPropertyRelation = false;
|
|
202
|
+
var statement = this.getStatement(), propertyAssertion = (0, _statement.propertyAssertionFromStatement)(statement, context);
|
|
203
|
+
if (propertyAssertion !== null) {
|
|
204
|
+
comparesToTermAndPropertyRelation = propertyAssertion.compareTermAndPropertyRelation(term, propertyRelation, context);
|
|
205
|
+
}
|
|
206
|
+
return comparesToTermAndPropertyRelation;
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
key: "verify",
|
|
211
|
+
value: function verify(assignments, context) {
|
|
212
|
+
var _this = this;
|
|
213
|
+
var verifies = false;
|
|
214
|
+
var node = this.getNode(), stepString = this.getString(); ///
|
|
215
|
+
context.trace("Verifying the '".concat(stepString, "' step..."), node);
|
|
216
|
+
var statement = this.getStatement();
|
|
217
|
+
if (statement !== null) {
|
|
218
|
+
(0, _context.attempt)(function(context) {
|
|
219
|
+
var referenceValidates = _this.validateReference(context);
|
|
220
|
+
if (referenceValidates) {
|
|
221
|
+
var satisfiesAssertioValidates = _this.validateSatisfiesAssertion(context);
|
|
222
|
+
if (satisfiesAssertioValidates) {
|
|
223
|
+
var statementValidates = _this.validateStatement(assignments, context);
|
|
224
|
+
if (statementValidates) {
|
|
225
|
+
var reference = _this.getReference(), satisfiesAssertion = _this.getSatisfiesAssertion(), statementUnifies = (0, _context.liminally)(function(context) {
|
|
226
|
+
var statementUnifies = _unification.unifyStatements.some(function(unifyStatement) {
|
|
227
|
+
var statementUnifies = unifyStatement(statement, reference, satisfiesAssertion, context);
|
|
228
|
+
if (statementUnifies) {
|
|
229
|
+
_this.setContext(context);
|
|
230
|
+
return true;
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
return statementUnifies;
|
|
234
|
+
}, context);
|
|
235
|
+
if (statementUnifies) {
|
|
236
|
+
verifies = true;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return verifies;
|
|
242
|
+
}, context);
|
|
243
|
+
} else {
|
|
244
|
+
context.debug("Unable to verify the '".concat(stepString, "' step because it is nonsense."), node);
|
|
245
|
+
}
|
|
246
|
+
if (verifies) {
|
|
247
|
+
context.debug("...verified the '".concat(stepString, "' step."), node);
|
|
248
|
+
}
|
|
249
|
+
return verifies;
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
key: "validateReference",
|
|
254
|
+
value: function validateReference(context) {
|
|
255
|
+
var referenceValidates = true;
|
|
256
|
+
if (this.reference !== null) {
|
|
257
|
+
var stepString = this.getString(), referenceString = this.reference.getString();
|
|
258
|
+
context.trace("Validating the '".concat(stepString, "' step's '").concat(referenceString, "' reference... "));
|
|
259
|
+
referenceValidates = this.reference.validate(context);
|
|
260
|
+
if (referenceValidates) {
|
|
261
|
+
context.debug("...validated the '".concat(stepString, "' step's '").concat(referenceString, "' reference. "));
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
return referenceValidates;
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
key: "validateSatisfiesAssertion",
|
|
269
|
+
value: function validateSatisfiesAssertion(context) {
|
|
270
|
+
var satisfiesAssertionValidates = true; ///
|
|
271
|
+
if (this.satisfiesAssertion !== null) {
|
|
272
|
+
var stepString = this.getString(), satisfiesAssertion = this.satisfiesAssertion.getString();
|
|
273
|
+
context.trace("Validating the '".concat(stepString, "' step's '").concat(satisfiesAssertion, "' satisfies assertion... "));
|
|
274
|
+
var stated = true, assignments = null;
|
|
275
|
+
satisfiesAssertionValidates = this.satisfiesAssertion.validate(assignments, stated, context);
|
|
276
|
+
if (satisfiesAssertionValidates) {
|
|
277
|
+
context.debug("...validating the '".concat(stepString, "' step's '").concat(satisfiesAssertion, "' satisfies assertion. "));
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
return satisfiesAssertionValidates;
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
key: "unifyWithSatisfiesAssertion",
|
|
285
|
+
value: function unifyWithSatisfiesAssertion(satisfiesAssertion, context) {
|
|
286
|
+
var unifiesWithSatisfiesAssertion = false;
|
|
287
|
+
var stepString = this.getString(), satisfiesAssertionString = satisfiesAssertion.getString();
|
|
288
|
+
context.trace("Unifying the '".concat(stepString, "' step with the '").concat(satisfiesAssertionString, "' satisfies assertion..."), this.node);
|
|
289
|
+
var reference = satisfiesAssertion.getReference(), axiom = context.findAxiomByReference(reference);
|
|
290
|
+
if (axiom !== null) {
|
|
291
|
+
var Substitutions = _elements.default.Substitutions, step = this, substitutions = Substitutions.fromNothing(context), stepUnifies = axiom.unifyStep(step, substitutions, context);
|
|
292
|
+
if (stepUnifies) {
|
|
293
|
+
var substitutionsCompare = satisfiesAssertion.compareSubstitutions(substitutions, context);
|
|
294
|
+
if (substitutionsCompare) {
|
|
295
|
+
unifiesWithSatisfiesAssertion = true;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
if (unifiesWithSatisfiesAssertion) {
|
|
300
|
+
context.debug("...unified the '".concat(stepString, "' step with the '").concat(satisfiesAssertionString, "' satisfies assertion."), this.node);
|
|
301
|
+
}
|
|
302
|
+
return unifiesWithSatisfiesAssertion;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
]);
|
|
306
|
+
return Step;
|
|
307
|
+
}(_proofAssertion.default), _define_property(_Step, "name", "Step"), _Step));
|
|
308
|
+
|
|
309
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Byb29mQXNzZXJ0aW9uL3N0ZXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcbmltcG9ydCBQcm9vZkFzc2VydGlvbiBmcm9tIFwiLi4vcHJvb2ZBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB1bmlmeVN0YXRlbWVudHMgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3VuaWZpY2F0aW9uXCI7XG5pbXBvcnQgeyBhdHRlbXB0LCBsaW1pbmFsbHkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IHByb3BlcnR5QXNzZXJ0aW9uRnJvbVN0YXRlbWVudCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RhdGVtZW50XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBTdGVwIGV4dGVuZHMgUHJvb2ZBc3NlcnRpb24ge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIHN0YXRlbWVudCwgcmVmZXJlbmNlLCBzYXRpc2ZpZXNBc3NlcnRpb24pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIHN0YXRlbWVudCk7XG5cbiAgICB0aGlzLnJlZmVyZW5jZSA9IHJlZmVyZW5jZTtcbiAgICB0aGlzLnNhdGlzZmllc0Fzc2VydGlvbiA9IHNhdGlzZmllc0Fzc2VydGlvbjtcbiAgfVxuXG4gIGdldFJlZmVyZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2U7XG4gIH1cblxuICBnZXRTYXRpc2ZpZXNBc3NlcnRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2F0aXNmaWVzQXNzZXJ0aW9uO1xuICB9XG5cbiAgaXNTYXRpc2ZpZWQoKSB7XG4gICAgY29uc3Qgc2F0aXNmaWVkID0gKHRoaXMuc2F0aXNmaWVzQXNzZXJ0aW9uICE9PSBudWxsKTtcblxuICAgIHJldHVybiBzYXRpc2ZpZWQ7XG4gIH1cblxuICBpc1F1YWxpZmllZCgpIHtcbiAgICBjb25zdCBxdWFsaWZpZWQgPSAodGhpcy5yZWZlcmVuY2UgIT09IG51bGwpO1xuXG4gICAgcmV0dXJuIHF1YWxpZmllZDtcbiAgfVxuXG4gIGlzU3RhdGVkKCkge1xuICAgIGNvbnN0IHF1YWxpZmllZCA9IHRoaXMuaXNRdWFsaWZpZWQoKSxcbiAgICAgICAgICBzdGF0ZWQgPSBxdWFsaWZpZWQ7IC8vL1xuXG4gICAgcmV0dXJuIHN0YXRlZDtcbiAgfVxuXG4gIGNvbXBhcmVUZXJtQW5kUHJvcGVydHlSZWxhdGlvbih0ZXJtLCBwcm9wZXJ0eVJlbGF0aW9uLCBjb250ZXh0KSB7XG4gICAgbGV0IGNvbXBhcmVzVG9UZXJtQW5kUHJvcGVydHlSZWxhdGlvbiA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50ID0gdGhpcy5nZXRTdGF0ZW1lbnQoKSxcbiAgICAgICAgICBwcm9wZXJ0eUFzc2VydGlvbiA9IHByb3BlcnR5QXNzZXJ0aW9uRnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpO1xuXG4gICAgaWYgKHByb3BlcnR5QXNzZXJ0aW9uICE9PSBudWxsKSB7XG4gICAgICBjb21wYXJlc1RvVGVybUFuZFByb3BlcnR5UmVsYXRpb24gPSBwcm9wZXJ0eUFzc2VydGlvbi5jb21wYXJlVGVybUFuZFByb3BlcnR5UmVsYXRpb24odGVybSwgcHJvcGVydHlSZWxhdGlvbiwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBhcmVzVG9UZXJtQW5kUHJvcGVydHlSZWxhdGlvbjtcbiAgfVxuXG4gIHZlcmlmeShhc3NpZ25tZW50cywgY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIHN0ZXBTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RlcFN0cmluZ30nIHN0ZXAuLi5gLCBub2RlKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudCA9IHRoaXMuZ2V0U3RhdGVtZW50KCk7XG5cbiAgICBpZiAoc3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBhdHRlbXB0KChjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZVZhbGlkYXRlcyA9IHRoaXMudmFsaWRhdGVSZWZlcmVuY2UoY29udGV4dCk7XG5cbiAgICAgICAgaWYgKHJlZmVyZW5jZVZhbGlkYXRlcykge1xuICAgICAgICAgIGNvbnN0IHNhdGlzZmllc0Fzc2VydGlvVmFsaWRhdGVzID0gdGhpcy52YWxpZGF0ZVNhdGlzZmllc0Fzc2VydGlvbihjb250ZXh0KTtcblxuICAgICAgICAgIGlmIChzYXRpc2ZpZXNBc3NlcnRpb1ZhbGlkYXRlcykge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGVtZW50VmFsaWRhdGVzID0gdGhpcy52YWxpZGF0ZVN0YXRlbWVudChhc3NpZ25tZW50cywgY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChzdGF0ZW1lbnRWYWxpZGF0ZXMpIHtcbiAgICAgICAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gdGhpcy5nZXRSZWZlcmVuY2UoKSxcbiAgICAgICAgICAgICAgICAgICAgc2F0aXNmaWVzQXNzZXJ0aW9uID0gdGhpcy5nZXRTYXRpc2ZpZXNBc3NlcnRpb24oKSxcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50VW5pZmllcyA9IGxpbWluYWxseSgoY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZXMgPSB1bmlmeVN0YXRlbWVudHMuc29tZSgodW5pZnlTdGF0ZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZXMgPSB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHJlZmVyZW5jZSwgc2F0aXNmaWVzQXNzZXJ0aW9uLCBjb250ZXh0KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlbWVudFVuaWZpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRDb250ZXh0KGNvbnRleHQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZXM7XG4gICAgICAgICAgICAgICAgICAgIH0sIGNvbnRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVzKSB7XG4gICAgICAgICAgICAgICAgdmVyaWZpZXMgPSB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZlcmlmaWVzO1xuICAgICAgfSwgY29udGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYFVuYWJsZSB0byB2ZXJpZnkgdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwIGJlY2F1c2UgaXQgaXMgbm9uc2Vuc2UuYCwgbm9kZSk7XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RlcFN0cmluZ30nIHN0ZXAuYCwgbm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzO1xuICB9XG5cbiAgdmFsaWRhdGVSZWZlcmVuY2UoY29udGV4dCkge1xuICAgIGxldCByZWZlcmVuY2VWYWxpZGF0ZXMgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMucmVmZXJlbmNlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGVwU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgIC8vL1xuICAgICAgICAgICAgcmVmZXJlbmNlU3RyaW5nID0gdGhpcy5yZWZlcmVuY2UuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGNvbnRleHQudHJhY2UoYFZhbGlkYXRpbmcgdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwJ3MgJyR7cmVmZXJlbmNlU3RyaW5nfScgcmVmZXJlbmNlLi4uIGApO1xuXG4gICAgICByZWZlcmVuY2VWYWxpZGF0ZXMgPSB0aGlzLnJlZmVyZW5jZS52YWxpZGF0ZShjb250ZXh0KTtcblxuICAgICAgaWYgKHJlZmVyZW5jZVZhbGlkYXRlcykge1xuICAgICAgICBjb250ZXh0LmRlYnVnKGAuLi52YWxpZGF0ZWQgdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwJ3MgJyR7cmVmZXJlbmNlU3RyaW5nfScgcmVmZXJlbmNlLiBgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVmZXJlbmNlVmFsaWRhdGVzO1xuICB9XG5cbiAgdmFsaWRhdGVTYXRpc2ZpZXNBc3NlcnRpb24oY29udGV4dCkge1xuICAgIGxldCBzYXRpc2ZpZXNBc3NlcnRpb25WYWxpZGF0ZXMgPSB0cnVlOyAgLy8vXG5cbiAgICBpZiAodGhpcy5zYXRpc2ZpZXNBc3NlcnRpb24gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0ZXBTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLCAgLy8vXG4gICAgICAgICAgICBzYXRpc2ZpZXNBc3NlcnRpb24gPSB0aGlzLnNhdGlzZmllc0Fzc2VydGlvbi5nZXRTdHJpbmcoKTtcblxuICAgICAgY29udGV4dC50cmFjZShgVmFsaWRhdGluZyB0aGUgJyR7c3RlcFN0cmluZ30nIHN0ZXAncyAnJHtzYXRpc2ZpZXNBc3NlcnRpb259JyBzYXRpc2ZpZXMgYXNzZXJ0aW9uLi4uIGApO1xuXG4gICAgICBjb25zdCBzdGF0ZWQgPSB0cnVlLFxuICAgICAgICAgICAgYXNzaWdubWVudHMgPSBudWxsO1xuXG4gICAgICBzYXRpc2ZpZXNBc3NlcnRpb25WYWxpZGF0ZXMgPSB0aGlzLnNhdGlzZmllc0Fzc2VydGlvbi52YWxpZGF0ZShhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHNhdGlzZmllc0Fzc2VydGlvblZhbGlkYXRlcykge1xuICAgICAgICBjb250ZXh0LmRlYnVnKGAuLi52YWxpZGF0aW5nIHRoZSAnJHtzdGVwU3RyaW5nfScgc3RlcCdzICcke3NhdGlzZmllc0Fzc2VydGlvbn0nIHNhdGlzZmllcyBhc3NlcnRpb24uIGApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzYXRpc2ZpZXNBc3NlcnRpb25WYWxpZGF0ZXM7XG4gIH1cblxuICB1bmlmeVdpdGhTYXRpc2ZpZXNBc3NlcnRpb24oc2F0aXNmaWVzQXNzZXJ0aW9uLCBjb250ZXh0KSB7XG4gICAgbGV0IHVuaWZpZXNXaXRoU2F0aXNmaWVzQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdGVwU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgLy8vXG4gICAgICAgICAgc2F0aXNmaWVzQXNzZXJ0aW9uU3RyaW5nID0gc2F0aXNmaWVzQXNzZXJ0aW9uLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwIHdpdGggdGhlICcke3NhdGlzZmllc0Fzc2VydGlvblN0cmluZ30nIHNhdGlzZmllcyBhc3NlcnRpb24uLi5gLCB0aGlzLm5vZGUpO1xuXG4gICAgY29uc3QgcmVmZXJlbmNlID0gc2F0aXNmaWVzQXNzZXJ0aW9uLmdldFJlZmVyZW5jZSgpLFxuICAgICAgICAgIGF4aW9tID0gY29udGV4dC5maW5kQXhpb21CeVJlZmVyZW5jZShyZWZlcmVuY2UpO1xuXG4gICAgaWYgKGF4aW9tICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB7IFN1YnN0aXR1dGlvbnMgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgICAgc3RlcCA9IHRoaXMsICAvLy9cbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBTdWJzdGl0dXRpb25zLmZyb21Ob3RoaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgc3RlcFVuaWZpZXMgPSBheGlvbS51bmlmeVN0ZXAoc3RlcCwgc3Vic3RpdHV0aW9ucywgY29udGV4dCk7XG5cbiAgICAgIGlmIChzdGVwVW5pZmllcykge1xuICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25zQ29tcGFyZSA9IHNhdGlzZmllc0Fzc2VydGlvbi5jb21wYXJlU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb25zLCBjb250ZXh0KTtcblxuICAgICAgICBpZiAoc3Vic3RpdHV0aW9uc0NvbXBhcmUpIHtcbiAgICAgICAgICB1bmlmaWVzV2l0aFNhdGlzZmllc0Fzc2VydGlvbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodW5pZmllc1dpdGhTYXRpc2ZpZXNBc3NlcnRpb24pIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwIHdpdGggdGhlICcke3NhdGlzZmllc0Fzc2VydGlvblN0cmluZ30nIHNhdGlzZmllcyBhc3NlcnRpb24uYCwgdGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5pZmllc1dpdGhTYXRpc2ZpZXNBc3NlcnRpb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiU3RlcFwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiU3RlcCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwic3RhdGVtZW50IiwicmVmZXJlbmNlIiwic2F0aXNmaWVzQXNzZXJ0aW9uIiwiZ2V0UmVmZXJlbmNlIiwiZ2V0U2F0aXNmaWVzQXNzZXJ0aW9uIiwiaXNTYXRpc2ZpZWQiLCJzYXRpc2ZpZWQiLCJpc1F1YWxpZmllZCIsInF1YWxpZmllZCIsImlzU3RhdGVkIiwic3RhdGVkIiwiY29tcGFyZVRlcm1BbmRQcm9wZXJ0eVJlbGF0aW9uIiwidGVybSIsInByb3BlcnR5UmVsYXRpb24iLCJjb21wYXJlc1RvVGVybUFuZFByb3BlcnR5UmVsYXRpb24iLCJnZXRTdGF0ZW1lbnQiLCJwcm9wZXJ0eUFzc2VydGlvbiIsInByb3BlcnR5QXNzZXJ0aW9uRnJvbVN0YXRlbWVudCIsInZlcmlmeSIsImFzc2lnbm1lbnRzIiwidmVyaWZpZXMiLCJnZXROb2RlIiwic3RlcFN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwiYXR0ZW1wdCIsInJlZmVyZW5jZVZhbGlkYXRlcyIsInZhbGlkYXRlUmVmZXJlbmNlIiwic2F0aXNmaWVzQXNzZXJ0aW9WYWxpZGF0ZXMiLCJ2YWxpZGF0ZVNhdGlzZmllc0Fzc2VydGlvbiIsInN0YXRlbWVudFZhbGlkYXRlcyIsInZhbGlkYXRlU3RhdGVtZW50Iiwic3RhdGVtZW50VW5pZmllcyIsImxpbWluYWxseSIsInVuaWZ5U3RhdGVtZW50cyIsInNvbWUiLCJ1bmlmeVN0YXRlbWVudCIsInNldENvbnRleHQiLCJkZWJ1ZyIsInJlZmVyZW5jZVN0cmluZyIsInZhbGlkYXRlIiwic2F0aXNmaWVzQXNzZXJ0aW9uVmFsaWRhdGVzIiwidW5pZnlXaXRoU2F0aXNmaWVzQXNzZXJ0aW9uIiwidW5pZmllc1dpdGhTYXRpc2ZpZXNBc3NlcnRpb24iLCJzYXRpc2ZpZXNBc3NlcnRpb25TdHJpbmciLCJheGlvbSIsImZpbmRBeGlvbUJ5UmVmZXJlbmNlIiwiU3Vic3RpdHV0aW9ucyIsImVsZW1lbnRzIiwic3RlcCIsInN1YnN0aXR1dGlvbnMiLCJmcm9tTm90aGluZyIsInN0ZXBVbmlmaWVzIiwidW5pZnlTdGVwIiwic3Vic3RpdHV0aW9uc0NvbXBhcmUiLCJjb21wYXJlU3Vic3RpdHV0aW9ucyIsIlByb29mQXNzZXJ0aW9uIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUFBOzs7Z0VBUnFCO3FFQUNNOzJCQUdLO3VCQUNHO3lCQUNZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|