occam-furtle 1.0.55 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  ## Introduction
15
15
 
16
- ...
16
+ Furtle is a dynamically but nonetheless strictly typed language for traversing parse trees. The
17
17
 
18
18
  ## Installation
19
19
 
@@ -19,10 +19,12 @@ Boolean isVariableBound(Node termNode, Node statementNode) {
19
19
  Nodes statementNodes = nodesQuery(statementNode, //statement);
20
20
 
21
21
  ForEach(statementNodes, (Node statementNode) {
22
- String boundVariableName = boundVariableNameFromStatementNode(statementNode);
22
+ If (!variableBound) {
23
+ String boundVariableName = boundVariableNameFromStatementNode(statementNode);
23
24
 
24
- If (boundVariableName == variableName) {
25
- variableBound = true;
25
+ If (boundVariableName == variableName) {
26
+ variableBound = true;
27
+ }
26
28
  }
27
29
  });
28
30
  }
@@ -36,7 +38,7 @@ String variableNameFromTermNode(Node termNode) {
36
38
  Node variableNameTerminalNode = nodeQuery(termNode, /term/variable/@name);
37
39
 
38
40
  If (variableNameTerminalNode != null) {
39
- ( String content ) = variableNameTerminalNode;
41
+ { String content } = variableNameTerminalNode;
40
42
 
41
43
  variableName = content;
42
44
  }
@@ -47,21 +49,25 @@ String variableNameFromTermNode(Node termNode) {
47
49
  String boundVariableNameFromStatementNode(Node statementNode) {
48
50
  String boundVariableName = "";
49
51
 
50
- ( Nodes childNodes ) = statementNode;
52
+ { Nodes childNodes } = statementNode;
51
53
 
52
54
  [ Node firstChildNode ] = childNodes;
53
55
 
54
- ( String content ) = firstChildNode;
56
+ { Boolean terminal } = firstChildNode;
55
57
 
56
- If ((content == "∀") || (content == "∃")) {
57
- [ _, Node argumentNode ] = childNodes;
58
+ If (terminal) {
59
+ { String content } = firstChildNode;
58
60
 
59
- Node boundVariableNameTerminalNode = nodeQuery(argumentNode, /argument/term/variable/@name);
61
+ If ((content == "∀") || (content == "∃")) {
62
+ [ _, Node argumentNode ] = childNodes;
60
63
 
61
- If (boundVariableNameTerminalNode != null) {
62
- ( String content ) = boundVariableNameTerminalNode;
64
+ Node boundVariableNameTerminalNode = nodeQuery(argumentNode, /argument/term/variable/@name);
63
65
 
64
- boundVariableName = content;
66
+ If (boundVariableNameTerminalNode != null) {
67
+ { String content } = boundVariableNameTerminalNode;
68
+
69
+ boundVariableName = content;
70
+ }
65
71
  }
66
72
  }
67
73
 
@@ -156,6 +156,13 @@ var BlockContext = /*#__PURE__*/ function() {
156
156
  }
157
157
  }
158
158
  ], [
159
+ {
160
+ key: "fromNothing",
161
+ value: function fromNothing(context) {
162
+ var variables = [], blockContext = new BlockContext(context, variables);
163
+ return blockContext;
164
+ }
165
+ },
159
166
  {
160
167
  key: "fromVariables",
161
168
  value: function fromVariables(variables, context) {
@@ -167,4 +174,4 @@ var BlockContext = /*#__PURE__*/ function() {
167
174
  return BlockContext;
168
175
  }();
169
176
 
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2Jsb2NrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmNvbnN0IHsgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJsb2NrQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHZhcmlhYmxlcykge1xuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgdGhpcy52YXJpYWJsZXMgPSB2YXJpYWJsZXM7XG4gIH1cblxuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMoYmxvY2tlZCA9IGZhbHNlKSB7XG4gICAgY29uc3QgdmFyaWFibGVzID0gW107XG5cbiAgICBwdXNoKHZhcmlhYmxlcywgdGhpcy52YXJpYWJsZXMpO1xuXG4gICAgaWYgKCFibG9ja2VkKSB7XG4gICAgICBjb25zdCBjb250ZXh0VmFyaWFibGVzID0gdGhpcy5jb250ZXh0LmdldFZhcmlhYmxlcygpO1xuXG4gICAgICBwdXNoKHZhcmlhYmxlcywgY29udGV4dFZhcmlhYmxlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhcmlhYmxlcztcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmdldEZpbGVDb250ZXh0KCk7IH1cblxuICBmaW5kUHJvY2VkdXJlQnlSZWZlcmVuY2UocmVmZXJlbmNlKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZmluZFByb2NlZHVyZUJ5UmVmZXJlbmNlKHJlZmVyZW5jZSk7IH1cblxuICBpc1Byb2NlZHVyZVByZXNlbnRCeVJlZmVyZW5jZShyZWZlcmVuY2UpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5pc1Byb2NlZHVyZVByZXNlbnRCeVJlZmVyZW5jZShyZWZlcmVuY2UpOyB9XG5cbiAgZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lLCBibG9ja2VkID0gZmFsc2UpIHtcbiAgICBjb25zdCB2YXJpYWJsZXMgPSB0aGlzLmdldFZhcmlhYmxlcyhibG9ja2VkKSxcbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlcy5maW5kKCh2YXJpYWJsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFyaWFibGVOYW1lTWF0Y2hlcyA9IHZhcmlhYmxlLm1hdGNoVmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSk7XG5cbiAgICAgICAgICAgIGlmICh2YXJpYWJsZU5hbWVNYXRjaGVzKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pIHx8IG51bGw7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgYmxvY2tlZCA9IGZhbHNlKSB7XG4gICAgY29uc3QgdmFyaWFibGUgPSB0aGlzLmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgYmxvY2tlZCksXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gKHZhcmlhYmxlICE9PSBudWxsKTtcblxuICAgIHJldHVybiB2YXJpYWJsZVByZXNlbnQ7XG4gIH1cblxuICBhZGRWYXJpYWJsZSh2YXJpYWJsZSkge1xuICAgIGNvbnN0IGJsb2NrZWQgPSB0cnVlLFxuICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IHZhcmlhYmxlLmdldE5hbWUoKSxcbiAgICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHZhcmlhYmxlLmdldFN0cmluZygpLFxuICAgICAgICAgIHZhcmlhYmxlUHJlc2VudCA9IHRoaXMuaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUsIGJsb2NrZWQpO1xuXG4gICAgaWYgKHZhcmlhYmxlUHJlc2VudCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSBpcyBhbHJlYWR5IHByZXNlbnQuJ2AsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcztcblxuICAgIGNvbnRleHQudHJhY2UoYEFkZGVkIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIHRvIHRoZSBjb250ZXh0LmApO1xuXG4gICAgdGhpcy52YXJpYWJsZXMucHVzaCh2YXJpYWJsZSk7XG4gIH1cblxuICBub2RlQXNTdHJpbmcobm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKTsgfVxuXG4gIG5vZGVzQXNTdHJpbmcobm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0Lm5vZGVzQXNTdHJpbmcobm9kZSk7IH1cblxuICB0cmFjZShtZXNzYWdlKSB7IHRoaXMuY29udGV4dC50cmFjZShtZXNzYWdlKTsgfVxuXG4gIGRlYnVnKG1lc3NhZ2UpIHsgdGhpcy5jb250ZXh0LmRlYnVnKG1lc3NhZ2UpOyB9XG5cbiAgaW5mbyhtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5pbmZvKG1lc3NhZ2UpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7IHRoaXMuY29udGV4dC53YXJuaW5nKG1lc3NhZ2UpOyB9XG5cbiAgZXJyb3IobWVzc2FnZSkgeyB0aGlzLmNvbnRleHQuZXJyb3IobWVzc2FnZSk7IH1cblxuICBzdGF0aWMgZnJvbVZhcmlhYmxlcyh2YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgICBjb25zdCBibG9ja0NvbnRleHQgPSBuZXcgQmxvY2tDb250ZXh0KGNvbnRleHQsIHZhcmlhYmxlcyk7XG5cbiAgICByZXR1cm4gYmxvY2tDb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQmxvY2tDb250ZXh0IiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwiY29udGV4dCIsInZhcmlhYmxlcyIsImdldENvbnRleHQiLCJnZXRWYXJpYWJsZXMiLCJibG9ja2VkIiwiY29udGV4dFZhcmlhYmxlcyIsImdldEZpbGVDb250ZXh0IiwiZmluZFByb2NlZHVyZUJ5UmVmZXJlbmNlIiwicmVmZXJlbmNlIiwiaXNQcm9jZWR1cmVQcmVzZW50QnlSZWZlcmVuY2UiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSIsInZhcmlhYmxlTmFtZSIsInZhcmlhYmxlIiwiZmluZCIsInZhcmlhYmxlTmFtZU1hdGNoZXMiLCJtYXRjaFZhcmlhYmxlTmFtZSIsImlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUiLCJ2YXJpYWJsZVByZXNlbnQiLCJhZGRWYXJpYWJsZSIsImdldE5hbWUiLCJ2YXJpYWJsZVN0cmluZyIsImdldFN0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInRyYWNlIiwibm9kZUFzU3RyaW5nIiwibm9kZSIsIm5vZGVzQXNTdHJpbmciLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZXJyb3IiLCJmcm9tVmFyaWFibGVzIiwiYmxvY2tDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVFxQkE7Ozt5QkFOVTtnRUFFVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV0QixJQUFNLEFBQUVDLE9BQVNDLHlCQUFjLENBQXZCRDtBQUVPLElBQUEsQUFBTUQsNkJBQU47YUFBTUEsYUFDUEcsT0FBTyxFQUFFQyxTQUFTO2dDQURYSjtRQUVqQixJQUFJLENBQUNHLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2tCQUhBSjs7WUFNbkJLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsT0FBTztZQUNyQjs7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
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2Jsb2NrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmNvbnN0IHsgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJsb2NrQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHZhcmlhYmxlcykge1xuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgdGhpcy52YXJpYWJsZXMgPSB2YXJpYWJsZXM7XG4gIH1cblxuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMoYmxvY2tlZCA9IGZhbHNlKSB7XG4gICAgY29uc3QgdmFyaWFibGVzID0gW107XG5cbiAgICBwdXNoKHZhcmlhYmxlcywgdGhpcy52YXJpYWJsZXMpO1xuXG4gICAgaWYgKCFibG9ja2VkKSB7XG4gICAgICBjb25zdCBjb250ZXh0VmFyaWFibGVzID0gdGhpcy5jb250ZXh0LmdldFZhcmlhYmxlcygpO1xuXG4gICAgICBwdXNoKHZhcmlhYmxlcywgY29udGV4dFZhcmlhYmxlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhcmlhYmxlcztcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmdldEZpbGVDb250ZXh0KCk7IH1cblxuICBmaW5kUHJvY2VkdXJlQnlSZWZlcmVuY2UocmVmZXJlbmNlKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZmluZFByb2NlZHVyZUJ5UmVmZXJlbmNlKHJlZmVyZW5jZSk7IH1cblxuICBpc1Byb2NlZHVyZVByZXNlbnRCeVJlZmVyZW5jZShyZWZlcmVuY2UpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5pc1Byb2NlZHVyZVByZXNlbnRCeVJlZmVyZW5jZShyZWZlcmVuY2UpOyB9XG5cbiAgZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lLCBibG9ja2VkID0gZmFsc2UpIHtcbiAgICBjb25zdCB2YXJpYWJsZXMgPSB0aGlzLmdldFZhcmlhYmxlcyhibG9ja2VkKSxcbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlcy5maW5kKCh2YXJpYWJsZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFyaWFibGVOYW1lTWF0Y2hlcyA9IHZhcmlhYmxlLm1hdGNoVmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSk7XG5cbiAgICAgICAgICAgIGlmICh2YXJpYWJsZU5hbWVNYXRjaGVzKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pIHx8IG51bGw7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgYmxvY2tlZCA9IGZhbHNlKSB7XG4gICAgY29uc3QgdmFyaWFibGUgPSB0aGlzLmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgYmxvY2tlZCksXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gKHZhcmlhYmxlICE9PSBudWxsKTtcblxuICAgIHJldHVybiB2YXJpYWJsZVByZXNlbnQ7XG4gIH1cblxuICBhZGRWYXJpYWJsZSh2YXJpYWJsZSkge1xuICAgIGNvbnN0IGJsb2NrZWQgPSB0cnVlLFxuICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IHZhcmlhYmxlLmdldE5hbWUoKSxcbiAgICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHZhcmlhYmxlLmdldFN0cmluZygpLFxuICAgICAgICAgIHZhcmlhYmxlUHJlc2VudCA9IHRoaXMuaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUsIGJsb2NrZWQpO1xuXG4gICAgaWYgKHZhcmlhYmxlUHJlc2VudCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSBpcyBhbHJlYWR5IHByZXNlbnQuJ2AsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcztcblxuICAgIGNvbnRleHQudHJhY2UoYEFkZGVkIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIHRvIHRoZSBjb250ZXh0LmApO1xuXG4gICAgdGhpcy52YXJpYWJsZXMucHVzaCh2YXJpYWJsZSk7XG4gIH1cblxuICBub2RlQXNTdHJpbmcobm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKTsgfVxuXG4gIG5vZGVzQXNTdHJpbmcobm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0Lm5vZGVzQXNTdHJpbmcobm9kZSk7IH1cblxuICB0cmFjZShtZXNzYWdlKSB7IHRoaXMuY29udGV4dC50cmFjZShtZXNzYWdlKTsgfVxuXG4gIGRlYnVnKG1lc3NhZ2UpIHsgdGhpcy5jb250ZXh0LmRlYnVnKG1lc3NhZ2UpOyB9XG5cbiAgaW5mbyhtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5pbmZvKG1lc3NhZ2UpOyB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7IHRoaXMuY29udGV4dC53YXJuaW5nKG1lc3NhZ2UpOyB9XG5cbiAgZXJyb3IobWVzc2FnZSkgeyB0aGlzLmNvbnRleHQuZXJyb3IobWVzc2FnZSk7IH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoY29udGV4dCkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdLFxuICAgICAgICAgIGJsb2NrQ29udGV4dCA9IG5ldyBCbG9ja0NvbnRleHQoY29udGV4dCwgdmFyaWFibGVzKTtcblxuICAgIHJldHVybiBibG9ja0NvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhcmlhYmxlcyh2YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgICBjb25zdCBibG9ja0NvbnRleHQgPSBuZXcgQmxvY2tDb250ZXh0KGNvbnRleHQsIHZhcmlhYmxlcyk7XG5cbiAgICByZXR1cm4gYmxvY2tDb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQmxvY2tDb250ZXh0IiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwiY29udGV4dCIsInZhcmlhYmxlcyIsImdldENvbnRleHQiLCJnZXRWYXJpYWJsZXMiLCJibG9ja2VkIiwiY29udGV4dFZhcmlhYmxlcyIsImdldEZpbGVDb250ZXh0IiwiZmluZFByb2NlZHVyZUJ5UmVmZXJlbmNlIiwicmVmZXJlbmNlIiwiaXNQcm9jZWR1cmVQcmVzZW50QnlSZWZlcmVuY2UiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSIsInZhcmlhYmxlTmFtZSIsInZhcmlhYmxlIiwiZmluZCIsInZhcmlhYmxlTmFtZU1hdGNoZXMiLCJtYXRjaFZhcmlhYmxlTmFtZSIsImlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUiLCJ2YXJpYWJsZVByZXNlbnQiLCJhZGRWYXJpYWJsZSIsImdldE5hbWUiLCJ2YXJpYWJsZVN0cmluZyIsImdldFN0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInRyYWNlIiwibm9kZUFzU3RyaW5nIiwibm9kZSIsIm5vZGVzQXNTdHJpbmciLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZXJyb3IiLCJmcm9tTm90aGluZyIsImJsb2NrQ29udGV4dCIsImZyb21WYXJpYWJsZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBUXFCQTs7O3lCQU5VO2dFQUVUOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXRCLElBQU0sQUFBRUMsT0FBU0MseUJBQWMsQ0FBdkJEO0FBRU8sSUFB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
@@ -152,6 +152,11 @@ var _default = (0, _dom.domAssigned)((_ObjectAssigment = /*#__PURE__*/ function(
152
152
  this.resolveContentParameter(parameter, value, context);
153
153
  break;
154
154
  }
155
+ case _parameterNames.TERMINAL_PARAMETER_NAME:
156
+ {
157
+ this.resolveTerminalParameter(parameter, value, context);
158
+ break;
159
+ }
155
160
  case _parameterNames.CHILD_NODES_PARAMETER_NAME:
156
161
  {
157
162
  this.resolveChildNodesParameter(parameter, value, context);
@@ -181,6 +186,22 @@ var _default = (0, _dom.domAssigned)((_ObjectAssigment = /*#__PURE__*/ function(
181
186
  variable.assign(context);
182
187
  }
183
188
  },
189
+ {
190
+ key: "resolveTerminalParameter",
191
+ value: function resolveTerminalParameter(parameter, value, context) {
192
+ var type = parameter.getType();
193
+ if (type !== _types.BOOLEAN_TYPE) {
194
+ var parameterString = parameter.getString(), message = "The '".concat(parameterString, "' parameter's type should be '").concat(_types.BOOLEAN_TYPE, "'."), exception = _exception.default.fromMessage(message);
195
+ throw exception;
196
+ }
197
+ var node = value.getNode(), nodeTerminalNode = node.isTerminalNode(), terminal = nodeTerminalNode; ///
198
+ var Value = _dom.default.Value, Variable = _dom.default.Variable, Assignment = _dom.default.Assignment, boolean = terminal; ///
199
+ value = Value.fromBoolean(boolean, context); ///
200
+ var assignment = Assignment.fromValue(value, context), variable = Variable.fromParameterAndAssignment(parameter, assignment);
201
+ context.addVariable(variable);
202
+ variable.assign(context);
203
+ }
204
+ },
184
205
  {
185
206
  key: "resolveChildNodesParameter",
186
207
  value: function resolveChildNodesParameter(parameter, value, context) {
@@ -218,4 +239,4 @@ var _default = (0, _dom.domAssigned)((_ObjectAssigment = /*#__PURE__*/ function(
218
239
  return ObjectAssigment;
219
240
  }(), _define_property(_ObjectAssigment, "name", "ObjectAssigment"), _ObjectAssigment));
220
241
 
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vYXNzaWdubWVudC9vYmplY3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5pbXBvcnQgbm9kZVBhcmFtZXRlcnMgZnJvbSBcIi4uLy4uL3BhcmFtZXRlcnMvbm9kZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi8uLi9kb21cIjtcbmltcG9ydCB7IE5PREVfVFlQRSwgTk9ERVNfVFlQRSwgU1RSSU5HX1RZUEUgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IENPTlRFTlRfUEFSQU1FVEVSX05BTUUsIENISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FIH0gZnJvbSBcIi4uLy4uL3BhcmFtZXRlck5hbWVzXCI7XG5cbmNvbnN0IG9iamVjdEFzc2lnbm1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RlcC9vYmplY3RBc3NpZ25tZW50XCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBPYmplY3RBc3NpZ21lbnQge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHZhcmlhYmxlLCBwYXJhbWV0ZXJzKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRQYXJhbWV0ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnM7XG4gIH1cblxuICByZXNvbHZlKGNvbnRleHQpIHtcbiAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50U3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgUmVzb2x2aW5nIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YXJpYWJsZS5yZXNvbHZlKGNvbnRleHQpLFxuICAgICAgICAgIHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmICh2YWx1ZVR5cGUgIT09IE5PREVfVFlQRSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7dmFsdWVTdHJpbmd9IHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7Tk9ERV9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIG5vZGVQYXJhbWV0ZXJzLm1hdGNoUGFyYW1ldGVycyh0aGlzLnBhcmFtZXRlcnMsIGNvbnRleHQpO1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJzLmZvckVhY2hQYXJhbWV0ZXIoKHBhcmFtZXRlcikgPT4ge1xuICAgICAgaWYgKHBhcmFtZXRlciAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLnJlc29sdmVQYXJhbWV0ZXIocGFyYW1ldGVyLCB2YWx1ZSwgY29udGV4dCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5yZXNvbHZlZCB0aGUgJyR7b2JqZWN0QXNzaWdubWVudFN0cmluZ30nIG9iamVjdCBhc3NpZ25tZW50LmApO1xuICB9XG5cbiAgcmVzb2x2ZVBhcmFtZXRlcihwYXJhbWV0ZXIsIHZhbHVlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICBwYXJhbWV0ZXJTdHJpbmcgPSBwYXJhbWV0ZXIuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBSZXNvbHZpbmcgdGhlICcke3BhcmFtZXRlclN0cmluZ30nIHBhcmFtZXRlciBhZ2FpbnN0IHRoZSAke3ZhbHVlU3RyaW5nfSB2YWx1ZS4uLmApO1xuXG4gICAgY29uc3QgbmFtZSA9IHBhcmFtZXRlci5nZXROYW1lKCk7XG5cbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgQ09OVEVOVF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICB0aGlzLnJlc29sdmVDb250ZW50UGFyYW1ldGVyKHBhcmFtZXRlciwgdmFsdWUsIGNvbnRleHQpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIENISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIHRoaXMucmVzb2x2ZUNoaWxkTm9kZXNQYXJhbWV0ZXIocGFyYW1ldGVyLCB2YWx1ZSwgY29udGV4dCk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4ucmVzb2x2ZWQgdGhlICcke3BhcmFtZXRlclN0cmluZ30nIHBhcmFtZXRlciBhZ2FpbnN0IHRoZSAke3ZhbHVlU3RyaW5nfSB2YWx1ZS5gKTtcbiAgfVxuXG4gIHJlc29sdmVDb250ZW50UGFyYW1ldGVyKHBhcmFtZXRlciwgdmFsdWUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gcGFyYW1ldGVyLmdldFR5cGUoKTtcblxuICAgIGlmICh0eXBlICE9PSBTVFJJTkdfVFlQRSkge1xuICAgICAgY29uc3QgcGFyYW1ldGVyU3RyaW5nID0gcGFyYW1ldGVyLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7cGFyYW1ldGVyU3RyaW5nfScgcGFyYW1ldGVyJ3MgdHlwZSBzaG91bGQgYmUgJyR7U1RSSU5HX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZSA9IHZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHt2YWx1ZVN0cmluZ30gdmFsdWUncyBub2RlIG11c3QgYmUgdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHsgVmFsdWUsIFZhcmlhYmxlLCBBc3NpZ25tZW50IH0gPSBkb20sXG4gICAgICAgICAgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIHN0cmluZyA9IGNvbnRlbnQ7ICAvLy9cblxuICAgIHZhbHVlID0gVmFsdWUuZnJvbVN0cmluZyhzdHJpbmcsIGNvbnRleHQpOyAgLy8vXG5cbiAgICBjb25zdCBhc3NpZ25tZW50ID0gQXNzaWdubWVudC5mcm9tVmFsdWUodmFsdWUsIGNvbnRleHQpLFxuICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVBhcmFtZXRlckFuZEFzc2lnbm1lbnQocGFyYW1ldGVyLCBhc3NpZ25tZW50KTtcblxuICAgIGNvbnRleHQuYWRkVmFyaWFibGUodmFyaWFibGUpO1xuXG4gICAgdmFyaWFibGUuYXNzaWduKGNvbnRleHQpO1xuICB9XG5cbiAgcmVzb2x2ZUNoaWxkTm9kZXNQYXJhbWV0ZXIocGFyYW1ldGVyLCB2YWx1ZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBwYXJhbWV0ZXIuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHR5cGUgIT09IE5PREVTX1RZUEUpIHtcbiAgICAgIGNvbnN0IHBhcmFtZXRlclN0cmluZyA9IHBhcmFtZXRlci5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3BhcmFtZXRlclN0cmluZ30nIHBhcmFtZXRlcidzIHR5cGUgc2hvdWxkIGJlICcke05PREVTX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZSA9IHZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlTm9uVGVybWluYWxOb2RlID0gbm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHt2YWx1ZVN0cmluZ30gdmFsdWUncyBub2RlIG11c3QgYmUgbm9uLXRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCB7IFZhbHVlLCBWYXJpYWJsZSwgQXNzaWdubWVudCB9ID0gZG9tLFxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXM7ICAvLy9cblxuICAgIHZhbHVlID0gVmFsdWUuZnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KTsgIC8vL1xuXG4gICAgY29uc3QgYXNzaWdubWVudCA9IEFzc2lnbm1lbnQuZnJvbVZhbHVlKHZhbHVlLCBjb250ZXh0KSxcbiAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21QYXJhbWV0ZXJBbmRBc3NpZ25tZW50KHBhcmFtZXRlciwgYXNzaWdubWVudCk7XG5cbiAgICBjb250ZXh0LmFkZFZhcmlhYmxlKHZhcmlhYmxlKTtcblxuICAgIHZhcmlhYmxlLmFzc2lnbihjb250ZXh0KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJPYmplY3RBc3NpZ21lbnRcIjtcblxuICBzdGF0aWMgZnJvbVN0ZXBOb2RlKHN0ZXBOb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IG9iamVjdEFzc2lnbm1lbnQgPSBudWxsO1xuXG4gICAgY29uc3Qgb2JqZWN0QXNzaWdubWVudE5vZGUgPSBvYmplY3RBc3NpZ25tZW50Tm9kZVF1ZXJ5KHN0ZXBOb2RlKTtcblxuICAgIGlmIChvYmplY3RBc3NpZ25tZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBWYXJpYWJsZSwgUGFyYW1ldGVycyB9ID0gZG9tLFxuICAgICAgICAgICAgbm9kZSA9IG9iamVjdEFzc2lnbm1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbU9iamVjdEFzc2lnbm1lbnROb2RlKG9iamVjdEFzc2lnbm1lbnROb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHBhcmFtZXRlcnMgPSBQYXJhbWV0ZXJzLmZyb21PYmplY3RBc3NpZ25tZW50Tm9kZShvYmplY3RBc3NpZ25tZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgICAgIG9iamVjdEFzc2lnbm1lbnQgPSBuZXcgT2JqZWN0QXNzaWdtZW50KHN0cmluZywgdmFyaWFibGUsIHBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIHJldHVybiBvYmplY3RBc3NpZ25tZW50O1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJvYmplY3RBc3NpZ25tZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJPYmplY3RBc3NpZ21lbnQiLCJzdHJpbmciLCJ2YXJpYWJsZSIsInBhcmFtZXRlcnMiLCJnZXRTdHJpbmciLCJnZXRWYXJpYWJsZSIsImdldFBhcmFtZXRlcnMiLCJyZXNvbHZlIiwiY29udGV4dCIsIm9iamVjdEFzc2lnbm1lbnRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsIk5PREVfVFlQRSIsInZhbHVlU3RyaW5nIiwiYXNTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJub2RlUGFyYW1ldGVycyIsIm1hdGNoUGFyYW1ldGVycyIsImZvckVhY2hQYXJhbWV0ZXIiLCJwYXJhbWV0ZXIiLCJyZXNvbHZlUGFyYW1ldGVyIiwiZGVidWciLCJwYXJhbWV0ZXJTdHJpbmciLCJuYW1lIiwiZ2V0TmFtZSIsIkNPTlRFTlRfUEFSQU1FVEVSX05BTUUiLCJyZXNvbHZlQ29udGVudFBhcmFtZXRlciIsIkNISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FIiwicmVzb2x2ZUNoaWxkTm9kZXNQYXJhbWV0ZXIiLCJ0eXBlIiwiU1RSSU5HX1RZUEUiLCJub2RlIiwiZ2V0Tm9kZSIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsIlZhbHVlIiwiZG9tIiwiVmFyaWFibGUiLCJBc3NpZ25tZW50IiwidGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJmcm9tU3RyaW5nIiwiYXNzaWdubWVudCIsImZyb21WYWx1ZSIsImZyb21QYXJhbWV0ZXJBbmRBc3NpZ25tZW50IiwiYWRkVmFyaWFibGUiLCJhc3NpZ24iLCJOT0RFU19UWVBFIiwibm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub2RlcyIsImZyb21Ob2RlcyIsImZyb21TdGVwTm9kZSIsInN0ZXBOb2RlIiwib2JqZWN0QXNzaWdubWVudCIsIm9iamVjdEFzc2lnbm1lbnROb2RlIiwiUGFyYW1ldGVycyIsIm5vZGVBc1N0cmluZyIsImZyb21PYmplY3RBc3NpZ25tZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYUE7OztlQUFBOzs7MkRBWGdCO2dFQUNNOzJEQUNLO3FCQUVEO3FCQUV5Qjs4QkFDZ0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRW5FLElBQU1BLDRCQUE0QkMsSUFBQUEsZ0JBQVMsRUFBQztJQUU1QyxXQUFlQyxJQUFBQSxnQkFBVyxvQ0FBQzthQUFNQyxnQkFDbkJDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxVQUFVO2dDQURUSDtRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBOzs7O1lBR3BCQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFFBQVE7WUFDdEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFVBQVU7WUFDeEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsUUFBUUMsT0FBTzs7Z0JBQ2IsSUFBTUMseUJBQXlCLElBQUksQ0FBQ1IsTUFBTSxF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
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vYXNzaWdubWVudC9vYmplY3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5pbXBvcnQgbm9kZVBhcmFtZXRlcnMgZnJvbSBcIi4uLy4uL3BhcmFtZXRlcnMvbm9kZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi8uLi9kb21cIjtcbmltcG9ydCB7IE5PREVfVFlQRSwgTk9ERVNfVFlQRSwgU1RSSU5HX1RZUEUsIEJPT0xFQU5fVFlQRSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgQ09OVEVOVF9QQVJBTUVURVJfTkFNRSwgVEVSTUlOQUxfUEFSQU1FVEVSX05BTUUsIENISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FIH0gZnJvbSBcIi4uLy4uL3BhcmFtZXRlck5hbWVzXCI7XG5cbmNvbnN0IG9iamVjdEFzc2lnbm1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RlcC9vYmplY3RBc3NpZ25tZW50XCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBPYmplY3RBc3NpZ21lbnQge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHZhcmlhYmxlLCBwYXJhbWV0ZXJzKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRQYXJhbWV0ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnM7XG4gIH1cblxuICByZXNvbHZlKGNvbnRleHQpIHtcbiAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50U3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgUmVzb2x2aW5nIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YXJpYWJsZS5yZXNvbHZlKGNvbnRleHQpLFxuICAgICAgICAgIHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmICh2YWx1ZVR5cGUgIT09IE5PREVfVFlQRSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7dmFsdWVTdHJpbmd9IHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7Tk9ERV9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIG5vZGVQYXJhbWV0ZXJzLm1hdGNoUGFyYW1ldGVycyh0aGlzLnBhcmFtZXRlcnMsIGNvbnRleHQpO1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJzLmZvckVhY2hQYXJhbWV0ZXIoKHBhcmFtZXRlcikgPT4ge1xuICAgICAgaWYgKHBhcmFtZXRlciAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLnJlc29sdmVQYXJhbWV0ZXIocGFyYW1ldGVyLCB2YWx1ZSwgY29udGV4dCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5yZXNvbHZlZCB0aGUgJyR7b2JqZWN0QXNzaWdubWVudFN0cmluZ30nIG9iamVjdCBhc3NpZ25tZW50LmApO1xuICB9XG5cbiAgcmVzb2x2ZVBhcmFtZXRlcihwYXJhbWV0ZXIsIHZhbHVlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICBwYXJhbWV0ZXJTdHJpbmcgPSBwYXJhbWV0ZXIuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBSZXNvbHZpbmcgdGhlICcke3BhcmFtZXRlclN0cmluZ30nIHBhcmFtZXRlciBhZ2FpbnN0IHRoZSAke3ZhbHVlU3RyaW5nfSB2YWx1ZS4uLmApO1xuXG4gICAgY29uc3QgbmFtZSA9IHBhcmFtZXRlci5nZXROYW1lKCk7XG5cbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgQ09OVEVOVF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICB0aGlzLnJlc29sdmVDb250ZW50UGFyYW1ldGVyKHBhcmFtZXRlciwgdmFsdWUsIGNvbnRleHQpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIFRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIHRoaXMucmVzb2x2ZVRlcm1pbmFsUGFyYW1ldGVyKHBhcmFtZXRlciwgdmFsdWUsIGNvbnRleHQpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIENISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIHRoaXMucmVzb2x2ZUNoaWxkTm9kZXNQYXJhbWV0ZXIocGFyYW1ldGVyLCB2YWx1ZSwgY29udGV4dCk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4ucmVzb2x2ZWQgdGhlICcke3BhcmFtZXRlclN0cmluZ30nIHBhcmFtZXRlciBhZ2FpbnN0IHRoZSAke3ZhbHVlU3RyaW5nfSB2YWx1ZS5gKTtcbiAgfVxuXG4gIHJlc29sdmVDb250ZW50UGFyYW1ldGVyKHBhcmFtZXRlciwgdmFsdWUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gcGFyYW1ldGVyLmdldFR5cGUoKTtcblxuICAgIGlmICh0eXBlICE9PSBTVFJJTkdfVFlQRSkge1xuICAgICAgY29uc3QgcGFyYW1ldGVyU3RyaW5nID0gcGFyYW1ldGVyLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7cGFyYW1ldGVyU3RyaW5nfScgcGFyYW1ldGVyJ3MgdHlwZSBzaG91bGQgYmUgJyR7U1RSSU5HX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZSA9IHZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHt2YWx1ZVN0cmluZ30gdmFsdWUncyBub2RlIG11c3QgYmUgdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHsgVmFsdWUsIFZhcmlhYmxlLCBBc3NpZ25tZW50IH0gPSBkb20sXG4gICAgICAgICAgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIHN0cmluZyA9IGNvbnRlbnQ7ICAvLy9cblxuICAgIHZhbHVlID0gVmFsdWUuZnJvbVN0cmluZyhzdHJpbmcsIGNvbnRleHQpOyAgLy8vXG5cbiAgICBjb25zdCBhc3NpZ25tZW50ID0gQXNzaWdubWVudC5mcm9tVmFsdWUodmFsdWUsIGNvbnRleHQpLFxuICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVBhcmFtZXRlckFuZEFzc2lnbm1lbnQocGFyYW1ldGVyLCBhc3NpZ25tZW50KTtcblxuICAgIGNvbnRleHQuYWRkVmFyaWFibGUodmFyaWFibGUpO1xuXG4gICAgdmFyaWFibGUuYXNzaWduKGNvbnRleHQpO1xuICB9XG5cbiAgcmVzb2x2ZVRlcm1pbmFsUGFyYW1ldGVyKHBhcmFtZXRlciwgdmFsdWUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gcGFyYW1ldGVyLmdldFR5cGUoKTtcblxuICAgIGlmICh0eXBlICE9PSBCT09MRUFOX1RZUEUpIHtcbiAgICAgIGNvbnN0IHBhcmFtZXRlclN0cmluZyA9IHBhcmFtZXRlci5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3BhcmFtZXRlclN0cmluZ30nIHBhcmFtZXRlcidzIHR5cGUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gdmFsdWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgdGVybWluYWwgPSBub2RlVGVybWluYWxOb2RlOyAgLy8vXG5cbiAgICBjb25zdCB7IFZhbHVlLCBWYXJpYWJsZSwgQXNzaWdubWVudCB9ID0gZG9tLFxuICAgICAgICAgIGJvb2xlYW4gPSB0ZXJtaW5hbDsgLy8vXG5cbiAgICB2YWx1ZSA9IFZhbHVlLmZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpOyAgLy8vXG5cbiAgICBjb25zdCBhc3NpZ25tZW50ID0gQXNzaWdubWVudC5mcm9tVmFsdWUodmFsdWUsIGNvbnRleHQpLFxuICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVBhcmFtZXRlckFuZEFzc2lnbm1lbnQocGFyYW1ldGVyLCBhc3NpZ25tZW50KTtcblxuICAgIGNvbnRleHQuYWRkVmFyaWFibGUodmFyaWFibGUpO1xuXG4gICAgdmFyaWFibGUuYXNzaWduKGNvbnRleHQpO1xuICB9XG5cbiAgcmVzb2x2ZUNoaWxkTm9kZXNQYXJhbWV0ZXIocGFyYW1ldGVyLCB2YWx1ZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBwYXJhbWV0ZXIuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHR5cGUgIT09IE5PREVTX1RZUEUpIHtcbiAgICAgIGNvbnN0IHBhcmFtZXRlclN0cmluZyA9IHBhcmFtZXRlci5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3BhcmFtZXRlclN0cmluZ30nIHBhcmFtZXRlcidzIHR5cGUgc2hvdWxkIGJlICcke05PREVTX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZSA9IHZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlTm9uVGVybWluYWxOb2RlID0gbm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHt2YWx1ZVN0cmluZ30gdmFsdWUncyBub2RlIG11c3QgYmUgbm9uLXRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCB7IFZhbHVlLCBWYXJpYWJsZSwgQXNzaWdubWVudCB9ID0gZG9tLFxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXM7ICAvLy9cblxuICAgIHZhbHVlID0gVmFsdWUuZnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KTsgIC8vL1xuXG4gICAgY29uc3QgYXNzaWdubWVudCA9IEFzc2lnbm1lbnQuZnJvbVZhbHVlKHZhbHVlLCBjb250ZXh0KSxcbiAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21QYXJhbWV0ZXJBbmRBc3NpZ25tZW50KHBhcmFtZXRlciwgYXNzaWdubWVudCk7XG5cbiAgICBjb250ZXh0LmFkZFZhcmlhYmxlKHZhcmlhYmxlKTtcblxuICAgIHZhcmlhYmxlLmFzc2lnbihjb250ZXh0KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJPYmplY3RBc3NpZ21lbnRcIjtcblxuICBzdGF0aWMgZnJvbVN0ZXBOb2RlKHN0ZXBOb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IG9iamVjdEFzc2lnbm1lbnQgPSBudWxsO1xuXG4gICAgY29uc3Qgb2JqZWN0QXNzaWdubWVudE5vZGUgPSBvYmplY3RBc3NpZ25tZW50Tm9kZVF1ZXJ5KHN0ZXBOb2RlKTtcblxuICAgIGlmIChvYmplY3RBc3NpZ25tZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBWYXJpYWJsZSwgUGFyYW1ldGVycyB9ID0gZG9tLFxuICAgICAgICAgICAgbm9kZSA9IG9iamVjdEFzc2lnbm1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbU9iamVjdEFzc2lnbm1lbnROb2RlKG9iamVjdEFzc2lnbm1lbnROb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHBhcmFtZXRlcnMgPSBQYXJhbWV0ZXJzLmZyb21PYmplY3RBc3NpZ25tZW50Tm9kZShvYmplY3RBc3NpZ25tZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgICAgIG9iamVjdEFzc2lnbm1lbnQgPSBuZXcgT2JqZWN0QXNzaWdtZW50KHN0cmluZywgdmFyaWFibGUsIHBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIHJldHVybiBvYmplY3RBc3NpZ25tZW50O1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJvYmplY3RBc3NpZ25tZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJPYmplY3RBc3NpZ21lbnQiLCJzdHJpbmciLCJ2YXJpYWJsZSIsInBhcmFtZXRlcnMiLCJnZXRTdHJpbmciLCJnZXRWYXJpYWJsZSIsImdldFBhcmFtZXRlcnMiLCJyZXNvbHZlIiwiY29udGV4dCIsIm9iamVjdEFzc2lnbm1lbnRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsIk5PREVfVFlQRSIsInZhbHVlU3RyaW5nIiwiYXNTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJub2RlUGFyYW1ldGVycyIsIm1hdGNoUGFyYW1ldGVycyIsImZvckVhY2hQYXJhbWV0ZXIiLCJwYXJhbWV0ZXIiLCJyZXNvbHZlUGFyYW1ldGVyIiwiZGVidWciLCJwYXJhbWV0ZXJTdHJpbmciLCJuYW1lIiwiZ2V0TmFtZSIsIkNPTlRFTlRfUEFSQU1FVEVSX05BTUUiLCJyZXNvbHZlQ29udGVudFBhcmFtZXRlciIsIlRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FIiwicmVzb2x2ZVRlcm1pbmFsUGFyYW1ldGVyIiwiQ0hJTERfTk9ERVNfUEFSQU1FVEVSX05BTUUiLCJyZXNvbHZlQ2hpbGROb2Rlc1BhcmFtZXRlciIsInR5cGUiLCJTVFJJTkdfVFlQRSIsIm5vZGUiLCJnZXROb2RlIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwiVmFsdWUiLCJkb20iLCJWYXJpYWJsZSIsIkFzc2lnbm1lbnQiLCJ0ZXJtaW5hbE5vZGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsImZyb21TdHJpbmciLCJhc3NpZ25tZW50IiwiZnJvbVZhbHVlIiwiZnJvbVBhcmFtZXRlckFuZEFzc2lnbm1lbnQiLCJhZGRWYXJpYWJsZSIsImFzc2lnbiIsIkJPT0xFQU5fVFlQRSIsInRlcm1pbmFsIiwiYm9vbGVhbiIsImZyb21Cb29sZWFuIiwiTk9ERVNfVFlQRSIsIm5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwibm9kZXMiLCJmcm9tTm9kZXMiLCJmcm9tU3RlcE5vZGUiLCJzdGVwTm9kZSIsIm9iamVjdEFzc2lnbm1lbnQiLCJvYmplY3RBc3NpZ25tZW50Tm9kZSIsIlBhcmFtZXRlcnMiLCJub2RlQXNTdHJpbmciLCJmcm9tT2JqZWN0QXNzaWdubWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFBOzs7ZUFBQTs7OzJEQVhnQjtnRUFDTTsyREFDSztxQkFFRDtxQkFFdUM7OEJBQzJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RixJQUFNQSw0QkFBNEJDLElBQUFBLGdCQUFTLEVBQUM7SUFFNUMsV0FBZUMsSUFBQUEsZ0JBQVcsb0NBQUM7YUFBTUMsZ0JBQ25CQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsVUFBVTtnQ0FEVEg7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTs7OztZ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
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
12
+ var _query = require("../../utilities/query");
13
+ function _class_call_check(instance, Constructor) {
14
+ if (!(instance instanceof Constructor)) {
15
+ throw new TypeError("Cannot call a class as a function");
16
+ }
17
+ }
18
+ function _defineProperties(target, props) {
19
+ for(var i = 0; i < props.length; i++){
20
+ var descriptor = props[i];
21
+ descriptor.enumerable = descriptor.enumerable || false;
22
+ descriptor.configurable = true;
23
+ if ("value" in descriptor) descriptor.writable = true;
24
+ Object.defineProperty(target, descriptor.key, descriptor);
25
+ }
26
+ }
27
+ function _create_class(Constructor, protoProps, staticProps) {
28
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
+ if (staticProps) _defineProperties(Constructor, staticProps);
30
+ return Constructor;
31
+ }
32
+ function _define_property(obj, key, value) {
33
+ if (key in obj) {
34
+ Object.defineProperty(obj, key, {
35
+ value: value,
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true
39
+ });
40
+ } else {
41
+ obj[key] = value;
42
+ }
43
+ return obj;
44
+ }
45
+ function _getRequireWildcardCache(nodeInterop) {
46
+ if (typeof WeakMap !== "function") return null;
47
+ var cacheBabelInterop = new WeakMap();
48
+ var cacheNodeInterop = new WeakMap();
49
+ return (_getRequireWildcardCache = function(nodeInterop) {
50
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
51
+ })(nodeInterop);
52
+ }
53
+ function _interop_require_wildcard(obj, nodeInterop) {
54
+ if (!nodeInterop && obj && obj.__esModule) {
55
+ return obj;
56
+ }
57
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
58
+ return {
59
+ default: obj
60
+ };
61
+ }
62
+ var cache = _getRequireWildcardCache(nodeInterop);
63
+ if (cache && cache.has(obj)) {
64
+ return cache.get(obj);
65
+ }
66
+ var newObj = {
67
+ __proto__: null
68
+ };
69
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
70
+ for(var key in obj){
71
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
72
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
73
+ if (desc && (desc.get || desc.set)) {
74
+ Object.defineProperty(newObj, key, desc);
75
+ } else {
76
+ newObj[key] = obj[key];
77
+ }
78
+ }
79
+ }
80
+ newObj.default = obj;
81
+ if (cache) {
82
+ cache.set(obj, newObj);
83
+ }
84
+ return newObj;
85
+ }
86
+ var _NegatedCondition;
87
+ var conditionNodeQuery = (0, _query.nodeQuery)("/negatedCondition/condition"), negatedConditionNodeQuery = (0, _query.nodeQuery)("/condition/negatedCondition");
88
+ var _default = (0, _dom.domAssigned)((_NegatedCondition = /*#__PURE__*/ function() {
89
+ function NegatedCondition(string, condition) {
90
+ _class_call_check(this, NegatedCondition);
91
+ this.string = string;
92
+ this.condition = condition;
93
+ }
94
+ _create_class(NegatedCondition, [
95
+ {
96
+ key: "getString",
97
+ value: function getString() {
98
+ debugger;
99
+ }
100
+ },
101
+ {
102
+ key: "getCondition",
103
+ value: function getCondition() {
104
+ return this.condition;
105
+ }
106
+ },
107
+ {
108
+ key: "resolve",
109
+ value: function resolve(context) {
110
+ var value;
111
+ var negatedConditionString = this.string; ///
112
+ context.trace("Resolving the '".concat(negatedConditionString, "' negated condition..."));
113
+ value = this.condition.resolve(context);
114
+ var boolean = value.getBoolean();
115
+ boolean = !boolean;
116
+ var Value = _dom.default.Value;
117
+ value = Value.fromBoolean(boolean, context); ///
118
+ context.debug("...resolved the '".concat(negatedConditionString, "' negated condition."));
119
+ return value;
120
+ }
121
+ }
122
+ ], [
123
+ {
124
+ key: "fromConditionNode",
125
+ value: function fromConditionNode(conditionNode, context) {
126
+ var negatedCondition = null;
127
+ var negatedConditionNode = negatedConditionNodeQuery(conditionNode);
128
+ if (negatedConditionNode !== null) {
129
+ var Condition = _dom.default.Condition, node = negatedConditionNode, string = context.nodeAsString(node), _$conditionNode = conditionNodeQuery(negatedConditionNode), condition = Condition.fromConditionNode(_$conditionNode, context);
130
+ negatedCondition = new NegatedCondition(string, condition);
131
+ }
132
+ return negatedCondition;
133
+ }
134
+ }
135
+ ]);
136
+ return NegatedCondition;
137
+ }(), _define_property(_NegatedCondition, "name", "NegatedCondition"), _NegatedCondition));
138
+
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vY29uZGl0aW9uL25lZ2F0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi8uLi9kb21cIjtcblxuY29uc3QgY29uZGl0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL25lZ2F0ZWRDb25kaXRpb24vY29uZGl0aW9uXCIpLFxuICAgICAgbmVnYXRlZENvbmRpdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25kaXRpb24vbmVnYXRlZENvbmRpdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgTmVnYXRlZENvbmRpdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgY29uZGl0aW9uKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy5jb25kaXRpb24gPSBjb25kaXRpb247XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgZGVidWdnZXJcbiAgfVxuXG4gIGdldENvbmRpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25kaXRpb247XG4gIH1cblxuICByZXNvbHZlKGNvbnRleHQpIHtcbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCBuZWdhdGVkQ29uZGl0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgUmVzb2x2aW5nIHRoZSAnJHtuZWdhdGVkQ29uZGl0aW9uU3RyaW5nfScgbmVnYXRlZCBjb25kaXRpb24uLi5gKTtcblxuICAgIHZhbHVlID0gdGhpcy5jb25kaXRpb24ucmVzb2x2ZShjb250ZXh0KTtcblxuICAgIGxldCBib29sZWFuID0gdmFsdWUuZ2V0Qm9vbGVhbigpO1xuXG4gICAgYm9vbGVhbiA9ICFib29sZWFuO1xuXG4gICAgY29uc3QgeyBWYWx1ZSB9ID0gZG9tO1xuXG4gICAgdmFsdWUgPSBWYWx1ZS5mcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KTsgIC8vL1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4ucmVzb2x2ZWQgdGhlICcke25lZ2F0ZWRDb25kaXRpb25TdHJpbmd9JyBuZWdhdGVkIGNvbmRpdGlvbi5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJOZWdhdGVkQ29uZGl0aW9uXCI7XG5cbiAgc3RhdGljIGZyb21Db25kaXRpb25Ob2RlKGNvbmRpdGlvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgbmVnYXRlZENvbmRpdGlvbiA9IG51bGw7XG5cbiAgICBjb25zdCBuZWdhdGVkQ29uZGl0aW9uTm9kZSA9IG5lZ2F0ZWRDb25kaXRpb25Ob2RlUXVlcnkoY29uZGl0aW9uTm9kZSk7XG5cbiAgICBpZiAobmVnYXRlZENvbmRpdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHsgQ29uZGl0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICBub2RlID0gbmVnYXRlZENvbmRpdGlvbk5vZGUsICAvL1xuICAgICAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgICAgICBjb25kaXRpb25Ob2RlID0gY29uZGl0aW9uTm9kZVF1ZXJ5KG5lZ2F0ZWRDb25kaXRpb25Ob2RlKSxcbiAgICAgICAgICAgIGNvbmRpdGlvbiA9IENvbmRpdGlvbi5mcm9tQ29uZGl0aW9uTm9kZShjb25kaXRpb25Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgbmVnYXRlZENvbmRpdGlvbiA9IG5ldyBOZWdhdGVkQ29uZGl0aW9uKHN0cmluZywgY29uZGl0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmVnYXRlZENvbmRpdGlvbjtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiY29uZGl0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibmVnYXRlZENvbmRpdGlvbk5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiTmVnYXRlZENvbmRpdGlvbiIsInN0cmluZyIsImNvbmRpdGlvbiIsImdldFN0cmluZyIsImdldENvbmRpdGlvbiIsInJlc29sdmUiLCJjb250ZXh0IiwidmFsdWUiLCJuZWdhdGVkQ29uZGl0aW9uU3RyaW5nIiwidHJhY2UiLCJib29sZWFuIiwiZ2V0Qm9vbGVhbiIsIlZhbHVlIiwiZG9tIiwiZnJvbUJvb2xlYW4iLCJkZWJ1ZyIsImZyb21Db25kaXRpb25Ob2RlIiwiY29uZGl0aW9uTm9kZSIsIm5lZ2F0ZWRDb25kaXRpb24iLCJuZWdhdGVkQ29uZGl0aW9uTm9kZSIsIkNvbmRpdGlvbiIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQUE7OzsyREFSZ0I7cUJBRVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUcxQixJQUFNQSxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMsZ0NBQy9CQyw0QkFBNEJELElBQUFBLGdCQUFTLEVBQUM7SUFFNUMsV0FBZUUsSUFBQUEsZ0JBQVcscUNBQUM7YUFBTUMsaUJBQ25CQyxNQUFNLEVBQUVDLFNBQVM7Z0NBREVGO1FBRTdCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTs7OztZQUduQkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLFFBQVE7WUFDVjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsU0FBUztZQUN2Qjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxRQUFRQyxPQUFPO2dCQUNiLElBQUlDO2dCQUVKLElBQU1DLHlCQUF5QixJQUFJLENBQUNQLE1BQU0sRUFBRSxHQUFHO2dCQUUvQ0ssUUFBUUcsS0FBSyxDQUFDLEFBQUMsa0JBQXdDLE9BQXZCRCx3QkFBdUI7Z0JBRXZERCxRQUFRLElBQUksQ0FBQ0wsU0FBUyxDQUFDRyxPQUFPLENBQUNDO2dCQUUvQixJQUFJSSxVQUFVSCxNQUFNSSxVQUFVO2dCQUU5QkQsVUFBVSxDQUFDQTtnQkFFWCxJQUFNLEFBQUVFLFFBQVVDLFlBQUcsQ0FBYkQ7Z0JBRVJMLFFBQVFLLE1BQU1FLFdBQVcsQ0FBQ0osU0FBU0osVUFBVyxHQUFHO2dCQUVqREEsUUFBUVMsS0FBSyxDQUFDLEFBQUMsb0JBQTBDLE9BQXZCUCx3QkFBdUI7Z0JBRXpELE9BQU9EO1lBQ1Q7Ozs7WUFJT1MsS0FBQUE7bUJBQVAsU0FBT0Esa0JBQWtCQyxhQUFhLEVBQUVYLE9BQU87Z0JBQzdDLElBQUlZLG1CQUFtQjtnQkFFdkIsSUFBTUMsdUJBQXVCckIsMEJBQTBCbUI7Z0JBRXZELElBQUlFLHlCQUF5QixNQUFNO29CQUNqQyxJQUFNLEFBQUVDLFlBQWNQLFlBQUcsQ0FBakJPLFdBQ0ZDLE9BQU9GLHNCQUNQbEIsU0FBU0ssUUFBUWdCLFlBQVksQ0FBQ0QsT0FDOUJKLGtCQUFnQnJCLG1CQUFtQnVCLHVCQUNuQ2pCLFlBQVlrQixVQUFVSixpQkFBaUIsQ0FBQ0MsaUJBQWVYO29CQUU3RFksbUJBQW1CLElBQUlsQixpQkFBaUJDLFFBQVFDO2dCQUNsRDtnQkFFQSxPQUFPZ0I7WUFDVDs7OztLQWxCQSxvQ0FBT0ssUUFBTyJ9
@@ -91,14 +91,15 @@ function _interop_require_wildcard(obj, nodeInterop) {
91
91
  return newObj;
92
92
  }
93
93
  var _Condition;
94
- var conditionNodeQuery = (0, _query.nodeQuery)("/conditionalBlock/condition");
94
+ var conditionNodeQuery = (0, _query.nodeQuery)("/conditionalBlocks/condition");
95
95
  var _default = (0, _dom.domAssigned)((_Condition = /*#__PURE__*/ function() {
96
- function Condition(string, value, comparison, bitwiseCondition, bracketedCondition) {
96
+ function Condition(string, value, comparison, bitwiseCondition, negatedCondition, bracketedCondition) {
97
97
  _class_call_check(this, Condition);
98
98
  this.string = string;
99
99
  this.value = value;
100
100
  this.comparison = comparison;
101
101
  this.bitwiseCondition = bitwiseCondition;
102
+ this.negatedCondition = negatedCondition;
102
103
  this.bracketedCondition = bracketedCondition;
103
104
  }
104
105
  _create_class(Condition, [
@@ -126,6 +127,12 @@ var _default = (0, _dom.domAssigned)((_Condition = /*#__PURE__*/ function() {
126
127
  return this.bitwiseCondition;
127
128
  }
128
129
  },
130
+ {
131
+ key: "getNegatedCondition",
132
+ value: function getNegatedCondition() {
133
+ return this.negatedCondition;
134
+ }
135
+ },
129
136
  {
130
137
  key: "getBracketedCondition",
131
138
  value: function getBracketedCondition() {
@@ -152,6 +159,9 @@ var _default = (0, _dom.domAssigned)((_Condition = /*#__PURE__*/ function() {
152
159
  if (this.bitwiseCondition !== null) {
153
160
  value = this.bitwiseCondition.resolve(context);
154
161
  }
162
+ if (this.negatedCondition !== null) {
163
+ value = this.negatedCondition.resolve(context);
164
+ }
155
165
  if (this.bracketedCondition !== null) {
156
166
  value = this.bracketedCondition.resolve(context);
157
167
  }
@@ -163,14 +173,14 @@ var _default = (0, _dom.domAssigned)((_Condition = /*#__PURE__*/ function() {
163
173
  {
164
174
  key: "fromConditionNode",
165
175
  value: function fromConditionNode(conditionNode, context) {
166
- var Value = _dom.default.Value, Comparison = _dom.default.Comparison, BitwiseCondition = _dom.default.BitwiseCondition, BracketedCondition = _dom.default.BracketedCondition, node = conditionNode, string = context.nodeAsString(node), value = Value.fromConditionNode(conditionNode, context), comparison = Comparison.fromConditionNode(conditionNode, context), bitwiseCondition = BitwiseCondition.fromConditionNode(conditionNode, context), bracketedCondition = BracketedCondition.fromConditionNode(conditionNode, context), condition = new Condition(string, value, comparison, bitwiseCondition, bracketedCondition);
176
+ var Value = _dom.default.Value, Comparison = _dom.default.Comparison, BitwiseCondition = _dom.default.BitwiseCondition, NegatedCondition = _dom.default.NegatedCondition, BracketedCondition = _dom.default.BracketedCondition, node = conditionNode, string = context.nodeAsString(node), value = Value.fromConditionNode(conditionNode, context), comparison = Comparison.fromConditionNode(conditionNode, context), bitwiseCondition = BitwiseCondition.fromConditionNode(conditionNode, context), negatedCondition = NegatedCondition.fromConditionNode(conditionNode, context), bracketedCondition = BracketedCondition.fromConditionNode(conditionNode, context), condition = new Condition(string, value, comparison, bitwiseCondition, negatedCondition, bracketedCondition);
167
177
  return condition;
168
178
  }
169
179
  },
170
180
  {
171
- key: "fromConditionalBlockNode",
172
- value: function fromConditionalBlockNode(conditionalBlockNode, context) {
173
- var Value = _dom.default.Value, Comparison = _dom.default.Comparison, BitwiseCondition = _dom.default.BitwiseCondition, BracketedCondition = _dom.default.BracketedCondition, conditionNode = conditionNodeQuery(conditionalBlockNode), node = conditionNode, string = context.nodeAsString(node), value = Value.fromConditionNode(conditionNode, context), comparison = Comparison.fromConditionNode(conditionNode, context), bitwiseCondition = BitwiseCondition.fromConditionNode(conditionNode, context), bracketedCondition = BracketedCondition.fromConditionNode(conditionNode, context), condition = new Condition(string, value, comparison, bitwiseCondition, bracketedCondition);
181
+ key: "fromConditionalBlocksNode",
182
+ value: function fromConditionalBlocksNode(conditionalBlocksNode, context) {
183
+ var Value = _dom.default.Value, Comparison = _dom.default.Comparison, BitwiseCondition = _dom.default.BitwiseCondition, NegatedCondition = _dom.default.NegatedCondition, BracketedCondition = _dom.default.BracketedCondition, conditionNode = conditionNodeQuery(conditionalBlocksNode), node = conditionNode, string = context.nodeAsString(node), value = Value.fromConditionNode(conditionNode, context), comparison = Comparison.fromConditionNode(conditionNode, context), bitwiseCondition = BitwiseCondition.fromConditionNode(conditionNode, context), negatedCondition = NegatedCondition.fromConditionNode(conditionNode, context), bracketedCondition = BracketedCondition.fromConditionNode(conditionNode, context), condition = new Condition(string, value, comparison, bitwiseCondition, negatedCondition, bracketedCondition);
174
184
  return condition;
175
185
  }
176
186
  }
@@ -178,4 +188,4 @@ var _default = (0, _dom.domAssigned)((_Condition = /*#__PURE__*/ function() {
178
188
  return Condition;
179
189
  }(), _define_property(_Condition, "name", "Condition"), _Condition));
180
190
 
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vY29uZGl0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCB7IEJPT0xFQU5fVFlQRSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5jb25zdCBjb25kaXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uZGl0aW9uYWxCbG9jay9jb25kaXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIENvbmRpdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdmFsdWUsIGNvbXBhcmlzb24sIGJpdHdpc2VDb25kaXRpb24sIGJyYWNrZXRlZENvbmRpdGlvbikge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmNvbXBhcmlzb24gPSBjb21wYXJpc29uO1xuICAgIHRoaXMuYml0d2lzZUNvbmRpdGlvbiA9IGJpdHdpc2VDb25kaXRpb247XG4gICAgdGhpcy5icmFja2V0ZWRDb25kaXRpb24gPSBicmFja2V0ZWRDb25kaXRpb247XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBnZXRDb21wYXJpc29uKCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBhcmlzb247XG4gIH1cblxuICBnZXRCaXR3aXNlQ29uZGl0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmJpdHdpc2VDb25kaXRpb247XG4gIH1cblxuICBnZXRCcmFja2V0ZWRDb25kaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYnJhY2tldGVkQ29uZGl0aW9uO1xuICB9XG5cbiAgcmVzb2x2ZShjb250ZXh0KSB7XG4gICAgbGV0IHZhbHVlO1xuXG4gICAgY29uc3QgY29uZGl0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFJlc29sdmluZyB0aGUgJyR7Y29uZGl0aW9uU3RyaW5nfScgY29uZGl0aW9uLi4uYCk7XG5cbiAgICBpZiAodGhpcy52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnZhbHVlLnJlc29sdmUoY29udGV4dCk7XG5cbiAgICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKTtcblxuICAgICAgaWYgKHZhbHVlVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlVHlwZX0nIHR5cGUgb2YgdGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRX0nYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb21wYXJpc29uICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuY29tcGFyaXNvbi5yZXNvbHZlKGNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJpdHdpc2VDb25kaXRpb24gIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5iaXR3aXNlQ29uZGl0aW9uLnJlc29sdmUoY29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYnJhY2tldGVkQ29uZGl0aW9uICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuYnJhY2tldGVkQ29uZGl0aW9uLnJlc29sdmUoY29udGV4dCk7XG4gICAgfVxuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4ucmVzb2x2ZWQgdGhlICcke2NvbmRpdGlvblN0cmluZ30nIGNvbmRpdGlvbi5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJDb25kaXRpb25cIjtcblxuICBzdGF0aWMgZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgVmFsdWUsIENvbXBhcmlzb24sIEJpdHdpc2VDb25kaXRpb24sIEJyYWNrZXRlZENvbmRpdGlvbiB9ID0gZG9tLFxuICAgICAgICAgIG5vZGUgPSBjb25kaXRpb25Ob2RlLCAvLy9cbiAgICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgICB2YWx1ZSA9IFZhbHVlLmZyb21Db25kaXRpb25Ob2RlKGNvbmRpdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIGNvbXBhcmlzb24gPSBDb21wYXJpc29uLmZyb21Db25kaXRpb25Ob2RlKGNvbmRpdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIGJpdHdpc2VDb25kaXRpb24gPSBCaXR3aXNlQ29uZGl0aW9uLmZyb21Db25kaXRpb25Ob2RlKGNvbmRpdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIGJyYWNrZXRlZENvbmRpdGlvbiA9IEJyYWNrZXRlZENvbmRpdGlvbi5mcm9tQ29uZGl0aW9uTm9kZShjb25kaXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBjb25kaXRpb24gPSBuZXcgQ29uZGl0aW9uKHN0cmluZywgdmFsdWUsIGNvbXBhcmlzb24sIGJpdHdpc2VDb25kaXRpb24sIGJyYWNrZXRlZENvbmRpdGlvbik7XG5cbiAgICByZXR1cm4gY29uZGl0aW9uO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db25kaXRpb25hbEJsb2NrTm9kZShjb25kaXRpb25hbEJsb2NrTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgVmFsdWUsIENvbXBhcmlzb24sIEJpdHdpc2VDb25kaXRpb24sIEJyYWNrZXRlZENvbmRpdGlvbiB9ID0gZG9tLFxuICAgICAgICAgIGNvbmRpdGlvbk5vZGUgPSBjb25kaXRpb25Ob2RlUXVlcnkoY29uZGl0aW9uYWxCbG9ja05vZGUpLFxuICAgICAgICAgIG5vZGUgPSBjb25kaXRpb25Ob2RlLCAvLy9cbiAgICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgICB2YWx1ZSA9IFZhbHVlLmZyb21Db25kaXRpb25Ob2RlKGNvbmRpdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIGNvbXBhcmlzb24gPSBDb21wYXJpc29uLmZyb21Db25kaXRpb25Ob2RlKGNvbmRpdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIGJpdHdpc2VDb25kaXRpb24gPSBCaXR3aXNlQ29uZGl0aW9uLmZyb21Db25kaXRpb25Ob2RlKGNvbmRpdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIGJyYWNrZXRlZENvbmRpdGlvbiA9IEJyYWNrZXRlZENvbmRpdGlvbi5mcm9tQ29uZGl0aW9uTm9kZShjb25kaXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBjb25kaXRpb24gPSBuZXcgQ29uZGl0aW9uKHN0cmluZywgdmFsdWUsIGNvbXBhcmlzb24sIGJpdHdpc2VDb25kaXRpb24sIGJyYWNrZXRlZENvbmRpdGlvbik7XG5cbiAgICByZXR1cm4gY29uZGl0aW9uO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJjb25kaXRpb25Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIkNvbmRpdGlvbiIsInN0cmluZyIsInZhbHVlIiwiY29tcGFyaXNvbiIsImJpdHdpc2VDb25kaXRpb24iLCJicmFja2V0ZWRDb25kaXRpb24iLCJnZXRTdHJpbmciLCJnZXRWYWx1ZSIsImdldENvbXBhcmlzb24iLCJnZXRCaXR3aXNlQ29uZGl0aW9uIiwiZ2V0QnJhY2tldGVkQ29uZGl0aW9uIiwicmVzb2x2ZSIsImNvbnRleHQiLCJjb25kaXRpb25TdHJpbmciLCJ0cmFjZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJCT09MRUFOX1RZUEUiLCJ2YWx1ZVN0cmluZyIsImFzU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwiZGVidWciLCJmcm9tQ29uZGl0aW9uTm9kZSIsImNvbmRpdGlvbk5vZGUiLCJWYWx1ZSIsImRvbSIsIkNvbXBhcmlzb24iLCJCaXR3aXNlQ29uZGl0aW9uIiwiQnJhY2tldGVkQ29uZGl0aW9uIiwibm9kZSIsIm5vZGVBc1N0cmluZyIsImNvbmRpdGlvbiIsImZyb21Db25kaXRpb25hbEJsb2NrTm9kZSIsImNvbmRpdGlvbmFsQmxvY2tOb2RlIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUFBOzs7MkRBVGdCO2dFQUNNO3FCQUVJO3FCQUVHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QixJQUFNQSxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7SUFFckMsV0FBZUMsSUFBQUEsZ0JBQVcsOEJBQUM7YUFBTUMsVUFDbkJDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxVQUFVLEVBQUVDLGdCQUFnQixFQUFFQyxrQkFBa0I7Z0NBRDVDTDtRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxnQkFBZ0IsR0FBR0E7UUFDeEIsSUFBSSxDQUFDQyxrQkFBa0IsR0FBR0E7Ozs7WUFHNUJDLEtB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
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vY29uZGl0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCB7IEJPT0xFQU5fVFlQRSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5jb25zdCBjb25kaXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uZGl0aW9uYWxCbG9ja3MvY29uZGl0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBDb25kaXRpb24ge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHZhbHVlLCBjb21wYXJpc29uLCBiaXR3aXNlQ29uZGl0aW9uLCBuZWdhdGVkQ29uZGl0aW9uLCBicmFja2V0ZWRDb25kaXRpb24pIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jb21wYXJpc29uID0gY29tcGFyaXNvbjtcbiAgICB0aGlzLmJpdHdpc2VDb25kaXRpb24gPSBiaXR3aXNlQ29uZGl0aW9uO1xuICAgIHRoaXMubmVnYXRlZENvbmRpdGlvbiA9IG5lZ2F0ZWRDb25kaXRpb247XG4gICAgdGhpcy5icmFja2V0ZWRDb25kaXRpb24gPSBicmFja2V0ZWRDb25kaXRpb247XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBnZXRDb21wYXJpc29uKCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBhcmlzb247XG4gIH1cblxuICBnZXRCaXR3aXNlQ29uZGl0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmJpdHdpc2VDb25kaXRpb247XG4gIH1cblxuICBnZXROZWdhdGVkQ29uZGl0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLm5lZ2F0ZWRDb25kaXRpb247XG4gIH1cblxuICBnZXRCcmFja2V0ZWRDb25kaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYnJhY2tldGVkQ29uZGl0aW9uO1xuICB9XG5cbiAgcmVzb2x2ZShjb250ZXh0KSB7XG4gICAgbGV0IHZhbHVlO1xuXG4gICAgY29uc3QgY29uZGl0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFJlc29sdmluZyB0aGUgJyR7Y29uZGl0aW9uU3RyaW5nfScgY29uZGl0aW9uLi4uYCk7XG5cbiAgICBpZiAodGhpcy52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnZhbHVlLnJlc29sdmUoY29udGV4dCk7XG5cbiAgICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKTtcblxuICAgICAgaWYgKHZhbHVlVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlVHlwZX0nIHR5cGUgb2YgdGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRX0nYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb21wYXJpc29uICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuY29tcGFyaXNvbi5yZXNvbHZlKGNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJpdHdpc2VDb25kaXRpb24gIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5iaXR3aXNlQ29uZGl0aW9uLnJlc29sdmUoY29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubmVnYXRlZENvbmRpdGlvbiAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLm5lZ2F0ZWRDb25kaXRpb24ucmVzb2x2ZShjb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5icmFja2V0ZWRDb25kaXRpb24gIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5icmFja2V0ZWRDb25kaXRpb24ucmVzb2x2ZShjb250ZXh0KTtcbiAgICB9XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5yZXNvbHZlZCB0aGUgJyR7Y29uZGl0aW9uU3RyaW5nfScgY29uZGl0aW9uLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkNvbmRpdGlvblwiO1xuXG4gIHN0YXRpYyBmcm9tQ29uZGl0aW9uTm9kZShjb25kaXRpb25Ob2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgeyBWYWx1ZSwgQ29tcGFyaXNvbiwgQml0d2lzZUNvbmRpdGlvbiwgTmVnYXRlZENvbmRpdGlvbiwgQnJhY2tldGVkQ29uZGl0aW9uIH0gPSBkb20sXG4gICAgICAgICAgbm9kZSA9IGNvbmRpdGlvbk5vZGUsIC8vL1xuICAgICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgIHZhbHVlID0gVmFsdWUuZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgY29tcGFyaXNvbiA9IENvbXBhcmlzb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYml0d2lzZUNvbmRpdGlvbiA9IEJpdHdpc2VDb25kaXRpb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgbmVnYXRlZENvbmRpdGlvbiA9IE5lZ2F0ZWRDb25kaXRpb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYnJhY2tldGVkQ29uZGl0aW9uID0gQnJhY2tldGVkQ29uZGl0aW9uLmZyb21Db25kaXRpb25Ob2RlKGNvbmRpdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIGNvbmRpdGlvbiA9IG5ldyBDb25kaXRpb24oc3RyaW5nLCB2YWx1ZSwgY29tcGFyaXNvbiwgYml0d2lzZUNvbmRpdGlvbiwgbmVnYXRlZENvbmRpdGlvbiwgYnJhY2tldGVkQ29uZGl0aW9uKTtcblxuICAgIHJldHVybiBjb25kaXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbmRpdGlvbmFsQmxvY2tzTm9kZShjb25kaXRpb25hbEJsb2Nrc05vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IFZhbHVlLCBDb21wYXJpc29uLCBCaXR3aXNlQ29uZGl0aW9uLCBOZWdhdGVkQ29uZGl0aW9uLCBCcmFja2V0ZWRDb25kaXRpb24gfSA9IGRvbSxcbiAgICAgICAgICBjb25kaXRpb25Ob2RlID0gY29uZGl0aW9uTm9kZVF1ZXJ5KGNvbmRpdGlvbmFsQmxvY2tzTm9kZSksXG4gICAgICAgICAgbm9kZSA9IGNvbmRpdGlvbk5vZGUsIC8vL1xuICAgICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgIHZhbHVlID0gVmFsdWUuZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgY29tcGFyaXNvbiA9IENvbXBhcmlzb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYml0d2lzZUNvbmRpdGlvbiA9IEJpdHdpc2VDb25kaXRpb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgbmVnYXRlZENvbmRpdGlvbiA9IE5lZ2F0ZWRDb25kaXRpb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYnJhY2tldGVkQ29uZGl0aW9uID0gQnJhY2tldGVkQ29uZGl0aW9uLmZyb21Db25kaXRpb25Ob2RlKGNvbmRpdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIGNvbmRpdGlvbiA9IG5ldyBDb25kaXRpb24oc3RyaW5nLCB2YWx1ZSwgY29tcGFyaXNvbiwgYml0d2lzZUNvbmRpdGlvbiwgbmVnYXRlZENvbmRpdGlvbiwgYnJhY2tldGVkQ29uZGl0aW9uKTtcblxuICAgIHJldHVybiBjb25kaXRpb247XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImNvbmRpdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiQ29uZGl0aW9uIiwic3RyaW5nIiwidmFsdWUiLCJjb21wYXJpc29uIiwiYml0d2lzZUNvbmRpdGlvbiIsIm5lZ2F0ZWRDb25kaXRpb24iLCJicmFja2V0ZWRDb25kaXRpb24iLCJnZXRTdHJpbmciLCJnZXRWYWx1ZSIsImdldENvbXBhcmlzb24iLCJnZXRCaXR3aXNlQ29uZGl0aW9uIiwiZ2V0TmVnYXRlZENvbmRpdGlvbiIsImdldEJyYWNrZXRlZENvbmRpdGlvbiIsInJlc29sdmUiLCJjb250ZXh0IiwiY29uZGl0aW9uU3RyaW5nIiwidHJhY2UiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwiQk9PTEVBTl9UWVBFIiwidmFsdWVTdHJpbmciLCJhc1N0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImRlYnVnIiwiZnJvbUNvbmRpdGlvbk5vZGUiLCJjb25kaXRpb25Ob2RlIiwiVmFsdWUiLCJkb20iLCJDb21wYXJpc29uIiwiQml0d2lzZUNvbmRpdGlvbiIsIk5lZ2F0ZWRDb25kaXRpb24iLCJCcmFja2V0ZWRDb25kaXRpb24iLCJub2RlIiwibm9kZUFzU3RyaW5nIiwiY29uZGl0aW9uIiwiZnJvbUNvbmRpdGlvbmFsQmxvY2tzTm9kZSIsImNvbmRpdGlvbmFsQmxvY2tzTm9kZSIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBQTs7OzJEQVRnQjtnRUFDTTtxQkFFSTtxQkFFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0IsSUFBTUEscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDO0lBRXJDLFdBQWVDLElBQUFBLGdCQUFXLDhCQUFDO2FBQU1DLFVBQ25CQyxNQUFNLEVBQUVDLEtBQUssRUFBRUMsVUFBVSxFQUFFQyxnQkFBZ0IsRUFBRUMsZ0JBQWdCLEVBQUVDLGtCQUFrQjtnQ0FEOUROO1FBRTdCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLGdCQUFnQixHQUFHQTtRQUN4QixJQUFJLENBQUNDLGdCQUFnQixHQUFHQTtRQUN4QixJQUFJLENBQUNDLGtCQUFrQixHQUFHQTs7OztZQUc1QkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTixNQUFNO1lBQ3BCOzs7WUFFQU8sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTixLQUFLO1lBQ25COzs7WUFFQU8sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTixVQUFVO1lBQ3hCOzs7WUFFQU8sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTixnQkFBZ0I7WUFDOUI7OztZQUVBTyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNOLGdCQUFnQjtZQUM5Qjs7O1lB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