occam-verify-cli 1.0.364 → 1.0.365
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/lib/dom/procedureCall.js +21 -15
- package/lib/dom/procedureReference.js +92 -0
- package/lib/index.js +2 -1
- package/lib/nonTerminalNodeMap.js +1 -1
- package/lib/utilities/json.js +16 -16
- package/package.json +1 -1
- package/src/dom/procedureCall.js +22 -19
- package/src/dom/procedureReference.js +46 -0
- package/src/index.js +1 -0
- package/src/nonTerminalNodeMap.js +2 -1
- package/src/utilities/json.js +16 -16
package/lib/dom/procedureCall.js
CHANGED
|
@@ -86,11 +86,11 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
86
86
|
}
|
|
87
87
|
var _ProcedureCall;
|
|
88
88
|
var _default = (0, _dom.domAssigned)((_ProcedureCall = /*#__PURE__*/ function() {
|
|
89
|
-
function ProcedureCall(node, string,
|
|
89
|
+
function ProcedureCall(node, string, procedureReference, parameters) {
|
|
90
90
|
_class_call_check(this, ProcedureCall);
|
|
91
91
|
this.node = node;
|
|
92
92
|
this.string = string;
|
|
93
|
-
this.
|
|
93
|
+
this.procedureReference = procedureReference;
|
|
94
94
|
this.parameters = parameters;
|
|
95
95
|
}
|
|
96
96
|
_create_class(ProcedureCall, [
|
|
@@ -107,9 +107,9 @@ var _default = (0, _dom.domAssigned)((_ProcedureCall = /*#__PURE__*/ function()
|
|
|
107
107
|
}
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
|
-
key: "
|
|
111
|
-
value: function
|
|
112
|
-
return this.
|
|
110
|
+
key: "getProcedureReference",
|
|
111
|
+
value: function getProcedureReference() {
|
|
112
|
+
return this.procedureReference;
|
|
113
113
|
}
|
|
114
114
|
},
|
|
115
115
|
{
|
|
@@ -118,6 +118,12 @@ var _default = (0, _dom.domAssigned)((_ProcedureCall = /*#__PURE__*/ function()
|
|
|
118
118
|
return this.parameters;
|
|
119
119
|
}
|
|
120
120
|
},
|
|
121
|
+
{
|
|
122
|
+
key: "getName",
|
|
123
|
+
value: function getName() {
|
|
124
|
+
return this.procedureReference.getName();
|
|
125
|
+
}
|
|
126
|
+
},
|
|
121
127
|
{
|
|
122
128
|
key: "findNodes",
|
|
123
129
|
value: function findNodes(substitutions) {
|
|
@@ -134,7 +140,7 @@ var _default = (0, _dom.domAssigned)((_ProcedureCall = /*#__PURE__*/ function()
|
|
|
134
140
|
var verifies = false;
|
|
135
141
|
var procedureCallString = this.string; ///
|
|
136
142
|
context.trace("Verifying the '".concat(procedureCallString, "' procedure call..."), this.node);
|
|
137
|
-
var name = this.
|
|
143
|
+
var name = this.getName(), procedure = context.findProcedureByName(name);
|
|
138
144
|
if (procedure !== null) {
|
|
139
145
|
var procedureBoolean = procedure.isBoolean();
|
|
140
146
|
if (procedureBoolean) {
|
|
@@ -157,7 +163,7 @@ var _default = (0, _dom.domAssigned)((_ProcedureCall = /*#__PURE__*/ function()
|
|
|
157
163
|
var unifiesIndependently = false;
|
|
158
164
|
var procedureCallString = this.string; ///
|
|
159
165
|
context.trace("Unifying the '".concat(procedureCallString, "' procedure call independently..."));
|
|
160
|
-
var name = this.
|
|
166
|
+
var name = this.getName(), nodes = this.findNodes(substitutions), procedure = context.findProcedureByName(name), expressions = _occamfurtle.Expressions.fromNodes(nodes, context);
|
|
161
167
|
try {
|
|
162
168
|
var value = procedure.call(expressions, context), boolean = value.getBoolean();
|
|
163
169
|
unifiesIndependently = boolean; ///
|
|
@@ -174,8 +180,8 @@ var _default = (0, _dom.domAssigned)((_ProcedureCall = /*#__PURE__*/ function()
|
|
|
174
180
|
{
|
|
175
181
|
key: "toJSON",
|
|
176
182
|
value: function toJSON() {
|
|
177
|
-
var parametersJSON = (0, _json.parametersToParametersJSON)(this.parameters),
|
|
178
|
-
|
|
183
|
+
var parametersJSON = (0, _json.parametersToParametersJSON)(this.parameters), procedureReference = (0, _json.procedureReferenceToProcedureReferenceJSON)(this.procedureReference), parameters = parametersJSON, json = {
|
|
184
|
+
procedureReference: procedureReference,
|
|
179
185
|
parameters: parameters
|
|
180
186
|
};
|
|
181
187
|
return json;
|
|
@@ -185,7 +191,7 @@ var _default = (0, _dom.domAssigned)((_ProcedureCall = /*#__PURE__*/ function()
|
|
|
185
191
|
{
|
|
186
192
|
key: "fromJSON",
|
|
187
193
|
value: function fromJSON(json, context) {
|
|
188
|
-
var
|
|
194
|
+
var procedureReference = (0, _json.procedureReferenceFromJSON)(json, context), parameters = (0, _json.parametersFromJSON)(json, context), node = null, string = stringFromProcedureReferenceAndParameters(procedureReference, parameters), procedureCall = new ProcedureCall(node, string, procedureReference, parameters);
|
|
189
195
|
return procedureCall;
|
|
190
196
|
}
|
|
191
197
|
},
|
|
@@ -215,7 +221,7 @@ var _default = (0, _dom.domAssigned)((_ProcedureCall = /*#__PURE__*/ function()
|
|
|
215
221
|
return ProcedureCall;
|
|
216
222
|
}(), _define_property(_ProcedureCall, "name", "ProcedureCall"), _ProcedureCall));
|
|
217
223
|
function procedureCallFromProcedureCallNode(procedureCallNode, context) {
|
|
218
|
-
var ProcedureCall = _dom.default.ProcedureCall, node = procedureCallNode,
|
|
224
|
+
var ProcedureCall = _dom.default.ProcedureCall, ProcedureReference = _dom.default.ProcedureReference, node = procedureCallNode, procedureReference = ProcedureReference.fromProcedureCallNode(procedureCallNode, context), parameters = parametersFromProcedureCallNode(procedureCallNode, context), string = stringFromProcedureReferenceAndParameters(procedureReference, parameters), procedureCall = new ProcedureCall(node, string, procedureReference, parameters);
|
|
219
225
|
return procedureCall;
|
|
220
226
|
}
|
|
221
227
|
function parametersFromProcedureCallNode(procedureCallNode, context) {
|
|
@@ -225,13 +231,13 @@ function parametersFromProcedureCallNode(procedureCallNode, context) {
|
|
|
225
231
|
});
|
|
226
232
|
return parameters;
|
|
227
233
|
}
|
|
228
|
-
function
|
|
229
|
-
var parametersString = parameters.reduce(function(parametersString, parameter) {
|
|
234
|
+
function stringFromProcedureReferenceAndParameters(procedureReference, parameters) {
|
|
235
|
+
var name = procedureReference.getName(), parametersString = parameters.reduce(function(parametersString, parameter) {
|
|
230
236
|
var parameterString = parameter.getString();
|
|
231
237
|
parametersString = parametersString === null ? parameterString : "".concat(parametersString, ", ").concat(parameterString);
|
|
232
238
|
return parametersString;
|
|
233
|
-
}, null), string = "".concat(
|
|
239
|
+
}, null), string = "".concat(name, "(").concat(parametersString, ")");
|
|
234
240
|
return string;
|
|
235
241
|
}
|
|
236
242
|
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcHJvY2VkdXJlQ2FsbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRXhwcmVzc2lvbnMgfSBmcm9tIFwib2NjYW0tZnVydGxlXCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCB7IHBhcmFtZXRlcnNGcm9tSlNPTiwgcHJvY2VkdXJlTmFtZUZyb21KU09OLCBwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTiB9IGZyb20gXCIuLi91dGlsaXRpZXMvanNvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBQcm9jZWR1cmVDYWxsIHtcbiAgY29uc3RydWN0b3Iobm9kZSwgc3RyaW5nLCBwcm9jZWR1cmVOYW1lLCBwYXJhbWV0ZXJzKSB7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnByb2NlZHVyZU5hbWUgPSBwcm9jZWR1cmVOYW1lO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9jZWR1cmVOYW1lO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzO1xuICB9XG5cbiAgZmluZE5vZGVzKHN1YnN0aXR1dGlvbnMpIHtcbiAgICBjb25zdCBub2RlcyA9IHRoaXMucGFyYW1ldGVycy5tYXAoKHBhcmFtZXRlcikgPT4ge1xuICAgICAgY29uc3QgcmVwbGFjZW1lbnROb2RlID0gcGFyYW1ldGVyLmZpbmRSZXBsYWNlbWVudE5vZGUoc3Vic3RpdHV0aW9ucyksXG4gICAgICAgICAgICBub2RlID0gcmVwbGFjZW1lbnROb2RlOyAgLy8vXG5cbiAgICAgIHJldHVybiBub2RlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG5cbiAgdmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHByb2NlZHVyZUNhbGxTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb2NlZHVyZUNhbGxTdHJpbmd9JyBwcm9jZWR1cmUgY2FsbC4uLmAsIHRoaXMubm9kZSk7XG5cbiAgICBjb25zdCBuYW1lID0gdGhpcy5wcm9jZWR1cmVOYW1lLCAgLy8vXG4gICAgICAgICAgcHJvY2VkdXJlID0gY29udGV4dC5maW5kUHJvY2VkdXJlQnlOYW1lKG5hbWUpO1xuXG4gICAgaWYgKHByb2NlZHVyZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcHJvY2VkdXJlQm9vbGVhbiA9IHByb2NlZHVyZS5pc0Jvb2xlYW4oKTtcblxuICAgICAgaWYgKHByb2NlZHVyZUJvb2xlYW4pIHtcbiAgICAgICAgdmVyaWZpZXMgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29udGV4dC50cmFjZShgVGhlICcke3Byb2NlZHVyZUNhbGxTdHJpbmd9JyBwcm9jZWR1cmUgaXMgbm90IGJvb2xlYW4uYCwgdGhpcy5ub2RlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dC50cmFjZShgVGhlICcke3Byb2NlZHVyZUNhbGxTdHJpbmd9JyBwcm9jZWR1cmUgaXMgbm90IHByZXNlbnQuYCwgdGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtwcm9jZWR1cmVDYWxsU3RyaW5nfScgcHJvY2VkdXJlIGNhbGwuYCwgdGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZXM7XG4gIH1cblxuICB1bmlmeUluZGVwZW5kZW50bHkoc3Vic3RpdHV0aW9ucywgY29udGV4dCkge1xuICAgIGxldCB1bmlmaWVzSW5kZXBlbmRlbnRseSA9IGZhbHNlO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlQ2FsbFN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtwcm9jZWR1cmVDYWxsU3RyaW5nfScgcHJvY2VkdXJlIGNhbGwgaW5kZXBlbmRlbnRseS4uLmApO1xuXG4gICAgY29uc3QgbmFtZSA9IHRoaXMucHJvY2VkdXJlTmFtZSwgIC8vL1xuICAgICAgICAgIG5vZGVzID0gdGhpcy5maW5kTm9kZXMoc3Vic3RpdHV0aW9ucyksXG4gICAgICAgICAgcHJvY2VkdXJlID0gY29udGV4dC5maW5kUHJvY2VkdXJlQnlOYW1lKG5hbWUpLFxuICAgICAgICAgIGV4cHJlc3Npb25zID0gRXhwcmVzc2lvbnMuZnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHByb2NlZHVyZS5jYWxsKGV4cHJlc3Npb25zLCBjb250ZXh0KSxcbiAgICAgICAgICAgIGJvb2xlYW4gPSB2YWx1ZS5nZXRCb29sZWFuKCk7XG5cbiAgICAgIHVuaWZpZXNJbmRlcGVuZGVudGx5ID0gYm9vbGVhbjsgLy8vXG4gICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gZXhjZXB0aW9uLmdldE1lc3NhZ2UoKTtcblxuICAgICAgY29udGV4dC5pbmZvKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmICh1bmlmaWVzSW5kZXBlbmRlbnRseSkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cHJvY2VkdXJlQ2FsbFN0cmluZ30nIHByb2NlZHVyZSBjYWxsIGluZGVwZW5kZW50bHkuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuaWZpZXNJbmRlcGVuZGVudGx5O1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHBhcmFtZXRlcnNKU09OID0gcGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04odGhpcy5wYXJhbWV0ZXJzKSxcbiAgICAgICAgICBwcm9jZWR1cmVOYW1lID0gdGhpcy5wcm9jZWR1cmVOYW1lLFxuICAgICAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBwcm9jZWR1cmVOYW1lLFxuICAgICAgICAgICAgcGFyYW1ldGVyc1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQcm9jZWR1cmVDYWxsXCI7XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVOYW1lID0gcHJvY2VkdXJlTmFtZUZyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVByb2NlZHVyZU5hbWVBbmRQYXJhbWV0ZXJzKHByb2NlZHVyZU5hbWUsIHBhcmFtZXRlcnMpLFxuICAgICAgICAgIHByb2NlZHVyZUNhbGwgPSBuZXcgUHJvY2VkdXJlQ2FsbChub2RlLCBzdHJpbmcsIHByb2NlZHVyZU5hbWUsIHBhcmFtZXRlcnMpO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBzdGF0aWMgZnJvbVByZW1pc2VOb2RlKHByZW1pc2VOb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IHByb2NlZHVyZUNhbGwgPSBudWxsO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlQ2FsbE5vZGUgPSBwcmVtaXNlTm9kZS5nZXRQcm9jZWR1cmVDYWxsTm9kZSgpO1xuXG4gICAgaWYgKHByb2NlZHVyZUNhbGxOb2RlICE9PSBudWxsKSB7XG4gICAgICBwcm9jZWR1cmVDYWxsID0gcHJvY2VkdXJlQ2FsbEZyb21Qcm9jZWR1cmVDYWxsTm9kZShwcm9jZWR1cmVDYWxsTm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN1cHBvc2l0aW9uTm9kZShzdXBwb3NpdGlvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgcHJvY2VkdXJlQ2FsbCA9IG51bGw7XG5cbiAgICBjb25zdCBwcm9jZWR1cmVDYWxsTm9kZSA9IHN1cHBvc2l0aW9uTm9kZS5nZXRQcm9jZWR1cmVDYWxsTm9kZSgpO1xuXG4gICAgaWYgKHByb2NlZHVyZUNhbGxOb2RlICE9PSBudWxsKSB7XG4gICAgICBwcm9jZWR1cmVDYWxsID0gcHJvY2VkdXJlQ2FsbEZyb21Qcm9jZWR1cmVDYWxsTm9kZShwcm9jZWR1cmVDYWxsTm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb2NlZHVyZUNhbGw7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiBwcm9jZWR1cmVDYWxsRnJvbVByb2NlZHVyZUNhbGxOb2RlKHByb2NlZHVyZUNhbGxOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgUHJvY2VkdXJlQ2FsbCB9ID0gZG9tLFxuICAgICAgICBub2RlID0gcHJvY2VkdXJlQ2FsbE5vZGUsIC8vL1xuICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVyc0Zyb21Qcm9jZWR1cmVDYWxsTm9kZShwcm9jZWR1cmVDYWxsTm9kZSwgY29udGV4dCksXG4gICAgICAgIHByb2NlZHVyZU5hbWUgPSBwcm9jZWR1cmVDYWxsTm9kZS5nZXRQcm9jZWR1cmVOYW1lKCksXG4gICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21Qcm9jZWR1cmVOYW1lQW5kUGFyYW1ldGVycyhwcm9jZWR1cmVOYW1lLCBwYXJhbWV0ZXJzKSxcbiAgICAgICAgcHJvY2VkdXJlQ2FsbCA9IG5ldyBQcm9jZWR1cmVDYWxsKG5vZGUsIHN0cmluZywgcHJvY2VkdXJlTmFtZSwgcGFyYW1ldGVycyk7XG5cbiAgcmV0dXJuIHByb2NlZHVyZUNhbGw7XG59XG5cbmZ1bmN0aW9uIHBhcmFtZXRlcnNGcm9tUHJvY2VkdXJlQ2FsbE5vZGUocHJvY2VkdXJlQ2FsbE5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBQYXJhbWV0ZXIgfSA9IGRvbSxcbiAgICAgICAgcGFyYW1ldGVyTm9kZXMgPSBwcm9jZWR1cmVDYWxsTm9kZS5nZXRQYXJhbWV0ZXJOb2RlcygpLFxuICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVyTm9kZXMubWFwKChwYXJhbWV0ZXJOb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGFyYW1ldGVyID0gUGFyYW1ldGVyLmZyb21QYXJhbWV0ZXJOb2RlKHBhcmFtZXRlck5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgICAgcmV0dXJuIHBhcmFtZXRlcjtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIHBhcmFtZXRlcnM7XG59XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21Qcm9jZWR1cmVOYW1lQW5kUGFyYW1ldGVycyhwcm9jZWR1cmVOYW1lLCBwYXJhbWV0ZXJzKSB7XG4gIGNvbnN0IHBhcmFtZXRlcnNTdHJpbmcgPSBwYXJhbWV0ZXJzLnJlZHVjZSgocGFyYW1ldGVyc1N0cmluZywgcGFyYW1ldGVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGFyYW1ldGVyU3RyaW5nID0gcGFyYW1ldGVyLmdldFN0cmluZygpO1xuXG4gICAgICAgICAgcGFyYW1ldGVyc1N0cmluZyA9IChwYXJhbWV0ZXJzU3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlclN0cmluZyA6IC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3BhcmFtZXRlcnNTdHJpbmd9LCAke3BhcmFtZXRlclN0cmluZ31gO1xuXG4gICAgICAgICAgcmV0dXJuIHBhcmFtZXRlcnNTdHJpbmc7XG4gICAgICAgIH0sIG51bGwpLFxuICAgICAgICBzdHJpbmcgPSBgJHtwcm9jZWR1cmVOYW1lfSgke3BhcmFtZXRlcnNTdHJpbmd9KWA7XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJkb21Bc3NpZ25lZCIsIlByb2NlZHVyZUNhbGwiLCJub2RlIiwic3RyaW5nIiwicHJvY2VkdXJlTmFtZSIsInBhcmFtZXRlcnMiLCJnZXROb2RlIiwiZ2V0U3RyaW5nIiwiZ2V0UHJvY2VkdXJlTmFtZSIsImdldFBhcmFtZXRlcnMiLCJmaW5kTm9kZXMiLCJzdWJzdGl0dXRpb25zIiwibm9kZXMiLCJtYXAiLCJwYXJhbWV0ZXIiLCJyZXBsYWNlbWVudE5vZGUiLCJmaW5kUmVwbGFjZW1lbnROb2RlIiwidmVyaWZ5IiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJjb250ZXh0IiwidmVyaWZpZXMiLCJwcm9jZWR1cmVDYWxsU3RyaW5nIiwidHJhY2UiLCJuYW1lIiwicHJvY2VkdXJlIiwiZmluZFByb2NlZHVyZUJ5TmFtZSIsInByb2NlZHVyZUJvb2xlYW4iLCJpc0Jvb2xlYW4iLCJkZWJ1ZyIsInVuaWZ5SW5kZXBlbmRlbnRseSIsInVuaWZpZXNJbmRlcGVuZGVudGx5IiwiZXhwcmVzc2lvbnMiLCJFeHByZXNzaW9ucyIsImZyb21Ob2RlcyIsInZhbHVlIiwiY2FsbCIsImJvb2xlYW4iLCJnZXRCb29sZWFuIiwiZXhjZXB0aW9uIiwibWVzc2FnZSIsImdldE1lc3NhZ2UiLCJpbmZvIiwidG9KU09OIiwicGFyYW1ldGVyc0pTT04iLCJwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTiIsImpzb24iLCJmcm9tSlNPTiIsInByb2NlZHVyZU5hbWVGcm9tSlNPTiIsInBhcmFtZXRlcnNGcm9tSlNPTiIsInN0cmluZ0Zyb21Qcm9jZWR1cmVOYW1lQW5kUGFyYW1ldGVycyIsInByb2NlZHVyZUNhbGwiLCJmcm9tUHJlbWlzZU5vZGUiLCJwcmVtaXNlTm9kZSIsInByb2NlZHVyZUNhbGxOb2RlIiwiZ2V0UHJvY2VkdXJlQ2FsbE5vZGUiLCJwcm9jZWR1cmVDYWxsRnJvbVByb2NlZHVyZUNhbGxOb2RlIiwiZnJvbVN1cHBvc2l0aW9uTm9kZSIsInN1cHBvc2l0aW9uTm9kZSIsImRvbSIsInBhcmFtZXRlcnNGcm9tUHJvY2VkdXJlQ2FsbE5vZGUiLCJQYXJhbWV0ZXIiLCJwYXJhbWV0ZXJOb2RlcyIsImdldFBhcmFtZXRlck5vZGVzIiwicGFyYW1ldGVyTm9kZSIsImZyb21QYXJhbWV0ZXJOb2RlIiwicGFyYW1ldGVyc1N0cmluZyIsInJlZHVjZSIsInBhcmFtZXRlclN0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUFBOzs7MkJBUDRCOzJEQUVaO29CQUdzRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRXRGLFdBQWVBLElBQUFBLGdCQUFXLGtDQUFDO2FBQU1DLGNBQ25CQyxJQUFJLEVBQUVDLE1BQU0sRUFBRUMsYUFBYSxFQUFFQyxVQUFVO2dDQURwQko7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxhQUFhLEdBQUdBO1FBQ3JCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTs7OztZQUdwQkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixJQUFJO1lBQ2xCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixNQUFNO1lBQ3BCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixhQUFhO1lBQzNCOzs7WUFFQUssS0FBQUE7bUJBQUFB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
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcHJvY2VkdXJlQ2FsbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRXhwcmVzc2lvbnMgfSBmcm9tIFwib2NjYW0tZnVydGxlXCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCB7IHBhcmFtZXRlcnNGcm9tSlNPTiwgcHJvY2VkdXJlUmVmZXJlbmNlRnJvbUpTT04sIHBhcmFtZXRlcnNUb1BhcmFtZXRlcnNKU09OLCBwcm9jZWR1cmVSZWZlcmVuY2VUb1Byb2NlZHVyZVJlZmVyZW5jZUpTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgUHJvY2VkdXJlQ2FsbCB7XG4gIGNvbnN0cnVjdG9yKG5vZGUsIHN0cmluZywgcHJvY2VkdXJlUmVmZXJlbmNlLCBwYXJhbWV0ZXJzKSB7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnByb2NlZHVyZVJlZmVyZW5jZSA9IHByb2NlZHVyZVJlZmVyZW5jZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFByb2NlZHVyZVJlZmVyZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9jZWR1cmVSZWZlcmVuY2U7XG4gIH1cblxuICBnZXRQYXJhbWV0ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXROYW1lKCkgeyByZXR1cm4gdGhpcy5wcm9jZWR1cmVSZWZlcmVuY2UuZ2V0TmFtZSgpOyB9XG5cbiAgZmluZE5vZGVzKHN1YnN0aXR1dGlvbnMpIHtcbiAgICBjb25zdCBub2RlcyA9IHRoaXMucGFyYW1ldGVycy5tYXAoKHBhcmFtZXRlcikgPT4ge1xuICAgICAgY29uc3QgcmVwbGFjZW1lbnROb2RlID0gcGFyYW1ldGVyLmZpbmRSZXBsYWNlbWVudE5vZGUoc3Vic3RpdHV0aW9ucyksXG4gICAgICAgICAgICBub2RlID0gcmVwbGFjZW1lbnROb2RlOyAgLy8vXG5cbiAgICAgIHJldHVybiBub2RlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG5cbiAgdmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHByb2NlZHVyZUNhbGxTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb2NlZHVyZUNhbGxTdHJpbmd9JyBwcm9jZWR1cmUgY2FsbC4uLmAsIHRoaXMubm9kZSk7XG5cbiAgICBjb25zdCBuYW1lID0gdGhpcy5nZXROYW1lKCksXG4gICAgICAgICAgcHJvY2VkdXJlID0gY29udGV4dC5maW5kUHJvY2VkdXJlQnlOYW1lKG5hbWUpO1xuXG4gICAgaWYgKHByb2NlZHVyZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcHJvY2VkdXJlQm9vbGVhbiA9IHByb2NlZHVyZS5pc0Jvb2xlYW4oKTtcblxuICAgICAgaWYgKHByb2NlZHVyZUJvb2xlYW4pIHtcbiAgICAgICAgdmVyaWZpZXMgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29udGV4dC50cmFjZShgVGhlICcke3Byb2NlZHVyZUNhbGxTdHJpbmd9JyBwcm9jZWR1cmUgaXMgbm90IGJvb2xlYW4uYCwgdGhpcy5ub2RlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dC50cmFjZShgVGhlICcke3Byb2NlZHVyZUNhbGxTdHJpbmd9JyBwcm9jZWR1cmUgaXMgbm90IHByZXNlbnQuYCwgdGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtwcm9jZWR1cmVDYWxsU3RyaW5nfScgcHJvY2VkdXJlIGNhbGwuYCwgdGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZXM7XG4gIH1cblxuICB1bmlmeUluZGVwZW5kZW50bHkoc3Vic3RpdHV0aW9ucywgY29udGV4dCkge1xuICAgIGxldCB1bmlmaWVzSW5kZXBlbmRlbnRseSA9IGZhbHNlO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlQ2FsbFN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtwcm9jZWR1cmVDYWxsU3RyaW5nfScgcHJvY2VkdXJlIGNhbGwgaW5kZXBlbmRlbnRseS4uLmApO1xuXG4gICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0TmFtZSgpLFxuICAgICAgICAgIG5vZGVzID0gdGhpcy5maW5kTm9kZXMoc3Vic3RpdHV0aW9ucyksXG4gICAgICAgICAgcHJvY2VkdXJlID0gY29udGV4dC5maW5kUHJvY2VkdXJlQnlOYW1lKG5hbWUpLFxuICAgICAgICAgIGV4cHJlc3Npb25zID0gRXhwcmVzc2lvbnMuZnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHByb2NlZHVyZS5jYWxsKGV4cHJlc3Npb25zLCBjb250ZXh0KSxcbiAgICAgICAgICAgIGJvb2xlYW4gPSB2YWx1ZS5nZXRCb29sZWFuKCk7XG5cbiAgICAgIHVuaWZpZXNJbmRlcGVuZGVudGx5ID0gYm9vbGVhbjsgLy8vXG4gICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gZXhjZXB0aW9uLmdldE1lc3NhZ2UoKTtcblxuICAgICAgY29udGV4dC5pbmZvKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmICh1bmlmaWVzSW5kZXBlbmRlbnRseSkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cHJvY2VkdXJlQ2FsbFN0cmluZ30nIHByb2NlZHVyZSBjYWxsIGluZGVwZW5kZW50bHkuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuaWZpZXNJbmRlcGVuZGVudGx5O1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHBhcmFtZXRlcnNKU09OID0gcGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04odGhpcy5wYXJhbWV0ZXJzKSxcbiAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2UgPSBwcm9jZWR1cmVSZWZlcmVuY2VUb1Byb2NlZHVyZVJlZmVyZW5jZUpTT04odGhpcy5wcm9jZWR1cmVSZWZlcmVuY2UpLFxuICAgICAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2UsXG4gICAgICAgICAgICBwYXJhbWV0ZXJzXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlByb2NlZHVyZUNhbGxcIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IHByb2NlZHVyZVJlZmVyZW5jZSA9IHByb2NlZHVyZVJlZmVyZW5jZUZyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVByb2NlZHVyZVJlZmVyZW5jZUFuZFBhcmFtZXRlcnMocHJvY2VkdXJlUmVmZXJlbmNlLCBwYXJhbWV0ZXJzKSxcbiAgICAgICAgICBwcm9jZWR1cmVDYWxsID0gbmV3IFByb2NlZHVyZUNhbGwobm9kZSwgc3RyaW5nLCBwcm9jZWR1cmVSZWZlcmVuY2UsIHBhcmFtZXRlcnMpO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBzdGF0aWMgZnJvbVByZW1pc2VOb2RlKHByZW1pc2VOb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IHByb2NlZHVyZUNhbGwgPSBudWxsO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlQ2FsbE5vZGUgPSBwcmVtaXNlTm9kZS5nZXRQcm9jZWR1cmVDYWxsTm9kZSgpO1xuXG4gICAgaWYgKHByb2NlZHVyZUNhbGxOb2RlICE9PSBudWxsKSB7XG4gICAgICBwcm9jZWR1cmVDYWxsID0gcHJvY2VkdXJlQ2FsbEZyb21Qcm9jZWR1cmVDYWxsTm9kZShwcm9jZWR1cmVDYWxsTm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN1cHBvc2l0aW9uTm9kZShzdXBwb3NpdGlvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgcHJvY2VkdXJlQ2FsbCA9IG51bGw7XG5cbiAgICBjb25zdCBwcm9jZWR1cmVDYWxsTm9kZSA9IHN1cHBvc2l0aW9uTm9kZS5nZXRQcm9jZWR1cmVDYWxsTm9kZSgpO1xuXG4gICAgaWYgKHByb2NlZHVyZUNhbGxOb2RlICE9PSBudWxsKSB7XG4gICAgICBwcm9jZWR1cmVDYWxsID0gcHJvY2VkdXJlQ2FsbEZyb21Qcm9jZWR1cmVDYWxsTm9kZShwcm9jZWR1cmVDYWxsTm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb2NlZHVyZUNhbGw7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiBwcm9jZWR1cmVDYWxsRnJvbVByb2NlZHVyZUNhbGxOb2RlKHByb2NlZHVyZUNhbGxOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgUHJvY2VkdXJlQ2FsbCwgUHJvY2VkdXJlUmVmZXJlbmNlIH0gPSBkb20sXG4gICAgICAgIG5vZGUgPSBwcm9jZWR1cmVDYWxsTm9kZSwgLy8vXG4gICAgICAgIHByb2NlZHVyZVJlZmVyZW5jZSA9IFByb2NlZHVyZVJlZmVyZW5jZS5mcm9tUHJvY2VkdXJlQ2FsbE5vZGUocHJvY2VkdXJlQ2FsbE5vZGUsIGNvbnRleHQpLFxuICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVyc0Zyb21Qcm9jZWR1cmVDYWxsTm9kZShwcm9jZWR1cmVDYWxsTm9kZSwgY29udGV4dCksXG4gICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21Qcm9jZWR1cmVSZWZlcmVuY2VBbmRQYXJhbWV0ZXJzKHByb2NlZHVyZVJlZmVyZW5jZSwgcGFyYW1ldGVycyksXG4gICAgICAgIHByb2NlZHVyZUNhbGwgPSBuZXcgUHJvY2VkdXJlQ2FsbChub2RlLCBzdHJpbmcsIHByb2NlZHVyZVJlZmVyZW5jZSwgcGFyYW1ldGVycyk7XG5cbiAgcmV0dXJuIHByb2NlZHVyZUNhbGw7XG59XG5cbmZ1bmN0aW9uIHBhcmFtZXRlcnNGcm9tUHJvY2VkdXJlQ2FsbE5vZGUocHJvY2VkdXJlQ2FsbE5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBQYXJhbWV0ZXIgfSA9IGRvbSxcbiAgICAgICAgcGFyYW1ldGVyTm9kZXMgPSBwcm9jZWR1cmVDYWxsTm9kZS5nZXRQYXJhbWV0ZXJOb2RlcygpLFxuICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVyTm9kZXMubWFwKChwYXJhbWV0ZXJOb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGFyYW1ldGVyID0gUGFyYW1ldGVyLmZyb21QYXJhbWV0ZXJOb2RlKHBhcmFtZXRlck5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgICAgcmV0dXJuIHBhcmFtZXRlcjtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIHBhcmFtZXRlcnM7XG59XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21Qcm9jZWR1cmVSZWZlcmVuY2VBbmRQYXJhbWV0ZXJzKHByb2NlZHVyZVJlZmVyZW5jZSwgcGFyYW1ldGVycykge1xuICBjb25zdCBuYW1lID0gcHJvY2VkdXJlUmVmZXJlbmNlLmdldE5hbWUoKSxcbiAgICAgICAgcGFyYW1ldGVyc1N0cmluZyA9IHBhcmFtZXRlcnMucmVkdWNlKChwYXJhbWV0ZXJzU3RyaW5nLCBwYXJhbWV0ZXIpID0+IHtcbiAgICAgICAgICBjb25zdCBwYXJhbWV0ZXJTdHJpbmcgPSBwYXJhbWV0ZXIuZ2V0U3RyaW5nKCk7XG5cbiAgICAgICAgICBwYXJhbWV0ZXJzU3RyaW5nID0gKHBhcmFtZXRlcnNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyU3RyaW5nIDogLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7cGFyYW1ldGVyc1N0cmluZ30sICR7cGFyYW1ldGVyU3RyaW5nfWA7XG5cbiAgICAgICAgICByZXR1cm4gcGFyYW1ldGVyc1N0cmluZztcbiAgICAgICAgfSwgbnVsbCksXG4gICAgICAgIHN0cmluZyA9IGAke25hbWV9KCR7cGFyYW1ldGVyc1N0cmluZ30pYDtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbImRvbUFzc2lnbmVkIiwiUHJvY2VkdXJlQ2FsbCIsIm5vZGUiLCJzdHJpbmciLCJwcm9jZWR1cmVSZWZlcmVuY2UiLCJwYXJhbWV0ZXJzIiwiZ2V0Tm9kZSIsImdldFN0cmluZyIsImdldFByb2NlZHVyZVJlZmVyZW5jZSIsImdldFBhcmFtZXRlcnMiLCJnZXROYW1lIiwiZmluZE5vZGVzIiwic3Vic3RpdHV0aW9ucyIsIm5vZGVzIiwibWFwIiwicGFyYW1ldGVyIiwicmVwbGFjZW1lbnROb2RlIiwiZmluZFJlcGxhY2VtZW50Tm9kZSIsInZlcmlmeSIsImFzc2lnbm1lbnRzIiwic3RhdGVkIiwiY29udGV4dCIsInZlcmlmaWVzIiwicHJvY2VkdXJlQ2FsbFN0cmluZyIsInRyYWNlIiwibmFtZSIsInByb2NlZHVyZSIsImZpbmRQcm9jZWR1cmVCeU5hbWUiLCJwcm9jZWR1cmVCb29sZWFuIiwiaXNCb29sZWFuIiwiZGVidWciLCJ1bmlmeUluZGVwZW5kZW50bHkiLCJ1bmlmaWVzSW5kZXBlbmRlbnRseSIsImV4cHJlc3Npb25zIiwiRXhwcmVzc2lvbnMiLCJmcm9tTm9kZXMiLCJ2YWx1ZSIsImNhbGwiLCJib29sZWFuIiwiZ2V0Qm9vbGVhbiIsImV4Y2VwdGlvbiIsIm1lc3NhZ2UiLCJnZXRNZXNzYWdlIiwiaW5mbyIsInRvSlNPTiIsInBhcmFtZXRlcnNKU09OIiwicGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04iLCJwcm9jZWR1cmVSZWZlcmVuY2VUb1Byb2NlZHVyZVJlZmVyZW5jZUpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJwcm9jZWR1cmVSZWZlcmVuY2VGcm9tSlNPTiIsInBhcmFtZXRlcnNGcm9tSlNPTiIsInN0cmluZ0Zyb21Qcm9jZWR1cmVSZWZlcmVuY2VBbmRQYXJhbWV0ZXJzIiwicHJvY2VkdXJlQ2FsbCIsImZyb21QcmVtaXNlTm9kZSIsInByZW1pc2VOb2RlIiwicHJvY2VkdXJlQ2FsbE5vZGUiLCJnZXRQcm9jZWR1cmVDYWxsTm9kZSIsInByb2NlZHVyZUNhbGxGcm9tUHJvY2VkdXJlQ2FsbE5vZGUiLCJmcm9tU3VwcG9zaXRpb25Ob2RlIiwic3VwcG9zaXRpb25Ob2RlIiwiZG9tIiwiUHJvY2VkdXJlUmVmZXJlbmNlIiwiZnJvbVByb2NlZHVyZUNhbGxOb2RlIiwicGFyYW1ldGVyc0Zyb21Qcm9jZWR1cmVDYWxsTm9kZSIsIlBhcmFtZXRlciIsInBhcmFtZXRlck5vZGVzIiwiZ2V0UGFyYW1ldGVyTm9kZXMiLCJwYXJhbWV0ZXJOb2RlIiwiZnJvbVBhcmFtZXRlck5vZGUiLCJwYXJhbWV0ZXJzU3RyaW5nIiwicmVkdWNlIiwicGFyYW1ldGVyU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OzsyQkFQNEI7MkRBRVo7b0JBR3VIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -0,0 +1,92 @@
|
|
|
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 = require("../dom");
|
|
12
|
+
function _class_call_check(instance, Constructor) {
|
|
13
|
+
if (!(instance instanceof Constructor)) {
|
|
14
|
+
throw new TypeError("Cannot call a class as a function");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function _defineProperties(target, props) {
|
|
18
|
+
for(var i = 0; i < props.length; i++){
|
|
19
|
+
var descriptor = props[i];
|
|
20
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
21
|
+
descriptor.configurable = true;
|
|
22
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
23
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
27
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
28
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
29
|
+
return Constructor;
|
|
30
|
+
}
|
|
31
|
+
function _define_property(obj, key, value) {
|
|
32
|
+
if (key in obj) {
|
|
33
|
+
Object.defineProperty(obj, key, {
|
|
34
|
+
value: value,
|
|
35
|
+
enumerable: true,
|
|
36
|
+
configurable: true,
|
|
37
|
+
writable: true
|
|
38
|
+
});
|
|
39
|
+
} else {
|
|
40
|
+
obj[key] = value;
|
|
41
|
+
}
|
|
42
|
+
return obj;
|
|
43
|
+
}
|
|
44
|
+
var _ProcedureReference;
|
|
45
|
+
var _default = (0, _dom.domAssigned)((_ProcedureReference = /*#__PURE__*/ function() {
|
|
46
|
+
function ProcedureReference(string, name) {
|
|
47
|
+
_class_call_check(this, ProcedureReference);
|
|
48
|
+
this.string = string;
|
|
49
|
+
this.name = name;
|
|
50
|
+
}
|
|
51
|
+
_create_class(ProcedureReference, [
|
|
52
|
+
{
|
|
53
|
+
key: "getString",
|
|
54
|
+
value: function getString() {
|
|
55
|
+
return this.string;
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
key: "getName",
|
|
60
|
+
value: function getName() {
|
|
61
|
+
return this.name;
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
key: "toJSON",
|
|
66
|
+
value: function toJSON() {
|
|
67
|
+
var name = this.name, json = {
|
|
68
|
+
name: name
|
|
69
|
+
};
|
|
70
|
+
return json;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
], [
|
|
74
|
+
{
|
|
75
|
+
key: "fromJSON",
|
|
76
|
+
value: function fromJSON(json, context) {
|
|
77
|
+
var name = json.name, string = name, procedureReference = new ProcedureReference(string, name);
|
|
78
|
+
return procedureReference;
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
key: "fromProcedureCallNode",
|
|
83
|
+
value: function fromProcedureCallNode(procedureCallNode, context) {
|
|
84
|
+
var procedureName = procedureCallNode.getProcedureName(), name = procedureName, string = name, procedureReference = new ProcedureReference(string, name);
|
|
85
|
+
return procedureReference;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
]);
|
|
89
|
+
return ProcedureReference;
|
|
90
|
+
}(), _define_property(_ProcedureReference, "name", "ProcedureReference"), _ProcedureReference));
|
|
91
|
+
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcHJvY2VkdXJlUmVmZXJlbmNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgUHJvY2VkdXJlUmVmZXJlbmNlIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCBuYW1lKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZSxcbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgeyBuYW1lIH0gPSBqc29uLFxuICAgICAgICAgIHN0cmluZyA9IG5hbWUsICAvLy9cbiAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2UgPSBuZXcgUHJvY2VkdXJlUmVmZXJlbmNlKHN0cmluZywgbmFtZSk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUmVmZXJlbmNlO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlByb2NlZHVyZVJlZmVyZW5jZVwiO1xuXG4gIHN0YXRpYyBmcm9tUHJvY2VkdXJlQ2FsbE5vZGUocHJvY2VkdXJlQ2FsbE5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVOYW1lID0gcHJvY2VkdXJlQ2FsbE5vZGUuZ2V0UHJvY2VkdXJlTmFtZSgpLFxuICAgICAgICAgIG5hbWUgPSBwcm9jZWR1cmVOYW1lLCAvLy9cbiAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgcHJvY2VkdXJlUmVmZXJlbmNlID0gbmV3IFByb2NlZHVyZVJlZmVyZW5jZShzdHJpbmcsIG5hbWUpO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZVJlZmVyZW5jZTtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZG9tQXNzaWduZWQiLCJQcm9jZWR1cmVSZWZlcmVuY2UiLCJzdHJpbmciLCJuYW1lIiwiZ2V0U3RyaW5nIiwiZ2V0TmFtZSIsInRvSlNPTiIsImpzb24iLCJmcm9tSlNPTiIsImNvbnRleHQiLCJwcm9jZWR1cmVSZWZlcmVuY2UiLCJmcm9tUHJvY2VkdXJlQ2FsbE5vZGUiLCJwcm9jZWR1cmVDYWxsTm9kZSIsInByb2NlZHVyZU5hbWUiLCJnZXRQcm9jZWR1cmVOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQUE7OzttQkFGNEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFNUIsV0FBZUEsSUFBQUEsZ0JBQVcsdUNBQUM7YUFBTUMsbUJBQ25CQyxNQUFNLEVBQUVDLElBQUk7Z0NBRE9GO1FBRTdCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTs7OztZQUdkQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLE1BQU07WUFDcEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUgsT0FBTyxJQUFJLENBQUNBLElBQUksRUFDaEJJLE9BQU87b0JBQ0xKLE1BQUFBO2dCQUNGO2dCQUVOLE9BQU9JO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFRSxPQUFPO2dCQUMzQixJQUFNLEFBQUVOLE9BQVNJLEtBQVRKLE1BQ0ZELFNBQVNDLE1BQ1RPLHFCQUFxQixJQUFJVCxtQkFBbUJDLFFBQVFDO2dCQUUxRCxPQUFPTztZQUNUOzs7WUFJT0MsS0FBQUE7bUJBQVAsU0FBT0Esc0JBQXNCQyxpQkFBaUIsRUFBRUgsT0FBTztnQkFDckQsSUFBTUksZ0JBQWdCRCxrQkFBa0JFLGdCQUFnQixJQUNsRFgsT0FBT1UsZUFDUFgsU0FBU0MsTUFDVE8scUJBQXFCLElBQUlULG1CQUFtQkMsUUFBUUM7Z0JBRTFELE9BQU9PO1lBQ1Q7Ozs7S0FUQSxzQ0FBT1AsUUFBTyJ9
|
package/lib/index.js
CHANGED
|
@@ -72,6 +72,7 @@ var _subproof1 = /*#__PURE__*/ _interop_require_default(require("./dom/assertion
|
|
|
72
72
|
var _property1 = /*#__PURE__*/ _interop_require_default(require("./dom/assertion/property"));
|
|
73
73
|
var _contained = /*#__PURE__*/ _interop_require_default(require("./dom/assertion/contained"));
|
|
74
74
|
var _satisfies = /*#__PURE__*/ _interop_require_default(require("./dom/assertion/satisfies"));
|
|
75
|
+
var _procedureReference = /*#__PURE__*/ _interop_require_default(require("./dom/procedureReference"));
|
|
75
76
|
var _variable1 = /*#__PURE__*/ _interop_require_default(require("./dom/declaration/variable"));
|
|
76
77
|
var _bracketed = /*#__PURE__*/ _interop_require_default(require("./dom/combinator/bracketed"));
|
|
77
78
|
var _bracketed1 = /*#__PURE__*/ _interop_require_default(require("./dom/constructor/bracketed"));
|
|
@@ -94,4 +95,4 @@ function _interop_require_default(obj) {
|
|
|
94
95
|
};
|
|
95
96
|
}
|
|
96
97
|
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4vZG9tL3R5cGVcIjtcbmltcG9ydCBUZXJtIGZyb20gXCIuL2RvbS90ZXJtXCI7XG5pbXBvcnQgUnVsZSBmcm9tIFwiLi9kb20vcnVsZVwiO1xuaW1wb3J0IFN0ZXAgZnJvbSBcIi4vZG9tL3N0ZXBcIjtcbmltcG9ydCBMYWJlbCBmcm9tIFwiLi9kb20vbGFiZWxcIjtcbmltcG9ydCBBeGlvbSBmcm9tIFwiLi9kb20vYXhpb21cIjtcbmltcG9ydCBMZW1tYSBmcm9tIFwiLi9kb20vbGVtbWFcIjtcbmltcG9ydCBGcmFtZSBmcm9tIFwiLi9kb20vZnJhbWVcIjtcbmltcG9ydCBQcm9vZiBmcm9tIFwiLi9kb20vcHJvb2ZcIjtcbmltcG9ydCBFcnJvciBmcm9tIFwiLi9kb20vZXJyb3JcIjtcbmltcG9ydCBQcmVtaXNlIGZyb20gXCIuL2RvbS9wcmVtaXNlXCI7XG5pbXBvcnQgVGhlb3JlbSBmcm9tIFwiLi9kb20vdGhlb3JlbVwiO1xuaW1wb3J0IFNlY3Rpb24gZnJvbSBcIi4vZG9tL3NlY3Rpb25cIjtcbmltcG9ydCBFcXVhbGl0eSBmcm9tIFwiLi9kb20vZXF1YWxpdHlcIjtcbmltcG9ydCBNZXRhVHlwZSBmcm9tIFwiLi9kb20vbWV0YVR5cGVcIjtcbmltcG9ydCBTdWJwcm9vZiBmcm9tIFwiLi9kb20vc3VicHJvb2ZcIjtcbmltcG9ydCBWYXJpYWJsZSBmcm9tIFwiLi9kb20vdmFyaWFibGVcIjtcbmltcG9ydCBQcm9wZXJ0eSBmcm9tIFwiLi9kb20vcHJvcGVydHlcIjtcbmltcG9ydCBQYXJhbWV0ZXIgZnJvbSBcIi4vZG9tL3BhcmFtZXRlclwiO1xuaW1wb3J0IFJlZmVyZW5jZSBmcm9tIFwiLi9kb20vcmVmZXJlbmNlXCI7XG5pbXBvcnQgU3RhdGVtZW50IGZyb20gXCIuL2RvbS9zdGF0ZW1lbnRcIjtcbmltcG9ydCBKdWRnZW1lbnQgZnJvbSBcIi4vZG9tL2p1ZGdlbWVudFwiO1xuaW1wb3J0IE1ldGFMZW1tYSBmcm9tIFwiLi9kb20vbWV0YUxlbW1hXCI7XG5pbXBvcnQgRGVkdWN0aW9uIGZyb20gXCIuL2RvbS9kZWR1Y3Rpb25cIjtcbmltcG9ydCBTaWduYXR1cmUgZnJvbSBcIi4vZG9tL3NpZ25hdHVyZVwiO1xuaW1wb3J0IFR5cGVQcmVmaXggZnJvbSBcIi4vZG9tL3R5cGVQcmVmaXhcIjtcbmltcG9ydCBDb25qZWN0dXJlIGZyb20gXCIuL2RvbS9jb25qZWN0dXJlXCI7XG5pbXBvcnQgQ29uY2x1c2lvbiBmcm9tIFwiLi9kb20vY29uY2x1c2lvblwiO1xuaW1wb3J0IERlcml2YXRpb24gZnJvbSBcIi4vZG9tL2Rlcml2YXRpb25cIjtcbmltcG9ydCBDb21iaW5hdG9yIGZyb20gXCIuL2RvbS9jb21iaW5hdG9yXCI7XG5pbXBvcnQgSHlwb3RoZXNpcyBmcm9tIFwiLi9kb20vaHlwb3RoZXNpc1wiO1xuaW1wb3J0IENvbnN0cnVjdG9yIGZyb20gXCIuL2RvbS9jb25zdHJ1Y3RvclwiO1xuaW1wb3J0IERlY2xhcmF0aW9uIGZyb20gXCIuL2RvbS9kZWNsYXJhdGlvblwiO1xuaW1wb3J0IFN1cHBvc2l0aW9uIGZyb20gXCIuL2RvbS9zdXBwb3NpdGlvblwiO1xuaW1wb3J0IE1ldGF0aGVvcmVtIGZyb20gXCIuL2RvbS9tZXRhdGhlb3JlbVwiO1xuaW1wb3J0IE1ldGF2YXJpYWJsZSBmcm9tIFwiLi9kb20vbWV0YXZhcmlhYmxlXCI7XG5pbXBvcnQgUHJvY2VkdXJlQ2FsbCBmcm9tIFwiLi9kb20vcHJvY2VkdXJlQ2FsbFwiO1xuaW1wb3J0IFN1YkRlcml2YXRpb24gZnJvbSBcIi4vZG9tL3N1YkRlcml2YXRpb25cIjtcbmltcG9ydCBUeXBlQXNzZXJ0aW9uIGZyb20gXCIuL2RvbS9hc3NlcnRpb24vdHlwZVwiO1xuaW1wb3J0IERlZmluZWRBc3NlcnRpb24gZnJvbSBcIi4vZG9tL2Fzc2VydGlvbi9kZWZpbmVkXCI7XG5pbXBvcnQgUHJvcGVydHlSZWxhdGlvbiBmcm9tIFwiLi9kb20vcHJvcGVydHlSZWxhdGlvblwiO1xuaW1wb3J0IFRlcm1TdWJzdGl0dXRpb24gZnJvbSBcIi4vZG9tL3N1YnN0aXR1dGlvbi90ZXJtXCI7XG5pbXBvcnQgRnJhbWVTdWJzdGl0dXRpb24gZnJvbSBcIi4vZG9tL3N1YnN0aXR1dGlvbi9mcmFtZVwiO1xuaW1wb3J0IFN1YnByb29mQXNzZXJ0aW9uIGZyb20gXCIuL2RvbS9hc3NlcnRpb24vc3VicHJvb2ZcIjtcbmltcG9ydCBQcm9wZXJ0eUFzc2VydGlvbiBmcm9tIFwiLi9kb20vYXNzZXJ0aW9uL3Byb3BlcnR5XCI7XG5pbXBvcnQgQ29udGFpbmVkQXNzZXJ0aW9uIGZyb20gXCIuL2RvbS9hc3NlcnRpb24vY29udGFpbmVkXCI7XG5pbXBvcnQgU2F0aXNmaWVzQXNzZXJ0aW9uIGZyb20gXCIuL2RvbS9hc3NlcnRpb24vc2F0aXNmaWVzXCI7XG5pbXBvcnQgUHJvY2VkdXJlUmVmZXJlbmNlIGZyb20gXCIuL2RvbS9wcm9jZWR1cmVSZWZlcmVuY2VcIjtcbmltcG9ydCBWYXJpYWJsZURlY2xhcmF0aW9uIGZyb20gXCIuL2RvbS9kZWNsYXJhdGlvbi92YXJpYWJsZVwiO1xuaW1wb3J0IEJyYWNrZXRlZENvbWJpbmF0b3IgZnJvbSBcIi4vZG9tL2NvbWJpbmF0b3IvYnJhY2tldGVkXCI7XG5pbXBvcnQgQnJhY2tldGVkQ29uc3RydWN0b3IgZnJvbSBcIi4vZG9tL2NvbnN0cnVjdG9yL2JyYWNrZXRlZFwiO1xuaW1wb3J0IFNpbXBsZVR5cGVEZWNsYXJhdGlvbiBmcm9tIFwiLi9kb20vZGVjbGFyYXRpb24vc2ltcGxlVHlwZVwiO1xuaW1wb3J0IFN0YXRlbWVudFN1YnN0aXR1dGlvbiBmcm9tIFwiLi9kb20vc3Vic3RpdHV0aW9uL3N0YXRlbWVudFwiO1xuaW1wb3J0IFJlZmVyZW5jZVN1YnN0aXR1dGlvbiBmcm9tIFwiLi9kb20vc3Vic3RpdHV0aW9uL3JlZmVyZW5jZVwiO1xuaW1wb3J0IENvbWJpbmF0b3JEZWNsYXJhdGlvbiBmcm9tIFwiLi9kb20vZGVjbGFyYXRpb24vY29tYmluYXRvclwiO1xuaW1wb3J0IFR5cGVQcmVmaXhEZWNsYXJhdGlvbiBmcm9tIFwiLi9kb20vZGVjbGFyYXRpb24vdHlwZVByZWZpeFwiO1xuaW1wb3J0IENvbnN0cnVjdG9yRGVjbGFyYXRpb24gZnJvbSBcIi4vZG9tL2RlY2xhcmF0aW9uL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQgQ29tcGxleFR5cGVEZWNsYXJhdGlvbiBmcm9tIFwiLi9kb20vZGVjbGFyYXRpb24vY29tcGxleFR5cGVcIjtcbmltcG9ydCBNZXRhdmFyaWFibGVEZWNsYXJhdGlvbiBmcm9tIFwiLi9kb20vZGVjbGFyYXRpb24vbWV0YXZhcmlhYmxlXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgTG9nIH0gZnJvbSBcIi4vbG9nXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFJlbGVhc2VDb250ZXh0IH0gZnJvbSBcIi4vY29udGV4dC9yZWxlYXNlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJlbGVhc2VVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcmVsZWFzZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjdXN0b21HcmFtbWFyVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2N1c3RvbUdyYW1tYXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVsZWFzZUNvbnRleHRVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcmVsZWFzZUNvbnRleHRcIjtcbiJdLCJuYW1lcyI6WyJMb2ciLCJSZWxlYXNlQ29udGV4dCIsImN1c3RvbUdyYW1tYXJVdGlsaXRpZXMiLCJyZWxlYXNlQ29udGV4dFV0aWxpdGllcyIsInJlbGVhc2VVdGlsaXRpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQThEb0JBO2VBQUFBLFlBQUc7O1FBQ0hDO2VBQUFBLGdCQUFjOztRQUVkQztlQUFBQSxzQkFBc0I7O1FBQ3RCQztlQUFBQSx1QkFBdUI7O1FBRnZCQztlQUFBQSxpQkFBZ0I7OzsyREE5RG5COzJEQUNBOzJEQUNBOzJEQUNBOzREQUNDOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzhEQUNFOzhEQUNBOzhEQUNBOytEQUNDOytEQUNBOytEQUNBOytEQUNBOytEQUNBO2dFQUNDO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBO2lFQUNDO2lFQUNBO2lFQUNBO2lFQUNBO2lFQUNBO2lFQUNBO2tFQUNDO2tFQUNBO2tFQUNBO2tFQUNBO21FQUNDO29FQUNDO29FQUNBOzREQUNBOzhEQUNHO3VFQUNBOzREQUNBOzZEQUNDO2dFQUNBO2dFQUNBO2dFQUNDO2dFQUNBO3lFQUNBO2dFQUNDO2dFQUNBO2lFQUNDO2lFQUNDO2lFQUNBO2lFQUNBO2tFQUNBO2tFQUNBO21FQUNDO2tFQUNBO29FQUNDOzBEQUVMOzhEQUNXOytEQUNFO29FQUNNO3FFQUNDIn0=
|
|
@@ -110,4 +110,4 @@ var _obj;
|
|
|
110
110
|
var NonTerminalNodeMap = (_obj = {}, _define_property(_obj, _ruleNames.RULE_RULE_NAME, _rule.default), _define_property(_obj, _ruleNames.STEP_RULE_NAME, _step.default), _define_property(_obj, _ruleNames.TERM_RULE_NAME, _term.default), _define_property(_obj, _ruleNames.TYPE_RULE_NAME, _type.default), _define_property(_obj, _ruleNames.TYPES_RULE_NAME, _types.default), _define_property(_obj, _ruleNames.ERROR_RULE_NAME, _error.default), _define_property(_obj, _ruleNames.FRAME_RULE_NAME, _frame.default), _define_property(_obj, _ruleNames.LEMMA_RULE_NAME, _lemma.default), _define_property(_obj, _ruleNames.AXIOM_RULE_NAME, _axiom.default), _define_property(_obj, _ruleNames.PROOF_RULE_NAME, _proof.default), _define_property(_obj, _ruleNames.LABEL_RULE_NAME, _label.default), _define_property(_obj, _ruleNames.LABELS_RULE_NAME, _labels.default), _define_property(_obj, _ruleNames.THEOREM_RULE_NAME, _theorem.default), _define_property(_obj, _ruleNames.PREMISE_RULE_NAME, _premise.default), _define_property(_obj, _ruleNames.SECTION_RULE_NAME, _section.default), _define_property(_obj, _ruleNames.ARGUMENT_RULE_NAME, _argument.default), _define_property(_obj, _ruleNames.PROPERTY_RULE_NAME, _property.default), _define_property(_obj, _ruleNames.SUBPROOF_RULE_NAME, _subproof.default), _define_property(_obj, _ruleNames.EQUALITY_RULE_NAME, _equality.default), _define_property(_obj, _ruleNames.VARIABLE_RULE_NAME, _variable.default), _define_property(_obj, _ruleNames.NONSENSE_RULE_NAME, _nonsense.default), _define_property(_obj, _ruleNames.RULE_BODY_RULE_NAME, _rule1.default), _define_property(_obj, _ruleNames.META_TYPE_RULE_NAME, _metaType.default), _define_property(_obj, _ruleNames.SIGNATURE_RULE_NAME, _signature.default), _define_property(_obj, _ruleNames.REFERENCE_RULE_NAME, _reference.default), _define_property(_obj, _ruleNames.JUDGEMENT_RULE_NAME, _judgement.default), _define_property(_obj, _ruleNames.DEDUCTION_RULE_NAME, _deduction.default), _define_property(_obj, _ruleNames.PARAMETER_RULE_NAME, _parameter.default), _define_property(_obj, _ruleNames.STATEMENT_RULE_NAME, _statement.default), _define_property(_obj, _ruleNames.AXIOM_BODY_RULE_NAME, _axiom1.default), _define_property(_obj, _ruleNames.LEMMA_BODY_RULE_NAME, _lemma1.default), _define_property(_obj, _ruleNames.META_LEMMA_RULE_NAME, _metaLemma.default), _define_property(_obj, _ruleNames.COMBINATOR_RULE_NAME, _combinator.default), _define_property(_obj, _ruleNames.CONCLUSION_RULE_NAME, _conclusion.default), _define_property(_obj, _ruleNames.CONJECTURE_RULE_NAME, _conjecture.default), _define_property(_obj, _ruleNames.DERIVATION_RULE_NAME, _derivation.default), _define_property(_obj, _ruleNames.HYPOTHESIS_RULE_NAME, _hypothesis.default), _define_property(_obj, _ruleNames.RULE_HEADER_RULE_NAME, _rule2.default), _define_property(_obj, _ruleNames.TYPE_PREFIX_RULE_NAME, _typePrefix.default), _define_property(_obj, _ruleNames.SUPPOSITION_RULE_NAME, _supposition.default), _define_property(_obj, _ruleNames.CONSTRUCTOR_RULE_NAME, _constructor.default), _define_property(_obj, _ruleNames.DECLARATION_RULE_NAME, _declaration.default), _define_property(_obj, _ruleNames.METATHEOREM_RULE_NAME, _metatheorem.default), _define_property(_obj, _ruleNames.AXIOM_HEADER_RULE_NAME, _axiom2.default), _define_property(_obj, _ruleNames.LEMMA_HEADER_RULE_NAME, _lemma2.default), _define_property(_obj, _ruleNames.THEOREM_BODY_RULE_NAME, _theorem1.default), _define_property(_obj, _ruleNames.METAVARIABLE_RULE_NAME, _metavariable.default), _define_property(_obj, _ruleNames.META_ARGUMENT_RULE_NAME, _metaArgument.default), _define_property(_obj, _ruleNames.QUALIFICATION_RULE_NAME, _qualification.default), _define_property(_obj, _ruleNames.TYPE_ASSERTION_RULE_NAME, _type1.default), _define_property(_obj, _ruleNames.PROCEDURE_CALL_RULE_NAME, _procedureCall.default), _define_property(_obj, _ruleNames.SUB_DERIVATION_RULE_NAME, _subDerivation.default), _define_property(_obj, _ruleNames.THEOREM_HEADER_RULE_NAME, _theorem2.default), _define_property(_obj, _ruleNames.META_LEMMA_BODY_RULE_NAME, _metaLemma1.default), _define_property(_obj, _ruleNames.CONJECTURE_BODY_RULE_NAME, _conjecture1.default), _define_property(_obj, _ruleNames.METATHEOREM_BODY_RULE_NAME, _metatheorem1.default), _define_property(_obj, _ruleNames.META_LEMMA_HEADER_RULE_NAME, _metaLemma2.default), _define_property(_obj, _ruleNames.CONJECTURE_HEADER_RULE_NAME, _conjecture2.default), _define_property(_obj, _ruleNames.PROPERTY_RELATION_RULE_NAME, _propertyRelation.default), _define_property(_obj, _ruleNames.DEFINED_ASSERTION_RULE_NAME, _defined.default), _define_property(_obj, _ruleNames.TERM_SUBSTITUTION_RULE_NAME, _term1.default), _define_property(_obj, _ruleNames.METATHEOREM_HEADER_RULE_NAME, _metatheorem2.default), _define_property(_obj, _ruleNames.SUBPROOF_ASSERTION_RULE_NAME, _subproof1.default), _define_property(_obj, _ruleNames.PROPERTY_ASSERTION_RULE_NAME, _property1.default), _define_property(_obj, _ruleNames.FRAME_SUBSTITUTION_RULE_NAME, _frame1.default), _define_property(_obj, _ruleNames.PROCEDURE_REFERENCE_RULE_NAME, _procedureReference.default), _define_property(_obj, _ruleNames.PARENTHESISED_LABEL_RULE_NAME, _parenthesisedLabel.default), _define_property(_obj, _ruleNames.SATISFIES_ASSERTION_RULE_NAME, _satisfies.default), _define_property(_obj, _ruleNames.CONTAINED_ASSERTION_RULE_NAME, _contained.default), _define_property(_obj, _ruleNames.PARENTHESISED_LABELS_RULE_NAME, _parenthesisedLabels.default), _define_property(_obj, _ruleNames.VARIABLE_DECLARATION_RULE_NAME, _variable1.default), _define_property(_obj, _ruleNames.PROPERTY_DECLARATION_RULE_NAME, _property2.default), _define_property(_obj, _ruleNames.STATEMENT_SUBSTITUTION_RULE_NAME, _statement1.default), _define_property(_obj, _ruleNames.COMBINATOR_DECLARATION_RULE_NAME, _combinator1.default), _define_property(_obj, _ruleNames.SIMPLE_TYPE_DECLARATION_RULE_NAME, _simpleType.default), _define_property(_obj, _ruleNames.TYPE_PREFIX_DECLARATION_RULE_NAME, _typePrefix1.default), _define_property(_obj, _ruleNames.CONSTRUCTOR_DECLARATION_RULE_NAME, _constructor1.default), _define_property(_obj, _ruleNames.COMPLEX_TYPE_DECLARATION_RULE_NAME, _complexType.default), _define_property(_obj, _ruleNames.METAVARIABLE_DECLARATION_RULE_NAME, _metavariable1.default), _obj);
|
|
111
111
|
var _default = NonTerminalNodeMap;
|
|
112
112
|
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub25UZXJtaW5hbE5vZGVNYXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUZXJtTm9kZSBmcm9tIFwiLi9ub2RlL3Rlcm1cIjtcbmltcG9ydCBSdWxlTm9kZSBmcm9tIFwiLi9ub2RlL3J1bGVcIjtcbmltcG9ydCBTdGVwTm9kZSBmcm9tIFwiLi9ub2RlL3N0ZXBcIjtcbmltcG9ydCBUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL3R5cGVcIjtcbmltcG9ydCBUeXBlc05vZGUgZnJvbSBcIi4vbm9kZS90eXBlc1wiO1xuaW1wb3J0IEVycm9yTm9kZSBmcm9tIFwiLi9ub2RlL2Vycm9yXCI7XG5pbXBvcnQgRnJhbWVOb2RlIGZyb20gXCIuL25vZGUvZnJhbWVcIjtcbmltcG9ydCBBeGlvbU5vZGUgZnJvbSBcIi4vbm9kZS9heGlvbVwiO1xuaW1wb3J0IExlbW1hTm9kZSBmcm9tIFwiLi9ub2RlL2xlbW1hXCI7XG5pbXBvcnQgUHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvcHJvb2ZcIjtcbmltcG9ydCBMYWJlbE5vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbFwiO1xuaW1wb3J0IExhYmVsc05vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbHNcIjtcbmltcG9ydCBTZWN0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3NlY3Rpb25cIjtcbmltcG9ydCBQcmVtaXNlTm9kZSBmcm9tIFwiLi9ub2RlL3ByZW1pc2VcIjtcbmltcG9ydCBUaGVvcmVtTm9kZSBmcm9tIFwiLi9ub2RlL3RoZW9yZW1cIjtcbmltcG9ydCBOb25zZW5zZU5vZGUgZnJvbSBcIi4vbm9kZS9ub25zZW5zZVwiO1xuaW1wb3J0IEFyZ3VtZW50Tm9kZSBmcm9tIFwiLi9ub2RlL2FyZ3VtZW50XCI7XG5pbXBvcnQgU3VicHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvc3VicHJvb2ZcIjtcbmltcG9ydCBQcm9wZXJ0eU5vZGUgZnJvbSBcIi4vbm9kZS9wcm9wZXJ0eVwiO1xuaW1wb3J0IE1ldGFUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL21ldGFUeXBlXCI7XG5pbXBvcnQgRXF1YWxpdHlOb2RlIGZyb20gXCIuL25vZGUvZXF1YWxpdHlcIjtcbmltcG9ydCBWYXJpYWJsZU5vZGUgZnJvbSBcIi4vbm9kZS92YXJpYWJsZVwiO1xuaW1wb3J0IFJ1bGVCb2R5Tm9kZSBmcm9tIFwiLi9ub2RlL2JvZHkvcnVsZVwiO1xuaW1wb3J0IFN0YXRlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9zdGF0ZW1lbnRcIjtcbmltcG9ydCBSZWZlcmVuY2VOb2RlIGZyb20gXCIuL25vZGUvcmVmZXJlbmNlXCI7XG5pbXBvcnQgRGVkdWN0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlZHVjdGlvblwiO1xuaW1wb3J0IEp1ZGdlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9qdWRnZW1lbnRcIjtcbmltcG9ydCBNZXRhTGVtbWFOb2RlIGZyb20gXCIuL25vZGUvbWV0YUxlbW1hXCI7XG5pbXBvcnQgUGFyYW1ldGVyTm9kZSBmcm9tIFwiLi9ub2RlL3BhcmFtZXRlclwiO1xuaW1wb3J0IFNpZ25hdHVyZU5vZGUgZnJvbSBcIi4vbm9kZS9zaWduYXR1cmVcIjtcbmltcG9ydCBBeGlvbUJvZHlOb2RlIGZyb20gXCIuL25vZGUvYm9keS9heGlvbVwiO1xuaW1wb3J0IExlbW1hQm9keU5vZGUgZnJvbSBcIi4vbm9kZS9ib2R5L2xlbW1hXCI7XG5pbXBvcnQgRGVyaXZhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZXJpdmF0aW9uXCI7XG5pbXBvcnQgQ29tYmluYXRvck5vZGUgZnJvbSBcIi4vbm9kZS9jb21iaW5hdG9yXCI7XG5pbXBvcnQgQ29uY2x1c2lvbk5vZGUgZnJvbSBcIi4vbm9kZS9jb25jbHVzaW9uXCI7XG5pbXBvcnQgQ29uamVjdHVyZU5vZGUgZnJvbSBcIi4vbm9kZS9jb25qZWN0dXJlXCI7XG5pbXBvcnQgSHlwb3RoZXNpc05vZGUgZnJvbSBcIi4vbm9kZS9oeXBvdGhlc2lzXCI7XG5pbXBvcnQgVHlwZVByZWZpeE5vZGUgZnJvbSBcIi4vbm9kZS90eXBlUHJlZml4XCI7XG5pbXBvcnQgUnVsZUhlYWRlck5vZGUgZnJvbSBcIi4vbm9kZS9oZWFkZXIvcnVsZVwiO1xuaW1wb3J0IFN1cHBvc2l0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1cHBvc2l0aW9uXCI7XG5pbXBvcnQgQ29uc3RydWN0b3JOb2RlIGZyb20gXCIuL25vZGUvY29uc3RydWN0b3JcIjtcbmltcG9ydCBEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvblwiO1xuaW1wb3J0IE1ldGF0aGVvcmVtTm9kZSBmcm9tIFwiLi9ub2RlL21ldGF0aGVvcmVtXCI7XG5pbXBvcnQgVGhlb3JlbUJvZHlOb2RlIGZyb20gXCIuL25vZGUvYm9keS90aGVvcmVtXCI7XG5pbXBvcnQgQXhpb21IZWFkZXJOb2RlIGZyb20gXCIuL25vZGUvaGVhZGVyL2F4aW9tXCI7XG5pbXBvcnQgTGVtbWFIZWFkZXJOb2RlIGZyb20gXCIuL25vZGUvaGVhZGVyL2xlbW1hXCI7XG5pbXBvcnQgTWV0YUFyZ3VtZW50Tm9kZSBmcm9tIFwiLi9ub2RlL21ldGFBcmd1bWVudFwiO1xuaW1wb3J0IE1ldGF2YXJpYWJsZU5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhdmFyaWFibGVcIjtcbmltcG9ydCBRdWFsaWZpY2F0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3F1YWxpZmljYXRpb25cIjtcbmltcG9ydCBQcm9jZWR1cmVDYWxsTm9kZSBmcm9tIFwiLi9ub2RlL3Byb2NlZHVyZUNhbGxcIjtcbmltcG9ydCBTdWJEZXJpdmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1YkRlcml2YXRpb25cIjtcbmltcG9ydCBUaGVvcmVtSGVhZGVyTm9kZSBmcm9tIFwiLi9ub2RlL2hlYWRlci90aGVvcmVtXCI7XG5pbXBvcnQgTWV0YUxlbW1hQm9keU5vZGUgZnJvbSBcIi4vbm9kZS9ib2R5L21ldGFMZW1tYVwiO1xuaW1wb3J0IFR5cGVBc3NlcnRpb25Ob2RlIGZyb20gXCIuL25vZGUvYXNzZXJ0aW9uL3R5cGVcIjtcbmltcG9ydCBDb25qZWN0dXJlQm9keU5vZGUgZnJvbSBcIi4vbm9kZS9ib2R5L2NvbmplY3R1cmVcIjtcbmltcG9ydCBNZXRhdGhlb3JlbUJvZHlOb2RlIGZyb20gXCIuL25vZGUvYm9keS9tZXRhdGhlb3JlbVwiO1xuaW1wb3J0IE1ldGFMZW1tYUhlYWRlck5vZGUgZnJvbSBcIi4vbm9kZS9oZWFkZXIvbWV0YUxlbW1hXCI7XG5pbXBvcnQgUHJvcGVydHlSZWxhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9wcm9wZXJ0eVJlbGF0aW9uXCJcbmltcG9ydCBEZWZpbmVkQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9kZWZpbmVkXCI7XG5pbXBvcnQgVGVybVN1YnN0aXR1dGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJzdGl0dXRpb24vdGVybVwiO1xuaW1wb3J0IENvbmplY3R1cmVIZWFkZXJOb2RlIGZyb20gXCIuL25vZGUvaGVhZGVyL2NvbmplY3R1cmVcIjtcbmltcG9ydCBNZXRhdGhlb3JlbUhlYWRlck5vZGUgZnJvbSBcIi4vbm9kZS9oZWFkZXIvbWV0YXRoZW9yZW1cIjtcbmltcG9ydCBQcm9wZXJ0eUFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vcHJvcGVydHlcIjtcbmltcG9ydCBTdWJwcm9vZkFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vc3VicHJvb2ZcIjtcbmltcG9ydCBGcmFtZVN1YnN0aXR1dGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJzdGl0dXRpb24vZnJhbWVcIjtcbmltcG9ydCBQcm9jZWR1cmVSZWZlcmVuY2VOb2RlIGZyb20gXCIuL25vZGUvcHJvY2VkdXJlUmVmZXJlbmNlXCI7XG5pbXBvcnQgUGFyZW50aGVzaXNlZExhYmVsTm9kZSBmcm9tIFwiLi9ub2RlL3BhcmVudGhlc2lzZWRMYWJlbFwiO1xuaW1wb3J0IENvbnRhaW5lZEFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vY29udGFpbmVkXCI7XG5pbXBvcnQgU2F0aXNmaWVzQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9zYXRpc2ZpZXNcIjtcbmltcG9ydCBQYXJlbnRoZXNpc2VkTGFiZWxzTm9kZSBmcm9tIFwiLi9ub2RlL3BhcmVudGhlc2lzZWRMYWJlbHNcIlxuaW1wb3J0IFByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vcHJvcGVydHlcIjtcbmltcG9ydCBWYXJpYWJsZURlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL3ZhcmlhYmxlXCI7XG5pbXBvcnQgU3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1YnN0aXR1dGlvbi9zdGF0ZW1lbnRcIjtcbmltcG9ydCBTaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vc2ltcGxlVHlwZVwiO1xuaW1wb3J0IENvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9jb21iaW5hdG9yXCI7XG5pbXBvcnQgVHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL3R5cGVQcmVmaXhcIjtcbmltcG9ydCBDb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL2NvbXBsZXhUeXBlXCI7XG5pbXBvcnQgRG9uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9jb25zdHJ1Y3RvclwiO1xuaW1wb3J0IE1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL21ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQge1xuICBSVUxFX1JVTEVfTkFNRSxcbiAgU1RFUF9SVUxFX05BTUUsXG4gIFRFUk1fUlVMRV9OQU1FLFxuICBUWVBFX1JVTEVfTkFNRSxcbiAgVFlQRVNfUlVMRV9OQU1FLFxuICBQUk9PRl9SVUxFX05BTUUsXG4gIEVSUk9SX1JVTEVfTkFNRSxcbiAgRlJBTUVfUlVMRV9OQU1FLFxuICBBWElPTV9SVUxFX05BTUUsXG4gIExFTU1BX1JVTEVfTkFNRSxcbiAgTEFCRUxfUlVMRV9OQU1FLFxuICBMQUJFTFNfUlVMRV9OQU1FLFxuICBUSEVPUkVNX1JVTEVfTkFNRSxcbiAgUFJFTUlTRV9SVUxFX05BTUUsXG4gIFNFQ1RJT05fUlVMRV9OQU1FLFxuICBOT05TRU5TRV9SVUxFX05BTUUsXG4gIEFSR1VNRU5UX1JVTEVfTkFNRSxcbiAgU1VCUFJPT0ZfUlVMRV9OQU1FLFxuICBQUk9QRVJUWV9SVUxFX05BTUUsXG4gIEVRVUFMSVRZX1JVTEVfTkFNRSxcbiAgVkFSSUFCTEVfUlVMRV9OQU1FLFxuICBNRVRBX1RZUEVfUlVMRV9OQU1FLFxuICBTSUdOQVRVUkVfUlVMRV9OQU1FLFxuICBERURVQ1RJT05fUlVMRV9OQU1FLFxuICBKVURHRU1FTlRfUlVMRV9OQU1FLFxuICBQQVJBTUVURVJfUlVMRV9OQU1FLFxuICBSRUZFUkVOQ0VfUlVMRV9OQU1FLFxuICBTVEFURU1FTlRfUlVMRV9OQU1FLFxuICBSVUxFX0JPRFlfUlVMRV9OQU1FLFxuICBNRVRBX0xFTU1BX1JVTEVfTkFNRSxcbiAgREVSSVZBVElPTl9SVUxFX05BTUUsXG4gIENPTUJJTkFUT1JfUlVMRV9OQU1FLFxuICBDT05DTFVTSU9OX1JVTEVfTkFNRSxcbiAgQ09OSkVDVFVSRV9SVUxFX05BTUUsXG4gIEhZUE9USEVTSVNfUlVMRV9OQU1FLFxuICBBWElPTV9CT0RZX1JVTEVfTkFNRSxcbiAgTEVNTUFfQk9EWV9SVUxFX05BTUUsXG4gIFRZUEVfUFJFRklYX1JVTEVfTkFNRSxcbiAgU1VQUE9TSVRJT05fUlVMRV9OQU1FLFxuICBSVUxFX0hFQURFUl9SVUxFX05BTUUsXG4gIENPTlNUUlVDVE9SX1JVTEVfTkFNRSxcbiAgREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICBNRVRBVEhFT1JFTV9SVUxFX05BTUUsXG4gIEFYSU9NX0hFQURFUl9SVUxFX05BTUUsXG4gIExFTU1BX0hFQURFUl9SVUxFX05BTUUsXG4gIFRIRU9SRU1fQk9EWV9SVUxFX05BTUUsXG4gIE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsXG4gIFFVQUxJRklDQVRJT05fUlVMRV9OQU1FLFxuICBNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRSxcbiAgVEhFT1JFTV9IRUFERVJfUlVMRV9OQU1FLFxuICBTVUJfREVSSVZBVElPTl9SVUxFX05BTUUsXG4gIFRZUEVfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgUFJPQ0VEVVJFX0NBTExfUlVMRV9OQU1FLFxuICBDT05KRUNUVVJFX0JPRFlfUlVMRV9OQU1FLFxuICBNRVRBX0xFTU1BX0JPRFlfUlVMRV9OQU1FLFxuICBNRVRBVEhFT1JFTV9CT0RZX1JVTEVfTkFNRSxcbiAgQ09OSkVDVFVSRV9IRUFERVJfUlVMRV9OQU1FLFxuICBNRVRBX0xFTU1BX0hFQURFUl9SVUxFX05BTUUsXG4gIFBST1BFUlRZX1JFTEFUSU9OX1JVTEVfTkFNRSxcbiAgREVGSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICBURVJNX1NVQlNUSVRVVElPTl9SVUxFX05BTUUsXG4gIE1FVEFUSEVPUkVNX0hFQURFUl9SVUxFX05BTUUsXG4gIFNVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gIFBST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gIEZSQU1FX1NVQlNUSVRVVElPTl9SVUxFX05BTUUsXG4gIENPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICBTQVRJU0ZJRVNfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgUEFSRU5USEVTSVNFRF9MQUJFTF9SVUxFX05BTUUsXG4gIFBBUkVOVEhFU0lTRURfTEFCRUxTX1JVTEVfTkFNRSxcbiAgUFJPUEVSVFlfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICBWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gIFNUQVRFTUVOVF9TVUJTVElUVVRJT05fUlVMRV9OQU1FLFxuICBDT01CSU5BVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgU0lNUExFX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICBDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gIFRZUEVfUFJFRklYX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgQ09NUExFWF9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgTUVUQVZBUklBQkxFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSwgUFJPQ0VEVVJFX1JFRkVSRU5DRV9SVUxFX05BTUVcbn0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IE5vblRlcm1pbmFsTm9kZU1hcCA9IHtcbiAgW1JVTEVfUlVMRV9OQU1FXTogUnVsZU5vZGUsXG4gIFtTVEVQX1JVTEVfTkFNRV06IFN0ZXBOb2RlLFxuICBbVEVSTV9SVUxFX05BTUVdOiBUZXJtTm9kZSxcbiAgW1RZUEVfUlVMRV9OQU1FXTogVHlwZU5vZGUsXG4gIFtUWVBFU19SVUxFX05BTUVdOiBUeXBlc05vZGUsXG4gIFtFUlJPUl9SVUxFX05BTUVdOiBFcnJvck5vZGUsXG4gIFtGUkFNRV9SVUxFX05BTUVdOiBGcmFtZU5vZGUsXG4gIFtMRU1NQV9SVUxFX05BTUVdOiBMZW1tYU5vZGUsXG4gIFtBWElPTV9SVUxFX05BTUVdOiBBeGlvbU5vZGUsXG4gIFtQUk9PRl9SVUxFX05BTUVdOiBQcm9vZk5vZGUsXG4gIFtMQUJFTF9SVUxFX05BTUVdOiBMYWJlbE5vZGUsXG4gIFtMQUJFTFNfUlVMRV9OQU1FXTogTGFiZWxzTm9kZSxcbiAgW1RIRU9SRU1fUlVMRV9OQU1FXTogVGhlb3JlbU5vZGUsXG4gIFtQUkVNSVNFX1JVTEVfTkFNRV06IFByZW1pc2VOb2RlLFxuICBbU0VDVElPTl9SVUxFX05BTUVdOiBTZWN0aW9uTm9kZSxcbiAgW0FSR1VNRU5UX1JVTEVfTkFNRV06IEFyZ3VtZW50Tm9kZSxcbiAgW1BST1BFUlRZX1JVTEVfTkFNRV06IFByb3BlcnR5Tm9kZSxcbiAgW1NVQlBST09GX1JVTEVfTkFNRV06IFN1YnByb29mTm9kZSxcbiAgW0VRVUFMSVRZX1JVTEVfTkFNRV06IEVxdWFsaXR5Tm9kZSxcbiAgW1ZBUklBQkxFX1JVTEVfTkFNRV06IFZhcmlhYmxlTm9kZSxcbiAgW05PTlNFTlNFX1JVTEVfTkFNRV06IE5vbnNlbnNlTm9kZSxcbiAgW1JVTEVfQk9EWV9SVUxFX05BTUVdOiBSdWxlQm9keU5vZGUsXG4gIFtNRVRBX1RZUEVfUlVMRV9OQU1FXTogTWV0YVR5cGVOb2RlLFxuICBbU0lHTkFUVVJFX1JVTEVfTkFNRV06IFNpZ25hdHVyZU5vZGUsXG4gIFtSRUZFUkVOQ0VfUlVMRV9OQU1FXTogUmVmZXJlbmNlTm9kZSxcbiAgW0pVREdFTUVOVF9SVUxFX05BTUVdOiBKdWRnZW1lbnROb2RlLFxuICBbREVEVUNUSU9OX1JVTEVfTkFNRV06IERlZHVjdGlvbk5vZGUsXG4gIFtQQVJBTUVURVJfUlVMRV9OQU1FXTogUGFyYW1ldGVyTm9kZSxcbiAgW1NUQVRFTUVOVF9SVUxFX05BTUVdOiBTdGF0ZW1lbnROb2RlLFxuICBbQVhJT01fQk9EWV9SVUxFX05BTUVdOiBBeGlvbUJvZHlOb2RlLFxuICBbTEVNTUFfQk9EWV9SVUxFX05BTUVdOiBMZW1tYUJvZHlOb2RlLFxuICBbTUVUQV9MRU1NQV9SVUxFX05BTUVdOiBNZXRhTGVtbWFOb2RlLFxuICBbQ09NQklOQVRPUl9SVUxFX05BTUVdOiBDb21iaW5hdG9yTm9kZSxcbiAgW0NPTkNMVVNJT05fUlVMRV9OQU1FXTogQ29uY2x1c2lvbk5vZGUsXG4gIFtDT05KRUNUVVJFX1JVTEVfTkFNRV06IENvbmplY3R1cmVOb2RlLFxuICBbREVSSVZBVElPTl9SVUxFX05BTUVdOiBEZXJpdmF0aW9uTm9kZSxcbiAgW0hZUE9USEVTSVNfUlVMRV9OQU1FXTogSHlwb3RoZXNpc05vZGUsXG4gIFtSVUxFX0hFQURFUl9SVUxFX05BTUVdOiBSdWxlSGVhZGVyTm9kZSxcbiAgW1RZUEVfUFJFRklYX1JVTEVfTkFNRV06IFR5cGVQcmVmaXhOb2RlLFxuICBbU1VQUE9TSVRJT05fUlVMRV9OQU1FXTogU3VwcG9zaXRpb25Ob2RlLFxuICBbQ09OU1RSVUNUT1JfUlVMRV9OQU1FXTogQ29uc3RydWN0b3JOb2RlLFxuICBbREVDTEFSQVRJT05fUlVMRV9OQU1FXTogRGVjbGFyYXRpb25Ob2RlLFxuICBbTUVUQVRIRU9SRU1fUlVMRV9OQU1FXTogTWV0YXRoZW9yZW1Ob2RlLFxuICBbQVhJT01fSEVBREVSX1JVTEVfTkFNRV06IEF4aW9tSGVhZGVyTm9kZSxcbiAgW0xFTU1BX0hFQURFUl9SVUxFX05BTUVdOiBMZW1tYUhlYWRlck5vZGUsXG4gIFtUSEVPUkVNX0JPRFlfUlVMRV9OQU1FXTogVGhlb3JlbUJvZHlOb2RlLFxuICBbTUVUQVZBUklBQkxFX1JVTEVfTkFNRV06IE1ldGF2YXJpYWJsZU5vZGUsXG4gIFtNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRV06IE1ldGFBcmd1bWVudE5vZGUsXG4gIFtRVUFMSUZJQ0FUSU9OX1JVTEVfTkFNRV06IFF1YWxpZmljYXRpb25Ob2RlLFxuICBbVFlQRV9BU1NFUlRJT05fUlVMRV9OQU1FXTogVHlwZUFzc2VydGlvbk5vZGUsXG4gIFtQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUVdOiBQcm9jZWR1cmVDYWxsTm9kZSxcbiAgW1NVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRV06IFN1YkRlcml2YXRpb25Ob2RlLFxuICBbVEhFT1JFTV9IRUFERVJfUlVMRV9OQU1FXTogVGhlb3JlbUhlYWRlck5vZGUsXG4gIFtNRVRBX0xFTU1BX0JPRFlfUlVMRV9OQU1FXTogTWV0YUxlbW1hQm9keU5vZGUsXG4gIFtDT05KRUNUVVJFX0JPRFlfUlVMRV9OQU1FXTogQ29uamVjdHVyZUJvZHlOb2RlLFxuICBbTUVUQVRIRU9SRU1fQk9EWV9SVUxFX05BTUVdOiBNZXRhdGhlb3JlbUJvZHlOb2RlLFxuICBbTUVUQV9MRU1NQV9IRUFERVJfUlVMRV9OQU1FXTogTWV0YUxlbW1hSGVhZGVyTm9kZSxcbiAgW0NPTkpFQ1RVUkVfSEVBREVSX1JVTEVfTkFNRV06IENvbmplY3R1cmVIZWFkZXJOb2RlLFxuICBbUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FXTogUHJvcGVydHlSZWxhdGlvbk5vZGUsXG4gIFtERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUVdOiBEZWZpbmVkQXNzZXJ0aW9uTm9kZSxcbiAgW1RFUk1fU1VCU1RJVFVUSU9OX1JVTEVfTkFNRV06IFRlcm1TdWJzdGl0dXRpb25Ob2RlLFxuICBbTUVUQVRIRU9SRU1fSEVBREVSX1JVTEVfTkFNRV06IE1ldGF0aGVvcmVtSGVhZGVyTm9kZSxcbiAgW1NVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUVdOiBTdWJwcm9vZkFzc2VydGlvbk5vZGUsXG4gIFtQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FXTogUHJvcGVydHlBc3NlcnRpb25Ob2RlLFxuICBbRlJBTUVfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRV06IEZyYW1lU3Vic3RpdHV0aW9uTm9kZSxcbiAgW1BST0NFRFVSRV9SRUZFUkVOQ0VfUlVMRV9OQU1FXTogUHJvY2VkdXJlUmVmZXJlbmNlTm9kZSxcbiAgW1BBUkVOVEhFU0lTRURfTEFCRUxfUlVMRV9OQU1FXTogUGFyZW50aGVzaXNlZExhYmVsTm9kZSxcbiAgW1NBVElTRklFU19BU1NFUlRJT05fUlVMRV9OQU1FXTogU2F0aXNmaWVzQXNzZXJ0aW9uTm9kZSxcbiAgW0NPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FXTogQ29udGFpbmVkQXNzZXJ0aW9uTm9kZSxcbiAgW1BBUkVOVEhFU0lTRURfTEFCRUxTX1JVTEVfTkFNRV06IFBhcmVudGhlc2lzZWRMYWJlbHNOb2RlLFxuICBbVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtQUk9QRVJUWV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBQcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSxcbiAgW1NUQVRFTUVOVF9TVUJTVElUVVRJT05fUlVMRV9OQU1FXTogU3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZSxcbiAgW0NPTUJJTkFUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSxcbiAgW1NJTVBMRV9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRV06IFNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtUWVBFX1BSRUZJWF9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBUeXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlLFxuICBbQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogRG9uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUsXG4gIFtDT01QTEVYX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtNRVRBVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlXG59O1xuXG5leHBvcnQgZGVmYXVsdCBOb25UZXJtaW5hbE5vZGVNYXA7XG4iXSwibmFtZXMiOlsiTm9uVGVybWluYWxOb2RlTWFwIiwiUlVMRV9SVUxFX05BTUUiLCJSdWxlTm9kZSIsIlNURVBfUlVMRV9OQU1FIiwiU3RlcE5vZGUiLCJURVJNX1JVTEVfTkFNRSIsIlRlcm1Ob2RlIiwiVFlQRV9SVUxFX05BTUUiLCJUeXBlTm9kZSIsIlRZUEVTX1JVTEVfTkFNRSIsIlR5cGVzTm9kZSIsIkVSUk9SX1JVTEVfTkFNRSIsIkVycm9yTm9kZSIsIkZSQU1FX1JVTEVfTkFNRSIsIkZyYW1lTm9kZSIsIkxFTU1BX1JVTEVfTkFNRSIsIkxlbW1hTm9kZSIsIkFYSU9NX1JVTEVfTkFNRSIsIkF4aW9tTm9kZSIsIlBST09GX1JVTEVfTkFNRSIsIlByb29mTm9kZSIsIkxBQkVMX1JVTEVfTkFNRSIsIkxhYmVsTm9kZSIsIkxBQkVMU19SVUxFX05BTUUiLCJMYWJlbHNOb2RlIiwiVEhFT1JFTV9SVUxFX05BTUUiLCJUaGVvcmVtTm9kZSIsIlBSRU1JU0VfUlVMRV9OQU1FIiwiUHJlbWlzZU5vZGUiLCJTRUNUSU9OX1JVTEVfTkFNRSIsIlNlY3Rpb25Ob2RlIiwiQVJHVU1FTlRfUlVMRV9OQU1FIiwiQXJndW1lbnROb2RlIiwiUFJPUEVSVFlfUlVMRV9OQU1FIiwiUHJvcGVydHlOb2RlIiwiU1VCUFJPT0ZfUlVMRV9OQU1FIiwiU3VicHJvb2ZOb2RlIiwiRVFVQUxJVFlfUlVMRV9OQU1FIiwiRXF1YWxpdHlOb2RlIiwiVkFSSUFCTEVfUlVMRV9OQU1FIiwiVmFyaWFibGVOb2RlIiwiTk9OU0VOU0VfUlVMRV9OQU1FIiwiTm9uc2Vuc2VOb2RlIiwiUlVMRV9CT0RZX1JVTEVfTkFNRSIsIlJ1bGVCb2R5Tm9kZSIsIk1FVEFfVFlQRV9SVUxFX05BTUUiLCJNZXRhVHlwZU5vZGUiLCJTSUdOQVRVUkVfUlVMRV9OQU1FIiwiU2lnbmF0dXJlTm9kZSIsIlJFRkVSRU5DRV9SVUxFX05BTUUiLCJSZWZlcmVuY2VOb2RlIiwiSlVER0VNRU5UX1JVTEVfTkFNRSIsIkp1ZGdlbWVudE5vZGUiLCJERURVQ1RJT05fUlVMRV9OQU1FIiwiRGVkdWN0aW9uTm9kZSIsIlBBUkFNRVRFUl9SVUxFX05BTUUiLCJQYXJhbWV0ZXJOb2RlIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlN0YXRlbWVudE5vZGUiLCJBWElPTV9CT0RZX1JVTEVfTkFNRSIsIkF4aW9tQm9keU5vZGUiLCJMRU1NQV9CT0RZX1JVTEVfTkFNRSIsIkxlbW1hQm9keU5vZGUiLCJNRVRBX0xFTU1BX1JVTEVfTkFNRSIsIk1ldGFMZW1tYU5vZGUiLCJDT01CSU5BVE9SX1JVTEVfTkFNRSIsIkNvbWJpbmF0b3JOb2RlIiwiQ09OQ0xVU0lPTl9SVUxFX05BTUUiLCJDb25jbHVzaW9uTm9kZSIsIkNPTkpFQ1RVUkVfUlVMRV9OQU1FIiwiQ29uamVjdHVyZU5vZGUiLCJERVJJVkFUSU9OX1JVTEVfTkFNRSIsIkRlcml2YXRpb25Ob2RlIiwiSFlQT1RIRVNJU19SVUxFX05BTUUiLCJIeXBvdGhlc2lzTm9kZSIsIlJVTEVfSEVBREVSX1JVTEVfTkFNRSIsIlJ1bGVIZWFkZXJOb2RlIiwiVFlQRV9QUkVGSVhfUlVMRV9OQU1FIiwiVHlwZVByZWZpeE5vZGUiLCJTVVBQT1NJVElPTl9SVUxFX05BTUUiLCJTdXBwb3NpdGlvbk5vZGUiLCJDT05TVFJVQ1RPUl9SVUxFX05BTUUiLCJDb25zdHJ1Y3Rvck5vZGUiLCJERUNMQVJBVElPTl9SVUxFX05BTUUiLCJEZWNsYXJhdGlvbk5vZGUiLCJNRVRBVEhFT1JFTV9SVUxFX05BTUUiLCJNZXRhdGhlb3JlbU5vZGUiLCJBWElPTV9IRUFERVJfUlVMRV9OQU1FIiwiQXhpb21IZWFkZXJOb2RlIiwiTEVNTUFfSEVBREVSX1JVTEVfTkFNRSIsIkxlbW1hSGVhZGVyTm9kZSIsIlRIRU9SRU1fQk9EWV9SVUxFX05BTUUiLCJUaGVvcmVtQm9keU5vZGUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwiTWV0YXZhcmlhYmxlTm9kZSIsIk1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIiwiTWV0YUFyZ3VtZW50Tm9kZSIsIlFVQUxJRklDQVRJT05fUlVMRV9OQU1FIiwiUXVhbGlmaWNhdGlvbk5vZGUiLCJUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUiLCJUeXBlQXNzZXJ0aW9uTm9kZSIsIlBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSIsIlByb2NlZHVyZUNhbGxOb2RlIiwiU1VCX0RFUklWQVRJT05fUlVMRV9OQU1FIiwiU3ViRGVyaXZhdGlvbk5vZGUiLCJUSEVPUkVNX0hFQURFUl9SVUxFX05BTUUiLCJUaGVvcmVtSGVhZGVyTm9kZSIsIk1FVEFfTEVNTUFfQk9EWV9SVUxFX05BTUUiLCJNZXRhTGVtbWFCb2R5Tm9kZSIsIkNPTkpFQ1RVUkVfQk9EWV9SVUxFX05BTUUiLCJDb25qZWN0dXJlQm9keU5vZGUiLCJNRVRBVEhFT1JFTV9CT0RZX1JVTEVfTkFNRSIsIk1ldGF0aGVvcmVtQm9keU5vZGUiLCJNRVRBX0xFTU1BX0hFQURFUl9SVUxFX05BTUUiLCJNZXRhTGVtbWFIZWFkZXJOb2RlIiwiQ09OSkVDVFVSRV9IRUFERVJfUlVMRV9OQU1FIiwiQ29uamVjdHVyZUhlYWRlck5vZGUiLCJQUk9QRVJUWV9SRUxBVElPTl9SVUxFX05BTUUiLCJQcm9wZXJ0eVJlbGF0aW9uTm9kZSIsIkRFRklORURfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIkRlZmluZWRBc3NlcnRpb25Ob2RlIiwiVEVSTV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwiVGVybVN1YnN0aXR1dGlvbk5vZGUiLCJNRVRBVEhFT1JFTV9IRUFERVJfUlVMRV9OQU1FIiwiTWV0YXRoZW9yZW1IZWFkZXJOb2RlIiwiU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlN1YnByb29mQXNzZXJ0aW9uTm9kZSIsIlBST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUUiLCJQcm9wZXJ0eUFzc2VydGlvbk5vZGUiLCJGUkFNRV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwiRnJhbWVTdWJzdGl0dXRpb25Ob2RlIiwiUFJPQ0VEVVJFX1JFRkVSRU5DRV9SVUxFX05BTUUiLCJQcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwiUEFSRU5USEVTSVNFRF9MQUJFTF9SVUxFX05BTUUiLCJQYXJlbnRoZXNpc2VkTGFiZWxOb2RlIiwiU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUUiLCJTYXRpc2ZpZXNBc3NlcnRpb25Ob2RlIiwiQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJDb250YWluZWRBc3NlcnRpb25Ob2RlIiwiUEFSRU5USEVTSVNFRF9MQUJFTFNfUlVMRV9OQU1FIiwiUGFyZW50aGVzaXNlZExhYmVsc05vZGUiLCJWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJWYXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIlBST1BFUlRZX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIiwiU1RBVEVNRU5UX1NVQlNUSVRVVElPTl9SVUxFX05BTUUiLCJTdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlIiwiQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJDb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiU0lNUExFX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiU2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSIsIlRZUEVfUFJFRklYX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJEb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIkNPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJDb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsIk1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJNZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXFQQTs7O2VBQUE7OzsyREFuUHFCOzJEQUNBOzJEQUNBOzJEQUNBOzREQUNDOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzZEQUNDOzhEQUNDOzhEQUNBOzhEQUNBOytEQUNDOytEQUNBOytEQUNBOytEQUNBOytEQUNBOytEQUNBOytEQUNBOzREQUNBO2dFQUNDO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBOzZEQUNBOzZEQUNBO2lFQUNDO2lFQUNBO2lFQUNBO2lFQUNBO2lFQUNBO2lFQUNBOzREQUNBO2tFQUNDO2tFQUNBO2tFQUNBO2tFQUNBOytEQUNBOzZEQUNBOzZEQUNBO21FQUNDO21FQUNBO29FQUNDO29FQUNBO29FQUNBOytEQUNBO2lFQUNBOzREQUNBO2tFQUNDO21FQUNDO2lFQUNBO3VFQUNDOzhEQUNBOzREQUNBO2tFQUNBO21FQUNDO2dFQUNBO2dFQUNBOzZEQUNBO3lFQUNDO3lFQUNBO2dFQUNBO2dFQUNBOzBFQUNDO2dFQUNBO2dFQUNBO2lF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
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub25UZXJtaW5hbE5vZGVNYXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUZXJtTm9kZSBmcm9tIFwiLi9ub2RlL3Rlcm1cIjtcbmltcG9ydCBSdWxlTm9kZSBmcm9tIFwiLi9ub2RlL3J1bGVcIjtcbmltcG9ydCBTdGVwTm9kZSBmcm9tIFwiLi9ub2RlL3N0ZXBcIjtcbmltcG9ydCBUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL3R5cGVcIjtcbmltcG9ydCBUeXBlc05vZGUgZnJvbSBcIi4vbm9kZS90eXBlc1wiO1xuaW1wb3J0IEVycm9yTm9kZSBmcm9tIFwiLi9ub2RlL2Vycm9yXCI7XG5pbXBvcnQgRnJhbWVOb2RlIGZyb20gXCIuL25vZGUvZnJhbWVcIjtcbmltcG9ydCBBeGlvbU5vZGUgZnJvbSBcIi4vbm9kZS9heGlvbVwiO1xuaW1wb3J0IExlbW1hTm9kZSBmcm9tIFwiLi9ub2RlL2xlbW1hXCI7XG5pbXBvcnQgUHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvcHJvb2ZcIjtcbmltcG9ydCBMYWJlbE5vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbFwiO1xuaW1wb3J0IExhYmVsc05vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbHNcIjtcbmltcG9ydCBTZWN0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3NlY3Rpb25cIjtcbmltcG9ydCBQcmVtaXNlTm9kZSBmcm9tIFwiLi9ub2RlL3ByZW1pc2VcIjtcbmltcG9ydCBUaGVvcmVtTm9kZSBmcm9tIFwiLi9ub2RlL3RoZW9yZW1cIjtcbmltcG9ydCBOb25zZW5zZU5vZGUgZnJvbSBcIi4vbm9kZS9ub25zZW5zZVwiO1xuaW1wb3J0IEFyZ3VtZW50Tm9kZSBmcm9tIFwiLi9ub2RlL2FyZ3VtZW50XCI7XG5pbXBvcnQgU3VicHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvc3VicHJvb2ZcIjtcbmltcG9ydCBQcm9wZXJ0eU5vZGUgZnJvbSBcIi4vbm9kZS9wcm9wZXJ0eVwiO1xuaW1wb3J0IE1ldGFUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL21ldGFUeXBlXCI7XG5pbXBvcnQgRXF1YWxpdHlOb2RlIGZyb20gXCIuL25vZGUvZXF1YWxpdHlcIjtcbmltcG9ydCBWYXJpYWJsZU5vZGUgZnJvbSBcIi4vbm9kZS92YXJpYWJsZVwiO1xuaW1wb3J0IFJ1bGVCb2R5Tm9kZSBmcm9tIFwiLi9ub2RlL2JvZHkvcnVsZVwiO1xuaW1wb3J0IFN0YXRlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9zdGF0ZW1lbnRcIjtcbmltcG9ydCBSZWZlcmVuY2VOb2RlIGZyb20gXCIuL25vZGUvcmVmZXJlbmNlXCI7XG5pbXBvcnQgRGVkdWN0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlZHVjdGlvblwiO1xuaW1wb3J0IEp1ZGdlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9qdWRnZW1lbnRcIjtcbmltcG9ydCBNZXRhTGVtbWFOb2RlIGZyb20gXCIuL25vZGUvbWV0YUxlbW1hXCI7XG5pbXBvcnQgUGFyYW1ldGVyTm9kZSBmcm9tIFwiLi9ub2RlL3BhcmFtZXRlclwiO1xuaW1wb3J0IFNpZ25hdHVyZU5vZGUgZnJvbSBcIi4vbm9kZS9zaWduYXR1cmVcIjtcbmltcG9ydCBBeGlvbUJvZHlOb2RlIGZyb20gXCIuL25vZGUvYm9keS9heGlvbVwiO1xuaW1wb3J0IExlbW1hQm9keU5vZGUgZnJvbSBcIi4vbm9kZS9ib2R5L2xlbW1hXCI7XG5pbXBvcnQgRGVyaXZhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZXJpdmF0aW9uXCI7XG5pbXBvcnQgQ29tYmluYXRvck5vZGUgZnJvbSBcIi4vbm9kZS9jb21iaW5hdG9yXCI7XG5pbXBvcnQgQ29uY2x1c2lvbk5vZGUgZnJvbSBcIi4vbm9kZS9jb25jbHVzaW9uXCI7XG5pbXBvcnQgQ29uamVjdHVyZU5vZGUgZnJvbSBcIi4vbm9kZS9jb25qZWN0dXJlXCI7XG5pbXBvcnQgSHlwb3RoZXNpc05vZGUgZnJvbSBcIi4vbm9kZS9oeXBvdGhlc2lzXCI7XG5pbXBvcnQgVHlwZVByZWZpeE5vZGUgZnJvbSBcIi4vbm9kZS90eXBlUHJlZml4XCI7XG5pbXBvcnQgUnVsZUhlYWRlck5vZGUgZnJvbSBcIi4vbm9kZS9oZWFkZXIvcnVsZVwiO1xuaW1wb3J0IFN1cHBvc2l0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1cHBvc2l0aW9uXCI7XG5pbXBvcnQgQ29uc3RydWN0b3JOb2RlIGZyb20gXCIuL25vZGUvY29uc3RydWN0b3JcIjtcbmltcG9ydCBEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvblwiO1xuaW1wb3J0IE1ldGF0aGVvcmVtTm9kZSBmcm9tIFwiLi9ub2RlL21ldGF0aGVvcmVtXCI7XG5pbXBvcnQgVGhlb3JlbUJvZHlOb2RlIGZyb20gXCIuL25vZGUvYm9keS90aGVvcmVtXCI7XG5pbXBvcnQgQXhpb21IZWFkZXJOb2RlIGZyb20gXCIuL25vZGUvaGVhZGVyL2F4aW9tXCI7XG5pbXBvcnQgTGVtbWFIZWFkZXJOb2RlIGZyb20gXCIuL25vZGUvaGVhZGVyL2xlbW1hXCI7XG5pbXBvcnQgTWV0YUFyZ3VtZW50Tm9kZSBmcm9tIFwiLi9ub2RlL21ldGFBcmd1bWVudFwiO1xuaW1wb3J0IE1ldGF2YXJpYWJsZU5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhdmFyaWFibGVcIjtcbmltcG9ydCBRdWFsaWZpY2F0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3F1YWxpZmljYXRpb25cIjtcbmltcG9ydCBQcm9jZWR1cmVDYWxsTm9kZSBmcm9tIFwiLi9ub2RlL3Byb2NlZHVyZUNhbGxcIjtcbmltcG9ydCBTdWJEZXJpdmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1YkRlcml2YXRpb25cIjtcbmltcG9ydCBUaGVvcmVtSGVhZGVyTm9kZSBmcm9tIFwiLi9ub2RlL2hlYWRlci90aGVvcmVtXCI7XG5pbXBvcnQgTWV0YUxlbW1hQm9keU5vZGUgZnJvbSBcIi4vbm9kZS9ib2R5L21ldGFMZW1tYVwiO1xuaW1wb3J0IFR5cGVBc3NlcnRpb25Ob2RlIGZyb20gXCIuL25vZGUvYXNzZXJ0aW9uL3R5cGVcIjtcbmltcG9ydCBDb25qZWN0dXJlQm9keU5vZGUgZnJvbSBcIi4vbm9kZS9ib2R5L2NvbmplY3R1cmVcIjtcbmltcG9ydCBNZXRhdGhlb3JlbUJvZHlOb2RlIGZyb20gXCIuL25vZGUvYm9keS9tZXRhdGhlb3JlbVwiO1xuaW1wb3J0IE1ldGFMZW1tYUhlYWRlck5vZGUgZnJvbSBcIi4vbm9kZS9oZWFkZXIvbWV0YUxlbW1hXCI7XG5pbXBvcnQgUHJvcGVydHlSZWxhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9wcm9wZXJ0eVJlbGF0aW9uXCJcbmltcG9ydCBEZWZpbmVkQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9kZWZpbmVkXCI7XG5pbXBvcnQgVGVybVN1YnN0aXR1dGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJzdGl0dXRpb24vdGVybVwiO1xuaW1wb3J0IENvbmplY3R1cmVIZWFkZXJOb2RlIGZyb20gXCIuL25vZGUvaGVhZGVyL2NvbmplY3R1cmVcIjtcbmltcG9ydCBNZXRhdGhlb3JlbUhlYWRlck5vZGUgZnJvbSBcIi4vbm9kZS9oZWFkZXIvbWV0YXRoZW9yZW1cIjtcbmltcG9ydCBQcm9wZXJ0eUFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vcHJvcGVydHlcIjtcbmltcG9ydCBTdWJwcm9vZkFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vc3VicHJvb2ZcIjtcbmltcG9ydCBGcmFtZVN1YnN0aXR1dGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJzdGl0dXRpb24vZnJhbWVcIjtcbmltcG9ydCBQcm9jZWR1cmVSZWZlcmVuY2VOb2RlIGZyb20gXCIuL25vZGUvcHJvY2VkdXJlUmVmZXJlbmNlXCI7XG5pbXBvcnQgUGFyZW50aGVzaXNlZExhYmVsTm9kZSBmcm9tIFwiLi9ub2RlL3BhcmVudGhlc2lzZWRMYWJlbFwiO1xuaW1wb3J0IENvbnRhaW5lZEFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vY29udGFpbmVkXCI7XG5pbXBvcnQgU2F0aXNmaWVzQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9zYXRpc2ZpZXNcIjtcbmltcG9ydCBQYXJlbnRoZXNpc2VkTGFiZWxzTm9kZSBmcm9tIFwiLi9ub2RlL3BhcmVudGhlc2lzZWRMYWJlbHNcIlxuaW1wb3J0IFByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vcHJvcGVydHlcIjtcbmltcG9ydCBWYXJpYWJsZURlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL3ZhcmlhYmxlXCI7XG5pbXBvcnQgU3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1YnN0aXR1dGlvbi9zdGF0ZW1lbnRcIjtcbmltcG9ydCBTaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vc2ltcGxlVHlwZVwiO1xuaW1wb3J0IENvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9jb21iaW5hdG9yXCI7XG5pbXBvcnQgVHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL3R5cGVQcmVmaXhcIjtcbmltcG9ydCBDb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL2NvbXBsZXhUeXBlXCI7XG5pbXBvcnQgRG9uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9jb25zdHJ1Y3RvclwiO1xuaW1wb3J0IE1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL21ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQge1xuICBSVUxFX1JVTEVfTkFNRSxcbiAgU1RFUF9SVUxFX05BTUUsXG4gIFRFUk1fUlVMRV9OQU1FLFxuICBUWVBFX1JVTEVfTkFNRSxcbiAgVFlQRVNfUlVMRV9OQU1FLFxuICBQUk9PRl9SVUxFX05BTUUsXG4gIEVSUk9SX1JVTEVfTkFNRSxcbiAgRlJBTUVfUlVMRV9OQU1FLFxuICBBWElPTV9SVUxFX05BTUUsXG4gIExFTU1BX1JVTEVfTkFNRSxcbiAgTEFCRUxfUlVMRV9OQU1FLFxuICBMQUJFTFNfUlVMRV9OQU1FLFxuICBUSEVPUkVNX1JVTEVfTkFNRSxcbiAgUFJFTUlTRV9SVUxFX05BTUUsXG4gIFNFQ1RJT05fUlVMRV9OQU1FLFxuICBOT05TRU5TRV9SVUxFX05BTUUsXG4gIEFSR1VNRU5UX1JVTEVfTkFNRSxcbiAgU1VCUFJPT0ZfUlVMRV9OQU1FLFxuICBQUk9QRVJUWV9SVUxFX05BTUUsXG4gIEVRVUFMSVRZX1JVTEVfTkFNRSxcbiAgVkFSSUFCTEVfUlVMRV9OQU1FLFxuICBNRVRBX1RZUEVfUlVMRV9OQU1FLFxuICBTSUdOQVRVUkVfUlVMRV9OQU1FLFxuICBERURVQ1RJT05fUlVMRV9OQU1FLFxuICBKVURHRU1FTlRfUlVMRV9OQU1FLFxuICBQQVJBTUVURVJfUlVMRV9OQU1FLFxuICBSRUZFUkVOQ0VfUlVMRV9OQU1FLFxuICBTVEFURU1FTlRfUlVMRV9OQU1FLFxuICBSVUxFX0JPRFlfUlVMRV9OQU1FLFxuICBNRVRBX0xFTU1BX1JVTEVfTkFNRSxcbiAgREVSSVZBVElPTl9SVUxFX05BTUUsXG4gIENPTUJJTkFUT1JfUlVMRV9OQU1FLFxuICBDT05DTFVTSU9OX1JVTEVfTkFNRSxcbiAgQ09OSkVDVFVSRV9SVUxFX05BTUUsXG4gIEhZUE9USEVTSVNfUlVMRV9OQU1FLFxuICBBWElPTV9CT0RZX1JVTEVfTkFNRSxcbiAgTEVNTUFfQk9EWV9SVUxFX05BTUUsXG4gIFRZUEVfUFJFRklYX1JVTEVfTkFNRSxcbiAgU1VQUE9TSVRJT05fUlVMRV9OQU1FLFxuICBSVUxFX0hFQURFUl9SVUxFX05BTUUsXG4gIENPTlNUUlVDVE9SX1JVTEVfTkFNRSxcbiAgREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICBNRVRBVEhFT1JFTV9SVUxFX05BTUUsXG4gIEFYSU9NX0hFQURFUl9SVUxFX05BTUUsXG4gIExFTU1BX0hFQURFUl9SVUxFX05BTUUsXG4gIFRIRU9SRU1fQk9EWV9SVUxFX05BTUUsXG4gIE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsXG4gIFFVQUxJRklDQVRJT05fUlVMRV9OQU1FLFxuICBNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRSxcbiAgVEhFT1JFTV9IRUFERVJfUlVMRV9OQU1FLFxuICBTVUJfREVSSVZBVElPTl9SVUxFX05BTUUsXG4gIFRZUEVfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgUFJPQ0VEVVJFX0NBTExfUlVMRV9OQU1FLFxuICBDT05KRUNUVVJFX0JPRFlfUlVMRV9OQU1FLFxuICBNRVRBX0xFTU1BX0JPRFlfUlVMRV9OQU1FLFxuICBNRVRBVEhFT1JFTV9CT0RZX1JVTEVfTkFNRSxcbiAgQ09OSkVDVFVSRV9IRUFERVJfUlVMRV9OQU1FLFxuICBNRVRBX0xFTU1BX0hFQURFUl9SVUxFX05BTUUsXG4gIFBST1BFUlRZX1JFTEFUSU9OX1JVTEVfTkFNRSxcbiAgREVGSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICBURVJNX1NVQlNUSVRVVElPTl9SVUxFX05BTUUsXG4gIE1FVEFUSEVPUkVNX0hFQURFUl9SVUxFX05BTUUsXG4gIFNVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gIFBST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gIEZSQU1FX1NVQlNUSVRVVElPTl9SVUxFX05BTUUsXG4gIFBST0NFRFVSRV9SRUZFUkVOQ0VfUlVMRV9OQU1FLFxuICBDT05UQUlORURfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gIFBBUkVOVEhFU0lTRURfTEFCRUxfUlVMRV9OQU1FLFxuICBQQVJFTlRIRVNJU0VEX0xBQkVMU19SVUxFX05BTUUsXG4gIFBST1BFUlRZX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICBTVEFURU1FTlRfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSxcbiAgQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gIFNJTVBMRV9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICBUWVBFX1BSRUZJWF9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gIENPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gIE1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUVcbn0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IE5vblRlcm1pbmFsTm9kZU1hcCA9IHtcbiAgW1JVTEVfUlVMRV9OQU1FXTogUnVsZU5vZGUsXG4gIFtTVEVQX1JVTEVfTkFNRV06IFN0ZXBOb2RlLFxuICBbVEVSTV9SVUxFX05BTUVdOiBUZXJtTm9kZSxcbiAgW1RZUEVfUlVMRV9OQU1FXTogVHlwZU5vZGUsXG4gIFtUWVBFU19SVUxFX05BTUVdOiBUeXBlc05vZGUsXG4gIFtFUlJPUl9SVUxFX05BTUVdOiBFcnJvck5vZGUsXG4gIFtGUkFNRV9SVUxFX05BTUVdOiBGcmFtZU5vZGUsXG4gIFtMRU1NQV9SVUxFX05BTUVdOiBMZW1tYU5vZGUsXG4gIFtBWElPTV9SVUxFX05BTUVdOiBBeGlvbU5vZGUsXG4gIFtQUk9PRl9SVUxFX05BTUVdOiBQcm9vZk5vZGUsXG4gIFtMQUJFTF9SVUxFX05BTUVdOiBMYWJlbE5vZGUsXG4gIFtMQUJFTFNfUlVMRV9OQU1FXTogTGFiZWxzTm9kZSxcbiAgW1RIRU9SRU1fUlVMRV9OQU1FXTogVGhlb3JlbU5vZGUsXG4gIFtQUkVNSVNFX1JVTEVfTkFNRV06IFByZW1pc2VOb2RlLFxuICBbU0VDVElPTl9SVUxFX05BTUVdOiBTZWN0aW9uTm9kZSxcbiAgW0FSR1VNRU5UX1JVTEVfTkFNRV06IEFyZ3VtZW50Tm9kZSxcbiAgW1BST1BFUlRZX1JVTEVfTkFNRV06IFByb3BlcnR5Tm9kZSxcbiAgW1NVQlBST09GX1JVTEVfTkFNRV06IFN1YnByb29mTm9kZSxcbiAgW0VRVUFMSVRZX1JVTEVfTkFNRV06IEVxdWFsaXR5Tm9kZSxcbiAgW1ZBUklBQkxFX1JVTEVfTkFNRV06IFZhcmlhYmxlTm9kZSxcbiAgW05PTlNFTlNFX1JVTEVfTkFNRV06IE5vbnNlbnNlTm9kZSxcbiAgW1JVTEVfQk9EWV9SVUxFX05BTUVdOiBSdWxlQm9keU5vZGUsXG4gIFtNRVRBX1RZUEVfUlVMRV9OQU1FXTogTWV0YVR5cGVOb2RlLFxuICBbU0lHTkFUVVJFX1JVTEVfTkFNRV06IFNpZ25hdHVyZU5vZGUsXG4gIFtSRUZFUkVOQ0VfUlVMRV9OQU1FXTogUmVmZXJlbmNlTm9kZSxcbiAgW0pVREdFTUVOVF9SVUxFX05BTUVdOiBKdWRnZW1lbnROb2RlLFxuICBbREVEVUNUSU9OX1JVTEVfTkFNRV06IERlZHVjdGlvbk5vZGUsXG4gIFtQQVJBTUVURVJfUlVMRV9OQU1FXTogUGFyYW1ldGVyTm9kZSxcbiAgW1NUQVRFTUVOVF9SVUxFX05BTUVdOiBTdGF0ZW1lbnROb2RlLFxuICBbQVhJT01fQk9EWV9SVUxFX05BTUVdOiBBeGlvbUJvZHlOb2RlLFxuICBbTEVNTUFfQk9EWV9SVUxFX05BTUVdOiBMZW1tYUJvZHlOb2RlLFxuICBbTUVUQV9MRU1NQV9SVUxFX05BTUVdOiBNZXRhTGVtbWFOb2RlLFxuICBbQ09NQklOQVRPUl9SVUxFX05BTUVdOiBDb21iaW5hdG9yTm9kZSxcbiAgW0NPTkNMVVNJT05fUlVMRV9OQU1FXTogQ29uY2x1c2lvbk5vZGUsXG4gIFtDT05KRUNUVVJFX1JVTEVfTkFNRV06IENvbmplY3R1cmVOb2RlLFxuICBbREVSSVZBVElPTl9SVUxFX05BTUVdOiBEZXJpdmF0aW9uTm9kZSxcbiAgW0hZUE9USEVTSVNfUlVMRV9OQU1FXTogSHlwb3RoZXNpc05vZGUsXG4gIFtSVUxFX0hFQURFUl9SVUxFX05BTUVdOiBSdWxlSGVhZGVyTm9kZSxcbiAgW1RZUEVfUFJFRklYX1JVTEVfTkFNRV06IFR5cGVQcmVmaXhOb2RlLFxuICBbU1VQUE9TSVRJT05fUlVMRV9OQU1FXTogU3VwcG9zaXRpb25Ob2RlLFxuICBbQ09OU1RSVUNUT1JfUlVMRV9OQU1FXTogQ29uc3RydWN0b3JOb2RlLFxuICBbREVDTEFSQVRJT05fUlVMRV9OQU1FXTogRGVjbGFyYXRpb25Ob2RlLFxuICBbTUVUQVRIRU9SRU1fUlVMRV9OQU1FXTogTWV0YXRoZW9yZW1Ob2RlLFxuICBbQVhJT01fSEVBREVSX1JVTEVfTkFNRV06IEF4aW9tSGVhZGVyTm9kZSxcbiAgW0xFTU1BX0hFQURFUl9SVUxFX05BTUVdOiBMZW1tYUhlYWRlck5vZGUsXG4gIFtUSEVPUkVNX0JPRFlfUlVMRV9OQU1FXTogVGhlb3JlbUJvZHlOb2RlLFxuICBbTUVUQVZBUklBQkxFX1JVTEVfTkFNRV06IE1ldGF2YXJpYWJsZU5vZGUsXG4gIFtNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRV06IE1ldGFBcmd1bWVudE5vZGUsXG4gIFtRVUFMSUZJQ0FUSU9OX1JVTEVfTkFNRV06IFF1YWxpZmljYXRpb25Ob2RlLFxuICBbVFlQRV9BU1NFUlRJT05fUlVMRV9OQU1FXTogVHlwZUFzc2VydGlvbk5vZGUsXG4gIFtQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUVdOiBQcm9jZWR1cmVDYWxsTm9kZSxcbiAgW1NVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRV06IFN1YkRlcml2YXRpb25Ob2RlLFxuICBbVEhFT1JFTV9IRUFERVJfUlVMRV9OQU1FXTogVGhlb3JlbUhlYWRlck5vZGUsXG4gIFtNRVRBX0xFTU1BX0JPRFlfUlVMRV9OQU1FXTogTWV0YUxlbW1hQm9keU5vZGUsXG4gIFtDT05KRUNUVVJFX0JPRFlfUlVMRV9OQU1FXTogQ29uamVjdHVyZUJvZHlOb2RlLFxuICBbTUVUQVRIRU9SRU1fQk9EWV9SVUxFX05BTUVdOiBNZXRhdGhlb3JlbUJvZHlOb2RlLFxuICBbTUVUQV9MRU1NQV9IRUFERVJfUlVMRV9OQU1FXTogTWV0YUxlbW1hSGVhZGVyTm9kZSxcbiAgW0NPTkpFQ1RVUkVfSEVBREVSX1JVTEVfTkFNRV06IENvbmplY3R1cmVIZWFkZXJOb2RlLFxuICBbUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FXTogUHJvcGVydHlSZWxhdGlvbk5vZGUsXG4gIFtERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUVdOiBEZWZpbmVkQXNzZXJ0aW9uTm9kZSxcbiAgW1RFUk1fU1VCU1RJVFVUSU9OX1JVTEVfTkFNRV06IFRlcm1TdWJzdGl0dXRpb25Ob2RlLFxuICBbTUVUQVRIRU9SRU1fSEVBREVSX1JVTEVfTkFNRV06IE1ldGF0aGVvcmVtSGVhZGVyTm9kZSxcbiAgW1NVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUVdOiBTdWJwcm9vZkFzc2VydGlvbk5vZGUsXG4gIFtQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FXTogUHJvcGVydHlBc3NlcnRpb25Ob2RlLFxuICBbRlJBTUVfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRV06IEZyYW1lU3Vic3RpdHV0aW9uTm9kZSxcbiAgW1BST0NFRFVSRV9SRUZFUkVOQ0VfUlVMRV9OQU1FXTogUHJvY2VkdXJlUmVmZXJlbmNlTm9kZSxcbiAgW1BBUkVOVEhFU0lTRURfTEFCRUxfUlVMRV9OQU1FXTogUGFyZW50aGVzaXNlZExhYmVsTm9kZSxcbiAgW1NBVElTRklFU19BU1NFUlRJT05fUlVMRV9OQU1FXTogU2F0aXNmaWVzQXNzZXJ0aW9uTm9kZSxcbiAgW0NPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FXTogQ29udGFpbmVkQXNzZXJ0aW9uTm9kZSxcbiAgW1BBUkVOVEhFU0lTRURfTEFCRUxTX1JVTEVfTkFNRV06IFBhcmVudGhlc2lzZWRMYWJlbHNOb2RlLFxuICBbVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtQUk9QRVJUWV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBQcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSxcbiAgW1NUQVRFTUVOVF9TVUJTVElUVVRJT05fUlVMRV9OQU1FXTogU3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZSxcbiAgW0NPTUJJTkFUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSxcbiAgW1NJTVBMRV9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRV06IFNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtUWVBFX1BSRUZJWF9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBUeXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlLFxuICBbQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogRG9uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUsXG4gIFtDT01QTEVYX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtNRVRBVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlXG59O1xuXG5leHBvcnQgZGVmYXVsdCBOb25UZXJtaW5hbE5vZGVNYXA7XG4iXSwibmFtZXMiOlsiTm9uVGVybWluYWxOb2RlTWFwIiwiUlVMRV9SVUxFX05BTUUiLCJSdWxlTm9kZSIsIlNURVBfUlVMRV9OQU1FIiwiU3RlcE5vZGUiLCJURVJNX1JVTEVfTkFNRSIsIlRlcm1Ob2RlIiwiVFlQRV9SVUxFX05BTUUiLCJUeXBlTm9kZSIsIlRZUEVTX1JVTEVfTkFNRSIsIlR5cGVzTm9kZSIsIkVSUk9SX1JVTEVfTkFNRSIsIkVycm9yTm9kZSIsIkZSQU1FX1JVTEVfTkFNRSIsIkZyYW1lTm9kZSIsIkxFTU1BX1JVTEVfTkFNRSIsIkxlbW1hTm9kZSIsIkFYSU9NX1JVTEVfTkFNRSIsIkF4aW9tTm9kZSIsIlBST09GX1JVTEVfTkFNRSIsIlByb29mTm9kZSIsIkxBQkVMX1JVTEVfTkFNRSIsIkxhYmVsTm9kZSIsIkxBQkVMU19SVUxFX05BTUUiLCJMYWJlbHNOb2RlIiwiVEhFT1JFTV9SVUxFX05BTUUiLCJUaGVvcmVtTm9kZSIsIlBSRU1JU0VfUlVMRV9OQU1FIiwiUHJlbWlzZU5vZGUiLCJTRUNUSU9OX1JVTEVfTkFNRSIsIlNlY3Rpb25Ob2RlIiwiQVJHVU1FTlRfUlVMRV9OQU1FIiwiQXJndW1lbnROb2RlIiwiUFJPUEVSVFlfUlVMRV9OQU1FIiwiUHJvcGVydHlOb2RlIiwiU1VCUFJPT0ZfUlVMRV9OQU1FIiwiU3VicHJvb2ZOb2RlIiwiRVFVQUxJVFlfUlVMRV9OQU1FIiwiRXF1YWxpdHlOb2RlIiwiVkFSSUFCTEVfUlVMRV9OQU1FIiwiVmFyaWFibGVOb2RlIiwiTk9OU0VOU0VfUlVMRV9OQU1FIiwiTm9uc2Vuc2VOb2RlIiwiUlVMRV9CT0RZX1JVTEVfTkFNRSIsIlJ1bGVCb2R5Tm9kZSIsIk1FVEFfVFlQRV9SVUxFX05BTUUiLCJNZXRhVHlwZU5vZGUiLCJTSUdOQVRVUkVfUlVMRV9OQU1FIiwiU2lnbmF0dXJlTm9kZSIsIlJFRkVSRU5DRV9SVUxFX05BTUUiLCJSZWZlcmVuY2VOb2RlIiwiSlVER0VNRU5UX1JVTEVfTkFNRSIsIkp1ZGdlbWVudE5vZGUiLCJERURVQ1RJT05fUlVMRV9OQU1FIiwiRGVkdWN0aW9uTm9kZSIsIlBBUkFNRVRFUl9SVUxFX05BTUUiLCJQYXJhbWV0ZXJOb2RlIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlN0YXRlbWVudE5vZGUiLCJBWElPTV9CT0RZX1JVTEVfTkFNRSIsIkF4aW9tQm9keU5vZGUiLCJMRU1NQV9CT0RZX1JVTEVfTkFNRSIsIkxlbW1hQm9keU5vZGUiLCJNRVRBX0xFTU1BX1JVTEVfTkFNRSIsIk1ldGFMZW1tYU5vZGUiLCJDT01CSU5BVE9SX1JVTEVfTkFNRSIsIkNvbWJpbmF0b3JOb2RlIiwiQ09OQ0xVU0lPTl9SVUxFX05BTUUiLCJDb25jbHVzaW9uTm9kZSIsIkNPTkpFQ1RVUkVfUlVMRV9OQU1FIiwiQ29uamVjdHVyZU5vZGUiLCJERVJJVkFUSU9OX1JVTEVfTkFNRSIsIkRlcml2YXRpb25Ob2RlIiwiSFlQT1RIRVNJU19SVUxFX05BTUUiLCJIeXBvdGhlc2lzTm9kZSIsIlJVTEVfSEVBREVSX1JVTEVfTkFNRSIsIlJ1bGVIZWFkZXJOb2RlIiwiVFlQRV9QUkVGSVhfUlVMRV9OQU1FIiwiVHlwZVByZWZpeE5vZGUiLCJTVVBQT1NJVElPTl9SVUxFX05BTUUiLCJTdXBwb3NpdGlvbk5vZGUiLCJDT05TVFJVQ1RPUl9SVUxFX05BTUUiLCJDb25zdHJ1Y3Rvck5vZGUiLCJERUNMQVJBVElPTl9SVUxFX05BTUUiLCJEZWNsYXJhdGlvbk5vZGUiLCJNRVRBVEhFT1JFTV9SVUxFX05BTUUiLCJNZXRhdGhlb3JlbU5vZGUiLCJBWElPTV9IRUFERVJfUlVMRV9OQU1FIiwiQXhpb21IZWFkZXJOb2RlIiwiTEVNTUFfSEVBREVSX1JVTEVfTkFNRSIsIkxlbW1hSGVhZGVyTm9kZSIsIlRIRU9SRU1fQk9EWV9SVUxFX05BTUUiLCJUaGVvcmVtQm9keU5vZGUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwiTWV0YXZhcmlhYmxlTm9kZSIsIk1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIiwiTWV0YUFyZ3VtZW50Tm9kZSIsIlFVQUxJRklDQVRJT05fUlVMRV9OQU1FIiwiUXVhbGlmaWNhdGlvbk5vZGUiLCJUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUiLCJUeXBlQXNzZXJ0aW9uTm9kZSIsIlBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSIsIlByb2NlZHVyZUNhbGxOb2RlIiwiU1VCX0RFUklWQVRJT05fUlVMRV9OQU1FIiwiU3ViRGVyaXZhdGlvbk5vZGUiLCJUSEVPUkVNX0hFQURFUl9SVUxFX05BTUUiLCJUaGVvcmVtSGVhZGVyTm9kZSIsIk1FVEFfTEVNTUFfQk9EWV9SVUxFX05BTUUiLCJNZXRhTGVtbWFCb2R5Tm9kZSIsIkNPTkpFQ1RVUkVfQk9EWV9SVUxFX05BTUUiLCJDb25qZWN0dXJlQm9keU5vZGUiLCJNRVRBVEhFT1JFTV9CT0RZX1JVTEVfTkFNRSIsIk1ldGF0aGVvcmVtQm9keU5vZGUiLCJNRVRBX0xFTU1BX0hFQURFUl9SVUxFX05BTUUiLCJNZXRhTGVtbWFIZWFkZXJOb2RlIiwiQ09OSkVDVFVSRV9IRUFERVJfUlVMRV9OQU1FIiwiQ29uamVjdHVyZUhlYWRlck5vZGUiLCJQUk9QRVJUWV9SRUxBVElPTl9SVUxFX05BTUUiLCJQcm9wZXJ0eVJlbGF0aW9uTm9kZSIsIkRFRklORURfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIkRlZmluZWRBc3NlcnRpb25Ob2RlIiwiVEVSTV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwiVGVybVN1YnN0aXR1dGlvbk5vZGUiLCJNRVRBVEhFT1JFTV9IRUFERVJfUlVMRV9OQU1FIiwiTWV0YXRoZW9yZW1IZWFkZXJOb2RlIiwiU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlN1YnByb29mQXNzZXJ0aW9uTm9kZSIsIlBST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUUiLCJQcm9wZXJ0eUFzc2VydGlvbk5vZGUiLCJGUkFNRV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwiRnJhbWVTdWJzdGl0dXRpb25Ob2RlIiwiUFJPQ0VEVVJFX1JFRkVSRU5DRV9SVUxFX05BTUUiLCJQcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwiUEFSRU5USEVTSVNFRF9MQUJFTF9SVUxFX05BTUUiLCJQYXJlbnRoZXNpc2VkTGFiZWxOb2RlIiwiU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUUiLCJTYXRpc2ZpZXNBc3NlcnRpb25Ob2RlIiwiQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJDb250YWluZWRBc3NlcnRpb25Ob2RlIiwiUEFSRU5USEVTSVNFRF9MQUJFTFNfUlVMRV9OQU1FIiwiUGFyZW50aGVzaXNlZExhYmVsc05vZGUiLCJWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJWYXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIlBST1BFUlRZX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIiwiU1RBVEVNRU5UX1NVQlNUSVRVVElPTl9SVUxFX05BTUUiLCJTdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlIiwiQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJDb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiU0lNUExFX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiU2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSIsIlRZUEVfUFJFRklYX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJEb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIkNPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJDb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsIk1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJNZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXNQQTs7O2VBQUE7OzsyREFwUHFCOzJEQUNBOzJEQUNBOzJEQUNBOzREQUNDOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzZEQUNDOzhEQUNDOzhEQUNBOzhEQUNBOytEQUNDOytEQUNBOytEQUNBOytEQUNBOytEQUNBOytEQUNBOytEQUNBOzREQUNBO2dFQUNDO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBOzZEQUNBOzZEQUNBO2lFQUNDO2lFQUNBO2lFQUNBO2lFQUNBO2lFQUNBO2lFQUNBOzREQUNBO2tFQUNDO2tFQUNBO2tFQUNBO2tFQUNBOytEQUNBOzZEQUNBOzZEQUNBO21FQUNDO21FQUNBO29FQUNDO29FQUNBO29FQUNBOytEQUNBO2lFQUNBOzREQUNBO2tFQUNDO21FQUNDO2lFQUNBO3VFQUNDOzhEQUNBOzREQUNBO2tFQUNBO21FQUNDO2dFQUNBO2dFQUNBOzZEQUNBO3lFQUNDO3lFQUNBO2dFQUNBO2dFQUNBOzBFQUNDO2dFQUNBO2dFQUNB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
|
package/lib/utilities/json.js
CHANGED
|
@@ -111,8 +111,11 @@ _export(exports, {
|
|
|
111
111
|
get procedureCallToProcedureCallJSON () {
|
|
112
112
|
return procedureCallToProcedureCallJSON;
|
|
113
113
|
},
|
|
114
|
-
get
|
|
115
|
-
return
|
|
114
|
+
get procedureReferenceFromJSON () {
|
|
115
|
+
return procedureReferenceFromJSON;
|
|
116
|
+
},
|
|
117
|
+
get procedureReferenceToProcedureReferenceJSON () {
|
|
118
|
+
return procedureReferenceToProcedureReferenceJSON;
|
|
116
119
|
},
|
|
117
120
|
get propertiesFromJSON () {
|
|
118
121
|
return propertiesFromJSON;
|
|
@@ -120,9 +123,6 @@ _export(exports, {
|
|
|
120
123
|
get propertiesToPropertiesJSON () {
|
|
121
124
|
return propertiesToPropertiesJSON;
|
|
122
125
|
},
|
|
123
|
-
get referenceFromJSON () {
|
|
124
|
-
return referenceFromJSON;
|
|
125
|
-
},
|
|
126
126
|
get rulesFromJSON () {
|
|
127
127
|
return rulesFromJSON;
|
|
128
128
|
},
|
|
@@ -243,13 +243,6 @@ function statementFromJSON(json, context) {
|
|
|
243
243
|
}
|
|
244
244
|
return statement;
|
|
245
245
|
}
|
|
246
|
-
function referenceFromJSON(json, context) {
|
|
247
|
-
var reference = json.reference;
|
|
248
|
-
var Reference = _dom.default.Reference, referenceJSON = reference; ///
|
|
249
|
-
json = referenceJSON; ///
|
|
250
|
-
reference = Reference.fromJSON(json, context);
|
|
251
|
-
return reference;
|
|
252
|
-
}
|
|
253
246
|
function deductionFromJSON(json, context) {
|
|
254
247
|
var deduction = json.deduction;
|
|
255
248
|
var Deduction = _dom.default.Deduction, deductionJSON = deduction; ///
|
|
@@ -289,9 +282,12 @@ function procedureCallFromJSON(json, context) {
|
|
|
289
282
|
}
|
|
290
283
|
return procedureCall;
|
|
291
284
|
}
|
|
292
|
-
function
|
|
293
|
-
var
|
|
294
|
-
|
|
285
|
+
function procedureReferenceFromJSON(json, context) {
|
|
286
|
+
var procedureReference = json.procedureReference;
|
|
287
|
+
var ProcedureReference = _dom.default.ProcedureReference, procedureReferenceJSON = procedureReference; ///
|
|
288
|
+
json = procedureReferenceJSON; ///
|
|
289
|
+
procedureReference = ProcedureReference.fromJSON(json, context);
|
|
290
|
+
return procedureReference;
|
|
295
291
|
}
|
|
296
292
|
function typesFromJSON(json, types, context) {
|
|
297
293
|
var typesJSON = json.types;
|
|
@@ -526,6 +522,10 @@ function procedureCallToProcedureCallJSON(procedureCall) {
|
|
|
526
522
|
var procedureCallJSON = procedureCall !== null ? procedureCall.toJSON() : null;
|
|
527
523
|
return procedureCallJSON;
|
|
528
524
|
}
|
|
525
|
+
function procedureReferenceToProcedureReferenceJSON(procedureReference) {
|
|
526
|
+
var procedureReferenceJSON = procedureReference.toJSON();
|
|
527
|
+
return procedureReferenceJSON;
|
|
528
|
+
}
|
|
529
529
|
function typesToTypesJSON(types) {
|
|
530
530
|
var typesJSON = types.map(function(type) {
|
|
531
531
|
var typeJSON = type.toJSON();
|
|
@@ -683,4 +683,4 @@ function metavariablesToMetavariablesJSON(metavariables) {
|
|
|
683
683
|
return metavariablesJSON;
|
|
684
684
|
}
|
|
685
685
|
|
|
686
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvanNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXJtRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyB0ZXJtIH0gPSBqc29uO1xuXG4gIGNvbnN0IHRlcm1KU09OID0gdGVybTsgIC8vL1xuXG4gIGpzb24gPSB0ZXJtSlNPTjsgIC8vL1xuXG4gIGNvbnN0IHsgVGVybSB9ID0gZG9tO1xuXG4gIHRlcm0gPSBUZXJtLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIHJldHVybiB0ZXJtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHlwZUZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgdHlwZSB9ID0ganNvbjtcblxuICBpZiAodHlwZSAhPT0gbnVsbCkge1xuICAgIGpzb24gPSB0eXBlOyAgLy8vXG5cbiAgICBjb25zdCB7IG5hbWUsIHByZWZpeE5hbWUgfSA9IGpzb24sXG4gICAgICAgICAgbm9taW5hbFR5cGVOYW1lID0gKHByZWZpeE5hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtwcmVmaXhOYW1lfSR7bmFtZX1gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOyAvLy9cblxuICAgIHR5cGUgPSBjb250ZXh0LmZpbmRUeXBlQnlOb21pbmFsVHlwZU5hbWUobm9taW5hbFR5cGVOYW1lKTtcbiAgfVxuXG4gIHJldHVybiB0eXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YVR5cGVGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IG1ldGFUeXBlIH0gPSBqc29uO1xuXG4gIGlmIChtZXRhVHlwZSAhPT0gbnVsbCkge1xuICAgIGpzb24gPSBtZXRhVHlwZTsgIC8vL1xuXG4gICAgY29uc3QgeyBuYW1lIH0gPSBqc29uLFxuICAgICAgICAgIG1ldGFUeXBlTmFtZSA9IG5hbWU7ICAvLy9cblxuICAgIG1ldGFUeXBlID0gY29udGV4dC5maW5kTWV0YVR5cGVCeU1ldGFUeXBlTmFtZShtZXRhVHlwZU5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFUeXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVtZW50RnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBzdGF0ZW1lbnQgPSBudWxsIH0gPSBqc29uO1xuXG4gIGlmIChzdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gZG9tLFxuICAgICAgICAgIHN0YXRlbWVudEpTT04gPSBzdGF0ZW1lbnQ7ICAvLy9cblxuICAgIGpzb24gPSBzdGF0ZW1lbnRKU09OOyAvLy9cblxuICAgIHN0YXRlbWVudCA9IFN0YXRlbWVudC5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWZlcmVuY2VGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IHJlZmVyZW5jZSB9ID0ganNvbjtcblxuICBjb25zdCB7IFJlZmVyZW5jZSB9ID0gZG9tLFxuICAgICAgICByZWZlcmVuY2VKU09OID0gcmVmZXJlbmNlOyAgLy8vXG5cbiAganNvbiA9IHJlZmVyZW5jZUpTT047ICAvLy9cblxuICByZWZlcmVuY2UgPSBSZWZlcmVuY2UuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgcmV0dXJuIHJlZmVyZW5jZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZHVjdGlvbkZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgZGVkdWN0aW9uIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgRGVkdWN0aW9uIH0gPSBkb20sXG4gICAgICAgIGRlZHVjdGlvbkpTT04gPSBkZWR1Y3Rpb247ICAvLy9cblxuICBqc29uID0gZGVkdWN0aW9uSlNPTjsgIC8vL1xuXG4gIGRlZHVjdGlvbiA9IERlZHVjdGlvbi5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICByZXR1cm4gZGVkdWN0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmF0dXJlRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBzaWduYXR1cmUgPSBudWxsIH0gPSBqc29uO1xuXG4gIGlmIChzaWduYXR1cmUgIT09IG51bGwpIHtcbiAgICBjb25zdCB7IFNpZ25hdHVyZSB9ID0gZG9tLFxuICAgICAgICAgIHNpZ25hdHVyZUpTT04gPSBzaWduYXR1cmU7ICAvLy9cblxuICAgIGpzb24gPSBzaWduYXR1cmVKU09OOyAvLy9cblxuICAgIHNpZ25hdHVyZSA9IFNpZ25hdHVyZS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBzaWduYXR1cmU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25jbHVzaW9uRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBjb25jbHVzaW9uIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgQ29uY2x1c2lvbiB9ID0gZG9tLFxuICAgICAgICBjb25jbHVzaW9uSlNPTiA9IGNvbmNsdXNpb247ICAvLy9cblxuICBqc29uID0gY29uY2x1c2lvbkpTT047ICAvLy9cblxuICBjb25jbHVzaW9uID0gQ29uY2x1c2lvbi5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICByZXR1cm4gY29uY2x1c2lvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZUZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgbWV0YXZhcmlhYmxlIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgTWV0YXZhcmlhYmxlIH0gPSBkb20sXG4gICAgICAgIG1ldGF2YXJpYWJsZUpTT04gPSBtZXRhdmFyaWFibGU7ICAvLy9cblxuICBqc29uID0gbWV0YXZhcmlhYmxlSlNPTjsgLy8vXG5cbiAgbWV0YXZhcmlhYmxlID0gTWV0YXZhcmlhYmxlLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZWR1cmVDYWxsRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBwcm9jZWR1cmVDYWxsID0gbnVsbCB9ID0ganNvbjtcblxuICBpZiAocHJvY2VkdXJlQ2FsbCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHsgUHJvY2VkdXJlQ2FsbCB9ID0gZG9tLFxuICAgICAgICAgIHByb2NlZHVyZUNhbGxKU09OID0gcHJvY2VkdXJlQ2FsbDsgIC8vL1xuXG4gICAganNvbiA9IHByb2NlZHVyZUNhbGxKU09OOyAvLy9cblxuICAgIHByb2NlZHVyZUNhbGwgPSBQcm9jZWR1cmVDYWxsLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIHByb2NlZHVyZUNhbGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZWR1cmVOYW1lRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBjb25zdCB7IHByb2NlZHVyZU5hbWUgfSA9IGpzb247XG5cbiAgcmV0dXJuIHByb2NlZHVyZU5hbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0eXBlc0Zyb21KU09OKGpzb24sIHR5cGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgdHlwZXM6IHR5cGVzSlNPTiB9ID0ganNvbjtcblxuICBjb25zdCB7IFR5cGUgfSA9IGRvbTtcblxuICB0eXBlc0pTT04uZm9yRWFjaCgodHlwZUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gdHlwZUpTT04sICAvLy9cbiAgICAgICAgICB0eXBlID0gVHlwZS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHR5cGVzLnB1c2godHlwZSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IHRlcm1zIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgVGVybSB9ID0gZG9tLFxuICAgICAgICB0ZXJtc0pTT04gPSB0ZXJtczsgLy8vXG5cbiAgdGVybXMgPSB0ZXJtc0pTT04ubWFwKCh0ZXJtSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSB0ZXJtSlNPTiwgIC8vL1xuICAgICAgICAgIHRlcm0gPSBUZXJtLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHRlcm07XG4gIH0pO1xuXG4gIHJldHVybiB0ZXJtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJ1bGVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBydWxlcyB9ID0ganNvbjtcblxuICBjb25zdCB7IFJ1bGUgfSA9IGRvbSxcbiAgICAgICAgcnVsZXNKU09OID0gcnVsZXM7IC8vL1xuXG4gIHJ1bGVzID0gcnVsZXNKU09OLm1hcCgocnVsZUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gcnVsZUpTT04sICAvLy9cbiAgICAgICAgICBydWxlID0gUnVsZS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBydWxlO1xuICB9KTtcblxuICByZXR1cm4gcnVsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYWJlbEZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgbGFiZWwgfSA9IGpzb247XG5cbiAgY29uc3QgeyBMYWJlbCB9ID0gZG9tLFxuICAgICAgICBsYWJlbEpTT04gPSBsYWJlbDsgIC8vL1xuXG4gIGpzb24gPSBsYWJlbEpTT047IC8vL1xuXG4gIGxhYmVsID0gTGFiZWwuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgcmV0dXJuIGxhYmVsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGFiZWxzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBsYWJlbHMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBMYWJlbCB9ID0gZG9tLFxuICAgICAgICBsYWJlbHNKU09OID0gbGFiZWxzOyAgLy8vXG5cbiAgbGFiZWxzID0gbGFiZWxzSlNPTi5tYXAoKGxhYmVsSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBsYWJlbEpTT04sIC8vL1xuICAgICAgICAgIGxhYmVsID0gTGFiZWwuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gbGFiZWw7XG4gIH0pO1xuXG4gIHJldHVybiBsYWJlbHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBheGlvbXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IGF4aW9tcyB9ID0ganNvbjtcblxuICBjb25zdCB7IEF4aW9tIH0gPSBkb20sXG4gICAgICAgIGF4aW9tc0pTT04gPSBheGlvbXM7IC8vL1xuXG4gIGF4aW9tcyA9IGF4aW9tc0pTT04ubWFwKChheGlvbUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gYXhpb21KU09OLCAgLy8vXG4gICAgICAgICAgYXhpb20gPSBBeGlvbS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBheGlvbTtcbiAgfSk7XG5cbiAgcmV0dXJuIGF4aW9tcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZW1pc2VzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBwcmVtaXNlcyB9ID0ganNvbjtcblxuICBjb25zdCB7IFByZW1pc2UgfSA9IGRvbSxcbiAgICAgICAgcHJlbWlzZXNKU09OID0gcHJlbWlzZXM7ICAvLy9cblxuICBwcmVtaXNlcyA9IHByZW1pc2VzSlNPTi5tYXAoKHByZW1pc2VKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHByZW1pc2VKU09OLCAvLy9cbiAgICAgICAgICBwcmVtaXNlID0gUHJlbWlzZS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBwcmVtaXNlO1xuICB9KTtcblxuICByZXR1cm4gcHJlbWlzZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGVvcmVtc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgdGhlb3JlbXMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBUaGVvcmVtIH0gPSBkb20sXG4gICAgICAgIHRoZW9yZW1zSlNPTiA9IHRoZW9yZW1zOyAvLy9cblxuICB0aGVvcmVtcyA9IHRoZW9yZW1zSlNPTi5tYXAoKHRoZW9yZW1KU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHRoZW9yZW1KU09OLCAgLy8vXG4gICAgICAgICAgdGhlb3JlbSA9IFRoZW9yZW0uZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdGhlb3JlbTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRoZW9yZW1zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyB2YXJpYWJsZXMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBWYXJpYWJsZSB9ID0gZG9tLFxuICAgICAgICB2YXJpYWJsZXNKU09OID0gdmFyaWFibGVzOyAvLy9cblxuICB2YXJpYWJsZXMgPSB2YXJpYWJsZXNKU09OLm1hcCgodmFyaWFibGVKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHZhcmlhYmxlSlNPTiwgIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH0pO1xuXG4gIHJldHVybiB2YXJpYWJsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9wZXJ0aWVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBwcm9wZXJ0aWVzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgUHJvcGVydHkgfSA9IGRvbSxcbiAgICAgICAgcHJvcGVydGllc0pTT04gPSBwcm9wZXJ0aWVzOyAvLy9cblxuICBwcm9wZXJ0aWVzID0gcHJvcGVydGllc0pTT04ubWFwKChwcm9wZXJ0eUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gcHJvcGVydHlKU09OLCAgLy8vXG4gICAgICAgICAgcHJvcGVydHkgPSBQcm9wZXJ0eS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBwcm9wZXJ0eTtcbiAgfSk7XG5cbiAgcmV0dXJuIHByb3BlcnRpZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBlclR5cGVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBjb25zdCB7IHN1cGVyVHlwZXM6IHN1cGVyVHlwZXNKU09OIH0gPSBqc29uO1xuXG4gIGNvbnN0IHN1cGVyVHlwZXMgPSBzdXBlclR5cGVzSlNPTi5tYXAoKHN1cGVyVHlwZUpTT04pID0+IHtcbiAgICAgICAgICBjb25zdCBqc29uID0gc3VwZXJUeXBlSlNPTiwgIC8vL1xuICAgICAgICAgICAgICAgIHsgbmFtZSwgcHJlZml4TmFtZSB9ID0ganNvbixcbiAgICAgICAgICAgICAgICBub21pbmFsU3VwZXJUeXBlTmFtZSA9IChwcmVmaXhOYW1lICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3ByZWZpeE5hbWV9JHtuYW1lfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCAvLy9cbiAgICAgICAgICAgICAgICBzdXBlclR5cGUgPSBjb250ZXh0LmZpbmRUeXBlQnlOb21pbmFsVHlwZU5hbWUobm9taW5hbFN1cGVyVHlwZU5hbWUpO1xuXG4gICAgICAgICAgcmV0dXJuIHN1cGVyVHlwZTtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIHN1cGVyVHlwZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoeXBvdGhlc2VzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBoeXBvdGhlc2VzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgSHlwb3RoZXNpcyB9ID0gZG9tLFxuICAgICAgICBoeXBvdGhlc2VzSlNPTiA9IGh5cG90aGVzZXM7ICAvLy9cblxuICBoeXBvdGhlc2VzID0gaHlwb3RoZXNlc0pTT04ubWFwKChoeXBvdGhlc2lzSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBoeXBvdGhlc2lzSlNPTiwgLy8vXG4gICAgICAgICAgaHlwb3RoZXNpcyA9IEh5cG90aGVzaXMuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gaHlwb3RoZXNpcztcbiAgfSk7XG5cbiAgcmV0dXJuIGh5cG90aGVzZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJhbWV0ZXJzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBwYXJhbWV0ZXJzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgUGFyYW1ldGVyIH0gPSBkb20sXG4gICAgICAgIHBhcmFtZXRlcnNKU09OID0gcGFyYW1ldGVyczsgLy8vXG5cbiAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnNKU09OLm1hcCgocGFyYW1ldGVySlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBwYXJhbWV0ZXJKU09OLCAgLy8vXG4gICAgICAgICAgcGFyYW1ldGVyID0gUGFyYW1ldGVyLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHBhcmFtZXRlcjtcbiAgfSk7XG5cbiAgcmV0dXJuIHBhcmFtZXRlcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25qZWN0dXJlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgY29uamVjdHVyZXMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBDb25qZWN0dXJlIH0gPSBkb20sXG4gICAgICAgIGNvbmplY3R1cmVzSlNPTiA9IGNvbmplY3R1cmVzOyAvLy9cblxuICBjb25qZWN0dXJlcyA9IGNvbmplY3R1cmVzSlNPTi5tYXAoKGNvbmplY3R1cmVKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IGNvbmplY3R1cmVKU09OLCAgLy8vXG4gICAgICAgICAgY29uamVjdHVyZSA9IENvbmplY3R1cmUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gY29uamVjdHVyZTtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbmplY3R1cmVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tYmluYXRvcnNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IGNvbWJpbmF0b3JzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgQ29tYmluYXRvciB9ID0gZG9tLFxuICAgICAgICBjb21iaW5hdG9yc0pTT04gPSBjb21iaW5hdG9yczsgLy8vXG5cbiAgY29tYmluYXRvcnMgPSBjb21iaW5hdG9yc0pTT04ubWFwKChjb21iaW5hdG9ySlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBjb21iaW5hdG9ySlNPTiwgIC8vL1xuICAgICAgICAgIGNvbWJpbmF0b3IgPSBDb21iaW5hdG9yLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gIH0pO1xuXG4gIHJldHVybiBjb21iaW5hdG9ycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVQcmVmaXhlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgdHlwZVByZWZpeGVzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgVHlwZVByZWZpeCB9ID0gZG9tLFxuICAgICAgICB0eXBlUHJlZml4ZXNKU09OID0gdHlwZVByZWZpeGVzOyAvLy9cblxuICB0eXBlUHJlZml4ZXMgPSB0eXBlUHJlZml4ZXNKU09OLm1hcCgodHlwZVByZWZpeEpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gdHlwZVByZWZpeEpTT04sICAvLy9cbiAgICAgICAgICB0eXBlUHJlZml4ID0gVHlwZVByZWZpeC5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB0eXBlUHJlZml4O1xuICB9KTtcblxuICByZXR1cm4gdHlwZVByZWZpeGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0b3JzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBjb25zdHJ1Y3RvcnMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBDb25zdHJ1Y3RvciB9ID0gZG9tLFxuICAgICAgICBjb25zdHJ1Y3RvcnNKU09OID0gY29uc3RydWN0b3JzOyAvLy9cblxuICBjb25zdHJ1Y3RvcnMgPSBjb25zdHJ1Y3RvcnNKU09OLm1hcCgoY29uc3RydWN0b3JKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IGNvbnN0cnVjdG9ySlNPTiwgIC8vL1xuICAgICAgICAgIGNvbnN0cnVjdG9yID0gQ29uc3RydWN0b3IuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gIH0pO1xuXG4gIHJldHVybiBjb25zdHJ1Y3RvcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdGhlb3JlbXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IG1ldGF0aGVvcmVtcyB9ID0ganNvbjtcblxuICBjb25zdCB7IE1ldGF0aGVvcmVtIH0gPSBkb20sXG4gICAgICAgIG1ldGF0aGVvcmVtc0pTT04gPSBtZXRhdGhlb3JlbXM7IC8vL1xuXG4gIG1ldGF0aGVvcmVtcyA9IG1ldGF0aGVvcmVtc0pTT04ubWFwKChtZXRhdGhlb3JlbUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gbWV0YXRoZW9yZW1KU09OLCAgLy8vXG4gICAgICAgICAgbWV0YXRoZW9yZW0gPSBNZXRhdGhlb3JlbS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBtZXRhdGhlb3JlbTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1ldGF0aGVvcmVtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvc2l0aW9uc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgc3VwcG9zaXRpb25zIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgU3VwcG9zaXRpb24gfSA9IGRvbSxcbiAgICAgICAgc3VwcG9zaXRpb25zSlNPTiA9IHN1cHBvc2l0aW9uczsgIC8vL1xuXG4gIHN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9uc0pTT04ubWFwKChzdXBwb3NpdGlvbkpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gc3VwcG9zaXRpb25KU09OLCAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvbiA9IFN1cHBvc2l0aW9uLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uO1xuICB9KTtcblxuICByZXR1cm4gc3VwcG9zaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3Vic3RpdHV0aW9uc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgc3Vic3RpdHV0aW9ucyA9IFtdIH0gPSBqc29uOyAgLy8vXG5cbiAgY29uc3QgeyBTdGF0ZW1lbnRTdWJzdGl0dXRpb24gfSA9IGRvbSxcbiAgICAgICAgc3Vic3RpdHV0aW9uc0pTT04gPSBzdWJzdGl0dXRpb25zLCAgLy8vXG4gICAgICAgIFN1YnN0aXR1dGlvbiA9IFN0YXRlbWVudFN1YnN0aXR1dGlvbjsgLy8vXG5cbiAgc3Vic3RpdHV0aW9ucyA9IHN1YnN0aXR1dGlvbnNKU09OLm1hcCgoc3Vic3RpdHV0aW9uSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBzdWJzdGl0dXRpb25KU09OLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9uID0gU3Vic3RpdHV0aW9uLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHN1YnN0aXR1dGlvbjtcbiAgfSk7XG5cbiAgcmV0dXJuIHN1YnN0aXR1dGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBtZXRhdmFyaWFibGVzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgTWV0YXZhcmlhYmxlIH0gPSBkb20sXG4gICAgICAgIG1ldGF2YXJpYWJsZXNKU09OID0gbWV0YXZhcmlhYmxlczsgLy8vXG5cbiAgbWV0YXZhcmlhYmxlcyA9IG1ldGF2YXJpYWJsZXNKU09OLm1hcCgobWV0YXZhcmlhYmxlSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBtZXRhdmFyaWFibGVKU09OLCAgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlID0gTWV0YXZhcmlhYmxlLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsZW1tYXNGcm9tTm90aGluZygpIHtcbiAgY29uc3QgbGVtbWFzID0gW107XG5cbiAgcmV0dXJuIGxlbW1hcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFMZW1tYXNGcm9tTm90aGluZygpIHtcbiAgY29uc3QgbWV0YUxlbW1hcyA9IFtdO1xuXG4gIHJldHVybiBtZXRhTGVtbWFzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybVRvVGVybUpTT04odGVybSkge1xuICBjb25zdCB0ZXJtSlNPTiA9IHRlcm0udG9KU09OKCk7XG5cbiAgcmV0dXJuIHRlcm1KU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHlwZVRvVHlwZUpTT04odHlwZSkge1xuICBjb25zdCB0eXBlSlNPTiA9ICh0eXBlICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZS50b0pTT04oKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuXG4gIHJldHVybiB0eXBlSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhYmVsVG9MYWJlbEpTT04obGFiZWwpIHtcbiAgY29uc3QgbGFiZWxKU09OID0gbGFiZWwudG9KU09OKCk7XG5cbiAgcmV0dXJuIGxhYmVsSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFUeXBlVG9NZXRhVHlwZUpTT04obWV0YVR5cGUpIHtcbiAgY29uc3QgbWV0YVR5cGVKU09OID0gKG1ldGFUeXBlICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVR5cGUudG9KU09OKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiAgcmV0dXJuIG1ldGFUeXBlSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTihzdGF0ZW1lbnQpIHtcbiAgY29uc3Qgc3RhdGVtZW50SlNPTiA9IChzdGF0ZW1lbnQgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50LnRvSlNPTigpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuXG4gIHJldHVybiBzdGF0ZW1lbnRKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVkdWN0aW9uVG9EZWR1Y3Rpb25KU09OKGRlZHVjdGlvbikge1xuICBjb25zdCBkZWR1Y3Rpb25KU09OID0gZGVkdWN0aW9uLnRvSlNPTigpO1xuXG4gIHJldHVybiBkZWR1Y3Rpb25KU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmF0dXJlVG9TaWduYXR1cmVKU09OKHNpZ25hdHVyZSkge1xuICBjb25zdCBzaWduYXR1cmVKU09OID0gKHNpZ25hdHVyZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzaWduYXR1cmUudG9KU09OKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGw7XG5cbiAgcmV0dXJuIHNpZ25hdHVyZUpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25jbHVzaW9uVG9Db25jbHVzaW9uSlNPTihjb25jbHVzaW9uKSB7XG4gIGNvbnN0IGNvbmNsdXNpb25KU09OID0gY29uY2x1c2lvbi50b0pTT04oKTtcblxuICByZXR1cm4gY29uY2x1c2lvbkpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVUb01ldGF2YXJpYWJsZUpTT04obWV0YXZhcmlhYmxlKSB7XG4gIGNvbnN0IG1ldGF2YXJpYWJsZUpTT04gPSBtZXRhdmFyaWFibGUudG9KU09OKCk7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZUpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZWR1cmVDYWxsVG9Qcm9jZWR1cmVDYWxsSlNPTihwcm9jZWR1cmVDYWxsKSB7XG4gIGNvbnN0IHByb2NlZHVyZUNhbGxKU09OID0gKHByb2NlZHVyZUNhbGwgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NlZHVyZUNhbGwudG9KU09OKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuXG4gIHJldHVybiBwcm9jZWR1cmVDYWxsSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVzVG9UeXBlc0pTT04odHlwZXMpIHtcbiAgY29uc3QgdHlwZXNKU09OID0gdHlwZXMubWFwKCh0eXBlKSA9PiB7XG4gICAgY29uc3QgdHlwZUpTT04gPSB0eXBlLnRvSlNPTigpO1xuXG4gICAgdHlwZSA9IHR5cGVKU09OOyAvLy9cblxuICAgIHJldHVybiB0eXBlO1xuICB9KTtcblxuICByZXR1cm4gdHlwZXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybXNUb1Rlcm1zSlNPTih0ZXJtcykge1xuICBjb25zdCB0ZXJtc0pTT04gPSB0ZXJtcy5tYXAoKHRlcm0pID0+IHtcbiAgICBjb25zdCB0ZXJtSlNPTiA9IHRlcm0udG9KU09OKCk7XG5cbiAgICB0ZXJtID0gdGVybUpTT047IC8vL1xuXG4gICAgcmV0dXJuIHRlcm07XG4gIH0pO1xuXG4gIHJldHVybiB0ZXJtc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBydWxlc1RvUnVsZXNKU09OKHJ1bGVzKSB7XG4gIGNvbnN0IHJ1bGVzSlNPTiA9IHJ1bGVzLm1hcCgocnVsZSkgPT4ge1xuICAgIGNvbnN0IHJ1bGVKU09OID0gcnVsZS50b0pTT04oKTtcblxuICAgIHJ1bGUgPSBydWxlSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJ1bGVzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhYmVsc1RvTGFiZWxzSlNPTihsYWJlbHMpIHtcbiAgY29uc3QgbGFiZWxzSlNPTiA9IGxhYmVscy5tYXAoKGxhYmVsKSA9PiB7XG4gICAgY29uc3QgbGFiZWxKU09OID0gbGFiZWwudG9KU09OKCk7XG5cbiAgICByZXR1cm4gbGFiZWxKU09OO1xuICB9KTtcblxuICByZXR1cm4gbGFiZWxzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF4aW9tc1RvQXhpb21zSlNPTihheGlvbXMpIHtcbiAgY29uc3QgYXhpb21zSlNPTiA9IGF4aW9tcy5tYXAoKGF4aW9tKSA9PiB7XG4gICAgY29uc3QgYXhpb21KU09OID0gYXhpb20udG9KU09OKCk7XG5cbiAgICBheGlvbSA9IGF4aW9tSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gYXhpb207XG4gIH0pO1xuXG4gIHJldHVybiBheGlvbXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlbWlzZXNUb1ByZW1pc2VzSlNPTihwcmVtaXNlcykge1xuICBjb25zdCBwcmVtaXNlc0pTT04gPSBwcmVtaXNlcy5tYXAoKHByZW1pc2UpID0+IHtcbiAgICBjb25zdCBwcmVtaXNlSlNPTiA9IHByZW1pc2UudG9KU09OKCk7XG5cbiAgICByZXR1cm4gcHJlbWlzZUpTT047XG4gIH0pO1xuXG4gIHJldHVybiBwcmVtaXNlc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGVvcmVtc1RvVGhlb3JlbXNKU09OKHRoZW9yZW1zKSB7XG4gIGNvbnN0IHRoZW9yZW1zSlNPTiA9IHRoZW9yZW1zLm1hcCgodGhlb3JlbSkgPT4ge1xuICAgIGNvbnN0IHRoZW9yZW1KU09OID0gdGhlb3JlbS50b0pTT04oKTtcblxuICAgIHRoZW9yZW0gPSB0aGVvcmVtSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gdGhlb3JlbTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRoZW9yZW1zSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlc1RvVmFyaWFibGVzSlNPTih2YXJpYWJsZXMpIHtcbiAgY29uc3QgdmFyaWFibGVzSlNPTiA9IHZhcmlhYmxlcy5tYXAoKHZhcmlhYmxlKSA9PiB7XG4gICAgY29uc3QgdmFyaWFibGVKU09OID0gdmFyaWFibGUudG9KU09OKCk7XG5cbiAgICB2YXJpYWJsZSA9IHZhcmlhYmxlSlNPTjsgIC8vL1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9KTtcblxuICByZXR1cm4gdmFyaWFibGVzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh5cG90aGVzZXNUb0h5cG90aGVzZXNKU09OKGh5cG90aGVzZXMpIHtcbiAgY29uc3QgaHlwb3RoZXNlc0pTT04gPSBoeXBvdGhlc2VzLm1hcCgoaHlwb3RoZXNpcykgPT4ge1xuICAgIGNvbnN0IGh5cG90aGVzaXNKU09OID0gaHlwb3RoZXNpcy50b0pTT04oKTtcblxuICAgIGh5cG90aGVzaXMgPSBoeXBvdGhlc2lzSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gaHlwb3RoZXNpcztcbiAgfSk7XG5cbiAgcmV0dXJuIGh5cG90aGVzZXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VwZXJUeXBlc1RvU3VwZXJUeXBlc0pTT04oc3VwZXJUeXBlcykge1xuICBjb25zdCBzdXBlclR5cGVzSlNPTiA9IHN1cGVyVHlwZXMubWFwKChzdXBlclR5cGUpID0+IHtcbiAgICBjb25zdCBzdXBlclR5cGVKU09OID0gc3VwZXJUeXBlLnRvSlNPTigpO1xuXG4gICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gc3VwZXJUeXBlO1xuICB9KTtcblxuICByZXR1cm4gc3VwZXJUeXBlc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTihwYXJhbWV0ZXJzKSB7XG4gIGNvbnN0IHBhcmFtZXRlcnNKU09OID0gcGFyYW1ldGVycy5tYXAoKHBhcmFtZXRlcikgPT4ge1xuICAgIGNvbnN0IHBhcmFtZXRlckpTT04gPSBwYXJhbWV0ZXIudG9KU09OKCk7XG5cbiAgICBwYXJhbWV0ZXIgPSBwYXJhbWV0ZXJKU09OOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyYW1ldGVyO1xuICB9KTtcblxuICByZXR1cm4gcGFyYW1ldGVyc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9wZXJ0aWVzVG9Qcm9wZXJ0aWVzSlNPTihwcm9wZXJ0aWVzKSB7XG4gIGNvbnN0IHByb3BlcnRpZXNKU09OID0gcHJvcGVydGllcy5tYXAoKHByb3BlcnR5KSA9PiB7XG4gICAgY29uc3QgcHJvcGVydHlKU09OID0gcHJvcGVydHkudG9KU09OKCk7XG5cbiAgICBwcm9wZXJ0eSA9IHByb3BlcnR5SlNPTjsgIC8vL1xuXG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9KTtcblxuICByZXR1cm4gcHJvcGVydGllc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0eXBlUHJlZml4ZXNUb1R5cGVQcmVmaXhlc0pTT04odHlwZVByZWZpeGVzKSB7XG4gIGNvbnN0IHR5cGVQcmVmaXhlc0pTT04gPSB0eXBlUHJlZml4ZXMubWFwKCh0eXBlUHJlZml4KSA9PiB7XG4gICAgY29uc3QgdHlwZVByZWZpeEpTT04gPSB0eXBlUHJlZml4LnRvSlNPTigpO1xuXG4gICAgdHlwZVByZWZpeCA9IHR5cGVQcmVmaXhKU09OOyAvLy9cblxuICAgIHJldHVybiB0eXBlUHJlZml4O1xuICB9KTtcblxuICByZXR1cm4gdHlwZVByZWZpeGVzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmplY3R1cmVzVG9Db25qZWN0dXJlc0pTT04oY29uamVjdHVyZXMpIHtcbiAgY29uc3QgY29uamVjdHVyZXNKU09OID0gY29uamVjdHVyZXMubWFwKChjb25qZWN0dXJlKSA9PiB7XG4gICAgY29uc3QgY29uamVjdHVyZUpTT04gPSBjb25qZWN0dXJlLnRvSlNPTigpO1xuXG4gICAgY29uamVjdHVyZSA9IGNvbmplY3R1cmVKU09OOyAvLy9cblxuICAgIHJldHVybiBjb25qZWN0dXJlO1xuICB9KTtcblxuICByZXR1cm4gY29uamVjdHVyZXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tYmluYXRvcnNUb0NvbWJpbmF0b3JzSlNPTihjb21iaW5hdG9ycykge1xuICBjb25zdCBjb21iaW5hdG9yc0pTT04gPSBjb21iaW5hdG9ycy5tYXAoKGNvbWJpbmF0b3IpID0+IHtcbiAgICBjb25zdCBjb21iaW5hdG9ySlNPTiA9IGNvbWJpbmF0b3IudG9KU09OKCk7XG5cbiAgICBjb21iaW5hdG9yID0gY29tYmluYXRvckpTT047IC8vL1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gIH0pO1xuXG4gIHJldHVybiBjb21iaW5hdG9yc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBwb3NpdGlvbnNUb1N1cHBvc2l0aW9uc0pTT04oc3VwcG9zaXRpb25zKSB7XG4gIGNvbnN0IHN1cHBvc2l0aW9uc0pTT04gPSBzdXBwb3NpdGlvbnMubWFwKChzdXBwb3NpdGlvbikgPT4ge1xuICAgIGNvbnN0IHN1cHBvc2l0aW9uSlNPTiA9IHN1cHBvc2l0aW9uLnRvSlNPTigpO1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uSlNPTjtcbiAgfSk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnNUb0NvbnN0cnVjdG9yc0pTT04oY29uc3RydWN0b3JzKSB7XG4gIGNvbnN0IGNvbnN0cnVjdG9yc0pTT04gPSBjb25zdHJ1Y3RvcnMubWFwKChjb25zdHJ1Y3RvcikgPT4ge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9ySlNPTiA9IGNvbnN0cnVjdG9yLnRvSlNPTigpO1xuXG4gICAgY29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvckpTT047ICAvLy9cblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdGhlb3JlbXNUb01ldGF0aGVvcmVtc0pTT04obWV0YXRoZW9yZW1zKSB7XG4gIGNvbnN0IG1ldGF0aGVvcmVtc0pTT04gPSBtZXRhdGhlb3JlbXMubWFwKChtZXRhdGhlb3JlbSkgPT4ge1xuICAgIGNvbnN0IG1ldGF0aGVvcmVtSlNPTiA9IG1ldGF0aGVvcmVtLnRvSlNPTigpO1xuXG4gICAgbWV0YXRoZW9yZW0gPSBtZXRhdGhlb3JlbUpTT047IC8vL1xuXG4gICAgcmV0dXJuIG1ldGF0aGVvcmVtO1xuICB9KTtcblxuICByZXR1cm4gbWV0YXRoZW9yZW1zSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YnN0aXR1dGlvbnNUb1N1YnN0aXR1dGlvbnNKU09OKHN1YnN0aXR1dGlvbnMpIHtcbiAgY29uc3Qgc3Vic3RpdHV0aW9uc0pTT04gPSBzdWJzdGl0dXRpb25zLm1hcFN1YnN0aXR1dGlvbigoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uSlNPTiA9IHN1YnN0aXR1dGlvbi50b0pTT04oKTtcblxuICAgIHJldHVybiBzdWJzdGl0dXRpb25KU09OO1xuICB9KTtcblxuICByZXR1cm4gc3Vic3RpdHV0aW9uc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVzVG9NZXRhdmFyaWFibGVzSlNPTihtZXRhdmFyaWFibGVzKSB7XG4gIGNvbnN0IG1ldGF2YXJpYWJsZXNKU09OID0gbWV0YXZhcmlhYmxlcy5tYXAoKG1ldGF2YXJpYWJsZSkgPT4ge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZUpTT04gPSBtZXRhdmFyaWFibGUudG9KU09OKCk7XG5cbiAgICBtZXRhdmFyaWFibGUgPSBtZXRhdmFyaWFibGVKU09OOyAgLy8vXG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlO1xuICB9KTtcblxuICByZXR1cm4gbWV0YXZhcmlhYmxlc0pTT047XG59XG4iXSwibmFtZXMiOlsiYXhpb21zRnJvbUpTT04iLCJheGlvbXNUb0F4aW9tc0pTT04iLCJjb21iaW5hdG9yc0Zyb21KU09OIiwiY29tYmluYXRvcnNUb0NvbWJpbmF0b3JzSlNPTiIsImNvbmNsdXNpb25Gcm9tSlNPTiIsImNvbmNsdXNpb25Ub0NvbmNsdXNpb25KU09OIiwiY29uamVjdHVyZXNGcm9tSlNPTiIsImNvbmplY3R1cmVzVG9Db25qZWN0dXJlc0pTT04iLCJjb25zdHJ1Y3RvcnNGcm9tSlNPTiIsImNvbnN0cnVjdG9yc1RvQ29uc3RydWN0b3JzSlNPTiIsImRlZHVjdGlvbkZyb21KU09OIiwiZGVkdWN0aW9uVG9EZWR1Y3Rpb25KU09OIiwiaHlwb3RoZXNlc0Zyb21KU09OIiwiaHlwb3RoZXNlc1RvSHlwb3RoZXNlc0pTT04iLCJsYWJlbEZyb21KU09OIiwibGFiZWxUb0xhYmVsSlNPTiIsImxhYmVsc0Zyb21KU09OIiwibGFiZWxzVG9MYWJlbHNKU09OIiwibGVtbWFzRnJvbU5vdGhpbmciLCJtZXRhTGVtbWFzRnJvbU5vdGhpbmciLCJtZXRhVHlwZUZyb21KU09OIiwibWV0YVR5cGVUb01ldGFUeXBlSlNPTiIsIm1ldGF0aGVvcmVtc0Zyb21KU09OIiwibWV0YXRoZW9yZW1zVG9NZXRhdGhlb3JlbXNKU09OIiwibWV0YXZhcmlhYmxlRnJvbUpTT04iLCJtZXRhdmFyaWFibGVUb01ldGF2YXJpYWJsZUpTT04iLCJtZXRhdmFyaWFibGVzRnJvbUpTT04iLCJtZXRhdmFyaWFibGVzVG9NZXRhdmFyaWFibGVzSlNPTiIsInBhcmFtZXRlcnNGcm9tSlNPTiIsInBhcmFtZXRlcnNUb1BhcmFtZXRlcnNKU09OIiwicHJlbWlzZXNGcm9tSlNPTiIsInByZW1pc2VzVG9QcmVtaXNlc0pTT04iLCJwcm9jZWR1cmVDYWxsRnJvbUpTT04iLCJwcm9jZWR1cmVDYWxsVG9Qcm9jZWR1cmVDYWxsSlNPTiIsInByb2NlZHVyZU5hbWVGcm9tSlNPTiIsInByb3BlcnRpZXNGcm9tSlNPTiIsInByb3BlcnRpZXNUb1Byb3BlcnRpZXNKU09OIiwicmVmZXJlbmNlRnJvbUpTT04iLCJydWxlc0Zyb21KU09OIiwicnVsZXNUb1J1bGVzSlNPTiIsInNpZ25hdHVyZUZyb21KU09OIiwic2lnbmF0dXJlVG9TaWduYXR1cmVKU09OIiwic3RhdGVtZW50RnJvbUpTT04iLCJzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04iLCJzdWJzdGl0dXRpb25zRnJvbUpTT04iLCJzdWJzdGl0dXRpb25zVG9TdWJzdGl0dXRpb25zSlNPTiIsInN1cGVyVHlwZXNGcm9tSlNPTiIsInN1cGVyVHlwZXNUb1N1cGVyVHlwZXNKU09OIiwic3VwcG9zaXRpb25zRnJvbUpTT04iLCJzdXBwb3NpdGlvbnNUb1N1cHBvc2l0aW9uc0pTT04iLCJ0ZXJtRnJvbUpTT04iLCJ0ZXJtVG9UZXJtSlNPTiIsInRlcm1zRnJvbUpTT04iLCJ0ZXJtc1RvVGVybXNKU09OIiwidGhlb3JlbXNGcm9tSlNPTiIsInRoZW9yZW1zVG9UaGVvcmVtc0pTT04iLCJ0eXBlRnJvbUpTT04iLCJ0eXBlUHJlZml4ZXNGcm9tSlNPTiIsInR5cGVQcmVmaXhlc1RvVHlwZVByZWZpeGVzSlNPTiIsInR5cGVUb1R5cGVKU09OIiwidHlwZXNGcm9tSlNPTiIsInR5cGVzVG9UeXBlc0pTT04iLCJ2YXJpYWJsZXNGcm9tSlNPTiIsInZhcmlhYmxlc1RvVmFyaWFibGVzSlNPTiIsImpzb24iLCJjb250ZXh0IiwidGVybSIsInRlcm1KU09OIiwiVGVybSIsImRvbSIsImZyb21KU09OIiwidHlwZSIsIm5hbWUiLCJwcmVmaXhOYW1lIiwibm9taW5hbFR5cGVOYW1lIiwiZmluZFR5cGVCeU5vbWluYWxUeXBlTmFtZSIsIm1ldGFUeXBlIiwibWV0YVR5cGVOYW1lIiwiZmluZE1ldGFUeXBlQnlNZXRhVHlwZU5hbWUiLCJzdGF0ZW1lbnQiLCJTdGF0ZW1lbnQiLCJzdGF0ZW1lbnRKU09OIiwicmVmZXJlbmNlIiwiUmVmZXJlbmNlIiwicmVmZXJlbmNlSlNPTiIsImRlZHVjdGlvbiIsIkRlZHVjdGlvbiIsImRlZHVjdGlvbkpTT04iLCJzaWduYXR1cmUiLCJTaWduYXR1cmUiLCJzaWduYXR1cmVKU09OIiwiY29uY2x1c2lvbiIsIkNvbmNsdXNpb24iLCJjb25jbHVzaW9uSlNPTiIsIm1ldGF2YXJpYWJsZSIsIk1ldGF2YXJpYWJsZSIsIm1ldGF2YXJpYWJsZUpTT04iLCJwcm9jZWR1cmVDYWxsIiwiUHJvY2VkdXJlQ2FsbCIsInByb2NlZHVyZUNhbGxKU09OIiwicHJvY2VkdXJlTmFtZSIsInR5cGVzIiwidHlwZXNKU09OIiwiVHlwZSIsImZvckVhY2giLCJ0eXBlSlNPTiIsInB1c2giLCJ0ZXJtcyIsInRlcm1zSlNPTiIsIm1hcCIsInJ1bGVzIiwiUnVsZSIsInJ1bGVzSlNPTiIsInJ1bGVKU09OIiwicnVsZSIsImxhYmVsIiwiTGFiZWwiLCJsYWJlbEpTT04iLCJsYWJlbHMiLCJsYWJlbHNKU09OIiwiYXhpb21zIiwiQXhpb20iLCJheGlvbXNKU09OIiwiYXhpb21KU09OIiwiYXhpb20iLCJwcmVtaXNlcyIsIlByZW1pc2UiLCJwcmVtaXNlc0pTT04iLCJwcmVtaXNlSlNPTiIsInByZW1pc2UiLCJ0aGVvcmVtcyIsIlRoZW9yZW0iLCJ0aGVvcmVtc0pTT04iLCJ0aGVvcmVtSlNPTiIsInRoZW9yZW0iLCJ2YXJpYWJsZXMiLCJWYXJpYWJsZSIsInZhcmlhYmxlc0pTT04iLCJ2YXJpYWJsZUpTT04iLCJ2YXJpYWJsZSIsInByb3BlcnRpZXMiLCJQcm9wZXJ0eSIsInByb3BlcnRpZXNKU09OIiwicHJvcGVydHlKU09OIiwicHJvcGVydHkiLCJzdXBlclR5cGVzIiwic3VwZXJUeXBlc0pTT04iLCJzdXBlclR5cGVKU09OIiwibm9taW5hbFN1cGVyVHlwZU5hbWUiLCJzdXBlclR5cGUiLCJoeXBvdGhlc2VzIiwiSHlwb3RoZXNpcyIsImh5cG90aGVzZXNKU09OIiwiaHlwb3RoZXNpc0pTT04iLCJoeXBvdGhlc2lzIiwicGFyYW1ldGVycyIsIlBhcmFtZXRlciIsInBhcmFtZXRlcnNKU09OIiwicGFyYW1ldGVySlNPTiIsInBhcmFtZXRlciIsImNvbmplY3R1cmVzIiwiQ29uamVjdHVyZSIsImNvbmplY3R1cmVzSlNPTiIsImNvbmplY3R1cmVKU09OIiwiY29uamVjdHVyZSIsImNvbWJpbmF0b3JzIiwiQ29tYmluYXRvciIsImNvbWJpbmF0b3JzSlNPTiIsImNvbWJpbmF0b3JKU09OIiwiY29tYmluYXRvciIsInR5cGVQcmVmaXhlcyIsIlR5cGVQcmVmaXgiLCJ0eXBlUHJlZml4ZXNKU09OIiwidHlwZVByZWZpeEpTT04iLCJ0eXBlUHJlZml4IiwiY29uc3RydWN0b3JzIiwiQ29uc3RydWN0b3IiLCJjb25zdHJ1Y3RvcnNKU09OIiwiY29uc3RydWN0b3JKU09OIiwiY29uc3RydWN0b3IiLCJtZXRhdGhlb3JlbXMiLCJNZXRhdGhlb3JlbSIsIm1ldGF0aGVvcmVtc0pTT04iLCJtZXRhdGhlb3JlbUpTT04iLCJtZXRhdGhlb3JlbSIsInN1cHBvc2l0aW9ucyIsIlN1cHBvc2l0aW9uIiwic3VwcG9zaXRpb25zSlNPTiIsInN1cHBvc2l0aW9uSlNPTiIsInN1cHBvc2l0aW9uIiwic3Vic3RpdHV0aW9ucyIsIlN0YXRlbWVudFN1YnN0aXR1dGlvbiIsInN1YnN0aXR1dGlvbnNKU09OIiwiU3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uSlNPTiIsInN1YnN0aXR1dGlvbiIsIm1ldGF2YXJpYWJsZXMiLCJtZXRhdmFyaWFibGVzSlNPTiIsImxlbW1hcyIsIm1ldGFMZW1tYXMiLCJ0b0pTT04iLCJtZXRhVHlwZUpTT04iLCJtYXBTdWJzdGl0dXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQW1PZ0JBO2VBQUFBOztRQWlZQUM7ZUFBQUE7O1FBaFBBQztlQUFBQTs7UUFzV0FDO2VBQUFBOztRQWhuQkFDO2VBQUFBOztRQXdiQUM7ZUFBQUE7O1FBOUxBQztlQUFBQTs7UUEwV0FDO2VBQUFBOztRQTFUQUM7ZUFBQUE7O1FBNFZBQztlQUFBQTs7UUFscUJBQztlQUFBQTs7UUFzY0FDO2VBQUFBOztRQWhOQUM7ZUFBQUE7O1FBOFVBQztlQUFB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
|
|
686
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvanNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXJtRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyB0ZXJtIH0gPSBqc29uO1xuXG4gIGNvbnN0IHRlcm1KU09OID0gdGVybTsgIC8vL1xuXG4gIGpzb24gPSB0ZXJtSlNPTjsgIC8vL1xuXG4gIGNvbnN0IHsgVGVybSB9ID0gZG9tO1xuXG4gIHRlcm0gPSBUZXJtLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIHJldHVybiB0ZXJtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHlwZUZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgdHlwZSB9ID0ganNvbjtcblxuICBpZiAodHlwZSAhPT0gbnVsbCkge1xuICAgIGpzb24gPSB0eXBlOyAgLy8vXG5cbiAgICBjb25zdCB7IG5hbWUsIHByZWZpeE5hbWUgfSA9IGpzb24sXG4gICAgICAgICAgbm9taW5hbFR5cGVOYW1lID0gKHByZWZpeE5hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtwcmVmaXhOYW1lfSR7bmFtZX1gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOyAvLy9cblxuICAgIHR5cGUgPSBjb250ZXh0LmZpbmRUeXBlQnlOb21pbmFsVHlwZU5hbWUobm9taW5hbFR5cGVOYW1lKTtcbiAgfVxuXG4gIHJldHVybiB0eXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YVR5cGVGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IG1ldGFUeXBlIH0gPSBqc29uO1xuXG4gIGlmIChtZXRhVHlwZSAhPT0gbnVsbCkge1xuICAgIGpzb24gPSBtZXRhVHlwZTsgIC8vL1xuXG4gICAgY29uc3QgeyBuYW1lIH0gPSBqc29uLFxuICAgICAgICAgIG1ldGFUeXBlTmFtZSA9IG5hbWU7ICAvLy9cblxuICAgIG1ldGFUeXBlID0gY29udGV4dC5maW5kTWV0YVR5cGVCeU1ldGFUeXBlTmFtZShtZXRhVHlwZU5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFUeXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVtZW50RnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBzdGF0ZW1lbnQgPSBudWxsIH0gPSBqc29uO1xuXG4gIGlmIChzdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gZG9tLFxuICAgICAgICAgIHN0YXRlbWVudEpTT04gPSBzdGF0ZW1lbnQ7ICAvLy9cblxuICAgIGpzb24gPSBzdGF0ZW1lbnRKU09OOyAvLy9cblxuICAgIHN0YXRlbWVudCA9IFN0YXRlbWVudC5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWR1Y3Rpb25Gcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IGRlZHVjdGlvbiB9ID0ganNvbjtcblxuICBjb25zdCB7IERlZHVjdGlvbiB9ID0gZG9tLFxuICAgICAgICBkZWR1Y3Rpb25KU09OID0gZGVkdWN0aW9uOyAgLy8vXG5cbiAganNvbiA9IGRlZHVjdGlvbkpTT047ICAvLy9cblxuICBkZWR1Y3Rpb24gPSBEZWR1Y3Rpb24uZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgcmV0dXJuIGRlZHVjdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNpZ25hdHVyZUZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgc2lnbmF0dXJlID0gbnVsbCB9ID0ganNvbjtcblxuICBpZiAoc2lnbmF0dXJlICE9PSBudWxsKSB7XG4gICAgY29uc3QgeyBTaWduYXR1cmUgfSA9IGRvbSxcbiAgICAgICAgICBzaWduYXR1cmVKU09OID0gc2lnbmF0dXJlOyAgLy8vXG5cbiAgICBqc29uID0gc2lnbmF0dXJlSlNPTjsgLy8vXG5cbiAgICBzaWduYXR1cmUgPSBTaWduYXR1cmUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gc2lnbmF0dXJlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uY2x1c2lvbkZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgY29uY2x1c2lvbiB9ID0ganNvbjtcblxuICBjb25zdCB7IENvbmNsdXNpb24gfSA9IGRvbSxcbiAgICAgICAgY29uY2x1c2lvbkpTT04gPSBjb25jbHVzaW9uOyAgLy8vXG5cbiAganNvbiA9IGNvbmNsdXNpb25KU09OOyAgLy8vXG5cbiAgY29uY2x1c2lvbiA9IENvbmNsdXNpb24uZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgcmV0dXJuIGNvbmNsdXNpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IG1ldGF2YXJpYWJsZSB9ID0ganNvbjtcblxuICBjb25zdCB7IE1ldGF2YXJpYWJsZSB9ID0gZG9tLFxuICAgICAgICBtZXRhdmFyaWFibGVKU09OID0gbWV0YXZhcmlhYmxlOyAgLy8vXG5cbiAganNvbiA9IG1ldGF2YXJpYWJsZUpTT047IC8vL1xuXG4gIG1ldGF2YXJpYWJsZSA9IE1ldGF2YXJpYWJsZS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICByZXR1cm4gbWV0YXZhcmlhYmxlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2VkdXJlQ2FsbEZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgcHJvY2VkdXJlQ2FsbCA9IG51bGwgfSA9IGpzb247XG5cbiAgaWYgKHByb2NlZHVyZUNhbGwgIT09IG51bGwpIHtcbiAgICBjb25zdCB7IFByb2NlZHVyZUNhbGwgfSA9IGRvbSxcbiAgICAgICAgICBwcm9jZWR1cmVDYWxsSlNPTiA9IHByb2NlZHVyZUNhbGw7ICAvLy9cblxuICAgIGpzb24gPSBwcm9jZWR1cmVDYWxsSlNPTjsgLy8vXG5cbiAgICBwcm9jZWR1cmVDYWxsID0gUHJvY2VkdXJlQ2FsbC5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiBwcm9jZWR1cmVDYWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2VkdXJlUmVmZXJlbmNlRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBwcm9jZWR1cmVSZWZlcmVuY2UgfSA9IGpzb247XG5cbiAgY29uc3QgeyBQcm9jZWR1cmVSZWZlcmVuY2UgfSA9IGRvbSxcbiAgICAgICAgcHJvY2VkdXJlUmVmZXJlbmNlSlNPTiA9IHByb2NlZHVyZVJlZmVyZW5jZTsgIC8vL1xuXG4gIGpzb24gPSBwcm9jZWR1cmVSZWZlcmVuY2VKU09OOyAgLy8vXG5cbiAgcHJvY2VkdXJlUmVmZXJlbmNlID0gUHJvY2VkdXJlUmVmZXJlbmNlLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gIHJldHVybiBwcm9jZWR1cmVSZWZlcmVuY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0eXBlc0Zyb21KU09OKGpzb24sIHR5cGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgdHlwZXM6IHR5cGVzSlNPTiB9ID0ganNvbjtcblxuICBjb25zdCB7IFR5cGUgfSA9IGRvbTtcblxuICB0eXBlc0pTT04uZm9yRWFjaCgodHlwZUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gdHlwZUpTT04sICAvLy9cbiAgICAgICAgICB0eXBlID0gVHlwZS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHR5cGVzLnB1c2godHlwZSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IHRlcm1zIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgVGVybSB9ID0gZG9tLFxuICAgICAgICB0ZXJtc0pTT04gPSB0ZXJtczsgLy8vXG5cbiAgdGVybXMgPSB0ZXJtc0pTT04ubWFwKCh0ZXJtSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSB0ZXJtSlNPTiwgIC8vL1xuICAgICAgICAgIHRlcm0gPSBUZXJtLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHRlcm07XG4gIH0pO1xuXG4gIHJldHVybiB0ZXJtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJ1bGVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBydWxlcyB9ID0ganNvbjtcblxuICBjb25zdCB7IFJ1bGUgfSA9IGRvbSxcbiAgICAgICAgcnVsZXNKU09OID0gcnVsZXM7IC8vL1xuXG4gIHJ1bGVzID0gcnVsZXNKU09OLm1hcCgocnVsZUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gcnVsZUpTT04sICAvLy9cbiAgICAgICAgICBydWxlID0gUnVsZS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBydWxlO1xuICB9KTtcblxuICByZXR1cm4gcnVsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYWJlbEZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgbGFiZWwgfSA9IGpzb247XG5cbiAgY29uc3QgeyBMYWJlbCB9ID0gZG9tLFxuICAgICAgICBsYWJlbEpTT04gPSBsYWJlbDsgIC8vL1xuXG4gIGpzb24gPSBsYWJlbEpTT047IC8vL1xuXG4gIGxhYmVsID0gTGFiZWwuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgcmV0dXJuIGxhYmVsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGFiZWxzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBsYWJlbHMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBMYWJlbCB9ID0gZG9tLFxuICAgICAgICBsYWJlbHNKU09OID0gbGFiZWxzOyAgLy8vXG5cbiAgbGFiZWxzID0gbGFiZWxzSlNPTi5tYXAoKGxhYmVsSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBsYWJlbEpTT04sIC8vL1xuICAgICAgICAgIGxhYmVsID0gTGFiZWwuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gbGFiZWw7XG4gIH0pO1xuXG4gIHJldHVybiBsYWJlbHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBheGlvbXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IGF4aW9tcyB9ID0ganNvbjtcblxuICBjb25zdCB7IEF4aW9tIH0gPSBkb20sXG4gICAgICAgIGF4aW9tc0pTT04gPSBheGlvbXM7IC8vL1xuXG4gIGF4aW9tcyA9IGF4aW9tc0pTT04ubWFwKChheGlvbUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gYXhpb21KU09OLCAgLy8vXG4gICAgICAgICAgYXhpb20gPSBBeGlvbS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBheGlvbTtcbiAgfSk7XG5cbiAgcmV0dXJuIGF4aW9tcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZW1pc2VzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBwcmVtaXNlcyB9ID0ganNvbjtcblxuICBjb25zdCB7IFByZW1pc2UgfSA9IGRvbSxcbiAgICAgICAgcHJlbWlzZXNKU09OID0gcHJlbWlzZXM7ICAvLy9cblxuICBwcmVtaXNlcyA9IHByZW1pc2VzSlNPTi5tYXAoKHByZW1pc2VKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHByZW1pc2VKU09OLCAvLy9cbiAgICAgICAgICBwcmVtaXNlID0gUHJlbWlzZS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBwcmVtaXNlO1xuICB9KTtcblxuICByZXR1cm4gcHJlbWlzZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGVvcmVtc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgdGhlb3JlbXMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBUaGVvcmVtIH0gPSBkb20sXG4gICAgICAgIHRoZW9yZW1zSlNPTiA9IHRoZW9yZW1zOyAvLy9cblxuICB0aGVvcmVtcyA9IHRoZW9yZW1zSlNPTi5tYXAoKHRoZW9yZW1KU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHRoZW9yZW1KU09OLCAgLy8vXG4gICAgICAgICAgdGhlb3JlbSA9IFRoZW9yZW0uZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdGhlb3JlbTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRoZW9yZW1zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyB2YXJpYWJsZXMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBWYXJpYWJsZSB9ID0gZG9tLFxuICAgICAgICB2YXJpYWJsZXNKU09OID0gdmFyaWFibGVzOyAvLy9cblxuICB2YXJpYWJsZXMgPSB2YXJpYWJsZXNKU09OLm1hcCgodmFyaWFibGVKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IHZhcmlhYmxlSlNPTiwgIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH0pO1xuXG4gIHJldHVybiB2YXJpYWJsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9wZXJ0aWVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBwcm9wZXJ0aWVzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgUHJvcGVydHkgfSA9IGRvbSxcbiAgICAgICAgcHJvcGVydGllc0pTT04gPSBwcm9wZXJ0aWVzOyAvLy9cblxuICBwcm9wZXJ0aWVzID0gcHJvcGVydGllc0pTT04ubWFwKChwcm9wZXJ0eUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gcHJvcGVydHlKU09OLCAgLy8vXG4gICAgICAgICAgcHJvcGVydHkgPSBQcm9wZXJ0eS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBwcm9wZXJ0eTtcbiAgfSk7XG5cbiAgcmV0dXJuIHByb3BlcnRpZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBlclR5cGVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBjb25zdCB7IHN1cGVyVHlwZXM6IHN1cGVyVHlwZXNKU09OIH0gPSBqc29uO1xuXG4gIGNvbnN0IHN1cGVyVHlwZXMgPSBzdXBlclR5cGVzSlNPTi5tYXAoKHN1cGVyVHlwZUpTT04pID0+IHtcbiAgICAgICAgICBjb25zdCBqc29uID0gc3VwZXJUeXBlSlNPTiwgIC8vL1xuICAgICAgICAgICAgICAgIHsgbmFtZSwgcHJlZml4TmFtZSB9ID0ganNvbixcbiAgICAgICAgICAgICAgICBub21pbmFsU3VwZXJUeXBlTmFtZSA9IChwcmVmaXhOYW1lICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3ByZWZpeE5hbWV9JHtuYW1lfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCAvLy9cbiAgICAgICAgICAgICAgICBzdXBlclR5cGUgPSBjb250ZXh0LmZpbmRUeXBlQnlOb21pbmFsVHlwZU5hbWUobm9taW5hbFN1cGVyVHlwZU5hbWUpO1xuXG4gICAgICAgICAgcmV0dXJuIHN1cGVyVHlwZTtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIHN1cGVyVHlwZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoeXBvdGhlc2VzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBoeXBvdGhlc2VzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgSHlwb3RoZXNpcyB9ID0gZG9tLFxuICAgICAgICBoeXBvdGhlc2VzSlNPTiA9IGh5cG90aGVzZXM7ICAvLy9cblxuICBoeXBvdGhlc2VzID0gaHlwb3RoZXNlc0pTT04ubWFwKChoeXBvdGhlc2lzSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBoeXBvdGhlc2lzSlNPTiwgLy8vXG4gICAgICAgICAgaHlwb3RoZXNpcyA9IEh5cG90aGVzaXMuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gaHlwb3RoZXNpcztcbiAgfSk7XG5cbiAgcmV0dXJuIGh5cG90aGVzZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJhbWV0ZXJzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBwYXJhbWV0ZXJzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgUGFyYW1ldGVyIH0gPSBkb20sXG4gICAgICAgIHBhcmFtZXRlcnNKU09OID0gcGFyYW1ldGVyczsgLy8vXG5cbiAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnNKU09OLm1hcCgocGFyYW1ldGVySlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBwYXJhbWV0ZXJKU09OLCAgLy8vXG4gICAgICAgICAgcGFyYW1ldGVyID0gUGFyYW1ldGVyLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHBhcmFtZXRlcjtcbiAgfSk7XG5cbiAgcmV0dXJuIHBhcmFtZXRlcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25qZWN0dXJlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgY29uamVjdHVyZXMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBDb25qZWN0dXJlIH0gPSBkb20sXG4gICAgICAgIGNvbmplY3R1cmVzSlNPTiA9IGNvbmplY3R1cmVzOyAvLy9cblxuICBjb25qZWN0dXJlcyA9IGNvbmplY3R1cmVzSlNPTi5tYXAoKGNvbmplY3R1cmVKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IGNvbmplY3R1cmVKU09OLCAgLy8vXG4gICAgICAgICAgY29uamVjdHVyZSA9IENvbmplY3R1cmUuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gY29uamVjdHVyZTtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbmplY3R1cmVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tYmluYXRvcnNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IGNvbWJpbmF0b3JzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgQ29tYmluYXRvciB9ID0gZG9tLFxuICAgICAgICBjb21iaW5hdG9yc0pTT04gPSBjb21iaW5hdG9yczsgLy8vXG5cbiAgY29tYmluYXRvcnMgPSBjb21iaW5hdG9yc0pTT04ubWFwKChjb21iaW5hdG9ySlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBjb21iaW5hdG9ySlNPTiwgIC8vL1xuICAgICAgICAgIGNvbWJpbmF0b3IgPSBDb21iaW5hdG9yLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gIH0pO1xuXG4gIHJldHVybiBjb21iaW5hdG9ycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVQcmVmaXhlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgdHlwZVByZWZpeGVzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgVHlwZVByZWZpeCB9ID0gZG9tLFxuICAgICAgICB0eXBlUHJlZml4ZXNKU09OID0gdHlwZVByZWZpeGVzOyAvLy9cblxuICB0eXBlUHJlZml4ZXMgPSB0eXBlUHJlZml4ZXNKU09OLm1hcCgodHlwZVByZWZpeEpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gdHlwZVByZWZpeEpTT04sICAvLy9cbiAgICAgICAgICB0eXBlUHJlZml4ID0gVHlwZVByZWZpeC5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB0eXBlUHJlZml4O1xuICB9KTtcblxuICByZXR1cm4gdHlwZVByZWZpeGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0b3JzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBjb25zdHJ1Y3RvcnMgfSA9IGpzb247XG5cbiAgY29uc3QgeyBDb25zdHJ1Y3RvciB9ID0gZG9tLFxuICAgICAgICBjb25zdHJ1Y3RvcnNKU09OID0gY29uc3RydWN0b3JzOyAvLy9cblxuICBjb25zdHJ1Y3RvcnMgPSBjb25zdHJ1Y3RvcnNKU09OLm1hcCgoY29uc3RydWN0b3JKU09OKSA9PiB7XG4gICAgY29uc3QganNvbiA9IGNvbnN0cnVjdG9ySlNPTiwgIC8vL1xuICAgICAgICAgIGNvbnN0cnVjdG9yID0gQ29uc3RydWN0b3IuZnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gIH0pO1xuXG4gIHJldHVybiBjb25zdHJ1Y3RvcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdGhlb3JlbXNGcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gIGxldCB7IG1ldGF0aGVvcmVtcyB9ID0ganNvbjtcblxuICBjb25zdCB7IE1ldGF0aGVvcmVtIH0gPSBkb20sXG4gICAgICAgIG1ldGF0aGVvcmVtc0pTT04gPSBtZXRhdGhlb3JlbXM7IC8vL1xuXG4gIG1ldGF0aGVvcmVtcyA9IG1ldGF0aGVvcmVtc0pTT04ubWFwKChtZXRhdGhlb3JlbUpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gbWV0YXRoZW9yZW1KU09OLCAgLy8vXG4gICAgICAgICAgbWV0YXRoZW9yZW0gPSBNZXRhdGhlb3JlbS5mcm9tSlNPTihqc29uLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBtZXRhdGhlb3JlbTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1ldGF0aGVvcmVtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvc2l0aW9uc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgc3VwcG9zaXRpb25zIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgU3VwcG9zaXRpb24gfSA9IGRvbSxcbiAgICAgICAgc3VwcG9zaXRpb25zSlNPTiA9IHN1cHBvc2l0aW9uczsgIC8vL1xuXG4gIHN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9uc0pTT04ubWFwKChzdXBwb3NpdGlvbkpTT04pID0+IHtcbiAgICBjb25zdCBqc29uID0gc3VwcG9zaXRpb25KU09OLCAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvbiA9IFN1cHBvc2l0aW9uLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uO1xuICB9KTtcblxuICByZXR1cm4gc3VwcG9zaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3Vic3RpdHV0aW9uc0Zyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgbGV0IHsgc3Vic3RpdHV0aW9ucyA9IFtdIH0gPSBqc29uOyAgLy8vXG5cbiAgY29uc3QgeyBTdGF0ZW1lbnRTdWJzdGl0dXRpb24gfSA9IGRvbSxcbiAgICAgICAgc3Vic3RpdHV0aW9uc0pTT04gPSBzdWJzdGl0dXRpb25zLCAgLy8vXG4gICAgICAgIFN1YnN0aXR1dGlvbiA9IFN0YXRlbWVudFN1YnN0aXR1dGlvbjsgLy8vXG5cbiAgc3Vic3RpdHV0aW9ucyA9IHN1YnN0aXR1dGlvbnNKU09OLm1hcCgoc3Vic3RpdHV0aW9uSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBzdWJzdGl0dXRpb25KU09OLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9uID0gU3Vic3RpdHV0aW9uLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHN1YnN0aXR1dGlvbjtcbiAgfSk7XG5cbiAgcmV0dXJuIHN1YnN0aXR1dGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVzRnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICBsZXQgeyBtZXRhdmFyaWFibGVzIH0gPSBqc29uO1xuXG4gIGNvbnN0IHsgTWV0YXZhcmlhYmxlIH0gPSBkb20sXG4gICAgICAgIG1ldGF2YXJpYWJsZXNKU09OID0gbWV0YXZhcmlhYmxlczsgLy8vXG5cbiAgbWV0YXZhcmlhYmxlcyA9IG1ldGF2YXJpYWJsZXNKU09OLm1hcCgobWV0YXZhcmlhYmxlSlNPTikgPT4ge1xuICAgIGNvbnN0IGpzb24gPSBtZXRhdmFyaWFibGVKU09OLCAgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlID0gTWV0YXZhcmlhYmxlLmZyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsZW1tYXNGcm9tTm90aGluZygpIHtcbiAgY29uc3QgbGVtbWFzID0gW107XG5cbiAgcmV0dXJuIGxlbW1hcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFMZW1tYXNGcm9tTm90aGluZygpIHtcbiAgY29uc3QgbWV0YUxlbW1hcyA9IFtdO1xuXG4gIHJldHVybiBtZXRhTGVtbWFzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybVRvVGVybUpTT04odGVybSkge1xuICBjb25zdCB0ZXJtSlNPTiA9IHRlcm0udG9KU09OKCk7XG5cbiAgcmV0dXJuIHRlcm1KU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHlwZVRvVHlwZUpTT04odHlwZSkge1xuICBjb25zdCB0eXBlSlNPTiA9ICh0eXBlICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZS50b0pTT04oKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuXG4gIHJldHVybiB0eXBlSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhYmVsVG9MYWJlbEpTT04obGFiZWwpIHtcbiAgY29uc3QgbGFiZWxKU09OID0gbGFiZWwudG9KU09OKCk7XG5cbiAgcmV0dXJuIGxhYmVsSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFUeXBlVG9NZXRhVHlwZUpTT04obWV0YVR5cGUpIHtcbiAgY29uc3QgbWV0YVR5cGVKU09OID0gKG1ldGFUeXBlICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVR5cGUudG9KU09OKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiAgcmV0dXJuIG1ldGFUeXBlSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTihzdGF0ZW1lbnQpIHtcbiAgY29uc3Qgc3RhdGVtZW50SlNPTiA9IChzdGF0ZW1lbnQgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50LnRvSlNPTigpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuXG4gIHJldHVybiBzdGF0ZW1lbnRKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVkdWN0aW9uVG9EZWR1Y3Rpb25KU09OKGRlZHVjdGlvbikge1xuICBjb25zdCBkZWR1Y3Rpb25KU09OID0gZGVkdWN0aW9uLnRvSlNPTigpO1xuXG4gIHJldHVybiBkZWR1Y3Rpb25KU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2lnbmF0dXJlVG9TaWduYXR1cmVKU09OKHNpZ25hdHVyZSkge1xuICBjb25zdCBzaWduYXR1cmVKU09OID0gKHNpZ25hdHVyZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzaWduYXR1cmUudG9KU09OKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGw7XG5cbiAgcmV0dXJuIHNpZ25hdHVyZUpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25jbHVzaW9uVG9Db25jbHVzaW9uSlNPTihjb25jbHVzaW9uKSB7XG4gIGNvbnN0IGNvbmNsdXNpb25KU09OID0gY29uY2x1c2lvbi50b0pTT04oKTtcblxuICByZXR1cm4gY29uY2x1c2lvbkpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVUb01ldGF2YXJpYWJsZUpTT04obWV0YXZhcmlhYmxlKSB7XG4gIGNvbnN0IG1ldGF2YXJpYWJsZUpTT04gPSBtZXRhdmFyaWFibGUudG9KU09OKCk7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZUpTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZWR1cmVDYWxsVG9Qcm9jZWR1cmVDYWxsSlNPTihwcm9jZWR1cmVDYWxsKSB7XG4gIGNvbnN0IHByb2NlZHVyZUNhbGxKU09OID0gKHByb2NlZHVyZUNhbGwgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NlZHVyZUNhbGwudG9KU09OKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuXG4gIHJldHVybiBwcm9jZWR1cmVDYWxsSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2NlZHVyZVJlZmVyZW5jZVRvUHJvY2VkdXJlUmVmZXJlbmNlSlNPTihwcm9jZWR1cmVSZWZlcmVuY2UpIHtcbiAgY29uc3QgcHJvY2VkdXJlUmVmZXJlbmNlSlNPTiA9IHByb2NlZHVyZVJlZmVyZW5jZS50b0pTT04oKTtcblxuICByZXR1cm4gcHJvY2VkdXJlUmVmZXJlbmNlSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR5cGVzVG9UeXBlc0pTT04odHlwZXMpIHtcbiAgY29uc3QgdHlwZXNKU09OID0gdHlwZXMubWFwKCh0eXBlKSA9PiB7XG4gICAgY29uc3QgdHlwZUpTT04gPSB0eXBlLnRvSlNPTigpO1xuXG4gICAgdHlwZSA9IHR5cGVKU09OOyAvLy9cblxuICAgIHJldHVybiB0eXBlO1xuICB9KTtcblxuICByZXR1cm4gdHlwZXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybXNUb1Rlcm1zSlNPTih0ZXJtcykge1xuICBjb25zdCB0ZXJtc0pTT04gPSB0ZXJtcy5tYXAoKHRlcm0pID0+IHtcbiAgICBjb25zdCB0ZXJtSlNPTiA9IHRlcm0udG9KU09OKCk7XG5cbiAgICB0ZXJtID0gdGVybUpTT047IC8vL1xuXG4gICAgcmV0dXJuIHRlcm07XG4gIH0pO1xuXG4gIHJldHVybiB0ZXJtc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBydWxlc1RvUnVsZXNKU09OKHJ1bGVzKSB7XG4gIGNvbnN0IHJ1bGVzSlNPTiA9IHJ1bGVzLm1hcCgocnVsZSkgPT4ge1xuICAgIGNvbnN0IHJ1bGVKU09OID0gcnVsZS50b0pTT04oKTtcblxuICAgIHJ1bGUgPSBydWxlSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJ1bGVzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhYmVsc1RvTGFiZWxzSlNPTihsYWJlbHMpIHtcbiAgY29uc3QgbGFiZWxzSlNPTiA9IGxhYmVscy5tYXAoKGxhYmVsKSA9PiB7XG4gICAgY29uc3QgbGFiZWxKU09OID0gbGFiZWwudG9KU09OKCk7XG5cbiAgICByZXR1cm4gbGFiZWxKU09OO1xuICB9KTtcblxuICByZXR1cm4gbGFiZWxzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF4aW9tc1RvQXhpb21zSlNPTihheGlvbXMpIHtcbiAgY29uc3QgYXhpb21zSlNPTiA9IGF4aW9tcy5tYXAoKGF4aW9tKSA9PiB7XG4gICAgY29uc3QgYXhpb21KU09OID0gYXhpb20udG9KU09OKCk7XG5cbiAgICBheGlvbSA9IGF4aW9tSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gYXhpb207XG4gIH0pO1xuXG4gIHJldHVybiBheGlvbXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlbWlzZXNUb1ByZW1pc2VzSlNPTihwcmVtaXNlcykge1xuICBjb25zdCBwcmVtaXNlc0pTT04gPSBwcmVtaXNlcy5tYXAoKHByZW1pc2UpID0+IHtcbiAgICBjb25zdCBwcmVtaXNlSlNPTiA9IHByZW1pc2UudG9KU09OKCk7XG5cbiAgICByZXR1cm4gcHJlbWlzZUpTT047XG4gIH0pO1xuXG4gIHJldHVybiBwcmVtaXNlc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGVvcmVtc1RvVGhlb3JlbXNKU09OKHRoZW9yZW1zKSB7XG4gIGNvbnN0IHRoZW9yZW1zSlNPTiA9IHRoZW9yZW1zLm1hcCgodGhlb3JlbSkgPT4ge1xuICAgIGNvbnN0IHRoZW9yZW1KU09OID0gdGhlb3JlbS50b0pTT04oKTtcblxuICAgIHRoZW9yZW0gPSB0aGVvcmVtSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gdGhlb3JlbTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRoZW9yZW1zSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlc1RvVmFyaWFibGVzSlNPTih2YXJpYWJsZXMpIHtcbiAgY29uc3QgdmFyaWFibGVzSlNPTiA9IHZhcmlhYmxlcy5tYXAoKHZhcmlhYmxlKSA9PiB7XG4gICAgY29uc3QgdmFyaWFibGVKU09OID0gdmFyaWFibGUudG9KU09OKCk7XG5cbiAgICB2YXJpYWJsZSA9IHZhcmlhYmxlSlNPTjsgIC8vL1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9KTtcblxuICByZXR1cm4gdmFyaWFibGVzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh5cG90aGVzZXNUb0h5cG90aGVzZXNKU09OKGh5cG90aGVzZXMpIHtcbiAgY29uc3QgaHlwb3RoZXNlc0pTT04gPSBoeXBvdGhlc2VzLm1hcCgoaHlwb3RoZXNpcykgPT4ge1xuICAgIGNvbnN0IGh5cG90aGVzaXNKU09OID0gaHlwb3RoZXNpcy50b0pTT04oKTtcblxuICAgIGh5cG90aGVzaXMgPSBoeXBvdGhlc2lzSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gaHlwb3RoZXNpcztcbiAgfSk7XG5cbiAgcmV0dXJuIGh5cG90aGVzZXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VwZXJUeXBlc1RvU3VwZXJUeXBlc0pTT04oc3VwZXJUeXBlcykge1xuICBjb25zdCBzdXBlclR5cGVzSlNPTiA9IHN1cGVyVHlwZXMubWFwKChzdXBlclR5cGUpID0+IHtcbiAgICBjb25zdCBzdXBlclR5cGVKU09OID0gc3VwZXJUeXBlLnRvSlNPTigpO1xuXG4gICAgc3VwZXJUeXBlID0gc3VwZXJUeXBlSlNPTjsgLy8vXG5cbiAgICByZXR1cm4gc3VwZXJUeXBlO1xuICB9KTtcblxuICByZXR1cm4gc3VwZXJUeXBlc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTihwYXJhbWV0ZXJzKSB7XG4gIGNvbnN0IHBhcmFtZXRlcnNKU09OID0gcGFyYW1ldGVycy5tYXAoKHBhcmFtZXRlcikgPT4ge1xuICAgIGNvbnN0IHBhcmFtZXRlckpTT04gPSBwYXJhbWV0ZXIudG9KU09OKCk7XG5cbiAgICBwYXJhbWV0ZXIgPSBwYXJhbWV0ZXJKU09OOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyYW1ldGVyO1xuICB9KTtcblxuICByZXR1cm4gcGFyYW1ldGVyc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9wZXJ0aWVzVG9Qcm9wZXJ0aWVzSlNPTihwcm9wZXJ0aWVzKSB7XG4gIGNvbnN0IHByb3BlcnRpZXNKU09OID0gcHJvcGVydGllcy5tYXAoKHByb3BlcnR5KSA9PiB7XG4gICAgY29uc3QgcHJvcGVydHlKU09OID0gcHJvcGVydHkudG9KU09OKCk7XG5cbiAgICBwcm9wZXJ0eSA9IHByb3BlcnR5SlNPTjsgIC8vL1xuXG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9KTtcblxuICByZXR1cm4gcHJvcGVydGllc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0eXBlUHJlZml4ZXNUb1R5cGVQcmVmaXhlc0pTT04odHlwZVByZWZpeGVzKSB7XG4gIGNvbnN0IHR5cGVQcmVmaXhlc0pTT04gPSB0eXBlUHJlZml4ZXMubWFwKCh0eXBlUHJlZml4KSA9PiB7XG4gICAgY29uc3QgdHlwZVByZWZpeEpTT04gPSB0eXBlUHJlZml4LnRvSlNPTigpO1xuXG4gICAgdHlwZVByZWZpeCA9IHR5cGVQcmVmaXhKU09OOyAvLy9cblxuICAgIHJldHVybiB0eXBlUHJlZml4O1xuICB9KTtcblxuICByZXR1cm4gdHlwZVByZWZpeGVzSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmplY3R1cmVzVG9Db25qZWN0dXJlc0pTT04oY29uamVjdHVyZXMpIHtcbiAgY29uc3QgY29uamVjdHVyZXNKU09OID0gY29uamVjdHVyZXMubWFwKChjb25qZWN0dXJlKSA9PiB7XG4gICAgY29uc3QgY29uamVjdHVyZUpTT04gPSBjb25qZWN0dXJlLnRvSlNPTigpO1xuXG4gICAgY29uamVjdHVyZSA9IGNvbmplY3R1cmVKU09OOyAvLy9cblxuICAgIHJldHVybiBjb25qZWN0dXJlO1xuICB9KTtcblxuICByZXR1cm4gY29uamVjdHVyZXNKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tYmluYXRvcnNUb0NvbWJpbmF0b3JzSlNPTihjb21iaW5hdG9ycykge1xuICBjb25zdCBjb21iaW5hdG9yc0pTT04gPSBjb21iaW5hdG9ycy5tYXAoKGNvbWJpbmF0b3IpID0+IHtcbiAgICBjb25zdCBjb21iaW5hdG9ySlNPTiA9IGNvbWJpbmF0b3IudG9KU09OKCk7XG5cbiAgICBjb21iaW5hdG9yID0gY29tYmluYXRvckpTT047IC8vL1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gIH0pO1xuXG4gIHJldHVybiBjb21iaW5hdG9yc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBwb3NpdGlvbnNUb1N1cHBvc2l0aW9uc0pTT04oc3VwcG9zaXRpb25zKSB7XG4gIGNvbnN0IHN1cHBvc2l0aW9uc0pTT04gPSBzdXBwb3NpdGlvbnMubWFwKChzdXBwb3NpdGlvbikgPT4ge1xuICAgIGNvbnN0IHN1cHBvc2l0aW9uSlNPTiA9IHN1cHBvc2l0aW9uLnRvSlNPTigpO1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uSlNPTjtcbiAgfSk7XG5cbiAgcmV0dXJuIHN1cHBvc2l0aW9uc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnNUb0NvbnN0cnVjdG9yc0pTT04oY29uc3RydWN0b3JzKSB7XG4gIGNvbnN0IGNvbnN0cnVjdG9yc0pTT04gPSBjb25zdHJ1Y3RvcnMubWFwKChjb25zdHJ1Y3RvcikgPT4ge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9ySlNPTiA9IGNvbnN0cnVjdG9yLnRvSlNPTigpO1xuXG4gICAgY29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvckpTT047ICAvLy9cblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcjtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdGhlb3JlbXNUb01ldGF0aGVvcmVtc0pTT04obWV0YXRoZW9yZW1zKSB7XG4gIGNvbnN0IG1ldGF0aGVvcmVtc0pTT04gPSBtZXRhdGhlb3JlbXMubWFwKChtZXRhdGhlb3JlbSkgPT4ge1xuICAgIGNvbnN0IG1ldGF0aGVvcmVtSlNPTiA9IG1ldGF0aGVvcmVtLnRvSlNPTigpO1xuXG4gICAgbWV0YXRoZW9yZW0gPSBtZXRhdGhlb3JlbUpTT047IC8vL1xuXG4gICAgcmV0dXJuIG1ldGF0aGVvcmVtO1xuICB9KTtcblxuICByZXR1cm4gbWV0YXRoZW9yZW1zSlNPTjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YnN0aXR1dGlvbnNUb1N1YnN0aXR1dGlvbnNKU09OKHN1YnN0aXR1dGlvbnMpIHtcbiAgY29uc3Qgc3Vic3RpdHV0aW9uc0pTT04gPSBzdWJzdGl0dXRpb25zLm1hcFN1YnN0aXR1dGlvbigoc3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uSlNPTiA9IHN1YnN0aXR1dGlvbi50b0pTT04oKTtcblxuICAgIHJldHVybiBzdWJzdGl0dXRpb25KU09OO1xuICB9KTtcblxuICByZXR1cm4gc3Vic3RpdHV0aW9uc0pTT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVzVG9NZXRhdmFyaWFibGVzSlNPTihtZXRhdmFyaWFibGVzKSB7XG4gIGNvbnN0IG1ldGF2YXJpYWJsZXNKU09OID0gbWV0YXZhcmlhYmxlcy5tYXAoKG1ldGF2YXJpYWJsZSkgPT4ge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZUpTT04gPSBtZXRhdmFyaWFibGUudG9KU09OKCk7XG5cbiAgICBtZXRhdmFyaWFibGUgPSBtZXRhdmFyaWFibGVKU09OOyAgLy8vXG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlO1xuICB9KTtcblxuICByZXR1cm4gbWV0YXZhcmlhYmxlc0pTT047XG59XG4iXSwibmFtZXMiOlsiYXhpb21zRnJvbUpTT04iLCJheGlvbXNUb0F4aW9tc0pTT04iLCJjb21iaW5hdG9yc0Zyb21KU09OIiwiY29tYmluYXRvcnNUb0NvbWJpbmF0b3JzSlNPTiIsImNvbmNsdXNpb25Gcm9tSlNPTiIsImNvbmNsdXNpb25Ub0NvbmNsdXNpb25KU09OIiwiY29uamVjdHVyZXNGcm9tSlNPTiIsImNvbmplY3R1cmVzVG9Db25qZWN0dXJlc0pTT04iLCJjb25zdHJ1Y3RvcnNGcm9tSlNPTiIsImNvbnN0cnVjdG9yc1RvQ29uc3RydWN0b3JzSlNPTiIsImRlZHVjdGlvbkZyb21KU09OIiwiZGVkdWN0aW9uVG9EZWR1Y3Rpb25KU09OIiwiaHlwb3RoZXNlc0Zyb21KU09OIiwiaHlwb3RoZXNlc1RvSHlwb3RoZXNlc0pTT04iLCJsYWJlbEZyb21KU09OIiwibGFiZWxUb0xhYmVsSlNPTiIsImxhYmVsc0Zyb21KU09OIiwibGFiZWxzVG9MYWJlbHNKU09OIiwibGVtbWFzRnJvbU5vdGhpbmciLCJtZXRhTGVtbWFzRnJvbU5vdGhpbmciLCJtZXRhVHlwZUZyb21KU09OIiwibWV0YVR5cGVUb01ldGFUeXBlSlNPTiIsIm1ldGF0aGVvcmVtc0Zyb21KU09OIiwibWV0YXRoZW9yZW1zVG9NZXRhdGhlb3JlbXNKU09OIiwibWV0YXZhcmlhYmxlRnJvbUpTT04iLCJtZXRhdmFyaWFibGVUb01ldGF2YXJpYWJsZUpTT04iLCJtZXRhdmFyaWFibGVzRnJvbUpTT04iLCJtZXRhdmFyaWFibGVzVG9NZXRhdmFyaWFibGVzSlNPTiIsInBhcmFtZXRlcnNGcm9tSlNPTiIsInBhcmFtZXRlcnNUb1BhcmFtZXRlcnNKU09OIiwicHJlbWlzZXNGcm9tSlNPTiIsInByZW1pc2VzVG9QcmVtaXNlc0pTT04iLCJwcm9jZWR1cmVDYWxsRnJvbUpTT04iLCJwcm9jZWR1cmVDYWxsVG9Qcm9jZWR1cmVDYWxsSlNPTiIsInByb2NlZHVyZVJlZmVyZW5jZUZyb21KU09OIiwicHJvY2VkdXJlUmVmZXJlbmNlVG9Qcm9jZWR1cmVSZWZlcmVuY2VKU09OIiwicHJvcGVydGllc0Zyb21KU09OIiwicHJvcGVydGllc1RvUHJvcGVydGllc0pTT04iLCJydWxlc0Zyb21KU09OIiwicnVsZXNUb1J1bGVzSlNPTiIsInNpZ25hdHVyZUZyb21KU09OIiwic2lnbmF0dXJlVG9TaWduYXR1cmVKU09OIiwic3RhdGVtZW50RnJvbUpTT04iLCJzdGF0ZW1lbnRUb1N0YXRlbWVudEpTT04iLCJzdWJzdGl0dXRpb25zRnJvbUpTT04iLCJzdWJzdGl0dXRpb25zVG9TdWJzdGl0dXRpb25zSlNPTiIsInN1cGVyVHlwZXNGcm9tSlNPTiIsInN1cGVyVHlwZXNUb1N1cGVyVHlwZXNKU09OIiwic3VwcG9zaXRpb25zRnJvbUpTT04iLCJzdXBwb3NpdGlvbnNUb1N1cHBvc2l0aW9uc0pTT04iLCJ0ZXJtRnJvbUpTT04iLCJ0ZXJtVG9UZXJtSlNPTiIsInRlcm1zRnJvbUpTT04iLCJ0ZXJtc1RvVGVybXNKU09OIiwidGhlb3JlbXNGcm9tSlNPTiIsInRoZW9yZW1zVG9UaGVvcmVtc0pTT04iLCJ0eXBlRnJvbUpTT04iLCJ0eXBlUHJlZml4ZXNGcm9tSlNPTiIsInR5cGVQcmVmaXhlc1RvVHlwZVByZWZpeGVzSlNPTiIsInR5cGVUb1R5cGVKU09OIiwidHlwZXNGcm9tSlNPTiIsInR5cGVzVG9UeXBlc0pTT04iLCJ2YXJpYWJsZXNGcm9tSlNPTiIsInZhcmlhYmxlc1RvVmFyaWFibGVzSlNPTiIsImpzb24iLCJjb250ZXh0IiwidGVybSIsInRlcm1KU09OIiwiVGVybSIsImRvbSIsImZyb21KU09OIiwidHlwZSIsIm5hbWUiLCJwcmVmaXhOYW1lIiwibm9taW5hbFR5cGVOYW1lIiwiZmluZFR5cGVCeU5vbWluYWxUeXBlTmFtZSIsIm1ldGFUeXBlIiwibWV0YVR5cGVOYW1lIiwiZmluZE1ldGFUeXBlQnlNZXRhVHlwZU5hbWUiLCJzdGF0ZW1lbnQiLCJTdGF0ZW1lbnQiLCJzdGF0ZW1lbnRKU09OIiwiZGVkdWN0aW9uIiwiRGVkdWN0aW9uIiwiZGVkdWN0aW9uSlNPTiIsInNpZ25hdHVyZSIsIlNpZ25hdHVyZSIsInNpZ25hdHVyZUpTT04iLCJjb25jbHVzaW9uIiwiQ29uY2x1c2lvbiIsImNvbmNsdXNpb25KU09OIiwibWV0YXZhcmlhYmxlIiwiTWV0YXZhcmlhYmxlIiwibWV0YXZhcmlhYmxlSlNPTiIsInByb2NlZHVyZUNhbGwiLCJQcm9jZWR1cmVDYWxsIiwicHJvY2VkdXJlQ2FsbEpTT04iLCJwcm9jZWR1cmVSZWZlcmVuY2UiLCJQcm9jZWR1cmVSZWZlcmVuY2UiLCJwcm9jZWR1cmVSZWZlcmVuY2VKU09OIiwidHlwZXMiLCJ0eXBlc0pTT04iLCJUeXBlIiwiZm9yRWFjaCIsInR5cGVKU09OIiwicHVzaCIsInRlcm1zIiwidGVybXNKU09OIiwibWFwIiwicnVsZXMiLCJSdWxlIiwicnVsZXNKU09OIiwicnVsZUpTT04iLCJydWxlIiwibGFiZWwiLCJMYWJlbCIsImxhYmVsSlNPTiIsImxhYmVscyIsImxhYmVsc0pTT04iLCJheGlvbXMiLCJBeGlvbSIsImF4aW9tc0pTT04iLCJheGlvbUpTT04iLCJheGlvbSIsInByZW1pc2VzIiwiUHJlbWlzZSIsInByZW1pc2VzSlNPTiIsInByZW1pc2VKU09OIiwicHJlbWlzZSIsInRoZW9yZW1zIiwiVGhlb3JlbSIsInRoZW9yZW1zSlNPTiIsInRoZW9yZW1KU09OIiwidGhlb3JlbSIsInZhcmlhYmxlcyIsIlZhcmlhYmxlIiwidmFyaWFibGVzSlNPTiIsInZhcmlhYmxlSlNPTiIsInZhcmlhYmxlIiwicHJvcGVydGllcyIsIlByb3BlcnR5IiwicHJvcGVydGllc0pTT04iLCJwcm9wZXJ0eUpTT04iLCJwcm9wZXJ0eSIsInN1cGVyVHlwZXMiLCJzdXBlclR5cGVzSlNPTiIsInN1cGVyVHlwZUpTT04iLCJub21pbmFsU3VwZXJUeXBlTmFtZSIsInN1cGVyVHlwZSIsImh5cG90aGVzZXMiLCJIeXBvdGhlc2lzIiwiaHlwb3RoZXNlc0pTT04iLCJoeXBvdGhlc2lzSlNPTiIsImh5cG90aGVzaXMiLCJwYXJhbWV0ZXJzIiwiUGFyYW1ldGVyIiwicGFyYW1ldGVyc0pTT04iLCJwYXJhbWV0ZXJKU09OIiwicGFyYW1ldGVyIiwiY29uamVjdHVyZXMiLCJDb25qZWN0dXJlIiwiY29uamVjdHVyZXNKU09OIiwiY29uamVjdHVyZUpTT04iLCJjb25qZWN0dXJlIiwiY29tYmluYXRvcnMiLCJDb21iaW5hdG9yIiwiY29tYmluYXRvcnNKU09OIiwiY29tYmluYXRvckpTT04iLCJjb21iaW5hdG9yIiwidHlwZVByZWZpeGVzIiwiVHlwZVByZWZpeCIsInR5cGVQcmVmaXhlc0pTT04iLCJ0eXBlUHJlZml4SlNPTiIsInR5cGVQcmVmaXgiLCJjb25zdHJ1Y3RvcnMiLCJDb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yc0pTT04iLCJjb25zdHJ1Y3RvckpTT04iLCJjb25zdHJ1Y3RvciIsIm1ldGF0aGVvcmVtcyIsIk1ldGF0aGVvcmVtIiwibWV0YXRoZW9yZW1zSlNPTiIsIm1ldGF0aGVvcmVtSlNPTiIsIm1ldGF0aGVvcmVtIiwic3VwcG9zaXRpb25zIiwiU3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvbnNKU09OIiwic3VwcG9zaXRpb25KU09OIiwic3VwcG9zaXRpb24iLCJzdWJzdGl0dXRpb25zIiwiU3RhdGVtZW50U3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uc0pTT04iLCJTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25KU09OIiwic3Vic3RpdHV0aW9uIiwibWV0YXZhcmlhYmxlcyIsIm1ldGF2YXJpYWJsZXNKU09OIiwibGVtbWFzIiwibWV0YUxlbW1hcyIsInRvSlNPTiIsIm1ldGFUeXBlSlNPTiIsIm1hcFN1YnN0aXR1dGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBNk5nQkE7ZUFB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
|
package/package.json
CHANGED
package/src/dom/procedureCall.js
CHANGED
|
@@ -5,13 +5,13 @@ import { Expressions } from "occam-furtle";
|
|
|
5
5
|
import dom from "../dom";
|
|
6
6
|
|
|
7
7
|
import { domAssigned } from "../dom";
|
|
8
|
-
import { parametersFromJSON,
|
|
8
|
+
import { parametersFromJSON, procedureReferenceFromJSON, parametersToParametersJSON, procedureReferenceToProcedureReferenceJSON } from "../utilities/json";
|
|
9
9
|
|
|
10
10
|
export default domAssigned(class ProcedureCall {
|
|
11
|
-
constructor(node, string,
|
|
11
|
+
constructor(node, string, procedureReference, parameters) {
|
|
12
12
|
this.node = node;
|
|
13
13
|
this.string = string;
|
|
14
|
-
this.
|
|
14
|
+
this.procedureReference = procedureReference;
|
|
15
15
|
this.parameters = parameters;
|
|
16
16
|
}
|
|
17
17
|
|
|
@@ -23,14 +23,16 @@ export default domAssigned(class ProcedureCall {
|
|
|
23
23
|
return this.string;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
return this.
|
|
26
|
+
getProcedureReference() {
|
|
27
|
+
return this.procedureReference;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
getParameters() {
|
|
31
31
|
return this.parameters;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
getName() { return this.procedureReference.getName(); }
|
|
35
|
+
|
|
34
36
|
findNodes(substitutions) {
|
|
35
37
|
const nodes = this.parameters.map((parameter) => {
|
|
36
38
|
const replacementNode = parameter.findReplacementNode(substitutions),
|
|
@@ -49,7 +51,7 @@ export default domAssigned(class ProcedureCall {
|
|
|
49
51
|
|
|
50
52
|
context.trace(`Verifying the '${procedureCallString}' procedure call...`, this.node);
|
|
51
53
|
|
|
52
|
-
const name = this.
|
|
54
|
+
const name = this.getName(),
|
|
53
55
|
procedure = context.findProcedureByName(name);
|
|
54
56
|
|
|
55
57
|
if (procedure !== null) {
|
|
@@ -78,7 +80,7 @@ export default domAssigned(class ProcedureCall {
|
|
|
78
80
|
|
|
79
81
|
context.trace(`Unifying the '${procedureCallString}' procedure call independently...`);
|
|
80
82
|
|
|
81
|
-
const name = this.
|
|
83
|
+
const name = this.getName(),
|
|
82
84
|
nodes = this.findNodes(substitutions),
|
|
83
85
|
procedure = context.findProcedureByName(name),
|
|
84
86
|
expressions = Expressions.fromNodes(nodes, context);
|
|
@@ -103,10 +105,10 @@ export default domAssigned(class ProcedureCall {
|
|
|
103
105
|
|
|
104
106
|
toJSON() {
|
|
105
107
|
const parametersJSON = parametersToParametersJSON(this.parameters),
|
|
106
|
-
|
|
108
|
+
procedureReference = procedureReferenceToProcedureReferenceJSON(this.procedureReference),
|
|
107
109
|
parameters = parametersJSON, ///
|
|
108
110
|
json = {
|
|
109
|
-
|
|
111
|
+
procedureReference,
|
|
110
112
|
parameters
|
|
111
113
|
};
|
|
112
114
|
|
|
@@ -116,11 +118,11 @@ export default domAssigned(class ProcedureCall {
|
|
|
116
118
|
static name = "ProcedureCall";
|
|
117
119
|
|
|
118
120
|
static fromJSON(json, context) {
|
|
119
|
-
const
|
|
121
|
+
const procedureReference = procedureReferenceFromJSON(json, context),
|
|
120
122
|
parameters = parametersFromJSON(json, context),
|
|
121
123
|
node = null,
|
|
122
|
-
string =
|
|
123
|
-
procedureCall = new ProcedureCall(node, string,
|
|
124
|
+
string = stringFromProcedureReferenceAndParameters(procedureReference, parameters),
|
|
125
|
+
procedureCall = new ProcedureCall(node, string, procedureReference, parameters);
|
|
124
126
|
|
|
125
127
|
return procedureCall;
|
|
126
128
|
}
|
|
@@ -151,12 +153,12 @@ export default domAssigned(class ProcedureCall {
|
|
|
151
153
|
});
|
|
152
154
|
|
|
153
155
|
function procedureCallFromProcedureCallNode(procedureCallNode, context) {
|
|
154
|
-
const { ProcedureCall } = dom,
|
|
156
|
+
const { ProcedureCall, ProcedureReference } = dom,
|
|
155
157
|
node = procedureCallNode, ///
|
|
158
|
+
procedureReference = ProcedureReference.fromProcedureCallNode(procedureCallNode, context),
|
|
156
159
|
parameters = parametersFromProcedureCallNode(procedureCallNode, context),
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
procedureCall = new ProcedureCall(node, string, procedureName, parameters);
|
|
160
|
+
string = stringFromProcedureReferenceAndParameters(procedureReference, parameters),
|
|
161
|
+
procedureCall = new ProcedureCall(node, string, procedureReference, parameters);
|
|
160
162
|
|
|
161
163
|
return procedureCall;
|
|
162
164
|
}
|
|
@@ -173,8 +175,9 @@ function parametersFromProcedureCallNode(procedureCallNode, context) {
|
|
|
173
175
|
return parameters;
|
|
174
176
|
}
|
|
175
177
|
|
|
176
|
-
function
|
|
177
|
-
const
|
|
178
|
+
function stringFromProcedureReferenceAndParameters(procedureReference, parameters) {
|
|
179
|
+
const name = procedureReference.getName(),
|
|
180
|
+
parametersString = parameters.reduce((parametersString, parameter) => {
|
|
178
181
|
const parameterString = parameter.getString();
|
|
179
182
|
|
|
180
183
|
parametersString = (parametersString === null) ?
|
|
@@ -183,7 +186,7 @@ function stringFromProcedureNameAndParameters(procedureName, parameters) {
|
|
|
183
186
|
|
|
184
187
|
return parametersString;
|
|
185
188
|
}, null),
|
|
186
|
-
string = `${
|
|
189
|
+
string = `${name}(${parametersString})`;
|
|
187
190
|
|
|
188
191
|
return string;
|
|
189
192
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { domAssigned } from "../dom";
|
|
4
|
+
|
|
5
|
+
export default domAssigned(class ProcedureReference {
|
|
6
|
+
constructor(string, name) {
|
|
7
|
+
this.string = string;
|
|
8
|
+
this.name = name;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
getString() {
|
|
12
|
+
return this.string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
getName() {
|
|
16
|
+
return this.name;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
toJSON() {
|
|
20
|
+
const name = this.name,
|
|
21
|
+
json = {
|
|
22
|
+
name
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
return json;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static fromJSON(json, context) {
|
|
29
|
+
const { name } = json,
|
|
30
|
+
string = name, ///
|
|
31
|
+
procedureReference = new ProcedureReference(string, name);
|
|
32
|
+
|
|
33
|
+
return procedureReference;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static name = "ProcedureReference";
|
|
37
|
+
|
|
38
|
+
static fromProcedureCallNode(procedureCallNode, context) {
|
|
39
|
+
const procedureName = procedureCallNode.getProcedureName(),
|
|
40
|
+
name = procedureName, ///
|
|
41
|
+
string = name, ///
|
|
42
|
+
procedureReference = new ProcedureReference(string, name);
|
|
43
|
+
|
|
44
|
+
return procedureReference;
|
|
45
|
+
}
|
|
46
|
+
});
|
package/src/index.js
CHANGED
|
@@ -47,6 +47,7 @@ import SubproofAssertion from "./dom/assertion/subproof";
|
|
|
47
47
|
import PropertyAssertion from "./dom/assertion/property";
|
|
48
48
|
import ContainedAssertion from "./dom/assertion/contained";
|
|
49
49
|
import SatisfiesAssertion from "./dom/assertion/satisfies";
|
|
50
|
+
import ProcedureReference from "./dom/procedureReference";
|
|
50
51
|
import VariableDeclaration from "./dom/declaration/variable";
|
|
51
52
|
import BracketedCombinator from "./dom/combinator/bracketed";
|
|
52
53
|
import BracketedConstructor from "./dom/constructor/bracketed";
|
|
@@ -146,6 +146,7 @@ import {
|
|
|
146
146
|
SUBPROOF_ASSERTION_RULE_NAME,
|
|
147
147
|
PROPERTY_ASSERTION_RULE_NAME,
|
|
148
148
|
FRAME_SUBSTITUTION_RULE_NAME,
|
|
149
|
+
PROCEDURE_REFERENCE_RULE_NAME,
|
|
149
150
|
CONTAINED_ASSERTION_RULE_NAME,
|
|
150
151
|
SATISFIES_ASSERTION_RULE_NAME,
|
|
151
152
|
PARENTHESISED_LABEL_RULE_NAME,
|
|
@@ -158,7 +159,7 @@ import {
|
|
|
158
159
|
CONSTRUCTOR_DECLARATION_RULE_NAME,
|
|
159
160
|
TYPE_PREFIX_DECLARATION_RULE_NAME,
|
|
160
161
|
COMPLEX_TYPE_DECLARATION_RULE_NAME,
|
|
161
|
-
METAVARIABLE_DECLARATION_RULE_NAME
|
|
162
|
+
METAVARIABLE_DECLARATION_RULE_NAME
|
|
162
163
|
} from "./ruleNames";
|
|
163
164
|
|
|
164
165
|
const NonTerminalNodeMap = {
|
package/src/utilities/json.js
CHANGED
|
@@ -63,19 +63,6 @@ export function statementFromJSON(json, context) {
|
|
|
63
63
|
return statement;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
export function referenceFromJSON(json, context) {
|
|
67
|
-
let { reference } = json;
|
|
68
|
-
|
|
69
|
-
const { Reference } = dom,
|
|
70
|
-
referenceJSON = reference; ///
|
|
71
|
-
|
|
72
|
-
json = referenceJSON; ///
|
|
73
|
-
|
|
74
|
-
reference = Reference.fromJSON(json, context);
|
|
75
|
-
|
|
76
|
-
return reference;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
66
|
export function deductionFromJSON(json, context) {
|
|
80
67
|
let { deduction } = json;
|
|
81
68
|
|
|
@@ -145,10 +132,17 @@ export function procedureCallFromJSON(json, context) {
|
|
|
145
132
|
return procedureCall;
|
|
146
133
|
}
|
|
147
134
|
|
|
148
|
-
export function
|
|
149
|
-
|
|
135
|
+
export function procedureReferenceFromJSON(json, context) {
|
|
136
|
+
let { procedureReference } = json;
|
|
150
137
|
|
|
151
|
-
|
|
138
|
+
const { ProcedureReference } = dom,
|
|
139
|
+
procedureReferenceJSON = procedureReference; ///
|
|
140
|
+
|
|
141
|
+
json = procedureReferenceJSON; ///
|
|
142
|
+
|
|
143
|
+
procedureReference = ProcedureReference.fromJSON(json, context);
|
|
144
|
+
|
|
145
|
+
return procedureReference;
|
|
152
146
|
}
|
|
153
147
|
|
|
154
148
|
export function typesFromJSON(json, types, context) {
|
|
@@ -564,6 +558,12 @@ export function procedureCallToProcedureCallJSON(procedureCall) {
|
|
|
564
558
|
return procedureCallJSON;
|
|
565
559
|
}
|
|
566
560
|
|
|
561
|
+
export function procedureReferenceToProcedureReferenceJSON(procedureReference) {
|
|
562
|
+
const procedureReferenceJSON = procedureReference.toJSON();
|
|
563
|
+
|
|
564
|
+
return procedureReferenceJSON;
|
|
565
|
+
}
|
|
566
|
+
|
|
567
567
|
export function typesToTypesJSON(types) {
|
|
568
568
|
const typesJSON = types.map((type) => {
|
|
569
569
|
const typeJSON = type.toJSON();
|