occam-furtle 3.0.366 → 3.0.370

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.
Files changed (67) hide show
  1. package/lib/context/file/furtle.js +1 -1
  2. package/lib/context/literal.js +42 -0
  3. package/lib/element/anonymousProcedure.js +51 -0
  4. package/lib/element/label.js +17 -1
  5. package/lib/element/parameters.js +17 -1
  6. package/lib/element/procedure.js +112 -0
  7. package/lib/element/returnBlock.js +7 -7
  8. package/lib/element/returnStatement.js +33 -0
  9. package/lib/element/statement.js +43 -0
  10. package/lib/element/type.js +24 -1
  11. package/lib/example/furtle/bnf.js +11 -5
  12. package/lib/example/furtle/entries.js +2 -2
  13. package/lib/node/anoymousProcedure.js +31 -0
  14. package/lib/node/procedure.js +20 -3
  15. package/lib/node/returnBlock.js +4 -4
  16. package/lib/node/returnStatement.js +23 -0
  17. package/lib/node/statement.js +16 -3
  18. package/lib/nonTerminalNodeMap.js +10 -10
  19. package/lib/preamble.js +4 -5
  20. package/lib/process/instantiate.js +255 -0
  21. package/lib/process/verify.js +6 -6
  22. package/lib/ruleNames.js +7 -7
  23. package/lib/utilities/context.js +15 -1
  24. package/lib/utilities/element.js +82 -100
  25. package/lib/utilities/json.js +52 -1
  26. package/lib/utilities/string.js +1 -8
  27. package/package.json +5 -5
  28. package/src/context/file/furtle.js +0 -1
  29. package/src/context/literal.js +46 -0
  30. package/src/element/{procedure/anonymous.js → anonymousProcedure.js} +3 -3
  31. package/src/element/label.js +26 -1
  32. package/src/element/parameters.js +26 -1
  33. package/src/element/procedure.js +58 -3
  34. package/src/element/returnBlock.js +6 -6
  35. package/src/element/{statement/return.js → returnStatement.js} +1 -1
  36. package/src/element/{step.js → statement.js} +2 -2
  37. package/src/element/type.js +41 -1
  38. package/src/example/furtle/bnf.js +10 -4
  39. package/src/example/furtle/entries.js +2 -2
  40. package/src/node/{procedure/anoymous.js → anoymousProcedure.js} +4 -4
  41. package/src/node/procedure.js +31 -1
  42. package/src/node/returnBlock.js +5 -5
  43. package/src/node/returnStatement.js +16 -0
  44. package/src/node/statement.js +24 -1
  45. package/src/nonTerminalNodeMap.js +11 -11
  46. package/src/preamble.js +3 -4
  47. package/src/process/instantiate.js +194 -0
  48. package/src/process/verify.js +7 -7
  49. package/src/ruleNames.js +2 -2
  50. package/src/utilities/context.js +9 -0
  51. package/src/utilities/element.js +113 -145
  52. package/src/utilities/json.js +57 -0
  53. package/src/utilities/string.js +0 -14
  54. package/lib/element/declaration/procedure.js +0 -36
  55. package/lib/element/procedure/anonymous.js +0 -51
  56. package/lib/element/statement/return.js +0 -33
  57. package/lib/element/step.js +0 -43
  58. package/lib/node/declaration/procedure.js +0 -40
  59. package/lib/node/declaration.js +0 -18
  60. package/lib/node/procedure/anoymous.js +0 -36
  61. package/lib/node/statement/return.js +0 -28
  62. package/lib/node/step.js +0 -31
  63. package/src/element/declaration/procedure.js +0 -38
  64. package/src/node/declaration/procedure.js +0 -37
  65. package/src/node/declaration.js +0 -7
  66. package/src/node/statement/return.js +0 -16
  67. package/src/node/step.js +0 -30
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get instantiateCombinator () {
13
+ return instantiateCombinator;
14
+ },
15
+ get instantiateConclusion () {
16
+ return instantiateConclusion;
17
+ },
18
+ get instantiateConstraint () {
19
+ return instantiateConstraint;
20
+ },
21
+ get instantiateConstructor () {
22
+ return instantiateConstructor;
23
+ },
24
+ get instantiateContainedAssertion () {
25
+ return instantiateContainedAssertion;
26
+ },
27
+ get instantiateDeduction () {
28
+ return instantiateDeduction;
29
+ },
30
+ get instantiateDefinedAssertion () {
31
+ return instantiateDefinedAssertion;
32
+ },
33
+ get instantiateEquality () {
34
+ return instantiateEquality;
35
+ },
36
+ get instantiateEquivalence () {
37
+ return instantiateEquivalence;
38
+ },
39
+ get instantiateFrame () {
40
+ return instantiateFrame;
41
+ },
42
+ get instantiateFrameSubstitution () {
43
+ return instantiateFrameSubstitution;
44
+ },
45
+ get instantiateGenerator () {
46
+ return instantiateGenerator;
47
+ },
48
+ get instantiateHypothesis () {
49
+ return instantiateHypothesis;
50
+ },
51
+ get instantiateImplicitAssumption () {
52
+ return instantiateImplicitAssumption;
53
+ },
54
+ get instantiateJudgement () {
55
+ return instantiateJudgement;
56
+ },
57
+ get instantiateLabel () {
58
+ return instantiateLabel;
59
+ },
60
+ get instantiateMetavariable () {
61
+ return instantiateMetavariable;
62
+ },
63
+ get instantiateParameter () {
64
+ return instantiateParameter;
65
+ },
66
+ get instantiatePremise () {
67
+ return instantiatePremise;
68
+ },
69
+ get instantiateProcedureReference () {
70
+ return instantiateProcedureReference;
71
+ },
72
+ get instantiateProperty () {
73
+ return instantiateProperty;
74
+ },
75
+ get instantiatePropertyAssertion () {
76
+ return instantiatePropertyAssertion;
77
+ },
78
+ get instantiateReference () {
79
+ return instantiateReference;
80
+ },
81
+ get instantiateReferenceSubstitution () {
82
+ return instantiateReferenceSubstitution;
83
+ },
84
+ get instantiateSignature () {
85
+ return instantiateSignature;
86
+ },
87
+ get instantiateSignatureAssertion () {
88
+ return instantiateSignatureAssertion;
89
+ },
90
+ get instantiateStatement () {
91
+ return instantiateStatement;
92
+ },
93
+ get instantiateStatementSubstitution () {
94
+ return instantiateStatementSubstitution;
95
+ },
96
+ get instantiateSubproofAssertion () {
97
+ return instantiateSubproofAssertion;
98
+ },
99
+ get instantiateSupposition () {
100
+ return instantiateSupposition;
101
+ },
102
+ get instantiateTerm () {
103
+ return instantiateTerm;
104
+ },
105
+ get instantiateTermSubstitution () {
106
+ return instantiateTermSubstitution;
107
+ },
108
+ get instantiateType () {
109
+ return instantiateType;
110
+ },
111
+ get instantiateTypeAssertion () {
112
+ return instantiateTypeAssertion;
113
+ },
114
+ get instantiateTypePrefix () {
115
+ return instantiateTypePrefix;
116
+ },
117
+ get instantiateVariable () {
118
+ return instantiateVariable;
119
+ }
120
+ });
121
+ const _bnf = require("../utilities/bnf");
122
+ const _ruleNames = require("../ruleNames");
123
+ const termPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.TERM_RULE_NAME), typePlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.TYPE_RULE_NAME), framePlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.FRAME_RULE_NAME), labelPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.LABEL_RULE_NAME), premisePlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.PREMISE_RULE_NAME), variablePlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.VARIABLE_RULE_NAME), equalityPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.EQUALITY_RULE_NAME), propertyPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.PROPERTY_RULE_NAME), judgementPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.JUDGEMENT_RULE_NAME), generatorPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.GENERATOR_RULE_NAME), deductionPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.DEDUCTION_RULE_NAME), parameterPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.PARAMETER_RULE_NAME), statementPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.STATEMENT_RULE_NAME), referencePlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.REFERENCE_RULE_NAME), signaturePlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.SIGNATURE_RULE_NAME), constraintPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.CONSTRAINT_RULE_NAME), combinatorPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.COMBINATOR_RULE_NAME), conclusionPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.CONCLUSION_RULE_NAME), hypothesisPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.HYPOTHESIS_RULE_NAME), typePrefixPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.TYPE_PREFIX_RULE_NAME), suppositionPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.SUPPOSITION_RULE_NAME), constructorPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.CONSTRUCTOR_RULE_NAME), equivalencePlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.EQUIVALENCE_RULE_NAME), metavariablePlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.METAVARIABLE_RULE_NAME), typeAssertionPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.TYPE_ASSERTION_RULE_NAME), definedAssertionPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.DEFINED_ASSERTION_RULE_NAME), termSubstitutionPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.TERM_SUBSTITUTION_RULE_NAME), subproofAssertionlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.SUBPROOF_ASSERTION_RULE_NAME), propertyAssertionPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.PROPERTY_ASSERTION_RULE_NAME), frameSubstitutionPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.FRAME_SUBSTITUTION_RULE_NAME), procedureReferencelaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.PROCEDURE_REFERENCE_RULE_NAME), containedAssertionPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.CONTAINED_ASSERTION_RULE_NAME), signatureAssertionPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.SIGNATURE_ASSERTION_RULE_NAME), implicitAssumptionPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.IMPLICIT_ASSUMPTION_RULE_NAME), statementSubstitutionPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.STATEMENT_SUBSTITUTION_RULE_NAME), referenceSubstitutionPlaceholderRule = (0, _bnf.ruleFromRuleName)(_ruleNames.REFERENCE_SUBSTITUTION_RULE_NAME);
124
+ function instantiatePremise(string, context) {
125
+ string = `${string}
126
+ `; ///
127
+ return instantiate(premisePlaceholderRule, string, context);
128
+ }
129
+ function instantiateDeduction(string, context) {
130
+ string = `${string}
131
+ `; ///
132
+ return instantiate(deductionPlaceholderRule, string, context);
133
+ }
134
+ function instantiateConclusion(string, context) {
135
+ string = `${string}
136
+ `; ///
137
+ return instantiate(conclusionPlaceholderRule, string, context);
138
+ }
139
+ function instantiateSupposition(string, context) {
140
+ string = `${string}
141
+ `; ///
142
+ return instantiate(suppositionPlaceholderRule, string, context);
143
+ }
144
+ function instantiateTerm(string, context) {
145
+ return instantiate(termPlaceholderRule, string, context);
146
+ }
147
+ function instantiateType(string, context) {
148
+ return instantiate(typePlaceholderRule, string, context);
149
+ }
150
+ function instantiateFrame(string, context) {
151
+ return instantiate(framePlaceholderRule, string, context);
152
+ }
153
+ function instantiateLabel(string, context) {
154
+ return instantiate(labelPlaceholderRule, string, context);
155
+ }
156
+ function instantiateVariable(string, context) {
157
+ return instantiate(variablePlaceholderRule, string, context);
158
+ }
159
+ function instantiateEquality(string, context) {
160
+ return instantiate(equalityPlaceholderRule, string, context);
161
+ }
162
+ function instantiateProperty(string, context) {
163
+ return instantiate(propertyPlaceholderRule, string, context);
164
+ }
165
+ function instantiateGenerator(string, context) {
166
+ return instantiate(generatorPlaceholderRule, string, context);
167
+ }
168
+ function instantiateJudgement(string, context) {
169
+ return instantiate(judgementPlaceholderRule, string, context);
170
+ }
171
+ function instantiateParameter(string, context) {
172
+ return instantiate(parameterPlaceholderRule, string, context);
173
+ }
174
+ function instantiateStatement(string, context) {
175
+ return instantiate(statementPlaceholderRule, string, context);
176
+ }
177
+ function instantiateReference(string, context) {
178
+ return instantiate(referencePlaceholderRule, string, context);
179
+ }
180
+ function instantiateSignature(string, context) {
181
+ return instantiate(signaturePlaceholderRule, string, context);
182
+ }
183
+ function instantiateCombinator(string, context) {
184
+ return instantiate(combinatorPlaceholderRule, string, context);
185
+ }
186
+ function instantiateHypothesis(string, context) {
187
+ return instantiate(hypothesisPlaceholderRule, string, context);
188
+ }
189
+ function instantiateConstraint(string, context) {
190
+ return instantiate(constraintPlaceholderRule, string, context);
191
+ }
192
+ function instantiateTypePrefix(string, context) {
193
+ return instantiate(typePrefixPlaceholderRule, string, context);
194
+ }
195
+ function instantiateConstructor(string, context) {
196
+ return instantiate(constructorPlaceholderRule, string, context);
197
+ }
198
+ function instantiateEquivalence(string, context) {
199
+ return instantiate(equivalencePlaceholderRule, string, context);
200
+ }
201
+ function instantiateMetavariable(string, context) {
202
+ return instantiate(metavariablePlaceholderRule, string, context);
203
+ }
204
+ function instantiateTypeAssertion(string, context) {
205
+ return instantiate(typeAssertionPlaceholderRule, string, context);
206
+ }
207
+ function instantiateDefinedAssertion(string, context) {
208
+ return instantiate(definedAssertionPlaceholderRule, string, context);
209
+ }
210
+ function instantiateTermSubstitution(string, context) {
211
+ return instantiate(termSubstitutionPlaceholderRule, string, context);
212
+ }
213
+ function instantiateSubproofAssertion(string, context) {
214
+ return instantiate(subproofAssertionlaceholderRule, string, context);
215
+ }
216
+ function instantiatePropertyAssertion(string, context) {
217
+ return instantiate(propertyAssertionPlaceholderRule, string, context);
218
+ }
219
+ function instantiateFrameSubstitution(string, context) {
220
+ return instantiate(frameSubstitutionPlaceholderRule, string, context);
221
+ }
222
+ function instantiateProcedureReference(string, context) {
223
+ return instantiate(procedureReferencelaceholderRule, string, context);
224
+ }
225
+ function instantiateContainedAssertion(string, context) {
226
+ return instantiate(containedAssertionPlaceholderRule, string, context);
227
+ }
228
+ function instantiateSignatureAssertion(string, context) {
229
+ return instantiate(signatureAssertionPlaceholderRule, string, context);
230
+ }
231
+ function instantiateImplicitAssumption(string, context) {
232
+ return instantiate(implicitAssumptionPlaceholderRule, string, context);
233
+ }
234
+ function instantiateStatementSubstitution(string, context) {
235
+ return instantiate(statementSubstitutionPlaceholderRule, string, context);
236
+ }
237
+ function instantiateReferenceSubstitution(string, context) {
238
+ return instantiate(referenceSubstitutionPlaceholderRule, string, context);
239
+ }
240
+ function instantiate(placeholderRule, string, context) {
241
+ let node;
242
+ const lexer = context.getLexer(), parser = context.getParser(), content = `${string}
243
+ `, tokens = lexer.tokenise(content);
244
+ context.setTokens(tokens);
245
+ const startRule = placeholderRule; ///
246
+ node = parser.parse(tokens, startRule);
247
+ const nonTerminalNode = node; ///
248
+ nonTerminalNode.someChildNode((childNode)=>{
249
+ node = childNode; ///
250
+ return true;
251
+ });
252
+ return node;
253
+ }
254
+
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9jZXNzL2luc3RhbnRpYXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBydWxlRnJvbVJ1bGVOYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ibmZcIjtcbmltcG9ydCB7IFRFUk1fUlVMRV9OQU1FLFxuICAgICAgICAgVFlQRV9SVUxFX05BTUUsXG4gICAgICAgICBGUkFNRV9SVUxFX05BTUUsXG4gICAgICAgICBMQUJFTF9SVUxFX05BTUUsXG4gICAgICAgICBQUkVNSVNFX1JVTEVfTkFNRSxcbiAgICAgICAgIFZBUklBQkxFX1JVTEVfTkFNRSxcbiAgICAgICAgIEVRVUFMSVRZX1JVTEVfTkFNRSxcbiAgICAgICAgIFBST1BFUlRZX1JVTEVfTkFNRSxcbiAgICAgICAgIEpVREdFTUVOVF9SVUxFX05BTUUsXG4gICAgICAgICBERURVQ1RJT05fUlVMRV9OQU1FLFxuICAgICAgICAgUEFSQU1FVEVSX1JVTEVfTkFNRSxcbiAgICAgICAgIFNUQVRFTUVOVF9SVUxFX05BTUUsXG4gICAgICAgICBSRUZFUkVOQ0VfUlVMRV9OQU1FLFxuICAgICAgICAgU0lHTkFUVVJFX1JVTEVfTkFNRSxcbiAgICAgICAgIEdFTkVSQVRPUl9SVUxFX05BTUUsXG4gICAgICAgICBDT01CSU5BVE9SX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTkNMVVNJT05fUlVMRV9OQU1FLFxuICAgICAgICAgSFlQT1RIRVNJU19SVUxFX05BTUUsXG4gICAgICAgICBDT05TVFJBSU5UX1JVTEVfTkFNRSxcbiAgICAgICAgIFRZUEVfUFJFRklYX1JVTEVfTkFNRSxcbiAgICAgICAgIFNVUFBPU0lUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTlNUUlVDVE9SX1JVTEVfTkFNRSxcbiAgICAgICAgIEVRVUlWQUxFTkNFX1JVTEVfTkFNRSxcbiAgICAgICAgIE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgICBUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBURVJNX1NVQlNUSVRVVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIEZSQU1FX1NVQlNUSVRVVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBQUk9DRURVUkVfUkVGRVJFTkNFX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgU0lHTkFUVVJFX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBJTVBMSUNJVF9BU1NVTVBUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNUQVRFTUVOVF9TVUJTVElUVVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgUkVGRVJFTkNFX1NVQlNUSVRVVElPTl9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IHRlcm1QbGFjZWhvbGRlclJ1bGUgPSBydWxlRnJvbVJ1bGVOYW1lKFRFUk1fUlVMRV9OQU1FKSxcbiAgICAgIHR5cGVQbGFjZWhvbGRlclJ1bGUgPSBydWxlRnJvbVJ1bGVOYW1lKFRZUEVfUlVMRV9OQU1FKSxcbiAgICAgIGZyYW1lUGxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShGUkFNRV9SVUxFX05BTUUpLFxuICAgICAgbGFiZWxQbGFjZWhvbGRlclJ1bGUgPSBydWxlRnJvbVJ1bGVOYW1lKExBQkVMX1JVTEVfTkFNRSksXG4gICAgICBwcmVtaXNlUGxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShQUkVNSVNFX1JVTEVfTkFNRSksXG4gICAgICB2YXJpYWJsZVBsYWNlaG9sZGVyUnVsZSA9IHJ1bGVGcm9tUnVsZU5hbWUoVkFSSUFCTEVfUlVMRV9OQU1FKSxcbiAgICAgIGVxdWFsaXR5UGxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShFUVVBTElUWV9SVUxFX05BTUUpLFxuICAgICAgcHJvcGVydHlQbGFjZWhvbGRlclJ1bGUgPSBydWxlRnJvbVJ1bGVOYW1lKFBST1BFUlRZX1JVTEVfTkFNRSksXG4gICAgICBqdWRnZW1lbnRQbGFjZWhvbGRlclJ1bGUgPSBydWxlRnJvbVJ1bGVOYW1lKEpVREdFTUVOVF9SVUxFX05BTUUpLFxuICAgICAgZ2VuZXJhdG9yUGxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShHRU5FUkFUT1JfUlVMRV9OQU1FKSxcbiAgICAgIGRlZHVjdGlvblBsYWNlaG9sZGVyUnVsZSA9IHJ1bGVGcm9tUnVsZU5hbWUoREVEVUNUSU9OX1JVTEVfTkFNRSksXG4gICAgICBwYXJhbWV0ZXJQbGFjZWhvbGRlclJ1bGUgPSBydWxlRnJvbVJ1bGVOYW1lKFBBUkFNRVRFUl9SVUxFX05BTUUpLFxuICAgICAgc3RhdGVtZW50UGxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShTVEFURU1FTlRfUlVMRV9OQU1FKSxcbiAgICAgIHJlZmVyZW5jZVBsYWNlaG9sZGVyUnVsZSA9IHJ1bGVGcm9tUnVsZU5hbWUoUkVGRVJFTkNFX1JVTEVfTkFNRSksXG4gICAgICBzaWduYXR1cmVQbGFjZWhvbGRlclJ1bGUgPSBydWxlRnJvbVJ1bGVOYW1lKFNJR05BVFVSRV9SVUxFX05BTUUpLFxuICAgICAgY29uc3RyYWludFBsYWNlaG9sZGVyUnVsZSA9IHJ1bGVGcm9tUnVsZU5hbWUoQ09OU1RSQUlOVF9SVUxFX05BTUUpLFxuICAgICAgY29tYmluYXRvclBsYWNlaG9sZGVyUnVsZSA9IHJ1bGVGcm9tUnVsZU5hbWUoQ09NQklOQVRPUl9SVUxFX05BTUUpLFxuICAgICAgY29uY2x1c2lvblBsYWNlaG9sZGVyUnVsZSA9IHJ1bGVGcm9tUnVsZU5hbWUoQ09OQ0xVU0lPTl9SVUxFX05BTUUpLFxuICAgICAgaHlwb3RoZXNpc1BsYWNlaG9sZGVyUnVsZSA9IHJ1bGVGcm9tUnVsZU5hbWUoSFlQT1RIRVNJU19SVUxFX05BTUUpLFxuICAgICAgdHlwZVByZWZpeFBsYWNlaG9sZGVyUnVsZSA9IHJ1bGVGcm9tUnVsZU5hbWUoVFlQRV9QUkVGSVhfUlVMRV9OQU1FKSxcbiAgICAgIHN1cHBvc2l0aW9uUGxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShTVVBQT1NJVElPTl9SVUxFX05BTUUpLFxuICAgICAgY29uc3RydWN0b3JQbGFjZWhvbGRlclJ1bGUgPSBydWxlRnJvbVJ1bGVOYW1lKENPTlNUUlVDVE9SX1JVTEVfTkFNRSksXG4gICAgICBlcXVpdmFsZW5jZVBsYWNlaG9sZGVyUnVsZSA9IHJ1bGVGcm9tUnVsZU5hbWUoRVFVSVZBTEVOQ0VfUlVMRV9OQU1FKSxcbiAgICAgIG1ldGF2YXJpYWJsZVBsYWNlaG9sZGVyUnVsZSA9IHJ1bGVGcm9tUnVsZU5hbWUoTUVUQVZBUklBQkxFX1JVTEVfTkFNRSksXG4gICAgICB0eXBlQXNzZXJ0aW9uUGxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUpLFxuICAgICAgZGVmaW5lZEFzc2VydGlvblBsYWNlaG9sZGVyUnVsZSA9IHJ1bGVGcm9tUnVsZU5hbWUoREVGSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FKSxcbiAgICAgIHRlcm1TdWJzdGl0dXRpb25QbGFjZWhvbGRlclJ1bGUgPSBydWxlRnJvbVJ1bGVOYW1lKFRFUk1fU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSksXG4gICAgICBzdWJwcm9vZkFzc2VydGlvbmxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShTVUJQUk9PRl9BU1NFUlRJT05fUlVMRV9OQU1FKSxcbiAgICAgIHByb3BlcnR5QXNzZXJ0aW9uUGxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FKSxcbiAgICAgIGZyYW1lU3Vic3RpdHV0aW9uUGxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShGUkFNRV9TVUJTVElUVVRJT05fUlVMRV9OQU1FKSxcbiAgICAgIHByb2NlZHVyZVJlZmVyZW5jZWxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShQUk9DRURVUkVfUkVGRVJFTkNFX1JVTEVfTkFNRSksXG4gICAgICBjb250YWluZWRBc3NlcnRpb25QbGFjZWhvbGRlclJ1bGUgPSBydWxlRnJvbVJ1bGVOYW1lKENPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FKSxcbiAgICAgIHNpZ25hdHVyZUFzc2VydGlvblBsYWNlaG9sZGVyUnVsZSA9IHJ1bGVGcm9tUnVsZU5hbWUoU0lHTkFUVVJFX0FTU0VSVElPTl9SVUxFX05BTUUpLFxuICAgICAgaW1wbGljaXRBc3N1bXB0aW9uUGxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShJTVBMSUNJVF9BU1NVTVBUSU9OX1JVTEVfTkFNRSksXG4gICAgICBzdGF0ZW1lbnRTdWJzdGl0dXRpb25QbGFjZWhvbGRlclJ1bGUgPSBydWxlRnJvbVJ1bGVOYW1lKFNUQVRFTUVOVF9TVUJTVElUVVRJT05fUlVMRV9OQU1FKSxcbiAgICAgIHJlZmVyZW5jZVN1YnN0aXR1dGlvblBsYWNlaG9sZGVyUnVsZSA9IHJ1bGVGcm9tUnVsZU5hbWUoUkVGRVJFTkNFX1NVQlNUSVRVVElPTl9SVUxFX05BTUUpO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGVQcmVtaXNlKHN0cmluZywgY29udGV4dCkge1xuICBzdHJpbmcgPSBgJHtzdHJpbmd9XG5gOyAgLy8vXG5cbiAgcmV0dXJuIGluc3RhbnRpYXRlKHByZW1pc2VQbGFjZWhvbGRlclJ1bGUsIHN0cmluZywgY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZURlZHVjdGlvbihzdHJpbmcsIGNvbnRleHQpIHtcbiAgc3RyaW5nID0gYCR7c3RyaW5nfVxuYDsgIC8vL1xuXG4gIHJldHVybiBpbnN0YW50aWF0ZShkZWR1Y3Rpb25QbGFjZWhvbGRlclJ1bGUsIHN0cmluZywgY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZUNvbmNsdXNpb24oc3RyaW5nLCBjb250ZXh0KSB7XG4gIHN0cmluZyA9IGAke3N0cmluZ31cbmA7ICAvLy9cblxuICByZXR1cm4gaW5zdGFudGlhdGUoY29uY2x1c2lvblBsYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBjb250ZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbnRpYXRlU3VwcG9zaXRpb24oc3RyaW5nLCBjb250ZXh0KSB7XG4gIHN0cmluZyA9IGAke3N0cmluZ31cbmA7ICAvLy9cblxuICByZXR1cm4gaW5zdGFudGlhdGUoc3VwcG9zaXRpb25QbGFjZWhvbGRlclJ1bGUsIHN0cmluZywgY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZVRlcm0oc3RyaW5nLCBjb250ZXh0KSB7IHJldHVybiBpbnN0YW50aWF0ZSh0ZXJtUGxhY2Vob2xkZXJSdWxlLCBzdHJpbmcsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZVR5cGUoc3RyaW5nLCBjb250ZXh0KSB7IHJldHVybiBpbnN0YW50aWF0ZSh0eXBlUGxhY2Vob2xkZXJSdWxlLCBzdHJpbmcsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZUZyYW1lKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUoZnJhbWVQbGFjZWhvbGRlclJ1bGUsIHN0cmluZywgY29udGV4dCk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbnRpYXRlTGFiZWwoc3RyaW5nLCBjb250ZXh0KSB7IHJldHVybiBpbnN0YW50aWF0ZShsYWJlbFBsYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBjb250ZXh0KTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGVWYXJpYWJsZShzdHJpbmcsIGNvbnRleHQpIHsgcmV0dXJuIGluc3RhbnRpYXRlKHZhcmlhYmxlUGxhY2Vob2xkZXJSdWxlLCBzdHJpbmcsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZUVxdWFsaXR5KHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUoZXF1YWxpdHlQbGFjZWhvbGRlclJ1bGUsIHN0cmluZywgY29udGV4dCk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbnRpYXRlUHJvcGVydHkoc3RyaW5nLCBjb250ZXh0KSB7IHJldHVybiBpbnN0YW50aWF0ZShwcm9wZXJ0eVBsYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBjb250ZXh0KTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGVHZW5lcmF0b3Ioc3RyaW5nLCBjb250ZXh0KSB7IHJldHVybiBpbnN0YW50aWF0ZShnZW5lcmF0b3JQbGFjZWhvbGRlclJ1bGUsIHN0cmluZywgY29udGV4dCk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbnRpYXRlSnVkZ2VtZW50KHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUoanVkZ2VtZW50UGxhY2Vob2xkZXJSdWxlLCBzdHJpbmcsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZVBhcmFtZXRlcihzdHJpbmcsIGNvbnRleHQpIHsgcmV0dXJuIGluc3RhbnRpYXRlKHBhcmFtZXRlclBsYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBjb250ZXh0KTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGVTdGF0ZW1lbnQoc3RyaW5nLCBjb250ZXh0KSB7IHJldHVybiBpbnN0YW50aWF0ZShzdGF0ZW1lbnRQbGFjZWhvbGRlclJ1bGUsIHN0cmluZywgY29udGV4dCk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbnRpYXRlUmVmZXJlbmNlKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUocmVmZXJlbmNlUGxhY2Vob2xkZXJSdWxlLCBzdHJpbmcsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZVNpZ25hdHVyZShzdHJpbmcsIGNvbnRleHQpIHsgcmV0dXJuIGluc3RhbnRpYXRlKHNpZ25hdHVyZVBsYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBjb250ZXh0KTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGVDb21iaW5hdG9yKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUoY29tYmluYXRvclBsYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBjb250ZXh0KTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGVIeXBvdGhlc2lzKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUoaHlwb3RoZXNpc1BsYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBjb250ZXh0KTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGVDb25zdHJhaW50KHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUoY29uc3RyYWludFBsYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBjb250ZXh0KTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGVUeXBlUHJlZml4KHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUodHlwZVByZWZpeFBsYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBjb250ZXh0KTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGVDb25zdHJ1Y3RvcihzdHJpbmcsIGNvbnRleHQpIHsgcmV0dXJuIGluc3RhbnRpYXRlKGNvbnN0cnVjdG9yUGxhY2Vob2xkZXJSdWxlLCBzdHJpbmcsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZUVxdWl2YWxlbmNlKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUoZXF1aXZhbGVuY2VQbGFjZWhvbGRlclJ1bGUsIHN0cmluZywgY29udGV4dCk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbnRpYXRlTWV0YXZhcmlhYmxlKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUobWV0YXZhcmlhYmxlUGxhY2Vob2xkZXJSdWxlLCBzdHJpbmcsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZVR5cGVBc3NlcnRpb24oc3RyaW5nLCBjb250ZXh0KSB7IHJldHVybiBpbnN0YW50aWF0ZSh0eXBlQXNzZXJ0aW9uUGxhY2Vob2xkZXJSdWxlLCBzdHJpbmcsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZURlZmluZWRBc3NlcnRpb24oc3RyaW5nLCBjb250ZXh0KSB7IHJldHVybiBpbnN0YW50aWF0ZShkZWZpbmVkQXNzZXJ0aW9uUGxhY2Vob2xkZXJSdWxlLCBzdHJpbmcsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZVRlcm1TdWJzdGl0dXRpb24oc3RyaW5nLCBjb250ZXh0KSB7IHJldHVybiBpbnN0YW50aWF0ZSh0ZXJtU3Vic3RpdHV0aW9uUGxhY2Vob2xkZXJSdWxlLCBzdHJpbmcsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZVN1YnByb29mQXNzZXJ0aW9uKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUoc3VicHJvb2ZBc3NlcnRpb25sYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBjb250ZXh0KTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGVQcm9wZXJ0eUFzc2VydGlvbihzdHJpbmcsIGNvbnRleHQpIHsgcmV0dXJuIGluc3RhbnRpYXRlKHByb3BlcnR5QXNzZXJ0aW9uUGxhY2Vob2xkZXJSdWxlLCBzdHJpbmcsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZUZyYW1lU3Vic3RpdHV0aW9uKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUoZnJhbWVTdWJzdGl0dXRpb25QbGFjZWhvbGRlclJ1bGUsIHN0cmluZywgY29udGV4dCk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbnRpYXRlUHJvY2VkdXJlUmVmZXJlbmNlKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUocHJvY2VkdXJlUmVmZXJlbmNlbGFjZWhvbGRlclJ1bGUsIHN0cmluZywgY29udGV4dCk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbnRpYXRlQ29udGFpbmVkQXNzZXJ0aW9uKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUoY29udGFpbmVkQXNzZXJ0aW9uUGxhY2Vob2xkZXJSdWxlLCBzdHJpbmcsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZVNpZ25hdHVyZUFzc2VydGlvbihzdHJpbmcsIGNvbnRleHQpIHsgcmV0dXJuIGluc3RhbnRpYXRlKHNpZ25hdHVyZUFzc2VydGlvblBsYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBjb250ZXh0KTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGVJbXBsaWNpdEFzc3VtcHRpb24oc3RyaW5nLCBjb250ZXh0KSB7IHJldHVybiBpbnN0YW50aWF0ZShpbXBsaWNpdEFzc3VtcHRpb25QbGFjZWhvbGRlclJ1bGUsIHN0cmluZywgY29udGV4dCk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbnRpYXRlU3RhdGVtZW50U3Vic3RpdHV0aW9uKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUoc3RhdGVtZW50U3Vic3RpdHV0aW9uUGxhY2Vob2xkZXJSdWxlLCBzdHJpbmcsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZVJlZmVyZW5jZVN1YnN0aXR1dGlvbihzdHJpbmcsIGNvbnRleHQpIHsgcmV0dXJuIGluc3RhbnRpYXRlKHJlZmVyZW5jZVN1YnN0aXR1dGlvblBsYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBjb250ZXh0KTsgfVxuXG5mdW5jdGlvbiBpbnN0YW50aWF0ZShwbGFjZWhvbGRlclJ1bGUsIHN0cmluZywgY29udGV4dCkge1xuICBsZXQgbm9kZTtcblxuICBjb25zdCBsZXhlciA9IGNvbnRleHQuZ2V0TGV4ZXIoKSxcbiAgICAgICAgcGFyc2VyID0gY29udGV4dC5nZXRQYXJzZXIoKSxcbiAgICAgICAgY29udGVudCA9IGAke3N0cmluZ31cbmAsXG4gICAgICAgIHRva2VucyA9IGxleGVyLnRva2VuaXNlKGNvbnRlbnQpO1xuXG4gIGNvbnRleHQuc2V0VG9rZW5zKHRva2Vucyk7XG5cbiAgY29uc3Qgc3RhcnRSdWxlID0gcGxhY2Vob2xkZXJSdWxlOyAgLy8vXG5cbiAgbm9kZSA9IHBhcnNlci5wYXJzZSh0b2tlbnMsIHN0YXJ0UnVsZSk7XG5cbiAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9kZTsgLy8vXG5cbiAgbm9uVGVybWluYWxOb2RlLnNvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgIG5vZGUgPSBjaGlsZE5vZGU7IC8vL1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0pO1xuXG4gIHJldHVybiBub2RlO1xufVxuIl0sIm5hbWVzIjpbImluc3RhbnRpYXRlQ29tYmluYXRvciIsImluc3RhbnRpYXRlQ29uY2x1c2lvbiIsImluc3RhbnRpYXRlQ29uc3RyYWludCIsImluc3RhbnRpYXRlQ29uc3RydWN0b3IiLCJpbnN0YW50aWF0ZUNvbnRhaW5lZEFzc2VydGlvbiIsImluc3RhbnRpYXRlRGVkdWN0aW9uIiwiaW5zdGFudGlhdGVEZWZpbmVkQXNzZXJ0aW9uIiwiaW5zdGFudGlhdGVFcXVhbGl0eSIsImluc3RhbnRpYXRlRXF1aXZhbGVuY2UiLCJpbnN0YW50aWF0ZUZyYW1lIiwiaW5zdGFudGlhdGVGcmFtZVN1YnN0aXR1dGlvbiIsImluc3RhbnRpYXRlR2VuZXJhdG9yIiwiaW5zdGFudGlhdGVIeXBvdGhlc2lzIiwiaW5zdGFudGlhdGVJbXBsaWNpdEFzc3VtcHRpb24iLCJpbnN0YW50aWF0ZUp1ZGdlbWVudCIsImluc3RhbnRpYXRlTGFiZWwiLCJpbnN0YW50aWF0ZU1ldGF2YXJpYWJsZSIsImluc3RhbnRpYXRlUGFyYW1ldGVyIiwiaW5zdGFudGlhdGVQcmVtaXNlIiwiaW5zdGFudGlhdGVQcm9jZWR1cmVSZWZlcmVuY2UiLCJpbnN0YW50aWF0ZVByb3BlcnR5IiwiaW5zdGFudGlhdGVQcm9wZXJ0eUFzc2VydGlvbiIsImluc3RhbnRpYXRlUmVmZXJlbmNlIiwiaW5zdGFudGlhdGVSZWZlcmVuY2VTdWJzdGl0dXRpb24iLCJpbnN0YW50aWF0ZVNpZ25hdHVyZSIsImluc3RhbnRpYXRlU2lnbmF0dXJlQXNzZXJ0aW9uIiwiaW5zdGFudGlhdGVTdGF0ZW1lbnQiLCJpbnN0YW50aWF0ZVN0YXRlbWVudFN1YnN0aXR1dGlvbiIsImluc3RhbnRpYXRlU3VicHJvb2ZBc3NlcnRpb24iLCJpbnN0YW50aWF0ZVN1cHBvc2l0aW9uIiwiaW5zdGFudGlhdGVUZXJtIiwiaW5zdGFudGlhdGVUZXJtU3Vic3RpdHV0aW9uIiwiaW5zdGFudGlhdGVUeXBlIiwiaW5zdGFudGlhdGVUeXBlQXNzZXJ0aW9uIiwiaW5zdGFudGlhdGVUeXBlUHJlZml4IiwiaW5zdGFudGlhdGVWYXJpYWJsZSIsInRlcm1QbGFjZWhvbGRlclJ1bGUiLCJydWxlRnJvbVJ1bGVOYW1lIiwiVEVSTV9SVUxFX05BTUUiLCJ0eXBlUGxhY2Vob2xkZXJSdWxlIiwiVFlQRV9SVUxFX05BTUUiLCJmcmFtZVBsYWNlaG9sZGVyUnVsZSIsIkZSQU1FX1JVTEVfTkFNRSIsImxhYmVsUGxhY2Vob2xkZXJSdWxlIiwiTEFCRUxfUlVMRV9OQU1FIiwicHJlbWlzZVBsYWNlaG9sZGVyUnVsZSIsIlBSRU1JU0VfUlVMRV9OQU1FIiwidmFyaWFibGVQbGFjZWhvbGRlclJ1bGUiLCJWQVJJQUJMRV9SVUxFX05BTUUiLCJlcXVhbGl0eVBsYWNlaG9sZGVyUnVsZSIsIkVRVUFMSVRZX1JVTEVfTkFNRSIsInByb3BlcnR5UGxhY2Vob2xkZXJSdWxlIiwiUFJPUEVSVFlfUlVMRV9OQU1FIiwianVkZ2VtZW50UGxhY2Vob2xkZXJSdWxlIiwiSlVER0VNRU5UX1JVTEVfTkFNRSIsImdlbmVyYXRvclBsYWNlaG9sZGVyUnVsZSIsIkdFTkVSQVRPUl9SVUxFX05BTUUiLCJkZWR1Y3Rpb25QbGFjZWhvbGRlclJ1bGUiLCJERURVQ1RJT05fUlVMRV9OQU1FIiwicGFyYW1ldGVyUGxhY2Vob2xkZXJSdWxlIiwiUEFSQU1FVEVSX1JVTEVfTkFNRSIsInN0YXRlbWVudFBsYWNlaG9sZGVyUnVsZSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJyZWZlcmVuY2VQbGFjZWhvbGRlclJ1bGUiLCJSRUZFUkVOQ0VfUlVMRV9OQU1FIiwic2lnbmF0dXJlUGxhY2Vob2xkZXJSdWxlIiwiU0lHTkFUVVJFX1JVTEVfTkFNRSIsImNvbnN0cmFpbnRQbGFjZWhvbGRlclJ1bGUiLCJDT05TVFJBSU5UX1JVTEVfTkFNRSIsImNvbWJpbmF0b3JQbGFjZWhvbGRlclJ1bGUiLCJDT01CSU5BVE9SX1JVTEVfTkFNRSIsImNvbmNsdXNpb25QbGFjZWhvbGRlclJ1bGUiLCJDT05DTFVTSU9OX1JVTEVfTkFNRSIsImh5cG90aGVzaXNQbGFjZWhvbGRlclJ1bGUiLCJIWVBPVEhFU0lTX1JVTEVfTkFNRSIsInR5cGVQcmVmaXhQbGFjZWhvbGRlclJ1bGUiLCJUWVBFX1BSRUZJWF9SVUxFX05BTUUiLCJzdXBwb3NpdGlvblBsYWNlaG9sZGVyUnVsZSIsIlNVUFBPU0lUSU9OX1JVTEVfTkFNRSIsImNvbnN0cnVjdG9yUGxhY2Vob2xkZXJSdWxlIiwiQ09OU1RSVUNUT1JfUlVMRV9OQU1FIiwiZXF1aXZhbGVuY2VQbGFjZWhvbGRlclJ1bGUiLCJFUVVJVkFMRU5DRV9SVUxFX05BTUUiLCJtZXRhdmFyaWFibGVQbGFjZWhvbGRlclJ1bGUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwidHlwZUFzc2VydGlvblBsYWNlaG9sZGVyUnVsZSIsIlRZUEVfQVNTRVJUSU9OX1JVTEVfTkFNRSIsImRlZmluZWRBc3NlcnRpb25QbGFjZWhvbGRlclJ1bGUiLCJERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJ0ZXJtU3Vic3RpdHV0aW9uUGxhY2Vob2xkZXJSdWxlIiwiVEVSTV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwic3VicHJvb2ZBc3NlcnRpb25sYWNlaG9sZGVyUnVsZSIsIlNVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUUiLCJwcm9wZXJ0eUFzc2VydGlvblBsYWNlaG9sZGVyUnVsZSIsIlBST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUUiLCJmcmFtZVN1YnN0aXR1dGlvblBsYWNlaG9sZGVyUnVsZSIsIkZSQU1FX1NVQlNUSVRVVElPTl9SVUxFX05BTUUiLCJwcm9jZWR1cmVSZWZlcmVuY2VsYWNlaG9sZGVyUnVsZSIsIlBST0NFRFVSRV9SRUZFUkVOQ0VfUlVMRV9OQU1FIiwiY29udGFpbmVkQXNzZXJ0aW9uUGxhY2Vob2xkZXJSdWxlIiwiQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJzaWduYXR1cmVBc3NlcnRpb25QbGFjZWhvbGRlclJ1bGUiLCJTSUdOQVRVUkVfQVNTRVJUSU9OX1JVTEVfTkFNRSIsImltcGxpY2l0QXNzdW1wdGlvblBsYWNlaG9sZGVyUnVsZSIsIklNUExJQ0lUX0FTU1VNUFRJT05fUlVMRV9OQU1FIiwic3RhdGVtZW50U3Vic3RpdHV0aW9uUGxhY2Vob2xkZXJSdWxlIiwiU1RBVEVNRU5UX1NVQlNUSVRVVElPTl9SVUxFX05BTUUiLCJyZWZlcmVuY2VTdWJzdGl0dXRpb25QbGFjZWhvbGRlclJ1bGUiLCJSRUZFUkVOQ0VfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSIsInN0cmluZyIsImNvbnRleHQiLCJpbnN0YW50aWF0ZSIsInBsYWNlaG9sZGVyUnVsZSIsIm5vZGUiLCJsZXhlciIsImdldExleGVyIiwicGFyc2VyIiwiZ2V0UGFyc2VyIiwiY29udGVudCIsInRva2VucyIsInRva2VuaXNlIiwic2V0VG9rZW5zIiwic3RhcnRSdWxlIiwicGFyc2UiLCJub25UZXJtaW5hbE5vZGUiLCJzb21lQ2hpbGROb2RlIiwiY2hpbGROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFtSWdCQTtlQUFBQTs7UUF4Q0FDO2VBQUFBOztRQTRDQUM7ZUFBQUE7O1FBSUFDO2VBQUFBOztRQW9CQUM7ZUFBQUE7O1FBM0VBQztlQUFBQTs7UUErREFDO2VBQUFBOztRQWhDQUM7ZUFBQUE7O1FBMEJBQztlQUFBQTs7UUFoQ0FDO2VBQUFBOztRQThDQUM7ZUFBQUE7O1FBcENBQztlQUFBQTs7UUFjQUM7ZUFBQUE7O1FBOEJBQztlQUFBQTs7UUExQ0FDO2VBQUFBOztRQVZBQztlQUFBQTs7UUFnQ0FDO2VBQUFBOztRQXBCQUM7ZUFBQUE7O1FBOUNBQztlQUFBQTs7UUFnRkFDO2VBQUFBOztRQXhDQUM7ZUFBQUE7O1FBb0NBQztlQUFBQTs7UUExQkFDO2VBQUFBOztRQXdDQUM7ZUFBQUE7O1FBdENBQztlQUFBQTs7UUFnQ0FDO2VBQUFBOztRQXBDQUM7ZUFBQUE7O1FBd0NBQztlQUFBQTs7UUFkQUM7ZUFBQUE7O1FBckRBQztlQUFBQTs7UUFPQUM7ZUFBQUE7O1FBNENBQztlQUFBQTs7UUExQ0FDO2VBQUFBOztRQXNDQUM7ZUFBQUE7O1FBUkFDO2VBQUFBOztRQXhCQUM7ZUFBQUE7OztxQkEvR2lCOzJCQW9DZ0I7QUFFakQsTUFBTUMsc0JBQXNCQyxJQUFBQSxxQkFBZ0IsRUFBQ0MseUJBQWMsR0FDckRDLHNCQUFzQkYsSUFBQUEscUJBQWdCLEVBQUNHLHlCQUFjLEdBQ3JEQyx1QkFBdUJKLElBQUFBLHFCQUFnQixFQUFDSywwQkFBZSxHQUN2REMsdUJBQXVCTixJQUFBQSxxQkFBZ0IsRUFBQ08sMEJBQWUsR0FDdkRDLHlCQUF5QlIsSUFBQUEscUJBQWdCLEVBQUNTLDRCQUFpQixHQUMzREMsMEJBQTBCVixJQUFBQSxxQkFBZ0IsRUFBQ1csNkJBQWtCLEdBQzdEQywwQkFBMEJaLElBQUFBLHFCQUFnQixFQUFDYSw2QkFBa0IsR0FDN0RD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
@@ -12,7 +12,7 @@ const _occamlanguages = require("occam-languages");
12
12
  const _occamquery = require("occam-query");
13
13
  const _element = require("../utilities/element");
14
14
  const { nodeQuery } = _occamquery.queryUtilities;
15
- const errorNodeQuery = nodeQuery("/error"), procedureDeclarationNodeQuery = nodeQuery("/procedureDeclaration");
15
+ const errorNodeQuery = nodeQuery("/error"), procedureNodeQuery = nodeQuery("/procedure");
16
16
  class TopLevelPass extends _occamlanguages.SimplePass {
17
17
  static maps = [
18
18
  {
@@ -27,11 +27,11 @@ class TopLevelPass extends _occamlanguages.SimplePass {
27
27
  }
28
28
  },
29
29
  {
30
- nodeQuery: procedureDeclarationNodeQuery,
31
- run: (procedureDeclarationNode, context)=>{
30
+ nodeQuery: procedureNodeQuery,
31
+ run: (procedureNode, context)=>{
32
32
  let success = false;
33
- const procedureDeclaration = (0, _element.procedureDeclarationFromProcedureDeclarationNode)(procedureDeclarationNode, context), procedureDeclarationVerifies = procedureDeclaration.verify(context);
34
- if (procedureDeclarationVerifies) {
33
+ const procedure = (0, _element.procedureFromProcedureNode)(procedureNode, context), procedureVerifies = procedure.verify(context);
34
+ if (procedureVerifies) {
35
35
  success = true;
36
36
  }
37
37
  return success;
@@ -49,4 +49,4 @@ function verifyFile(fileNode, context) {
49
49
  return fileVerifies;
50
50
  }
51
51
 
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9jZXNzL3ZlcmlmeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgU2ltcGxlUGFzcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcbmltcG9ydCB7IHF1ZXJ5VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCB7IGVycm9yRnJvbUVycm9yTm9kZSwgcHJvY2VkdXJlRGVjbGFyYXRpb25Gcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lbGVtZW50XCI7XG5cbmNvbnN0IHsgbm9kZVF1ZXJ5IH0gPSBxdWVyeVV0aWxpdGllcztcblxuY29uc3QgZXJyb3JOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXJyb3JcIiksXG4gICAgICBwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9jZWR1cmVEZWNsYXJhdGlvblwiKTtcblxuY2xhc3MgVG9wTGV2ZWxQYXNzIGV4dGVuZHMgU2ltcGxlUGFzcyB7XG4gIHN0YXRpYyBtYXBzID0gW1xuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogZXJyb3JOb2RlUXVlcnksXG4gICAgICBydW46IChlcnJvck5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgbGV0IHN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgICAgICBjb25zdCBlcnJvciA9IGVycm9yRnJvbUVycm9yTm9kZShlcnJvck5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBlcnJvclZlcmlmaWVzID0gZXJyb3IudmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChlcnJvclZlcmlmaWVzKSB7XG4gICAgICAgICAgc3VjY2VzcyA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3VjY2VzcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogcHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICBydW46IChwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgbGV0IHN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgICAgICBjb25zdCBwcm9jZWR1cmVEZWNsYXJhdGlvbiA9IHByb2NlZHVyZURlY2xhcmF0aW9uRnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZShwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBwcm9jZWR1cmVEZWNsYXJhdGlvblZlcmlmaWVzID0gcHJvY2VkdXJlRGVjbGFyYXRpb24udmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChwcm9jZWR1cmVEZWNsYXJhdGlvblZlcmlmaWVzKSB7XG4gICAgICAgICAgc3VjY2VzcyA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3VjY2VzcztcbiAgICAgIH1cbiAgICB9XG4gIF07XG59XG5cbmNvbnN0IHRvcExldmVsUGFzcyA9IG5ldyBUb3BMZXZlbFBhc3MoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeUZpbGUoZmlsZU5vZGUsIGNvbnRleHQpIHtcbiAgbGV0IGZpbGVWZXJpZmllcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGUgPSBmaWxlTm9kZSwgLy8vXG4gICAgICAgIHN1Y2Nlc3MgPSB0b3BMZXZlbFBhc3MucnVuKG5vZGUsIGNvbnRleHQpO1xuXG4gIGlmIChzdWNjZXNzKSB7XG4gICAgZmlsZVZlcmlmaWVzID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmaWxlVmVyaWZpZXM7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5RmlsZSIsIm5vZGVRdWVyeSIsInF1ZXJ5VXRpbGl0aWVzIiwiZXJyb3JOb2RlUXVlcnkiLCJwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsIlRvcExldmVsUGFzcyIsIlNpbXBsZVBhc3MiLCJtYXBzIiwicnVuIiwiZXJyb3JOb2RlIiwiY29udGV4dCIsInN1Y2Nlc3MiLCJlcnJvciIsImVycm9yRnJvbUVycm9yTm9kZSIsImVycm9yVmVyaWZpZXMiLCJ2ZXJpZnkiLCJwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUiLCJwcm9jZWR1cmVEZWNsYXJhdGlvbiIsInByb2NlZHVyZURlY2xhcmF0aW9uRnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSIsInByb2NlZHVyZURlY2xhcmF0aW9uVmVyaWZpZXMiLCJ0b3BMZXZlbFBhc3MiLCJmaWxlTm9kZSIsImZpbGVWZXJpZmllcyIsIm5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWlEZ0JBOzs7ZUFBQUE7OztnQ0EvQ1c7NEJBQ0k7eUJBRXNEO0FBRXJGLE1BQU0sRUFBRUMsU0FBUyxFQUFFLEdBQUdDLDBCQUFjO0FBRXBDLE1BQU1DLGlCQUFpQkYsVUFBVSxXQUMzQkcsZ0NBQWdDSCxVQUFVO0FBRWhELE1BQU1JLHFCQUFxQkMsMEJBQVU7SUFDbkMsT0FBT0MsT0FBTztRQUNaO1lBQ0VOLFdBQVdFO1lBQ1hLLEtBQUssQ0FBQ0MsV0FBV0M7Z0JBQ2YsSUFBSUMsVUFBVTtnQkFFZCxNQUFNQyxRQUFRQyxJQUFBQSwyQkFBa0IsRUFBQ0osV0FBV0MsVUFDdENJLGdCQUFnQkYsTUFBTUcsTUFBTSxDQUFDTDtnQkFFbkMsSUFBSUksZUFBZTtvQkFDakJILFVBQVU7Z0JBQ1o7Z0JBRUEsT0FBT0E7WUFDVDtRQUNGO1FBQ0E7WUFDRVYsV0FBV0c7WUFDWEksS0FBSyxDQUFDUSwwQkFBMEJOO2dCQUM5QixJQUFJQyxVQUFVO2dCQUVkLE1BQU1NLHVCQUF1QkMsSUFBQUEseURBQWdELEVBQUNGLDBCQUEwQk4sVUFDbEdTLCtCQUErQkYscUJBQXFCRixNQUFNLENBQUNMO2dCQUVqRSxJQUFJUyw4QkFBOEI7b0JBQ2hDUixVQUFVO2dCQUNaO2dCQUVBLE9BQU9BO1lBQ1Q7UUFDRjtLQUNELENBQUM7QUFDSjtBQUVBLE1BQU1TLGVBQWUsSUFBSWY7QUFFbEIsU0FBU0wsV0FBV3FCLFFBQVEsRUFBRVgsT0FBTztJQUMxQyxJQUFJWSxlQUFlO0lBRW5CLE1BQU1DLE9BQU9GLFVBQ1BWLFVBQVVTLGFBQWFaLEdBQUcsQ0FBQ2UsTUFBTWI7SUFFdkMsSUFBSUMsU0FBUztRQUNYVyxlQUFlO0lBQ2pCO0lBRUEsT0FBT0E7QUFDVCJ9
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9jZXNzL3ZlcmlmeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgU2ltcGxlUGFzcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcbmltcG9ydCB7IHF1ZXJ5VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCB7IGVycm9yRnJvbUVycm9yTm9kZSwgcHJvY2VkdXJlRnJvbVByb2NlZHVyZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2VsZW1lbnRcIjtcblxuY29uc3QgeyBub2RlUXVlcnkgfSA9IHF1ZXJ5VXRpbGl0aWVzO1xuXG5jb25zdCBlcnJvck5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9lcnJvclwiKSxcbiAgICAgIHByb2NlZHVyZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9jZWR1cmVcIik7XG5cbmNsYXNzIFRvcExldmVsUGFzcyBleHRlbmRzIFNpbXBsZVBhc3Mge1xuICBzdGF0aWMgbWFwcyA9IFtcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGVycm9yTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAoZXJyb3JOb2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGxldCBzdWNjZXNzID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3QgZXJyb3IgPSBlcnJvckZyb21FcnJvck5vZGUoZXJyb3JOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgZXJyb3JWZXJpZmllcyA9IGVycm9yLnZlcmlmeShjb250ZXh0KTtcblxuICAgICAgICBpZiAoZXJyb3JWZXJpZmllcykge1xuICAgICAgICAgIHN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHByb2NlZHVyZU5vZGVRdWVyeSxcbiAgICAgIHJ1bjogKHByb2NlZHVyZU5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgbGV0IHN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgICAgICBjb25zdCBwcm9jZWR1cmUgPSBwcm9jZWR1cmVGcm9tUHJvY2VkdXJlTm9kZShwcm9jZWR1cmVOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgcHJvY2VkdXJlVmVyaWZpZXMgPSBwcm9jZWR1cmUudmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChwcm9jZWR1cmVWZXJpZmllcykge1xuICAgICAgICAgIHN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7XG4gICAgICB9XG4gICAgfVxuICBdO1xufVxuXG5jb25zdCB0b3BMZXZlbFBhc3MgPSBuZXcgVG9wTGV2ZWxQYXNzKCk7XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlGaWxlKGZpbGVOb2RlLCBjb250ZXh0KSB7XG4gIGxldCBmaWxlVmVyaWZpZXMgPSBmYWxzZTtcblxuICBjb25zdCBub2RlID0gZmlsZU5vZGUsIC8vL1xuICAgICAgICBzdWNjZXNzID0gdG9wTGV2ZWxQYXNzLnJ1bihub2RlLCBjb250ZXh0KTtcblxuICBpZiAoc3VjY2Vzcykge1xuICAgIGZpbGVWZXJpZmllcyA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gZmlsZVZlcmlmaWVzO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUZpbGUiLCJub2RlUXVlcnkiLCJxdWVyeVV0aWxpdGllcyIsImVycm9yTm9kZVF1ZXJ5IiwicHJvY2VkdXJlTm9kZVF1ZXJ5IiwiVG9wTGV2ZWxQYXNzIiwiU2ltcGxlUGFzcyIsIm1hcHMiLCJydW4iLCJlcnJvck5vZGUiLCJjb250ZXh0Iiwic3VjY2VzcyIsImVycm9yIiwiZXJyb3JGcm9tRXJyb3JOb2RlIiwiZXJyb3JWZXJpZmllcyIsInZlcmlmeSIsInByb2NlZHVyZU5vZGUiLCJwcm9jZWR1cmUiLCJwcm9jZWR1cmVGcm9tUHJvY2VkdXJlTm9kZSIsInByb2NlZHVyZVZlcmlmaWVzIiwidG9wTGV2ZWxQYXNzIiwiZmlsZU5vZGUiLCJmaWxlVmVyaWZpZXMiLCJub2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpRGdCQTs7O2VBQUFBOzs7Z0NBL0NXOzRCQUNJO3lCQUVnQztBQUUvRCxNQUFNLEVBQUVDLFNBQVMsRUFBRSxHQUFHQywwQkFBYztBQUVwQyxNQUFNQyxpQkFBaUJGLFVBQVUsV0FDM0JHLHFCQUFxQkgsVUFBVTtBQUVyQyxNQUFNSSxxQkFBcUJDLDBCQUFVO0lBQ25DLE9BQU9DLE9BQU87UUFDWjtZQUNFTixXQUFXRTtZQUNYSyxLQUFLLENBQUNDLFdBQVdDO2dCQUNmLElBQUlDLFVBQVU7Z0JBRWQsTUFBTUMsUUFBUUMsSUFBQUEsMkJBQWtCLEVBQUNKLFdBQVdDLFVBQ3RDSSxnQkFBZ0JGLE1BQU1HLE1BQU0sQ0FBQ0w7Z0JBRW5DLElBQUlJLGVBQWU7b0JBQ2pCSCxVQUFVO2dCQUNaO2dCQUVBLE9BQU9BO1lBQ1Q7UUFDRjtRQUNBO1lBQ0VWLFdBQVdHO1lBQ1hJLEtBQUssQ0FBQ1EsZUFBZU47Z0JBQ25CLElBQUlDLFVBQVU7Z0JBRWQsTUFBTU0sWUFBWUMsSUFBQUEsbUNBQTBCLEVBQUNGLGVBQWVOLFVBQ3REUyxvQkFBb0JGLFVBQVVGLE1BQU0sQ0FBQ0w7Z0JBRTNDLElBQUlTLG1CQUFtQjtvQkFDckJSLFVBQVU7Z0JBQ1o7Z0JBRUEsT0FBT0E7WUFDVDtRQUNGO0tBQ0QsQ0FBQztBQUNKO0FBRUEsTUFBTVMsZUFBZSxJQUFJZjtBQUVsQixTQUFTTCxXQUFXcUIsUUFBUSxFQUFFWCxPQUFPO0lBQzFDLElBQUlZLGVBQWU7SUFFbkIsTUFBTUMsT0FBT0YsVUFDUFYsVUFBVVMsYUFBYVosR0FBRyxDQUFDZSxNQUFNYjtJQUV2QyxJQUFJQyxTQUFTO1FBQ1hXLGVBQWU7SUFDakI7SUFFQSxPQUFPQTtBQUNUIn0=
package/lib/ruleNames.js CHANGED
@@ -81,8 +81,8 @@ _export(exports, {
81
81
  get PROCEDURE_CALL_RULE_NAME () {
82
82
  return PROCEDURE_CALL_RULE_NAME;
83
83
  },
84
- get PROCEDURE_DECLARATION_RULE_NAME () {
85
- return PROCEDURE_DECLARATION_RULE_NAME;
84
+ get PROCEDURE_RULE_NAME () {
85
+ return PROCEDURE_RULE_NAME;
86
86
  },
87
87
  get REDUCE_RULE_NAME () {
88
88
  return REDUCE_RULE_NAME;
@@ -99,8 +99,8 @@ _export(exports, {
99
99
  get SOME_RULE_NAME () {
100
100
  return SOME_RULE_NAME;
101
101
  },
102
- get STEP_RULE_NAME () {
103
- return STEP_RULE_NAME;
102
+ get STATEMENT_RULE_NAME () {
103
+ return STATEMENT_RULE_NAME;
104
104
  },
105
105
  get TERMS_RULE_NAME () {
106
106
  return TERMS_RULE_NAME;
@@ -136,7 +136,6 @@ _export(exports, {
136
136
  return VARIABLE_RULE_NAME;
137
137
  }
138
138
  });
139
- const STEP_RULE_NAME = "step";
140
139
  const SOME_RULE_NAME = "some";
141
140
  const TERM_RULE_NAME = "term";
142
141
  const TYPE_RULE_NAME = "type";
@@ -153,6 +152,8 @@ const VARIABLE_RULE_NAME = "variable";
153
152
  const NONSENSE_RULE_NAME = "nonsense";
154
153
  const DOCUMENT_RULE_NAME = "document";
155
154
  const BINDINGS_RULE_NAME = "bindings";
155
+ const STATEMENT_RULE_NAME = "statement";
156
+ const PROCEDURE_RULE_NAME = "procedure";
156
157
  const LENGTH_OF_RULE_NAME = "lengthOf";
157
158
  const PRIMITIVE_RULE_NAME = "primitive";
158
159
  const REFERENCE_RULE_NAME = "reference";
@@ -177,6 +178,5 @@ const OBJECT_ASSIGNMENT_RULE_NAME = "objectAssignment";
177
178
  const VARIABLE_ASSIGNMENT_RULE_NAME = "variableAssignment";
178
179
  const ANONYMOUS_PROCEDURE_RULE_NAME = "anonymousProcedure";
179
180
  const VARIABLE_ASSIGNMENTS_RULE_NAME = "variableAssignments";
180
- const PROCEDURE_DECLARATION_RULE_NAME = "procedureDeclaration";
181
181
 
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBTVEVQX1JVTEVfTkFNRSA9IFwic3RlcFwiO1xuZXhwb3J0IGNvbnN0IFNPTUVfUlVMRV9OQU1FID0gXCJzb21lXCI7XG5leHBvcnQgY29uc3QgVEVSTV9SVUxFX05BTUUgPSBcInRlcm1cIjtcbmV4cG9ydCBjb25zdCBUWVBFX1JVTEVfTkFNRSA9IFwidHlwZVwiO1xuZXhwb3J0IGNvbnN0IFRFUk1TX1JVTEVfTkFNRSA9IFwidGVybXNcIjtcbmV4cG9ydCBjb25zdCBFVkVSWV9SVUxFX05BTUUgPSBcImV2ZXJ5XCI7XG5leHBvcnQgY29uc3QgTEFCRUxfUlVMRV9OQU1FID0gXCJsYWJlbFwiO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1JVTEVfTkFNRSA9IFwiZXJyb3JcIjtcbmV4cG9ydCBjb25zdCBWQUxVRV9SVUxFX05BTUUgPSBcInZhbHVlXCI7XG5leHBvcnQgY29uc3QgVkFMVUVTX1JVTEVfTkFNRSA9IFwidmFsdWVzXCI7XG5leHBvcnQgY29uc3QgUkVEVUNFX1JVTEVfTkFNRSA9IFwicmVkdWNlXCI7XG5leHBvcnQgY29uc3QgVEVSTkFSWV9SVUxFX05BTUUgPSBcInRlcm5hcnlcIjtcbmV4cG9ydCBjb25zdCBCSU5ESU5HX1JVTEVfTkFNRSA9IFwiYmluZGluZ1wiO1xuZXhwb3J0IGNvbnN0IFZBUklBQkxFX1JVTEVfTkFNRSA9IFwidmFyaWFibGVcIjtcbmV4cG9ydCBjb25zdCBOT05TRU5TRV9SVUxFX05BTUUgPSBcIm5vbnNlbnNlXCI7XG5leHBvcnQgY29uc3QgRE9DVU1FTlRfUlVMRV9OQU1FID0gXCJkb2N1bWVudFwiO1xuZXhwb3J0IGNvbnN0IEJJTkRJTkdTX1JVTEVfTkFNRSA9IFwiYmluZGluZ3NcIjtcbmV4cG9ydCBjb25zdCBMRU5HVEhfT0ZfUlVMRV9OQU1FID0gXCJsZW5ndGhPZlwiO1xuZXhwb3J0IGNvbnN0IFBSSU1JVElWRV9SVUxFX05BTUUgPSBcInByaW1pdGl2ZVwiO1xuZXhwb3J0IGNvbnN0IFJFRkVSRU5DRV9SVUxFX05BTUUgPSBcInJlZmVyZW5jZVwiO1xuZXhwb3J0IGNvbnN0IFBBUkFNRVRFUl9SVUxFX05BTUUgPSBcInBhcmFtZXRlclwiO1xuZXhwb3J0IGNvbnN0IE5PREVfUVVFUllfUlVMRV9OQU1FID0gXCJub2RlUXVlcnlcIjtcbmV4cG9ydCBjb25zdCBFWFBSRVNTSU9OX1JVTEVfTkFNRSA9IFwiZXhwcmVzc2lvblwiO1xuZXhwb3J0IGNvbnN0IFBBUkFNRVRFUlNfUlVMRV9OQU1FID0gXCJwYXJhbWV0ZXJzXCI7XG5leHBvcnQgY29uc3QgVE9fSU5URUdFUl9SVUxFX05BTUUgPSBcInRvSW50ZWdlclwiO1xuZXhwb3J0IGNvbnN0IFRSWV9JTlRFR0VSX1JVTEVfTkFNRSA9IFwidHJ5SW50ZWdlclwiO1xuZXhwb3J0IGNvbnN0IE5PREVTX1FVRVJZX1JVTEVfTkFNRSA9IFwibm9kZXNRdWVyeVwiO1xuZXhwb3J0IGNvbnN0IFJFVFVSTl9CTE9DS19SVUxFX05BTUUgPSBcInJldHVybkJsb2NrXCI7XG5leHBvcnQgY29uc3QgTE9HSUNBTF9URVJNX1JVTEVfTkFNRSA9IFwibG9naWNhbFRlcm1cIjtcbmV4cG9ydCBjb25zdCBORUdBVEVEX1RFUk1fUlVMRV9OQU1FID0gXCJuZWdhdGVkVGVybVwiO1xuZXhwb3J0IGNvbnN0IE5BTUVEX0JJTkRJTkdfUlVMRV9OQU1FID0gXCJuYW1lZEJpbmRpbmdcIjtcbmV4cG9ydCBjb25zdCBOQU1FRF9CSU5ESU5HU19SVUxFX05BTUUgPSBcIm5hbWVkQmluZGluZ3NcIjtcbmV4cG9ydCBjb25zdCBCUkFDS0VURURfVEVSTV9SVUxFX05BTUUgPSBcImJyYWNrZXRlZFRlcm1cIjtcbmV4cG9ydCBjb25zdCBQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUUgPSBcInByb2NlZHVyZUNhbGxcIjtcbmV4cG9ydCBjb25zdCBDT01QQVJJU09OX1RFUk1fUlVMRV9OQU1FID0gXCJjb21wYXJpc29uVGVybVwiO1xuZXhwb3J0IGNvbnN0IFJFVFVSTl9TVEFURU1FTlRfUlVMRV9OQU1FID0gXCJyZXR1cm5TdGF0ZW1lbnRcIjtcbmV4cG9ydCBjb25zdCBBUlJBWV9BU1NJR05NRU5UX1JVTEVfTkFNRSA9IFwiYXJyYXlBc3NpZ25tZW50XCI7XG5leHBvcnQgY29uc3QgT0JKRUNUX0FTU0lHTk1FTlRfUlVMRV9OQU1FID0gXCJvYmplY3RBc3NpZ25tZW50XCI7XG5leHBvcnQgY29uc3QgVkFSSUFCTEVfQVNTSUdOTUVOVF9SVUxFX05BTUUgPSBcInZhcmlhYmxlQXNzaWdubWVudFwiO1xuZXhwb3J0IGNvbnN0IEFOT05ZTU9VU19QUk9DRURVUkVfUlVMRV9OQU1FID0gXCJhbm9ueW1vdXNQcm9jZWR1cmVcIjtcbmV4cG9ydCBjb25zdCBWQVJJQUJMRV9BU1NJR05NRU5UU19SVUxFX05BTUUgPSBcInZhcmlhYmxlQXNzaWdubWVudHNcIjtcbmV4cG9ydCBjb25zdCBQUk9DRURVUkVfREVDTEFSQVRJT05fUlVMRV9OQU1FID0gXCJwcm9jZWR1cmVEZWNsYXJhdGlvblwiO1xuXG4iXSwibmFtZXMiOlsiQU5PTllNT1VTX1BST0NFRFVSRV9SVUxFX05BTUUiLCJBUlJBWV9BU1NJR05NRU5UX1JVTEVfTkFNRSIsIkJJTkRJTkdTX1JVTEVfTkFNRSIsIkJJTkRJTkdfUlVMRV9OQU1FIiwiQlJBQ0tFVEVEX1RFUk1fUlVMRV9OQU1FIiwiQ09NUEFSSVNPTl9URVJNX1JVTEVfTkFNRSIsIkRPQ1VNRU5UX1JVTEVfTkFNRSIsIkVSUk9SX1JVTEVfTkFNRSIsIkVWRVJZX1JVTEVfTkFNRSIsIkVYUFJFU1NJT05fUlVMRV9OQU1FIiwiTEFCRUxfUlVMRV9OQU1FIiwiTEVOR1RIX09GX1JVTEVfTkFNRSIsIkxPR0lDQUxfVEVSTV9SVUxFX05BTUUiLCJOQU1FRF9CSU5ESU5HU19SVUxFX05BTUUiLCJOQU1FRF9CSU5ESU5HX1JVTEVfTkFNRSIsIk5FR0FURURfVEVSTV9SVUxFX05BTUUiLCJOT0RFU19RVUVSWV9SVUxFX05BTUUiLCJOT0RFX1FVRVJZX1JVTEVfTkFNRSIsIk5PTlNFTlNFX1JVTEVfTkFNRSIsIk9CSkVDVF9BU1NJR05NRU5UX1JVTEVfTkFNRSIsIlBBUkFNRVRFUlNfUlVMRV9OQU1FIiwiUEFSQU1FVEVSX1JVTEVfTkFNRSIsIlBSSU1JVElWRV9SVUxFX05BTUUiLCJQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUUiLCJQUk9DRURVUkVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiUkVEVUNFX1JVTEVfTkFNRSIsIlJFRkVSRU5DRV9SVUxFX05BTUUiLCJSRVRVUk5fQkxPQ0tfUlVMRV9OQU1FIiwiUkVUVVJOX1NUQVRFTUVOVF9SVUxFX05BTUUiLCJTT01FX1JVTEVfTkFNRSIsIlNURVBfUlVMRV9OQU1FIiwiVEVSTVNfUlVMRV9OQU1FIiwiVEVSTV9SVUxFX05BTUUiLCJURVJOQVJZX1JVTEVfTkFNRSIsIlRPX0lOVEVHRVJfUlVMRV9OQU1FIiwiVFJZX0lOVEVHRVJfUlVMRV9OQU1FIiwiVFlQRV9SVUxFX05BTUUiLCJWQUxVRVNfUlVMRV9OQU1FIiwiVkFMVUVfUlVMRV9OQU1FIiwiVkFSSUFCTEVfQVNTSUdOTUVOVFNfUlVMRV9OQU1FIiwiVkFSSUFCTEVfQVNTSUdOTUVOVF9SVUxFX05BTUUiLCJWQVJJQUJMRV9SVUxFX05BTUUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQXlDYUE7ZUFBQUE7O1FBSEFDO2VBQUFBOztRQXBCQUM7ZUFBQUE7O1FBSkFDO2VBQUFBOztRQW9CQUM7ZUFBQUE7O1FBRUFDO2VBQUFBOztRQW5CQUM7ZUFBQUE7O1FBUkFDO2VBQUFBOztRQUZBQztlQUFBQTs7UUFpQkFDO2VBQUFBOztRQWhCQUM7ZUFBQUE7O1FBV0FDO2VBQUFBOztRQVdBQztlQUFBQTs7UUFHQUM7ZUFBQUE7O1FBREFDO2VBQUFBOztRQURBQztlQUFBQTs7UUFIQUM7ZUFBQUE7O1FBTEFDO2VBQUFBOztRQVBBQztlQUFBQTs7UUF1QkFDO2VBQUFBOztRQWRBQztlQUFBQTs7UUFIQUM7ZUFBQUE7O1FBRkFDO2VBQUFBOztRQWVBQztlQUFBQTs7UUFRQUM7ZUFBQUE7O1FBL0JBQztlQUFBQTs7UUFTQUM7ZUFBQUE7O1FBUUFDO2VBQUFBOztRQVFBQztlQUFBQTs7UUFsQ0FDO2VBQUFBOztRQURBQztlQUFBQTs7UUFJQUM7ZUFBQUE7O1FBRkFDO2VBQUFBOztRQVNBQztlQUFBQTs7UUFhQUM7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQXRCQUM7ZUFBQUE7O1FBTUFDO2VBQUFBOztRQURBQztlQUFBQTs7UUFnQ0FDO2VBQUFBOztRQUZBQztlQUFBQTs7UUF6QkFDO2VBQUFBOzs7QUFiTixNQUFNWCxpQkFBaUI7QUFDdkIsTUFBTUQsaUJBQWlCO0FBQ3ZCLE1BQU1HLGlCQUFpQjtBQUN2QixNQUFNSSxpQkFBaUI7QUFDdkIsTUFBTUwsa0JBQWtCO0FBQ3hCLE1BQU12QixrQkFBa0I7QUFDeEIsTUFBTUUsa0JBQWtCO0FBQ3hCLE1BQU1ILGtCQUFrQjtBQUN4QixNQUFNK0Isa0JBQWtCO0FBQ3hCLE1BQU1ELG1CQUFtQjtBQUN6QixNQUFNWixtQkFBbUI7QUFDekIsTUFBTVEsb0JBQW9CO0FBQzFCLE1BQU05QixvQkFBb0I7QUFDMUIsTUFBTXNDLHFCQUFxQjtBQUMzQixNQUFNdkIscUJBQXFCO0FBQzNCLE1BQU1aLHFCQUFxQjtBQUMzQixNQUFNSixxQkFBcUI7QUFDM0IsTUFBTVMsc0JBQXNCO0FBQzVCLE1BQU1XLHNCQUFzQjtBQUM1QixNQUFNSSxzQkFBc0I7QUFDNUIsTUFBTUwsc0JBQXNCO0FBQzVCLE1BQU1KLHVCQUF1QjtBQUM3QixNQUFNUix1QkFBdUI7QUFDN0IsTUFBTVcsdUJBQXVCO0FBQzdCLE1BQU1jLHVCQUF1QjtBQUM3QixNQUFNQyx3QkFBd0I7QUFDOUIsTUFBTW5CLHdCQUF3QjtBQUM5QixNQUFNVyx5QkFBeUI7QUFDL0IsTUFBTWYseUJBQXlCO0FBQy9CLE1BQU1HLHlCQUF5QjtBQUMvQixNQUFNRCwwQkFBMEI7QUFDaEMsTUFBTUQsMkJBQTJCO0FBQ2pDLE1BQU1ULDJCQUEyQjtBQUNqQyxNQUFNbUIsMkJBQTJCO0FBQ2pDLE1BQU1sQiw0QkFBNEI7QUFDbEMsTUFBTXVCLDZCQUE2QjtBQUNuQyxNQUFNM0IsNkJBQTZCO0FBQ25DLE1BQU1rQiw4QkFBOEI7QUFDcEMsTUFBTXFCLGdDQUFnQztBQUN0QyxNQUFNeEMsZ0NBQWdDO0FBQ3RDLE1BQU11QyxpQ0FBaUM7QUFDdkMsTUFBTWYsa0NBQWtDIn0=
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBTT01FX1JVTEVfTkFNRSA9IFwic29tZVwiO1xuZXhwb3J0IGNvbnN0IFRFUk1fUlVMRV9OQU1FID0gXCJ0ZXJtXCI7XG5leHBvcnQgY29uc3QgVFlQRV9SVUxFX05BTUUgPSBcInR5cGVcIjtcbmV4cG9ydCBjb25zdCBURVJNU19SVUxFX05BTUUgPSBcInRlcm1zXCI7XG5leHBvcnQgY29uc3QgRVZFUllfUlVMRV9OQU1FID0gXCJldmVyeVwiO1xuZXhwb3J0IGNvbnN0IExBQkVMX1JVTEVfTkFNRSA9IFwibGFiZWxcIjtcbmV4cG9ydCBjb25zdCBFUlJPUl9SVUxFX05BTUUgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgVkFMVUVfUlVMRV9OQU1FID0gXCJ2YWx1ZVwiO1xuZXhwb3J0IGNvbnN0IFZBTFVFU19SVUxFX05BTUUgPSBcInZhbHVlc1wiO1xuZXhwb3J0IGNvbnN0IFJFRFVDRV9SVUxFX05BTUUgPSBcInJlZHVjZVwiO1xuZXhwb3J0IGNvbnN0IFRFUk5BUllfUlVMRV9OQU1FID0gXCJ0ZXJuYXJ5XCI7XG5leHBvcnQgY29uc3QgQklORElOR19SVUxFX05BTUUgPSBcImJpbmRpbmdcIjtcbmV4cG9ydCBjb25zdCBWQVJJQUJMRV9SVUxFX05BTUUgPSBcInZhcmlhYmxlXCI7XG5leHBvcnQgY29uc3QgTk9OU0VOU0VfUlVMRV9OQU1FID0gXCJub25zZW5zZVwiO1xuZXhwb3J0IGNvbnN0IERPQ1VNRU5UX1JVTEVfTkFNRSA9IFwiZG9jdW1lbnRcIjtcbmV4cG9ydCBjb25zdCBCSU5ESU5HU19SVUxFX05BTUUgPSBcImJpbmRpbmdzXCI7XG5leHBvcnQgY29uc3QgU1RBVEVNRU5UX1JVTEVfTkFNRSA9IFwic3RhdGVtZW50XCI7XG5leHBvcnQgY29uc3QgUFJPQ0VEVVJFX1JVTEVfTkFNRSA9IFwicHJvY2VkdXJlXCI7XG5leHBvcnQgY29uc3QgTEVOR1RIX09GX1JVTEVfTkFNRSA9IFwibGVuZ3RoT2ZcIjtcbmV4cG9ydCBjb25zdCBQUklNSVRJVkVfUlVMRV9OQU1FID0gXCJwcmltaXRpdmVcIjtcbmV4cG9ydCBjb25zdCBSRUZFUkVOQ0VfUlVMRV9OQU1FID0gXCJyZWZlcmVuY2VcIjtcbmV4cG9ydCBjb25zdCBQQVJBTUVURVJfUlVMRV9OQU1FID0gXCJwYXJhbWV0ZXJcIjtcbmV4cG9ydCBjb25zdCBOT0RFX1FVRVJZX1JVTEVfTkFNRSA9IFwibm9kZVF1ZXJ5XCI7XG5leHBvcnQgY29uc3QgRVhQUkVTU0lPTl9SVUxFX05BTUUgPSBcImV4cHJlc3Npb25cIjtcbmV4cG9ydCBjb25zdCBQQVJBTUVURVJTX1JVTEVfTkFNRSA9IFwicGFyYW1ldGVyc1wiO1xuZXhwb3J0IGNvbnN0IFRPX0lOVEVHRVJfUlVMRV9OQU1FID0gXCJ0b0ludGVnZXJcIjtcbmV4cG9ydCBjb25zdCBUUllfSU5URUdFUl9SVUxFX05BTUUgPSBcInRyeUludGVnZXJcIjtcbmV4cG9ydCBjb25zdCBOT0RFU19RVUVSWV9SVUxFX05BTUUgPSBcIm5vZGVzUXVlcnlcIjtcbmV4cG9ydCBjb25zdCBSRVRVUk5fQkxPQ0tfUlVMRV9OQU1FID0gXCJyZXR1cm5CbG9ja1wiO1xuZXhwb3J0IGNvbnN0IExPR0lDQUxfVEVSTV9SVUxFX05BTUUgPSBcImxvZ2ljYWxUZXJtXCI7XG5leHBvcnQgY29uc3QgTkVHQVRFRF9URVJNX1JVTEVfTkFNRSA9IFwibmVnYXRlZFRlcm1cIjtcbmV4cG9ydCBjb25zdCBOQU1FRF9CSU5ESU5HX1JVTEVfTkFNRSA9IFwibmFtZWRCaW5kaW5nXCI7XG5leHBvcnQgY29uc3QgTkFNRURfQklORElOR1NfUlVMRV9OQU1FID0gXCJuYW1lZEJpbmRpbmdzXCI7XG5leHBvcnQgY29uc3QgQlJBQ0tFVEVEX1RFUk1fUlVMRV9OQU1FID0gXCJicmFja2V0ZWRUZXJtXCI7XG5leHBvcnQgY29uc3QgUFJPQ0VEVVJFX0NBTExfUlVMRV9OQU1FID0gXCJwcm9jZWR1cmVDYWxsXCI7XG5leHBvcnQgY29uc3QgQ09NUEFSSVNPTl9URVJNX1JVTEVfTkFNRSA9IFwiY29tcGFyaXNvblRlcm1cIjtcbmV4cG9ydCBjb25zdCBSRVRVUk5fU1RBVEVNRU5UX1JVTEVfTkFNRSA9IFwicmV0dXJuU3RhdGVtZW50XCI7XG5leHBvcnQgY29uc3QgQVJSQVlfQVNTSUdOTUVOVF9SVUxFX05BTUUgPSBcImFycmF5QXNzaWdubWVudFwiO1xuZXhwb3J0IGNvbnN0IE9CSkVDVF9BU1NJR05NRU5UX1JVTEVfTkFNRSA9IFwib2JqZWN0QXNzaWdubWVudFwiO1xuZXhwb3J0IGNvbnN0IFZBUklBQkxFX0FTU0lHTk1FTlRfUlVMRV9OQU1FID0gXCJ2YXJpYWJsZUFzc2lnbm1lbnRcIjtcbmV4cG9ydCBjb25zdCBBTk9OWU1PVVNfUFJPQ0VEVVJFX1JVTEVfTkFNRSA9IFwiYW5vbnltb3VzUHJvY2VkdXJlXCI7XG5leHBvcnQgY29uc3QgVkFSSUFCTEVfQVNTSUdOTUVOVFNfUlVMRV9OQU1FID0gXCJ2YXJpYWJsZUFzc2lnbm1lbnRzXCI7XG5cbiJdLCJuYW1lcyI6WyJBTk9OWU1PVVNfUFJPQ0VEVVJFX1JVTEVfTkFNRSIsIkFSUkFZX0FTU0lHTk1FTlRfUlVMRV9OQU1FIiwiQklORElOR1NfUlVMRV9OQU1FIiwiQklORElOR19SVUxFX05BTUUiLCJCUkFDS0VURURfVEVSTV9SVUxFX05BTUUiLCJDT01QQVJJU09OX1RFUk1fUlVMRV9OQU1FIiwiRE9DVU1FTlRfUlVMRV9OQU1FIiwiRVJST1JfUlVMRV9OQU1FIiwiRVZFUllfUlVMRV9OQU1FIiwiRVhQUkVTU0lPTl9SVUxFX05BTUUiLCJMQUJFTF9SVUxFX05BTUUiLCJMRU5HVEhfT0ZfUlVMRV9OQU1FIiwiTE9HSUNBTF9URVJNX1JVTEVfTkFNRSIsIk5BTUVEX0JJTkRJTkdTX1JVTEVfTkFNRSIsIk5BTUVEX0JJTkRJTkdfUlVMRV9OQU1FIiwiTkVHQVRFRF9URVJNX1JVTEVfTkFNRSIsIk5PREVTX1FVRVJZX1JVTEVfTkFNRSIsIk5PREVfUVVFUllfUlVMRV9OQU1FIiwiTk9OU0VOU0VfUlVMRV9OQU1FIiwiT0JKRUNUX0FTU0lHTk1FTlRfUlVMRV9OQU1FIiwiUEFSQU1FVEVSU19SVUxFX05BTUUiLCJQQVJBTUVURVJfUlVMRV9OQU1FIiwiUFJJTUlUSVZFX1JVTEVfTkFNRSIsIlBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSIsIlBST0NFRFVSRV9SVUxFX05BTUUiLCJSRURVQ0VfUlVMRV9OQU1FIiwiUkVGRVJFTkNFX1JVTEVfTkFNRSIsIlJFVFVSTl9CTE9DS19SVUxFX05BTUUiLCJSRVRVUk5fU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlNPTUVfUlVMRV9OQU1FIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlRFUk1TX1JVTEVfTkFNRSIsIlRFUk1fUlVMRV9OQU1FIiwiVEVSTkFSWV9SVUxFX05BTUUiLCJUT19JTlRFR0VSX1JVTEVfTkFNRSIsIlRSWV9JTlRFR0VSX1JVTEVfTkFNRSIsIlRZUEVfUlVMRV9OQU1FIiwiVkFMVUVTX1JVTEVfTkFNRSIsIlZBTFVFX1JVTEVfTkFNRSIsIlZBUklBQkxFX0FTU0lHTk1FTlRTX1JVTEVfTkFNRSIsIlZBUklBQkxFX0FTU0lHTk1FTlRfUlVMRV9OQU1FIiwiVkFSSUFCTEVfUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUEwQ2FBO2VBQUFBOztRQUhBQztlQUFBQTs7UUF0QkFDO2VBQUFBOztRQUpBQztlQUFBQTs7UUFzQkFDO2VBQUFBOztRQUVBQztlQUFBQTs7UUFyQkFDO2VBQUFBOztRQVJBQztlQUFBQTs7UUFGQUM7ZUFBQUE7O1FBbUJBQztlQUFBQTs7UUFsQkFDO2VBQUFBOztRQWFBQztlQUFBQTs7UUFXQUM7ZUFBQUE7O1FBR0FDO2VBQUFBOztRQURBQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBSEFDO2VBQUFBOztRQUxBQztlQUFBQTs7UUFUQUM7ZUFBQUE7O1FBeUJBQztlQUFBQTs7UUFkQUM7ZUFBQUE7O1FBSEFDO2VBQUFBOztRQUZBQztlQUFBQTs7UUFlQUM7ZUFBQUE7O1FBakJBQztlQUFBQTs7UUFSQUM7ZUFBQUE7O1FBV0FDO2VBQUFBOztRQVFBQztlQUFBQTs7UUFRQUM7ZUFBQUE7O1FBcENBQztlQUFBQTs7UUFnQkFDO2VBQUFBOztRQWJBQztlQUFBQTs7UUFGQUM7ZUFBQUE7O1FBU0FDO2VBQUFBOztRQWVBQztlQUFBQTs7UUFDQUM7ZUFBQUE7O1FBeEJBQztlQUFBQTs7UUFNQUM7ZUFBQUE7O1FBREFDO2VBQUFBOztRQWtDQUM7ZUFBQUE7O1FBRkFDO2VBQUFBOztRQTNCQUM7ZUFBQUE7OztBQVpOLE1BQU1aLGlCQUFpQjtBQUN2QixNQUFNRyxpQkFBaUI7QUFDdkIsTUFBTUksaUJBQWlCO0FBQ3ZCLE1BQU1MLGtCQUFrQjtBQUN4QixNQUFNdkIsa0JBQWtCO0FBQ3hCLE1BQU1FLGtCQUFrQjtBQUN4QixNQUFNSCxrQkFBa0I7QUFDeEIsTUFBTStCLGtCQUFrQjtBQUN4QixNQUFNRCxtQkFBbUI7QUFDekIsTUFBTVosbUJBQW1CO0FBQ3pCLE1BQU1RLG9CQUFvQjtBQUMxQixNQUFNOUIsb0JBQW9CO0FBQzFCLE1BQU1zQyxxQkFBcUI7QUFDM0IsTUFBTXZCLHFCQUFxQjtBQUMzQixNQUFNWixxQkFBcUI7QUFDM0IsTUFBTUoscUJBQXFCO0FBQzNCLE1BQU00QixzQkFBc0I7QUFDNUIsTUFBTU4sc0JBQXNCO0FBQzVCLE1BQU1iLHNCQUFzQjtBQUM1QixNQUFNVyxzQkFBc0I7QUFDNUIsTUFBTUksc0JBQXNCO0FBQzVCLE1BQU1MLHNCQUFzQjtBQUM1QixNQUFNSix1QkFBdUI7QUFDN0IsTUFBTVIsdUJBQXVCO0FBQzdCLE1BQU1XLHVCQUF1QjtBQUM3QixNQUFNYyx1QkFBdUI7QUFDN0IsTUFBTUMsd0JBQXdCO0FBQzlCLE1BQU1uQix3QkFBd0I7QUFDOUIsTUFBTVcseUJBQXlCO0FBQy9CLE1BQU1mLHlCQUF5QjtBQUMvQixNQUFNRyx5QkFBeUI7QUFDL0IsTUFBTUQsMEJBQTBCO0FBQ2hDLE1BQU1ELDJCQUEyQjtBQUNqQyxNQUFNVCwyQkFBMkI7QUFDakMsTUFBTW1CLDJCQUEyQjtBQUNqQyxNQUFNbEIsNEJBQTRCO0FBQ2xDLE1BQU11Qiw2QkFBNkI7QUFDbkMsTUFBTTNCLDZCQUE2QjtBQUNuQyxNQUFNa0IsOEJBQThCO0FBQ3BDLE1BQU1xQixnQ0FBZ0M7QUFDdEMsTUFBTXhDLGdDQUFnQztBQUN0QyxNQUFNdUMsaUNBQWlDIn0=
@@ -14,9 +14,18 @@ _export(exports, {
14
14
  },
15
15
  get free () {
16
16
  return free;
17
+ },
18
+ get instantiate () {
19
+ return instantiate;
17
20
  }
18
21
  });
19
22
  const _block = /*#__PURE__*/ _interop_require_wildcard(require("../context/block"));
23
+ const _literal = /*#__PURE__*/ _interop_require_default(require("../context/literal"));
24
+ function _interop_require_default(obj) {
25
+ return obj && obj.__esModule ? obj : {
26
+ default: obj
27
+ };
28
+ }
20
29
  function _getRequireWildcardCache(nodeInterop) {
21
30
  if (typeof WeakMap !== "function") return null;
22
31
  var cacheBabelInterop = new WeakMap();
@@ -67,6 +76,11 @@ function confine(innerFunction, variables, context) {
67
76
  context = blockContext; ///
68
77
  return innerFunction(context);
69
78
  }
79
+ function instantiate(innerFunction, context) {
80
+ const literalContext = _literal.default.fromNothing(context);
81
+ context = literalContext; ///
82
+ return innerFunction(context);
83
+ }
70
84
  function freeContext(context) {
71
85
  let contextBlockContext = (0, _block.isContextBlockContext)(context);
72
86
  while(contextBlockContext){
@@ -76,4 +90,4 @@ function freeContext(context) {
76
90
  return context;
77
91
  }
78
92
 
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEJsb2NrQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9ibG9ja1wiO1xuXG5pbXBvcnQgeyBpc0NvbnRleHRCbG9ja0NvbnRleHQgfSBmcm9tIFwiLi4vY29udGV4dC9ibG9ja1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZnJlZShpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnRleHQgPSBmcmVlQ29udGV4dChjb250ZXh0KTsgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25maW5lKGlubmVyRnVuY3Rpb24sIHZhcmlhYmxlcywgY29udGV4dCkge1xuICBjb25zdCBibG9ja0NvbnRleHQgPSBCbG9ja0NvbnRleHQuZnJvbVZhcmlhYmxlcyh2YXJpYWJsZXMsIGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBibG9ja0NvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZnVuY3Rpb24gZnJlZUNvbnRleHQoY29udGV4dCkge1xuICBsZXQgY29udGV4dEJsb2NrQ29udGV4dCA9IGlzQ29udGV4dEJsb2NrQ29udGV4dChjb250ZXh0KTtcblxuICB3aGlsZSAoY29udGV4dEJsb2NrQ29udGV4dCkge1xuICAgIGNvbnRleHQgPSBjb250ZXh0LmdldENvbnRleHQoKTtcblxuICAgIGNvbnRleHRCbG9ja0NvbnRleHQgPSBpc0NvbnRleHRCbG9ja0NvbnRleHQoY29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gY29udGV4dDtcbn1cbiJdLCJuYW1lcyI6WyJjb25maW5lIiwiZnJlZSIsImlubmVyRnVuY3Rpb24iLCJjb250ZXh0IiwiZnJlZUNvbnRleHQiLCJ2YXJpYWJsZXMiLCJibG9ja0NvbnRleHQiLCJCbG9ja0NvbnRleHQiLCJmcm9tVmFyaWFibGVzIiwiY29udGV4dEJsb2NrQ29udGV4dCIsImlzQ29udGV4dEJsb2NrQ29udGV4dCIsImdldENvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQVlnQkE7ZUFBQUE7O1FBTkFDO2VBQUFBOzs7K0RBSlM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlsQixTQUFTQSxLQUFLQyxhQUFhLEVBQUVDLE9BQU87SUFDekNBLFVBQVVDLFlBQVlELFVBQVUsR0FBRztJQUVuQyxPQUFPRCxjQUFjQztBQUN2QjtBQUVPLFNBQVNILFFBQVFFLGFBQWEsRUFBRUcsU0FBUyxFQUFFRixPQUFPO0lBQ3ZELE1BQU1HLGVBQWVDLGNBQVksQ0FBQ0MsYUFBYSxDQUFDSCxXQUFXRjtJQUUzREEsVUFBVUcsY0FBZSxHQUFHO0lBRTVCLE9BQU9KLGNBQWNDO0FBQ3ZCO0FBRUEsU0FBU0MsWUFBWUQsT0FBTztJQUMxQixJQUFJTSxzQkFBc0JDLElBQUFBLDRCQUFxQixFQUFDUDtJQUVoRCxNQUFPTSxvQkFBcUI7UUFDMUJOLFVBQVVBLFFBQVFRLFVBQVU7UUFFNUJGLHNCQUFzQkMsSUFBQUEsNEJBQXFCLEVBQUNQO0lBQzlDO0lBRUEsT0FBT0E7QUFDVCJ9
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEJsb2NrQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9ibG9ja1wiO1xuaW1wb3J0IExpdGVyYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xpdGVyYWxcIjtcblxuaW1wb3J0IHsgaXNDb250ZXh0QmxvY2tDb250ZXh0IH0gZnJvbSBcIi4uL2NvbnRleHQvYmxvY2tcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZyZWUoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb250ZXh0ID0gZnJlZUNvbnRleHQoY29udGV4dCk7IC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uZmluZShpbm5lckZ1bmN0aW9uLCB2YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgYmxvY2tDb250ZXh0ID0gQmxvY2tDb250ZXh0LmZyb21WYXJpYWJsZXModmFyaWFibGVzLCBjb250ZXh0KTtcblxuICBjb250ZXh0ID0gYmxvY2tDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZShpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IGxpdGVyYWxDb250ZXh0ID0gTGl0ZXJhbENvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IGxpdGVyYWxDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmZ1bmN0aW9uIGZyZWVDb250ZXh0KGNvbnRleHQpIHtcbiAgbGV0IGNvbnRleHRCbG9ja0NvbnRleHQgPSBpc0NvbnRleHRCbG9ja0NvbnRleHQoY29udGV4dCk7XG5cbiAgd2hpbGUgKGNvbnRleHRCbG9ja0NvbnRleHQpIHtcbiAgICBjb250ZXh0ID0gY29udGV4dC5nZXRDb250ZXh0KCk7XG5cbiAgICBjb250ZXh0QmxvY2tDb250ZXh0ID0gaXNDb250ZXh0QmxvY2tDb250ZXh0KGNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRleHQ7XG59XG4iXSwibmFtZXMiOlsiY29uZmluZSIsImZyZWUiLCJpbnN0YW50aWF0ZSIsImlubmVyRnVuY3Rpb24iLCJjb250ZXh0IiwiZnJlZUNvbnRleHQiLCJ2YXJpYWJsZXMiLCJibG9ja0NvbnRleHQiLCJCbG9ja0NvbnRleHQiLCJmcm9tVmFyaWFibGVzIiwibGl0ZXJhbENvbnRleHQiLCJMaXRlcmFsQ29udGV4dCIsImZyb21Ob3RoaW5nIiwiY29udGV4dEJsb2NrQ29udGV4dCIsImlzQ29udGV4dEJsb2NrQ29udGV4dCIsImdldENvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQWFnQkE7ZUFBQUE7O1FBTkFDO2VBQUFBOztRQWNBQztlQUFBQTs7OytEQW5CUztnRUFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJcEIsU0FBU0QsS0FBS0UsYUFBYSxFQUFFQyxPQUFPO0lBQ3pDQSxVQUFVQyxZQUFZRCxVQUFVLEdBQUc7SUFFbkMsT0FBT0QsY0FBY0M7QUFDdkI7QUFFTyxTQUFTSixRQUFRRyxhQUFhLEVBQUVHLFNBQVMsRUFBRUYsT0FBTztJQUN2RCxNQUFNRyxlQUFlQyxjQUFZLENBQUNDLGFBQWEsQ0FBQ0gsV0FBV0Y7SUFFM0RBLFVBQVVHLGNBQWUsR0FBRztJQUU1QixPQUFPSixjQUFjQztBQUN2QjtBQUVPLFNBQVNGLFlBQVlDLGFBQWEsRUFBRUMsT0FBTztJQUNoRCxNQUFNTSxpQkFBaUJDLGdCQUFjLENBQUNDLFdBQVcsQ0FBQ1I7SUFFbERBLFVBQVVNLGdCQUFpQixHQUFHO0lBRTlCLE9BQU9QLGNBQWNDO0FBQ3ZCO0FBRUEsU0FBU0MsWUFBWUQsT0FBTztJQUMxQixJQUFJUyxzQkFBc0JDLElBQUFBLDRCQUFxQixFQUFDVjtJQUVoRCxNQUFPUyxvQkFBcUI7UUFDMUJULFVBQVVBLFFBQVFXLFVBQVU7UUFFNUJGLHNCQUFzQkMsSUFBQUEsNEJBQXFCLEVBQUNWO0lBQzlDO0lBRUEsT0FBT0E7QUFDVCJ9