occam-verify-cli 1.0.387 → 1.0.396

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 (119) hide show
  1. package/lib/action/verify.js +3 -3
  2. package/lib/context/file.js +8 -7
  3. package/lib/context/local.js +23 -57
  4. package/lib/context/temporary.js +705 -0
  5. package/lib/mixins/statement/verify.js +38 -16
  6. package/lib/mixins/step/unify.js +3 -3
  7. package/lib/node/substitution/frame.js +23 -1
  8. package/lib/node/substitution/term.js +23 -1
  9. package/lib/ontology/assertion/contained.js +77 -35
  10. package/lib/ontology/assertion/defined.js +76 -34
  11. package/lib/ontology/assertion/property.js +71 -29
  12. package/lib/ontology/assertion/satisfies.js +70 -22
  13. package/lib/ontology/assertion/subproof.js +95 -41
  14. package/lib/ontology/assertion/type.js +74 -18
  15. package/lib/ontology/assertion.js +66 -0
  16. package/lib/ontology/axiom.js +8 -11
  17. package/lib/ontology/combinator/bracketed.js +17 -3
  18. package/lib/ontology/combinator.js +17 -3
  19. package/lib/ontology/conclusion.js +38 -9
  20. package/lib/ontology/constructor/bracketed.js +17 -3
  21. package/lib/ontology/constructor.js +17 -3
  22. package/lib/ontology/declaration.js +27 -2
  23. package/lib/ontology/deduction.js +38 -9
  24. package/lib/ontology/frame.js +50 -13
  25. package/lib/ontology/hypothesis.js +11 -11
  26. package/lib/ontology/judgement.js +1 -1
  27. package/lib/ontology/label.js +5 -6
  28. package/lib/ontology/metavariable.js +11 -12
  29. package/lib/ontology/premise.js +47 -17
  30. package/lib/ontology/procedureCall.js +15 -15
  31. package/lib/ontology/procedureReference.js +1 -1
  32. package/lib/ontology/proof.js +2 -2
  33. package/lib/ontology/reference.js +4 -5
  34. package/lib/ontology/rule.js +68 -69
  35. package/lib/ontology/section.js +2 -2
  36. package/lib/ontology/signature.js +2 -2
  37. package/lib/ontology/statement.js +9 -1
  38. package/lib/ontology/step.js +37 -24
  39. package/lib/ontology/subproof.js +11 -11
  40. package/lib/ontology/substitution/frame.js +69 -21
  41. package/lib/ontology/substitution/reference.js +24 -9
  42. package/lib/ontology/substitution/statement.js +99 -79
  43. package/lib/ontology/substitution/term.js +89 -29
  44. package/lib/ontology/substitution.js +37 -30
  45. package/lib/ontology/supposition.js +56 -25
  46. package/lib/ontology/term.js +4 -3
  47. package/lib/ontology/topLevelAssertion.js +15 -15
  48. package/lib/ontology/topLevelMetaAssertion.js +2 -2
  49. package/lib/ontology/variable.js +42 -14
  50. package/lib/substitutions.js +25 -25
  51. package/lib/unifier/intrinsicLevel.js +14 -7
  52. package/lib/unifier/metaLevel.js +25 -17
  53. package/lib/utilities/brackets.js +4 -21
  54. package/lib/utilities/context.js +6 -6
  55. package/lib/utilities/json.js +24 -1
  56. package/lib/utilities/metavariable.js +18 -0
  57. package/lib/utilities/substitutions.js +3 -3
  58. package/lib/utilities/unification.js +10 -16
  59. package/lib/utilities/variable.js +30 -0
  60. package/package.json +2 -2
  61. package/src/action/verify.js +2 -2
  62. package/src/context/file.js +8 -7
  63. package/src/context/local.js +13 -61
  64. package/src/context/temporary.js +394 -0
  65. package/src/mixins/statement/verify.js +60 -23
  66. package/src/mixins/step/unify.js +2 -2
  67. package/src/node/substitution/frame.js +26 -0
  68. package/src/node/substitution/term.js +26 -0
  69. package/src/ontology/assertion/contained.js +12 -23
  70. package/src/ontology/assertion/defined.js +12 -23
  71. package/src/ontology/assertion/property.js +7 -20
  72. package/src/ontology/assertion/satisfies.js +7 -16
  73. package/src/ontology/assertion/subproof.js +36 -42
  74. package/src/ontology/assertion/type.js +10 -11
  75. package/src/ontology/assertion.js +23 -0
  76. package/src/ontology/axiom.js +7 -16
  77. package/src/ontology/combinator/bracketed.js +2 -0
  78. package/src/ontology/combinator.js +2 -0
  79. package/src/ontology/conclusion.js +51 -10
  80. package/src/ontology/constructor/bracketed.js +2 -0
  81. package/src/ontology/constructor.js +2 -0
  82. package/src/ontology/declaration.js +34 -1
  83. package/src/ontology/deduction.js +51 -10
  84. package/src/ontology/frame.js +58 -21
  85. package/src/ontology/hypothesis.js +8 -8
  86. package/src/ontology/judgement.js +1 -1
  87. package/src/ontology/label.js +2 -7
  88. package/src/ontology/metavariable.js +12 -15
  89. package/src/ontology/premise.js +64 -21
  90. package/src/ontology/procedureCall.js +14 -14
  91. package/src/ontology/procedureReference.js +2 -2
  92. package/src/ontology/proof.js +1 -1
  93. package/src/ontology/reference.js +1 -6
  94. package/src/ontology/rule.js +76 -80
  95. package/src/ontology/section.js +1 -1
  96. package/src/ontology/signature.js +1 -1
  97. package/src/ontology/statement.js +6 -0
  98. package/src/ontology/step.js +43 -26
  99. package/src/ontology/subproof.js +8 -8
  100. package/src/ontology/substitution/frame.js +72 -26
  101. package/src/ontology/substitution/reference.js +8 -6
  102. package/src/ontology/substitution/statement.js +93 -77
  103. package/src/ontology/substitution/term.js +108 -42
  104. package/src/ontology/substitution.js +27 -22
  105. package/src/ontology/supposition.js +70 -24
  106. package/src/ontology/term.js +5 -5
  107. package/src/ontology/topLevelAssertion.js +14 -16
  108. package/src/ontology/topLevelMetaAssertion.js +1 -1
  109. package/src/ontology/variable.js +64 -17
  110. package/src/substitutions.js +25 -25
  111. package/src/unifier/intrinsicLevel.js +18 -8
  112. package/src/unifier/metaLevel.js +35 -21
  113. package/src/utilities/brackets.js +3 -29
  114. package/src/utilities/context.js +5 -5
  115. package/src/utilities/json.js +28 -0
  116. package/src/utilities/metavariable.js +13 -0
  117. package/src/utilities/substitutions.js +2 -4
  118. package/src/utilities/unification.js +8 -24
  119. package/src/utilities/variable.js +22 -0
@@ -41,7 +41,7 @@ _export(exports, {
41
41
  }
42
42
  });
43
43
  var _ontology = /*#__PURE__*/ _interop_require_default(require("../ontology"));
44
- var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
44
+ var _temporary = /*#__PURE__*/ _interop_require_default(require("../context/temporary"));
45
45
  function _interop_require_default(obj) {
46
46
  return obj && obj.__esModule ? obj : {
47
47
  default: obj
@@ -98,14 +98,14 @@ function satisfiesAssertionFromStatement(statement, context) {
98
98
  return satisfiesAssertion;
99
99
  }
100
100
  function contextFromFrame(frame, context) {
101
- var frameTokens = frame.getTokens(), tokens = frameTokens, localContext = _local.default.fromContextAndTokens(context, tokens);
102
- context = localContext; ///
101
+ var frameTokens = frame.getTokens(), tokens = frameTokens, temporaryContext = _temporary.default.fromContextAndTokens(context, tokens);
102
+ context = temporaryContext; ///
103
103
  return context;
104
104
  }
105
105
  function contextFromStatement(statement, context) {
106
- var statementTokens = statement.getTokens(), tokens = statementTokens, localContext = _local.default.fromContextAndTokens(context, tokens);
107
- context = localContext; ///
106
+ var statementTokens = statement.getTokens(), tokens = statementTokens, temporaryContext = _temporary.default.fromContextAndTokens(context, tokens);
107
+ context = temporaryContext; ///
108
108
  return context;
109
109
  }
110
110
 
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG9udG9sb2d5IGZyb20gXCIuLi9vbnRvbG9neVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gbWV0YXZhcmlhYmxlRnJvbUZyYW1lKGZyYW1lLCBjb250ZXh0KSB7XG4gIGNvbnRleHQgPSBjb250ZXh0RnJvbUZyYW1lKGZyYW1lLCBjb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgeyBNZXRhdmFyaWFibGUgfSA9IG9udG9sb2d5LFxuICAgICAgICBmcmFtZU5vZGUgPSBmcmFtZS5nZXROb2RlKCksXG4gICAgICAgIG1ldGF2YXJpYWJsZSA9IE1ldGF2YXJpYWJsZS5mcm9tRnJhbWVOb2RlKGZyYW1lTm9kZSwgY29udGV4dCk7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVxdWFsaXR5RnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpIHtcbiAgY29udGV4dCA9IGNvbnRleHRGcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCk7IC8vL1xuXG4gIGNvbnN0IHsgRXF1YWxpdHkgfSA9IG9udG9sb2d5LFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgZXF1YWxpdHkgPSBFcXVhbGl0eS5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBjb250ZXh0KTtcblxuICByZXR1cm4gZXF1YWxpdHk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBqdWRnZW1lbnRGcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gY29udGV4dEZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgeyBKdWRnZW1lbnQgfSA9IG9udG9sb2d5LFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAganVkZ2VtZW50ID0gSnVkZ2VtZW50LmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGNvbnRleHQpO1xuXG4gIHJldHVybiBqdWRnZW1lbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVGcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gY29udGV4dEZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgeyBNZXRhdmFyaWFibGUgfSA9IG9udG9sb2d5LFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlID0gTWV0YXZhcmlhYmxlLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGNvbnRleHQpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0eXBlQXNzZXJ0aW9uRnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpIHtcbiAgY29udGV4dCA9IGNvbnRleHRGcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCk7IC8vL1xuXG4gIGNvbnN0IHsgVHlwZUFzc2VydGlvbiB9ID0gb250b2xvZ3ksXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICB0eXBlQXNzZXJ0aW9uID0gVHlwZUFzc2VydGlvbi5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBjb250ZXh0KTtcblxuICByZXR1cm4gdHlwZUFzc2VydGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZWRBc3NlcnRpb25Gcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gY29udGV4dEZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgeyBEZWZpbmVkQXNzZXJ0aW9uIH0gPSBvbnRvbG9neSxcbiAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgIGRlZmluZWRBc3NlcnRpb24gPSBEZWZpbmVkQXNzZXJ0aW9uLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGNvbnRleHQpO1xuXG4gIHJldHVybiBkZWZpbmVkQXNzZXJ0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvcGVydHlBc3NlcnRpb25Gcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gY29udGV4dEZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgeyBQcm9wZXJ0eUFzc2VydGlvbiB9ID0gb250b2xvZ3ksXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICBwcm9wZXJ0eUFzc2VydGlvbiA9IFByb3BlcnR5QXNzZXJ0aW9uLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGNvbnRleHQpO1xuXG4gIHJldHVybiBwcm9wZXJ0eUFzc2VydGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YnByb29mQXNzZXJ0aW9uRnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpIHtcbiAgY29udGV4dCA9IGNvbnRleHRGcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCk7IC8vL1xuXG4gIGNvbnN0IHsgU3VicHJvb2ZBc3NlcnRpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgc3VicHJvb2ZBc3NlcnRpb24gPSBTdWJwcm9vZkFzc2VydGlvbi5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBjb250ZXh0KTtcblxuICByZXR1cm4gc3VicHJvb2ZBc3NlcnRpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250YWluZWRBc3NlcnRpb25Gcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gY29udGV4dEZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgeyBDb250YWluZWRBc3NlcnRpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgY29udGFpbmVkQXNzZXJ0aW9uID0gQ29udGFpbmVkQXNzZXJ0aW9uLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGNvbnRleHQpO1xuXG4gIHJldHVybiBjb250YWluZWRBc3NlcnRpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzYXRpc2ZpZXNBc3NlcnRpb25Gcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gY29udGV4dEZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgeyBTYXRpc2ZpZXNBc3NlcnRpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgc2F0aXNmaWVzQXNzZXJ0aW9uID0gU2F0aXNmaWVzQXNzZXJ0aW9uLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGNvbnRleHQpO1xuXG4gIHJldHVybiBzYXRpc2ZpZXNBc3NlcnRpb247XG59XG5cbmZ1bmN0aW9uIGNvbnRleHRGcm9tRnJhbWUoZnJhbWUsIGNvbnRleHQpIHtcbiAgY29uc3QgZnJhbWVUb2tlbnMgPSBmcmFtZS5nZXRUb2tlbnMoKSxcbiAgICAgICAgdG9rZW5zID0gZnJhbWVUb2tlbnMsIC8vL1xuICAgICAgICBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUNvbnRleHRBbmRUb2tlbnMoY29udGV4dCwgdG9rZW5zKTtcblxuICBjb250ZXh0ID0gbG9jYWxDb250ZXh0OyAvLy9cblxuICByZXR1cm4gY29udGV4dDtcbn1cblxuZnVuY3Rpb24gY29udGV4dEZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KSB7XG4gIGNvbnN0IHN0YXRlbWVudFRva2VucyA9IHN0YXRlbWVudC5nZXRUb2tlbnMoKSxcbiAgICAgICAgdG9rZW5zID0gc3RhdGVtZW50VG9rZW5zLCAvLy9cbiAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21Db250ZXh0QW5kVG9rZW5zKGNvbnRleHQsIHRva2Vucyk7XG5cbiAgY29udGV4dCA9IGxvY2FsQ29udGV4dDsgLy8vXG5cbiAgcmV0dXJuIGNvbnRleHQ7XG59XG4iXSwibmFtZXMiOlsiY29udGFpbmVkQXNzZXJ0aW9uRnJvbVN0YXRlbWVudCIsImRlZmluZWRBc3NlcnRpb25Gcm9tU3RhdGVtZW50IiwiZXF1YWxpdHlGcm9tU3RhdGVtZW50IiwianVkZ2VtZW50RnJvbVN0YXRlbWVudCIsIm1ldGF2YXJpYWJsZUZyb21GcmFtZSIsIm1ldGF2YXJpYWJsZUZyb21TdGF0ZW1lbnQiLCJwcm9wZXJ0eUFzc2VydGlvbkZyb21TdGF0ZW1lbnQiLCJzYXRpc2ZpZXNBc3NlcnRpb25Gcm9tU3RhdGVtZW50Iiwic3VicHJvb2ZBc3NlcnRpb25Gcm9tU3RhdGVtZW50IiwidHlwZUFzc2VydGlvbkZyb21TdGF0ZW1lbnQiLCJmcmFtZSIsImNvbnRleHQiLCJjb250ZXh0RnJvbUZyYW1lIiwiTWV0YXZhcmlhYmxlIiwib250b2xvZ3kiLCJmcmFtZU5vZGUiLCJnZXROb2RlIiwibWV0YXZhcmlhYmxlIiwiZnJvbUZyYW1lTm9kZSIsInN0YXRlbWVudCIsImNvbnRleHRGcm9tU3RhdGVtZW50IiwiRXF1YWxpdHkiLCJzdGF0ZW1lbnROb2RlIiwiZXF1YWxpdHkiLCJmcm9tU3RhdGVtZW50Tm9kZSIsIkp1ZGdlbWVudCIsImp1ZGdlbWVudCIsIlR5cGVBc3NlcnRpb24iLCJ0eXBlQXNzZXJ0aW9uIiwiRGVmaW5lZEFzc2VydGlvbiIsImRlZmluZWRBc3NlcnRpb24iLCJQcm9wZXJ0eUFzc2VydGlvbiIsInByb3BlcnR5QXNzZXJ0aW9uIiwiU3VicHJvb2ZBc3NlcnRpb24iLCJzdWJwcm9vZkFzc2VydGlvbiIsIkNvbnRhaW5lZEFzc2VydGlvbiIsImNvbnRhaW5lZEFzc2VydGlvbiIsIlNhdGlzZmllc0Fzc2VydGlvbiIsInNhdGlzZmllc0Fzc2VydGlvbiIsImZyYW1lVG9rZW5zIiwiZ2V0VG9rZW5zIiwidG9rZW5zIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUNvbnRleHRBbmRUb2tlbnMiLCJzdGF0ZW1lbnRUb2tlbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQXFGZ0JBO2VBQUFBOztRQTlCQUM7ZUFBQUE7O1FBeENBQztlQUFBQTs7UUFVQUM7ZUFBQUE7O1FBcEJBQztlQUFBQTs7UUE4QkFDO2VBQUFBOztRQThCQUM7ZUFBQUE7O1FBOEJBQztlQUFBQTs7UUFwQkFDO2VBQUFBOztRQTlCQUM7ZUFBQUE7OzsrREEzQ0s7NERBQ0k7Ozs7OztBQUVsQixTQUFTTCxzQkFBc0JNLEtBQUssRUFBRUMsT0FBTztJQUNsREEsVUFBVUMsaUJBQWlCRixPQUFPQyxVQUFVLEdBQUc7SUFFL0MsSUFBTSxBQUFFRSxlQUFpQkMsaUJBQVEsQ0FBekJELGNBQ0ZFLFlBQVlMLE1BQU1NLE9BQU8sSUFDekJDLGVBQWVKLGFBQWFLLGFBQWEsQ0FBQ0gsV0FBV0o7SUFFM0QsT0FBT007QUFDVDtBQUVPLFNBQVNmLHNCQUFzQmlCLFNBQVMsRUFBRVIsT0FBTztJQUN0REEsVUFBVVMscUJBQXFCRCxXQUFXUixVQUFVLEdBQUc7SUFFdkQsSUFBTSxBQUFFVSxXQUFhUCxpQkFBUSxDQUFyQk8sVUFDRkMsZ0JBQWdCSCxVQUFVSCxPQUFPLElBQ2pDTyxXQUFXRixTQUFT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
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG9udG9sb2d5IGZyb20gXCIuLi9vbnRvbG9neVwiO1xuaW1wb3J0IFRlbXBvcmFyeUNvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvdGVtcG9yYXJ5XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVGcm9tRnJhbWUoZnJhbWUsIGNvbnRleHQpIHtcbiAgY29udGV4dCA9IGNvbnRleHRGcm9tRnJhbWUoZnJhbWUsIGNvbnRleHQpOyAvLy9cblxuICBjb25zdCB7IE1ldGF2YXJpYWJsZSB9ID0gb250b2xvZ3ksXG4gICAgICAgIGZyYW1lTm9kZSA9IGZyYW1lLmdldE5vZGUoKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlID0gTWV0YXZhcmlhYmxlLmZyb21GcmFtZU5vZGUoZnJhbWVOb2RlLCBjb250ZXh0KTtcblxuICByZXR1cm4gbWV0YXZhcmlhYmxlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXF1YWxpdHlGcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gY29udGV4dEZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgeyBFcXVhbGl0eSB9ID0gb250b2xvZ3ksXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICBlcXVhbGl0eSA9IEVxdWFsaXR5LmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGNvbnRleHQpO1xuXG4gIHJldHVybiBlcXVhbGl0eTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGp1ZGdlbWVudEZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KSB7XG4gIGNvbnRleHQgPSBjb250ZXh0RnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpOyAvLy9cblxuICBjb25zdCB7IEp1ZGdlbWVudCB9ID0gb250b2xvZ3ksXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICBqdWRnZW1lbnQgPSBKdWRnZW1lbnQuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgcmV0dXJuIGp1ZGdlbWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZUZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KSB7XG4gIGNvbnRleHQgPSBjb250ZXh0RnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpOyAvLy9cblxuICBjb25zdCB7IE1ldGF2YXJpYWJsZSB9ID0gb250b2xvZ3ksXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICBtZXRhdmFyaWFibGUgPSBNZXRhdmFyaWFibGUuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVBc3NlcnRpb25Gcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gY29udGV4dEZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgeyBUeXBlQXNzZXJ0aW9uIH0gPSBvbnRvbG9neSxcbiAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgIHR5cGVBc3NlcnRpb24gPSBUeXBlQXNzZXJ0aW9uLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGNvbnRleHQpO1xuXG4gIHJldHVybiB0eXBlQXNzZXJ0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5lZEFzc2VydGlvbkZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KSB7XG4gIGNvbnRleHQgPSBjb250ZXh0RnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpOyAvLy9cblxuICBjb25zdCB7IERlZmluZWRBc3NlcnRpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgZGVmaW5lZEFzc2VydGlvbiA9IERlZmluZWRBc3NlcnRpb24uZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgcmV0dXJuIGRlZmluZWRBc3NlcnRpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9wZXJ0eUFzc2VydGlvbkZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KSB7XG4gIGNvbnRleHQgPSBjb250ZXh0RnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpOyAvLy9cblxuICBjb25zdCB7IFByb3BlcnR5QXNzZXJ0aW9uIH0gPSBvbnRvbG9neSxcbiAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgIHByb3BlcnR5QXNzZXJ0aW9uID0gUHJvcGVydHlBc3NlcnRpb24uZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgcmV0dXJuIHByb3BlcnR5QXNzZXJ0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VicHJvb2ZBc3NlcnRpb25Gcm9tU3RhdGVtZW50KHN0YXRlbWVudCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gY29udGV4dEZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgeyBTdWJwcm9vZkFzc2VydGlvbiB9ID0gb250b2xvZ3ksXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICBzdWJwcm9vZkFzc2VydGlvbiA9IFN1YnByb29mQXNzZXJ0aW9uLmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGNvbnRleHQpO1xuXG4gIHJldHVybiBzdWJwcm9vZkFzc2VydGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRhaW5lZEFzc2VydGlvbkZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KSB7XG4gIGNvbnRleHQgPSBjb250ZXh0RnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpOyAvLy9cblxuICBjb25zdCB7IENvbnRhaW5lZEFzc2VydGlvbiB9ID0gb250b2xvZ3ksXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICBjb250YWluZWRBc3NlcnRpb24gPSBDb250YWluZWRBc3NlcnRpb24uZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgcmV0dXJuIGNvbnRhaW5lZEFzc2VydGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhdGlzZmllc0Fzc2VydGlvbkZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KSB7XG4gIGNvbnRleHQgPSBjb250ZXh0RnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpOyAvLy9cblxuICBjb25zdCB7IFNhdGlzZmllc0Fzc2VydGlvbiB9ID0gb250b2xvZ3ksXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICBzYXRpc2ZpZXNBc3NlcnRpb24gPSBTYXRpc2ZpZXNBc3NlcnRpb24uZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgcmV0dXJuIHNhdGlzZmllc0Fzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gY29udGV4dEZyb21GcmFtZShmcmFtZSwgY29udGV4dCkge1xuICBjb25zdCBmcmFtZVRva2VucyA9IGZyYW1lLmdldFRva2VucygpLFxuICAgICAgICB0b2tlbnMgPSBmcmFtZVRva2VucywgLy8vXG4gICAgICAgIHRlbXBvcmFyeUNvbnRleHQgPSBUZW1wb3JhcnlDb250ZXh0LmZyb21Db250ZXh0QW5kVG9rZW5zKGNvbnRleHQsIHRva2Vucyk7XG5cbiAgY29udGV4dCA9IHRlbXBvcmFyeUNvbnRleHQ7IC8vL1xuXG4gIHJldHVybiBjb250ZXh0O1xufVxuXG5mdW5jdGlvbiBjb250ZXh0RnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpIHtcbiAgY29uc3Qgc3RhdGVtZW50VG9rZW5zID0gc3RhdGVtZW50LmdldFRva2VucygpLFxuICAgICAgICB0b2tlbnMgPSBzdGF0ZW1lbnRUb2tlbnMsIC8vL1xuICAgICAgICB0ZW1wb3JhcnlDb250ZXh0ID0gVGVtcG9yYXJ5Q29udGV4dC5mcm9tQ29udGV4dEFuZFRva2Vucyhjb250ZXh0LCB0b2tlbnMpO1xuXG4gIGNvbnRleHQgPSB0ZW1wb3JhcnlDb250ZXh0OyAvLy9cblxuICByZXR1cm4gY29udGV4dDtcbn1cbiJdLCJuYW1lcyI6WyJjb250YWluZWRBc3NlcnRpb25Gcm9tU3RhdGVtZW50IiwiZGVmaW5lZEFzc2VydGlvbkZyb21TdGF0ZW1lbnQiLCJlcXVhbGl0eUZyb21TdGF0ZW1lbnQiLCJqdWRnZW1lbnRGcm9tU3RhdGVtZW50IiwibWV0YXZhcmlhYmxlRnJvbUZyYW1lIiwibWV0YXZhcmlhYmxlRnJvbVN0YXRlbWVudCIsInByb3BlcnR5QXNzZXJ0aW9uRnJvbVN0YXRlbWVudCIsInNhdGlzZmllc0Fzc2VydGlvbkZyb21TdGF0ZW1lbnQiLCJzdWJwcm9vZkFzc2VydGlvbkZyb21TdGF0ZW1lbnQiLCJ0eXBlQXNzZXJ0aW9uRnJvbVN0YXRlbWVudCIsImZyYW1lIiwiY29udGV4dCIsImNvbnRleHRGcm9tRnJhbWUiLCJNZXRhdmFyaWFibGUiLCJvbnRvbG9neSIsImZyYW1lTm9kZSIsImdldE5vZGUiLCJtZXRhdmFyaWFibGUiLCJmcm9tRnJhbWVOb2RlIiwic3RhdGVtZW50IiwiY29udGV4dEZyb21TdGF0ZW1lbnQiLCJFcXVhbGl0eSIsInN0YXRlbWVudE5vZGUiLCJlcXVhbGl0eSIsImZyb21TdGF0ZW1lbnROb2RlIiwiSnVkZ2VtZW50IiwianVkZ2VtZW50IiwiVHlwZUFzc2VydGlvbiIsInR5cGVBc3NlcnRpb24iLCJEZWZpbmVkQXNzZXJ0aW9uIiwiZGVmaW5lZEFzc2VydGlvbiIsIlByb3BlcnR5QXNzZXJ0aW9uIiwicHJvcGVydHlBc3NlcnRpb24iLCJTdWJwcm9vZkFzc2VydGlvbiIsInN1YnByb29mQXNzZXJ0aW9uIiwiQ29udGFpbmVkQXNzZXJ0aW9uIiwiY29udGFpbmVkQXNzZXJ0aW9uIiwiU2F0aXNmaWVzQXNzZXJ0aW9uIiwic2F0aXNmaWVzQXNzZXJ0aW9uIiwiZnJhbWVUb2tlbnMiLCJnZXRUb2tlbnMiLCJ0b2tlbnMiLCJ0ZW1wb3JhcnlDb250ZXh0IiwiVGVtcG9yYXJ5Q29udGV4dCIsImZyb21Db250ZXh0QW5kVG9rZW5zIiwic3RhdGVtZW50VG9rZW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFxRmdCQTtlQUFBQTs7UUE5QkFDO2VBQUFBOztRQXhDQUM7ZUFBQUE7O1FBVUFDO2VBQUFBOztRQXBCQUM7ZUFBQUE7O1FBOEJBQztlQUFBQTs7UUE4QkFDO2VBQUFBOztRQThCQUM7ZUFBQUE7O1FBcEJBQztlQUFBQTs7UUE5QkFDO2VBQUFBOzs7K0RBM0NLO2dFQUNROzs7Ozs7QUFFdEIsU0FBU0wsc0JBQXNCTSxLQUFLLEVBQUVDLE9BQU87SUFDbERBLFVBQVVDLGlCQUFpQkYsT0FBT0MsVUFBVSxHQUFHO0lBRS9DLElBQU0sQUFBRUUsZUFBaUJDLGlCQUFRLENBQXpCRCxjQUNGRSxZQUFZTCxNQUFNTSxPQUFPLElBQ3pCQyxlQUFlSixhQUFhSyxhQUFhLENBQUNILFdBQVdKO0lBRTNELE9BQU9NO0FBQ1Q7QUFFTyxTQUFTZixzQkFBc0JpQixTQUFTLEVBQUVSLE9BQU87SUFDdERBLFVBQVVTLHFCQUFxQkQsV0FBV1IsVUFBVSxHQUFHO0lBRXZELElBQU0sQUFBRVUsV0FBYVAsaUJBQVEsQ0FBckJPLFVB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
@@ -45,6 +45,12 @@ _export(exports, {
45
45
  get deductionToDeductionJSON () {
46
46
  return deductionToDeductionJSON;
47
47
  },
48
+ get framesFromJSON () {
49
+ return framesFromJSON;
50
+ },
51
+ get framesToFramesJSON () {
52
+ return framesToFramesJSON;
53
+ },
48
54
  get hypothesesFromJSON () {
49
55
  return hypothesesFromJSON;
50
56
  },
@@ -322,6 +328,15 @@ function labelFromJSON(json, context) {
322
328
  label = Label.fromJSON(json, context);
323
329
  return label;
324
330
  }
331
+ function framesFromJSON(json, context) {
332
+ var frames = json.frames;
333
+ var Frame = _ontology.default.Frame, framesJSON = frames; ///
334
+ frames = framesJSON.map(function(frameJSON) {
335
+ var _$json = frameJSON, frame = Frame.fromJSON(_$json, context);
336
+ return frame;
337
+ });
338
+ return frames;
339
+ }
325
340
  function labelsFromJSON(json, context) {
326
341
  var labels = json.labels;
327
342
  var Label = _ontology.default.Label, labelsJSON = labels; ///
@@ -550,6 +565,14 @@ function rulesToRulesJSON(rules) {
550
565
  });
551
566
  return rulesJSON;
552
567
  }
568
+ function framesToFramesJSON(frames) {
569
+ var framesJSON = frames.map(function(frame) {
570
+ var frameJSON = frame.toJSON();
571
+ frame = frameJSON; ///
572
+ return frame;
573
+ });
574
+ return framesJSON;
575
+ }
553
576
  function labelsToLabelsJSON(labels) {
554
577
  var labelsJSON = labels.map(function(label) {
555
578
  var labelJSON = label.toJSON();
@@ -683,4 +706,4 @@ function metavariablesToMetavariablesJSON(metavariables) {
683
706
  return metavariablesJSON;
684
707
  }
685
708
 
686
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvanNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG9udG9sb2d5IGZyb20gXCIuLi9vbnRvbG9neVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gdGVybUZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgdGVybSB9ID0ganNvbjtcblxuICBjb25zdCB0ZXJtSlNPTiA9IHRlcm07ICAvLy9cblxuICBqc29uID0gdGVybUpTT047ICAvLy9cblxuICBjb25zdCB7IFRlcm0gfSA9IG9udG9sb2d5O1xuXG4gIHRlcm0gPSBUZXJtLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIHJldHVybiB0ZXJtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHlwZUZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgdHlwZSB9ID0ganNvbjtcblxuICBpZiAodHlwZSAhPT0gbnVsbCkge1xuICAgIGpzb24gPSB0eXBlOyAgLy8vXG5cbiAgICBjb25zdCB7IG5hbWUsIHByZWZpeE5hbWUgfSA9IGpzb24sXG4gICAgICAgICAgbm9taW5hbFR5cGVOYW1lID0gKHByZWZpeE5hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtwcmVmaXhOYW1lfSR7bmFtZX1gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOyAvLy9cblxuICAgIHR5cGUgPSBjb250ZXh0LmZpbmRUeXBlQnlOb21pbmFsVHlwZU5hbWUobm9taW5hbFR5cGVOYW1lKTtcbiAgfVxuXG4gIHJldHVybiB0eXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YVR5cGVGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IG1ldGFUeXBlIH0gPSBqc29uO1xuXG4gIGlmIChtZXRhVHlwZSAhPT0gbnVsbCkge1xuICAgIGpzb24gPSBtZXRhVHlwZTsgIC8vL1xuXG4gICAgY29uc3QgeyBuYW1lIH0gPSBqc29uLFxuICAgICAgICAgIG1ldGFUeXBlTmFtZSA9IG5hbWU7ICAvLy9cblxuICAgIG1ldGFUeXBlID0gY29udGV4dC5maW5kTWV0YVR5cGVCeU1ldGFUeXBlTmFtZShtZXRhVHlwZU5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFUeXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVtZW50RnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBzdGF0ZW1lbnQgPSBudWxsIH0gPSBqc29uO1xuXG4gIGlmIChzdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gb250b2xvZ3ksXG4gICAgICAgICAgc3RhdGVtZW50SlNPTiA9IHN0YXRlbWVudDsgIC8vL1xuXG4gICAganNvbiA9IHN0YXRlbWVudEpTT047IC8vL1xuXG4gICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZHVjdGlvbkZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgZGVkdWN0aW9uIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgRGVkdWN0aW9uIH0gPSBvbnRvbG9neSxcbiAgICAgICAgZGVkdWN0aW9uSlNPTiA9IGRlZHVjdGlvbjsgIC8vL1xuXG4gIGpzb24gPSBkZWR1Y3Rpb25KU09OOyAgLy8vXG5cbiAgZGVkdWN0aW9uID0gRGVkdWN0aW9uLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIHJldHVybiBkZWR1Y3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaWduYXR1cmVGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IHNpZ25hdHVyZSA9IG51bGwgfSA9IGpzb247XG5cbiAgaWYgKHNpZ25hdHVyZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHsgU2lnbmF0dXJlIH0gPSBvbnRvbG9neSxcbiAgICAgICAgICBzaWduYXR1cmVKU09OID0gc2lnbmF0dXJlOyAgLy8vXG5cbiAgICBqc29uID0gc2lnbmF0dXJlSlNPTjsgLy8vXG5cbiAgICBzaWduYXR1cmUgPSBTaWduYXR1cmUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gc2lnbmF0dXJlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uY2x1c2lvbkZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgY29uY2x1c2lvbiB9ID0ganNvbjtcblxuICBjb25zdCB7IENvbmNsdXNpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICBjb25jbHVzaW9uSlNPTiA9IGNvbmNsdXNpb247ICAvLy9cblxuICBqc29uID0gY29uY2x1c2lvbkpTT047ICAvLy9cblxuICBjb25jbHVzaW9uID0gQ29uY2x1c2lvbi5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICByZXR1cm4gY29uY2x1c2lvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZUZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgbWV0YXZhcmlhYmxlIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgTWV0YXZhcmlhYmxlIH0gPSBvbnRvbG9neSxcbiAgICAgICAgbWV0YXZhcmlhYmxlSlNPTiA9IG1ldGF2YXJpYWJsZTsgIC8vL1xuXG4gIGpzb24gPSBtZXRhdmFyaWFibGVKU09OOyAvLy9cblxuICBtZXRhdmFyaWFibGUgPSBNZXRhdmFyaWFibGUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2NlZHVyZUNhbGxGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IHByb2NlZHVyZUNhbGwgPSBudWxsIH0gPSBqc29uO1xuXG4gIGlmIChwcm9jZWR1cmVDYWxsICE9PSBudWxsKSB7XG4gICAgY29uc3QgeyBQcm9jZWR1cmVDYWxsIH0gPSBvbnRvbG9neSxcbiAgICAgICAgICBwcm9jZWR1cmVDYWxsSlNPTiA9IHByb2NlZHVyZUNhbGw7ICAvLy9cblxuICAgIGpzb24gPSBwcm9jZWR1cmVDYWxsSlNPTjsgLy8vXG5cbiAgICBwcm9jZWR1cmVDYWxsID0gUHJvY2VkdXJlQ2FsbC5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBwcm9jZWR1cmVDYWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2VkdXJlUmVmZXJlbmNlRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBwcm9jZWR1cmVSZWZlcmVuY2UgfSA9IGpzb247XG5cbiAgY29uc3QgeyBQcm9jZWR1cmVSZWZlcmVuY2UgfSA9IG9udG9sb2d5LFxuICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2VKU09OID0gcHJvY2VkdXJlUmVmZXJlbmNlOyAgLy8vXG5cbiAganNvbiA9IHByb2NlZHVyZVJlZmVyZW5jZUpTT047ICAvLy9cblxuICBwcm9jZWR1cmVSZWZlcmVuY2UgPSBQcm9jZWR1cmVSZWZlcmVuY2UuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgcmV0dXJuIHByb2NlZHVyZVJlZmVyZW5jZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVzRnJvbUpTT04oanNvbiwgdHlwZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgeyB0eXBlczogdHlwZXNKU09OIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgVHlwZSB9ID0gb250b2xvZ3k7XG5cbiAgdHlwZXNKU09OLmZvckVhY2goKHR5cGVKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHR5cGVKU09OLCAgLy8vXG4gICAgICAgICAgdHlwZSA9IFR5cGUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICB0eXBlcy5wdXNoKHR5cGUpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyB0ZXJtcyB9ID0ganNvbjtcblxuICBjb25zdCB7IFRlcm0gfSA9IG9udG9sb2d5LFxuICAgICAgICB0ZXJtc0pTT04gPSB0ZXJtczsgLy8vXG5cbiAgdGVybXMgPSB0ZXJtc0pTT04ubWFwKCh0ZXJtSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSB0ZXJtSlNPTiwgIC8vL1xuICAgICAgICAgIHRlcm0gPSBUZXJtLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHRlcm07XG4gIH0pO1xuXG4gIHJldHVybiB0ZXJtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJ1bGVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBydWxlcyB9ID0ganNvbjtcblxuICBjb25zdCB7IFJ1bGUgfSA9IG9udG9sb2d5LFxuICAgICAgICBydWxlc0pTT04gPSBydWxlczsgLy8vXG5cbiAgcnVsZXMgPSBydWxlc0pTT04ubWFwKChydWxlSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBydWxlSlNPTiwgIC8vL1xuICAgICAgICAgIHJ1bGUgPSBSdWxlLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHJ1bGU7XG4gIH0pO1xuXG4gIHJldHVybiBydWxlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhYmVsRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBsYWJlbCB9ID0ganNvbjtcblxuICBjb25zdCB7IExhYmVsIH0gPSBvbnRvbG9neSxcbiAgICAgICAgbGFiZWxKU09OID0gbGFiZWw7ICAvLy9cblxuICBqc29uID0gbGFiZWxKU09OOyAvLy9cblxuICBsYWJlbCA9IExhYmVsLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIHJldHVybiBsYWJlbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhYmVsc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgbGFiZWxzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgTGFiZWwgfSA9IG9udG9sb2d5LFxuICAgICAgICBsYWJlbHNKU09OID0gbGFiZWxzOyAgLy8vXG5cbiAgbGFiZWxzID0gbGFiZWxzSlNPTi5tYXAoKGxhYmVsSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBsYWJlbEpTT04sIC8vL1xuICAgICAgICAgIGxhYmVsID0gTGFiZWwuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gbGFiZWw7XG4gIH0pO1xuXG4gIHJldHVybiBsYWJlbHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBheGlvbXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IGF4aW9tcyB9ID0ganNvbjtcblxuICBjb25zdCB7IEF4aW9tIH0gPSBvbnRvbG9neSxcbiAgICAgICAgYXhpb21zSlNPTiA9IGF4aW9tczsgLy8vXG5cbiAgYXhpb21zID0gYXhpb21zSlNPTi5tYXAoKGF4aW9tSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBheGlvbUpTT04sICAvLy9cbiAgICAgICAgICBheGlvbSA9IEF4aW9tLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGF4aW9tO1xuICB9KTtcblxuICByZXR1cm4gYXhpb21zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlbWlzZXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IHByZW1pc2VzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgUHJlbWlzZSB9ID0gb250b2xvZ3ksXG4gICAgICAgIHByZW1pc2VzSlNPTiA9IHByZW1pc2VzOyAgLy8vXG5cbiAgcHJlbWlzZXMgPSBwcmVtaXNlc0pTT04ubWFwKChwcmVtaXNlSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBwcmVtaXNlSlNPTiwgLy8vXG4gICAgICAgICAgcHJlbWlzZSA9IFByZW1pc2UuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gcHJlbWlzZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHByZW1pc2VzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGhlb3JlbXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IHRoZW9yZW1zIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgVGhlb3JlbSB9ID0gb250b2xvZ3ksXG4gICAgICAgIHRoZW9yZW1zSlNPTiA9IHRoZW9yZW1zOyAvLy9cblxuICB0aGVvcmVtcyA9IHRoZW9yZW1zSlNPTi5tYXAoKHRoZW9yZW1KU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHRoZW9yZW1KU09OLCAgLy8vXG4gICAgICAgICAgdGhlb3JlbSA9IFRoZW9yZW0uZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdGhlb3JlbTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRoZW9yZW1zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyB2YXJpYWJsZXMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBWYXJpYWJsZSB9ID0gb250b2xvZ3ksXG4gICAgICAgIHZhcmlhYmxlc0pTT04gPSB2YXJpYWJsZXM7IC8vL1xuXG4gIHZhcmlhYmxlcyA9IHZhcmlhYmxlc0pTT04ubWFwKCh2YXJpYWJsZUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gdmFyaWFibGVKU09OLCAgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHZhcmlhYmxlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3BlcnRpZXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IHByb3BlcnRpZXMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBQcm9wZXJ0eSB9ID0gb250b2xvZ3ksXG4gICAgICAgIHByb3BlcnRpZXNKU09OID0gcHJvcGVydGllczsgLy8vXG5cbiAgcHJvcGVydGllcyA9IHByb3BlcnRpZXNKU09OLm1hcCgocHJvcGVydHlKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHByb3BlcnR5SlNPTiwgIC8vL1xuICAgICAgICAgIHByb3BlcnR5ID0gUHJvcGVydHkuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gcHJvcGVydHk7XG4gIH0pO1xuXG4gIHJldHVybiBwcm9wZXJ0aWVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VwZXJUeXBlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgY29uc3QgeyBzdXBlclR5cGVzOiBzdXBlclR5cGVzSlNPTiB9ID0ganNvbjtcblxuICBjb25zdCBzdXBlclR5cGVzID0gc3VwZXJUeXBlc0pTT04ubWFwKChzdXBlclR5cGVKU09OKSA9PiB7XG4gICAgICAgICAgY29uc3QganNvbiA9IHN1cGVyVHlwZUpTT04sICAvLy9cbiAgICAgICAgICAgICAgICB7IG5hbWUsIHByZWZpeE5hbWUgfSA9IGpzb24sXG4gICAgICAgICAgICAgICAgbm9taW5hbFN1cGVyVHlwZU5hbWUgPSAocHJlZml4TmFtZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtwcmVmaXhOYW1lfSR7bmFtZX1gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgLy8vXG4gICAgICAgICAgICAgICAgc3VwZXJUeXBlID0gY29udGV4dC5maW5kVHlwZUJ5Tm9taW5hbFR5cGVOYW1lKG5vbWluYWxTdXBlclR5cGVOYW1lKTtcblxuICAgICAgICAgIHJldHVybiBzdXBlclR5cGU7XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBzdXBlclR5cGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaHlwb3RoZXNlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgaHlwb3RoZXNlcyB9ID0ganNvbjtcblxuICBjb25zdCB7IEh5cG90aGVzaXMgfSA9IG9udG9sb2d5LFxuICAgICAgICBoeXBvdGhlc2VzSlNPTiA9IGh5cG90aGVzZXM7ICAvLy9cblxuICBoeXBvdGhlc2VzID0gaHlwb3RoZXNlc0pTT04ubWFwKChoeXBvdGhlc2lzSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBoeXBvdGhlc2lzSlNPTiwgLy8vXG4gICAgICAgICAgaHlwb3RoZXNpcyA9IEh5cG90aGVzaXMuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gaHlwb3RoZXNpcztcbiAgfSk7XG5cbiAgcmV0dXJuIGh5cG90aGVzZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJhbWV0ZXJzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBwYXJhbWV0ZXJzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgUGFyYW1ldGVyIH0gPSBvbnRvbG9neSxcbiAgICAgICAgcGFyYW1ldGVyc0pTT04gPSBwYXJhbWV0ZXJzOyAvLy9cblxuICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVyc0pTT04ubWFwKChwYXJhbWV0ZXJKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHBhcmFtZXRlckpTT04sICAvLy9cbiAgICAgICAgICBwYXJhbWV0ZXIgPSBQYXJhbWV0ZXIuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gcGFyYW1ldGVyO1xuICB9KTtcblxuICByZXR1cm4gcGFyYW1ldGVycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmplY3R1cmVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBjb25qZWN0dXJlcyB9ID0ganNvbjtcblxuICBjb25zdCB7IENvbmplY3R1cmUgfSA9IG9udG9sb2d5LFxuICAgICAgICBjb25qZWN0dXJlc0pTT04gPSBjb25qZWN0dXJlczsgLy8vXG5cbiAgY29uamVjdHVyZXMgPSBjb25qZWN0dXJlc0pTT04ubWFwKChjb25qZWN0dXJlSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBjb25qZWN0dXJlSlNPTiwgIC8vL1xuICAgICAgICAgIGNvbmplY3R1cmUgPSBDb25qZWN0dXJlLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGNvbmplY3R1cmU7XG4gIH0pO1xuXG4gIHJldHVybiBjb25qZWN0dXJlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmF0b3JzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBjb21iaW5hdG9ycyB9ID0ganNvbjtcblxuICBjb25zdCB7IENvbWJpbmF0b3IgfSA9IG9udG9sb2d5LFxuICAgICAgICBjb21iaW5hdG9yc0pTT04gPSBjb21iaW5hdG9yczsgLy8vXG5cbiAgY29tYmluYXRvcnMgPSBjb21iaW5hdG9yc0pTT04ubWFwKChjb21iaW5hdG9ySlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBjb21iaW5hdG9ySlNPTiwgIC8vL1xuICAgICAgICAgIGNvbWJpbmF0b3IgPSBDb21iaW5hdG9yLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gIH0pO1xuXG4gIHJldHVybiBjb21iaW5hdG9ycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVQcmVmaXhlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgdHlwZVByZWZpeGVzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgVHlwZVByZWZpeCB9ID0gb250b2xvZ3ksXG4gICAgICAgIHR5cGVQcmVmaXhlc0pTT04gPSB0eXBlUHJlZml4ZXM7IC8vL1xuXG4gIHR5cGVQcmVmaXhlcyA9IHR5cGVQcmVmaXhlc0pTT04ubWFwKCh0eXBlUHJlZml4SlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSB0eXBlUHJlZml4SlNPTiwgIC8vL1xuICAgICAgICAgIHR5cGVQcmVmaXggPSBUeXBlUHJlZml4LmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHR5cGVQcmVmaXg7XG4gIH0pO1xuXG4gIHJldHVybiB0eXBlUHJlZml4ZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IGNvbnN0cnVjdG9ycyB9ID0ganNvbjtcblxuICBjb25zdCB7IENvbnN0cnVjdG9yIH0gPSBvbnRvbG9neSxcbiAgICAgICAgY29uc3RydWN0b3JzSlNPTiA9IGNvbnN0cnVjdG9yczsgLy8vXG5cbiAgY29uc3RydWN0b3JzID0gY29uc3RydWN0b3JzSlNPTi5tYXAoKGNvbnN0cnVjdG9ySlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBjb25zdHJ1Y3RvckpTT04sICAvLy9cbiAgICAgICAgICBjb25zdHJ1Y3RvciA9IENvbnN0cnVjdG9yLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yO1xuICB9KTtcblxuICByZXR1cm4gY29uc3RydWN0b3JzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YXRoZW9yZW1zRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBtZXRhdGhlb3JlbXMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBNZXRhdGhlb3JlbSB9ID0gb250b2xvZ3ksXG4gICAgICAgIG1ldGF0aGVvcmVtc0pTT04gPSBtZXRhdGhlb3JlbXM7IC8vL1xuXG4gIG1ldGF0aGVvcmVtcyA9IG1ldGF0aGVvcmVtc0pTT04ubWFwKChtZXRhdGhlb3JlbUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gbWV0YXRoZW9yZW1KU09OLCAgLy8vXG4gICAgICAgICAgbWV0YXRoZW9yZW0gPSBNZXRhdGhlb3JlbS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBtZXRhdGhlb3JlbTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1ldGF0aGVvcmVtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvc2l0aW9uc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgc3VwcG9zaXRpb25zIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgU3VwcG9zaXRpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICBzdXBwb3NpdGlvbnNKU09OID0gc3VwcG9zaXRpb25zOyAgLy8vXG5cbiAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zSlNPTi5tYXAoKHN1cHBvc2l0aW9uSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBzdXBwb3NpdGlvbkpTT04sIC8vL1xuICAgICAgICAgIHN1cHBvc2l0aW9uID0gU3VwcG9zaXRpb24uZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gc3VwcG9zaXRpb247XG4gIH0pO1xuXG4gIHJldHVybiBzdXBwb3NpdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWJzdGl0dXRpb25zRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBzdWJzdGl0dXRpb25zID0gW10gfSA9IGpzb247ICAvLy9cblxuICBjb25zdCB7IFN0YXRlbWVudFN1YnN0aXR1dGlvbiB9ID0gb250b2xvZ3ksXG4gICAgICAgIHN1YnN0aXR1dGlvbnNKU09OID0gc3Vic3RpdHV0aW9ucywgIC8vL1xuICAgICAgICBTdWJzdGl0dXRpb24gPSBTdGF0ZW1lbnRTdWJzdGl0dXRpb247IC8vL1xuXG4gIHN1YnN0aXR1dGlvbnMgPSBzdWJzdGl0dXRpb25zSlNPTi5tYXAoKHN1YnN0aXR1dGlvbkpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gc3Vic3RpdHV0aW9uSlNPTiwgIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IFN1YnN0aXR1dGlvbi5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBzdWJzdGl0dXRpb247XG4gIH0pO1xuXG4gIHJldHVybiBzdWJzdGl0dXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YXZhcmlhYmxlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgbWV0YXZhcmlhYmxlcyB9ID0ganNvbjtcblxuICBjb25zdCB7IE1ldGF2YXJpYWJsZSB9ID0gb250b2xvZ3ksXG4gICAgICAgIG1ldGF2YXJpYWJsZXNKU09OID0gbWV0YXZhcmlhYmxlczsgLy8vXG5cbiAgbWV0YXZhcmlhYmxlcyA9IG1ldGF2YXJpYWJsZXNKU09OLm1hcCgobWV0YXZhcmlhYmxlSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBtZXRhdmFyaWFibGVKU09OLCAgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlID0gTWV0YXZhcmlhYmxlLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsZW1tYXNGcm9tTm90aGluZygpIHtcbiAgY29uc3QgbGVtbWFzID0gW107XG5cbiAgcmV0dXJuIGxlbW1hcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFMZW1tYXNGcm9tTm90aGluZygpIHtcbiAgY29uc3QgbWV0YUxlbW1hcyA9IFtdO1xuXG4gIHJldHVybiBtZXRhTGVtbWFzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybVRvVGVybUpTT04odGVybSkge1xuICBjb25zdCB0ZXJtSlNPTiA9IHRlcm0udG9KU09OKCk7XG5cbiAgcmV0dXJuIHRlcm1KU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHlwZVRvVHlwZUpTT04odHlwZSkge1xuICBjb25zdCB0eXBlSlNPTiA9ICh0eXBlICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZS50b0pTT04oKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuXG4gIHJldHVybiB0eXBlSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhYmVsVG9MYWJlbEpTT04obGFiZWwpIHtcbiAgY29uc3QgbGFiZWxKU09OID0gbGFiZWwudG9KU09OKCk7XG5cbiAgcmV0dXJuIGxhYmVsSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFUeXBlVG9NZXRhVHlwZUpTT04obWV0YVR5cGUpIHtcbiAgY29uc3QgbWV0YVR5cGVKU09OID0gKG1ldGFUeXBlICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVR5cGUudG9KU09OKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiAgcmV0dXJuIG1ldGFUeXBlSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTihzdGF0ZW1lbnQpIHtcbiAgY29uc3Qgc3RhdGVtZW50SlNPTiA9IChzdGF0ZW1lbnQgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50LnRvSlNPTigpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuXG4gIHJldHVybiBzdGF0ZW1lbnRKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVkdWN0aW9uVG9EZWR1Y3Rpb25KU09OKGRlZHVjdGlvbikge1xuICBjb25zdCBkZWR1Y3Rpb25KU09OID0gZGVkdWN0aW9uLnRvSlNPTigpO1xuXG4gIHJldHVybiBkZWR1Y3Rpb25KU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmF0dXJlVG9TaWduYXR1cmVKU09OKHNpZ25hdHVyZSkge1xuICBjb25zdCBzaWduYXR1cmVKU09OID0gKHNpZ25hdHVyZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzaWduYXR1cmUudG9KU09OKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGw7XG5cbiAgcmV0dXJuIHNpZ25hdHVyZUpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25jbHVzaW9uVG9Db25jbHVzaW9uSlNPTihjb25jbHVzaW9uKSB7XG4gIGNvbnN0IGNvbmNsdXNpb25KU09OID0gY29uY2x1c2lvbi50b0pTT04oKTtcblxuICByZXR1cm4gY29uY2x1c2lvbkpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVUb01ldGF2YXJpYWJsZUpTT04obWV0YXZhcmlhYmxlKSB7XG4gIGNvbnN0IG1ldGF2YXJpYWJsZUpTT04gPSBtZXRhdmFyaWFibGUudG9KU09OKCk7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZUpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZWR1cmVDYWxsVG9Qcm9jZWR1cmVDYWxsSlNPTihwcm9jZWR1cmVDYWxsKSB7XG4gIGNvbnN0IHByb2NlZHVyZUNhbGxKU09OID0gKHByb2NlZHVyZUNhbGwgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NlZHVyZUNhbGwudG9KU09OKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuXG4gIHJldHVybiBwcm9jZWR1cmVDYWxsSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2NlZHVyZVJlZmVyZW5jZVRvUHJvY2VkdXJlUmVmZXJlbmNlSlNPTihwcm9jZWR1cmVSZWZlcmVuY2UpIHtcbiAgY29uc3QgcHJvY2VkdXJlUmVmZXJlbmNlSlNPTiA9IHByb2NlZHVyZVJlZmVyZW5jZS50b0pTT04oKTtcblxuICByZXR1cm4gcHJvY2VkdXJlUmVmZXJlbmNlSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVzVG9UeXBlc0pTT04odHlwZXMpIHtcbiAgY29uc3QgdHlwZXNKU09OID0gdHlwZXMubWFwKCh0eXBlKSA9PiB7XG4gICAgY29uc3QgdHlwZUpTT04gPSB0eXBlLnRvSlNPTigpO1xuXG4gICAgdHlwZSA9IHR5cGVKU09OOyAvLy9cblxuICAgIHJldHVybiB0eXBlO1xuICB9KTtcblxuICByZXR1cm4gdHlwZXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybXNUb1Rlcm1zSlNPTih0ZXJtcykge1xuICBjb25zdCB0ZXJtc0pTT04gPSB0ZXJtcy5tYXAoKHRlcm0pID0+IHtcbiAgICBjb25zdCB0ZXJtSlNPTiA9IHRlcm0udG9KU09OKCk7XG5cbiAgICB0ZXJtID0gdGVybUpTT047IC8vL1xuXG4gICAgcmV0dXJuIHRlcm07XG4gIH0pO1xuXG4gIHJldHVybiB0ZXJtc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBydWxlc1RvUnVsZXNKU09OKHJ1bGVzKSB7XG4gIGNvbnN0IHJ1bGVzSlNPTiA9IHJ1bGVzLm1hcCgocnVsZSkgPT4ge1xuICAgIGNvbnN0IHJ1bGVKU09OID0gcnVsZS50b0pTT04oKTtcblxuICAgIHJ1bGUgPSBydWxlSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJ1bGVzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhYmVsc1RvTGFiZWxzSlNPTihsYWJlbHMpIHtcbiAgY29uc3QgbGFiZWxzSlNPTiA9IGxhYmVscy5tYXAoKGxhYmVsKSA9PiB7XG4gICAgY29uc3QgbGFiZWxKU09OID0gbGFiZWwudG9KU09OKCk7XG5cbiAgICByZXR1cm4gbGFiZWxKU09OO1xuICB9KTtcblxuICByZXR1cm4gbGFiZWxzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF4aW9tc1RvQXhpb21zSlNPTihheGlvbXMpIHtcbiAgY29uc3QgYXhpb21zSlNPTiA9IGF4aW9tcy5tYXAoKGF4aW9tKSA9PiB7XG4gICAgY29uc3QgYXhpb21KU09OID0gYXhpb20udG9KU09OKCk7XG5cbiAgICBheGlvbSA9IGF4aW9tSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gYXhpb207XG4gIH0pO1xuXG4gIHJldHVybiBheGlvbXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlbWlzZXNUb1ByZW1pc2VzSlNPTihwcmVtaXNlcykge1xuICBjb25zdCBwcmVtaXNlc0pTT04gPSBwcmVtaXNlcy5tYXAoKHByZW1pc2UpID0+IHtcbiAgICBjb25zdCBwcmVtaXNlSlNPTiA9IHByZW1pc2UudG9KU09OKCk7XG5cbiAgICByZXR1cm4gcHJlbWlzZUpTT047XG4gIH0pO1xuXG4gIHJldHVybiBwcmVtaXNlc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGVvcmVtc1RvVGhlb3JlbXNKU09OKHRoZW9yZW1zKSB7XG4gIGNvbnN0IHRoZW9yZW1zSlNPTiA9IHRoZW9yZW1zLm1hcCgodGhlb3JlbSkgPT4ge1xuICAgIGNvbnN0IHRoZW9yZW1KU09OID0gdGhlb3JlbS50b0pTT04oKTtcblxuICAgIHRoZW9yZW0gPSB0aGVvcmVtSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gdGhlb3JlbTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRoZW9yZW1zSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlc1RvVmFyaWFibGVzSlNPTih2YXJpYWJsZXMpIHtcbiAgY29uc3QgdmFyaWFibGVzSlNPTiA9IHZhcmlhYmxlcy5tYXAoKHZhcmlhYmxlKSA9PiB7XG4gICAgY29uc3QgdmFyaWFibGVKU09OID0gdmFyaWFibGUudG9KU09OKCk7XG5cbiAgICB2YXJpYWJsZSA9IHZhcmlhYmxlSlNPTjsgIC8vL1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9KTtcblxuICByZXR1cm4gdmFyaWFibGVzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh5cG90aGVzZXNUb0h5cG90aGVzZXNKU09OKGh5cG90aGVzZXMpIHtcbiAgY29uc3QgaHlwb3RoZXNlc0pTT04gPSBoeXBvdGhlc2VzLm1hcCgoaHlwb3RoZXNpcykgPT4ge1xuICAgIGNvbnN0IGh5cG90aGVzaXNKU09OID0gaHlwb3RoZXNpcy50b0pTT04oKTtcblxuICAgIGh5cG90aGVzaXMgPSBoeXBvdGhlc2lzSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gaHlwb3RoZXNpcztcbiAgfSk7XG5cbiAgcmV0dXJuIGh5cG90aGVzZXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VwZXJUeXBlc1RvU3VwZXJUeXBlc0pTT04oc3VwZXJUeXBlcykge1xuICBjb25zdCBzdXBlclR5cGVzSlNPTiA9IHN1cGVyVHlwZXMubWFwKChzdXBlclR5cGUpID0+IHtcbiAgICBjb25zdCBzdXBlclR5cGVKU09OID0gc3VwZXJUeXBlLnRvSlNPTigpO1xuXG4gICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gc3VwZXJUeXBlO1xuICB9KTtcblxuICByZXR1cm4gc3VwZXJUeXBlc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTihwYXJhbWV0ZXJzKSB7XG4gIGNvbnN0IHBhcmFtZXRlcnNKU09OID0gcGFyYW1ldGVycy5tYXAoKHBhcmFtZXRlcikgPT4ge1xuICAgIGNvbnN0IHBhcmFtZXRlckpTT04gPSBwYXJhbWV0ZXIudG9KU09OKCk7XG5cbiAgICBwYXJhbWV0ZXIgPSBwYXJhbWV0ZXJKU09OOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyYW1ldGVyO1xuICB9KTtcblxuICByZXR1cm4gcGFyYW1ldGVyc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9wZXJ0aWVzVG9Qcm9wZXJ0aWVzSlNPTihwcm9wZXJ0aWVzKSB7XG4gIGNvbnN0IHByb3BlcnRpZXNKU09OID0gcHJvcGVydGllcy5tYXAoKHByb3BlcnR5KSA9PiB7XG4gICAgY29uc3QgcHJvcGVydHlKU09OID0gcHJvcGVydHkudG9KU09OKCk7XG5cbiAgICBwcm9wZXJ0eSA9IHByb3BlcnR5SlNPTjsgIC8vL1xuXG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9KTtcblxuICByZXR1cm4gcHJvcGVydGllc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0eXBlUHJlZml4ZXNUb1R5cGVQcmVmaXhlc0pTT04odHlwZVByZWZpeGVzKSB7XG4gIGNvbnN0IHR5cGVQcmVmaXhlc0pTT04gPSB0eXBlUHJlZml4ZXMubWFwKCh0eXBlUHJlZml4KSA9PiB7XG4gICAgY29uc3QgdHlwZVByZWZpeEpTT04gPSB0eXBlUHJlZml4LnRvSlNPTigpO1xuXG4gICAgdHlwZVByZWZpeCA9IHR5cGVQcmVmaXhKU09OOyAvLy9cblxuICAgIHJldHVybiB0eXBlUHJlZml4O1xuICB9KTtcblxuICByZXR1cm4gdHlwZVByZWZpeGVzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmplY3R1cmVzVG9Db25qZWN0dXJlc0pTT04oY29uamVjdHVyZXMpIHtcbiAgY29uc3QgY29uamVjdHVyZXNKU09OID0gY29uamVjdHVyZXMubWFwKChjb25qZWN0dXJlKSA9PiB7XG4gICAgY29uc3QgY29uamVjdHVyZUpTT04gPSBjb25qZWN0dXJlLnRvSlNPTigpO1xuXG4gICAgY29uamVjdHVyZSA9IGNvbmplY3R1cmVKU09OOyAvLy9cblxuICAgIHJldHVybiBjb25qZWN0dXJlO1xuICB9KTtcblxuICByZXR1cm4gY29uamVjdHVyZXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tYmluYXRvcnNUb0NvbWJpbmF0b3JzSlNPTihjb21iaW5hdG9ycykge1xuICBjb25zdCBjb21iaW5hdG9yc0pTT04gPSBjb21iaW5hdG9ycy5tYXAoKGNvbWJpbmF0b3IpID0+IHtcbiAgICBjb25zdCBjb21iaW5hdG9ySlNPTiA9IGNvbWJpbmF0b3IudG9KU09OKCk7XG5cbiAgICBjb21iaW5hdG9yID0gY29tYmluYXRvckpTT047IC8vL1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gIH0pO1xuXG4gIHJldHVybiBjb21iaW5hdG9yc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBwb3NpdGlvbnNUb1N1cHBvc2l0aW9uc0pTT04oc3VwcG9zaXRpb25zKSB7XG4gIGNvbnN0IHN1cHBvc2l0aW9uc0pTT04gPSBzdXBwb3NpdGlvbnMubWFwKChzdXBwb3NpdGlvbikgPT4ge1xuICAgIGNvbnN0IHN1cHBvc2l0aW9uSlNPTiA9IHN1cHBvc2l0aW9uLnRvSlNPTigpO1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uSlNPTjtcbiAgfSk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnNUb0NvbnN0cnVjdG9yc0pTT04oY29uc3RydWN0b3JzKSB7XG4gIGNvbnN0IGNvbnN0cnVjdG9yc0pTT04gPSBjb25zdHJ1Y3RvcnMubWFwKChjb25zdHJ1Y3RvcikgPT4ge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9ySlNPTiA9IGNvbnN0cnVjdG9yLnRvSlNPTigpO1xuXG4gICAgY29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvckpTT047ICAvLy9cblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdGhlb3JlbXNUb01ldGF0aGVvcmVtc0pTT04obWV0YXRoZW9yZW1zKSB7XG4gIGNvbnN0IG1ldGF0aGVvcmVtc0pTT04gPSBtZXRhdGhlb3JlbXMubWFwKChtZXRhdGhlb3JlbSkgPT4ge1xuICAgIGNvbnN0IG1ldGF0aGVvcmVtSlNPTiA9IG1ldGF0aGVvcmVtLnRvSlNPTigpO1xuXG4gICAgbWV0YXRoZW9yZW0gPSBtZXRhdGhlb3JlbUpTT047IC8vL1xuXG4gICAgcmV0dXJuIG1ldGF0aGVvcmVtO1xuICB9KTtcblxuICByZXR1cm4gbWV0YXRoZW9yZW1zSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YnN0aXR1dGlvbnNUb1N1YnN0aXR1dGlvbnNKU09OKHN1YnN0aXR1dGlvbnMpIHtcbiAgY29uc3Qgc3Vic3RpdHV0aW9uc0pTT04gPSBzdWJzdGl0dXRpb25zLm1hcFN1YnN0aXR1dGlvbigoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uSlNPTiA9IHN1YnN0aXR1dGlvbi50b0pTT04oKTtcblxuICAgIHJldHVybiBzdWJzdGl0dXRpb25KU09OO1xuICB9KTtcblxuICByZXR1cm4gc3Vic3RpdHV0aW9uc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVzVG9NZXRhdmFyaWFibGVzSlNPTihtZXRhdmFyaWFibGVzKSB7XG4gIGNvbnN0IG1ldGF2YXJpYWJsZXNKU09OID0gbWV0YXZhcmlhYmxlcy5tYXAoKG1ldGF2YXJpYWJsZSkgPT4ge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZUpTT04gPSBtZXRhdmFyaWFibGUudG9KU09OKCk7XG5cbiAgICBtZXRhdmFyaWFibGUgPSBtZXRhdmFyaWFibGVKU09OOyAgLy8vXG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlO1xuICB9KTtcblxuICByZXR1cm4gbWV0YXZhcmlhYmxlc0pTT047XG59XG4iXSwibmFtZXMiOlsiYXhpb21zRnJvbUpTT04iLCJheGlvbXNUb0F4aW9tc0pTT04iLCJjb21iaW5hdG9yc0Zyb21KU09OIiwiY29tYmluYXRvcnNUb0NvbWJpbmF0b3JzSlNPTiIsImNvbmNsdXNpb25Gcm9tSlNPTiIsImNvbmNsdXNpb25Ub0NvbmNsdXNpb25KU09OIiwiY29uamVjdHVyZXNGcm9tSlNPTiIsImNvbmplY3R1cmVzVG9Db25qZWN0dXJlc0pTT04iLCJjb25zdHJ1Y3RvcnNGcm9tSlNPTiIsImNvbnN0cnVjdG9yc1RvQ29uc3RydWN0b3JzSlNPTiIsImRlZHVjdGlvbkZyb21KU09OIiwiZGVkdWN0aW9uVG9EZWR1Y3Rpb25KU09OIiwiaHlwb3RoZXNlc0Zyb21KU09OIiwiaHlwb3RoZXNlc1RvSHlwb3RoZXNlc0pTT04iLCJsYWJlbEZyb21KU09OIiwibGFiZWxUb0xhYmVsSlNPTiIsImxhYmVsc0Zyb21KU09OIiwibGFiZWxzVG9MYWJlbHNKU09OIiwibGVtbWFzRnJvbU5vdGhpbmciLCJtZXRhTGVtbWFzRnJvbU5vdGhpbmciLCJtZXRhVHlwZUZyb21KU09OIiwibWV0YVR5cGVUb01ldGFUeXBlSlNPTiIsIm1ldGF0aGVvcmVtc0Zyb21KU09OIiwibWV0YXRoZW9yZW1zVG9NZXRhdGhlb3JlbXNKU09OIiwibWV0YXZhcmlhYmxlRnJvbUpTT04iLCJtZXRhdmFyaWFibGVUb01ldGF2YXJpYWJsZUpTT04iLCJtZXRhdmFyaWFibGVzRnJvbUpTT04iLCJtZXRhdmFyaWFibGVzVG9NZXRhdmFyaWFibGVzSlNPTiIsInBhcmFtZXRlcnNGcm9tSlNPTiIsInBhcmFtZXRlcnNUb1BhcmFtZXRlcnNKU09OIiwicHJlbWlzZXNGcm9tSlNPTiIsInByZW1pc2VzVG9QcmVtaXNlc0pTT04iLCJwcm9jZWR1cmVDYWxsRnJvbUpTT04iLCJwcm9jZWR1cmVDYWxsVG9Qcm9jZWR1cmVDYWxsSlNPTiIsInByb2NlZHVyZVJlZmVyZW5jZUZyb21KU09OIiwicHJvY2VkdXJlUmVmZXJlbmNlVG9Qcm9jZWR1cmVSZWZlcmVuY2VKU09OIiwicHJvcGVydGllc0Zyb21KU09OIiwicHJvcGVydGllc1RvUHJvcGVydGllc0pTT04iLCJydWxlc0Zyb21KU09OIiwicnVsZXNUb1J1bGVzSlNPTiIsInNpZ25hdHVyZUZyb21KU09OIiwic2lnbmF0dXJlVG9TaWduYXR1cmVKU09OIiwic3RhdGVtZW50RnJvbUpTT04iLCJzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04iLCJzdWJzdGl0dXRpb25zRnJvbUpTT04iLCJzdWJzdGl0dXRpb25zVG9TdWJzdGl0dXRpb25zSlNPTiIsInN1cGVyVHlwZXNGcm9tSlNPTiIsInN1cGVyVHlwZXNUb1N1cGVyVHlwZXNKU09OIiwic3VwcG9zaXRpb25zRnJvbUpTT04iLCJzdXBwb3NpdGlvbnNUb1N1cHBvc2l0aW9uc0pTT04iLCJ0ZXJtRnJvbUpTT04iLCJ0ZXJtVG9UZXJtSlNPTiIsInRlcm1zRnJvbUpTT04iLCJ0ZXJtc1RvVGVybXNKU09OIiwidGhlb3JlbXNGcm9tSlNPTiIsInRoZW9yZW1zVG9UaGVvcmVtc0pTT04iLCJ0eXBlRnJvbUpTT04iLCJ0eXBlUHJlZml4ZXNGcm9tSlNPTiIsInR5cGVQcmVmaXhlc1RvVHlwZVByZWZpeGVzSlNPTiIsInR5cGVUb1R5cGVKU09OIiwidHlwZXNGcm9tSlNPTiIsInR5cGVzVG9UeXBlc0pTT04iLCJ2YXJpYWJsZXNGcm9tSlNPTiIsInZhcmlhYmxlc1RvVmFyaWFibGVzSlNPTiIsImpzb24iLCJjb250ZXh0IiwidGVybSIsInRlcm1KU09OIiwiVGVybSIsIm9udG9sb2d5IiwiZnJvbUpTT04iLCJ0eXBlIiwibmFtZSIsInByZWZpeE5hbWUiLCJub21pbmFsVHlwZU5hbWUiLCJmaW5kVHlwZUJ5Tm9taW5hbFR5cGVOYW1lIiwibWV0YVR5cGUiLCJtZXRhVHlwZU5hbWUiLCJmaW5kTWV0YVR5cGVCeU1ldGFUeXBlTmFtZSIsInN0YXRlbWVudCIsIlN0YXRlbWVudCIsInN0YXRlbWVudEpTT04iLCJkZWR1Y3Rpb24iLCJEZWR1Y3Rpb24iLCJkZWR1Y3Rpb25KU09OIiwic2lnbmF0dXJlIiwiU2lnbmF0dXJlIiwic2lnbmF0dXJlSlNPTiIsImNvbmNsdXNpb24iLCJDb25jbHVzaW9uIiwiY29uY2x1c2lvbkpTT04iLCJtZXRhdmFyaWFibGUiLCJNZXRhdmFyaWFibGUiLCJtZXRhdmFyaWFibGVKU09OIiwicHJvY2VkdXJlQ2FsbCIsIlByb2NlZHVyZUNhbGwiLCJwcm9jZWR1cmVDYWxsSlNPTiIsInByb2NlZHVyZVJlZmVyZW5jZSIsIlByb2NlZHVyZVJlZmVyZW5jZSIsInByb2NlZHVyZVJlZmVyZW5jZUpTT04iLCJ0eXBlcyIsInR5cGVzSlNPTiIsIlR5cGUiLCJmb3JFYWNoIiwidHlwZUpTT04iLCJwdXNoIiwidGVybXMiLCJ0ZXJtc0pTT04iLCJtYXAiLCJydWxlcyIsIlJ1bGUiLCJydWxlc0pTT04iLCJydWxlSlNPTiIsInJ1bGUiLCJsYWJlbCIsIkxhYmVsIiwibGFiZWxKU09OIiwibGFiZWxzIiwibGFiZWxzSlNPTiIsImF4aW9tcyIsIkF4aW9tIiwiYXhpb21zSlNPTiIsImF4aW9tSlNPTiIsImF4aW9tIiwicHJlbWlzZXMiLCJQcmVtaXNlIiwicHJlbWlzZXNKU09OIiwicHJlbWlzZUpTT04iLCJwcmVtaXNlIiwidGhlb3JlbXMiLCJUaGVvcmVtIiwidGhlb3JlbXNKU09OIiwidGhlb3JlbUpTT04iLCJ0aGVvcmVtIiwidmFyaWFibGVzIiwiVmFyaWFibGUiLCJ2YXJpYWJsZXNKU09OIiwidmFyaWFibGVKU09OIiwidmFyaWFibGUiLCJwcm9wZXJ0aWVzIiwiUHJvcGVydHkiLCJwcm9wZXJ0aWVzSlNPTiIsInByb3BlcnR5SlNPTiIsInByb3BlcnR5Iiwic3VwZXJUeXBlcyIsInN1cGVyVHlwZXNKU09OIiwic3VwZXJUeXBlSlNPTiIsIm5vbWluYWxTdXBlclR5cGVOYW1lIiwic3VwZXJUeXBlIiwiaHlwb3RoZXNlcyIsIkh5cG90aGVzaXMiLCJoeXBvdGhlc2VzSlNPTiIsImh5cG90aGVzaXNKU09OIiwiaHlwb3RoZXNpcyIsInBhcmFtZXRlcnMiLCJQYXJhbWV0ZXIiLCJwYXJhbWV0ZXJzSlNPTiIsInBhcmFtZXRlckpTT04iLCJwYXJhbWV0ZXIiLCJjb25qZWN0dXJlcyIsIkNvbmplY3R1cmUiLCJjb25qZWN0dXJlc0pTT04iLCJjb25qZWN0dXJlSlNPTiIsImNvbmplY3R1cmUiLCJjb21iaW5hdG9ycyIsIkNvbWJpbmF0b3IiLCJjb21iaW5hdG9yc0pTT04iLCJjb21iaW5hdG9ySlNPTiIsImNvbWJpbmF0b3IiLCJ0eXBlUHJlZml4ZXMiLCJUeXBlUHJlZml4IiwidHlwZVByZWZpeGVzSlNPTiIsInR5cGVQcmVmaXhKU09OIiwidHlwZVByZWZpeCIsImNvbnN0cnVjdG9ycyIsIkNvbnN0cnVjdG9yIiwiY29uc3RydWN0b3JzSlNPTiIsImNvbnN0cnVjdG9ySlNPTiIsImNvbnN0cnVjdG9yIiwibWV0YXRoZW9yZW1zIiwiTWV0YXRoZW9yZW0iLCJtZXRhdGhlb3JlbXNKU09OIiwibWV0YXRoZW9yZW1KU09OIiwibWV0YXRoZW9yZW0iLCJzdXBwb3NpdGlvbnMiLCJTdXBwb3NpdGlvbiIsInN1cHBvc2l0aW9uc0pTT04iLCJzdXBwb3NpdGlvbkpTT04iLCJzdXBwb3NpdGlvbiIsInN1YnN0aXR1dGlvbnMiLCJTdGF0ZW1lbnRTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25zSlNPTiIsIlN1YnN0aXR1dGlvbiIsInN1YnN0aXR1dGlvbkpTT04iLCJzdWJzdGl0dXRpb24iLCJtZXRhdmFyaWFibGVzIiwibWV0YXZhcmlhYmxlc0pTT04iLCJsZW1tYXMiLCJtZXRhTGVtbWFzIiwidG9KU09OIiwibWV0YVR5cGVKU09OIiwibWFwU3Vic3RpdHV0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUE2TmdCQTtlQUFBQTs7UUF1WUFDO2VBQUFBOztRQXRQQUM7ZUFBQUE7O1FBNFdBQztlQUFBQTs7UUE3bkJBQztlQUFBQTs7UUErYkFDO2VBQUFBOztRQTlMQUM7ZUFBQUE7O1FBZ1hBQztlQUFBQTs7UUFoVUFDO2VBQUFBOztRQWtXQUM7ZUFBQUE7O1FBL3FCQUM7ZUFBQUE7O1FBNmNBQztlQUFBQTs7UUFoTkFDO2VBQUFBOztRQW9WQUM7ZUFBQUE7O1FBbGRBQztlQUFBQTs7UUF5VEFDO2VBQUFBOztRQTVTQUM7ZUFBQUE7O1FBNllBQztlQUFBQTs7UUEzSEFDO2VBQUFBOztRQU1BQztlQUFBQTs7UUFsY0FDO2VBQUFBOztRQTRkQUM7ZUFBQUE7O1FBakdBQztlQUFBQTs7UUE4VkFDO2VBQUFBOztRQWxwQkFDO2VBQUFBOztRQXdiQUM7ZUFBQUE7O1FBbkZBQztlQUFBQTs7UUFtVUFDO2VBQUFBOztRQXBjQUM7ZUFBQUE7O1FBNFZBQztlQUFBQTs7UUE3YkFDO2VBQUFBOztRQW1ZQUM7ZUFBQUE7O1FBemZBQztlQUFBQTs7UUFpYkFDO2VBQUFBOztRQWxhQUM7ZUFBQUE7O1FBMGFBQztlQUFBQTs7UUFuUkFDO2VBQUFBOztRQXlaQUM7ZUFBQUE7O1FBdGdCQUM7ZUFBQUE7O1FBOFpBQztlQUFBQTs7UUFoZ0JBQztlQUFBQTs7UUFzY0FDO2VBQUFBOztRQWxlQUM7ZUFBQUE7O1FBb2RBQztlQUFBQTs7UUF4RUFDO2VBQUFBOztRQTBVQUM7ZUFBQUE7O1FBM2RBQztlQUFBQTs7UUFpWEFDO2VBQUFBOztRQWhQQUM7ZUFBQUE7O1FBd1RBQztlQUFBQTs7UUFsdUJBQztlQUFBQTs7UUF1ZUFDO2VBQUFBOztRQTNVQUM7ZUFBQUE7O1FBa2FBQztl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
709
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvanNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG9udG9sb2d5IGZyb20gXCIuLi9vbnRvbG9neVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gdGVybUZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgdGVybSB9ID0ganNvbjtcblxuICBjb25zdCB0ZXJtSlNPTiA9IHRlcm07ICAvLy9cblxuICBqc29uID0gdGVybUpTT047ICAvLy9cblxuICBjb25zdCB7IFRlcm0gfSA9IG9udG9sb2d5O1xuXG4gIHRlcm0gPSBUZXJtLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIHJldHVybiB0ZXJtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHlwZUZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgdHlwZSB9ID0ganNvbjtcblxuICBpZiAodHlwZSAhPT0gbnVsbCkge1xuICAgIGpzb24gPSB0eXBlOyAgLy8vXG5cbiAgICBjb25zdCB7IG5hbWUsIHByZWZpeE5hbWUgfSA9IGpzb24sXG4gICAgICAgICAgbm9taW5hbFR5cGVOYW1lID0gKHByZWZpeE5hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtwcmVmaXhOYW1lfSR7bmFtZX1gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOyAvLy9cblxuICAgIHR5cGUgPSBjb250ZXh0LmZpbmRUeXBlQnlOb21pbmFsVHlwZU5hbWUobm9taW5hbFR5cGVOYW1lKTtcbiAgfVxuXG4gIHJldHVybiB0eXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YVR5cGVGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IG1ldGFUeXBlIH0gPSBqc29uO1xuXG4gIGlmIChtZXRhVHlwZSAhPT0gbnVsbCkge1xuICAgIGpzb24gPSBtZXRhVHlwZTsgIC8vL1xuXG4gICAgY29uc3QgeyBuYW1lIH0gPSBqc29uLFxuICAgICAgICAgIG1ldGFUeXBlTmFtZSA9IG5hbWU7ICAvLy9cblxuICAgIG1ldGFUeXBlID0gY29udGV4dC5maW5kTWV0YVR5cGVCeU1ldGFUeXBlTmFtZShtZXRhVHlwZU5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFUeXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVtZW50RnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBzdGF0ZW1lbnQgPSBudWxsIH0gPSBqc29uO1xuXG4gIGlmIChzdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gb250b2xvZ3ksXG4gICAgICAgICAgc3RhdGVtZW50SlNPTiA9IHN0YXRlbWVudDsgIC8vL1xuXG4gICAganNvbiA9IHN0YXRlbWVudEpTT047IC8vL1xuXG4gICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZHVjdGlvbkZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgZGVkdWN0aW9uIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgRGVkdWN0aW9uIH0gPSBvbnRvbG9neSxcbiAgICAgICAgZGVkdWN0aW9uSlNPTiA9IGRlZHVjdGlvbjsgIC8vL1xuXG4gIGpzb24gPSBkZWR1Y3Rpb25KU09OOyAgLy8vXG5cbiAgZGVkdWN0aW9uID0gRGVkdWN0aW9uLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIHJldHVybiBkZWR1Y3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaWduYXR1cmVGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IHNpZ25hdHVyZSA9IG51bGwgfSA9IGpzb247XG5cbiAgaWYgKHNpZ25hdHVyZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHsgU2lnbmF0dXJlIH0gPSBvbnRvbG9neSxcbiAgICAgICAgICBzaWduYXR1cmVKU09OID0gc2lnbmF0dXJlOyAgLy8vXG5cbiAgICBqc29uID0gc2lnbmF0dXJlSlNPTjsgLy8vXG5cbiAgICBzaWduYXR1cmUgPSBTaWduYXR1cmUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gc2lnbmF0dXJlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uY2x1c2lvbkZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgY29uY2x1c2lvbiB9ID0ganNvbjtcblxuICBjb25zdCB7IENvbmNsdXNpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICBjb25jbHVzaW9uSlNPTiA9IGNvbmNsdXNpb247ICAvLy9cblxuICBqc29uID0gY29uY2x1c2lvbkpTT047ICAvLy9cblxuICBjb25jbHVzaW9uID0gQ29uY2x1c2lvbi5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICByZXR1cm4gY29uY2x1c2lvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZUZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgbWV0YXZhcmlhYmxlIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgTWV0YXZhcmlhYmxlIH0gPSBvbnRvbG9neSxcbiAgICAgICAgbWV0YXZhcmlhYmxlSlNPTiA9IG1ldGF2YXJpYWJsZTsgIC8vL1xuXG4gIGpzb24gPSBtZXRhdmFyaWFibGVKU09OOyAvLy9cblxuICBtZXRhdmFyaWFibGUgPSBNZXRhdmFyaWFibGUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2NlZHVyZUNhbGxGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IHByb2NlZHVyZUNhbGwgPSBudWxsIH0gPSBqc29uO1xuXG4gIGlmIChwcm9jZWR1cmVDYWxsICE9PSBudWxsKSB7XG4gICAgY29uc3QgeyBQcm9jZWR1cmVDYWxsIH0gPSBvbnRvbG9neSxcbiAgICAgICAgICBwcm9jZWR1cmVDYWxsSlNPTiA9IHByb2NlZHVyZUNhbGw7ICAvLy9cblxuICAgIGpzb24gPSBwcm9jZWR1cmVDYWxsSlNPTjsgLy8vXG5cbiAgICBwcm9jZWR1cmVDYWxsID0gUHJvY2VkdXJlQ2FsbC5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBwcm9jZWR1cmVDYWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2VkdXJlUmVmZXJlbmNlRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBwcm9jZWR1cmVSZWZlcmVuY2UgfSA9IGpzb247XG5cbiAgY29uc3QgeyBQcm9jZWR1cmVSZWZlcmVuY2UgfSA9IG9udG9sb2d5LFxuICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2VKU09OID0gcHJvY2VkdXJlUmVmZXJlbmNlOyAgLy8vXG5cbiAganNvbiA9IHByb2NlZHVyZVJlZmVyZW5jZUpTT047ICAvLy9cblxuICBwcm9jZWR1cmVSZWZlcmVuY2UgPSBQcm9jZWR1cmVSZWZlcmVuY2UuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgcmV0dXJuIHByb2NlZHVyZVJlZmVyZW5jZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVzRnJvbUpTT04oanNvbiwgdHlwZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgeyB0eXBlczogdHlwZXNKU09OIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgVHlwZSB9ID0gb250b2xvZ3k7XG5cbiAgdHlwZXNKU09OLmZvckVhY2goKHR5cGVKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHR5cGVKU09OLCAgLy8vXG4gICAgICAgICAgdHlwZSA9IFR5cGUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICB0eXBlcy5wdXNoKHR5cGUpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyB0ZXJtcyB9ID0ganNvbjtcblxuICBjb25zdCB7IFRlcm0gfSA9IG9udG9sb2d5LFxuICAgICAgICB0ZXJtc0pTT04gPSB0ZXJtczsgLy8vXG5cbiAgdGVybXMgPSB0ZXJtc0pTT04ubWFwKCh0ZXJtSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSB0ZXJtSlNPTiwgIC8vL1xuICAgICAgICAgIHRlcm0gPSBUZXJtLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHRlcm07XG4gIH0pO1xuXG4gIHJldHVybiB0ZXJtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJ1bGVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBydWxlcyB9ID0ganNvbjtcblxuICBjb25zdCB7IFJ1bGUgfSA9IG9udG9sb2d5LFxuICAgICAgICBydWxlc0pTT04gPSBydWxlczsgLy8vXG5cbiAgcnVsZXMgPSBydWxlc0pTT04ubWFwKChydWxlSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBydWxlSlNPTiwgIC8vL1xuICAgICAgICAgIHJ1bGUgPSBSdWxlLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHJ1bGU7XG4gIH0pO1xuXG4gIHJldHVybiBydWxlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhYmVsRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBsYWJlbCB9ID0ganNvbjtcblxuICBjb25zdCB7IExhYmVsIH0gPSBvbnRvbG9neSxcbiAgICAgICAgbGFiZWxKU09OID0gbGFiZWw7ICAvLy9cblxuICBqc29uID0gbGFiZWxKU09OOyAvLy9cblxuICBsYWJlbCA9IExhYmVsLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIHJldHVybiBsYWJlbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyYW1lc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgZnJhbWVzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgRnJhbWUgfSA9IG9udG9sb2d5LFxuICAgICAgICBmcmFtZXNKU09OID0gZnJhbWVzOyAvLy9cblxuICBmcmFtZXMgPSBmcmFtZXNKU09OLm1hcCgoZnJhbWVKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IGZyYW1lSlNPTiwgIC8vL1xuICAgICAgICAgIGZyYW1lID0gRnJhbWUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH0pO1xuXG4gIHJldHVybiBmcmFtZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYWJlbHNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IGxhYmVscyB9ID0ganNvbjtcblxuICBjb25zdCB7IExhYmVsIH0gPSBvbnRvbG9neSxcbiAgICAgICAgbGFiZWxzSlNPTiA9IGxhYmVsczsgIC8vL1xuXG4gIGxhYmVscyA9IGxhYmVsc0pTT04ubWFwKChsYWJlbEpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gbGFiZWxKU09OLCAvLy9cbiAgICAgICAgICBsYWJlbCA9IExhYmVsLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGxhYmVsO1xuICB9KTtcblxuICByZXR1cm4gbGFiZWxzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXhpb21zRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBheGlvbXMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBBeGlvbSB9ID0gb250b2xvZ3ksXG4gICAgICAgIGF4aW9tc0pTT04gPSBheGlvbXM7IC8vL1xuXG4gIGF4aW9tcyA9IGF4aW9tc0pTT04ubWFwKChheGlvbUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gYXhpb21KU09OLCAgLy8vXG4gICAgICAgICAgYXhpb20gPSBBeGlvbS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBheGlvbTtcbiAgfSk7XG5cbiAgcmV0dXJuIGF4aW9tcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZW1pc2VzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBwcmVtaXNlcyB9ID0ganNvbjtcblxuICBjb25zdCB7IFByZW1pc2UgfSA9IG9udG9sb2d5LFxuICAgICAgICBwcmVtaXNlc0pTT04gPSBwcmVtaXNlczsgIC8vL1xuXG4gIHByZW1pc2VzID0gcHJlbWlzZXNKU09OLm1hcCgocHJlbWlzZUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gcHJlbWlzZUpTT04sIC8vL1xuICAgICAgICAgIHByZW1pc2UgPSBQcmVtaXNlLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHByZW1pc2U7XG4gIH0pO1xuXG4gIHJldHVybiBwcmVtaXNlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRoZW9yZW1zRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyB0aGVvcmVtcyB9ID0ganNvbjtcblxuICBjb25zdCB7IFRoZW9yZW0gfSA9IG9udG9sb2d5LFxuICAgICAgICB0aGVvcmVtc0pTT04gPSB0aGVvcmVtczsgLy8vXG5cbiAgdGhlb3JlbXMgPSB0aGVvcmVtc0pTT04ubWFwKCh0aGVvcmVtSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSB0aGVvcmVtSlNPTiwgIC8vL1xuICAgICAgICAgIHRoZW9yZW0gPSBUaGVvcmVtLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHRoZW9yZW07XG4gIH0pO1xuXG4gIHJldHVybiB0aGVvcmVtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgdmFyaWFibGVzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgVmFyaWFibGUgfSA9IG9udG9sb2d5LFxuICAgICAgICB2YXJpYWJsZXNKU09OID0gdmFyaWFibGVzOyAvLy9cblxuICB2YXJpYWJsZXMgPSB2YXJpYWJsZXNKU09OLm1hcCgodmFyaWFibGVKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHZhcmlhYmxlSlNPTiwgIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH0pO1xuXG4gIHJldHVybiB2YXJpYWJsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9wZXJ0aWVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBwcm9wZXJ0aWVzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgUHJvcGVydHkgfSA9IG9udG9sb2d5LFxuICAgICAgICBwcm9wZXJ0aWVzSlNPTiA9IHByb3BlcnRpZXM7IC8vL1xuXG4gIHByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzSlNPTi5tYXAoKHByb3BlcnR5SlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBwcm9wZXJ0eUpTT04sICAvLy9cbiAgICAgICAgICBwcm9wZXJ0eSA9IFByb3BlcnR5LmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9KTtcblxuICByZXR1cm4gcHJvcGVydGllcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cGVyVHlwZXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgc3VwZXJUeXBlczogc3VwZXJUeXBlc0pTT04gfSA9IGpzb247XG5cbiAgY29uc3Qgc3VwZXJUeXBlcyA9IHN1cGVyVHlwZXNKU09OLm1hcCgoc3VwZXJUeXBlSlNPTikgPT4ge1xuICAgICAgICAgIGNvbnN0IGpzb24gPSBzdXBlclR5cGVKU09OLCAgLy8vXG4gICAgICAgICAgICAgICAgeyBuYW1lLCBwcmVmaXhOYW1lIH0gPSBqc29uLFxuICAgICAgICAgICAgICAgIG5vbWluYWxTdXBlclR5cGVOYW1lID0gKHByZWZpeE5hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7cHJlZml4TmFtZX0ke25hbWV9YCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsIC8vL1xuICAgICAgICAgICAgICAgIHN1cGVyVHlwZSA9IGNvbnRleHQuZmluZFR5cGVCeU5vbWluYWxUeXBlTmFtZShub21pbmFsU3VwZXJUeXBlTmFtZSk7XG5cbiAgICAgICAgICByZXR1cm4gc3VwZXJUeXBlO1xuICAgICAgICB9KTtcblxuICByZXR1cm4gc3VwZXJUeXBlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh5cG90aGVzZXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IGh5cG90aGVzZXMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBIeXBvdGhlc2lzIH0gPSBvbnRvbG9neSxcbiAgICAgICAgaHlwb3RoZXNlc0pTT04gPSBoeXBvdGhlc2VzOyAgLy8vXG5cbiAgaHlwb3RoZXNlcyA9IGh5cG90aGVzZXNKU09OLm1hcCgoaHlwb3RoZXNpc0pTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gaHlwb3RoZXNpc0pTT04sIC8vL1xuICAgICAgICAgIGh5cG90aGVzaXMgPSBIeXBvdGhlc2lzLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGh5cG90aGVzaXM7XG4gIH0pO1xuXG4gIHJldHVybiBoeXBvdGhlc2VzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyYW1ldGVyc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgcGFyYW1ldGVycyB9ID0ganNvbjtcblxuICBjb25zdCB7IFBhcmFtZXRlciB9ID0gb250b2xvZ3ksXG4gICAgICAgIHBhcmFtZXRlcnNKU09OID0gcGFyYW1ldGVyczsgLy8vXG5cbiAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnNKU09OLm1hcCgocGFyYW1ldGVySlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBwYXJhbWV0ZXJKU09OLCAgLy8vXG4gICAgICAgICAgcGFyYW1ldGVyID0gUGFyYW1ldGVyLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHBhcmFtZXRlcjtcbiAgfSk7XG5cbiAgcmV0dXJuIHBhcmFtZXRlcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25qZWN0dXJlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgY29uamVjdHVyZXMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBDb25qZWN0dXJlIH0gPSBvbnRvbG9neSxcbiAgICAgICAgY29uamVjdHVyZXNKU09OID0gY29uamVjdHVyZXM7IC8vL1xuXG4gIGNvbmplY3R1cmVzID0gY29uamVjdHVyZXNKU09OLm1hcCgoY29uamVjdHVyZUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gY29uamVjdHVyZUpTT04sICAvLy9cbiAgICAgICAgICBjb25qZWN0dXJlID0gQ29uamVjdHVyZS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBjb25qZWN0dXJlO1xuICB9KTtcblxuICByZXR1cm4gY29uamVjdHVyZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5hdG9yc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgY29tYmluYXRvcnMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBDb21iaW5hdG9yIH0gPSBvbnRvbG9neSxcbiAgICAgICAgY29tYmluYXRvcnNKU09OID0gY29tYmluYXRvcnM7IC8vL1xuXG4gIGNvbWJpbmF0b3JzID0gY29tYmluYXRvcnNKU09OLm1hcCgoY29tYmluYXRvckpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gY29tYmluYXRvckpTT04sICAvLy9cbiAgICAgICAgICBjb21iaW5hdG9yID0gQ29tYmluYXRvci5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yO1xuICB9KTtcblxuICByZXR1cm4gY29tYmluYXRvcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0eXBlUHJlZml4ZXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IHR5cGVQcmVmaXhlcyB9ID0ganNvbjtcblxuICBjb25zdCB7IFR5cGVQcmVmaXggfSA9IG9udG9sb2d5LFxuICAgICAgICB0eXBlUHJlZml4ZXNKU09OID0gdHlwZVByZWZpeGVzOyAvLy9cblxuICB0eXBlUHJlZml4ZXMgPSB0eXBlUHJlZml4ZXNKU09OLm1hcCgodHlwZVByZWZpeEpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gdHlwZVByZWZpeEpTT04sICAvLy9cbiAgICAgICAgICB0eXBlUHJlZml4ID0gVHlwZVByZWZpeC5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB0eXBlUHJlZml4O1xuICB9KTtcblxuICByZXR1cm4gdHlwZVByZWZpeGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0b3JzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBjb25zdHJ1Y3RvcnMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBDb25zdHJ1Y3RvciB9ID0gb250b2xvZ3ksXG4gICAgICAgIGNvbnN0cnVjdG9yc0pTT04gPSBjb25zdHJ1Y3RvcnM7IC8vL1xuXG4gIGNvbnN0cnVjdG9ycyA9IGNvbnN0cnVjdG9yc0pTT04ubWFwKChjb25zdHJ1Y3RvckpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gY29uc3RydWN0b3JKU09OLCAgLy8vXG4gICAgICAgICAgY29uc3RydWN0b3IgPSBDb25zdHJ1Y3Rvci5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9ycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF0aGVvcmVtc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgbWV0YXRoZW9yZW1zIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgTWV0YXRoZW9yZW0gfSA9IG9udG9sb2d5LFxuICAgICAgICBtZXRhdGhlb3JlbXNKU09OID0gbWV0YXRoZW9yZW1zOyAvLy9cblxuICBtZXRhdGhlb3JlbXMgPSBtZXRhdGhlb3JlbXNKU09OLm1hcCgobWV0YXRoZW9yZW1KU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IG1ldGF0aGVvcmVtSlNPTiwgIC8vL1xuICAgICAgICAgIG1ldGF0aGVvcmVtID0gTWV0YXRoZW9yZW0uZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gbWV0YXRoZW9yZW07XG4gIH0pO1xuXG4gIHJldHVybiBtZXRhdGhlb3JlbXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBwb3NpdGlvbnNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IHN1cHBvc2l0aW9ucyB9ID0ganNvbjtcblxuICBjb25zdCB7IFN1cHBvc2l0aW9uIH0gPSBvbnRvbG9neSxcbiAgICAgICAgc3VwcG9zaXRpb25zSlNPTiA9IHN1cHBvc2l0aW9uczsgIC8vL1xuXG4gIHN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9uc0pTT04ubWFwKChzdXBwb3NpdGlvbkpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gc3VwcG9zaXRpb25KU09OLCAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvbiA9IFN1cHBvc2l0aW9uLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uO1xuICB9KTtcblxuICByZXR1cm4gc3VwcG9zaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3Vic3RpdHV0aW9uc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgc3Vic3RpdHV0aW9ucyA9IFtdIH0gPSBqc29uOyAgLy8vXG5cbiAgY29uc3QgeyBTdGF0ZW1lbnRTdWJzdGl0dXRpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICBzdWJzdGl0dXRpb25zSlNPTiA9IHN1YnN0aXR1dGlvbnMsICAvLy9cbiAgICAgICAgU3Vic3RpdHV0aW9uID0gU3RhdGVtZW50U3Vic3RpdHV0aW9uOyAvLy9cblxuICBzdWJzdGl0dXRpb25zID0gc3Vic3RpdHV0aW9uc0pTT04ubWFwKChzdWJzdGl0dXRpb25KU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHN1YnN0aXR1dGlvbkpTT04sICAvLy9cbiAgICAgICAgICBzdWJzdGl0dXRpb24gPSBTdWJzdGl0dXRpb24uZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9uO1xuICB9KTtcblxuICByZXR1cm4gc3Vic3RpdHV0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IG1ldGF2YXJpYWJsZXMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBNZXRhdmFyaWFibGUgfSA9IG9udG9sb2d5LFxuICAgICAgICBtZXRhdmFyaWFibGVzSlNPTiA9IG1ldGF2YXJpYWJsZXM7IC8vL1xuXG4gIG1ldGF2YXJpYWJsZXMgPSBtZXRhdmFyaWFibGVzSlNPTi5tYXAoKG1ldGF2YXJpYWJsZUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gbWV0YXZhcmlhYmxlSlNPTiwgIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IE1ldGF2YXJpYWJsZS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGU7XG4gIH0pO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGVtbWFzRnJvbU5vdGhpbmcoKSB7XG4gIGNvbnN0IGxlbW1hcyA9IFtdO1xuXG4gIHJldHVybiBsZW1tYXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhTGVtbWFzRnJvbU5vdGhpbmcoKSB7XG4gIGNvbnN0IG1ldGFMZW1tYXMgPSBbXTtcblxuICByZXR1cm4gbWV0YUxlbW1hcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1Ub1Rlcm1KU09OKHRlcm0pIHtcbiAgY29uc3QgdGVybUpTT04gPSB0ZXJtLnRvSlNPTigpO1xuXG4gIHJldHVybiB0ZXJtSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVUb1R5cGVKU09OKHR5cGUpIHtcbiAgY29uc3QgdHlwZUpTT04gPSAodHlwZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGUudG9KU09OKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcblxuICByZXR1cm4gdHlwZUpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYWJlbFRvTGFiZWxKU09OKGxhYmVsKSB7XG4gIGNvbnN0IGxhYmVsSlNPTiA9IGxhYmVsLnRvSlNPTigpO1xuXG4gIHJldHVybiBsYWJlbEpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhVHlwZVRvTWV0YVR5cGVKU09OKG1ldGFUeXBlKSB7XG4gIGNvbnN0IG1ldGFUeXBlSlNPTiA9IChtZXRhVHlwZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFUeXBlLnRvSlNPTigpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGw7XG4gIHJldHVybiBtZXRhVHlwZUpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04oc3RhdGVtZW50KSB7XG4gIGNvbnN0IHN0YXRlbWVudEpTT04gPSAoc3RhdGVtZW50ICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudC50b0pTT04oKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcblxuICByZXR1cm4gc3RhdGVtZW50SlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZHVjdGlvblRvRGVkdWN0aW9uSlNPTihkZWR1Y3Rpb24pIHtcbiAgY29uc3QgZGVkdWN0aW9uSlNPTiA9IGRlZHVjdGlvbi50b0pTT04oKTtcblxuICByZXR1cm4gZGVkdWN0aW9uSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hdHVyZVRvU2lnbmF0dXJlSlNPTihzaWduYXR1cmUpIHtcbiAgY29uc3Qgc2lnbmF0dXJlSlNPTiA9IChzaWduYXR1cmUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmF0dXJlLnRvSlNPTigpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuXG4gIHJldHVybiBzaWduYXR1cmVKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uY2x1c2lvblRvQ29uY2x1c2lvbkpTT04oY29uY2x1c2lvbikge1xuICBjb25zdCBjb25jbHVzaW9uSlNPTiA9IGNvbmNsdXNpb24udG9KU09OKCk7XG5cbiAgcmV0dXJuIGNvbmNsdXNpb25KU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YXZhcmlhYmxlVG9NZXRhdmFyaWFibGVKU09OKG1ldGF2YXJpYWJsZSkge1xuICBjb25zdCBtZXRhdmFyaWFibGVKU09OID0gbWV0YXZhcmlhYmxlLnRvSlNPTigpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2VkdXJlQ2FsbFRvUHJvY2VkdXJlQ2FsbEpTT04ocHJvY2VkdXJlQ2FsbCkge1xuICBjb25zdCBwcm9jZWR1cmVDYWxsSlNPTiA9IChwcm9jZWR1cmVDYWxsICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZWR1cmVDYWxsLnRvSlNPTigpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcblxuICByZXR1cm4gcHJvY2VkdXJlQ2FsbEpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZWR1cmVSZWZlcmVuY2VUb1Byb2NlZHVyZVJlZmVyZW5jZUpTT04ocHJvY2VkdXJlUmVmZXJlbmNlKSB7XG4gIGNvbnN0IHByb2NlZHVyZVJlZmVyZW5jZUpTT04gPSBwcm9jZWR1cmVSZWZlcmVuY2UudG9KU09OKCk7XG5cbiAgcmV0dXJuIHByb2NlZHVyZVJlZmVyZW5jZUpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0eXBlc1RvVHlwZXNKU09OKHR5cGVzKSB7XG4gIGNvbnN0IHR5cGVzSlNPTiA9IHR5cGVzLm1hcCgodHlwZSkgPT4ge1xuICAgIGNvbnN0IHR5cGVKU09OID0gdHlwZS50b0pTT04oKTtcblxuICAgIHR5cGUgPSB0eXBlSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHR5cGVzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zVG9UZXJtc0pTT04odGVybXMpIHtcbiAgY29uc3QgdGVybXNKU09OID0gdGVybXMubWFwKCh0ZXJtKSA9PiB7XG4gICAgY29uc3QgdGVybUpTT04gPSB0ZXJtLnRvSlNPTigpO1xuXG4gICAgdGVybSA9IHRlcm1KU09OOyAvLy9cblxuICAgIHJldHVybiB0ZXJtO1xuICB9KTtcblxuICByZXR1cm4gdGVybXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcnVsZXNUb1J1bGVzSlNPTihydWxlcykge1xuICBjb25zdCBydWxlc0pTT04gPSBydWxlcy5tYXAoKHJ1bGUpID0+IHtcbiAgICBjb25zdCBydWxlSlNPTiA9IHJ1bGUudG9KU09OKCk7XG5cbiAgICBydWxlID0gcnVsZUpTT047IC8vL1xuXG4gICAgcmV0dXJuIHJ1bGU7XG4gIH0pO1xuXG4gIHJldHVybiBydWxlc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmcmFtZXNUb0ZyYW1lc0pTT04oZnJhbWVzKSB7XG4gIGNvbnN0IGZyYW1lc0pTT04gPSBmcmFtZXMubWFwKChmcmFtZSkgPT4ge1xuICAgIGNvbnN0IGZyYW1lSlNPTiA9IGZyYW1lLnRvSlNPTigpO1xuXG4gICAgZnJhbWUgPSBmcmFtZUpTT047IC8vL1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9KTtcblxuICByZXR1cm4gZnJhbWVzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhYmVsc1RvTGFiZWxzSlNPTihsYWJlbHMpIHtcbiAgY29uc3QgbGFiZWxzSlNPTiA9IGxhYmVscy5tYXAoKGxhYmVsKSA9PiB7XG4gICAgY29uc3QgbGFiZWxKU09OID0gbGFiZWwudG9KU09OKCk7XG5cbiAgICByZXR1cm4gbGFiZWxKU09OO1xuICB9KTtcblxuICByZXR1cm4gbGFiZWxzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF4aW9tc1RvQXhpb21zSlNPTihheGlvbXMpIHtcbiAgY29uc3QgYXhpb21zSlNPTiA9IGF4aW9tcy5tYXAoKGF4aW9tKSA9PiB7XG4gICAgY29uc3QgYXhpb21KU09OID0gYXhpb20udG9KU09OKCk7XG5cbiAgICBheGlvbSA9IGF4aW9tSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gYXhpb207XG4gIH0pO1xuXG4gIHJldHVybiBheGlvbXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlbWlzZXNUb1ByZW1pc2VzSlNPTihwcmVtaXNlcykge1xuICBjb25zdCBwcmVtaXNlc0pTT04gPSBwcmVtaXNlcy5tYXAoKHByZW1pc2UpID0+IHtcbiAgICBjb25zdCBwcmVtaXNlSlNPTiA9IHByZW1pc2UudG9KU09OKCk7XG5cbiAgICByZXR1cm4gcHJlbWlzZUpTT047XG4gIH0pO1xuXG4gIHJldHVybiBwcmVtaXNlc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGVvcmVtc1RvVGhlb3JlbXNKU09OKHRoZW9yZW1zKSB7XG4gIGNvbnN0IHRoZW9yZW1zSlNPTiA9IHRoZW9yZW1zLm1hcCgodGhlb3JlbSkgPT4ge1xuICAgIGNvbnN0IHRoZW9yZW1KU09OID0gdGhlb3JlbS50b0pTT04oKTtcblxuICAgIHRoZW9yZW0gPSB0aGVvcmVtSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gdGhlb3JlbTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRoZW9yZW1zSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlc1RvVmFyaWFibGVzSlNPTih2YXJpYWJsZXMpIHtcbiAgY29uc3QgdmFyaWFibGVzSlNPTiA9IHZhcmlhYmxlcy5tYXAoKHZhcmlhYmxlKSA9PiB7XG4gICAgY29uc3QgdmFyaWFibGVKU09OID0gdmFyaWFibGUudG9KU09OKCk7XG5cbiAgICB2YXJpYWJsZSA9IHZhcmlhYmxlSlNPTjsgIC8vL1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9KTtcblxuICByZXR1cm4gdmFyaWFibGVzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh5cG90aGVzZXNUb0h5cG90aGVzZXNKU09OKGh5cG90aGVzZXMpIHtcbiAgY29uc3QgaHlwb3RoZXNlc0pTT04gPSBoeXBvdGhlc2VzLm1hcCgoaHlwb3RoZXNpcykgPT4ge1xuICAgIGNvbnN0IGh5cG90aGVzaXNKU09OID0gaHlwb3RoZXNpcy50b0pTT04oKTtcblxuICAgIGh5cG90aGVzaXMgPSBoeXBvdGhlc2lzSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gaHlwb3RoZXNpcztcbiAgfSk7XG5cbiAgcmV0dXJuIGh5cG90aGVzZXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VwZXJUeXBlc1RvU3VwZXJUeXBlc0pTT04oc3VwZXJUeXBlcykge1xuICBjb25zdCBzdXBlclR5cGVzSlNPTiA9IHN1cGVyVHlwZXMubWFwKChzdXBlclR5cGUpID0+IHtcbiAgICBjb25zdCBzdXBlclR5cGVKU09OID0gc3VwZXJUeXBlLnRvSlNPTigpO1xuXG4gICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gc3VwZXJUeXBlO1xuICB9KTtcblxuICByZXR1cm4gc3VwZXJUeXBlc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTihwYXJhbWV0ZXJzKSB7XG4gIGNvbnN0IHBhcmFtZXRlcnNKU09OID0gcGFyYW1ldGVycy5tYXAoKHBhcmFtZXRlcikgPT4ge1xuICAgIGNvbnN0IHBhcmFtZXRlckpTT04gPSBwYXJhbWV0ZXIudG9KU09OKCk7XG5cbiAgICBwYXJhbWV0ZXIgPSBwYXJhbWV0ZXJKU09OOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyYW1ldGVyO1xuICB9KTtcblxuICByZXR1cm4gcGFyYW1ldGVyc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9wZXJ0aWVzVG9Qcm9wZXJ0aWVzSlNPTihwcm9wZXJ0aWVzKSB7XG4gIGNvbnN0IHByb3BlcnRpZXNKU09OID0gcHJvcGVydGllcy5tYXAoKHByb3BlcnR5KSA9PiB7XG4gICAgY29uc3QgcHJvcGVydHlKU09OID0gcHJvcGVydHkudG9KU09OKCk7XG5cbiAgICBwcm9wZXJ0eSA9IHByb3BlcnR5SlNPTjsgIC8vL1xuXG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9KTtcblxuICByZXR1cm4gcHJvcGVydGllc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0eXBlUHJlZml4ZXNUb1R5cGVQcmVmaXhlc0pTT04odHlwZVByZWZpeGVzKSB7XG4gIGNvbnN0IHR5cGVQcmVmaXhlc0pTT04gPSB0eXBlUHJlZml4ZXMubWFwKCh0eXBlUHJlZml4KSA9PiB7XG4gICAgY29uc3QgdHlwZVByZWZpeEpTT04gPSB0eXBlUHJlZml4LnRvSlNPTigpO1xuXG4gICAgdHlwZVByZWZpeCA9IHR5cGVQcmVmaXhKU09OOyAvLy9cblxuICAgIHJldHVybiB0eXBlUHJlZml4O1xuICB9KTtcblxuICByZXR1cm4gdHlwZVByZWZpeGVzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmplY3R1cmVzVG9Db25qZWN0dXJlc0pTT04oY29uamVjdHVyZXMpIHtcbiAgY29uc3QgY29uamVjdHVyZXNKU09OID0gY29uamVjdHVyZXMubWFwKChjb25qZWN0dXJlKSA9PiB7XG4gICAgY29uc3QgY29uamVjdHVyZUpTT04gPSBjb25qZWN0dXJlLnRvSlNPTigpO1xuXG4gICAgY29uamVjdHVyZSA9IGNvbmplY3R1cmVKU09OOyAvLy9cblxuICAgIHJldHVybiBjb25qZWN0dXJlO1xuICB9KTtcblxuICByZXR1cm4gY29uamVjdHVyZXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tYmluYXRvcnNUb0NvbWJpbmF0b3JzSlNPTihjb21iaW5hdG9ycykge1xuICBjb25zdCBjb21iaW5hdG9yc0pTT04gPSBjb21iaW5hdG9ycy5tYXAoKGNvbWJpbmF0b3IpID0+IHtcbiAgICBjb25zdCBjb21iaW5hdG9ySlNPTiA9IGNvbWJpbmF0b3IudG9KU09OKCk7XG5cbiAgICBjb21iaW5hdG9yID0gY29tYmluYXRvckpTT047IC8vL1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gIH0pO1xuXG4gIHJldHVybiBjb21iaW5hdG9yc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBwb3NpdGlvbnNUb1N1cHBvc2l0aW9uc0pTT04oc3VwcG9zaXRpb25zKSB7XG4gIGNvbnN0IHN1cHBvc2l0aW9uc0pTT04gPSBzdXBwb3NpdGlvbnMubWFwKChzdXBwb3NpdGlvbikgPT4ge1xuICAgIGNvbnN0IHN1cHBvc2l0aW9uSlNPTiA9IHN1cHBvc2l0aW9uLnRvSlNPTigpO1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uSlNPTjtcbiAgfSk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnNUb0NvbnN0cnVjdG9yc0pTT04oY29uc3RydWN0b3JzKSB7XG4gIGNvbnN0IGNvbnN0cnVjdG9yc0pTT04gPSBjb25zdHJ1Y3RvcnMubWFwKChjb25zdHJ1Y3RvcikgPT4ge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9ySlNPTiA9IGNvbnN0cnVjdG9yLnRvSlNPTigpO1xuXG4gICAgY29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvckpTT047ICAvLy9cblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdGhlb3JlbXNUb01ldGF0aGVvcmVtc0pTT04obWV0YXRoZW9yZW1zKSB7XG4gIGNvbnN0IG1ldGF0aGVvcmVtc0pTT04gPSBtZXRhdGhlb3JlbXMubWFwKChtZXRhdGhlb3JlbSkgPT4ge1xuICAgIGNvbnN0IG1ldGF0aGVvcmVtSlNPTiA9IG1ldGF0aGVvcmVtLnRvSlNPTigpO1xuXG4gICAgbWV0YXRoZW9yZW0gPSBtZXRhdGhlb3JlbUpTT047IC8vL1xuXG4gICAgcmV0dXJuIG1ldGF0aGVvcmVtO1xuICB9KTtcblxuICByZXR1cm4gbWV0YXRoZW9yZW1zSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YnN0aXR1dGlvbnNUb1N1YnN0aXR1dGlvbnNKU09OKHN1YnN0aXR1dGlvbnMpIHtcbiAgY29uc3Qgc3Vic3RpdHV0aW9uc0pTT04gPSBzdWJzdGl0dXRpb25zLm1hcFN1YnN0aXR1dGlvbigoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uSlNPTiA9IHN1YnN0aXR1dGlvbi50b0pTT04oKTtcblxuICAgIHJldHVybiBzdWJzdGl0dXRpb25KU09OO1xuICB9KTtcblxuICByZXR1cm4gc3Vic3RpdHV0aW9uc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVzVG9NZXRhdmFyaWFibGVzSlNPTihtZXRhdmFyaWFibGVzKSB7XG4gIGNvbnN0IG1ldGF2YXJpYWJsZXNKU09OID0gbWV0YXZhcmlhYmxlcy5tYXAoKG1ldGF2YXJpYWJsZSkgPT4ge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZUpTT04gPSBtZXRhdmFyaWFibGUudG9KU09OKCk7XG5cbiAgICBtZXRhdmFyaWFibGUgPSBtZXRhdmFyaWFibGVKU09OOyAgLy8vXG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlO1xuICB9KTtcblxuICByZXR1cm4gbWV0YXZhcmlhYmxlc0pTT047XG59XG4iXSwibmFtZXMiOlsiYXhpb21zRnJvbUpTT04iLCJheGlvbXNUb0F4aW9tc0pTT04iLCJjb21iaW5hdG9yc0Zyb21KU09OIiwiY29tYmluYXRvcnNUb0NvbWJpbmF0b3JzSlNPTiIsImNvbmNsdXNpb25Gcm9tSlNPTiIsImNvbmNsdXNpb25Ub0NvbmNsdXNpb25KU09OIiwiY29uamVjdHVyZXNGcm9tSlNPTiIsImNvbmplY3R1cmVzVG9Db25qZWN0dXJlc0pTT04iLCJjb25zdHJ1Y3RvcnNGcm9tSlNPTiIsImNvbnN0cnVjdG9yc1RvQ29uc3RydWN0b3JzSlNPTiIsImRlZHVjdGlvbkZyb21KU09OIiwiZGVkdWN0aW9uVG9EZWR1Y3Rpb25KU09OIiwiZnJhbWVzRnJvbUpTT04iLCJmcmFtZXNUb0ZyYW1lc0pTT04iLCJoeXBvdGhlc2VzRnJvbUpTT04iLCJoeXBvdGhlc2VzVG9IeXBvdGhlc2VzSlNPTiIsImxhYmVsRnJvbUpTT04iLCJsYWJlbFRvTGFiZWxKU09OIiwibGFiZWxzRnJvbUpTT04iLCJsYWJlbHNUb0xhYmVsc0pTT04iLCJsZW1tYXNGcm9tTm90aGluZyIsIm1ldGFMZW1tYXNGcm9tTm90aGluZyIsIm1ldGFUeXBlRnJvbUpTT04iLCJtZXRhVHlwZVRvTWV0YVR5cGVKU09OIiwibWV0YXRoZW9yZW1zRnJvbUpTT04iLCJtZXRhdGhlb3JlbXNUb01ldGF0aGVvcmVtc0pTT04iLCJtZXRhdmFyaWFibGVGcm9tSlNPTiIsIm1ldGF2YXJpYWJsZVRvTWV0YXZhcmlhYmxlSlNPTiIsIm1ldGF2YXJpYWJsZXNGcm9tSlNPTiIsIm1ldGF2YXJpYWJsZXNUb01ldGF2YXJpYWJsZXNKU09OIiwicGFyYW1ldGVyc0Zyb21KU09OIiwicGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04iLCJwcmVtaXNlc0Zyb21KU09OIiwicHJlbWlzZXNUb1ByZW1pc2VzSlNPTiIsInByb2NlZHVyZUNhbGxGcm9tSlNPTiIsInByb2NlZHVyZUNhbGxUb1Byb2NlZHVyZUNhbGxKU09OIiwicHJvY2VkdXJlUmVmZXJlbmNlRnJvbUpTT04iLCJwcm9jZWR1cmVSZWZlcmVuY2VUb1Byb2NlZHVyZVJlZmVyZW5jZUpTT04iLCJwcm9wZXJ0aWVzRnJvbUpTT04iLCJwcm9wZXJ0aWVzVG9Qcm9wZXJ0aWVzSlNPTiIsInJ1bGVzRnJvbUpTT04iLCJydWxlc1RvUnVsZXNKU09OIiwic2lnbmF0dXJlRnJvbUpTT04iLCJzaWduYXR1cmVUb1NpZ25hdHVyZUpTT04iLCJzdGF0ZW1lbnRGcm9tSlNPTiIsInN0YXRlbWVudFRvU3RhdGVtZW50SlNPTiIsInN1YnN0aXR1dGlvbnNGcm9tSlNPTiIsInN1YnN0aXR1dGlvbnNUb1N1YnN0aXR1dGlvbnNKU09OIiwic3VwZXJUeXBlc0Zyb21KU09OIiwic3VwZXJUeXBlc1RvU3VwZXJUeXBlc0pTT04iLCJzdXBwb3NpdGlvbnNGcm9tSlNPTiIsInN1cHBvc2l0aW9uc1RvU3VwcG9zaXRpb25zSlNPTiIsInRlcm1Gcm9tSlNPTiIsInRlcm1Ub1Rlcm1KU09OIiwidGVybXNGcm9tSlNPTiIsInRlcm1zVG9UZXJtc0pTT04iLCJ0aGVvcmVtc0Zyb21KU09OIiwidGhlb3JlbXNUb1RoZW9yZW1zSlNPTiIsInR5cGVGcm9tSlNPTiIsInR5cGVQcmVmaXhlc0Zyb21KU09OIiwidHlwZVByZWZpeGVzVG9UeXBlUHJlZml4ZXNKU09OIiwidHlwZVRvVHlwZUpTT04iLCJ0eXBlc0Zyb21KU09OIiwidHlwZXNUb1R5cGVzSlNPTiIsInZhcmlhYmxlc0Zyb21KU09OIiwidmFyaWFibGVzVG9WYXJpYWJsZXNKU09OIiwianNvbiIsImNvbnRleHQiLCJ0ZXJtIiwidGVybUpTT04iLCJUZXJtIiwib250b2xvZ3kiLCJmcm9tSlNPTiIsInR5cGUiLCJuYW1lIiwicHJlZml4TmFtZSIsIm5vbWluYWxUeXBlTmFtZSIsImZpbmRUeXBlQnlOb21pbmFsVHlwZU5hbWUiLCJtZXRhVHlwZSIsIm1ldGFUeXBlTmFtZSIsImZpbmRNZXRhVHlwZUJ5TWV0YVR5cGVOYW1lIiwic3RhdGVtZW50IiwiU3RhdGVtZW50Iiwic3RhdGVtZW50SlNPTiIsImRlZHVjdGlvbiIsIkRlZHVjdGlvbiIsImRlZHVjdGlvbkpTT04iLCJzaWduYXR1cmUiLCJTaWduYXR1cmUiLCJzaWduYXR1cmVKU09OIiwiY29uY2x1c2lvbiIsIkNvbmNsdXNpb24iLCJjb25jbHVzaW9uSlNPTiIsIm1ldGF2YXJpYWJsZSIsIk1ldGF2YXJpYWJsZSIsIm1ldGF2YXJpYWJsZUpTT04iLCJwcm9jZWR1cmVDYWxsIiwiUHJvY2VkdXJlQ2FsbCIsInByb2NlZHVyZUNhbGxKU09OIiwicHJvY2VkdXJlUmVmZXJlbmNlIiwiUHJvY2VkdXJlUmVmZXJlbmNlIiwicHJvY2VkdXJlUmVmZXJlbmNlSlNPTiIsInR5cGVzIiwidHlwZXNKU09OIiwiVHlwZSIsImZvckVhY2giLCJ0eXBlSlNPTiIsInB1c2giLCJ0ZXJtcyIsInRlcm1zSlNPTiIsIm1hcCIsInJ1bGVzIiwiUnVsZSIsInJ1bGVzSlNPTiIsInJ1bGVKU09OIiwicnVsZSIsImxhYmVsIiwiTGFiZWwiLCJsYWJlbEpTT04iLCJmcmFtZXMiLCJGcmFtZSIsImZyYW1lc0pTT04iLCJmcmFtZUpTT04iLCJmcmFtZSIsImxhYmVscyIsImxhYmVsc0pTT04iLCJheGlvbXMiLCJBeGlvbSIsImF4aW9tc0pTT04iLCJheGlvbUpTT04iLCJheGlvbSIsInByZW1pc2VzIiwiUHJlbWlzZSIsInByZW1pc2VzSlNPTiIsInByZW1pc2VKU09OIiwicHJlbWlzZSIsInRoZW9yZW1zIiwiVGhlb3JlbSIsInRoZW9yZW1zSlNPTiIsInRoZW9yZW1KU09OIiwidGhlb3JlbSIsInZhcmlhYmxlcyIsIlZhcmlhYmxlIiwidmFyaWFibGVzSlNPTiIsInZhcmlhYmxlSlNPTiIsInZhcmlhYmxlIiwicHJvcGVydGllcyIsIlByb3BlcnR5IiwicHJvcGVydGllc0pTT04iLCJwcm9wZXJ0eUpTT04iLCJwcm9wZXJ0eSIsInN1cGVyVHlwZXMiLCJzdXBlclR5cGVzSlNPTiIsInN1cGVyVHlwZUpTT04iLCJub21pbmFsU3VwZXJUeXBlTmFtZSIsInN1cGVyVHlwZSIsImh5cG90aGVzZXMiLCJIeXBvdGhlc2lzIiwiaHlwb3RoZXNlc0pTT04iLCJoeXBvdGhlc2lzSlNPTiIsImh5cG90aGVzaXMiLCJwYXJhbWV0ZXJzIiwiUGFyYW1ldGVyIiwicGFyYW1ldGVyc0pTT04iLCJwYXJhbWV0ZXJKU09OIiwicGFyYW1ldGVyIiwiY29uamVjdHVyZXMiLCJDb25qZWN0dXJlIiwiY29uamVjdHVyZXNKU09OIiwiY29uamVjdHVyZUpTT04iLCJjb25qZWN0dXJlIiwiY29tYmluYXRvcnMiLCJDb21iaW5hdG9yIiwiY29tYmluYXRvcnNKU09OIiwiY29tYmluYXRvckpTT04iLCJjb21iaW5hdG9yIiwidHlwZVByZWZpeGVzIiwiVHlwZVByZWZpeCIsInR5cGVQcmVmaXhlc0pTT04iLCJ0eXBlUHJlZml4SlNPTiIsInR5cGVQcmVmaXgiLCJjb25zdHJ1Y3RvcnMiLCJDb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yc0pTT04iLCJjb25zdHJ1Y3RvckpTT04iLCJjb25zdHJ1Y3RvciIsIm1ldGF0aGVvcmVtcyIsIk1ldGF0aGVvcmVtIiwibWV0YXRoZW9yZW1zSlNPTiIsIm1ldGF0aGVvcmVtSlNPTiIsIm1ldGF0aGVvcmVtIiwic3VwcG9zaXRpb25zIiwiU3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvbnNKU09OIiwic3VwcG9zaXRpb25KU09OIiwic3VwcG9zaXRpb24iLCJzdWJzdGl0dXRpb25zIiwiU3RhdGVtZW50U3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uc0pTT04iLCJTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25KU09OIiwic3Vic3RpdHV0aW9uIiwibWV0YXZhcmlhYmxlcyIsIm1ldGF2YXJpYWJsZXNKU09OIiwibGVtbWFzIiwibWV0YUxlbW1hcyIsInRvSlNPTiIsIm1ldGFUeXBlSlNPTiIsIm1hcFN1YnN0aXR1dGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBNk9nQkE7ZUFBQUE7O1FBbVpBQztlQUFBQTs7UUFsUUFDO2VBQUFBOztRQXdYQUM7ZUFBQUE7O1FBenBCQUM7ZUFBQUE7O1FBK2NBQztlQUFBQTs7UUE5TEFDO2VBQUFBOztRQTRYQUM7ZUFBQUE7O1FBNVVBQztlQUFB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
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "metavariableNameFromMetavariableNode", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return metavariableNameFromMetavariableNode;
9
+ }
10
+ });
11
+ var _query = require("../utilities/query");
12
+ var metavariableNameNodeQuery = (0, _query.nodeQuery)("/metavariable/@name!");
13
+ function metavariableNameFromMetavariableNode(metavariableNode) {
14
+ var metavariableNameTerminalNode = metavariableNameNodeQuery(metavariableNode), metavariableNameTerminalNodeContent = metavariableNameTerminalNode.getContent(), metavariableName = metavariableNameTerminalNodeContent; ///
15
+ return metavariableName;
16
+ }
17
+
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGF2YXJpYWJsZU5hbWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXZhcmlhYmxlL0BuYW1lIVwiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGUgPSBtZXRhdmFyaWFibGVOYW1lTm9kZVF1ZXJ5KG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICBtZXRhdmFyaWFibGVOYW1lVGVybWluYWxOb2RlQ29udGVudCA9IG1ldGF2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZUNvbnRlbnQ7IC8vL1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVOYW1lO1xufVxuIl0sIm5hbWVzIjpbIm1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5hbWVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZSIsIm1ldGF2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGVDb250ZW50IiwiZ2V0Q29udGVudCIsIm1ldGF2YXJpYWJsZU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1nQkE7OztlQUFBQTs7O3FCQUpVO0FBRTFCLElBQU1DLDRCQUE0QkMsSUFBQUEsZ0JBQVMsRUFBQztBQUVyQyxTQUFTRixxQ0FBcUNHLGdCQUFnQjtJQUNuRSxJQUFNQywrQkFBK0JILDBCQUEwQkUsbUJBQ3pERSxzQ0FBc0NELDZCQUE2QkUsVUFBVSxJQUM3RUMsbUJBQW1CRixxQ0FBcUMsR0FBRztJQUVqRSxPQUFPRTtBQUNUIn0=
@@ -58,8 +58,8 @@ function statementFromStatementAndSubstitutions(statement, substitutions, contex
58
58
  statement = null; ///
59
59
  if (metavariable !== null) {
60
60
  var substitution;
61
- var TermSubstitution = _ontology.default.TermSubstitution, FrameSubstitution = _ontology.default.FrameSubstitution, termSubstitution = TermSubstitution.fromStatementNode(statementNode, context), frameSubstitution = FrameSubstitution.fromStatementNode(statementNode, context);
62
- substitution = termSubstitution || frameSubstitution;
61
+ var TermSubstitution = _ontology.default.TermSubstitution, FrameSubstitution = _ontology.default.FrameSubstitution;
62
+ substitution = TermSubstitution.fromStatement(statement, context) || FrameSubstitution.fromStatement(statement, context);
63
63
  substitution = substitutions.findSubstitutionByMetavariableAndSubstitution(metavariable, substitution); ///
64
64
  if (substitution !== null) {
65
65
  statement = substitution.getStatement();
@@ -69,4 +69,4 @@ function statementFromStatementAndSubstitutions(statement, substitutions, contex
69
69
  return statement;
70
70
  }
71
71
 
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3Vic3RpdHV0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG9udG9sb2d5IGZyb20gXCIuLi9vbnRvbG9neVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gdGVybUZyb21UZXJtQW5kU3Vic3RpdHV0aW9ucyh0ZXJtLCBzdWJzdGl0dXRpb25zLCBjb250ZXh0KSB7XG4gIGlmICh0ZXJtICE9PSBudWxsKSB7XG4gICAgY29uc3QgeyBWYXJpYWJsZSB9ID0gb250b2xvZ3ksXG4gICAgICAgICAgdGVybU5vZGUgPSB0ZXJtLmdldE5vZGUoKSxcbiAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21UZXJtTm9kZSh0ZXJtTm9kZSwgY29udGV4dCk7XG5cbiAgICB0ZXJtID0gbnVsbDsgIC8vL1xuXG4gICAgaWYgKHZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmRTdWJzdGl0dXRpb25CeVZhcmlhYmxlKHZhcmlhYmxlKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgICB0ZXJtID0gc3Vic3RpdHV0aW9uLmdldFRlcm0oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGVybTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyYW1lRnJvbUZyYW1lQW5kU3Vic3RpdHV0aW9ucyhmcmFtZSwgc3Vic3RpdHV0aW9ucywgY29udGV4dCkge1xuICBpZiAoZnJhbWUgIT09IG51bGwpIHtcbiAgICBjb25zdCB7IE1ldGF2YXJpYWJsZSB9ID0gb250b2xvZ3ksXG4gICAgICAgICAgZnJhbWVOb2RlID0gZnJhbWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IE1ldGF2YXJpYWJsZS5mcm9tRnJhbWVOb2RlKGZyYW1lTm9kZSwgY29udGV4dCk7XG5cbiAgICBmcmFtZSA9IG51bGw7IC8vL1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgbGV0IHN1YnN0aXR1dGlvbiA9IG51bGw7XG5cbiAgICAgIHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZmluZFN1YnN0aXR1dGlvbkJ5TWV0YXZhcmlhYmxlQW5kU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZSwgc3Vic3RpdHV0aW9uKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBmcmFtZSA9IHN1YnN0aXR1dGlvbi5nZXRGcmFtZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmcmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlbWVudEZyb21TdGF0ZW1lbnRBbmRTdWJzdGl0dXRpb25zKHN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgY29udGV4dCkge1xuICBpZiAoc3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgY29uc3QgeyBNZXRhdmFyaWFibGUgfSA9IG9udG9sb2d5LFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IE1ldGF2YXJpYWJsZS5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBjb250ZXh0KTtcblxuICAgIHN0YXRlbWVudCA9IG51bGw7IC8vL1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgbGV0IHN1YnN0aXR1dGlvbjtcblxuICAgICAgY29uc3QgeyBUZXJtU3Vic3RpdHV0aW9uLCBGcmFtZVN1YnN0aXR1dGlvbiB9ID0gb250b2xvZ3ksXG4gICAgICAgICAgICB0ZXJtU3Vic3RpdHV0aW9uID0gVGVybVN1YnN0aXR1dGlvbi5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIGZyYW1lU3Vic3RpdHV0aW9uID0gRnJhbWVTdWJzdGl0dXRpb24uZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgICAgIHN1YnN0aXR1dGlvbiA9ICh0ZXJtU3Vic3RpdHV0aW9uIHx8IGZyYW1lU3Vic3RpdHV0aW9uKTtcblxuICAgICAgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9ucy5maW5kU3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVBbmRTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlLCBzdWJzdGl0dXRpb24pOyAvLy9cblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBzdGF0ZW1lbnQgPSBzdWJzdGl0dXRpb24uZ2V0U3RhdGVtZW50KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudDtcbn1cbiJdLCJuYW1lcyI6WyJmcmFtZUZyb21GcmFtZUFuZFN1YnN0aXR1dGlvbnMiLCJzdGF0ZW1lbnRGcm9tU3RhdGVtZW50QW5kU3Vic3RpdHV0aW9ucyIsInRlcm1Gcm9tVGVybUFuZFN1YnN0aXR1dGlvbnMiLCJ0ZXJtIiwic3Vic3RpdHV0aW9ucyIsImNvbnRleHQiLCJWYXJpYWJsZSIsIm9udG9sb2d5IiwidGVybU5vZGUiLCJnZXROb2RlIiwidmFyaWFibGUiLCJmcm9tVGVybU5vZGUiLCJzdWJzdGl0dXRpb24iLCJmaW5kU3Vic3RpdHV0aW9uQnlWYXJpYWJsZSIsImdldFRlcm0iLCJmcmFtZSIsIk1ldGF2YXJpYWJsZSIsImZyYW1lTm9kZSIsIm1ldGF2YXJpYWJsZSIsImZyb21GcmFtZU5vZGUiLCJmaW5kU3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVBbmRTdWJzdGl0dXRpb24iLCJnZXRGcmFtZSIsInN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJmcm9tU3RhdGVtZW50Tm9kZSIsIlRlcm1TdWJzdGl0dXRpb24iLCJGcmFtZVN1YnN0aXR1dGlvbiIsInRlcm1TdWJzdGl0dXRpb24iLCJmcmFtZVN1YnN0aXR1dGlvbiIsImdldFN0YXRlbWVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBd0JnQkE7ZUFBQUE7O1FBc0JBQztlQUFBQTs7UUExQ0FDO2VBQUFBOzs7K0RBRks7Ozs7OztBQUVkLFNBQVNBLDZCQUE2QkMsSUFBSSxFQUFFQyxhQUFhLEVBQUVDLE9BQU87SUFDdkUsSUFBSUYsU0FBUyxNQUFNO1FBQ2pCLElBQU0sQUFBRUcsV0FBYUMsaUJBQVEsQ0FBckJELFVBQ0ZFLFdBQVdMLEtBQUtNLE9BQU8sSUFDdkJDLFdBQVdKLFNBQVNLLFlBQVksQ0FBQ0gsVUFBVUg7UUFFakRGLE9BQU8sTUFBTyxHQUFHO1FBRWpCLElBQUlPLGFBQWEsTUFBTTtZQUNyQixJQUFNRSxlQUFlUixjQUFjUywwQkFBMEIsQ0FBQ0g7WUFFOUQsSUFBSUUsaUJBQWlCLE1BQU07Z0JBQ3pCVCxPQUFPUyxhQUFhRSxPQUFPO1lBQzdCO1FBQ0Y7SUFDRjtJQUVBLE9BQU9YO0FBQ1Q7QUFFTyxTQUFTSCwrQkFBK0JlLEtBQUssRUFBRVgsYUFBYSxFQUFFQyxPQUFPO0lBQzFFLElBQUlVLFVBQVUsTUFBTTtRQUNsQixJQUFNLEFBQUVDLGVBQWlCVCxpQkFBUSxDQUF6QlMsY0FDRkMsWUFBWUYsTUFBTU4sT0FBTyxJQUN6QlMsZUFBZUYsYUFBYUcsYUFBYSxDQUFDRixXQUFXWjtRQUUzRFUsUUFBUSxNQUFNLEdBQUc7UUFFakIsSUFBSUcsaUJBQWlCLE1BQU07WUFDekIsSUFBSU4sZUFBZTtZQUVuQkEsZUFBZVIsY0FBY2dCLDZDQUE2QyxDQUFDRixjQUFjTjtZQUV6RixJQUFJQSxpQkFBaUIsTUFBTTtnQkFDekJHLFFBQVFILGFBQWFTLFFBQVE7WUFDL0I7UUFDRjtJQUNGO0lBRUEsT0FBT047QUFDVDtBQUVPLFNBQVNkLHVDQUF1Q3FCLFNBQVMsRUFBRWxCLGFBQWEsRUFBRUMsT0FBTztJQUN0RixJQUFJaUIsY0FBYyxNQUFNO1FBQ3RCLElBQU0sQUFBRU4sZUFBaUJULGlCQUFRLENBQXpCUyxjQUNGTyxnQkFBZ0JELFVBQVViLE9BQU8sSUFDakNTLGVBQWVGLGFBQWFRLGlCQUFpQixDQUFDRCxlQUFlbEI7UUFFbkVpQixZQUFZLE1BQU0sR0FBRztRQUVyQixJQUFJSixpQkFBaUIsTUFBTTtZQUN6QixJQUFJTjtZQUVKLElBQVFhLG1CQUF3Q2xCLGlCQUFRLENBQWhEa0Isa0JBQWtCQyxvQkFBc0JuQixpQkFBUSxDQUE5Qm1CLG1CQUNwQkMsbUJBQW1CRixpQkFBaUJELGlCQUFpQixDQUFDRCxlQUFlbEIsVUFDckV1QixvQkFBb0JGLGtCQUFrQkYsaUJBQWlCLENBQUNELGVBQWVsQjtZQUU3RU8sZUFBZ0JlLG9CQUFvQkM7WUFFcENoQixlQUFlUixjQUFjZ0IsNkNBQTZDLENBQUNGLGNBQWNOLGVBQWUsR0FBRztZQUUzRyxJQUFJQSxpQkFBaUIsTUFBTTtnQkFDekJVLFlBQVlWLGFBQWFpQixZQUFZO1lBQ3ZDO1FBQ0Y7SUFDRjtJQUVBLE9BQU9QO0FBQ1QifQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3Vic3RpdHV0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG9udG9sb2d5IGZyb20gXCIuLi9vbnRvbG9neVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gdGVybUZyb21UZXJtQW5kU3Vic3RpdHV0aW9ucyh0ZXJtLCBzdWJzdGl0dXRpb25zLCBjb250ZXh0KSB7XG4gIGlmICh0ZXJtICE9PSBudWxsKSB7XG4gICAgY29uc3QgeyBWYXJpYWJsZSB9ID0gb250b2xvZ3ksXG4gICAgICAgICAgdGVybU5vZGUgPSB0ZXJtLmdldE5vZGUoKSxcbiAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21UZXJtTm9kZSh0ZXJtTm9kZSwgY29udGV4dCk7XG5cbiAgICB0ZXJtID0gbnVsbDsgIC8vL1xuXG4gICAgaWYgKHZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmRTdWJzdGl0dXRpb25CeVZhcmlhYmxlKHZhcmlhYmxlKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgICB0ZXJtID0gc3Vic3RpdHV0aW9uLmdldFRlcm0oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGVybTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyYW1lRnJvbUZyYW1lQW5kU3Vic3RpdHV0aW9ucyhmcmFtZSwgc3Vic3RpdHV0aW9ucywgY29udGV4dCkge1xuICBpZiAoZnJhbWUgIT09IG51bGwpIHtcbiAgICBjb25zdCB7IE1ldGF2YXJpYWJsZSB9ID0gb250b2xvZ3ksXG4gICAgICAgICAgZnJhbWVOb2RlID0gZnJhbWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IE1ldGF2YXJpYWJsZS5mcm9tRnJhbWVOb2RlKGZyYW1lTm9kZSwgY29udGV4dCk7XG5cbiAgICBmcmFtZSA9IG51bGw7IC8vL1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgbGV0IHN1YnN0aXR1dGlvbiA9IG51bGw7XG5cbiAgICAgIHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZmluZFN1YnN0aXR1dGlvbkJ5TWV0YXZhcmlhYmxlQW5kU3Vic3RpdHV0aW9uKG1ldGF2YXJpYWJsZSwgc3Vic3RpdHV0aW9uKTtcblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBmcmFtZSA9IHN1YnN0aXR1dGlvbi5nZXRGcmFtZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmcmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlbWVudEZyb21TdGF0ZW1lbnRBbmRTdWJzdGl0dXRpb25zKHN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgY29udGV4dCkge1xuICBpZiAoc3RhdGVtZW50ICE9PSBudWxsKSB7XG4gICAgY29uc3QgeyBNZXRhdmFyaWFibGUgfSA9IG9udG9sb2d5LFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IE1ldGF2YXJpYWJsZS5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBjb250ZXh0KTtcblxuICAgIHN0YXRlbWVudCA9IG51bGw7IC8vL1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgbGV0IHN1YnN0aXR1dGlvbjtcblxuICAgICAgY29uc3QgeyBUZXJtU3Vic3RpdHV0aW9uLCBGcmFtZVN1YnN0aXR1dGlvbiB9ID0gb250b2xvZ3k7XG5cbiAgICAgIHN1YnN0aXR1dGlvbiA9IFRlcm1TdWJzdGl0dXRpb24uZnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpIHx8IEZyYW1lU3Vic3RpdHV0aW9uLmZyb21TdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTtcblxuICAgICAgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9ucy5maW5kU3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVBbmRTdWJzdGl0dXRpb24obWV0YXZhcmlhYmxlLCBzdWJzdGl0dXRpb24pOyAvLy9cblxuICAgICAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBzdGF0ZW1lbnQgPSBzdWJzdGl0dXRpb24uZ2V0U3RhdGVtZW50KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudDtcbn1cbiJdLCJuYW1lcyI6WyJmcmFtZUZyb21GcmFtZUFuZFN1YnN0aXR1dGlvbnMiLCJzdGF0ZW1lbnRGcm9tU3RhdGVtZW50QW5kU3Vic3RpdHV0aW9ucyIsInRlcm1Gcm9tVGVybUFuZFN1YnN0aXR1dGlvbnMiLCJ0ZXJtIiwic3Vic3RpdHV0aW9ucyIsImNvbnRleHQiLCJWYXJpYWJsZSIsIm9udG9sb2d5IiwidGVybU5vZGUiLCJnZXROb2RlIiwidmFyaWFibGUiLCJmcm9tVGVybU5vZGUiLCJzdWJzdGl0dXRpb24iLCJmaW5kU3Vic3RpdHV0aW9uQnlWYXJpYWJsZSIsImdldFRlcm0iLCJmcmFtZSIsIk1ldGF2YXJpYWJsZSIsImZyYW1lTm9kZSIsIm1ldGF2YXJpYWJsZSIsImZyb21GcmFtZU5vZGUiLCJmaW5kU3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVBbmRTdWJzdGl0dXRpb24iLCJnZXRGcmFtZSIsInN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJmcm9tU3RhdGVtZW50Tm9kZSIsIlRlcm1TdWJzdGl0dXRpb24iLCJGcmFtZVN1YnN0aXR1dGlvbiIsImZyb21TdGF0ZW1lbnQiLCJnZXRTdGF0ZW1lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQXdCZ0JBO2VBQUFBOztRQXNCQUM7ZUFBQUE7O1FBMUNBQztlQUFBQTs7OytEQUZLOzs7Ozs7QUFFZCxTQUFTQSw2QkFBNkJDLElBQUksRUFBRUMsYUFBYSxFQUFFQyxPQUFPO0lBQ3ZFLElBQUlGLFNBQVMsTUFBTTtRQUNqQixJQUFNLEFBQUVHLFdBQWFDLGlCQUFRLENBQXJCRCxVQUNGRSxXQUFXTCxLQUFLTSxPQUFPLElBQ3ZCQyxXQUFXSixTQUFTSyxZQUFZLENBQUNILFVBQVVIO1FBRWpERixPQUFPLE1BQU8sR0FBRztRQUVqQixJQUFJTyxhQUFhLE1BQU07WUFDckIsSUFBTUUsZUFBZVIsY0FBY1MsMEJBQTBCLENBQUNIO1lBRTlELElBQUlFLGlCQUFpQixNQUFNO2dCQUN6QlQsT0FBT1MsYUFBYUUsT0FBTztZQUM3QjtRQUNGO0lBQ0Y7SUFFQSxPQUFPWDtBQUNUO0FBRU8sU0FBU0gsK0JBQStCZSxLQUFLLEVBQUVYLGFBQWEsRUFBRUMsT0FBTztJQUMxRSxJQUFJVSxVQUFVLE1BQU07UUFDbEIsSUFBTSxBQUFFQyxlQUFpQlQsaUJBQVEsQ0FBekJTLGNBQ0ZDLFlBQVlGLE1BQU1OLE9BQU8sSUFDekJTLGVBQWVGLGFBQWFHLGFBQWEsQ0FBQ0YsV0FBV1o7UUFFM0RVLFFBQVEsTUFBTSxHQUFHO1FBRWpCLElBQUlHLGlCQUFpQixNQUFNO1lBQ3pCLElBQUlOLGVBQWU7WUFFbkJBLGVBQWVSLGNBQWNnQiw2Q0FBNkMsQ0FBQ0YsY0FBY047WUFFekYsSUFBSUEsaUJBQWlCLE1BQU07Z0JBQ3pCRyxRQUFRSCxhQUFhUyxRQUFRO1lBQy9CO1FBQ0Y7SUFDRjtJQUVBLE9BQU9OO0FBQ1Q7QUFFTyxTQUFTZCx1Q0FBdUNxQixTQUFTLEVBQUVsQixhQUFhLEVBQUVDLE9BQU87SUFDdEYsSUFBSWlCLGNBQWMsTUFBTTtRQUN0QixJQUFNLEFBQUVOLGVBQWlCVCxpQkFBUSxDQUF6QlMsY0FDRk8sZ0JBQWdCRCxVQUFVYixPQUFPLElBQ2pDUyxlQUFlRixhQUFhUSxpQkFBaUIsQ0FBQ0QsZUFBZWxCO1FBRW5FaUIsWUFBWSxNQUFNLEdBQUc7UUFFckIsSUFBSUosaUJBQWlCLE1BQU07WUFDekIsSUFBSU47WUFFSixJQUFRYSxtQkFBd0NsQixpQkFBUSxDQUFoRGtCLGtCQUFrQkMsb0JBQXNCbkIsaUJBQVEsQ0FBOUJtQjtZQUUxQmQsZUFBZWEsaUJBQWlCRSxhQUFhLENBQUNMLFdBQVdqQixZQUFZcUIsa0JBQWtCQyxhQUFhLENBQUNMLFdBQVdqQjtZQUVoSE8sZUFBZVIsY0FBY2dCLDZDQUE2QyxDQUFDRixjQUFjTixlQUFlLEdBQUc7WUFFM0csSUFBSUEsaUJBQWlCLE1BQU07Z0JBQ3pCVSxZQUFZVixhQUFhZ0IsWUFBWTtZQUN2QztRQUNGO0lBQ0Y7SUFFQSxPQUFPTjtBQUNUIn0=
@@ -32,7 +32,7 @@ _export(exports, {
32
32
  return unifyTermWithConstructor;
33
33
  }
34
34
  });
35
- var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
35
+ var _temporary = /*#__PURE__*/ _interop_require_default(require("../context/temporary"));
36
36
  var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../unifier/metaLevel"));
37
37
  var _metavariable = /*#__PURE__*/ _interop_require_default(require("../unifier/metavariable"));
38
38
  var _intrinsicLevel = /*#__PURE__*/ _interop_require_default(require("../unifier/intrinsicLevel"));
@@ -45,10 +45,7 @@ function _interop_require_default(obj) {
45
45
  }
46
46
  function unifyStatement(generalStatement, specificStatement, substitutions, generalContext, specificContext) {
47
47
  var statementUnifies = false;
48
- var generalStatementNode = generalStatement.getNode(), specificStatementNode = specificStatement.getNode(), generalStatementTokens = generalStatement.getTokens(), specificStatementTokens = specificStatement.getTokens();
49
- generalContext = contextFromTokens(generalStatementTokens, generalContext); ///
50
- specificContext = contextFromTokens(specificStatementTokens, specificContext); ///
51
- var generalNonTerminalNode = generalStatementNode, specificNonTerminalNode = specificStatementNode, unifiesAtMetaLevel = _metaLevel.default.unify(generalNonTerminalNode, specificNonTerminalNode, substitutions, generalContext, specificContext);
48
+ var generalStatementNode = generalStatement.getNode(), specificStatementNode = specificStatement.getNode(), generalNonTerminalNode = generalStatementNode, specificNonTerminalNode = specificStatementNode, unifiesAtMetaLevel = _metaLevel.default.unify(generalNonTerminalNode, specificNonTerminalNode, substitutions, generalContext, specificContext);
52
49
  if (unifiesAtMetaLevel) {
53
50
  statementUnifies = true;
54
51
  }
@@ -56,10 +53,7 @@ function unifyStatement(generalStatement, specificStatement, substitutions, gene
56
53
  }
57
54
  function unifySubstitution(generalSubstitution, specificSubstitution, substitutions, generalContext, specificContext) {
58
55
  var substitutionUnifies = false;
59
- var generalSubstitutionNode = generalSubstitution.getNode(), specificSubstitutionNode = specificSubstitution.getNode(), generalSubstitutionTokens = generalSubstitution.getTokens(), specificSubstitutionTokens = specificSubstitution.getTokens();
60
- generalContext = contextFromTokens(generalSubstitutionTokens, generalContext); ///
61
- specificContext = contextFromTokens(specificSubstitutionTokens, specificContext); ///
62
- var generalNonTerminalNode = generalSubstitutionNode, specificNonTerminalNode = specificSubstitutionNode, unifiesAtMetaLevel = _metaLevel.default.unify(generalNonTerminalNode, specificNonTerminalNode, substitutions, generalContext, specificContext);
56
+ var generalSubstitutionNode = generalSubstitution.getNode(), specificSubstitutionNode = specificSubstitution.getNode(), generalNonTerminalNode = generalSubstitutionNode, specificNonTerminalNode = specificSubstitutionNode, unifiesAtMetaLevel = _metaLevel.default.unify(generalNonTerminalNode, specificNonTerminalNode, substitutions, generalContext, specificContext);
63
57
  if (unifiesAtMetaLevel) {
64
58
  substitutionUnifies = true;
65
59
  }
@@ -90,10 +84,10 @@ function unifyStatementIntrinsically(generalStatement, specificStatement, substi
90
84
  }
91
85
  function unifyStatementWithCombinator(statement, combinator, assignments, stated, context) {
92
86
  var statementUnifiesWithCombinator;
93
- var statementNode = statement.getNode(), statementTokens = statement.getTokens(), combinatorStatement = combinator.getStatement(), combinatorStatementNode = combinatorStatement.getNode(), combinatorStatementTokens = combinatorStatement.getTokens();
94
- var generalContext = context, specificContext = context; ///
95
- generalContext = contextFromTokens(combinatorStatementTokens, generalContext); ///
96
- specificContext = contextFromTokens(statementTokens, specificContext); ///
87
+ var statementNode = statement.getNode(), combinatorStatement = combinator.getStatement(), combinatorStatementNode = combinatorStatement.getNode(), combinatorStatementTokens = combinatorStatement.getTokens();
88
+ var specificContext = context; ///
89
+ context = contextFromTokens(combinatorStatementTokens, context); ///
90
+ var generalContext = context; ///
97
91
  statementUnifiesWithCombinator = _statementWithCombinator.default.unify(combinatorStatementNode, statementNode, assignments, stated, generalContext, specificContext);
98
92
  return statementUnifiesWithCombinator;
99
93
  }
@@ -107,9 +101,9 @@ function unifyMetavariableIntrinsically(generalMetavariable, specificMetavariabl
107
101
  return metavariableUnifiesIntrinsically;
108
102
  }
109
103
  function contextFromTokens(tokens, context) {
110
- var localContext = _local.default.fromContextAndTokens(context, tokens);
111
- context = localContext; ///
104
+ var temporaryContext = _temporary.default.fromContextAndTokens(context, tokens);
105
+ context = temporaryContext; ///
112
106
  return context;
113
107
  }
114
108
 
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdW5pZmljYXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaW5nXCI7XG5cbmltcG9ydCBMb2NhbENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbG9jYWxcIjtcbmltcG9ydCBtZXRhTGV2ZWxVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL21ldGFMZXZlbFwiO1xuaW1wb3J0IG1ldGF2YXJpYWJsZVVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvbWV0YXZhcmlhYmxlXCI7XG5pbXBvcnQgaW50cmluc2ljTGV2ZWxVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL2ludHJpbnNpY0xldmVsXCI7XG5pbXBvcnQgdGVybVdpdGhDb25zdHJ1Y3RvclVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvdGVybVdpdGhDb25zdHJ1Y3RvclwiO1xuaW1wb3J0IHN0YXRlbWVudFdpdGhDb21iaW5hdG9yVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gdW5pZnlTdGF0ZW1lbnQoZ2VuZXJhbFN0YXRlbWVudCwgc3BlY2lmaWNTdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFVuaWZpZXMgPSBmYWxzZTtcblxuICBjb25zdCBnZW5lcmFsU3RhdGVtZW50Tm9kZSA9IGdlbmVyYWxTdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICBzcGVjaWZpY1N0YXRlbWVudE5vZGUgPSBzcGVjaWZpY1N0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgIGdlbmVyYWxTdGF0ZW1lbnRUb2tlbnMgPSBnZW5lcmFsU3RhdGVtZW50LmdldFRva2VucygpLFxuICAgICAgICBzcGVjaWZpY1N0YXRlbWVudFRva2VucyA9IHNwZWNpZmljU3RhdGVtZW50LmdldFRva2VucygpO1xuXG4gIGdlbmVyYWxDb250ZXh0ID0gY29udGV4dEZyb21Ub2tlbnMoZ2VuZXJhbFN0YXRlbWVudFRva2VucywgZ2VuZXJhbENvbnRleHQpOyAvLy9cblxuICBzcGVjaWZpY0NvbnRleHQgPSBjb250ZXh0RnJvbVRva2VucyhzcGVjaWZpY1N0YXRlbWVudFRva2Vucywgc3BlY2lmaWNDb250ZXh0KTsgIC8vL1xuXG4gIGNvbnN0IGdlbmVyYWxOb25UZXJtaW5hbE5vZGUgPSBnZW5lcmFsU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgIHNwZWNpZmljTm9uVGVybWluYWxOb2RlID0gc3BlY2lmaWNTdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIHVuaWZpZXNBdE1ldGFMZXZlbCA9IG1ldGFMZXZlbFVuaWZpZXIudW5pZnkoZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSwgc3BlY2lmaWNOb25UZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gIGlmICh1bmlmaWVzQXRNZXRhTGV2ZWwpIHtcbiAgICBzdGF0ZW1lbnRVbmlmaWVzID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5pZnlTdWJzdGl0dXRpb24oZ2VuZXJhbFN1YnN0aXR1dGlvbiwgc3BlY2lmaWNTdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpIHtcbiAgbGV0IHN1YnN0aXR1dGlvblVuaWZpZXMgPSBmYWxzZTtcblxuICBjb25zdCBnZW5lcmFsU3Vic3RpdHV0aW9uTm9kZSA9IGdlbmVyYWxTdWJzdGl0dXRpb24uZ2V0Tm9kZSgpLFxuICAgICAgICBzcGVjaWZpY1N1YnN0aXR1dGlvbk5vZGUgPSBzcGVjaWZpY1N1YnN0aXR1dGlvbi5nZXROb2RlKCksXG4gICAgICAgIGdlbmVyYWxTdWJzdGl0dXRpb25Ub2tlbnMgPSBnZW5lcmFsU3Vic3RpdHV0aW9uLmdldFRva2VucygpLFxuICAgICAgICBzcGVjaWZpY1N1YnN0aXR1dGlvblRva2VucyA9IHNwZWNpZmljU3Vic3RpdHV0aW9uLmdldFRva2VucygpO1xuXG4gIGdlbmVyYWxDb250ZXh0ID0gY29udGV4dEZyb21Ub2tlbnMoZ2VuZXJhbFN1YnN0aXR1dGlvblRva2VucywgZ2VuZXJhbENvbnRleHQpOyAvLy9cblxuICBzcGVjaWZpY0NvbnRleHQgPSBjb250ZXh0RnJvbVRva2VucyhzcGVjaWZpY1N1YnN0aXR1dGlvblRva2Vucywgc3BlY2lmaWNDb250ZXh0KTsgIC8vL1xuXG4gIGNvbnN0IGdlbmVyYWxOb25UZXJtaW5hbE5vZGUgPSBnZW5lcmFsU3Vic3RpdHV0aW9uTm9kZSwgLy8vXG4gICAgICAgIHNwZWNpZmljTm9uVGVybWluYWxOb2RlID0gc3BlY2lmaWNTdWJzdGl0dXRpb25Ob2RlLFxuICAgICAgICB1bmlmaWVzQXRNZXRhTGV2ZWwgPSBtZXRhTGV2ZWxVbmlmaWVyLnVuaWZ5KGdlbmVyYWxOb25UZXJtaW5hbE5vZGUsIHNwZWNpZmljTm9uVGVybWluYWxOb2RlLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICBpZiAodW5pZmllc0F0TWV0YUxldmVsKSB7XG4gICAgc3Vic3RpdHV0aW9uVW5pZmllcyA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gc3Vic3RpdHV0aW9uVW5pZmllcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuaWZ5TWV0YXZhcmlhYmxlKGdlbmVyYWxNZXRhdmFyaWFibGUsIHNwZWNpZmljTWV0YXZhcmlhYmxlLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSB7XG4gIGxldCBtZXRhdmFyaWFibGVVbmlmaWVzO1xuXG4gIGNvbnN0IGdlbmVyYWxNZXRhdmFyaWFibGVOb2RlID0gZ2VuZXJhbE1ldGF2YXJpYWJsZS5nZXROb2RlKCksXG4gICAgICAgIHNwZWNpZmljTWV0YXZhcmlhYmxlTm9kZSA9IHNwZWNpZmljTWV0YXZhcmlhYmxlLmdldE5vZGUoKSxcbiAgICAgICAgZ2VuZXJhbE1ldGF2YXJpYWJsZVRva2VucyA9IGdlbmVyYWxNZXRhdmFyaWFibGUuZ2V0VG9rZW5zKCksXG4gICAgICAgIHNwZWNpZmljTWV0YXZhcmlhYmxlVG9rZW5zID0gc3BlY2lmaWNNZXRhdmFyaWFibGUuZ2V0VG9rZW5zKCk7XG5cbiAgZ2VuZXJhbENvbnRleHQgPSBjb250ZXh0RnJvbVRva2VucyhnZW5lcmFsTWV0YXZhcmlhYmxlVG9rZW5zLCBnZW5lcmFsQ29udGV4dCk7IC8vL1xuXG4gIHNwZWNpZmljQ29udGV4dCA9IGNvbnRleHRGcm9tVG9rZW5zKHNwZWNpZmljTWV0YXZhcmlhYmxlVG9rZW5zLCBzcGVjaWZpY0NvbnRleHQpOyAvLy9cblxuICBtZXRhdmFyaWFibGVVbmlmaWVzID0gbWV0YXZhcmlhYmxlVW5pZmllci51bmlmeShnZW5lcmFsTWV0YXZhcmlhYmxlTm9kZSwgc3BlY2lmaWNNZXRhdmFyaWFibGVOb2RlLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVW5pZmllcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuaWZ5VGVybVdpdGhDb25zdHJ1Y3Rvcih0ZXJtLCBjb25zdHJ1Y3RvciwgY29udGV4dCkge1xuICBsZXQgdGVybVVuaWZpZXNXaXRoQ29uc3RydWN0b3I7XG5cbiAgY29uc3QgdGVybU5vZGUgPSB0ZXJtLmdldE5vZGUoKSxcbiAgICAgICAgY29uc3RydWN0b3JUZXJtID0gY29uc3RydWN0b3IuZ2V0VGVybSgpLFxuICAgICAgICBjb25zdHJ1Y3RvclRlcm1Ob2RlID0gY29uc3RydWN0b3JUZXJtLmdldE5vZGUoKTtcblxuICB0ZXJtVW5pZmllc1dpdGhDb25zdHJ1Y3RvciA9IHRlcm1XaXRoQ29uc3RydWN0b3JVbmlmaWVyLnVuaWZ5KGNvbnN0cnVjdG9yVGVybU5vZGUsIHRlcm1Ob2RlLCBjb250ZXh0KTtcblxuICByZXR1cm4gdGVybVVuaWZpZXNXaXRoQ29uc3RydWN0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bmlmeVN0YXRlbWVudEludHJpbnNpY2FsbHkoZ2VuZXJhbFN0YXRlbWVudCwgc3BlY2lmaWNTdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVVuaWZpZXNJbnRyaW5zaWNhbGx5O1xuXG4gIGNvbnN0IGdlbmVyYWxTdGF0ZW1lbnROb2RlID0gZ2VuZXJhbFN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgIHNwZWNpZmljU3RhdGVtZW50Tm9kZSA9IHNwZWNpZmljU3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgZ2VuZXJhbFN0YXRlbWVudFRva2VucyA9IGdlbmVyYWxTdGF0ZW1lbnQuZ2V0VG9rZW5zKCksXG4gICAgICAgIHNwZWNpZmljU3RhdGVtZW50VG9rZW5zID0gc3BlY2lmaWNTdGF0ZW1lbnQuZ2V0VG9rZW5zKCk7XG5cbiAgZ2VuZXJhbENvbnRleHQgPSBjb250ZXh0RnJvbVRva2VucyhnZW5lcmFsU3RhdGVtZW50VG9rZW5zLCBnZW5lcmFsQ29udGV4dCk7IC8vL1xuXG4gIHNwZWNpZmljQ29udGV4dCA9IGNvbnRleHRGcm9tVG9rZW5zKHNwZWNpZmljU3RhdGVtZW50VG9rZW5zLCBzcGVjaWZpY0NvbnRleHQpOyAvLy9cblxuICBjb25zdCBnZW5lcmFsTm9uVGVybWluYWxOb2RlID0gZ2VuZXJhbFN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSA9IHNwZWNpZmljU3RhdGVtZW50Tm9kZTsgLy8vXG5cbiAgbWV0YXZhcmlhYmxlVW5pZmllc0ludHJpbnNpY2FsbHkgPSBpbnRyaW5zaWNMZXZlbFVuaWZpZXIudW5pZnkoZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSwgc3BlY2lmaWNOb25UZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVVbmlmaWVzSW50cmluc2ljYWxseTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3Ioc3RhdGVtZW50LCBjb21iaW5hdG9yLCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRVbmlmaWVzV2l0aENvbWJpbmF0b3I7XG5cbiAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgIHN0YXRlbWVudFRva2VucyA9IHN0YXRlbWVudC5nZXRUb2tlbnMoKSxcbiAgICAgICAgY29tYmluYXRvclN0YXRlbWVudCA9IGNvbWJpbmF0b3IuZ2V0U3RhdGVtZW50KCksXG4gICAgICAgIGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlID0gY29tYmluYXRvclN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgIGNvbWJpbmF0b3JTdGF0ZW1lbnRUb2tlbnMgPSBjb21iaW5hdG9yU3RhdGVtZW50LmdldFRva2VucygpO1xuXG4gIGxldCBnZW5lcmFsQ29udGV4dCA9IGNvbnRleHQsIC8vL1xuICAgICAgc3BlY2lmaWNDb250ZXh0ID0gY29udGV4dDsgIC8vL1xuXG4gIGdlbmVyYWxDb250ZXh0ID0gY29udGV4dEZyb21Ub2tlbnMoY29tYmluYXRvclN0YXRlbWVudFRva2VucywgZ2VuZXJhbENvbnRleHQpOyAgLy8vXG5cbiAgc3BlY2lmaWNDb250ZXh0ID0gY29udGV4dEZyb21Ub2tlbnMoc3RhdGVtZW50VG9rZW5zLCBzcGVjaWZpY0NvbnRleHQpOyAgLy8vXG5cbiAgc3RhdGVtZW50VW5pZmllc1dpdGhDb21iaW5hdG9yID0gc3RhdGVtZW50V2l0aENvbWJpbmF0b3JVbmlmaWVyLnVuaWZ5KGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlLCBzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICByZXR1cm4gc3RhdGVtZW50VW5pZmllc1dpdGhDb21iaW5hdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5pZnlNZXRhdmFyaWFibGVJbnRyaW5zaWNhbGx5KGdlbmVyYWxNZXRhdmFyaWFibGUsIHNwZWNpZmljTWV0YXZhcmlhYmxlLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSB7XG4gIGxldCBtZXRhdmFyaWFibGVVbmlmaWVzSW50cmluc2ljYWxseTtcblxuICBjb25zdCBnZW5lcmFsTWV0YXZhcmlhYmxlTm9kZSA9IGdlbmVyYWxNZXRhdmFyaWFibGUuZ2V0Tm9kZSgpLFxuICAgICAgICBzcGVjaWZpY01ldGF2YXJpYWJsZU5vZGUgPSBzcGVjaWZpY01ldGF2YXJpYWJsZS5nZXROb2RlKCksXG4gICAgICAgIGdlbmVyYWxNZXRhdmFyaWFibGVUb2tlbnMgPSBnZW5lcmFsTWV0YXZhcmlhYmxlLmdldFRva2VucygpLFxuICAgICAgICBzcGVjaWZpY01ldGF2YXJpYWJsZVRva2VucyA9IHNwZWNpZmljTWV0YXZhcmlhYmxlLmdldFRva2VucygpO1xuXG4gIGdlbmVyYWxDb250ZXh0ID0gY29udGV4dEZyb21Ub2tlbnMoZ2VuZXJhbE1ldGF2YXJpYWJsZVRva2VucywgZ2VuZXJhbENvbnRleHQpOyAvLy9cblxuICBzcGVjaWZpY0NvbnRleHQgPSBjb250ZXh0RnJvbVRva2VucyhzcGVjaWZpY01ldGF2YXJpYWJsZVRva2Vucywgc3BlY2lmaWNDb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSA9IGdlbmVyYWxNZXRhdmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgc3BlY2lmaWNOb25UZXJtaW5hbE5vZGUgPSBzcGVjaWZpY01ldGF2YXJpYWJsZU5vZGU7IC8vL1xuXG4gIG1ldGF2YXJpYWJsZVVuaWZpZXNJbnRyaW5zaWNhbGx5ID0gaW50cmluc2ljTGV2ZWxVbmlmaWVyLnVuaWZ5KGdlbmVyYWxOb25UZXJtaW5hbE5vZGUsIHNwZWNpZmljTm9uVGVybWluYWxOb2RlLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVW5pZmllc0ludHJpbnNpY2FsbHk7XG59XG5cbmZ1bmN0aW9uIGNvbnRleHRGcm9tVG9rZW5zKHRva2VucywgY29udGV4dCkge1xuICBjb25zdCBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUNvbnRleHRBbmRUb2tlbnMoY29udGV4dCwgdG9rZW5zKTtcblxuICBjb250ZXh0ID0gbG9jYWxDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGNvbnRleHQ7XG59XG4iXSwibmFtZXMiOlsidW5pZnlNZXRhdmFyaWFibGUiLCJ1bmlmeU1ldGF2YXJpYWJsZUludHJpbnNpY2FsbHkiLCJ1bmlmeVN0YXRlbWVudCIsInVuaWZ5U3RhdGVtZW50SW50cmluc2ljYWxseSIsInVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3IiLCJ1bmlmeVN1YnN0aXR1dGlvbiIsInVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvciIsImdlbmVyYWxTdGF0ZW1lbnQiLCJzcGVjaWZpY1N0YXRlbWVudCIsInN1YnN0aXR1dGlvbnMiLCJnZW5lcmFsQ29udGV4dCIsInNwZWNpZmljQ29udGV4dCIsInN0YXRlbWVudFVuaWZpZXMiLCJnZW5lcmFsU3RhdGVtZW50Tm9kZSIsImdldE5vZGUiLCJzcGVjaWZpY1N0YXRlbWVudE5vZGUiLCJnZW5lcmFsU3RhdGVtZW50VG9rZW5zIiwiZ2V0VG9rZW5zIiwic3BlY2lmaWNTdGF0ZW1lbnRUb2tlbnMiLCJjb250ZXh0RnJvbVRva2VucyIsImdlbmVyYWxOb25UZXJtaW5hbE5vZGUiLCJzcGVjaWZpY05vblRlcm1pbmFsTm9kZSIsInVuaWZpZXNBdE1ldGFMZXZlbCIsIm1ldGFMZXZlbFVuaWZpZXIiLCJ1bmlmeSIsImdlbmVyYWxTdWJzdGl0dXRpb24iLCJzcGVjaWZpY1N1YnN0aXR1dGlvbiIsInN1YnN0aXR1dGlvblVuaWZpZXMiLCJnZW5lcmFsU3Vic3RpdHV0aW9uTm9kZSIsInNwZWNpZmljU3Vic3RpdHV0aW9uTm9kZSIsImdlbmVyYWxTdWJzdGl0dXRpb25Ub2tlbnMiLCJzcGVjaWZpY1N1YnN0aXR1dGlvblRva2VucyIsImdlbmVyYWxNZXRhdmFyaWFibGUiLCJzcGVjaWZpY01ldGF2YXJpYWJsZSIsIm1ldGF2YXJpYWJsZVVuaWZpZXMiLCJnZW5lcmFsTWV0YXZhcmlhYmxlTm9kZSIsInNwZWNpZmljTWV0YXZhcmlhYmxlTm9kZSIsImdlbmVyYWxNZXRhdmFyaWFibGVUb2tlbnMiLCJzcGVjaWZpY01ldGF2YXJpYWJsZVRva2VucyIsIm1ldGF2YXJpYWJsZVVuaWZpZXIiLCJ0ZXJtIiwiY29uc3RydWN0b3IiLCJjb250ZXh0IiwidGVybVVuaWZpZXNXaXRoQ29uc3RydWN0b3IiLCJ0ZXJtTm9kZSIsImNvbnN0cnVjdG9yVGVybSIsImdldFRlcm0iLCJjb25zdHJ1Y3RvclRlcm1Ob2RlIiwidGVybVdpdGhDb25zdHJ1Y3RvclVuaWZpZXIiLCJtZXRhdmFyaWFibGVVbmlmaWVzSW50cmluc2ljYWxseSIsImludHJpbnNpY0xldmVsVW5pZmllciIsInN0YXRlbWVudCIsImNvbWJpbmF0b3IiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsInN0YXRlbWVudFVuaWZpZXNXaXRoQ29tYmluYXRvciIsInN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRUb2tlbnMiLCJjb21iaW5hdG9yU3RhdGVtZW50IiwiZ2V0U3RhdGVtZW50IiwiY29tYmluYXRvclN0YXRlbWVudE5vZGUiLCJjb21iaW5hdG9yU3RhdGVtZW50VG9rZW5zIiwic3RhdGVtZW50V2l0aENvbWJpbmF0b3JVbmlmaWVyIiwidG9rZW5zIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUNvbnRleHRBbmRUb2tlbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7UUF1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
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdW5pZmljYXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaW5nXCI7XG5cbmltcG9ydCBUZW1wb3JhcnlDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L3RlbXBvcmFyeVwiO1xuaW1wb3J0IG1ldGFMZXZlbFVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvbWV0YUxldmVsXCI7XG5pbXBvcnQgbWV0YXZhcmlhYmxlVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci9tZXRhdmFyaWFibGVcIjtcbmltcG9ydCBpbnRyaW5zaWNMZXZlbFVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvaW50cmluc2ljTGV2ZWxcIjtcbmltcG9ydCB0ZXJtV2l0aENvbnN0cnVjdG9yVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci90ZXJtV2l0aENvbnN0cnVjdG9yXCI7XG5pbXBvcnQgc3RhdGVtZW50V2l0aENvbWJpbmF0b3JVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL3N0YXRlbWVudFdpdGhDb21iaW5hdG9yXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiB1bmlmeVN0YXRlbWVudChnZW5lcmFsU3RhdGVtZW50LCBzcGVjaWZpY1N0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VW5pZmllcyA9IGZhbHNlO1xuXG4gIGNvbnN0IGdlbmVyYWxTdGF0ZW1lbnROb2RlID0gZ2VuZXJhbFN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgIHNwZWNpZmljU3RhdGVtZW50Tm9kZSA9IHNwZWNpZmljU3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSA9IGdlbmVyYWxTdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgc3BlY2lmaWNOb25UZXJtaW5hbE5vZGUgPSBzcGVjaWZpY1N0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgdW5pZmllc0F0TWV0YUxldmVsID0gbWV0YUxldmVsVW5pZmllci51bmlmeShnZW5lcmFsTm9uVGVybWluYWxOb2RlLCBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgaWYgKHVuaWZpZXNBdE1ldGFMZXZlbCkge1xuICAgIHN0YXRlbWVudFVuaWZpZXMgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bmlmeVN1YnN0aXR1dGlvbihnZW5lcmFsU3Vic3RpdHV0aW9uLCBzcGVjaWZpY1N1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkge1xuICBsZXQgc3Vic3RpdHV0aW9uVW5pZmllcyA9IGZhbHNlO1xuXG4gIGNvbnN0IGdlbmVyYWxTdWJzdGl0dXRpb25Ob2RlID0gZ2VuZXJhbFN1YnN0aXR1dGlvbi5nZXROb2RlKCksXG4gICAgICAgIHNwZWNpZmljU3Vic3RpdHV0aW9uTm9kZSA9IHNwZWNpZmljU3Vic3RpdHV0aW9uLmdldE5vZGUoKSxcbiAgICAgICAgZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSA9IGdlbmVyYWxTdWJzdGl0dXRpb25Ob2RlLCAvLy9cbiAgICAgICAgc3BlY2lmaWNOb25UZXJtaW5hbE5vZGUgPSBzcGVjaWZpY1N1YnN0aXR1dGlvbk5vZGUsXG4gICAgICAgIHVuaWZpZXNBdE1ldGFMZXZlbCA9IG1ldGFMZXZlbFVuaWZpZXIudW5pZnkoZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSwgc3BlY2lmaWNOb25UZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gIGlmICh1bmlmaWVzQXRNZXRhTGV2ZWwpIHtcbiAgICBzdWJzdGl0dXRpb25VbmlmaWVzID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBzdWJzdGl0dXRpb25VbmlmaWVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5pZnlNZXRhdmFyaWFibGUoZ2VuZXJhbE1ldGF2YXJpYWJsZSwgc3BlY2lmaWNNZXRhdmFyaWFibGUsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVVuaWZpZXM7XG5cbiAgY29uc3QgZ2VuZXJhbE1ldGF2YXJpYWJsZU5vZGUgPSBnZW5lcmFsTWV0YXZhcmlhYmxlLmdldE5vZGUoKSxcbiAgICAgICAgc3BlY2lmaWNNZXRhdmFyaWFibGVOb2RlID0gc3BlY2lmaWNNZXRhdmFyaWFibGUuZ2V0Tm9kZSgpLFxuICAgICAgICBnZW5lcmFsTWV0YXZhcmlhYmxlVG9rZW5zID0gZ2VuZXJhbE1ldGF2YXJpYWJsZS5nZXRUb2tlbnMoKSxcbiAgICAgICAgc3BlY2lmaWNNZXRhdmFyaWFibGVUb2tlbnMgPSBzcGVjaWZpY01ldGF2YXJpYWJsZS5nZXRUb2tlbnMoKTtcblxuICBnZW5lcmFsQ29udGV4dCA9IGNvbnRleHRGcm9tVG9rZW5zKGdlbmVyYWxNZXRhdmFyaWFibGVUb2tlbnMsIGdlbmVyYWxDb250ZXh0KTsgLy8vXG5cbiAgc3BlY2lmaWNDb250ZXh0ID0gY29udGV4dEZyb21Ub2tlbnMoc3BlY2lmaWNNZXRhdmFyaWFibGVUb2tlbnMsIHNwZWNpZmljQ29udGV4dCk7IC8vL1xuXG4gIG1ldGF2YXJpYWJsZVVuaWZpZXMgPSBtZXRhdmFyaWFibGVVbmlmaWVyLnVuaWZ5KGdlbmVyYWxNZXRhdmFyaWFibGVOb2RlLCBzcGVjaWZpY01ldGF2YXJpYWJsZU5vZGUsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVVbmlmaWVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yKHRlcm0sIGNvbnN0cnVjdG9yLCBjb250ZXh0KSB7XG4gIGxldCB0ZXJtVW5pZmllc1dpdGhDb25zdHJ1Y3RvcjtcblxuICBjb25zdCB0ZXJtTm9kZSA9IHRlcm0uZ2V0Tm9kZSgpLFxuICAgICAgICBjb25zdHJ1Y3RvclRlcm0gPSBjb25zdHJ1Y3Rvci5nZXRUZXJtKCksXG4gICAgICAgIGNvbnN0cnVjdG9yVGVybU5vZGUgPSBjb25zdHJ1Y3RvclRlcm0uZ2V0Tm9kZSgpO1xuXG4gIHRlcm1VbmlmaWVzV2l0aENvbnN0cnVjdG9yID0gdGVybVdpdGhDb25zdHJ1Y3RvclVuaWZpZXIudW5pZnkoY29uc3RydWN0b3JUZXJtTm9kZSwgdGVybU5vZGUsIGNvbnRleHQpO1xuXG4gIHJldHVybiB0ZXJtVW5pZmllc1dpdGhDb25zdHJ1Y3Rvcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuaWZ5U3RhdGVtZW50SW50cmluc2ljYWxseShnZW5lcmFsU3RhdGVtZW50LCBzcGVjaWZpY1N0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkge1xuICBsZXQgbWV0YXZhcmlhYmxlVW5pZmllc0ludHJpbnNpY2FsbHk7XG5cbiAgY29uc3QgZ2VuZXJhbFN0YXRlbWVudE5vZGUgPSBnZW5lcmFsU3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgc3BlY2lmaWNTdGF0ZW1lbnROb2RlID0gc3BlY2lmaWNTdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICBnZW5lcmFsU3RhdGVtZW50VG9rZW5zID0gZ2VuZXJhbFN0YXRlbWVudC5nZXRUb2tlbnMoKSxcbiAgICAgICAgc3BlY2lmaWNTdGF0ZW1lbnRUb2tlbnMgPSBzcGVjaWZpY1N0YXRlbWVudC5nZXRUb2tlbnMoKTtcblxuICBnZW5lcmFsQ29udGV4dCA9IGNvbnRleHRGcm9tVG9rZW5zKGdlbmVyYWxTdGF0ZW1lbnRUb2tlbnMsIGdlbmVyYWxDb250ZXh0KTsgLy8vXG5cbiAgc3BlY2lmaWNDb250ZXh0ID0gY29udGV4dEZyb21Ub2tlbnMoc3BlY2lmaWNTdGF0ZW1lbnRUb2tlbnMsIHNwZWNpZmljQ29udGV4dCk7IC8vL1xuXG4gIGNvbnN0IGdlbmVyYWxOb25UZXJtaW5hbE5vZGUgPSBnZW5lcmFsU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgIHNwZWNpZmljTm9uVGVybWluYWxOb2RlID0gc3BlY2lmaWNTdGF0ZW1lbnROb2RlOyAvLy9cblxuICBtZXRhdmFyaWFibGVVbmlmaWVzSW50cmluc2ljYWxseSA9IGludHJpbnNpY0xldmVsVW5pZmllci51bmlmeShnZW5lcmFsTm9uVGVybWluYWxOb2RlLCBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZVVuaWZpZXNJbnRyaW5zaWNhbGx5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvcihzdGF0ZW1lbnQsIGNvbWJpbmF0b3IsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFVuaWZpZXNXaXRoQ29tYmluYXRvcjtcblxuICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgY29tYmluYXRvclN0YXRlbWVudCA9IGNvbWJpbmF0b3IuZ2V0U3RhdGVtZW50KCksXG4gICAgICAgIGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlID0gY29tYmluYXRvclN0YXRlbWVudC5nZXROb2RlKCksXG4gICAgICAgIGNvbWJpbmF0b3JTdGF0ZW1lbnRUb2tlbnMgPSBjb21iaW5hdG9yU3RhdGVtZW50LmdldFRva2VucygpO1xuXG4gIGNvbnN0IHNwZWNpZmljQ29udGV4dCA9IGNvbnRleHQ7ICAvLy9cblxuICBjb250ZXh0ID0gY29udGV4dEZyb21Ub2tlbnMoY29tYmluYXRvclN0YXRlbWVudFRva2VucywgY29udGV4dCk7ICAvLy9cblxuICBjb25zdCBnZW5lcmFsQ29udGV4dCA9IGNvbnRleHQ7IC8vL1xuXG4gIHN0YXRlbWVudFVuaWZpZXNXaXRoQ29tYmluYXRvciA9IHN0YXRlbWVudFdpdGhDb21iaW5hdG9yVW5pZmllci51bmlmeShjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSwgc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZXNXaXRoQ29tYmluYXRvcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuaWZ5TWV0YXZhcmlhYmxlSW50cmluc2ljYWxseShnZW5lcmFsTWV0YXZhcmlhYmxlLCBzcGVjaWZpY01ldGF2YXJpYWJsZSwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkge1xuICBsZXQgbWV0YXZhcmlhYmxlVW5pZmllc0ludHJpbnNpY2FsbHk7XG5cbiAgY29uc3QgZ2VuZXJhbE1ldGF2YXJpYWJsZU5vZGUgPSBnZW5lcmFsTWV0YXZhcmlhYmxlLmdldE5vZGUoKSxcbiAgICAgICAgc3BlY2lmaWNNZXRhdmFyaWFibGVOb2RlID0gc3BlY2lmaWNNZXRhdmFyaWFibGUuZ2V0Tm9kZSgpLFxuICAgICAgICBnZW5lcmFsTWV0YXZhcmlhYmxlVG9rZW5zID0gZ2VuZXJhbE1ldGF2YXJpYWJsZS5nZXRUb2tlbnMoKSxcbiAgICAgICAgc3BlY2lmaWNNZXRhdmFyaWFibGVUb2tlbnMgPSBzcGVjaWZpY01ldGF2YXJpYWJsZS5nZXRUb2tlbnMoKTtcblxuICBnZW5lcmFsQ29udGV4dCA9IGNvbnRleHRGcm9tVG9rZW5zKGdlbmVyYWxNZXRhdmFyaWFibGVUb2tlbnMsIGdlbmVyYWxDb250ZXh0KTsgLy8vXG5cbiAgc3BlY2lmaWNDb250ZXh0ID0gY29udGV4dEZyb21Ub2tlbnMoc3BlY2lmaWNNZXRhdmFyaWFibGVUb2tlbnMsIHNwZWNpZmljQ29udGV4dCk7IC8vL1xuXG4gIGNvbnN0IGdlbmVyYWxOb25UZXJtaW5hbE5vZGUgPSBnZW5lcmFsTWV0YXZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgIHNwZWNpZmljTm9uVGVybWluYWxOb2RlID0gc3BlY2lmaWNNZXRhdmFyaWFibGVOb2RlOyAvLy9cblxuICBtZXRhdmFyaWFibGVVbmlmaWVzSW50cmluc2ljYWxseSA9IGludHJpbnNpY0xldmVsVW5pZmllci51bmlmeShnZW5lcmFsTm9uVGVybWluYWxOb2RlLCBzcGVjaWZpY05vblRlcm1pbmFsTm9kZSwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZVVuaWZpZXNJbnRyaW5zaWNhbGx5O1xufVxuXG5mdW5jdGlvbiBjb250ZXh0RnJvbVRva2Vucyh0b2tlbnMsIGNvbnRleHQpIHtcbiAgY29uc3QgdGVtcG9yYXJ5Q29udGV4dCA9IFRlbXBvcmFyeUNvbnRleHQuZnJvbUNvbnRleHRBbmRUb2tlbnMoY29udGV4dCwgdG9rZW5zKTtcblxuICBjb250ZXh0ID0gdGVtcG9yYXJ5Q29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBjb250ZXh0O1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5TWV0YXZhcmlhYmxlIiwidW5pZnlNZXRhdmFyaWFibGVJbnRyaW5zaWNhbGx5IiwidW5pZnlTdGF0ZW1lbnQiLCJ1bmlmeVN0YXRlbWVudEludHJpbnNpY2FsbHkiLCJ1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIiwidW5pZnlTdWJzdGl0dXRpb24iLCJ1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3IiLCJnZW5lcmFsU3RhdGVtZW50Iiwic3BlY2lmaWNTdGF0ZW1lbnQiLCJzdWJzdGl0dXRpb25zIiwiZ2VuZXJhbENvbnRleHQiLCJzcGVjaWZpY0NvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVzIiwiZ2VuZXJhbFN0YXRlbWVudE5vZGUiLCJnZXROb2RlIiwic3BlY2lmaWNTdGF0ZW1lbnROb2RlIiwiZ2VuZXJhbE5vblRlcm1pbmFsTm9kZSIsInNwZWNpZmljTm9uVGVybWluYWxOb2RlIiwidW5pZmllc0F0TWV0YUxldmVsIiwibWV0YUxldmVsVW5pZmllciIsInVuaWZ5IiwiZ2VuZXJhbFN1YnN0aXR1dGlvbiIsInNwZWNpZmljU3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uVW5pZmllcyIsImdlbmVyYWxTdWJzdGl0dXRpb25Ob2RlIiwic3BlY2lmaWNTdWJzdGl0dXRpb25Ob2RlIiwiZ2VuZXJhbE1ldGF2YXJpYWJsZSIsInNwZWNpZmljTWV0YXZhcmlhYmxlIiwibWV0YXZhcmlhYmxlVW5pZmllcyIsImdlbmVyYWxNZXRhdmFyaWFibGVOb2RlIiwic3BlY2lmaWNNZXRhdmFyaWFibGVOb2RlIiwiZ2VuZXJhbE1ldGF2YXJpYWJsZVRva2VucyIsImdldFRva2VucyIsInNwZWNpZmljTWV0YXZhcmlhYmxlVG9rZW5zIiwiY29udGV4dEZyb21Ub2tlbnMiLCJtZXRhdmFyaWFibGVVbmlmaWVyIiwidGVybSIsImNvbnN0cnVjdG9yIiwiY29udGV4dCIsInRlcm1VbmlmaWVzV2l0aENvbnN0cnVjdG9yIiwidGVybU5vZGUiLCJjb25zdHJ1Y3RvclRlcm0iLCJnZXRUZXJtIiwiY29uc3RydWN0b3JUZXJtTm9kZSIsInRlcm1XaXRoQ29uc3RydWN0b3JVbmlmaWVyIiwibWV0YXZhcmlhYmxlVW5pZmllc0ludHJpbnNpY2FsbHkiLCJnZW5lcmFsU3RhdGVtZW50VG9rZW5zIiwic3BlY2lmaWNTdGF0ZW1lbnRUb2tlbnMiLCJpbnRyaW5zaWNMZXZlbFVuaWZpZXIiLCJzdGF0ZW1lbnQiLCJjb21iaW5hdG9yIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJzdGF0ZW1lbnRVbmlmaWVzV2l0aENvbWJpbmF0b3IiLCJzdGF0ZW1lbnROb2RlIiwiY29tYmluYXRvclN0YXRlbWVudCIsImdldFN0YXRlbWVudCIsImNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlIiwiY29tYmluYXRvclN0YXRlbWVudFRva2VucyIsInN0YXRlbWVudFdpdGhDb21iaW5hdG9yVW5pZmllciIsInRva2VucyIsInRlbXBvcmFy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
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get termVariableIdentifierFromTermNode () {
13
+ return termVariableIdentifierFromTermNode;
14
+ },
15
+ get variableIdentifierFromVariableNode () {
16
+ return variableIdentifierFromVariableNode;
17
+ }
18
+ });
19
+ var _query = require("../utilities/query");
20
+ var variableIdentifierNodeQuery = (0, _query.nodeQuery)("/variable/@identifier!"), termVariableIdentifierNodeQuery = (0, _query.nodeQuery)("/term/variable!/@identifier!");
21
+ function termVariableIdentifierFromTermNode(TermNode) {
22
+ var termVariableIdentifierTerminalNode = termVariableIdentifierNodeQuery(TermNode), termVariableIdentifierTerminalNodeContent = termVariableIdentifierTerminalNode.getContent(), termVariableIdentifier = termVariableIdentifierTerminalNodeContent; ///
23
+ return termVariableIdentifier;
24
+ }
25
+ function variableIdentifierFromVariableNode(variableNode) {
26
+ var variableIdentifierTerminalNode = variableIdentifierNodeQuery(variableNode), variableIdentifierTerminalNodeContent = variableIdentifierTerminalNode.getContent(), variableIdentifier = variableIdentifierTerminalNodeContent; ///
27
+ return variableIdentifier;
28
+ }
29
+
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdmFyaWFibGVJZGVudGlmaWVyTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3ZhcmlhYmxlL0BpZGVudGlmaWVyIVwiKSxcbiAgICAgIHRlcm1WYXJpYWJsZUlkZW50aWZpZXJOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS92YXJpYWJsZSEvQGlkZW50aWZpZXIhXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gdGVybVZhcmlhYmxlSWRlbnRpZmllckZyb21UZXJtTm9kZShUZXJtTm9kZSkge1xuICBjb25zdCB0ZXJtVmFyaWFibGVJZGVudGlmaWVyVGVybWluYWxOb2RlID0gdGVybVZhcmlhYmxlSWRlbnRpZmllck5vZGVRdWVyeShUZXJtTm9kZSksXG4gICAgICAgIHRlcm1WYXJpYWJsZUlkZW50aWZpZXJUZXJtaW5hbE5vZGVDb250ZW50ID0gdGVybVZhcmlhYmxlSWRlbnRpZmllclRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIHRlcm1WYXJpYWJsZUlkZW50aWZpZXIgPSB0ZXJtVmFyaWFibGVJZGVudGlmaWVyVGVybWluYWxOb2RlQ29udGVudDsgLy8vXG5cbiAgcmV0dXJuIHRlcm1WYXJpYWJsZUlkZW50aWZpZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZUlkZW50aWZpZXJGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSkge1xuICBjb25zdCB2YXJpYWJsZUlkZW50aWZpZXJUZXJtaW5hbE5vZGUgPSB2YXJpYWJsZUlkZW50aWZpZXJOb2RlUXVlcnkodmFyaWFibGVOb2RlKSxcbiAgICAgICAgdmFyaWFibGVJZGVudGlmaWVyVGVybWluYWxOb2RlQ29udGVudCA9IHZhcmlhYmxlSWRlbnRpZmllclRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIHZhcmlhYmxlSWRlbnRpZmllciA9IHZhcmlhYmxlSWRlbnRpZmllclRlcm1pbmFsTm9kZUNvbnRlbnQ7IC8vL1xuXG4gIHJldHVybiB2YXJpYWJsZUlkZW50aWZpZXI7XG59XG4iXSwibmFtZXMiOlsidGVybVZhcmlhYmxlSWRlbnRpZmllckZyb21UZXJtTm9kZSIsInZhcmlhYmxlSWRlbnRpZmllckZyb21WYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZUlkZW50aWZpZXJOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0ZXJtVmFyaWFibGVJZGVudGlmaWVyTm9kZVF1ZXJ5IiwiVGVybU5vZGUiLCJ0ZXJtVmFyaWFibGVJZGVudGlmaWVyVGVybWluYWxOb2RlIiwidGVybVZhcmlhYmxlSWRlbnRpZmllclRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50IiwidGVybVZhcmlhYmxlSWRlbnRpZmllciIsInZhcmlhYmxlTm9kZSIsInZhcmlhYmxlSWRlbnRpZmllclRlcm1pbmFsTm9kZSIsInZhcmlhYmxlSWRlbnRpZmllclRlcm1pbmFsTm9kZUNvbnRlbnQiLCJ2YXJpYWJsZUlkZW50aWZpZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQU9nQkE7ZUFBQUE7O1FBUUFDO2VBQUFBOzs7cUJBYlU7QUFFMUIsSUFBTUMsOEJBQThCQyxJQUFBQSxnQkFBUyxFQUFDLDJCQUN4Q0Msa0NBQWtDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRTNDLFNBQVNILG1DQUFtQ0ssUUFBUTtJQUN6RCxJQUFNQyxxQ0FBcUNGLGdDQUFnQ0MsV0FDckVFLDRDQUE0Q0QsbUNBQW1DRSxVQUFVLElBQ3pGQyx5QkFBeUJGLDJDQUEyQyxHQUFHO0lBRTdFLE9BQU9FO0FBQ1Q7QUFFTyxTQUFTUixtQ0FBbUNTLFlBQVk7SUFDN0QsSUFBTUMsaUNBQWlDVCw0QkFBNEJRLGVBQzdERSx3Q0FBd0NELCtCQUErQkgsVUFBVSxJQUNqRksscUJBQXFCRCx1Q0FBdUMsR0FBRztJQUVyRSxPQUFPQztBQUNUIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-verify-cli",
3
3
  "author": "James Smith",
4
- "version": "1.0.387",
4
+ "version": "1.0.396",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -12,7 +12,7 @@
12
12
  "dependencies": {
13
13
  "argumentative": "^2.0.36",
14
14
  "necessary": "^15.0.6",
15
- "occam-custom-grammars": "^5.0.1317",
15
+ "occam-custom-grammars": "^5.0.1321",
16
16
  "occam-entities": "^1.0.430",
17
17
  "occam-file-system": "^6.0.445",
18
18
  "occam-furtle": "^2.0.263",
@@ -51,9 +51,9 @@ export default function verifyAction(argument, log) {
51
51
 
52
52
  const dependentName = null,
53
53
  dependentReleased = false,
54
- releaseVerified = verifyRelease(releaseName, dependentName, dependentReleased, releaseContextMap);
54
+ releaseVerifies = verifyRelease(releaseName, dependentName, dependentReleased, releaseContextMap);
55
55
 
56
- if (!releaseVerified) {
56
+ if (!releaseVerifies) {
57
57
  log.warning(`The '${name}' project or package cannot be verified.`);
58
58
 
59
59
  return;