occam-verify-cli 1.0.582 → 1.0.583
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/element/derivation.js +169 -14
- package/lib/element/procedureCall.js +176 -16
- package/lib/element/proof.js +161 -17
- package/lib/element/proofAssertion/premise.js +210 -54
- package/lib/element/proofAssertion/step.js +235 -38
- package/lib/element/proofAssertion/supposition.js +43 -35
- package/lib/element/rule.js +142 -70
- package/lib/element/topLevelMetaAssertion/metaLemma.js +22 -14
- package/lib/element/topLevelMetaAssertion/metatheorem.js +22 -14
- package/lib/utilities/context.js +53 -5
- package/lib/utilities/unification.js +397 -182
- package/package.json +4 -4
- package/src/element/derivation.js +6 -5
- package/src/element/procedureCall.js +11 -3
- package/src/element/proof.js +4 -4
- package/src/element/proofAssertion/premise.js +4 -4
- package/src/element/proofAssertion/step.js +7 -8
- package/src/element/proofAssertion/supposition.js +1 -1
- package/src/element/rule.js +11 -12
- package/src/element/topLevelMetaAssertion/metaLemma.js +1 -1
- package/src/element/topLevelMetaAssertion/metatheorem.js +1 -1
- package/src/utilities/context.js +19 -3
- package/src/utilities/unification.js +11 -11
package/lib/element/rule.js
CHANGED
|
@@ -8,12 +8,10 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _occamlanguages = require("occam-languages");
|
|
12
11
|
var _necessary = require("necessary");
|
|
13
|
-
var
|
|
12
|
+
var _occamlanguages = require("occam-languages");
|
|
14
13
|
var _elements = require("../elements");
|
|
15
14
|
var _json = require("../utilities/json");
|
|
16
|
-
var _string = require("../utilities/string");
|
|
17
15
|
function _assert_this_initialized(self) {
|
|
18
16
|
if (self === void 0) {
|
|
19
17
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -267,7 +265,7 @@ function _ts_generator(thisArg, body) {
|
|
|
267
265
|
}
|
|
268
266
|
}
|
|
269
267
|
var _Rule;
|
|
270
|
-
var reverse = _necessary.arrayUtilities.reverse, extract = _necessary.arrayUtilities.extract,
|
|
268
|
+
var reverse = _necessary.arrayUtilities.reverse, extract = _necessary.arrayUtilities.extract, asyncBackwardsEvery = _occamlanguages.asynchronousUtilities.asyncBackwardsEvery;
|
|
271
269
|
var _default = (0, _elements.define)((_Rule = /*#__PURE__*/ function(Element) {
|
|
272
270
|
_inherits(Rule, Element);
|
|
273
271
|
function Rule(context, string, node, proof, labels, premises, conclusion) {
|
|
@@ -392,57 +390,123 @@ var _default = (0, _elements.define)((_Rule = /*#__PURE__*/ function(Element) {
|
|
|
392
390
|
{
|
|
393
391
|
key: "unifyStatementAndSubproofOrProofAssertions",
|
|
394
392
|
value: function unifyStatementAndSubproofOrProofAssertions(statement, subproofOrProofAssertions, context) {
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
393
|
+
return _async_to_generator(function() {
|
|
394
|
+
var statementAndSubproofOrProofAssertionsUnify, statementUnifiesWithConclusion, subproofOrProofAssertionsUnifiesWithPremises, substitutionsResolved;
|
|
395
|
+
return _ts_generator(this, function(_state) {
|
|
396
|
+
switch(_state.label){
|
|
397
|
+
case 0:
|
|
398
|
+
statementAndSubproofOrProofAssertionsUnify = false;
|
|
399
|
+
statementUnifiesWithConclusion = this.unifyStatementWithConclusion(statement, context);
|
|
400
|
+
if (!statementUnifiesWithConclusion) return [
|
|
401
|
+
3,
|
|
402
|
+
2
|
|
403
|
+
];
|
|
404
|
+
return [
|
|
405
|
+
4,
|
|
406
|
+
this.unifySubproofOrProofAssertionsWithPremises(subproofOrProofAssertions, context)
|
|
407
|
+
];
|
|
408
|
+
case 1:
|
|
409
|
+
subproofOrProofAssertionsUnifiesWithPremises = _state.sent();
|
|
410
|
+
if (subproofOrProofAssertionsUnifiesWithPremises) {
|
|
411
|
+
substitutionsResolved = context.areSubstitutionsResolved();
|
|
412
|
+
if (substitutionsResolved) {
|
|
413
|
+
statementAndSubproofOrProofAssertionsUnify = true;
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
_state.label = 2;
|
|
417
|
+
case 2:
|
|
418
|
+
return [
|
|
419
|
+
2,
|
|
420
|
+
statementAndSubproofOrProofAssertionsUnify
|
|
421
|
+
];
|
|
403
422
|
}
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
return statementAndSubproofOrProofAssertionsUnify;
|
|
423
|
+
});
|
|
424
|
+
}).call(this);
|
|
407
425
|
}
|
|
408
426
|
},
|
|
409
427
|
{
|
|
410
428
|
key: "unifySubproofOrProofAssertionsWithPremises",
|
|
411
429
|
value: function unifySubproofOrProofAssertionsWithPremises(subproofOrProofAssertions, context) {
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
430
|
+
return _async_to_generator(function() {
|
|
431
|
+
var _this, subproofOrProofAssertionsUnifiesWithPremises;
|
|
432
|
+
return _ts_generator(this, function(_state) {
|
|
433
|
+
_this = this;
|
|
434
|
+
subproofOrProofAssertions = reverse(subproofOrProofAssertions); ///
|
|
435
|
+
subproofOrProofAssertionsUnifiesWithPremises = asyncBackwardsEvery(this.premises, function(premise) {
|
|
436
|
+
return _async_to_generator(function() {
|
|
437
|
+
var stepUnifiesWithPremise;
|
|
438
|
+
return _ts_generator(this, function(_state) {
|
|
439
|
+
switch(_state.label){
|
|
440
|
+
case 0:
|
|
441
|
+
return [
|
|
442
|
+
4,
|
|
443
|
+
this.unifySubproofOrProofAssertionsWithPremise(subproofOrProofAssertions, premise, context)
|
|
444
|
+
];
|
|
445
|
+
case 1:
|
|
446
|
+
stepUnifiesWithPremise = _state.sent();
|
|
447
|
+
if (stepUnifiesWithPremise) {
|
|
448
|
+
return [
|
|
449
|
+
2,
|
|
450
|
+
true
|
|
451
|
+
];
|
|
452
|
+
}
|
|
453
|
+
return [
|
|
454
|
+
2
|
|
455
|
+
];
|
|
456
|
+
}
|
|
457
|
+
});
|
|
458
|
+
}).call(_this);
|
|
459
|
+
});
|
|
460
|
+
return [
|
|
461
|
+
2,
|
|
462
|
+
subproofOrProofAssertionsUnifiesWithPremises
|
|
463
|
+
];
|
|
464
|
+
});
|
|
465
|
+
}).call(this);
|
|
422
466
|
}
|
|
423
467
|
},
|
|
424
468
|
{
|
|
425
469
|
key: "unifySubproofOrProofAssertionsWithPremise",
|
|
426
470
|
value: function unifySubproofOrProofAssertionsWithPremise(subproofOrProofAssertions, premise, context) {
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
471
|
+
return _async_to_generator(function() {
|
|
472
|
+
var subproofOrProofAssertionsUnifiesWithPremise, subproofOrProofAssertion, premiseUnifiesIndependently;
|
|
473
|
+
return _ts_generator(this, function(_state) {
|
|
474
|
+
switch(_state.label){
|
|
475
|
+
case 0:
|
|
476
|
+
subproofOrProofAssertionsUnifiesWithPremise = false;
|
|
477
|
+
if (!subproofOrProofAssertionsUnifiesWithPremise) {
|
|
478
|
+
subproofOrProofAssertion = extract(subproofOrProofAssertions, function(subproofOrProofAssertion) {
|
|
479
|
+
var subproofOrProofAssertionUnifies = premise.unifySubproofOrProofAssertion(subproofOrProofAssertion, context);
|
|
480
|
+
if (subproofOrProofAssertionUnifies) {
|
|
481
|
+
return true;
|
|
482
|
+
}
|
|
483
|
+
}) || null;
|
|
484
|
+
if (subproofOrProofAssertion !== null) {
|
|
485
|
+
subproofOrProofAssertionsUnifiesWithPremise = true;
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
if (!!subproofOrProofAssertionsUnifiesWithPremise) return [
|
|
489
|
+
3,
|
|
490
|
+
2
|
|
491
|
+
];
|
|
492
|
+
return [
|
|
493
|
+
4,
|
|
494
|
+
premise.unifyIndependently(context)
|
|
495
|
+
];
|
|
496
|
+
case 1:
|
|
497
|
+
premiseUnifiesIndependently = _state.sent();
|
|
498
|
+
if (premiseUnifiesIndependently) {
|
|
499
|
+
subproofOrProofAssertionsUnifiesWithPremise = true;
|
|
500
|
+
}
|
|
501
|
+
_state.label = 2;
|
|
502
|
+
case 2:
|
|
503
|
+
return [
|
|
504
|
+
2,
|
|
505
|
+
subproofOrProofAssertionsUnifiesWithPremise
|
|
506
|
+
];
|
|
433
507
|
}
|
|
434
|
-
})
|
|
435
|
-
|
|
436
|
-
subproofOrProofAssertionsUnifiesWithPremise = true;
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
if (!subproofOrProofAssertionsUnifiesWithPremise) {
|
|
440
|
-
var premiseUnifiesIndependently = premise.unifyIndependently(context);
|
|
441
|
-
if (premiseUnifiesIndependently) {
|
|
442
|
-
subproofOrProofAssertionsUnifiesWithPremise = true;
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
return subproofOrProofAssertionsUnifiesWithPremise;
|
|
508
|
+
});
|
|
509
|
+
})();
|
|
446
510
|
}
|
|
447
511
|
},
|
|
448
512
|
{
|
|
@@ -451,36 +515,44 @@ var _default = (0, _elements.define)((_Rule = /*#__PURE__*/ function(Element) {
|
|
|
451
515
|
return _async_to_generator(function() {
|
|
452
516
|
var _this, verifies, context, ruleString, rule;
|
|
453
517
|
return _ts_generator(this, function(_state) {
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
518
|
+
switch(_state.label){
|
|
519
|
+
case 0:
|
|
520
|
+
_this = this;
|
|
521
|
+
verifies = false;
|
|
522
|
+
context = this.getContext();
|
|
523
|
+
return [
|
|
524
|
+
4,
|
|
525
|
+
this.break(context)
|
|
526
|
+
];
|
|
527
|
+
case 1:
|
|
528
|
+
_state.sent();
|
|
529
|
+
ruleString = this.getString(); ///
|
|
530
|
+
context.trace("Verifying the '".concat(ruleString, "' rule..."));
|
|
531
|
+
scope(function(context) {
|
|
532
|
+
var labelsVerify = _this.verifyLabels();
|
|
533
|
+
if (labelsVerify) {
|
|
534
|
+
var premisesVerify = _this.verifyPremises(context);
|
|
535
|
+
if (premisesVerify) {
|
|
536
|
+
var conclusionVerifies = _this.verifyConclusion(context);
|
|
537
|
+
if (conclusionVerifies) {
|
|
538
|
+
var proofVerifies = _this.verifyProof(context);
|
|
539
|
+
if (proofVerifies) {
|
|
540
|
+
verifies = true;
|
|
541
|
+
}
|
|
542
|
+
}
|
|
470
543
|
}
|
|
471
544
|
}
|
|
545
|
+
}, context);
|
|
546
|
+
if (verifies) {
|
|
547
|
+
rule = this; ///
|
|
548
|
+
context.addRule(rule);
|
|
549
|
+
context.debug("...verified the '".concat(ruleString, "' rule."));
|
|
472
550
|
}
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
context.addRule(rule);
|
|
478
|
-
context.debug("...verified the '".concat(ruleString, "' rule."));
|
|
551
|
+
return [
|
|
552
|
+
2,
|
|
553
|
+
verifies
|
|
554
|
+
];
|
|
479
555
|
}
|
|
480
|
-
return [
|
|
481
|
-
2,
|
|
482
|
-
verifies
|
|
483
|
-
];
|
|
484
556
|
});
|
|
485
557
|
}).call(this);
|
|
486
558
|
}
|
|
@@ -510,4 +582,4 @@ var _default = (0, _elements.define)((_Rule = /*#__PURE__*/ function(Element) {
|
|
|
510
582
|
return Rule;
|
|
511
583
|
}(_wrap_native_super(_occamlanguages.Element)), _define_property(_Rule, "name", "Rule"), _Rule));
|
|
512
584
|
|
|
513
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3J1bGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgc2NvcGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgbGFiZWxzRnJvbUpTT04sXG4gICAgICAgICBwcmVtaXNlc0Zyb21KU09OLFxuICAgICAgICAgY29uY2x1c2lvbkZyb21KU09OLFxuICAgICAgICAgbGFiZWxzVG9MYWJlbHNKU09OLFxuICAgICAgICAgcHJlbWlzZXNUb1ByZW1pc2VzSlNPTixcbiAgICAgICAgIGNvbmNsdXNpb25Ub0NvbmNsdXNpb25KU09OIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9qc29uXCI7XG5pbXBvcnQgeyBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zU3RyaW5nRnJvbVN1YnByb29mT3JQcm9vZkFzc2VydGlvbnMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCB7IHJldmVyc2UsIGV4dHJhY3QsIGJhY2t3YXJkc0V2ZXJ5IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFJ1bGUgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBwcm9vZiwgbGFiZWxzLCBwcmVtaXNlcywgY29uY2x1c2lvbikge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSk7XG5cbiAgICB0aGlzLnByb29mID0gcHJvb2Y7XG4gICAgdGhpcy5sYWJlbHMgPSBsYWJlbHM7XG4gICAgdGhpcy5wcmVtaXNlcyA9IHByZW1pc2VzO1xuICAgIHRoaXMuY29uY2x1c2lvbiA9IGNvbmNsdXNpb247XG4gIH1cblxuICBnZXRMYWJlbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWxzO1xuICB9XG5cbiAgZ2V0UHJlbWlzZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJlbWlzZXM7XG4gIH1cblxuICBnZXRQcm9vZigpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9vZjtcbiAgfVxuXG4gIGdldENvbmNsdXNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uY2x1c2lvbjtcbiAgfVxuXG4gIGNvbXBhcmVNZXRhdmFyaWFibGVOYW1lKG1ldGF2YXJpYWJsZU5hbWUpIHtcbiAgICBjb25zdCBjb21wYXJlc1RvTWV0YXZhcmlhYmxlTmFtZSA9IHRoaXMubGFiZWxzLnNvbWUoKGxhYmVsKSA9PiB7XG4gICAgICBjb25zdCBsYWJlbENvbXBhcmVzVG9NZXRhdmFyaWFibGVOYW1lID0gbGFiZWwuY29tcGFyZU1ldGF2YXJpYWJsZU5hbWUobWV0YXZhcmlhYmxlTmFtZSk7XG5cbiAgICAgIGlmIChsYWJlbENvbXBhcmVzVG9NZXRhdmFyaWFibGVOYW1lKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvbXBhcmVzVG9NZXRhdmFyaWFibGVOYW1lO1xuICB9XG5cbiAgdmVyaWZ5TGFiZWxzKCkge1xuICAgIGNvbnN0IGxhYmVsc1ZlcmlmeSA9IHRoaXMubGFiZWxzLmV2ZXJ5KChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbmFtZU9ubHkgPSB0cnVlLFxuICAgICAgICAgICAgbGFiZWxWZXJpZmllcyA9IGxhYmVsLnZlcmlmeShuYW1lT25seSk7XG5cbiAgICAgIGlmIChsYWJlbFZlcmlmaWVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxhYmVsc1ZlcmlmeTtcbiAgfVxuXG4gIHZlcmlmeVByZW1pc2VzKGNvbnRleHQpIHtcbiAgICBjb25zdCBwcmVtaXNlc1ZlcmlmeSA9IHRoaXMucHJlbWlzZXMuZXZlcnkoKHByZW1pc2UpID0+IHtcbiAgICAgIGNvbnN0IHByZW1pc2VWZXJpZmllcyA9IHRoaXMudmVyaWZ5UHJlbWlzZShwcmVtaXNlLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHByZW1pc2VWZXJpZmllcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBwcmVtaXNlc1ZlcmlmeTtcbiAgfVxuXG4gIHZlcmlmeVByZW1pc2UocHJlbWlzZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHByZW1pc2VWZXJpZmllcyA9IHByZW1pc2UudmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHByZW1pc2VWZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeUNvbmNsdXNpb24oY29udGV4dCkge1xuICAgIGNvbnN0IGNvbmNsdXNpb25WZXJpZmllcyA9IHRoaXMuY29uY2x1c2lvbi52ZXJpZnkoY29udGV4dCk7XG5cbiAgICByZXR1cm4gY29uY2x1c2lvblZlcmlmaWVzO1xuICB9XG5cbiAgdmVyaWZ5UHJvb2YoY29udGV4dCkge1xuICAgIGxldCBwcm9vZlZlcmlmaWVzO1xuXG4gICAgaWYgKHRoaXMucHJvb2YgPT09IG51bGwpIHtcbiAgICAgIHByb29mVmVyaWZpZXMgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gW107XG5cbiAgICAgIHByb29mVmVyaWZpZXMgPSB0aGlzLnByb29mLnZlcmlmeShzdWJzdGl0dXRpb25zLCB0aGlzLmNvbmNsdXNpb24sIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9vZlZlcmlmaWVzO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnRXaXRoQ29uY2x1c2lvbihzdGF0ZW1lbnQsIGNvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50VW5pZmllc1dpdGhDb25jbHVzaW9uID0gZmFsc2U7XG5cbiAgICBjb25zdCBydWxlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgY29uY2x1c2lvblN0cmluZyA9IHRoaXMuY29uY2x1c2lvbi5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7cnVsZVN0cmluZ30nIHJ1bGUncyAnJHtjb25jbHVzaW9uU3RyaW5nfScgY29uY2x1c2lvbi4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50VW5pZmllcyA9IHRoaXMuY29uY2x1c2lvbi51bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIGNvbnRleHQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZXMpIHtcbiAgICAgIHN0YXRlbWVudFVuaWZpZXNXaXRoQ29uY2x1c2lvbiA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZXNXaXRoQ29uY2x1c2lvbikge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlICcke3J1bGVTdHJpbmd9JyBydWxlJ3MgJyR7Y29uY2x1c2lvblN0cmluZ30nIGNvbmNsdXNpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZXNXaXRoQ29uY2x1c2lvbjtcbiAgfVxuXG4gIHVuaWZ5U3RhdGVtZW50QW5kU3VicHJvb2ZPclByb29mQXNzZXJ0aW9ucyhzdGF0ZW1lbnQsIHN1YnByb29mT3JQcm9vZkFzc2VydGlvbnMsIGNvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50QW5kU3VicHJvb2ZPclByb29mQXNzZXJ0aW9uc1VuaWZ5ID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVzV2l0aENvbmNsdXNpb24gPSB0aGlzLnVuaWZ5U3RhdGVtZW50V2l0aENvbmNsdXNpb24oc3RhdGVtZW50LCBjb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVzV2l0aENvbmNsdXNpb24pIHtcbiAgICAgIGNvbnN0IHN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNVbmlmaWVzV2l0aFByZW1pc2VzID0gdGhpcy51bmlmeVN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNXaXRoUHJlbWlzZXMoc3VicHJvb2ZPclByb29mQXNzZXJ0aW9ucywgY29udGV4dCk7XG5cbiAgICAgIGlmIChzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZmllc1dpdGhQcmVtaXNlcykge1xuICAgICAgICBjb25zdCBzdWJzdGl0dXRpb25zUmVzb2x2ZWQgPSBjb250ZXh0LmFyZVN1YnN0aXR1dGlvbnNSZXNvbHZlZCgpO1xuXG4gICAgICAgIGlmIChzdWJzdGl0dXRpb25zUmVzb2x2ZWQpIHtcbiAgICAgICAgICBzdGF0ZW1lbnRBbmRTdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZnkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudEFuZFN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNVbmlmeTtcbiAgfVxuXG4gIHVuaWZ5U3VicHJvb2ZPclByb29mQXNzZXJ0aW9uc1dpdGhQcmVtaXNlcyhzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zLCBjb250ZXh0KSB7XG4gICAgbGV0IHN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNVbmlmaWVzV2l0aFByZW1pc2VzO1xuXG4gICAgc3VicHJvb2ZPclByb29mQXNzZXJ0aW9ucyA9IHJldmVyc2Uoc3VicHJvb2ZPclByb29mQXNzZXJ0aW9ucyk7IC8vL1xuXG4gICAgc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uc1VuaWZpZXNXaXRoUHJlbWlzZXMgPSBiYWNrd2FyZHNFdmVyeSh0aGlzLnByZW1pc2VzLCAocHJlbWlzZSkgPT4ge1xuICAgICAgY29uc3Qgc3RlcFVuaWZpZXNXaXRoUHJlbWlzZSA9IHRoaXMudW5pZnlTdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zV2l0aFByZW1pc2Uoc3VicHJvb2ZPclByb29mQXNzZXJ0aW9ucywgcHJlbWlzZSwgY29udGV4dCk7XG5cbiAgICAgIGlmIChzdGVwVW5pZmllc1dpdGhQcmVtaXNlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNVbmlmaWVzV2l0aFByZW1pc2VzO1xuICB9XG5cbiAgdW5pZnlTdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zV2l0aFByZW1pc2Uoc3VicHJvb2ZPclByb29mQXNzZXJ0aW9ucywgcHJlbWlzZSwgY29udGV4dCkge1xuICAgIGxldCBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZmllc1dpdGhQcmVtaXNlID0gZmFsc2U7XG5cbiAgICBpZiAoIXN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNVbmlmaWVzV2l0aFByZW1pc2UpIHtcbiAgICAgIGNvbnN0IHN1YnByb29mT3JQcm9vZkFzc2VydGlvbiA9IGV4dHJhY3Qoc3VicHJvb2ZPclByb29mQXNzZXJ0aW9ucywgKHN1YnByb29mT3JQcm9vZkFzc2VydGlvbikgPT4ge1xuICAgICAgICBjb25zdCBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25VbmlmaWVzID0gcHJlbWlzZS51bmlmeVN1YnByb29mT3JQcm9vZkFzc2VydGlvbihzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb24sIGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25VbmlmaWVzKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pIHx8IG51bGw7XG5cbiAgICAgIGlmIChzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb24gIT09IG51bGwpIHtcbiAgICAgICAgc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uc1VuaWZpZXNXaXRoUHJlbWlzZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZmllc1dpdGhQcmVtaXNlKSB7XG4gICAgICBjb25zdCBwcmVtaXNlVW5pZmllc0luZGVwZW5kZW50bHkgPSBwcmVtaXNlLnVuaWZ5SW5kZXBlbmRlbnRseShjb250ZXh0KTtcblxuICAgICAgaWYgKHByZW1pc2VVbmlmaWVzSW5kZXBlbmRlbnRseSkge1xuICAgICAgICBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZmllc1dpdGhQcmVtaXNlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uc1VuaWZpZXNXaXRoUHJlbWlzZTtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcblxuICAgIHRoaXMuYnJlYWsoY29udGV4dCk7XG5cbiAgICBjb25zdCBydWxlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3J1bGVTdHJpbmd9JyBydWxlLi4uYCk7XG5cbiAgICBzY29wZSgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWxzVmVyaWZ5ID0gdGhpcy52ZXJpZnlMYWJlbHMoKTtcblxuICAgICAgaWYgKGxhYmVsc1ZlcmlmeSkge1xuICAgICAgICBjb25zdCBwcmVtaXNlc1ZlcmlmeSA9IHRoaXMudmVyaWZ5UHJlbWlzZXMoY29udGV4dCk7XG5cbiAgICAgICAgaWYgKHByZW1pc2VzVmVyaWZ5KSB7XG4gICAgICAgICAgY29uc3QgY29uY2x1c2lvblZlcmlmaWVzID0gdGhpcy52ZXJpZnlDb25jbHVzaW9uKGNvbnRleHQpO1xuXG4gICAgICAgICAgaWYgKGNvbmNsdXNpb25WZXJpZmllcykge1xuICAgICAgICAgICAgY29uc3QgcHJvb2ZWZXJpZmllcyA9IHRoaXMudmVyaWZ5UHJvb2YoY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChwcm9vZlZlcmlmaWVzKSB7XG4gICAgICAgICAgICAgIHZlcmlmaWVzID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBjb250ZXh0KTtcblxuICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgY29uc3QgcnVsZSA9IHRoaXM7ICAvLy9cblxuICAgICAgY29udGV4dC5hZGRSdWxlKHJ1bGUpO1xuXG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7cnVsZVN0cmluZ30nIHJ1bGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IGxhYmVsc0pTT04gPSBsYWJlbHNUb0xhYmVsc0pTT04odGhpcy5sYWJlbHMpLFxuICAgICAgICAgIHByZW1pc2VzSlNPTiA9IHByZW1pc2VzVG9QcmVtaXNlc0pTT04odGhpcy5wcmVtaXNlcyksXG4gICAgICAgICAgY29uY2x1c2lvbkpTT04gPSBjb25jbHVzaW9uVG9Db25jbHVzaW9uSlNPTih0aGlzLmNvbmNsdXNpb24pLFxuICAgICAgICAgIGxhYmVscyA9IGxhYmVsc0pTT04sICAvLy9cbiAgICAgICAgICBwcmVtaXNlcyA9IHByZW1pc2VzSlNPTiwgIC8vL1xuICAgICAgICAgIGNvbmNsdXNpb24gPSBjb25jbHVzaW9uSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgICBwcmVtaXNlcyxcbiAgICAgICAgICAgIGNvbmNsdXNpb25cbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiUnVsZVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgbGV0IHJ1bGU7XG5cbiAgICBjb25zdCBub2RlID0gbnVsbCxcbiAgICAgICAgICBwcm9vZiA9IG51bGwsXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxzRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgcHJlbWlzZXMgPSBwcmVtaXNlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIGNvbmNsdXNpb24gPSBjb25jbHVzaW9uRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbUxhYmVsc1ByZW1pc2VzQW5kQ29uY2x1c2lvbihsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uKTtcblxuICAgIHJ1bGUgPSBuZXcgUnVsZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24sIHByb29mKTtcblxuICAgIHJldHVybiBydWxlO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJyZXZlcnNlIiwiYXJyYXlVdGlsaXRpZXMiLCJleHRyYWN0IiwiYmFja3dhcmRzRXZlcnkiLCJkZWZpbmUiLCJSdWxlIiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJwcm9vZiIsImxhYmVscyIsInByZW1pc2VzIiwiY29uY2x1c2lvbiIsImdldExhYmVscyIsImdldFByZW1pc2VzIiwiZ2V0UHJvb2YiLCJnZXRDb25jbHVzaW9uIiwiY29tcGFyZU1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhdmFyaWFibGVOYW1lIiwiY29tcGFyZXNUb01ldGF2YXJpYWJsZU5hbWUiLCJzb21lIiwibGFiZWwiLCJsYWJlbENvbXBhcmVzVG9NZXRhdmFyaWFibGVOYW1lIiwidmVyaWZ5TGFiZWxzIiwibGFiZWxzVmVyaWZ5IiwiZXZlcnkiLCJuYW1lT25seSIsImxhYmVsVmVyaWZpZXMiLCJ2ZXJpZnkiLCJ2ZXJpZnlQcmVtaXNlcyIsInByZW1pc2VzVmVyaWZ5IiwicHJlbWlzZSIsInByZW1pc2VWZXJpZmllcyIsInZlcmlmeVByZW1pc2UiLCJ2ZXJpZnlDb25jbHVzaW9uIiwiY29uY2x1c2lvblZlcmlmaWVzIiwidmVyaWZ5UHJvb2YiLCJwcm9vZlZlcmlmaWVzIiwic3Vic3RpdHV0aW9ucyIsInVuaWZ5U3RhdGVtZW50V2l0aENvbmNsdXNpb24iLCJzdGF0ZW1lbnQiLCJzdGF0ZW1lbnRVbmlmaWVzV2l0aENvbmNsdXNpb24iLCJydWxlU3RyaW5nIiwiZ2V0U3RyaW5nIiwic3RhdGVtZW50U3RyaW5nIiwiY29uY2x1c2lvblN0cmluZyIsInRyYWNlIiwic3RhdGVtZW50VW5pZmllcyIsInVuaWZ5U3RhdGVtZW50IiwiZGVidWciLCJ1bmlmeVN0YXRlbWVudEFuZFN1YnByb29mT3JQcm9vZkFzc2VydGlvbnMiLCJzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zIiwic3RhdGVtZW50QW5kU3VicHJvb2ZPclByb29mQXNzZXJ0aW9uc1VuaWZ5Iiwic3VicHJvb2ZPclByb29mQXNzZXJ0aW9uc1VuaWZpZXNXaXRoUHJlbWlzZXMiLCJ1bmlmeVN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNXaXRoUHJlbWlzZXMiLCJzdWJzdGl0dXRpb25zUmVzb2x2ZWQiLCJhcmVTdWJzdGl0dXRpb25zUmVzb2x2ZWQiLCJzdGVwVW5pZmllc1dpdGhQcmVtaXNlIiwidW5pZnlTdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zV2l0aFByZW1pc2UiLCJzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZmllc1dpdGhQcmVtaXNlIiwic3VicHJvb2ZPclByb29mQXNzZXJ0aW9uIiwic3VicHJvb2ZPclByb29mQXNzZXJ0aW9uVW5pZmllcyIsInVuaWZ5U3VicHJvb2ZPclByb29mQXNzZXJ0aW9uIiwicHJlbWlzZVVuaWZpZXNJbmRlcGVuZGVudGx5IiwidW5pZnlJbmRlcGVuZGVudGx5IiwidmVyaWZpZXMiLCJydWxlIiwiZ2V0Q29udGV4dCIsImJyZWFrIiwic2NvcGUiLCJhZGRSdWxlIiwidG9KU09OIiwibGFiZWxzSlNPTiIsImxhYmVsc1RvTGFiZWxzSlNPTiIsInByZW1pc2VzSlNPTiIsInByZW1pc2VzVG9QcmVtaXNlc0pTT04iLCJjb25jbHVzaW9uSlNPTiIsImNvbmNsdXNpb25Ub0NvbmNsdXNpb25KU09OIiwianNvbiIsImZyb21KU09OIiwibGFiZWxzRnJvbUpTT04iLCJwcmVtaXNlc0Zyb21KU09OIiwiY29uY2x1c2lvbkZyb21KU09OIiwic3RyaW5nRnJvbUxhYmVsc1ByZW1pc2VzQW5kQ29uY2x1c2lvbiIsIkVsZW1lbnQiLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpQkE7OztlQUFBOzs7OEJBZndCO3lCQUNPO3VCQUVUO3dCQUNDO29CQU1vQjtzQkFDa0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdFLElBQVFBLFVBQXFDQyx5QkFBYyxDQUFuREQsU0FBU0UsVUFBNEJELHlCQUFjLENBQTFDQyxTQUFTQyxpQkFBbUJGLHlCQUFjLENBQWpDRTtJQUUxQixXQUFlQyxJQUFBQSxnQkFBTSx5QkFBQzs7YUFBTUMsS0FDZEMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsVUFBVTtnQ0FENUNQOztnQkFFeEIsa0JBRndCQTtZQUVsQkM7WUFBU0M7WUFBUUM7O1FBRXZCLE1BQUtDLEtBQUssR0FBR0E7UUFDYixNQUFLQyxNQUFNLEdBQUdBO1FBQ2QsTUFBS0MsUUFBUSxHQUFHQTtRQUNoQixNQUFLQyxVQUFVLEdB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
|
|
585
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3J1bGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuaW1wb3J0IHsgRWxlbWVudCwgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IGxhYmVsc0Zyb21KU09OLFxuICAgICAgICAgcHJlbWlzZXNGcm9tSlNPTixcbiAgICAgICAgIGNvbmNsdXNpb25Gcm9tSlNPTixcbiAgICAgICAgIGxhYmVsc1RvTGFiZWxzSlNPTixcbiAgICAgICAgIHByZW1pc2VzVG9QcmVtaXNlc0pTT04sXG4gICAgICAgICBjb25jbHVzaW9uVG9Db25jbHVzaW9uSlNPTiB9IGZyb20gXCIuLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IHJldmVyc2UsIGV4dHJhY3QgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyBhc3luY0JhY2t3YXJkc0V2ZXJ5IH0gPSBhc3luY2hyb25vdXNVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBSdWxlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgcHJvb2YsIGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUpO1xuXG4gICAgdGhpcy5wcm9vZiA9IHByb29mO1xuICAgIHRoaXMubGFiZWxzID0gbGFiZWxzO1xuICAgIHRoaXMucHJlbWlzZXMgPSBwcmVtaXNlcztcbiAgICB0aGlzLmNvbmNsdXNpb24gPSBjb25jbHVzaW9uO1xuICB9XG5cbiAgZ2V0TGFiZWxzKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVscztcbiAgfVxuXG4gIGdldFByZW1pc2VzKCkge1xuICAgIHJldHVybiB0aGlzLnByZW1pc2VzO1xuICB9XG5cbiAgZ2V0UHJvb2YoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvb2Y7XG4gIH1cblxuICBnZXRDb25jbHVzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmNsdXNpb247XG4gIH1cblxuICBjb21wYXJlTWV0YXZhcmlhYmxlTmFtZShtZXRhdmFyaWFibGVOYW1lKSB7XG4gICAgY29uc3QgY29tcGFyZXNUb01ldGF2YXJpYWJsZU5hbWUgPSB0aGlzLmxhYmVscy5zb21lKChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWxDb21wYXJlc1RvTWV0YXZhcmlhYmxlTmFtZSA9IGxhYmVsLmNvbXBhcmVNZXRhdmFyaWFibGVOYW1lKG1ldGF2YXJpYWJsZU5hbWUpO1xuXG4gICAgICBpZiAobGFiZWxDb21wYXJlc1RvTWV0YXZhcmlhYmxlTmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBjb21wYXJlc1RvTWV0YXZhcmlhYmxlTmFtZTtcbiAgfVxuXG4gIHZlcmlmeUxhYmVscygpIHtcbiAgICBjb25zdCBsYWJlbHNWZXJpZnkgPSB0aGlzLmxhYmVscy5ldmVyeSgobGFiZWwpID0+IHtcbiAgICAgIGNvbnN0IG5hbWVPbmx5ID0gdHJ1ZSxcbiAgICAgICAgICAgIGxhYmVsVmVyaWZpZXMgPSBsYWJlbC52ZXJpZnkobmFtZU9ubHkpO1xuXG4gICAgICBpZiAobGFiZWxWZXJpZmllcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBsYWJlbHNWZXJpZnk7XG4gIH1cblxuICB2ZXJpZnlQcmVtaXNlcyhjb250ZXh0KSB7XG4gICAgY29uc3QgcHJlbWlzZXNWZXJpZnkgPSB0aGlzLnByZW1pc2VzLmV2ZXJ5KChwcmVtaXNlKSA9PiB7XG4gICAgICBjb25zdCBwcmVtaXNlVmVyaWZpZXMgPSB0aGlzLnZlcmlmeVByZW1pc2UocHJlbWlzZSwgY29udGV4dCk7XG5cbiAgICAgIGlmIChwcmVtaXNlVmVyaWZpZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcHJlbWlzZXNWZXJpZnk7XG4gIH1cblxuICB2ZXJpZnlQcmVtaXNlKHByZW1pc2UsIGNvbnRleHQpIHtcbiAgICBjb25zdCBwcmVtaXNlVmVyaWZpZXMgPSBwcmVtaXNlLnZlcmlmeShjb250ZXh0KTtcblxuICAgIHJldHVybiBwcmVtaXNlVmVyaWZpZXM7XG4gIH1cblxuICB2ZXJpZnlDb25jbHVzaW9uKGNvbnRleHQpIHtcbiAgICBjb25zdCBjb25jbHVzaW9uVmVyaWZpZXMgPSB0aGlzLmNvbmNsdXNpb24udmVyaWZ5KGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGNvbmNsdXNpb25WZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVByb29mKGNvbnRleHQpIHtcbiAgICBsZXQgcHJvb2ZWZXJpZmllcztcblxuICAgIGlmICh0aGlzLnByb29mID09PSBudWxsKSB7XG4gICAgICBwcm9vZlZlcmlmaWVzID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFtdO1xuXG4gICAgICBwcm9vZlZlcmlmaWVzID0gdGhpcy5wcm9vZi52ZXJpZnkoc3Vic3RpdHV0aW9ucywgdGhpcy5jb25jbHVzaW9uLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvb2ZWZXJpZmllcztcbiAgfVxuXG4gIHVuaWZ5U3RhdGVtZW50V2l0aENvbmNsdXNpb24oc3RhdGVtZW50LCBjb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZXNXaXRoQ29uY2x1c2lvbiA9IGZhbHNlO1xuXG4gICAgY29uc3QgcnVsZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICAgIGNvbmNsdXNpb25TdHJpbmcgPSB0aGlzLmNvbmNsdXNpb24uZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlICcke3J1bGVTdHJpbmd9JyBydWxlJ3MgJyR7Y29uY2x1c2lvblN0cmluZ30nIGNvbmNsdXNpb24uLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZXMgPSB0aGlzLmNvbmNsdXNpb24udW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBjb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVzKSB7XG4gICAgICBzdGF0ZW1lbnRVbmlmaWVzV2l0aENvbmNsdXNpb24gPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVzV2l0aENvbmNsdXNpb24pIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtydWxlU3RyaW5nfScgcnVsZSdzICcke2NvbmNsdXNpb25TdHJpbmd9JyBjb25jbHVzaW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVzV2l0aENvbmNsdXNpb247XG4gIH1cblxuICBhc3luYyB1bmlmeVN0YXRlbWVudEFuZFN1YnByb29mT3JQcm9vZkFzc2VydGlvbnMoc3RhdGVtZW50LCBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zLCBjb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudEFuZFN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNVbmlmeSA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50VW5pZmllc1dpdGhDb25jbHVzaW9uID0gdGhpcy51bmlmeVN0YXRlbWVudFdpdGhDb25jbHVzaW9uKHN0YXRlbWVudCwgY29udGV4dCk7XG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllc1dpdGhDb25jbHVzaW9uKSB7XG4gICAgICBjb25zdCBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZmllc1dpdGhQcmVtaXNlcyA9IGF3YWl0IHRoaXMudW5pZnlTdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zV2l0aFByZW1pc2VzKHN1YnByb29mT3JQcm9vZkFzc2VydGlvbnMsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uc1VuaWZpZXNXaXRoUHJlbWlzZXMpIHtcbiAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uc1Jlc29sdmVkID0gY29udGV4dC5hcmVTdWJzdGl0dXRpb25zUmVzb2x2ZWQoKTtcblxuICAgICAgICBpZiAoc3Vic3RpdHV0aW9uc1Jlc29sdmVkKSB7XG4gICAgICAgICAgc3RhdGVtZW50QW5kU3VicHJvb2ZPclByb29mQXNzZXJ0aW9uc1VuaWZ5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRBbmRTdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZnk7XG4gIH1cblxuICBhc3luYyB1bmlmeVN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNXaXRoUHJlbWlzZXMoc3VicHJvb2ZPclByb29mQXNzZXJ0aW9ucywgY29udGV4dCkge1xuICAgIGxldCBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZmllc1dpdGhQcmVtaXNlcztcblxuICAgIHN1YnByb29mT3JQcm9vZkFzc2VydGlvbnMgPSByZXZlcnNlKHN1YnByb29mT3JQcm9vZkFzc2VydGlvbnMpOyAvLy9cblxuICAgIHN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNVbmlmaWVzV2l0aFByZW1pc2VzID0gYXN5bmNCYWNrd2FyZHNFdmVyeSh0aGlzLnByZW1pc2VzLCBhc3luYyAocHJlbWlzZSkgPT4ge1xuICAgICAgY29uc3Qgc3RlcFVuaWZpZXNXaXRoUHJlbWlzZSA9IGF3YWl0IHRoaXMudW5pZnlTdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zV2l0aFByZW1pc2Uoc3VicHJvb2ZPclByb29mQXNzZXJ0aW9ucywgcHJlbWlzZSwgY29udGV4dCk7XG5cbiAgICAgIGlmIChzdGVwVW5pZmllc1dpdGhQcmVtaXNlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNVbmlmaWVzV2l0aFByZW1pc2VzO1xuICB9XG5cbiAgYXN5bmMgdW5pZnlTdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zV2l0aFByZW1pc2Uoc3VicHJvb2ZPclByb29mQXNzZXJ0aW9ucywgcHJlbWlzZSwgY29udGV4dCkge1xuICAgIGxldCBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZmllc1dpdGhQcmVtaXNlID0gZmFsc2U7XG5cbiAgICBpZiAoIXN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNVbmlmaWVzV2l0aFByZW1pc2UpIHtcbiAgICAgIGNvbnN0IHN1YnByb29mT3JQcm9vZkFzc2VydGlvbiA9IGV4dHJhY3Qoc3VicHJvb2ZPclByb29mQXNzZXJ0aW9ucywgKHN1YnByb29mT3JQcm9vZkFzc2VydGlvbikgPT4ge1xuICAgICAgICBjb25zdCBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25VbmlmaWVzID0gcHJlbWlzZS51bmlmeVN1YnByb29mT3JQcm9vZkFzc2VydGlvbihzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb24sIGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25VbmlmaWVzKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pIHx8IG51bGw7XG5cbiAgICAgIGlmIChzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb24gIT09IG51bGwpIHtcbiAgICAgICAgc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uc1VuaWZpZXNXaXRoUHJlbWlzZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZmllc1dpdGhQcmVtaXNlKSB7XG4gICAgICBjb25zdCBwcmVtaXNlVW5pZmllc0luZGVwZW5kZW50bHkgPSBhd2FpdCBwcmVtaXNlLnVuaWZ5SW5kZXBlbmRlbnRseShjb250ZXh0KTtcblxuICAgICAgaWYgKHByZW1pc2VVbmlmaWVzSW5kZXBlbmRlbnRseSkge1xuICAgICAgICBzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZmllc1dpdGhQcmVtaXNlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3VicHJvb2ZPclByb29mQXNzZXJ0aW9uc1VuaWZpZXNXaXRoUHJlbWlzZTtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcblxuICAgIGF3YWl0IHRoaXMuYnJlYWsoY29udGV4dCk7XG5cbiAgICBjb25zdCBydWxlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3J1bGVTdHJpbmd9JyBydWxlLi4uYCk7XG5cbiAgICBzY29wZSgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWxzVmVyaWZ5ID0gdGhpcy52ZXJpZnlMYWJlbHMoKTtcblxuICAgICAgaWYgKGxhYmVsc1ZlcmlmeSkge1xuICAgICAgICBjb25zdCBwcmVtaXNlc1ZlcmlmeSA9IHRoaXMudmVyaWZ5UHJlbWlzZXMoY29udGV4dCk7XG5cbiAgICAgICAgaWYgKHByZW1pc2VzVmVyaWZ5KSB7XG4gICAgICAgICAgY29uc3QgY29uY2x1c2lvblZlcmlmaWVzID0gdGhpcy52ZXJpZnlDb25jbHVzaW9uKGNvbnRleHQpO1xuXG4gICAgICAgICAgaWYgKGNvbmNsdXNpb25WZXJpZmllcykge1xuICAgICAgICAgICAgY29uc3QgcHJvb2ZWZXJpZmllcyA9IHRoaXMudmVyaWZ5UHJvb2YoY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChwcm9vZlZlcmlmaWVzKSB7XG4gICAgICAgICAgICAgIHZlcmlmaWVzID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBjb250ZXh0KTtcblxuICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgY29uc3QgcnVsZSA9IHRoaXM7ICAvLy9cblxuICAgICAgY29udGV4dC5hZGRSdWxlKHJ1bGUpO1xuXG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7cnVsZVN0cmluZ30nIHJ1bGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IGxhYmVsc0pTT04gPSBsYWJlbHNUb0xhYmVsc0pTT04odGhpcy5sYWJlbHMpLFxuICAgICAgICAgIHByZW1pc2VzSlNPTiA9IHByZW1pc2VzVG9QcmVtaXNlc0pTT04odGhpcy5wcmVtaXNlcyksXG4gICAgICAgICAgY29uY2x1c2lvbkpTT04gPSBjb25jbHVzaW9uVG9Db25jbHVzaW9uSlNPTih0aGlzLmNvbmNsdXNpb24pLFxuICAgICAgICAgIGxhYmVscyA9IGxhYmVsc0pTT04sICAvLy9cbiAgICAgICAgICBwcmVtaXNlcyA9IHByZW1pc2VzSlNPTiwgIC8vL1xuICAgICAgICAgIGNvbmNsdXNpb24gPSBjb25jbHVzaW9uSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBsYWJlbHMsXG4gICAgICAgICAgICBwcmVtaXNlcyxcbiAgICAgICAgICAgIGNvbmNsdXNpb25cbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiUnVsZVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgbGV0IHJ1bGU7XG5cbiAgICBjb25zdCBub2RlID0gbnVsbCxcbiAgICAgICAgICBwcm9vZiA9IG51bGwsXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxzRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgcHJlbWlzZXMgPSBwcmVtaXNlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIGNvbmNsdXNpb24gPSBjb25jbHVzaW9uRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbUxhYmVsc1ByZW1pc2VzQW5kQ29uY2x1c2lvbihsYWJlbHMsIHByZW1pc2VzLCBjb25jbHVzaW9uKTtcblxuICAgIHJ1bGUgPSBuZXcgUnVsZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGxhYmVscywgcHJlbWlzZXMsIGNvbmNsdXNpb24sIHByb29mKTtcblxuICAgIHJldHVybiBydWxlO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJyZXZlcnNlIiwiYXJyYXlVdGlsaXRpZXMiLCJleHRyYWN0IiwiYXN5bmNCYWNrd2FyZHNFdmVyeSIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsImRlZmluZSIsIlJ1bGUiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsInByb29mIiwibGFiZWxzIiwicHJlbWlzZXMiLCJjb25jbHVzaW9uIiwiZ2V0TGFiZWxzIiwiZ2V0UHJlbWlzZXMiLCJnZXRQcm9vZiIsImdldENvbmNsdXNpb24iLCJjb21wYXJlTWV0YXZhcmlhYmxlTmFtZSIsIm1ldGF2YXJpYWJsZU5hbWUiLCJjb21wYXJlc1RvTWV0YXZhcmlhYmxlTmFtZSIsInNvbWUiLCJsYWJlbCIsImxhYmVsQ29tcGFyZXNUb01ldGF2YXJpYWJsZU5hbWUiLCJ2ZXJpZnlMYWJlbHMiLCJsYWJlbHNWZXJpZnkiLCJldmVyeSIsIm5hbWVPbmx5IiwibGFiZWxWZXJpZmllcyIsInZlcmlmeSIsInZlcmlmeVByZW1pc2VzIiwicHJlbWlzZXNWZXJpZnkiLCJwcmVtaXNlIiwicHJlbWlzZVZlcmlmaWVzIiwidmVyaWZ5UHJlbWlzZSIsInZlcmlmeUNvbmNsdXNpb24iLCJjb25jbHVzaW9uVmVyaWZpZXMiLCJ2ZXJpZnlQcm9vZiIsInByb29mVmVyaWZpZXMiLCJzdWJzdGl0dXRpb25zIiwidW5pZnlTdGF0ZW1lbnRXaXRoQ29uY2x1c2lvbiIsInN0YXRlbWVudCIsInN0YXRlbWVudFVuaWZpZXNXaXRoQ29uY2x1c2lvbiIsInJ1bGVTdHJpbmciLCJnZXRTdHJpbmciLCJzdGF0ZW1lbnRTdHJpbmciLCJjb25jbHVzaW9uU3RyaW5nIiwidHJhY2UiLCJzdGF0ZW1lbnRVbmlmaWVzIiwidW5pZnlTdGF0ZW1lbnQiLCJkZWJ1ZyIsInVuaWZ5U3RhdGVtZW50QW5kU3VicHJvb2ZPclByb29mQXNzZXJ0aW9ucyIsInN1YnByb29mT3JQcm9vZkFzc2VydGlvbnMiLCJzdGF0ZW1lbnRBbmRTdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZnkiLCJzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25zVW5pZmllc1dpdGhQcmVtaXNlcyIsInN1YnN0aXR1dGlvbnNSZXNvbHZlZCIsInVuaWZ5U3VicHJvb2ZPclByb29mQXNzZXJ0aW9uc1dpdGhQcmVtaXNlcyIsImFyZVN1YnN0aXR1dGlvbnNSZXNvbHZlZCIsInN0ZXBVbmlmaWVzV2l0aFByZW1pc2UiLCJ1bmlmeVN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNXaXRoUHJlbWlzZSIsInN1YnByb29mT3JQcm9vZkFzc2VydGlvbnNVbmlmaWVzV2l0aFByZW1pc2UiLCJzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb24iLCJwcmVtaXNlVW5pZmllc0luZGVwZW5kZW50bHkiLCJzdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb25VbmlmaWVzIiwidW5pZnlTdWJwcm9vZk9yUHJvb2ZBc3NlcnRpb24iLCJ1bmlmeUluZGVwZW5kZW50bHkiLCJ2ZXJpZmllcyIsInJ1bGUiLCJnZXRDb250ZXh0IiwiYnJlYWsiLCJzY29wZSIsImFkZFJ1bGUiLCJ0b0pTT04iLCJsYWJlbHNKU09OIiwibGFiZWxzVG9MYWJlbHNKU09OIiwicHJlbWlzZXNKU09OIiwicHJlbWlzZXNUb1ByZW1pc2VzSlNPTiIsImNvbmNsdXNpb25KU09OIiwiY29uY2x1c2lvblRvQ29uY2x1c2lvbkpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJsYWJlbHNGcm9tSlNPTiIsInByZW1pc2VzRnJvbUpTT04iLCJjb25jbHVzaW9uRnJvbUpTT04iLCJzdHJpbmdGcm9tTGFiZWxzUHJlbWlzZXNBbmRDb25jbHVzaW9uIiwiRWxlbWVudCIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdCQTs7O2VBQUE7Ozt5QkFkK0I7OEJBQ2dCO3dCQUV4QjtvQkFNb0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTNDLElBQVFBLFVBQXFCQyx5QkFBYyxDQUFuQ0QsU0FBU0UsVUFBWUQseUJBQWMsQ0FBMUJDLFNBQ1gsQUFBRUMsc0JBQXdCQyxxQ0FBcUIsQ0FBN0NEO0lBRVIsV0FBZUUsSUFBQUEsZ0JBQU0seUJBQUM7O2FBQU1DLEtBQ2RDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFVBQVU7Z0NBRDVDUDs7Z0JBRXhCLGtCQUZ3QkE7WUFFbEJDO1lBQVNDO1lBQVFDOztRQUV2QixNQUFLQyxLQUFLLEdBQUdBO1FBQ2IsTUFBS0MsTUFBTSxHQUFHQTtRQUNkLE1BQUtDLFFBQVEsR0FBR0E7UUFDaEIsTUFBS0MsVUFBVSxHQUFHQTs7Ozs7WUFHcEJD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
|
|
@@ -262,20 +262,28 @@ var _default = (0, _elements.define)((_MetaLemma = /*#__PURE__*/ function(TopLev
|
|
|
262
262
|
return _async_to_generator(function() {
|
|
263
263
|
var verifies, context, metaLemmaString, metaTheorem;
|
|
264
264
|
return _ts_generator(this, function(_state) {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
265
|
+
switch(_state.label){
|
|
266
|
+
case 0:
|
|
267
|
+
context = this.getContext();
|
|
268
|
+
return [
|
|
269
|
+
4,
|
|
270
|
+
this.break(context)
|
|
271
|
+
];
|
|
272
|
+
case 1:
|
|
273
|
+
_state.sent();
|
|
274
|
+
metaLemmaString = this.getString(); ///
|
|
275
|
+
context.trace("Verifying the '".concat(metaLemmaString, "' meta-lemma..."));
|
|
276
|
+
verifies = _superprop_get_verify().call(_this1);
|
|
277
|
+
if (verifies) {
|
|
278
|
+
metaTheorem = this; ///
|
|
279
|
+
context.addMetatheorem(metaTheorem);
|
|
280
|
+
context.debug("...verified the '".concat(metaLemmaString, "' meta-lemma."));
|
|
281
|
+
}
|
|
282
|
+
return [
|
|
283
|
+
2,
|
|
284
|
+
verifies
|
|
285
|
+
];
|
|
274
286
|
}
|
|
275
|
-
return [
|
|
276
|
-
2,
|
|
277
|
-
verifies
|
|
278
|
-
];
|
|
279
287
|
});
|
|
280
288
|
}).call(this);
|
|
281
289
|
}
|
|
@@ -291,4 +299,4 @@ var _default = (0, _elements.define)((_MetaLemma = /*#__PURE__*/ function(TopLev
|
|
|
291
299
|
return MetaLemma;
|
|
292
300
|
}(_topLevelMetaAssertion.default), _define_property(_MetaLemma, "name", "MetaLemma"), _MetaLemma));
|
|
293
301
|
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3RvcExldmVsTWV0YUFzc2VydGlvbi9tZXRhTGVtbWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUb3BMZXZlbE1ldGFBc3NlcnRpb24gZnJvbSBcIi4vLi4vdG9wTGV2ZWxNZXRhQXNzZXJ0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTWV0YUxlbW1hIGV4dGVuZHMgVG9wTGV2ZWxNZXRhQXNzZXJ0aW9uIHtcbiAgYXN5bmMgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllcztcblxuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcblxuICAgIGF3YWl0IHRoaXMuYnJlYWsoY29udGV4dCk7XG5cbiAgICBjb25zdCBtZXRhTGVtbWFTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YUxlbW1hU3RyaW5nfScgbWV0YS1sZW1tYS4uLmApO1xuXG4gICAgdmVyaWZpZXMgPSBzdXBlci52ZXJpZnkoKTtcblxuICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgY29uc3QgbWV0YVRoZW9yZW0gPSB0aGlzOyAvLy9cblxuICAgICAgY29udGV4dC5hZGRNZXRhdGhlb3JlbShtZXRhVGhlb3JlbSk7XG5cbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhTGVtbWFTdHJpbmd9JyBtZXRhLWxlbW1hLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllcztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJNZXRhTGVtbWFcIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkgeyByZXR1cm4gVG9wTGV2ZWxNZXRhQXNzZXJ0aW9uLmZyb21KU09OKE1ldGFMZW1tYSwganNvbiwgY29udGV4dCk7IH1cbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIk1ldGFMZW1tYSIsInZlcmlmeSIsInZlcmlmaWVzIiwiY29udGV4dCIsIm1ldGFMZW1tYVN0cmluZyIsIm1ldGFUaGVvcmVtIiwiZ2V0Q29udGV4dCIsImJyZWFrIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJhZGRNZXRhdGhlb3JlbSIsImRlYnVnIiwiZnJvbUpTT04iLCJqc29uIiwiVG9wTGV2ZWxNZXRhQXNzZXJ0aW9uIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7NEVBSmtDO3dCQUVYOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUV2QixXQUFlQSxJQUFBQSxnQkFBTSw4QkFBQzs7YUFBTUM7Z0NBQUFBO1FBQU4sT0FBQSxrQkFBTUE7Ozs7WUFDcEJDLEtBQUFBO21CQUFOLFNBQU1BOzs7a0RBRG9CRDs7O3dCQUVwQkUsVUFFRUMsU0FJQUMsaUJBT0VDOzs7O2dDQVhGRixVQUFVLElBQUksQ0FBQ0csVUFBVTtnQ0FFL0I7O29DQUFNLElBQUksQ0FBQ0MsS0FBSyxDQUFDSjs7O2dDQUFqQjtnQ0FFTUMsa0JBQWtCLElBQUksQ0FBQ0ksU0FBUyxJQUFJLEdBQUc7Z0NBRTdDTCxRQUFRTSxLQUFLLENBQUMsQUFBQyxrQkFBaUMsT0FBaEJMLGlCQUFnQjtnQ0FFaERGLFdBQVcsd0JBQUE7Z0NBRVgsSUFBSUEsVUFBVTtvQ0FDTkcsY0FBYyxJQUFJLEVBQUUsR0FBRztvQ0FFN0JGLFFBQVFPLGNBQWMsQ0FBQ0w7b0NBRXZCRixRQUFRUSxLQUFLLENBQUMsQUFBQyxvQkFBbUMsT0FBaEJQLGlCQUFnQjtnQ0FDcEQ7Z0NBRUE7O29DQUFPRjs7OztnQkFDVDs7Ozs7WUFJT1UsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0MsSUFBSSxFQUFFVixPQUFPO2dCQUFJLE9BQU9XLDhCQUFxQixDQUFDRixRQUFRLENBQUNaLFdBQVdhLE1BQU1WO1lBQVU7Ozs7RUEzQnREVyw4QkFBcUIsR0F5QmpFLDZCQUFPQyxRQUFPIn0=
|
|
@@ -262,20 +262,28 @@ var _default = (0, _elements.define)((_Metatheorem = /*#__PURE__*/ function(TopL
|
|
|
262
262
|
return _async_to_generator(function() {
|
|
263
263
|
var verifies, context, metaLemmaString, metaTheorem;
|
|
264
264
|
return _ts_generator(this, function(_state) {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
265
|
+
switch(_state.label){
|
|
266
|
+
case 0:
|
|
267
|
+
context = this.getContext();
|
|
268
|
+
return [
|
|
269
|
+
4,
|
|
270
|
+
this.break(context)
|
|
271
|
+
];
|
|
272
|
+
case 1:
|
|
273
|
+
_state.sent();
|
|
274
|
+
metaLemmaString = this.getString(); ///
|
|
275
|
+
context.trace("Verifying the '".concat(metaLemmaString, "' metatheorem..."));
|
|
276
|
+
verifies = _superprop_get_verify().call(_this1);
|
|
277
|
+
if (verifies) {
|
|
278
|
+
metaTheorem = this; ///
|
|
279
|
+
context.addMetatheorem(metaTheorem);
|
|
280
|
+
context.debug("...verified the '".concat(metaLemmaString, "' metatheorem."));
|
|
281
|
+
}
|
|
282
|
+
return [
|
|
283
|
+
2,
|
|
284
|
+
verifies
|
|
285
|
+
];
|
|
274
286
|
}
|
|
275
|
-
return [
|
|
276
|
-
2,
|
|
277
|
-
verifies
|
|
278
|
-
];
|
|
279
287
|
});
|
|
280
288
|
}).call(this);
|
|
281
289
|
}
|
|
@@ -291,4 +299,4 @@ var _default = (0, _elements.define)((_Metatheorem = /*#__PURE__*/ function(TopL
|
|
|
291
299
|
return Metatheorem;
|
|
292
300
|
}(_topLevelMetaAssertion.default), _define_property(_Metatheorem, "name", "Metatheorem"), _Metatheorem));
|
|
293
301
|
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3RvcExldmVsTWV0YUFzc2VydGlvbi9tZXRhdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRvcExldmVsTWV0YUFzc2VydGlvbiBmcm9tIFwiLi4vdG9wTGV2ZWxNZXRhQXNzZXJ0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTWV0YXRoZW9yZW0gZXh0ZW5kcyBUb3BMZXZlbE1ldGFBc3NlcnRpb24ge1xuICBhc3luYyB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVzO1xuXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpO1xuXG4gICAgYXdhaXQgdGhpcy5icmVhayhjb250ZXh0KTtcblxuICAgIGNvbnN0IG1ldGFMZW1tYVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhTGVtbWFTdHJpbmd9JyBtZXRhdGhlb3JlbS4uLmApO1xuXG4gICAgdmVyaWZpZXMgPSBzdXBlci52ZXJpZnkoKTtcblxuICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgY29uc3QgbWV0YVRoZW9yZW0gPSB0aGlzOyAvLy9cblxuICAgICAgY29udGV4dC5hZGRNZXRhdGhlb3JlbShtZXRhVGhlb3JlbSk7XG5cbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhTGVtbWFTdHJpbmd9JyBtZXRhdGhlb3JlbS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZXM7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiTWV0YXRoZW9yZW1cIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkgeyByZXR1cm4gVG9wTGV2ZWxNZXRhQXNzZXJ0aW9uLmZyb21KU09OKE1ldGF0aGVvcmVtLCBqc29uLCBjb250ZXh0KTsgfVxufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiTWV0YXRoZW9yZW0iLCJ2ZXJpZnkiLCJ2ZXJpZmllcyIsImNvbnRleHQiLCJtZXRhTGVtbWFTdHJpbmciLCJtZXRhVGhlb3JlbSIsImdldENvbnRleHQiLCJicmVhayIsImdldFN0cmluZyIsInRyYWNlIiwiYWRkTWV0YXRoZW9yZW0iLCJkZWJ1ZyIsImZyb21KU09OIiwianNvbiIsIlRvcExldmVsTWV0YUFzc2VydGlvbiIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBQTs7OzRFQUprQzt3QkFFWDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFdkIsV0FBZUEsSUFBQUEsZ0JBQU0sZ0NBQUM7O2FBQU1DO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOzs7O1lBQ3BCQyxLQUFBQTttQkFBTixTQUFNQTs7O2tEQURvQkQ7Ozt3QkFFcEJFLFVBRUVDLFNBSUFDLGlCQU9FQzs7OztnQ0FYRkYsVUFBVSxJQUFJLENBQUNHLFVBQVU7Z0NBRS9COztvQ0FBTSxJQUFJLENBQUNDLEtBQUssQ0FBQ0o7OztnQ0FBakI7Z0NBRU1DLGtCQUFrQixJQUFJLENBQUNJLFNBQVMsSUFBSSxHQUFHO2dDQUU3Q0wsUUFBUU0sS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCTCxpQkFBZ0I7Z0NBRWhERixXQUFXLHdCQUFBO2dDQUVYLElBQUlBLFVBQVU7b0NBQ05HLGNBQWMsSUFBSSxFQUFFLEdBQUc7b0NBRTdCRixRQUFRTyxjQUFjLENBQUNMO29DQUV2QkYsUUFBUVEsS0FBSyxDQUFDLEFBQUMsb0JBQW1DLE9BQWhCUCxpQkFBZ0I7Z0NBQ3BEO2dDQUVBOztvQ0FBT0Y7Ozs7Z0JBQ1Q7Ozs7O1lBSU9VLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNDLElBQUksRUFBRVYsT0FBTztnQkFBSSxPQUFPVyw4QkFBcUIsQ0FBQ0YsUUFBUSxDQUFDWixhQUFhYSxNQUFNVjtZQUFVOzs7O0VBM0J0RFcsOEJBQXFCLEdBeUJuRSwrQkFBT0MsUUFBTyJ9
|
package/lib/utilities/context.js
CHANGED
|
@@ -12,6 +12,12 @@ _export(exports, {
|
|
|
12
12
|
get asyncAttempt () {
|
|
13
13
|
return asyncAttempt;
|
|
14
14
|
},
|
|
15
|
+
get asyncLiminally () {
|
|
16
|
+
return asyncLiminally;
|
|
17
|
+
},
|
|
18
|
+
get asyncLiterally () {
|
|
19
|
+
return asyncLiterally;
|
|
20
|
+
},
|
|
15
21
|
get asyncScope () {
|
|
16
22
|
return asyncScope;
|
|
17
23
|
},
|
|
@@ -177,6 +183,27 @@ function literally(innerFunction, context) {
|
|
|
177
183
|
context = literalContext; ///
|
|
178
184
|
return innerFunction(context);
|
|
179
185
|
}
|
|
186
|
+
function asyncScope(innerFunction, context) {
|
|
187
|
+
return _async_to_generator(function() {
|
|
188
|
+
var scopedContext;
|
|
189
|
+
return _ts_generator(this, function(_state) {
|
|
190
|
+
switch(_state.label){
|
|
191
|
+
case 0:
|
|
192
|
+
scopedContext = _scoped.default.fromNothing(context);
|
|
193
|
+
context = scopedContext; ///
|
|
194
|
+
return [
|
|
195
|
+
4,
|
|
196
|
+
innerFunction(context)
|
|
197
|
+
];
|
|
198
|
+
case 1:
|
|
199
|
+
return [
|
|
200
|
+
2,
|
|
201
|
+
_state.sent()
|
|
202
|
+
];
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
})();
|
|
206
|
+
}
|
|
180
207
|
function asyncAttempt(innerFunction, context) {
|
|
181
208
|
return _async_to_generator(function() {
|
|
182
209
|
var ephemeralContext;
|
|
@@ -198,14 +225,35 @@ function asyncAttempt(innerFunction, context) {
|
|
|
198
225
|
});
|
|
199
226
|
})();
|
|
200
227
|
}
|
|
201
|
-
function
|
|
228
|
+
function asyncLiminally(innerFunction, context) {
|
|
202
229
|
return _async_to_generator(function() {
|
|
203
|
-
var
|
|
230
|
+
var liminalContext;
|
|
204
231
|
return _ts_generator(this, function(_state) {
|
|
205
232
|
switch(_state.label){
|
|
206
233
|
case 0:
|
|
207
|
-
|
|
208
|
-
context =
|
|
234
|
+
liminalContext = _liminal.default.fromNothing(context);
|
|
235
|
+
context = liminalContext; ///
|
|
236
|
+
return [
|
|
237
|
+
4,
|
|
238
|
+
innerFunction(context)
|
|
239
|
+
];
|
|
240
|
+
case 1:
|
|
241
|
+
return [
|
|
242
|
+
2,
|
|
243
|
+
_state.sent()
|
|
244
|
+
];
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
})();
|
|
248
|
+
}
|
|
249
|
+
function asyncLiterally(innerFunction, context) {
|
|
250
|
+
return _async_to_generator(function() {
|
|
251
|
+
var literalContext;
|
|
252
|
+
return _ts_generator(this, function(_state) {
|
|
253
|
+
switch(_state.label){
|
|
254
|
+
case 0:
|
|
255
|
+
literalContext = _literal.default.fromNothing(context);
|
|
256
|
+
context = literalContext; ///
|
|
209
257
|
return [
|
|
210
258
|
4,
|
|
211
259
|
innerFunction(context)
|
|
@@ -220,4 +268,4 @@ function asyncScope(innerFunction, context) {
|
|
|
220
268
|
})();
|
|
221
269
|
}
|
|
222
270
|
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFNjb3BlZENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvc2NvcGVkXCI7XG5pbXBvcnQgTGltaW5hbENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbGltaW5hbFwiO1xuaW1wb3J0IExpdGVyYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xpdGVyYWxcIjtcbmltcG9ydCBFcGhlbWVyYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2VwaGVtZXJhbFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gc2NvcGUoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBzY29wZWRDb250ZXh0ID0gU2NvcGVkQ29udGV4dC5mcm9tTm90aGluZyhjb250ZXh0KTtcblxuICBjb250ZXh0ID0gc2NvcGVkQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXR0ZW1wdChpbm5lckZ1bmN0aW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IGVwaGVtZXJhbENvbnRleHQgPSBFcGhlbWVyYWxDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBlcGhlbWVyYWxDb250ZXh0OyAgLy8vXG5cbiAgcmV0dXJuIGlubmVyRnVuY3Rpb24oY29udGV4dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaW1pbmFsbHkoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBsaW1pbmFsQ29udGV4dCA9IExpbWluYWxDb250ZXh0LmZyb21Ob3RoaW5nKGNvbnRleHQpO1xuXG4gIGNvbnRleHQgPSBsaW1pbmFsQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGl0ZXJhbGx5KGlubmVyRnVuY3Rpb24sIGNvbnRleHQpIHtcbiAgY29uc3QgbGl0ZXJhbENvbnRleHQgPSBMaXRlcmFsQ29udGV4dC5mcm9tTm90aGluZyhjb250ZXh0KTtcblxuICBjb250ZXh0ID0gbGl0ZXJhbENvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jU2NvcGUoaW5uZXJGdW5jdGlvbiwgY29udGV4dCkge1xuICBjb25zdCBzY29wZWRDb250ZXh0ID0gU2NvcGVkQ29udGV4dC5mcm9tTm90aGluZyhjb250ZXh0KTtcblxuICBjb250ZXh0ID0gc2NvcGVkQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBhd2FpdCBpbm5lckZ1bmN0aW9uKGNvbnRleHQpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNBdHRlbXB0KGlubmVyRnVuY3Rpb24sIGNvbnRleHQpIHtcbiAgY29uc3QgZXBoZW1lcmFsQ29udGV4dCA9IEVwaGVtZXJhbENvbnRleHQuZnJvbU5vdGhpbmcoY29udGV4dCk7XG5cbiAgY29udGV4dCA9IGVwaGVtZXJhbENvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gYXdhaXQgaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jTGltaW5hbGx5KGlubmVyRnVuY3Rpb24sIGNvbnRleHQpIHtcbiAgY29uc3QgbGltaW5hbENvbnRleHQgPSBMaW1pbmFsQ29udGV4dC5mcm9tTm90aGluZyhjb250ZXh0KTtcblxuICBjb250ZXh0ID0gbGltaW5hbENvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gYXdhaXQgaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jTGl0ZXJhbGx5KGlubmVyRnVuY3Rpb24sIGNvbnRleHQpIHtcbiAgY29uc3QgbGl0ZXJhbENvbnRleHQgPSBMaXRlcmFsQ29udGV4dC5mcm9tTm90aGluZyhjb250ZXh0KTtcblxuICBjb250ZXh0ID0gbGl0ZXJhbENvbnRleHQ7ICAvLy9cblxuICByZXR1cm4gYXdhaXQgaW5uZXJGdW5jdGlvbihjb250ZXh0KTtcbn1cblxuIl0sIm5hbWVzIjpbImFzeW5jQXR0ZW1wdCIsImFzeW5jTGltaW5hbGx5IiwiYXN5bmNMaXRlcmFsbHkiLCJhc3luY1Njb3BlIiwiYXR0ZW1wdCIsImxpbWluYWxseSIsImxpdGVyYWxseSIsInNjb3BlIiwiaW5uZXJGdW5jdGlvbiIsImNvbnRleHQiLCJzY29wZWRDb250ZXh0IiwiU2NvcGVkQ29udGV4dCIsImZyb21Ob3RoaW5nIiwiZXBoZW1lcmFsQ29udGV4dCIsIkVwaGVtZXJhbENvbnRleHQiLCJsaW1pbmFsQ29udGV4dCIsIkxpbWluYWxDb250ZXh0IiwibGl0ZXJhbENvbnRleHQiLCJMaXRlcmFsQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBK0NzQkE7ZUFBQUE7O1FBUUFDO2VBQUFBOztRQVFBQztlQUFBQTs7UUF4QkFDO2VBQUFBOztRQXhCTkM7ZUFBQUE7O1FBUUFDO2VBQUFBOztRQVFBQztlQUFBQTs7UUF4QkFDO2VBQUFBOzs7NkRBTFU7OERBQ0M7OERBQ0E7Z0VBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV0QixTQUFTQSxNQUFNQyxhQUFhLEVBQUVDLE9BQU87SUFDMUMsSUFBTUMsZ0JBQWdCQyxlQUFhLENBQUNDLFdBQVcsQ0FBQ0g7SUFFaERBLFVBQVVDLGVBQWdCLEdBQUc7SUFFN0IsT0FBT0YsY0FBY0M7QUFDdkI7QUFFTyxTQUFTTCxRQUFRSSxhQUFhLEVBQUVDLE9BQU87SUFDNUMsSUFBTUksbUJBQW1CQyxrQkFBZ0IsQ0FBQ0YsV0FBVyxDQUFDSDtJQUV0REEsVUFBVUksa0JBQW1CLEdBQUc7SUFFaEMsT0FBT0wsY0FBY0M7QUFDdkI7QUFFTyxTQUFTSixVQUFVRyxhQUFhLEVBQUVDLE9BQU87SUFDOUMsSUFBTU0saUJBQWlCQyxnQkFBYyxDQUFDSixXQUFXLENBQUNIO0lBRWxEQSxVQUFVTSxnQkFBaUIsR0FBRztJQUU5QixPQUFPUCxjQUFjQztBQUN2QjtBQUVPLFNBQVNILFVBQVVFLGFBQWEsRUFBRUMsT0FBTztJQUM5QyxJQUFNUSxpQkFBaUJDLGdCQUFjLENBQUNOLFdBQVcsQ0FBQ0g7SUFFbERBLFVBQVVRLGdCQUFpQixHQUFHO0lBRTlCLE9BQU9ULGNBQWNDO0FBQ3ZCO0FBRU8sU0FBZU4sV0FBV0ssYUFBYSxFQUFFQyxPQUFPOztZQUMvQ0M7Ozs7b0JBQUFBLGdCQUFnQkMsZUFBYSxDQUFDQyxXQUFXLENBQUNIO29CQUVoREEsVUFBVUMsZUFBZ0IsR0FBRztvQkFFdEI7O3dCQUFNRixjQUFjQzs7O29CQUEzQjs7d0JBQU87Ozs7SUFDVDs7QUFFTyxTQUFlVCxhQUFhUSxhQUFhLEVBQUVDLE9BQU87O1lBQ2pESTs7OztvQkFBQUEsbUJBQW1CQyxrQkFBZ0IsQ0FBQ0YsV0FBVyxDQUFDSDtvQkFFdERBLFVBQVVJLGtCQUFtQixHQUFHO29CQUV6Qjs7d0JBQU1MLGNBQWNDOzs7b0JBQTNCOzt3QkFBTzs7OztJQUNUOztBQUVPLFNBQWVSLGVBQWVPLGFBQWEsRUFBRUMsT0FBTzs7WUFDbkRNOzs7O29CQUFBQSxpQkFBaUJDLGdCQUFjLENBQUNKLFdBQVcsQ0FBQ0g7b0JBRWxEQSxVQUFVTSxnQkFBaUIsR0FBRztvQkFFdkI7O3dCQUFNUCxjQUFjQzs7O29CQUEzQjs7d0JBQU87Ozs7SUFDVDs7QUFFTyxTQUFlUCxlQUFlTSxhQUFhLEVBQUVDLE9BQU87O1lBQ25EUTs7OztvQkFBQUEsaUJBQWlCQyxnQkFBYyxDQUFDTixXQUFXLENBQUNIO29CQUVsREEsVUFBVVEsZ0JBQWlCLEdBQUc7b0JBRXZCOzt3QkFBTVQsY0FBY0M7OztvQkFBM0I7O3dCQUFPOzs7O0lBQ1QifQ==
|