occam-verify-cli 0.0.697 → 0.0.700

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 (102) hide show
  1. package/lib/assignment/equality.js +7 -5
  2. package/lib/assignment/metavariable.js +62 -0
  3. package/lib/assignment/variable.js +7 -5
  4. package/lib/constructor.js +3 -10
  5. package/lib/context/file.js +37 -97
  6. package/lib/context/local.js +28 -22
  7. package/lib/context/localMeta.js +21 -21
  8. package/lib/context/release.js +2 -4
  9. package/lib/equality.js +15 -7
  10. package/lib/metaType.js +10 -10
  11. package/lib/metavariable.js +27 -31
  12. package/lib/mixins/context.js +107 -0
  13. package/lib/ruleNames.js +9 -1
  14. package/lib/substitution/metastatementForMetavariable.js +17 -10
  15. package/lib/substitution/statementForMetavariable.js +17 -10
  16. package/lib/substitution/termForVariable.js +17 -11
  17. package/lib/type.js +23 -27
  18. package/lib/utilities/node.js +3 -73
  19. package/lib/utilities/query.js +2 -16
  20. package/lib/utilities/tokens.js +1 -8
  21. package/lib/variable.js +43 -36
  22. package/lib/verifier/node/metastatement.js +2 -3
  23. package/lib/verifier/node/statementAsCombinator.js +1 -1
  24. package/lib/verifier/node.js +2 -2
  25. package/lib/verifier/nodes/metastatementForMetavariable.js +5 -5
  26. package/lib/verifier/nodes/statementForMetavariable.js +5 -5
  27. package/lib/verifier/nodes/termForVariable.js +6 -6
  28. package/lib/verifier/nodes.js +2 -2
  29. package/lib/verify/axiom.js +3 -8
  30. package/lib/verify/conclusion.js +2 -2
  31. package/lib/verify/conjecture.js +4 -9
  32. package/lib/verify/derivation.js +3 -8
  33. package/lib/verify/equality.js +11 -11
  34. package/lib/verify/file.js +2 -2
  35. package/lib/verify/lemma.js +4 -9
  36. package/lib/verify/metavariable.js +8 -6
  37. package/lib/verify/premises.js +28 -0
  38. package/lib/verify/rule.js +3 -8
  39. package/lib/verify/ruleDerivation.js +6 -8
  40. package/lib/verify/standaloneType.js +32 -0
  41. package/lib/verify/statement/unqualified.js +2 -2
  42. package/lib/verify/supposition.js +4 -7
  43. package/lib/verify/suppositions.js +37 -0
  44. package/lib/verify/term.js +3 -4
  45. package/lib/verify/termAndStandaloneType.js +39 -0
  46. package/lib/verify/termAsVariableAndStandaloneType.js +39 -0
  47. package/lib/verify/theorem.js +4 -9
  48. package/lib/verify/type.js +2 -2
  49. package/lib/verify/typeAssertion.js +59 -89
  50. package/lib/verify/variable.js +12 -10
  51. package/package.json +1 -1
  52. package/src/assignment/equality.js +13 -4
  53. package/src/assignment/metavariable.js +30 -0
  54. package/src/assignment/variable.js +15 -4
  55. package/src/constructor.js +2 -7
  56. package/src/context/file.js +50 -41
  57. package/src/context/local.js +40 -27
  58. package/src/context/localMeta.js +26 -22
  59. package/src/context/release.js +6 -9
  60. package/src/equality.js +12 -5
  61. package/src/metaType.js +10 -10
  62. package/src/metavariable.js +24 -22
  63. package/src/mixins/{file.js → context.js} +20 -2
  64. package/src/ruleNames.js +2 -0
  65. package/src/substitution/metastatementForMetavariable.js +13 -7
  66. package/src/substitution/statementForMetavariable.js +13 -7
  67. package/src/substitution/termForVariable.js +13 -9
  68. package/src/type.js +27 -39
  69. package/src/utilities/node.js +3 -81
  70. package/src/utilities/query.js +1 -19
  71. package/src/utilities/tokens.js +0 -8
  72. package/src/variable.js +48 -30
  73. package/src/verifier/node/metastatement.js +1 -3
  74. package/src/verifier/node/statementAsCombinator.js +1 -1
  75. package/src/verifier/nodes/metastatementForMetavariable.js +5 -7
  76. package/src/verifier/nodes/statementForMetavariable.js +5 -7
  77. package/src/verifier/nodes/termForVariable.js +6 -8
  78. package/src/verify/axiom.js +2 -8
  79. package/src/verify/conclusion.js +1 -1
  80. package/src/verify/conjecture.js +3 -9
  81. package/src/verify/derivation.js +2 -8
  82. package/src/verify/equality.js +10 -10
  83. package/src/verify/file.js +1 -1
  84. package/src/verify/lemma.js +3 -9
  85. package/src/verify/metavariable.js +10 -9
  86. package/src/verify/premises.js +17 -0
  87. package/src/verify/rule.js +2 -8
  88. package/src/verify/ruleDerivation.js +5 -7
  89. package/src/verify/standaloneType.js +34 -0
  90. package/src/verify/statement/unqualified.js +1 -1
  91. package/src/verify/supposition.js +2 -7
  92. package/src/verify/suppositions.js +29 -0
  93. package/src/verify/term.js +3 -6
  94. package/src/verify/termAndStandaloneType.js +37 -0
  95. package/src/verify/termAsVariableAndStandaloneType.js +38 -0
  96. package/src/verify/theorem.js +3 -9
  97. package/src/verify/type.js +1 -1
  98. package/src/verify/typeAssertion.js +79 -110
  99. package/src/verify/variable.js +13 -13
  100. package/lib/mixins/file.js +0 -83
  101. package/lib/mixins/logging.js +0 -39
  102. package/src/mixins/logging.js +0 -24
@@ -41,20 +41,22 @@ var EqualityAssignment = /*#__PURE__*/ function() {
41
41
  },
42
42
  {
43
43
  key: "assign",
44
- value: function assign(localContext) {
45
- localContext.addEquality(this.equality);
44
+ value: function assign(context) {
45
+ var equalityAdded = context.addEquality(this.equality), equalityNode = this.equality.getNode(), equalityString = context.nodeAsString(equalityNode), equalityAssigned = equalityAdded; ///
46
+ equalityAssigned ? context.debug("Able to assign the '".concat(equalityString, "' equality."), equalityNode) : context.trace("Unable to assign the '".concat(equalityString, "' equality."), equalityNode);
47
+ return equalityAssigned;
46
48
  }
47
49
  }
48
50
  ], [
49
51
  {
50
52
  key: "fromEquality",
51
53
  value: function fromEquality(equality) {
52
- var assignmentAssignment = new EqualityAssignment(equality);
53
- return assignmentAssignment;
54
+ var equalityAssignment = new EqualityAssignment(equality);
55
+ return equalityAssignment;
54
56
  }
55
57
  }
56
58
  ]);
57
59
  return EqualityAssignment;
58
60
  }();
59
61
 
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NpZ25tZW50L2VxdWFsaXR5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFcXVhbGl0eUFzc2lnbm1lbnQge1xuICBjb25zdHJ1Y3RvcihlcXVhbGl0eSkge1xuICAgIHRoaXMuZXF1YWxpdHkgPSBlcXVhbGl0eTtcbiAgfVxuXG4gIGdldEVxdWFsaXR5KCkge1xuICAgIHJldHVybiB0aGlzLmVxdWFsaXR5O1xuICB9XG5cbiAgYXNzaWduKGxvY2FsQ29udGV4dCkge1xuICAgIGxvY2FsQ29udGV4dC5hZGRFcXVhbGl0eSh0aGlzLmVxdWFsaXR5KTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRXF1YWxpdHkoZXF1YWxpdHkpIHtcbiAgICBjb25zdCBhc3NpZ25tZW50QXNzaWdubWVudCA9IG5ldyBFcXVhbGl0eUFzc2lnbm1lbnQoZXF1YWxpdHkpO1xuXG4gICAgcmV0dXJuIGFzc2lnbm1lbnRBc3NpZ25tZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiRXF1YWxpdHlBc3NpZ25tZW50IiwiZXF1YWxpdHkiLCJnZXRFcXVhbGl0eSIsImFzc2lnbiIsImxvY2FsQ29udGV4dCIsImFkZEVxdWFsaXR5IiwiZnJvbUVxdWFsaXR5IiwiYXNzaWdubWVudEFzc2lnbm1lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBRXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFOLElBQUEsQUFBTUEsbUNBQUQsQUFBTDthQUFNQSxtQkFDUEMsUUFBUTtnQ0FEREQ7UUFFakIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBOztrQkFGQ0Q7O1lBS25CRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNELFFBQVE7WUFDdEI7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0MsWUFBWTtnQkFDakJBLGFBQWFDLFdBQVcsQ0FBQyxJQUFJLENBQUNKLFFBQVE7WUFDeEM7Ozs7WUFFT0ssS0FBQUE7bUJBQVAsU0FBT0EsYUFBYUwsUUFBUTtnQkFDMUIsSUFBTU0sdUJBQXVCLElBZFpQLG1CQWNtQ0M7Z0JBRXBELE9BQU9NO1lBQ1Q7OztXQWpCbUJQIn0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NpZ25tZW50L2VxdWFsaXR5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFcXVhbGl0eUFzc2lnbm1lbnQge1xuICBjb25zdHJ1Y3RvcihlcXVhbGl0eSkge1xuICAgIHRoaXMuZXF1YWxpdHkgPSBlcXVhbGl0eTtcbiAgfVxuXG4gIGdldEVxdWFsaXR5KCkge1xuICAgIHJldHVybiB0aGlzLmVxdWFsaXR5O1xuICB9XG5cbiAgYXNzaWduKGNvbnRleHQpIHtcbiAgICBjb25zdCBlcXVhbGl0eUFkZGVkID0gY29udGV4dC5hZGRFcXVhbGl0eSh0aGlzLmVxdWFsaXR5KSxcbiAgICAgICAgICBlcXVhbGl0eU5vZGUgPSB0aGlzLmVxdWFsaXR5LmdldE5vZGUoKSxcbiAgICAgICAgICBlcXVhbGl0eVN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKGVxdWFsaXR5Tm9kZSksXG4gICAgICAgICAgZXF1YWxpdHlBc3NpZ25lZCA9IGVxdWFsaXR5QWRkZWQ7IC8vL1xuXG4gICAgZXF1YWxpdHlBc3NpZ25lZCA/XG4gICAgICBjb250ZXh0LmRlYnVnKGBBYmxlIHRvIGFzc2lnbiB0aGUgJyR7ZXF1YWxpdHlTdHJpbmd9JyBlcXVhbGl0eS5gLCBlcXVhbGl0eU5vZGUpIDpcbiAgICAgICAgY29udGV4dC50cmFjZShgVW5hYmxlIHRvIGFzc2lnbiB0aGUgJyR7ZXF1YWxpdHlTdHJpbmd9JyBlcXVhbGl0eS5gLCBlcXVhbGl0eU5vZGUpO1xuXG4gICAgcmV0dXJuIGVxdWFsaXR5QXNzaWduZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUVxdWFsaXR5KGVxdWFsaXR5KSB7XG4gICAgY29uc3QgZXF1YWxpdHlBc3NpZ25tZW50ID0gbmV3IEVxdWFsaXR5QXNzaWdubWVudChlcXVhbGl0eSk7XG5cbiAgICByZXR1cm4gZXF1YWxpdHlBc3NpZ25tZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiRXF1YWxpdHlBc3NpZ25tZW50IiwiZXF1YWxpdHkiLCJnZXRFcXVhbGl0eSIsImFzc2lnbiIsImNvbnRleHQiLCJlcXVhbGl0eUFkZGVkIiwiYWRkRXF1YWxpdHkiLCJlcXVhbGl0eU5vZGUiLCJnZXROb2RlIiwiZXF1YWxpdHlTdHJpbmciLCJub2RlQXNTdHJpbmciLCJlcXVhbGl0eUFzc2lnbmVkIiwiZGVidWciLCJ0cmFjZSIsImZyb21FcXVhbGl0eSIsImVxdWFsaXR5QXNzaWdubWVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFFcUJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU4sSUFBQSxBQUFNQSxtQ0FBRCxBQUFMO2FBQU1BLG1CQUNQQyxRQUFRO2dDQURERDtRQUVqQixJQUFJLENBQUNDLFFBQVEsR0FBR0E7O2tCQUZDRDs7WUFLbkJFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsUUFBUTtZQUN0Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxPQUFPO2dCQUNaLElBQU1DLGdCQUFnQkQsUUFBUUUsV0FBVyxDQUFDLElBQUksQ0FBQ0wsUUFBUSxHQUNqRE0sZUFBZSxJQUFJLENBQUNOLFFBQVEsQ0FBQ08sT0FBTyxJQUNwQ0MsaUJBQWlCTCxRQUFRTSxZQUFZLENBQUNILGVBQ3RDSSxtQkFBbUJOLGVBQWUsR0FBRztnQkFFM0NNLG1CQUNFUCxRQUFRUSxLQUFLLENBQUMsQUFBQyx1QkFBcUMsT0FBZkgsZ0JBQWUsZ0JBQWNGLGdCQUNoRUgsUUFBUVMsS0FBSyxDQUFDLEFBQUMseUJBQXVDLE9BQWZKLGdCQUFlLGdCQUFjRjtnQkFFeEUsT0FBT0k7WUFDVDs7OztZQUVPRyxLQUFBQTttQkFBUCxTQUFPQSxhQUFhYixRQUFRO2dCQUMxQixJQUFNYyxxQkFBcUIsSUF2QlZmLG1CQXVCaUNDO2dCQUVsRCxPQUFPYztZQUNUOzs7V0ExQm1CZiJ9
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return MetavariableAssignment;
9
+ }
10
+ });
11
+ function _class_call_check(instance, Constructor) {
12
+ if (!(instance instanceof Constructor)) {
13
+ throw new TypeError("Cannot call a class as a function");
14
+ }
15
+ }
16
+ function _defineProperties(target, props) {
17
+ for(var i = 0; i < props.length; i++){
18
+ var descriptor = props[i];
19
+ descriptor.enumerable = descriptor.enumerable || false;
20
+ descriptor.configurable = true;
21
+ if ("value" in descriptor) descriptor.writable = true;
22
+ Object.defineProperty(target, descriptor.key, descriptor);
23
+ }
24
+ }
25
+ function _create_class(Constructor, protoProps, staticProps) {
26
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
+ if (staticProps) _defineProperties(Constructor, staticProps);
28
+ return Constructor;
29
+ }
30
+ var MetavariableAssignment = /*#__PURE__*/ function() {
31
+ function MetavariableAssignment(metavariable) {
32
+ _class_call_check(this, MetavariableAssignment);
33
+ this.metavariable = metavariable;
34
+ }
35
+ _create_class(MetavariableAssignment, [
36
+ {
37
+ key: "getMetavariable",
38
+ value: function getMetavariable() {
39
+ return this.metavariable;
40
+ }
41
+ },
42
+ {
43
+ key: "assign",
44
+ value: function assign(fileContext) {
45
+ var metavariableAdded = fileContext.addMetavariable(this.metavariable), metavariableNode = this.metavariable.getNode(), metavariableString = fileContext.nodeAsString(metavariableNode), metavariableAssigned = metavariableAdded; ///
46
+ metavariableAssigned ? fileContext.debug("Able to assign the '".concat(metavariableString, "' metavariable."), metavariableNode) : fileContext.trace("Unable to assign the '".concat(metavariableString, "' metavariable."), metavariableNode);
47
+ return metavariableAssigned;
48
+ }
49
+ }
50
+ ], [
51
+ {
52
+ key: "fromMetavariable",
53
+ value: function fromMetavariable(metavariable) {
54
+ var metavariableAssignment = new MetavariableAssignment(metavariable);
55
+ return metavariableAssignment;
56
+ }
57
+ }
58
+ ]);
59
+ return MetavariableAssignment;
60
+ }();
61
+
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NpZ25tZW50L21ldGF2YXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWV0YXZhcmlhYmxlQXNzaWdubWVudCB7XG4gIGNvbnN0cnVjdG9yKG1ldGF2YXJpYWJsZSkge1xuICAgIHRoaXMubWV0YXZhcmlhYmxlID0gbWV0YXZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGF2YXJpYWJsZTtcbiAgfVxuXG4gIGFzc2lnbihmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZUFkZGVkID0gZmlsZUNvbnRleHQuYWRkTWV0YXZhcmlhYmxlKHRoaXMubWV0YXZhcmlhYmxlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gdGhpcy5tZXRhdmFyaWFibGUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVBc3NpZ25lZCA9IG1ldGF2YXJpYWJsZUFkZGVkOyAvLy9cblxuICAgIG1ldGF2YXJpYWJsZUFzc2lnbmVkID9cbiAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGBBYmxlIHRvIGFzc2lnbiB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmAsIG1ldGF2YXJpYWJsZU5vZGUpIDpcbiAgICAgICAgZmlsZUNvbnRleHQudHJhY2UoYFVuYWJsZSB0byBhc3NpZ24gdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVBc3NpZ25lZDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZUFzc2lnbm1lbnQgPSBuZXcgTWV0YXZhcmlhYmxlQXNzaWdubWVudChtZXRhdmFyaWFibGUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZUFzc2lnbm1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJNZXRhdmFyaWFibGVBc3NpZ25tZW50IiwibWV0YXZhcmlhYmxlIiwiZ2V0TWV0YXZhcmlhYmxlIiwiYXNzaWduIiwiZmlsZUNvbnRleHQiLCJtZXRhdmFyaWFibGVBZGRlZCIsImFkZE1ldGF2YXJpYWJsZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJnZXROb2RlIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwibWV0YXZhcmlhYmxlQXNzaWduZWQiLCJkZWJ1ZyIsInRyYWNlIiwiZnJvbU1ldGF2YXJpYWJsZSIsIm1ldGF2YXJpYWJsZUFzc2lnbm1lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBRXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFOLElBQUEsQUFBTUEsdUNBQUQsQUFBTDthQUFNQSx1QkFDUEMsWUFBWTtnQ0FETEQ7UUFFakIsSUFBSSxDQUFDQyxZQUFZLEdBQUdBOztrQkFGSEQ7O1lBS25CRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNELFlBQVk7WUFDMUI7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0MsV0FBVztnQkFDaEIsSUFBTUMsb0JBQW9CRCxZQUFZRSxlQUFlLENBQUMsSUFBSSxDQUFDTCxZQUFZLEdBQ2pFTSxtQkFBbUIsSUFBSSxDQUFDTixZQUFZLENBQUNPLE9BQU8sSUFDNUNDLHFCQUFxQkwsWUFBWU0sWUFBWSxDQUFDSCxtQkFDOUNJLHVCQUF1Qk4sbUJBQW1CLEdBQUc7Z0JBRW5ETSx1QkFDRVAsWUFBWVEsS0FBSyxDQUFDLEFBQUMsdUJBQXlDLE9BQW5CSCxvQkFBbUIsb0JBQWtCRixvQkFDNUVILFlBQVlTLEtBQUssQ0FBQyxBQUFDLHlCQUEyQyxPQUFuQkosb0JBQW1CLG9CQUFrQkY7Z0JBRXBGLE9BQU9JO1lBQ1Q7Ozs7WUFFT0csS0FBQUE7bUJBQVAsU0FBT0EsaUJBQWlCYixZQUFZO2dCQUNsQyxJQUFNYyx5QkFBeUIsSUF2QmRmLHVCQXVCeUNDO2dCQUUxRCxPQUFPYztZQUNUOzs7V0ExQm1CZiJ9
@@ -41,20 +41,22 @@ var VariableAssignment = /*#__PURE__*/ function() {
41
41
  },
42
42
  {
43
43
  key: "assign",
44
- value: function assign(localContext) {
45
- localContext.addVariable(this.variable);
44
+ value: function assign(context) {
45
+ var variableAdded = context.addVariable(this.variable), variableNode = this.variable.getNode(), variableType = this.variable.getType(), variableString = context.nodeAsString(variableNode), variableTypeName = variableType.getName(), variableAssigned = variableAdded; ///
46
+ variableAssigned ? context.debug("Able to assign the '".concat(variableString, "' variable with type '").concat(variableTypeName, "'."), variableNode) : context.trace("Unable to assign the '".concat(variableString, "' variable with type '").concat(variableTypeName, "'."), variableNode);
47
+ return variableAssigned;
46
48
  }
47
49
  }
48
50
  ], [
49
51
  {
50
52
  key: "fromVariable",
51
53
  value: function fromVariable(variable) {
52
- var assignmentAssignment = new VariableAssignment(variable);
53
- return assignmentAssignment;
54
+ var variableAssignment = new VariableAssignment(variable);
55
+ return variableAssignment;
54
56
  }
55
57
  }
56
58
  ]);
57
59
  return VariableAssignment;
58
60
  }();
59
61
 
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NpZ25tZW50L3ZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWYXJpYWJsZUFzc2lnbm1lbnQge1xuICBjb25zdHJ1Y3Rvcih2YXJpYWJsZSkge1xuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgYXNzaWduKGxvY2FsQ29udGV4dCkge1xuICAgIGxvY2FsQ29udGV4dC5hZGRWYXJpYWJsZSh0aGlzLnZhcmlhYmxlKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVmFyaWFibGUodmFyaWFibGUpIHtcbiAgICBjb25zdCBhc3NpZ25tZW50QXNzaWdubWVudCA9IG5ldyBWYXJpYWJsZUFzc2lnbm1lbnQodmFyaWFibGUpO1xuXG4gICAgcmV0dXJuIGFzc2lnbm1lbnRBc3NpZ25tZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiVmFyaWFibGVBc3NpZ25tZW50IiwidmFyaWFibGUiLCJnZXRWYXJpYWJsZSIsImFzc2lnbiIsImxvY2FsQ29udGV4dCIsImFkZFZhcmlhYmxlIiwiZnJvbVZhcmlhYmxlIiwiYXNzaWdubWVudEFzc2lnbm1lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBRXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFOLElBQUEsQUFBTUEsbUNBQUQsQUFBTDthQUFNQSxtQkFDUEMsUUFBUTtnQ0FEREQ7UUFFakIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBOztrQkFGQ0Q7O1lBS25CRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNELFFBQVE7WUFDdEI7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0MsWUFBWTtnQkFDakJBLGFBQWFDLFdBQVcsQ0FBQyxJQUFJLENBQUNKLFFBQVE7WUFDeEM7Ozs7WUFFT0ssS0FBQUE7bUJBQVAsU0FBT0EsYUFBYUwsUUFBUTtnQkFDMUIsSUFBTU0sdUJBQXVCLElBZFpQLG1CQWNtQ0M7Z0JBRXBELE9BQU9NO1lBQ1Q7OztXQWpCbUJQIn0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NpZ25tZW50L3ZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWYXJpYWJsZUFzc2lnbm1lbnQge1xuICBjb25zdHJ1Y3Rvcih2YXJpYWJsZSkge1xuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgYXNzaWduKGNvbnRleHQpIHtcbiAgICBjb25zdCB2YXJpYWJsZUFkZGVkID0gY29udGV4dC5hZGRWYXJpYWJsZSh0aGlzLnZhcmlhYmxlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSB0aGlzLnZhcmlhYmxlLmdldE5vZGUoKSxcbiAgICAgICAgICB2YXJpYWJsZVR5cGUgPSB0aGlzLnZhcmlhYmxlLmdldFR5cGUoKSxcbiAgICAgICAgICB2YXJpYWJsZVN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKHZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgdmFyaWFibGVUeXBlTmFtZSA9IHZhcmlhYmxlVHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgdmFyaWFibGVBc3NpZ25lZCA9IHZhcmlhYmxlQWRkZWQ7IC8vL1xuXG4gICAgdmFyaWFibGVBc3NpZ25lZCA/XG4gICAgICBjb250ZXh0LmRlYnVnKGBBYmxlIHRvIGFzc2lnbiB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSB3aXRoIHR5cGUgJyR7dmFyaWFibGVUeXBlTmFtZX0nLmAsIHZhcmlhYmxlTm9kZSkgOlxuICAgICAgICBjb250ZXh0LnRyYWNlKGBVbmFibGUgdG8gYXNzaWduIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIHdpdGggdHlwZSAnJHt2YXJpYWJsZVR5cGVOYW1lfScuYCwgdmFyaWFibGVOb2RlKTtcblxuICAgIHJldHVybiB2YXJpYWJsZUFzc2lnbmVkO1xuICB9XG5cbiAgc3RhdGljIGZyb21WYXJpYWJsZSh2YXJpYWJsZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlQXNzaWdubWVudCA9IG5ldyBWYXJpYWJsZUFzc2lnbm1lbnQodmFyaWFibGUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlQXNzaWdubWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlZhcmlhYmxlQXNzaWdubWVudCIsInZhcmlhYmxlIiwiZ2V0VmFyaWFibGUiLCJhc3NpZ24iLCJjb250ZXh0IiwidmFyaWFibGVBZGRlZCIsImFkZFZhcmlhYmxlIiwidmFyaWFibGVOb2RlIiwiZ2V0Tm9kZSIsInZhcmlhYmxlVHlwZSIsImdldFR5cGUiLCJ2YXJpYWJsZVN0cmluZyIsIm5vZGVBc1N0cmluZyIsInZhcmlhYmxlVHlwZU5hbWUiLCJnZXROYW1lIiwidmFyaWFibGVBc3NpZ25lZCIsImRlYnVnIiwidHJhY2UiLCJmcm9tVmFyaWFibGUiLCJ2YXJpYWJsZUFzc2lnbm1lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBRXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFOLElBQUEsQUFBTUEsbUNBQUQsQUFBTDthQUFNQSxtQkFDUEMsUUFBUTtnQ0FEREQ7UUFFakIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBOztrQkFGQ0Q7O1lBS25CRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNELFFBQVE7WUFDdEI7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0MsT0FBTztnQkFDWixJQUFNQyxnQkFBZ0JELFFBQVFFLFdBQVcsQ0FBQyxJQUFJLENBQUNMLFFBQVEsR0FDakRNLGVBQWUsSUFBSSxDQUFDTixRQUFRLENBQUNPLE9BQU8sSUFDcENDLGVBQWUsSUFBSSxDQUFDUixRQUFRLENBQUNTLE9BQU8sSUFDcENDLGlCQUFpQlAsUUFBUVEsWUFBWSxDQUFDTCxlQUN0Q00sbUJBQW1CSixhQUFhSyxPQUFPLElBQ3ZDQyxtQkFBbUJWLGVBQWUsR0FBRztnQkFFM0NVLG1CQUNFWCxRQUFRWSxLQUFLLENBQUMsQUFBQyx1QkFBNkRILE9BQXZDRixnQkFBZSwwQkFBeUMsT0FBakJFLGtCQUFpQixPQUFLTixnQkFDaEdILFFBQVFhLEtBQUssQ0FBQyxBQUFDLHlCQUErREosT0FBdkNGLGdCQUFlLDBCQUF5QyxPQUFqQkUsa0JBQWlCLE9BQUtOO2dCQUV4RyxPQUFPUTtZQUNUOzs7O1lBRU9HLEtBQUFBO21CQUFQLFNBQU9BLGFBQWFqQixRQUFRO2dCQUMxQixJQUFNa0IscUJBQXFCLElBekJWbkIsbUJBeUJpQ0M7Z0JBRWxELE9BQU9rQjtZQUNUOzs7V0E1Qm1CbkIifQ==
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "default", {
8
8
  return Constructor;
9
9
  }
10
10
  });
11
- var _type = /*#__PURE__*/ _interop_require_default(require("./type"));
12
11
  var _string = require("./utilities/string");
12
+ var _type = require("./type");
13
13
  var _node = require("./utilities/node");
14
14
  var _tokens = require("./utilities/tokens");
15
15
  function _class_call_check(instance, Constructor) {
@@ -31,11 +31,6 @@ function _create_class(Constructor, protoProps, staticProps) {
31
31
  if (staticProps) _defineProperties(Constructor, staticProps);
32
32
  return Constructor;
33
33
  }
34
- function _interop_require_default(obj) {
35
- return obj && obj.__esModule ? obj : {
36
- default: obj
37
- };
38
- }
39
34
  var Constructor = /*#__PURE__*/ function() {
40
35
  function Constructor(termNode, string, type) {
41
36
  _class_call_check(this, Constructor);
@@ -88,9 +83,7 @@ var Constructor = /*#__PURE__*/ function() {
88
83
  if (type !== null) {
89
84
  var typeJSON = type; ///
90
85
  json = typeJSON; ///
91
- type = _type.default.fromJSONAndFileContext(json, fileContext);
92
- var typeName = type.getName();
93
- type = fileContext.findTypeByTypeName(typeName); ///
86
+ type = (0, _type.typeFromJSONAndFileContext)(json, fileContext);
94
87
  }
95
88
  var tokens = constructorDeclarationTokens, string = stringFromTermNodeTypeAndTokens(termNode, type, tokens), constructor = new Constructor(termNode, string, type);
96
89
  return constructor;
@@ -111,4 +104,4 @@ function stringFromTermNodeTypeAndTokens(termNode, type, tokens) {
111
104
  return string;
112
105
  }
113
106
 
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4vdHlwZVwiO1xuXG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyB0ZXJtTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25vZGVcIjtcbmltcG9ydCB7IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnNGcm9tVGVybVN0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy90b2tlbnNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uc3RydWN0b3Ige1xuICBjb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgc3RyaW5nLCB0eXBlKSB7XG4gICAgdGhpcy50ZXJtTm9kZSA9IHRlcm1Ob2RlO1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cblxuICBnZXRUZXJtTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtTm9kZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLnRlcm1Ob2RlLCB0b2tlbnMpLFxuICAgICAgICAgIHR5cGVKU09OID0gKHRoaXMudHlwZSA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHlwZS50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICB0ZXJtID0gdGVybVN0cmluZywgIC8vL1xuICAgICAgICAgIHR5cGUgPSB0eXBlSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0ZXJtLFxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVGVybU5vZGVUeXBlQW5kVG9rZW5zKHRlcm1Ob2RlLCB0eXBlLCB0b2tlbnMpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBzdHJpbmdGcm9tVGVybU5vZGVUeXBlQW5kVG9rZW5zKHRlcm1Ob2RlLCB0eXBlLCB0b2tlbnMpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yID0gbmV3IENvbnN0cnVjdG9yKHRlcm1Ob2RlLCBzdHJpbmcsIHR5cGUpO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IHRlcm0gfSA9IGpzb24sXG4gICAgICAgICAgdGVybVN0cmluZyA9IHRlcm0sICAvLy9cbiAgICAgICAgICBsZXhlciA9IGZpbGVDb250ZXh0LmdldExleGVyKCksXG4gICAgICAgICAgcGFyc2VyID0gZmlsZUNvbnRleHQuZ2V0UGFyc2VyKCksXG4gICAgICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucyA9IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnNGcm9tVGVybVN0cmluZyh0ZXJtU3RyaW5nLCBsZXhlciksXG4gICAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMsIHBhcnNlcik7XG5cbiAgICBsZXQgeyB0eXBlIH0gPSBqc29uO1xuXG4gICAgaWYgKHR5cGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHR5cGVKU09OID0gdHlwZTsgIC8vL1xuXG4gICAgICBqc29uID0gdHlwZUpTT047ICAvLy9cblxuICAgICAgdHlwZSA9IFR5cGUuZnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZS5nZXROYW1lKCk7XG5cbiAgICAgIHR5cGUgPSBmaWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCB0b2tlbnMgPSBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zLCAgLy8vXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVRlcm1Ob2RlVHlwZUFuZFRva2Vucyh0ZXJtTm9kZSwgdHlwZSwgdG9rZW5zKSxcbiAgICAgICAgICBjb25zdHJ1Y3RvciA9IG5ldyBDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgc3RyaW5nLCB0eXBlKTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdHJpbmdGcm9tVGVybU5vZGVUeXBlQW5kVG9rZW5zKHRlcm1Ob2RlLCB0eXBlLCB0b2tlbnMpIHtcbiAgbGV0IHN0cmluZztcblxuICBjb25zdCB0ZXJtU3RyaW5nID0gbm9kZUFzU3RyaW5nKHRlcm1Ob2RlLCB0b2tlbnMpO1xuXG4gIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgc3RyaW5nID0gYCR7dGVybVN0cmluZ31gO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG5vU3VwZXJUeXBlID0gdHJ1ZSxcbiAgICAgICAgICB0eXBlU3RyaW5nID0gdHlwZS5hc1N0cmluZyh0b2tlbnMsIG5vU3VwZXJUeXBlKTtcblxuICAgIHN0cmluZyA9IGAke3Rlcm1TdHJpbmd9OiR7dHlwZVN0cmluZ31gO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJDb25zdHJ1Y3RvciIsInRlcm1Ob2RlIiwic3RyaW5nIiwidHlwZSIsImdldFRlcm1Ob2RlIiwiZ2V0U3RyaW5nIiwiZ2V0VHlwZSIsInRvSlNPTiIsInRva2VucyIsInRlcm1TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0eXBlSlNPTiIsInRlcm0iLCJqc29uIiwiZnJvbVRlcm1Ob2RlVHlwZUFuZFRva2VucyIsInN0cmluZ0Zyb21UZXJtTm9kZVR5cGVBbmRUb2tlbnMiLCJjb25zdHJ1Y3RvciIsImZyb21KU09OQW5kRmlsZUNvbnRleHQiLCJmaWxlQ29udGV4dCIsImxleGVyIiwiZ2V0TGV4ZXIiLCJwYXJzZXIiLCJnZXRQYXJzZXIiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2Vuc0Zyb21UZXJtU3RyaW5nIiwidGVybU5vZGVGcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucyIsIlR5cGUiLCJ0eXBlTmFtZSIsImdldE5hbWUiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJub1N1cGVyVHlwZSIsInR5cGVTdHJpbmciLCJhc1N0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFRcUJBOzs7MkRBTko7c0JBRVk7b0JBQzRCO3NCQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTVDLElBQUEsQUFBTUEsNEJBQUQsQUFBTDthQUFNQSxZQUNQQyxRQUFRLEVBQUVDLE1BQU0sRUFBRUMsSUFBSTtnQ0FEZkg7UUFFakIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTs7a0JBSktIOztZQU9uQkksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxRQUFRO1lBQ3RCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxNQUFNO1lBQ3BCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxJQUFJO1lBQ2xCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLE1BQU07Z0JBQ1gsSUFBTUMsYUFBYUMsSUFBQUEsb0JBQVksRUFBQyxJQUFJLENBQUNULFFBQVEsRUFBRU8sU0FDekNHLFdBQVcsQUFBQyxJQUFJLENBQUNSLElBQUksS0FBSyxPQUNaLE9BQ0UsSUFBSSxDQUFDQSxJQUFJLENBQUNJLE1BQU0sQ0FBQ0MsU0FDakNJLE9BQU9ILFlBQ1BOLE9BQU9RLFVBQ1BFLE9BQU87b0JBQ0xELE1BQUFBO29CQUNBVCxNQUFBQTtnQkFDRjtnQkFFTixPQUFPVTtZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLDBCQUEwQmIsUUFBUSxFQUFFRSxJQUFJLEVBQUVLLE1BQU07Z0JBQ3JELElBQU1OLFNBQVNhLGdDQUFnQ2QsVUFBVUUsTUFBTUssU0FDekRRLGNBQWMsSUFwQ0hoQixZQW9DbUJDLFVBQVVDLFFBQVFDO2dCQUV0RCxPQUFPYTtZQUNUOzs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsdUJBQXVCSixJQUFJLEVBQUVLLFdBQVc7Z0JBQzdDLElBQU0sQUFBRU4sT0FBU0MsS0FBVEQsTUFDRkgsYUFBYUcsTUFDYk8sUUFBUUQsWUFBWUUsUUFBUSxJQUM1QkMsU0FBU0gsWUFBWUksU0FBUyxJQUM5QkMsK0JBQStCQyxJQUFBQSxrREFBMEMsRUFBQ2YsWUFBWVUsUUFDdEZsQixXQUFXd0IsSUFBQUEsOENBQXdDLEVBQUNGLDhCQUE4QkY7Z0JBRXhGLElBQUksQUFBRWxCLE9BQVNVLEtBQVRWO2dCQUVOLElBQUlBLFNBQVMsTUFBTTtvQkFDakIsSUFBTVEsV0FBV1IsTUFBTyxHQUFHO29CQUUzQlUsT0FBT0YsVUFBVyxHQUFHO29CQUVyQlIsT0FBT3VCLGFBQUksQ0FBQ1Qsc0JBQXNCLENBQUNKLE1BQU1LO29CQUV6QyxJQUFNUyxXQUFXeEIsS0FBS3lCLE9BQU87b0JBRTdCekIsT0FBT2UsWUFBWVcsa0JBQWtCLENBQUNGLFdBQVcsR0FBRztnQkFDdEQ7Z0JBRUEsSUFBTW5CLFNBQVNlLDhCQUNUckIsU0FBU2EsZ0NBQWdDZCxVQUFVRSxNQUFNSyxTQUN6RFEsY0FBYyxJQWpFSGhCLFlBaUVtQkMsVUFBVUMsUUFBUUM7Z0JBRXRELE9BQU9hO1lBQ1Q7OztXQXBFbUJoQjs7QUF1RXJCLFNBQVNlLGdDQUFnQ2QsUUFBUSxFQUFFRSxJQUFJLEVBQUVLLE1BQU07SUFDN0QsSUFBSU47SUFFSixJQUFNTyxhQUFhQyxJQUFBQSxvQkFBWSxFQUFDVCxVQUFVTztJQUUxQyxJQUFJTCxTQUFTLE1BQU07UUFDakJELFNBQVMsQUFBQyxHQUFhLE9BQVhPO0lBQ2QsT0FBTztRQUNMLElBQU1xQixjQUFjLE1BQ2RDLGFBQWE1QixLQUFLNkIsUUFBUSxDQUFDeEIsUUFBUXNCO1FBRXpDNUIsU0FBUyxBQUFDLEdBQWdCNkIsT0FBZHRCLFlBQVcsS0FBYyxPQUFYc0I7SUFDNUI7SUFFQSxPQUFPN0I7QUFDVCJ9
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgdHlwZUZyb21KU09OQW5kRmlsZUNvbnRleHQgfSBmcm9tIFwiLi90eXBlXCI7XG5pbXBvcnQgeyB0ZXJtTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25vZGVcIjtcbmltcG9ydCB7IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnNGcm9tVGVybVN0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy90b2tlbnNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uc3RydWN0b3Ige1xuICBjb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgc3RyaW5nLCB0eXBlKSB7XG4gICAgdGhpcy50ZXJtTm9kZSA9IHRlcm1Ob2RlO1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cblxuICBnZXRUZXJtTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtTm9kZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLnRlcm1Ob2RlLCB0b2tlbnMpLFxuICAgICAgICAgIHR5cGVKU09OID0gKHRoaXMudHlwZSA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHlwZS50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICB0ZXJtID0gdGVybVN0cmluZywgIC8vL1xuICAgICAgICAgIHR5cGUgPSB0eXBlSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0ZXJtLFxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVGVybU5vZGVUeXBlQW5kVG9rZW5zKHRlcm1Ob2RlLCB0eXBlLCB0b2tlbnMpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBzdHJpbmdGcm9tVGVybU5vZGVUeXBlQW5kVG9rZW5zKHRlcm1Ob2RlLCB0eXBlLCB0b2tlbnMpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yID0gbmV3IENvbnN0cnVjdG9yKHRlcm1Ob2RlLCBzdHJpbmcsIHR5cGUpO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OQW5kRmlsZUNvbnRleHQoanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IHRlcm0gfSA9IGpzb24sXG4gICAgICAgICAgdGVybVN0cmluZyA9IHRlcm0sICAvLy9cbiAgICAgICAgICBsZXhlciA9IGZpbGVDb250ZXh0LmdldExleGVyKCksXG4gICAgICAgICAgcGFyc2VyID0gZmlsZUNvbnRleHQuZ2V0UGFyc2VyKCksXG4gICAgICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucyA9IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnNGcm9tVGVybVN0cmluZyh0ZXJtU3RyaW5nLCBsZXhlciksXG4gICAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMsIHBhcnNlcik7XG5cbiAgICBsZXQgeyB0eXBlIH0gPSBqc29uO1xuXG4gICAgaWYgKHR5cGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHR5cGVKU09OID0gdHlwZTsgIC8vL1xuXG4gICAgICBqc29uID0gdHlwZUpTT047ICAvLy9cblxuICAgICAgdHlwZSA9IHR5cGVGcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2tlbnMgPSBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zLCAgLy8vXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVRlcm1Ob2RlVHlwZUFuZFRva2Vucyh0ZXJtTm9kZSwgdHlwZSwgdG9rZW5zKSxcbiAgICAgICAgICBjb25zdHJ1Y3RvciA9IG5ldyBDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgc3RyaW5nLCB0eXBlKTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdHJpbmdGcm9tVGVybU5vZGVUeXBlQW5kVG9rZW5zKHRlcm1Ob2RlLCB0eXBlLCB0b2tlbnMpIHtcbiAgbGV0IHN0cmluZztcblxuICBjb25zdCB0ZXJtU3RyaW5nID0gbm9kZUFzU3RyaW5nKHRlcm1Ob2RlLCB0b2tlbnMpO1xuXG4gIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgc3RyaW5nID0gYCR7dGVybVN0cmluZ31gO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG5vU3VwZXJUeXBlID0gdHJ1ZSxcbiAgICAgICAgICB0eXBlU3RyaW5nID0gdHlwZS5hc1N0cmluZyh0b2tlbnMsIG5vU3VwZXJUeXBlKTtcblxuICAgIHN0cmluZyA9IGAke3Rlcm1TdHJpbmd9OiR7dHlwZVN0cmluZ31gO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJDb25zdHJ1Y3RvciIsInRlcm1Ob2RlIiwic3RyaW5nIiwidHlwZSIsImdldFRlcm1Ob2RlIiwiZ2V0U3RyaW5nIiwiZ2V0VHlwZSIsInRvSlNPTiIsInRva2VucyIsInRlcm1TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0eXBlSlNPTiIsInRlcm0iLCJqc29uIiwiZnJvbVRlcm1Ob2RlVHlwZUFuZFRva2VucyIsInN0cmluZ0Zyb21UZXJtTm9kZVR5cGVBbmRUb2tlbnMiLCJjb25zdHJ1Y3RvciIsImZyb21KU09OQW5kRmlsZUNvbnRleHQiLCJmaWxlQ29udGV4dCIsImxleGVyIiwiZ2V0TGV4ZXIiLCJwYXJzZXIiLCJnZXRQYXJzZXIiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2Vuc0Zyb21UZXJtU3RyaW5nIiwidGVybU5vZGVGcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucyIsInR5cGVGcm9tSlNPTkFuZEZpbGVDb250ZXh0Iiwibm9TdXBlclR5cGUiLCJ0eXBlU3RyaW5nIiwiYXNTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBT3FCQTs7O3NCQUxRO29CQUNjO29CQUNjO3NCQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1QyxJQUFBLEFBQU1BLDRCQUFELEFBQUw7YUFBTUEsWUFDUEMsUUFBUSxFQUFFQyxNQUFNLEVBQUVDLElBQUk7Z0NBRGZIO1FBRWpCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7O2tCQUpLSDs7WUFPbkJJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsUUFBUTtZQUN0Qjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsTUFBTTtZQUNwQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsSUFBSTtZQUNsQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxNQUFNO2dCQUNYLElBQU1DLGFBQWFDLElBQUFBLG9CQUFZLEVBQUMsSUFBSSxDQUFDVCxRQUFRLEVBQUVPLFNBQ3pDRyxXQUFXLEFBQUMsSUFBSSxDQUFDUixJQUFJLEtBQUssT0FDWixPQUNFLElBQUksQ0FBQ0EsSUFBSSxDQUFDSSxNQUFNLENBQUNDLFNBQ2pDSSxPQUFPSCxZQUNQTixPQUFPUSxVQUNQRSxPQUFPO29CQUNMRCxNQUFBQTtvQkFDQVQsTUFBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT1U7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSwwQkFBMEJiLFFBQVEsRUFBRUUsSUFBSSxFQUFFSyxNQUFNO2dCQUNyRCxJQUFNTixTQUFTYSxnQ0FBZ0NkLFVBQVVFLE1BQU1LLFNBQ3pEUSxjQUFjLElBcENIaEIsWUFvQ21CQyxVQUFVQyxRQUFRQztnQkFFdEQsT0FBT2E7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLHVCQUF1QkosSUFBSSxFQUFFSyxXQUFXO2dCQUM3QyxJQUFNLEFBQUVOLE9BQVNDLEtBQVRELE1BQ0ZILGFBQWFHLE1BQ2JPLFFBQVFELFlBQVlFLFFBQVEsSUFDNUJDLFNBQVNILFlBQVlJLFNBQVMsSUFDOUJDLCtCQUErQkMsSUFBQUEsa0RBQTBDLEVBQUNmLFlBQVlVLFFBQ3RGbEIsV0FBV3dCLElBQUFBLDhDQUF3QyxFQUFDRiw4QkFBOEJGO2dCQUV4RixJQUFJLEFBQUVsQixPQUFTVSxLQUFUVjtnQkFFTixJQUFJQSxTQUFTLE1BQU07b0JBQ2pCLElBQU1RLFdBQVdSLE1BQU8sR0FBRztvQkFFM0JVLE9BQU9GLFVBQVcsR0FBRztvQkFFckJSLE9BQU91QixJQUFBQSxnQ0FBMEIsRUFBQ2IsTUFBTUs7Z0JBQzFDO2dCQUVBLElBQU1WLFNBQVNlLDhCQUNUckIsU0FBU2EsZ0NBQWdDZCxVQUFVRSxNQUFNSyxTQUN6RFEsY0FBYyxJQTdESGhCLFlBNkRtQkMsVUFBVUMsUUFBUUM7Z0JBRXRELE9BQU9hO1lBQ1Q7OztXQWhFbUJoQjs7QUFtRXJCLFNBQVNlLGdDQUFnQ2QsUUFBUSxFQUFFRSxJQUFJLEVBQUVLLE1BQU07SUFDN0QsSUFBSU47SUFFSixJQUFNTyxhQUFhQyxJQUFBQSxvQkFBWSxFQUFDVCxVQUFVTztJQUUxQyxJQUFJTCxTQUFTLE1BQU07UUFDakJELFNBQVMsQUFBQyxHQUFhLE9BQVhPO0lBQ2QsT0FBTztRQUNMLElBQU1rQixjQUFjLE1BQ2RDLGFBQWF6QixLQUFLMEIsUUFBUSxDQUFDckIsUUFBUW1CO1FBRXpDekIsU0FBUyxBQUFDLEdBQWdCMEIsT0FBZG5CLFlBQVcsS0FBYyxPQUFYbUI7SUFDNUI7SUFFQSxPQUFPMUI7QUFDVCJ9