occam-verify-cli 0.0.1094 → 0.0.1096
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/assertion/contained.js +21 -5
- package/lib/assertion/defined.js +11 -4
- package/lib/assertion/subproof.js +16 -10
- package/lib/axiom.js +4 -4
- package/lib/combinator/bracketed.js +5 -28
- package/lib/conclusion.js +7 -1
- package/lib/conjecture.js +4 -4
- package/lib/consequent.js +7 -1
- package/lib/constructor/bracketed.js +5 -28
- package/lib/context/bracketed/combinator.js +118 -0
- package/lib/context/bracketed/constructor.js +118 -0
- package/lib/context/bracketted.js +98 -0
- package/lib/context/file.js +44 -40
- package/lib/context/local.js +13 -13
- package/lib/declaration.js +122 -7
- package/lib/frame.js +26 -16
- package/lib/judgement.js +8 -23
- package/lib/label.js +8 -9
- package/lib/lemma.js +4 -4
- package/lib/metaLemma.js +41 -7
- package/lib/metatheorem.js +37 -2
- package/lib/metavariable.js +13 -13
- package/lib/mixins/statement/qualified/unify.js +2 -2
- package/lib/nodeAndTokens/metavariable.js +5 -6
- package/lib/nodeAndTokens/statement.js +7 -20
- package/lib/nodeAndTokens/substitution/frame.js +4 -5
- package/lib/nodeAndTokens/substitution/statement.js +4 -5
- package/lib/nodeAndTokens/substitution/term.js +4 -5
- package/lib/nodeAndTokens/term.js +5 -6
- package/lib/nodeAndTokens/variable.js +5 -6
- package/lib/premise.js +9 -3
- package/lib/reference.js +23 -9
- package/lib/rule.js +13 -7
- package/lib/statement/qualified.js +4 -3
- package/lib/statement/unqualified.js +29 -23
- package/lib/statement.js +9 -7
- package/lib/substitution/frame.js +2 -2
- package/lib/substitution/statement.js +4 -4
- package/lib/substitution/term.js +2 -2
- package/lib/substitutions.js +9 -2
- package/lib/topLevelAssertion.js +13 -25
- package/lib/unifier/equality.js +5 -5
- package/lib/unifier/label.js +146 -0
- package/lib/unifier/metaLevel.js +7 -7
- package/lib/unifier.js +4 -4
- package/lib/variable.js +8 -5
- package/package.json +1 -1
- package/src/assertion/contained.js +22 -6
- package/src/assertion/defined.js +11 -5
- package/src/assertion/subproof.js +17 -12
- package/src/axiom.js +3 -2
- package/src/combinator/bracketed.js +5 -41
- package/src/conclusion.js +2 -0
- package/src/conjecture.js +3 -2
- package/src/consequent.js +2 -0
- package/src/constructor/bracketed.js +5 -40
- package/src/context/bracketed/combinator.js +23 -0
- package/src/context/bracketed/constructor.js +23 -0
- package/src/context/bracketted.js +61 -0
- package/src/context/file.js +57 -48
- package/src/context/local.js +4 -4
- package/src/declaration.js +130 -6
- package/src/frame.js +30 -15
- package/src/judgement.js +7 -35
- package/src/label.js +3 -14
- package/src/lemma.js +3 -2
- package/src/metaLemma.js +60 -12
- package/src/metatheorem.js +56 -2
- package/src/metavariable.js +19 -13
- package/src/mixins/statement/qualified/unify.js +3 -1
- package/src/nodeAndTokens/metavariable.js +3 -7
- package/src/nodeAndTokens/statement.js +1 -13
- package/src/nodeAndTokens/substitution/frame.js +1 -6
- package/src/nodeAndTokens/substitution/statement.js +1 -6
- package/src/nodeAndTokens/substitution/term.js +1 -6
- package/src/nodeAndTokens/term.js +3 -7
- package/src/nodeAndTokens/variable.js +3 -7
- package/src/premise.js +15 -3
- package/src/reference.js +30 -19
- package/src/rule.js +7 -5
- package/src/statement/qualified.js +3 -3
- package/src/statement/unqualified.js +32 -30
- package/src/statement.js +9 -9
- package/src/substitution/frame.js +1 -2
- package/src/substitution/statement.js +3 -6
- package/src/substitution/term.js +1 -2
- package/src/substitutions.js +7 -1
- package/src/topLevelAssertion.js +10 -22
- package/src/unifier/equality.js +14 -16
- package/src/unifier/label.js +57 -0
- package/src/unifier/metaLevel.js +6 -6
- package/src/unifier.js +4 -4
- package/src/variable.js +13 -7
- package/lib/unifier/intrinsicLevel.js +0 -149
- package/src/unifier/intrinsicLevel.js +0 -61
package/lib/metatheorem.js
CHANGED
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
|
|
12
|
+
var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
|
|
12
13
|
var _topLevelAssertion = /*#__PURE__*/ _interop_require_wildcard(require("./topLevelAssertion"));
|
|
13
14
|
var _json = require("./utilities/json");
|
|
14
15
|
function _assert_this_initialized(self) {
|
|
@@ -160,11 +161,45 @@ var Metatheorem = /*#__PURE__*/ function(TopLevelAssertion) {
|
|
|
160
161
|
return _call_super(this, Metatheorem, arguments);
|
|
161
162
|
}
|
|
162
163
|
_create_class(Metatheorem, [
|
|
164
|
+
{
|
|
165
|
+
key: "unifyReference",
|
|
166
|
+
value: function unifyReference(reference, substitutions, context) {
|
|
167
|
+
var referenceUnified;
|
|
168
|
+
var metatheorem = this, referenceString = reference.getString(), metatheoremString = metatheorem.getString();
|
|
169
|
+
context.trace("Unifying the '".concat(referenceString, "' reference with the '").concat(metatheoremString, "' metatheorem..."));
|
|
170
|
+
var fileContext = this.getFileContext(), localContext = _local.default.fromFileContext(fileContext), generalContext = localContext, specificContext = context, labelUnified = this.labels.some(function(label) {
|
|
171
|
+
substitutions.clear();
|
|
172
|
+
var referenceUnified = reference.unifyLabel(label, substitutions, generalContext, specificContext);
|
|
173
|
+
if (referenceUnified) {
|
|
174
|
+
return true;
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
referenceUnified = labelUnified; ///
|
|
178
|
+
if (referenceUnified) {
|
|
179
|
+
context.debug("...unified the '".concat(referenceString, "' reference with the '").concat(metatheoremString, "' metatheorem."));
|
|
180
|
+
}
|
|
181
|
+
return referenceUnified;
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
key: "unifyStatement",
|
|
186
|
+
value: function unifyStatement(statement, substitutions, context) {
|
|
187
|
+
var statementUnified;
|
|
188
|
+
var metatheorem = this, statementString = statement.getString(), metatheoremString = metatheorem.getString();
|
|
189
|
+
context.trace("Unifying the '".concat(statementString, "' reference with the '").concat(metatheoremString, "' metatheorem..."));
|
|
190
|
+
var consequent = this.getConsequent();
|
|
191
|
+
statementUnified = consequent.unifyStatement(statement, substitutions, context);
|
|
192
|
+
if (statementUnified) {
|
|
193
|
+
context.debug("...unified the '".concat(statementString, "' reference with the '").concat(metatheoremString, "' metatheorem."));
|
|
194
|
+
}
|
|
195
|
+
return statementUnified;
|
|
196
|
+
}
|
|
197
|
+
},
|
|
163
198
|
{
|
|
164
199
|
key: "verify",
|
|
165
200
|
value: function verify() {
|
|
166
201
|
var verified;
|
|
167
|
-
var fileContext = this.getFileContext(), metatheoremString =
|
|
202
|
+
var metatheorem = this, fileContext = this.getFileContext(), metatheoremString = metatheorem.getString();
|
|
168
203
|
fileContext.trace("Verifying the '".concat(metatheoremString, "' metatheorem..."));
|
|
169
204
|
verified = _get(_get_prototype_of(Metatheorem.prototype), "verify", this).call(this);
|
|
170
205
|
if (verified) {
|
|
@@ -209,4 +244,4 @@ Object.assign(_shim.default, {
|
|
|
209
244
|
});
|
|
210
245
|
var _default = Metatheorem;
|
|
211
246
|
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IFRvcExldmVsQXNzZXJ0aW9uIGZyb20gXCIuL3RvcExldmVsQXNzZXJ0aW9uXCI7XG5cbmltcG9ydCB7IHN0cmluZ0Zyb21MYWJlbHMgfSBmcm9tIFwiLi90b3BMZXZlbEFzc2VydGlvblwiO1xuaW1wb3J0IHsgbGFiZWxzRnJvbUpTT04sXG4gICAgICAgICBsYWJlbHNUb0xhYmVsc0pTT04sXG4gICAgICAgICBjb25zZXF1ZW50RnJvbUpTT04sXG4gICAgICAgICBzdXBwb3NpdGlvbnNGcm9tSlNPTixcbiAgICAgICAgIHN1YnN0aXR1dGlvbnNGcm9tSlNPTixcbiAgICAgICAgIGNvbnNlcXVlbnRUb0NvbnNlcXVlbnRKU09OLFxuICAgICAgICAgc3VwcG9zaXRpb25zVG9TdXBwb3NpdGlvbnNKU09OLFxuICAgICAgICAgc3Vic3RpdHV0aW9uc1RvU3Vic3RpdHV0aW9uc0pTT04gfSBmcm9tIFwiLi91dGlsaXRpZXMvanNvblwiO1xuXG5jbGFzcyBNZXRhdGhlb3JlbSBleHRlbmRzIFRvcExldmVsQXNzZXJ0aW9uIHtcbiAgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllZDtcblxuICAgIGNvbnN0IGZpbGVDb250ZXh0ID0gdGhpcy5nZXRGaWxlQ29udGV4dCgpLFxuICAgICAgICAgIG1ldGF0aGVvcmVtU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGF0aGVvcmVtU3RyaW5nfScgbWV0YXRoZW9yZW0uLi5gKTtcblxuICAgIHZlcmlmaWVkID0gc3VwZXIudmVyaWZ5KCk7XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFUaGVvcmVtID0gdGhpczsgLy8vXG5cbiAgICAgIGZpbGVDb250ZXh0LmFkZE1ldGF0aGVvcmVtKG1ldGFUaGVvcmVtKTtcblxuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdGhlb3JlbVN0cmluZ30nIG1ldGF0aGVvcmVtLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBsYWJlbHNKU09OID0gbGFiZWxzVG9MYWJlbHNKU09OKHRoaXMubGFiZWxzKSxcbiAgICAgICAgICBjb25zZXF1ZW50SlNPTiA9IGNvbnNlcXVlbnRUb0NvbnNlcXVlbnRKU09OKHRoaXMuY29uc2VxdWVudCksXG4gICAgICAgICAgc3VwcG9zaXRpb25zSlNPTiA9IHN1cHBvc2l0aW9uc1RvU3VwcG9zaXRpb25zSlNPTih0aGlzLnN1cHBvc2l0aW9ucyksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uc0pTT04gPSBzdWJzdGl0dXRpb25zVG9TdWJzdGl0dXRpb25zSlNPTih0aGlzLnN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIGxhYmVscyA9IGxhYmVsc0pTT04sICAvLy9cbiAgICAgICAgICBjb25zZXF1ZW50ID0gY29uc2VxdWVudEpTT04sICAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnNKU09OLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IHN1YnN0aXR1dGlvbnNKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGxhYmVscyxcbiAgICAgICAgICAgIGNvbnNlcXVlbnQsXG4gICAgICAgICAgICBzdXBwb3NpdGlvbnMsXG4gICAgICAgICAgICBzdWJzdGl0dXRpb25zXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgbGFiZWxzID0gbGFiZWxzRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbnNlcXVlbnQgPSBjb25zZXF1ZW50RnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9uc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdWJzdGl0dXRpb25zID0gc3Vic3RpdHV0aW9uc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tTGFiZWxzKGxhYmVscyksXG4gICAgICAgICAgcHJvb2YgPSBudWxsLFxuICAgICAgICAgIHRvcExldmVsQXNzZXJ0aW9uID0gbmV3IE1ldGF0aGVvcmVtKGZpbGVDb250ZXh0LCBzdHJpbmcsIGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW50LCBwcm9vZiwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICByZXR1cm4gdG9wTGV2ZWxBc3NlcnRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGF0aGVvcmVtTm9kZShtZXRhdGhlb3JlbU5vZGUsIGZpbGVDb250ZXh0KSB7IHJldHVybiBUb3BMZXZlbEFzc2VydGlvbi5mcm9tTm9kZShNZXRhdGhlb3JlbSwgbWV0YXRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCk7IH1cbn1cblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIE1ldGF0aGVvcmVtXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgTWV0YXRoZW9yZW07XG4iXSwibmFtZXMiOlsiTWV0YXRoZW9yZW0iLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsImZpbGVDb250ZXh0IiwiZ2V0RmlsZUNvbnRleHQiLCJtZXRhdGhlb3JlbVN0cmluZyIsInN0cmluZyIsInRyYWNlIiwibWV0YVRoZW9yZW0iLCJhZGRNZXRhdGhlb3JlbSIsImRlYnVnIiwidG9KU09OIiwibGFiZWxzSlNPTiIsImxhYmVsc1RvTGFiZWxzSlNPTiIsImxhYmVscyIsImNvbnNlcXVlbnRKU09OIiwiY29uc2VxdWVudFRvQ29uc2VxdWVudEpTT04iLCJjb25zZXF1ZW50Iiwic3VwcG9zaXRpb25zSlNPTiIsInN1cHBvc2l0aW9uc1RvU3VwcG9zaXRpb25zSlNPTiIsInN1cHBvc2l0aW9ucyIsInN1YnN0aXR1dGlvbnNKU09OIiwic3Vic3RpdHV0aW9uc1RvU3Vic3RpdHV0aW9uc0pTT04iLCJzdWJzdGl0dXRpb25zIiwianNvbiIsImZyb21KU09OIiwibGFiZWxzRnJvbUpTT04iLCJjb25zZXF1ZW50RnJvbUpTT04iLCJzdXBwb3NpdGlvbnNGcm9tSlNPTiIsInN1YnN0aXR1dGlvbnNGcm9tSlNPTiIsInN0cmluZ0Zyb21MYWJlbHMiLCJwcm9vZiIsInRvcExldmVsQXNzZXJ0aW9uIiwiZnJvbU1ldGF0aGVvcmVtTm9kZSIsIm1ldGF0aGVvcmVtTm9kZSIsIlRvcExldmVsQXNzZXJ0aW9uIiwiZnJvbU5vZGUiLCJPYmplY3QiLCJhc3NpZ24iLCJzaGltIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEyRUE7OztlQUFBOzs7MkRBekVpQjt5RUFDYTtvQkFVbUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpELElBQUEsQUFBTUEsNEJBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2lDQUFBQTs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSUM7Z0JBRUosSUFBTUMsY0FBYyxJQUFJLENBQUNDLGNBQWMsSUFDakNDLG9CQUFvQixJQUFJLENBQUNDLE1BQU0sRUFBRyxHQUFHO2dCQUUzQ0gsWUFBWUksS0FBSyxDQUFDLEFBQUMsa0JBQW1DLE9BQWxCRixtQkFBa0I7Z0JBRXRESCxXQUFXLHVCQVRURix3QkFTZUMsVUFBTixJQUFLO2dCQUVoQixJQUFJQyxVQUFVO29CQUNaLElBQU1NLGNBQWMsSUFBSSxFQUFFLEdBQUc7b0JBRTdCTCxZQUFZTSxjQUFjLENBQUNEO29CQUUzQkwsWUFBWU8sS0FBSyxDQUFDLEFBQUMsb0JBQXFDLE9BQWxCTCxtQkFBa0I7Z0JBQzFEO2dCQUVBLE9BQU9IO1lBQ1Q7OztZQUVBUyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsYUFBYUMsSUFBQUEsd0JBQWtCLEVBQUMsSUFBSSxDQUFDQyxNQUFNLEdBQzNDQyxpQkFBaUJDLElBQUFBLGdDQUEwQixFQUFDLElBQUksQ0FBQ0MsVUFBVSxHQUMzREMsbUJBQW1CQyxJQUFBQSxvQ0FBOEIsRUFBQyxJQUFJLENBQUNDLFlBQVksR0FDbkVDLG9CQUFvQkMsSUFBQUEsc0NBQWdDLEVBQUMsSUFBSSxDQUFDQyxhQUFhLEdBQ3ZFVCxTQUFTRixZQUNUSyxhQUFhRixnQkFDYkssZUFBZUYsa0JBQ2ZLLGdCQUFnQkYsbUJBQ2hCRyxPQUFPO29CQUNMVixRQUFBQTtvQkFDQUcsWUFBQUE7b0JBQ0FHLGNBQUFBO29CQUNBRyxlQUFBQTtnQkFDRjtnQkFFTixPQUFPQztZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRXJCLFdBQVc7Z0JBQy9CLElBQU1XLFNBQVNZLElBQUFBLG9CQUFjLEVBQUNGLE1BQU1yQixjQUM5QmMsYUFBYVUsSUFBQUEsd0JBQWtCLEVBQUNILE1BQU1yQixjQUN0Q2lCLGVBQWVRLElBQUFBLDBCQUFvQixFQUFDSixNQUFNckIsY0FDMUNvQixnQkFBZ0JNLElBQUFBLDJCQUFxQixFQUFDTCxNQUFNckIsY0FDNUNHLFNBQVN3QixJQUFBQSxtQ0FBZ0IsRUFBQ2hCLFNBQzFCaUIsUUFBUSxNQUNSQyxvQkFBb0IsSUFoRHhCaEMsWUFnRHdDRyxhQUFhRyxRQUFRUSxRQUFRTSxjQUFjSCxZQUFZYyxPQUFPUjtnQkFFeEcsT0FBT1M7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLG9CQUFvQkMsZUFBZSxFQUFFL0IsV0FBVztnQkFBSSxPQUFPZ0MsMEJBQWlCLENBQUNDLFFBQVEsQ0FyRHhGcEMsYUFxRHNHa0MsaUJBQWlCL0I7WUFBYzs7O1dBckRySUg7RUFBb0JtQywwQkFBaUI7QUF3RDNDRSxPQUFPQyxNQUFNLENBQUNDLGFBQUksRUFBRTtJQUNsQnZDLGFBQUFBO0FBQ0Y7SUFFQSxXQUFlQSJ9
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgVG9wTGV2ZWxBc3NlcnRpb24gZnJvbSBcIi4vdG9wTGV2ZWxBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgc3RyaW5nRnJvbUxhYmVscyB9IGZyb20gXCIuL3RvcExldmVsQXNzZXJ0aW9uXCI7XG5pbXBvcnQgeyBsYWJlbHNGcm9tSlNPTixcbiAgICAgICAgIGxhYmVsc1RvTGFiZWxzSlNPTixcbiAgICAgICAgIGNvbnNlcXVlbnRGcm9tSlNPTixcbiAgICAgICAgIHN1cHBvc2l0aW9uc0Zyb21KU09OLFxuICAgICAgICAgc3Vic3RpdHV0aW9uc0Zyb21KU09OLFxuICAgICAgICAgY29uc2VxdWVudFRvQ29uc2VxdWVudEpTT04sXG4gICAgICAgICBzdXBwb3NpdGlvbnNUb1N1cHBvc2l0aW9uc0pTT04sXG4gICAgICAgICBzdWJzdGl0dXRpb25zVG9TdWJzdGl0dXRpb25zSlNPTiB9IGZyb20gXCIuL3V0aWxpdGllcy9qc29uXCI7XG5cbmNsYXNzIE1ldGF0aGVvcmVtIGV4dGVuZHMgVG9wTGV2ZWxBc3NlcnRpb24ge1xuICB1bmlmeVJlZmVyZW5jZShyZWZlcmVuY2UsIHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpIHtcbiAgICBsZXQgcmVmZXJlbmNlVW5pZmllZDtcblxuICAgIGNvbnN0IG1ldGF0aGVvcmVtID0gdGhpcywgLy8vXG4gICAgICAgICAgcmVmZXJlbmNlU3RyaW5nID0gcmVmZXJlbmNlLmdldFN0cmluZygpLFxuICAgICAgICAgIG1ldGF0aGVvcmVtU3RyaW5nID0gbWV0YXRoZW9yZW0uZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7cmVmZXJlbmNlU3RyaW5nfScgcmVmZXJlbmNlIHdpdGggdGhlICcke21ldGF0aGVvcmVtU3RyaW5nfScgbWV0YXRoZW9yZW0uLi5gKTtcblxuICAgIGNvbnN0IGZpbGVDb250ZXh0ID0gdGhpcy5nZXRGaWxlQ29udGV4dCgpLFxuICAgICAgICAgIGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGdlbmVyYWxDb250ZXh0ID0gbG9jYWxDb250ZXh0LCAgLy8vXG4gICAgICAgICAgc3BlY2lmaWNDb250ZXh0ID0gY29udGV4dCwgLy8vXG4gICAgICAgICAgbGFiZWxVbmlmaWVkID0gdGhpcy5sYWJlbHMuc29tZSgobGFiZWwpID0+IHtcbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbnMuY2xlYXIoKTtcblxuICAgICAgICAgICAgY29uc3QgcmVmZXJlbmNlVW5pZmllZCA9IHJlZmVyZW5jZS51bmlmeUxhYmVsKGxhYmVsLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgICAgICAgICAgaWYgKHJlZmVyZW5jZVVuaWZpZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICByZWZlcmVuY2VVbmlmaWVkID0gbGFiZWxVbmlmaWVkOyAgLy8vXG5cbiAgICBpZiAocmVmZXJlbmNlVW5pZmllZCkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cmVmZXJlbmNlU3RyaW5nfScgcmVmZXJlbmNlIHdpdGggdGhlICcke21ldGF0aGVvcmVtU3RyaW5nfScgbWV0YXRoZW9yZW0uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlZmVyZW5jZVVuaWZpZWQ7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllZDtcblxuICAgIGNvbnN0IG1ldGF0aGVvcmVtID0gdGhpcywgLy8vXG4gICAgICAgICAgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICAgIG1ldGF0aGVvcmVtU3RyaW5nID0gbWV0YXRoZW9yZW0uZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgcmVmZXJlbmNlIHdpdGggdGhlICcke21ldGF0aGVvcmVtU3RyaW5nfScgbWV0YXRoZW9yZW0uLi5gKTtcblxuICAgIGNvbnN0IGNvbnNlcXVlbnQgPSB0aGlzLmdldENvbnNlcXVlbnQoKTtcblxuICAgIHN0YXRlbWVudFVuaWZpZWQgPSBjb25zZXF1ZW50LnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgY29udGV4dCk7XG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllZCkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgcmVmZXJlbmNlIHdpdGggdGhlICcke21ldGF0aGVvcmVtU3RyaW5nfScgbWV0YXRoZW9yZW0uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVkO1xuXG4gICAgY29uc3QgbWV0YXRoZW9yZW0gPSB0aGlzLCAvLy9cbiAgICAgICAgICBmaWxlQ29udGV4dCA9IHRoaXMuZ2V0RmlsZUNvbnRleHQoKSxcbiAgICAgICAgICBtZXRhdGhlb3JlbVN0cmluZyA9IG1ldGF0aGVvcmVtLmdldFN0cmluZygpO1xuXG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXRoZW9yZW1TdHJpbmd9JyBtZXRhdGhlb3JlbS4uLmApO1xuXG4gICAgdmVyaWZpZWQgPSBzdXBlci52ZXJpZnkoKTtcblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YVRoZW9yZW0gPSB0aGlzOyAvLy9cblxuICAgICAgZmlsZUNvbnRleHQuYWRkTWV0YXRoZW9yZW0obWV0YVRoZW9yZW0pO1xuXG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGF0aGVvcmVtU3RyaW5nfScgbWV0YXRoZW9yZW0uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IGxhYmVsc0pTT04gPSBsYWJlbHNUb0xhYmVsc0pTT04odGhpcy5sYWJlbHMpLFxuICAgICAgICAgIGNvbnNlcXVlbnRKU09OID0gY29uc2VxdWVudFRvQ29uc2VxdWVudEpTT04odGhpcy5jb25zZXF1ZW50KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnNKU09OID0gc3VwcG9zaXRpb25zVG9TdXBwb3NpdGlvbnNKU09OKHRoaXMuc3VwcG9zaXRpb25zKSxcbiAgICAgICAgICBzdWJzdGl0dXRpb25zSlNPTiA9IHN1YnN0aXR1dGlvbnNUb1N1YnN0aXR1dGlvbnNKU09OKHRoaXMuc3Vic3RpdHV0aW9ucyksXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxzSlNPTiwgIC8vL1xuICAgICAgICAgIGNvbnNlcXVlbnQgPSBjb25zZXF1ZW50SlNPTiwgIC8vL1xuICAgICAgICAgIHN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9uc0pTT04sICAvLy9cbiAgICAgICAgICBzdWJzdGl0dXRpb25zID0gc3Vic3RpdHV0aW9uc0pTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbGFiZWxzLFxuICAgICAgICAgICAgY29uc2VxdWVudCxcbiAgICAgICAgICAgIHN1cHBvc2l0aW9ucyxcbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbnNcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBsYWJlbHMgPSBsYWJlbHNGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgY29uc2VxdWVudCA9IGNvbnNlcXVlbnRGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBzdWJzdGl0dXRpb25zRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21MYWJlbHMobGFiZWxzKSxcbiAgICAgICAgICBwcm9vZiA9IG51bGwsXG4gICAgICAgICAgdG9wTGV2ZWxBc3NlcnRpb24gPSBuZXcgTWV0YXRoZW9yZW0oZmlsZUNvbnRleHQsIHN0cmluZywgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHByb29mLCBzdWJzdGl0dXRpb25zKTtcblxuICAgIHJldHVybiB0b3BMZXZlbEFzc2VydGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXRoZW9yZW1Ob2RlKG1ldGF0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpIHsgcmV0dXJuIFRvcExldmVsQXNzZXJ0aW9uLmZyb21Ob2RlKE1ldGF0aGVvcmVtLCBtZXRhdGhlb3JlbU5vZGUsIGZpbGVDb250ZXh0KTsgfVxufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgTWV0YXRoZW9yZW1cbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBNZXRhdGhlb3JlbTtcbiJdLCJuYW1lcyI6WyJNZXRhdGhlb3JlbSIsInVuaWZ5UmVmZXJlbmNlIiwicmVmZXJlbmNlIiwic3Vic3RpdHV0aW9ucyIsImNvbnRleHQiLCJyZWZlcmVuY2VVbmlmaWVkIiwibWV0YXRoZW9yZW0iLCJyZWZlcmVuY2VTdHJpbmciLCJnZXRTdHJpbmciLCJtZXRhdGhlb3JlbVN0cmluZyIsInRyYWNlIiwiZmlsZUNvbnRleHQiLCJnZXRGaWxlQ29udGV4dCIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsImdlbmVyYWxDb250ZXh0Iiwic3BlY2lmaWNDb250ZXh0IiwibGFiZWxVbmlmaWVkIiwibGFiZWxzIiwic29tZSIsImxhYmVsIiwiY2xlYXIiLCJ1bmlmeUxhYmVsIiwiZGVidWciLCJ1bmlmeVN0YXRlbWVudCIsInN0YXRlbWVudCIsInN0YXRlbWVudFVuaWZpZWQiLCJzdGF0ZW1lbnRTdHJpbmciLCJjb25zZXF1ZW50IiwiZ2V0Q29uc2VxdWVudCIsInZlcmlmeSIsInZlcmlmaWVkIiwibWV0YVRoZW9yZW0iLCJhZGRNZXRhdGhlb3JlbSIsInRvSlNPTiIsImxhYmVsc0pTT04iLCJsYWJlbHNUb0xhYmVsc0pTT04iLCJjb25zZXF1ZW50SlNPTiIsImNvbnNlcXVlbnRUb0NvbnNlcXVlbnRKU09OIiwic3VwcG9zaXRpb25zSlNPTiIsInN1cHBvc2l0aW9uc1RvU3VwcG9zaXRpb25zSlNPTiIsInN1cHBvc2l0aW9ucyIsInN1YnN0aXR1dGlvbnNKU09OIiwic3Vic3RpdHV0aW9uc1RvU3Vic3RpdHV0aW9uc0pTT04iLCJqc29uIiwiZnJvbUpTT04iLCJsYWJlbHNGcm9tSlNPTiIsImNvbnNlcXVlbnRGcm9tSlNPTiIsInN1cHBvc2l0aW9uc0Zyb21KU09OIiwic3Vic3RpdHV0aW9uc0Zyb21KU09OIiwic3RyaW5nIiwic3RyaW5nRnJvbUxhYmVscyIsInByb29mIiwidG9wTGV2ZWxBc3NlcnRpb24iLCJmcm9tTWV0YXRoZW9yZW1Ob2RlIiwibWV0YXRoZW9yZW1Ob2RlIiwiVG9wTGV2ZWxBc3NlcnRpb24iLCJmcm9tTm9kZSIsIk9iamVjdCIsImFzc2lnbiIsInNoaW0iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWlJQTs7O2VBQUE7OzsyREEvSGlCOzREQUNRO3lFQUNLO29CQVVtQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
package/lib/metavariable.js
CHANGED
|
@@ -112,10 +112,10 @@ var Metavariable = /*#__PURE__*/ function() {
|
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
114
|
key: "unifyFrame",
|
|
115
|
-
value: function unifyFrame(frame, substitutions,
|
|
115
|
+
value: function unifyFrame(frame, substitutions, context) {
|
|
116
116
|
var frameUnified = false;
|
|
117
117
|
var frameNode = frame.getNode(), frameString = frame.getString(), metavariableString = this.string; ///
|
|
118
|
-
|
|
118
|
+
context.trace("Unifying the '".concat(frameString, "' frame with the '").concat(metavariableString, "' metavariable..."));
|
|
119
119
|
var metavariableNode = this.node, simpleSubstitutionPresent = substitutions.isSimpleSubstitutionPresentByMetavariableNode(metavariableNode);
|
|
120
120
|
if (simpleSubstitutionPresent) {
|
|
121
121
|
var simpleSubstitution = substitutions.findSimpleSubstitutionByMetavariableNode(metavariableNode), substitution = simpleSubstitution, frameNodeMatches = substitution.matchFrameNode(frameNode);
|
|
@@ -123,27 +123,27 @@ var Metavariable = /*#__PURE__*/ function() {
|
|
|
123
123
|
frameUnified = true;
|
|
124
124
|
}
|
|
125
125
|
} else {
|
|
126
|
-
var metavariableNode1 = this.node, metavariable = metavariableFromMetavariableNode(metavariableNode1, generalContext, specificContext), frameMetavariable = frameMetavariableFromStatementNode(frameNode, generalContext, specificContext);
|
|
126
|
+
var localContext = _local.default.fromFileContext(this.fileContext), generalContext = localContext, specificContext = context, metavariableNode1 = this.node, metavariable = metavariableFromMetavariableNode(metavariableNode1, generalContext, specificContext), frameMetavariable = frameMetavariableFromStatementNode(frameNode, generalContext, specificContext);
|
|
127
127
|
if (metavariable !== null && metavariable === frameMetavariable) {
|
|
128
128
|
frameUnified = true;
|
|
129
129
|
} else {
|
|
130
|
-
var metavariable1 = this,
|
|
130
|
+
var metavariable1 = this, frameSubstitution = _frame.default.fromFrameAndMetavariable(frame, metavariable1, context), substitution1 = frameSubstitution; ///
|
|
131
131
|
substitutions.addSubstitution(substitution1, context);
|
|
132
132
|
frameUnified = true;
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
if (frameUnified) {
|
|
136
|
-
|
|
136
|
+
context.debug("...unified the '".concat(frameString, "' frame with the '").concat(metavariableString, "' metavariable."));
|
|
137
137
|
}
|
|
138
138
|
return frameUnified;
|
|
139
139
|
}
|
|
140
140
|
},
|
|
141
141
|
{
|
|
142
142
|
key: "unifyStatement",
|
|
143
|
-
value: function unifyStatement(statement, substitution, substitutions,
|
|
143
|
+
value: function unifyStatement(statement, substitution, substitutions, context) {
|
|
144
144
|
var statementUnified = false;
|
|
145
145
|
var statementString = statement.getString(), metavariableString = this.string, substitutionString = substitution !== null ? substitution.getString() : _constants.EMPTY_STRING;
|
|
146
|
-
|
|
146
|
+
context.trace("Unifying the '".concat(statementString, "' statement with the '").concat(metavariableString).concat(substitutionString, "' metavariable..."));
|
|
147
147
|
var statementNode = statement.getNode(), metavariableNode = this.node, substitutionNode = substitution !== null ? substitution.getNode() : null, substitutionPresent = substitutions.isSubstitutionPresentByMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode);
|
|
148
148
|
if (substitutionPresent) {
|
|
149
149
|
var _$substitution = substitutions.findSubstitutionByMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode), statementNodeMatches = _$substitution.matchStatementNode(statementNode);
|
|
@@ -151,18 +151,18 @@ var Metavariable = /*#__PURE__*/ function() {
|
|
|
151
151
|
statementUnified = true;
|
|
152
152
|
}
|
|
153
153
|
} else {
|
|
154
|
-
var metavariableNode1 = this.node, metavariable = metavariableFromMetavariableNode(metavariableNode1, generalContext, specificContext), statementMetavariable = statementMetavariableFromStatementNode(statementNode, generalContext, specificContext);
|
|
154
|
+
var localContext = _local.default.fromFileContext(this.fileContext), generalContext = localContext, specificContext = context, metavariableNode1 = this.node, metavariable = metavariableFromMetavariableNode(metavariableNode1, generalContext, specificContext), statementMetavariable = statementMetavariableFromStatementNode(statementNode, generalContext, specificContext);
|
|
155
155
|
if (metavariable !== null && metavariable === statementMetavariable) {
|
|
156
156
|
statementUnified = true;
|
|
157
157
|
} else {
|
|
158
|
-
var
|
|
158
|
+
var metavariable1 = this, statementSubstitution = _statement.default.fromStatementMetavariableAndSubstitution(statement, metavariable1, substitution, context);
|
|
159
159
|
substitution = statementSubstitution; ///
|
|
160
160
|
substitutions.addSubstitution(substitution, context);
|
|
161
161
|
statementUnified = true;
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
if (statementUnified) {
|
|
165
|
-
|
|
165
|
+
context.debug("...unified the '".concat(statementString, "' statement with the '").concat(metavariableString).concat(substitutionString, "' metavariable."));
|
|
166
166
|
}
|
|
167
167
|
return statementUnified;
|
|
168
168
|
}
|
|
@@ -190,7 +190,7 @@ var Metavariable = /*#__PURE__*/ function() {
|
|
|
190
190
|
var verified;
|
|
191
191
|
var metavariableString = this.string; ///
|
|
192
192
|
context.trace("Verifying the '".concat(metavariableString, "' metavariable..."));
|
|
193
|
-
var metavariableNode = this.node, metavariablePresent =
|
|
193
|
+
var metavariableNode = this.node, generalContext = context, specificContext = context, metavariablePresent = generalContext.isMetavariablePresentByMetavariableNode(metavariableNode, specificContext);
|
|
194
194
|
verified = metavariablePresent; ///
|
|
195
195
|
if (verified) {
|
|
196
196
|
context.debug("...verified the '".concat(metavariableString, "' metavariable."));
|
|
@@ -308,10 +308,10 @@ function statementMetavariableFromStatementNode(statementNode, generalContext, s
|
|
|
308
308
|
var statementMetavariable = null;
|
|
309
309
|
var statementMetavariableNode = statementMetavariableNodeQuery(statementNode);
|
|
310
310
|
if (statementMetavariableNode !== null) {
|
|
311
|
-
var context = generalContext;
|
|
311
|
+
var context = generalContext; ///
|
|
312
312
|
statementMetavariable = context.findMetavariableByMetavariableNode(statementMetavariableNode, specificContext);
|
|
313
313
|
}
|
|
314
314
|
return statementMetavariable;
|
|
315
315
|
}
|
|
316
316
|
|
|
317
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuL3NoaW1cIjtcbmltcG9ydCBMb2NhbENvbnRleHQgZnJvbSBcIi4vY29udGV4dC9sb2NhbFwiO1xuaW1wb3J0IEZyYW1lU3Vic3RpdHV0aW9uIGZyb20gXCIuL3N1YnN0aXR1dGlvbi9mcmFtZVwiO1xuaW1wb3J0IFN0YXRlbWVudFN1YnN0aXR1dGlvbiBmcm9tIFwiLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVN0cmluZyB9IGZyb20gXCIuL25vZGVBbmRUb2tlbnMvbWV0YXZhcmlhYmxlXCI7XG5pbXBvcnQgeyBtZXRhVHlwZUZyb21KU09OLCBtZXRhVHlwZVRvTWV0YVR5cGVKU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcbmltcG9ydCB7IHR5cGVOYW1lRnJvbVR5cGVOb2RlLCBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUgfSBmcm9tIFwiLi91dGlsaXRpZXMvbmFtZVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZS9hcmd1bWVudC90ZXJtXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGUvYXJndW1lbnQvdHlwZVwiKSxcbiAgICAgIG1ldGFUeXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZURlY2xhcmF0aW9uL21ldGFUeXBlXCIpLFxuICAgICAgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZURlY2xhcmF0aW9uL21ldGF2YXJpYWJsZVwiKSxcbiAgICAgIGZyYW1lTWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2ZyYW1lL21ldGF2YXJpYWJsZSFcIiksXG4gICAgICBzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L21ldGF2YXJpYWJsZSFcIik7XG5cbmNsYXNzIE1ldGF2YXJpYWJsZSB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcsIG5vZGUsIG5hbWUsIG1ldGFUeXBlKSB7XG4gICAgdGhpcy5maWxlQ29udGV4dCA9IGZpbGVDb250ZXh0O1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLm1ldGFUeXBlID0gbWV0YVR5cGU7XG4gIH1cblxuICBnZXRGaWxlQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlQ29udGV4dDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRNZXRhVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhVHlwZTtcbiAgfVxuXG4gIGdldE1ldGFUeXBlTmFtZSgpIHtcbiAgICBjb25zdCBtZXRhVHlwZU5hbWUgPSB0aGlzLm1ldGFUeXBlLmdldE5hbWUoKTtcblxuICAgIHJldHVybiBtZXRhVHlwZU5hbWU7XG4gIH1cblxuICBtYXRjaE1ldGFUeXBlKG1ldGFUeXBlKSB7XG4gICAgY29uc3QgbWV0YVR5cGVNYXRjaGVzID0gKHRoaXMubWV0YVR5cGUgPT09IG1ldGFUeXBlKTtcblxuICAgIHJldHVybiBtZXRhVHlwZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGF2YXJpYWJsZU5hbWUobWV0YXZhcmlhYmxlTmFtZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWVNYXRjaGVzID0gKHRoaXMubmFtZSA9PT0gbWV0YXZhcmlhYmxlTmFtZSk7XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlTmFtZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzID0gdGhpcy5ub2RlLm1hdGNoKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgdW5pZnlGcmFtZShmcmFtZSwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkge1xuICAgIGxldCBmcmFtZVVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGZyYW1lTm9kZSA9IGZyYW1lLmdldE5vZGUoKSxcbiAgICAgICAgICBmcmFtZVN0cmluZyA9IGZyYW1lLmdldFN0cmluZygpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIHNwZWNpZmljQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke2ZyYW1lU3RyaW5nfScgZnJhbWUgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gdGhpcy5ub2RlLCAvLy9cbiAgICAgICAgICBzaW1wbGVTdWJzdGl0dXRpb25QcmVzZW50ID0gc3Vic3RpdHV0aW9ucy5pc1NpbXBsZVN1YnN0aXR1dGlvblByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICBpZiAoc2ltcGxlU3Vic3RpdHV0aW9uUHJlc2VudCkge1xuICAgICAgY29uc3Qgc2ltcGxlU3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9ucy5maW5kU2ltcGxlU3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gc2ltcGxlU3Vic3RpdHV0aW9uLCAgLy8vXG4gICAgICAgICAgICBmcmFtZU5vZGVNYXRjaGVzID0gc3Vic3RpdHV0aW9uLm1hdGNoRnJhbWVOb2RlKGZyYW1lTm9kZSk7XG5cbiAgICAgIGlmIChmcmFtZU5vZGVNYXRjaGVzKSB7XG4gICAgICAgIGZyYW1lVW5pZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSB0aGlzLm5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IG1ldGF2YXJpYWJsZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpLFxuICAgICAgICAgICAgZnJhbWVNZXRhdmFyaWFibGUgID0gZnJhbWVNZXRhdmFyaWFibGVGcm9tU3RhdGVtZW50Tm9kZShmcmFtZU5vZGUsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgICBpZiAoKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkgJiYgKG1ldGF2YXJpYWJsZSA9PT0gZnJhbWVNZXRhdmFyaWFibGUpKSB7XG4gICAgICAgIGZyYW1lVW5pZmllZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtZXRhdmFyaWFibGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgICAgIGNvbnRleHQgPSBzcGVjaWZpY0NvbnRleHQsIC8vL1xuICAgICAgICAgICAgICBmcmFtZVN1YnN0aXR1dGlvbiA9IEZyYW1lU3Vic3RpdHV0aW9uLmZyb21GcmFtZUFuZE1ldGF2YXJpYWJsZShmcmFtZSwgbWV0YXZhcmlhYmxlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gZnJhbWVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgICAgICBzdWJzdGl0dXRpb25zLmFkZFN1YnN0aXR1dGlvbihzdWJzdGl0dXRpb24sIGNvbnRleHQpO1xuXG4gICAgICAgIGZyYW1lVW5pZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZyYW1lVW5pZmllZCkge1xuICAgICAgc3BlY2lmaWNDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtmcmFtZVN0cmluZ30nIGZyYW1lIHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWVVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBzdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IHRoaXMuc3RyaW5nLCAvLy9cbiAgICAgICAgICBzdWJzdGl0dXRpb25TdHJpbmcgPSAoc3Vic3RpdHV0aW9uICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uLmdldFN0cmluZygpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORztcblxuICAgIHNwZWNpZmljQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JHtzdWJzdGl0dXRpb25TdHJpbmd9JyBtZXRhdmFyaWFibGUuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnQuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSB0aGlzLm5vZGUsIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbk5vZGUgPSAoc3Vic3RpdHV0aW9uICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvbi5nZXROb2RlKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgc3Vic3RpdHV0aW9uUHJlc2VudCA9IHN1YnN0aXR1dGlvbnMuaXNTdWJzdGl0dXRpb25QcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZShtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25Ob2RlKTtcblxuICAgIGlmIChzdWJzdGl0dXRpb25QcmVzZW50KSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmRTdWJzdGl0dXRpb25CeU1ldGF2YXJpYWJsZU5vZGVBbmRTdWJzdGl0dXRpb25Ob2RlKG1ldGF2YXJpYWJsZU5vZGUsIHN1YnN0aXR1dGlvbk5vZGUpLFxuICAgICAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBzdWJzdGl0dXRpb24ubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50Tm9kZU1hdGNoZXMpIHtcbiAgICAgICAgc3RhdGVtZW50VW5pZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSB0aGlzLm5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IG1ldGF2YXJpYWJsZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpLFxuICAgICAgICAgICAgc3RhdGVtZW50TWV0YXZhcmlhYmxlID0gc3RhdGVtZW50TWV0YXZhcmlhYmxlRnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICAgIGlmICgobWV0YXZhcmlhYmxlICE9PSBudWxsKSAmJiAobWV0YXZhcmlhYmxlID09PSBzdGF0ZW1lbnRNZXRhdmFyaWFibGUpKSB7XG4gICAgICAgIHN0YXRlbWVudFVuaWZpZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHNwZWNpZmljQ29udGV4dCwgLy8vXG4gICAgICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICAgICAgc3RhdGVtZW50U3Vic3RpdHV0aW9uID0gU3RhdGVtZW50U3Vic3RpdHV0aW9uLmZyb21TdGF0ZW1lbnRNZXRhdmFyaWFibGVBbmRTdWJzdGl0dXRpb24oc3RhdGVtZW50LCBtZXRhdmFyaWFibGUsIHN1YnN0aXR1dGlvbiwgY29udGV4dCk7XG5cbiAgICAgICAgc3Vic3RpdHV0aW9uID0gc3RhdGVtZW50U3Vic3RpdHV0aW9uOyAgLy8vXG5cbiAgICAgICAgc3Vic3RpdHV0aW9ucy5hZGRTdWJzdGl0dXRpb24oc3Vic3RpdHV0aW9uLCBjb250ZXh0KTtcblxuICAgICAgICBzdGF0ZW1lbnRVbmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllZCkge1xuICAgICAgc3BlY2lmaWNDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfSR7c3Vic3RpdHV0aW9uU3RyaW5nfScgbWV0YXZhcmlhYmxlLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlTdWJzdGl0dXRpb24oc3Vic3RpdHV0aW9uLCBjb250ZXh0KSB7XG4gICAgbGV0IHN1YnN0aXR1dGlvblVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IHRoaXMuc3RyaW5nLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9uU3RyaW5nID0gc3Vic3RpdHV0aW9uLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N1YnN0aXR1dGlvblN0cmluZ30nIHN1YnN0aXR1dGlvbiB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuLi5gKTtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSB0aGlzLm5vZGUsIC8vL1xuICAgICAgICAgIGp1ZGdlbWVudCA9IGNvbnRleHQuZmluZEp1ZGdlbWVudEJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgIGlmIChqdWRnZW1lbnQgIT09IG51bGwpe1xuICAgICAgY29uc3QgZGVjbGFyYXRpb24gPSBqdWRnZW1lbnQuZ2V0RGVjbGFyYXRpb24oKTtcblxuICAgICAgc3Vic3RpdHV0aW9uVW5pZmllZCA9IGRlY2xhcmF0aW9uLnVuaWZ5U3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbiwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHN1YnN0aXR1dGlvblVuaWZpZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N1YnN0aXR1dGlvblN0cmluZ30nIHN1YnN0aXR1dGlvbiB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnN0aXR1dGlvblVuaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnkoY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZDtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gdGhpcy5ub2RlLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVByZXNlbnQgPSBjb250ZXh0LmlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgIHZlcmlmaWVkID0gbWV0YXZhcmlhYmxlUHJlc2VudDsgLy8vXG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5V2hlbkRlY2xhcmVkKGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkQXRUb3BMZXZlbCA9IGZhbHNlO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlIHdoZW4gZGVjbGFyZWQuLi5gKTtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSB0aGlzLm5vZGUsIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlUHJlc2VudCA9IGZpbGVDb250ZXh0LmlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTmFtZShtZXRhdmFyaWFibGVOYW1lKTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgVGhlIG1ldGF2YXJpYWJsZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBpcyBhbHJlYWR5IHByZXNlbnQuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeSh0aGlzLm5vZGUpO1xuXG4gICAgICBpZiAodGVybU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgQSB0ZXJtIHdhcyBmb3VuZCBpbiB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlIHdoZW4gYSB0eXBlIHNob3VsZCBoYXZlIGJlZW4gcHJlc2VudC5gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeSh0aGlzLm5vZGUpO1xuXG4gICAgICAgIGlmICh0eXBlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgICAgIHR5cGVQcmVzZW50ID0gdGhpcy5maWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgICAgICAgICBpZiAodHlwZVByZXNlbnQpIHtcbiAgICAgICAgICAgIHZlcmlmaWVkQXRUb3BMZXZlbCA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHt0eXBlTmFtZX0nIHR5cGUgaXMgbm90IHByZXNlbnQuYCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZlcmlmaWVkQXRUb3BMZXZlbCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWRBdFRvcExldmVsKSB7XG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZSB3aGVuIGRlY2xhcmVkLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZEF0VG9wTGV2ZWw7XG4gIH1cblxuICB2ZXJpZnlHaXZlbk1ldGFUeXBlKG1ldGFUeXBlLCBjb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkR2l2ZW5NZXRhVHlwZSA9IGZhbHNlO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gdGhpcy5zdHJpbmcsICAvLy9cbiAgICAgICAgICBtZXRhVHlwZVN0cmluZyA9IG1ldGFUeXBlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUgZ2l2ZW4gdGhlICcke21ldGFUeXBlU3RyaW5nfScgbWV0YS10eXBlLi4uYCk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gdGhpcy5ub2RlLCAgLy8vXG4gICAgICAgICAgc3BlY2lmaWNDb250ZXh0ID0gY29udGV4dCwgIC8vL1xuICAgICAgICAgIGdlbmVyYWxDb250ZXh0ID0gY29udGV4dCwgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlID0gZ2VuZXJhbENvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlLCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbWV0YVR5cGVNYXRjaGVzID0gbWV0YXZhcmlhYmxlLm1hdGNoTWV0YVR5cGUobWV0YVR5cGUpO1xuXG4gICAgICB2ZXJpZmllZEdpdmVuTWV0YVR5cGUgPSBtZXRhVHlwZU1hdGNoZXM7ICAvLy9cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWRHaXZlbk1ldGFUeXBlKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlIGdpdmVuIHRoZSAnJHttZXRhVHlwZVN0cmluZ30nIG1ldGEtdHlwZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRHaXZlbk1ldGFUeXBlO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IG1ldGFUeXBlSlNPTiA9IG1ldGFUeXBlVG9NZXRhVHlwZUpTT04odGhpcy5tZXRhVHlwZSksXG4gICAgICAgICAgbWV0YVR5cGUgPSBtZXRhVHlwZUpTT04sICAvLy9cbiAgICAgICAgICBzdHJpbmcgPSB0aGlzLnN0cmluZyxcbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgbWV0YVR5cGVcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IHN0cmluZyB9ID0ganNvbixcbiAgICAgICAgICBjb250ZXh0ID0gZmlsZUNvbnRleHQsICAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVTdHJpbmcgPSBzdHJpbmcsICAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZUZyb21NZXRhdmFyaWFibGVTdHJpbmcobWV0YXZhcmlhYmxlU3RyaW5nLCBjb250ZXh0KSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIG5vZGUgPSBtZXRhdmFyaWFibGVOb2RlLCAgLy8vXG4gICAgICAgICAgbmFtZSA9IG1ldGF2YXJpYWJsZU5hbWUsICAvLy9cbiAgICAgICAgICBtZXRhVHlwZSA9IG1ldGFUeXBlRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IG5ldyBNZXRhdmFyaWFibGUoZmlsZUNvbnRleHQsIHN0cmluZywgbm9kZSwgbmFtZSwgbWV0YVR5cGUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IG1ldGF2YXJpYWJsZSA9IG51bGw7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICAgIG5vZGUgPSBtZXRhdmFyaWFibGVOb2RlLCAgLy8vXG4gICAgICAgICAgICBuYW1lID0gbWV0YXZhcmlhYmxlTmFtZSwgIC8vL1xuICAgICAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgICAgICBtZXRhVHlwZSA9IG51bGw7XG5cbiAgICAgIG1ldGF2YXJpYWJsZSA9IG5ldyBNZXRhdmFyaWFibGUoY29udGV4dCwgc3RyaW5nLCBub2RlLCBuYW1lLCBtZXRhVHlwZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IE1ldGFUeXBlIH0gPSBzaGltLFxuICAgICAgICAgIG1ldGFUeXBlTm9kZSA9IG1ldGFUeXBlTm9kZVF1ZXJ5KG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbnRleHQgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgIHN0cmluZyA9IG1ldGF2YXJpYWJsZVN0cmluZywgIC8vL1xuICAgICAgICAgIG5vZGUgPSBtZXRhdmFyaWFibGVOb2RlLCAgLy8vXG4gICAgICAgICAgbmFtZSA9IG1ldGF2YXJpYWJsZU5hbWUsICAvLy9cbiAgICAgICAgICBtZXRhVHlwZSA9IE1ldGFUeXBlLmZyb21NZXRhVHlwZU5vZGUobWV0YVR5cGVOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBtZXRhdmFyaWFibGUgPSBuZXcgTWV0YXZhcmlhYmxlKGZpbGVDb250ZXh0LCBzdHJpbmcsIG5vZGUsIG5hbWUsIG1ldGFUeXBlKTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGU7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIE1ldGF2YXJpYWJsZVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IE1ldGF2YXJpYWJsZTtcblxuZnVuY3Rpb24gbWV0YXZhcmlhYmxlRnJvbU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSwgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkge1xuICBjb25zdCBjb250ZXh0ID0gZ2VuZXJhbENvbnRleHQsIC8vL1xuICAgICAgICBtZXRhdmFyaWFibGUgPSBjb250ZXh0LmZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSwgc3BlY2lmaWNDb250ZXh0KTtcblxuICByZXR1cm4gbWV0YXZhcmlhYmxlO1xufVxuXG5mdW5jdGlvbiBmcmFtZU1ldGF2YXJpYWJsZUZyb21TdGF0ZW1lbnROb2RlKGZyYW1lTm9kZSwgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCkge1xuICBsZXQgZnJhbWVNZXRhdmFyaWFibGUgPSBudWxsO1xuXG4gIGNvbnN0IGZyYW1lTWV0YXZhcmlhYmxlTm9kZSA9IGZyYW1lTWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGZyYW1lTm9kZSk7XG5cbiAgaWYgKGZyYW1lTWV0YXZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBnZW5lcmFsQ29udGV4dDsgLy8vXG5cbiAgICBmcmFtZU1ldGF2YXJpYWJsZSA9IGNvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShmcmFtZU1ldGF2YXJpYWJsZU5vZGUsIHNwZWNpZmljQ29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gZnJhbWVNZXRhdmFyaWFibGU7XG59XG5cbmZ1bmN0aW9uIHN0YXRlbWVudE1ldGF2YXJpYWJsZUZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudE1ldGF2YXJpYWJsZSA9IG51bGw7XG5cbiAgY29uc3Qgc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZSA9IHN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBnZW5lcmFsQ29udGV4dDtcblxuICAgIHN0YXRlbWVudE1ldGF2YXJpYWJsZSA9IGNvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZShzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlLCBzcGVjaWZpY0NvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudE1ldGF2YXJpYWJsZTtcbn1cbiJdLCJuYW1lcyI6WyJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZU5vZGVRdWVyeSIsIm1ldGFUeXBlTm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwiZnJhbWVNZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJNZXRhdmFyaWFibGUiLCJmaWxlQ29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJuYW1lIiwibWV0YVR5cGUiLCJnZXRGaWxlQ29udGV4dCIsImdldFN0cmluZyIsImdldE5vZGUiLCJnZXROYW1lIiwiZ2V0TWV0YVR5cGUiLCJnZXRNZXRhVHlwZU5hbWUiLCJtZXRhVHlwZU5hbWUiLCJtYXRjaE1ldGFUeXBlIiwibWV0YVR5cGVNYXRjaGVzIiwibWF0Y2hNZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZSIsIm1ldGF2YXJpYWJsZU5hbWVNYXRjaGVzIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzIiwibWF0Y2giLCJ1bmlmeUZyYW1lIiwiZnJhbWUiLCJzdWJzdGl0dXRpb25zIiwiZ2VuZXJhbENvbnRleHQiLCJzcGVjaWZpY0NvbnRleHQiLCJmcmFtZVVuaWZpZWQiLCJmcmFtZU5vZGUiLCJmcmFtZVN0cmluZyIsIm1ldGF2YXJpYWJsZVN0cmluZyIsInRyYWNlIiwic2ltcGxlU3Vic3RpdHV0aW9uUHJlc2VudCIsImlzU2ltcGxlU3Vic3RpdHV0aW9uUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZSIsInNpbXBsZVN1YnN0aXR1dGlvbiIsImZpbmRTaW1wbGVTdWJzdGl0dXRpb25CeU1ldGF2YXJpYWJsZU5vZGUiLCJzdWJzdGl0dXRpb24iLCJmcmFtZU5vZGVNYXRjaGVzIiwibWF0Y2hGcmFtZU5vZGUiLCJtZXRhdmFyaWFibGUiLCJtZXRhdmFyaWFibGVGcm9tTWV0YXZhcmlhYmxlTm9kZSIsImZyYW1lTWV0YXZhcmlhYmxlIiwiZnJhbWVNZXRhdmFyaWFibGVGcm9tU3RhdGVtZW50Tm9kZSIsImNvbnRleHQiLCJmcmFtZVN1YnN0aXR1dGlvbiIsIkZyYW1lU3Vic3RpdHV0aW9uIiwiZnJvbUZyYW1lQW5kTWV0YXZhcmlhYmxlIiwiYWRkU3Vic3RpdHV0aW9uIiwiZGVidWciLCJ1bmlmeVN0YXRlbWVudCIsInN0YXRlbWVudCIsInN0YXRlbWVudFVuaWZpZWQiLCJzdGF0ZW1lbnRTdHJpbmciLCJzdWJzdGl0dXRpb25TdHJpbmciLCJFTVBUWV9TVFJJTkciLCJzdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9uTm9kZSIsInN1YnN0aXR1dGlvblByZXNlbnQiLCJpc1N1YnN0aXR1dGlvblByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGVBbmRTdWJzdGl0dXRpb25Ob2RlIiwiZmluZFN1YnN0aXR1dGlvbkJ5TWV0YXZhcmlhYmxlTm9kZUFuZFN1YnN0aXR1dGlvbk5vZGUiLCJzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE1ldGF2YXJpYWJsZSIsInN0YXRlbWVudE1ldGF2YXJpYWJsZUZyb21TdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50U3Vic3RpdHV0aW9uIiwiU3RhdGVtZW50U3Vic3RpdHV0aW9uIiwiZnJvbVN0YXRlbWVudE1ldGF2YXJpYWJsZUFuZFN1YnN0aXR1dGlvbiIsInVuaWZ5U3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uVW5pZmllZCIsImp1ZGdlbWVudCIsImZpbmRKdWRnZW1lbnRCeU1ldGF2YXJpYWJsZU5vZGUiLCJkZWNsYXJhdGlvbiIsImdldERlY2xhcmF0aW9uIiwidmVyaWZ5IiwidmVyaWZpZWQiLCJtZXRhdmFyaWFibGVQcmVzZW50IiwiaXNNZXRhdmFyaWFibGVQcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlIiwidmVyaWZ5V2hlbkRlY2xhcmVkIiwidmVyaWZpZWRBdFRvcExldmVsIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwiaXNNZXRhdmFyaWFibGVQcmVzZW50QnlNZXRhdmFyaWFibGVOYW1lIiwidGVybU5vZGUiLCJ0eXBlTm9kZSIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJ0eXBlUHJlc2VudCIsImlzVHlwZVByZXNlbnRCeVR5cGVOYW1lIiwidmVyaWZ5R2l2ZW5NZXRhVHlwZSIsInZlcmlmaWVkR2l2ZW5NZXRhVHlwZSIsIm1ldGFUeXBlU3RyaW5nIiwiZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTm9kZSIsInRvSlNPTiIsIm1ldGFUeXBlSlNPTiIsIm1ldGFUeXBlVG9NZXRhVHlwZUpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVN0cmluZyIsIm1ldGFUeXBlRnJvbUpTT04iLCJmcm9tTWV0YXZhcmlhYmxlTm9kZSIsIm5vZGVBc1N0cmluZyIsImZyb21NZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJNZXRhVHlwZSIsInNoaW0iLCJtZXRhVHlwZU5vZGUiLCJsb2NhbENvbnRleHQiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJmcm9tTWV0YVR5cGVOb2RlIiwiT2JqZWN0IiwiYXNzaWduIiwiZnJhbWVNZXRhdmFyaWFibGVOb2RlIiwic3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBMlZBOzs7ZUFBQTs7OzJEQXpWaUI7NERBQ1E7NERBQ0s7Z0VBQ0k7cUJBRVI7eUJBQ0c7NEJBQzBCO29CQUNFO29CQUNrQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUzRSxJQUFNQSxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsZ0NBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUMsZ0NBQzFCRSxvQkFBb0JGLElBQUFBLGdCQUFTLEVBQUMsc0NBQzlCRyx3QkFBd0JILElBQUFBLGdCQUFTLEVBQUMsMENBQ2xDSSw2QkFBNkJKLElBQUFBLGdCQUFTLEVBQUMseUJBQ3ZDSyxpQ0FBaUNMLElBQUFBLGdCQUFTLEVBQUM7QUFFakQsSUFBQSxBQUFNTSw2QkFBTjthQUFNQSxhQUNRQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLFFBQVE7Z0NBRGpETDtRQUVGLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFFBQVEsR0FBR0E7O2tCQU5kTDs7WUFTSk0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxXQUFXO1lBQ3pCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxNQUFNO1lBQ3BCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxJQUFJO1lBQ2xCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxJQUFJO1lBQ2xCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxRQUFRO1lBQ3RCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGVBQWUsSUFBSSxDQUFDUCxRQUFRLENBQUNJLE9BQU87Z0JBRTFDLE9BQU9HO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsY0FBY1IsUUFBUTtnQkFDcEIsSUFBTVMsa0JBQW1CLElBQUksQ0FBQ1QsUUFBUSxLQUFLQTtnQkFFM0MsT0FBT1M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JDLGdCQUFnQjtnQkFDcEMsSUFBTUMsMEJBQTJCLElBQUksQ0FBQ2IsSUFBSSxLQUFLWTtnQkFFL0MsT0FBT0M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JDLGdCQUFnQjtnQkFDcEMsSUFBTUMsMEJBQTBCLElBQUksQ0FBQ2pCLElBQUksQ0FBQ2tCLEtBQUssQ0FBQ0Y7Z0JBRWhELE9BQU9DO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsV0FBV0MsS0FBSyxFQUFFQyxhQUFhLEVBQUVDLGNBQWMsRUFBRUMsZUFBZTtnQkFDOUQsSUFBSUMsZUFBZTtnQkFFbkIsSUFBTUMsWUFBWUwsTUFBTWYsT0FBTyxJQUN6QnFCLGNBQWNOLE1BQU1oQixTQUFTLElBQzdCdUIscUJBQXFCLElBQUksQ0FBQzVCLE1BQU0sRUFBRSxHQUFHO2dCQUUzQ3dCLGdCQUFnQkssS0FBSyxDQUFDLEFBQUMsaUJBQWdERCxPQUFoQ0QsYUFBWSxzQkFBdUMsT0FBbkJDLG9CQUFtQjtnQkFFMUYsSUFBTVgsbUJBQW1CLElBQUksQ0FBQ2hCLElBQUksRUFDNUI2Qiw0QkFBNEJSLGNBQWNTLDZDQUE2QyxDQUFDZDtnQkFFOUYsSUFBSWEsMkJBQTJCO29CQUM3QixJQUFNRSxxQkFBcUJWLGNBQWNXLHdDQUF3QyxDQUFDaEIsbUJBQzVFaUIsZUFBZUYsb0JBQ2ZHLG1CQUFtQkQsYUFBYUUsY0FBYyxDQUFDVjtvQkFFckQsSUFBSVMsa0JBQWtCO3dCQUNwQlYsZUFBZTtvQkFDakI7Z0JBQ0YsT0FBTztvQkFDTCxJQUFNUixvQkFBbUIsSUFBSSxDQUFDaEIsSUFBSSxFQUM1Qm9DLGVBQWVDLGlDQUFpQ3JCLG1CQUFrQk0sZ0JBQWdCQyxrQkFDbEZlLG9CQUFxQkMsbUNBQW1DZCxXQUFXSCxnQkFBZ0JDO29CQUV6RixJQUFJLEFBQUNhLGlCQUFpQixRQUFVQSxpQkFBaUJFLG1CQUFvQjt3QkFDbkVkLGVBQWU7b0JBQ2pCLE9BQU87d0JBQ0wsSUFBTVksZ0JBQWUsSUFBSSxFQUNuQkksVUFBVWpCLGlCQUNWa0Isb0JBQW9CQyxjQUFpQixDQUFDQyx3QkFBd0IsQ0FBQ3ZCLE9BQU9nQixlQUFjSSxVQUNwRlAsZ0JBQWVRLG1CQUFvQixHQUFHO3dCQUU1Q3BCLGNBQWN1QixlQUFlLENBQUNYLGVBQWNPO3dCQUU1Q2hCLGVBQWU7b0JBQ2pCO2dCQUNGO2dCQUVBLElBQUlBLGNBQWM7b0JBQ2hCRCxnQkFBZ0JzQixLQUFLLENBQUMsQUFBQyxtQkFBa0RsQixPQUFoQ0QsYUFBWSxzQkFBdUMsT0FBbkJDLG9CQUFtQjtnQkFDOUY7Z0JBRUEsT0FBT0g7WUFDVDs7O1lBRUFzQixLQUFBQTttQkFBQUEsU0FBQUEsZUFBZUMsU0FBUyxFQUFFZCxZQUFZLEVBQUVaLGFBQWEsRUFBRUMsY0FBYyxFQUFFQyxlQUFlO2dCQUNwRixJQUFJeUIsbUJBQW1CO2dCQUV2QixJQUFNQyxrQkFBa0JGLFVBQVUzQyxTQUFTLElBQ3JDdUIscUJBQXFCLElBQUksQ0FBQzVCLE1BQU0sRUFDaENtRCxxQkFBcUIsQUFBQ2pCLGlCQUFpQixPQUNmQSxhQUFhN0IsU0FBUyxLQUNwQitDLHVCQUFZO2dCQUU1QzVCLGdCQUFnQkssS0FBSyxDQUFDLEFBQUMsaUJBQXdERCxPQUF4Q3NCLGlCQUFnQiwwQkFBNkNDLE9BQXJCdkIsb0JBQXdDLE9BQW5CdUIsb0JBQW1CO2dCQUV2SCxJQUFNRSxnQkFBZ0JMLFVBQVUxQyxPQUFPLElBQ2pDVyxtQkFBbUIsSUFBSSxDQUFDaEIsSUFBSSxFQUM1QnFELG1CQUFtQixBQUFDcEIsaUJBQWlCLE9BQ2ZBLGFBQWE1QixPQUFPLEtBQ2xCLE1BQ3hCaUQsc0JBQXNCakMsY0FBY2tDLDBEQUEwRCxDQUFDdkMsa0JBQWtCcUM7Z0JBRXZILElBQUlDLHFCQUFxQjtvQkFDdkIsSUFBTXJCLGlCQUFlWixjQUFjbUMscURBQXFELENBQUN4QyxrQkFBa0JxQyxtQkFDckdJLHVCQUF1QnhCLGVBQWF5QixrQkFBa0IsQ0FBQ047b0JBRTdELElBQUlLLHNCQUFzQjt3QkFDeEJULG1CQUFtQjtvQkFDckI7Z0JBQ0YsT0FBTztvQkFDTCxJQUFNaEMsb0JBQW1CLElBQUksQ0FBQ2hCLElBQUksRUFDNUJvQyxlQUFlQyxpQ0FBaUNyQixtQkFBa0JNLGdCQUFnQkMsa0JBQ2xGb0Msd0JBQXdCQyx1Q0FBdUNSLGVBQWU5QixnQkFBZ0JDO29CQUVwRyxJQUFJLEFBQUNhLGlCQUFpQixRQUFVQSxpQkFBaUJ1Qix1QkFBd0I7d0JBQ3ZFWCxtQkFBbUI7b0JBQ3JCLE9BQU87d0JBQ0wsSUFBTVIsVUFBVWpCLGlCQUNWYSxnQkFBZSxJQUFJLEVBQ25CeUIsd0JBQXdCQyxrQkFBcUIsQ0FBQ0Msd0NBQXdDLENBQUNoQixXQUFXWCxlQUFjSCxjQUFjTzt3QkFFcElQLGVBQWU0Qix1QkFBd0IsR0FBRzt3QkFFMUN4QyxjQUFjdUIsZUFBZSxDQUFDWCxjQUFjTzt3QkFFNUNRLG1CQUFtQjtvQkFDckI7Z0JBQ0Y7Z0JBRUEsSUFBSUEsa0JBQWtCO29CQUNwQnpCLGdCQUFnQnNCLEtBQUssQ0FBQyxBQUFDLG1CQUEwRGxCLE9BQXhDc0IsaUJBQWdCLDBCQUE2Q0MsT0FBckJ2QixvQkFBd0MsT0FBbkJ1QixvQkFBbUI7Z0JBQzNIO2dCQUVBLE9BQU9GO1lBQ1Q7OztZQUVBZ0IsS0FBQUE7bUJBQUFBLFNBQUFBLGtCQUFrQi9CLFlBQVksRUFBRU8sT0FBTztnQkFDckMsSUFBSXlCLHNCQUFzQjtnQkFFMUIsSUFBTXRDLHFCQUFxQixJQUFJLENBQUM1QixNQUFNLEVBQ2hDbUQscUJBQXFCakIsYUFBYTdCLFNBQVM7Z0JBRWpEb0MsUUFBUVosS0FBSyxDQUFDLEFBQUMsaUJBQThERCxPQUE5Q3VCLG9CQUFtQiw2QkFBOEMsT0FBbkJ2QixvQkFBbUI7Z0JBRWhHLElBQU1YLG1CQUFtQixJQUFJLENBQUNoQixJQUFJLEVBQzVCa0UsWUFBWTFCLFFBQVEyQiwrQkFBK0IsQ0FBQ25EO2dCQUUxRCxJQUFJa0QsY0FBYyxNQUFLO29CQUNyQixJQUFNRSxjQUFjRixVQUFVRyxjQUFjO29CQUU1Q0osc0JBQXNCRyxZQUFZSixpQkFBaUIsQ0FBQy9CLGNBQWNPO2dCQUNwRTtnQkFFQSxJQUFJeUIscUJBQXFCO29CQUN2QnpCLFFBQVFLLEtBQUssQ0FBQyxBQUFDLG1CQUFnRWxCLE9BQTlDdUIsb0JBQW1CLDZCQUE4QyxPQUFuQnZCLG9CQUFtQjtnQkFDcEc7Z0JBRUEsT0FBT3NDO1lBQ1Q7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUEsT0FBTzlCLE9BQU87Z0JBQ1osSUFBSStCO2dCQUVKLElBQU01QyxxQkFBcUIsSUFBSSxDQUFDNUIsTUFBTSxFQUFFLEdBQUc7Z0JBRTNDeUMsUUFBUVosS0FBSyxDQUFDLEFBQUMsa0JBQW9DLE9BQW5CRCxvQkFBbUI7Z0JBRW5ELElBQU1YLG1CQUFtQixJQUFJLENBQUNoQixJQUFJLEVBQzVCd0Usc0JBQXNCaEMsUUFBUWlDLHVDQUF1QyxDQUFDekQ7Z0JBRTVFdUQsV0FBV0MscUJBQXFCLEdBQUc7Z0JBRW5DLElBQUlELFVBQVU7b0JBQ1ovQixRQUFRSyxLQUFLLENBQUMsQUFBQyxvQkFBc0MsT0FBbkJsQixvQkFBbUI7Z0JBQ3ZEO2dCQUVBLE9BQU80QztZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQjVFLFdBQVc7Z0JBQzVCLElBQUk2RSxxQkFBcUI7Z0JBRXpCLElBQU1oRCxxQkFBcUIsSUFBSSxDQUFDNUIsTUFBTSxFQUFFLEdBQUc7Z0JBRTNDRCxZQUFZOEIsS0FBSyxDQUFDLEFBQUMsa0JBQW9DLE9BQW5CRCxvQkFBbUI7Z0JBRXZELElBQU1YLG1CQUFtQixJQUFJLENBQUNoQixJQUFJLEVBQzVCYSxtQkFBbUIrRCxJQUFBQSwwQ0FBb0MsRUFBQzVELG1CQUN4RHdELHNCQUFzQjFFLFlBQVkrRSx1Q0FBdUMsQ0FBQ2hFO2dCQUVoRixJQUFJMkQscUJBQXFCO29CQUN2QjFFLFlBQVkrQyxLQUFLLENBQUMsQUFBQyxxQkFBdUMsT0FBbkJsQixvQkFBbUI7Z0JBQzVELE9BQU87b0JBQ0wsSUFBTW1ELFdBQVd4RixjQUFjLElBQUksQ0FBQ1UsSUFBSTtvQkFFeEMsSUFBSThFLGFBQWEsTUFBTTt3QkFDckIsSUFBSSxDQUFDaEYsV0FBVyxDQUFDK0MsS0FBSyxDQUFDLEFBQUMsNEJBQThDLE9BQW5CbEIsb0JBQW1CO29CQUN4RSxPQUFPO3dCQUNMLElBQU1vRCxXQUFXdkYsY0FBYyxJQUFJLENBQUNRLElBQUk7d0JBRXhDLElBQUkrRSxhQUFhLE1BQU07NEJBQ3JCLElBQU1DLFdBQVdDLElBQUFBLDBCQUFvQixFQUFDRixXQUNoQ0csY0FBYyxJQUFJLENBQUNwRixXQUFXLENBQUNxRix1QkFBdUIsQ0FBQ0g7NEJBRTdELElBQUlFLGFBQWE7Z0NBQ2ZQLHFCQUFxQjs0QkFDdkIsT0FBTztnQ0FDTCxJQUFJLENBQUM3RSxXQUFXLENBQUMrQyxLQUFLLENBQUMsQUFBQyxRQUFnQixPQUFUbUMsVUFBUzs0QkFDMUM7d0JBQ0YsT0FBTzs0QkFDTEwscUJBQXFCO3dCQUN2QjtvQkFDRjtnQkFDRjtnQkFFQSxJQUFJQSxvQkFBb0I7b0JBQ3RCN0UsWUFBWStDLEtBQUssQ0FBQyxBQUFDLG9CQUFzQyxPQUFuQmxCLG9CQUFtQjtnQkFDM0Q7Z0JBRUEsT0FBT2dEO1lBQ1Q7OztZQUVBUyxLQUFBQTttQkFBQUEsU0FBQUEsb0JBQW9CbEYsUUFBUSxFQUFFc0MsT0FBTztnQkFDbkMsSUFBSTZDLHdCQUF3QjtnQkFFNUIsSUFBTTFELHFCQUFxQixJQUFJLENBQUM1QixNQUFNLEVBQ2hDdUYsaUJBQWlCcEYsU0FBU0UsU0FBUztnQkFFekNvQyxRQUFRWixLQUFLLENBQUMsQUFBQyxrQkFBZ0UwRCxPQUEvQzNELG9CQUFtQiw4QkFBMkMsT0FBZjJELGdCQUFlO2dCQUU5RixJQUFNdEUsbUJBQW1CLElBQUksQ0FBQ2hCLElBQUksRUFDNUJ1QixrQkFBa0JpQixTQUNsQmxCLGlCQUFpQmtCLFNBQ2pCSixlQUFlZCxlQUFlaUUsa0NBQWtDLENBQUN2RSxrQkFBa0JPO2dCQUV6RixJQUFJYSxpQkFBaUIsTUFBTTtvQkFDekIsSUFBTXpCLGtCQUFrQnlCLGFBQWExQixhQUFhLENBQUNSO29CQUVuRG1GLHdCQUF3QjFFLGlCQUFrQixHQUFHO2dCQUMvQztnQkFFQSxJQUFJMEUsdUJBQXVCO29CQUN6QjdDLFFBQVFLLEtBQUssQ0FBQyxBQUFDLG9CQUFrRXlDLE9BQS9DM0Qsb0JBQW1CLDhCQUEyQyxPQUFmMkQsZ0JBQWU7Z0JBQ2xHO2dCQUVBLE9BQU9EO1lBQ1Q7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsZUFBZUMsSUFBQUEsNEJBQXNCLEVBQUMsSUFBSSxDQUFDeEYsUUFBUSxHQUNuREEsV0FBV3VGLGNBQ1gxRixTQUFTLElBQUksQ0FBQ0EsTUFBTSxFQUNwQjRGLE9BQU87b0JBQ0w1RixRQUFBQTtvQkFDQUcsVUFBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT3lGO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFN0YsV0FBVztnQkFDL0IsSUFBTSxBQUFFQyxTQUFXNEYsS0FBWDVGLFFBQ0Z5QyxVQUFVMUMsYUFDVjZCLHFCQUFxQjVCLFFBQ3JCaUIsbUJBQW1CNkUsSUFBQUEsb0RBQXNDLEVBQUNsRSxvQkFBb0JhLFVBQzlFM0IsbUJBQW1CK0QsSUFBQUEsMENBQW9DLEVBQUM1RCxtQkFDeERoQixPQUFPZ0Isa0JBQ1BmLE9BQU9ZLGtCQUNQWCxXQUFXNEYsSUFBQUEsc0JBQWdCLEVBQUNILE1BQU03RixjQUNsQ3NDLGVBQWUsSUE1Um5CdkMsYUE0Um9DQyxhQUFhQyxRQUFRQyxNQUFNQyxNQUFNQztnQkFFdkUsT0FBT2tDO1lBQ1Q7OztZQUVPMkQsS0FBQUE7bUJBQVAsU0FBT0EscUJBQXFCL0UsZ0JBQWdCLEVBQUV3QixPQUFPO2dCQUNuRCxJQUFJSixlQUFlO2dCQUVuQixJQUFJcEIscUJBQXFCLE1BQU07b0JBQzdCLElBQU1ILG1CQUFtQitELElBQUFBLDBDQUFvQyxFQUFDNUQsbUJBQ3hEaEIsT0FBT2dCLGtCQUNQZixPQUFPWSxrQkFDUGQsU0FBU3lDLFFBQVF3RCxZQUFZLENBQUNoRyxPQUM5QkUsV0FBVztvQkFFakJrQyxlQUFlLElBM1NmdkMsYUEyU2dDMkMsU0FBU3pDLFFBQVFDLE1BQU1DLE1BQU1DO2dCQUMvRDtnQkFFQSxPQUFPa0M7WUFDVDs7O1lBRU82RCxLQUFBQTttQkFBUCxTQUFPQSxnQ0FBZ0NDLDJCQUEyQixFQUFFcEcsV0FBVztnQkFDN0UsSUFBTSxBQUFFcUcsV0FBYUMsYUFBSSxDQUFqQkQsVUFDRkUsZUFBZTVHLGtCQUFrQnlHLDhCQUNqQ2xGLG1CQUFtQnRCLHNCQUFzQndHLDhCQUN6Q3JGLG1CQUFtQitELElBQUFBLDBDQUFvQyxFQUFDNUQsbUJBQ3hEVyxxQkFBcUI3QixZQUFZa0csWUFBWSxDQUFDaEYsbUJBQzlDc0YsZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUMxRyxjQUM1QzBDLFVBQVU4RCxjQUNWdkcsU0FBUzRCLG9CQUNUM0IsT0FBT2dCLGtCQUNQZixPQUFPWSxrQkFDUFgsV0FBV2lHLFNBQVNNLGdCQUFnQixDQUFDSixjQUFjN0QsVUFDbkRKLGVBQWUsSUE3VG5CdkMsYUE2VG9DQyxhQUFhQyxRQUFRQyxNQUFNQyxNQUFNQztnQkFFdkUsT0FBT2tDO1lBQ1Q7OztXQWhVSXZDOztBQW1VTjZHLE9BQU9DLE1BQU0sQ0FBQ1AsYUFBSSxFQUFFO0lBQ2xCdkcsY0FBQUE7QUFDRjtJQUVBLFdBQWVBO0FBRWYsU0FBU3dDLGlDQUFpQ3JCLGdCQUFnQixFQUFFTSxjQUFjLEVBQUVDLGVBQWU7SUFDekYsSUFBTWlCLFVBQVVsQixnQkFDVmMsZUFBZUksUUFBUStDLGtDQUFrQyxDQUFDdkUsa0JBQWtCTztJQUVsRixPQUFPYTtBQUNUO0FBRUEsU0FBU0csbUNBQW1DZCxTQUFTLEVBQUVILGNBQWMsRUFBRUMsZUFBZTtJQUNwRixJQUFJZSxvQkFBb0I7SUFFeEIsSUFBTXNFLHdCQUF3QmpILDJCQUEyQjhCO0lBRXpELElBQUltRiwwQkFBMEIsTUFBTTtRQUNsQyxJQUFNcEUsVUFBVWxCLGdCQUFnQixHQUFHO1FBRW5DZ0Isb0JBQW9CRSxRQUFRK0Msa0NBQWtDLENBQUNxQix1QkFBdUJyRjtJQUN4RjtJQUVBLE9BQU9lO0FBQ1Q7QUFFQSxTQUFTc0IsdUNBQXVDUixhQUFhLEVBQUU5QixjQUFjLEVBQUVDLGVBQWU7SUFDNUYsSUFBSW9DLHdCQUF3QjtJQUU1QixJQUFNa0QsNEJBQTRCakgsK0JBQStCd0Q7SUFFakUsSUFBSXlELDhCQUE4QixNQUFNO1FBQ3RDLElBQU1yRSxVQUFVbEI7UUFFaEJxQyx3QkFBd0JuQixRQUFRK0Msa0NBQWtDLENBQUNzQiwyQkFBMkJ0RjtJQUNoRztJQUVBLE9BQU9vQztBQUNUIn0=
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuL3NoaW1cIjtcbmltcG9ydCBMb2NhbENvbnRleHQgZnJvbSBcIi4vY29udGV4dC9sb2NhbFwiO1xuaW1wb3J0IEZyYW1lU3Vic3RpdHV0aW9uIGZyb20gXCIuL3N1YnN0aXR1dGlvbi9mcmFtZVwiO1xuaW1wb3J0IFN0YXRlbWVudFN1YnN0aXR1dGlvbiBmcm9tIFwiLi9zdWJzdGl0dXRpb24vc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVN0cmluZyB9IGZyb20gXCIuL25vZGVBbmRUb2tlbnMvbWV0YXZhcmlhYmxlXCI7XG5pbXBvcnQgeyBtZXRhVHlwZUZyb21KU09OLCBtZXRhVHlwZVRvTWV0YVR5cGVKU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcbmltcG9ydCB7IHR5cGVOYW1lRnJvbVR5cGVOb2RlLCBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUgfSBmcm9tIFwiLi91dGlsaXRpZXMvbmFtZVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZS9hcmd1bWVudC90ZXJtXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGUvYXJndW1lbnQvdHlwZVwiKSxcbiAgICAgIG1ldGFUeXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZURlY2xhcmF0aW9uL21ldGFUeXBlXCIpLFxuICAgICAgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZURlY2xhcmF0aW9uL21ldGF2YXJpYWJsZVwiKSxcbiAgICAgIGZyYW1lTWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2ZyYW1lL21ldGF2YXJpYWJsZSFcIiksXG4gICAgICBzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L21ldGF2YXJpYWJsZSFcIik7XG5cbmNsYXNzIE1ldGF2YXJpYWJsZSB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcsIG5vZGUsIG5hbWUsIG1ldGFUeXBlKSB7XG4gICAgdGhpcy5maWxlQ29udGV4dCA9IGZpbGVDb250ZXh0O1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLm1ldGFUeXBlID0gbWV0YVR5cGU7XG4gIH1cblxuICBnZXRGaWxlQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlQ29udGV4dDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRNZXRhVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhVHlwZTtcbiAgfVxuXG4gIGdldE1ldGFUeXBlTmFtZSgpIHtcbiAgICBjb25zdCBtZXRhVHlwZU5hbWUgPSB0aGlzLm1ldGFUeXBlLmdldE5hbWUoKTtcblxuICAgIHJldHVybiBtZXRhVHlwZU5hbWU7XG4gIH1cblxuICBtYXRjaE1ldGFUeXBlKG1ldGFUeXBlKSB7XG4gICAgY29uc3QgbWV0YVR5cGVNYXRjaGVzID0gKHRoaXMubWV0YVR5cGUgPT09IG1ldGFUeXBlKTtcblxuICAgIHJldHVybiBtZXRhVHlwZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGF2YXJpYWJsZU5hbWUobWV0YXZhcmlhYmxlTmFtZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWVNYXRjaGVzID0gKHRoaXMubmFtZSA9PT0gbWV0YXZhcmlhYmxlTmFtZSk7XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlTmFtZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzID0gdGhpcy5ub2RlLm1hdGNoKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgdW5pZnlGcmFtZShmcmFtZSwgc3Vic3RpdHV0aW9ucywgY29udGV4dCkge1xuICAgIGxldCBmcmFtZVVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGZyYW1lTm9kZSA9IGZyYW1lLmdldE5vZGUoKSxcbiAgICAgICAgICBmcmFtZVN0cmluZyA9IGZyYW1lLmdldFN0cmluZygpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtmcmFtZVN0cmluZ30nIGZyYW1lIHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS4uLmApO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IHRoaXMubm9kZSwgLy8vXG4gICAgICAgICAgc2ltcGxlU3Vic3RpdHV0aW9uUHJlc2VudCA9IHN1YnN0aXR1dGlvbnMuaXNTaW1wbGVTdWJzdGl0dXRpb25QcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgaWYgKHNpbXBsZVN1YnN0aXR1dGlvblByZXNlbnQpIHtcbiAgICAgIGNvbnN0IHNpbXBsZVN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZmluZFNpbXBsZVN1YnN0aXR1dGlvbkJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHNpbXBsZVN1YnN0aXR1dGlvbiwgIC8vL1xuICAgICAgICAgICAgZnJhbWVOb2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbi5tYXRjaEZyYW1lTm9kZShmcmFtZU5vZGUpO1xuXG4gICAgICBpZiAoZnJhbWVOb2RlTWF0Y2hlcykge1xuICAgICAgICBmcmFtZVVuaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KHRoaXMuZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgZ2VuZXJhbENvbnRleHQgPSBsb2NhbENvbnRleHQsICAvLy9cbiAgICAgICAgICAgIHNwZWNpZmljQ29udGV4dCA9IGNvbnRleHQsICAvLy9cbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSB0aGlzLm5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IG1ldGF2YXJpYWJsZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpLFxuICAgICAgICAgICAgZnJhbWVNZXRhdmFyaWFibGUgID0gZnJhbWVNZXRhdmFyaWFibGVGcm9tU3RhdGVtZW50Tm9kZShmcmFtZU5vZGUsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpO1xuXG4gICAgICBpZiAoKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkgJiYgKG1ldGF2YXJpYWJsZSA9PT0gZnJhbWVNZXRhdmFyaWFibGUpKSB7XG4gICAgICAgIGZyYW1lVW5pZmllZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtZXRhdmFyaWFibGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgICAgIGZyYW1lU3Vic3RpdHV0aW9uID0gRnJhbWVTdWJzdGl0dXRpb24uZnJvbUZyYW1lQW5kTWV0YXZhcmlhYmxlKGZyYW1lLCBtZXRhdmFyaWFibGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBzdWJzdGl0dXRpb24gPSBmcmFtZVN1YnN0aXR1dGlvbjsgIC8vL1xuXG4gICAgICAgIHN1YnN0aXR1dGlvbnMuYWRkU3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbiwgY29udGV4dCk7XG5cbiAgICAgICAgZnJhbWVVbmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhbWVVbmlmaWVkKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtmcmFtZVN0cmluZ30nIGZyYW1lIHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWVVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBzdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IHRoaXMuc3RyaW5nLCAvLy9cbiAgICAgICAgICBzdWJzdGl0dXRpb25TdHJpbmcgPSAoc3Vic3RpdHV0aW9uICE9PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uLmdldFN0cmluZygpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORztcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfSR7c3Vic3RpdHV0aW9uU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50LmdldE5vZGUoKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gdGhpcy5ub2RlLCAvLy9cbiAgICAgICAgICBzdWJzdGl0dXRpb25Ob2RlID0gKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzdGl0dXRpb24uZ2V0Tm9kZSgpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgIHN1YnN0aXR1dGlvblByZXNlbnQgPSBzdWJzdGl0dXRpb25zLmlzU3Vic3RpdHV0aW9uUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZUFuZFN1YnN0aXR1dGlvbk5vZGUobWV0YXZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9uTm9kZSk7XG5cbiAgICBpZiAoc3Vic3RpdHV0aW9uUHJlc2VudCkge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9ucy5maW5kU3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZShtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25Ob2RlKSxcbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzID0gc3Vic3RpdHV0aW9uLm1hdGNoU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgaWYgKHN0YXRlbWVudE5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHN0YXRlbWVudFVuaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KHRoaXMuZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgZ2VuZXJhbENvbnRleHQgPSBsb2NhbENvbnRleHQsICAvLy9cbiAgICAgICAgICAgIHNwZWNpZmljQ29udGV4dCA9IGNvbnRleHQsICAvLy9cbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSB0aGlzLm5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IG1ldGF2YXJpYWJsZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpLFxuICAgICAgICAgICAgc3RhdGVtZW50TWV0YXZhcmlhYmxlID0gc3RhdGVtZW50TWV0YXZhcmlhYmxlRnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICAgIGlmICgobWV0YXZhcmlhYmxlICE9PSBudWxsKSAmJiAobWV0YXZhcmlhYmxlID09PSBzdGF0ZW1lbnRNZXRhdmFyaWFibGUpKSB7XG4gICAgICAgIHN0YXRlbWVudFVuaWZpZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlID0gdGhpcywgIC8vL1xuICAgICAgICAgICAgICBzdGF0ZW1lbnRTdWJzdGl0dXRpb24gPSBTdGF0ZW1lbnRTdWJzdGl0dXRpb24uZnJvbVN0YXRlbWVudE1ldGF2YXJpYWJsZUFuZFN1YnN0aXR1dGlvbihzdGF0ZW1lbnQsIG1ldGF2YXJpYWJsZSwgc3Vic3RpdHV0aW9uLCBjb250ZXh0KTtcblxuICAgICAgICBzdWJzdGl0dXRpb24gPSBzdGF0ZW1lbnRTdWJzdGl0dXRpb247ICAvLy9cblxuICAgICAgICBzdWJzdGl0dXRpb25zLmFkZFN1YnN0aXR1dGlvbihzdWJzdGl0dXRpb24sIGNvbnRleHQpO1xuXG4gICAgICAgIHN0YXRlbWVudFVuaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfSR7c3Vic3RpdHV0aW9uU3RyaW5nfScgbWV0YXZhcmlhYmxlLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkO1xuICB9XG5cbiAgdW5pZnlTdWJzdGl0dXRpb24oc3Vic3RpdHV0aW9uLCBjb250ZXh0KSB7XG4gICAgbGV0IHN1YnN0aXR1dGlvblVuaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IHRoaXMuc3RyaW5nLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9uU3RyaW5nID0gc3Vic3RpdHV0aW9uLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N1YnN0aXR1dGlvblN0cmluZ30nIHN1YnN0aXR1dGlvbiB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuLi5gKTtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSB0aGlzLm5vZGUsIC8vL1xuICAgICAgICAgIGp1ZGdlbWVudCA9IGNvbnRleHQuZmluZEp1ZGdlbWVudEJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgIGlmIChqdWRnZW1lbnQgIT09IG51bGwpe1xuICAgICAgY29uc3QgZGVjbGFyYXRpb24gPSBqdWRnZW1lbnQuZ2V0RGVjbGFyYXRpb24oKTtcblxuICAgICAgc3Vic3RpdHV0aW9uVW5pZmllZCA9IGRlY2xhcmF0aW9uLnVuaWZ5U3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbiwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHN1YnN0aXR1dGlvblVuaWZpZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N1YnN0aXR1dGlvblN0cmluZ30nIHN1YnN0aXR1dGlvbiB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YnN0aXR1dGlvblVuaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnkoY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZDtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gdGhpcy5ub2RlLFxuICAgICAgICAgIGdlbmVyYWxDb250ZXh0ID0gY29udGV4dCwgIC8vL1xuICAgICAgICAgIHNwZWNpZmljQ29udGV4dCA9IGNvbnRleHQsICAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVQcmVzZW50ID0gZ2VuZXJhbENvbnRleHQuaXNNZXRhdmFyaWFibGVQcmVzZW50QnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICB2ZXJpZmllZCA9IG1ldGF2YXJpYWJsZVByZXNlbnQ7IC8vL1xuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVdoZW5EZWNsYXJlZChmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZEF0VG9wTGV2ZWwgPSBmYWxzZTtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZSB3aGVuIGRlY2xhcmVkLi4uYCk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gdGhpcy5ub2RlLCAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVByZXNlbnQgPSBmaWxlQ29udGV4dC5pc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5hbWUobWV0YXZhcmlhYmxlTmFtZSk7XG5cbiAgICBpZiAobWV0YXZhcmlhYmxlUHJlc2VudCkge1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYFRoZSBtZXRhdmFyaWFibGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgaXMgYWxyZWFkeSBwcmVzZW50LmApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkodGhpcy5ub2RlKTtcblxuICAgICAgaWYgKHRlcm1Ob2RlICE9PSBudWxsKSB7XG4gICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYEEgdGVybSB3YXMgZm91bmQgaW4gdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZSB3aGVuIGEgdHlwZSBzaG91bGQgaGF2ZSBiZWVuIHByZXNlbnQuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkodGhpcy5ub2RlKTtcblxuICAgICAgICBpZiAodHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgICAgICAgICB0eXBlUHJlc2VudCA9IHRoaXMuZmlsZUNvbnRleHQuaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gICAgICAgICAgaWYgKHR5cGVQcmVzZW50KSB7XG4gICAgICAgICAgICB2ZXJpZmllZEF0VG9wTGV2ZWwgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGBUaGUgJyR7dHlwZU5hbWV9JyB0eXBlIGlzIG5vdCBwcmVzZW50LmApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2ZXJpZmllZEF0VG9wTGV2ZWwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkQXRUb3BMZXZlbCkge1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBtZXRhdmFyaWFibGUgd2hlbiBkZWNsYXJlZC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRBdFRvcExldmVsO1xuICB9XG5cbiAgdmVyaWZ5R2l2ZW5NZXRhVHlwZShtZXRhVHlwZSwgY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZEdpdmVuTWV0YVR5cGUgPSBmYWxzZTtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IHRoaXMuc3RyaW5nLCAgLy8vXG4gICAgICAgICAgbWV0YVR5cGVTdHJpbmcgPSBtZXRhVHlwZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlIGdpdmVuIHRoZSAnJHttZXRhVHlwZVN0cmluZ30nIG1ldGEtdHlwZS4uLmApO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IHRoaXMubm9kZSwgIC8vL1xuICAgICAgICAgIHNwZWNpZmljQ29udGV4dCA9IGNvbnRleHQsICAvLy9cbiAgICAgICAgICBnZW5lcmFsQ29udGV4dCA9IGNvbnRleHQsIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IGdlbmVyYWxDb250ZXh0LmZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSwgc3BlY2lmaWNDb250ZXh0KTtcblxuICAgIGlmIChtZXRhdmFyaWFibGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGFUeXBlTWF0Y2hlcyA9IG1ldGF2YXJpYWJsZS5tYXRjaE1ldGFUeXBlKG1ldGFUeXBlKTtcblxuICAgICAgdmVyaWZpZWRHaXZlbk1ldGFUeXBlID0gbWV0YVR5cGVNYXRjaGVzOyAgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkR2l2ZW5NZXRhVHlwZSkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZSBnaXZlbiB0aGUgJyR7bWV0YVR5cGVTdHJpbmd9JyBtZXRhLXR5cGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkR2l2ZW5NZXRhVHlwZTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBtZXRhVHlwZUpTT04gPSBtZXRhVHlwZVRvTWV0YVR5cGVKU09OKHRoaXMubWV0YVR5cGUpLFxuICAgICAgICAgIG1ldGFUeXBlID0gbWV0YVR5cGVKU09OLCAgLy8vXG4gICAgICAgICAgc3RyaW5nID0gdGhpcy5zdHJpbmcsXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAgIG1ldGFUeXBlXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBzdHJpbmcgfSA9IGpzb24sXG4gICAgICAgICAgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gc3RyaW5nLCAgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVGcm9tTWV0YXZhcmlhYmxlU3RyaW5nKG1ldGF2YXJpYWJsZVN0cmluZywgY29udGV4dCksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBub2RlID0gbWV0YXZhcmlhYmxlTm9kZSwgIC8vL1xuICAgICAgICAgIG5hbWUgPSBtZXRhdmFyaWFibGVOYW1lLCAgLy8vXG4gICAgICAgICAgbWV0YVR5cGUgPSBtZXRhVHlwZUZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBtZXRhdmFyaWFibGUgPSBuZXcgTWV0YXZhcmlhYmxlKGZpbGVDb250ZXh0LCBzdHJpbmcsIG5vZGUsIG5hbWUsIG1ldGFUeXBlKTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBtZXRhdmFyaWFibGUgPSBudWxsO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICBub2RlID0gbWV0YXZhcmlhYmxlTm9kZSwgIC8vL1xuICAgICAgICAgICAgbmFtZSA9IG1ldGF2YXJpYWJsZU5hbWUsICAvLy9cbiAgICAgICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgICAgbWV0YVR5cGUgPSBudWxsO1xuXG4gICAgICBtZXRhdmFyaWFibGUgPSBuZXcgTWV0YXZhcmlhYmxlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgbmFtZSwgbWV0YVR5cGUpO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZShtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBNZXRhVHlwZSB9ID0gc2hpbSxcbiAgICAgICAgICBtZXRhVHlwZU5vZGUgPSBtZXRhVHlwZU5vZGVRdWVyeShtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBjb250ZXh0ID0gbG9jYWxDb250ZXh0LCAvLy9cbiAgICAgICAgICBzdHJpbmcgPSBtZXRhdmFyaWFibGVTdHJpbmcsICAvLy9cbiAgICAgICAgICBub2RlID0gbWV0YXZhcmlhYmxlTm9kZSwgIC8vL1xuICAgICAgICAgIG5hbWUgPSBtZXRhdmFyaWFibGVOYW1lLCAgLy8vXG4gICAgICAgICAgbWV0YVR5cGUgPSBNZXRhVHlwZS5mcm9tTWV0YVR5cGVOb2RlKG1ldGFUeXBlTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlID0gbmV3IE1ldGF2YXJpYWJsZShmaWxlQ29udGV4dCwgc3RyaW5nLCBub2RlLCBuYW1lLCBtZXRhVHlwZSk7XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oc2hpbSwge1xuICBNZXRhdmFyaWFibGVcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBNZXRhdmFyaWFibGU7XG5cbmZ1bmN0aW9uIG1ldGF2YXJpYWJsZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpIHtcbiAgY29uc3QgY29udGV4dCA9IGdlbmVyYWxDb250ZXh0LCAvLy9cbiAgICAgICAgbWV0YXZhcmlhYmxlID0gY29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbn1cblxuZnVuY3Rpb24gZnJhbWVNZXRhdmFyaWFibGVGcm9tU3RhdGVtZW50Tm9kZShmcmFtZU5vZGUsIGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQpIHtcbiAgbGV0IGZyYW1lTWV0YXZhcmlhYmxlID0gbnVsbDtcblxuICBjb25zdCBmcmFtZU1ldGF2YXJpYWJsZU5vZGUgPSBmcmFtZU1ldGF2YXJpYWJsZU5vZGVRdWVyeShmcmFtZU5vZGUpO1xuXG4gIGlmIChmcmFtZU1ldGF2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gZ2VuZXJhbENvbnRleHQ7IC8vL1xuXG4gICAgZnJhbWVNZXRhdmFyaWFibGUgPSBjb250ZXh0LmZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUoZnJhbWVNZXRhdmFyaWFibGVOb2RlLCBzcGVjaWZpY0NvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIGZyYW1lTWV0YXZhcmlhYmxlO1xufVxuXG5mdW5jdGlvbiBzdGF0ZW1lbnRNZXRhdmFyaWFibGVGcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRNZXRhdmFyaWFibGUgPSBudWxsO1xuXG4gIGNvbnN0IHN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGUgPSBzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKHN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gZ2VuZXJhbENvbnRleHQ7IC8vL1xuXG4gICAgc3RhdGVtZW50TWV0YXZhcmlhYmxlID0gY29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKHN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGUsIHNwZWNpZmljQ29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50TWV0YXZhcmlhYmxlO1xufVxuIl0sIm5hbWVzIjpbInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwibWV0YVR5cGVOb2RlUXVlcnkiLCJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJmcmFtZU1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsInN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsIk1ldGF2YXJpYWJsZSIsImZpbGVDb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsIm5hbWUiLCJtZXRhVHlwZSIsImdldEZpbGVDb250ZXh0IiwiZ2V0U3RyaW5nIiwiZ2V0Tm9kZSIsImdldE5hbWUiLCJnZXRNZXRhVHlwZSIsImdldE1ldGFUeXBlTmFtZSIsIm1ldGFUeXBlTmFtZSIsIm1hdGNoTWV0YVR5cGUiLCJtZXRhVHlwZU1hdGNoZXMiLCJtYXRjaE1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZU1hdGNoZXMiLCJtYXRjaE1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMiLCJtYXRjaCIsInVuaWZ5RnJhbWUiLCJmcmFtZSIsInN1YnN0aXR1dGlvbnMiLCJjb250ZXh0IiwiZnJhbWVVbmlmaWVkIiwiZnJhbWVOb2RlIiwiZnJhbWVTdHJpbmciLCJtZXRhdmFyaWFibGVTdHJpbmciLCJ0cmFjZSIsInNpbXBsZVN1YnN0aXR1dGlvblByZXNlbnQiLCJpc1NpbXBsZVN1YnN0aXR1dGlvblByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUiLCJzaW1wbGVTdWJzdGl0dXRpb24iLCJmaW5kU2ltcGxlU3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVOb2RlIiwic3Vic3RpdHV0aW9uIiwiZnJhbWVOb2RlTWF0Y2hlcyIsIm1hdGNoRnJhbWVOb2RlIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiZ2VuZXJhbENvbnRleHQiLCJzcGVjaWZpY0NvbnRleHQiLCJtZXRhdmFyaWFibGUiLCJtZXRhdmFyaWFibGVGcm9tTWV0YXZhcmlhYmxlTm9kZSIsImZyYW1lTWV0YXZhcmlhYmxlIiwiZnJhbWVNZXRhdmFyaWFibGVGcm9tU3RhdGVtZW50Tm9kZSIsImZyYW1lU3Vic3RpdHV0aW9uIiwiRnJhbWVTdWJzdGl0dXRpb24iLCJmcm9tRnJhbWVBbmRNZXRhdmFyaWFibGUiLCJhZGRTdWJzdGl0dXRpb24iLCJkZWJ1ZyIsInVuaWZ5U3RhdGVtZW50Iiwic3RhdGVtZW50Iiwic3RhdGVtZW50VW5pZmllZCIsInN0YXRlbWVudFN0cmluZyIsInN1YnN0aXR1dGlvblN0cmluZyIsIkVNUFRZX1NUUklORyIsInN0YXRlbWVudE5vZGUiLCJzdWJzdGl0dXRpb25Ob2RlIiwic3Vic3RpdHV0aW9uUHJlc2VudCIsImlzU3Vic3RpdHV0aW9uUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZUFuZFN1YnN0aXR1dGlvbk5vZGUiLCJmaW5kU3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVOb2RlQW5kU3Vic3RpdHV0aW9uTm9kZSIsInN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50TWV0YXZhcmlhYmxlIiwic3RhdGVtZW50TWV0YXZhcmlhYmxlRnJvbVN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRTdWJzdGl0dXRpb24iLCJTdGF0ZW1lbnRTdWJzdGl0dXRpb24iLCJmcm9tU3RhdGVtZW50TWV0YXZhcmlhYmxlQW5kU3Vic3RpdHV0aW9uIiwidW5pZnlTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25VbmlmaWVkIiwianVkZ2VtZW50IiwiZmluZEp1ZGdlbWVudEJ5TWV0YXZhcmlhYmxlTm9kZSIsImRlY2xhcmF0aW9uIiwiZ2V0RGVjbGFyYXRpb24iLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsIm1ldGF2YXJpYWJsZVByZXNlbnQiLCJpc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUiLCJ2ZXJpZnlXaGVuRGVjbGFyZWQiLCJ2ZXJpZmllZEF0VG9wTGV2ZWwiLCJtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJpc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5hbWUiLCJ0ZXJtTm9kZSIsInR5cGVOb2RlIiwidHlwZU5hbWUiLCJ0eXBlTmFtZUZyb21UeXBlTm9kZSIsInR5cGVQcmVzZW50IiwiaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUiLCJ2ZXJpZnlHaXZlbk1ldGFUeXBlIiwidmVyaWZpZWRHaXZlbk1ldGFUeXBlIiwibWV0YVR5cGVTdHJpbmciLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlIiwidG9KU09OIiwibWV0YVR5cGVKU09OIiwibWV0YVR5cGVUb01ldGFUeXBlSlNPTiIsImpzb24iLCJmcm9tSlNPTiIsIm1ldGF2YXJpYWJsZU5vZGVGcm9tTWV0YXZhcmlhYmxlU3RyaW5nIiwibWV0YVR5cGVGcm9tSlNPTiIsImZyb21NZXRhdmFyaWFibGVOb2RlIiwibm9kZUFzU3RyaW5nIiwiZnJvbU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIk1ldGFUeXBlIiwic2hpbSIsIm1ldGFUeXBlTm9kZSIsImZyb21NZXRhVHlwZU5vZGUiLCJPYmplY3QiLCJhc3NpZ24iLCJmcmFtZU1ldGF2YXJpYWJsZU5vZGUiLCJzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpV0E7OztlQUFBOzs7MkRBL1ZpQjs0REFDUTs0REFDSztnRUFDSTtxQkFFUjt5QkFDRzs0QkFDMEI7b0JBQ0U7b0JBQ2tCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTNFLElBQU1BLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxnQ0FDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQyxnQ0FDMUJFLG9CQUFvQkYsSUFBQUEsZ0JBQVMsRUFBQyxzQ0FDOUJHLHdCQUF3QkgsSUFBQUEsZ0JBQVMsRUFBQywwQ0FDbENJLDZCQUE2QkosSUFBQUEsZ0JBQVMsRUFBQyx5QkFDdkNLLGlDQUFpQ0wsSUFBQUEsZ0JBQVMsRUFBQztBQUVqRCxJQUFBLEFBQU1NLDZCQUFOO2FBQU1BLGFBQ1FDLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsUUFBUTtnQ0FEakRMO1FBRUYsSUFBSSxDQUFDQyxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTs7a0JBTmRMOztZQVNKTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLFdBQVc7WUFDekI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLE1BQU07WUFDcEI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLElBQUk7WUFDbEI7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNMLElBQUk7WUFDbEI7OztZQUVBTSxLQUFBQTttQkFBQUEs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
|
|
@@ -31,7 +31,7 @@ function unifyAWithRule(qualifiedStatement, substitutions, context) {
|
|
|
31
31
|
}
|
|
32
32
|
function unifyAWithReference(qualifiedStatement, substitutions, context) {
|
|
33
33
|
var unifiedWithReference = false;
|
|
34
|
-
var reference = qualifiedStatement.getReference(), metavariableNode = reference.getMetavariableNode(), metavariablePresent =
|
|
34
|
+
var reference = qualifiedStatement.getReference(), generalContext = context, specificContext = context, metavariableNode = reference.getMetavariableNode(), metavariablePresent = generalContext.isMetavariablePresentByMetavariableNode(metavariableNode, specificContext);
|
|
35
35
|
if (metavariablePresent) {
|
|
36
36
|
var statement = qualifiedStatement.getStatement(), statementString = statement.getString(), referenceString = reference.getString();
|
|
37
37
|
context.trace("Unifying the '".concat(statementString, "' qualified statement with the '").concat(referenceString, "' reference..."));
|
|
@@ -69,4 +69,4 @@ var unifyMixins = [
|
|
|
69
69
|
];
|
|
70
70
|
var _default = unifyMixins;
|
|
71
71
|
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9taXhpbnMvc3RhdGVtZW50L3F1YWxpZmllZC91bmlmeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFN0YXRlbWVudFN1YnN0aXR1dGlvbiBmcm9tIFwiLi4vLi4vLi4vc3Vic3RpdHV0aW9uL3N0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyB0cmltIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuZnVuY3Rpb24gdW5pZnlBV2l0aFJ1bGUocXVhbGlmaWVkU3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBjb250ZXh0KSB7XG4gIGxldCB1bmlmaWVkV2l0aFJ1bGUgPSBmYWxzZTtcblxuICBjb25zdCByZWZlcmVuY2UgPSBxdWFsaWZpZWRTdGF0ZW1lbnQuZ2V0UmVmZXJlbmNlKCksXG4gICAgICAgIHJ1bGUgPSBjb250ZXh0LmZpbmRSdWxlQnlSZWZlcmVuY2UocmVmZXJlbmNlKTtcblxuICBpZiAocnVsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHJlZmVyZW5jZVN0cmluZyA9IHJlZmVyZW5jZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSB0cmltKHF1YWxpZmllZFN0YXRlbWVudC5nZXRTdHJpbmcoKSk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke3JlZmVyZW5jZVN0cmluZ30nIHJ1bGUuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudCA9IHF1YWxpZmllZFN0YXRlbWVudC5nZXRTdGF0ZW1lbnQoKSxcbiAgICAgICAgICBzdGF0ZW1lbnRVbmlmaWVkID0gcnVsZS51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpO1xuXG4gICAgdW5pZmllZFdpdGhSdWxlID0gc3RhdGVtZW50VW5pZmllZDsgIC8vL1xuXG4gICAgaWYgKHVuaWZpZWRXaXRoUnVsZSkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtyZWZlcmVuY2VTdHJpbmd9JyBydWxlLmApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmlmaWVkV2l0aFJ1bGU7XG59XG5cbmZ1bmN0aW9uIHVuaWZ5QVdpdGhSZWZlcmVuY2UocXVhbGlmaWVkU3RhdGVtZW50LCBzdWJzdGl0dXRpb25zLCBjb250ZXh0KSB7XG4gIGxldCB1bmlmaWVkV2l0aFJlZmVyZW5jZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHJlZmVyZW5jZSA9IHF1YWxpZmllZFN0YXRlbWVudC5nZXRSZWZlcmVuY2UoKSxcbiAgICAgICAgZ2VuZXJhbENvbnRleHQgPSBjb250ZXh0LCAgLy8vXG4gICAgICAgIHNwZWNpZmljQ29udGV4dCA9IGNvbnRleHQsICAvLy9cbiAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IHJlZmVyZW5jZS5nZXRNZXRhdmFyaWFibGVOb2RlKCksXG4gICAgICAgIG1ldGF2YXJpYWJsZVByZXNlbnQgPSBnZW5lcmFsQ29udGV4dC5pc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSwgc3BlY2lmaWNDb250ZXh0KTtcblxuICBpZiAobWV0YXZhcmlhYmxlUHJlc2VudCkge1xuICAgIGNvbnN0IHN0YXRlbWVudCA9IHF1YWxpZmllZFN0YXRlbWVudC5nZXRTdGF0ZW1lbnQoKSxcbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgcmVmZXJlbmNlU3RyaW5nID0gcmVmZXJlbmNlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7cmVmZXJlbmNlU3RyaW5nfScgcmVmZXJlbmNlLi4uYCk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGUgPSByZWZlcmVuY2UuZ2V0TWV0YXZhcmlhYmxlKCksXG4gICAgICAgICAgc3RhdGVtZW50U3Vic3RpdHV0aW9uID0gU3RhdGVtZW50U3Vic3RpdHV0aW9uLmZyb21TdGF0ZW1lbnRBbmRNZXRhdmFyaWFibGUoc3RhdGVtZW50LCBtZXRhdmFyaWFibGUsIGNvbnRleHQpLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHN0YXRlbWVudFN1YnN0aXR1dGlvbjsgLy8vXG5cbiAgICBzdWJzdGl0dXRpb25zLmFkZFN1YnN0aXR1dGlvbihzdWJzdGl0dXRpb24sIGNvbnRleHQpO1xuXG4gICAgdW5pZmllZFdpdGhSZWZlcmVuY2UgPSB0cnVlO1xuXG4gICAgaWYgKHVuaWZpZWRXaXRoUmVmZXJlbmNlKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke3JlZmVyZW5jZVN0cmluZ30nIHJlZmVyZW5jZS5gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5pZmllZFdpdGhSZWZlcmVuY2U7XG59XG5cbmZ1bmN0aW9uIHVuaWZ5QVdpdGhBeGlvbUxlbW1hVGhlb3JlbU9yQ29uamVjdHVyZShxdWFsaWZpZWRTdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQXhpb21MZW1tYVRoZW9yZW1PckNvbmplY3R1cmUgPSBmYWxzZTtcblxuICBjb25zdCByZWZlcmVuY2UgPSBxdWFsaWZpZWRTdGF0ZW1lbnQuZ2V0UmVmZXJlbmNlKCksXG4gICAgICAgIGF4aW9tID0gY29udGV4dC5maW5kQXhpb21CeVJlZmVyZW5jZShyZWZlcmVuY2UpLFxuICAgICAgICBsZW1tYSA9IGNvbnRleHQuZmluZExlbW1hQnlSZWZlcmVuY2UocmVmZXJlbmNlKSxcbiAgICAgICAgdGhlb3JlbSA9IGNvbnRleHQuZmluZFRoZW9yZW1CeVJlZmVyZW5jZShyZWZlcmVuY2UpLFxuICAgICAgICBjb25qZWN0dXJlID0gY29udGV4dC5maW5kQ29uamVjdHVyZUJ5UmVmZXJlbmNlKHJlZmVyZW5jZSksXG4gICAgICAgIGF4aW9tTGVtbWFUaGVvcmVtQ29uamVjdHVyZSA9IChheGlvbSB8fCBsZW1tYSB8fCB0aGVvcmVtIHx8IGNvbmplY3R1cmUpO1xuXG4gIGlmIChheGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmUgIT09IG51bGwpIHtcbiAgICBjb25zdCByZWZlcmVuY2VTdHJpbmcgPSByZWZlcmVuY2UuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gdHJpbShxdWFsaWZpZWRTdGF0ZW1lbnQuZ2V0U3RyaW5nKCkpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtyZWZlcmVuY2VTdHJpbmd9JyBheGlvbSwgbGVtbWEsIHRoZW9yZW0gb3IgY29uamVjdHVyZS4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50ID0gcXVhbGlmaWVkU3RhdGVtZW50LmdldFN0YXRlbWVudCgpLFxuICAgICAgICAgIHN0YXRlbWVudFVuaWZpZWQgPSBheGlvbUxlbW1hVGhlb3JlbUNvbmplY3R1cmUudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGUgPSByZWZlcmVuY2UuZ2V0TWV0YXZhcmlhYmxlKCksXG4gICAgICAgICAgICBzdGF0ZW1lbnRTdWJzdGl0dXRpb24gPSBTdGF0ZW1lbnRTdWJzdGl0dXRpb24uZnJvbVN0YXRlbWVudEFuZE1ldGF2YXJpYWJsZShzdGF0ZW1lbnQsIG1ldGF2YXJpYWJsZSwgY29udGV4dCksXG4gICAgICAgICAgICBzdWJzdGl0dXRpb24gPSBzdGF0ZW1lbnRTdWJzdGl0dXRpb247IC8vL1xuXG4gICAgICBzdWJzdGl0dXRpb25zLmFkZFN1YnN0aXR1dGlvbihzdWJzdGl0dXRpb24sIGNvbnRleHQpO1xuXG4gICAgICB1bmlmaWVkV2l0aEF4aW9tTGVtbWFUaGVvcmVtT3JDb25qZWN0dXJlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodW5pZmllZFdpdGhBeGlvbUxlbW1hVGhlb3JlbU9yQ29uamVjdHVyZSkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtyZWZlcmVuY2VTdHJpbmd9JyBheGlvbSwgbGVtbWEsIHRoZW9yZW0gb3IgY29uamVjdHVyZS5gKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5pZmllZFdpdGhBeGlvbUxlbW1hVGhlb3JlbU9yQ29uamVjdHVyZTtcbn1cblxuY29uc3QgdW5pZnlNaXhpbnMgPSBbXG4gIHVuaWZ5QVdpdGhSdWxlLFxuICB1bmlmeUFXaXRoUmVmZXJlbmNlLFxuICB1bmlmeUFXaXRoQXhpb21MZW1tYVRoZW9yZW1PckNvbmplY3R1cmVcbl07XG5cbmV4cG9ydCBkZWZhdWx0IHVuaWZ5TWl4aW5zO1xuXG4iXSwibmFtZXMiOlsidW5pZnlBV2l0aFJ1bGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnQiLCJzdWJzdGl0dXRpb25zIiwiY29udGV4dCIsInVuaWZpZWRXaXRoUnVsZSIsInJlZmVyZW5jZSIsImdldFJlZmVyZW5jZSIsInJ1bGUiLCJmaW5kUnVsZUJ5UmVmZXJlbmNlIiwicmVmZXJlbmNlU3RyaW5nIiwiZ2V0U3RyaW5nIiwicXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwidHJpbSIsInRyYWNlIiwic3RhdGVtZW50IiwiZ2V0U3RhdGVtZW50Iiwic3RhdGVtZW50VW5pZmllZCIsInVuaWZ5U3RhdGVtZW50IiwiZGVidWciLCJ1bmlmeUFXaXRoUmVmZXJlbmNlIiwidW5pZmllZFdpdGhSZWZlcmVuY2UiLCJnZW5lcmFsQ29udGV4dCIsInNwZWNpZmljQ29udGV4dCIsIm1ldGF2YXJpYWJsZU5vZGUiLCJnZXRNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlUHJlc2VudCIsImlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZSIsInN0YXRlbWVudFN0cmluZyIsIm1ldGF2YXJpYWJsZSIsImdldE1ldGF2YXJpYWJsZSIsInN0YXRlbWVudFN1YnN0aXR1dGlvbiIsIlN0YXRlbWVudFN1YnN0aXR1dGlvbiIsImZyb21TdGF0ZW1lbnRBbmRNZXRhdmFyaWFibGUiLCJzdWJzdGl0dXRpb24iLCJhZGRTdWJzdGl0dXRpb24iLCJ1bmlmeUFXaXRoQXhpb21MZW1tYVRoZW9yZW1PckNvbmplY3R1cmUiLCJ1bmlmaWVkV2l0aEF4aW9tTGVtbWFUaGVvcmVtT3JDb25qZWN0dXJlIiwiYXhpb20iLCJmaW5kQXhpb21CeVJlZmVyZW5jZSIsImxlbW1hIiwiZmluZExlbW1hQnlSZWZlcmVuY2UiLCJ0aGVvcmVtIiwiZmluZFRoZW9yZW1CeVJlZmVyZW5jZSIsImNvbmplY3R1cmUiLCJmaW5kQ29uamVjdHVyZUJ5UmVmZXJlbmNlIiwiYXhpb21MZW1tYVRoZW9yZW1Db25qZWN0dXJlIiwidW5pZnlNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTBHQTs7O2VBQUE7OztnRUF4R2tDO3NCQUViOzs7Ozs7QUFFckIsU0FBU0EsZUFBZUMsa0JBQWtCLEVBQUVDLGFBQWEsRUFBRUMsT0FBTztJQUNoRSxJQUFJQyxrQkFBa0I7SUFFdEIsSUFBTUMsWUFBWUosbUJBQW1CSyxZQUFZLElBQzNDQyxPQUFPSixRQUFRSyxtQkFBbUIsQ0FBQ0g7SUFFekMsSUFBSUUsU0FBUyxNQUFNO1FBQ2pCLElBQU1FLGtC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
|
|
@@ -175,10 +175,9 @@ var MetavariableNodeAndTokens = /*#__PURE__*/ function(NodeAndTokens) {
|
|
|
175
175
|
}
|
|
176
176
|
},
|
|
177
177
|
{
|
|
178
|
-
key: "
|
|
179
|
-
value: function
|
|
180
|
-
|
|
181
|
-
return metavariableNodeAndTokens;
|
|
178
|
+
key: "fromString",
|
|
179
|
+
value: function fromString(string, context) {
|
|
180
|
+
return _nodeAndTokens.default.fromString(MetavariableNodeAndTokens, string, context);
|
|
182
181
|
}
|
|
183
182
|
}
|
|
184
183
|
]);
|
|
@@ -186,8 +185,8 @@ var MetavariableNodeAndTokens = /*#__PURE__*/ function(NodeAndTokens) {
|
|
|
186
185
|
}(_nodeAndTokens.default);
|
|
187
186
|
_define_property(MetavariableNodeAndTokens, "rule", rule);
|
|
188
187
|
function metavariableNodeFromMetavariableString(metavariableString, context) {
|
|
189
|
-
var metavariableNodeAndTokens = MetavariableNodeAndTokens.
|
|
188
|
+
var string = metavariableString, metavariableNodeAndTokens = MetavariableNodeAndTokens.fromString(string, context), metavariableNode = metavariableNodeAndTokens.getMetavariableNode();
|
|
190
189
|
return metavariableNode;
|
|
191
190
|
}
|
|
192
191
|
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlQW5kVG9rZW5zL21ldGF2YXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE5vZGVBbmRUb2tlbnMgZnJvbSBcIi4uL25vZGVBbmRUb2tlbnNcIjtcblxuaW1wb3J0IHsgcnVsZUZyb21CTkYgfSBmcm9tIFwiLi4vbm9kZUFuZFRva2Vuc1wiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICAgICAgXyA6Oj0gbWV0YXZhcmlhYmxlLi4uIDxFTkRfT0ZfTElORT4gO1xuICAgICAgICBcbiAgICAgIGAsXG4gICAgICBydWxlID0gcnVsZUZyb21CTkYoYm5mKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWV0YXZhcmlhYmxlTm9kZUFuZFRva2VucyBleHRlbmRzIE5vZGVBbmRUb2tlbnMge1xuICBnZXRNZXRhdmFyaWFibGVOb2RlKCkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSB0aGlzLm5vZGU7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGU7XG4gIH1cblxuICBnZXRNZXRhdmFyaWFibGVUb2tlbnMoKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlVG9rZW5zID0gdGhpcy50b2tlbnM7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZVRva2VucztcbiAgfVxuXG4gIHN0YXRpYyBydWxlID0gcnVsZTtcblxuICBzdGF0aWMgZnJvbU1ldGF2YXJpYWJsZShtZXRhdmFyaWFibGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBtZXRhdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZUFuZFRva2VucyA9IE5vZGVBbmRUb2tlbnMuZnJvbVN0cmluZyhNZXRhdmFyaWFibGVOb2RlQW5kVG9rZW5zLCBzdHJpbmcsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVBbmRUb2tlbnM7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0cmluZyhzdHJpbmcsIGNvbnRleHQpIHsgcmV0dXJuIE5vZGVBbmRUb2tlbnMuZnJvbVN0cmluZyhNZXRhdmFyaWFibGVOb2RlQW5kVG9rZW5zLCBzdHJpbmcsIGNvbnRleHQpOyB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVN0cmluZyhtZXRhdmFyaWFibGVTdHJpbmcsIGNvbnRleHQpIHtcbiAgY29uc3Qgc3RyaW5nID0gbWV0YXZhcmlhYmxlU3RyaW5nLCAgLy8vXG4gICAgICAgIG1ldGF2YXJpYWJsZU5vZGVBbmRUb2tlbnMgPSBNZXRhdmFyaWFibGVOb2RlQW5kVG9rZW5zLmZyb21TdHJpbmcoc3RyaW5nLCBjb250ZXh0KSxcbiAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVBbmRUb2tlbnMuZ2V0TWV0YXZhcmlhYmxlTm9kZSgpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVOb2RlO1xufVxuIl0sIm5hbWVzIjpbIk1ldGF2YXJpYWJsZU5vZGVBbmRUb2tlbnMiLCJtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVN0cmluZyIsImJuZiIsInJ1bGUiLCJydWxlRnJvbUJORiIsImdldE1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOb2RlIiwibm9kZSIsImdldE1ldGF2YXJpYWJsZVRva2VucyIsIm1ldGF2YXJpYWJsZVRva2VucyIsInRva2VucyIsImZyb21NZXRhdmFyaWFibGUiLCJtZXRhdmFyaWFibGUiLCJjb250ZXh0Iiwic3RyaW5nIiwiZ2V0U3RyaW5nIiwibWV0YXZhcmlhYmxlTm9kZUFuZFRva2VucyIsIk5vZGVBbmRUb2tlbnMiLCJmcm9tU3RyaW5nIiwibWV0YXZhcmlhYmxlU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O2VBYXFCQTs7SUF5QkxDLHNDQUFzQztlQUF0Q0E7OztxRUFwQ1U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSTFCLElBQU1DLE1BQU8sdUVBS1BDLE9BQU9DLElBQUFBLDBCQUFXLEVBQUNGO0FBRVYsSUFBQSxBQUFNRiwwQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBQ25CSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsbUJBQW1CLElBQUksQ0FBQ0MsSUFBSSxFQUFFLEdBQUc7Z0JBRXZDLE9BQU9EO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMscUJBQXFCLElBQUksQ0FBQ0MsTUFBTSxFQUFFLEdBQUc7Z0JBRTNDLE9BQU9EO1lBQ1Q7Ozs7WUFJT0UsS0FBQUE7bUJBQVAsU0FBT0EsaUJBQWlCQyxZQUFZLEVBQUVDLE9BQU87Z0JBQzNDLElBQU1DLFNBQVNGLGFBQWFHLFNBQVMsSUFDL0JDLDRCQUE0QkMsc0JBQWEsQ0FBQ0MsVUFBVSxDQWpCekNsQiwyQkFpQnFFYyxRQUFRRDtnQkFFOUYsT0FBT0c7WUFDVDs7O1lBRU9FLEtBQUFBO21CQUFQLFNBQU9BLFdBQVdKLE1BQU0sRUFBRUQsT0FBTztnQkFBSSxPQUFPSSxzQkFBYSxDQUFDQyxVQUFVLENBdEJqRGxCLDJCQXNCNkVjLFFBQVFEO1lBQVU7OztXQXRCL0ZiO0VBQWtDaUIsc0JBQWE7QUFhbEUsaUJBYm1CakIsMkJBYVpHLFFBQU9BO0FBWVQsU0FBU0YsdUNBQXVDa0Isa0JBQWtCLEVBQUVOLE9BQU87SUFDaEYsSUFBTUMsU0FBU0ssb0JBQ1RILDRCQUE0QmhCLDBCQUEwQmtCLFVBQVUsQ0FBQ0osUUFBUUQsVUFDekVQLG1CQUFtQlUsMEJBQTBCWCxtQkFBbUI7SUFFdEUsT0FBT0M7QUFDVCJ9
|
|
@@ -2,18 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
13
8
|
return StatementNodeAndTokens;
|
|
14
|
-
},
|
|
15
|
-
statementNodeFromStatementString: function() {
|
|
16
|
-
return statementNodeFromStatementString;
|
|
17
9
|
}
|
|
18
10
|
});
|
|
19
11
|
var _nodeAndTokens = /*#__PURE__*/ _interop_require_wildcard(require("../nodeAndTokens"));
|
|
@@ -175,19 +167,14 @@ var StatementNodeAndTokens = /*#__PURE__*/ function(NodeAndTokens) {
|
|
|
175
167
|
}
|
|
176
168
|
},
|
|
177
169
|
{
|
|
178
|
-
key: "
|
|
179
|
-
value: function
|
|
180
|
-
|
|
181
|
-
return statementNodeAndTokens;
|
|
170
|
+
key: "fromString",
|
|
171
|
+
value: function fromString(string, context) {
|
|
172
|
+
return _nodeAndTokens.default.fromString(StatementNodeAndTokens, string, context);
|
|
182
173
|
}
|
|
183
174
|
}
|
|
184
175
|
]);
|
|
185
176
|
return StatementNodeAndTokens;
|
|
186
177
|
}(_nodeAndTokens.default);
|
|
187
178
|
_define_property(StatementNodeAndTokens, "rule", rule);
|
|
188
|
-
function statementNodeFromStatementString(statementString, context) {
|
|
189
|
-
var statementNodeAndTokens = StatementNodeAndTokens.fromStatementString(statementString, context), statementNode = statementNodeAndTokens.getStatementNode();
|
|
190
|
-
return statementNode;
|
|
191
|
-
}
|
|
192
179
|
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlQW5kVG9rZW5zL3N0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE5vZGVBbmRUb2tlbnMgZnJvbSBcIi4uL25vZGVBbmRUb2tlbnNcIjtcblxuaW1wb3J0IHsgcnVsZUZyb21CTkYgfSBmcm9tIFwiLi4vbm9kZUFuZFRva2Vuc1wiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICAgICAgXyA6Oj0gc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gO1xuICAgICAgICBcbiAgICAgIGAsXG4gICAgICBydWxlID0gcnVsZUZyb21CTkYoYm5mKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RhdGVtZW50Tm9kZUFuZFRva2VucyBleHRlbmRzIE5vZGVBbmRUb2tlbnMge1xuICBnZXRTdGF0ZW1lbnROb2RlKCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSB0aGlzLm5vZGU7IC8vL1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnRUb2tlbnMoKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50VG9rZW5zID0gdGhpcy50b2tlbnM7IC8vL1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudFRva2VucztcbiAgfVxuXG4gIHN0YXRpYyBydWxlID0gcnVsZTtcblxuICBzdGF0aWMgZnJvbVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZUFuZFRva2VucyA9IE5vZGVBbmRUb2tlbnMuZnJvbVN0cmluZyhTdGF0ZW1lbnROb2RlQW5kVG9rZW5zLCBzdHJpbmcsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGVBbmRUb2tlbnM7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0cmluZyhzdHJpbmcsIGNvbnRleHQpIHsgcmV0dXJuIE5vZGVBbmRUb2tlbnMuZnJvbVN0cmluZyhTdGF0ZW1lbnROb2RlQW5kVG9rZW5zLCBzdHJpbmcsIGNvbnRleHQpOyB9XG59XG4iXSwibmFtZXMiOlsiU3RhdGVtZW50Tm9kZUFuZFRva2VucyIsImJuZiIsInJ1bGUiLCJydWxlRnJvbUJORiIsImdldFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnROb2RlIiwibm9kZSIsImdldFN0YXRlbWVudFRva2VucyIsInN0YXRlbWVudFRva2VucyIsInRva2VucyIsImZyb21TdGF0ZW1lbnQiLCJzdGF0ZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwiZ2V0U3RyaW5nIiwic3RhdGVtZW50Tm9kZUFuZFRva2VucyIsIk5vZGVBbmRUb2tlbnMiLCJmcm9tU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWFxQkE7OztxRUFYSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJMUIsSUFBTUMsTUFBTyxvRUFLUEMsT0FBT0MsSUFBQUEsMEJBQVcsRUFBQ0Y7QUFFVixJQUFBLEFBQU1ELHVDQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtpQ0FBQUE7O2tCQUFBQTs7WUFDbkJJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxnQkFBZ0IsSUFBSSxDQUFDQyxJQUFJLEVBQUUsR0FBRztnQkFFcEMsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxrQkFBa0IsSUFBSSxDQUFDQyxNQUFNLEVBQUUsR0FBRztnQkFFeEMsT0FBT0Q7WUFDVDs7OztZQUlPRSxLQUFBQTttQkFBUCxTQUFPQSxjQUFjQyxTQUFTLEVBQUVDLE9BQU87Z0JBQ3JDLElBQU1DLFNBQVNGLFVBQVVHLFNBQVMsSUFDNUJDLHlCQUF5QkMsc0JBQWEsQ0FBQ0MsVUFBVSxDQWpCdENqQix3QkFpQitEYSxRQUFRRDtnQkFFeEYsT0FBT0c7WUFDVDs7O1lBRU9FLEtBQUFBO21CQUFQLFNBQU9BLFdBQVdKLE1BQU0sRUFBRUQsT0FBTztnQkFBSSxPQUFPSSxzQkFBYSxDQUFDQyxVQUFVLENBdEJqRGpCLHdCQXNCMEVhLFFBQVFEO1lBQVU7OztXQXRCNUZaO0VBQStCZ0Isc0JBQWE7QUFhL0QsaUJBYm1CaEIsd0JBYVpFLFFBQU9BIn0=
|
|
@@ -145,10 +145,9 @@ var FrameSubstitutionNodeAndTokens = /*#__PURE__*/ function(NodeAndTokens) {
|
|
|
145
145
|
}
|
|
146
146
|
_create_class(FrameSubstitutionNodeAndTokens, null, [
|
|
147
147
|
{
|
|
148
|
-
key: "
|
|
149
|
-
value: function
|
|
150
|
-
|
|
151
|
-
return frameSubstitutionNodeAndTokens;
|
|
148
|
+
key: "fromString",
|
|
149
|
+
value: function fromString(string, context) {
|
|
150
|
+
return _nodeAndTokens.default.fromString(FrameSubstitutionNodeAndTokens, string, context);
|
|
152
151
|
}
|
|
153
152
|
}
|
|
154
153
|
]);
|
|
@@ -156,4 +155,4 @@ var FrameSubstitutionNodeAndTokens = /*#__PURE__*/ function(NodeAndTokens) {
|
|
|
156
155
|
}(_nodeAndTokens.default);
|
|
157
156
|
_define_property(FrameSubstitutionNodeAndTokens, "rule", rule);
|
|
158
157
|
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlQW5kVG9rZW5zL3N1YnN0aXR1dGlvbi9mcmFtZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE5vZGVBbmRUb2tlbnMgZnJvbSBcIi4uLy4uL25vZGVBbmRUb2tlbnNcIjtcblxuaW1wb3J0IHsgcnVsZUZyb21CTkYgfSBmcm9tIFwiLi4vLi4vbm9kZUFuZFRva2Vuc1wiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICAgICAgICAgIF8gOjo9IGZyYW1lU3Vic3RpdHV0aW9uLi4uIDxFTkRfT0ZfTElORT4gO1xuICAgICAgICAgICAgXG4gICAgICBgLFxuICAgICAgcnVsZSA9IHJ1bGVGcm9tQk5GKGJuZik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZyYW1lU3Vic3RpdHV0aW9uTm9kZUFuZFRva2VucyBleHRlbmRzIE5vZGVBbmRUb2tlbnMge1xuICBzdGF0aWMgcnVsZSA9IHJ1bGU7XG5cbiAgc3RhdGljIGZyb21TdHJpbmcoc3RyaW5nLCBjb250ZXh0KSB7IHJldHVybiBOb2RlQW5kVG9rZW5zLmZyb21TdHJpbmcoRnJhbWVTdWJzdGl0dXRpb25Ob2RlQW5kVG9rZW5zLCBzdHJpbmcsIGNvbnRleHQpOyB9XG59XG4iXSwibmFtZXMiOlsiRnJhbWVTdWJzdGl0dXRpb25Ob2RlQW5kVG9rZW5zIiwiYm5mIiwicnVsZSIsInJ1bGVGcm9tQk5GIiwiZnJvbVN0cmluZyIsInN0cmluZyIsImNvbnRleHQiLCJOb2RlQW5kVG9rZW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWFxQkE7OztxRUFYSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJMUIsSUFBTUMsTUFBTyxvRkFLUEMsT0FBT0MsSUFBQUEsMEJBQVcsRUFBQ0Y7QUFFVixJQUFBLEFBQU1ELCtDQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtpQ0FBQUE7O2tCQUFBQTs7WUFHWkksS0FBQUE7bUJBQVAsU0FBT0EsV0FBV0MsTUFBTSxFQUFFQyxPQUFPO2dCQUFJLE9BQU9DLHNCQUFhLENBQUNILFVBQVUsQ0FIakRKLGdDQUdrRkssUUFBUUM7WUFBVTs7O1dBSHBHTjtFQUF1Q08sc0JBQWE7QUFDdkUsaUJBRG1CUCxnQ0FDWkUsUUFBT0EifQ==
|
|
@@ -145,10 +145,9 @@ var StatementSubstitutionNodeAndTokens = /*#__PURE__*/ function(NodeAndTokens) {
|
|
|
145
145
|
}
|
|
146
146
|
_create_class(StatementSubstitutionNodeAndTokens, null, [
|
|
147
147
|
{
|
|
148
|
-
key: "
|
|
149
|
-
value: function
|
|
150
|
-
|
|
151
|
-
return statementSubstitutionNodeAndTokens;
|
|
148
|
+
key: "fromString",
|
|
149
|
+
value: function fromString(string, context) {
|
|
150
|
+
return _nodeAndTokens.default.fromString(StatementSubstitutionNodeAndTokens, string, context);
|
|
152
151
|
}
|
|
153
152
|
}
|
|
154
153
|
]);
|
|
@@ -156,4 +155,4 @@ var StatementSubstitutionNodeAndTokens = /*#__PURE__*/ function(NodeAndTokens) {
|
|
|
156
155
|
}(_nodeAndTokens.default);
|
|
157
156
|
_define_property(StatementSubstitutionNodeAndTokens, "rule", rule);
|
|
158
157
|
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlQW5kVG9rZW5zL3N1YnN0aXR1dGlvbi9zdGF0ZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb2RlQW5kVG9rZW5zIGZyb20gXCIuLi8uLi9ub2RlQW5kVG9rZW5zXCI7XG5cbmltcG9ydCB7IHJ1bGVGcm9tQk5GIH0gZnJvbSBcIi4uLy4uL25vZGVBbmRUb2tlbnNcIjtcblxuY29uc3QgYm5mID0gYFxuXG4gICAgICAgICAgICBfIDo6PSBzdGF0ZW1lbnRTdWJzdGl0dXRpb24uLi4gPEVORF9PRl9MSU5FPiA7XG4gICAgICAgICAgICBcbiAgICAgIGAsXG4gICAgICBydWxlID0gcnVsZUZyb21CTkYoYm5mKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZUFuZFRva2VucyBleHRlbmRzIE5vZGVBbmRUb2tlbnMge1xuICBzdGF0aWMgcnVsZSA9IHJ1bGU7XG5cbiAgc3RhdGljIGZyb21TdHJpbmcoc3RyaW5nLCBjb250ZXh0KSB7IHJldHVybiBOb2RlQW5kVG9rZW5zLmZyb21TdHJpbmcoU3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZUFuZFRva2Vucywgc3RyaW5nLCBjb250ZXh0KTsgfVxufVxuIl0sIm5hbWVzIjpbIlN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVBbmRUb2tlbnMiLCJibmYiLCJydWxlIiwicnVsZUZyb21CTkYiLCJmcm9tU3RyaW5nIiwic3RyaW5nIiwiY29udGV4dCIsIk5vZGVBbmRUb2tlbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBYXFCQTs7O3FFQVhLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUkxQixJQUFNQyxNQUFPLHdGQUtQQyxPQUFPQyxJQUFBQSwwQkFBVyxFQUFDRjtBQUVWLElBQUEsQUFBTUQsbURBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2lDQUFBQTs7a0JBQUFBOztZQUdaSSxLQUFBQTttQkFBUCxTQUFPQSxXQUFXQyxNQUFNLEVBQUVDLE9BQU87Z0JBQUksT0FBT0Msc0JBQWEsQ0FBQ0gsVUFBVSxDQUhqREosb0NBR3NGSyxRQUFRQztZQUFVOzs7V0FIeEdOO0VBQTJDTyxzQkFBYTtBQUMzRSxpQkFEbUJQLG9DQUNaRSxRQUFPQSJ9
|
|
@@ -145,10 +145,9 @@ var TermSubstitutionNodeAndTokens = /*#__PURE__*/ function(NodeAndTokens) {
|
|
|
145
145
|
}
|
|
146
146
|
_create_class(TermSubstitutionNodeAndTokens, null, [
|
|
147
147
|
{
|
|
148
|
-
key: "
|
|
149
|
-
value: function
|
|
150
|
-
|
|
151
|
-
return termSubstitutionNodeAndTokens;
|
|
148
|
+
key: "fromString",
|
|
149
|
+
value: function fromString(string, context) {
|
|
150
|
+
return _nodeAndTokens.default.fromString(TermSubstitutionNodeAndTokens, string, context);
|
|
152
151
|
}
|
|
153
152
|
}
|
|
154
153
|
]);
|
|
@@ -156,4 +155,4 @@ var TermSubstitutionNodeAndTokens = /*#__PURE__*/ function(NodeAndTokens) {
|
|
|
156
155
|
}(_nodeAndTokens.default);
|
|
157
156
|
_define_property(TermSubstitutionNodeAndTokens, "rule", rule);
|
|
158
157
|
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlQW5kVG9rZW5zL3N1YnN0aXR1dGlvbi90ZXJtLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTm9kZUFuZFRva2VucyBmcm9tIFwiLi4vLi4vbm9kZUFuZFRva2Vuc1wiO1xuXG5pbXBvcnQgeyBydWxlRnJvbUJORiB9IGZyb20gXCIuLi8uLi9ub2RlQW5kVG9rZW5zXCI7XG5cbmNvbnN0IGJuZiA9IGBcblxuICAgICAgICAgICAgXyA6Oj0gdGVybVN1YnN0aXR1dGlvbi4uLiA8RU5EX09GX0xJTkU+
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlQW5kVG9rZW5zL3N1YnN0aXR1dGlvbi90ZXJtLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTm9kZUFuZFRva2VucyBmcm9tIFwiLi4vLi4vbm9kZUFuZFRva2Vuc1wiO1xuXG5pbXBvcnQgeyBydWxlRnJvbUJORiB9IGZyb20gXCIuLi8uLi9ub2RlQW5kVG9rZW5zXCI7XG5cbmNvbnN0IGJuZiA9IGBcblxuICAgICAgICAgICAgXyA6Oj0gdGVybVN1YnN0aXR1dGlvbi4uLiA8RU5EX09GX0xJTkU+IDtcbiAgICAgICAgICAgIFxuICAgICAgYCxcbiAgICAgIHJ1bGUgPSBydWxlRnJvbUJORihibmYpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUZXJtU3Vic3RpdHV0aW9uTm9kZUFuZFRva2VucyBleHRlbmRzIE5vZGVBbmRUb2tlbnMge1xuICBzdGF0aWMgcnVsZSA9IHJ1bGU7XG5cbiAgc3RhdGljIGZyb21TdHJpbmcoc3RyaW5nLCBjb250ZXh0KSB7IHJldHVybiBOb2RlQW5kVG9rZW5zLmZyb21TdHJpbmcoVGVybVN1YnN0aXR1dGlvbk5vZGVBbmRUb2tlbnMsIHN0cmluZywgY29udGV4dCk7IH1cbn1cbiJdLCJuYW1lcyI6WyJUZXJtU3Vic3RpdHV0aW9uTm9kZUFuZFRva2VucyIsImJuZiIsInJ1bGUiLCJydWxlRnJvbUJORiIsImZyb21TdHJpbmciLCJzdHJpbmciLCJjb250ZXh0IiwiTm9kZUFuZFRva2VucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFhcUJBOzs7cUVBWEs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSTFCLElBQU1DLE1BQU8sbUZBS1BDLE9BQU9DLElBQUFBLDBCQUFXLEVBQUNGO0FBRVYsSUFBQSxBQUFNRCw4Q0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBR1pJLEtBQUFBO21CQUFQLFNBQU9BLFdBQVdDLE1BQU0sRUFBRUMsT0FBTztnQkFBSSxPQUFPQyxzQkFBYSxDQUFDSCxVQUFVLENBSGpESiwrQkFHaUZLLFFBQVFDO1lBQVU7OztXQUhuR047RUFBc0NPLHNCQUFhO0FBQ3RFLGlCQURtQlAsK0JBQ1pFLFFBQU9BIn0=
|