occam-verify-cli 0.0.1245 → 0.0.1247
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/context/file.js +172 -210
- package/lib/context/local.js +95 -125
- package/lib/dom/assertion/contained.js +44 -22
- package/lib/dom/assertion/defined.js +34 -17
- package/lib/dom/combinator/bracketed.js +167 -0
- package/lib/dom/combinator.js +163 -0
- package/lib/{constructor → dom/constructor}/bracketed.js +7 -7
- package/lib/dom/constructor.js +190 -0
- package/lib/dom/declaration/combinator.js +2 -8
- package/lib/dom/declaration/constructor.js +42 -7
- package/lib/dom/declaration.js +113 -71
- package/lib/dom/equality.js +3 -3
- package/lib/dom/frame.js +111 -76
- package/lib/dom/judgement.js +29 -3
- package/lib/dom/label.js +22 -15
- package/lib/dom/metaLemma.js +20 -41
- package/lib/dom/metatheorem.js +20 -41
- package/lib/dom/metavariable.js +7 -7
- package/lib/dom/reference.js +32 -18
- package/lib/dom/rule.js +3 -4
- package/lib/dom/statement.js +2 -2
- package/lib/dom/term.js +2 -2
- package/lib/dom/topLevelAssertion.js +50 -71
- package/lib/dom/type.js +3 -3
- package/lib/dom/variable.js +5 -5
- package/lib/equivalence.js +2 -2
- package/lib/index.js +7 -3
- package/lib/mixins/statement/verify.js +3 -3
- package/lib/mixins/term/verify.js +2 -3
- package/lib/substitution/statement.js +2 -2
- package/lib/unifier/{label.js → reference.js} +14 -14
- package/lib/utilities/json.js +5 -7
- package/lib/utilities/unification.js +25 -6
- package/lib/verifier/combinator.js +3 -3
- package/lib/verifier/constructor.js +3 -3
- package/package.json +5 -5
- package/src/context/file.js +166 -206
- package/src/context/local.js +73 -83
- package/src/dom/assertion/contained.js +60 -27
- package/src/dom/assertion/defined.js +44 -20
- package/src/{combinator → dom/combinator}/bracketed.js +6 -5
- package/src/{combinator.js → dom/combinator.js} +8 -7
- package/src/{constructor → dom/constructor}/bracketed.js +6 -5
- package/src/{constructor.js → dom/constructor.js} +8 -7
- package/src/dom/declaration/combinator.js +2 -3
- package/src/dom/declaration/constructor.js +3 -2
- package/src/dom/declaration.js +133 -101
- package/src/dom/equality.js +2 -2
- package/src/dom/frame.js +151 -95
- package/src/dom/judgement.js +36 -2
- package/src/dom/label.js +18 -13
- package/src/dom/metaLemma.js +23 -55
- package/src/dom/metatheorem.js +23 -55
- package/src/dom/metavariable.js +6 -6
- package/src/dom/reference.js +43 -25
- package/src/dom/rule.js +2 -2
- package/src/dom/statement.js +1 -1
- package/src/dom/term.js +1 -1
- package/src/dom/topLevelAssertion.js +53 -86
- package/src/dom/type.js +2 -2
- package/src/dom/variable.js +4 -4
- package/src/equivalence.js +1 -1
- package/src/index.js +4 -0
- package/src/mixins/statement/verify.js +3 -2
- package/src/mixins/term/verify.js +2 -3
- package/src/substitution/statement.js +1 -1
- package/src/unifier/{label.js → reference.js} +6 -6
- package/src/utilities/json.js +4 -4
- package/src/utilities/unification.js +43 -5
- package/src/verifier/combinator.js +2 -2
- package/src/verifier/constructor.js +2 -2
- package/lib/combinator/bracketed.js +0 -126
- package/lib/combinator.js +0 -122
- package/lib/constructor.js +0 -149
package/src/index.js
CHANGED
|
@@ -25,6 +25,8 @@ import Consequent from "./dom/consequent";
|
|
|
25
25
|
import Conjecture from "./dom/conjecture";
|
|
26
26
|
import Conclusion from "./dom/conclusion";
|
|
27
27
|
import Derivation from "./dom/derivation";
|
|
28
|
+
import Combinator from "./dom/combinator";
|
|
29
|
+
import Constructor from "./dom/constructor";
|
|
28
30
|
import Declaration from "./dom/declaration";
|
|
29
31
|
import Supposition from "./dom/supposition";
|
|
30
32
|
import Metatheorem from "./dom/metatheorem";
|
|
@@ -37,6 +39,8 @@ import DefinedAssertion from "./dom/assertion/defined";
|
|
|
37
39
|
import SubproofAssertion from "./dom/assertion/subproof";
|
|
38
40
|
import ContainedAssertion from "./dom/assertion/contained";
|
|
39
41
|
import VariableDeclaration from "./dom/declaration/variable";
|
|
42
|
+
import BracketedCombinator from "./dom/combinator/bracketed";
|
|
43
|
+
import BracketedConstructor from "./dom/constructor/bracketed";
|
|
40
44
|
import CombinatorDeclaration from "./dom/declaration/combinator";
|
|
41
45
|
import ConstructorDeclaration from "./dom/declaration/constructor";
|
|
42
46
|
import MetavariableDeclaration from "./dom/declaration/metavariable";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import dom from "../../dom";
|
|
4
4
|
|
|
5
5
|
import { equalityFromStatement,
|
|
6
6
|
judgementFromStatement,
|
|
@@ -169,7 +169,8 @@ function unifyWithBracketedCombinator(statement, assignments, stated, context) {
|
|
|
169
169
|
|
|
170
170
|
assignments = null; ///
|
|
171
171
|
|
|
172
|
-
const
|
|
172
|
+
const { BracketedCombinator } = dom,
|
|
173
|
+
bracketedCombinator = BracketedCombinator.fromNothing(),
|
|
173
174
|
unifiedWithBracketedCombinator = bracketedCombinator.unifyStatement(statement, assignments, stated, context);
|
|
174
175
|
|
|
175
176
|
return unifiedWithBracketedCombinator;
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import dom from "../../dom";
|
|
4
4
|
|
|
5
|
-
import BracketedConstructor from "../../constructor/bracketed";
|
|
6
|
-
|
|
7
5
|
import { nodeQuery } from "../../utilities/query";
|
|
8
6
|
|
|
9
7
|
const variableNodeQuery = nodeQuery("/term/variable!");
|
|
@@ -47,7 +45,8 @@ function verifyTermAsVariable(term, localContext, verifyAhead) {
|
|
|
47
45
|
function unifyWithBracketedConstructor(term, context, verifyAhead) {
|
|
48
46
|
let unifiedWithBracketedConstructor;
|
|
49
47
|
|
|
50
|
-
const
|
|
48
|
+
const { BracketedConstructor } = dom,
|
|
49
|
+
bracketedConstructor = BracketedConstructor.fromNothing();
|
|
51
50
|
|
|
52
51
|
unifiedWithBracketedConstructor = bracketedConstructor.unifyTerm(term, context, verifyAhead);
|
|
53
52
|
|
|
@@ -78,7 +78,7 @@ export default class StatementSubstitution extends Substitution {
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
resolve(substitutions, generalContext, specificContext) {
|
|
81
|
-
const substitutionString = this.string;
|
|
81
|
+
const substitutionString = this.string; ///
|
|
82
82
|
|
|
83
83
|
const metavariable = this.getMetavariable(),
|
|
84
84
|
simpleSubstitution = substitutions.findSimpleSubstitutionByMetavariable(metavariable);
|
|
@@ -8,17 +8,17 @@ import { nodeQuery } from "../utilities/query";
|
|
|
8
8
|
const termNodeQuery = nodeQuery("/term"),
|
|
9
9
|
termVariableNodeQuery = nodeQuery("/term/variable!");
|
|
10
10
|
|
|
11
|
-
class
|
|
11
|
+
class ReferenceUnifier extends Unifier {
|
|
12
12
|
unify(labelMetavariableNode, referenceMetavariableNode, substitutions, generalContext, specificContext) {
|
|
13
|
-
let
|
|
13
|
+
let referenceUnified;
|
|
14
14
|
|
|
15
15
|
const generalNonTerminalNode = labelMetavariableNode, ///
|
|
16
16
|
specificNonTerminalNode = referenceMetavariableNode, ///
|
|
17
17
|
nonTerminalNodeUnified = this.unifyNonTerminalNode(generalNonTerminalNode, specificNonTerminalNode, substitutions, generalContext, specificContext);
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
referenceUnified = nonTerminalNodeUnified; ///
|
|
20
20
|
|
|
21
|
-
return
|
|
21
|
+
return referenceUnified;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
static maps = [
|
|
@@ -51,6 +51,6 @@ class LabelUnifier extends Unifier {
|
|
|
51
51
|
];
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
const
|
|
54
|
+
const referenceUnified = new ReferenceUnifier();
|
|
55
55
|
|
|
56
|
-
export default
|
|
56
|
+
export default referenceUnified;
|
package/src/utilities/json.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import dom from "../dom";
|
|
4
|
-
import Combinator from "../combinator";
|
|
5
|
-
import Constructor from "../constructor";
|
|
6
4
|
import StatementSubstitution from "../substitution/statement";
|
|
7
5
|
|
|
8
6
|
export function termFromJSON(json, fileContext) {
|
|
@@ -287,7 +285,8 @@ export function conjecturesFromJSON(json, fileContext) {
|
|
|
287
285
|
export function combinatorsFromJSON(json, fileContext) {
|
|
288
286
|
let { combinators } = json;
|
|
289
287
|
|
|
290
|
-
const
|
|
288
|
+
const { Combinator } = dom,
|
|
289
|
+
combinatorsJSON = combinators; ///
|
|
291
290
|
|
|
292
291
|
combinators = combinatorsJSON.map((combinatorJSON) => {
|
|
293
292
|
const json = combinatorJSON, ///
|
|
@@ -302,7 +301,8 @@ export function combinatorsFromJSON(json, fileContext) {
|
|
|
302
301
|
export function constructorsFromJSON(json, fileContext) {
|
|
303
302
|
let { constructors } = json;
|
|
304
303
|
|
|
305
|
-
const
|
|
304
|
+
const { Constructor } = dom,
|
|
305
|
+
constructorsJSON = constructors; ///
|
|
306
306
|
|
|
307
307
|
constructors = constructorsJSON.map((constructorJSON) => {
|
|
308
308
|
const json = constructorJSON, ///
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use string";
|
|
2
2
|
|
|
3
3
|
import LocalContext from "../context/local";
|
|
4
|
-
import
|
|
4
|
+
import Substitutions from "../substitutions";
|
|
5
5
|
import equalityUnifier from "../unifier/equality";
|
|
6
|
+
import referenceUnifier from "../unifier/reference";
|
|
6
7
|
import metaLevelUnifier from "../unifier/metaLevel";
|
|
7
8
|
import metavariableUnifier from "../unifier/metavariable";
|
|
8
9
|
import intrinsicLevelUnifier from "../unifier/intrinsicLevel";
|
|
@@ -81,27 +82,64 @@ export function unifyMetavariable(generalMetavariable, specificMetavariable, gen
|
|
|
81
82
|
return metavariableUnified;
|
|
82
83
|
}
|
|
83
84
|
|
|
84
|
-
export function unifyLabelWithReference(label, reference, substitutions,
|
|
85
|
+
export function unifyLabelWithReference(label, reference, substitutions, context) {
|
|
85
86
|
let labelUnifiedWithReference;
|
|
86
87
|
|
|
87
|
-
|
|
88
|
+
let generalContext,
|
|
89
|
+
specificContext;
|
|
90
|
+
|
|
91
|
+
const fileContext = label.getFileContext(),
|
|
92
|
+
labelMetavariable = label.getMetavariable(),
|
|
88
93
|
referenceMetavariable = reference.getMetavariable(),
|
|
89
94
|
labelMetavariableNode = labelMetavariable.getNode(),
|
|
90
95
|
labelMetavariableTokens = labelMetavariable.getTokens(),
|
|
91
96
|
referenceMetavariableNode = referenceMetavariable.getNode(),
|
|
92
97
|
referenceMetavariableTokens = referenceMetavariable.getTokens();
|
|
93
98
|
|
|
99
|
+
generalContext = context; ///
|
|
100
|
+
|
|
101
|
+
specificContext = fileContext; ///
|
|
102
|
+
|
|
94
103
|
generalContext = contextFromTokens(labelMetavariableTokens, generalContext); ///
|
|
95
104
|
|
|
96
105
|
specificContext = contextFromTokens(referenceMetavariableTokens, specificContext); ///
|
|
97
106
|
|
|
98
|
-
const
|
|
107
|
+
const referenceUnified = referenceUnifier.unify(labelMetavariableNode, referenceMetavariableNode, substitutions, generalContext, specificContext);
|
|
99
108
|
|
|
100
|
-
labelUnifiedWithReference =
|
|
109
|
+
labelUnifiedWithReference = referenceUnified; ///
|
|
101
110
|
|
|
102
111
|
return labelUnifiedWithReference;
|
|
103
112
|
}
|
|
104
113
|
|
|
114
|
+
export function unifyMetavariableWithReference(metavariable, reference, context) {
|
|
115
|
+
let metavariableUnifiedWithReference;
|
|
116
|
+
|
|
117
|
+
let generalContext,
|
|
118
|
+
specificContext;
|
|
119
|
+
|
|
120
|
+
const fileContext = context.getFileContext(),
|
|
121
|
+
metavariableNode = metavariable.getNode(),
|
|
122
|
+
metavariableTokens = metavariable.getTokens(),
|
|
123
|
+
referenceMetavariable = reference.getMetavariable(),
|
|
124
|
+
referenceMetavariableNode = referenceMetavariable.getNode(),
|
|
125
|
+
referenceMetavariableTokens = referenceMetavariable.getTokens();
|
|
126
|
+
|
|
127
|
+
generalContext = context; ///
|
|
128
|
+
|
|
129
|
+
specificContext = fileContext; ///
|
|
130
|
+
|
|
131
|
+
generalContext = contextFromTokens(metavariableTokens, generalContext); ///
|
|
132
|
+
|
|
133
|
+
specificContext = contextFromTokens(referenceMetavariableTokens, specificContext); ///
|
|
134
|
+
|
|
135
|
+
const substitutions = Substitutions.fromNothing(),
|
|
136
|
+
referenceUnified = referenceUnifier.unify(metavariableNode, referenceMetavariableNode, substitutions, generalContext, specificContext);
|
|
137
|
+
|
|
138
|
+
metavariableUnifiedWithReference = referenceUnified; ///
|
|
139
|
+
|
|
140
|
+
return metavariableUnifiedWithReference;
|
|
141
|
+
}
|
|
142
|
+
|
|
105
143
|
export function unifyTermWithConstructor(term, constructor, context) {
|
|
106
144
|
let termUnifiedWithConstructor;
|
|
107
145
|
|
|
@@ -61,9 +61,9 @@ class CombinatorVerifier extends Verifier {
|
|
|
61
61
|
let typeVerified = false;
|
|
62
62
|
|
|
63
63
|
const typeName = typeNameFromTypeNode(typeNode),
|
|
64
|
-
|
|
64
|
+
typePresent = fileContext.isTypePresentByTypeName(typeName);
|
|
65
65
|
|
|
66
|
-
if (
|
|
66
|
+
if (typePresent) {
|
|
67
67
|
typeVerified = true;
|
|
68
68
|
}
|
|
69
69
|
|
|
@@ -46,9 +46,9 @@ class ConstructorVerifier extends Verifier {
|
|
|
46
46
|
let typeVerified = false;
|
|
47
47
|
|
|
48
48
|
const typeName = typeNameFromTypeNode(typeNode),
|
|
49
|
-
|
|
49
|
+
typePresent = fileContext.isTypePresentByTypeName(typeName);
|
|
50
50
|
|
|
51
|
-
if (
|
|
51
|
+
if (typePresent) {
|
|
52
52
|
const verifiedAhead = verifyAhead();
|
|
53
53
|
|
|
54
54
|
if (verifiedAhead) {
|
|
@@ -1,126 +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 BracketedCombinator;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _dom = /*#__PURE__*/ _interop_require_default(require("../dom"));
|
|
12
|
-
var _combinator = /*#__PURE__*/ _interop_require_default(require("../combinator"));
|
|
13
|
-
var _combinator1 = /*#__PURE__*/ _interop_require_default(require("../context/bracketed/combinator"));
|
|
14
|
-
var _unification = require("../utilities/unification");
|
|
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 _get_prototype_of(o) {
|
|
45
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
46
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
47
|
-
};
|
|
48
|
-
return _get_prototype_of(o);
|
|
49
|
-
}
|
|
50
|
-
function _inherits(subClass, superClass) {
|
|
51
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
52
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
53
|
-
}
|
|
54
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
55
|
-
constructor: {
|
|
56
|
-
value: subClass,
|
|
57
|
-
writable: true,
|
|
58
|
-
configurable: true
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
62
|
-
}
|
|
63
|
-
function _interop_require_default(obj) {
|
|
64
|
-
return obj && obj.__esModule ? obj : {
|
|
65
|
-
default: obj
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
function _possible_constructor_return(self, call) {
|
|
69
|
-
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
70
|
-
return call;
|
|
71
|
-
}
|
|
72
|
-
return _assert_this_initialized(self);
|
|
73
|
-
}
|
|
74
|
-
function _set_prototype_of(o, p) {
|
|
75
|
-
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
76
|
-
o.__proto__ = p;
|
|
77
|
-
return o;
|
|
78
|
-
};
|
|
79
|
-
return _set_prototype_of(o, p);
|
|
80
|
-
}
|
|
81
|
-
function _type_of(obj) {
|
|
82
|
-
"@swc/helpers - typeof";
|
|
83
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
84
|
-
}
|
|
85
|
-
function _is_native_reflect_construct() {
|
|
86
|
-
try {
|
|
87
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
88
|
-
} catch (_) {}
|
|
89
|
-
return (_is_native_reflect_construct = function() {
|
|
90
|
-
return !!result;
|
|
91
|
-
})();
|
|
92
|
-
}
|
|
93
|
-
var BracketedCombinator = /*#__PURE__*/ function(Combinator) {
|
|
94
|
-
_inherits(BracketedCombinator, Combinator);
|
|
95
|
-
function BracketedCombinator() {
|
|
96
|
-
_class_call_check(this, BracketedCombinator);
|
|
97
|
-
return _call_super(this, BracketedCombinator, arguments);
|
|
98
|
-
}
|
|
99
|
-
_create_class(BracketedCombinator, [
|
|
100
|
-
{
|
|
101
|
-
key: "unifyStatement",
|
|
102
|
-
value: function unifyStatement(statement, assignments, stated, context) {
|
|
103
|
-
var statementUnified;
|
|
104
|
-
var statementString = statement.getString();
|
|
105
|
-
context.trace("Unifying the '".concat(statementString, "' statement with the bracketed combinator..."));
|
|
106
|
-
var bracketedCombinator = this, combinator = bracketedCombinator, statementUnifiedWithCombinator = (0, _unification.unifyStatementWithCombinator)(statement, combinator, assignments, stated, context);
|
|
107
|
-
statementUnified = statementUnifiedWithCombinator;
|
|
108
|
-
if (statementUnified) {
|
|
109
|
-
context.debug("...unified the '".concat(statementString, "' statement with the bracketed combinator."));
|
|
110
|
-
}
|
|
111
|
-
return statementUnified;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
], [
|
|
115
|
-
{
|
|
116
|
-
key: "fromNothing",
|
|
117
|
-
value: function fromNothing() {
|
|
118
|
-
var Statement = _dom.default.Statement, bracketedStatementNode = _combinator1.default.getBracketedStatementNode(), statementNode = bracketedStatementNode, context = _combinator1.default, statement = Statement.fromStatementNode(statementNode, context), bracketedCombinator = new BracketedCombinator(statement);
|
|
119
|
-
return bracketedCombinator;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
]);
|
|
123
|
-
return BracketedCombinator;
|
|
124
|
-
}(_combinator.default);
|
|
125
|
-
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21iaW5hdG9yL2JyYWNrZXRlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgQ29tYmluYXRvciBmcm9tIFwiLi4vY29tYmluYXRvclwiO1xuaW1wb3J0IGNvbWJpbmF0b3JCcmFja2V0ZWRDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2JyYWNrZXRlZC9jb21iaW5hdG9yXCI7XG5cbmltcG9ydCB7IHVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3IgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3VuaWZpY2F0aW9uXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJyYWNrZXRlZENvbWJpbmF0b3IgZXh0ZW5kcyBDb21iaW5hdG9yIHtcbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlIGJyYWNrZXRlZCBjb21iaW5hdG9yLi4uYCk7XG5cbiAgICBjb25zdCBicmFja2V0ZWRDb21iaW5hdG9yID0gdGhpcywgLy8vXG4gICAgICAgICAgY29tYmluYXRvciA9IGJyYWNrZXRlZENvbWJpbmF0b3IsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvciA9IHVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3Ioc3RhdGVtZW50LCBjb21iaW5hdG9yLCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICAgIHN0YXRlbWVudFVuaWZpZWQgPSBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3I7XG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllZCkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlIGJyYWNrZXRlZCBjb21iaW5hdG9yLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IHsgU3RhdGVtZW50IH0gPSBkb20sXG4gICAgICAgICAgYnJhY2tldGVkU3RhdGVtZW50Tm9kZSA9IGNvbWJpbmF0b3JCcmFja2V0ZWRDb250ZXh0LmdldEJyYWNrZXRlZFN0YXRlbWVudE5vZGUoKSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgY29udGV4dCA9IGNvbWJpbmF0b3JCcmFja2V0ZWRDb250ZXh0LCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnQgPSBTdGF0ZW1lbnQuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYnJhY2tldGVkQ29tYmluYXRvciA9IG5ldyBCcmFja2V0ZWRDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gYnJhY2tldGVkQ29tYmluYXRvcjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkJyYWNrZXRlZENvbWJpbmF0b3IiLCJ1bmlmeVN0YXRlbWVudCIsInN0YXRlbWVudCIsImFzc2lnbm1lbnRzIiwic3RhdGVkIiwiY29udGV4dCIsInN0YXRlbWVudFVuaWZpZWQiLCJzdGF0ZW1lbnRTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsImJyYWNrZXRlZENvbWJpbmF0b3IiLCJjb21iaW5hdG9yIiwic3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yIiwidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciIsImRlYnVnIiwiZnJvbU5vdGhpbmciLCJTdGF0ZW1lbnQiLCJkb20iLCJicmFja2V0ZWRTdGF0ZW1lbnROb2RlIiwiY29tYmluYXRvckJyYWNrZXRlZENvbnRleHQiLCJnZXRCcmFja2V0ZWRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsImZyb21TdGF0ZW1lbnROb2RlIiwiQ29tYmluYXRvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFRcUJBOzs7MERBTkw7aUVBQ087a0VBQ2dCOzJCQUVNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTlCLElBQUEsQUFBTUEsb0NBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2VBQU4sa0JBQU1BOztrQkFBQUE7O1lBQ25CQyxLQUFBQTttQkFBQUEsU0FBQUEsZUFBZUMsU0FBUyxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsT0FBTztnQkFDcEQsSUFBSUM7Z0JBRUosSUFBTUMsa0JBQWtCTCxVQUFVTSxTQUFTO2dCQUUzQ0gsUUFBUUksS0FBSyxDQUFDLEFBQUMsaUJBQWdDLE9BQWhCRixpQkFBZ0I7Z0JBRS9DLElBQU1HLHNCQUFzQixJQUFJLEVBQzFCQyxhQUFhRCxxQkFDYkUsaUNBQWlDQyxJQUFBQSx5Q0FBNEIsRUFBQ1gsV0FBV1MsWUFBWVIsYUFBYUMsUUFBUUM7Z0JBRWhIQyxtQkFBbUJNO2dCQUVuQixJQUFJTixrQkFBa0I7b0JBQ3BCRCxRQUFRUyxLQUFLLENBQUMsQUFBQyxtQkFBa0MsT0FBaEJQLGlCQUFnQjtnQkFDbkQ7Z0JBRUEsT0FBT0Q7WUFDVDs7OztZQUVPUyxLQUFBQTttQkFBUCxTQUFPQTtnQkFDTCxJQUFNLEFBQUVDLFlBQWNDLFlBQUcsQ0FBakJELFdBQ0ZFLHlCQUF5QkMsb0JBQTBCLENBQUNDLHlCQUF5QixJQUM3RUMsZ0JBQWdCSCx3QkFDaEJiLFVBQVVjLG9CQUEwQixFQUNwQ2pCLFlBQVljLFVBQVVNLGlCQUFpQixDQUFDRCxlQUFlaEIsVUFDdkRLLHNCQUFzQixJQTNCWFYsb0JBMkJtQ0U7Z0JBRXBELE9BQU9RO1lBQ1Q7OztXQTlCbUJWO0VBQTRCdUIsbUJBQVUifQ==
|
package/lib/combinator.js
DELETED
|
@@ -1,122 +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 Combinator;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _dom = /*#__PURE__*/ _interop_require_default(require("./dom"));
|
|
12
|
-
var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
|
|
13
|
-
var _query = require("./utilities/query");
|
|
14
|
-
var _unification = require("./utilities/unification");
|
|
15
|
-
var _json = require("./utilities/json");
|
|
16
|
-
function _class_call_check(instance, Constructor) {
|
|
17
|
-
if (!(instance instanceof Constructor)) {
|
|
18
|
-
throw new TypeError("Cannot call a class as a function");
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
function _defineProperties(target, props) {
|
|
22
|
-
for(var i = 0; i < props.length; i++){
|
|
23
|
-
var descriptor = props[i];
|
|
24
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
25
|
-
descriptor.configurable = true;
|
|
26
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
27
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
31
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
32
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
33
|
-
return Constructor;
|
|
34
|
-
}
|
|
35
|
-
function _interop_require_default(obj) {
|
|
36
|
-
return obj && obj.__esModule ? obj : {
|
|
37
|
-
default: obj
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
var statementNodeQuery = (0, _query.nodeQuery)("/combinatorDeclaration/statement");
|
|
41
|
-
var Combinator = /*#__PURE__*/ function() {
|
|
42
|
-
function Combinator(statement) {
|
|
43
|
-
_class_call_check(this, Combinator);
|
|
44
|
-
this.statement = statement;
|
|
45
|
-
}
|
|
46
|
-
_create_class(Combinator, [
|
|
47
|
-
{
|
|
48
|
-
key: "getStatement",
|
|
49
|
-
value: function getStatement() {
|
|
50
|
-
return this.statement;
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
key: "getString",
|
|
55
|
-
value: function getString() {
|
|
56
|
-
return this.statement.getString();
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
key: "getStatementNode",
|
|
61
|
-
value: function getStatementNode() {
|
|
62
|
-
var statementNode = this.statement.getNode();
|
|
63
|
-
return statementNode;
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
key: "unifyStatement",
|
|
68
|
-
value: function unifyStatement(statement, assignments, stated, context) {
|
|
69
|
-
var statementUnified;
|
|
70
|
-
var combinator = this, statementString = statement.getString(), combinatorString = combinator.getString();
|
|
71
|
-
context.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."));
|
|
72
|
-
var statementUnifiedWithCombinator = (0, _unification.unifyStatementWithCombinator)(statement, combinator, assignments, stated, context);
|
|
73
|
-
statementUnified = statementUnifiedWithCombinator; ///
|
|
74
|
-
if (statementUnified) {
|
|
75
|
-
context.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."));
|
|
76
|
-
}
|
|
77
|
-
return statementUnified;
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
key: "verifyWhenDeclared",
|
|
82
|
-
value: function verifyWhenDeclared(fileContext) {
|
|
83
|
-
var verifiedWhenDeclared;
|
|
84
|
-
var combinatorString = this.getString(); ///
|
|
85
|
-
fileContext.trace("Verifying the '".concat(combinatorString, "' combinator when declared..."));
|
|
86
|
-
var statementVerifiedAtTopLevel = this.statement.verifyWhenDeclared(fileContext);
|
|
87
|
-
verifiedWhenDeclared = statementVerifiedAtTopLevel; ///
|
|
88
|
-
if (verifiedWhenDeclared) {
|
|
89
|
-
fileContext.debug("...verified the '".concat(combinatorString, "' combinator when declared."));
|
|
90
|
-
}
|
|
91
|
-
return verifiedWhenDeclared;
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
key: "toJSON",
|
|
96
|
-
value: function toJSON() {
|
|
97
|
-
var statementJSON = (0, _json.statementToStatementJSON)(this.statement), statement = statementJSON, json = {
|
|
98
|
-
statement: statement
|
|
99
|
-
};
|
|
100
|
-
return json;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
], [
|
|
104
|
-
{
|
|
105
|
-
key: "fromJSON",
|
|
106
|
-
value: function fromJSON(json, fileContext) {
|
|
107
|
-
var statement = (0, _json.statementFromJSON)(json, fileContext), combinator = new Combinator(statement);
|
|
108
|
-
return combinator;
|
|
109
|
-
}
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
key: "fromCombinatorDeclarationNode",
|
|
113
|
-
value: function fromCombinatorDeclarationNode(combinatorDeclarationNode, fileContext) {
|
|
114
|
-
var Statement = _dom.default.Statement, statementNode = statementNodeQuery(combinatorDeclarationNode), localContext = _local.default.fromFileContext(fileContext), context = localContext, statement = Statement.fromStatementNode(statementNode, context), combinator = new Combinator(statement);
|
|
115
|
-
return combinator;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
]);
|
|
119
|
-
return Combinator;
|
|
120
|
-
}();
|
|
121
|
-
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuL2RvbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciB9IGZyb20gXCIuL3V0aWxpdGllcy91bmlmaWNhdGlvblwiO1xuaW1wb3J0IHsgc3RhdGVtZW50RnJvbUpTT04sIHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTiB9IGZyb20gXCIuL3V0aWxpdGllcy9qc29uXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb21iaW5hdG9yRGVjbGFyYXRpb24vc3RhdGVtZW50XCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21iaW5hdG9yIHtcbiAgY29uc3RydWN0b3Ioc3RhdGVtZW50KSB7XG4gICAgdGhpcy5zdGF0ZW1lbnQgPSBzdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkgeyByZXR1cm4gdGhpcy5zdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7IH1cblxuICBnZXRTdGF0ZW1lbnROb2RlKCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSB0aGlzLnN0YXRlbWVudC5nZXROb2RlKCk7XG5cbiAgICByZXR1cm4gc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIHVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICAgIGxldCBzdGF0ZW1lbnRVbmlmaWVkO1xuXG4gICAgY29uc3QgY29tYmluYXRvciA9IHRoaXMsICAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgY29tYmluYXRvclN0cmluZyA9IGNvbWJpbmF0b3IuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlICcke2NvbWJpbmF0b3JTdHJpbmd9JyBjb21iaW5hdG9yLi4uYCk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IgPSB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yKHN0YXRlbWVudCwgY29tYmluYXRvciwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICBzdGF0ZW1lbnRVbmlmaWVkID0gc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yOyAvLy9cblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3IuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlXaGVuRGVjbGFyZWQoZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWRXaGVuRGVjbGFyZWQ7XG5cbiAgICBjb25zdCBjb21iaW5hdG9yU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvciB3aGVuIGRlY2xhcmVkLi4uYCk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRWZXJpZmllZEF0VG9wTGV2ZWwgPSB0aGlzLnN0YXRlbWVudC52ZXJpZnlXaGVuRGVjbGFyZWQoZmlsZUNvbnRleHQpO1xuXG4gICAgdmVyaWZpZWRXaGVuRGVjbGFyZWQgPSBzdGF0ZW1lbnRWZXJpZmllZEF0VG9wTGV2ZWw7IC8vL1xuXG4gICAgaWYgKHZlcmlmaWVkV2hlbkRlY2xhcmVkKSB7XG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbWJpbmF0b3JTdHJpbmd9JyBjb21iaW5hdG9yIHdoZW4gZGVjbGFyZWQuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkV2hlbkRlY2xhcmVkO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHN0YXRlbWVudEpTT04gPSBzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04odGhpcy5zdGF0ZW1lbnQpLFxuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudEpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgc3RhdGVtZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3Qgc3RhdGVtZW50ID0gc3RhdGVtZW50RnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbWJpbmF0b3IgPSBuZXcgQ29tYmluYXRvcihzdGF0ZW1lbnQpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gZG9tLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgICAgY29udGV4dCA9IGxvY2FsQ29udGV4dCwgLy8vXG4gICAgICAgICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIGNvbWJpbmF0b3IgPSBuZXcgQ29tYmluYXRvcihzdGF0ZW1lbnQpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb21iaW5hdG9yIiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RhdGVtZW50IiwiZ2V0U3RhdGVtZW50IiwiZ2V0U3RyaW5nIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGUiLCJnZXROb2RlIiwidW5pZnlTdGF0ZW1lbnQiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImNvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkIiwiY29tYmluYXRvciIsInN0YXRlbWVudFN0cmluZyIsImNvbWJpbmF0b3JTdHJpbmciLCJ0cmFjZSIsInN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvciIsInVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3IiLCJkZWJ1ZyIsInZlcmlmeVdoZW5EZWNsYXJlZCIsImZpbGVDb250ZXh0IiwidmVyaWZpZWRXaGVuRGVjbGFyZWQiLCJzdGF0ZW1lbnRWZXJpZmllZEF0VG9wTGV2ZWwiLCJ0b0pTT04iLCJzdGF0ZW1lbnRKU09OIiwic3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIiwianNvbiIsImZyb21KU09OIiwic3RhdGVtZW50RnJvbUpTT04iLCJmcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJTdGF0ZW1lbnQiLCJkb20iLCJsb2NhbENvbnRleHQiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJmcm9tU3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFXcUJB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
|