react-elmish 7.3.0 → 7.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ElmComponent.js +17 -18
- package/dist/Testing/getUpdateFn.d.ts +3 -3
- package/dist/Testing/getUpdateFn.js +43 -15
- package/dist/createDefer.d.ts +6 -0
- package/dist/createDefer.js +27 -0
- package/dist/useElmish.js +11 -11
- package/package.json +1 -1
package/dist/ElmComponent.js
CHANGED
|
@@ -7,20 +7,23 @@ exports.ElmComponent = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _Common = require("./Common");
|
|
9
9
|
var _Init = require("./Init");
|
|
10
|
+
var _createDefer3 = require("./createDefer");
|
|
10
11
|
var _fakeOptions = require("./fakeOptions");
|
|
11
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
12
13
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
13
14
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
14
15
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
15
16
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
17
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
19
|
function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
|
|
20
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
21
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
22
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
23
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
19
24
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
20
|
-
function
|
|
25
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
21
26
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
22
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
27
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
25
28
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
26
29
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
@@ -77,32 +80,28 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
|
|
|
77
80
|
_this.running = true;
|
|
78
81
|
var nextMsg = msg;
|
|
79
82
|
var modified = false;
|
|
80
|
-
|
|
83
|
+
do {
|
|
81
84
|
(0, _Common.logMessage)(_this.componentName, nextMsg);
|
|
82
|
-
var
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
for (var _len = arguments.length, tempDeferredCommands = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
87
|
-
tempDeferredCommands[_key - 1] = arguments[_key];
|
|
88
|
-
}
|
|
89
|
-
deferredCommands.push.apply(deferredCommands, tempDeferredCommands);
|
|
90
|
-
};
|
|
85
|
+
var _createDefer = (0, _createDefer3.createDefer)(),
|
|
86
|
+
_createDefer2 = _slicedToArray(_createDefer, 2),
|
|
87
|
+
defer = _createDefer2[0],
|
|
88
|
+
getDeferred = _createDefer2[1];
|
|
91
89
|
var _this$update = _this.update(_this.currentModel, nextMsg, _this.props, {
|
|
92
90
|
defer: defer
|
|
93
91
|
}),
|
|
94
92
|
_this$update2 = _toArray(_this$update),
|
|
95
93
|
model = _this$update2[0],
|
|
96
94
|
commands = _this$update2.slice(1);
|
|
95
|
+
var _getDeferred = getDeferred(),
|
|
96
|
+
_getDeferred2 = _slicedToArray(_getDeferred, 2),
|
|
97
|
+
deferredModel = _getDeferred2[0],
|
|
98
|
+
deferredCommands = _getDeferred2[1];
|
|
97
99
|
if ((0, _Common.modelHasChanged)(_this.currentModel, _objectSpread(_objectSpread({}, deferredModel), model))) {
|
|
98
100
|
_this.currentModel = _objectSpread(_objectSpread(_objectSpread({}, _this.currentModel), deferredModel), model);
|
|
99
101
|
modified = true;
|
|
100
102
|
}
|
|
101
|
-
_Common.execCmd.apply(void 0, [_this.dispatch].concat(_toConsumableArray(commands), deferredCommands));
|
|
103
|
+
_Common.execCmd.apply(void 0, [_this.dispatch].concat(_toConsumableArray(commands), _toConsumableArray(deferredCommands)));
|
|
102
104
|
nextMsg = _this.buffer.shift();
|
|
103
|
-
};
|
|
104
|
-
do {
|
|
105
|
-
_loop();
|
|
106
105
|
} while (nextMsg);
|
|
107
106
|
_this.running = false;
|
|
108
107
|
if (_this.mounted && modified) {
|
|
@@ -177,4 +176,4 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
|
|
|
177
176
|
}]);
|
|
178
177
|
return ElmComponent;
|
|
179
178
|
}(_react["default"].Component);
|
|
180
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Db21tb24iLCJfSW5pdCIsIl9mYWtlT3B0aW9ucyIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfdG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJuIiwiT2JqZWN0IiwidG9TdHJpbmciLCJjYWxsIiwic2xpY2UiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJsZW4iLCJsZW5ndGgiLCJpIiwiYXJyMiIsIml0ZXIiLCJvd25LZXlzIiwiZSIsInIiLCJ0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfY2xhc3NDYWxsQ2hlY2siLCJpbnN0YW5jZSIsIkNvbnN0cnVjdG9yIiwiX2RlZmluZVByb3BlcnRpZXMiLCJ0YXJnZXQiLCJwcm9wcyIsImRlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwicHJvdG9Qcm9wcyIsInN0YXRpY1Byb3BzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJzZWxmIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJSZWZlcmVuY2VFcnJvciIsIl9pbmhlcml0cyIsInN1YkNsYXNzIiwic3VwZXJDbGFzcyIsImNyZWF0ZSIsInZhbHVlIiwiX3NldFByb3RvdHlwZU9mIiwicCIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsInRvUHJpbWl0aXZlIiwiTnVtYmVyIiwiRWxtQ29tcG9uZW50IiwiZXhwb3J0cyIsIl9SZWFjdCRDb21wb25lbnQiLCJpbml0IiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfdGhpcyIsIm1zZyIsInJ1bm5pbmciLCJidWZmZXIiLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJfbG9vcCIsImxvZ01lc3NhZ2UiLCJjb21wb25lbnROYW1lIiwiZGVmZXJyZWRNb2RlbCIsImRlZmVycmVkQ29tbWFuZHMiLCJkZWZlciIsInRlbXBEZWZlcnJlZE1vZGVsIiwiX2xlbiIsInRlbXBEZWZlcnJlZENvbW1hbmRzIiwiX2tleSIsIl90aGlzJHVwZGF0ZSIsInVwZGF0ZSIsImN1cnJlbnRNb2RlbCIsIl90aGlzJHVwZGF0ZTIiLCJtb2RlbCIsImNvbW1hbmRzIiwibW9kZWxIYXNDaGFuZ2VkIiwiZXhlY0NtZCIsImRpc3BhdGNoIiwiY29uY2F0Iiwic2hpZnQiLCJtb3VudGVkIiwiX1NlcnZpY2VzJGxvZ2dlciIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiZGVidWciLCJmb3JjZVVwZGF0ZSIsImZha2VPcHRpb25zIiwiZ2V0RmFrZU9wdGlvbnNPbmNlIiwiX3JlZiIsIl9yZWYyIiwiaW5pdENvbW1hbmRzIiwiY29tcG9uZW50RGlkTW91bnQiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImdldCIsIlJlYWN0IiwiQ29tcG9uZW50Il0sInNvdXJjZXMiOlsiLi4vc3JjL0VsbUNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBleGVjQ21kLCBsb2dNZXNzYWdlLCBtb2RlbEhhc0NoYW5nZWQgfSBmcm9tIFwiLi9Db21tb25cIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUgeyBDbWQsIERlZmVyRnVuY3Rpb24sIEluaXRGdW5jdGlvbiwgTWVzc2FnZSwgTnVsbGFibGUsIFVwZGF0ZUZ1bmN0aW9uIH0gZnJvbSBcIi4vVHlwZXNcIjtcbmltcG9ydCB7IGdldEZha2VPcHRpb25zT25jZSB9IGZyb20gXCIuL2Zha2VPcHRpb25zXCI7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgZm9yIGEgcmVhY3QgY2xhc3MgY29tcG9uZW50IHVzaW5nIHRoZSBFbG1pc2ggcGF0dGVybi5cbiAqIEBleHBvcnRcbiAqIEBhYnN0cmFjdFxuICogQGNsYXNzIEVsbUNvbXBvbmVudFxuICogQGV4dGVuZHMge0NvbXBvbmVudDxUUHJvcHMsIFRNb2RlbD59XG4gKiBAdGVtcGxhdGUgVE1vZGVsIFRoZSB0eXBlIG9mIHRoZSBtb2RlbC5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMuXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqL1xuYWJzdHJhY3QgY2xhc3MgRWxtQ29tcG9uZW50PFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUUHJvcHM+IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFRQcm9wcz4ge1xuXHRwcml2YXRlIGluaXRDb21tYW5kczogTnVsbGFibGU8KENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW10+IHwgdW5kZWZpbmVkO1xuXHRwcml2YXRlIHJlYWRvbmx5IGNvbXBvbmVudE5hbWU6IHN0cmluZztcblx0cHJpdmF0ZSByZWFkb25seSBidWZmZXI6IFRNZXNzYWdlW10gPSBbXTtcblx0cHJpdmF0ZSBydW5uaW5nID0gZmFsc2U7XG5cdHByaXZhdGUgbW91bnRlZCA9IGZhbHNlO1xuXHRwcml2YXRlIGN1cnJlbnRNb2RlbDogVE1vZGVsO1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIEVsbUNvbXBvbmVudC5cblx0ICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBmb3IgdGhlIGNvbXBvbmVudC5cblx0ICogQHBhcmFtIHsoKSA9PiBUTW9kZWx9IGluaXQgVGhlIGluaXRpYWxpemVyIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgY29tcG9uZW50LlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IFRQcm9wcywgaW5pdDogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sIG5hbWU6IHN0cmluZykge1xuXHRcdHN1cGVyKHByb3BzKTtcblxuXHRcdGNvbnN0IGZha2VPcHRpb25zID0gZ2V0RmFrZU9wdGlvbnNPbmNlKCk7XG5cblx0XHRpZiAoZmFrZU9wdGlvbnM/LmRpc3BhdGNoKSB7XG5cdFx0XHR0aGlzLmRpc3BhdGNoID0gZmFrZU9wdGlvbnMuZGlzcGF0Y2g7XG5cdFx0fVxuXG5cdFx0Y29uc3QgW21vZGVsLCAuLi5jb21tYW5kc10gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWwgYXMgVE1vZGVsXSA6IGluaXQodGhpcy5wcm9wcyk7XG5cblx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiSW5pdGlhbCBtb2RlbCBmb3JcIiwgbmFtZSwgbW9kZWwpO1xuXG5cdFx0dGhpcy5jb21wb25lbnROYW1lID0gbmFtZTtcblx0XHR0aGlzLmN1cnJlbnRNb2RlbCA9IG1vZGVsO1xuXHRcdHRoaXMuaW5pdENvbW1hbmRzID0gY29tbWFuZHM7XG5cdH1cblxuXHQvKipcblx0ICogSXMgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG5cdCAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29tcG9uZW50RGlkTW91bnQoKTogdm9pZCB7XG5cdFx0dGhpcy5tb3VudGVkID0gdHJ1ZTtcblxuXHRcdGlmICh0aGlzLmluaXRDb21tYW5kcykge1xuXHRcdFx0ZXhlY0NtZCh0aGlzLmRpc3BhdGNoLCAuLi50aGlzLmluaXRDb21tYW5kcyk7XG5cdFx0XHR0aGlzLmluaXRDb21tYW5kcyA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIElzIGNhbGxlZCBiZWZvcmUgdW5sb2FkaW5nIHRoZSBjb21wb25lbnQuXG5cdCAqIFdoZW4gaW1wbGVtZW50aW5nIHRoaXMgbWV0aG9kLCB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBoYXMgdG8gYmUgY2FsbGVkLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgY29tcG9uZW50V2lsbFVubW91bnQoKTogdm9pZCB7XG5cdFx0dGhpcy5tb3VudGVkID0gZmFsc2U7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY3VycmVudCBtb2RlbC5cblx0ICogQHJlYWRvbmx5XG5cdCAqIEB0eXBlIHtSZWFkb25seTxUTW9kZWw+fVxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgZ2V0IG1vZGVsKCk6IFJlYWRvbmx5PFRNb2RlbD4ge1xuXHRcdHJldHVybiB0aGlzLmN1cnJlbnRNb2RlbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwYXRjaGVzIGEgbWVzc2FnZS5cblx0ICogQHBhcmFtIHtUTWVzc2FnZX0gbXNnIFRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlzcGF0Y2ggPSAobXNnOiBUTWVzc2FnZSk6IHZvaWQgPT4ge1xuXHRcdGlmICh0aGlzLnJ1bm5pbmcpIHtcblx0XHRcdHRoaXMuYnVmZmVyLnB1c2gobXNnKTtcblxuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMucnVubmluZyA9IHRydWU7XG5cblx0XHRsZXQgbmV4dE1zZzogVE1lc3NhZ2UgfCB1bmRlZmluZWQgPSBtc2c7XG5cdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRkbyB7XG5cdFx0XHRsb2dNZXNzYWdlKHRoaXMuY29tcG9uZW50TmFtZSwgbmV4dE1zZyk7XG5cblx0XHRcdGxldCBkZWZlcnJlZE1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4gPSB7fTtcblx0XHRcdGNvbnN0IGRlZmVycmVkQ29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdID0gW107XG5cblx0XHRcdGNvbnN0IGRlZmVyOiBEZWZlckZ1bmN0aW9uPFRNb2RlbCwgVE1lc3NhZ2U+ID0gKHRlbXBEZWZlcnJlZE1vZGVsLCAuLi50ZW1wRGVmZXJyZWRDb21tYW5kcykgPT4ge1xuXHRcdFx0XHRkZWZlcnJlZE1vZGVsID0geyAuLi5kZWZlcnJlZE1vZGVsLCAuLi50ZW1wRGVmZXJyZWRNb2RlbCB9O1xuXHRcdFx0XHRkZWZlcnJlZENvbW1hbmRzLnB1c2goLi4udGVtcERlZmVycmVkQ29tbWFuZHMpO1xuXHRcdFx0fTtcblxuXHRcdFx0Y29uc3QgW21vZGVsLCAuLi5jb21tYW5kc10gPSB0aGlzLnVwZGF0ZSh0aGlzLmN1cnJlbnRNb2RlbCwgbmV4dE1zZywgdGhpcy5wcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdFx0aWYgKG1vZGVsSGFzQ2hhbmdlZCh0aGlzLmN1cnJlbnRNb2RlbCwgeyAuLi5kZWZlcnJlZE1vZGVsLCAuLi5tb2RlbCB9KSkge1xuXHRcdFx0XHR0aGlzLmN1cnJlbnRNb2RlbCA9IHsgLi4udGhpcy5jdXJyZW50TW9kZWwsIC4uLmRlZmVycmVkTW9kZWwsIC4uLm1vZGVsIH07XG5cdFx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHRcdH1cblxuXHRcdFx0ZXhlY0NtZCh0aGlzLmRpc3BhdGNoLCAuLi5jb21tYW5kcywgLi4uZGVmZXJyZWRDb21tYW5kcyk7XG5cblx0XHRcdG5leHRNc2cgPSB0aGlzLmJ1ZmZlci5zaGlmdCgpO1xuXHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0dGhpcy5ydW5uaW5nID0gZmFsc2U7XG5cblx0XHRpZiAodGhpcy5tb3VudGVkICYmIG1vZGlmaWVkKSB7XG5cdFx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiVXBkYXRlIG1vZGVsIGZvclwiLCB0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuY3VycmVudE1vZGVsKTtcblx0XHRcdHRoaXMuZm9yY2VVcGRhdGUoKTtcblx0XHR9XG5cdH07XG5cblx0LyoqXG5cdCAqIEZ1bmN0aW9uIHRvIG1vZGlmeSB0aGUgbW9kZWwgYmFzZWQgb24gYSBtZXNzYWdlLlxuXHQgKiBAcGFyYW0ge1RNb2RlbH0gbW9kZWwgVGhlIGN1cnJlbnQgbW9kZWwuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBwcm9jZXNzLlxuXHQgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgdXBkYXRlIGZ1bmN0aW9uLlxuXHQgKiBAcmV0dXJucyBUaGUgbmV3IG1vZGVsIChjYW4gYWxzbyBiZSBhbiBlbXB0eSBvYmplY3Qge30pIGFuZCBhbiBvcHRpb25hbCBuZXcgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQGFic3RyYWN0XG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBhYnN0cmFjdCB1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbmV4cG9ydCB7IEVsbUNvbXBvbmVudCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxZQUFBLEdBQUFILE9BQUE7QUFBbUQsU0FBQUQsdUJBQUFLLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxnQkFBQUEsR0FBQTtBQUFBLFNBQUFFLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsQ0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLENBQUEsS0FBQUQsT0FBQSxDQUFBQyxDQUFBO0FBQUEsU0FBQUssbUJBQUFDLEdBQUEsV0FBQUMsa0JBQUEsQ0FBQUQsR0FBQSxLQUFBRSxnQkFBQSxDQUFBRixHQUFBLEtBQUFHLDJCQUFBLENBQUFILEdBQUEsS0FBQUksa0JBQUE7QUFBQSxTQUFBQSxtQkFBQSxjQUFBQyxTQUFBO0FBQUEsU0FBQUosbUJBQUFELEdBQUEsUUFBQU0sS0FBQSxDQUFBQyxPQUFBLENBQUFQLEdBQUEsVUFBQVEsaUJBQUEsQ0FBQVIsR0FBQTtBQUFBLFNBQUFTLFNBQUFULEdBQUEsV0FBQVUsZUFBQSxDQUFBVixHQUFBLEtBQUFFLGdCQUFBLENBQUFGLEdBQUEsS0FBQUcsMkJBQUEsQ0FBQUgsR0FBQSxLQUFBVyxnQkFBQTtB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
|
|
179
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Db21tb24iLCJfSW5pdCIsIl9jcmVhdGVEZWZlcjMiLCJfZmFrZU9wdGlvbnMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsIm8iLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiYXJyIiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIlR5cGVFcnJvciIsIkFycmF5IiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5Iiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiaXRlciIsImZyb20iLCJfc2xpY2VkVG9BcnJheSIsImkiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJtaW5MZW4iLCJuIiwidG9TdHJpbmciLCJjYWxsIiwic2xpY2UiLCJuYW1lIiwidGVzdCIsImxlbiIsImFycjIiLCJsIiwidSIsImEiLCJmIiwibmV4dCIsImRvbmUiLCJ2YWx1ZSIsIl9jbGFzc0NhbGxDaGVjayIsImluc3RhbmNlIiwiQ29uc3RydWN0b3IiLCJfZGVmaW5lUHJvcGVydGllcyIsInRhcmdldCIsInByb3BzIiwiZGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3RvUHJvcGVydHlLZXkiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJwcm90b1Byb3BzIiwic3RhdGljUHJvcHMiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsInNlbGYiLCJfYXNzZXJ0VGhpc0luaXRpYWxpemVkIiwiQm9vbGVhbiIsInZhbHVlT2YiLCJzZXRQcm90b3R5cGVPZiIsImdldFByb3RvdHlwZU9mIiwiYmluZCIsIl9fcHJvdG9fXyIsIlJlZmVyZW5jZUVycm9yIiwiX2luaGVyaXRzIiwic3ViQ2xhc3MiLCJzdXBlckNsYXNzIiwiY3JlYXRlIiwiX3NldFByb3RvdHlwZU9mIiwicCIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsInRvUHJpbWl0aXZlIiwiTnVtYmVyIiwiRWxtQ29tcG9uZW50IiwiZXhwb3J0cyIsIl9SZWFjdCRDb21wb25lbnQiLCJpbml0IiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfdGhpcyIsIm1zZyIsInJ1bm5pbmciLCJidWZmZXIiLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJsb2dNZXNzYWdlIiwiY29tcG9uZW50TmFtZSIsIl9jcmVhdGVEZWZlciIsImNyZWF0ZURlZmVyIiwiX2NyZWF0ZURlZmVyMiIsImRlZmVyIiwiZ2V0RGVmZXJyZWQiLCJfdGhpcyR1cGRhdGUiLCJ1cGRhdGUiLCJjdXJyZW50TW9kZWwiLCJfdGhpcyR1cGRhdGUyIiwibW9kZWwiLCJjb21tYW5kcyIsIl9nZXREZWZlcnJlZCIsIl9nZXREZWZlcnJlZDIiLCJkZWZlcnJlZE1vZGVsIiwiZGVmZXJyZWRDb21tYW5kcyIsIm1vZGVsSGFzQ2hhbmdlZCIsImV4ZWNDbWQiLCJkaXNwYXRjaCIsImNvbmNhdCIsInNoaWZ0IiwibW91bnRlZCIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJTZXJ2aWNlcyIsImxvZ2dlciIsImRlYnVnIiwiZm9yY2VVcGRhdGUiLCJmYWtlT3B0aW9ucyIsImdldEZha2VPcHRpb25zT25jZSIsIl9yZWYiLCJfcmVmMiIsImluaXRDb21tYW5kcyIsImNvbXBvbmVudERpZE1vdW50IiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJnZXQiLCJSZWFjdCIsIkNvbXBvbmVudCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9FbG1Db21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgZXhlY0NtZCwgbG9nTWVzc2FnZSwgbW9kZWxIYXNDaGFuZ2VkIH0gZnJvbSBcIi4vQ29tbW9uXCI7XG5pbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB0eXBlIHsgQ21kLCBJbml0RnVuY3Rpb24sIE1lc3NhZ2UsIE51bGxhYmxlLCBVcGRhdGVGdW5jdGlvbiB9IGZyb20gXCIuL1R5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVEZWZlciB9IGZyb20gXCIuL2NyZWF0ZURlZmVyXCI7XG5pbXBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UgfSBmcm9tIFwiLi9mYWtlT3B0aW9uc1wiO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGZvciBhIHJlYWN0IGNsYXNzIGNvbXBvbmVudCB1c2luZyB0aGUgRWxtaXNoIHBhdHRlcm4uXG4gKiBAZXhwb3J0XG4gKiBAYWJzdHJhY3RcbiAqIEBjbGFzcyBFbG1Db21wb25lbnRcbiAqIEBleHRlbmRzIHtDb21wb25lbnQ8VFByb3BzLCBUTW9kZWw+fVxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzLlxuICogQHRlbXBsYXRlIFRQcm9wcyBUaGUgdHlwZSBvZiB0aGUgcHJvcHMuXG4gKi9cbmFic3RyYWN0IGNsYXNzIEVsbUNvbXBvbmVudDxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVFByb3BzPiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxUUHJvcHM+IHtcblx0cHJpdmF0ZSBpbml0Q29tbWFuZHM6IE51bGxhYmxlPChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdPiB8IHVuZGVmaW5lZDtcblx0cHJpdmF0ZSByZWFkb25seSBjb21wb25lbnROYW1lOiBzdHJpbmc7XG5cdHByaXZhdGUgcmVhZG9ubHkgYnVmZmVyOiBUTWVzc2FnZVtdID0gW107XG5cdHByaXZhdGUgcnVubmluZyA9IGZhbHNlO1xuXHRwcml2YXRlIG1vdW50ZWQgPSBmYWxzZTtcblx0cHJpdmF0ZSBjdXJyZW50TW9kZWw6IFRNb2RlbDtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBFbG1Db21wb25lbnQuXG5cdCAqIEBwYXJhbSB7VFByb3BzfSBwcm9wcyBUaGUgcHJvcHMgZm9yIHRoZSBjb21wb25lbnQuXG5cdCAqIEBwYXJhbSB7KCkgPT4gVE1vZGVsfSBpbml0IFRoZSBpbml0aWFsaXplciBmdW5jdGlvbi5cblx0ICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbnN0cnVjdG9yKHByb3BzOiBUUHJvcHMsIGluaXQ6IEluaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LCBuYW1lOiBzdHJpbmcpIHtcblx0XHRzdXBlcihwcm9wcyk7XG5cblx0XHRjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZSgpO1xuXG5cdFx0aWYgKGZha2VPcHRpb25zPy5kaXNwYXRjaCkge1xuXHRcdFx0dGhpcy5kaXNwYXRjaCA9IGZha2VPcHRpb25zLmRpc3BhdGNoO1xuXHRcdH1cblxuXHRcdGNvbnN0IFttb2RlbCwgLi4uY29tbWFuZHNdID0gZmFrZU9wdGlvbnM/Lm1vZGVsID8gW2Zha2VPcHRpb25zLm1vZGVsIGFzIFRNb2RlbF0gOiBpbml0KHRoaXMucHJvcHMpO1xuXG5cdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkluaXRpYWwgbW9kZWwgZm9yXCIsIG5hbWUsIG1vZGVsKTtcblxuXHRcdHRoaXMuY29tcG9uZW50TmFtZSA9IG5hbWU7XG5cdFx0dGhpcy5jdXJyZW50TW9kZWwgPSBtb2RlbDtcblx0XHR0aGlzLmluaXRDb21tYW5kcyA9IGNvbW1hbmRzO1xuXHR9XG5cblx0LyoqXG5cdCAqIElzIGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMubW91bnRlZCA9IHRydWU7XG5cblx0XHRpZiAodGhpcy5pbml0Q29tbWFuZHMpIHtcblx0XHRcdGV4ZWNDbWQodGhpcy5kaXNwYXRjaCwgLi4udGhpcy5pbml0Q29tbWFuZHMpO1xuXHRcdFx0dGhpcy5pbml0Q29tbWFuZHMgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBJcyBjYWxsZWQgYmVmb3JlIHVubG9hZGluZyB0aGUgY29tcG9uZW50LlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudFdpbGxVbm1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMubW91bnRlZCA9IGZhbHNlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGN1cnJlbnQgbW9kZWwuXG5cdCAqIEByZWFkb25seVxuXHQgKiBAdHlwZSB7UmVhZG9ubHk8VE1vZGVsPn1cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGdldCBtb2RlbCgpOiBSZWFkb25seTxUTW9kZWw+IHtcblx0XHRyZXR1cm4gdGhpcy5jdXJyZW50TW9kZWw7XG5cdH1cblxuXHQvKipcblx0ICogRGlzcGF0Y2hlcyBhIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IGRpc3BhdGNoID0gKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRpZiAodGhpcy5ydW5uaW5nKSB7XG5cdFx0XHR0aGlzLmJ1ZmZlci5wdXNoKG1zZyk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLnJ1bm5pbmcgPSB0cnVlO1xuXG5cdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXHRcdGxldCBtb2RpZmllZCA9IGZhbHNlO1xuXG5cdFx0ZG8ge1xuXHRcdFx0bG9nTWVzc2FnZSh0aGlzLmNvbXBvbmVudE5hbWUsIG5leHRNc2cpO1xuXG5cdFx0XHRjb25zdCBbZGVmZXIsIGdldERlZmVycmVkXSA9IGNyZWF0ZURlZmVyPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cblx0XHRcdGNvbnN0IFttb2RlbCwgLi4uY29tbWFuZHNdID0gdGhpcy51cGRhdGUodGhpcy5jdXJyZW50TW9kZWwsIG5leHRNc2csIHRoaXMucHJvcHMsIHsgZGVmZXIgfSk7XG5cblx0XHRcdGNvbnN0IFtkZWZlcnJlZE1vZGVsLCBkZWZlcnJlZENvbW1hbmRzXSA9IGdldERlZmVycmVkKCk7XG5cblx0XHRcdGlmIChtb2RlbEhhc0NoYW5nZWQodGhpcy5jdXJyZW50TW9kZWwsIHsgLi4uZGVmZXJyZWRNb2RlbCwgLi4ubW9kZWwgfSkpIHtcblx0XHRcdFx0dGhpcy5jdXJyZW50TW9kZWwgPSB7IC4uLnRoaXMuY3VycmVudE1vZGVsLCAuLi5kZWZlcnJlZE1vZGVsLCAuLi5tb2RlbCB9O1xuXHRcdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0XHR9XG5cblx0XHRcdGV4ZWNDbWQodGhpcy5kaXNwYXRjaCwgLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0XHRuZXh0TXNnID0gdGhpcy5idWZmZXIuc2hpZnQoKTtcblx0XHR9IHdoaWxlIChuZXh0TXNnKTtcblxuXHRcdHRoaXMucnVubmluZyA9IGZhbHNlO1xuXG5cdFx0aWYgKHRoaXMubW91bnRlZCAmJiBtb2RpZmllZCkge1xuXHRcdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIlVwZGF0ZSBtb2RlbCBmb3JcIiwgdGhpcy5jb21wb25lbnROYW1lLCB0aGlzLmN1cnJlbnRNb2RlbCk7XG5cdFx0XHR0aGlzLmZvcmNlVXBkYXRlKCk7XG5cdFx0fVxuXHR9O1xuXG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0byBtb2RpZnkgdGhlIG1vZGVsIGJhc2VkIG9uIGEgbWVzc2FnZS5cblx0ICogQHBhcmFtIHtUTW9kZWx9IG1vZGVsIFRoZSBjdXJyZW50IG1vZGVsLlxuXHQgKiBAcGFyYW0ge1RNZXNzYWdlfSBtc2cgVGhlIG1lc3NhZ2UgdG8gcHJvY2Vzcy5cblx0ICogQHBhcmFtIHtUUHJvcHN9IHByb3BzIFRoZSBwcm9wcyBvZiB0aGUgY29tcG9uZW50LlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIHVwZGF0ZSBmdW5jdGlvbi5cblx0ICogQHJldHVybnMgVGhlIG5ldyBtb2RlbCAoY2FuIGFsc28gYmUgYW4gZW1wdHkgb2JqZWN0IHt9KSBhbmQgYW4gb3B0aW9uYWwgbmV3IG1lc3NhZ2UgdG8gZGlzcGF0Y2guXG5cdCAqIEBhYnN0cmFjdFxuXHQgKiBAbWVtYmVyb2YgRWxtQ29tcG9uZW50XG5cdCAqL1xuXHRwdWJsaWMgYWJzdHJhY3QgdXBkYXRlOiBVcGRhdGVGdW5jdGlv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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Message, Nullable,
|
|
1
|
+
import type { Message, Nullable, UpdateMap, UpdateReturnType } from "../Types";
|
|
2
2
|
/**
|
|
3
3
|
* Creates an update function out of an UpdateMap.
|
|
4
4
|
* @param updateMap The UpdateMap.
|
|
@@ -9,7 +9,7 @@ import type { Message, Nullable, UpdateFunctionOptions, UpdateMap, UpdateReturnT
|
|
|
9
9
|
* // in your tests:
|
|
10
10
|
* const [model, cmd] = updateFn(...args);
|
|
11
11
|
*/
|
|
12
|
-
declare function getUpdateFn<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>): (msg: TMessage, model: TModel, props: TProps
|
|
12
|
+
declare function getUpdateFn<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>): (msg: TMessage, model: TModel, props: TProps) => UpdateReturnType<TModel, TMessage>;
|
|
13
13
|
/**
|
|
14
14
|
* Creates an update function out of an UpdateMap which immediately executes the command.
|
|
15
15
|
* @param updateMap The UpdateMap.
|
|
@@ -20,5 +20,5 @@ declare function getUpdateFn<TProps, TModel, TMessage extends Message>(updateMap
|
|
|
20
20
|
* // in your test:
|
|
21
21
|
* const [model, messages] = await updateAndExecCmd(...args);
|
|
22
22
|
*/
|
|
23
|
-
declare function getUpdateAndExecCmdFn<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>): (msg: TMessage, model: TModel, props: TProps
|
|
23
|
+
declare function getUpdateAndExecCmdFn<TProps, TModel, TMessage extends Message>(updateMap: UpdateMap<TProps, TModel, TMessage>): (msg: TMessage, model: TModel, props: TProps) => Promise<[Partial<TModel>, Nullable<TMessage>[]]>;
|
|
24
24
|
export { getUpdateAndExecCmdFn, getUpdateFn };
|
|
@@ -6,20 +6,28 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.getUpdateAndExecCmdFn = getUpdateAndExecCmdFn;
|
|
8
8
|
exports.getUpdateFn = getUpdateFn;
|
|
9
|
+
var _createDefer5 = require("../createDefer");
|
|
9
10
|
var _useElmish = require("../useElmish");
|
|
10
11
|
var _execCmd = require("./execCmd");
|
|
11
12
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
13
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
14
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
15
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
18
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
19
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
12
20
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
13
21
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
14
22
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
15
23
|
function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
|
|
24
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
25
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
16
26
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
17
27
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
18
28
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
19
|
-
function
|
|
29
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
20
30
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
21
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
22
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
23
31
|
/**
|
|
24
32
|
* Creates an update function out of an UpdateMap.
|
|
25
33
|
* @param updateMap The UpdateMap.
|
|
@@ -31,8 +39,23 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
|
|
|
31
39
|
* const [model, cmd] = updateFn(...args);
|
|
32
40
|
*/
|
|
33
41
|
function getUpdateFn(updateMap) {
|
|
34
|
-
return function updateFn(msg, model, props
|
|
35
|
-
|
|
42
|
+
return function updateFn(msg, model, props) {
|
|
43
|
+
var _createDefer = (0, _createDefer5.createDefer)(),
|
|
44
|
+
_createDefer2 = _slicedToArray(_createDefer, 2),
|
|
45
|
+
defer = _createDefer2[0],
|
|
46
|
+
getDeferred = _createDefer2[1];
|
|
47
|
+
var options = {
|
|
48
|
+
defer: defer
|
|
49
|
+
};
|
|
50
|
+
var _callUpdateMap = (0, _useElmish.callUpdateMap)(updateMap, msg, model, props, options),
|
|
51
|
+
_callUpdateMap2 = _toArray(_callUpdateMap),
|
|
52
|
+
updatedModel = _callUpdateMap2[0],
|
|
53
|
+
commands = _callUpdateMap2.slice(1);
|
|
54
|
+
var _getDeferred = getDeferred(),
|
|
55
|
+
_getDeferred2 = _slicedToArray(_getDeferred, 2),
|
|
56
|
+
deferredModel = _getDeferred2[0],
|
|
57
|
+
deferredCommands = _getDeferred2[1];
|
|
58
|
+
return [_objectSpread(_objectSpread({}, deferredModel), updatedModel)].concat(_toConsumableArray(commands), _toConsumableArray(deferredCommands));
|
|
36
59
|
};
|
|
37
60
|
}
|
|
38
61
|
|
|
@@ -48,27 +71,32 @@ function getUpdateFn(updateMap) {
|
|
|
48
71
|
*/
|
|
49
72
|
function getUpdateAndExecCmdFn(updateMap) {
|
|
50
73
|
return /*#__PURE__*/function () {
|
|
51
|
-
var _updateAndExecCmdFn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(msg, model, props
|
|
52
|
-
var
|
|
74
|
+
var _updateAndExecCmdFn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(msg, model, props) {
|
|
75
|
+
var _createDefer3, _createDefer4, defer, getDeferred, options, _callUpdateMap3, _callUpdateMap4, updatedModel, commands, _getDeferred3, _getDeferred4, deferredModel, deferredCommands, messages;
|
|
53
76
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
54
77
|
while (1) switch (_context.prev = _context.next) {
|
|
55
78
|
case 0:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
79
|
+
_createDefer3 = (0, _createDefer5.createDefer)(), _createDefer4 = _slicedToArray(_createDefer3, 2), defer = _createDefer4[0], getDeferred = _createDefer4[1];
|
|
80
|
+
options = {
|
|
81
|
+
defer: defer
|
|
82
|
+
};
|
|
83
|
+
_callUpdateMap3 = (0, _useElmish.callUpdateMap)(updateMap, msg, model, props, options), _callUpdateMap4 = _toArray(_callUpdateMap3), updatedModel = _callUpdateMap4[0], commands = _callUpdateMap4.slice(1);
|
|
84
|
+
_getDeferred3 = getDeferred(), _getDeferred4 = _slicedToArray(_getDeferred3, 2), deferredModel = _getDeferred4[0], deferredCommands = _getDeferred4[1];
|
|
85
|
+
_context.next = 6;
|
|
86
|
+
return _execCmd.execCmd.apply(void 0, _toConsumableArray(commands).concat(_toConsumableArray(deferredCommands)));
|
|
87
|
+
case 6:
|
|
60
88
|
messages = _context.sent;
|
|
61
|
-
return _context.abrupt("return", [updatedModel, messages]);
|
|
62
|
-
case
|
|
89
|
+
return _context.abrupt("return", [_objectSpread(_objectSpread({}, deferredModel), updatedModel), messages]);
|
|
90
|
+
case 8:
|
|
63
91
|
case "end":
|
|
64
92
|
return _context.stop();
|
|
65
93
|
}
|
|
66
94
|
}, _callee);
|
|
67
95
|
}));
|
|
68
|
-
function updateAndExecCmdFn(_x, _x2, _x3
|
|
96
|
+
function updateAndExecCmdFn(_x, _x2, _x3) {
|
|
69
97
|
return _updateAndExecCmdFn.apply(this, arguments);
|
|
70
98
|
}
|
|
71
99
|
return updateAndExecCmdFn;
|
|
72
100
|
}();
|
|
73
101
|
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXNlRWxtaXNoIiwicmVxdWlyZSIsIl9leGVjQ21kIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsImUiLCJ0IiwiciIsIk9iamVjdCIsInByb3RvdHlwZSIsIm4iLCJoYXNPd25Qcm9wZXJ0eSIsIm8iLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiaSIsIlN5bWJvbCIsImEiLCJpdGVyYXRvciIsImMiLCJhc3luY0l0ZXJhdG9yIiwidSIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiYXJnIiwiY2FsbCIsImgiLCJsIiwiZiIsInMiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsImZvckVhY2giLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsIl90eXBlb2YiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJBcnJheSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl90b0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX25vbkl0ZXJhYmxlUmVzdCIsIm1pbkxlbiIsInRvU3RyaW5nIiwiZnJvbSIsInRlc3QiLCJsZW4iLCJhcnIyIiwiaXRlciIsImFzeW5jR2VuZXJhdG9yU3RlcCIsImdlbiIsInJlamVjdCIsIl9uZXh0IiwiX3Rocm93Iiwia2V5IiwiaW5mbyIsImVycm9yIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJmbiIsInNlbGYiLCJhcmdzIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJlcnIiLCJ1bmRlZmluZWQiLCJnZXRVcGRhdGVGbiIsInVwZGF0ZU1hcCIsInVwZGF0ZUZuIiwibXNnIiwibW9kZWwiLCJwcm9wcyIsIm9wdGlvbnMiLCJjYWxsVXBkYXRlTWFwIiwiZ2V0VXBkYXRlQW5kRXhlY0NtZEZuIiwiX3VwZGF0ZUFuZEV4ZWNDbWRGbiIsIl9jYWxsZWUiLCJfY2FsbFVwZGF0ZU1hcCIsIl9jYWxsVXBkYXRlTWFwMiIsInVwZGF0ZWRNb2RlbCIsImNvbW1hbmRzIiwibWVzc2FnZXMiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwiZXhlY0NtZCIsInVwZGF0ZUFuZEV4ZWNDbWRGbiIsIl94IiwiX3gyIiwiX3gzIiwiX3g0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1Rlc3RpbmcvZ2V0VXBkYXRlRm4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNZXNzYWdlLCBOdWxsYWJsZSwgVXBkYXRlRnVuY3Rpb25PcHRpb25zLCBVcGRhdGVNYXAsIFVwZGF0ZVJldHVyblR5cGUgfSBmcm9tIFwiLi4vVHlwZXNcIjtcbmltcG9ydCB7IGNhbGxVcGRhdGVNYXAgfSBmcm9tIFwiLi4vdXNlRWxtaXNoXCI7XG5pbXBvcnQgeyBleGVjQ21kIH0gZnJvbSBcIi4vZXhlY0NtZFwiO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gdXBkYXRlIGZ1bmN0aW9uIG91dCBvZiBhbiBVcGRhdGVNYXAuXG4gKiBAcGFyYW0gdXBkYXRlTWFwIFRoZSBVcGRhdGVNYXAuXG4gKiBAcmV0dXJucyBUaGUgY3JlYXRlZCB1cGRhdGUgZnVuY3Rpb24gd2hpY2ggY2FuIGJlIHVzZWQgaW4gdGVzdHMuXG4gKiBAZXhhbXBsZVxuICogY29uc3QgdXBkYXRlRm4gPSBnZXRVcGRhdGVGbih1cGRhdGUpO1xuICpcbiAqIC8vIGluIHlvdXIgdGVzdHM6XG4gKiBjb25zdCBbbW9kZWwsIGNtZF0gPSB1cGRhdGVGbiguLi5hcmdzKTtcbiAqL1xuZnVuY3Rpb24gZ2V0VXBkYXRlRm48VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHVwZGF0ZU1hcDogVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4pOiAoXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBUTW9kZWwsXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUTW9kZWwsIFRNZXNzYWdlPixcbikgPT4gVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG5cdHJldHVybiBmdW5jdGlvbiB1cGRhdGVGbihtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9ucyk6IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRcdHJldHVybiBjYWxsVXBkYXRlTWFwKHVwZGF0ZU1hcCwgbXNnLCBtb2RlbCwgcHJvcHMsIG9wdGlvbnMpO1xuXHR9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gdXBkYXRlIGZ1bmN0aW9uIG91dCBvZiBhbiBVcGRhdGVNYXAgd2hpY2ggaW1tZWRpYXRlbHkgZXhlY3V0ZXMgdGhlIGNvbW1hbmQuXG4gKiBAcGFyYW0gdXBkYXRlTWFwIFRoZSBVcGRhdGVNYXAuXG4gKiBAcmV0dXJucyBUaGUgY3JlYXRlZCB1cGRhdGUgZnVuY3Rpb24gd2hpY2ggY2FuIGJlIHVzZWQgaW4gdGVzdHMuXG4gKiBAZXhhbXBsZVxuICogY29uc3QgdXBkYXRlQW5kRXhlY0NtZCA9IGdldFVwZGF0ZUFuZEV4ZWNDbWRGbih1cGRhdGUpO1xuICpcbiAqIC8vIGluIHlvdXIgdGVzdDpcbiAqIGNvbnN0IFttb2RlbCwgbWVzc2FnZXNdID0gYXdhaXQgdXBkYXRlQW5kRXhlY0NtZCguLi5hcmdzKTtcbiAqL1xuZnVuY3Rpb24gZ2V0VXBkYXRlQW5kRXhlY0NtZEZuPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHR1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKTogKFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogVE1vZGVsLFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VE1vZGVsLCBUTWVzc2FnZT4sXG4pID0+IFByb21pc2U8W1BhcnRpYWw8VE1vZGVsPiwgTnVsbGFibGU8VE1lc3NhZ2U+W11dPiB7XG5cdHJldHVybiBhc3luYyBmdW5jdGlvbiB1cGRhdGVBbmRFeGVjQ21kRm4obXNnLCBtb2RlbCwgcHJvcHMsIG9wdGlvbnMpOiBQcm9taXNlPFtQYXJ0aWFsPFRNb2RlbD4sIE51bGxhYmxlPFRNZXNzYWdlPltdXT4ge1xuXHRcdGNvbnN0IFt1cGRhdGVkTW9kZWwsIC4uLmNvbW1hbmRzXSA9IGNhbGxVcGRhdGVNYXAodXBkYXRlTWFwLCBtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9ucyk7XG5cblx0XHRjb25zdCBtZXNzYWdlcyA9IGF3YWl0IGV4ZWNDbWQoLi4uY29tbWFuZHMpO1xuXG5cdFx0cmV0dXJuIFt1cGRhdGVkTW9kZWwsIG1lc3NhZ2VzXTtcblx0fTtcbn1cblxuZXhwb3J0IHsgZ2V0VXBkYXRlQW5kRXhlY0NtZEZuLCBnZXRVcGRhdGVGbiB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUFvQyxTQUFBRSxvQkFBQSxrQkFEcEMscUpBQUFBLG1CQUFBLFlBQUFBLG9CQUFBLFdBQUFDLENBQUEsU0FBQUMsQ0FBQSxFQUFBRCxDQUFBLE9BQUFFLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxTQUFBLEVBQUFDLENBQUEsR0FBQUgsQ0FBQSxDQUFBSSxjQUFBLEVBQUFDLENBQUEsR0FBQUosTUFBQSxDQUFBSyxjQUFBLGNBQUFQLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLElBQUFELENBQUEsQ0FBQUQsQ0FBQSxJQUFBRSxDQUFBLENBQUFPLEtBQUEsS0FBQUMsQ0FBQSx3QkFBQUMsTUFBQSxHQUFBQSxNQUFBLE9BQUFDLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFKLENBQUEsQ0FBQUssYUFBQSx1QkFBQUMsQ0FBQSxHQUFBTixDQUFBLENBQUFPLFdBQUEsOEJBQUFDLE9BQUFqQixDQUFBLEVBQUFELENBQUEsRUFBQUUsQ0FBQSxXQUFBQyxNQUFBLENBQUFLLGNBQUEsQ0FBQVAsQ0FBQSxFQUFBRCxDQUFBLElBQUFTLEtBQUEsRUFBQVAsQ0FBQSxFQUFBaUIsVUFBQSxNQUFBQyxZQUFBLE1BQUFDLFFBQUEsU0FBQXBCLENBQUEsQ0FBQUQsQ0FBQSxXQUFBa0IsTUFBQSxtQkFB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
|
|
102
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlRGVmZXI1IiwicmVxdWlyZSIsIl91c2VFbG1pc2giLCJfZXhlY0NtZCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJlIiwidCIsInIiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJuIiwiaGFzT3duUHJvcGVydHkiLCJvIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImkiLCJTeW1ib2wiLCJhIiwiaXRlcmF0b3IiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImNhbGwiLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJfdHlwZW9mIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsIlR5cGVFcnJvciIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJnZW4iLCJyZWplY3QiLCJfbmV4dCIsIl90aHJvdyIsImtleSIsImluZm8iLCJlcnJvciIsIl9hc3luY1RvR2VuZXJhdG9yIiwiZm4iLCJzZWxmIiwiYXJncyIsImFyZ3VtZW50cyIsImFwcGx5IiwiZXJyIiwidW5kZWZpbmVkIiwib3duS2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIm9iaiIsIl90b1Byb3BlcnR5S2V5IiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwidG9QcmltaXRpdmUiLCJOdW1iZXIiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfdG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9ub25JdGVyYWJsZVJlc3QiLCJpdGVyIiwiZnJvbSIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwibWluTGVuIiwidG9TdHJpbmciLCJ0ZXN0IiwibGVuIiwiYXJyMiIsImdldFVwZGF0ZUZuIiwidXBkYXRlTWFwIiwidXBkYXRlRm4iLCJtc2ciLCJtb2RlbCIsInByb3BzIiwiX2NyZWF0ZURlZmVyIiwiY3JlYXRlRGVmZXIiLCJfY3JlYXRlRGVmZXIyIiwiZGVmZXIiLCJnZXREZWZlcnJlZCIsIm9wdGlvbnMiLCJfY2FsbFVwZGF0ZU1hcCIsImNhbGxVcGRhdGVNYXAiLCJfY2FsbFVwZGF0ZU1hcDIiLCJ1cGRhdGVkTW9kZWwiLCJjb21tYW5kcyIsIl9nZXREZWZlcnJlZCIsIl9nZXREZWZlcnJlZDIiLCJkZWZlcnJlZE1vZGVsIiwiZGVmZXJyZWRDb21tYW5kcyIsImNvbmNhdCIsImdldFVwZGF0ZUFuZEV4ZWNDbWRGbiIsIl91cGRhdGVBbmRFeGVjQ21kRm4iLCJfY2FsbGVlIiwiX2NyZWF0ZURlZmVyMyIsIl9jcmVhdGVEZWZlcjQiLCJfY2FsbFVwZGF0ZU1hcDMiLCJfY2FsbFVwZGF0ZU1hcDQiLCJfZ2V0RGVmZXJyZWQzIiwiX2dldERlZmVycmVkNCIsIm1lc3NhZ2VzIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsImV4ZWNDbWQiLCJ1cGRhdGVBbmRFeGVjQ21kRm4iLCJfeCIsIl94MiIsIl94MyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UZXN0aW5nL2dldFVwZGF0ZUZuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWVzc2FnZSwgTnVsbGFibGUsIFVwZGF0ZUZ1bmN0aW9uT3B0aW9ucywgVXBkYXRlTWFwLCBVcGRhdGVSZXR1cm5UeXBlIH0gZnJvbSBcIi4uL1R5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVEZWZlciB9IGZyb20gXCIuLi9jcmVhdGVEZWZlclwiO1xuaW1wb3J0IHsgY2FsbFVwZGF0ZU1hcCB9IGZyb20gXCIuLi91c2VFbG1pc2hcIjtcbmltcG9ydCB7IGV4ZWNDbWQgfSBmcm9tIFwiLi9leGVjQ21kXCI7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiB1cGRhdGUgZnVuY3Rpb24gb3V0IG9mIGFuIFVwZGF0ZU1hcC5cbiAqIEBwYXJhbSB1cGRhdGVNYXAgVGhlIFVwZGF0ZU1hcC5cbiAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIHVwZGF0ZSBmdW5jdGlvbiB3aGljaCBjYW4gYmUgdXNlZCBpbiB0ZXN0cy5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCB1cGRhdGVGbiA9IGdldFVwZGF0ZUZuKHVwZGF0ZSk7XG4gKlxuICogLy8gaW4geW91ciB0ZXN0czpcbiAqIGNvbnN0IFttb2RlbCwgY21kXSA9IHVwZGF0ZUZuKC4uLmFyZ3MpO1xuICovXG5mdW5jdGlvbiBnZXRVcGRhdGVGbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0dXBkYXRlTWFwOiBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbik6IChtc2c6IFRNZXNzYWdlLCBtb2RlbDogVE1vZGVsLCBwcm9wczogVFByb3BzKSA9PiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0cmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZUZuKG1zZywgbW9kZWwsIHByb3BzKTogVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG5cdFx0Y29uc3QgW2RlZmVyLCBnZXREZWZlcnJlZF0gPSBjcmVhdGVEZWZlcjxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXG5cdFx0Y29uc3Qgb3B0aW9uczogVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRNb2RlbCwgVE1lc3NhZ2U+ID0ge1xuXHRcdFx0ZGVmZXIsXG5cdFx0fTtcblxuXHRcdGNvbnN0IFt1cGRhdGVkTW9kZWwsIC4uLmNvbW1hbmRzXSA9IGNhbGxVcGRhdGVNYXAodXBkYXRlTWFwLCBtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9ucyk7XG5cblx0XHRjb25zdCBbZGVmZXJyZWRNb2RlbCwgZGVmZXJyZWRDb21tYW5kc10gPSBnZXREZWZlcnJlZCgpO1xuXG5cdFx0cmV0dXJuIFt7IC4uLmRlZmVycmVkTW9kZWwsIC4uLnVwZGF0ZWRNb2RlbCB9LCAuLi5jb21tYW5kcywgLi4uZGVmZXJyZWRDb21tYW5kc107XG5cdH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiB1cGRhdGUgZnVuY3Rpb24gb3V0IG9mIGFuIFVwZGF0ZU1hcCB3aGljaCBpbW1lZGlhdGVseSBleGVjdXRlcyB0aGUgY29tbWFuZC5cbiAqIEBwYXJhbSB1cGRhdGVNYXAgVGhlIFVwZGF0ZU1hcC5cbiAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIHVwZGF0ZSBmdW5jdGlvbiB3aGljaCBjYW4gYmUgdXNlZCBpbiB0ZXN0cy5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCB1cGRhdGVBbmRFeGVjQ21kID0gZ2V0VXBkYXRlQW5kRXhlY0NtZEZuKHVwZGF0ZSk7XG4gKlxuICogLy8gaW4geW91ciB0ZXN0OlxuICogY29uc3QgW21vZGVsLCBtZXNzYWdlc10gPSBhd2FpdCB1cGRhdGVBbmRFeGVjQ21kKC4uLmFyZ3MpO1xuICovXG5mdW5jdGlvbiBnZXRVcGRhdGVBbmRFeGVjQ21kRm48VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHVwZGF0ZU1hcDogVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4pOiAobXNnOiBUTWVzc2FnZSwgbW9kZWw6IFRNb2RlbCwgcHJvcHM6IFRQcm9wcykgPT4gUHJvbWlzZTxbUGFydGlhbDxUTW9kZWw+LCBOdWxsYWJsZTxUTWVzc2FnZT5bXV0+IHtcblx0cmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUFuZEV4ZWNDbWRGbihtc2csIG1vZGVsLCBwcm9wcyk6IFByb21pc2U8W1BhcnRpYWw8VE1vZGVsPiwgTnVsbGFibGU8VE1lc3NhZ2U+W11dPiB7XG5cdFx0Y29uc3QgW2RlZmVyLCBnZXREZWZlcnJlZF0gPSBjcmVhdGVEZWZlcjxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXG5cdFx0Y29uc3Qgb3B0aW9uczogVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRNb2RlbCwgVE1lc3NhZ2U+ID0ge1xuXHRcdFx0ZGVmZXIsXG5cdFx0fTtcblxuXHRcdGNvbnN0IFt1cGRhdGVkTW9kZWwsIC4uLmNvbW1hbmRzXSA9IGNhbGxVcGRhdGVNYXAodXBkYXRlTWFwLCBtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9ucyk7XG5cblx0XHRjb25zdCBbZGVmZXJyZWRNb2RlbCwgZGVmZXJyZWRDb21tYW5kc10gPSBnZXREZWZlcnJlZCgpO1xuXG5cdFx0Y29uc3QgbWVzc2FnZXMgPSBhd2FpdCBleGVjQ21kKC4uLmNvbW1hbmRzLCAuLi5kZWZlcnJlZENvbW1hbmRzKTtcblxuXHRcdHJldHVybiBbeyAuLi5kZWZlcnJlZE1vZGVsLCAuLi51cGRhdGVkTW9kZWwgfSwgbWVzc2FnZXNdO1xuXHR9O1xufVxuXG5leHBvcnQgeyBnZXRVcGRhdGVBbmRFeGVjQ21kRm4sIGdldFVwZGF0ZUZuIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsYUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBQW9DLFNBQUFHLG9CQUFBLGtCQUZwQyxxSkFBQUEsbUJBQUEsWUFBQUEsb0JBQUEsV0FBQUMsQ0FBQSxTQUFBQyxDQUFBLEVBQUFELENBQUEsT0FBQUUsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLFNBQUEsRUFBQUMsQ0FBQSxHQUFBSCxDQUFBLENBQUFJLGNBQUEsRUFBQUMsQ0FBQSxHQUFBSixNQUFBLENBQUFLLGNBQUEsY0FBQVAsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsSUFBQUQsQ0FBQSxDQUFBRCxDQUFBLElBQUFFLENBQUEsQ0FBQU8sS0FBQSxLQUFBQyxDQUFBLHdCQUFBQyxNQUFBLEdBQUFBLE1BQUEsT0FBQUMsQ0FBQSxHQUFBRixDQUFBLENBQUFHLFFBQUEsa0JBQUFDLENBQUEsR0FBQUosQ0FBQSxDQUFBSyxhQUFBLHVCQUFBQyxDQUFBLEdBQUFOLENBQUEsQ0FBQU8sV0FBQSw4QkFBQUMsT0FBQWpCLENBQUEsRUFBQUQsQ0FBQSxFQUFB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
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createDefer = createDefer;
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
12
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
|
+
function createDefer() {
|
|
14
|
+
var deferredModel = {};
|
|
15
|
+
var deferredCommands = [];
|
|
16
|
+
var defer = function defer(tempDeferredModel) {
|
|
17
|
+
deferredModel = _objectSpread(_objectSpread({}, deferredModel), tempDeferredModel);
|
|
18
|
+
for (var _len = arguments.length, tempDeferredCommands = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
19
|
+
tempDeferredCommands[_key - 1] = arguments[_key];
|
|
20
|
+
}
|
|
21
|
+
deferredCommands.push.apply(deferredCommands, tempDeferredCommands);
|
|
22
|
+
};
|
|
23
|
+
return [defer, function () {
|
|
24
|
+
return [deferredModel, deferredCommands];
|
|
25
|
+
}];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVEZWZlciIsImRlZmVycmVkTW9kZWwiLCJkZWZlcnJlZENvbW1hbmRzIiwiZGVmZXIiLCJ0ZW1wRGVmZXJyZWRNb2RlbCIsIl9vYmplY3RTcHJlYWQiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidGVtcERlZmVycmVkQ29tbWFuZHMiLCJBcnJheSIsIl9rZXkiLCJwdXNoIiwiYXBwbHkiXSwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlRGVmZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDbWQsIERlZmVyRnVuY3Rpb24sIE1lc3NhZ2UgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG5mdW5jdGlvbiBjcmVhdGVEZWZlcjxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oKTogW1xuXHREZWZlckZ1bmN0aW9uPFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHQoKSA9PiBbUGFydGlhbDxUTW9kZWw+LCAoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXV0sXG5dIHtcblx0bGV0IGRlZmVycmVkTW9kZWw6IFBhcnRpYWw8VE1vZGVsPiA9IHt9O1xuXHRjb25zdCBkZWZlcnJlZENvbW1hbmRzOiAoQ21kPFRNZXNzYWdlPiB8IHVuZGVmaW5lZClbXSA9IFtdO1xuXG5cdGNvbnN0IGRlZmVyOiBEZWZlckZ1bmN0aW9uPFRNb2RlbCwgVE1lc3NhZ2U+ID0gKHRlbXBEZWZlcnJlZE1vZGVsLCAuLi50ZW1wRGVmZXJyZWRDb21tYW5kcykgPT4ge1xuXHRcdGRlZmVycmVkTW9kZWwgPSB7IC4uLmRlZmVycmVkTW9kZWwsIC4uLnRlbXBEZWZlcnJlZE1vZGVsIH07XG5cdFx0ZGVmZXJyZWRDb21tYW5kcy5wdXNoKC4uLnRlbXBEZWZlcnJlZENvbW1hbmRzKTtcblx0fTtcblxuXHRyZXR1cm4gW2RlZmVyLCAoKSA9PiBbZGVmZXJyZWRNb2RlbCwgZGVmZXJyZWRDb21tYW5kc11dO1xufVxuXG5leHBvcnQgeyBjcmVhdGVEZWZlciB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFFQSxTQUFTQSxXQUFXQSxDQUFBLEVBR2xCO0VBQ0QsSUFBSUMsYUFBOEIsR0FBRyxDQUFDLENBQUM7RUFDdkMsSUFBTUMsZ0JBQStDLEdBQUcsRUFBRTtFQUUxRCxJQUFNQyxLQUFzQyxHQUFHLFNBQXpDQSxLQUFzQ0EsQ0FBSUMsaUJBQWlCLEVBQThCO0lBQzlGSCxhQUFhLEdBQUFJLGFBQUEsQ0FBQUEsYUFBQSxLQUFRSixhQUFhLEdBQUtHLGlCQUFpQixDQUFFO0lBQUMsU0FBQUUsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFEVUMsb0JBQW9CLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxPQUFBQSxJQUFBLFdBQUFLLElBQUEsTUFBQUEsSUFBQSxHQUFBTCxJQUFBLEVBQUFLLElBQUE7TUFBcEJGLG9CQUFvQixDQUFBRSxJQUFBLFFBQUFKLFNBQUEsQ0FBQUksSUFBQTtJQUFBO0lBRXpGVCxnQkFBZ0IsQ0FBQ1UsSUFBSSxDQUFBQyxLQUFBLENBQXJCWCxnQkFBZ0IsRUFBU08sb0JBQW9CLENBQUM7RUFDL0MsQ0FBQztFQUVELE9BQU8sQ0FBQ04sS0FBSyxFQUFFO0lBQUEsT0FBTSxDQUFDRixhQUFhLEVBQUVDLGdCQUFnQixDQUFDO0VBQUEsRUFBQztBQUN4RCJ9
|
package/dist/useElmish.js
CHANGED
|
@@ -10,6 +10,7 @@ exports.useElmish = useElmish;
|
|
|
10
10
|
var _react = require("react");
|
|
11
11
|
var _Common = require("./Common");
|
|
12
12
|
var _Init = require("./Init");
|
|
13
|
+
var _createDefer3 = require("./createDefer");
|
|
13
14
|
var _fakeOptions = require("./fakeOptions");
|
|
14
15
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
15
16
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -128,26 +129,25 @@ function useElmish(_ref) {
|
|
|
128
129
|
}
|
|
129
130
|
var modified = false;
|
|
130
131
|
(0, _Common.logMessage)(name, nextMsg);
|
|
131
|
-
var
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
for (var _len = arguments.length, tempDeferredCommands = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
136
|
-
tempDeferredCommands[_key - 1] = arguments[_key];
|
|
137
|
-
}
|
|
138
|
-
deferredCommands.push.apply(deferredCommands, tempDeferredCommands);
|
|
139
|
-
};
|
|
132
|
+
var _createDefer = (0, _createDefer3.createDefer)(),
|
|
133
|
+
_createDefer2 = _slicedToArray(_createDefer, 2),
|
|
134
|
+
defer = _createDefer2[0],
|
|
135
|
+
getDeferred = _createDefer2[1];
|
|
140
136
|
var _callUpdate = callUpdate(update, nextMsg, _objectSpread(_objectSpread({}, initializedModel), currentModel), propsRef.current, {
|
|
141
137
|
defer: defer
|
|
142
138
|
}),
|
|
143
139
|
_callUpdate2 = _toArray(_callUpdate),
|
|
144
140
|
newModel = _callUpdate2[0],
|
|
145
141
|
commands = _callUpdate2.slice(1);
|
|
142
|
+
var _getDeferred = getDeferred(),
|
|
143
|
+
_getDeferred2 = _slicedToArray(_getDeferred, 2),
|
|
144
|
+
deferredModel = _getDeferred2[0],
|
|
145
|
+
deferredCommands = _getDeferred2[1];
|
|
146
146
|
if ((0, _Common.modelHasChanged)(currentModel, _objectSpread(_objectSpread({}, deferredModel), newModel))) {
|
|
147
147
|
currentModel = _objectSpread(_objectSpread(_objectSpread({}, currentModel), deferredModel), newModel);
|
|
148
148
|
modified = true;
|
|
149
149
|
}
|
|
150
|
-
_Common.execCmd.apply(void 0, [dispatch].concat(_toConsumableArray(commands), deferredCommands));
|
|
150
|
+
_Common.execCmd.apply(void 0, [dispatch].concat(_toConsumableArray(commands), _toConsumableArray(deferredCommands)));
|
|
151
151
|
return modified;
|
|
152
152
|
}
|
|
153
153
|
}
|
|
@@ -161,4 +161,4 @@ function callUpdateMap(updateMap, msg, model, props, options) {
|
|
|
161
161
|
var msgName = msg.name;
|
|
162
162
|
return updateMap[msgName](msg, model, props, options);
|
|
163
163
|
}
|
|
164
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX0NvbW1vbiIsIl9Jbml0IiwiX2Zha2VPcHRpb25zIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiYXJyIiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIlR5cGVFcnJvciIsIkFycmF5IiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiaXRlciIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiZnJvbSIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJvYmoiLCJrZXkiLCJ2YWx1ZSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiX3R5cGVvZiIsIlN0cmluZyIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIk51bWJlciIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwibWluTGVuIiwibiIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJ0ZXN0IiwibGVuIiwiYXJyMiIsImwiLCJ1IiwiYSIsImYiLCJuZXh0IiwiZG9uZSIsInVzZUVsbWlzaCIsIl9yZWYiLCJfZmFrZU9wdGlvbnMkZGlzcGF0Y2giLCJwcm9wcyIsImluaXQiLCJ1cGRhdGUiLCJzdWJzY3JpcHRpb24iLCJydW5uaW5nIiwiYnVmZmVyIiwiY3VycmVudE1vZGVsIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwibW9kZWwiLCJzZXRNb2RlbCIsInByb3BzUmVmIiwidXNlUmVmIiwiaXNNb3VudGVkUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsImluaXRpYWxpemVkTW9kZWwiLCJmYWtlT3B0aW9ucyIsImdldEZha2VPcHRpb25zT25jZSIsImRpc3BhdGNoIiwidXNlQ2FsbGJhY2siLCJtc2ciLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJoYW5kbGVNZXNzYWdlIiwic2hpZnQiLCJwcmV2TW9kZWwiLCJfU2VydmljZXMkbG9nZ2VyIiwidXBkYXRlZE1vZGVsIiwiU2VydmljZXMiLCJsb2dnZXIiLCJkZWJ1ZyIsIl9TZXJ2aWNlcyRsb2dnZXIyIiwiX3JlZjIiLCJfcmVmMyIsImluaXRNb2RlbCIsImluaXRDb21tYW5kcyIsImV4ZWNDbWQiLCJjb25jYXQiLCJfc3Vic2NyaXB0aW9uIiwiX3N1YnNjcmlwdGlvbjIiLCJzdWJDbWQiLCJkZXN0cnVjdG9yIiwibG9nTWVzc2FnZSIsImRlZmVycmVkTW9kZWwiLCJkZWZlcnJlZENvbW1hbmRzIiwiZGVmZXIiLCJ0ZW1wRGVmZXJyZWRNb2RlbCIsIl9sZW4iLCJ0ZW1wRGVmZXJyZWRDb21tYW5kcyIsIl9rZXkiLCJfY2FsbFVwZGF0ZSIsImNhbGxVcGRhdGUiLCJfY2FsbFVwZGF0ZTIiLCJuZXdNb2RlbCIsImNvbW1hbmRzIiwibW9kZWxIYXNDaGFuZ2VkIiwib3B0aW9ucyIsImNhbGxVcGRhdGVNYXAiLCJ1cGRhdGVNYXAiLCJtc2dOYW1lIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZUVsbWlzaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHMgKi9cbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGV4ZWNDbWQsIGxvZ01lc3NhZ2UsIG1vZGVsSGFzQ2hhbmdlZCB9IGZyb20gXCIuL0NvbW1vblwiO1xuaW1wb3J0IHsgU2VydmljZXMgfSBmcm9tIFwiLi9Jbml0XCI7XG5pbXBvcnQgdHlwZSB7XG5cdENtZCxcblx0RGVmZXJGdW5jdGlvbixcblx0RGlzcGF0Y2gsXG5cdEluaXRGdW5jdGlvbixcblx0TWVzc2FnZSxcblx0TnVsbGFibGUsXG5cdFVwZGF0ZUZ1bmN0aW9uLFxuXHRVcGRhdGVGdW5jdGlvbk9wdGlvbnMsXG5cdFVwZGF0ZU1hcCxcblx0VXBkYXRlUmV0dXJuVHlwZSxcbn0gZnJvbSBcIi4vVHlwZXNcIjtcbmltcG9ydCB7IGdldEZha2VPcHRpb25zT25jZSB9IGZyb20gXCIuL2Zha2VPcHRpb25zXCI7XG5cbi8qKlxuICogVGhlIHJldHVybiB0eXBlIG9mIHRoZSBgc3Vic2NyaXB0aW9uYCBmdW5jdGlvbi5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqL1xudHlwZSBTdWJzY3JpcHRpb25SZXN1bHQ8VE1lc3NhZ2U+ID0gW0NtZDxUTWVzc2FnZT4sICgoKSA9PiB2b2lkKT9dO1xudHlwZSBTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiA9IChtb2RlbDogVE1vZGVsLCBwcm9wczogVFByb3BzKSA9PiBTdWJzY3JpcHRpb25SZXN1bHQ8VE1lc3NhZ2U+O1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBgdXNlRWxtaXNoYCBob29rLlxuICogQGludGVyZmFjZSBVc2VFbG1pc2hPcHRpb25zXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqIEB0ZW1wbGF0ZSBUTW9kZWwgVGhlIHR5cGUgb2YgdGhlIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlcyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5pbnRlcmZhY2UgVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiB7XG5cdC8qKlxuXHQgKiBUaGUgbmFtZSBvZiB0aGUgY29tcG9uZW50LiBUaGlzIGlzIHVzZWQgZm9yIGxvZ2dpbmcgb25seS5cblx0ICogQHR5cGUge3N0cmluZ31cblx0ICovXG5cdG5hbWU6IHN0cmluZztcblx0LyoqXG5cdCAqIFRoZSBwcm9wcyBwYXNzZWQgdG8gdGhlIGNvbXBvbmVudC5cblx0ICogQHR5cGUge1RQcm9wc31cblx0ICovXG5cdHByb3BzOiBUUHJvcHM7XG5cdC8qKlxuXHQgKiBUaGUgZnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSB0aGUgY29tcG9uZW50cyBtb2RlbC4gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBvbmNlLlxuXHQgKiBAdHlwZSB7SW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT59XG5cdCAqL1xuXHRpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPjtcblx0LyoqXG5cdCAqIFRoZSBgdXBkYXRlYCBmdW5jdGlvbiBvciB1cGRhdGUgbWFwIG9iamVjdC5cblx0ICogQHR5cGUgeyhVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pfVxuXHQgKi9cblx0dXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG5cdC8qKlxuXHQgKiBUaGUgb3B0aW9uYWwgYHN1YnNjcmlwdGlvbmAgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb25jZS5cblx0ICogQHR5cGUgeyhVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pfVxuXHQgKi9cblx0c3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbi8qKlxuICogSG9vayB0byB1c2UgdGhlIEVsbSBhcmNoaXRlY3R1cmUgcGF0dGVybiBpbiBhIGZ1bmN0aW9uIGNvbXBvbmVudC5cbiAqIEBwYXJhbSB7VXNlRWxtaXNoT3B0aW9uc30gb3B0aW9ucyBUaGUgb3B0aW9ucyBwYXNzZWQgdGhlIHRoZSBob29rLlxuICogQHJldHVybnMgQSB0dXBsZSBjb250YWluaW5nIHRoZSBjdXJyZW50IG1vZGVsIGFuZCB0aGUgZGlzcGF0Y2hlci5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBbbW9kZWwsIGRpc3BhdGNoXSA9IHVzZUVsbWlzaCh7IHByb3BzLCBpbml0LCB1cGRhdGUsIG5hbWU6IFwiTXlDb21wb25lbnRcIiB9KTtcbiAqL1xuZnVuY3Rpb24gdXNlRWxtaXNoPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KHtcblx0bmFtZSxcblx0cHJvcHMsXG5cdGluaXQsXG5cdHVwZGF0ZSxcblx0c3Vic2NyaXB0aW9uLFxufTogVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KTogW1RNb2RlbCwgRGlzcGF0Y2g8VE1lc3NhZ2U+XSB7XG5cdGxldCBydW5uaW5nID0gZmFsc2U7XG5cdGNvbnN0IGJ1ZmZlcjogVE1lc3NhZ2VbXSA9IFtdO1xuXHRsZXQgY3VycmVudE1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4gPSB7fTtcblxuXHRjb25zdCBbbW9kZWwsIHNldE1vZGVsXSA9IHVzZVN0YXRlPE51bGxhYmxlPFRNb2RlbD4+KG51bGwpO1xuXHRjb25zdCBwcm9wc1JlZiA9IHVzZVJlZihwcm9wcyk7XG5cdGNvbnN0IGlzTW91bnRlZFJlZiA9IHVzZVJlZih0cnVlKTtcblxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlzTW91bnRlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcblxuXHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRpc01vdW50ZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuXHRcdH07XG5cdH0sIFtdKTtcblxuXHRsZXQgaW5pdGlhbGl6ZWRNb2RlbCA9IG1vZGVsO1xuXG5cdGlmIChwcm9wc1JlZi5jdXJyZW50ICE9PSBwcm9wcykge1xuXHRcdHByb3BzUmVmLmN1cnJlbnQgPSBwcm9wcztcblx0fVxuXG5cdGNvbnN0IGZha2VPcHRpb25zID0gZ2V0RmFrZU9wdGlvbnNPbmNlKCk7XG5cdGNvbnN0IGRpc3BhdGNoID0gdXNlQ2FsbGJhY2soXG5cdFx0ZmFrZU9wdGlvbnM/LmRpc3BhdGNoID8/XG5cdFx0XHQoKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRcdFx0aWYgKHJ1bm5pbmcpIHtcblx0XHRcdFx0XHRidWZmZXIucHVzaChtc2cpO1xuXG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cnVubmluZyA9IHRydWU7XG5cblx0XHRcdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXHRcdFx0XHRsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuXHRcdFx0XHRkbyB7XG5cdFx0XHRcdFx0aWYgKGhhbmRsZU1lc3NhZ2UobmV4dE1zZykpIHtcblx0XHRcdFx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRuZXh0TXNnID0gYnVmZmVyLnNoaWZ0KCk7XG5cdFx0XHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0XHRcdHJ1bm5pbmcgPSBmYWxzZTtcblxuXHRcdFx0XHRpZiAoaXNNb3VudGVkUmVmLmN1cnJlbnQgJiYgbW9kaWZpZWQpIHtcblx0XHRcdFx0XHRzZXRNb2RlbCgocHJldk1vZGVsKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCB1cGRhdGVkTW9kZWwgPSB7IC4uLihwcmV2TW9kZWwgYXMgVE1vZGVsKSwgLi4uY3VycmVudE1vZGVsIH07XG5cblx0XHRcdFx0XHRcdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJVcGRhdGUgbW9kZWwgZm9yXCIsIG5hbWUsIHVwZGF0ZWRNb2RlbCk7XG5cblx0XHRcdFx0XHRcdHJldHVybiB1cGRhdGVkTW9kZWw7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH0pLFxuXHRcdFtdLFxuXHQpO1xuXG5cdGlmICghaW5pdGlhbGl6ZWRNb2RlbCkge1xuXHRcdGNvbnN0IFtpbml0TW9kZWwsIC4uLmluaXRDb21tYW5kc10gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWwgYXMgVE1vZGVsXSA6IGluaXQocHJvcHMpO1xuXG5cdFx0aW5pdGlhbGl6ZWRNb2RlbCA9IGluaXRNb2RlbDtcblx0XHRzZXRNb2RlbChpbml0aWFsaXplZE1vZGVsKTtcblxuXHRcdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJJbml0aWFsIG1vZGVsIGZvclwiLCBuYW1lLCBpbml0aWFsaXplZE1vZGVsKTtcblxuXHRcdGV4ZWNDbWQoZGlzcGF0Y2gsIC4uLmluaXRDb21tYW5kcyk7XG5cdH1cblxuXHQvLyBiaW9tZS1pZ25vcmUgbGludC9jb3JyZWN0bmVzcy91c2VFeGhhdXN0aXZlRGVwZW5kZW5jaWVzOiBXZSB3YW50IHRvIHJ1biB0aGlzIGVmZmVjdCBvbmx5IG9uY2Vcblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpZiAoc3Vic2NyaXB0aW9uKSB7XG5cdFx0XHRjb25zdCBbc3ViQ21kLCBkZXN0cnVjdG9yXSA9IHN1YnNjcmlwdGlvbihpbml0aWFsaXplZE1vZGVsLCBwcm9wcyk7XG5cblx0XHRcdGV4ZWNDbWQoZGlzcGF0Y2gsIHN1YkNtZCk7XG5cblx0XHRcdHJldHVybiBkZXN0cnVjdG9yO1xuXHRcdH1cblx0fSwgW10pO1xuXG5cdHJldHVybiBbaW5pdGlhbGl6ZWRNb2RlbCwgZGlzcGF0Y2hdO1xuXG5cdGZ1bmN0aW9uIGhhbmRsZU1lc3NhZ2UobmV4dE1zZzogVE1lc3NhZ2UpOiBib29sZWFuIHtcblx0XHRpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHRsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuXHRcdGxvZ01lc3NhZ2UobmFtZSwgbmV4dE1zZyk7XG5cblx0XHRsZXQgZGVmZXJyZWRNb2RlbDogUGFydGlhbDxUTW9kZWw+ID0ge307XG5cdFx0Y29uc3QgZGVmZXJyZWRDb21tYW5kczogKENtZDxUTWVzc2FnZT4gfCB1bmRlZmluZWQpW10gPSBbXTtcblxuXHRcdGNvbnN0IGRlZmVyOiBEZWZlckZ1bmN0aW9uPFRNb2RlbCwgVE1lc3NhZ2U+ID0gKHRlbXBEZWZlcnJlZE1vZGVsLCAuLi50ZW1wRGVmZXJyZWRDb21tYW5kcykgPT4ge1xuXHRcdFx0ZGVmZXJyZWRNb2RlbCA9IHsgLi4uZGVmZXJyZWRNb2RlbCwgLi4udGVtcERlZmVycmVkTW9kZWwgfTtcblx0XHRcdGRlZmVycmVkQ29tbWFuZHMucHVzaCguLi50ZW1wRGVmZXJyZWRDb21tYW5kcyk7XG5cdFx0fTtcblxuXHRcdGNvbnN0IFtuZXdNb2RlbCwgLi4uY29tbWFuZHNdID0gY2FsbFVwZGF0ZSh1cGRhdGUsIG5leHRNc2csIHsgLi4uaW5pdGlhbGl6ZWRNb2RlbCwgLi4uY3VycmVudE1vZGVsIH0sIHByb3BzUmVmLmN1cnJlbnQsIHtcblx0XHRcdGRlZmVyLFxuXHRcdH0pO1xuXG5cdFx0aWYgKG1vZGVsSGFzQ2hhbmdlZChjdXJyZW50TW9kZWwsIHsgLi4uZGVmZXJyZWRNb2RlbCwgLi4ubmV3TW9kZWwgfSkpIHtcblx0XHRcdGN1cnJlbnRNb2RlbCA9IHsgLi4uY3VycmVudE1vZGVsLCAuLi5kZWZlcnJlZE1vZGVsLCAuLi5uZXdNb2RlbCB9O1xuXG5cdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0fVxuXG5cdFx0ZXhlY0NtZChkaXNwYXRjaCwgLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0cmV0dXJuIG1vZGlmaWVkO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGNhbGxVcGRhdGU8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHVwZGF0ZTogVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogVE1vZGVsLFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VE1vZGVsLCBUTWVzc2FnZT4sXG4pOiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0aWYgKHR5cGVvZiB1cGRhdGUgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdHJldHVybiB1cGRhdGUobW9kZWwsIG1zZywgcHJvcHMsIG9wdGlvbnMpO1xuXHR9XG5cblx0cmV0dXJuIGNhbGxVcGRhdGVNYXAodXBkYXRlLCBtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIGNhbGxVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHVwZGF0ZU1hcDogVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBUTW9kZWwsXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUTW9kZWwsIFRNZXNzYWdlPixcbik6IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRjb25zdCBtc2dOYW1lOiBUTWVzc2FnZVtcIm5hbWVcIl0gPSBtc2cubmFtZTtcblxuXHRyZXR1cm4gdXBkYXRlTWFwW21zZ05hbWVdKG1zZywgbW9kZWwsIHByb3BzLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IHR5cGUgeyBTdWJzY3JpcHRpb24sIFN1YnNjcmlwdGlvblJlc3VsdCwgVXNlRWxtaXNoT3B0aW9ucyB9O1xuXG5leHBvcnQgeyBjYWxsVXBkYXRlLCBjYWxsVXBkYXRlTWFwLCB1c2VFbG1pc2ggfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBYUEsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQW1ELFNBQUFJLG1CQUFBQyxHQUFBLFdBQUFDLGtCQUFBLENBQUFELEdBQUEsS0FBQUUsZ0JBQUEsQ0FBQUYsR0FBQSxLQUFBRywyQkFBQSxDQUFBSCxHQUFBLEtBQUFJLGtCQUFBO0FBQUEsU0FBQUEsbUJBQUEsY0FBQUMsU0FBQTtBQUFBLFNBQUFKLG1CQUFBRCxHQUFBLFFBQUFNLEtBQUEsQ0FBQUMsT0FBQSxDQUFBUCxHQUFBLFVBQUFRLGlCQUFBLENBQUFSLEdBQUE7QUFBQSxTQUFBUyxTQUFBVCxHQUFBLFdBQUFVLGVBQUEsQ0FBQVYsR0FBQSxLQUFBRSxnQkFBQSxDQUFBRixHQUFBLEtBQUFHLDJCQUFBLENBQUFILEdBQUEsS0FBQVcsZ0JBQUE7QUFBQSxTQUFBVCxpQkFBQVUsSUFBQSxlQUFBQyxNQUFBLG9CQUFBRCxJQUFBLENBQUFDLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixJQUFBLCtCQUFBTixLQUFBLENBQUFTLElBQUEsQ0FBQUgsSUFBQTtBQUFBLFNBQUFJLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdB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
|
|
164
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX0NvbW1vbiIsIl9Jbml0IiwiX2NyZWF0ZURlZmVyMyIsIl9mYWtlT3B0aW9ucyIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJUeXBlRXJyb3IiLCJBcnJheSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl90b0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX25vbkl0ZXJhYmxlUmVzdCIsIml0ZXIiLCJTeW1ib2wiLCJpdGVyYXRvciIsImZyb20iLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5Iiwib2JqIiwia2V5IiwidmFsdWUiLCJfdG9Qcm9wZXJ0eUtleSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsIl90eXBlb2YiLCJTdHJpbmciLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIm1pbkxlbiIsIm4iLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwidGVzdCIsImxlbiIsImFycjIiLCJsIiwidSIsImEiLCJmIiwibmV4dCIsImRvbmUiLCJ1c2VFbG1pc2giLCJfcmVmIiwiX2Zha2VPcHRpb25zJGRpc3BhdGNoIiwicHJvcHMiLCJpbml0IiwidXBkYXRlIiwic3Vic2NyaXB0aW9uIiwicnVubmluZyIsImJ1ZmZlciIsImN1cnJlbnRNb2RlbCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm1vZGVsIiwic2V0TW9kZWwiLCJwcm9wc1JlZiIsInVzZVJlZiIsImlzTW91bnRlZFJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJpbml0aWFsaXplZE1vZGVsIiwiZmFrZU9wdGlvbnMiLCJnZXRGYWtlT3B0aW9uc09uY2UiLCJkaXNwYXRjaCIsInVzZUNhbGxiYWNrIiwibXNnIiwibmV4dE1zZyIsIm1vZGlmaWVkIiwiaGFuZGxlTWVzc2FnZSIsInNoaWZ0IiwicHJldk1vZGVsIiwiX1NlcnZpY2VzJGxvZ2dlciIsInVwZGF0ZWRNb2RlbCIsIlNlcnZpY2VzIiwibG9nZ2VyIiwiZGVidWciLCJfU2VydmljZXMkbG9nZ2VyMiIsIl9yZWYyIiwiX3JlZjMiLCJpbml0TW9kZWwiLCJpbml0Q29tbWFuZHMiLCJleGVjQ21kIiwiY29uY2F0IiwiX3N1YnNjcmlwdGlvbiIsIl9zdWJzY3JpcHRpb24yIiwic3ViQ21kIiwiZGVzdHJ1Y3RvciIsImxvZ01lc3NhZ2UiLCJfY3JlYXRlRGVmZXIiLCJjcmVhdGVEZWZlciIsIl9jcmVhdGVEZWZlcjIiLCJkZWZlciIsImdldERlZmVycmVkIiwiX2NhbGxVcGRhdGUiLCJjYWxsVXBkYXRlIiwiX2NhbGxVcGRhdGUyIiwibmV3TW9kZWwiLCJjb21tYW5kcyIsIl9nZXREZWZlcnJlZCIsIl9nZXREZWZlcnJlZDIiLCJkZWZlcnJlZE1vZGVsIiwiZGVmZXJyZWRDb21tYW5kcyIsIm1vZGVsSGFzQ2hhbmdlZCIsIm9wdGlvbnMiLCJjYWxsVXBkYXRlTWFwIiwidXBkYXRlTWFwIiwibXNnTmFtZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VFbG1pc2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBleGVjQ21kLCBsb2dNZXNzYWdlLCBtb2RlbEhhc0NoYW5nZWQgfSBmcm9tIFwiLi9Db21tb25cIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUge1xuXHRDbWQsXG5cdERpc3BhdGNoLFxuXHRJbml0RnVuY3Rpb24sXG5cdE1lc3NhZ2UsXG5cdE51bGxhYmxlLFxuXHRVcGRhdGVGdW5jdGlvbixcblx0VXBkYXRlRnVuY3Rpb25PcHRpb25zLFxuXHRVcGRhdGVNYXAsXG5cdFVwZGF0ZVJldHVyblR5cGUsXG59IGZyb20gXCIuL1R5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVEZWZlciB9IGZyb20gXCIuL2NyZWF0ZURlZmVyXCI7XG5pbXBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UgfSBmcm9tIFwiLi9mYWtlT3B0aW9uc1wiO1xuXG4vKipcbiAqIFRoZSByZXR1cm4gdHlwZSBvZiB0aGUgYHN1YnNjcmlwdGlvbmAgZnVuY3Rpb24uXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzIGRpc2NyaW1pbmF0ZWQgdW5pb24uXG4gKi9cbnR5cGUgU3Vic2NyaXB0aW9uUmVzdWx0PFRNZXNzYWdlPiA9IFtDbWQ8VE1lc3NhZ2U+LCAoKCkgPT4gdm9pZCk/XTtcbnR5cGUgU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gPSAobW9kZWw6IFRNb2RlbCwgcHJvcHM6IFRQcm9wcykgPT4gU3Vic2NyaXB0aW9uUmVzdWx0PFRNZXNzYWdlPjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgYHVzZUVsbWlzaGAgaG9vay5cbiAqIEBpbnRlcmZhY2UgVXNlRWxtaXNoT3B0aW9uc1xuICogQHRlbXBsYXRlIFRQcm9wcyBUaGUgdHlwZSBvZiB0aGUgcHJvcHMuXG4gKiBAdGVtcGxhdGUgVE1vZGVsIFRoZSB0eXBlIG9mIHRoZSBtb2RlbC5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqL1xuaW50ZXJmYWNlIFVzZUVsbWlzaE9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4ge1xuXHQvKipcblx0ICogVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudC4gVGhpcyBpcyB1c2VkIGZvciBsb2dnaW5nIG9ubHkuXG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqL1xuXHRuYW1lOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBUaGUgcHJvcHMgcGFzc2VkIHRvIHRoZSBjb21wb25lbnQuXG5cdCAqIEB0eXBlIHtUUHJvcHN9XG5cdCAqL1xuXHRwcm9wczogVFByb3BzO1xuXHQvKipcblx0ICogVGhlIGZ1bmN0aW9uIHRvIGluaXRpYWxpemUgdGhlIGNvbXBvbmVudHMgbW9kZWwuIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb25jZS5cblx0ICogQHR5cGUge0luaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+fVxuXHQgKi9cblx0aW5pdDogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG5cdC8qKlxuXHQgKiBUaGUgYHVwZGF0ZWAgZnVuY3Rpb24gb3IgdXBkYXRlIG1hcCBvYmplY3QuXG5cdCAqIEB0eXBlIHsoVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KX1cblx0ICovXG5cdHVwZGF0ZTogVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+O1xuXHQvKipcblx0ICogVGhlIG9wdGlvbmFsIGBzdWJzY3JpcHRpb25gIGZ1bmN0aW9uLiBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIG9uY2UuXG5cdCAqIEB0eXBlIHsoVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KX1cblx0ICovXG5cdHN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+O1xufVxuXG4vKipcbiAqIEhvb2sgdG8gdXNlIHRoZSBFbG0gYXJjaGl0ZWN0dXJlIHBhdHRlcm4gaW4gYSBmdW5jdGlvbiBjb21wb25lbnQuXG4gKiBAcGFyYW0ge1VzZUVsbWlzaE9wdGlvbnN9IG9wdGlvbnMgVGhlIG9wdGlvbnMgcGFzc2VkIHRoZSB0aGUgaG9vay5cbiAqIEByZXR1cm5zIEEgdHVwbGUgY29udGFpbmluZyB0aGUgY3VycmVudCBtb2RlbCBhbmQgdGhlIGRpc3BhdGNoZXIuXG4gKiBAZXhhbXBsZVxuICogY29uc3QgW21vZGVsLCBkaXNwYXRjaF0gPSB1c2VFbG1pc2goeyBwcm9wcywgaW5pdCwgdXBkYXRlLCBuYW1lOiBcIk15Q29tcG9uZW50XCIgfSk7XG4gKi9cbmZ1bmN0aW9uIHVzZUVsbWlzaDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPih7XG5cdG5hbWUsXG5cdHByb3BzLFxuXHRpbml0LFxuXHR1cGRhdGUsXG5cdHN1YnNjcmlwdGlvbixcbn06IFVzZUVsbWlzaE9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPik6IFtUTW9kZWwsIERpc3BhdGNoPFRNZXNzYWdlPl0ge1xuXHRsZXQgcnVubmluZyA9IGZhbHNlO1xuXHRjb25zdCBidWZmZXI6IFRNZXNzYWdlW10gPSBbXTtcblx0bGV0IGN1cnJlbnRNb2RlbDogUGFydGlhbDxUTW9kZWw+ID0ge307XG5cblx0Y29uc3QgW21vZGVsLCBzZXRNb2RlbF0gPSB1c2VTdGF0ZTxOdWxsYWJsZTxUTW9kZWw+PihudWxsKTtcblx0Y29uc3QgcHJvcHNSZWYgPSB1c2VSZWYocHJvcHMpO1xuXHRjb25zdCBpc01vdW50ZWRSZWYgPSB1c2VSZWYodHJ1ZSk7XG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpc01vdW50ZWRSZWYuY3VycmVudCA9IHRydWU7XG5cblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0aXNNb3VudGVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcblx0XHR9O1xuXHR9LCBbXSk7XG5cblx0bGV0IGluaXRpYWxpemVkTW9kZWwgPSBtb2RlbDtcblxuXHRpZiAocHJvcHNSZWYuY3VycmVudCAhPT0gcHJvcHMpIHtcblx0XHRwcm9wc1JlZi5jdXJyZW50ID0gcHJvcHM7XG5cdH1cblxuXHRjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZSgpO1xuXHRjb25zdCBkaXNwYXRjaCA9IHVzZUNhbGxiYWNrKFxuXHRcdGZha2VPcHRpb25zPy5kaXNwYXRjaCA/P1xuXHRcdFx0KChtc2c6IFRNZXNzYWdlKTogdm9pZCA9PiB7XG5cdFx0XHRcdGlmIChydW5uaW5nKSB7XG5cdFx0XHRcdFx0YnVmZmVyLnB1c2gobXNnKTtcblxuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJ1bm5pbmcgPSB0cnVlO1xuXG5cdFx0XHRcdGxldCBuZXh0TXNnOiBUTWVzc2FnZSB8IHVuZGVmaW5lZCA9IG1zZztcblx0XHRcdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRcdFx0ZG8ge1xuXHRcdFx0XHRcdGlmIChoYW5kbGVNZXNzYWdlKG5leHRNc2cpKSB7XG5cdFx0XHRcdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0bmV4dE1zZyA9IGJ1ZmZlci5zaGlmdCgpO1xuXHRcdFx0XHR9IHdoaWxlIChuZXh0TXNnKTtcblxuXHRcdFx0XHRydW5uaW5nID0gZmFsc2U7XG5cblx0XHRcdFx0aWYgKGlzTW91bnRlZFJlZi5jdXJyZW50ICYmIG1vZGlmaWVkKSB7XG5cdFx0XHRcdFx0c2V0TW9kZWwoKHByZXZNb2RlbCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgdXBkYXRlZE1vZGVsID0geyAuLi4ocHJldk1vZGVsIGFzIFRNb2RlbCksIC4uLmN1cnJlbnRNb2RlbCB9O1xuXG5cdFx0XHRcdFx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiVXBkYXRlIG1vZGVsIGZvclwiLCBuYW1lLCB1cGRhdGVkTW9kZWwpO1xuXG5cdFx0XHRcdFx0XHRyZXR1cm4gdXBkYXRlZE1vZGVsO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9KSxcblx0XHRbXSxcblx0KTtcblxuXHRpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcblx0XHRjb25zdCBbaW5pdE1vZGVsLCAuLi5pbml0Q29tbWFuZHNdID0gZmFrZU9wdGlvbnM/Lm1vZGVsID8gW2Zha2VPcHRpb25zLm1vZGVsIGFzIFRNb2RlbF0gOiBpbml0KHByb3BzKTtcblxuXHRcdGluaXRpYWxpemVkTW9kZWwgPSBpbml0TW9kZWw7XG5cdFx0c2V0TW9kZWwoaW5pdGlhbGl6ZWRNb2RlbCk7XG5cblx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiSW5pdGlhbCBtb2RlbCBmb3JcIiwgbmFtZSwgaW5pdGlhbGl6ZWRNb2RlbCk7XG5cblx0XHRleGVjQ21kKGRpc3BhdGNoLCAuLi5pbml0Q29tbWFuZHMpO1xuXHR9XG5cblx0Ly8gYmlvbWUtaWdub3JlIGxpbnQvY29ycmVjdG5lc3MvdXNlRXhoYXVzdGl2ZURlcGVuZGVuY2llczogV2Ugd2FudCB0byBydW4gdGhpcyBlZmZlY3Qgb25seSBvbmNlXG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aWYgKHN1YnNjcmlwdGlvbikge1xuXHRcdFx0Y29uc3QgW3N1YkNtZCwgZGVzdHJ1Y3Rvcl0gPSBzdWJzY3JpcHRpb24oaW5pdGlhbGl6ZWRNb2RlbCwgcHJvcHMpO1xuXG5cdFx0XHRleGVjQ21kKGRpc3BhdGNoLCBzdWJDbWQpO1xuXG5cdFx0XHRyZXR1cm4gZGVzdHJ1Y3Rvcjtcblx0XHR9XG5cdH0sIFtdKTtcblxuXHRyZXR1cm4gW2luaXRpYWxpemVkTW9kZWwsIGRpc3BhdGNoXTtcblxuXHRmdW5jdGlvbiBoYW5kbGVNZXNzYWdlKG5leHRNc2c6IFRNZXNzYWdlKTogYm9vbGVhbiB7XG5cdFx0aWYgKCFpbml0aWFsaXplZE1vZGVsKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRsb2dNZXNzYWdlKG5hbWUsIG5leHRNc2cpO1xuXG5cdFx0Y29uc3QgW2RlZmVyLCBnZXREZWZlcnJlZF0gPSBjcmVhdGVEZWZlcjxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXG5cdFx0Y29uc3QgW25ld01vZGVsLCAuLi5jb21tYW5kc10gPSBjYWxsVXBkYXRlKHVwZGF0ZSwgbmV4dE1zZywgeyAuLi5pbml0aWFsaXplZE1vZGVsLCAuLi5jdXJyZW50TW9kZWwgfSwgcHJvcHNSZWYuY3VycmVudCwge1xuXHRcdFx0ZGVmZXIsXG5cdFx0fSk7XG5cblx0XHRjb25zdCBbZGVmZXJyZWRNb2RlbCwgZGVmZXJyZWRDb21tYW5kc10gPSBnZXREZWZlcnJlZCgpO1xuXG5cdFx0aWYgKG1vZGVsSGFzQ2hhbmdlZChjdXJyZW50TW9kZWwsIHsgLi4uZGVmZXJyZWRNb2RlbCwgLi4ubmV3TW9kZWwgfSkpIHtcblx0XHRcdGN1cnJlbnRNb2RlbCA9IHsgLi4uY3VycmVudE1vZGVsLCAuLi5kZWZlcnJlZE1vZGVsLCAuLi5uZXdNb2RlbCB9O1xuXG5cdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0fVxuXG5cdFx0ZXhlY0NtZChkaXNwYXRjaCwgLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0cmV0dXJuIG1vZGlmaWVkO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGNhbGxVcGRhdGU8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHVwZGF0ZTogVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogVE1vZGVsLFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VE1vZGVsLCBUTWVzc2FnZT4sXG4pOiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0aWYgKHR5cGVvZiB1cGRhdGUgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdHJldHVybiB1cGRhdGUobW9kZWwsIG1zZywgcHJvcHMsIG9wdGlvbnMpO1xuXHR9XG5cblx0cmV0dXJuIGNhbGxVcGRhdGVNYXAodXBkYXRlLCBtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIGNhbGxVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHVwZGF0ZU1hcDogVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBUTW9kZWwsXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUTW9kZWwsIFRNZXNzYWdlPixcbik6IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRjb25zdCBtc2dOYW1lOiBUTWVzc2FnZVtcIm5hbWVcIl0gPSBtc2cubmFtZTtcblxuXHRyZXR1cm4gdXBkYXRlTWFwW21zZ05hbWVdKG1zZywgbW9kZWwsIHByb3BzLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IHR5cGUgeyBTdWJzY3JpcHRpb24sIFN1YnNjcmlwdGlvblJlc3VsdCwgVXNlRWxtaXNoT3B0aW9ucyB9O1xuXG5leHBvcnQgeyBjYWxsVXBkYXRlLCBjYWxsVXBkYXRlTWFwLCB1c2VFbG1pc2gg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
|