occam-verify-cli 0.0.892 → 0.0.893

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 (51) hide show
  1. package/lib/axiomLemmaTheoremConjecture.js +3 -3
  2. package/lib/conclusion.js +4 -3
  3. package/lib/metaConsequent.js +4 -3
  4. package/lib/metaLemmaMetatheorem.js +13 -13
  5. package/lib/metaSupposition.js +6 -5
  6. package/lib/premise.js +9 -8
  7. package/lib/rule.js +16 -15
  8. package/lib/verifier/nodes/metaLevel.js +7 -7
  9. package/lib/verify/derivation.js +10 -90
  10. package/lib/verify/metaDerivation.js +7 -87
  11. package/lib/verify/metaProofStep.js +76 -0
  12. package/lib/verify/metaSubDerivation.js +25 -0
  13. package/lib/verify/metaSubproof.js +34 -0
  14. package/lib/verify/metaproof.js +7 -8
  15. package/lib/verify/metastatement/qualified.js +53 -34
  16. package/lib/verify/metastatement/unqualified.js +16 -19
  17. package/lib/verify/proofStep.js +70 -0
  18. package/lib/verify/ruleDerivation.js +7 -85
  19. package/lib/verify/ruleProofStep.js +76 -0
  20. package/lib/verify/ruleSubDerivation.js +25 -0
  21. package/lib/verify/ruleSubproof.js +34 -0
  22. package/lib/verify/statement/qualified.js +47 -89
  23. package/lib/verify/statement/unqualified.js +16 -19
  24. package/lib/verify/subDerivation.js +25 -0
  25. package/lib/verify/subproof.js +34 -0
  26. package/package.json +4 -4
  27. package/src/axiomLemmaTheoremConjecture.js +4 -2
  28. package/src/conclusion.js +6 -4
  29. package/src/metaConsequent.js +6 -4
  30. package/src/metaLemmaMetatheorem.js +12 -12
  31. package/src/metaSupposition.js +11 -8
  32. package/src/premise.js +15 -14
  33. package/src/rule.js +16 -14
  34. package/src/verifier/nodes/metaLevel.js +6 -6
  35. package/src/verify/derivation.js +10 -138
  36. package/src/verify/metaDerivation.js +7 -135
  37. package/src/verify/metaProofStep.js +98 -0
  38. package/src/verify/metaSubDerivation.js +22 -0
  39. package/src/verify/metaSubproof.js +32 -0
  40. package/src/verify/metaproof.js +11 -11
  41. package/src/verify/metastatement/qualified.js +67 -31
  42. package/src/verify/metastatement/unqualified.js +16 -19
  43. package/src/verify/proofStep.js +88 -0
  44. package/src/verify/ruleDerivation.js +7 -133
  45. package/src/verify/ruleProofStep.js +99 -0
  46. package/src/verify/ruleSubDerivation.js +22 -0
  47. package/src/verify/ruleSubproof.js +32 -0
  48. package/src/verify/statement/qualified.js +55 -127
  49. package/src/verify/statement/unqualified.js +16 -19
  50. package/src/verify/subDerivation.js +22 -0
  51. package/src/verify/subproof.js +32 -0
package/lib/rule.js CHANGED
@@ -12,6 +12,7 @@ var _label = /*#__PURE__*/ _interop_require_default(require("./label"));
12
12
  var _premise = /*#__PURE__*/ _interop_require_default(require("./premise"));
13
13
  var _conclusion = /*#__PURE__*/ _interop_require_default(require("./conclusion"));
14
14
  var _array = require("./utilities/array");
15
+ var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
15
16
  function _class_call_check(instance, Constructor) {
16
17
  if (!(instance instanceof Constructor)) {
17
18
  throw new TypeError("Cannot call a class as a function");
@@ -71,10 +72,10 @@ var Rule = /*#__PURE__*/ function() {
71
72
  },
72
73
  {
73
74
  key: "matchStatement",
74
- value: function matchStatement(statementNode, statementLocalContext) {
75
+ value: function matchStatement(statementNode, localContext) {
75
76
  var _this = this;
76
77
  var statementNatches;
77
- var premisesLength = this.premises.length;
78
+ var premisesLength = this.premises.length, statementLocalContext = localContext; ///
78
79
  if (premisesLength === 0) {
79
80
  var substitutions = [], conclusionMatches = matchConclusion(this.conclusion, statementNode, substitutions, this.fileContext, statementLocalContext);
80
81
  statementNatches = conclusionMatches; ///
@@ -97,20 +98,20 @@ var Rule = /*#__PURE__*/ function() {
97
98
  },
98
99
  {
99
100
  key: "matchMetastatement",
100
- value: function matchMetastatement(metastatementNode, metastatementLocalMetaContext) {
101
+ value: function matchMetastatement(metastatementNode, localMetaContext) {
101
102
  var _this = this;
102
103
  var metastatementNatches;
103
104
  var premisesLength = this.premises.length;
104
105
  if (premisesLength === 0) {
105
- var substitutions = [], conclusionMatches = metaMatchConclusion(this.conclusion, metastatementNode, substitutions, this.fileContext, metastatementLocalMetaContext);
106
+ var substitutions = [], conclusionMatches = metaMatchConclusion(this.conclusion, metastatementNode, substitutions, this.fileContext, localMetaContext);
106
107
  metastatementNatches = conclusionMatches; ///
107
108
  } else {
108
- var metaproofSteps = metastatementLocalMetaContext.getMetaproofSteps();
109
+ var metaproofSteps = localMetaContext.getMetaproofSteps();
109
110
  metastatementNatches = (0, _array.someSubArray)(metaproofSteps, premisesLength, function(metaproofSteps) {
110
111
  var premisesMatchConclusion = false;
111
- var substitutions = [], premisesMatch = metaMatchPremises(_this.premises, metaproofSteps, substitutions, _this.fileContext, metastatementLocalMetaContext);
112
+ var substitutions = [], premisesMatch = metaMatchPremises(_this.premises, metaproofSteps, substitutions, _this.fileContext, localMetaContext);
112
113
  if (premisesMatch) {
113
- var conclusionMatches = metaMatchConclusion(_this.conclusion, metastatementNode, substitutions, _this.fileContext, metastatementLocalMetaContext);
114
+ var conclusionMatches = metaMatchConclusion(_this.conclusion, metastatementNode, substitutions, _this.fileContext, localMetaContext);
114
115
  premisesMatchConclusion = conclusionMatches; ///
115
116
  }
116
117
  if (premisesMatchConclusion) {
@@ -211,17 +212,17 @@ function matchConclusion(conclusion, statementNode, substitutions, fileContext,
211
212
  var statementNodeMatches = conclusion.matchStatementNode(statementNode, substitutions, fileContext, statementLocalContext), conclusionMatches = statementNodeMatches; ///
212
213
  return conclusionMatches;
213
214
  }
214
- function metaMatchPremise(premise, metaproofSteps, substitutions, fileContext, metastatementLocalMetaContext) {
215
+ function metaMatchPremise(premise, metaproofSteps, substitutions, fileContext, localMetaContext) {
215
216
  var metaproofStep = (0, _array.prune)(metaproofSteps, function(metaproofStep) {
216
217
  var ruleSubproofNode = metaproofStep.getRuleSubproofNode(), metastatementNode = metaproofStep.getMetastatementNode();
217
218
  if (ruleSubproofNode !== null) {
218
- var ruleSubProofNodeMatches = premise.matchRuleSubproofNode(ruleSubproofNode, substitutions, fileContext, metastatementLocalMetaContext);
219
+ var ruleSubProofNodeMatches = premise.matchRuleSubproofNode(ruleSubproofNode, substitutions, fileContext, localMetaContext);
219
220
  if (!ruleSubProofNodeMatches) {
220
221
  return true;
221
222
  }
222
223
  }
223
224
  if (metastatementNode !== null) {
224
- var metastatementNodeMatches = premise.matchMetastatementNode(metastatementNode, substitutions, fileContext, metastatementLocalMetaContext);
225
+ var metastatementNodeMatches = premise.matchMetastatementNode(metastatementNode, substitutions, fileContext, localMetaContext);
225
226
  if (!metastatementNodeMatches) {
226
227
  return true;
227
228
  }
@@ -230,18 +231,18 @@ function metaMatchPremise(premise, metaproofSteps, substitutions, fileContext, m
230
231
  var premiseMatches = metaproofStep !== null;
231
232
  return premiseMatches;
232
233
  }
233
- function metaMatchPremises(premise, metaproofSteps, substitutions, fileContext, metastatementLocalMetaContext) {
234
+ function metaMatchPremises(premise, metaproofSteps, substitutions, fileContext, localMetaContext) {
234
235
  var premisesMatch = premise.every(function(premise) {
235
- var premiseMatches = metaMatchPremise(premise, metaproofSteps, substitutions, fileContext, metastatementLocalMetaContext);
236
+ var premiseMatches = metaMatchPremise(premise, metaproofSteps, substitutions, fileContext, localMetaContext);
236
237
  if (premiseMatches) {
237
238
  return true;
238
239
  }
239
240
  });
240
241
  return premisesMatch;
241
242
  }
242
- function metaMatchConclusion(conclusion, metastatementNode, substitutions, fileContext, metastatementLocalMetaContext) {
243
- var metastatementNodeMatches = conclusion.matchMetastatementNode(metastatementNode, substitutions, fileContext, metastatementLocalMetaContext), conclusionMatches = metastatementNodeMatches; ///
243
+ function metaMatchConclusion(conclusion, metastatementNode, substitutions, fileContext, localMetaContext) {
244
+ var metastatementNodeMatches = conclusion.matchMetastatementNode(metastatementNode, substitutions, fileContext, localMetaContext), conclusionMatches = metastatementNodeMatches; ///
244
245
  return conclusionMatches;
245
246
  }
246
247
 
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTGFiZWwgZnJvbSBcIi4vbGFiZWxcIjtcbmltcG9ydCBQcmVtaXNlIGZyb20gXCIuL3ByZW1pc2VcIjtcbmltcG9ydCBDb25jbHVzaW9uIGZyb20gXCIuL2NvbmNsdXNpb25cIjtcblxuaW1wb3J0IHsgcHJ1bmUgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IHNvbWVTdWJBcnJheSB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSdWxlIHtcbiAgY29uc3RydWN0b3IobGFiZWxzLCBwcmVtaXNlcywgY29uY2x1c2lvbiwgZmlsZUNvbnRleHQpIHtcbiAgICB0aGlzLmxhYmVscyA9IGxhYmVscztcbiAgICB0aGlzLnByZW1pc2VzID0gcHJlbWlzZXM7XG4gICAgdGhpcy5jb25jbHVzaW9uID0gY29uY2x1c2lvbjtcbiAgICB0aGlzLmZpbGVDb250ZXh0ID0gZmlsZUNvbnRleHQ7XG4gIH1cblxuICBnZXRMYWJlbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWxzO1xuICB9XG5cbiAgZ2V0UHJlbWlzZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJlbWlzZXM7XG4gIH1cblxuICBnZXRDb25jbHVzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmNsdXNpb247XG4gIH1cblxuICBnZXRGaWxlQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlQ29udGV4dDtcbiAgfVxuXG4gIG1hdGNoU3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIHN0YXRlbWVudExvY2FsQ29udGV4dCkge1xuICAgIGxldCBzdGF0ZW1lbnROYXRjaGVzO1xuXG4gICAgY29uc3QgcHJlbWlzZXNMZW5ndGggPSB0aGlzLnByZW1pc2VzLmxlbmd0aDtcblxuICAgIGlmIChwcmVtaXNlc0xlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBtYXRjaENvbmNsdXNpb24odGhpcy5jb25jbHVzaW9uLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpO1xuXG4gICAgICBzdGF0ZW1lbnROYXRjaGVzID0gY29uY2x1c2lvbk1hdGNoZXM7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcm9vZlN0ZXBzID0gc3RhdGVtZW50TG9jYWxDb250ZXh0LmdldFByb29mU3RlcHMoKTtcblxuICAgICAgc3RhdGVtZW50TmF0Y2hlcyA9IHNvbWVTdWJBcnJheShwcm9vZlN0ZXBzLCBwcmVtaXNlc0xlbmd0aCwgKHByb29mU3RlcHMpID0+IHtcbiAgICAgICAgbGV0IHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgICAgICBwcmVtaXNlc01hdGNoID0gbWF0Y2hQcmVtaXNlcyh0aGlzLnByZW1pc2VzLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpO1xuXG4gICAgICAgIGlmIChwcmVtaXNlc01hdGNoKSB7XG4gICAgICAgICAgY29uc3QgY29uY2x1c2lvbk1hdGNoZXMgPSBtYXRjaENvbmNsdXNpb24odGhpcy5jb25jbHVzaW9uLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgcHJlbWlzZXNNYXRjaENvbmNsdXNpb24gPSBjb25jbHVzaW9uTWF0Y2hlczsgIC8vL1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnROYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhc3RhdGVtZW50TG9jYWxNZXRhQ29udGV4dCkge1xuICAgIGxldCBtZXRhc3RhdGVtZW50TmF0Y2hlcztcblxuICAgIGNvbnN0IHByZW1pc2VzTGVuZ3RoID0gdGhpcy5wcmVtaXNlcy5sZW5ndGg7XG5cbiAgICBpZiAocHJlbWlzZXNMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgICAgIGNvbmNsdXNpb25NYXRjaGVzID0gbWV0YU1hdGNoQ29uY2x1c2lvbih0aGlzLmNvbmNsdXNpb24sIG1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBtZXRhc3RhdGVtZW50TG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnROYXRjaGVzID0gY29uY2x1c2lvbk1hdGNoZXM7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtZXRhcHJvb2ZTdGVwcyA9IG1ldGFzdGF0ZW1lbnRMb2NhbE1ldGFDb250ZXh0LmdldE1ldGFwcm9vZlN0ZXBzKCk7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnROYXRjaGVzID0gc29tZVN1YkFycmF5KG1ldGFwcm9vZlN0ZXBzLCBwcmVtaXNlc0xlbmd0aCwgKG1ldGFwcm9vZlN0ZXBzKSA9PiB7XG4gICAgICAgIGxldCBwcmVtaXNlc01hdGNoQ29uY2x1c2lvbiA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgICAgICAgcHJlbWlzZXNNYXRjaCA9IG1ldGFNYXRjaFByZW1pc2VzKHRoaXMucHJlbWlzZXMsIG1ldGFwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBtZXRhc3RhdGVtZW50TG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgICAgaWYgKHByZW1pc2VzTWF0Y2gpIHtcbiAgICAgICAgICBjb25zdCBjb25jbHVzaW9uTWF0Y2hlcyA9IG1ldGFNYXRjaENvbmNsdXNpb24odGhpcy5jb25jbHVzaW9uLCBtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgdGhpcy5maWxlQ29udGV4dCwgbWV0YXN0YXRlbWVudExvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICAgICAgcHJlbWlzZXNNYXRjaENvbmNsdXNpb24gPSBjb25jbHVzaW9uTWF0Y2hlczsgIC8vL1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50TmF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSB0aGlzLmxhYmVscy5zb21lKChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWxNYXRjaGVzTWV0YXZhcmlhYmxlTm9kZSA9IGxhYmVsLm1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKGxhYmVsTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXM7XG4gIH1cblxuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgbGFiZWxzSlNPTiA9IHRoaXMubGFiZWxzLm1hcCgobGFiZWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsSlNPTiA9IGxhYmVsLnRvSlNPTih0b2tlbnMpO1xuXG4gICAgICAgICAgICByZXR1cm4gbGFiZWxKU09OO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHByZW1pc2VzSlNPTiA9IHRoaXMucHJlbWlzZXMubWFwKChwcmVtaXNlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcmVtaXNlSlNPTiA9IHByZW1pc2UudG9KU09OKHRva2Vucyk7XG5cbiAgICAgICAgICAgIHJldHVybiBwcmVtaXNlSlNPTjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjb25jbHVzaW9uSlNPTiA9IHRoaXMuY29uY2x1c2lvbi50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICBsYWJlbHMgPSBsYWJlbHNKU09OLCAgLy8vXG4gICAgICAgICAgcHJlbWlzZXMgPSBwcmVtaXNlc0pTT04sICAvLy9cbiAgICAgICAgICBjb25jbHVzaW9uID0gY29uY2x1c2lvbkpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbGFiZWxzLFxuICAgICAgICAgICAgcHJlbWlzZXMsXG4gICAgICAgICAgICBjb25jbHVzaW9uXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgcnVsZTtcblxuICAgIGxldCB7IGxhYmVscyB9ID0ganNvbjtcblxuICAgIGNvbnN0IGxhYmVsc0pTT04gPSBsYWJlbHM7ICAvLy9cblxuICAgIGxhYmVscyA9IGxhYmVsc0pTT04ubWFwKChsYWJlbEpTT04pID0+IHtcbiAgICAgIGNvbnN0IGpzb24gPSBsYWJlbEpTT04sIC8vL1xuICAgICAgICAgICAgbGFiZWwgPSBMYWJlbC5mcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgICAgcmV0dXJuIGxhYmVsO1xuICAgIH0pO1xuXG4gICAgbGV0IHsgcHJlbWlzZXMgfSA9IGpzb247XG5cbiAgICBjb25zdCBwcmVtaXNlc0pTT04gPSBwcmVtaXNlczsgIC8vL1xuXG4gICAgcHJlbWlzZXMgPSBwcmVtaXNlc0pTT04ubWFwKChwcmVtaXNlSlNPTikgPT4ge1xuICAgICAgY29uc3QganNvbiA9IHByZW1pc2VKU09OLCAvLy9cbiAgICAgICAgICAgIHByZW1pc2UgPSBQcmVtaXNlLmZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpO1xuXG4gICAgICByZXR1cm4gcHJlbWlzZTtcbiAgICB9KTtcblxuICAgIGxldCB7IGNvbmNsdXNpb24gfSA9IGpzb247XG5cbiAgICBjb25zdCBjb25jbHVzaW9uSlNPTiA9IGNvbmNsdXNpb247ICAvLy9cblxuICAgIGpzb24gPSBjb25jbHVzaW9uSlNPTjsgIC8vL1xuXG4gICAgY29uY2x1c2lvbiA9IENvbmNsdXNpb24uZnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCk7XG5cbiAgICBydWxlID0gbmV3IFJ1bGUobGFiZWxzLCBwcmVtaXNlcywgY29uY2x1c2lvbiwgZmlsZUNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHJ1bGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUxhYmVsc1ByZW1pc2VzQ29uY2x1c2lvbkFuZEZpbGVDb250ZXh0KGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgcnVsZSA9IG5ldyBSdWxlKGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24sIGZpbGVDb250ZXh0KTtcblxuICAgIHJldHVybiBydWxlO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZShwcmVtaXNlLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgc3RhdGVtZW50TG9jYWxDb250ZXh0KSB7XG4gIGNvbnN0IHByb29mU3RlcCA9IHBydW5lKHByb29mU3RlcHMsIChwcm9vZlN0ZXApID0+IHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gcHJvb2ZTdGVwLmdldFN0YXRlbWVudE5vZGUoKVxuXG4gICAgaWYgKHN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGVNYXRjaGVzID0gcHJlbWlzZS5tYXRjaFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIHN0YXRlbWVudExvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmICghc3RhdGVtZW50Tm9kZU1hdGNoZXMpIHsgIC8vL1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0pIHx8IG51bGw7XG5cbiAgY29uc3QgcHJlbWlzZU1hdGNoZXMgPSAocHJvb2ZTdGVwICE9PSBudWxsKTtcblxuICByZXR1cm4gcHJlbWlzZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZXMocHJlbWlzZSwgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIHN0YXRlbWVudExvY2FsQ29udGV4dCkge1xuICBjb25zdCBwcmVtaXNlc01hdGNoID0gcHJlbWlzZS5ldmVyeSgocHJlbWlzZSkgPT4ge1xuICAgIGNvbnN0IHByZW1pc2VNYXRjaGVzID0gbWF0Y2hQcmVtaXNlKHByZW1pc2UsIHByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHByZW1pc2VNYXRjaGVzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBwcmVtaXNlc01hdGNoO1xufVxuXG5mdW5jdGlvbiBtYXRjaENvbmNsdXNpb24oY29uY2x1c2lvbiwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIHN0YXRlbWVudExvY2FsQ29udGV4dCkge1xuICBjb25zdCBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGNvbmNsdXNpb24ubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpLFxuICAgICAgICBjb25jbHVzaW9uTWF0Y2hlcyA9IHN0YXRlbWVudE5vZGVNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gY29uY2x1c2lvbk1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1ldGFNYXRjaFByZW1pc2UocHJlbWlzZSwgbWV0YXByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBtZXRhc3RhdGVtZW50TG9jYWxNZXRhQ29udGV4dCkge1xuICBjb25zdCBtZXRhcHJvb2ZTdGVwID0gcHJ1bmUobWV0YXByb29mU3RlcHMsIChtZXRhcHJvb2ZTdGVwKSA9PiB7XG4gICAgY29uc3QgcnVsZVN1YnByb29mTm9kZSA9IG1ldGFwcm9vZlN0ZXAuZ2V0UnVsZVN1YnByb29mTm9kZSgpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXByb29mU3RlcC5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpXG5cbiAgICBpZiAocnVsZVN1YnByb29mTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcnVsZVN1YlByb29mTm9kZU1hdGNoZXMgPSBwcmVtaXNlLm1hdGNoUnVsZVN1YnByb29mTm9kZShydWxlU3VicHJvb2ZOb2RlLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbWV0YXN0YXRlbWVudExvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICBpZiAoIXJ1bGVTdWJQcm9vZk5vZGVNYXRjaGVzKSB7ICAvLy9cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBwcmVtaXNlLm1hdGNoTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBtZXRhc3RhdGVtZW50TG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgIGlmICghbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzKSB7ICAvLy9cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9KSB8fCBudWxsO1xuXG4gIGNvbnN0IHByZW1pc2VNYXRjaGVzID0gKG1ldGFwcm9vZlN0ZXAgIT09IG51bGwpO1xuXG4gIHJldHVybiBwcmVtaXNlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWV0YU1hdGNoUHJlbWlzZXMocHJlbWlzZSwgbWV0YXByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBtZXRhc3RhdGVtZW50TG9jYWxNZXRhQ29udGV4dCkge1xuICBjb25zdCBwcmVtaXNlc01hdGNoID0gcHJlbWlzZS5ldmVyeSgocHJlbWlzZSkgPT4ge1xuICAgIGNvbnN0IHByZW1pc2VNYXRjaGVzID0gbWV0YU1hdGNoUHJlbWlzZShwcmVtaXNlLCBtZXRhcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIG1ldGFzdGF0ZW1lbnRMb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChwcmVtaXNlTWF0Y2hlcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcHJlbWlzZXNNYXRjaDtcbn1cblxuZnVuY3Rpb24gbWV0YU1hdGNoQ29uY2x1c2lvbihjb25jbHVzaW9uLCBtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIG1ldGFzdGF0ZW1lbnRMb2NhbE1ldGFDb250ZXh0KSB7XG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGNvbmNsdXNpb24ubWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIG1ldGFzdGF0ZW1lbnRMb2NhbE1ldGFDb250ZXh0KSxcbiAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBjb25jbHVzaW9uTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJSdWxlIiwibGFiZWxzIiwicHJlbWlzZXMiLCJjb25jbHVzaW9uIiwiZmlsZUNvbnRleHQiLCJnZXRMYWJlbHMiLCJnZXRQcmVtaXNlcyIsImdldENvbmNsdXNpb24iLCJnZXRGaWxlQ29udGV4dCIsIm1hdGNoU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudExvY2FsQ29udGV4dCIsInN0YXRlbWVudE5hdGNoZXMiLCJwcmVtaXNlc0xlbmd0aCIsImxlbmd0aCIsInN1YnN0aXR1dGlvbnMiLCJjb25jbHVzaW9uTWF0Y2hlcyIsIm1hdGNoQ29uY2x1c2lvbiIsInByb29mU3RlcHMiLCJnZXRQcm9vZlN0ZXBzIiwic29tZVN1YkFycmF5IiwicHJlbWlzZXNNYXRjaENvbmNsdXNpb24iLCJwcmVtaXNlc01hdGNoIiwibWF0Y2hQcmVtaXNlcyIsIm1hdGNoTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudExvY2FsTWV0YUNvbnRleHQiLCJtZXRhc3RhdGVtZW50TmF0Y2hlcyIsIm1ldGFNYXRjaENvbmNsdXNpb24iLCJtZXRhcHJvb2ZTdGVwcyIsImdldE1ldGFwcm9vZlN0ZXBzIiwibWV0YU1hdGNoUHJlbWlzZXMiLCJtYXRjaE1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMiLCJzb21lIiwibGFiZWwiLCJsYWJlbE1hdGNoZXNNZXRhdmFyaWFibGVOb2RlIiwidG9KU09OIiwidG9rZW5zIiwibGFiZWxzSlNPTiIsIm1hcCIsImxhYmVsSlNPTiIsInByZW1pc2VzSlNPTiIsInByZW1pc2UiLCJwcmVtaXNlSlNPTiIsImNvbmNsdXNpb25KU09OIiwianNvbiIsImZyb21KU09OQW5kRmlsZUNvbnRleHQiLCJydWxlIiwiTGFiZWwiLCJQcmVtaXNlIiwiQ29uY2x1c2lvbiIsImZyb21MYWJlbHNQcmVtaXNlc0NvbmNsdXNpb25BbmRGaWxlQ29udGV4dCIsIm1hdGNoUHJlbWlzZSIsInByb29mU3RlcCIsInBydW5lIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwicHJlbWlzZU1hdGNoZXMiLCJldmVyeSIsIm1ldGFNYXRjaFByZW1pc2UiLCJtZXRhcHJvb2ZTdGVwIiwicnVsZVN1YnByb29mTm9kZSIsImdldFJ1bGVTdWJwcm9vZk5vZGUiLCJnZXRNZXRhc3RhdGVtZW50Tm9kZSIsInJ1bGVTdWJQcm9vZk5vZGVNYXRjaGVzIiwibWF0Y2hSdWxlU3VicHJvb2ZOb2RlIiwibWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhc3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFTcUJBOzs7NERBUEg7OERBQ0U7aUVBQ0c7cUJBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHUCxJQUFBLEFBQU1BLHFCQUFELEFBQUw7YUFBTUEsS0FDUEMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsRUFBRUMsV0FBVztnQ0FEbENKO1FBRWpCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxXQUFXLEdBQUdBOztrQkFMRko7O1lBUW5CSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLE1BQU07WUFDcEI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLFFBQVE7WUFDdEI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLFVBQVU7WUFDeEI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJ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
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTGFiZWwgZnJvbSBcIi4vbGFiZWxcIjtcbmltcG9ydCBQcmVtaXNlIGZyb20gXCIuL3ByZW1pc2VcIjtcbmltcG9ydCBDb25jbHVzaW9uIGZyb20gXCIuL2NvbmNsdXNpb25cIjtcblxuaW1wb3J0IHsgcHJ1bmUgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IHNvbWVTdWJBcnJheSB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IGxvY2FsIGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUnVsZSB7XG4gIGNvbnN0cnVjdG9yKGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24sIGZpbGVDb250ZXh0KSB7XG4gICAgdGhpcy5sYWJlbHMgPSBsYWJlbHM7XG4gICAgdGhpcy5wcmVtaXNlcyA9IHByZW1pc2VzO1xuICAgIHRoaXMuY29uY2x1c2lvbiA9IGNvbmNsdXNpb247XG4gICAgdGhpcy5maWxlQ29udGV4dCA9IGZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0TGFiZWxzKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVscztcbiAgfVxuXG4gIGdldFByZW1pc2VzKCkge1xuICAgIHJldHVybiB0aGlzLnByZW1pc2VzO1xuICB9XG5cbiAgZ2V0Q29uY2x1c2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25jbHVzaW9uO1xuICB9XG5cbiAgZ2V0RmlsZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZUNvbnRleHQ7XG4gIH1cblxuICBtYXRjaFN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50TmF0Y2hlcztcblxuICAgIGNvbnN0IHByZW1pc2VzTGVuZ3RoID0gdGhpcy5wcmVtaXNlcy5sZW5ndGgsXG4gICAgICAgICAgc3RhdGVtZW50TG9jYWxDb250ZXh0ID0gbG9jYWxDb250ZXh0OyAvLy9cblxuICAgIGlmIChwcmVtaXNlc0xlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBtYXRjaENvbmNsdXNpb24odGhpcy5jb25jbHVzaW9uLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpO1xuXG4gICAgICBzdGF0ZW1lbnROYXRjaGVzID0gY29uY2x1c2lvbk1hdGNoZXM7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcm9vZlN0ZXBzID0gc3RhdGVtZW50TG9jYWxDb250ZXh0LmdldFByb29mU3RlcHMoKTtcblxuICAgICAgc3RhdGVtZW50TmF0Y2hlcyA9IHNvbWVTdWJBcnJheShwcm9vZlN0ZXBzLCBwcmVtaXNlc0xlbmd0aCwgKHByb29mU3RlcHMpID0+IHtcbiAgICAgICAgbGV0IHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgICAgICBwcmVtaXNlc01hdGNoID0gbWF0Y2hQcmVtaXNlcyh0aGlzLnByZW1pc2VzLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpO1xuXG4gICAgICAgIGlmIChwcmVtaXNlc01hdGNoKSB7XG4gICAgICAgICAgY29uc3QgY29uY2x1c2lvbk1hdGNoZXMgPSBtYXRjaENvbmNsdXNpb24odGhpcy5jb25jbHVzaW9uLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgcHJlbWlzZXNNYXRjaENvbmNsdXNpb24gPSBjb25jbHVzaW9uTWF0Y2hlczsgIC8vL1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnROYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnROYXRjaGVzO1xuXG4gICAgY29uc3QgcHJlbWlzZXNMZW5ndGggPSB0aGlzLnByZW1pc2VzLmxlbmd0aDtcblxuICAgIGlmIChwcmVtaXNlc0xlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdLFxuICAgICAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBtZXRhTWF0Y2hDb25jbHVzaW9uKHRoaXMuY29uY2x1c2lvbiwgbWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIHRoaXMuZmlsZUNvbnRleHQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICBtZXRhc3RhdGVtZW50TmF0Y2hlcyA9IGNvbmNsdXNpb25NYXRjaGVzOyAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWV0YXByb29mU3RlcHMgPSBsb2NhbE1ldGFDb250ZXh0LmdldE1ldGFwcm9vZlN0ZXBzKCk7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnROYXRjaGVzID0gc29tZVN1YkFycmF5KG1ldGFwcm9vZlN0ZXBzLCBwcmVtaXNlc0xlbmd0aCwgKG1ldGFwcm9vZlN0ZXBzKSA9PiB7XG4gICAgICAgIGxldCBwcmVtaXNlc01hdGNoQ29uY2x1c2lvbiA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbnMgPSBbXSxcbiAgICAgICAgICAgICAgcHJlbWlzZXNNYXRjaCA9IG1ldGFNYXRjaFByZW1pc2VzKHRoaXMucHJlbWlzZXMsIG1ldGFwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgICBpZiAocHJlbWlzZXNNYXRjaCkge1xuICAgICAgICAgIGNvbnN0IGNvbmNsdXNpb25NYXRjaGVzID0gbWV0YU1hdGNoQ29uY2x1c2lvbih0aGlzLmNvbmNsdXNpb24sIG1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCB0aGlzLmZpbGVDb250ZXh0LCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgICAgIHByZW1pc2VzTWF0Y2hDb25jbHVzaW9uID0gY29uY2x1c2lvbk1hdGNoZXM7ICAvLy9cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVtaXNlc01hdGNoQ29uY2x1c2lvbikge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE5hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzID0gdGhpcy5sYWJlbHMuc29tZSgobGFiZWwpID0+IHtcbiAgICAgIGNvbnN0IGxhYmVsTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUgPSBsYWJlbC5tYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgIGlmIChsYWJlbE1hdGNoZXNNZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgdG9KU09OKHRva2Vucykge1xuICAgIGNvbnN0IGxhYmVsc0pTT04gPSB0aGlzLmxhYmVscy5tYXAoKGxhYmVsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYWJlbEpTT04gPSBsYWJlbC50b0pTT04odG9rZW5zKTtcblxuICAgICAgICAgICAgcmV0dXJuIGxhYmVsSlNPTjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBwcmVtaXNlc0pTT04gPSB0aGlzLnByZW1pc2VzLm1hcCgocHJlbWlzZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJlbWlzZUpTT04gPSBwcmVtaXNlLnRvSlNPTih0b2tlbnMpO1xuXG4gICAgICAgICAgICByZXR1cm4gcHJlbWlzZUpTT047XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY29uY2x1c2lvbkpTT04gPSB0aGlzLmNvbmNsdXNpb24udG9KU09OKHRva2VucyksXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxzSlNPTiwgIC8vL1xuICAgICAgICAgIHByZW1pc2VzID0gcHJlbWlzZXNKU09OLCAgLy8vXG4gICAgICAgICAgY29uY2x1c2lvbiA9IGNvbmNsdXNpb25KU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGxhYmVscyxcbiAgICAgICAgICAgIHByZW1pc2VzLFxuICAgICAgICAgICAgY29uY2x1c2lvblxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHJ1bGU7XG5cbiAgICBsZXQgeyBsYWJlbHMgfSA9IGpzb247XG5cbiAgICBjb25zdCBsYWJlbHNKU09OID0gbGFiZWxzOyAgLy8vXG5cbiAgICBsYWJlbHMgPSBsYWJlbHNKU09OLm1hcCgobGFiZWxKU09OKSA9PiB7XG4gICAgICBjb25zdCBqc29uID0gbGFiZWxKU09OLCAvLy9cbiAgICAgICAgICAgIGxhYmVsID0gTGFiZWwuZnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgIHJldHVybiBsYWJlbDtcbiAgICB9KTtcblxuICAgIGxldCB7IHByZW1pc2VzIH0gPSBqc29uO1xuXG4gICAgY29uc3QgcHJlbWlzZXNKU09OID0gcHJlbWlzZXM7ICAvLy9cblxuICAgIHByZW1pc2VzID0gcHJlbWlzZXNKU09OLm1hcCgocHJlbWlzZUpTT04pID0+IHtcbiAgICAgIGNvbnN0IGpzb24gPSBwcmVtaXNlSlNPTiwgLy8vXG4gICAgICAgICAgICBwcmVtaXNlID0gUHJlbWlzZS5mcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgICAgcmV0dXJuIHByZW1pc2U7XG4gICAgfSk7XG5cbiAgICBsZXQgeyBjb25jbHVzaW9uIH0gPSBqc29uO1xuXG4gICAgY29uc3QgY29uY2x1c2lvbkpTT04gPSBjb25jbHVzaW9uOyAgLy8vXG5cbiAgICBqc29uID0gY29uY2x1c2lvbkpTT047ICAvLy9cblxuICAgIGNvbmNsdXNpb24gPSBDb25jbHVzaW9uLmZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpO1xuXG4gICAgcnVsZSA9IG5ldyBSdWxlKGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24sIGZpbGVDb250ZXh0KTtcblxuICAgIHJldHVybiBydWxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21MYWJlbHNQcmVtaXNlc0NvbmNsdXNpb25BbmRGaWxlQ29udGV4dChsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHJ1bGUgPSBuZXcgUnVsZShsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uLCBmaWxlQ29udGV4dCk7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXRjaFByZW1pc2UocHJlbWlzZSwgcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIHN0YXRlbWVudExvY2FsQ29udGV4dCkge1xuICBjb25zdCBwcm9vZlN0ZXAgPSBwcnVuZShwcm9vZlN0ZXBzLCAocHJvb2ZTdGVwKSA9PiB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHByb29mU3RlcC5nZXRTdGF0ZW1lbnROb2RlKClcblxuICAgIGlmIChzdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHByZW1pc2UubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoIXN0YXRlbWVudE5vZGVNYXRjaGVzKSB7ICAvLy9cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9KSB8fCBudWxsO1xuXG4gIGNvbnN0IHByZW1pc2VNYXRjaGVzID0gKHByb29mU3RlcCAhPT0gbnVsbCk7XG5cbiAgcmV0dXJuIHByZW1pc2VNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaFByZW1pc2VzKHByZW1pc2UsIHByb29mU3RlcHMsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpIHtcbiAgY29uc3QgcHJlbWlzZXNNYXRjaCA9IHByZW1pc2UuZXZlcnkoKHByZW1pc2UpID0+IHtcbiAgICBjb25zdCBwcmVtaXNlTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZShwcmVtaXNlLCBwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgc3RhdGVtZW50TG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChwcmVtaXNlTWF0Y2hlcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcHJlbWlzZXNNYXRjaDtcbn1cblxuZnVuY3Rpb24gbWF0Y2hDb25jbHVzaW9uKGNvbmNsdXNpb24sIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBzdGF0ZW1lbnRMb2NhbENvbnRleHQpIHtcbiAgY29uc3Qgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uLm1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgc3RhdGVtZW50TG9jYWxDb250ZXh0KSxcbiAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBzdGF0ZW1lbnROb2RlTWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIGNvbmNsdXNpb25NYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtZXRhTWF0Y2hQcmVtaXNlKHByZW1pc2UsIG1ldGFwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBjb25zdCBtZXRhcHJvb2ZTdGVwID0gcHJ1bmUobWV0YXByb29mU3RlcHMsIChtZXRhcHJvb2ZTdGVwKSA9PiB7XG4gICAgY29uc3QgcnVsZVN1YnByb29mTm9kZSA9IG1ldGFwcm9vZlN0ZXAuZ2V0UnVsZVN1YnByb29mTm9kZSgpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXByb29mU3RlcC5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpXG5cbiAgICBpZiAocnVsZVN1YnByb29mTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcnVsZVN1YlByb29mTm9kZU1hdGNoZXMgPSBwcmVtaXNlLm1hdGNoUnVsZVN1YnByb29mTm9kZShydWxlU3VicHJvb2ZOb2RlLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgICAgIGlmICghcnVsZVN1YlByb29mTm9kZU1hdGNoZXMpIHsgIC8vL1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHByZW1pc2UubWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICBpZiAoIW1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcykgeyAgLy8vXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSkgfHwgbnVsbDtcblxuICBjb25zdCBwcmVtaXNlTWF0Y2hlcyA9IChtZXRhcHJvb2ZTdGVwICE9PSBudWxsKTtcblxuICByZXR1cm4gcHJlbWlzZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1ldGFNYXRjaFByZW1pc2VzKHByZW1pc2UsIG1ldGFwcm9vZlN0ZXBzLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBjb25zdCBwcmVtaXNlc01hdGNoID0gcHJlbWlzZS5ldmVyeSgocHJlbWlzZSkgPT4ge1xuICAgIGNvbnN0IHByZW1pc2VNYXRjaGVzID0gbWV0YU1hdGNoUHJlbWlzZShwcmVtaXNlLCBtZXRhcHJvb2ZTdGVwcywgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHQsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKHByZW1pc2VNYXRjaGVzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBwcmVtaXNlc01hdGNoO1xufVxuXG5mdW5jdGlvbiBtZXRhTWF0Y2hDb25jbHVzaW9uKGNvbmNsdXNpb24sIG1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dCwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBjb25jbHVzaW9uLm1hdGNoTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBsb2NhbE1ldGFDb250ZXh0KSxcbiAgICAgICAgY29uY2x1c2lvbk1hdGNoZXMgPSBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBjb25jbHVzaW9uTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJSdWxlIiwibGFiZWxzIiwicHJlbWlzZXMiLCJjb25jbHVzaW9uIiwiZmlsZUNvbnRleHQiLCJnZXRMYWJlbHMiLCJnZXRQcmVtaXNlcyIsImdldENvbmNsdXNpb24iLCJnZXRGaWxlQ29udGV4dCIsIm1hdGNoU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZSIsImxvY2FsQ29udGV4dCIsInN0YXRlbWVudE5hdGNoZXMiLCJwcmVtaXNlc0xlbmd0aCIsImxlbmd0aCIsInN0YXRlbWVudExvY2FsQ29udGV4dCIsInN1YnN0aXR1dGlvbnMiLCJjb25jbHVzaW9uTWF0Y2hlcyIsIm1hdGNoQ29uY2x1c2lvbiIsInByb29mU3RlcHMiLCJnZXRQcm9vZlN0ZXBzIiwic29tZVN1YkFycmF5IiwicHJlbWlzZXNNYXRjaENvbmNsdXNpb24iLCJwcmVtaXNlc01hdGNoIiwibWF0Y2hQcmVtaXNlcyIsIm1hdGNoTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFzdGF0ZW1lbnROYXRjaGVzIiwibWV0YU1hdGNoQ29uY2x1c2lvbiIsIm1ldGFwcm9vZlN0ZXBzIiwiZ2V0TWV0YXByb29mU3RlcHMiLCJtZXRhTWF0Y2hQcmVtaXNlcyIsIm1hdGNoTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyIsInNvbWUiLCJsYWJlbCIsImxhYmVsTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGUiLCJ0b0pTT04iLCJ0b2tlbnMiLCJsYWJlbHNKU09OIiwibWFwIiwibGFiZWxKU09OIiwicHJlbWlzZXNKU09OIiwicHJlbWlzZSIsInByZW1pc2VKU09OIiwiY29uY2x1c2lvbkpTT04iLCJqc29uIiwiZnJvbUpTT05BbmRGaWxlQ29udGV4dCIsInJ1bGUiLCJMYWJlbCIsIlByZW1pc2UiLCJDb25jbHVzaW9uIiwiZnJvbUxhYmVsc1ByZW1pc2VzQ29uY2x1c2lvbkFuZEZpbGVDb250ZXh0IiwibWF0Y2hQcmVtaXNlIiwicHJvb2ZTdGVwIiwicHJ1bmUiLCJnZXRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaFN0YXRlbWVudE5vZGUiLCJwcmVtaXNlTWF0Y2hlcyIsImV2ZXJ5IiwibWV0YU1hdGNoUHJlbWlzZSIsIm1ldGFwcm9vZlN0ZXAiLCJydWxlU3VicHJvb2ZOb2RlIiwiZ2V0UnVsZVN1YnByb29mTm9kZSIsImdldE1ldGFzdGF0ZW1lbnROb2RlIiwicnVsZVN1YlByb29mTm9kZU1hdGNoZXMiLCJtYXRjaFJ1bGVTdWJwcm9vZk5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaE1ldGFzdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7Ozs0REFSSDs4REFDRTtpRUFDRztxQkFFRDs0REFFSjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILElBQUEsQUFBTUEscUJBQUQsQUFBTDthQUFNQSxLQUNQQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxXQUFXO2dDQURsQ0o7UUFFakIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLFdBQVcsR0FBR0E7O2tCQUxGSjs7WUFRbkJLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osTUFBTTtZQUNwQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osUUFBUTtZQUN0Qjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osVUFBVTtZQUN4Qjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osV0FBVztZQUN6Qjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlQyxhQUFhLEVBQUVD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
@@ -136,29 +136,29 @@ var MetaLevelNodesVerifier = /*#__PURE__*/ function(NodesVerifier) {
136
136
  _create_class(MetaLevelNodesVerifier, [
137
137
  {
138
138
  key: "verifyNonTerminalNode",
139
- value: function verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localMetaContextB, verifyAhead) {
139
+ value: function verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead) {
140
140
  var _this = this;
141
141
  var nonTerminalNodeVerified;
142
142
  var nodeQueryMaps = [
143
143
  {
144
144
  nodeQueryA: metastatementMetavariableNodeQuery,
145
145
  nodeQueryB: metastatementNodeQuery,
146
- verifyNodes: function(nodeA, nodeB, substitutions, localContextA, localMetaContextB, verifyAhead) {
146
+ verifyNodes: function(nodeA, nodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead) {
147
147
  var nonTerminalNodeVerified;
148
- var metastatementNodeB = nodeB, metastatementMetavariableNodeA = nodeA, metastatementMetavariableNodeVerifiedAgainstMetastatementNode = _this.verifyMetastatementMetavariableNodeAgainstMetastatementNode(metastatementMetavariableNodeA, metastatementNodeB, substitutions, localContextA, localMetaContextB, verifyAhead);
148
+ var metastatementNodeB = nodeB, metastatementMetavariableNodeA = nodeA, metastatementMetavariableNodeVerifiedAgainstMetastatementNode = _this.verifyMetastatementMetavariableNodeAgainstMetastatementNode(metastatementMetavariableNodeA, metastatementNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
149
149
  nonTerminalNodeVerified = metastatementMetavariableNodeVerifiedAgainstMetastatementNode; ///
150
150
  return nonTerminalNodeVerified;
151
151
  }
152
152
  }
153
153
  ];
154
- var nodesVerified = (0, _verifier.verifyNodes)(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localMetaContextB, verifyAhead);
155
- nonTerminalNodeVerified = nodesVerified ? true : _get(_get_prototype_of(MetaLevelNodesVerifier.prototype), "verifyNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localMetaContextB, verifyAhead);
154
+ var nodesVerified = (0, _verifier.verifyNodes)(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
155
+ nonTerminalNodeVerified = nodesVerified ? true : _get(_get_prototype_of(MetaLevelNodesVerifier.prototype), "verifyNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
156
156
  return nonTerminalNodeVerified;
157
157
  }
158
158
  },
159
159
  {
160
160
  key: "verifyMetastatementMetavariableNodeAgainstMetastatementNode",
161
- value: function verifyMetastatementMetavariableNodeAgainstMetastatementNode(metastatementMetavariableNodeA, metastatementNodeB, substitutions, localContextA, localMetaContextB, verifyAhead) {
161
+ value: function verifyMetastatementMetavariableNodeAgainstMetastatementNode(metastatementMetavariableNodeA, metastatementNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead) {
162
162
  var metastatementMetavariableNodeVerifiedAgainstMetastatementNode;
163
163
  var metavariableNode = metastatementMetavariableNodeA, metastatementNode = metastatementNodeB, metavariableVerifiedAgainstMetastatement = (0, _metavariableAgainstMetastatement.default)(metavariableNode, metastatementNode, substitutions, verifyAhead);
164
164
  metastatementMetavariableNodeVerifiedAgainstMetastatementNode = metavariableVerifiedAgainstMetastatement; ///
@@ -171,4 +171,4 @@ var MetaLevelNodesVerifier = /*#__PURE__*/ function(NodesVerifier) {
171
171
  var metaLevelNodesVerifier = new MetaLevelNodesVerifier();
172
172
  var _default = metaLevelNodesVerifier;
173
173
 
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy9tZXRhTGV2ZWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi8uLi92ZXJpZmllci9ub2Rlc1wiO1xuaW1wb3J0IHZlcmlmeU1ldGF2YXJpYWJsZUFnYWluc3RNZXRhc3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvbWV0YXZhcmlhYmxlQWdhaW5zdE1ldGFzdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdmVyaWZ5Tm9kZXMgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3ZlcmlmaWVyXCI7XG5cbmNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXN0YXRlbWVudCFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvbWV0YXZhcmlhYmxlIVwiKTtcblxuY2xhc3MgTWV0YUxldmVsTm9kZXNWZXJpZmllciBleHRlbmRzIE5vZGVzVmVyaWZpZXIge1xuICB2ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxNZXRhQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgY29uc3Qgbm9kZVF1ZXJ5TWFwcyA9IFtcbiAgICAgIHtcbiAgICAgICAgbm9kZVF1ZXJ5QTogbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5QjogbWV0YXN0YXRlbWVudE5vZGVRdWVyeSxcbiAgICAgICAgdmVyaWZ5Tm9kZXM6IChub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsTWV0YUNvbnRleHRCLCB2ZXJpZnlBaGVhZCkgPT4ge1xuICAgICAgICAgIGxldCBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcblxuICAgICAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlQiA9IG5vZGVCLCAvLy9cbiAgICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEgPSBub2RlQSwgLy8vXG4gICAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50Tm9kZSA9XG5cbiAgICAgICAgICAgICAgICAgIHRoaXMudmVyaWZ5TWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBZ2FpbnN0TWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBLCBtZXRhc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsTWV0YUNvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YXN0YXRlbWVudE5vZGU7ICAvLy9cblxuICAgICAgICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF07XG5cbiAgICBjb25zdCBub2Rlc1ZlcmlmaWVkID0gdmVyaWZ5Tm9kZXMobm9kZVF1ZXJ5TWFwcywgbm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxNZXRhQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gbm9kZXNWZXJpZmllZCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cGVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbE1ldGFDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5TWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBZ2FpbnN0TWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBLCBtZXRhc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsTWV0YUNvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnROb2RlO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQSwgLy8vXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQgPSB2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0TWV0YXN0YXRlbWVudChtZXRhdmFyaWFibGVOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgdmVyaWZ5QWhlYWQpO1xuXG4gICAgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQ7ICAvLy9cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG59XG5cbmNvbnN0IG1ldGFMZXZlbE5vZGVzVmVyaWZpZXIgPSBuZXcgTWV0YUxldmVsTm9kZXNWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhTGV2ZWxOb2Rlc1ZlcmlmaWVyO1xuIl0sIm5hbWVzIjpbIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwiTWV0YUxldmVsTm9kZXNWZXJpZmllciIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dEEiLCJsb2NhbE1ldGFDb250ZXh0QiIsInZlcmlmeUFoZWFkIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJub2RlUXVlcnlNYXBzIiwibm9kZVF1ZXJ5QSIsIm5vZGVRdWVyeUIiLCJ2ZXJpZnlOb2RlcyIsIm5vZGVBIiwibm9kZUIiLCJtZXRhc3RhdGVtZW50Tm9kZUIiLCJtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEiLCJtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnROb2RlIiwidmVyaWZ5TWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBZ2FpbnN0TWV0YXN0YXRlbWVudE5vZGUiLCJub2Rlc1ZlcmlmaWVkIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlVmVyaWZpZWRBZ2FpbnN0TWV0YXN0YXRlbWVudCIsInZlcmlmeU1ldGF2YXJpYWJsZUFnYWluc3RNZXRhc3RhdGVtZW50IiwiTm9kZXNWZXJpZmllciIsIm1ldGFMZXZlbE5vZGVzVmVyaWZpZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTJEQTs7O2VBQUE7Ozs0REF6RDBCO3VGQUN5QjtxQkFFekI7d0JBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1QixJQUFNQSx5QkFBeUJDLElBQUFBLGdCQUFTLEVBQUMsb0JBQ25DQyxxQ0FBcUNELElBQUFBLGdCQUFTLEVBQUM7QUFFckQsSUFBQSxBQUFNRSx1Q0FBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JDLGdCQUFnQixFQUFFQyxnQkFBZ0IsRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGlCQUFpQixFQUFFQyxXQUFXOztnQkFDcEgsSUFBSUM7Z0JBRUosSUFBTUMsZ0JBQWdCO29CQUNwQjt3QkFDRUMsWUFBWVg7d0JBQ1pZLFlBQVlkO3dCQUNaZSxhQUFhLFNBQUNDLE9BQU9DLE9BQU9WLGVBQWVDLGVBQWVDLG1CQUFtQkM7NEJBQzNFLElBQUlDOzRCQUVKLElBQU1PLHFCQUFxQkQsT0FDckJFLGlDQUFpQ0gsT0FDakNJLGdFQUVFLE1BQUtDLDJEQUEyRCxDQUFDRixnQ0FBZ0NELG9CQUFvQlgsZUFBZUMsZUFBZUMsbUJBQW1CQzs0QkFFOUtDLDBCQUEwQlMsK0RBQWdFLEdBQUc7NEJBRTdGLE9BQU9UO3dCQUNUO29CQUNGO2lCQUNEO2dCQUVELElBQU1XLGdCQUFnQlAsSUFBQUEscUJBQVcsRUFBQ0gsZUFBZVAsa0JBQWtCQyxrQkFBa0JDLGVBQWVDLGVBQWVDLG1CQUFtQkM7Z0JBRXRJQywwQkFBMEJXLGdCQUNFLE9BQ0UsdUJBNUI1Qm5CLG1DQTRCa0NDLHlCQUFOLElBQUssYUFBdUJDLGtCQUFrQkMsa0JBQWtCQyxlQUFlQyxlQUFlQyxtQkFBbUJDO2dCQUUvSSxPQUFPQztZQUNUOzs7WUFFQVUsS0FBQUE7bUJBQUFBLFNBQUFBLDREQUE0REYsOEJBQThCLEVBQUVELGtCQUFrQixFQUFFWCxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsaUJBQWlCLEVBQUVDLFdBQVc7Z0JBQzFLLElBQUlVO2dCQUVKLElBQU1HLG1CQUFtQkosZ0NBQ25CSyxvQkFBb0JOLG9CQUNwQk8sMkNBQTJDQyxJQUFBQSx5Q0FBc0MsRUFBQ0gsa0JBQWtCQyxtQkFBbUJqQixlQUFlRztnQkFFNUlVLGdFQUFnRUssMENBQTJDLEdBQUc7Z0JBRTlHLE9BQU9MO1lBQ1Q7OztXQTNDSWpCO0VBQStCd0IsY0FBYTtBQThDbEQsSUFBTUMseUJBQXlCLElBQUl6QjtJQUVuQyxXQUFleUIifQ==
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy9tZXRhTGV2ZWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi8uLi92ZXJpZmllci9ub2Rlc1wiO1xuaW1wb3J0IHZlcmlmeU1ldGF2YXJpYWJsZUFnYWluc3RNZXRhc3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvbWV0YXZhcmlhYmxlQWdhaW5zdE1ldGFzdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdmVyaWZ5Tm9kZXMgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3ZlcmlmaWVyXCI7XG5cbmNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXN0YXRlbWVudCFcIiksXG4gICAgICBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvbWV0YXZhcmlhYmxlIVwiKTtcblxuY2xhc3MgTWV0YUxldmVsTm9kZXNWZXJpZmllciBleHRlbmRzIE5vZGVzVmVyaWZpZXIge1xuICB2ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dEEsIGxvY2FsTWV0YUNvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcblxuICAgIGNvbnN0IG5vZGVRdWVyeU1hcHMgPSBbXG4gICAgICB7XG4gICAgICAgIG5vZGVRdWVyeUE6IG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlUXVlcnksXG4gICAgICAgIG5vZGVRdWVyeUI6IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnksXG4gICAgICAgIHZlcmlmeU5vZGVzOiAobm9kZUEsIG5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0QSwgbG9jYWxNZXRhQ29udGV4dEIsIHZlcmlmeUFoZWFkKSA9PiB7XG4gICAgICAgICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGVCID0gbm9kZUIsIC8vL1xuICAgICAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQSA9IG5vZGVBLCAvLy9cbiAgICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnROb2RlID1cblxuICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlNZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUFnYWluc3RNZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEsIG1ldGFzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dEEsIGxvY2FsTWV0YUNvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YXN0YXRlbWVudE5vZGU7ICAvLy9cblxuICAgICAgICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF07XG5cbiAgICBjb25zdCBub2Rlc1ZlcmlmaWVkID0gdmVyaWZ5Tm9kZXMobm9kZVF1ZXJ5TWFwcywgbm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dEEsIGxvY2FsTWV0YUNvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG5vZGVzVmVyaWZpZWQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBlci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dEEsIGxvY2FsTWV0YUNvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlNZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUFnYWluc3RNZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEsIG1ldGFzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dEEsIGxvY2FsTWV0YUNvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnROb2RlO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQSwgLy8vXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQgPSB2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0TWV0YXN0YXRlbWVudChtZXRhdmFyaWFibGVOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgdmVyaWZ5QWhlYWQpO1xuXG4gICAgbWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQ7ICAvLy9cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG59XG5cbmNvbnN0IG1ldGFMZXZlbE5vZGVzVmVyaWZpZXIgPSBuZXcgTWV0YUxldmVsTm9kZXNWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhTGV2ZWxOb2Rlc1ZlcmlmaWVyO1xuIl0sIm5hbWVzIjpbIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwiTWV0YUxldmVsTm9kZXNWZXJpZmllciIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsTWV0YUNvbnRleHRBIiwibG9jYWxNZXRhQ29udGV4dEIiLCJ2ZXJpZnlBaGVhZCIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwibm9kZVF1ZXJ5TWFwcyIsIm5vZGVRdWVyeUEiLCJub2RlUXVlcnlCIiwidmVyaWZ5Tm9kZXMiLCJub2RlQSIsIm5vZGVCIiwibWV0YXN0YXRlbWVudE5vZGVCIiwibWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBIiwibWV0YXN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50Tm9kZSIsInZlcmlmeU1ldGFzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQWdhaW5zdE1ldGFzdGF0ZW1lbnROb2RlIiwibm9kZXNWZXJpZmllZCIsIm1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQiLCJ2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0TWV0YXN0YXRlbWVudCIsIk5vZGVzVmVyaWZpZXIiLCJtZXRhTGV2ZWxOb2Rlc1ZlcmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEyREE7OztlQUFBOzs7NERBekQwQjt1RkFDeUI7cUJBRXpCO3dCQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUIsSUFBTUEseUJBQXlCQyxJQUFBQSxnQkFBUyxFQUFDLG9CQUNuQ0MscUNBQXFDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXJELElBQUEsQUFBTUUsdUNBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCQyxnQkFBZ0IsRUFBRUMsZ0JBQWdCLEVBQUVDLGFBQWEsRUFBRUMsaUJBQWlCLEVBQUVDLGlCQUFpQixFQUFFQyxXQUFXOztnQkFDeEgsSUFBSUM7Z0JBRUosSUFBTUMsZ0JBQWdCO29CQUNwQjt3QkFDRUMsWUFBWVg7d0JBQ1pZLFlBQVlkO3dCQUNaZSxhQUFhLFNBQUNDLE9BQU9DLE9BQU9WLGVBQWVDLG1CQUFtQkMsbUJBQW1CQzs0QkFDL0UsSUFBSUM7NEJBRUosSUFBTU8scUJBQXFCRCxPQUNyQkUsaUNBQWlDSCxPQUNqQ0ksZ0VBRUUsTUFBS0MsMkRBQTJELENBQUNGLGdDQUFnQ0Qsb0JBQW9CWCxlQUFlQyxtQkFBbUJDLG1CQUFtQkM7NEJBRWxMQywwQkFBMEJTLCtEQUFnRSxHQUFHOzRCQUU3RixPQUFPVDt3QkFDVDtvQkFDRjtpQkFDRDtnQkFFRCxJQUFNVyxnQkFBZ0JQLElBQUFBLHFCQUFXLEVBQUNILGVBQWVQLGtCQUFrQkMsa0JBQWtCQyxlQUFlQyxtQkFBbUJDLG1CQUFtQkM7Z0JBRTFJQywwQkFBMEJXLGdCQUNFLE9BQ0UsdUJBNUI1Qm5CLG1DQTRCa0NDLHlCQUFOLElBQUssYUFBdUJDLGtCQUFrQkMsa0JBQWtCQyxlQUFlQyxtQkFBbUJDLG1CQUFtQkM7Z0JBRW5KLE9BQU9DO1lBQ1Q7OztZQUVBVSxLQUFBQTttQkFBQUEsU0FBQUEsNERBQTRERiw4QkFBOEIsRUFBRUQsa0JBQWtCLEVBQUVYLGFBQWEsRUFBRUMsaUJBQWlCLEVBQUVDLGlCQUFpQixFQUFFQyxXQUFXO2dCQUM5SyxJQUFJVTtnQkFFSixJQUFNRyxtQkFBbUJKLGdDQUNuQkssb0JBQW9CTixvQkFDcEJPLDJDQUEyQ0MsSUFBQUEseUNBQXNDLEVBQUNILGtCQUFrQkMsbUJBQW1CakIsZUFBZUc7Z0JBRTVJVSxnRUFBZ0VLLDBDQUEyQyxHQUFHO2dCQUU5RyxPQUFPTDtZQUNUOzs7V0EzQ0lqQjtFQUErQndCLGNBQWE7QUE4Q2xELElBQU1DLHlCQUF5QixJQUFJekI7SUFFbkMsV0FBZXlCIn0=
@@ -8,104 +8,24 @@ Object.defineProperty(exports, "default", {
8
8
  return verifyDerivation;
9
9
  }
10
10
  });
11
- var _proof = /*#__PURE__*/ _interop_require_default(require("../step/proof"));
12
- var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
13
- var _suppositions = /*#__PURE__*/ _interop_require_default(require("../verify/suppositions"));
14
- var _qualified = /*#__PURE__*/ _interop_require_default(require("../verify/statement/qualified"));
15
- var _unqualified = /*#__PURE__*/ _interop_require_default(require("../verify/statement/unqualified"));
16
- var _assignments = require("../utilities/assignments");
11
+ var _proofStep = /*#__PURE__*/ _interop_require_default(require("../verify/proofStep"));
17
12
  var _query = require("../utilities/query");
18
- var _ruleNames = require("../ruleNames");
19
13
  function _interop_require_default(obj) {
20
14
  return obj && obj.__esModule ? obj : {
21
15
  default: obj
22
16
  };
23
17
  }
24
- var childNodesQuery = (0, _query.nodesQuery)("/derivation|subDerivation/*"), statementNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement|unqualifiedStatement/statement!"), suppositionNodesQuery = (0, _query.nodesQuery)("/subproof/supposition"), subDerivationNodeQuery = (0, _query.nodeQuery)("/subproof/subDerivation");
25
- function verifyDerivation(derivationNode, localContext) {
26
- var derivationVerified;
27
- var childNodes = childNodesQuery(derivationNode);
28
- derivationVerified = childNodes.every(function(childNode) {
29
- var childVerified = verifyChild(childNode, localContext);
30
- if (childVerified) {
18
+ var proofStepNodesQuery = (0, _query.nodesQuery)("/derivation/proofStep|lastProofStep");
19
+ function verifyDerivation(ruleDerivationNode, localMetaContext) {
20
+ var ruleDerivationVerified;
21
+ var proofStepNodes = proofStepNodesQuery(ruleDerivationNode);
22
+ ruleDerivationVerified = proofStepNodes.every(function(proofStepNode) {
23
+ var proofStepVerified = (0, _proofStep.default)(proofStepNode, localMetaContext);
24
+ if (proofStepVerified) {
31
25
  return true;
32
26
  }
33
27
  });
34
- return derivationVerified;
35
- }
36
- function verifySubDerivation(subDerivationNode, localContext) {
37
- var subDerivationVerified;
38
- var childNodes = childNodesQuery(subDerivationNode);
39
- subDerivationVerified = childNodes.every(function(childNode) {
40
- var childVerified = verifyChild(childNode, localContext);
41
- if (childVerified) {
42
- return true;
43
- }
44
- });
45
- return subDerivationVerified;
46
- }
47
- function verifySubproof(subproofNode, localContext) {
48
- var subproofVerified = false;
49
- localContext = _local.default.fromLocalContext(localContext); ///
50
- var suppositions = [], suppositionNodes = suppositionNodesQuery(subproofNode), suppositionsVerified = (0, _suppositions.default)(suppositionNodes, suppositions, localContext);
51
- if (suppositionsVerified) {
52
- var subDerivationNode = subDerivationNodeQuery(subproofNode), subDerivationVerified = verifySubDerivation(subDerivationNode, localContext);
53
- if (subDerivationVerified) {
54
- subproofVerified = true;
55
- }
56
- }
57
- return subproofVerified;
58
- }
59
- function verifyChild(childNode, localContext) {
60
- var childVerified = false;
61
- var childNodeRuleName = childNode.getRuleName();
62
- switch(childNodeRuleName){
63
- case _ruleNames.SUBPROOF_RULE_NAME:
64
- {
65
- var subproofVerified;
66
- var subproofNode = childNode; ///
67
- subproofVerified = verifySubproof(subproofNode, localContext);
68
- if (subproofVerified) {
69
- var proofStep = _proof.default.fromSubproofNode(subproofNode);
70
- localContext.addProofStep(proofStep);
71
- childVerified = true;
72
- }
73
- break;
74
- }
75
- case _ruleNames.QUALIFIED_STATEMENT_RULE_NAME:
76
- {
77
- var qualifiedStatementVerified;
78
- var derived = true, assignments = [], qualifiedStatementNode = childNode; ///
79
- qualifiedStatementVerified = (0, _qualified.default)(qualifiedStatementNode, assignments, derived, localContext);
80
- if (qualifiedStatementVerified) {
81
- var assignmentAssigned = (0, _assignments.assignAssignment)(assignments, localContext);
82
- qualifiedStatementVerified = assignmentAssigned; ///
83
- }
84
- if (qualifiedStatementVerified) {
85
- var statementNode = statementNodeQuery(qualifiedStatementNode), proofStep1 = _proof.default.fromStatementNode(statementNode);
86
- localContext.addProofStep(proofStep1);
87
- childVerified = true; ///
88
- }
89
- break;
90
- }
91
- case _ruleNames.UNQUALIFIED_STATEMENT_RULE_NAME:
92
- {
93
- var unqualifiedStatementVerified;
94
- var derived1 = true, assignments1 = [], unqualifiedStatementNode = childNode; ///
95
- unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, assignments1, derived1, localContext);
96
- if (unqualifiedStatementVerified) {
97
- var assignmentAssigned1 = (0, _assignments.assignAssignment)(assignments1, localContext);
98
- unqualifiedStatementVerified = assignmentAssigned1; ///
99
- }
100
- if (unqualifiedStatementVerified) {
101
- var statementNode1 = statementNodeQuery(unqualifiedStatementNode), proofStep2 = _proof.default.fromStatementNode(statementNode1);
102
- localContext.addProofStep(proofStep2);
103
- childVerified = true;
104
- }
105
- break;
106
- }
107
- }
108
- return childVerified;
28
+ return ruleDerivationVerified;
109
29
  }
110
30
 
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZGVyaXZhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFByb29mU3RlcCBmcm9tIFwiLi4vc3RlcC9wcm9vZlwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbFwiO1xuaW1wb3J0IHZlcmlmeVN1cHBvc2l0aW9ucyBmcm9tIFwiLi4vdmVyaWZ5L3N1cHBvc2l0aW9uc1wiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuXG5pbXBvcnQgeyBhc3NpZ25Bc3NpZ25tZW50IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hc3NpZ25tZW50c1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgU1VCUFJPT0ZfUlVMRV9OQU1FLCBRVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSwgVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgY2hpbGROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kZXJpdmF0aW9ufHN1YkRlcml2YXRpb24vKlwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRTdGF0ZW1lbnR8dW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIHN1cHBvc2l0aW9uTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc3VicHJvb2Yvc3VwcG9zaXRpb25cIiksXG4gICAgICBzdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N1YnByb29mL3N1YkRlcml2YXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeURlcml2YXRpb24oZGVyaXZhdGlvbk5vZGUsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZGVyaXZhdGlvblZlcmlmaWVkO1xuXG4gIGNvbnN0IGNoaWxkTm9kZXMgPSBjaGlsZE5vZGVzUXVlcnkoZGVyaXZhdGlvbk5vZGUpO1xuXG4gIGRlcml2YXRpb25WZXJpZmllZCA9IGNoaWxkTm9kZXMuZXZlcnkoKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IGNoaWxkVmVyaWZpZWQgPSB2ZXJpZnlDaGlsZChjaGlsZE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoY2hpbGRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZGVyaXZhdGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdWJEZXJpdmF0aW9uKHN1YkRlcml2YXRpb25Ob2RlLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN1YkRlcml2YXRpb25WZXJpZmllZDtcblxuICBjb25zdCBjaGlsZE5vZGVzID0gY2hpbGROb2Rlc1F1ZXJ5KHN1YkRlcml2YXRpb25Ob2RlKTtcblxuICBzdWJEZXJpdmF0aW9uVmVyaWZpZWQgPSBjaGlsZE5vZGVzLmV2ZXJ5KChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjaGlsZFZlcmlmaWVkID0gdmVyaWZ5Q2hpbGQoY2hpbGROb2RlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKGNoaWxkVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHN1YkRlcml2YXRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3VicHJvb2Yoc3VicHJvb2ZOb2RlLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN1YnByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUxvY2FsQ29udGV4dChsb2NhbENvbnRleHQpOyAvLy9cblxuICBjb25zdCBzdXBwb3NpdGlvbnMgPSBbXSxcbiAgICAgICAgc3VwcG9zaXRpb25Ob2RlcyA9IHN1cHBvc2l0aW9uTm9kZXNRdWVyeShzdWJwcm9vZk5vZGUpLFxuICAgICAgICBzdXBwb3NpdGlvbnNWZXJpZmllZCA9IHZlcmlmeVN1cHBvc2l0aW9ucyhzdXBwb3NpdGlvbk5vZGVzLCBzdXBwb3NpdGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgaWYgKHN1cHBvc2l0aW9uc1ZlcmlmaWVkKSB7XG4gICAgY29uc3Qgc3ViRGVyaXZhdGlvbk5vZGUgPSBzdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5KHN1YnByb29mTm9kZSksXG4gICAgICAgICAgc3ViRGVyaXZhdGlvblZlcmlmaWVkID0gdmVyaWZ5U3ViRGVyaXZhdGlvbihzdWJEZXJpdmF0aW9uTm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChzdWJEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICAgIHN1YnByb29mVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdWJwcm9vZlZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlDaGlsZChjaGlsZE5vZGUsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgY2hpbGRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGNoaWxkTm9kZVJ1bGVOYW1lID0gY2hpbGROb2RlLmdldFJ1bGVOYW1lKCk7XG5cbiAgc3dpdGNoIChjaGlsZE5vZGVSdWxlTmFtZSkge1xuICAgIGNhc2UgU1VCUFJPT0ZfUlVMRV9OQU1FOiB7XG4gICAgICBsZXQgc3VicHJvb2ZWZXJpZmllZDtcblxuICAgICAgY29uc3Qgc3VicHJvb2ZOb2RlID0gY2hpbGROb2RlOyAgLy8vXG5cbiAgICAgIHN1YnByb29mVmVyaWZpZWQgPSB2ZXJpZnlTdWJwcm9vZihzdWJwcm9vZk5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChzdWJwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IHByb29mU3RlcCA9IFByb29mU3RlcC5mcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSk7XG5cbiAgICAgICAgbG9jYWxDb250ZXh0LmFkZFByb29mU3RlcChwcm9vZlN0ZXApO1xuXG4gICAgICAgIGNoaWxkVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjYXNlIFFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FOiB7XG4gICAgICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICAgIGNvbnN0IGRlcml2ZWQgPSB0cnVlLFxuICAgICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICAgIHF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBjaGlsZE5vZGU7ICAvLy9cblxuICAgICAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICAgIH1cblxuICAgICAgaWYgKHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICAgIHByb29mU3RlcCA9IFByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBsb2NhbENvbnRleHQuYWRkUHJvb2ZTdGVwKHByb29mU3RlcCk7XG5cbiAgICAgICAgY2hpbGRWZXJpZmllZCA9IHRydWU7IC8vL1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjYXNlIFVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgIGxldCB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xuXG4gICAgICBjb25zdCBkZXJpdmVkID0gdHJ1ZSxcbiAgICAgICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBjaGlsZE5vZGU7ICAvLy9cblxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IGFzc2lnbm1lbnRBc3NpZ25lZDsgIC8vL1xuICAgICAgfVxuXG4gICAgICBpZiAodW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICAgIHByb29mU3RlcCA9IFByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBsb2NhbENvbnRleHQuYWRkUHJvb2ZTdGVwKHByb29mU3RlcCk7XG5cbiAgICAgICAgY2hpbGRWZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjaGlsZFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeURlcml2YXRpb24iLCJjaGlsZE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5Iiwic3ViRGVyaXZhdGlvbk5vZGVRdWVyeSIsImRlcml2YXRpb25Ob2RlIiwibG9jYWxDb250ZXh0IiwiZGVyaXZhdGlvblZlcmlmaWVkIiwiY2hpbGROb2RlcyIsImV2ZXJ5IiwiY2hpbGROb2RlIiwiY2hpbGRWZXJpZmllZCIsInZlcmlmeUNoaWxkIiwidmVyaWZ5U3ViRGVyaXZhdGlvbiIsInN1YkRlcml2YXRpb25Ob2RlIiwic3ViRGVyaXZhdGlvblZlcmlmaWVkIiwidmVyaWZ5U3VicHJvb2YiLCJzdWJwcm9vZk5vZGUiLCJzdWJwcm9vZlZlcmlmaWVkIiwiTG9jYWxDb250ZXh0IiwiZnJvbUxvY2FsQ29udGV4dCIsInN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9uTm9kZXMiLCJzdXBwb3NpdGlvbnNWZXJpZmllZCIsInZlcmlmeVN1cHBvc2l0aW9ucyIsImNoaWxkTm9kZVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJTVUJQUk9PRl9SVUxFX05BTUUiLCJwcm9vZlN0ZXAiLCJQcm9vZlN0ZXAiLCJmcm9tU3VicHJvb2ZOb2RlIiwiYWRkUHJvb2ZTdGVwIiwiUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUiLCJxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsImRlcml2ZWQiLCJhc3NpZ25tZW50cyIsInF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJ2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQiLCJhc3NpZ25tZW50QXNzaWduZWQiLCJhc3NpZ25Bc3NpZ25tZW50Iiwic3RhdGVtZW50Tm9kZSIsImZyb21TdGF0ZW1lbnROb2RlIiwiVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSIsInVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBd0JBOzs7NERBZkY7NERBQ0c7bUVBQ007Z0VBQ007a0VBQ0U7MkJBRU47cUJBQ0s7eUJBQzZEOzs7Ozs7QUFFbkcsSUFBTUMsa0JBQWtCQyxJQUFBQSxpQkFBVSxFQUFDLGdDQUM3QkMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDLHdEQUMvQkMsd0JBQXdCSCxJQUFBQSxpQkFBVSxFQUFDLDBCQUNuQ0kseUJBQXlCRixJQUFBQSxnQkFBUyxFQUFDO0FBRTFCLFNBQVNKLGlCQUFpQk8sY0FBYyxFQUFFQyxZQUFZO0lBQ25FLElBQUlDO0lBRUosSUFBTUMsYUFBYVQsZ0JBQWdCTTtJQUVuQ0UscUJBQXFCQyxXQUFXQyxLQUFLLENBQUMsU0FBQ0M7UUFDckMsSUFBTUMsZ0JBQWdCQyxZQUFZRixXQUFXSjtRQUU3QyxJQUFJSyxlQUFlO1lBQ2pCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0o7QUFDVDtBQUVBLFNBQVNNLG9CQUFvQkMsaUJBQWlCLEVBQUVSLFlBQVk7SUFDMUQsSUFBSVM7SUFFSixJQUFNUCxhQUFhVCxnQkFBZ0JlO0lBRW5DQyx3QkFBd0JQLFdBQVdDLEtBQUssQ0FBQyxTQUFDQztRQUN4QyxJQUFNQyxnQkFBZ0JDLFlBQVlGLFdBQVdKO1FBRTdDLElBQUlLLGVBQWU7WUFDakIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPSTtBQUNUO0FBRUEsU0FBU0MsZUFBZUMsWUFBWSxFQUFFWCxZQUFZO0lBQ2hELElBQUlZLG1CQUFtQjtJQUV2QlosZUFBZWEsY0FBWSxDQUFDQyxnQkFBZ0IsQ0FBQ2QsZUFBZSxHQUFHO0lBRS9ELElBQU1lLGVBQWUsRUFBRSxFQUNqQkMsbUJBQW1CbkIsc0JBQXNCYyxlQUN6Q00sdUJBQXVCQyxJQUFBQSxxQkFBa0IsRUFBQ0Ysa0JBQWtCRCxjQUFjZjtJQUVoRixJQUFJaUIsc0JBQXNCO1FBQ3hCLElBQU1ULG9CQUFvQlYsdUJBQXVCYSxlQUMzQ0Ysd0JBQXdCRixvQkFBb0JDLG1CQUFtQlI7UUFFckUsSUFBSVMsdUJBQXVCO1lBQ3pCRyxtQkFBbUI7UUFDckI7SUFDRjtJQUVBLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTTixZQUFZRixTQUFTLEVBQUVKLFlBQVk7SUFDMUMsSUFBSUssZ0JBQWdCO0lBRXBCLElBQU1jLG9CQUFvQmYsVUFBVWdCLFdBQVc7SUFFL0MsT0FBUUQ7UUFDTixLQUFLRSw2QkFBa0I7WUFBRTtnQkFDdkIsSUFBSVQ7Z0JBRUosSUFBTUQsZUFBZVAsV0FBWSxHQUFHO2dCQUVwQ1EsbUJBQW1CRixlQUFlQyxjQUFjWDtnQkFFaEQsSUFBSVksa0JBQWtCO29CQUNwQixJQUFNVSxZQUFZQyxjQUFTLENBQUNDLGdCQUFnQixDQUFDYjtvQkFFN0NYLGFBQWF5QixZQUFZLENBQUNIO29CQUUxQmpCLGdCQUFnQjtnQkFDbEI7Z0JBRUE7WUFDRjtRQUVBLEtBQUtxQix3Q0FBNkI7WUFBRTtnQkFDbEMsSUFBSUM7Z0JBRUosSUFBTUMsVUFBVSxNQUNWQyxjQUFjLEVBQUUsRUFDaEJDLHlCQUF5QjFCLFdBQVksR0FBRztnQkFFOUN1Qiw2QkFBNkJJLElBQUFBLGtCQUF3QixFQUFDRCx3QkFBd0JELGFBQWFELFNBQVM1QjtnQkFFcEcsSUFBSTJCLDRCQUE0QjtvQkFDOUIsSUFBTUsscUJBQXFCQyxJQUFBQSw2QkFBZ0IsRUFBQ0osYUFBYTdCO29CQUV6RDJCLDZCQUE2Qkssb0JBQW9CLEdBQUc7Z0JBQ3REO2dCQUVBLElBQUlMLDRCQUE0QjtvQkFDOUIsSUFBTU8sZ0JBQWdCdkMsbUJBQW1CbUMseUJBQ25DUixhQUFZQyxjQUFTLENBQUNZLGlCQUFpQixDQUFDRDtvQkFFOUNsQyxhQUFheUIsWUFBWSxDQUFDSDtvQkFFMUJqQixnQkFBZ0IsTUFBTSxHQUFHO2dCQUMzQjtnQkFFQTtZQUNGO1FBRUEsS0FBSytCLDBDQUErQjtZQUFFO2dCQUNwQyxJQUFJQztnQkFFSixJQUFNVCxXQUFVLE1BQ1ZDLGVBQWMsRUFBRSxFQUNoQlMsMkJBQTJCbEMsV0FBWSxHQUFHO2dCQUVoRGlDLCtCQUErQkUsSUFBQUEsb0JBQTBCLEVBQUNELDBCQUEwQlQsY0FBYUQsVUFBUzVCO2dCQUUxRyxJQUFJcUMsOEJBQThCO29CQUNoQyxJQUFNTCxzQkFBcUJDLElBQUFBLDZCQUFnQixFQUFDSixjQUFhN0I7b0JBRXpEcUMsK0JBQStCTCxxQkFBcUIsR0FBRztnQkFDekQ7Z0JBRUEsSUFBSUssOEJBQThCO29CQUNoQyxJQUFNSCxpQkFBZ0J2QyxtQkFBbUIyQywyQkFDbkNoQixhQUFZQyxjQUFTLENBQUNZLGlCQUFpQixDQUFDRDtvQkFFOUNsQyxhQUFheUIsWUFBWSxDQUFDSDtvQkFFMUJqQixnQkFBZ0I7Z0JBQ2xCO2dCQUVBO1lBQ0Y7SUFDRjtJQUVBLE9BQU9BO0FBQ1QifQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZGVyaXZhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeVByb29mU3RlcCBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mU3RlcFwiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBwcm9vZlN0ZXBOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kZXJpdmF0aW9uL3Byb29mU3RlcHxsYXN0UHJvb2ZTdGVwXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlEZXJpdmF0aW9uKHJ1bGVEZXJpdmF0aW9uTm9kZSwgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgcnVsZURlcml2YXRpb25WZXJpZmllZDtcblxuICBjb25zdCBwcm9vZlN0ZXBOb2RlcyA9IHByb29mU3RlcE5vZGVzUXVlcnkocnVsZURlcml2YXRpb25Ob2RlKTtcblxuICBydWxlRGVyaXZhdGlvblZlcmlmaWVkID0gcHJvb2ZTdGVwTm9kZXMuZXZlcnkoKHByb29mU3RlcE5vZGUpID0+IHtcbiAgICBjb25zdCBwcm9vZlN0ZXBWZXJpZmllZCA9IHZlcmlmeVByb29mU3RlcChwcm9vZlN0ZXBOb2RlLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChwcm9vZlN0ZXBWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcnVsZURlcml2YXRpb25WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlEZXJpdmF0aW9uIiwicHJvb2ZTdGVwTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJydWxlRGVyaXZhdGlvbk5vZGUiLCJsb2NhbE1ldGFDb250ZXh0IiwicnVsZURlcml2YXRpb25WZXJpZmllZCIsInByb29mU3RlcE5vZGVzIiwiZXZlcnkiLCJwcm9vZlN0ZXBOb2RlIiwicHJvb2ZTdGVwVmVyaWZpZWQiLCJ2ZXJpZnlQcm9vZlN0ZXAiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBd0JBOzs7Z0VBTkk7cUJBRUQ7Ozs7OztBQUUzQixJQUFNQyxzQkFBc0JDLElBQUFBLGlCQUFVLEVBQUM7QUFFeEIsU0FBU0YsaUJBQWlCRyxrQkFBa0IsRUFBRUMsZ0JBQWdCO0lBQzNFLElBQUlDO0lBRUosSUFBTUMsaUJBQWlCTCxvQkFBb0JFO0lBRTNDRSx5QkFBeUJDLGVBQWVDLEtBQUssQ0FBQyxTQUFDQztRQUM3QyxJQUFNQyxvQkFBb0JDLElBQUFBLGtCQUFlLEVBQUNGLGVBQWVKO1FBRXpELElBQUlLLG1CQUFtQjtZQUNyQixPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9KO0FBQ1QifQ==
@@ -8,104 +8,24 @@ Object.defineProperty(exports, "default", {
8
8
  return verifyMetaDerivation;
9
9
  }
10
10
  });
11
- var _metaproof = /*#__PURE__*/ _interop_require_default(require("../step/metaproof"));
12
- var _localMeta = /*#__PURE__*/ _interop_require_default(require("../context/localMeta"));
13
- var _metaSuppositions = /*#__PURE__*/ _interop_require_default(require("../verify/metaSuppositions"));
14
- var _qualified = /*#__PURE__*/ _interop_require_default(require("../verify/metastatement/qualified"));
15
- var _unqualified = /*#__PURE__*/ _interop_require_default(require("../verify/metastatement/unqualified"));
16
- var _assignments = require("../utilities/assignments");
11
+ var _metaProofStep = /*#__PURE__*/ _interop_require_default(require("../verify/metaProofStep"));
17
12
  var _query = require("../utilities/query");
18
- var _ruleNames = require("../ruleNames");
19
13
  function _interop_require_default(obj) {
20
14
  return obj && obj.__esModule ? obj : {
21
15
  default: obj
22
16
  };
23
17
  }
24
- var childNodesQuery = (0, _query.nodesQuery)("/metaDerivation|metaSubDerivation/*"), metastatementNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement|unqualifiedMetastatement/metastatement!"), metaSuppositionNodesQuery = (0, _query.nodesQuery)("/metaSubproof/metaSupposition"), metaSubDerivationNodeQuery = (0, _query.nodeQuery)("/metaSubproof/metaSubDerivation");
18
+ var metaProofStepNodesQuery = (0, _query.nodesQuery)("/metaDerivation/metaProofStep|lastMetaProofStep");
25
19
  function verifyMetaDerivation(metaDerivationNode, substitutions, localMetaContext) {
26
20
  var metaDerivationVerified;
27
- var childNodes = childNodesQuery(metaDerivationNode);
28
- metaDerivationVerified = childNodes.every(function(childNode) {
29
- var childVerified = verifyChild(childNode, substitutions, localMetaContext);
30
- if (childVerified) {
21
+ var metaProofStepNodes = metaProofStepNodesQuery(metaDerivationNode);
22
+ metaDerivationVerified = metaProofStepNodes.every(function(metaProofStepNode) {
23
+ var metaProofStepVerified = (0, _metaProofStep.default)(metaProofStepNode, substitutions, localMetaContext);
24
+ if (metaProofStepVerified) {
31
25
  return true;
32
26
  }
33
27
  });
34
28
  return metaDerivationVerified;
35
29
  }
36
- function verifyMetaSubDerivation(metaSubDerivationNode, substitutions, localMetaContext) {
37
- var metaSubDerivationVerified;
38
- var childNodes = childNodesQuery(metaSubDerivationNode);
39
- metaSubDerivationVerified = childNodes.every(function(childNode) {
40
- var childVerified = verifyChild(childNode, substitutions, localMetaContext);
41
- if (childVerified) {
42
- return true;
43
- }
44
- });
45
- return metaSubDerivationVerified;
46
- }
47
- function verifyMetaSubproof(metaSubproofNode, substitutions, localMetaContext) {
48
- var metaSubproofVerified = false;
49
- localMetaContext = _localMeta.default.fromLocalMetaContext(localMetaContext); ///
50
- var metaSuppositions = [], metaSuppositionNodes = metaSuppositionNodesQuery(metaSubproofNode), metaSuppositionsVerified = (0, _metaSuppositions.default)(metaSuppositionNodes, metaSuppositions, substitutions, localMetaContext);
51
- if (metaSuppositionsVerified) {
52
- var metaSubDerivationNode = metaSubDerivationNodeQuery(metaSubproofNode), metaSubDerivationVerified = verifyMetaSubDerivation(metaSubDerivationNode, substitutions, localMetaContext);
53
- if (metaSubDerivationVerified) {
54
- metaSubproofVerified = true;
55
- }
56
- }
57
- return metaSubproofVerified;
58
- }
59
- function verifyChild(childNode, substitutions, localMetaContext) {
60
- var childVerified = false;
61
- var childNodeRuleName = childNode.getRuleName();
62
- switch(childNodeRuleName){
63
- case _ruleNames.META_SUBPROOF_RULE_NAME:
64
- {
65
- var metaSubproofVerified;
66
- var metaSubproofNode = childNode; ///
67
- metaSubproofVerified = verifyMetaSubproof(metaSubproofNode, substitutions, localMetaContext);
68
- if (metaSubproofVerified) {
69
- var metaproofStep = _metaproof.default.fromMetaSubproofNode(metaSubproofNode);
70
- localMetaContext.addMetaproofStep(metaproofStep);
71
- childVerified = true;
72
- }
73
- break;
74
- }
75
- case _ruleNames.QUALIFIED_METASTATEMENT_RULE_NAME:
76
- {
77
- var qualifiedMetastatementVerified;
78
- var derived = true, assignments = [], qualifiedMetastatementNode = childNode; ///
79
- qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode, substitutions, assignments, derived, localMetaContext);
80
- if (qualifiedMetastatementVerified) {
81
- var assignmentAssigned = (0, _assignments.assignAssignment)(assignments, localMetaContext);
82
- qualifiedMetastatementVerified = assignmentAssigned; ///
83
- }
84
- if (qualifiedMetastatementVerified) {
85
- var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metaproofStep1 = _metaproof.default.fromMetastatementNode(metastatementNode);
86
- localMetaContext.addMetaproofStep(metaproofStep1);
87
- childVerified = true; ///
88
- }
89
- break;
90
- }
91
- case _ruleNames.UNQUALIFIED_METASTATEMENT_RULE_NAME:
92
- {
93
- var unqualifiedMetastatementVerified;
94
- var derived1 = true, assignments1 = [], unqualifiedMetastatementNode = childNode; ///
95
- unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, assignments1, derived1, localMetaContext);
96
- if (unqualifiedMetastatementVerified) {
97
- var assignmentAssigned1 = (0, _assignments.assignAssignment)(assignments1, localMetaContext);
98
- unqualifiedMetastatementVerified = assignmentAssigned1; ///
99
- }
100
- if (unqualifiedMetastatementVerified) {
101
- var metastatementNode1 = metastatementNodeQuery(unqualifiedMetastatementNode), metaproofStep2 = _metaproof.default.fromMetastatementNode(metastatementNode1);
102
- localMetaContext.addMetaproofStep(metaproofStep2);
103
- childVerified = true;
104
- }
105
- break;
106
- }
107
- }
108
- return childVerified;
109
- }
110
30
 
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YURlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhcHJvb2ZTdGVwIGZyb20gXCIuLi9zdGVwL21ldGFwcm9vZlwiO1xuaW1wb3J0IExvY2FsTWV0YUNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbG9jYWxNZXRhXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YVN1cHBvc2l0aW9ucyBmcm9tIFwiLi4vdmVyaWZ5L21ldGFTdXBwb3NpdGlvbnNcIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IGFzc2lnbkFzc2lnbm1lbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2Fzc2lnbm1lbnRzXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBNRVRBX1NVQlBST09GX1JVTEVfTkFNRSwgUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FLCBVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgY2hpbGROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhRGVyaXZhdGlvbnxtZXRhU3ViRGVyaXZhdGlvbi8qXCIpLFxuICAgICAgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRNZXRhc3RhdGVtZW50fHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKSxcbiAgICAgIG1ldGFTdXBwb3NpdGlvbk5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL21ldGFTdWJwcm9vZi9tZXRhU3VwcG9zaXRpb25cIiksXG4gICAgICBtZXRhU3ViRGVyaXZhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhU3VicHJvb2YvbWV0YVN1YkRlcml2YXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeU1ldGFEZXJpdmF0aW9uKG1ldGFEZXJpdmF0aW9uTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgbWV0YURlcml2YXRpb25WZXJpZmllZDtcblxuICBjb25zdCBjaGlsZE5vZGVzID0gY2hpbGROb2Rlc1F1ZXJ5KG1ldGFEZXJpdmF0aW9uTm9kZSk7XG5cbiAgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IGNoaWxkTm9kZXMuZXZlcnkoKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IGNoaWxkVmVyaWZpZWQgPSB2ZXJpZnlDaGlsZChjaGlsZE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKGNoaWxkVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFTdWJEZXJpdmF0aW9uKG1ldGFTdWJEZXJpdmF0aW9uTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgbWV0YVN1YkRlcml2YXRpb25WZXJpZmllZDtcblxuICBjb25zdCBjaGlsZE5vZGVzID0gY2hpbGROb2Rlc1F1ZXJ5KG1ldGFTdWJEZXJpdmF0aW9uTm9kZSk7XG5cbiAgbWV0YVN1YkRlcml2YXRpb25WZXJpZmllZCA9IGNoaWxkTm9kZXMuZXZlcnkoKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IGNoaWxkVmVyaWZpZWQgPSB2ZXJpZnlDaGlsZChjaGlsZE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKGNoaWxkVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG1ldGFTdWJEZXJpdmF0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFTdWJwcm9vZihtZXRhU3VicHJvb2ZOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhU3VicHJvb2ZWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGxvY2FsTWV0YUNvbnRleHQgPSBMb2NhbE1ldGFDb250ZXh0LmZyb21Mb2NhbE1ldGFDb250ZXh0KGxvY2FsTWV0YUNvbnRleHQpOyAvLy9cblxuICBjb25zdCBtZXRhU3VwcG9zaXRpb25zID0gW10sXG4gICAgICAgIG1ldGFTdXBwb3NpdGlvbk5vZGVzID0gbWV0YVN1cHBvc2l0aW9uTm9kZXNRdWVyeShtZXRhU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgbWV0YVN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gdmVyaWZ5TWV0YVN1cHBvc2l0aW9ucyhtZXRhU3VwcG9zaXRpb25Ob2RlcywgbWV0YVN1cHBvc2l0aW9ucywgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dCk7XG5cbiAgaWYgKG1ldGFTdXBwb3NpdGlvbnNWZXJpZmllZCkge1xuICAgIGNvbnN0IG1ldGFTdWJEZXJpdmF0aW9uTm9kZSA9IG1ldGFTdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5KG1ldGFTdWJwcm9vZk5vZGUpLFxuICAgICAgICAgIG1ldGFTdWJEZXJpdmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlNZXRhU3ViRGVyaXZhdGlvbihtZXRhU3ViRGVyaXZhdGlvbk5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFTdWJEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICAgIG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YVN1YnByb29mVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUNoaWxkKGNoaWxkTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxNZXRhQ29udGV4dCkge1xuICBsZXQgY2hpbGRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGNoaWxkTm9kZVJ1bGVOYW1lID0gY2hpbGROb2RlLmdldFJ1bGVOYW1lKCk7XG5cbiAgc3dpdGNoIChjaGlsZE5vZGVSdWxlTmFtZSkge1xuICAgIGNhc2UgTUVUQV9TVUJQUk9PRl9SVUxFX05BTUU6IHtcbiAgICAgIGxldCBtZXRhU3VicHJvb2ZWZXJpZmllZDtcblxuICAgICAgY29uc3QgbWV0YVN1YnByb29mTm9kZSA9IGNoaWxkTm9kZTsgIC8vL1xuXG4gICAgICBtZXRhU3VicHJvb2ZWZXJpZmllZCA9IHZlcmlmeU1ldGFTdWJwcm9vZihtZXRhU3VicHJvb2ZOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgaWYgKG1ldGFTdWJwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFwcm9vZlN0ZXAgPSBNZXRhcHJvb2ZTdGVwLmZyb21NZXRhU3VicHJvb2ZOb2RlKG1ldGFTdWJwcm9vZk5vZGUpO1xuXG4gICAgICAgIGxvY2FsTWV0YUNvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgICAgICBjaGlsZFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2FzZSBRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICAgIGNvbnN0IGRlcml2ZWQgPSB0cnVlLFxuICAgICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gY2hpbGROb2RlOyAgLy8vXG5cbiAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgICAgfVxuXG4gICAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICAgIG1ldGFwcm9vZlN0ZXAgPSBNZXRhcHJvb2ZTdGVwLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICAgIGNoaWxkVmVyaWZpZWQgPSB0cnVlOyAvLy9cbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2FzZSBVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRToge1xuICAgICAgbGV0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xuXG4gICAgICBjb25zdCBkZXJpdmVkID0gdHJ1ZSxcbiAgICAgICAgICAgIGFzc2lnbm1lbnRzID0gW10sXG4gICAgICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gY2hpbGROb2RlOyAgLy8vXG5cbiAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsTWV0YUNvbnRleHQpO1xuXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAgLy8vXG4gICAgICB9XG5cbiAgICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICAgIG1ldGFwcm9vZlN0ZXAgPSBNZXRhcHJvb2ZTdGVwLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgbG9jYWxNZXRhQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICAgIGNoaWxkVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2hpbGRWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhRGVyaXZhdGlvbiIsImNoaWxkTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YVN1cHBvc2l0aW9uTm9kZXNRdWVyeSIsIm1ldGFTdWJEZXJpdmF0aW9uTm9kZVF1ZXJ5IiwibWV0YURlcml2YXRpb25Ob2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsTWV0YUNvbnRleHQiLCJtZXRhRGVyaXZhdGlvblZlcmlmaWVkIiwiY2hpbGROb2RlcyIsImV2ZXJ5IiwiY2hpbGROb2RlIiwiY2hpbGRWZXJpZmllZCIsInZlcmlmeUNoaWxkIiwidmVyaWZ5TWV0YVN1YkRlcml2YXRpb24iLCJtZXRhU3ViRGVyaXZhdGlvbk5vZGUiLCJtZXRhU3ViRGVyaXZhdGlvblZlcmlmaWVkIiwidmVyaWZ5TWV0YVN1YnByb29mIiwibWV0YVN1YnByb29mTm9kZSIsIm1ldGFTdWJwcm9vZlZlcmlmaWVkIiwiTG9jYWxNZXRhQ29udGV4dCIsImZyb21Mb2NhbE1ldGFDb250ZXh0IiwibWV0YVN1cHBvc2l0aW9ucyIsIm1ldGFTdXBwb3NpdGlvbk5vZGVzIiwibWV0YVN1cHBvc2l0aW9uc1ZlcmlmaWVkIiwidmVyaWZ5TWV0YVN1cHBvc2l0aW9ucyIsImNoaWxkTm9kZVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJNRVRBX1NVQlBST09GX1JVTEVfTkFNRSIsIm1ldGFwcm9vZlN0ZXAiLCJNZXRhcHJvb2ZTdGVwIiwiZnJvbU1ldGFTdWJwcm9vZk5vZGUiLCJhZGRNZXRhcHJvb2ZTdGVwIiwiUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwiZGVyaXZlZCIsImFzc2lnbm1lbnRzIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwiYXNzaWdubWVudEFzc2lnbmVkIiwiYXNzaWduQXNzaWdubWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZnJvbU1ldGFzdGF0ZW1lbnROb2RlIiwiVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJ2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWlCQTs7O2VBQXdCQTs7O2dFQWZFO2dFQUNHO3VFQUNNO2dFQUNNO2tFQUNFOzJCQUVWO3FCQUNLO3lCQUMwRTs7Ozs7O0FBRWhILElBQU1DLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyx3Q0FDN0JDLHlCQUF5QkMsSUFBQUEsZ0JBQVMsRUFBQyxvRUFDbkNDLDRCQUE0QkgsSUFBQUEsaUJBQVUsRUFBQyxrQ0FDdkNJLDZCQUE2QkYsSUFBQUEsZ0JBQVMsRUFBQztBQUU5QixTQUFTSixxQkFBcUJPLGtCQUFrQixFQUFFQyxhQUFhLEVBQUVDLGdCQUFnQjtJQUM5RixJQUFJQztJQUVKLElBQU1DLGFBQWFWLGdCQUFnQk07SUFFbkNHLHlCQUF5QkMsV0FBV0MsS0FBSyxDQUFDLFNBQUNDO1FBQ3pDLElBQU1DLGdCQUFnQkMsWUFBWUYsV0FBV0wsZUFBZUM7UUFFNUQsSUFBSUssZUFBZTtZQUNqQixPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9KO0FBQ1Q7QUFFQSxTQUFTTSx3QkFBd0JDLHFCQUFxQixFQUFFVCxhQUFhLEVBQUVDLGdCQUFnQjtJQUNyRixJQUFJUztJQUVKLElBQU1QLGFBQWFWLGdCQUFnQmdCO0lBRW5DQyw0QkFBNEJQLFdBQVdDLEtBQUssQ0FBQyxTQUFDQztRQUM1QyxJQUFNQyxnQkFBZ0JDLFlBQVlGLFdBQVdMLGVBQWVDO1FBRTVELElBQUlLLGVBQWU7WUFDakIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPSTtBQUNUO0FBRUEsU0FBU0MsbUJBQW1CQyxnQkFBZ0IsRUFBRVosYUFBYSxFQUFFQyxnQkFBZ0I7SUFDM0UsSUFBSVksdUJBQXVCO0lBRTNCWixtQkFBbUJhLGtCQUFnQixDQUFDQyxvQkFBb0IsQ0FBQ2QsbUJBQW1CLEdBQUc7SUFFL0UsSUFBTWUsbUJBQW1CLEVBQUUsRUFDckJDLHVCQUF1QnBCLDBCQUEwQmUsbUJBQ2pETSwyQkFBMkJDLElBQUFBLHlCQUFzQixFQUFDRixzQkFBc0JELGtCQUFrQmhCLGVBQWVDO0lBRS9HLElBQUlpQiwwQkFBMEI7UUFDNUIsSUFBTVQsd0JBQXdCWCwyQkFBMkJjLG1CQUNuREYsNEJBQTRCRix3QkFBd0JDLHVCQUF1QlQsZUFBZUM7UUFFaEcsSUFBSVMsMkJBQTJCO1lBQzdCRyx1QkFBdUI7UUFDekI7SUFDRjtJQUVBLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTTixZQUFZRixTQUFTLEVBQUVMLGFBQWEsRUFBRUMsZ0JBQWdCO0lBQzdELElBQUlLLGdCQUFnQjtJQUVwQixJQUFNYyxvQkFBb0JmLFVBQVVnQixXQUFXO0lBRS9DLE9BQVFEO1FBQ04sS0FBS0Usa0NBQXVCO1lBQUU7Z0JBQzVCLElBQUlUO2dCQUVKLElBQU1ELG1CQUFtQlAsV0FBWSxHQUFHO2dCQUV4Q1EsdUJBQXVCRixtQkFBbUJDLGtCQUFrQlosZUFBZUM7Z0JBRTNFLElBQUlZLHNCQUFzQjtvQkFDeEIsSUFBTVUsZ0JBQWdCQyxrQkFBYSxDQUFDQyxvQkFBb0IsQ0FBQ2I7b0JBRXpEWCxpQkFBaUJ5QixnQkFBZ0IsQ0FBQ0g7b0JBRWxDakIsZ0JBQWdCO2dCQUNsQjtnQkFFQTtZQUNGO1FBRUEsS0FBS3FCLDRDQUFpQztZQUFFO2dCQUN0QyxJQUFJQztnQkFFSixJQUFNQyxVQUFVLE1BQ1ZDLGNBQWMsRUFBRSxFQUNoQkMsNkJBQTZCMUIsV0FBWSxHQUFHO2dCQUVsRHVCLGlDQUFpQ0ksSUFBQUEsa0JBQTRCLEVBQUNELDRCQUE0Qi9CLGVBQWU4QixhQUFhRCxTQUFTNUI7Z0JBRS9ILElBQUkyQixnQ0FBZ0M7b0JBQ2xDLElBQU1LLHFCQUFxQkMsSUFBQUEsNkJBQWdCLEVBQUNKLGFBQWE3QjtvQkFFekQyQixpQ0FBaUNLLG9CQUFvQixHQUFHO2dCQUMxRDtnQkFFQSxJQUFJTCxnQ0FBZ0M7b0JBQ2xDLElBQU1PLG9CQUFvQnhDLHVCQUF1Qm9DLDZCQUMzQ1IsaUJBQWdCQyxrQkFBYSxDQUFDWSxxQkFBcUIsQ0FBQ0Q7b0JBRTFEbEMsaUJBQWlCeUIsZ0JBQWdCLENBQUNIO29CQUVsQ2pCLGdCQUFnQixNQUFNLEdBQUc7Z0JBQzNCO2dCQUVBO1lBQ0Y7UUFFQSxLQUFLK0IsOENBQW1DO1lBQUU7Z0JBQ3hDLElBQUlDO2dCQUVKLElBQU1ULFdBQVUsTUFDVkMsZUFBYyxFQUFFLEVBQ2hCUywrQkFBK0JsQyxXQUFZLEdBQUc7Z0JBRXBEaUMsbUNBQW1DRSxJQUFBQSxvQkFBOEIsRUFBQ0QsOEJBQThCVCxjQUFhRCxVQUFTNUI7Z0JBRXRILElBQUlxQyxrQ0FBa0M7b0JBQ3BDLElBQU1MLHNCQUFxQkMsSUFBQUEsNkJBQWdCLEVBQUNKLGNBQWE3QjtvQkFFekRxQyxtQ0FBbUNMLHFCQUFxQixHQUFHO2dCQUM3RDtnQkFFQSxJQUFJSyxrQ0FBa0M7b0JBQ3BDLElBQU1ILHFCQUFvQnhDLHVCQUF1QjRDLCtCQUMzQ2hCLGlCQUFnQkMsa0JBQWEsQ0FBQ1kscUJBQXFCLENBQUNEO29CQUUxRGxDLGlCQUFpQnlCLGdCQUFnQixDQUFDSDtvQkFFbENqQixnQkFBZ0I7Z0JBQ2xCO2dCQUVBO1lBQ0Y7SUFDRjtJQUVBLE9BQU9BO0FBQ1QifQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YURlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlNZXRhUHJvb2ZTdGVwIGZyb20gXCIuLi92ZXJpZnkvbWV0YVByb29mU3RlcFwiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBtZXRhUHJvb2ZTdGVwTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YURlcml2YXRpb24vbWV0YVByb29mU3RlcHxsYXN0TWV0YVByb29mU3RlcFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YURlcml2YXRpb24obWV0YURlcml2YXRpb25Ob2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhRGVyaXZhdGlvblZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFQcm9vZlN0ZXBOb2RlcyA9IG1ldGFQcm9vZlN0ZXBOb2Rlc1F1ZXJ5KG1ldGFEZXJpdmF0aW9uTm9kZSk7XG5cbiAgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IG1ldGFQcm9vZlN0ZXBOb2Rlcy5ldmVyeSgobWV0YVByb29mU3RlcE5vZGUpID0+IHtcbiAgICBjb25zdCBtZXRhUHJvb2ZTdGVwVmVyaWZpZWQgPSB2ZXJpZnlNZXRhUHJvb2ZTdGVwKG1ldGFQcm9vZlN0ZXBOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbE1ldGFDb250ZXh0KTtcblxuICAgIGlmIChtZXRhUHJvb2ZTdGVwVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YURlcml2YXRpb24iLCJtZXRhUHJvb2ZTdGVwTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhRGVyaXZhdGlvbk5vZGUiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxNZXRhQ29udGV4dCIsIm1ldGFEZXJpdmF0aW9uVmVyaWZpZWQiLCJtZXRhUHJvb2ZTdGVwTm9kZXMiLCJldmVyeSIsIm1ldGFQcm9vZlN0ZXBOb2RlIiwibWV0YVByb29mU3RlcFZlcmlmaWVkIiwidmVyaWZ5TWV0YVByb29mU3RlcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUF3QkE7OztvRUFOUTtxQkFFTDs7Ozs7O0FBRTNCLElBQU1DLDBCQUEwQkMsSUFBQUEsaUJBQVUsRUFBQztBQUU1QixTQUFTRixxQkFBcUJHLGtCQUFrQixFQUFFQyxhQUFhLEVBQUVDLGdCQUFnQjtJQUM5RixJQUFJQztJQUVKLElBQU1DLHFCQUFxQk4sd0JBQXdCRTtJQUVuREcseUJBQXlCQyxtQkFBbUJDLEtBQUssQ0FBQyxTQUFDQztRQUNqRCxJQUFNQyx3QkFBd0JDLElBQUFBLHNCQUFtQixFQUFDRixtQkFBbUJMLGVBQWVDO1FBRXBGLElBQUlLLHVCQUF1QjtZQUN6QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9KO0FBQ1QifQ==