occam-verify-cli 0.0.457 → 0.0.459
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/context/metaproof.js +13 -1
- package/lib/premise.js +5 -5
- package/lib/verify/metaDerivation.js +5 -18
- package/lib/verify/metaproof.js +43 -38
- package/lib/verify/metastatement/unqualified.js +2 -2
- package/package.json +4 -4
- package/src/context/metaproof.js +14 -0
- package/src/premise.js +7 -6
- package/src/verify/metaDerivation.js +7 -32
- package/src/verify/metaproof.js +58 -49
- package/src/verify/metastatement/unqualified.js +1 -1
package/lib/context/metaproof.js
CHANGED
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _file = /*#__PURE__*/ _interopRequireDefault(require("../mixins/file"));
|
|
12
12
|
var _logging = /*#__PURE__*/ _interopRequireDefault(require("../mixins/logging"));
|
|
13
13
|
var _callbacks = /*#__PURE__*/ _interopRequireDefault(require("../mixins/callbacks"));
|
|
14
|
+
var _array = require("../utilities/array");
|
|
14
15
|
function _arrayLikeToArray(arr, len) {
|
|
15
16
|
if (len == null || len > arr.length) len = arr.length;
|
|
16
17
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -88,6 +89,17 @@ var MetaproofContext = /*#__PURE__*/ function() {
|
|
|
88
89
|
return metaAssertions;
|
|
89
90
|
}
|
|
90
91
|
},
|
|
92
|
+
{
|
|
93
|
+
key: "getLastMetaAssertion",
|
|
94
|
+
value: function getLastMetaAssertion() {
|
|
95
|
+
var lastMetaAssertion = null;
|
|
96
|
+
var metaAssertionsLength = this.metaAssertions.length;
|
|
97
|
+
if (metaAssertionsLength > 0) {
|
|
98
|
+
lastMetaAssertion = (0, _array.last)(this.metaAssertions);
|
|
99
|
+
}
|
|
100
|
+
return lastMetaAssertion;
|
|
101
|
+
}
|
|
102
|
+
},
|
|
91
103
|
{
|
|
92
104
|
key: "setDerived",
|
|
93
105
|
value: function setDerived(derived) {
|
|
@@ -141,4 +153,4 @@ Object.assign(MetaproofContext.prototype, _logging.default);
|
|
|
141
153
|
Object.assign(MetaproofContext.prototype, _callbacks.default);
|
|
142
154
|
var _default = MetaproofContext;
|
|
143
155
|
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L21ldGFwcm9vZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGZpbGVNaXhpbnMgZnJvbSBcIi4uL21peGlucy9maWxlXCI7XG5pbXBvcnQgbG9nZ2luZ01peGlucyBmcm9tIFwiLi4vbWl4aW5zL2xvZ2dpbmdcIjtcbmltcG9ydCBjYWxsYmFja3NNaXhpbnMgZnJvbSBcIi4uL21peGlucy9jYWxsYmFja3NcIjtcblxuaW1wb3J0IHsgbGFzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcblxuY2xhc3MgTWV0YXByb29mQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIGRlcml2ZWQsIG1ldGFBc3NlcnRpb25zKSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLmRlcml2ZWQgPSBkZXJpdmVkO1xuICAgIHRoaXMubWV0YUFzc2VydGlvbnMgPSBtZXRhQXNzZXJ0aW9ucztcbiAgfVxuXG4gIGdldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxuXG4gIGlzRGVyaXZlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kZXJpdmVkO1xuICB9XG5cbiAgZ2V0TWV0YUFzc2VydGlvbnMoKSB7XG4gICAgbGV0IG1ldGFBc3NlcnRpb25zID0gdGhpcy5jb250ZXh0LmdldE1ldGFBc3NlcnRpb25zKCk7XG5cbiAgICBtZXRhQXNzZXJ0aW9ucyA9IFsgIC8vL1xuICAgICAgLi4ubWV0YUFzc2VydGlvbnMsXG4gICAgICAuLi50aGlzLm1ldGFBc3NlcnRpb25zXG4gICAgXTtcblxuICAgIHJldHVybiBtZXRhQXNzZXJ0aW9ucztcbiAgfVxuXG4gIGdldExhc3RNZXRhQXNzZXJ0aW9uKCkge1xuICAgIGxldCBsYXN0TWV0YUFzc2VydGlvbiA9IG51bGw7XG5cbiAgICBjb25zdCBtZXRhQXNzZXJ0aW9uc0xlbmd0aCA9IHRoaXMubWV0YUFzc2VydGlvbnMubGVuZ3RoO1xuXG4gICAgaWYgKG1ldGFBc3NlcnRpb25zTGVuZ3RoID4gMCkge1xuICAgICAgbGFzdE1ldGFBc3NlcnRpb24gPSBsYXN0KHRoaXMubWV0YUFzc2VydGlvbnMpO1xuICAgIH1cblxuICAgIHJldHVybiBsYXN0TWV0YUFzc2VydGlvbjtcbiAgfVxuXG4gIHNldERlcml2ZWQoZGVyaXZlZCkge1xuICAgIHRoaXMuZGVyaXZlZCA9IGRlcml2ZWQ7XG4gIH1cblxuICBhZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pIHtcbiAgICB0aGlzLm1ldGFBc3NlcnRpb25zLnB1c2gobWV0YUFzc2VydGlvbik7XG4gIH1cblxuICBtYXRjaE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbikge1xuICAgIGxldCBtZXRhQXNzZXJ0aW9uTWF0Y2hlcztcblxuICAgIGNvbnN0IG1ldGFBc3NlcnRpb25CID0gbWV0YUFzc2VydGlvbjsgLy8vXG5cbiAgICBtZXRhQXNzZXJ0aW9uTWF0Y2hlcyA9IHRoaXMubWV0YUFzc2VydGlvbnMuc29tZSgobWV0YUFzc2VydGlvbikgPT4ge1xuICAgICAgY29uc3QgbWV0YUFzc2VydGlvbkEgPSBtZXRhQXNzZXJ0aW9uLCAvLy9cbiAgICAgICAgICAgIG1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uQS5tYXRjaChtZXRhQXNzZXJ0aW9uQik7XG5cbiAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFtZXRhQXNzZXJ0aW9uTWF0Y2hlcykge1xuICAgICAgbWV0YUFzc2VydGlvbk1hdGNoZXMgPSB0aGlzLmNvbnRleHQubWF0Y2hNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhQXNzZXJ0aW9uTWF0Y2hlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gZmlsZUNvbnRleHQsICAvLy9cbiAgICAgICAgICBkZXJpdmVkID0gZmFsc2UsXG4gICAgICAgICAgbWV0YUFzc2VydGlvbnMgPSBbXSxcbiAgICAgICAgICBtZXRhcHJvb2ZDb250ZXh0ID0gbmV3IE1ldGFwcm9vZkNvbnRleHQoY29udGV4dCwgZGVyaXZlZCwgbWV0YUFzc2VydGlvbnMpO1xuXG4gICAgcmV0dXJuIG1ldGFwcm9vZkNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGFwcm9vZkNvbnRleHQobWV0YXByb29mQ29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRleHQgPSBtZXRhcHJvb2ZDb250ZXh0LCAgLy8vXG4gICAgICAgICAgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICAgIG1ldGFBc3NlcnRpb25zID0gW107XG5cbiAgICBtZXRhcHJvb2ZDb250ZXh0ID0gbmV3IE1ldGFwcm9vZkNvbnRleHQoY29udGV4dCwgZGVyaXZlZCwgbWV0YUFzc2VydGlvbnMpOyAgLy8vXG5cbiAgICByZXR1cm4gbWV0YXByb29mQ29udGV4dDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKE1ldGFwcm9vZkNvbnRleHQucHJvdG90eXBlLCBmaWxlTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oTWV0YXByb29mQ29udGV4dC5wcm90b3R5cGUsIGxvZ2dpbmdNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihNZXRhcHJvb2ZDb250ZXh0LnByb3RvdHlwZSwgY2FsbGJhY2tzTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgTWV0YXByb29mQ29udGV4dDsiXSwibmFtZXMiOlsiTWV0YXByb29mQ29udGV4dCIsImNvbnRleHQiLCJkZXJpdmVkIiwibWV0YUFzc2VydGlvbnMiLCJnZXRDb250ZXh0IiwiaXNEZXJpdmVkIiwiZ2V0TWV0YUFzc2VydGlvbnMiLCJnZXRMYXN0TWV0YUFzc2VydGlvbiIsImxhc3RNZXRhQXNzZXJ0aW9uIiwibWV0YUFzc2VydGlvbnNMZW5ndGgiLCJsZW5ndGgiLCJsYXN0Iiwic2V0RGVyaXZlZCIsImFkZE1ldGFBc3NlcnRpb24iLCJtZXRhQXNzZXJ0aW9uIiwicHVzaCIsIm1hdGNoTWV0YUFzc2VydGlvbiIsIm1ldGFBc3NlcnRpb25NYXRjaGVzIiwibWV0YUFzc2VydGlvbkIiLCJzb21lIiwibWV0YUFzc2VydGlvbkEiLCJtYXRjaGVzIiwibWF0Y2giLCJmcm9tRmlsZUNvbnRleHQiLCJmaWxlQ29udGV4dCIsIm1ldGFwcm9vZkNvbnRleHQiLCJmcm9tTWV0YXByb29mQ29udGV4dCIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImZpbGVNaXhpbnMiLCJsb2dnaW5nTWl4aW5zIiwiY2FsbGJhY2tzTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFtR0E7OztlQUFBOzs7eURBakd1Qjs0REFDRzs4REFDRTtxQkFFUDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFckIsSUFBQSxBQUFNQSxpQ0F1RkgsQUF2Rkg7YUFBTUEsaUJBQ1FDLE9BQU8sRUFBRUMsT0FBTyxFQUFFQyxjQUFjOzhCQUR4Q0g7UUFFRixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLGNBQWMsR0FBR0E7O2lCQUpwQkg7O1lBT0pJLEtBQUFBO21CQUFBQSxTQUFBQSxhQUFhO2dCQUNYLE9BQU8sSUFBSSxDQUFDSCxPQUFPO1lBQ3JCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLFlBQVk7Z0JBQ1YsT0FBTyxJQUFJLENBQUNILE9BQU87WUFDckI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsb0JBQW9CO2dCQUNsQixJQUFJSCxpQkFBaUIsSUFBSSxDQUFDRixPQUFPLENBQUNLLGlCQUFpQjtnQkFFbkRILGlCQUFpQixBQUNmLG1CQUFHQSx1QkFDSCxtQkFBRyxJQUFJLENBQUNBLGNBQWM7Z0JBR3hCLE9BQU9BO1lBQ1Q7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCO2dCQUNyQixJQUFJQyxvQkFBb0IsSUFBSTtnQkFFNUIsSUFBTUMsdUJBQXVCLElBQUksQ0FBQ04sY0FBYyxDQUFDTyxNQUFNO2dCQUV2RCxJQUFJRCx1QkFBdUIsR0FBRztvQkFDNUJELG9CQUFvQkcsSUFBQUEsV0FBSSxFQUFDLElBQUksQ0FBQ1IsY0FBYztnQkFDOUMsQ0FBQztnQkFFRCxPQUFPSztZQUNUOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVdWLE9BQU8sRUFBRTtnQkFDbEIsSUFBSSxDQUFDQSxPQUFPLEdBQUdBO1lBQ2pCOzs7WUFFQVcsS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQkMsYUFBYSxFQUFFO2dCQUM5QixJQUFJLENBQUNYLGNBQWMsQ0FBQ1ksSUFBSSxDQUFDRDtZQUMzQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUJGLGFBQWEsRUFBRTtnQkFDaEMsSUFBSUc7Z0JBRUosSUFBTUMsaUJBQWlCSixlQUFlLEdBQUc7Z0JBRXpDRyx1QkFBdUIsSUFBSSxDQUFDZCxjQUFjLENBQUNnQixJQUFJLENBQUMsU0FBQ0wsZUFBa0I7b0JBQ2pFLElBQU1NLGlCQUFpQk4sZUFDakJPLFVBQVVELGVBQWVFLEtBQUssQ0FBQ0o7b0JBRXJDLElBQUlHLFNBQVM7d0JBQ1gsT0FBTyxJQUFJO29CQUNiLENBQUM7Z0JBQ0g7Z0JBRUEsSUFBSSxDQUFDSixzQkFBc0I7b0JBQ3pCQSx1QkFBdUIsSUFBSSxDQUFDaEIsT0FBTyxDQUFDZSxrQkFBa0IsQ0FBQ0Y7Z0JBQ3pELENBQUM7Z0JBRUQsT0FBT0c7WUFDVDs7OztZQUVPTSxLQUFBQTttQkFBUCxTQUFPQSxnQkFBZ0JDLFdBQVcsRUFBRTtnQkFDbEMsSUFBTXZCLFVBQVV1QixhQUNWdEIsVUFBVSxLQUFLLEVBQ2ZDLGlCQUFpQixFQUFFLEVBQ25Cc0IsbUJBQW1CLElBdkV2QnpCLGlCQXVFNENDLFNBQVNDLFNBQVNDO2dCQUVoRSxPQUFPc0I7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLHFCQUFxQkQsZ0JBQWdCLEVBQUU7Z0JBQzVDLElBQU14QixVQUFVd0Isa0JBQ1Z2QixVQUFVLEtBQUssRUFDZkMsaUJBQWlCLEVBQUU7Z0JBRXpCc0IsbUJBQW1CLElBakZqQnpCLGlCQWlGc0NDLFNBQVNDLFNBQVNDLGlCQUFrQixHQUFHO2dCQUUvRSxPQUFPc0I7WUFDVDs7O1dBcEZJekI7O0FBdUZOMkIsT0FBT0MsTUFBTSxDQUFDNUIsaUJBQWlCNkIsU0FBUyxFQUFFQyxhQUFVO0FBQ3BESCxPQUFPQyxNQUFNLENBQUM1QixpQkFBaUI2QixTQUFTLEVBQUVFLGdCQUFhO0FBQ3ZESixPQUFPQyxNQUFNLENBQUM1QixpQkFBaUI2QixTQUFTLEVBQUVHLGtCQUFlO0lBRXpELFdBQWVoQyJ9
|
package/lib/premise.js
CHANGED
|
@@ -37,7 +37,7 @@ function _interopRequireDefault(obj) {
|
|
|
37
37
|
default: obj
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
|
-
var metastatementNodesQuery = (0, _query.nodesQuery)("/metaSubproofAssertion/metastatement"), metaSubproofAssertionNodeQuery = (0, _query.nodeQuery)("/metastatement/metaSubproofAssertion!"),
|
|
40
|
+
var metastatementNodesQuery = (0, _query.nodesQuery)("/metaSubproofAssertion/metastatement"), metaSubproofAssertionNodeQuery = (0, _query.nodeQuery)("/metastatement/metaSubproofAssertion!"), unqualifiedMetastatementMetastatementNodesQuery = (0, _query.nodesQuery)("/metaSubproof/unqualifiedMetastatement/metastatement!"), qualifiedOrUnqualifiedMetastatementMetastatementNodeQuery = (0, _query.nodeQuery)("/metaSubproof/metaDerivation|abridgedMetaDerivation/");
|
|
41
41
|
var Premise = /*#__PURE__*/ function() {
|
|
42
42
|
function Premise(metastatementNode) {
|
|
43
43
|
_classCallCheck(this, Premise);
|
|
@@ -56,10 +56,10 @@ var Premise = /*#__PURE__*/ function() {
|
|
|
56
56
|
var metaSubproofNodeMatches = false;
|
|
57
57
|
var metaSubproofAssertionNode = metaSubproofAssertionNodeQuery(this.metastatementNode);
|
|
58
58
|
if (metaSubproofAssertionNode !== null) {
|
|
59
|
-
var metaSubproofAssertionMetastatementNodes = metastatementNodesQuery(metaSubproofAssertionNode), metaSubproofAssertionMetastatementNodesLength = metaSubproofAssertionMetastatementNodes.length,
|
|
60
|
-
if (metaSubproofAssertionMetastatementNodesLength ===
|
|
59
|
+
var metaSubproofAssertionMetastatementNodes = metastatementNodesQuery(metaSubproofAssertionNode), metaSubproofAssertionMetastatementNodesLength = metaSubproofAssertionMetastatementNodes.length, unqualifiedMetastatementMetastatementNodes = unqualifiedMetastatementMetastatementNodesQuery(metaSubproofNode), unqualifiedMetastatementMetastatementNodesLength = unqualifiedMetastatementMetastatementNodes.length;
|
|
60
|
+
if (metaSubproofAssertionMetastatementNodesLength === unqualifiedMetastatementMetastatementNodesLength) {
|
|
61
61
|
metaSubproofNodeMatches = metaSubproofAssertionMetastatementNodes.every(function(metaSubproofAssertionMetastatementNode, index) {
|
|
62
|
-
var
|
|
62
|
+
var unqualifiedMetastatementMetastatementNode = unqualifiedMetastatementMetastatementNodes[index], nonTerminalNode = unqualifiedMetastatementMetastatementNode, premiseNonTerminalNode = metaSubproofAssertionMetastatementNode, premiseNonTerminalNodeMatches = matchPremiseNonTerminalNode(premiseNonTerminalNode, nonTerminalNode, metaSubstitutions);
|
|
63
63
|
if (premiseNonTerminalNodeMatches) {
|
|
64
64
|
return true;
|
|
65
65
|
}
|
|
@@ -184,4 +184,4 @@ function matchPremiseMetastatementNode(premiseMetastatementNode, metastatementNo
|
|
|
184
184
|
return premiseMetastatementNodeMatches;
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVtaXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YVN1YnN0aXR1dGlvbiBmcm9tIFwiLi9tZXRhU3Vic3RpdHV0aW9uXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsIE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IG1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhU3VicHJvb2ZBc3NlcnRpb24vbWV0YXN0YXRlbWVudFwiKSxcbiAgICAgIG1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L21ldGFTdWJwcm9vZkFzc2VydGlvbiFcIiksXG4gICAgICBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhU3VicHJvb2YvcXVhbGlmaWVkTWV0YXN0YXRlbWVudHx1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFByZW1pc2Uge1xuICBjb25zdHJ1Y3RvcihtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMubWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldE1ldGFzdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hNZXRhU3VicHJvb2ZOb2RlKG1ldGFTdWJwcm9vZk5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IG1ldGFTdWJwcm9vZk5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBtZXRhU3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gbWV0YVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5KHRoaXMubWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKG1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGFTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlcyA9IG1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5KG1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgbWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoID0gbWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzLmxlbmd0aCxcbiAgICAgICAgICAgIHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzID0gcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeShtZXRhU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgICAgIHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoID0gcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXMubGVuZ3RoO1xuXG4gICAgICBpZiAobWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoID09PSBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlc0xlbmd0aCkge1xuICAgICAgICBtZXRhU3VicHJvb2ZOb2RlTWF0Y2hlcyA9IG1ldGFTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2Rlcy5ldmVyeSgobWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlID0gcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlID0gcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxOb2RlID0gbWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZW1pc2VOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hQcmVtaXNlTm9uVGVybWluYWxOb2RlKHByZW1pc2VOb25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFTdWJwcm9vZk5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIHByZW1pc2VOb25UZXJtaW5hbE5vZGUgPSB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VOb25UZXJtaW5hbE5vZGUocHJlbWlzZU5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyksXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMubWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnQgPSBtZXRhc3RhdGVtZW50U3RyaW5nLCAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbWV0YXN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgbWV0YXN0YXRlbWVudCB9ID0ganNvbixcbiAgICAgICAgICBtZXRhc3RhdGVtZW50U3RyaW5nID0gbWV0YXN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyhtZXRhc3RhdGVtZW50U3RyaW5nLCByZWxlYXNlQ29udGV4dCksXG4gICAgICAgICAgcHJlbWlzZSA9IG5ldyBQcmVtaXNlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBwcmVtaXNlO1xuICB9XG5cbiAgc3RhdGljIGZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIGNvbnN0IHByZW1pc2UgPSBuZXcgUHJlbWlzZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gcHJlbWlzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXRjaFByZW1pc2VOb2RlKHByZW1pc2VOb2RlLCBub2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgcHJlbWlzZU5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgcnVsZU5vZGVUZXJtaW5hbE5vZGUgPSBwcmVtaXNlTm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlID09PSBydWxlTm9kZVRlcm1pbmFsTm9kZSkge1xuICAgIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgICBwcmVtaXNlVGVybWluYWxOb2RlID0gcHJlbWlzZU5vZGUsICAvLy9cbiAgICAgICAgICAgIHByZW1pc2VUZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hQcmVtaXNlVGVybWluYWxOb2RlKHByZW1pc2VUZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBwcmVtaXNlTm9kZU1hdGNoZXMgPSBwcmVtaXNlVGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIHByZW1pc2VOb25UZXJtaW5hbE5vZGUgPSBwcmVtaXNlTm9kZSwgIC8vL1xuICAgICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VOb25UZXJtaW5hbE5vZGUocHJlbWlzZU5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIHByZW1pc2VOb2RlTWF0Y2hlcyA9IHByZW1pc2VOb25UZXJtaW5hbE5vZGVNYXRjaGVzOyAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJlbWlzZU5vZGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaFByZW1pc2VOb2RlcyhwcmVtaXNlTm9kZXMsIG5vZGVzLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICBsZXQgcHJlbWlzZU5vZGVzTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoLFxuICAgICAgICBwcmVtaXNlTm9kZXNMZW5ndGggPSBwcmVtaXNlTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChub2Rlc0xlbmd0aCA9PT0gcHJlbWlzZU5vZGVzTGVuZ3RoKSB7XG4gICAgcHJlbWlzZU5vZGVzTWF0Y2hlcyA9IG5vZGVzLmV2ZXJ5KChub2RlLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgcHJlbWlzZU5vZGUgPSBwcmVtaXNlTm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgcHJlbWlzZU5vZGVNYXRjaGVzID0gbWF0Y2hQcmVtaXNlTm9kZShwcmVtaXNlTm9kZSwgbm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICBpZiAocHJlbWlzZU5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHByZW1pc2VOb2Rlc01hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZU1ldGF2YXJpYWJsZShwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSwgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBwcmVtaXNlTWV0YXZhcmlhYmxlTWF0Y2hlcztcblxuICBjb25zdCBwcmVtaXNlTWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgIG1ldGFTdWJzdGl0dXRpb24gPSBtZXRhU3Vic3RpdHV0aW9ucy5maW5kKChtZXRhU3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IG1ldGFTdWJzdGl0dXRpb24uZ2V0TWV0YXZhcmlhYmxlTmFtZSgpO1xuXG4gICAgICAgICAgaWYgKG1ldGF2YXJpYWJsZU5hbWUgPT09IHByZW1pc2VNZXRhdmFyaWFibGVOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pIHx8IG51bGw7XG5cbiAgaWYgKG1ldGFTdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhU3Vic3RpdHV0aW9uTm9kZXNNYXRjaCA9IG1ldGFTdWJzdGl0dXRpb24ubWF0Y2hOb2Rlcyhub2Rlcyk7XG5cbiAgICBwcmVtaXNlTWV0YXZhcmlhYmxlTWF0Y2hlcyA9IG1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoOyAgLy8vXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IHByZW1pc2VNZXRhdmFyaWFibGVOYW1lLCAvLy9cbiAgICAgICAgICBtZXRhU3Vic3RpdHV0aW9uID0gTWV0YVN1YnN0aXR1dGlvbi5mcm9tTWV0YXZhcmlhYmxlTmFtZUFuZE5vZGVzKG1ldGF2YXJpYWJsZU5hbWUsIG5vZGVzKTtcblxuICAgIG1ldGFTdWJzdGl0dXRpb25zLnB1c2gobWV0YVN1YnN0aXR1dGlvbik7XG5cbiAgICBwcmVtaXNlTWV0YXZhcmlhYmxlTWF0Y2hlcyA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gcHJlbWlzZU1ldGF2YXJpYWJsZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZVRlcm1pbmFsTm9kZShwcmVtaXNlVGVybWluYWxOb2RlLCB0ZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBwcmVtaXNlVGVybWluYWxOb2RlLm1hdGNoKHRlcm1pbmFsTm9kZSksXG4gICAgICAgIHByZW1pc2VUZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hlcztcblxuICByZXR1cm4gcHJlbWlzZVRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZU5vblRlcm1pbmFsTm9kZShwcmVtaXNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgIHByZW1pc2VSdWxlTmFtZSA9IHByZW1pc2VOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgaWYgKHJ1bGVOYW1lID09PSBwcmVtaXNlUnVsZU5hbWUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBwcmVtaXNlQ2hpbGROb2RlcyA9IHByZW1pc2VOb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgcHJlbWlzZU5vZGVzID0gcHJlbWlzZUNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIHByZW1pc2VDaGlsZE5vZGVzTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZU5vZGVzKHByZW1pc2VOb2Rlcywgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgIHByZW1pc2VOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gcHJlbWlzZUNoaWxkTm9kZXNNYXRjaGVzOyAvLy9cblxuICAgIGlmICghcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMpIHtcbiAgICAgIGNvbnN0IHJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lID0gKHJ1bGVOYW1lID09PSBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSk7XG5cbiAgICAgIGlmIChydWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGUgPSBwcmVtaXNlTm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgIHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZShwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzOyAvLy9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlKHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3QgcHJlbWlzZU5vblRlcm1pbmFsTm9kZSA9IHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBwcmVtaXNlQ2hpbGROb2RlcyA9IHByZW1pc2VOb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICBwcmVtaXNlQ2hpbGROb2Rlc0xlbmd0aCA9IHByZW1pc2VDaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAocHJlbWlzZUNoaWxkTm9kZXNMZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCBmaXJzdFByZW1pc2VDaGlsZE5vZGUgPSBmaXJzdChwcmVtaXNlQ2hpbGROb2RlcyksXG4gICAgICAgICAgcHJlbWlzZUNoaWxkTm9kZSA9IGZpcnN0UHJlbWlzZUNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgIHByZW1pc2VDaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBwcmVtaXNlQ2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAocHJlbWlzZUNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgcHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlID0gcHJlbWlzZUNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUgPSBwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIHByZW1pc2VOb25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lTWV0YXZhcmlhYmxlUnVsZU5hbWUgPSAocHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUgPT09IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUpO1xuXG4gICAgICBpZiAocHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSA9IHByZW1pc2VOb25UZXJtaW5hbENoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgcHJlbWlzZU1ldGFWYXJpYWJsZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VNZXRhdmFyaWFibGUocHJlbWlzZU1ldGF2YXJpYWJsZU5vZGUsIG5vZGVzLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgcHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHByZW1pc2VNZXRhVmFyaWFibGVNYXRjaGVzOyAvLy9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJQcmVtaXNlIiwibWV0YXN0YXRlbWVudE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwibWV0YVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGFTdWJwcm9vZk5vZGUiLCJtZXRhU3VicHJvb2ZOb2RlIiwibWV0YVN1YnN0aXR1dGlvbnMiLCJtZXRhU3VicHJvb2ZOb2RlTWF0Y2hlcyIsIm1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMiLCJtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlcyIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoIiwiZXZlcnkiLCJtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSIsImluZGV4IiwicXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsInByZW1pc2VOb25UZXJtaW5hbE5vZGUiLCJwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoUHJlbWlzZU5vblRlcm1pbmFsTm9kZSIsIm1hdGNoTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJ0b0pTT04iLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwibWV0YXN0YXRlbWVudCIsImpzb24iLCJmcm9tSlNPTiIsInJlbGVhc2VDb250ZXh0IiwibWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyIsInByZW1pc2UiLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaFByZW1pc2VOb2RlIiwicHJlbWlzZU5vZGUiLCJub2RlIiwicHJlbWlzZU5vZGVNYXRjaGVzIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwicnVsZU5vZGVUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJwcmVtaXNlVGVybWluYWxOb2RlIiwicHJlbWlzZVRlcm1pbmFsTm9kZU1hdGNoZXMiLCJtYXRjaFByZW1pc2VUZXJtaW5hbE5vZGUiLCJtYXRjaFByZW1pc2VOb2RlcyIsInByZW1pc2VOb2RlcyIsIm5vZGVzIiwicHJlbWlzZU5vZGVzTWF0Y2hlcyIsIm5vZGVzTGVuZ3RoIiwicHJlbWlzZU5vZGVzTGVuZ3RoIiwibWF0Y2hQcmVtaXNlTWV0YXZhcmlhYmxlIiwicHJlbWlzZU1ldGF2YXJpYWJsZU5vZGUiLCJwcmVtaXNlTWV0YXZhcmlhYmxlTWF0Y2hlcyIsInByZW1pc2VNZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwibWV0YVN1YnN0aXR1dGlvbiIsImZpbmQiLCJtZXRhdmFyaWFibGVOYW1lIiwiZ2V0TWV0YXZhcmlhYmxlTmFtZSIsIm1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoIiwibWF0Y2hOb2RlcyIsIk1ldGFTdWJzdGl0dXRpb24iLCJmcm9tTWV0YXZhcmlhYmxlTmFtZUFuZE5vZGVzIiwicHVzaCIsIm1hdGNoZXMiLCJtYXRjaCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJwcmVtaXNlUnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsInByZW1pc2VDaGlsZE5vZGVzIiwicHJlbWlzZUNoaWxkTm9kZXNNYXRjaGVzIiwicnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsInByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSIsInByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaFByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSIsInByZW1pc2VDaGlsZE5vZGVzTGVuZ3RoIiwiZmlyc3RQcmVtaXNlQ2hpbGROb2RlIiwiZmlyc3QiLCJwcmVtaXNlQ2hpbGROb2RlIiwicHJlbWlzZUNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwicHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlIiwicHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUiLCJwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsInByZW1pc2VNZXRhVmFyaWFibGVNYXRjaGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWVxQkE7OztxRUFiUTtxQkFFUDtzQkFDTztxQkFDUzt5QkFHMEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFaEUsSUFBTUMsMEJBQTBCQyxJQUFBQSxpQkFBVSxFQUFDLHlDQUNyQ0MsaUNBQWlDQyxJQUFBQSxnQkFBUyxFQUFDLDBDQUMzQ0MsNkRBQTZESCxJQUFBQSxpQkFBVSxFQUFDO0FBRS9ELElBQUEsQUFBTUYsd0JBd0VsQixBQXhFWTthQUFNQSxRQUNQTSxpQkFBaUI7OEJBRFZOO1FBRWpCLElBQUksQ0FBQ00saUJBQWlCLEdBQUdBOztpQkFGUk47O1lBS25CTyxLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCO2dCQUNyQixPQUFPLElBQUksQ0FBQ0QsaUJBQWlCO1lBQy9COzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLHNCQUFzQkMsZ0JBQWdCLEVBQUVDLGlCQUFpQixFQUFFO2dCQUN6RCxJQUFJQywwQkFBMEIsS0FBSztnQkFFbkMsSUFBTUMsNEJBQTRCVCwrQkFBK0IsSUFBSSxDQUFDRyxpQkFBaUI7Z0JBRXZGLElBQUlNLDhCQUE4QixJQUFJLEVBQUU7b0JBQ3RDLElBQU1DLDBDQUEwQ1osd0JBQXdCVyw0QkFDbEVFLGdEQUFnREQsd0NBQXdDRSxNQUFNLEVBQzlGQyx3REFBd0RYLDJEQUEyREksbUJBQ25IUSw4REFBOERELHNEQUFzREQsTUFBTTtvQkFFaEksSUFBSUQsa0RBQWtERyw2REFBNkQ7d0JBQ2pITiwwQkFBMEJFLHdDQUF3Q0ssS0FBSyxDQUFDLFNBQUNDLHdDQUF3Q0MsT0FBVTs0QkFDL0YsSUFBTUMsdURBQXVETCxxREFBcUQsQ0FBQ0ksTUFBTSxFQUNuSEUsa0JBQWtCRCxzREFDbEJFLHlCQUF5Qkosd0NBQ3pCSyxnQ0FBZ0NDLDRCQUE0QkYsd0JBQXdCRCxpQkFBaUJa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
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVtaXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YVN1YnN0aXR1dGlvbiBmcm9tIFwiLi9tZXRhU3Vic3RpdHV0aW9uXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsIE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IG1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhU3VicHJvb2ZBc3NlcnRpb24vbWV0YXN0YXRlbWVudFwiKSxcbiAgICAgIG1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L21ldGFTdWJwcm9vZkFzc2VydGlvbiFcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YVN1YnByb29mL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKSxcbiAgICAgIHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhU3VicHJvb2YvbWV0YURlcml2YXRpb258YWJyaWRnZWRNZXRhRGVyaXZhdGlvbi9cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFByZW1pc2Uge1xuICBjb25zdHJ1Y3RvcihtZXRhc3RhdGVtZW50Tm9kZSkge1xuICAgIHRoaXMubWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIGdldE1ldGFzdGF0ZW1lbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hNZXRhU3VicHJvb2ZOb2RlKG1ldGFTdWJwcm9vZk5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IG1ldGFTdWJwcm9vZk5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBtZXRhU3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gbWV0YVN1YnByb29mQXNzZXJ0aW9uTm9kZVF1ZXJ5KHRoaXMubWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKG1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGFTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlcyA9IG1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5KG1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgbWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoID0gbWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzLmxlbmd0aCxcbiAgICAgICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlcyA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5KG1ldGFTdWJwcm9vZk5vZGUpLFxuICAgICAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoID0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzLmxlbmd0aDtcblxuICAgICAgaWYgKG1ldGFTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2Rlc0xlbmd0aCA9PT0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzTGVuZ3RoKSB7XG4gICAgICAgIG1ldGFTdWJwcm9vZk5vZGVNYXRjaGVzID0gbWV0YVN1YnByb29mQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVzLmV2ZXJ5KChtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVzW2luZGV4XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE1ldGFzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZW1pc2VOb25UZXJtaW5hbE5vZGUgPSBtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VOb25UZXJtaW5hbE5vZGUocHJlbWlzZU5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YVN1YnByb29mTm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZSA9IHRoaXMubWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZU5vblRlcm1pbmFsTm9kZShwcmVtaXNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSxcbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5tZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXN0YXRlbWVudCA9IG1ldGFzdGF0ZW1lbnRTdHJpbmcsIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBtZXRhc3RhdGVtZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIHJlbGVhc2VDb250ZXh0KSB7XG4gICAgY29uc3QgeyBtZXRhc3RhdGVtZW50IH0gPSBqc29uLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBtZXRhc3RhdGVtZW50LCAgLy8vXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZUZyb21NZXRhc3RhdGVtZW50U3RyaW5nKG1ldGFzdGF0ZW1lbnRTdHJpbmcsIHJlbGVhc2VDb250ZXh0KSxcbiAgICAgICAgICBwcmVtaXNlID0gbmV3IFByZW1pc2UobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgcmV0dXJuIHByZW1pc2U7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3QgcHJlbWlzZSA9IG5ldyBQcmVtaXNlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBwcmVtaXNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZU5vZGUocHJlbWlzZU5vZGUsIG5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBwcmVtaXNlTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICBydWxlTm9kZVRlcm1pbmFsTm9kZSA9IHByZW1pc2VOb2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IHJ1bGVOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIHByZW1pc2VUZXJtaW5hbE5vZGUgPSBwcmVtaXNlTm9kZSwgIC8vL1xuICAgICAgICAgICAgcHJlbWlzZVRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VUZXJtaW5hbE5vZGUocHJlbWlzZVRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIHByZW1pc2VOb2RlTWF0Y2hlcyA9IHByZW1pc2VUZXJtaW5hbE5vZGVNYXRjaGVzOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZSA9IHByZW1pc2VOb2RlLCAgLy8vXG4gICAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZU5vblRlcm1pbmFsTm9kZShwcmVtaXNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgcHJlbWlzZU5vZGVNYXRjaGVzID0gcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXM7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcmVtaXNlTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoUHJlbWlzZU5vZGVzKHByZW1pc2VOb2Rlcywgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gIGxldCBwcmVtaXNlTm9kZXNNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIHByZW1pc2VOb2Rlc0xlbmd0aCA9IHByZW1pc2VOb2Rlcy5sZW5ndGg7XG5cbiAgaWYgKG5vZGVzTGVuZ3RoID09PSBwcmVtaXNlTm9kZXNMZW5ndGgpIHtcbiAgICBwcmVtaXNlTm9kZXNNYXRjaGVzID0gbm9kZXMuZXZlcnkoKG5vZGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBwcmVtaXNlTm9kZSA9IHByZW1pc2VOb2Rlc1tpbmRleF0sXG4gICAgICAgICAgICBwcmVtaXNlTm9kZU1hdGNoZXMgPSBtYXRjaFByZW1pc2VOb2RlKHByZW1pc2VOb2RlLCBub2RlLCBtZXRhU3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgIGlmIChwcmVtaXNlTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcHJlbWlzZU5vZGVzTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hQcmVtaXNlTWV0YXZhcmlhYmxlKHByZW1pc2VNZXRhdmFyaWFibGVOb2RlLCBub2RlcywgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IHByZW1pc2VNZXRhdmFyaWFibGVNYXRjaGVzO1xuXG4gIGNvbnN0IHByZW1pc2VNZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKHByZW1pc2VNZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgbWV0YVN1YnN0aXR1dGlvbiA9IG1ldGFTdWJzdGl0dXRpb25zLmZpbmQoKG1ldGFTdWJzdGl0dXRpb24pID0+IHtcbiAgICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YVN1YnN0aXR1dGlvbi5nZXRNZXRhdmFyaWFibGVOYW1lKCk7XG5cbiAgICAgICAgICBpZiAobWV0YXZhcmlhYmxlTmFtZSA9PT0gcHJlbWlzZU1ldGF2YXJpYWJsZU5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgbnVsbDtcblxuICBpZiAobWV0YVN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoID0gbWV0YVN1YnN0aXR1dGlvbi5tYXRjaE5vZGVzKG5vZGVzKTtcblxuICAgIHByZW1pc2VNZXRhdmFyaWFibGVNYXRjaGVzID0gbWV0YVN1YnN0aXR1dGlvbk5vZGVzTWF0Y2g7ICAvLy9cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gcHJlbWlzZU1ldGF2YXJpYWJsZU5hbWUsIC8vL1xuICAgICAgICAgIG1ldGFTdWJzdGl0dXRpb24gPSBNZXRhU3Vic3RpdHV0aW9uLmZyb21NZXRhdmFyaWFibGVOYW1lQW5kTm9kZXMobWV0YXZhcmlhYmxlTmFtZSwgbm9kZXMpO1xuXG4gICAgbWV0YVN1YnN0aXR1dGlvbnMucHVzaChtZXRhU3Vic3RpdHV0aW9uKTtcblxuICAgIHByZW1pc2VNZXRhdmFyaWFibGVNYXRjaGVzID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBwcmVtaXNlTWV0YXZhcmlhYmxlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hQcmVtaXNlVGVybWluYWxOb2RlKHByZW1pc2VUZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgY29uc3QgbWF0Y2hlcyA9IHByZW1pc2VUZXJtaW5hbE5vZGUubWF0Y2godGVybWluYWxOb2RlKSxcbiAgICAgICAgcHJlbWlzZVRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaGVzO1xuXG4gIHJldHVybiBwcmVtaXNlVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hQcmVtaXNlTm9uVGVybWluYWxOb2RlKHByZW1pc2VOb25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IHByZW1pc2VOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgcHJlbWlzZVJ1bGVOYW1lID0gcHJlbWlzZU5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICBpZiAocnVsZU5hbWUgPT09IHByZW1pc2VSdWxlTmFtZSkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIHByZW1pc2VDaGlsZE5vZGVzID0gcHJlbWlzZU5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBwcmVtaXNlTm9kZXMgPSBwcmVtaXNlQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgcHJlbWlzZUNoaWxkTm9kZXNNYXRjaGVzID0gbWF0Y2hQcmVtaXNlTm9kZXMocHJlbWlzZU5vZGVzLCBub2RlcywgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBwcmVtaXNlQ2hpbGROb2Rlc01hdGNoZXM7IC8vL1xuXG4gICAgaWYgKCFwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcykge1xuICAgICAgY29uc3QgcnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUgPSAocnVsZU5hbWUgPT09IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FKTtcblxuICAgICAgaWYgKHJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgIHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSA9IHByZW1pc2VOb25UZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgcHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlKHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7IC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hQcmVtaXNlTWV0YXN0YXRlbWVudE5vZGUocHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSwgbWV0YVN1YnN0aXR1dGlvbnMpIHtcbiAgbGV0IHByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBwcmVtaXNlTm9uVGVybWluYWxOb2RlID0gcHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIHByZW1pc2VDaGlsZE5vZGVzID0gcHJlbWlzZU5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIHByZW1pc2VDaGlsZE5vZGVzTGVuZ3RoID0gcHJlbWlzZUNoaWxkTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChwcmVtaXNlQ2hpbGROb2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGZpcnN0UHJlbWlzZUNoaWxkTm9kZSA9IGZpcnN0KHByZW1pc2VDaGlsZE5vZGVzKSxcbiAgICAgICAgICBwcmVtaXNlQ2hpbGROb2RlID0gZmlyc3RQcmVtaXNlQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgcHJlbWlzZUNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IHByZW1pc2VDaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChwcmVtaXNlQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGUgPSBwcmVtaXNlQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSA9IHByZW1pc2VOb25UZXJtaW5hbENoaWxkTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSA9IChwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSA9PT0gTUVUQVZBUklBQkxFX1JVTEVfTkFNRSk7XG5cbiAgICAgIGlmIChwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lKSB7XG4gICAgICAgIGNvbnN0IHByZW1pc2VNZXRhdmFyaWFibGVOb2RlID0gcHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgICAgIGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgICBwcmVtaXNlTWV0YVZhcmlhYmxlTWF0Y2hlcyA9IG1hdGNoUHJlbWlzZU1ldGF2YXJpYWJsZShwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSwgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgICBwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gcHJlbWlzZU1ldGFWYXJpYWJsZU1hdGNoZXM7IC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzO1xufVxuIl0sIm5hbWVzIjpbIlByZW1pc2UiLCJtZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhU3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50TWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGFTdWJwcm9vZk5vZGUiLCJtZXRhU3VicHJvb2ZOb2RlIiwibWV0YVN1YnN0aXR1dGlvbnMiLCJtZXRhU3VicHJvb2ZOb2RlTWF0Y2hlcyIsIm1ldGFTdWJwcm9vZkFzc2VydGlvbk5vZGUiLCJtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXMiLCJtZXRhU3VicHJvb2ZBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXMiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZXNMZW5ndGgiLCJldmVyeSIsIm1ldGFTdWJwcm9vZkFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlIiwiaW5kZXgiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRNZXRhc3RhdGVtZW50Tm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsInByZW1pc2VOb25UZXJtaW5hbE5vZGUiLCJwcmVtaXNlTm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoUHJlbWlzZU5vblRlcm1pbmFsTm9kZSIsIm1hdGNoTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJ0b0pTT04iLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwibWV0YXN0YXRlbWVudCIsImpzb24iLCJmcm9tSlNPTiIsInJlbGVhc2VDb250ZXh0IiwibWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyIsInByZW1pc2UiLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaFByZW1pc2VOb2RlIiwicHJlbWlzZU5vZGUiLCJub2RlIiwicHJlbWlzZU5vZGVNYXRjaGVzIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwicnVsZU5vZGVUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJwcmVtaXNlVGVybWluYWxOb2RlIiwicHJlbWlzZVRlcm1pbmFsTm9kZU1hdGNoZXMiLCJtYXRjaFByZW1pc2VUZXJtaW5hbE5vZGUiLCJtYXRjaFByZW1pc2VOb2RlcyIsInByZW1pc2VOb2RlcyIsIm5vZGVzIiwicHJlbWlzZU5vZGVzTWF0Y2hlcyIsIm5vZGVzTGVuZ3RoIiwicHJlbWlzZU5vZGVzTGVuZ3RoIiwibWF0Y2hQcmVtaXNlTWV0YXZhcmlhYmxlIiwicHJlbWlzZU1ldGF2YXJpYWJsZU5vZGUiLCJwcmVtaXNlTWV0YXZhcmlhYmxlTWF0Y2hlcyIsInByZW1pc2VNZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwibWV0YVN1YnN0aXR1dGlvbiIsImZpbmQiLCJtZXRhdmFyaWFibGVOYW1lIiwiZ2V0TWV0YXZhcmlhYmxlTmFtZSIsIm1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoIiwibWF0Y2hOb2RlcyIsIk1ldGFTdWJzdGl0dXRpb24iLCJmcm9tTWV0YXZhcmlhYmxlTmFtZUFuZE5vZGVzIiwicHVzaCIsIm1hdGNoZXMiLCJtYXRjaCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJwcmVtaXNlUnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsInByZW1pc2VDaGlsZE5vZGVzIiwicHJlbWlzZUNoaWxkTm9kZXNNYXRjaGVzIiwicnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsInByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSIsInByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaFByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSIsInByZW1pc2VDaGlsZE5vZGVzTGVuZ3RoIiwiZmlyc3RQcmVtaXNlQ2hpbGROb2RlIiwiZmlyc3QiLCJwcmVtaXNlQ2hpbGROb2RlIiwicHJlbWlzZUNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwicHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlIiwicHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUiLCJwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsInByZW1pc2VNZXRhVmFyaWFibGVNYXRjaGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQWdCcUJBOzs7cUVBZFE7cUJBRVA7c0JBQ087cUJBQ1M7eUJBRzBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWhFLElBQU1DLDBCQUEwQkMsSUFBQUEsaUJBQVUsRUFBQyx5Q0FDckNDLGlDQUFpQ0MsSUFBQUEsZ0JBQVMsRUFBQywwQ0FDM0NDLGtEQUFrREgsSUFBQUEsaUJBQVUsRUFBQywwREFDN0RJLDREQUE0REYsSUFBQUEsZ0JBQVMsRUFBQztBQUU3RCxJQUFBLEFBQU1KLHdCQXdFbEIsQUF4RVk7YUFBTUEsUUFDUE8saUJBQWlCOzhCQURWUDtRQUVqQixJQUFJLENBQUNPLGlCQUFpQixHQUFHQTs7aUJBRlJQOztZQUtuQlEsS0FBQUE7bUJBQUFBLFNBQUFBLHVCQUF1QjtnQkFDckIsT0FBTyxJQUFJLENBQUNELGlCQUFpQjtZQUMvQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JDLGdCQUFnQixFQUFFQyxpQkFBaUIsRUFBRTtnQkFDekQsSUFBSUMsMEJBQTBCLEtBQUs7Z0JBRW5DLElBQU1DLDRCQUE0QlYsK0JBQStCLElBQUksQ0FBQ0ksaUJBQWlCO2dCQUV2RixJQUFJTSw4QkFBOEIsSUFBSSxFQUFFO29CQUN0QyxJQUFNQywwQ0FBMENiLHdCQUF3QlksNEJBQ2xFRSxnREFBZ0RELHdDQUF3Q0UsTUFBTSxFQUM5RkMsNkNBQTZDWixnREFBZ0RLLG1CQUM3RlEsbURBQW1ERCwyQ0FBMkNELE1BQU07b0JBRTFHLElBQUlELGtEQUFrREcsa0RBQWtEO3dCQUN0R04sMEJBQTBCRSx3Q0FBd0NLLEtBQUssQ0FBQyxTQUFDQyx3Q0FBd0NDLE9BQVU7NEJBQy9GLElBQU1DLDRDQUE0Q0wsMENBQTBDLENBQUNJLE1BQU0sRUFDN0ZF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
|
|
@@ -12,7 +12,6 @@ var _metaAssertion = /*#__PURE__*/ _interopRequireDefault(require("../metaAssert
|
|
|
12
12
|
var _metaproof = /*#__PURE__*/ _interopRequireDefault(require("../context/metaproof"));
|
|
13
13
|
var _qualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/metastatement/qualified"));
|
|
14
14
|
var _unqualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/metastatement/unqualified"));
|
|
15
|
-
var _array = require("../utilities/array");
|
|
16
15
|
var _query = require("../utilities/query");
|
|
17
16
|
var _ruleNames = require("../ruleNames");
|
|
18
17
|
function _interopRequireDefault(obj) {
|
|
@@ -20,7 +19,7 @@ function _interopRequireDefault(obj) {
|
|
|
20
19
|
default: obj
|
|
21
20
|
};
|
|
22
21
|
}
|
|
23
|
-
var metaDerivationNodeQuery = (0, _query.nodeQuery)("/metaSubproof/metaDerivation!"), metaDerivationChildNodesQuery = (0, _query.nodesQuery)("/metaDerivation/*"),
|
|
22
|
+
var metaDerivationNodeQuery = (0, _query.nodeQuery)("/metaSubproof/metaDerivation|abridgedMetaDerivation!"), metaDerivationChildNodesQuery = (0, _query.nodesQuery)("/metaDerivation|abridgedMetaDerivation/*"), unqualifiedMetastatementNodesQuery = (0, _query.nodesQuery)("/metaSubproof/unqualifiedMetastatement");
|
|
24
23
|
function verifyMetaDerivation(metaDerivationNode, metaproofContext) {
|
|
25
24
|
var metaDerivationVerified, derived;
|
|
26
25
|
metaproofContext.begin(metaDerivationNode);
|
|
@@ -78,7 +77,7 @@ function verifyMetaDerivationChild(metaDerivationChildNode, metaproofContext) {
|
|
|
78
77
|
function verifyMetaSubproof(metaSubproofNode, metaproofContext) {
|
|
79
78
|
var metaSubproofVerified = false;
|
|
80
79
|
metaproofContext = _metaproof.default.fromMetaproofContext(metaproofContext); ///
|
|
81
|
-
var
|
|
80
|
+
var unqualifiedMetastatementNodes = unqualifiedMetastatementNodesQuery(metaSubproofNode), unqualifiedMetastatementsVerified = unqualifiedMetastatementNodes.every(function(unqualifiedMetastatementNode) {
|
|
82
81
|
var unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, metaproofContext);
|
|
83
82
|
if (unqualifiedMetastatementVerified) {
|
|
84
83
|
return true;
|
|
@@ -89,24 +88,12 @@ function verifyMetaSubproof(metaSubproofNode, metaproofContext) {
|
|
|
89
88
|
var metaAssertion = _metaAssertion.default.fromUnqualifiedMetastatementNode(unqualifiedMetastatementNode);
|
|
90
89
|
metaproofContext.addMetaAssertion(metaAssertion);
|
|
91
90
|
});
|
|
92
|
-
var metaDerivationVerified =
|
|
93
|
-
var metaDerivationNode = metaDerivationNodeQuery(metaSubproofNode);
|
|
94
|
-
if (metaDerivationNode !== null) {
|
|
95
|
-
metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, metaproofContext);
|
|
96
|
-
}
|
|
91
|
+
var metaDerivationNode = metaDerivationNodeQuery(metaSubproofNode), metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, metaproofContext);
|
|
97
92
|
if (metaDerivationVerified) {
|
|
98
|
-
|
|
99
|
-
if (qualifiedMetastatementNode !== null) {
|
|
100
|
-
var qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode, metaproofContext);
|
|
101
|
-
metaSubproofVerified = qualifiedMetastatementVerified; ///
|
|
102
|
-
}
|
|
103
|
-
if (unqualifiedMetastatementNode !== null) {
|
|
104
|
-
var unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, metaproofContext);
|
|
105
|
-
metaSubproofVerified = unqualifiedMetastatementVerified; ///
|
|
106
|
-
}
|
|
93
|
+
metaSubproofVerified = true;
|
|
107
94
|
}
|
|
108
95
|
}
|
|
109
96
|
return metaSubproofVerified;
|
|
110
97
|
}
|
|
111
98
|
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YURlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhQXNzZXJ0aW9uIGZyb20gXCIuLi9tZXRhQXNzZXJ0aW9uXCI7XG5pbXBvcnQgTWV0YXByb29mQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9tZXRhcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IGZyb250LCBsYXN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgTUVUQV9TVUJQUk9PRl9SVUxFX05BTUUsIFFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSwgVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IG1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFTdWJwcm9vZi9tZXRhRGVyaXZhdGlvbiFcIiksXG4gICAgICBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YURlcml2YXRpb24vKlwiKSxcbiAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkTWV0YXN0YXRlbWVudFwiKSxcbiAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhU3VicHJvb2YvcXVhbGlmaWVkTWV0YXN0YXRlbWVudHx1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRcIilcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YURlcml2YXRpb24obWV0YURlcml2YXRpb25Ob2RlLCBtZXRhcHJvb2ZDb250ZXh0KSB7XG4gIGxldCBtZXRhRGVyaXZhdGlvblZlcmlmaWVkLFxuICAgICAgZGVyaXZlZDtcblxuICBtZXRhcHJvb2ZDb250ZXh0LmJlZ2luKG1ldGFEZXJpdmF0aW9uTm9kZSk7XG5cbiAgZGVyaXZlZCA9IHRydWU7XG5cbiAgbWV0YXByb29mQ29udGV4dC5zZXREZXJpdmVkKGRlcml2ZWQpO1xuXG4gIGNvbnN0IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlcyA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1F1ZXJ5KG1ldGFEZXJpdmF0aW9uTm9kZSk7XG5cbiAgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlcy5ldmVyeSgobWV0YURlcml2YXRpb25DaGlsZE5vZGUpID0+IHsgIC8vL1xuICAgIGNvbnN0IG1ldGFEZXJpdmF0aW9uQ2hpbGRWZXJpZmllZCA9IHZlcmlmeU1ldGFEZXJpdmF0aW9uQ2hpbGQobWV0YURlcml2YXRpb25DaGlsZE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFEZXJpdmF0aW9uQ2hpbGRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBkZXJpdmVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5zZXREZXJpdmVkKGRlcml2ZWQpO1xuXG4gIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgP1xuICAgIG1ldGFwcm9vZkNvbnRleHQuY29tcGxldGUobWV0YURlcml2YXRpb25Ob2RlKSA6XG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmhhbHQobWV0YURlcml2YXRpb25Ob2RlKTtcblxuICByZXR1cm4gbWV0YURlcml2YXRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YURlcml2YXRpb25DaGlsZChtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZSwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgbWV0YURlcml2YXRpb25DaGlsZFZlcmlmaWVkO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbWV0YURlcml2YXRpb25DaGlsZE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICBzd2l0Y2ggKHJ1bGVOYW1lKSB7XG4gICAgY2FzZSBNRVRBX1NVQlBST09GX1JVTEVfTkFNRToge1xuICAgICAgY29uc3QgbWV0YVN1YnByb29mTm9kZSA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBtZXRhU3VicHJvb2ZWZXJpZmllZCA9IHZlcmlmeU1ldGFTdWJwcm9vZihtZXRhU3VicHJvb2ZOb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgICAgaWYgKG1ldGFTdWJwcm9vZlZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21NZXRhU3VicHJvb2ZOb2RlKG1ldGFTdWJwcm9vZk5vZGUpO1xuXG4gICAgICAgIG1ldGFwcm9vZkNvbnRleHQuYWRkTWV0YUFzc2VydGlvbihtZXRhQXNzZXJ0aW9uKTtcblxuICAgICAgICBtZXRhRGVyaXZhdGlvbkNoaWxkVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjYXNlIFFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRToge1xuICAgICAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgbWV0YUFzc2VydGlvbiA9IE1ldGFBc3NlcnRpb24uZnJvbVF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBtZXRhcHJvb2ZDb250ZXh0LmFkZE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbik7XG5cbiAgICAgICAgbWV0YURlcml2YXRpb25DaGlsZFZlcmlmaWVkID0gcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkOyAvLy9cbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2FzZSBVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRToge1xuICAgICAgY29uc3QgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21VbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgIG1ldGFwcm9vZkNvbnRleHQuYWRkTWV0YUFzc2VydGlvbihtZXRhQXNzZXJ0aW9uKTtcblxuICAgICAgICBtZXRhRGVyaXZhdGlvbkNoaWxkVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YURlcml2YXRpb25DaGlsZFZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhU3VicHJvb2YobWV0YVN1YnByb29mTm9kZSwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgbWV0YVN1YnByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBtZXRhcHJvb2ZDb250ZXh0ID0gTWV0YXByb29mQ29udGV4dC5mcm9tTWV0YXByb29mQ29udGV4dChtZXRhcHJvb2ZDb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgcXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlcyA9IHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeShtZXRhU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgZnJvbnRRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzID0gZnJvbnQocXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlcyksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzID0gZnJvbnRRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzLCAgLy8vXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudHNWZXJpZmllZCA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzLmV2ZXJ5KCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgICAgICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudHNWZXJpZmllZCkge1xuICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzLmZvckVhY2goKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21VbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmFkZE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbik7XG4gICAgfSk7XG5cbiAgICBsZXQgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IHRydWU7XG5cbiAgICBjb25zdCBtZXRhRGVyaXZhdGlvbk5vZGUgPSBtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeShtZXRhU3VicHJvb2ZOb2RlKTtcblxuICAgIGlmIChtZXRhRGVyaXZhdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlNZXRhRGVyaXZhdGlvbihtZXRhRGVyaXZhdGlvbk5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmIChtZXRhRGVyaXZhdGlvblZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBsYXN0UXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gbGFzdChxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzKSxcbiAgICAgICAgICAgIHF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IGxhc3RRdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgICAgbWV0YVN1YnByb29mVmVyaWZpZWQgPSBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7ICAvLy9cbiAgICAgIH1cblxuICAgICAgaWYgKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgICAgbWV0YVN1YnByb29mVmVyaWZpZWQgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgIC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhU3VicHJvb2ZWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhRGVyaXZhdGlvbiIsIm1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YURlcml2YXRpb25DaGlsZE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeSIsIm1ldGFEZXJpdmF0aW9uTm9kZSIsIm1ldGFwcm9vZkNvbnRleHQiLCJtZXRhRGVyaXZhdGlvblZlcmlmaWVkIiwiZGVyaXZlZCIsImJlZ2luIiwic2V0RGVyaXZlZCIsIm1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlcyIsImV2ZXJ5IiwibWV0YURlcml2YXRpb25DaGlsZE5vZGUiLCJtZXRhRGVyaXZhdGlvbkNoaWxkVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhRGVyaXZhdGlvbkNoaWxkIiwiY29tcGxldGUiLCJoYWx0IiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIk1FVEFfU1VCUFJPT0ZfUlVMRV9OQU1FIiwibWV0YVN1YnByb29mTm9kZSIsIm1ldGFTdWJwcm9vZlZlcmlmaWVkIiwidmVyaWZ5TWV0YVN1YnByb29mIiwibWV0YUFzc2VydGlvbiIsIk1ldGFBc3NlcnRpb24iLCJmcm9tTWV0YVN1YnByb29mTm9kZSIsImFkZE1ldGFBc3NlcnRpb24iLCJRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJmcm9tUXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsImZyb21VbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwiTWV0YXByb29mQ29udGV4dCIsImZyb21NZXRhcHJvb2ZDb250ZXh0IiwicXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlcyIsImZyb250UXVhbGlmaWVkT3JVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlcyIsImZyb250IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXMiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRzVmVyaWZpZWQiLCJmb3JFYWNoIiwibGFzdFF1YWxpZmllZE9yVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsImxhc3QiLCJxdWFsaWZpZWRPclVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWlCQTs7O2VBQXdCQTs7O2tFQWZFOzhEQUNHOzhEQUNZO2dFQUNFO3FCQUVmO3FCQUNVO3lCQUMwRTs7Ozs7O0FBRWhILElBQU1DLDBCQUEwQkMsSUFBQUEsZ0JBQVMsRUFBQyxrQ0FDcENDLGdDQUFnQ0MsSUFBQUEsaUJBQVUsRUFBQyxzQkFDM0NDLGtDQUFrQ0gsSUFBQUEsZ0JBQVMsRUFBQyw0QkFDNUNJLG9DQUFvQ0osSUFBQUEsZ0JBQVMsRUFBQywrQkFDOUNLLGdEQUFnREgsSUFBQUEsaUJBQVUsRUFBQztBQUVsRCxTQUFTSixxQkFBcUJRLGtCQUFrQixFQUFFQyxnQkFBZ0IsRUFBRTtJQUNqRixJQUFJQyx3QkFDQUM7SUFFSkYsaUJBQWlCRyxLQUFLLENBQUNKO0lBRXZCRyxVQUFVLElBQUk7SUFFZEYsaUJBQWlCSSxVQUFVLENBQUNGO0lBRTVCLElBQU1HLDJCQUEyQlgsOEJBQThCSztJQUUvREUseUJBQXlCSSx5QkFBeUJDLEtBQUssQ0FBQyxTQUFDQyx5QkFBNEI7UUFDbkYsSUFBTUMsOEJBQThCQywwQkFBMEJGLHlCQUF5QlA7UUFFdkYsSUFBSVEsNkJBQTZCO1lBQy9CLE9BQU8sSUFBSTtRQUNiLENBQUM7SUFDSDtJQUVBTixVQUFVLEtB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
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YURlcml2YXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhQXNzZXJ0aW9uIGZyb20gXCIuLi9tZXRhQXNzZXJ0aW9uXCI7XG5pbXBvcnQgTWV0YXByb29mQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9tZXRhcHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuLi92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IE1FVEFfU1VCUFJPT0ZfUlVMRV9OQU1FLCBRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUsIFVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCBtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhU3VicHJvb2YvbWV0YURlcml2YXRpb258YWJyaWRnZWRNZXRhRGVyaXZhdGlvbiFcIiksICAvLy9cbiAgICAgIG1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhRGVyaXZhdGlvbnxhYnJpZGdlZE1ldGFEZXJpdmF0aW9uLypcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhU3VicHJvb2YvdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50XCIpXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeU1ldGFEZXJpdmF0aW9uKG1ldGFEZXJpdmF0aW9uTm9kZSwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgbWV0YURlcml2YXRpb25WZXJpZmllZCxcbiAgICAgIGRlcml2ZWQ7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihtZXRhRGVyaXZhdGlvbk5vZGUpO1xuXG4gIGRlcml2ZWQgPSB0cnVlO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuc2V0RGVyaXZlZChkZXJpdmVkKTtcblxuICBjb25zdCBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXMgPSBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXNRdWVyeShtZXRhRGVyaXZhdGlvbk5vZGUpO1xuXG4gIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXMuZXZlcnkoKG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlKSA9PiB7ICAvLy9cbiAgICBjb25zdCBtZXRhRGVyaXZhdGlvbkNoaWxkVmVyaWZpZWQgPSB2ZXJpZnlNZXRhRGVyaXZhdGlvbkNoaWxkKG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmIChtZXRhRGVyaXZhdGlvbkNoaWxkVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgZGVyaXZlZCA9IGZhbHNlO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuc2V0RGVyaXZlZChkZXJpdmVkKTtcblxuICBtZXRhRGVyaXZhdGlvblZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKG1ldGFEZXJpdmF0aW9uTm9kZSkgOlxuICAgICAgbWV0YXByb29mQ29udGV4dC5oYWx0KG1ldGFEZXJpdmF0aW9uTm9kZSk7XG5cbiAgcmV0dXJuIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFEZXJpdmF0aW9uQ2hpbGQobWV0YURlcml2YXRpb25DaGlsZE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IG1ldGFEZXJpdmF0aW9uQ2hpbGRWZXJpZmllZDtcblxuICBjb25zdCBydWxlTmFtZSA9IG1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlLmdldFJ1bGVOYW1lKCk7XG5cbiAgc3dpdGNoIChydWxlTmFtZSkge1xuICAgIGNhc2UgTUVUQV9TVUJQUk9PRl9SVUxFX05BTUU6IHtcbiAgICAgIGNvbnN0IG1ldGFTdWJwcm9vZk5vZGUgPSBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgbWV0YVN1YnByb29mVmVyaWZpZWQgPSB2ZXJpZnlNZXRhU3VicHJvb2YobWV0YVN1YnByb29mTm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmIChtZXRhU3VicHJvb2ZWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBtZXRhQXNzZXJ0aW9uID0gTWV0YUFzc2VydGlvbi5mcm9tTWV0YVN1YnByb29mTm9kZShtZXRhU3VicHJvb2ZOb2RlKTtcblxuICAgICAgICBtZXRhcHJvb2ZDb250ZXh0LmFkZE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbik7XG5cbiAgICAgICAgbWV0YURlcml2YXRpb25DaGlsZFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2FzZSBRVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgIGNvbnN0IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YURlcml2YXRpb25DaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21RdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgbWV0YXByb29mQ29udGV4dC5hZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuXG4gICAgICAgIG1ldGFEZXJpdmF0aW9uQ2hpbGRWZXJpZmllZCA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDsgLy8vXG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgIGNvbnN0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXByb29mQ29udGV4dCk7XG5cbiAgICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBtZXRhQXNzZXJ0aW9uID0gTWV0YUFzc2VydGlvbi5mcm9tVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBtZXRhcHJvb2ZDb250ZXh0LmFkZE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbik7XG5cbiAgICAgICAgbWV0YURlcml2YXRpb25DaGlsZFZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFEZXJpdmF0aW9uQ2hpbGRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YVN1YnByb29mKG1ldGFTdWJwcm9vZk5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dCA9IE1ldGFwcm9vZkNvbnRleHQuZnJvbU1ldGFwcm9vZkNvbnRleHQobWV0YXByb29mQ29udGV4dCk7IC8vL1xuXG4gIGNvbnN0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzID0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXNRdWVyeShtZXRhU3VicHJvb2ZOb2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50c1ZlcmlmaWVkID0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXMuZXZlcnkoKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgICAgICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50c1ZlcmlmaWVkKSB7XG4gICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZXMuZm9yRWFjaCgodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSkgPT4ge1xuICAgICAgY29uc3QgbWV0YUFzc2VydGlvbiA9IE1ldGFBc3NlcnRpb24uZnJvbVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuYWRkTWV0YUFzc2VydGlvbihtZXRhQXNzZXJ0aW9uKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG1ldGFEZXJpdmF0aW9uTm9kZSA9IG1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5KG1ldGFTdWJwcm9vZk5vZGUpLFxuICAgICAgICAgIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlNZXRhRGVyaXZhdGlvbihtZXRhRGVyaXZhdGlvbk5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICAgIG1ldGFTdWJwcm9vZlZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWV0YVN1YnByb29mVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YURlcml2YXRpb24iLCJtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm1ldGFEZXJpdmF0aW9uQ2hpbGROb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzUXVlcnkiLCJtZXRhRGVyaXZhdGlvbk5vZGUiLCJtZXRhcHJvb2ZDb250ZXh0IiwibWV0YURlcml2YXRpb25WZXJpZmllZCIsImRlcml2ZWQiLCJiZWdpbiIsInNldERlcml2ZWQiLCJtZXRhRGVyaXZhdGlvbkNoaWxkTm9kZXMiLCJldmVyeSIsIm1ldGFEZXJpdmF0aW9uQ2hpbGROb2RlIiwibWV0YURlcml2YXRpb25DaGlsZFZlcmlmaWVkIiwidmVyaWZ5TWV0YURlcml2YXRpb25DaGlsZCIsImNvbXBsZXRlIiwiaGFsdCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJNRVRBX1NVQlBST09GX1JVTEVfTkFNRSIsIm1ldGFTdWJwcm9vZk5vZGUiLCJtZXRhU3VicHJvb2ZWZXJpZmllZCIsInZlcmlmeU1ldGFTdWJwcm9vZiIsIm1ldGFBc3NlcnRpb24iLCJNZXRhQXNzZXJ0aW9uIiwiZnJvbU1ldGFTdWJwcm9vZk5vZGUiLCJhZGRNZXRhQXNzZXJ0aW9uIiwiUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwiZnJvbVF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwiVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJmcm9tVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsIk1ldGFwcm9vZkNvbnRleHQiLCJmcm9tTWV0YXByb29mQ29udGV4dCIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVzIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50c1ZlcmlmaWVkIiwiZm9yRWFjaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUF3QkE7OztrRUFaRTs4REFDRzs4REFDWTtnRUFDRTtxQkFFTDt5QkFDMEU7Ozs7OztBQUVoSCxJQUFNQywwQkFBMEJDLElBQUFBLGdCQUFTLEVBQUMseURBQ3BDQyxnQ0FBZ0NDLElBQUFBLGlCQUFVLEVBQUMsNkNBQzNDQyxxQ0FBcUNELElBQUFBLGlCQUFVLEVBQUM7QUFFdkMsU0FBU0oscUJBQXFCTSxrQkFBa0IsRUFBRUMsZ0JBQWdCLEVBQUU7SUFDakYsSUFBSUMsd0JBQ0FDO0lBRUpGLGlCQUFpQkcsS0FBSyxDQUFDSjtJQUV2QkcsVUFBVSxJQUFJO0lBRWRGLGlCQUFpQkksVUFBVSxDQUFDRjtJQUU1QixJQUFNRywyQkFBMkJULDhCQUE4Qkc7SUFFL0RFLHlCQUF5QkkseUJBQXlCQyxLQUFLLENBQUMsU0FBQ0MseUJBQTRCO1FBQ25GLElBQU1DLDhCQUE4QkMsMEJBQTBCRix5QkFBeUJQO1FBRXZGLElBQUlRLDZCQUE2QjtZQUMvQixPQUFPLElBQUk7UUFDYixDQUFDO0lBQ0g7SUFFQU4s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
|
package/lib/verify/metaproof.js
CHANGED
|
@@ -8,76 +8,81 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return verifyMetaproof;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _metaAssertion = /*#__PURE__*/ _interopRequireDefault(require("../metaAssertion"));
|
|
11
12
|
var _metaDerivation = /*#__PURE__*/ _interopRequireDefault(require("../verify/metaDerivation"));
|
|
12
|
-
var _qualified = /*#__PURE__*/ _interopRequireDefault(require("
|
|
13
|
+
var _qualified = /*#__PURE__*/ _interopRequireDefault(require("./metastatement/qualified"));
|
|
13
14
|
var _query = require("../utilities/query");
|
|
14
15
|
function _interopRequireDefault(obj) {
|
|
15
16
|
return obj && obj.__esModule ? obj : {
|
|
16
17
|
default: obj
|
|
17
18
|
};
|
|
18
19
|
}
|
|
19
|
-
var metaDerivationNodeQuery = (0, _query.nodeQuery)("/metaproof/metaDerivation!"),
|
|
20
|
+
var metaDerivationNodeQuery = (0, _query.nodeQuery)("/metaproof/metaDerivation!"), qualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/metaproof/qualifiedMetastatement!");
|
|
20
21
|
function verifyMetaproof(metaproofNode, conclusion, metaproofContext) {
|
|
21
22
|
var metaproofVerified = false;
|
|
22
23
|
metaproofContext.begin(metaproofNode);
|
|
23
|
-
var metaDerivationNode = metaDerivationNodeQuery(metaproofNode);
|
|
24
|
-
var metaDerivationVerified =
|
|
24
|
+
var metaDerivationNode = metaDerivationNodeQuery(metaproofNode), qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(metaproofNode);
|
|
25
|
+
var metaDerivationVerified = false, qualifiedMetastatementVerified = false;
|
|
25
26
|
if (metaDerivationNode !== null) {
|
|
26
27
|
metaDerivationVerified = (0, _metaDerivation.default)(metaDerivationNode, metaproofContext);
|
|
27
28
|
}
|
|
28
|
-
if (
|
|
29
|
-
|
|
29
|
+
if (qualifiedMetastatementNode !== null) {
|
|
30
|
+
qualifiedMetastatementVerified = (0, _qualified.default)(qualifiedMetastatementNode, metaproofContext);
|
|
30
31
|
if (qualifiedMetastatementVerified) {
|
|
31
|
-
var
|
|
32
|
-
|
|
32
|
+
var metaAssertion = _metaAssertion.default.fromQualifiedMetastatementNode(qualifiedMetastatementNode);
|
|
33
|
+
metaproofContext.addMetaAssertion(metaAssertion);
|
|
33
34
|
}
|
|
34
35
|
}
|
|
36
|
+
if (metaDerivationVerified || qualifiedMetastatementVerified) {
|
|
37
|
+
var lastMetaAssertion = metaproofContext.getLastMetaAssertion(), metaAssertion1 = lastMetaAssertion, metastatementNode = conclusion.getMetastatementNode(), metaAssertionMetastatementNode = metaAssertion1.getMetastatementNode(), metaAssertionMetastatementNodeMatches = matchMetaProofMetastatementNode(metaAssertionMetastatementNode, metastatementNode);
|
|
38
|
+
metaproofVerified = metaAssertionMetastatementNodeMatches; ///
|
|
39
|
+
}
|
|
35
40
|
metaproofVerified ? metaproofContext.complete(metaproofNode) : metaproofContext.complete(metaproofNode);
|
|
36
41
|
return metaproofVerified;
|
|
37
42
|
}
|
|
38
|
-
function matchMetaProofMetastatementNode(
|
|
39
|
-
var
|
|
40
|
-
return
|
|
43
|
+
function matchMetaProofMetastatementNode(metaAssertionMetastatementNode, metastatementNode) {
|
|
44
|
+
var metaAssertionNonTerminalNode = metaAssertionMetastatementNode, nonTerminalNode = metastatementNode, metaAssertionNonTerminalNodeMatches = matchMetaProofNonTerminalNode(metaAssertionNonTerminalNode, nonTerminalNode), metaAssertionMetastatementNodeMatches = metaAssertionNonTerminalNodeMatches; ///
|
|
45
|
+
return metaAssertionMetastatementNodeMatches;
|
|
41
46
|
}
|
|
42
|
-
function matchMetaProofNode(
|
|
43
|
-
var
|
|
44
|
-
var nodeTerminalNode = node.isTerminalNode(), ruleNodeTerminalNode =
|
|
47
|
+
function matchMetaProofNode(metaAssertionNode, node) {
|
|
48
|
+
var metaAssertionNodeMatches = false;
|
|
49
|
+
var nodeTerminalNode = node.isTerminalNode(), ruleNodeTerminalNode = metaAssertionNode.isTerminalNode();
|
|
45
50
|
if (nodeTerminalNode === ruleNodeTerminalNode) {
|
|
46
51
|
if (nodeTerminalNode) {
|
|
47
|
-
var terminalNode = node,
|
|
48
|
-
|
|
52
|
+
var terminalNode = node, metaAssertionTerminalNode = metaAssertionNode, metaAssertionTerminalNodeMatches = matchMetaProofTerminalNode(metaAssertionTerminalNode, terminalNode);
|
|
53
|
+
metaAssertionNodeMatches = metaAssertionTerminalNodeMatches; ///
|
|
49
54
|
} else {
|
|
50
|
-
var nonTerminalNode = node,
|
|
51
|
-
|
|
55
|
+
var nonTerminalNode = node, metaAssertionNonTerminalNode = metaAssertionNode, metaAssertionNonTerminalNodeMatches = matchMetaProofNonTerminalNode(metaAssertionNonTerminalNode, nonTerminalNode);
|
|
56
|
+
metaAssertionNodeMatches = metaAssertionNonTerminalNodeMatches; ///
|
|
52
57
|
}
|
|
53
58
|
}
|
|
54
|
-
return
|
|
59
|
+
return metaAssertionNodeMatches;
|
|
55
60
|
}
|
|
56
|
-
function matchMetaProofNodes(
|
|
57
|
-
var
|
|
58
|
-
var nodesLength = nodes.length,
|
|
59
|
-
if (nodesLength ===
|
|
60
|
-
|
|
61
|
-
var
|
|
62
|
-
if (
|
|
61
|
+
function matchMetaProofNodes(metaAssertionNodes, nodes) {
|
|
62
|
+
var metaAssertionNodesMatches = false;
|
|
63
|
+
var nodesLength = nodes.length, metaAssertionNodesLength = metaAssertionNodes.length;
|
|
64
|
+
if (nodesLength === metaAssertionNodesLength) {
|
|
65
|
+
metaAssertionNodesMatches = nodes.every(function(node, index) {
|
|
66
|
+
var metaAssertionNode = metaAssertionNodes[index], metaAssertionNodeMatches = matchMetaProofNode(metaAssertionNode, node);
|
|
67
|
+
if (metaAssertionNodeMatches) {
|
|
63
68
|
return true;
|
|
64
69
|
}
|
|
65
70
|
});
|
|
66
71
|
}
|
|
67
|
-
return
|
|
72
|
+
return metaAssertionNodesMatches;
|
|
68
73
|
}
|
|
69
|
-
function matchMetaProofTerminalNode(
|
|
70
|
-
var matches =
|
|
71
|
-
return
|
|
74
|
+
function matchMetaProofTerminalNode(metaAssertionTerminalNode, terminalNode) {
|
|
75
|
+
var matches = metaAssertionTerminalNode.match(terminalNode), metaAssertionTerminalNodeMatches = matches; ///
|
|
76
|
+
return metaAssertionTerminalNodeMatches;
|
|
72
77
|
}
|
|
73
|
-
function matchMetaProofNonTerminalNode(
|
|
74
|
-
var
|
|
75
|
-
var ruleName = nonTerminalNode.getRuleName(),
|
|
76
|
-
if (ruleName ===
|
|
77
|
-
var childNodes = nonTerminalNode.getChildNodes(),
|
|
78
|
-
|
|
78
|
+
function matchMetaProofNonTerminalNode(metaAssertionNonTerminalNode, nonTerminalNode) {
|
|
79
|
+
var metaAssertionNonTerminalNodeMatches = false;
|
|
80
|
+
var ruleName = nonTerminalNode.getRuleName(), metaAssertionRuleName = metaAssertionNonTerminalNode.getRuleName(); ///
|
|
81
|
+
if (ruleName === metaAssertionRuleName) {
|
|
82
|
+
var childNodes = nonTerminalNode.getChildNodes(), metaAssertionChildNodes = metaAssertionNonTerminalNode.getChildNodes(), nodes = childNodes, metaAssertionNodes = metaAssertionChildNodes, metaAssertionNodesMatches = matchMetaProofNodes(metaAssertionNodes, nodes);
|
|
83
|
+
metaAssertionNonTerminalNodeMatches = metaAssertionNodesMatches; ///
|
|
79
84
|
}
|
|
80
|
-
return
|
|
85
|
+
return metaAssertionNonTerminalNodeMatches;
|
|
81
86
|
}
|
|
82
87
|
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5TWV0YURlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFwcm9vZi9tZXRhRGVyaXZhdGlvbiFcIiksXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhcHJvb2YvcXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5TWV0YXByb29mKG1ldGFwcm9vZk5vZGUsIGNvbmNsdXNpb24sIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IG1ldGFwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbihtZXRhcHJvb2ZOb2RlKTtcblxuICBjb25zdCBtZXRhRGVyaXZhdGlvbk5vZGUgPSBtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeShtZXRhcHJvb2ZOb2RlKTtcblxuICBsZXQgbWV0YURlcml2YXRpb25WZXJpZmllZCA9IHRydWU7XG5cbiAgaWYgKG1ldGFEZXJpdmF0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlNZXRhRGVyaXZhdGlvbihtZXRhRGVyaXZhdGlvbk5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuICB9XG5cbiAgaWYgKG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQpIHtcbiAgICBjb25zdCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeShtZXRhcHJvb2ZOb2RlKSxcbiAgICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gY29uY2x1c2lvbi5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgICAgbWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFwcm9vZk5vZGUpLFxuICAgICAgICAgICAgbWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWF0Y2hNZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZShtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBtZXRhcHJvb2ZWZXJpZmllZCA9IG1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlczsgIC8vL1xuICAgIH1cbiAgfVxuXG4gIG1ldGFwcm9vZlZlcmlmaWVkID9cbiAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKG1ldGFwcm9vZk5vZGUpIDpcbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuY29tcGxldGUobWV0YXByb29mTm9kZSk7XG5cbiAgcmV0dXJuIG1ldGFwcm9vZlZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiBtYXRjaE1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlKG1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSkge1xuICBjb25zdCBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUgPSBtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUobWV0YVByb29mTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUpLFxuICAgICAgICBtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzOyAgLy8vXG5cbiAgcmV0dXJuIG1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZOb2RlKG1ldGFQcm9vZk5vZGUsIG5vZGUpIHtcbiAgbGV0IG1ldGFQcm9vZk5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgcnVsZU5vZGVUZXJtaW5hbE5vZGUgPSBtZXRhUHJvb2ZOb2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IHJ1bGVOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFQcm9vZlRlcm1pbmFsTm9kZSA9IG1ldGFQcm9vZk5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFQcm9vZlRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZlRlcm1pbmFsTm9kZShtZXRhUHJvb2ZUZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSk7XG5cbiAgICAgIG1ldGFQcm9vZk5vZGVNYXRjaGVzID0gbWV0YVByb29mVGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZSA9IG1ldGFQcm9vZk5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZShtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSk7XG5cbiAgICAgIG1ldGFQcm9vZk5vZGVNYXRjaGVzID0gbWV0YVByb29mTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFQcm9vZk5vZGVNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaE1ldGFQcm9vZk5vZGVzKG1ldGFQcm9vZk5vZGVzLCBub2Rlcykge1xuICBsZXQgbWV0YVByb29mTm9kZXNNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIG1ldGFQcm9vZk5vZGVzTGVuZ3RoID0gbWV0YVByb29mTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChub2Rlc0xlbmd0aCA9PT0gbWV0YVByb29mTm9kZXNMZW5ndGgpIHtcbiAgICBtZXRhUHJvb2ZOb2Rlc01hdGNoZXMgPSBub2Rlcy5ldmVyeSgobm9kZSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IG1ldGFQcm9vZk5vZGUgPSBtZXRhUHJvb2ZOb2Rlc1tpbmRleF0sXG4gICAgICAgICAgICBtZXRhUHJvb2ZOb2RlTWF0Y2hlcyA9IG1hdGNoTWV0YVByb29mTm9kZShtZXRhUHJvb2ZOb2RlLCBub2RlKTtcblxuICAgICAgaWYgKG1ldGFQcm9vZk5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbWV0YVByb29mTm9kZXNNYXRjaGVzO1xufVxuXG5mdW5jdGlvbiBtYXRjaE1ldGFQcm9vZlRlcm1pbmFsTm9kZShtZXRhUHJvb2ZUZXJtaW5hbE5vZGUsIHRlcm1pbmFsTm9kZSkge1xuICBjb25zdCBtYXRjaGVzID0gbWV0YVByb29mVGVybWluYWxOb2RlLm1hdGNoKHRlcm1pbmFsTm9kZSksXG4gICAgICAgIG1ldGFQcm9vZlRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaGVzOyAgLy8vXG5cbiAgcmV0dXJuIG1ldGFQcm9vZlRlcm1pbmFsTm9kZU1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTWV0YVByb29mTm9uVGVybWluYWxOb2RlKG1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKSB7XG4gIGxldCBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgbWV0YVByb29mUnVsZU5hbWUgPSBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgaWYgKHJ1bGVOYW1lID09PSBtZXRhUHJvb2ZSdWxlTmFtZSkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG1ldGFQcm9vZkNoaWxkTm9kZXMgPSBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgbWV0YVByb29mTm9kZXMgPSBtZXRhUHJvb2ZDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICBtZXRhUHJvb2ZOb2Rlc01hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vZGVzKG1ldGFQcm9vZk5vZGVzLCBub2Rlcyk7XG5cbiAgICBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWV0YVByb29mTm9kZXNNYXRjaGVzOyAvLy9cbiAgfVxuXG4gIHJldHVybiBtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFwcm9vZiIsIm1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwibWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGFwcm9vZk5vZGUiLCJjb25jbHVzaW9uIiwibWV0YXByb29mQ29udGV4dCIsIm1ldGFwcm9vZlZlcmlmaWVkIiwiYmVnaW4iLCJtZXRhRGVyaXZhdGlvbk5vZGUiLCJtZXRhRGVyaXZhdGlvblZlcmlmaWVkIiwidmVyaWZ5TWV0YURlcml2YXRpb24iLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImdldE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YVByb29mTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaE1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlIiwiY29tcGxldGUiLCJtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJtZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUiLCJtYXRjaE1ldGFQcm9vZk5vZGUiLCJtZXRhUHJvb2ZOb2RlIiwibm9kZSIsIm1ldGFQcm9vZk5vZGVNYXRjaGVzIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwicnVsZU5vZGVUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJtZXRhUHJvb2ZUZXJtaW5hbE5vZGUiLCJtZXRhUHJvb2ZUZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZUZXJtaW5hbE5vZGUiLCJtYXRjaE1ldGFQcm9vZk5vZGVzIiwibWV0YVByb29mTm9kZXMiLCJub2RlcyIsIm1ldGFQcm9vZk5vZGVzTWF0Y2hlcyIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwibWV0YVByb29mTm9kZXNMZW5ndGgiLCJldmVyeSIsImluZGV4IiwibWF0Y2hlcyIsIm1hdGNoIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIm1ldGFQcm9vZlJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJtZXRhUHJvb2ZDaGlsZE5vZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7O21FQVRTOzhEQUNRO3FCQUVmOzs7Ozs7QUFFMUIsSUFBTUMsMEJBQTBCQyxJQUFBQSxnQkFBUyxFQUFDLCtCQUNwQ0MsOEJBQThCRCxJQUFBQSxnQkFBUyxFQUFDLHVDQUN4Q0Usa0NBQWtDRixJQUFBQSxnQkFBUyxFQUFDO0FBRW5DLFNBQVNGLGdCQUFnQkssYUFBYSxFQUFFQyxVQUFVLEVBQUVDLGdCQUFnQixFQUFFO0lBQ25GLElBQUlDLG9CQUFvQixLQUFLO0lBRTdCRCxpQkFBaUJFLEtBQUssQ0FBQ0o7SUFFdkIsSUFBTUsscUJBQXFCVCx3QkFBd0JJO0lBRW5ELElBQUlNLHlCQUF5QixJQUFJO0lBRWpDLElBQUlELHVCQUF1QixJQUFJLEVBQUU7UUFDL0JDLHlCQUF5QkMsSUFBQUEsdUJBQW9CLEVBQUNGLG9CQUFvQkg7SUFDcEUsQ0FBQztJQUVELElBQUlJLHdCQUF3QjtRQUMxQixJQUFNRSw2QkFBNkJWLDRCQUE0QkUsZ0JBQ3pEUyxpQ0FBaUNDLElBQUFBLGtCQUE0QixFQUFDRiw0QkFBNEJOO1FBRWhHLElBQUlPLGdDQUFnQztZQUNsQyxJ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
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWV0YUFzc2VydGlvbiBmcm9tIFwiLi4vbWV0YUFzc2VydGlvblwiO1xuaW1wb3J0IHZlcmlmeU1ldGFEZXJpdmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvbWV0YURlcml2YXRpb25cIjtcbmltcG9ydCB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IGZyb20gXCIuL21ldGFzdGF0ZW1lbnQvcXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YURlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL21ldGFEZXJpdmF0aW9uIVwiKSxcbiAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhcHJvb2YobWV0YXByb29mTm9kZSwgY29uY2x1c2lvbiwgbWV0YXByb29mQ29udGV4dCkge1xuICBsZXQgbWV0YXByb29mVmVyaWZpZWQgPSBmYWxzZTtcblxuICBtZXRhcHJvb2ZDb250ZXh0LmJlZ2luKG1ldGFwcm9vZk5vZGUpO1xuXG4gIGNvbnN0IG1ldGFEZXJpdmF0aW9uTm9kZSA9IG1ldGFEZXJpdmF0aW9uTm9kZVF1ZXJ5KG1ldGFwcm9vZk5vZGUpLFxuICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkobWV0YXByb29mTm9kZSk7XG5cbiAgbGV0IG1ldGFEZXJpdmF0aW9uVmVyaWZpZWQgPSBmYWxzZSxcbiAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmIChtZXRhRGVyaXZhdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBtZXRhRGVyaXZhdGlvblZlcmlmaWVkID0gdmVyaWZ5TWV0YURlcml2YXRpb24obWV0YURlcml2YXRpb25Ob2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcbiAgfVxuXG4gIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YUFzc2VydGlvbiA9IE1ldGFBc3NlcnRpb24uZnJvbVF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbWV0YXByb29mQ29udGV4dC5hZGRNZXRhQXNzZXJ0aW9uKG1ldGFBc3NlcnRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGlmIChtZXRhRGVyaXZhdGlvblZlcmlmaWVkIHx8IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnN0IGxhc3RNZXRhQXNzZXJ0aW9uID0gbWV0YXByb29mQ29udGV4dC5nZXRMYXN0TWV0YUFzc2VydGlvbigpLFxuICAgICAgICAgIG1ldGFBc3NlcnRpb24gPSBsYXN0TWV0YUFzc2VydGlvbiwgLy8vXG4gICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBjb25jbHVzaW9uLmdldE1ldGFzdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgbWV0YUFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YUFzc2VydGlvbi5nZXRNZXRhc3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICAgIG1ldGFBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk1ldGFzdGF0ZW1lbnROb2RlKG1ldGFBc3NlcnRpb25NZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbWV0YXByb29mVmVyaWZpZWQgPSBtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzOyAgLy8vXG4gIH1cblxuICBtZXRhcHJvb2ZWZXJpZmllZCA/XG4gICAgbWV0YXByb29mQ29udGV4dC5jb21wbGV0ZShtZXRhcHJvb2ZOb2RlKSA6XG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmNvbXBsZXRlKG1ldGFwcm9vZk5vZGUpO1xuXG4gIHJldHVybiBtZXRhcHJvb2ZWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZShtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gIGNvbnN0IG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUgPSBtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgbm9uVGVybWluYWxOb2RlID0gbWV0YXN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZShtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUpLFxuICAgICAgICBtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXM7ICAvLy9cblxuICByZXR1cm4gbWV0YUFzc2VydGlvbk1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZOb2RlKG1ldGFBc3NlcnRpb25Ob2RlLCBub2RlKSB7XG4gIGxldCBtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICBydWxlTm9kZVRlcm1pbmFsTm9kZSA9IG1ldGFBc3NlcnRpb25Ob2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUgPT09IHJ1bGVOb2RlVGVybWluYWxOb2RlKSB7XG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIG1ldGFBc3NlcnRpb25UZXJtaW5hbE5vZGUgPSBtZXRhQXNzZXJ0aW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgbWV0YUFzc2VydGlvblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZlRlcm1pbmFsTm9kZShtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlLCB0ZXJtaW5hbE5vZGUpO1xuXG4gICAgICBtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUgPSBtZXRhQXNzZXJ0aW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vblRlcm1pbmFsTm9kZShtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUpO1xuXG4gICAgICBtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlczsgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFBc3NlcnRpb25Ob2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZOb2RlcyhtZXRhQXNzZXJ0aW9uTm9kZXMsIG5vZGVzKSB7XG4gIGxldCBtZXRhQXNzZXJ0aW9uTm9kZXNNYXRjaGVzID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIG1ldGFBc3NlcnRpb25Ob2Rlc0xlbmd0aCA9IG1ldGFBc3NlcnRpb25Ob2Rlcy5sZW5ndGg7XG5cbiAgaWYgKG5vZGVzTGVuZ3RoID09PSBtZXRhQXNzZXJ0aW9uTm9kZXNMZW5ndGgpIHtcbiAgICBtZXRhQXNzZXJ0aW9uTm9kZXNNYXRjaGVzID0gbm9kZXMuZXZlcnkoKG5vZGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBtZXRhQXNzZXJ0aW9uTm9kZSA9IG1ldGFBc3NlcnRpb25Ob2Rlc1tpbmRleF0sXG4gICAgICAgICAgICBtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vZGUobWV0YUFzc2VydGlvbk5vZGUsIG5vZGUpO1xuXG4gICAgICBpZiAobWV0YUFzc2VydGlvbk5vZGVNYXRjaGVzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbWV0YUFzc2VydGlvbk5vZGVzTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZUZXJtaW5hbE5vZGUobWV0YUFzc2VydGlvblRlcm1pbmFsTm9kZSwgdGVybWluYWxOb2RlKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlLm1hdGNoKHRlcm1pbmFsTm9kZSksXG4gICAgICAgIG1ldGFBc3NlcnRpb25UZXJtaW5hbE5vZGVNYXRjaGVzID0gbWF0Y2hlczsgIC8vL1xuXG4gIHJldHVybiBtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cblxuZnVuY3Rpb24gbWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUobWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlKSB7XG4gIGxldCBtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgIG1ldGFBc3NlcnRpb25SdWxlTmFtZSA9IG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgaWYgKHJ1bGVOYW1lID09PSBtZXRhQXNzZXJ0aW9uUnVsZU5hbWUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBtZXRhQXNzZXJ0aW9uQ2hpbGROb2RlcyA9IG1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgbWV0YUFzc2VydGlvbk5vZGVzID0gbWV0YUFzc2VydGlvbkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIG1ldGFBc3NlcnRpb25Ob2Rlc01hdGNoZXMgPSBtYXRjaE1ldGFQcm9vZk5vZGVzKG1ldGFBc3NlcnRpb25Ob2Rlcywgbm9kZXMpO1xuXG4gICAgbWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBtZXRhQXNzZXJ0aW9uTm9kZXNNYXRjaGVzOyAvLy9cbiAgfVxuXG4gIHJldHVybiBtZXRhQXNzZXJ0aW9uTm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhcHJvb2YiLCJtZXRhRGVyaXZhdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJtZXRhcHJvb2ZOb2RlIiwiY29uY2x1c2lvbiIsIm1ldGFwcm9vZkNvbnRleHQiLCJtZXRhcHJvb2ZWZXJpZmllZCIsImJlZ2luIiwibWV0YURlcml2YXRpb25Ob2RlIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhRGVyaXZhdGlvblZlcmlmaWVkIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5TWV0YURlcml2YXRpb24iLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YUFzc2VydGlvbiIsIk1ldGFBc3NlcnRpb24iLCJmcm9tUXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJhZGRNZXRhQXNzZXJ0aW9uIiwibGFzdE1ldGFBc3NlcnRpb24iLCJnZXRMYXN0TWV0YUFzc2VydGlvbiIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiZ2V0TWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhQXNzZXJ0aW9uTWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZNZXRhc3RhdGVtZW50Tm9kZSIsImNvbXBsZXRlIiwibWV0YUFzc2VydGlvbk5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsIm1ldGFBc3NlcnRpb25Ob25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhUHJvb2ZOb25UZXJtaW5hbE5vZGUiLCJtYXRjaE1ldGFQcm9vZk5vZGUiLCJtZXRhQXNzZXJ0aW9uTm9kZSIsIm5vZGUiLCJtZXRhQXNzZXJ0aW9uTm9kZU1hdGNoZXMiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJydWxlTm9kZVRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsIm1ldGFBc3NlcnRpb25UZXJtaW5hbE5vZGUiLCJtZXRhQXNzZXJ0aW9uVGVybWluYWxOb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YVByb29mVGVybWluYWxOb2RlIiwibWF0Y2hNZXRhUHJvb2ZOb2RlcyIsIm1ldGFBc3NlcnRpb25Ob2RlcyIsIm5vZGVzIiwibWV0YUFzc2VydGlvbk5vZGVzTWF0Y2hlcyIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwibWV0YUFzc2VydGlvbk5vZGVzTGVuZ3RoIiwiZXZlcnkiLCJpbmRleCIsIm1hdGNoZXMiLCJtYXRjaCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJtZXRhQXNzZXJ0aW9uUnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm1ldGFBc3NlcnRpb25DaGlsZE5vZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7O2tFQVRFO21FQUNPOzhEQUNRO3FCQUVmOzs7Ozs7QUFFMUIsSUFBTUMsMEJBQTBCQyxJQUFBQSxnQkFBUyxFQUFDLCtCQUNwQ0Msa0NBQWtDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRW5DLFNBQVNGLGdCQUFnQkksYUFBYSxFQUFFQyxVQUFVLEVBQUVDLGdCQUFnQixFQUFFO0lBQ25GLElBQUlDLG9CQUFvQixLQUFLO0lBRTdCRCxpQkFBaUJFLEtBQUssQ0FBQ0o7SUFFdkIsSUFBTUsscUJBQXFCUix3QkFBd0JHLGdCQUM3Q00sNkJBQTZCUCxnQ0FBZ0NDO0lBRW5FLElBQUlPLHlCQUF5QixLQUFLLEVBQzlCQyxpQ0FBaUMsS0FBSztJQUUxQyxJQUFJSCx1QkFBdUIsSUFBSSxFQUFFO1FBQy9CRSx5QkFBeUJFLElBQUFBLHVCQUFvQixFQUFDSixvQkFBb0JIO0lBQ3BFLENBQUM7SUFFRCxJQUFJSSwrQkFBK0IsSUFBSSxFQUFFO1FBQ3ZDRSxpQ0FBaUNFLElBQUFBLGtCQUE0QixFQUFDSiw0QkFBNEJKO1FBRTFGLElBQUlNLGdDQUFnQztZQUNsQyxJQUFNRyxnQkFBZ0JDLHNCQUFhLENBQUNDLDhCQUE4QixDQUFDUDtZQUVuRUosaUJBQWlCWSxnQkFBZ0IsQ0FBQ0g7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJSiwwQkFBMEJDLGdDQUFnQztRQUM1RCxJQUFNTyxvQkFBb0JiLGlCQUFpQmMsb0JBQW9CLElBQ3pETCxpQkFBZ0JJLG1CQUNoQkUsb0JBQW9CaEIsV0FBV2lC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
|
|
@@ -22,7 +22,7 @@ function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, metaproofC
|
|
|
22
22
|
var unqualifiedMetastatementVerified = false;
|
|
23
23
|
metaproofContext.begin(unqualifiedMetastatementNode);
|
|
24
24
|
var unqualifiedMetastatementString = (0, _string.nodeAsString)(unqualifiedMetastatementNode);
|
|
25
|
-
metaproofContext.
|
|
25
|
+
metaproofContext.debug("Verifying the '".concat(unqualifiedMetastatementString, "' unqualified metastatement..."));
|
|
26
26
|
var metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
|
|
27
27
|
if (metastatementNode !== null) {
|
|
28
28
|
var metastatementVerified = (0, _metastatement.default)(metastatementNode, metaproofContext);
|
|
@@ -43,4 +43,4 @@ function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, metaproofC
|
|
|
43
43
|
return unqualifiedMetastatementVerified;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFBc3NlcnRpb24gZnJvbSBcIi4uLy4uL21ldGFBc3NlcnRpb25cIjtcbmltcG9ydCB2ZXJpZnlNZXRhc3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvbWV0YXN0YXRlbWVudFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBub2RlQXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudC9tZXRhc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbWV0YXByb29mQ29udGV4dC5iZWdpbih1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgbWV0YXByb29mQ29udGV4dC5kZWJ1ZyhgVmVyaWZ5aW5nIHRoZSAnJHt1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmd9JyB1bnF1YWxpZmllZCBtZXRhc3RhdGVtZW50Li4uYCk7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChtZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeU1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIG1ldGFwcm9vZkNvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgZGVyaXZlZCA9IG1ldGFwcm9vZkNvbnRleHQuaXNEZXJpdmVkKCk7XG5cbiAgICAgIGlmIChkZXJpdmVkKSB7XG4gICAgICAgIGNvbnN0IG1ldGFBc3NlcnRpb24gPSBNZXRhQXNzZXJ0aW9uLmZyb21NZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICAgIG1ldGFBc3NlcnRpb25NYXRjaGVzID0gbWV0YXByb29mQ29udGV4dC5tYXRjaE1ldGFBc3NlcnRpb24obWV0YUFzc2VydGlvbik7XG5cbiAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBtZXRhQXNzZXJ0aW9uTWF0Y2hlczsgIC8vL1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIG1ldGFwcm9vZkNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuYCk7XG4gIH1cblxuICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA/XG4gICAgbWV0YXByb29mQ29udGV4dC5jb21wbGV0ZSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSA6XG4gICAgICBtZXRhcHJvb2ZDb250ZXh0LmhhbHQodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgcmV0dXJuIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCIsIm1ldGFzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXByb29mQ29udGV4dCIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwiYmVnaW4iLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsImRlcml2ZWQiLCJpc0Rlcml2ZWQiLCJtZXRhQXNzZXJ0aW9uIiwiTWV0YUFzc2VydGlvbiIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFBc3NlcnRpb25NYXRjaGVzIiwibWF0Y2hNZXRhQXNzZXJ0aW9uIiwiaW5mbyIsImNvbXBsZXRlIiwiaGFsdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7OztrRUFSRTtrRUFDTTtxQkFFTjtzQkFDRzs7Ozs7O0FBRTdCLElBQU1DLHlCQUF5QkMsSUFBQUEsZ0JBQVMsRUFBQztBQUUxQixTQUFTRiwrQkFBK0JHLDRCQUE0QixFQUFFQyxnQkFBZ0IsRUFBRTtJQUNyRyxJQUFJQyxtQ0FBbUMsS0FBSztJQUU1Q0QsaUJBQWlCRSxLQUFLLENBQUNIO0lBRXZCLElBQU1JLGlDQUFpQ0MsSUFBQUEsb0JBQVksRUFBQ0w7SUFFcERDLGlCQUFpQkssS0FBSyxDQUFDLEFBQUMsa0JBQWdELE9BQS9CRixnQ0FBK0I7SUFFeEUsSUFBTUcsb0JBQW9CVCx1QkFBdUJFO0lBRWpELElBQUlPLHNCQUFzQixJQUFJLEVBQUU7UUFDOUIsSUFBTUMsd0JBQXdCQyxJQUFBQSxzQkFBbUIsRUFBQ0YsbUJBQW1CTjtRQUVyRSxJQUFJTyx1QkFBdUI7WUFDekIsSUFBTUUsVUFBVVQsaUJBQWlCVSxTQUFTO1lBRTFDLElBQUlELFNBQVM7Z0JBQ1gsSUFBTUUsZ0JBQWdCQyxzQkFBYSxDQUFDQyxxQkFBcUIsQ0FBQ1Asb0JBQ3BEUSx1QkFBdUJkLGlCQUFpQmUsa0JBQWtCLENBQUNKO2dCQUVqRVYsbUNBQW1DYSxzQkFBdUIsR0FBRztZQUMvRCxPQUFPO2dCQUNMYixtQ0FBbUMsSUFBSTtZQUN6QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJQSxrQ0FBa0M7UUFDcENELGlCQUFpQmdCLElBQUksQ0FBQyxBQUFDLGlCQUErQyxPQUEvQmIsZ0NBQStCO0lBQ3hFLENBQUM7SUFFREYsbUNBQ0VELGlCQUFpQmlCLFFBQVEsQ0FBQ2xCLGdDQUN4QkMsaUJBQWlCa0IsSUFBSSxDQUFDbkIsNkJBQTZCO0lBRXZELE9BQU9FO0FBQ1QifQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-verify-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.459",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.21",
|
|
14
14
|
"necessary": "^11.2.1",
|
|
15
|
-
"occam-custom-grammars": "^5.0.
|
|
16
|
-
"occam-dom": "^3.
|
|
17
|
-
"occam-file-system": "^5.0.
|
|
15
|
+
"occam-custom-grammars": "^5.0.372",
|
|
16
|
+
"occam-dom": "^3.1.1",
|
|
17
|
+
"occam-file-system": "^5.0.132",
|
|
18
18
|
"occam-grammar-utilities": "^7.0.66"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
package/src/context/metaproof.js
CHANGED
|
@@ -4,6 +4,8 @@ import fileMixins from "../mixins/file";
|
|
|
4
4
|
import loggingMixins from "../mixins/logging";
|
|
5
5
|
import callbacksMixins from "../mixins/callbacks";
|
|
6
6
|
|
|
7
|
+
import { last } from "../utilities/array";
|
|
8
|
+
|
|
7
9
|
class MetaproofContext {
|
|
8
10
|
constructor(context, derived, metaAssertions) {
|
|
9
11
|
this.context = context;
|
|
@@ -30,6 +32,18 @@ class MetaproofContext {
|
|
|
30
32
|
return metaAssertions;
|
|
31
33
|
}
|
|
32
34
|
|
|
35
|
+
getLastMetaAssertion() {
|
|
36
|
+
let lastMetaAssertion = null;
|
|
37
|
+
|
|
38
|
+
const metaAssertionsLength = this.metaAssertions.length;
|
|
39
|
+
|
|
40
|
+
if (metaAssertionsLength > 0) {
|
|
41
|
+
lastMetaAssertion = last(this.metaAssertions);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return lastMetaAssertion;
|
|
45
|
+
}
|
|
46
|
+
|
|
33
47
|
setDerived(derived) {
|
|
34
48
|
this.derived = derived;
|
|
35
49
|
}
|
package/src/premise.js
CHANGED
|
@@ -11,7 +11,8 @@ import { METAVARIABLE_RULE_NAME, METASTATEMENT_RULE_NAME } from "./ruleNames";
|
|
|
11
11
|
|
|
12
12
|
const metastatementNodesQuery = nodesQuery("/metaSubproofAssertion/metastatement"),
|
|
13
13
|
metaSubproofAssertionNodeQuery = nodeQuery("/metastatement/metaSubproofAssertion!"),
|
|
14
|
-
|
|
14
|
+
unqualifiedMetastatementMetastatementNodesQuery = nodesQuery("/metaSubproof/unqualifiedMetastatement/metastatement!"),
|
|
15
|
+
qualifiedOrUnqualifiedMetastatementMetastatementNodeQuery = nodeQuery("/metaSubproof/metaDerivation|abridgedMetaDerivation/");
|
|
15
16
|
|
|
16
17
|
export default class Premise {
|
|
17
18
|
constructor(metastatementNode) {
|
|
@@ -30,13 +31,13 @@ export default class Premise {
|
|
|
30
31
|
if (metaSubproofAssertionNode !== null) {
|
|
31
32
|
const metaSubproofAssertionMetastatementNodes = metastatementNodesQuery(metaSubproofAssertionNode),
|
|
32
33
|
metaSubproofAssertionMetastatementNodesLength = metaSubproofAssertionMetastatementNodes.length,
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
unqualifiedMetastatementMetastatementNodes = unqualifiedMetastatementMetastatementNodesQuery(metaSubproofNode),
|
|
35
|
+
unqualifiedMetastatementMetastatementNodesLength = unqualifiedMetastatementMetastatementNodes.length;
|
|
35
36
|
|
|
36
|
-
if (metaSubproofAssertionMetastatementNodesLength ===
|
|
37
|
+
if (metaSubproofAssertionMetastatementNodesLength === unqualifiedMetastatementMetastatementNodesLength) {
|
|
37
38
|
metaSubproofNodeMatches = metaSubproofAssertionMetastatementNodes.every((metaSubproofAssertionMetastatementNode, index) => {
|
|
38
|
-
const
|
|
39
|
-
nonTerminalNode =
|
|
39
|
+
const unqualifiedMetastatementMetastatementNode = unqualifiedMetastatementMetastatementNodes[index],
|
|
40
|
+
nonTerminalNode = unqualifiedMetastatementMetastatementNode, ///
|
|
40
41
|
premiseNonTerminalNode = metaSubproofAssertionMetastatementNode, ///
|
|
41
42
|
premiseNonTerminalNodeMatches = matchPremiseNonTerminalNode(premiseNonTerminalNode, nonTerminalNode, metaSubstitutions);
|
|
42
43
|
|
|
@@ -5,15 +5,12 @@ import MetaproofContext from "../context/metaproof";
|
|
|
5
5
|
import verifyQualifiedMetastatement from "../verify/metastatement/qualified";
|
|
6
6
|
import verifyUnqualifiedMetastatement from "../verify/metastatement/unqualified";
|
|
7
7
|
|
|
8
|
-
import { front, last } from "../utilities/array";
|
|
9
8
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
10
9
|
import { META_SUBPROOF_RULE_NAME, QUALIFIED_METASTATEMENT_RULE_NAME, UNQUALIFIED_METASTATEMENT_RULE_NAME } from "../ruleNames";
|
|
11
10
|
|
|
12
|
-
const metaDerivationNodeQuery = nodeQuery("/metaSubproof/metaDerivation!"),
|
|
13
|
-
metaDerivationChildNodesQuery = nodesQuery("/metaDerivation/*"),
|
|
14
|
-
|
|
15
|
-
unqualifiedMetastatementNodeQuery = nodeQuery("/unqualifiedMetastatement!"),
|
|
16
|
-
qualifiedOrUnqualifiedMetastatementNodesQuery = nodesQuery("/metaSubproof/qualifiedMetastatement|unqualifiedMetastatement")
|
|
11
|
+
const metaDerivationNodeQuery = nodeQuery("/metaSubproof/metaDerivation|abridgedMetaDerivation!"), ///
|
|
12
|
+
metaDerivationChildNodesQuery = nodesQuery("/metaDerivation|abridgedMetaDerivation/*"),
|
|
13
|
+
unqualifiedMetastatementNodesQuery = nodesQuery("/metaSubproof/unqualifiedMetastatement")
|
|
17
14
|
|
|
18
15
|
export default function verifyMetaDerivation(metaDerivationNode, metaproofContext) {
|
|
19
16
|
let metaDerivationVerified,
|
|
@@ -106,9 +103,7 @@ function verifyMetaSubproof(metaSubproofNode, metaproofContext) {
|
|
|
106
103
|
|
|
107
104
|
metaproofContext = MetaproofContext.fromMetaproofContext(metaproofContext); ///
|
|
108
105
|
|
|
109
|
-
const
|
|
110
|
-
frontQualifiedOrUnqualifiedMetastatementNodes = front(qualifiedOrUnqualifiedMetastatementNodes),
|
|
111
|
-
unqualifiedMetastatementNodes = frontQualifiedOrUnqualifiedMetastatementNodes, ///
|
|
106
|
+
const unqualifiedMetastatementNodes = unqualifiedMetastatementNodesQuery(metaSubproofNode),
|
|
112
107
|
unqualifiedMetastatementsVerified = unqualifiedMetastatementNodes.every((unqualifiedMetastatementNode) => {
|
|
113
108
|
const unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, metaproofContext);
|
|
114
109
|
|
|
@@ -124,31 +119,11 @@ function verifyMetaSubproof(metaSubproofNode, metaproofContext) {
|
|
|
124
119
|
metaproofContext.addMetaAssertion(metaAssertion);
|
|
125
120
|
});
|
|
126
121
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
const metaDerivationNode = metaDerivationNodeQuery(metaSubproofNode);
|
|
130
|
-
|
|
131
|
-
if (metaDerivationNode !== null) {
|
|
132
|
-
metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, metaproofContext);
|
|
133
|
-
}
|
|
122
|
+
const metaDerivationNode = metaDerivationNodeQuery(metaSubproofNode),
|
|
123
|
+
metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, metaproofContext);
|
|
134
124
|
|
|
135
125
|
if (metaDerivationVerified) {
|
|
136
|
-
|
|
137
|
-
qualifiedOrUnqualifiedMetastatementNode = lastQualifiedOrUnqualifiedMetastatementNode, ///
|
|
138
|
-
qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(qualifiedOrUnqualifiedMetastatementNode),
|
|
139
|
-
unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(qualifiedOrUnqualifiedMetastatementNode);
|
|
140
|
-
|
|
141
|
-
if (qualifiedMetastatementNode !== null) {
|
|
142
|
-
const qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, metaproofContext);
|
|
143
|
-
|
|
144
|
-
metaSubproofVerified = qualifiedMetastatementVerified; ///
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
if (unqualifiedMetastatementNode !== null) {
|
|
148
|
-
const unqualifiedMetastatementVerified = verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, metaproofContext);
|
|
149
|
-
|
|
150
|
-
metaSubproofVerified = unqualifiedMetastatementVerified; ///
|
|
151
|
-
}
|
|
126
|
+
metaSubproofVerified = true;
|
|
152
127
|
}
|
|
153
128
|
}
|
|
154
129
|
|
package/src/verify/metaproof.js
CHANGED
|
@@ -1,40 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import MetaAssertion from "../metaAssertion";
|
|
3
4
|
import verifyMetaDerivation from "../verify/metaDerivation";
|
|
4
|
-
import verifyQualifiedMetastatement from "
|
|
5
|
+
import verifyQualifiedMetastatement from "./metastatement/qualified";
|
|
5
6
|
|
|
6
7
|
import { nodeQuery } from "../utilities/query";
|
|
7
8
|
|
|
8
9
|
const metaDerivationNodeQuery = nodeQuery("/metaproof/metaDerivation!"),
|
|
9
|
-
|
|
10
|
-
metaProofMetastatementNodeQuery = nodeQuery("/metaproof/qualifiedMetastatement/metastatement!");
|
|
10
|
+
qualifiedMetastatementNodeQuery = nodeQuery("/metaproof/qualifiedMetastatement!");
|
|
11
11
|
|
|
12
12
|
export default function verifyMetaproof(metaproofNode, conclusion, metaproofContext) {
|
|
13
13
|
let metaproofVerified = false;
|
|
14
14
|
|
|
15
15
|
metaproofContext.begin(metaproofNode);
|
|
16
16
|
|
|
17
|
-
const metaDerivationNode = metaDerivationNodeQuery(metaproofNode)
|
|
17
|
+
const metaDerivationNode = metaDerivationNodeQuery(metaproofNode),
|
|
18
|
+
qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(metaproofNode);
|
|
18
19
|
|
|
19
|
-
let metaDerivationVerified =
|
|
20
|
+
let metaDerivationVerified = false,
|
|
21
|
+
qualifiedMetastatementVerified = false;
|
|
20
22
|
|
|
21
23
|
if (metaDerivationNode !== null) {
|
|
22
24
|
metaDerivationVerified = verifyMetaDerivation(metaDerivationNode, metaproofContext);
|
|
23
25
|
}
|
|
24
26
|
|
|
25
|
-
if (
|
|
26
|
-
|
|
27
|
-
qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, metaproofContext);
|
|
27
|
+
if (qualifiedMetastatementNode !== null) {
|
|
28
|
+
qualifiedMetastatementVerified = verifyQualifiedMetastatement(qualifiedMetastatementNode, metaproofContext);
|
|
28
29
|
|
|
29
30
|
if (qualifiedMetastatementVerified) {
|
|
30
|
-
const
|
|
31
|
-
metaProofMetastatementNode = metaProofMetastatementNodeQuery(metaproofNode),
|
|
32
|
-
metaProofMetastatementNodeMatches = matchMetaProofMetastatementNode(metaProofMetastatementNode, metastatementNode);
|
|
31
|
+
const metaAssertion = MetaAssertion.fromQualifiedMetastatementNode(qualifiedMetastatementNode);
|
|
33
32
|
|
|
34
|
-
|
|
33
|
+
metaproofContext.addMetaAssertion(metaAssertion);
|
|
35
34
|
}
|
|
36
35
|
}
|
|
37
36
|
|
|
37
|
+
if (metaDerivationVerified || qualifiedMetastatementVerified) {
|
|
38
|
+
const lastMetaAssertion = metaproofContext.getLastMetaAssertion(),
|
|
39
|
+
metaAssertion = lastMetaAssertion, ///
|
|
40
|
+
metastatementNode = conclusion.getMetastatementNode(),
|
|
41
|
+
metaAssertionMetastatementNode = metaAssertion.getMetastatementNode(),
|
|
42
|
+
metaAssertionMetastatementNodeMatches = matchMetaProofMetastatementNode(metaAssertionMetastatementNode, metastatementNode);
|
|
43
|
+
|
|
44
|
+
metaproofVerified = metaAssertionMetastatementNodeMatches; ///
|
|
45
|
+
}
|
|
46
|
+
|
|
38
47
|
metaproofVerified ?
|
|
39
48
|
metaproofContext.complete(metaproofNode) :
|
|
40
49
|
metaproofContext.complete(metaproofNode);
|
|
@@ -42,82 +51,82 @@ export default function verifyMetaproof(metaproofNode, conclusion, metaproofCont
|
|
|
42
51
|
return metaproofVerified;
|
|
43
52
|
}
|
|
44
53
|
|
|
45
|
-
function matchMetaProofMetastatementNode(
|
|
46
|
-
const
|
|
54
|
+
function matchMetaProofMetastatementNode(metaAssertionMetastatementNode, metastatementNode) {
|
|
55
|
+
const metaAssertionNonTerminalNode = metaAssertionMetastatementNode, ///
|
|
47
56
|
nonTerminalNode = metastatementNode, ///
|
|
48
|
-
|
|
49
|
-
|
|
57
|
+
metaAssertionNonTerminalNodeMatches = matchMetaProofNonTerminalNode(metaAssertionNonTerminalNode, nonTerminalNode),
|
|
58
|
+
metaAssertionMetastatementNodeMatches = metaAssertionNonTerminalNodeMatches; ///
|
|
50
59
|
|
|
51
|
-
return
|
|
60
|
+
return metaAssertionMetastatementNodeMatches;
|
|
52
61
|
}
|
|
53
62
|
|
|
54
|
-
function matchMetaProofNode(
|
|
55
|
-
let
|
|
63
|
+
function matchMetaProofNode(metaAssertionNode, node) {
|
|
64
|
+
let metaAssertionNodeMatches = false;
|
|
56
65
|
|
|
57
66
|
const nodeTerminalNode = node.isTerminalNode(),
|
|
58
|
-
ruleNodeTerminalNode =
|
|
67
|
+
ruleNodeTerminalNode = metaAssertionNode.isTerminalNode();
|
|
59
68
|
|
|
60
69
|
if (nodeTerminalNode === ruleNodeTerminalNode) {
|
|
61
70
|
if (nodeTerminalNode) {
|
|
62
71
|
const terminalNode = node, ///
|
|
63
|
-
|
|
64
|
-
|
|
72
|
+
metaAssertionTerminalNode = metaAssertionNode, ///
|
|
73
|
+
metaAssertionTerminalNodeMatches = matchMetaProofTerminalNode(metaAssertionTerminalNode, terminalNode);
|
|
65
74
|
|
|
66
|
-
|
|
75
|
+
metaAssertionNodeMatches = metaAssertionTerminalNodeMatches; ///
|
|
67
76
|
} else {
|
|
68
77
|
const nonTerminalNode = node, ///
|
|
69
|
-
|
|
70
|
-
|
|
78
|
+
metaAssertionNonTerminalNode = metaAssertionNode, ///
|
|
79
|
+
metaAssertionNonTerminalNodeMatches = matchMetaProofNonTerminalNode(metaAssertionNonTerminalNode, nonTerminalNode);
|
|
71
80
|
|
|
72
|
-
|
|
81
|
+
metaAssertionNodeMatches = metaAssertionNonTerminalNodeMatches; ///
|
|
73
82
|
}
|
|
74
83
|
}
|
|
75
84
|
|
|
76
|
-
return
|
|
85
|
+
return metaAssertionNodeMatches;
|
|
77
86
|
}
|
|
78
87
|
|
|
79
|
-
function matchMetaProofNodes(
|
|
80
|
-
let
|
|
88
|
+
function matchMetaProofNodes(metaAssertionNodes, nodes) {
|
|
89
|
+
let metaAssertionNodesMatches = false;
|
|
81
90
|
|
|
82
91
|
const nodesLength = nodes.length,
|
|
83
|
-
|
|
92
|
+
metaAssertionNodesLength = metaAssertionNodes.length;
|
|
84
93
|
|
|
85
|
-
if (nodesLength ===
|
|
86
|
-
|
|
87
|
-
const
|
|
88
|
-
|
|
94
|
+
if (nodesLength === metaAssertionNodesLength) {
|
|
95
|
+
metaAssertionNodesMatches = nodes.every((node, index) => {
|
|
96
|
+
const metaAssertionNode = metaAssertionNodes[index],
|
|
97
|
+
metaAssertionNodeMatches = matchMetaProofNode(metaAssertionNode, node);
|
|
89
98
|
|
|
90
|
-
if (
|
|
99
|
+
if (metaAssertionNodeMatches) {
|
|
91
100
|
return true;
|
|
92
101
|
}
|
|
93
102
|
})
|
|
94
103
|
}
|
|
95
104
|
|
|
96
|
-
return
|
|
105
|
+
return metaAssertionNodesMatches;
|
|
97
106
|
}
|
|
98
107
|
|
|
99
|
-
function matchMetaProofTerminalNode(
|
|
100
|
-
const matches =
|
|
101
|
-
|
|
108
|
+
function matchMetaProofTerminalNode(metaAssertionTerminalNode, terminalNode) {
|
|
109
|
+
const matches = metaAssertionTerminalNode.match(terminalNode),
|
|
110
|
+
metaAssertionTerminalNodeMatches = matches; ///
|
|
102
111
|
|
|
103
|
-
return
|
|
112
|
+
return metaAssertionTerminalNodeMatches;
|
|
104
113
|
}
|
|
105
114
|
|
|
106
|
-
function matchMetaProofNonTerminalNode(
|
|
107
|
-
let
|
|
115
|
+
function matchMetaProofNonTerminalNode(metaAssertionNonTerminalNode, nonTerminalNode) {
|
|
116
|
+
let metaAssertionNonTerminalNodeMatches = false;
|
|
108
117
|
|
|
109
118
|
const ruleName = nonTerminalNode.getRuleName(),
|
|
110
|
-
|
|
119
|
+
metaAssertionRuleName = metaAssertionNonTerminalNode.getRuleName(); ///
|
|
111
120
|
|
|
112
|
-
if (ruleName ===
|
|
121
|
+
if (ruleName === metaAssertionRuleName) {
|
|
113
122
|
const childNodes = nonTerminalNode.getChildNodes(),
|
|
114
|
-
|
|
123
|
+
metaAssertionChildNodes = metaAssertionNonTerminalNode.getChildNodes(),
|
|
115
124
|
nodes = childNodes, ///
|
|
116
|
-
|
|
117
|
-
|
|
125
|
+
metaAssertionNodes = metaAssertionChildNodes, ///
|
|
126
|
+
metaAssertionNodesMatches = matchMetaProofNodes(metaAssertionNodes, nodes);
|
|
118
127
|
|
|
119
|
-
|
|
128
|
+
metaAssertionNonTerminalNodeMatches = metaAssertionNodesMatches; ///
|
|
120
129
|
}
|
|
121
130
|
|
|
122
|
-
return
|
|
131
|
+
return metaAssertionNonTerminalNodeMatches;
|
|
123
132
|
}
|
|
@@ -15,7 +15,7 @@ export default function verifyUnqualifiedMetastatement(unqualifiedMetastatementN
|
|
|
15
15
|
|
|
16
16
|
const unqualifiedMetastatementString = nodeAsString(unqualifiedMetastatementNode);
|
|
17
17
|
|
|
18
|
-
metaproofContext.
|
|
18
|
+
metaproofContext.debug(`Verifying the '${unqualifiedMetastatementString}' unqualified metastatement...`);
|
|
19
19
|
|
|
20
20
|
const metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
|
|
21
21
|
|