occam-verify-cli 0.0.526 → 0.0.529
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/README.md +4 -0
- package/bin/abbreviations.js +5 -1
- package/bin/action/help.js +4 -0
- package/bin/action/verify.js +35 -13
- package/bin/actions.js +11 -6
- package/bin/defaults.js +4 -0
- package/bin/options.js +4 -0
- package/bin/utilities/releaseContext.js +5 -7
- package/lib/assertion/type.js +10 -40
- package/lib/axiom.js +8 -8
- package/lib/axiomLemmaTheoremConjecture.js +190 -0
- package/lib/combinator.js +4 -3
- package/lib/conclusion.js +8 -7
- package/lib/conjecture.js +141 -0
- package/lib/consequence.js +6 -5
- package/lib/constants.js +11 -27
- package/lib/constructor.js +5 -4
- package/lib/context/file.js +88 -73
- package/lib/context/metaproof.js +51 -20
- package/lib/context/proof.js +48 -114
- package/lib/context/release/directory.js +25 -6
- package/lib/context/release/file.js +38 -25
- package/lib/context/release.js +32 -51
- package/lib/equality.js +79 -51
- package/lib/index.js +4 -16
- package/lib/kinds.js +5 -1
- package/lib/label.js +4 -3
- package/lib/lemma.js +8 -8
- package/lib/log.js +146 -0
- package/lib/matcher.js +25 -75
- package/lib/metaTypeNames.js +13 -0
- package/lib/mixins/file.js +62 -2
- package/lib/mixins/logging.js +13 -13
- package/lib/node/metastatement/bracketed.js +16 -0
- package/lib/node/statement/bracketed.js +16 -0
- package/lib/node/statement/combinator/bracketed.js +17 -0
- package/lib/node/statement/combinator/equality.js +17 -0
- package/lib/node/statement/equality.js +16 -0
- package/lib/ocmbinator/bracketed.js +3 -4
- package/lib/ocmbinator/equality.js +3 -4
- package/lib/premise.js +13 -12
- package/lib/rule.js +5 -5
- package/lib/ruleNames.js +1 -9
- package/lib/step/metaproof.js +28 -25
- package/lib/step/proof.js +23 -1
- package/lib/substitution/metastatementForMetavariable.js +16 -13
- package/lib/substitution/statementForMetavariable.js +16 -13
- package/lib/substitution/termForVariable.js +76 -0
- package/lib/supposition.js +7 -6
- package/lib/theorem.js +8 -8
- package/lib/type.js +12 -5
- package/lib/utilities/metaproof.js +60 -0
- package/lib/utilities/node.js +56 -0
- package/lib/utilities/proof.js +60 -0
- package/lib/utilities/releaseContext.js +24 -12
- package/lib/utilities/string.js +3 -38
- package/lib/variable.js +4 -38
- package/lib/{matcher → verifier}/metastatementForMetavariable/conclusion.js +12 -12
- package/lib/{matcher → verifier}/metastatementForMetavariable/premise.js +12 -12
- package/lib/verifier/metastatementForMetavariable.js +198 -0
- package/lib/{matcher → verifier}/statementForMetavariable/conclusion.js +12 -12
- package/lib/{matcher → verifier}/statementForMetavariable/premise.js +12 -12
- package/lib/verifier/statementForMetavariable.js +203 -0
- package/lib/{matcher/statementForVariable → verifier/termForVariable}/consequence.js +13 -13
- package/lib/{matcher/statementForVariable → verifier/termForVariable}/supposition.js +13 -13
- package/lib/verifier/termForVariable.js +198 -0
- package/lib/verifier.js +92 -0
- package/lib/verify/assertion/type.js +62 -41
- package/lib/verify/axiom.js +3 -6
- package/lib/verify/conclusion.js +2 -4
- package/lib/verify/conjecture.js +54 -0
- package/lib/verify/consequence.js +2 -4
- package/lib/verify/declaration/combinator.js +1 -3
- package/lib/verify/declaration/constructor.js +1 -3
- package/lib/verify/declaration/topLevel.js +7 -5
- package/lib/verify/declaration/type.js +1 -3
- package/lib/verify/declaration/variable.js +1 -3
- package/lib/verify/derivation.js +1 -5
- package/lib/verify/label.js +1 -3
- package/lib/verify/lemma.js +3 -6
- package/lib/verify/metastatement/qualified.js +2 -5
- package/lib/verify/metastatement/unqualified.js +2 -5
- package/lib/verify/metastatement.js +1 -3
- package/lib/verify/premise.js +2 -4
- package/lib/verify/proof.js +3 -5
- package/lib/verify/rule.js +3 -6
- package/lib/verify/ruleDerivation.js +1 -5
- package/lib/verify/ruleProof.js +3 -5
- package/lib/verify/statement/qualified.js +40 -13
- package/lib/verify/statement/unqualified.js +2 -5
- package/lib/verify/statement.js +56 -62
- package/lib/verify/statementAsCombinator.js +4 -6
- package/lib/verify/supposition.js +2 -4
- package/lib/verify/term.js +4 -10
- package/lib/verify/termAsConstructor.js +6 -9
- package/lib/verify/theorem.js +3 -6
- package/lib/verify/type.js +5 -9
- package/lib/verify/variable.js +5 -9
- package/package.json +1 -1
- package/src/assertion/type.js +7 -32
- package/src/axiom.js +4 -4
- package/src/{axiomLemmaTheorem.js → axiomLemmaTheoremConjecture.js} +9 -9
- package/src/combinator.js +3 -3
- package/src/conclusion.js +7 -7
- package/src/conjecture.js +13 -0
- package/src/consequence.js +5 -5
- package/src/constants.js +3 -7
- package/src/constructor.js +4 -4
- package/src/context/file.js +85 -65
- package/src/context/metaproof.js +55 -15
- package/src/context/proof.js +53 -50
- package/src/context/release/directory.js +31 -7
- package/src/context/release/file.js +47 -31
- package/src/context/release.js +23 -32
- package/src/equality.js +108 -61
- package/src/index.js +2 -4
- package/src/kinds.js +1 -0
- package/src/label.js +3 -3
- package/src/lemma.js +4 -4
- package/src/log.js +116 -0
- package/src/matcher.js +32 -24
- package/src/metaTypeNames.js +3 -0
- package/src/mixins/file.js +46 -1
- package/src/mixins/logging.js +6 -6
- package/src/node/metastatement/bracketed.js +9 -0
- package/src/node/statement/bracketed.js +9 -0
- package/src/node/statement/combinator/bracketed.js +10 -0
- package/src/node/statement/combinator/equality.js +11 -0
- package/src/node/statement/equality.js +10 -0
- package/src/ocmbinator/bracketed.js +2 -5
- package/src/ocmbinator/equality.js +2 -5
- package/src/premise.js +13 -13
- package/src/rule.js +4 -4
- package/src/ruleNames.js +0 -2
- package/src/step/metaproof.js +32 -29
- package/src/step/proof.js +28 -0
- package/src/substitution/metastatementForMetavariable.js +10 -15
- package/src/substitution/statementForMetavariable.js +11 -16
- package/src/substitution/termForVariable.js +36 -0
- package/src/supposition.js +6 -6
- package/src/theorem.js +4 -4
- package/src/type.js +17 -7
- package/src/utilities/metaproof.js +62 -0
- package/src/utilities/node.js +73 -0
- package/src/utilities/proof.js +62 -0
- package/src/utilities/releaseContext.js +30 -12
- package/src/utilities/string.js +4 -53
- package/src/variable.js +4 -37
- package/src/verifier/metastatementForMetavariable/conclusion.js +9 -0
- package/src/verifier/metastatementForMetavariable/premise.js +9 -0
- package/src/verifier/metastatementForMetavariable.js +89 -0
- package/src/verifier/statementForMetavariable/conclusion.js +9 -0
- package/src/verifier/statementForMetavariable/premise.js +9 -0
- package/src/verifier/statementForMetavariable.js +105 -0
- package/src/verifier/termForVariable/consequence.js +9 -0
- package/src/verifier/termForVariable/supposition.js +9 -0
- package/src/verifier/termForVariable.js +89 -0
- package/src/verifier.js +74 -0
- package/src/verify/assertion/type.js +74 -74
- package/src/verify/axiom.js +2 -9
- package/src/verify/conclusion.js +1 -7
- package/src/verify/conjecture.js +67 -0
- package/src/verify/consequence.js +1 -7
- package/src/verify/declaration/combinator.js +0 -6
- package/src/verify/declaration/constructor.js +0 -6
- package/src/verify/declaration/topLevel.js +7 -6
- package/src/verify/declaration/type.js +0 -6
- package/src/verify/declaration/variable.js +0 -6
- package/src/verify/derivation.js +0 -12
- package/src/verify/label.js +0 -6
- package/src/verify/lemma.js +4 -11
- package/src/verify/metastatement/qualified.js +1 -8
- package/src/verify/metastatement/unqualified.js +1 -8
- package/src/verify/metastatement.js +0 -6
- package/src/verify/premise.js +1 -7
- package/src/verify/proof.js +1 -7
- package/src/verify/rule.js +2 -9
- package/src/verify/ruleDerivation.js +0 -12
- package/src/verify/ruleProof.js +1 -7
- package/src/verify/statement/qualified.js +54 -20
- package/src/verify/statement/unqualified.js +1 -8
- package/src/verify/statement.js +65 -95
- package/src/verify/statementAsCombinator.js +3 -9
- package/src/verify/supposition.js +1 -7
- package/src/verify/term.js +3 -21
- package/src/verify/termAsConstructor.js +5 -13
- package/src/verify/theorem.js +2 -9
- package/src/verify/type.js +4 -13
- package/src/verify/variable.js +4 -13
- package/bin/callbacks.js +0 -48
- package/lib/axiomLemmaTheorem.js +0 -190
- package/lib/callbacks.js +0 -75
- package/lib/context/release/combinator.js +0 -64
- package/lib/jsonTypes.js +0 -30
- package/lib/matcher/metastatementForMetavariable.js +0 -201
- package/lib/matcher/statementForMetavariable.js +0 -201
- package/lib/matcher/statementForVariable.js +0 -201
- package/lib/mixins/callbacks.js +0 -27
- package/lib/substitution/statementForVariable.js +0 -86
- package/lib/utilities/json.js +0 -187
- package/lib/utilities/substitution.js +0 -61
- package/lib/utilities/version.js +0 -32
- package/lib/versionChanges.js +0 -34
- package/src/callbacks.js +0 -39
- package/src/context/release/combinator.js +0 -39
- package/src/jsonTypes.js +0 -6
- package/src/matcher/metastatementForMetavariable/conclusion.js +0 -9
- package/src/matcher/metastatementForMetavariable/premise.js +0 -9
- package/src/matcher/metastatementForMetavariable.js +0 -99
- package/src/matcher/statementForMetavariable/conclusion.js +0 -9
- package/src/matcher/statementForMetavariable/premise.js +0 -9
- package/src/matcher/statementForMetavariable.js +0 -99
- package/src/matcher/statementForVariable/consequence.js +0 -9
- package/src/matcher/statementForVariable/supposition.js +0 -9
- package/src/matcher/statementForVariable.js +0 -99
- package/src/mixins/callbacks.js +0 -15
- package/src/substitution/statementForVariable.js +0 -64
- package/src/utilities/json.js +0 -264
- package/src/utilities/substitution.js +0 -79
- package/src/utilities/version.js +0 -30
- package/src/versionChanges.js +0 -11
package/README.md
CHANGED
|
@@ -44,6 +44,10 @@ Options:
|
|
|
44
44
|
--help|-h Show this help
|
|
45
45
|
|
|
46
46
|
--version|-v Show the version
|
|
47
|
+
|
|
48
|
+
--tail|-t Sets the size of the tail of the log messages. The default is ten.
|
|
49
|
+
|
|
50
|
+
--follow|-f Show the log messages immediately instead of tailing them. The default is false.
|
|
47
51
|
```
|
|
48
52
|
|
|
49
53
|
## Building
|
package/bin/abbreviations.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
const { HELP_OPTION, VERSION_OPTION, LOG_LEVEL_OPTION } = require("./options");
|
|
3
|
+
const { HELP_OPTION, TAIL_OPTION, FOLLOW_OPTION, VERSION_OPTION, LOG_LEVEL_OPTION } = require("./options");
|
|
4
4
|
|
|
5
5
|
const h = HELP_OPTION,
|
|
6
|
+
t = TAIL_OPTION,
|
|
7
|
+
f = FOLLOW_OPTION,
|
|
6
8
|
v = VERSION_OPTION,
|
|
7
9
|
l = LOG_LEVEL_OPTION
|
|
8
10
|
|
|
9
11
|
module.exports = {
|
|
10
12
|
h,
|
|
13
|
+
t,
|
|
14
|
+
f,
|
|
11
15
|
v,
|
|
12
16
|
l
|
|
13
17
|
};
|
package/bin/action/help.js
CHANGED
|
@@ -19,6 +19,10 @@ Options:
|
|
|
19
19
|
|
|
20
20
|
--version|-v Show the version
|
|
21
21
|
|
|
22
|
+
--tail|-t Sets the size of the tail of the log messages. The default is ten.
|
|
23
|
+
|
|
24
|
+
--follow|-f Show the log messages immediately instead of tailing them. The default is false.
|
|
25
|
+
|
|
22
26
|
Further information:
|
|
23
27
|
|
|
24
28
|
Please see the readme file on GitHub:
|
package/bin/action/verify.js
CHANGED
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
const { Dependency } = require("occam-file-system"),
|
|
4
|
-
{
|
|
5
|
-
{ verifyRelease, releaseContextUtilities } = require("../../lib/index"); ///
|
|
4
|
+
{ Log, verifyRelease, releaseContextUtilities } = require("../../lib/index"); ///
|
|
6
5
|
|
|
7
6
|
const { trimTrailingSlash } = require("../utilities/string"),
|
|
8
7
|
{ releaseContextFromDependencyAndDependentNames } = require("../utilities/releaseContext");
|
|
9
8
|
|
|
10
|
-
const {
|
|
11
|
-
{ setLogLevel } = log,
|
|
12
|
-
{ createReleaseContext, initialiseReleaseContext } = releaseContextUtilities;
|
|
9
|
+
const { createReleaseContext, initialiseReleaseContext } = releaseContextUtilities;
|
|
13
10
|
|
|
14
|
-
function verifyAction(argument, logLevel) {
|
|
15
|
-
const
|
|
11
|
+
function verifyAction(argument, tail, follow, logLevel) {
|
|
12
|
+
const log = Log.followAndLogLevel(follow, logLevel),
|
|
13
|
+
name = trimTrailingSlash(argument), ///
|
|
16
14
|
context = {},
|
|
17
15
|
dependency = Dependency.fromName(name),
|
|
18
16
|
dependentNames = [],
|
|
19
17
|
releaseContextMap = {};
|
|
20
18
|
|
|
21
|
-
setLogLevel(logLevel);
|
|
22
|
-
|
|
23
19
|
Object.assign(context, {
|
|
24
20
|
log,
|
|
25
21
|
releaseContextMap,
|
|
@@ -30,6 +26,8 @@ function verifyAction(argument, logLevel) {
|
|
|
30
26
|
if (error) {
|
|
31
27
|
log.error(error);
|
|
32
28
|
|
|
29
|
+
tailLogMessages();
|
|
30
|
+
|
|
33
31
|
return;
|
|
34
32
|
}
|
|
35
33
|
|
|
@@ -38,13 +36,37 @@ function verifyAction(argument, logLevel) {
|
|
|
38
36
|
releaseContext = releaseContextMap[releaseName],
|
|
39
37
|
verified = releaseContext.isVerified();
|
|
40
38
|
|
|
41
|
-
initialiseReleaseContext(dependency, dependentName, verified, context)
|
|
39
|
+
initialiseReleaseContext(dependency, dependentName, verified, context, (error) => {
|
|
40
|
+
if (error) {
|
|
41
|
+
log.error(error);
|
|
42
|
+
|
|
43
|
+
tailLogMessages();
|
|
44
|
+
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
delete context.releaseContextMap;
|
|
49
|
+
delete context.releaseContextFromDependencyAndDependentNames;
|
|
42
50
|
|
|
43
|
-
|
|
44
|
-
delete context.releaseContextFromDependencyAndDependentNames;
|
|
51
|
+
verifyRelease(releaseName, releaseContextMap);
|
|
45
52
|
|
|
46
|
-
|
|
53
|
+
tailLogMessages();
|
|
54
|
+
});
|
|
47
55
|
});
|
|
56
|
+
|
|
57
|
+
function tailLogMessages() {
|
|
58
|
+
if (!follow) {
|
|
59
|
+
let logMessages = log.getMessages()
|
|
60
|
+
|
|
61
|
+
const start = - tail;
|
|
62
|
+
|
|
63
|
+
logMessages = logMessages.slice(start);
|
|
64
|
+
|
|
65
|
+
logMessages.forEach((logMessage) => {
|
|
66
|
+
console.log(logMessage);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
48
70
|
}
|
|
49
71
|
|
|
50
72
|
module.exports = verifyAction;
|
package/bin/actions.js
CHANGED
|
@@ -4,7 +4,7 @@ const helpAction = require("./action/help"),
|
|
|
4
4
|
verifyAction = require("./action/verify"),
|
|
5
5
|
versionAction = require("./action/version");
|
|
6
6
|
|
|
7
|
-
const { DEFAULT_HELP, DEFAULT_VERSION, DEFAULT_LOG_LEVEL } = require("./defaults"),
|
|
7
|
+
const { DEFAULT_HELP, DEFAULT_TAIL, DEFAULT_FOLLOW, DEFAULT_VERSION, DEFAULT_LOG_LEVEL } = require("./defaults"),
|
|
8
8
|
{ HELP_COMMAND,
|
|
9
9
|
VERIFY_COMMAND,
|
|
10
10
|
VERSION_COMMAND } = require("./commands");
|
|
@@ -12,6 +12,8 @@ const { DEFAULT_HELP, DEFAULT_VERSION, DEFAULT_LOG_LEVEL } = require("./defaults
|
|
|
12
12
|
function actions(command, argument, options) {
|
|
13
13
|
const commandMissing = (command === null),
|
|
14
14
|
{ help = DEFAULT_HELP,
|
|
15
|
+
tail = DEFAULT_TAIL,
|
|
16
|
+
follow = DEFAULT_FOLLOW,
|
|
15
17
|
version = DEFAULT_VERSION,
|
|
16
18
|
logLevel = DEFAULT_LOG_LEVEL } = options;
|
|
17
19
|
|
|
@@ -26,14 +28,17 @@ function actions(command, argument, options) {
|
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
switch (command) {
|
|
29
|
-
case HELP_COMMAND
|
|
30
|
-
case VERIFY_COMMAND
|
|
31
|
-
case VERSION_COMMAND
|
|
31
|
+
case HELP_COMMAND: helpAction(); break;
|
|
32
|
+
case VERIFY_COMMAND: verifyAction(argument, tail, follow, logLevel); break;
|
|
33
|
+
case VERSION_COMMAND: versionAction(); break;
|
|
32
34
|
|
|
33
|
-
default:
|
|
35
|
+
default: {
|
|
34
36
|
argument = command; ///
|
|
35
37
|
|
|
36
|
-
verifyAction(argument, logLevel);
|
|
38
|
+
verifyAction(argument, tail, follow, logLevel);
|
|
39
|
+
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
37
42
|
}
|
|
38
43
|
}
|
|
39
44
|
|
package/bin/defaults.js
CHANGED
|
@@ -5,11 +5,15 @@ const { levels } = require("necessary");
|
|
|
5
5
|
const { INFO_LEVEL } = levels;
|
|
6
6
|
|
|
7
7
|
const DEFAULT_HELP = false,
|
|
8
|
+
DEFAULT_TAIL = 10,
|
|
9
|
+
DEFAULT_FOLLOW = false,
|
|
8
10
|
DEFAULT_VERSION = false,
|
|
9
11
|
DEFAULT_LOG_LEVEL = INFO_LEVEL;
|
|
10
12
|
|
|
11
13
|
module.exports = {
|
|
12
14
|
DEFAULT_HELP,
|
|
15
|
+
DEFAULT_TAIL,
|
|
16
|
+
DEFAULT_FOLLOW,
|
|
13
17
|
DEFAULT_VERSION,
|
|
14
18
|
DEFAULT_LOG_LEVEL
|
|
15
19
|
};
|
package/bin/options.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
const HELP_OPTION = "help",
|
|
4
|
+
TAIL_OPTION = "tail",
|
|
5
|
+
FOLLOW_OPTION = "follow",
|
|
4
6
|
VERSION_OPTION = "version",
|
|
5
7
|
LOG_LEVEL_OPTION = "log-level";
|
|
6
8
|
|
|
7
9
|
module.exports = {
|
|
8
10
|
HELP_OPTION,
|
|
11
|
+
TAIL_OPTION,
|
|
12
|
+
FOLLOW_OPTION,
|
|
9
13
|
VERSION_OPTION,
|
|
10
14
|
LOG_LEVEL_OPTION
|
|
11
15
|
};
|
|
@@ -4,8 +4,6 @@ const { FileReleaseContext, DirectoryReleaseContext } = require("../../lib/index
|
|
|
4
4
|
{ Entries, fileSystemUtilities : occamFileSystemUtilities } = require("occam-file-system"),
|
|
5
5
|
{ pathUtilities, fileSystemUtilities : necessaryFileSystemUtilities } = require("necessary");
|
|
6
6
|
|
|
7
|
-
const callbacks = require("../callbacks");
|
|
8
|
-
|
|
9
7
|
const { loadProject } = occamFileSystemUtilities,
|
|
10
8
|
{ concatenatePaths } = pathUtilities,
|
|
11
9
|
{ readFile, isEntryFile, checkEntryExists } = necessaryFileSystemUtilities;
|
|
@@ -53,8 +51,7 @@ module.exports = {
|
|
|
53
51
|
function fileReleaseContextFromDependencyAndProjectsDirectoryPath(dependency, projectsDirectoryPath, context) {
|
|
54
52
|
let releaseContext;
|
|
55
53
|
|
|
56
|
-
const
|
|
57
|
-
dependencyName = dependency.getName(),
|
|
54
|
+
const dependencyName = dependency.getName(),
|
|
58
55
|
filePath = concatenatePaths(projectsDirectoryPath, dependencyName),
|
|
59
56
|
content = readFile(filePath),
|
|
60
57
|
releaseJSONString = content, ///
|
|
@@ -70,8 +67,9 @@ function fileReleaseContextFromDependencyAndProjectsDirectoryPath(dependency, pr
|
|
|
70
67
|
|
|
71
68
|
entries = Entries.fromJSON(json);
|
|
72
69
|
|
|
73
|
-
const
|
|
74
|
-
|
|
70
|
+
const { log } = context,
|
|
71
|
+
name = dependencyName, ///
|
|
72
|
+
fileReleaseContext = FileReleaseContext.fromLogNameEntriesAndContextJSON(log, name, entries, contextJSON);
|
|
75
73
|
|
|
76
74
|
releaseContext = fileReleaseContext; ///
|
|
77
75
|
|
|
@@ -89,7 +87,7 @@ function directoryReleaseContextFromDependencyAndProjectsDirectoryPath(dependenc
|
|
|
89
87
|
const { log } = context,
|
|
90
88
|
name = project.getName(),
|
|
91
89
|
entries = project.getEntries(),
|
|
92
|
-
directoryReleaseContext = DirectoryReleaseContext.
|
|
90
|
+
directoryReleaseContext = DirectoryReleaseContext.fromLogNameAndEntries(log, name, entries);
|
|
93
91
|
|
|
94
92
|
releaseContext = directoryReleaseContext; ///
|
|
95
93
|
}
|
package/lib/assertion/type.js
CHANGED
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return TypeAssertion;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _variable = /*#__PURE__*/ _interopRequireDefault(require("../variable"));
|
|
12
11
|
function _classCallCheck(instance, Constructor) {
|
|
13
12
|
if (!(instance instanceof Constructor)) {
|
|
14
13
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -28,58 +27,29 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
28
27
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
29
28
|
return Constructor;
|
|
30
29
|
}
|
|
31
|
-
function _interopRequireDefault(obj) {
|
|
32
|
-
return obj && obj.__esModule ? obj : {
|
|
33
|
-
default: obj
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
30
|
var TypeAssertion = /*#__PURE__*/ function() {
|
|
37
|
-
function TypeAssertion(
|
|
31
|
+
function TypeAssertion(variable) {
|
|
38
32
|
_classCallCheck(this, TypeAssertion);
|
|
39
|
-
this.
|
|
40
|
-
this.termNode = termNode;
|
|
41
|
-
this.variableName = variableName;
|
|
33
|
+
this.variable = variable;
|
|
42
34
|
}
|
|
43
35
|
_createClass(TypeAssertion, [
|
|
44
36
|
{
|
|
45
|
-
key: "
|
|
46
|
-
value: function
|
|
47
|
-
return this.
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
key: "getTermNode",
|
|
52
|
-
value: function getTermNode() {
|
|
53
|
-
return this.termNode;
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
key: "getVariableName",
|
|
58
|
-
value: function getVariableName() {
|
|
59
|
-
return this.variableName;
|
|
37
|
+
key: "getVariable",
|
|
38
|
+
value: function getVariable() {
|
|
39
|
+
return this.variable;
|
|
60
40
|
}
|
|
61
41
|
},
|
|
62
42
|
{
|
|
63
43
|
key: "assert",
|
|
64
44
|
value: function assert(proofContext) {
|
|
65
|
-
|
|
66
|
-
var name = this.variableName, variable = _variable.default.fromTypeAndName(this.type, name);
|
|
67
|
-
proofContext.addVariable(variable);
|
|
68
|
-
}
|
|
45
|
+
proofContext.addVariable(this.variable);
|
|
69
46
|
}
|
|
70
47
|
}
|
|
71
48
|
], [
|
|
72
49
|
{
|
|
73
|
-
key: "
|
|
74
|
-
value: function
|
|
75
|
-
var
|
|
76
|
-
return typeAssertion;
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
key: "fromTypeAndVariableName",
|
|
81
|
-
value: function fromTypeAndVariableName(type, variableName) {
|
|
82
|
-
var termNode = null, typeAssertion = new TypeAssertion(type, termNode, variableName);
|
|
50
|
+
key: "fromVariable",
|
|
51
|
+
value: function fromVariable(variable) {
|
|
52
|
+
var typeAssertion = new TypeAssertion(variable);
|
|
83
53
|
return typeAssertion;
|
|
84
54
|
}
|
|
85
55
|
}
|
|
@@ -87,4 +57,4 @@ var TypeAssertion = /*#__PURE__*/ function() {
|
|
|
87
57
|
return TypeAssertion;
|
|
88
58
|
}();
|
|
89
59
|
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRpb24vdHlwZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRpb24vdHlwZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVHlwZUFzc2VydGlvbiB7XG4gIGNvbnN0cnVjdG9yKHZhcmlhYmxlKSB7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBhc3NlcnQocHJvb2ZDb250ZXh0KSB7XG4gICAgcHJvb2ZDb250ZXh0LmFkZFZhcmlhYmxlKHRoaXMudmFyaWFibGUpO1xuICB9XG5cbiAgc3RhdGljIGZyb21WYXJpYWJsZSh2YXJpYWJsZSkge1xuICAgIGNvbnN0IHR5cGVBc3NlcnRpb24gPSBuZXcgVHlwZUFzc2VydGlvbih2YXJpYWJsZSk7XG5cbiAgICByZXR1cm4gdHlwZUFzc2VydGlvbjtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJUeXBlQXNzZXJ0aW9uIiwidmFyaWFibGUiLCJnZXRWYXJpYWJsZSIsImFzc2VydCIsInByb29mQ29udGV4dCIsImFkZFZhcmlhYmxlIiwiZnJvbVZhcmlhYmxlIiwidHlwZUFzc2VydGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFFcUJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU4sSUFBQSxBQUFNQSw4QkFBTjthQUFNQSxjQUNQQyxRQUFROzhCQURERDtRQUVqQixJQUFJLENBQUNDLFFBQVEsR0FBR0E7O2lCQUZDRDs7WUFLbkJFLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFjO2dCQUNaLE9BQU8sSUFBSSxDQUFDRCxRQUFRO1lBQ3RCOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLFlBQVksRUFBRTtnQkFDbkJBLGFBQWFDLFdBQVcsQ0FBQyxJQUFJLENBQUNKLFFBQVE7WUFDeEM7Ozs7WUFFT0ssS0FBQUE7bUJBQVAsU0FBT0EsYUFBYUwsUUFBUSxFQUFFO2dCQUM1QixJQUFNTSxnQkFBZ0IsSUFkTFAsY0FjdUJDO2dCQUV4QyxPQUFPTTtZQUNUOzs7V0FqQm1CUCJ9
|
package/lib/axiom.js
CHANGED
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return Axiom;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
11
|
+
var _axiomLemmaTheoremConjecture = /*#__PURE__*/ _interopRequireDefault(require("./axiomLemmaTheoremConjecture"));
|
|
12
12
|
var _kinds = require("./kinds");
|
|
13
13
|
function _assertThisInitialized(self) {
|
|
14
14
|
if (self === void 0) {
|
|
@@ -113,8 +113,8 @@ function _createSuper(Derived) {
|
|
|
113
113
|
return _possibleConstructorReturn(this, result);
|
|
114
114
|
};
|
|
115
115
|
}
|
|
116
|
-
var Axiom = /*#__PURE__*/ function(
|
|
117
|
-
_inherits(Axiom,
|
|
116
|
+
var Axiom = /*#__PURE__*/ function(AxiomLemmaTheoremConjecture) {
|
|
117
|
+
_inherits(Axiom, AxiomLemmaTheoremConjecture);
|
|
118
118
|
var _super = _createSuper(Axiom);
|
|
119
119
|
function Axiom() {
|
|
120
120
|
_classCallCheck(this, Axiom);
|
|
@@ -123,19 +123,19 @@ var Axiom = /*#__PURE__*/ function(AxiomLemmaTheorem) {
|
|
|
123
123
|
_createClass(Axiom, null, [
|
|
124
124
|
{
|
|
125
125
|
key: "fromJSON",
|
|
126
|
-
value: function fromJSON(json,
|
|
127
|
-
return
|
|
126
|
+
value: function fromJSON(json, lexer, parser) {
|
|
127
|
+
return _axiomLemmaTheoremConjecture.default.fromJSON(Axiom, json, lexer, parser);
|
|
128
128
|
}
|
|
129
129
|
},
|
|
130
130
|
{
|
|
131
131
|
key: "fromLabelsSuppositionsAndConsequence",
|
|
132
132
|
value: function fromLabelsSuppositionsAndConsequence(labels, suppositions, consequence) {
|
|
133
|
-
return
|
|
133
|
+
return _axiomLemmaTheoremConjecture.default.fromLabelsSuppositionsAndConsequence(Axiom, labels, suppositions, consequence);
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
]);
|
|
137
137
|
return Axiom;
|
|
138
|
-
}(
|
|
138
|
+
}(_axiomLemmaTheoremConjecture.default);
|
|
139
139
|
_defineProperty(Axiom, "kind", _kinds.AXIOM_KIND);
|
|
140
140
|
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9heGlvbS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9heGlvbS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZSBmcm9tIFwiLi9heGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmVcIjtcblxuaW1wb3J0IHsgQVhJT01fS0lORCB9IGZyb20gXCIuL2tpbmRzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF4aW9tIGV4dGVuZHMgQXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlIHtcbiAgc3RhdGljIGtpbmQgPSBBWElPTV9LSU5EO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBsZXhlciwgcGFyc2VyKSB7IHJldHVybiBBeGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmUuZnJvbUpTT04oQXhpb20sIGpzb24sIGxleGVyLCBwYXJzZXIpOyB9XG5cbiAgc3RhdGljIGZyb21MYWJlbHNTdXBwb3NpdGlvbnNBbmRDb25zZXF1ZW5jZShsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVuY2UpIHsgcmV0dXJuIEF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZS5mcm9tTGFiZWxzU3VwcG9zaXRpb25zQW5kQ29uc2VxdWVuY2UoQXhpb20sIGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW5jZSk7IH1cbn1cbiIsIlJlYWN0LmNyZWF0ZUVsZW1lbnQiXSwibmFtZXMiOlsiQXhpb20iLCJmcm9tSlNPTiIsImpzb24iLCJsZXhlciIsInBhcnNlciIsIkF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZSIsImZyb21MYWJlbHNTdXBwb3NpdGlvbnNBbmRDb25zZXF1ZW5jZSIsImxhYmVscyIsInN1cHBvc2l0aW9ucyIsImNvbnNlcXVlbmNlIiwia2luZCIsIkFYSU9NX0tJTkQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBTXFCQTs7O2dGQUptQjtxQkFFYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFWixJQUFBLEFBQU1BLHNCQUFOO2NBQU1BOzhCQUFBQTthQUFBQTs4QkFBQUE7OztpQkFBQUE7O1lBR1pDLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUU7Z0JBQUUsT0FBT0Msb0NBQTJCLENBQUNKLFFBQVEsQ0FIL0RELE9BR3VFRSxNQUFNQyxPQUFPQztZQUFTOzs7WUFFekdFLEtBQUFBO21CQUFQLFNBQU9BLHFDQUFxQ0MsTUFBTSxFQUFFQyxZQUFZLEVBQUVDLFdBQVcsRUFBRTtnQkFBRSxPQUFPSixvQ0FBMkIsQ0FBQ0Msb0NBQW9DLENBTHJJTixPQUs2SU8sUUFBUUMsY0FBY0M7WUFBYzs7O1dBTGpMVDtFQUFjSyxvQ0FBMkI7QUFDNUQsZ0JBRG1CTCxPQUNaVSxRQUFPQyxpQkFBVSJ9
|
|
@@ -0,0 +1,190 @@
|
|
|
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 AxiomLemmaTheoremConjecture;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _label = /*#__PURE__*/ _interopRequireDefault(require("./label"));
|
|
12
|
+
var _supposition = /*#__PURE__*/ _interopRequireDefault(require("./supposition"));
|
|
13
|
+
var _consequence = /*#__PURE__*/ _interopRequireDefault(require("./consequence"));
|
|
14
|
+
var _array = require("./utilities/array");
|
|
15
|
+
function _classCallCheck(instance, Constructor) {
|
|
16
|
+
if (!(instance instanceof Constructor)) {
|
|
17
|
+
throw new TypeError("Cannot call a class as a function");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function _defineProperties(target, props) {
|
|
21
|
+
for(var i = 0; i < props.length; i++){
|
|
22
|
+
var descriptor = props[i];
|
|
23
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
24
|
+
descriptor.configurable = true;
|
|
25
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
26
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
30
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
31
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
32
|
+
return Constructor;
|
|
33
|
+
}
|
|
34
|
+
function _interopRequireDefault(obj) {
|
|
35
|
+
return obj && obj.__esModule ? obj : {
|
|
36
|
+
default: obj
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
var AxiomLemmaTheoremConjecture = /*#__PURE__*/ function() {
|
|
40
|
+
function AxiomLemmaTheoremConjecture(labels, suppositions, consequence) {
|
|
41
|
+
_classCallCheck(this, AxiomLemmaTheoremConjecture);
|
|
42
|
+
this.labels = labels;
|
|
43
|
+
this.suppositions = suppositions;
|
|
44
|
+
this.consequence = consequence;
|
|
45
|
+
}
|
|
46
|
+
_createClass(AxiomLemmaTheoremConjecture, [
|
|
47
|
+
{
|
|
48
|
+
key: "getLabels",
|
|
49
|
+
value: function getLabels() {
|
|
50
|
+
return this.labels;
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
key: "getSuppositions",
|
|
55
|
+
value: function getSuppositions() {
|
|
56
|
+
return this.suppositions;
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
key: "getConsequence",
|
|
61
|
+
value: function getConsequence() {
|
|
62
|
+
return this.consequence;
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
key: "matchLabelName",
|
|
67
|
+
value: function matchLabelName(labelName) {
|
|
68
|
+
var matchesLabelName = this.labels.some(function(label) {
|
|
69
|
+
var name = labelName, labelMatchesName = label.matchName(name);
|
|
70
|
+
if (labelMatchesName) {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return matchesLabelName;
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
key: "matchStatement",
|
|
79
|
+
value: function matchStatement(statementNode, proofContext) {
|
|
80
|
+
var _this = this;
|
|
81
|
+
var statementNatches;
|
|
82
|
+
var suppositionsLength = this.suppositions.length;
|
|
83
|
+
if (suppositionsLength === 0) {
|
|
84
|
+
var substitutions = [], consequenceMatches = matchConsequence(this.consequence, statementNode, substitutions);
|
|
85
|
+
statementNatches = consequenceMatches; ///
|
|
86
|
+
} else {
|
|
87
|
+
var proofSteps = proofContext.getProofSteps();
|
|
88
|
+
statementNatches = (0, _array.someSubArray)(proofSteps, suppositionsLength, function(proofSteps) {
|
|
89
|
+
var suppositionsMatchConsequence = matchSuppositionsAndConsequence(_this.suppositions, _this.consequence, proofSteps, statementNode);
|
|
90
|
+
if (suppositionsMatchConsequence) {
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return statementNatches;
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
key: "toJSON",
|
|
100
|
+
value: function toJSON(tokens) {
|
|
101
|
+
var kind = this.constructor.kind, labelsJSON = this.labels.map(function(label) {
|
|
102
|
+
var labelJSON = label.toJSON(tokens);
|
|
103
|
+
return labelJSON;
|
|
104
|
+
}), suppositionsJSON = this.suppositions.map(function(supposition) {
|
|
105
|
+
var suppositionJSON = supposition.toJSON(tokens);
|
|
106
|
+
return suppositionJSON;
|
|
107
|
+
}), consequenceJSON = this.consequence.toJSON(tokens), labels = labelsJSON, suppositions = suppositionsJSON, consequence = consequenceJSON, json = {
|
|
108
|
+
kind: kind,
|
|
109
|
+
labels: labels,
|
|
110
|
+
suppositions: suppositions,
|
|
111
|
+
consequence: consequence
|
|
112
|
+
};
|
|
113
|
+
return json;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
], [
|
|
117
|
+
{
|
|
118
|
+
key: "fromJSON",
|
|
119
|
+
value: function fromJSON(Class, json, lexer, parser) {
|
|
120
|
+
var labels = json.labels;
|
|
121
|
+
var labelsJSON = labels; ///
|
|
122
|
+
labels = labelsJSON.map(function(labelJSON) {
|
|
123
|
+
var _$json = labelJSON, label = _label.default.fromJSON(_$json, lexer, parser);
|
|
124
|
+
return label;
|
|
125
|
+
});
|
|
126
|
+
var suppositions = json.suppositions;
|
|
127
|
+
var suppositionsJSON = suppositions; ///
|
|
128
|
+
suppositions = suppositionsJSON.map(function(suppositionJSON) {
|
|
129
|
+
var _$json = suppositionJSON, supposition = _supposition.default.fromJSON(_$json, lexer, parser);
|
|
130
|
+
return supposition;
|
|
131
|
+
});
|
|
132
|
+
var consequence = json.consequence;
|
|
133
|
+
var consequenceJSON = consequence; ///
|
|
134
|
+
json = consequenceJSON; ///
|
|
135
|
+
consequence = _consequence.default.fromJSON(json, lexer, parser);
|
|
136
|
+
return new Class(labels, suppositions, consequence); ///
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
key: "fromLabelsSuppositionsAndConsequence",
|
|
141
|
+
value: function fromLabelsSuppositionsAndConsequence(Class, labels, suppositions, consequence) {
|
|
142
|
+
return new Class(labels, suppositions, consequence);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
]);
|
|
146
|
+
return AxiomLemmaTheoremConjecture;
|
|
147
|
+
}();
|
|
148
|
+
function matchSupposition(supposition, proofSteps, substitutions) {
|
|
149
|
+
var proofStep = (0, _array.prune)(proofSteps, function(proofStep) {
|
|
150
|
+
var subproofNode = proofStep.getSubproofNode(), statementNode = proofStep.getStatementNode();
|
|
151
|
+
if (subproofNode !== null) {
|
|
152
|
+
var subProofMatches = supposition.matchSubproofNode(subproofNode, substitutions);
|
|
153
|
+
if (!subProofMatches) {
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (statementNode !== null) {
|
|
158
|
+
var statementMatches = supposition.matchStatementNode(statementNode, substitutions);
|
|
159
|
+
if (!statementMatches) {
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}) || null;
|
|
164
|
+
var suppositionMatches = proofStep !== null;
|
|
165
|
+
return suppositionMatches;
|
|
166
|
+
}
|
|
167
|
+
function matchSuppositions(supposition, proofSteps, substitutions) {
|
|
168
|
+
var suppositionsMatch = supposition.every(function(supposition) {
|
|
169
|
+
var suppositionMatches = matchSupposition(supposition, proofSteps, substitutions);
|
|
170
|
+
if (suppositionMatches) {
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
return suppositionsMatch;
|
|
175
|
+
}
|
|
176
|
+
function matchConsequence(consequence, statementNode, substitutions) {
|
|
177
|
+
var nonTerminalNodeMatches = consequence.matchStatementNode(statementNode, substitutions), consequenceMatches = nonTerminalNodeMatches; ///
|
|
178
|
+
return consequenceMatches;
|
|
179
|
+
}
|
|
180
|
+
function matchSuppositionsAndConsequence(suppositions, consequence, proofSteps, statementNode) {
|
|
181
|
+
var suppositionsMatchConsequence = false;
|
|
182
|
+
var substitutions = [], suppositionsMatch = matchSuppositions(suppositions, proofSteps, substitutions);
|
|
183
|
+
if (suppositionsMatch) {
|
|
184
|
+
var consequenceMatches = matchConsequence(consequence, statementNode, substitutions);
|
|
185
|
+
suppositionsMatchConsequence = consequenceMatches; ///
|
|
186
|
+
}
|
|
187
|
+
return suppositionsMatchConsequence;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9heGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBMYWJlbCBmcm9tIFwiLi9sYWJlbFwiO1xuaW1wb3J0IFN1cHBvc2l0aW9uIGZyb20gXCIuL3N1cHBvc2l0aW9uXCI7XG5pbXBvcnQgQ29uc2VxdWVuY2UgZnJvbSBcIi4vY29uc2VxdWVuY2VcIjtcblxuaW1wb3J0IHsgcHJ1bmUgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IHNvbWVTdWJBcnJheSB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBeGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmUge1xuICBjb25zdHJ1Y3RvcihsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVuY2UpIHtcbiAgICB0aGlzLmxhYmVscyA9IGxhYmVscztcbiAgICB0aGlzLnN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9ucztcbiAgICB0aGlzLmNvbnNlcXVlbmNlID0gY29uc2VxdWVuY2U7XG4gIH1cblxuICBnZXRMYWJlbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWxzO1xuICB9XG5cbiAgZ2V0U3VwcG9zaXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnN1cHBvc2l0aW9ucztcbiAgfVxuXG4gIGdldENvbnNlcXVlbmNlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnNlcXVlbmNlO1xuICB9XG5cbiAgbWF0Y2hMYWJlbE5hbWUobGFiZWxOYW1lKSB7XG4gICAgY29uc3QgbWF0Y2hlc0xhYmVsTmFtZSA9IHRoaXMubGFiZWxzLnNvbWUoKGxhYmVsKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gbGFiZWxOYW1lLCAvLy9cbiAgICAgICAgICAgIGxhYmVsTWF0Y2hlc05hbWUgPSBsYWJlbC5tYXRjaE5hbWUobmFtZSk7XG5cbiAgICAgIGlmIChsYWJlbE1hdGNoZXNOYW1lKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNMYWJlbE5hbWU7XG4gIH1cblxuICBtYXRjaFN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBwcm9vZkNvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50TmF0Y2hlcztcblxuICAgIGNvbnN0IHN1cHBvc2l0aW9uc0xlbmd0aCA9IHRoaXMuc3VwcG9zaXRpb25zLmxlbmd0aDtcblxuICAgIGlmIChzdXBwb3NpdGlvbnNMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgICAgIGNvbnNlcXVlbmNlTWF0Y2hlcyA9IG1hdGNoQ29uc2VxdWVuY2UodGhpcy5jb25zZXF1ZW5jZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIHN0YXRlbWVudE5hdGNoZXMgPSBjb25zZXF1ZW5jZU1hdGNoZXM7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcm9vZlN0ZXBzID0gcHJvb2ZDb250ZXh0LmdldFByb29mU3RlcHMoKTtcblxuICAgICAgc3RhdGVtZW50TmF0Y2hlcyA9IHNvbWVTdWJBcnJheShwcm9vZlN0ZXBzLCBzdXBwb3NpdGlvbnNMZW5ndGgsIChwcm9vZlN0ZXBzKSA9PiB7XG4gICAgICAgIGNvbnN0IHN1cHBvc2l0aW9uc01hdGNoQ29uc2VxdWVuY2UgPSBtYXRjaFN1cHBvc2l0aW9uc0FuZENvbnNlcXVlbmNlKHRoaXMuc3VwcG9zaXRpb25zLCB0aGlzLmNvbnNlcXVlbmNlLCBwcm9vZlN0ZXBzLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBpZiAoc3VwcG9zaXRpb25zTWF0Y2hDb25zZXF1ZW5jZSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50TmF0Y2hlcztcbiAgfVxuXG4gIHRvSlNPTih0b2tlbnMpIHtcbiAgICBjb25zdCB7IGtpbmQgfSA9IHRoaXMuY29uc3RydWN0b3IsXG4gICAgICAgICAgbGFiZWxzSlNPTiA9IHRoaXMubGFiZWxzLm1hcCgobGFiZWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSlNPTiA9IGxhYmVsLnRvSlNPTih0b2tlbnMpO1xuXG4gICAgICAgICAgICByZXR1cm4gbGFiZWxKU09OO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHN1cHBvc2l0aW9uc0pTT04gPSB0aGlzLnN1cHBvc2l0aW9ucy5tYXAoKHN1cHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdXBwb3NpdGlvbkpTT04gPSBzdXBwb3NpdGlvbi50b0pTT04odG9rZW5zKTtcblxuICAgICAgICAgICAgcmV0dXJuIHN1cHBvc2l0aW9uSlNPTjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjb25zZXF1ZW5jZUpTT04gPSB0aGlzLmNvbnNlcXVlbmNlLnRvSlNPTih0b2tlbnMpLFxuICAgICAgICAgIGxhYmVscyA9IGxhYmVsc0pTT04sICAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnNKU09OLCAgLy8vXG4gICAgICAgICAgY29uc2VxdWVuY2UgPSBjb25zZXF1ZW5jZUpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAga2luZCxcbiAgICAgICAgICAgIGxhYmVscyxcbiAgICAgICAgICAgIHN1cHBvc2l0aW9ucyxcbiAgICAgICAgICAgIGNvbnNlcXVlbmNlXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKENsYXNzLCBqc29uLCBsZXhlciwgcGFyc2VyKSB7XG4gICAgbGV0IHsgbGFiZWxzIH0gPSBqc29uO1xuXG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IGxhYmVsczsgIC8vL1xuXG4gICAgbGFiZWxzID0gbGFiZWxzSlNPTi5tYXAoKGxhYmVsSlNPTikgPT4ge1xuICAgICAgY29uc3QganNvbiA9IGxhYmVsSlNPTiwgLy8vXG4gICAgICAgICAgICBsYWJlbCA9IExhYmVsLmZyb21KU09OKGpzb24sIGxleGVyLCBwYXJzZXIpO1xuXG4gICAgICByZXR1cm4gbGFiZWw7XG4gICAgfSk7XG5cbiAgICBsZXQgeyBzdXBwb3NpdGlvbnMgfSA9IGpzb247XG5cbiAgICBjb25zdCBzdXBwb3NpdGlvbnNKU09OID0gc3VwcG9zaXRpb25zOyAgLy8vXG5cbiAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnNKU09OLm1hcCgoc3VwcG9zaXRpb25KU09OKSA9PiB7XG4gICAgICBjb25zdCBqc29uID0gc3VwcG9zaXRpb25KU09OLCAvLy9cbiAgICAgICAgICAgIHN1cHBvc2l0aW9uID0gU3VwcG9zaXRpb24uZnJvbUpTT04oanNvbiwgbGV4ZXIsIHBhcnNlcik7XG5cbiAgICAgIHJldHVybiBzdXBwb3NpdGlvbjtcbiAgICB9KTtcblxuICAgIGxldCB7IGNvbnNlcXVlbmNlIH0gPSBqc29uO1xuXG4gICAgY29uc3QgY29uc2VxdWVuY2VKU09OID0gY29uc2VxdWVuY2U7ICAvLy9cblxuICAgIGpzb24gPSBjb25zZXF1ZW5jZUpTT047ICAvLy9cblxuICAgIGNvbnNlcXVlbmNlID0gQ29uc2VxdWVuY2UuZnJvbUpTT04oanNvbiwgbGV4ZXIsIHBhcnNlcik7XG5cbiAgICByZXR1cm4gbmV3IENsYXNzKGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW5jZSk7ICAvLy9cbiAgfVxuXG4gIHN0YXRpYyBmcm9tTGFiZWxzU3VwcG9zaXRpb25zQW5kQ29uc2VxdWVuY2UoQ2xhc3MsIGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW5jZSkgeyByZXR1cm4gbmV3IENsYXNzKGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW5jZSk7IH1cbn1cblxuZnVuY3Rpb24gbWF0Y2hTdXBwb3NpdGlvbihzdXBwb3NpdGlvbiwgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucykge1xuICBjb25zdCBwcm9vZlN0ZXAgPSBwcnVuZShwcm9vZlN0ZXBzLCAocHJvb2ZTdGVwKSA9PiB7XG4gICAgY29uc3Qgc3VicHJvb2ZOb2RlID0gcHJvb2ZTdGVwLmdldFN1YnByb29mTm9kZSgpLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBwcm9vZlN0ZXAuZ2V0U3RhdGVtZW50Tm9kZSgpO1xuXG4gICAgaWYgKHN1YnByb29mTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3ViUHJvb2ZNYXRjaGVzID0gc3VwcG9zaXRpb24ubWF0Y2hTdWJwcm9vZk5vZGUoc3VicHJvb2ZOb2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgaWYgKCFzdWJQcm9vZk1hdGNoZXMpIHsgIC8vL1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50TWF0Y2hlcyA9IHN1cHBvc2l0aW9uLm1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgaWYgKCFzdGF0ZW1lbnRNYXRjaGVzKSB7ICAvLy9cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gIH0pIHx8IG51bGw7XG5cbiAgY29uc3Qgc3VwcG9zaXRpb25NYXRjaGVzID0gKHByb29mU3RlcCAhPT0gbnVsbCk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hTdXBwb3NpdGlvbnMoc3VwcG9zaXRpb24sIHByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMpIHtcbiAgY29uc3Qgc3VwcG9zaXRpb25zTWF0Y2ggPSBzdXBwb3NpdGlvbi5ldmVyeSgoc3VwcG9zaXRpb24pID0+IHtcbiAgICBjb25zdCBzdXBwb3NpdGlvbk1hdGNoZXMgPSBtYXRjaFN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zKTtcblxuICAgIGlmIChzdXBwb3NpdGlvbk1hdGNoZXMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uc01hdGNoO1xufVxuXG5mdW5jdGlvbiBtYXRjaENvbnNlcXVlbmNlKGNvbnNlcXVlbmNlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBjb25zZXF1ZW5jZS5tYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucyksXG4gICAgICAgIGNvbnNlcXVlbmNlTWF0Y2hlcyA9IG5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBjb25zZXF1ZW5jZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoU3VwcG9zaXRpb25zQW5kQ29uc2VxdWVuY2Uoc3VwcG9zaXRpb25zLCBjb25zZXF1ZW5jZSwgcHJvb2ZTdGVwcywgc3RhdGVtZW50Tm9kZSkge1xuICBsZXQgc3VwcG9zaXRpb25zTWF0Y2hDb25zZXF1ZW5jZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgc3VwcG9zaXRpb25zTWF0Y2ggPSBtYXRjaFN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbnMsIHByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMpO1xuXG4gIGlmIChzdXBwb3NpdGlvbnNNYXRjaCkge1xuICAgIGNvbnN0IGNvbnNlcXVlbmNlTWF0Y2hlcyA9IG1hdGNoQ29uc2VxdWVuY2UoY29uc2VxdWVuY2UsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgc3VwcG9zaXRpb25zTWF0Y2hDb25zZXF1ZW5jZSA9IGNvbnNlcXVlbmNlTWF0Y2hlczsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uc01hdGNoQ29uc2VxdWVuY2U7XG59XG4iXSwibmFtZXMiOlsiQXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlIiwibGFiZWxzIiwic3VwcG9zaXRpb25zIiwiY29uc2VxdWVuY2UiLCJnZXRMYWJlbHMiLCJnZXRTdXBwb3NpdGlvbnMiLCJnZXRDb25zZXF1ZW5jZSIsIm1hdGNoTGFiZWxOYW1lIiwibGFiZWxOYW1lIiwibWF0Y2hlc0xhYmVsTmFtZSIsInNvbWUiLCJsYWJlbCIsIm5hbWUiLCJsYWJlbE1hdGNoZXNOYW1lIiwibWF0Y2hOYW1lIiwibWF0Y2hTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwicHJvb2ZDb250ZXh0Iiwic3RhdGVtZW50TmF0Y2hlcyIsInN1cHBvc2l0aW9uc0xlbmd0aCIsImxlbmd0aCIsInN1YnN0aXR1dGlvbnMiLCJjb25zZXF1ZW5jZU1hdGNoZXMiLCJtYXRjaENvbnNlcXVlbmNlIiwicHJvb2ZTdGVwcyIsImdldFByb29mU3RlcHMiLCJzb21lU3ViQXJyYXkiLCJzdXBwb3NpdGlvbnNNYXRjaENvbnNlcXVlbmNlIiwibWF0Y2hTdXBwb3NpdGlvbnNBbmRDb25zZXF1ZW5jZSIsInRvSlNPTiIsInRva2VucyIsImtpbmQiLCJjb25zdHJ1Y3RvciIsImxhYmVsc0pTT04iLCJtYXAiLCJsYWJlbEpTT04iLCJzdXBwb3NpdGlvbnNKU09OIiwic3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvbkpTT04iLCJjb25zZXF1ZW5jZUpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJDbGFzcyIsImxleGVyIiwicGFyc2VyIiwiTGFiZWwiLCJTdXBwb3NpdGlvbiIsIkNvbnNlcXVlbmNlIiwiZnJvbUxhYmVsc1N1cHBvc2l0aW9uc0FuZENvbnNlcXVlbmNlIiwibWF0Y2hTdXBwb3NpdGlvbiIsInByb29mU3RlcCIsInBydW5lIiwic3VicHJvb2ZOb2RlIiwiZ2V0U3VicHJvb2ZOb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN1YlByb29mTWF0Y2hlcyIsIm1hdGNoU3VicHJvb2ZOb2RlIiwic3RhdGVtZW50TWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInN1cHBvc2l0aW9uTWF0Y2hlcyIsIm1hdGNoU3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25zTWF0Y2giLCJldmVyeSIsIm5vblRlcm1pbmFsTm9kZU1hdGNoZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBU3FCQTs7OzBEQVBIO2dFQUNNO2dFQUNBO3FCQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR1AsSUFBQSxBQUFNQSw0Q0F3SGxCLEFBeEhZO2FBQU1BLDRCQUNQQyxNQUFNLEVBQUVDLFlBQVksRUFBRUMsV0FBVzs4QkFEMUJIO1FBRWpCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTtRQUNwQixJQUFJLENBQUNDLFdBQVcsR0FBR0E7O2lCQUpGSDs7WUFPbkJJLEtBQUFBO21CQUFBQSxTQUFBQSxZQUFZO2dCQUNWLE9BQU8sSUFBSSxDQUFDSCxNQUFNO1lBQ3BCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLGtCQUFrQjtnQkFDaEIsT0FBTyxJQUFJLENBQUNILFlBQVk7WUFDMUI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsaUJBQWlCO2dCQUNmLE9BQU8sSUFBSSxDQUFDSCxXQUFXO1lBQ3pCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLGVBQWVDLFNBQVMsRUFBRTtnQkFDeEIsSUFBTUMsbUJBQW1CLElBQUksQ0FBQ1IsTUFBTSxDQUFDUyxJQUFJLENBQUMsU0FBQ0MsT0FBVTtvQkFDbkQsSUFBTUMsT0FBT0osV0FDUEssbUJBQW1CRixNQUFNRyxTQUFTLENBQUNGO29CQUV6QyxJQUFJQyxrQkFBa0I7d0JBQ3BCLE9BQU8sSUFBSTtvQkFDYixDQUFDO2dCQUNIO2dCQUVBLE9BQU9KO1lBQ1Q7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUEsZUFBZUMsYUFBYSxFQUFFQyxZQUFZLEVBQUU7O2dCQUMxQyxJQUFJQztnQkFFSixJQUFNQyxxQkFBcUIsSUFBSSxDQUFDakIsWUFBWSxDQUFDa0Is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
|
package/lib/combinator.js
CHANGED
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _string = require("./utilities/string");
|
|
12
12
|
var _kinds = require("./kinds");
|
|
13
|
+
var _node = require("./utilities/node");
|
|
13
14
|
function _classCallCheck(instance, Constructor) {
|
|
14
15
|
if (!(instance instanceof Constructor)) {
|
|
15
16
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -63,8 +64,8 @@ var Combinator = /*#__PURE__*/ function() {
|
|
|
63
64
|
], [
|
|
64
65
|
{
|
|
65
66
|
key: "fromJSON",
|
|
66
|
-
value: function fromJSON(json,
|
|
67
|
-
var statement = json.statement, statementString = statement, statementNode = (0,
|
|
67
|
+
value: function fromJSON(json, lexer, parser) {
|
|
68
|
+
var statement = json.statement, statementString = statement, statementNode = (0, _node.statementNodeFromStatementString)(statementString, lexer, parser), combinator = new Combinator(statementNode);
|
|
68
69
|
return combinator;
|
|
69
70
|
}
|
|
70
71
|
},
|
|
@@ -79,4 +80,4 @@ var Combinator = /*#__PURE__*/ function() {
|
|
|
79
80
|
return Combinator;
|
|
80
81
|
}();
|
|
81
82
|
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIiwiPDxqc3gtY29uZmlnLXByYWdtYS5qcz4+Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBDT01CSU5BVE9SX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuaW1wb3J0IHsgc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21iaW5hdG9yIHtcbiAgY29uc3RydWN0b3Ioc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMuc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBhc1N0cmluZyh0b2tlbnMpIHtcbiAgICBsZXQgc3RyaW5nO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMuc3RhdGVtZW50Tm9kZSwgdG9rZW5zKTtcblxuICAgIHN0cmluZyA9IGAke3N0YXRlbWVudFN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHRvSlNPTih0b2tlbnMpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5zdGF0ZW1lbnROb2RlLCB0b2tlbnMpLFxuICAgICAgICAgIGtpbmQgPSBDT01CSU5BVE9SX0tJTkQsXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50U3RyaW5nLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgICBzdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgbGV4ZXIsIHBhcnNlcikge1xuICAgIGNvbnN0IHsgc3RhdGVtZW50IH0gPSBqc29uLFxuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyhzdGF0ZW1lbnRTdHJpbmcsIGxleGVyLCBwYXJzZXIpLFxuICAgICAgICAgIGNvbWJpbmF0b3IgPSBuZXcgQ29tYmluYXRvcihzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9yID0gbmV3IENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxufVxuIiwiUmVhY3QuY3JlYXRlRWxlbWVudCJdLCJuYW1lcyI6WyJDb21iaW5hdG9yIiwic3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJhc1N0cmluZyIsInRva2VucyIsInN0cmluZyIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRvSlNPTiIsImtpbmQiLCJDT01CSU5BVE9SX0tJTkQiLCJzdGF0ZW1lbnQiLCJqc29uIiwiZnJvbUpTT04iLCJsZXhlciIsInBhcnNlciIsInN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nIiwiY29tYmluYXRvciIsImZyb21TdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7OztzQkFKUTtxQkFDRztvQkFDaUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWxDLElBQUEsQUFBTUEsMkJBQU47YUFBTUEsV0FDUEMsYUFBYTs4QkFETkQ7UUFFakIsSUFBSSxDQUFDQyxhQUFhLEdBQUdBOztpQkFGSkQ7O1lBS25CRSxLQUFBQTttQkFBQUEsU0FBQUEsbUJBQW1CO2dCQUNqQixPQUFPLElBQUksQ0FBQ0QsYUFBYTtZQUMzQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxNQUFNLEVBQUU7Z0JBQ2YsSUFBSUM7Z0JBRUosSUFBTUMsa0JBQWtCQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ04sYUFBYSxFQUFFRztnQkFFekRDLFNBQVMsQUFBQyxHQUFrQixPQUFoQkM7Z0JBRVosT0FBT0Q7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPSixNQUFNLEVBQUU7Z0JBQ2IsSUFBTUUsa0JBQWtCQyxJQUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQ04sYUFBYSxFQUFFRyxTQUNuREssT0FBT0Msc0JBQWUsRUFDdEJDLFlBQVlMLGlCQUNaTSxPQUFPO29CQUNMSCxNQUFBQTtvQkFDQUUsV0FBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT0M7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRCxJQUFJLEVBQUVFLEtBQUssRUFBRUMsTUFBTSxFQUFFO2dCQUNuQyxJQUFNLEFBQUVKLFlBQWNDLEtBQWRELFdBQ0ZMLGtCQUFrQkssV0FDbEJWLGdCQUFnQmUsSUFBQUEsc0NBQWdDLEVBQUNWLGlCQUFpQlEsT0FBT0MsU0FDekVFLGFBQWEsSUFuQ0ZqQixXQW1DaUJDO2dCQUVsQyxPQUFPZ0I7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLGtCQUFrQmpCLGFBQWEsRUFBRTtnQkFDdEMsSUFBTWdCLGFBQWEsSUF6Q0ZqQixXQXlDaUJDO2dCQUVsQyxPQUFPZ0I7WUFDVDs7O1dBNUNtQmpCIn0=
|