react-elmish 8.1.0 → 9.1.0-beta.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/README.md CHANGED
@@ -32,6 +32,7 @@ This library brings the elmish pattern to react.
32
32
  - [Combine update and execCmd](#combine-update-and-execcmd)
33
33
  - [Testing subscriptions](#testing-subscriptions)
34
34
  - [UI Tests](#ui-tests)
35
+ - [Redux Dev Tools](#redux-dev-tools)
35
36
  - [Migrations](#migrations)
36
37
  - [From v1.x to v2.x](#from-v1x-to-v2x)
37
38
  - [From v2.x to v3.x](#from-v2x-to-v3x)
@@ -1077,6 +1078,20 @@ it("dispatches the correct message", async () => {
1077
1078
 
1078
1079
  This works for function components using the `useElmish` hook and class components.
1079
1080
 
1081
+ ## Redux Dev Tools
1082
+
1083
+ If you have the Redux Dev Tools installed in your browser, you can enable support for this extension by setting the `enableDevTools` option to `true` in the `init` function.
1084
+
1085
+ ```ts
1086
+ import { init } from "react-elmish";
1087
+
1088
+ init({
1089
+ enableDevTools: true,
1090
+ });
1091
+ ```
1092
+
1093
+ Hint: You should only enable this in development mode.
1094
+
1080
1095
  ## Migrations
1081
1096
 
1082
1097
  ### From v1.x to v2.x
package/dist/Common.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Cmd, Dispatch, Message } from "./Types";
2
- declare function logMessage<TMessage extends Message>(name: string, msg: TMessage): void;
2
+ declare function logMessage(name: string, msg: Message): void;
3
3
  declare function modelHasChanged<TModel>(currentModel: TModel, model: Partial<TModel>): boolean;
4
4
  declare function execCmd<TMessage>(dispatch: Dispatch<TMessage>, ...commands: (Cmd<TMessage> | undefined)[]): void;
5
5
  export { execCmd, logMessage, modelHasChanged };
package/dist/Common.js CHANGED
@@ -38,4 +38,4 @@ function execCmd(dispatch) {
38
38
  _iterator.f();
39
39
  }
40
40
  }
41
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW5pdCIsInJlcXVpcmUiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInIiLCJlIiwidCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibyIsImEiLCJ1IiwiY2FsbCIsIm5leHQiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImxvZ01lc3NhZ2UiLCJtc2ciLCJfU2VydmljZXMkbG9nZ2VyIiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfU2VydmljZXMkZGlzcGF0Y2hNaWQiLCJTZXJ2aWNlcyIsImxvZ2dlciIsImluZm8iLCJkZWJ1ZyIsImRpc3BhdGNoTWlkZGxld2FyZSIsIm1vZGVsSGFzQ2hhbmdlZCIsImN1cnJlbnRNb2RlbCIsIm1vZGVsIiwiT2JqZWN0IiwiaXMiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwiZXhlY0NtZCIsImRpc3BhdGNoIiwiX2xlbiIsImFyZ3VtZW50cyIsImNvbW1hbmRzIiwiX2tleSIsIl9pdGVyYXRvciIsImZsYXQiLCJfc3RlcCIsImVyciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Db21tb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VydmljZXMgfSBmcm9tIFwiLi9Jbml0XCI7XG5pbXBvcnQgdHlwZSB7IENtZCwgRGlzcGF0Y2gsIE1lc3NhZ2UgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG5mdW5jdGlvbiBsb2dNZXNzYWdlPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4obmFtZTogc3RyaW5nLCBtc2c6IFRNZXNzYWdlKTogdm9pZCB7XG5cdFNlcnZpY2VzLmxvZ2dlcj8uaW5mbyhcIk1lc3NhZ2UgZnJvbVwiLCBuYW1lLCBtc2cubmFtZSk7XG5cdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJNZXNzYWdlIGZyb21cIiwgbmFtZSwgbXNnKTtcblxuXHRTZXJ2aWNlcy5kaXNwYXRjaE1pZGRsZXdhcmU/Lihtc2cpO1xufVxuXG5mdW5jdGlvbiBtb2RlbEhhc0NoYW5nZWQ8VE1vZGVsPihjdXJyZW50TW9kZWw6IFRNb2RlbCwgbW9kZWw6IFBhcnRpYWw8VE1vZGVsPik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gIU9iamVjdC5pcyhtb2RlbCwgY3VycmVudE1vZGVsKSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhtb2RlbCkubGVuZ3RoID4gMDtcbn1cblxuZnVuY3Rpb24gZXhlY0NtZDxUTWVzc2FnZT4oZGlzcGF0Y2g6IERpc3BhdGNoPFRNZXNzYWdlPiwgLi4uY29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdKTogdm9pZCB7XG5cdGZvciAoY29uc3QgY2FsbCBvZiBjb21tYW5kcy5mbGF0KCkpIHtcblx0XHRpZiAoY2FsbCkge1xuXHRcdFx0Y2FsbChkaXNwYXRjaCk7XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCB7IGV4ZWNDbWQsIGxvZ01lc3NhZ2UsIG1vZGVsSGFzQ2hhbmdlZCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQUFrQyxTQUFBQywyQkFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEseUJBQUFDLE1BQUEsSUFBQUgsQ0FBQSxDQUFBRyxNQUFBLENBQUFDLFFBQUEsS0FBQUosQ0FBQSxxQkFBQUUsQ0FBQSxRQUFBRyxLQUFBLENBQUFDLE9BQUEsQ0FBQU4sQ0FBQSxNQUFBRSxDQUFBLEdBQUFLLDJCQUFBLENBQUFQLENBQUEsTUFBQUMsQ0FBQSxJQUFBRCxDQUFBLHVCQUFBQSxDQUFBLENBQUFRLE1BQUEsSUFBQU4sQ0FBQSxLQUFBRixDQUFBLEdBQUFFLENBQUEsT0FBQU8sRUFBQSxNQUFBQyxDQUFBLFlBQUFBLEVBQUEsZUFBQUMs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
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW5pdCIsInJlcXVpcmUiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInIiLCJlIiwidCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibyIsImEiLCJ1IiwiY2FsbCIsIm5leHQiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImxvZ01lc3NhZ2UiLCJtc2ciLCJfU2VydmljZXMkbG9nZ2VyIiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfU2VydmljZXMkZGlzcGF0Y2hNaWQiLCJTZXJ2aWNlcyIsImxvZ2dlciIsImluZm8iLCJkZWJ1ZyIsImRpc3BhdGNoTWlkZGxld2FyZSIsIm1vZGVsSGFzQ2hhbmdlZCIsImN1cnJlbnRNb2RlbCIsIm1vZGVsIiwiT2JqZWN0IiwiaXMiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwiZXhlY0NtZCIsImRpc3BhdGNoIiwiX2xlbiIsImFyZ3VtZW50cyIsImNvbW1hbmRzIiwiX2tleSIsIl9pdGVyYXRvciIsImZsYXQiLCJfc3RlcCIsImVyciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Db21tb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VydmljZXMgfSBmcm9tIFwiLi9Jbml0XCI7XG5pbXBvcnQgdHlwZSB7IENtZCwgRGlzcGF0Y2gsIE1lc3NhZ2UgfSBmcm9tIFwiLi9UeXBlc1wiO1xuXG5mdW5jdGlvbiBsb2dNZXNzYWdlKG5hbWU6IHN0cmluZywgbXNnOiBNZXNzYWdlKTogdm9pZCB7XG5cdFNlcnZpY2VzLmxvZ2dlcj8uaW5mbyhcIk1lc3NhZ2UgZnJvbVwiLCBuYW1lLCBtc2cubmFtZSk7XG5cdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJNZXNzYWdlIGZyb21cIiwgbmFtZSwgbXNnKTtcblxuXHRTZXJ2aWNlcy5kaXNwYXRjaE1pZGRsZXdhcmU/Lihtc2cpO1xufVxuXG5mdW5jdGlvbiBtb2RlbEhhc0NoYW5nZWQ8VE1vZGVsPihjdXJyZW50TW9kZWw6IFRNb2RlbCwgbW9kZWw6IFBhcnRpYWw8VE1vZGVsPik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gIU9iamVjdC5pcyhtb2RlbCwgY3VycmVudE1vZGVsKSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhtb2RlbCkubGVuZ3RoID4gMDtcbn1cblxuZnVuY3Rpb24gZXhlY0NtZDxUTWVzc2FnZT4oZGlzcGF0Y2g6IERpc3BhdGNoPFRNZXNzYWdlPiwgLi4uY29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdKTogdm9pZCB7XG5cdGZvciAoY29uc3QgY2FsbCBvZiBjb21tYW5kcy5mbGF0KCkpIHtcblx0XHRpZiAoY2FsbCkge1xuXHRcdFx0Y2FsbChkaXNwYXRjaCk7XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCB7IGV4ZWNDbWQsIGxvZ01lc3NhZ2UsIG1vZGVsSGFzQ2hhbmdlZCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQUFrQyxTQUFBQywyQkFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEseUJBQUFDLE1BQUEsSUFBQUgsQ0FBQSxDQUFBRyxNQUFBLENBQUFDLFFBQUEsS0FBQUosQ0FBQSxxQkFBQUUsQ0FBQSxRQUFBRyxLQUFBLENBQUFDLE9BQUEsQ0FBQU4sQ0FBQSxNQUFBRSxDQUFBLEdBQUFLLDJCQUFBLENBQUFQLENBQUEsTUFBQUMsQ0FBQSxJQUFBRCxDQUFBLHVCQUFBQSxDQUFBLENBQUFRLE1BQUEsSUFBQU4sQ0FBQSxLQUFBRixDQUFBLEdBQUFFLENBQUEsT0FBQU8sRUFBQSxNQUFBQyxDQUFBLFlBQUFBLEVBQUEsZUFBQUMsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEs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
@@ -174,6 +174,7 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
174
174
  * @type {Readonly<TModel>}
175
175
  * @memberof ElmComponent
176
176
  */
177
+ // eslint-disable-next-line react/no-unused-class-component-methods -- We need it internally.
177
178
  }, {
178
179
  key: "model",
179
180
  get: function get() {
@@ -181,4 +182,4 @@ var ElmComponent = exports.ElmComponent = /*#__PURE__*/function (_React$Componen
181
182
  }
182
183
  }]);
183
184
  }(_react["default"].Component);
184
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Db21tb24iLCJfSW5pdCIsIl9jcmVhdGVDYWxsQmFzZSIsIl9jcmVhdGVEZWZlcjMiLCJfZmFrZU9wdGlvbnMiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiZnJvbSIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiYSIsInRvU3RyaW5nIiwiY2FsbCIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJuIiwibCIsImkiLCJ1IiwiZiIsIm5leHQiLCJkb25lIiwidmFsdWUiLCJfY2xhc3NDYWxsQ2hlY2siLCJfZGVmaW5lUHJvcGVydGllcyIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3RvUHJvcGVydHlLZXkiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJfaW5oZXJpdHMiLCJjcmVhdGUiLCJfc2V0UHJvdG90eXBlT2YiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIkVsbUNvbXBvbmVudCIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwicHJvcHMiLCJpbml0IiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfdGhpcyIsIm1zZyIsInJ1bm5pbmciLCJidWZmZXIiLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJjdXJyZW50TWVzc2FnZSIsImxvZ01lc3NhZ2UiLCJjb21wb25lbnROYW1lIiwiX2NyZWF0ZURlZmVyIiwiY3JlYXRlRGVmZXIiLCJfY3JlYXRlRGVmZXIyIiwiZGVmZXIiLCJnZXREZWZlcnJlZCIsImNhbGxCYXNlIiwiY3JlYXRlQ2FsbEJhc2UiLCJjdXJyZW50TW9kZWwiLCJfdGhpcyR1cGRhdGUiLCJ1cGRhdGUiLCJfdGhpcyR1cGRhdGUyIiwibW9kZWwiLCJjb21tYW5kcyIsIl9nZXREZWZlcnJlZCIsIl9nZXREZWZlcnJlZDIiLCJkZWZlcnJlZE1vZGVsIiwiZGVmZXJyZWRDb21tYW5kcyIsIm1vZGVsSGFzQ2hhbmdlZCIsImV4ZWNDbWQiLCJkaXNwYXRjaCIsImNvbmNhdCIsInNoaWZ0IiwibW91bnRlZCIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJTZXJ2aWNlcyIsImxvZ2dlciIsImRlYnVnIiwiZm9yY2VVcGRhdGUiLCJmYWtlT3B0aW9ucyIsImdldEZha2VPcHRpb25zT25jZSIsIl9yZWYiLCJfcmVmMiIsImluaXRDb21tYW5kcyIsImNvbXBvbmVudERpZE1vdW50IiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJnZXQiLCJSZWFjdCIsIkNvbXBvbmVudCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9FbG1Db21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgZXhlY0NtZCwgbG9nTWVzc2FnZSwgbW9kZWxIYXNDaGFuZ2VkIH0gZnJvbSBcIi4vQ29tbW9uXCI7XG5pbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB0eXBlIHsgQ21kLCBJbml0RnVuY3Rpb24sIE1lc3NhZ2UsIE51bGxhYmxlLCBVcGRhdGVGdW5jdGlvbiB9IGZyb20gXCIuL1R5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVDYWxsQmFzZSB9IGZyb20gXCIuL2NyZWF0ZUNhbGxCYXNlXCI7XG5pbXBvcnQgeyBjcmVhdGVEZWZlciB9IGZyb20gXCIuL2NyZWF0ZURlZmVyXCI7XG5pbXBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UgfSBmcm9tIFwiLi9mYWtlT3B0aW9uc1wiO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGZvciBhIHJlYWN0IGNsYXNzIGNvbXBvbmVudCB1c2luZyB0aGUgRWxtaXNoIHBhdHRlcm4uXG4gKiBAZXhwb3J0XG4gKiBAYWJzdHJhY3RcbiAqIEBjbGFzcyBFbG1Db21wb25lbnRcbiAqIEBleHRlbmRzIHtDb21wb25lbnQ8VFByb3BzLCBUTW9kZWw+fVxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzLlxuICogQHRlbXBsYXRlIFRQcm9wcyBUaGUgdHlwZSBvZiB0aGUgcHJvcHMuXG4gKi9cbmFic3RyYWN0IGNsYXNzIEVsbUNvbXBvbmVudDxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVFByb3BzPiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxUUHJvcHM+IHtcblx0cHJpdmF0ZSBpbml0Q29tbWFuZHM6IE51bGxhYmxlPChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdPiB8IHVuZGVmaW5lZDtcblx0cHJpdmF0ZSByZWFkb25seSBjb21wb25lbnROYW1lOiBzdHJpbmc7XG5cdHByaXZhdGUgcmVhZG9ubHkgYnVmZmVyOiBUTWVzc2FnZVtdID0gW107XG5cdHByaXZhdGUgcnVubmluZyA9IGZhbHNlO1xuXHRwcml2YXRlIG1vdW50ZWQgPSBmYWxzZTtcblx0cHJpdmF0ZSBjdXJyZW50TW9kZWw6IFRNb2RlbDtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBFbG1Db21wb25lbnQuXG5cdCAqIEBwYXJhbSB7VFByb3BzfSBwcm9wcyBUaGUgcHJvcHMgZm9yIHRoZSBjb21wb25lbnQuXG5cdCAqIEBwYXJhbSB7KCkgPT4gVE1vZGVsfSBpbml0IFRoZSBpbml0aWFsaXplciBmdW5jdGlvbi5cblx0ICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbnN0cnVjdG9yKHByb3BzOiBUUHJvcHMsIGluaXQ6IEluaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LCBuYW1lOiBzdHJpbmcpIHtcblx0XHRzdXBlcihwcm9wcyk7XG5cblx0XHRjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZSgpO1xuXG5cdFx0aWYgKGZha2VPcHRpb25zPy5kaXNwYXRjaCkge1xuXHRcdFx0dGhpcy5kaXNwYXRjaCA9IGZha2VPcHRpb25zLmRpc3BhdGNoO1xuXHRcdH1cblxuXHRcdGNvbnN0IFttb2RlbCwgLi4uY29tbWFuZHNdID0gZmFrZU9wdGlvbnM/Lm1vZGVsID8gW2Zha2VPcHRpb25zLm1vZGVsIGFzIFRNb2RlbF0gOiBpbml0KHRoaXMucHJvcHMpO1xuXG5cdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkluaXRpYWwgbW9kZWwgZm9yXCIsIG5hbWUsIG1vZGVsKTtcblxuXHRcdHRoaXMuY29tcG9uZW50TmFtZSA9IG5hbWU7XG5cdFx0dGhpcy5jdXJyZW50TW9kZWwgPSBtb2RlbDtcblx0XHR0aGlzLmluaXRDb21tYW5kcyA9IGNvbW1hbmRzO1xuXHR9XG5cblx0LyoqXG5cdCAqIElzIGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMubW91bnRlZCA9IHRydWU7XG5cblx0XHRpZiAodGhpcy5pbml0Q29tbWFuZHMpIHtcblx0XHRcdGV4ZWNDbWQodGhpcy5kaXNwYXRjaCwgLi4udGhpcy5pbml0Q29tbWFuZHMpO1xuXHRcdFx0dGhpcy5pbml0Q29tbWFuZHMgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBJcyBjYWxsZWQgYmVmb3JlIHVubG9hZGluZyB0aGUgY29tcG9uZW50LlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudFdpbGxVbm1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMubW91bnRlZCA9IGZhbHNlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGN1cnJlbnQgbW9kZWwuXG5cdCAqIEByZWFkb25seVxuXHQgKiBAdHlwZSB7UmVhZG9ubHk8VE1vZGVsPn1cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGdldCBtb2RlbCgpOiBSZWFkb25seTxUTW9kZWw+IHtcblx0XHRyZXR1cm4gdGhpcy5jdXJyZW50TW9kZWw7XG5cdH1cblxuXHQvKipcblx0ICogRGlzcGF0Y2hlcyBhIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IGRpc3BhdGNoID0gKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRpZiAodGhpcy5ydW5uaW5nKSB7XG5cdFx0XHR0aGlzLmJ1ZmZlci5wdXNoKG1zZyk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLnJ1bm5pbmcgPSB0cnVlO1xuXG5cdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXHRcdGxldCBtb2RpZmllZCA9IGZhbHNlO1xuXG5cdFx0ZG8ge1xuXHRcdFx0Y29uc3QgY3VycmVudE1lc3NhZ2UgPSBuZXh0TXNnO1xuXG5cdFx0XHRsb2dNZXNzYWdlKHRoaXMuY29tcG9uZW50TmFtZSwgY3VycmVudE1lc3NhZ2UpO1xuXG5cdFx0XHRjb25zdCBbZGVmZXIsIGdldERlZmVycmVkXSA9IGNyZWF0ZURlZmVyPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cdFx0XHRjb25zdCBjYWxsQmFzZSA9IGNyZWF0ZUNhbGxCYXNlKGN1cnJlbnRNZXNzYWdlLCB0aGlzLmN1cnJlbnRNb2RlbCwgdGhpcy5wcm9wcywgeyBkZWZlciB9KTtcblxuXHRcdFx0Y29uc3QgW21vZGVsLCAuLi5jb21tYW5kc10gPSB0aGlzLnVwZGF0ZSh0aGlzLmN1cnJlbnRNb2RlbCwgY3VycmVudE1lc3NhZ2UsIHRoaXMucHJvcHMsIHsgZGVmZXIsIGNhbGxCYXNlIH0pO1xuXG5cdFx0XHRjb25zdCBbZGVmZXJyZWRNb2RlbCwgZGVmZXJyZWRDb21tYW5kc10gPSBnZXREZWZlcnJlZCgpO1xuXG5cdFx0XHRpZiAobW9kZWxIYXNDaGFuZ2VkKHRoaXMuY3VycmVudE1vZGVsLCB7IC4uLmRlZmVycmVkTW9kZWwsIC4uLm1vZGVsIH0pKSB7XG5cdFx0XHRcdHRoaXMuY3VycmVudE1vZGVsID0geyAuLi50aGlzLmN1cnJlbnRNb2RlbCwgLi4uZGVmZXJyZWRNb2RlbCwgLi4ubW9kZWwgfTtcblx0XHRcdFx0bW9kaWZpZWQgPSB0cnVlO1xuXHRcdFx0fVxuXG5cdFx0XHRleGVjQ21kKHRoaXMuZGlzcGF0Y2gsIC4uLmNvbW1hbmRzLCAuLi5kZWZlcnJlZENvbW1hbmRzKTtcblxuXHRcdFx0bmV4dE1zZyA9IHRoaXMuYnVmZmVyLnNoaWZ0KCk7XG5cdFx0fSB3aGlsZSAobmV4dE1zZyk7XG5cblx0XHR0aGlzLnJ1bm5pbmcgPSBmYWxzZTtcblxuXHRcdGlmICh0aGlzLm1vdW50ZWQgJiYgbW9kaWZpZWQpIHtcblx0XHRcdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJVcGRhdGUgbW9kZWwgZm9yXCIsIHRoaXMuY29tcG9uZW50TmFtZSwgdGhpcy5jdXJyZW50TW9kZWwpO1xuXHRcdFx0dGhpcy5mb3JjZVVwZGF0ZSgpO1xuXHRcdH1cblx0fTtcblxuXHQvKipcblx0ICogRnVuY3Rpb24gdG8gbW9kaWZ5IHRoZSBtb2RlbCBiYXNlZCBvbiBhIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1vZGVsfSBtb2RlbCBUaGUgY3VycmVudCBtb2RlbC5cblx0ICogQHBhcmFtIHtUTWVzc2FnZX0gbXNnIFRoZSBtZXNzYWdlIHRvIHByb2Nlc3MuXG5cdCAqIEBwYXJhbSB7VFByb3BzfSBwcm9wcyBUaGUgcHJvcHMgb2YgdGhlIGNvbXBvbmVudC5cblx0ICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSB1cGRhdGUgZnVuY3Rpb24uXG5cdCAqIEByZXR1cm5zIFRoZSBuZXcgbW9kZWwgKGNhbiBhbHNvIGJlIGFuIGVtcHR5IG9iamVjdCB7fSkgYW5kIGFuIG9wdGlvbmFsIG5ldyBtZXNzYWdlIHRvIGRpc3BhdGNoLlxuXHQgKiBAYWJzdHJhY3Rcblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGFic3RyYWN0IHVwZGF0ZTogVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPjtcbn1cblxuZXhwb3J0IHsgRWxtQ29tcG9uZW50IH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLGVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFlBQUEsR0FBQUwsT0FBQTtBQUFtRCxTQUFBRCx1QkFBQU8sQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLGdCQUFBQSxDQUFBO0FBQUEsU0FBQUUsUUFBQUMsQ0FBQSxzQ0FBQUQsT0FBQSx3QkFBQUUsTUFBQSx1QkFBQUEsTUFBQSxDQUFBQyxRQUFBLGFBQUFGLENBQUEsa0JBQUFBLENBQUEsZ0JBQUFBLENBQUEsV0FBQUEsQ0FBQSx5QkFBQUMsTUFBQSxJQUFBRCxDQUFBLENBQUFHLFdBQUEsS0FBQUYsTUFBQSxJQUFBRCxDQUFBLEtBQUFDLE1BQUEsQ0FBQUcsU0FBQSxxQkFBQUosQ0FBQSxLQUFBRCxPQUFBLENBQUFDLENBQUE7QUFBQSxTQUFBSyxtQkFBQUMsQ0FBQSxXQUFBQyxrQkFBQSxDQUFBRCxDQUFBLEtBQUFFLGdCQUFBLENBQUFGLENBQUEsS0FBQUcsMkJBQUEsQ0FBQUgsQ0FBQSxLQUFBSSxrQkFBQTtBQUFBLFNBQUFBLG1CQUFBLGNBQUFDLFNBQUE7QUFBQSxTQUFBSixtQkFBQUQsQ0FBQSxRQUFBTSxLQUFBLENBQUFDLE9BQUEsQ0FBQVAsQ0FBQSxVQUFBUSxpQkFBQSxDQUFBUixDQUFBO0FBQUEsU0FBQVMsUUFBQWxCLENBQUEsRUFBQVMsQ0FBQSxRQUFBVSxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBckIsQ0FBQSxPQUFBb0IsTUFBQSxDQUFBRSxxQkFBQSxRQUFBbkIsQ0FBQSxHQUFBaUIsTUFBQSxDQUFBRSxxQkFBQSxDQUFBdEIsQ0FBQSxHQUFBUyxDQUFBLEtBQUFOLENBQUEsR0FBQUEsQ0FBQSxDQUFBb0IsTUFBQSxXQUFBZCxDQUFBLFdBQUFXLE1BQUEsQ0FBQUksd0JBQUEsQ0FBQXhCLENBQUEsRUFBQVMsQ0FBQSxFQUFBZ0IsVUFBQSxPQUFBTixDQUFBLENBQUFPLElBQUEsQ0FBQUMsS0FBQSxDQUFBUixDQUFBLEVBQUFoQixDQUFBLFlBQUFnQixDQUFBO0FBQUEsU0FBQVMsY0FBQTVCLENBQUEsYUFBQVMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFvQixTQUFBLENBQUFDLE1BQUEsRUFBQXJCLENBQUEsVUFBQVUsQ0FBQSxXQUFBVSxTQUFBLENBQUFwQixDQUFBLElBQUFvQixTQUFBLENBQUFwQixDQUFBLFFBQUFBLENBQUEsT0FBQVMsT0FBQSxDQUFBRSxNQUFBLENBQUFELENBQUEsT0FBQVksT0FBQSxXQUFBdEIsQ0FBQSxJQUFBdUIsZUFBQSxDQUFBaEMsQ0FBQSxFQUFBUyxDQUFBLEVBQUFVLENBQUEsQ0FBQVYsQ0FBQSxTQUFBVyxNQUFBLENBQUFhLHlCQUFBLEdBQUFiLE1BQUEsQ0FBQWMsZ0JBQUEsQ0FBQWxDLENBQUEsRUFBQW9CLE1BQUEsQ0FBQWEseUJBQUEsQ0FBQWQsQ0FBQSxLQUFBRCxPQUFBLENBQUFFLE1BQUEsQ0FBQUQsQ0FBQSxHQUFBWSxPQUFBLFdBQUF0QixDQUFBLElBQUFXLE1BQUEsQ0FBQWUsY0FBQSxDQUFBbkMsQ0FBQSxFQUFBUyxDQUFBLEVBQUFXLE1BQUEsQ0FBQUksd0JBQUEsQ0FBQUwsQ0FBQSxFQUFBVixDQUFBLGlCQUFBVCxDQUFBO0FBQUEsU0FBQW9DLFNBQUEzQixDQUFBLFdBQUE0QixlQUFBLENBQUE1QixDQUFBLEtBQUFFLGdCQUFBLENBQUFGLENBQUEsS0FBQUcsMkJBQUEsQ0FBQUgsQ0FBQSxLQUFBNkIsZ0JBQUE7QUFBQSxTQUFBM0IsaUJBQUFGLENBQUEsOEJBQUFMLE1BQUEsWUFBQUssQ0FBQSxDQUFBTCxNQUFBLENBQUFDLFFBQUEsYUFBQUksQ0FBQSx1QkFBQU0sS0FBQSxDQUFBd0IsSUFBQSxDQUFBOUIsQ0FBQTtBQUFBLFNBQUErQixlQUFBL0IsQ0FBQSxFQUFBVCxDQUFBLFdBQUFxQyxlQUFBLENBQUE1QixDQUFBLEtBQUFnQyxxQkFBQSxDQUFBaEMsQ0FBQSxFQUFBVCxDQUFBLEtBQUFZLDJCQUFBLENBQUFILENBQUEsRUFBQVQsQ0FBQSxLQUFBc0MsZ0JBQUE7QUFBQSxTQUFBQSxpQkFBQSxjQUFBeEIsU0FBQTtBQUFBLFNBQUFGLDRCQUFBSCxDQUFBLEVBQUFpQyxDQUFBLFFBQUFqQyxDQUFBLDJCQUFBQSxDQUFBLFNBQUFRLGlCQUFBLENBQUFSLENBQUEsRUFBQWlDLENBQUEsT0FBQXZCLENBQUEsTUFBQXdCLFFBQUEsQ0FBQUMsSUFBQSxDQUFBbkMsQ0FBQSxFQUFBb0MsS0FBQSw2QkFBQTFCLENBQUEsSUFBQVYsQ0FBQSxDQUFBSCxXQUFBLEtBQUFhLENBQUEsR0FBQVYsQ0FBQSxDQUFBSCxXQUFBLENBQUF3QyxJQUFBLGFBQUEzQixDQUFBLGNBQUFBLENBQUEsR0FBQUosS0FBQSxDQUFBd0IsSUFBQSxDQUFBOUIsQ0FBQSxvQkFBQVUsQ0FBQSwrQ0FBQTRCLElBQUEsQ0FBQTVCLENBQUEsSUFBQUYsaUJBQUEsQ0FBQVIsQ0FBQSxFQUFBaUMsQ0FBQTtBQUFBLFNBQUF6QixrQkFBQVIsQ0FBQSxFQUFBaUMsQ0FBQSxhQUFBQSxDQUFBLElBQUFBLENBQUEsR0FBQWpDLENBQUEsQ0FBQXFCLE1BQUEsTUFBQVksQ0FBQSxHQUFBakMsQ0FBQSxDQUFBcUIsTUFBQSxZQUFBOUIsQ0FBQSxNQUFBZ0QsQ0FBQSxHQUFBakMsS0FBQSxDQUFBMkIsQ0FBQSxHQUFBMUMsQ0FBQSxHQUFBMEMsQ0FBQSxFQUFBMUMsQ0FBQSxJQUFBZ0QsQ0FBQSxDQUFBaEQsQ0FBQSxJQUFBUyxDQUFBLENBQUFULENBQUEsVUFBQWdELENBQUE7QUFBQSxTQUFBUCxzQkFBQWhDLENBQUEsRUFBQXdDLENBQUEsUUFBQTlCLENBQUEsV0FBQVYsQ0FBQSxnQ0FBQUwsTUFBQSxJQUFBSyxDQUFBLENBQUFMLE1BQUEsQ0FBQUMsUUFBQSxLQUFBSSxDQUFBLDRCQUFBVSxDQUFBLFFBQUFuQixDQUFBLEVBQUFnRCxDQUFBLEVBQUFFLENBQUEsRUFBQUMsQ0FBQSxFQUFBVCxDQUFBLE9BQUFVLENBQUEsT0FBQWpELENBQUEsaUJBQUErQyxDQUFBLElBQUEvQixDQUFBLEdBQUFBLENBQUEsQ0FBQXlCLElBQUEsQ0FBQW5DLENBQUEsR0FBQTRDLElBQUEsUUFBQUosQ0FBQSxRQUFBN0IsTUFBQSxDQUFBRCxDQUFBLE1BQUFBLENBQUEsVUFBQWlDLENBQUEsdUJBQUFBLENBQUEsSUFBQXBELENBQUEsR0FBQWtELENBQUEsQ0FBQU4sSUFBQSxDQUFBekIsQ0FBQSxHQUFBbUMsSUFBQSxNQUFBWixDQUFBLENBQUFoQixJQUFBLENBQUExQixDQUFBLENBQUF1RCxLQUFBLEdBQUFiLENBQUEsQ0FBQVosTUFBQSxLQUFBbUIsQ0FBQSxHQUFBRyxDQUFBLGlCQUFBM0MsQ0FBQSxJQUFBTixDQUFBLE9BQUE2QyxDQUFBLEdBQUF2QyxDQUFBLHlCQUFBMkMsQ0FBQSxZQUFBakMsQ0FBQSxlQUFBZ0MsQ0FBQSxHQUFBaEMsQ0FBQSxjQUFBQyxNQUFBLENBQUErQixDQUFBLE1BQUFBLENBQUEsMkJBQUFoRCxDQUFBLFFBQUE2QyxDQUFBLGFBQUFOLENBQUE7QUFBQSxTQUFBTCxnQkFBQTVCLENBQUEsUUFBQU0sS0FBQSxDQUFBQyxPQUFBLENBQUFQLENBQUEsVUFBQUEsQ0FBQTtBQUFBLFNBQUErQyxnQkFBQWQsQ0FBQSxFQUFBTSxDQUFBLFVBQUFOLENBQUEsWUFBQU0sQ0FBQSxhQUFBbEMsU0FBQTtBQUFBLFNBQUEyQyxrQkFBQXpELENBQUEsRUFBQVMsQ0FBQSxhQUFBVSxDQUFBLE1BQUFBLENBQUEsR0FBQVYsQ0FBQSxDQUFBcUIsTUFBQSxFQUFBWCxDQUFBLFVBQUFoQixDQUFBLEdBQUFNLENBQUEsQ0FBQVUsQ0FBQSxHQUFBaEIsQ0FBQSxDQUFBc0IsVUFBQSxHQUFBdEIsQ0FBQSxDQUFBc0IsVUFBQSxRQUFBdEIsQ0FBQSxDQUFBdUQsWUFBQSxrQkFBQXZELENBQUEsS0FBQUEsQ0FBQSxDQUFBd0QsUUFBQSxRQUFBdkMsTUFBQSxDQUFBZSxjQUFBLENBQUFuQyxDQUFBLEVBQUE0RCxjQUFBLENBQUF6RCxDQUFBLENBQUEwRCxHQUFBLEdBQUExRCxDQUFBO0FBQUEsU0FBQTJELGFBQUE5RCxDQUFBLEVBQUFTLENBQUEsRUFBQVUsQ0FBQSxXQUFBVixDQUFBLElBQUFnRCxpQkFBQSxDQUFBekQsQ0FBQSxDQUFBTyxTQUFBLEVBQUFFLENBQUEsR0FBQVUsQ0FBQSxJQUFBc0MsaUJBQUEsQ0FBQXpELENBQUEsRUFBQW1CLENBQUEsR0FBQUMsTUFBQSxDQUFBZSxjQUFBLENBQUFuQyxDQUFBLGlCQUFBMkQsUUFBQSxTQUFBM0QsQ0FBQTtBQUFBLFNBQUErRCxXQUFBNUMsQ0FBQSxFQUFBaEIsQ0FBQSxFQUFBSCxDQUFBLFdBQUFHLENBQUEsR0FBQTZELGVBQUEsQ0FBQTdELENBQUEsR0FBQThELDBCQUFBLENBQUE5QyxDQUFBLEVBQUErQyx5QkFBQSxLQUFBQyxPQUFBLENBQUFDLFNBQUEsQ0FBQWpFLENBQUEsRUFBQUgsQ0FBQSxRQUFBZ0UsZUFBQSxDQUFBN0MsQ0FBQSxFQUFBYixXQUFBLElBQUFILENBQUEsQ0FBQXdCLEtBQUEsQ0FBQVIsQ0FBQSxFQUFBbkIsQ0FBQTtBQUFBLFNBQUFpRSwyQkFBQTlDLENBQUEsRUFBQW5CLENBQUEsUUFBQUEsQ0FBQSxpQkFBQUUsT0FBQSxDQUFBRixDQUFBLDBCQUFBQSxDQUFBLFVBQUFBLENBQUEsaUJBQUFBLENBQUEsWUFBQWMsU0FBQSxxRUFBQXVELHNCQUFBLENBQUFsRCxDQUFBO0FBQUEsU0FBQWtELHVCQUFBckUsQ0FBQSxtQkFBQUEsQ0FBQSxZQUFBc0UsY0FBQSxzRUFBQXRFLENBQUE7QUFBQSxTQUFBa0UsMEJBQUEsY0FBQS9DLENBQUEsSUFBQW9ELE9BQUEsQ0FBQWhFLFNBQUEsQ0FBQWlFLE9BQUEsQ0FBQTVCLElBQUEsQ0FBQXVCLE9BQUEsQ0FBQUMsU0FBQSxDQUFBRyxPQUFBLGlDQUFBcEQsQ0FBQSxhQUFBK0MseUJBQUEsWUFBQUEsMEJBQUEsYUFBQS9DLENBQUE7QUFBQSxTQUFBNkMsZ0JBQUE3QyxDQUFBLFdBQUE2QyxlQUFBLEdBQUE1QyxNQUFBLENBQUFxRCxjQUFBLEdBQUFyRCxNQUFBLENBQUFzRCxjQUFBLENBQUFDLElBQUEsZUFBQXhELENBQUEsV0FBQUEsQ0FBQSxDQUFBeUQsU0FBQSxJQUFBeEQsTUFBQSxDQUFBc0QsY0FBQSxDQUFBdkQsQ0FBQSxNQUFBNkMsZUFBQSxDQUFBN0MsQ0FBQTtBQUFBLFNBQUEwRCxVQUFBMUQsQ0FBQSxFQUFBbkIsQ0FBQSw2QkFBQUEsQ0FBQSxhQUFBQSxDQUFBLFlBQUFjLFNBQUEsd0RBQUFLLENBQUEsQ0FBQVosU0FBQSxHQUFBYSxNQUFBLENBQUEwRCxNQUFBLENBQUE5RSxDQUFBLElBQUFBLENBQUEsQ0FBQU8sU0FBQSxJQUFBRCxXQUFBLElBQUFpRCxLQUFBLEVBQUFwQyxDQUFBLEVBQUF3QyxRQUFBLE1BQUFELFlBQUEsV0FBQXRDLE1BQUEsQ0FBQWUsY0FBQSxDQUFBaEIsQ0FBQSxpQkFBQXdDLFFBQUEsU0FBQTNELENBQUEsSUFBQStFLGVBQUEsQ0FBQTVELENBQUEsRUFBQW5CLENBQUE7QUFBQSxTQUFBK0UsZ0JBQUE1RCxDQUFBLEVBQUFuQixDQUFBLFdBQUErRSxlQUFBLEdBQUEzRCxNQUFBLENBQUFxRCxjQUFBLEdBQUFyRCxNQUFBLENBQUFxRCxjQUFBLENBQUFFLElBQUEsZUFBQXhELENBQUEsRUFBQW5CLENBQUEsV0FBQW1CLENBQUEsQ0FBQXlELFNBQUEsR0FBQTVFLENBQUEsRUFBQW1CLENBQUEsS0FBQTRELGVBQUEsQ0FBQTVELENBQUEsRUFBQW5CLENBQUE7QUFBQSxTQUFBZ0MsZ0JBQUFoQyxDQUFBLEVBQUFTLENBQUEsRUFBQVUsQ0FBQSxZQUFBVixDQUFBLEdBQUFtRCxjQUFBLENBQUFuRCxDQUFBLE1BQUFULENBQUEsR0FBQW9CLE1BQUEsQ0FBQWUsY0FBQSxDQUFBbkMsQ0FBQSxFQUFBUyxDQUFBLElBQUE4QyxLQUFBLEVBQUFwQyxDQUFBLEVBQUFNLFVBQUEsTUFBQWlDLFlBQUEsTUFBQUMsUUFBQSxVQUFBM0QsQ0FBQSxDQUFBUyxDQUFBLElBQUFVLENBQUEsRUFBQW5CLENBQUE7QUFBQSxTQUFBNEQsZUFBQXpDLENBQUEsUUFBQStCLENBQUEsR0FBQThCLFlBQUEsQ0FBQTdELENBQUEsZ0NBQUFqQixPQUFBLENBQUFnRCxDQUFBLElBQUFBLENBQUEsR0FBQUEsQ0FBQTtBQUFBLFNBQUE4QixhQUFBN0QsQ0FBQSxFQUFBVixDQUFBLG9CQUFBUCxPQUFBLENBQUFpQixDQUFBLE1BQUFBLENBQUEsU0FBQUEsQ0FBQSxNQUFBbkIsQ0FBQSxHQUFBbUIsQ0FBQSxDQUFBZixNQUFBLENBQUE2RSxXQUFBLGtCQUFBakYsQ0FBQSxRQUFBa0QsQ0FBQSxHQUFBbEQsQ0FBQSxDQUFBNEMsSUFBQSxDQUFBekIsQ0FBQSxFQUFBVixDQUFBLGdDQUFBUCxPQUFBLENBQUFnRCxDQUFBLFVBQUFBLENBQUEsWUFBQXBDLFNBQUEseUVBQUFMLENBQUEsR0FBQXlFLE1BQUEsR0FBQUMsTUFBQSxFQUFBaEUsQ0FBQTtBQUVuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVRBLElBVWVpRSxZQUFZLEdBQUFDLE9BQUEsQ0FBQUQsWUFBQSwwQkFBQUUsZ0JBQUE7RUFRMUI7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQyxTQUFBRixhQUFtQkcsS0FBYSxFQUFFQyxJQUE0QyxFQUFFMUMsSUFBWSxFQUFFO0lBQUEsSUFBQTJDLGlCQUFBO0lBQUEsSUFBQUMsS0FBQTtJQUFBbEMsZUFBQSxPQUFBNEIsWUFBQTtJQUM3Rk0sS0FBQSxHQUFBM0IsVUFBQSxPQUFBcUIsWUFBQSxHQUFNRyxLQUFLO0lBQUV2RCxlQUFBLENBQUEwRCxLQUFBO0lBQUExRCxlQUFBLENBQUEwRCxLQUFBO0lBQUExRCxlQUFBLENBQUEwRCxLQUFBLFlBYndCLEVBQUU7SUFBQTFELGVBQUEsQ0FBQTBELEtBQUEsYUFDdEIsS0FBSztJQUFBMUQsZUFBQSxDQUFBMEQsS0FBQSxhQUNMLEtBQUs7SUFBQTFELGVBQUEsQ0FBQTBELEtBQUE7SUE2RHZCO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7SUFKQzFELGVBQUEsQ0FBQTBELEtBQUEsY0FLMkIsVUFBQ0MsR0FBYSxFQUFXO01BQ25ELElBQUlELEtBQUEsQ0FBS0UsT0FBTyxFQUFFO1FBQ2pCRixLQUFBLENBQUtHLE1BQU0sQ0FBQ25FLElBQUksQ0FBQ2lFLEdBQUcsQ0FBQztRQUVyQjtNQUNEO01BRUFELEtBQUEsQ0FBS0UsT0FBTyxHQUFHLElBQUk7TUFFbkIsSUFBSUUsT0FBNkIsR0FBR0gsR0FBRztNQUN2QyxJQUFJSSxRQUFRLEdBQUcsS0FBSztNQUVwQixHQUFHO1FBQ0YsSUFBTUMsY0FBYyxHQUFHRixPQUFPO1FBRTlCLElBQUFHLGtCQUFVLEVBQUNQLEtBQUEsQ0FBS1EsYUFBYSxFQUFFRixjQUFjLENBQUM7UUFFOUMsSUFBQUcsWUFBQSxHQUE2QixJQUFBQyx5QkFBVyxFQUFtQixDQUFDO1VBQUFDLGFBQUEsR0FBQTdELGNBQUEsQ0FBQTJELFlBQUE7VUFBckRHLEtBQUssR0FBQUQsYUFBQTtVQUFFRSxXQUFXLEdBQUFGLGFBQUE7UUFDekIsSUFBTUcsUUFBUSxHQUFHLElBQUFDLDhCQUFjLEVBQUNULGNBQWMsRUFBRU4sS0FBQSxDQUFLZ0IsWUFBWSxFQUFFaEIsS0FBQSxDQUFLSCxLQUFLLEVBQUU7VUFBRWUsS0FBSyxFQUFMQTtRQUFNLENBQUMsQ0FBQztRQUV6RixJQUFBSyxZQUFBLEdBQTZCakIsS0FBQSxDQUFLa0IsTUFBTSxDQUFDbEIsS0FBQSxDQUFLZ0IsWUFBWSxFQUFFVixjQUFjLEVBQUVOLEtBQUEsQ0FBS0gsS0FBSyxFQUFFO1lBQUVlLEtBQUssRUFBTEEsS0FBSztZQUFFRSxRQUFRLEVBQVJBO1VBQVMsQ0FBQyxDQUFDO1VBQUFLLGFBQUEsR0FBQXpFLFFBQUEsQ0FBQXVFLFlBQUE7VUFBckdHLEtBQUssR0FBQUQsYUFBQTtVQUFLRSxRQUFRLEdBQUFGLGFBQUEsQ0FBQWhFLEtBQUE7UUFFekIsSUFBQW1FLFlBQUEsR0FBMENULFdBQVcsQ0FBQyxDQUFDO1VBQUFVLGFBQUEsR0FBQXpFLGNBQUEsQ0FBQXdFLFlBQUE7VUFBaERFLGFBQWEsR0FBQUQsYUFBQTtVQUFFRSxnQkFBZ0IsR0FBQUYsYUFBQTtRQUV0QyxJQUFJLElBQUFHLHVCQUFlLEVBQUMxQixLQUFBLENBQUtnQixZQUFZLEVBQUE5RSxhQUFBLENBQUFBLGFBQUEsS0FBT3NGLGFBQWEsR0FBS0osS0FBSyxDQUFFLENBQUMsRUFBRTtVQUN2RXBCLEtBQUEsQ0FBS2dCLFlBQVksR0FBQTlFLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLEtBQVE4RCxLQUFBLENBQUtnQixZQUFZLEdBQUtRLGFBQWEsR0FBS0osS0FBSyxDQUFFO1VBQ3hFZixRQUFRLEdBQUcsSUFBSTtRQUNoQjtRQUVBc0IsZUFBTyxDQUFBMUYsS0FBQSxVQUFDK0QsS0FBQSxDQUFLNEIsUUFBUSxFQUFBQyxNQUFBLENBQUEvRyxrQkFBQSxDQUFLdUcsUUFBUSxHQUFBdkcsa0JBQUEsQ0FBSzJHLGdCQUFnQixHQUFDO1FBRXhEckIsT0FBTyxHQUFHSixLQUFBLENBQUtHLE1BQU0sQ0FBQzJCLEtBQUssQ0FBQyxDQUFDO01BQzlCLENBQUMsUUFBUTFCLE9BQU87TUFFaEJKLEtBQUEsQ0FBS0UsT0FBTyxHQUFHLEtBQUs7TUFFcEIsSUFBSUYsS0FBQSxDQUFLK0IsT0FBTyxJQUFJMUIsUUFBUSxFQUFFO1FBQUEsSUFBQTJCLGdCQUFBO1FBQzdCLENBQUFBLGdCQUFBLEdBQUFDLGNBQVEsQ0FBQ0MsTUFBTSxjQUFBRixnQkFBQSxlQUFmQSxnQkFBQSxDQUFpQkcsS0FBSyxDQUFDLGtCQUFrQixFQUFFbkMsS0FBQSxDQUFLUSxhQUFhLEVBQUVSLEtBQUEsQ0FBS2dCLFlBQVksQ0FBQztRQUNqRmhCLEtBQUEsQ0FBS29DLFdBQVcsQ0FBQyxDQUFDO01BQ25CO0lBQ0QsQ0FBQztJQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBVEM5RixlQUFBLENBQUEwRCxLQUFBO0lBL0ZDLElBQU1xQyxXQUFXLEdBQUcsSUFBQUMsK0JBQWtCLEVBQUMsQ0FBQztJQUV4QyxJQUFJRCxXQUFXLGFBQVhBLFdBQVcsZUFBWEEsV0FBVyxDQUFFVCxRQUFRLEVBQUU7TUFDMUI1QixLQUFBLENBQUs0QixRQUFRLEdBQUdTLFdBQVcsQ0FBQ1QsUUFBUTtJQUNyQztJQUVBLElBQUFXLElBQUEsR0FBNkJGLFdBQVcsYUFBWEEsV0FBVyxlQUFYQSxXQUFXLENBQUVqQixLQUFLLEdBQUcsQ0FBQ2lCLFdBQVcsQ0FBQ2pCLEtBQUssQ0FBVyxHQUFHdEIsSUFBSSxDQUFDRSxLQUFBLENBQUtILEtBQUssQ0FBQztNQUFBMkMsS0FBQSxHQUFBOUYsUUFBQSxDQUFBNkYsSUFBQTtNQUEzRm5CLE1BQUssR0FBQW9CLEtBQUE7TUFBS25CLFNBQVEsR0FBQW1CLEtBQUEsQ0FBQXJGLEtBQUE7SUFFekIsQ0FBQTRDLGlCQUFBLEdBQUFrQyxjQUFRLENBQUNDLE1BQU0sY0FBQW5DLGlCQUFBLGVBQWZBLGlCQUFBLENBQWlCb0MsS0FBSyxDQUFDLG1CQUFtQixFQUFFL0UsSUFBSSxFQUFFZ0UsTUFBSyxDQUFDO0lBRXhEcEIsS0FBQSxDQUFLUSxhQUFhLEdBQUdwRCxJQUFJO0lBQ3pCNEMsS0FBQSxDQUFLZ0IsWUFBWSxHQUFHSSxNQUFLO0lBQ3pCcEIsS0FBQSxDQUFLeUMsWUFBWSxHQUFHcEIsU0FBUTtJQUFDLE9BQUFyQixLQUFBO0VBQzlCOztFQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7RUFKQ2IsU0FBQSxDQUFBTyxZQUFBLEVBQUFFLGdCQUFBO0VBQUEsT0FBQXhCLFlBQUEsQ0FBQXNCLFlBQUE7SUFBQXZCLEdBQUE7SUFBQU4sS0FBQSxFQUtBLFNBQU82RSxpQkFBaUJBLENBQUEsRUFBUztNQUNoQyxJQUFJLENBQUNYLE9BQU8sR0FBRyxJQUFJO01BRW5CLElBQUksSUFBSSxDQUFDVSxZQUFZLEVBQUU7UUFDdEJkLGVBQU8sQ0FBQTFGLEtBQUEsVUFBQyxJQUFJLENBQUMyRixRQUFRLEVBQUFDLE1BQUEsQ0FBQS9HLGtCQUFBLENBQUssSUFBSSxDQUFDMkgsWUFBWSxHQUFDO1FBQzVDLElBQUksQ0FBQ0EsWUFBWSxHQUFHLElBQUk7TUFDekI7SUFDRDs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0VBSkM7SUFBQXRFLEdBQUE7SUFBQU4sS0FBQSxFQUtBLFNBQU84RSxvQkFBb0JBLENBQUEsRUFBUztNQUNuQyxJQUFJLENBQUNaLE9BQU8sR0FBRyxLQUFLO0lBQ3JCOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUxDO0lBQUE1RCxHQUFBO0lBQUF5RSxHQUFBLEVBTUEsU0FBQUEsSUFBQSxFQUFxQztNQUNwQyxPQUFPLElBQUksQ0FBQzVCLFlBQVk7SUFDekI7RUFBQztBQUFBLEVBaEU0RTZCLGlCQUFLLENBQUNDLFNBQVMiLCJpZ25vcmVMaXN0IjpbXX0=
185
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9Db21tb24iLCJfSW5pdCIsIl9jcmVhdGVDYWxsQmFzZSIsIl9jcmVhdGVEZWZlcjMiLCJfZmFrZU9wdGlvbnMiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfbm9uSXRlcmFibGVSZXN0IiwiZnJvbSIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiYSIsInRvU3RyaW5nIiwiY2FsbCIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJuIiwibCIsImkiLCJ1IiwiZiIsIm5leHQiLCJkb25lIiwidmFsdWUiLCJfY2xhc3NDYWxsQ2hlY2siLCJfZGVmaW5lUHJvcGVydGllcyIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3RvUHJvcGVydHlLZXkiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJfaW5oZXJpdHMiLCJjcmVhdGUiLCJfc2V0UHJvdG90eXBlT2YiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIkVsbUNvbXBvbmVudCIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwicHJvcHMiLCJpbml0IiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfdGhpcyIsIm1zZyIsInJ1bm5pbmciLCJidWZmZXIiLCJuZXh0TXNnIiwibW9kaWZpZWQiLCJjdXJyZW50TWVzc2FnZSIsImxvZ01lc3NhZ2UiLCJjb21wb25lbnROYW1lIiwiX2NyZWF0ZURlZmVyIiwiY3JlYXRlRGVmZXIiLCJfY3JlYXRlRGVmZXIyIiwiZGVmZXIiLCJnZXREZWZlcnJlZCIsImNhbGxCYXNlIiwiY3JlYXRlQ2FsbEJhc2UiLCJjdXJyZW50TW9kZWwiLCJfdGhpcyR1cGRhdGUiLCJ1cGRhdGUiLCJfdGhpcyR1cGRhdGUyIiwibW9kZWwiLCJjb21tYW5kcyIsIl9nZXREZWZlcnJlZCIsIl9nZXREZWZlcnJlZDIiLCJkZWZlcnJlZE1vZGVsIiwiZGVmZXJyZWRDb21tYW5kcyIsIm1vZGVsSGFzQ2hhbmdlZCIsImV4ZWNDbWQiLCJkaXNwYXRjaCIsImNvbmNhdCIsInNoaWZ0IiwibW91bnRlZCIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJTZXJ2aWNlcyIsImxvZ2dlciIsImRlYnVnIiwiZm9yY2VVcGRhdGUiLCJmYWtlT3B0aW9ucyIsImdldEZha2VPcHRpb25zT25jZSIsIl9yZWYiLCJfcmVmMiIsImluaXRDb21tYW5kcyIsImNvbXBvbmVudERpZE1vdW50IiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJnZXQiLCJSZWFjdCIsIkNvbXBvbmVudCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9FbG1Db21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgZXhlY0NtZCwgbG9nTWVzc2FnZSwgbW9kZWxIYXNDaGFuZ2VkIH0gZnJvbSBcIi4vQ29tbW9uXCI7XG5pbXBvcnQgeyBTZXJ2aWNlcyB9IGZyb20gXCIuL0luaXRcIjtcbmltcG9ydCB0eXBlIHsgQ21kLCBJbml0RnVuY3Rpb24sIE1lc3NhZ2UsIE51bGxhYmxlLCBVcGRhdGVGdW5jdGlvbiB9IGZyb20gXCIuL1R5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVDYWxsQmFzZSB9IGZyb20gXCIuL2NyZWF0ZUNhbGxCYXNlXCI7XG5pbXBvcnQgeyBjcmVhdGVEZWZlciB9IGZyb20gXCIuL2NyZWF0ZURlZmVyXCI7XG5pbXBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UgfSBmcm9tIFwiLi9mYWtlT3B0aW9uc1wiO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGZvciBhIHJlYWN0IGNsYXNzIGNvbXBvbmVudCB1c2luZyB0aGUgRWxtaXNoIHBhdHRlcm4uXG4gKiBAZXhwb3J0XG4gKiBAYWJzdHJhY3RcbiAqIEBjbGFzcyBFbG1Db21wb25lbnRcbiAqIEBleHRlbmRzIHtDb21wb25lbnQ8VFByb3BzLCBUTW9kZWw+fVxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzLlxuICogQHRlbXBsYXRlIFRQcm9wcyBUaGUgdHlwZSBvZiB0aGUgcHJvcHMuXG4gKi9cbmFic3RyYWN0IGNsYXNzIEVsbUNvbXBvbmVudDxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVFByb3BzPiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxUUHJvcHM+IHtcblx0cHJpdmF0ZSBpbml0Q29tbWFuZHM6IE51bGxhYmxlPChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkKVtdPiB8IHVuZGVmaW5lZDtcblx0cHJpdmF0ZSByZWFkb25seSBjb21wb25lbnROYW1lOiBzdHJpbmc7XG5cdHByaXZhdGUgcmVhZG9ubHkgYnVmZmVyOiBUTWVzc2FnZVtdID0gW107XG5cdHByaXZhdGUgcnVubmluZyA9IGZhbHNlO1xuXHRwcml2YXRlIG1vdW50ZWQgPSBmYWxzZTtcblx0cHJpdmF0ZSBjdXJyZW50TW9kZWw6IFRNb2RlbDtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBFbG1Db21wb25lbnQuXG5cdCAqIEBwYXJhbSB7VFByb3BzfSBwcm9wcyBUaGUgcHJvcHMgZm9yIHRoZSBjb21wb25lbnQuXG5cdCAqIEBwYXJhbSB7KCkgPT4gVE1vZGVsfSBpbml0IFRoZSBpbml0aWFsaXplciBmdW5jdGlvbi5cblx0ICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbnN0cnVjdG9yKHByb3BzOiBUUHJvcHMsIGluaXQ6IEluaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LCBuYW1lOiBzdHJpbmcpIHtcblx0XHRzdXBlcihwcm9wcyk7XG5cblx0XHRjb25zdCBmYWtlT3B0aW9ucyA9IGdldEZha2VPcHRpb25zT25jZTxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXG5cdFx0aWYgKGZha2VPcHRpb25zPy5kaXNwYXRjaCkge1xuXHRcdFx0dGhpcy5kaXNwYXRjaCA9IGZha2VPcHRpb25zLmRpc3BhdGNoO1xuXHRcdH1cblxuXHRcdGNvbnN0IFttb2RlbCwgLi4uY29tbWFuZHNdID0gZmFrZU9wdGlvbnM/Lm1vZGVsID8gW2Zha2VPcHRpb25zLm1vZGVsIGFzIFRNb2RlbF0gOiBpbml0KHRoaXMucHJvcHMpO1xuXG5cdFx0U2VydmljZXMubG9nZ2VyPy5kZWJ1ZyhcIkluaXRpYWwgbW9kZWwgZm9yXCIsIG5hbWUsIG1vZGVsKTtcblxuXHRcdHRoaXMuY29tcG9uZW50TmFtZSA9IG5hbWU7XG5cdFx0dGhpcy5jdXJyZW50TW9kZWwgPSBtb2RlbDtcblx0XHR0aGlzLmluaXRDb21tYW5kcyA9IGNvbW1hbmRzO1xuXHR9XG5cblx0LyoqXG5cdCAqIElzIGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMubW91bnRlZCA9IHRydWU7XG5cblx0XHRpZiAodGhpcy5pbml0Q29tbWFuZHMpIHtcblx0XHRcdGV4ZWNDbWQodGhpcy5kaXNwYXRjaCwgLi4udGhpcy5pbml0Q29tbWFuZHMpO1xuXHRcdFx0dGhpcy5pbml0Q29tbWFuZHMgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBJcyBjYWxsZWQgYmVmb3JlIHVubG9hZGluZyB0aGUgY29tcG9uZW50LlxuXHQgKiBXaGVuIGltcGxlbWVudGluZyB0aGlzIG1ldGhvZCwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gaGFzIHRvIGJlIGNhbGxlZC5cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0cHVibGljIGNvbXBvbmVudFdpbGxVbm1vdW50KCk6IHZvaWQge1xuXHRcdHRoaXMubW91bnRlZCA9IGZhbHNlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGN1cnJlbnQgbW9kZWwuXG5cdCAqIEByZWFkb25seVxuXHQgKiBAdHlwZSB7UmVhZG9ubHk8VE1vZGVsPn1cblx0ICogQG1lbWJlcm9mIEVsbUNvbXBvbmVudFxuXHQgKi9cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLXVudXNlZC1jbGFzcy1jb21wb25lbnQtbWV0aG9kcyAtLSBXZSBuZWVkIGl0IGludGVybmFsbHkuXG5cdHB1YmxpYyBnZXQgbW9kZWwoKTogUmVhZG9ubHk8VE1vZGVsPiB7XG5cdFx0cmV0dXJuIHRoaXMuY3VycmVudE1vZGVsO1xuXHR9XG5cblx0LyoqXG5cdCAqIERpc3BhdGNoZXMgYSBtZXNzYWdlLlxuXHQgKiBAcGFyYW0ge1RNZXNzYWdlfSBtc2cgVGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2guXG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyByZWFkb25seSBkaXNwYXRjaCA9IChtc2c6IFRNZXNzYWdlKTogdm9pZCA9PiB7XG5cdFx0aWYgKHRoaXMucnVubmluZykge1xuXHRcdFx0dGhpcy5idWZmZXIucHVzaChtc2cpO1xuXG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5ydW5uaW5nID0gdHJ1ZTtcblxuXHRcdGxldCBuZXh0TXNnOiBUTWVzc2FnZSB8IHVuZGVmaW5lZCA9IG1zZztcblx0XHRsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuXHRcdGRvIHtcblx0XHRcdGNvbnN0IGN1cnJlbnRNZXNzYWdlID0gbmV4dE1zZztcblxuXHRcdFx0bG9nTWVzc2FnZSh0aGlzLmNvbXBvbmVudE5hbWUsIGN1cnJlbnRNZXNzYWdlKTtcblxuXHRcdFx0Y29uc3QgW2RlZmVyLCBnZXREZWZlcnJlZF0gPSBjcmVhdGVEZWZlcjxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXHRcdFx0Y29uc3QgY2FsbEJhc2UgPSBjcmVhdGVDYWxsQmFzZShjdXJyZW50TWVzc2FnZSwgdGhpcy5jdXJyZW50TW9kZWwsIHRoaXMucHJvcHMsIHsgZGVmZXIgfSk7XG5cblx0XHRcdGNvbnN0IFttb2RlbCwgLi4uY29tbWFuZHNdID0gdGhpcy51cGRhdGUodGhpcy5jdXJyZW50TW9kZWwsIGN1cnJlbnRNZXNzYWdlLCB0aGlzLnByb3BzLCB7IGRlZmVyLCBjYWxsQmFzZSB9KTtcblxuXHRcdFx0Y29uc3QgW2RlZmVycmVkTW9kZWwsIGRlZmVycmVkQ29tbWFuZHNdID0gZ2V0RGVmZXJyZWQoKTtcblxuXHRcdFx0aWYgKG1vZGVsSGFzQ2hhbmdlZCh0aGlzLmN1cnJlbnRNb2RlbCwgeyAuLi5kZWZlcnJlZE1vZGVsLCAuLi5tb2RlbCB9KSkge1xuXHRcdFx0XHR0aGlzLmN1cnJlbnRNb2RlbCA9IHsgLi4udGhpcy5jdXJyZW50TW9kZWwsIC4uLmRlZmVycmVkTW9kZWwsIC4uLm1vZGVsIH07XG5cdFx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHRcdH1cblxuXHRcdFx0ZXhlY0NtZCh0aGlzLmRpc3BhdGNoLCAuLi5jb21tYW5kcywgLi4uZGVmZXJyZWRDb21tYW5kcyk7XG5cblx0XHRcdG5leHRNc2cgPSB0aGlzLmJ1ZmZlci5zaGlmdCgpO1xuXHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0dGhpcy5ydW5uaW5nID0gZmFsc2U7XG5cblx0XHRpZiAodGhpcy5tb3VudGVkICYmIG1vZGlmaWVkKSB7XG5cdFx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiVXBkYXRlIG1vZGVsIGZvclwiLCB0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuY3VycmVudE1vZGVsKTtcblx0XHRcdHRoaXMuZm9yY2VVcGRhdGUoKTtcblx0XHR9XG5cdH07XG5cblx0LyoqXG5cdCAqIEZ1bmN0aW9uIHRvIG1vZGlmeSB0aGUgbW9kZWwgYmFzZWQgb24gYSBtZXNzYWdlLlxuXHQgKiBAcGFyYW0ge1RNb2RlbH0gbW9kZWwgVGhlIGN1cnJlbnQgbW9kZWwuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgbWVzc2FnZSB0byBwcm9jZXNzLlxuXHQgKiBAcGFyYW0ge1RQcm9wc30gcHJvcHMgVGhlIHByb3BzIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgdXBkYXRlIGZ1bmN0aW9uLlxuXHQgKiBAcmV0dXJucyBUaGUgbmV3IG1vZGVsIChjYW4gYWxzbyBiZSBhbiBlbXB0eSBvYmplY3Qge30pIGFuZCBhbiBvcHRpb25hbCBuZXcgbWVzc2FnZSB0byBkaXNwYXRjaC5cblx0ICogQGFic3RyYWN0XG5cdCAqIEBtZW1iZXJvZiBFbG1Db21wb25lbnRcblx0ICovXG5cdHB1YmxpYyBhYnN0cmFjdCB1cGRhdGU6IFVwZGF0ZUZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbmV4cG9ydCB7IEVsbUNvbXBvbmVudCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxlQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxhQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxZQUFBLEdBQUFMLE9BQUE7QUFBbUQsU0FBQUQsdUJBQUFPLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxnQkFBQUEsQ0FBQTtBQUFBLFNBQUFFLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsQ0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLENBQUEsS0FBQUQsT0FBQSxDQUFBQyxDQUFBO0FBQUEsU0FBQUssbUJBQUFDLENBQUEsV0FBQUMsa0JBQUEsQ0FBQUQsQ0FBQSxLQUFBRSxnQkFBQSxDQUFBRixDQUFBLEtBQUFHLDJCQUFBLENBQUFILENBQUEs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
package/dist/Init.d.ts CHANGED
@@ -22,6 +22,7 @@ interface ElmOptions {
22
22
  * @type {DispatchMiddlewareFunc}
23
23
  */
24
24
  dispatchMiddleware?: DispatchMiddlewareFunc;
25
+ enableDevTools?: boolean;
25
26
  }
26
27
  declare const Services: ElmOptions;
27
28
  /**
@@ -31,4 +32,4 @@ declare const Services: ElmOptions;
31
32
  */
32
33
  declare function init(options: ElmOptions): void;
33
34
  export type { DispatchMiddlewareFunc, ElmOptions, ErrorMiddlewareFunc, Logger };
34
- export { Services, init };
35
+ export { init, Services };
package/dist/Init.js CHANGED
@@ -8,7 +8,8 @@ exports.init = init;
8
8
  var Services = exports.Services = {
9
9
  logger: undefined,
10
10
  errorMiddleware: undefined,
11
- dispatchMiddleware: undefined
11
+ dispatchMiddleware: undefined,
12
+ enableDevTools: false
12
13
  };
13
14
 
14
15
  /**
@@ -20,5 +21,6 @@ function init(options) {
20
21
  Services.logger = options.logger;
21
22
  Services.errorMiddleware = options.errorMiddleware;
22
23
  Services.dispatchMiddleware = options.dispatchMiddleware;
24
+ Services.enableDevTools = options.enableDevTools;
23
25
  }
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZXJ2aWNlcyIsImV4cG9ydHMiLCJsb2dnZXIiLCJ1bmRlZmluZWQiLCJlcnJvck1pZGRsZXdhcmUiLCJkaXNwYXRjaE1pZGRsZXdhcmUiLCJpbml0Iiwib3B0aW9ucyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Jbml0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWVzc2FnZSB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmludGVyZmFjZSBMb2dnZXIge1xuXHRkZWJ1ZzogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdm9pZDtcblx0aW5mbzogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdm9pZDtcblx0ZXJyb3I6ICguLi5hcmdzOiB1bmtub3duW10pID0+IHZvaWQ7XG59XG5cbnR5cGUgRXJyb3JNaWRkbGV3YXJlRnVuYyA9IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG50eXBlIERpc3BhdGNoTWlkZGxld2FyZUZ1bmMgPSAobXNnOiBNZXNzYWdlKSA9PiB2b2lkO1xuXG5pbnRlcmZhY2UgRWxtT3B0aW9ucyB7XG5cdC8qKlxuXHQgKiBUaGUgbG9nZ2VyIHRvIHVzZSBmb3IgbG9nZ2luZyBjYWxsZWQgbWVzc2FnZXMgYW5kIHVwZGF0ZWQgbW9kZWxzLlxuXHQgKiBAdHlwZSB7TG9nZ2VyfVxuXHQgKi9cblx0bG9nZ2VyPzogTG9nZ2VyO1xuXG5cdC8qKlxuXHQgKiBNaWRkbGV3YXJlIHRvIGNhbGwgd2hlbiBlcnJvciBtZXNzYWdlcyBhcmUgaGFuZGxlZCBieSB0aGUgYGhhbmRsZUVycm9yYCBmdW5jdGlvbi5cblx0ICogQHR5cGUge0Vycm9yTWlkZGxld2FyZUZ1bmN9XG5cdCAqL1xuXHRlcnJvck1pZGRsZXdhcmU/OiBFcnJvck1pZGRsZXdhcmVGdW5jO1xuXG5cdC8qKlxuXHQgKiBNaWRkbGV3YXJlIHRvIGNhbGwgZm9yIGV2ZXJ5IHByb2Nlc3NlZCBtZXNzYWdlLlxuXHQgKiBAdHlwZSB7RGlzcGF0Y2hNaWRkbGV3YXJlRnVuY31cblx0ICovXG5cdGRpc3BhdGNoTWlkZGxld2FyZT86IERpc3BhdGNoTWlkZGxld2FyZUZ1bmM7XG59XG5cbmNvbnN0IFNlcnZpY2VzOiBFbG1PcHRpb25zID0ge1xuXHRsb2dnZXI6IHVuZGVmaW5lZCxcblx0ZXJyb3JNaWRkbGV3YXJlOiB1bmRlZmluZWQsXG5cdGRpc3BhdGNoTWlkZGxld2FyZTogdW5kZWZpbmVkLFxufTtcblxuLyoqXG4gKiBUaGlzIGluaXRpYWxpemVzIHRoZSBFbG1pc2ggbW9kdWxlLlxuICogWW91IG9ubHkgbmVlZCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gaWYgeW91IHdhbnQgdG8gc2V0IHNvbWUgb2YgdGhlIG9wdGlvbnMuXG4gKiBAcGFyYW0ge0VsbU9wdGlvbnN9IG9wdGlvbnNcbiAqL1xuZnVuY3Rpb24gaW5pdChvcHRpb25zOiBFbG1PcHRpb25zKTogdm9pZCB7XG5cdFNlcnZpY2VzLmxvZ2dlciA9IG9wdGlvbnMubG9nZ2VyO1xuXHRTZXJ2aWNlcy5lcnJvck1pZGRsZXdhcmUgPSBvcHRpb25zLmVycm9yTWlkZGxld2FyZTtcblx0U2VydmljZXMuZGlzcGF0Y2hNaWRkbGV3YXJlID0gb3B0aW9ucy5kaXNwYXRjaE1pZGRsZXdhcmU7XG59XG5cbmV4cG9ydCB0eXBlIHsgRGlzcGF0Y2hNaWRkbGV3YXJlRnVuYywgRWxtT3B0aW9ucywgRXJyb3JNaWRkbGV3YXJlRnVuYywgTG9nZ2VyIH07XG5cbmV4cG9ydCB7IFNlcnZpY2VzLCBpbml0IH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUErQkEsSUFBTUEsUUFBb0IsR0FBQUMsT0FBQSxDQUFBRCxRQUFBLEdBQUc7RUFDNUJFLE1BQU0sRUFBRUMsU0FBUztFQUNqQkMsZUFBZSxFQUFFRCxTQUFTO0VBQzFCRSxrQkFBa0IsRUFBRUY7QUFDckIsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0csSUFBSUEsQ0FBQ0MsT0FBbUIsRUFBUTtFQUN4Q1AsUUFBUSxDQUFDRSxNQUFNLEdBQUdLLE9BQU8sQ0FBQ0wsTUFBTTtFQUNoQ0YsUUFBUSxDQUFDSSxlQUFlLEdBQUdHLE9BQU8sQ0FBQ0gsZUFBZTtFQUNsREosUUFBUSxDQUFDSyxrQkFBa0IsR0FBR0UsT0FBTyxDQUFDRixrQkFBa0I7QUFDekQiLCJpZ25vcmVMaXN0IjpbXX0=
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZXJ2aWNlcyIsImV4cG9ydHMiLCJsb2dnZXIiLCJ1bmRlZmluZWQiLCJlcnJvck1pZGRsZXdhcmUiLCJkaXNwYXRjaE1pZGRsZXdhcmUiLCJlbmFibGVEZXZUb29scyIsImluaXQiLCJvcHRpb25zIl0sInNvdXJjZXMiOlsiLi4vc3JjL0luaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNZXNzYWdlIH0gZnJvbSBcIi4vVHlwZXNcIjtcblxuaW50ZXJmYWNlIExvZ2dlciB7XG5cdGRlYnVnOiAoLi4uYXJnczogdW5rbm93bltdKSA9PiB2b2lkO1xuXHRpbmZvOiAoLi4uYXJnczogdW5rbm93bltdKSA9PiB2b2lkO1xuXHRlcnJvcjogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdm9pZDtcbn1cblxudHlwZSBFcnJvck1pZGRsZXdhcmVGdW5jID0gKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcbnR5cGUgRGlzcGF0Y2hNaWRkbGV3YXJlRnVuYyA9IChtc2c6IE1lc3NhZ2UpID0+IHZvaWQ7XG5cbmludGVyZmFjZSBFbG1PcHRpb25zIHtcblx0LyoqXG5cdCAqIFRoZSBsb2dnZXIgdG8gdXNlIGZvciBsb2dnaW5nIGNhbGxlZCBtZXNzYWdlcyBhbmQgdXBkYXRlZCBtb2RlbHMuXG5cdCAqIEB0eXBlIHtMb2dnZXJ9XG5cdCAqL1xuXHRsb2dnZXI/OiBMb2dnZXI7XG5cblx0LyoqXG5cdCAqIE1pZGRsZXdhcmUgdG8gY2FsbCB3aGVuIGVycm9yIG1lc3NhZ2VzIGFyZSBoYW5kbGVkIGJ5IHRoZSBgaGFuZGxlRXJyb3JgIGZ1bmN0aW9uLlxuXHQgKiBAdHlwZSB7RXJyb3JNaWRkbGV3YXJlRnVuY31cblx0ICovXG5cdGVycm9yTWlkZGxld2FyZT86IEVycm9yTWlkZGxld2FyZUZ1bmM7XG5cblx0LyoqXG5cdCAqIE1pZGRsZXdhcmUgdG8gY2FsbCBmb3IgZXZlcnkgcHJvY2Vzc2VkIG1lc3NhZ2UuXG5cdCAqIEB0eXBlIHtEaXNwYXRjaE1pZGRsZXdhcmVGdW5jfVxuXHQgKi9cblx0ZGlzcGF0Y2hNaWRkbGV3YXJlPzogRGlzcGF0Y2hNaWRkbGV3YXJlRnVuYztcblxuXHRlbmFibGVEZXZUb29scz86IGJvb2xlYW47XG59XG5cbmNvbnN0IFNlcnZpY2VzOiBFbG1PcHRpb25zID0ge1xuXHRsb2dnZXI6IHVuZGVmaW5lZCxcblx0ZXJyb3JNaWRkbGV3YXJlOiB1bmRlZmluZWQsXG5cdGRpc3BhdGNoTWlkZGxld2FyZTogdW5kZWZpbmVkLFxuXHRlbmFibGVEZXZUb29sczogZmFsc2UsXG59O1xuXG4vKipcbiAqIFRoaXMgaW5pdGlhbGl6ZXMgdGhlIEVsbWlzaCBtb2R1bGUuXG4gKiBZb3Ugb25seSBuZWVkIHRvIGNhbGwgdGhpcyBmdW5jdGlvbiBpZiB5b3Ugd2FudCB0byBzZXQgc29tZSBvZiB0aGUgb3B0aW9ucy5cbiAqIEBwYXJhbSB7RWxtT3B0aW9uc30gb3B0aW9uc1xuICovXG5mdW5jdGlvbiBpbml0KG9wdGlvbnM6IEVsbU9wdGlvbnMpOiB2b2lkIHtcblx0U2VydmljZXMubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXI7XG5cdFNlcnZpY2VzLmVycm9yTWlkZGxld2FyZSA9IG9wdGlvbnMuZXJyb3JNaWRkbGV3YXJlO1xuXHRTZXJ2aWNlcy5kaXNwYXRjaE1pZGRsZXdhcmUgPSBvcHRpb25zLmRpc3BhdGNoTWlkZGxld2FyZTtcblx0U2VydmljZXMuZW5hYmxlRGV2VG9vbHMgPSBvcHRpb25zLmVuYWJsZURldlRvb2xzO1xufVxuXG5leHBvcnQgdHlwZSB7IERpc3BhdGNoTWlkZGxld2FyZUZ1bmMsIEVsbU9wdGlvbnMsIEVycm9yTWlkZGxld2FyZUZ1bmMsIExvZ2dlciB9O1xuXG5leHBvcnQgeyBpbml0LCBTZXJ2aWNlcyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBaUNBLElBQU1BLFFBQW9CLEdBQUFDLE9BQUEsQ0FBQUQsUUFBQSxHQUFHO0VBQzVCRSxNQUFNLEVBQUVDLFNBQVM7RUFDakJDLGVBQWUsRUFBRUQsU0FBUztFQUMxQkUsa0JBQWtCLEVBQUVGLFNBQVM7RUFDN0JHLGNBQWMsRUFBRTtBQUNqQixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQyxJQUFJQSxDQUFDQyxPQUFtQixFQUFRO0VBQ3hDUixRQUFRLENBQUNFLE1BQU0sR0FBR00sT0FBTyxDQUFDTixNQUFNO0VBQ2hDRixRQUFRLENBQUNJLGVBQWUsR0FBR0ksT0FBTyxDQUFDSixlQUFlO0VBQ2xESixRQUFRLENBQUNLLGtCQUFrQixHQUFHRyxPQUFPLENBQUNILGtCQUFrQjtFQUN4REwsUUFBUSxDQUFDTSxjQUFjLEdBQUdFLE9BQU8sQ0FBQ0YsY0FBYztBQUNqRCIsImlnbm9yZUxpc3QiOltdfQ==
@@ -9,5 +9,5 @@ import { type RenderWithModelOptions } from "../fakeOptions";
9
9
  * @param {(TModel | RenderWithModelOptions<TModel, TMessage>)} options The model or an options object.
10
10
  * @returns {TResult} The returned value of the `render` function.
11
11
  */
12
- declare function renderWithModel<TModel extends object, TMessage extends Message, TResult>(render: () => TResult, model: TModel, options?: RenderWithModelOptions<TMessage>): TResult;
12
+ declare function renderWithModel<TMessage extends Message, TResult>(render: () => TResult, model: object, options?: RenderWithModelOptions<TMessage>): TResult;
13
13
  export { renderWithModel };
@@ -28,4 +28,4 @@ function renderWithModel(render, model, options) {
28
28
  (0, _fakeOptions.setFakeOptions)(null);
29
29
  return result;
30
30
  }
31
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZmFrZU9wdGlvbnMiLCJyZXF1aXJlIiwiX3R5cGVvZiIsIm8iLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsInJlbmRlcldpdGhNb2RlbCIsInJlbmRlciIsIm1vZGVsIiwib3B0aW9ucyIsInNldEZha2VPcHRpb25zIiwicmVzdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1Rlc3RpbmcvcmVuZGVyV2l0aE1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWVzc2FnZSB9IGZyb20gXCIuLi9UeXBlc1wiO1xuaW1wb3J0IHsgc2V0RmFrZU9wdGlvbnMsIHR5cGUgUmVuZGVyV2l0aE1vZGVsT3B0aW9ucyB9IGZyb20gXCIuLi9mYWtlT3B0aW9uc1wiO1xuXG4vKipcbiAqIFJlbmRlcnMgYSBjb21wb25lbnQgd2l0aCBhIHByb3ZpZGVkIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2UgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqIEB0ZW1wbGF0ZSBUUmVzdWx0IFRoZSByZXR1cm4gdHlwZSBvZiB0aGUgcmVuZGVyIGZ1bmN0aW9uLlxuICogQHBhcmFtIHsoKSA9PiBUUmVzdWx0fSByZW5kZXIgQSBmdW5jdGlvbiB0byByZW5kZXIgdGhlIGNvbXBvbmVudC4gVXNlIHRoZSBgcmVuZGVyYCBmdW5jdGlvbiBvZiB0aGUgdXNlZCB0ZXN0aW5nIGxpYnJhcnkuXG4gKiBAcGFyYW0geyhUTW9kZWwgfCBSZW5kZXJXaXRoTW9kZWxPcHRpb25zPFRNb2RlbCwgVE1lc3NhZ2U+KX0gb3B0aW9ucyBUaGUgbW9kZWwgb3IgYW4gb3B0aW9ucyBvYmplY3QuXG4gKiBAcmV0dXJucyB7VFJlc3VsdH0gVGhlIHJldHVybmVkIHZhbHVlIG9mIHRoZSBgcmVuZGVyYCBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gcmVuZGVyV2l0aE1vZGVsPFRNb2RlbCBleHRlbmRzIG9iamVjdCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUUmVzdWx0Pihcblx0cmVuZGVyOiAoKSA9PiBUUmVzdWx0LFxuXHRtb2RlbDogVE1vZGVsLFxuXHRvcHRpb25zPzogUmVuZGVyV2l0aE1vZGVsT3B0aW9uczxUTWVzc2FnZT4sXG4pOiBUUmVzdWx0IHtcblx0c2V0RmFrZU9wdGlvbnMoe1xuXHRcdG1vZGVsLFxuXHRcdC4uLm9wdGlvbnMsXG5cdH0pO1xuXG5cdGNvbnN0IHJlc3VsdCA9IHJlbmRlcigpO1xuXG5cdHNldEZha2VPcHRpb25zKG51bGwpO1xuXG5cdHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCB7IHJlbmRlcldpdGhNb2RlbCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxZQUFBLEdBQUFDLE9BQUE7QUFBNkUsU0FBQUMsUUFBQUMsQ0FBQSxzQ0FBQUQsT0FBQSx3QkFBQUUsTUFBQSx1QkFBQUEsTUFBQSxDQUFBQyxRQUFBLGFBQUFGLENBQUEsa0JBQUFBLENBQUEsZ0JBQUFBLENBQUEsV0FBQUEsQ0FB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
31
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZmFrZU9wdGlvbnMiLCJyZXF1aXJlIiwiX3R5cGVvZiIsIm8iLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsInJlbmRlcldpdGhNb2RlbCIsInJlbmRlciIsIm1vZGVsIiwib3B0aW9ucyIsInNldEZha2VPcHRpb25zIiwicmVzdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1Rlc3RpbmcvcmVuZGVyV2l0aE1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWVzc2FnZSB9IGZyb20gXCIuLi9UeXBlc1wiO1xuaW1wb3J0IHsgc2V0RmFrZU9wdGlvbnMsIHR5cGUgUmVuZGVyV2l0aE1vZGVsT3B0aW9ucyB9IGZyb20gXCIuLi9mYWtlT3B0aW9uc1wiO1xuXG4vKipcbiAqIFJlbmRlcnMgYSBjb21wb25lbnQgd2l0aCBhIHByb3ZpZGVkIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNb2RlbCBUaGUgdHlwZSBvZiB0aGUgbW9kZWwuXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2UgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqIEB0ZW1wbGF0ZSBUUmVzdWx0IFRoZSByZXR1cm4gdHlwZSBvZiB0aGUgcmVuZGVyIGZ1bmN0aW9uLlxuICogQHBhcmFtIHsoKSA9PiBUUmVzdWx0fSByZW5kZXIgQSBmdW5jdGlvbiB0byByZW5kZXIgdGhlIGNvbXBvbmVudC4gVXNlIHRoZSBgcmVuZGVyYCBmdW5jdGlvbiBvZiB0aGUgdXNlZCB0ZXN0aW5nIGxpYnJhcnkuXG4gKiBAcGFyYW0geyhUTW9kZWwgfCBSZW5kZXJXaXRoTW9kZWxPcHRpb25zPFRNb2RlbCwgVE1lc3NhZ2U+KX0gb3B0aW9ucyBUaGUgbW9kZWwgb3IgYW4gb3B0aW9ucyBvYmplY3QuXG4gKiBAcmV0dXJucyB7VFJlc3VsdH0gVGhlIHJldHVybmVkIHZhbHVlIG9mIHRoZSBgcmVuZGVyYCBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gcmVuZGVyV2l0aE1vZGVsPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVFJlc3VsdD4oXG5cdHJlbmRlcjogKCkgPT4gVFJlc3VsdCxcblx0bW9kZWw6IG9iamVjdCxcblx0b3B0aW9ucz86IFJlbmRlcldpdGhNb2RlbE9wdGlvbnM8VE1lc3NhZ2U+LFxuKTogVFJlc3VsdCB7XG5cdHNldEZha2VPcHRpb25zKHtcblx0XHRtb2RlbCxcblx0XHQuLi5vcHRpb25zLFxuXHR9KTtcblxuXHRjb25zdCByZXN1bHQgPSByZW5kZXIoKTtcblxuXHRzZXRGYWtlT3B0aW9ucyhudWxsKTtcblxuXHRyZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgeyByZW5kZXJXaXRoTW9kZWwgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsWUFBQSxHQUFBQyxPQUFBO0FBQTZFLFNBQUFDLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FB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
package/dist/cmd.d.ts CHANGED
@@ -36,62 +36,6 @@ declare const cmd: {
36
36
  * @param ofError Creates the message to dispatch when the function runs successfully or, for an async function, the promise is rejected.
37
37
  * @param args The parameters of the task.
38
38
  */
39
- ofError<TErrorMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofError: (error: Error) => TErrorMessage, ...args: TArgs): Cmd<TErrorMessage>;
40
- /**
41
- * Provides functionalities to create commands from simple functions.
42
- * @deprecated Use `ofEither`, `ofSuccess`, or `ofError` instead.
43
- */
44
- ofFunc: {
45
- /**
46
- * Creates a command out of a simple function and maps the result.
47
- * @param task The function to call.
48
- * @param ofSuccess Creates the message to dispatch after a successful call of the task.
49
- * @param ofError Creates the message to dispatch when an error occurred.
50
- * @param args The parameters of the task.
51
- */
52
- either<TSuccessMessage extends Message, TErrorMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: TReturn) => TSuccessMessage, ofError: (error: Error) => TErrorMessage, ...args: TArgs): Cmd<TSuccessMessage | TErrorMessage>;
53
- /**
54
- * Creates a command out of a simple function and ignores the error case.
55
- * @param task The function to call.
56
- * @param ofSuccess Creates the message to dispatch after a successful call of the task.
57
- * @param args The parameters of the task.
58
- */
59
- perform<TSuccessMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofSuccess: (result: TReturn) => TSuccessMessage, ...args: TArgs): Cmd<TSuccessMessage>;
60
- /**
61
- * Creates a command out of a simple function and ignores the success case.
62
- * @param task The function to call.
63
- * @param ofError Creates the message to dispatch when an error occurred.
64
- * @param args The parameters of the task.
65
- */
66
- attempt<TErrorMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => TReturn, ofError: (error: Error) => TErrorMessage, ...args: TArgs): Cmd<TErrorMessage>;
67
- };
68
- /**
69
- * Provides functionalities to create commands from async functions.
70
- * @deprecated Use `ofEither`, `ofSuccess`, or `ofError` instead.
71
- */
72
- ofPromise: {
73
- /**
74
- * Creates a command out of an async function and maps the result.
75
- * @param task The async function to call.
76
- * @param ofSuccess Creates the message to dispatch when the promise is resolved.
77
- * @param ofError Creates the message to dispatch when the promise is rejected.
78
- * @param args The parameters of the task.
79
- */
80
- either<TSuccessMessage extends Message, TErrorMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => Promise<TReturn>, ofSuccess: (result: TReturn) => TSuccessMessage, ofError: (error: Error) => TErrorMessage, ...args: TArgs): Cmd<TSuccessMessage | TErrorMessage>;
81
- /**
82
- * Creates a command out of an async function and ignores the error case.
83
- * @param task The async function to call.
84
- * @param ofSuccess Creates the message to dispatch when the promise is resolved.
85
- * @param args The parameters of the task.
86
- */
87
- perform<TSuccessMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => Promise<TReturn>, ofSuccess: (result: TReturn) => TSuccessMessage, ...args: TArgs): Cmd<TSuccessMessage>;
88
- /**
89
- * Creates a command out of an async function and ignores the success case.
90
- * @param task The async function to call.
91
- * @param ofError Creates the message to dispatch when the promise is rejected.
92
- * @param args The parameters of the task.
93
- */
94
- attempt<TErrorMessage extends Message, TArgs extends unknown[], TReturn>(task: (...args: TArgs) => Promise<TReturn>, ofError: (error: Error) => TErrorMessage, ...args: TArgs): Cmd<TErrorMessage>;
95
- };
39
+ ofError<TErrorMessage extends Message, TArgs extends unknown[]>(task: (...args: TArgs) => unknown, ofError: (error: Error) => TErrorMessage, ...args: TArgs): Cmd<TErrorMessage>;
96
40
  };
97
41
  export { cmd };
package/dist/cmd.js CHANGED
@@ -22,7 +22,9 @@ var cmd = exports.cmd = {
22
22
  for (var _len = arguments.length, commands = new Array(_len), _key = 0; _key < _len; _key++) {
23
23
  commands[_key] = arguments[_key];
24
24
  }
25
- return commands.filter(Boolean).flat();
25
+ return commands.filter(function (current) {
26
+ return current != null;
27
+ }).flat();
26
28
  },
27
29
  /**
28
30
  * Command to call the subscriber.
@@ -47,10 +49,13 @@ var cmd = exports.cmd = {
47
49
  var taskResult = task.apply(void 0, args);
48
50
  Promise.resolve(taskResult).then(function (result) {
49
51
  return dispatch(ofSuccess(result));
50
- })["catch"](function (ex) {
52
+ })
53
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We only support Error types here.
54
+ ["catch"](function (ex) {
51
55
  return dispatch(ofError(ex));
52
56
  });
53
57
  } catch (ex) {
58
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We only support Error types here.
54
59
  dispatch(ofError(ex));
55
60
  }
56
61
  };
@@ -96,151 +101,20 @@ var cmd = exports.cmd = {
96
101
  var taskResult = task.apply(void 0, args);
97
102
  Promise.resolve(taskResult).then(function () {
98
103
  return fallback === null || fallback === void 0 ? void 0 : fallback();
99
- })["catch"](function (ex) {
104
+ })
105
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We only support Error types here.
106
+ ["catch"](function (ex) {
100
107
  return dispatch(_ofError(ex));
101
108
  });
102
109
  } catch (ex) {
110
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We only support Error types here.
103
111
  dispatch(_ofError(ex));
104
112
  }
105
113
  };
106
114
  return [bind];
107
- },
108
- /**
109
- * Provides functionalities to create commands from simple functions.
110
- * @deprecated Use `ofEither`, `ofSuccess`, or `ofError` instead.
111
- */
112
- ofFunc: {
113
- /**
114
- * Creates a command out of a simple function and maps the result.
115
- * @param task The function to call.
116
- * @param ofSuccess Creates the message to dispatch after a successful call of the task.
117
- * @param ofError Creates the message to dispatch when an error occurred.
118
- * @param args The parameters of the task.
119
- */
120
- either: function either(task, ofSuccess, ofError) {
121
- for (var _len5 = arguments.length, args = new Array(_len5 > 3 ? _len5 - 3 : 0), _key5 = 3; _key5 < _len5; _key5++) {
122
- args[_key5 - 3] = arguments[_key5];
123
- }
124
- var bind = function bind(dispatch) {
125
- try {
126
- var result = task.apply(void 0, args);
127
- dispatch(ofSuccess(result));
128
- } catch (ex) {
129
- dispatch(ofError(ex));
130
- }
131
- };
132
- return [bind];
133
- },
134
- /**
135
- * Creates a command out of a simple function and ignores the error case.
136
- * @param task The function to call.
137
- * @param ofSuccess Creates the message to dispatch after a successful call of the task.
138
- * @param args The parameters of the task.
139
- */
140
- perform: function perform(task, ofSuccess) {
141
- for (var _len6 = arguments.length, args = new Array(_len6 > 2 ? _len6 - 2 : 0), _key6 = 2; _key6 < _len6; _key6++) {
142
- args[_key6 - 2] = arguments[_key6];
143
- }
144
- var bind = function bind(dispatch, fallback) {
145
- try {
146
- var result = task.apply(void 0, args);
147
- dispatch(ofSuccess(result));
148
- } catch (_unused2) {
149
- fallback === null || fallback === void 0 || fallback();
150
- }
151
- };
152
- return [bind];
153
- },
154
- /**
155
- * Creates a command out of a simple function and ignores the success case.
156
- * @param task The function to call.
157
- * @param ofError Creates the message to dispatch when an error occurred.
158
- * @param args The parameters of the task.
159
- */
160
- attempt: function attempt(task, ofError) {
161
- for (var _len7 = arguments.length, args = new Array(_len7 > 2 ? _len7 - 2 : 0), _key7 = 2; _key7 < _len7; _key7++) {
162
- args[_key7 - 2] = arguments[_key7];
163
- }
164
- var bind = function bind(dispatch, fallback) {
165
- try {
166
- task.apply(void 0, args);
167
- if (fallback) {
168
- fallback();
169
- }
170
- } catch (ex) {
171
- dispatch(ofError(ex));
172
- }
173
- };
174
- return [bind];
175
- }
176
- },
177
- /**
178
- * Provides functionalities to create commands from async functions.
179
- * @deprecated Use `ofEither`, `ofSuccess`, or `ofError` instead.
180
- */
181
- ofPromise: {
182
- /**
183
- * Creates a command out of an async function and maps the result.
184
- * @param task The async function to call.
185
- * @param ofSuccess Creates the message to dispatch when the promise is resolved.
186
- * @param ofError Creates the message to dispatch when the promise is rejected.
187
- * @param args The parameters of the task.
188
- */
189
- either: function either(task, ofSuccess, ofError) {
190
- for (var _len8 = arguments.length, args = new Array(_len8 > 3 ? _len8 - 3 : 0), _key8 = 3; _key8 < _len8; _key8++) {
191
- args[_key8 - 3] = arguments[_key8];
192
- }
193
- var bind = function bind(dispatch) {
194
- task.apply(void 0, args).then(function (result) {
195
- return dispatch(ofSuccess(result));
196
- })["catch"](function (ex) {
197
- return dispatch(ofError(ex));
198
- });
199
- };
200
- return [bind];
201
- },
202
- /**
203
- * Creates a command out of an async function and ignores the error case.
204
- * @param task The async function to call.
205
- * @param ofSuccess Creates the message to dispatch when the promise is resolved.
206
- * @param args The parameters of the task.
207
- */
208
- perform: function perform(task, ofSuccess) {
209
- for (var _len9 = arguments.length, args = new Array(_len9 > 2 ? _len9 - 2 : 0), _key9 = 2; _key9 < _len9; _key9++) {
210
- args[_key9 - 2] = arguments[_key9];
211
- }
212
- var bind = function bind(dispatch) {
213
- var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultFallbackHandler;
214
- task.apply(void 0, args).then(function (result) {
215
- return dispatch(ofSuccess(result));
216
- })["catch"](function () {
217
- return fallback();
218
- });
219
- };
220
- return [bind];
221
- },
222
- /**
223
- * Creates a command out of an async function and ignores the success case.
224
- * @param task The async function to call.
225
- * @param ofError Creates the message to dispatch when the promise is rejected.
226
- * @param args The parameters of the task.
227
- */
228
- attempt: function attempt(task, ofError) {
229
- for (var _len10 = arguments.length, args = new Array(_len10 > 2 ? _len10 - 2 : 0), _key10 = 2; _key10 < _len10; _key10++) {
230
- args[_key10 - 2] = arguments[_key10];
231
- }
232
- var bind = function bind(dispatch, fallback) {
233
- task.apply(void 0, args).then(function () {
234
- return fallback === null || fallback === void 0 ? void 0 : fallback();
235
- })["catch"](function (ex) {
236
- return dispatch(ofError(ex));
237
- });
238
- };
239
- return [bind];
240
- }
241
115
  }
242
116
  };
243
117
  function defaultFallbackHandler() {
244
118
  // blank
245
119
  }
246
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbWQiLCJleHBvcnRzIiwib2ZNc2ciLCJtc2ciLCJkaXNwYXRjaCIsImJhdGNoIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImNvbW1hbmRzIiwiQXJyYXkiLCJfa2V5IiwiZmlsdGVyIiwiQm9vbGVhbiIsImZsYXQiLCJvZlN1YiIsInN1YiIsIm9mRWl0aGVyIiwidGFzayIsIm9mU3VjY2VzcyIsIm9mRXJyb3IiLCJfbGVuMiIsImFyZ3MiLCJfa2V5MiIsImJpbmQiLCJ0YXNrUmVzdWx0IiwiYXBwbHkiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJyZXN1bHQiLCJleCIsIl9sZW4zIiwiX2tleTMiLCJmYWxsYmFjayIsInVuZGVmaW5lZCIsImRlZmF1bHRGYWxsYmFja0hhbmRsZXIiLCJfdW51c2VkIiwiX2xlbjQiLCJfa2V5NCIsIm9mRnVuYyIsImVpdGhlciIsIl9sZW41IiwiX2tleTUiLCJwZXJmb3JtIiwiX2xlbjYiLCJfa2V5NiIsIl91bnVzZWQyIiwiYXR0ZW1wdCIsIl9sZW43IiwiX2tleTciLCJvZlByb21pc2UiLCJfbGVuOCIsIl9rZXk4IiwiX2xlbjkiLCJfa2V5OSIsIl9sZW4xMCIsIl9rZXkxMCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jbWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDbWQsIERpc3BhdGNoLCBGYWxsYmFja0hhbmRsZXIsIE1lc3NhZ2UsIFN1YiB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmNvbnN0IGNtZCA9IHtcblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIHNwZWNpZmljIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgc3BlY2lmaWMgbWVzc2FnZS5cblx0ICovXG5cdG9mTXNnPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4obXNnOiBUTWVzc2FnZSk6IENtZDxUTWVzc2FnZT4ge1xuXHRcdHJldHVybiBbKGRpc3BhdGNoKSA9PiBkaXNwYXRjaChtc2cpXTtcblx0fSxcblxuXHQvKipcblx0ICogQWdncmVnYXRlcyBtdWx0aXBsZSBjb21tYW5kcy5cblx0ICogQHBhcmFtIHtDbWQ8VE1lc3NhZ2U+IFtdfSBjb21tYW5kcyBBcnJheSBvZiBjb21tYW5kcy5cblx0ICovXG5cdGJhdGNoPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oLi4uY29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkIHwgbnVsbClbXSk6IENtZDxUTWVzc2FnZT4ge1xuXHRcdHJldHVybiAoY29tbWFuZHMuZmlsdGVyKEJvb2xlYW4pIGFzIENtZDxUTWVzc2FnZT5bXSkuZmxhdCgpO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDb21tYW5kIHRvIGNhbGwgdGhlIHN1YnNjcmliZXIuXG5cdCAqIEBwYXJhbSB7U3ViPFRNZXNzYWdlPn0gc3ViIFRoZSBzdWJzY3JpYmVyIGZ1bmN0aW9uLlxuXHQgKi9cblx0b2ZTdWI8VE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihzdWI6IFN1YjxUTWVzc2FnZT4pOiBDbWQ8VE1lc3NhZ2U+IHtcblx0XHRyZXR1cm4gW3N1Yl07XG5cdH0sXG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIGZ1bmN0aW9uIGFuZCBtYXBzIHRoZSByZXN1bHQuIFRoaXMgY2FuIGFsc28gYmUgYW4gYXN5bmMgZnVuY3Rpb24uXG5cdCAqIEBwYXJhbSB0YXNrIFRoZSBmdW5jdGlvbiB0byBjYWxsLlxuXHQgKiBAcGFyYW0gb2ZTdWNjZXNzIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgZnVuY3Rpb24gcnVucyBzdWNjZXNzZnVsbHkgb3IsIGZvciBhbiBhc3luYyBmdW5jdGlvbiwgdGhlIHByb21pc2UgaXMgcmVzb2x2ZWQuXG5cdCAqIEBwYXJhbSBvZkVycm9yIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgZnVuY3Rpb24gdGhyb3dzIGFuIGVycm9yIG9yLCBmb3IgYW4gYXN5bmMgZnVuY3Rpb24sIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLlxuXHQgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cblx0ICovXG5cdG9mRWl0aGVyPFRTdWNjZXNzTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXSwgVFJldHVybj4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJuLFxuXHRcdG9mU3VjY2VzczogKHJlc3VsdDogQXdhaXRlZDxUUmV0dXJuPikgPT4gVFN1Y2Nlc3NNZXNzYWdlLFxuXHRcdG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRFcnJvck1lc3NhZ2UsXG5cdFx0Li4uYXJnczogVEFyZ3Ncblx0KTogQ21kPFRTdWNjZXNzTWVzc2FnZSB8IFRFcnJvck1lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2UgfCBURXJyb3JNZXNzYWdlPik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlc3VsdCkgPT4gZGlzcGF0Y2gob2ZTdWNjZXNzKHJlc3VsdCkpKVxuXHRcdFx0XHRcdC5jYXRjaCgoZXg6IHVua25vd24pID0+IGRpc3BhdGNoKG9mRXJyb3IoZXggYXMgRXJyb3IpKSk7XG5cdFx0XHR9IGNhdGNoIChleDogdW5rbm93bikge1xuXHRcdFx0XHRkaXNwYXRjaChvZkVycm9yKGV4IGFzIEVycm9yKSk7XG5cdFx0XHR9XG5cdFx0fTtcblxuXHRcdHJldHVybiBbYmluZF07XG5cdH0sXG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIGZ1bmN0aW9uIGFuZCBpZ25vcmVzIHRoZSBlcnJvciBjYXNlLiBUaGlzIGNhbiBhbHNvIGJlIGFuIGFzeW5jIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gdGFzayBUaGUgYXN5bmMgZnVuY3Rpb24gdG8gY2FsbC5cblx0ICogQHBhcmFtIG9mU3VjY2VzcyBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIHdoZW4gdGhlIGZ1bmN0aW9uIHJ1bnMgc3VjY2Vzc2Z1bGx5IG9yLCBmb3IgYW4gYXN5bmMgZnVuY3Rpb24sIHRoZSBwcm9taXNlIGlzIHJlc29sdmVkLlxuXHQgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cblx0ICovXG5cdG9mU3VjY2VzczxUU3VjY2Vzc01lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXSwgVFJldHVybj4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJuLFxuXHRcdG9mU3VjY2VzczogKHJlc3VsdDogQXdhaXRlZDxUUmV0dXJuPikgPT4gVFN1Y2Nlc3NNZXNzYWdlLFxuXHRcdC4uLmFyZ3M6IFRBcmdzXG5cdCk6IENtZDxUU3VjY2Vzc01lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2U+LCBmYWxsYmFjazogRmFsbGJhY2tIYW5kbGVyID0gZGVmYXVsdEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlc3VsdCkgPT4gZGlzcGF0Y2gob2ZTdWNjZXNzKHJlc3VsdCkpKVxuXHRcdFx0XHRcdC5jYXRjaCgoKSA9PiBmYWxsYmFjaygpKTtcblx0XHRcdH0gY2F0Y2gge1xuXHRcdFx0XHRmYWxsYmFjaygpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgc3VjY2VzcyBjYXNlLiBUaGlzIGNhbiBhbHNvIGJlIGFuIGFzeW5jIGZ1bmN0aW9uLlxuXHQgKiBAcGFyYW0gdGFzayBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cblx0ICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZWplY3RlZC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZkVycm9yPFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXSwgVFJldHVybj4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJuLFxuXHRcdG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRFcnJvck1lc3NhZ2UsXG5cdFx0Li4uYXJnczogVEFyZ3Ncblx0KTogQ21kPFRFcnJvck1lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxURXJyb3JNZXNzYWdlPiwgZmFsbGJhY2s/OiBGYWxsYmFja0hhbmRsZXIpOiB2b2lkID0+IHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHRhc2tSZXN1bHQgPSB0YXNrKC4uLmFyZ3MpO1xuXG5cdFx0XHRcdFByb21pc2UucmVzb2x2ZSh0YXNrUmVzdWx0KVxuXHRcdFx0XHRcdC50aGVuKCgpID0+IGZhbGxiYWNrPy4oKSlcblx0XHRcdFx0XHQuY2F0Y2goKGV4OiB1bmtub3duKSA9PiBkaXNwYXRjaChvZkVycm9yKGV4IGFzIEVycm9yKSkpO1xuXHRcdFx0fSBjYXRjaCAoZXg6IHVua25vd24pIHtcblx0XHRcdFx0ZGlzcGF0Y2gob2ZFcnJvcihleCBhcyBFcnJvcikpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBQcm92aWRlcyBmdW5jdGlvbmFsaXRpZXMgdG8gY3JlYXRlIGNvbW1hbmRzIGZyb20gc2ltcGxlIGZ1bmN0aW9ucy5cblx0ICogQGRlcHJlY2F0ZWQgVXNlIGBvZkVpdGhlcmAsIGBvZlN1Y2Nlc3NgLCBvciBgb2ZFcnJvcmAgaW5zdGVhZC5cblx0ICovXG5cdG9mRnVuYzoge1xuXHRcdC8qKlxuXHRcdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIHNpbXBsZSBmdW5jdGlvbiBhbmQgbWFwcyB0aGUgcmVzdWx0LlxuXHRcdCAqIEBwYXJhbSB0YXNrIFRoZSBmdW5jdGlvbiB0byBjYWxsLlxuXHRcdCAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCBhZnRlciBhIHN1Y2Nlc3NmdWwgY2FsbCBvZiB0aGUgdGFzay5cblx0XHQgKiBAcGFyYW0gb2ZFcnJvciBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIHdoZW4gYW4gZXJyb3Igb2NjdXJyZWQuXG5cdFx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdFx0ICovXG5cdFx0ZWl0aGVyPFRTdWNjZXNzTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXSwgVFJldHVybj4oXG5cdFx0XHR0YXNrOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm4sXG5cdFx0XHRvZlN1Y2Nlc3M6IChyZXN1bHQ6IFRSZXR1cm4pID0+IFRTdWNjZXNzTWVzc2FnZSxcblx0XHRcdG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRFcnJvck1lc3NhZ2UsXG5cdFx0XHQuLi5hcmdzOiBUQXJnc1xuXHRcdCk6IENtZDxUU3VjY2Vzc01lc3NhZ2UgfCBURXJyb3JNZXNzYWdlPiB7XG5cdFx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2UgfCBURXJyb3JNZXNzYWdlPik6IHZvaWQgPT4ge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdGNvbnN0IHJlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0XHRkaXNwYXRjaChvZlN1Y2Nlc3MocmVzdWx0KSk7XG5cdFx0XHRcdH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG5cdFx0XHRcdFx0ZGlzcGF0Y2gob2ZFcnJvcihleCBhcyBFcnJvcikpO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXG5cdFx0XHRyZXR1cm4gW2JpbmRdO1xuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBzaW1wbGUgZnVuY3Rpb24gYW5kIGlnbm9yZXMgdGhlIGVycm9yIGNhc2UuXG5cdFx0ICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdFx0ICogQHBhcmFtIG9mU3VjY2VzcyBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIGFmdGVyIGEgc3VjY2Vzc2Z1bCBjYWxsIG9mIHRoZSB0YXNrLlxuXHRcdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHRcdCAqL1xuXHRcdHBlcmZvcm08VFN1Y2Nlc3NNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10sIFRSZXR1cm4+KFxuXHRcdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJuLFxuXHRcdFx0b2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUU3VjY2Vzc01lc3NhZ2UsXG5cdFx0XHQuLi5hcmdzOiBUQXJnc1xuXHRcdCk6IENtZDxUU3VjY2Vzc01lc3NhZ2U+IHtcblx0XHRcdGNvbnN0IGJpbmQgPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRTdWNjZXNzTWVzc2FnZT4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKTogdm9pZCA9PiB7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdGFzayguLi5hcmdzKTtcblxuXHRcdFx0XHRcdGRpc3BhdGNoKG9mU3VjY2VzcyhyZXN1bHQpKTtcblx0XHRcdFx0fSBjYXRjaCB7XG5cdFx0XHRcdFx0ZmFsbGJhY2s/LigpO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXG5cdFx0XHRyZXR1cm4gW2JpbmRdO1xuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBzaW1wbGUgZnVuY3Rpb24gYW5kIGlnbm9yZXMgdGhlIHN1Y2Nlc3MgY2FzZS5cblx0XHQgKiBAcGFyYW0gdGFzayBUaGUgZnVuY3Rpb24gdG8gY2FsbC5cblx0XHQgKiBAcGFyYW0gb2ZFcnJvciBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIHdoZW4gYW4gZXJyb3Igb2NjdXJyZWQuXG5cdFx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdFx0ICovXG5cdFx0YXR0ZW1wdDxURXJyb3JNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10sIFRSZXR1cm4+KFxuXHRcdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJuLFxuXHRcdFx0b2ZFcnJvcjogKGVycm9yOiBFcnJvcikgPT4gVEVycm9yTWVzc2FnZSxcblx0XHRcdC4uLmFyZ3M6IFRBcmdzXG5cdFx0KTogQ21kPFRFcnJvck1lc3NhZ2U+IHtcblx0XHRcdGNvbnN0IGJpbmQgPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRFcnJvck1lc3NhZ2U+LCBmYWxsYmFjaz86IEZhbGxiYWNrSGFuZGxlcik6IHZvaWQgPT4ge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0XHRpZiAoZmFsbGJhY2spIHtcblx0XHRcdFx0XHRcdGZhbGxiYWNrKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGNhdGNoIChleDogdW5rbm93bikge1xuXHRcdFx0XHRcdGRpc3BhdGNoKG9mRXJyb3IoZXggYXMgRXJyb3IpKTtcblx0XHRcdFx0fVxuXHRcdFx0fTtcblxuXHRcdFx0cmV0dXJuIFtiaW5kXTtcblx0XHR9LFxuXHR9LFxuXG5cdC8qKlxuXHQgKiBQcm92aWRlcyBmdW5jdGlvbmFsaXRpZXMgdG8gY3JlYXRlIGNvbW1hbmRzIGZyb20gYXN5bmMgZnVuY3Rpb25zLlxuXHQgKiBAZGVwcmVjYXRlZCBVc2UgYG9mRWl0aGVyYCwgYG9mU3VjY2Vzc2AsIG9yIGBvZkVycm9yYCBpbnN0ZWFkLlxuXHQgKi9cblx0b2ZQcm9taXNlOiB7XG5cdFx0LyoqXG5cdFx0ICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGFuIGFzeW5jIGZ1bmN0aW9uIGFuZCBtYXBzIHRoZSByZXN1bHQuXG5cdFx0ICogQHBhcmFtIHRhc2sgVGhlIGFzeW5jIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdFx0ICogQHBhcmFtIG9mU3VjY2VzcyBDcmVhdGVzIHRoZSBtZXNzYWdlIHRvIGRpc3BhdGNoIHdoZW4gdGhlIHByb21pc2UgaXMgcmVzb2x2ZWQuXG5cdFx0ICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLlxuXHRcdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHRcdCAqL1xuXHRcdGVpdGhlcjxUU3VjY2Vzc01lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBURXJyb3JNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10sIFRSZXR1cm4+KFxuXHRcdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBQcm9taXNlPFRSZXR1cm4+LFxuXHRcdFx0b2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUU3VjY2Vzc01lc3NhZ2UsXG5cdFx0XHRvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBURXJyb3JNZXNzYWdlLFxuXHRcdFx0Li4uYXJnczogVEFyZ3Ncblx0XHQpOiBDbWQ8VFN1Y2Nlc3NNZXNzYWdlIHwgVEVycm9yTWVzc2FnZT4ge1xuXHRcdFx0Y29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VFN1Y2Nlc3NNZXNzYWdlIHwgVEVycm9yTWVzc2FnZT4pOiB2b2lkID0+IHtcblx0XHRcdFx0dGFzayguLi5hcmdzKVxuXHRcdFx0XHRcdC50aGVuKChyZXN1bHQpID0+IGRpc3BhdGNoKG9mU3VjY2VzcyhyZXN1bHQpKSlcblx0XHRcdFx0XHQuY2F0Y2goKGV4OiB1bmtub3duKSA9PiBkaXNwYXRjaChvZkVycm9yKGV4IGFzIEVycm9yKSkpO1xuXHRcdFx0fTtcblxuXHRcdFx0cmV0dXJuIFtiaW5kXTtcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGFuIGFzeW5jIGZ1bmN0aW9uIGFuZCBpZ25vcmVzIHRoZSBlcnJvciBjYXNlLlxuXHRcdCAqIEBwYXJhbSB0YXNrIFRoZSBhc3luYyBmdW5jdGlvbiB0byBjYWxsLlxuXHRcdCAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBwcm9taXNlIGlzIHJlc29sdmVkLlxuXHRcdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHRcdCAqL1xuXHRcdHBlcmZvcm08VFN1Y2Nlc3NNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10sIFRSZXR1cm4+KFxuXHRcdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBQcm9taXNlPFRSZXR1cm4+LFxuXHRcdFx0b2ZTdWNjZXNzOiAocmVzdWx0OiBUUmV0dXJuKSA9PiBUU3VjY2Vzc01lc3NhZ2UsXG5cdFx0XHQuLi5hcmdzOiBUQXJnc1xuXHRcdCk6IENtZDxUU3VjY2Vzc01lc3NhZ2U+IHtcblx0XHRcdGNvbnN0IGJpbmQgPSAoZGlzcGF0Y2g6IERpc3BhdGNoPFRTdWNjZXNzTWVzc2FnZT4sIGZhbGxiYWNrOiBGYWxsYmFja0hhbmRsZXIgPSBkZWZhdWx0RmFsbGJhY2tIYW5kbGVyKTogdm9pZCA9PiB7XG5cdFx0XHRcdHRhc2soLi4uYXJncylcblx0XHRcdFx0XHQudGhlbigocmVzdWx0KSA9PiBkaXNwYXRjaChvZlN1Y2Nlc3MocmVzdWx0KSkpXG5cdFx0XHRcdFx0LmNhdGNoKCgpID0+IGZhbGxiYWNrKCkpO1xuXHRcdFx0fTtcblxuXHRcdFx0cmV0dXJuIFtiaW5kXTtcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGFuIGFzeW5jIGZ1bmN0aW9uIGFuZCBpZ25vcmVzIHRoZSBzdWNjZXNzIGNhc2UuXG5cdFx0ICogQHBhcmFtIHRhc2sgVGhlIGFzeW5jIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdFx0ICogQHBhcmFtIG9mRXJyb3IgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLlxuXHRcdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHRcdCAqL1xuXHRcdGF0dGVtcHQ8VEVycm9yTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBUUmV0dXJuPihcblx0XHRcdHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gUHJvbWlzZTxUUmV0dXJuPixcblx0XHRcdG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRFcnJvck1lc3NhZ2UsXG5cdFx0XHQuLi5hcmdzOiBUQXJnc1xuXHRcdCk6IENtZDxURXJyb3JNZXNzYWdlPiB7XG5cdFx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxURXJyb3JNZXNzYWdlPiwgZmFsbGJhY2s/OiBGYWxsYmFja0hhbmRsZXIpOiB2b2lkID0+IHtcblx0XHRcdFx0dGFzayguLi5hcmdzKVxuXHRcdFx0XHRcdC50aGVuKCgpID0+IGZhbGxiYWNrPy4oKSlcblx0XHRcdFx0XHQuY2F0Y2goKGV4OiB1bmtub3duKSA9PiBkaXNwYXRjaChvZkVycm9yKGV4IGFzIEVycm9yKSkpO1xuXHRcdFx0fTtcblxuXHRcdFx0cmV0dXJuIFtiaW5kXTtcblx0XHR9LFxuXHR9LFxufTtcblxuZnVuY3Rpb24gZGVmYXVsdEZhbGxiYWNrSGFuZGxlcigpOiB2b2lkIHtcblx0Ly8gYmxhbmtcbn1cblxuZXhwb3J0IHsgY21kIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBQUMsT0FBQSxDQUFBRCxHQUFBLEdBQUc7RUFDWDtBQUNEO0FBQ0E7QUFDQTtFQUNDRSxLQUFLLFdBQUxBLEtBQUtBLENBQTJCQyxHQUFhLEVBQWlCO0lBQzdELE9BQU8sQ0FBQyxVQUFDQyxRQUFRO01BQUEsT0FBS0EsUUFBUSxDQUFDRCxHQUFHLENBQUM7SUFBQSxFQUFDO0VBQ3JDLENBQUM7RUFFRDtBQUNEO0FBQ0E7QUFDQTtFQUNDRSxLQUFLLFdBQUxBLEtBQUtBLENBQUEsRUFBNkY7SUFBQSxTQUFBQyxJQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxFQUEvREMsUUFBUSxPQUFBQyxLQUFBLENBQUFKLElBQUEsR0FBQUssSUFBQSxNQUFBQSxJQUFBLEdBQUFMLElBQUEsRUFBQUssSUFBQTtNQUFSRixRQUFRLENBQUFFLElBQUEsSUFBQUosU0FBQSxDQUFBSSxJQUFBO0lBQUE7SUFDMUMsT0FBUUYsUUFBUSxDQUFDRyxNQUFNLENBQUNDLE9BQU8sQ0FBQyxDQUFxQkMsSUFBSSxDQUFDLENBQUM7RUFDNUQsQ0FBQztFQUVEO0FBQ0Q7QUFDQTtBQUNBO0VBQ0NDLEtBQUssV0FBTEEsS0FBS0EsQ0FBMkJDLEdBQWtCLEVBQWlCO0lBQ2xFLE9BQU8sQ0FBQ0EsR0FBRyxDQUFDO0VBQ2IsQ0FBQztFQUVEO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0NDLFFBQVEsV0FBUkEsUUFBUUEsQ0FDUEMsSUFBaUMsRUFDakNDLFNBQXdELEVBQ3hEQyxPQUF3QyxFQUVEO0lBQUEsU0FBQUMsS0FBQSxHQUFBZCxTQUFBLENBQUFDLE1BQUEsRUFEcENjLElBQUksT0FBQVosS0FBQSxDQUFBVyxLQUFBLE9BQUFBLEtBQUEsV0FBQUUsS0FBQSxNQUFBQSxLQUFBLEdBQUFGLEtBQUEsRUFBQUUsS0FBQTtNQUFKRCxJQUFJLENBQUFDLEtBQUEsUUFBQWhCLFNBQUEsQ0FBQWdCLEtBQUE7SUFBQTtJQUVQLElBQU1DLElBQUksR0FBRyxTQUFQQSxJQUFJQSxDQUFJcEIsUUFBbUQsRUFBVztNQUMzRSxJQUFJO1FBQ0gsSUFBTXFCLFVBQVUsR0FBR1AsSUFBSSxDQUFBUSxLQUFBLFNBQUlKLElBQUksQ0FBQztRQUVoQ0ssT0FBTyxDQUFDQyxPQUFPLENBQUNILFVBQVUsQ0FBQyxDQUN6QkksSUFBSSxDQUFDLFVBQUNDLE1BQU07VUFBQSxPQUFLMUIsUUFBUSxDQUFDZSxTQUFTLENBQUNXLE1BQU0sQ0FBQyxDQUFDO1FBQUEsRUFBQyxTQUN4QyxDQUFDLFVBQUNDLEVBQVc7VUFBQSxPQUFLM0IsUUFBUSxDQUFDZ0IsT0FBTyxDQUFDVyxFQUFXLENBQUMsQ0FBQztRQUFBLEVBQUM7TUFDekQsQ0FBQyxDQUFDLE9BQU9BLEVBQVcsRUFBRTtRQUNyQjNCLFFBQVEsQ0FBQ2dCLE9BQU8sQ0FBQ1csRUFBVyxDQUFDLENBQUM7TUFDL0I7SUFDRCxDQUFDO0lBRUQsT0FBTyxDQUFDUCxJQUFJLENBQUM7RUFDZCxDQUFDO0VBRUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0NMLFNBQVMsV0FBVEEsU0FBU0EsQ0FDUkQsSUFBaUMsRUFDakNDLFVBQXdELEVBRWpDO0lBQUEsU0FBQWEsS0FBQSxHQUFBekIsU0FBQSxDQUFBQyxNQUFBLEVBRHBCYyxJQUFJLE9BQUFaLEtBQUEsQ0FBQXNCLEtBQUEsT0FBQUEsS0FBQSxXQUFBQyxLQUFBLE1BQUFBLEtBQUEsR0FBQUQsS0FBQSxFQUFBQyxLQUFBO01BQUpYLElBQUksQ0FBQVcsS0FBQSxRQUFBMUIsU0FBQSxDQUFBMEIsS0FBQTtJQUFBO0lBRVAsSUFBTVQsSUFBSSxHQUFHLFNBQVBBLElBQUlBLENBQUlwQixRQUFtQyxFQUErRDtNQUFBLElBQTdEOEIsUUFBeUIsR0FBQTNCLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUE0QixTQUFBLEdBQUE1QixTQUFBLE1BQUc2QixzQkFBc0I7TUFDcEcsSUFBSTtRQUNILElBQU1YLFVBQVUsR0FBR1AsSUFBSSxDQUFBUSxLQUFBLFNBQUlKLElBQUksQ0FBQztRQUVoQ0ssT0FBTyxDQUFDQyxPQUFPLENBQUNILFVBQVUsQ0FBQyxDQUN6QkksSUFBSSxDQUFDLFVBQUNDLE1BQU07VUFBQSxPQUFLMUIsUUFBUSxDQUFDZSxVQUFTLENBQUNXLE1BQU0sQ0FBQyxDQUFDO1FBQUEsRUFBQyxTQUN4QyxDQUFDO1VBQUEsT0FBTUksUUFBUSxDQUFDLENBQUM7UUFBQSxFQUFDO01BQzFCLENBQUMsQ0FBQyxPQUFBRyxPQUFBLEVBQU07UUFDUEgsUUFBUSxDQUFDLENBQUM7TUFDWDtJQUNELENBQUM7SUFFRCxPQUFPLENBQUNWLElBQUksQ0FBQztFQUNkLENBQUM7RUFFRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQ0osT0FBTyxXQUFQQSxPQUFPQSxDQUNORixJQUFpQyxFQUNqQ0UsUUFBd0MsRUFFbkI7SUFBQSxTQUFBa0IsS0FBQSxHQUFBL0IsU0FBQSxDQUFBQyxNQUFBLEVBRGxCYyxJQUFJLE9BQUFaLEtBQUEsQ0FBQTRCLEtBQUEsT0FBQUEsS0FBQSxXQUFBQyxLQUFBLE1BQUFBLEtBQUEsR0FBQUQsS0FBQSxFQUFBQyxLQUFBO01BQUpqQixJQUFJLENBQUFpQixLQUFBLFFBQUFoQyxTQUFBLENBQUFnQyxLQUFBO0lBQUE7SUFFUCxJQUFNZixJQUFJLEdBQUcsU0FBUEEsSUFBSUEsQ0FBSXBCLFFBQWlDLEVBQUU4QixRQUEwQixFQUFXO01BQ3JGLElBQUk7UUFDSCxJQUFNVCxVQUFVLEdBQUdQLElBQUksQ0FBQVEsS0FBQSxTQUFJSixJQUFJLENBQUM7UUFFaENLLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDSCxVQUFVLENBQUMsQ0FDekJJLElBQUksQ0FBQztVQUFBLE9BQU1LLFFBQVEsYUFBUkEsUUFBUSx1QkFBUkEsUUFBUSxDQUFHLENBQUM7UUFBQSxFQUFDLFNBQ25CLENBQUMsVUFBQ0gsRUFBVztVQUFBLE9BQUszQixRQUFRLENBQUNnQixRQUFPLENBQUNXLEVBQVcsQ0FBQyxDQUFDO1FBQUEsRUFBQztNQUN6RCxDQUFDLENBQUMsT0FBT0EsRUFBVyxFQUFFO1FBQ3JCM0IsUUFBUSxDQUFDZ0IsUUFBTyxDQUFDVyxFQUFXLENBQUMsQ0FBQztNQUMvQjtJQUNELENBQUM7SUFFRCxPQUFPLENBQUNQLElBQUksQ0FBQztFQUNkLENBQUM7RUFFRDtBQUNEO0FBQ0E7QUFDQTtFQUNDZ0IsTUFBTSxFQUFFO0lBQ1A7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDRUMsTUFBTSxXQUFOQSxNQUFNQSxDQUNMdkIsSUFBaUMsRUFDakNDLFNBQStDLEVBQy9DQyxPQUF3QyxFQUVEO01BQUEsU0FBQXNCLEtBQUEsR0FBQW5DLFNBQUEsQ0FBQUMsTUFBQSxFQURwQ2MsSUFBSSxPQUFBWixLQUFBLENBQUFnQyxLQUFBLE9BQUFBLEtBQUEsV0FBQUMsS0FBQSxNQUFBQSxLQUFBLEdBQUFELEtBQUEsRUFBQUMsS0FBQTtRQUFKckIsSUFBSSxDQUFBcUIsS0FBQSxRQUFBcEMsU0FBQSxDQUFBb0MsS0FBQTtNQUFBO01BRVAsSUFBTW5CLElBQUksR0FBRyxTQUFQQSxJQUFJQSxDQUFJcEIsUUFBbUQsRUFBVztRQUMzRSxJQUFJO1VBQ0gsSUFBTTBCLE1BQU0sR0FBR1osSUFBSSxDQUFBUSxLQUFBLFNBQUlKLElBQUksQ0FBQztVQUU1QmxCLFFBQVEsQ0FBQ2UsU0FBUyxDQUFDVyxNQUFNLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsT0FBT0MsRUFBVyxFQUFFO1VBQ3JCM0IsUUFBUSxDQUFDZ0IsT0FBTyxDQUFDVyxFQUFXLENBQUMsQ0FBQztRQUMvQjtNQUNELENBQUM7TUFFRCxPQUFPLENBQUNQLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDRW9CLE9BQU8sV0FBUEEsT0FBT0EsQ0FDTjFCLElBQWlDLEVBQ2pDQyxTQUErQyxFQUV4QjtNQUFBLFNBQUEwQixLQUFBLEdBQUF0QyxTQUFBLENBQUFDLE1BQUEsRUFEcEJjLElBQUksT0FBQVosS0FBQSxDQUFBbUMsS0FBQSxPQUFBQSxLQUFBLFdBQUFDLEtBQUEsTUFBQUEsS0FBQSxHQUFBRCxLQUFBLEVBQUFDLEtBQUE7UUFBSnhCLElBQUksQ0FBQXdCLEtBQUEsUUFBQXZDLFNBQUEsQ0FBQXVDLEtBQUE7TUFBQTtNQUVQLElBQU10QixJQUFJLEdBQUcsU0FBUEEsSUFBSUEsQ0FBSXBCLFFBQW1DLEVBQUU4QixRQUEwQixFQUFXO1FBQ3ZGLElBQUk7VUFDSCxJQUFNSixNQUFNLEdBQUdaLElBQUksQ0FBQVEsS0FBQSxTQUFJSixJQUFJLENBQUM7VUFFNUJsQixRQUFRLENBQUNlLFNBQVMsQ0FBQ1csTUFBTSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLE9BQUFpQixRQUFBLEVBQU07VUFDUGIsUUFBUSxhQUFSQSxRQUFRLGVBQVJBLFFBQVEsQ0FBRyxDQUFDO1FBQ2I7TUFDRCxDQUFDO01BRUQsT0FBTyxDQUFDVixJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ0V3QixPQUFPLFdBQVBBLE9BQU9BLENBQ045QixJQUFpQyxFQUNqQ0UsT0FBd0MsRUFFbkI7TUFBQSxTQUFBNkIsS0FBQSxHQUFBMUMsU0FBQSxDQUFBQyxNQUFBLEVBRGxCYyxJQUFJLE9BQUFaLEtBQUEsQ0FBQXVDLEtBQUEsT0FBQUEsS0FBQSxXQUFBQyxLQUFBLE1BQUFBLEtBQUEsR0FBQUQsS0FBQSxFQUFBQyxLQUFBO1FBQUo1QixJQUFJLENBQUE0QixLQUFBLFFBQUEzQyxTQUFBLENBQUEyQyxLQUFBO01BQUE7TUFFUCxJQUFNMUIsSUFBSSxHQUFHLFNBQVBBLElBQUlBLENBQUlwQixRQUFpQyxFQUFFOEIsUUFBMEIsRUFBVztRQUNyRixJQUFJO1VBQ0hoQixJQUFJLENBQUFRLEtBQUEsU0FBSUosSUFBSSxDQUFDO1VBRWIsSUFBSVksUUFBUSxFQUFFO1lBQ2JBLFFBQVEsQ0FBQyxDQUFDO1VBQ1g7UUFDRCxDQUFDLENBQUMsT0FBT0gsRUFBVyxFQUFFO1VBQ3JCM0IsUUFBUSxDQUFDZ0IsT0FBTyxDQUFDVyxFQUFXLENBQUMsQ0FBQztRQUMvQjtNQUNELENBQUM7TUFFRCxPQUFPLENBQUNQLElBQUksQ0FBQztJQUNkO0VBQ0QsQ0FBQztFQUVEO0FBQ0Q7QUFDQTtBQUNBO0VBQ0MyQixTQUFTLEVBQUU7SUFDVjtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNFVixNQUFNLFdBQU5BLE1BQU1BLENBQ0x2QixJQUEwQyxFQUMxQ0MsU0FBK0MsRUFDL0NDLE9BQXdDLEVBRUQ7TUFBQSxTQUFBZ0MsS0FBQSxHQUFBN0MsU0FBQSxDQUFBQyxNQUFBLEVBRHBDYyxJQUFJLE9BQUFaLEtBQUEsQ0FBQTBDLEtBQUEsT0FBQUEsS0FBQSxXQUFBQyxLQUFBLE1BQUFBLEtBQUEsR0FBQUQsS0FBQSxFQUFBQyxLQUFBO1FBQUovQixJQUFJLENBQUErQixLQUFBLFFBQUE5QyxTQUFBLENBQUE4QyxLQUFBO01BQUE7TUFFUCxJQUFNN0IsSUFBSSxHQUFHLFNBQVBBLElBQUlBLENBQUlwQixRQUFtRCxFQUFXO1FBQzNFYyxJQUFJLENBQUFRLEtBQUEsU0FBSUosSUFBSSxDQUFDLENBQ1hPLElBQUksQ0FBQyxVQUFDQyxNQUFNO1VBQUEsT0FBSzFCLFFBQVEsQ0FBQ2UsU0FBUyxDQUFDVyxNQUFNLENBQUMsQ0FBQztRQUFBLEVBQUMsU0FDeEMsQ0FBQyxVQUFDQyxFQUFXO1VBQUEsT0FBSzNCLFFBQVEsQ0FBQ2dCLE9BQU8sQ0FBQ1csRUFBVyxDQUFDLENBQUM7UUFBQSxFQUFDO01BQ3pELENBQUM7TUFFRCxPQUFPLENBQUNQLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDRW9CLE9BQU8sV0FBUEEsT0FBT0EsQ0FDTjFCLElBQTBDLEVBQzFDQyxTQUErQyxFQUV4QjtNQUFBLFNBQUFtQyxLQUFBLEdBQUEvQyxTQUFBLENBQUFDLE1BQUEsRUFEcEJjLElBQUksT0FBQVosS0FBQSxDQUFBNEMsS0FBQSxPQUFBQSxLQUFBLFdBQUFDLEtBQUEsTUFBQUEsS0FBQSxHQUFBRCxLQUFBLEVBQUFDLEtBQUE7UUFBSmpDLElBQUksQ0FBQWlDLEtBQUEsUUFBQWhELFNBQUEsQ0FBQWdELEtBQUE7TUFBQTtNQUVQLElBQU0vQixJQUFJLEdBQUcsU0FBUEEsSUFBSUEsQ0FBSXBCLFFBQW1DLEVBQStEO1FBQUEsSUFBN0Q4QixRQUF5QixHQUFBM0IsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQTRCLFNBQUEsR0FBQTVCLFNBQUEsTUFBRzZCLHNCQUFzQjtRQUNwR2xCLElBQUksQ0FBQVEsS0FBQSxTQUFJSixJQUFJLENBQUMsQ0FDWE8sSUFBSSxDQUFDLFVBQUNDLE1BQU07VUFBQSxPQUFLMUIsUUFBUSxDQUFDZSxTQUFTLENBQUNXLE1BQU0sQ0FBQyxDQUFDO1FBQUEsRUFBQyxTQUN4QyxDQUFDO1VBQUEsT0FBTUksUUFBUSxDQUFDLENBQUM7UUFBQSxFQUFDO01BQzFCLENBQUM7TUFFRCxPQUFPLENBQUNWLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDRXdCLE9BQU8sV0FBUEEsT0FBT0EsQ0FDTjlCLElBQTBDLEVBQzFDRSxPQUF3QyxFQUVuQjtNQUFBLFNBQUFvQyxNQUFBLEdBQUFqRCxTQUFBLENBQUFDLE1BQUEsRUFEbEJjLElBQUksT0FBQVosS0FBQSxDQUFBOEMsTUFBQSxPQUFBQSxNQUFBLFdBQUFDLE1BQUEsTUFBQUEsTUFBQSxHQUFBRCxNQUFBLEVBQUFDLE1BQUE7UUFBSm5DLElBQUksQ0FBQW1DLE1BQUEsUUFBQWxELFNBQUEsQ0FBQWtELE1BQUE7TUFBQTtNQUVQLElBQU1qQyxJQUFJLEdBQUcsU0FBUEEsSUFBSUEsQ0FBSXBCLFFBQWlDLEVBQUU4QixRQUEwQixFQUFXO1FBQ3JGaEIsSUFBSSxDQUFBUSxLQUFBLFNBQUlKLElBQUksQ0FBQyxDQUNYTyxJQUFJLENBQUM7VUFBQSxPQUFNSyxRQUFRLGFBQVJBLFFBQVEsdUJBQVJBLFFBQVEsQ0FBRyxDQUFDO1FBQUEsRUFBQyxTQUNuQixDQUFDLFVBQUNILEVBQVc7VUFBQSxPQUFLM0IsUUFBUSxDQUFDZ0IsT0FBTyxDQUFDVyxFQUFXLENBQUMsQ0FBQztRQUFBLEVBQUM7TUFDekQsQ0FBQztNQUVELE9BQU8sQ0FBQ1AsSUFBSSxDQUFDO0lBQ2Q7RUFDRDtBQUNELENBQUM7QUFFRCxTQUFTWSxzQkFBc0JBLENBQUEsRUFBUztFQUN2QztBQUFBIiwiaWdub3JlTGlzdCI6W119
120
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbWQiLCJleHBvcnRzIiwib2ZNc2ciLCJtc2ciLCJkaXNwYXRjaCIsImJhdGNoIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImNvbW1hbmRzIiwiQXJyYXkiLCJfa2V5IiwiZmlsdGVyIiwiY3VycmVudCIsImZsYXQiLCJvZlN1YiIsInN1YiIsIm9mRWl0aGVyIiwidGFzayIsIm9mU3VjY2VzcyIsIm9mRXJyb3IiLCJfbGVuMiIsImFyZ3MiLCJfa2V5MiIsImJpbmQiLCJ0YXNrUmVzdWx0IiwiYXBwbHkiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJyZXN1bHQiLCJleCIsIl9sZW4zIiwiX2tleTMiLCJmYWxsYmFjayIsInVuZGVmaW5lZCIsImRlZmF1bHRGYWxsYmFja0hhbmRsZXIiLCJfdW51c2VkIiwiX2xlbjQiLCJfa2V5NCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jbWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDbWQsIERpc3BhdGNoLCBGYWxsYmFja0hhbmRsZXIsIE1lc3NhZ2UsIFN1YiB9IGZyb20gXCIuL1R5cGVzXCI7XG5cbmNvbnN0IGNtZCA9IHtcblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIHNwZWNpZmljIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB7VE1lc3NhZ2V9IG1zZyBUaGUgc3BlY2lmaWMgbWVzc2FnZS5cblx0ICovXG5cdG9mTXNnPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4obXNnOiBUTWVzc2FnZSk6IENtZDxUTWVzc2FnZT4ge1xuXHRcdHJldHVybiBbKGRpc3BhdGNoKSA9PiBkaXNwYXRjaChtc2cpXTtcblx0fSxcblxuXHQvKipcblx0ICogQWdncmVnYXRlcyBtdWx0aXBsZSBjb21tYW5kcy5cblx0ICogQHBhcmFtIHtDbWQ8VE1lc3NhZ2U+IFtdfSBjb21tYW5kcyBBcnJheSBvZiBjb21tYW5kcy5cblx0ICovXG5cdGJhdGNoPFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oLi4uY29tbWFuZHM6IChDbWQ8VE1lc3NhZ2U+IHwgdW5kZWZpbmVkIHwgbnVsbClbXSk6IENtZDxUTWVzc2FnZT4ge1xuXHRcdHJldHVybiBjb21tYW5kcy5maWx0ZXIoKGN1cnJlbnQpID0+IGN1cnJlbnQgIT0gbnVsbCkuZmxhdCgpO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDb21tYW5kIHRvIGNhbGwgdGhlIHN1YnNjcmliZXIuXG5cdCAqIEBwYXJhbSB7U3ViPFRNZXNzYWdlPn0gc3ViIFRoZSBzdWJzY3JpYmVyIGZ1bmN0aW9uLlxuXHQgKi9cblx0b2ZTdWI8VE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihzdWI6IFN1YjxUTWVzc2FnZT4pOiBDbWQ8VE1lc3NhZ2U+IHtcblx0XHRyZXR1cm4gW3N1Yl07XG5cdH0sXG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjb21tYW5kIG91dCBvZiBhIGZ1bmN0aW9uIGFuZCBtYXBzIHRoZSByZXN1bHQuIFRoaXMgY2FuIGFsc28gYmUgYW4gYXN5bmMgZnVuY3Rpb24uXG5cdCAqIEBwYXJhbSB0YXNrIFRoZSBmdW5jdGlvbiB0byBjYWxsLlxuXHQgKiBAcGFyYW0gb2ZTdWNjZXNzIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgZnVuY3Rpb24gcnVucyBzdWNjZXNzZnVsbHkgb3IsIGZvciBhbiBhc3luYyBmdW5jdGlvbiwgdGhlIHByb21pc2UgaXMgcmVzb2x2ZWQuXG5cdCAqIEBwYXJhbSBvZkVycm9yIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgZnVuY3Rpb24gdGhyb3dzIGFuIGVycm9yIG9yLCBmb3IgYW4gYXN5bmMgZnVuY3Rpb24sIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLlxuXHQgKiBAcGFyYW0gYXJncyBUaGUgcGFyYW1ldGVycyBvZiB0aGUgdGFzay5cblx0ICovXG5cdG9mRWl0aGVyPFRTdWNjZXNzTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2UsIFRFcnJvck1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlLCBUQXJncyBleHRlbmRzIHVua25vd25bXSwgVFJldHVybj4oXG5cdFx0dGFzazogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJuLFxuXHRcdG9mU3VjY2VzczogKHJlc3VsdDogQXdhaXRlZDxUUmV0dXJuPikgPT4gVFN1Y2Nlc3NNZXNzYWdlLFxuXHRcdG9mRXJyb3I6IChlcnJvcjogRXJyb3IpID0+IFRFcnJvck1lc3NhZ2UsXG5cdFx0Li4uYXJnczogVEFyZ3Ncblx0KTogQ21kPFRTdWNjZXNzTWVzc2FnZSB8IFRFcnJvck1lc3NhZ2U+IHtcblx0XHRjb25zdCBiaW5kID0gKGRpc3BhdGNoOiBEaXNwYXRjaDxUU3VjY2Vzc01lc3NhZ2UgfCBURXJyb3JNZXNzYWdlPik6IHZvaWQgPT4ge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdGFza1Jlc3VsdCA9IHRhc2soLi4uYXJncyk7XG5cblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRhc2tSZXN1bHQpXG5cdFx0XHRcdFx0LnRoZW4oKHJlc3VsdCkgPT4gZGlzcGF0Y2gob2ZTdWNjZXNzKHJlc3VsdCkpKVxuXHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRcdC5jYXRjaCgoZXg6IHVua25vd24pID0+IGRpc3BhdGNoKG9mRXJyb3IoZXggYXMgRXJyb3IpKSk7XG5cdFx0XHR9IGNhdGNoIChleDogdW5rbm93bikge1xuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS10eXBlLWFzc2VydGlvbiAtLSBXZSBvbmx5IHN1cHBvcnQgRXJyb3IgdHlwZXMgaGVyZS5cblx0XHRcdFx0ZGlzcGF0Y2gob2ZFcnJvcihleCBhcyBFcnJvcikpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gW2JpbmRdO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgY29tbWFuZCBvdXQgb2YgYSBmdW5jdGlvbiBhbmQgaWdub3JlcyB0aGUgZXJyb3IgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGFzeW5jIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZlN1Y2Nlc3MgQ3JlYXRlcyB0aGUgbWVzc2FnZSB0byBkaXNwYXRjaCB3aGVuIHRoZSBmdW5jdGlvbiBydW5zIHN1Y2Nlc3NmdWxseSBvciwgZm9yIGFuIGFzeW5jIGZ1bmN0aW9uLCB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZC5cblx0ICogQHBhcmFtIGFyZ3MgVGhlIHBhcmFtZXRlcnMgb2YgdGhlIHRhc2suXG5cdCAqL1xuXHRvZlN1Y2Nlc3M8VFN1Y2Nlc3NNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10sIFRSZXR1cm4+KFxuXHRcdHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybixcblx0XHRvZlN1Y2Nlc3M6IChyZXN1bHQ6IEF3YWl0ZWQ8VFJldHVybj4pID0+IFRTdWNjZXNzTWVzc2FnZSxcblx0XHQuLi5hcmdzOiBUQXJnc1xuXHQpOiBDbWQ8VFN1Y2Nlc3NNZXNzYWdlPiB7XG5cdFx0Y29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VFN1Y2Nlc3NNZXNzYWdlPiwgZmFsbGJhY2s6IEZhbGxiYWNrSGFuZGxlciA9IGRlZmF1bHRGYWxsYmFja0hhbmRsZXIpOiB2b2lkID0+IHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHRhc2tSZXN1bHQgPSB0YXNrKC4uLmFyZ3MpO1xuXG5cdFx0XHRcdFByb21pc2UucmVzb2x2ZSh0YXNrUmVzdWx0KVxuXHRcdFx0XHRcdC50aGVuKChyZXN1bHQpID0+IGRpc3BhdGNoKG9mU3VjY2VzcyhyZXN1bHQpKSlcblx0XHRcdFx0XHQuY2F0Y2goKCkgPT4gZmFsbGJhY2soKSk7XG5cdFx0XHR9IGNhdGNoIHtcblx0XHRcdFx0ZmFsbGJhY2soKTtcblx0XHRcdH1cblx0XHR9O1xuXG5cdFx0cmV0dXJuIFtiaW5kXTtcblx0fSxcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIGNvbW1hbmQgb3V0IG9mIGEgZnVuY3Rpb24gYW5kIGlnbm9yZXMgdGhlIHN1Y2Nlc3MgY2FzZS4gVGhpcyBjYW4gYWxzbyBiZSBhbiBhc3luYyBmdW5jdGlvbi5cblx0ICogQHBhcmFtIHRhc2sgVGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG5cdCAqIEBwYXJhbSBvZkVycm9yIENyZWF0ZXMgdGhlIG1lc3NhZ2UgdG8gZGlzcGF0Y2ggd2hlbiB0aGUgZnVuY3Rpb24gcnVucyBzdWNjZXNzZnVsbHkgb3IsIGZvciBhbiBhc3luYyBmdW5jdGlvbiwgdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQuXG5cdCAqIEBwYXJhbSBhcmdzIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSB0YXNrLlxuXHQgKi9cblx0b2ZFcnJvcjxURXJyb3JNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZSwgVEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KFxuXHRcdHRhc2s6ICguLi5hcmdzOiBUQXJncykgPT4gdW5rbm93bixcblx0XHRvZkVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiBURXJyb3JNZXNzYWdlLFxuXHRcdC4uLmFyZ3M6IFRBcmdzXG5cdCk6IENtZDxURXJyb3JNZXNzYWdlPiB7XG5cdFx0Y29uc3QgYmluZCA9IChkaXNwYXRjaDogRGlzcGF0Y2g8VEVycm9yTWVzc2FnZT4sIGZhbGxiYWNrPzogRmFsbGJhY2tIYW5kbGVyKTogdm9pZCA9PiB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCB0YXNrUmVzdWx0ID0gdGFzayguLi5hcmdzKTtcblxuXHRcdFx0XHRQcm9taXNlLnJlc29sdmUodGFza1Jlc3VsdClcblx0XHRcdFx0XHQudGhlbigoKSA9PiBmYWxsYmFjaz8uKCkpXG5cdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb24gLS0gV2Ugb25seSBzdXBwb3J0IEVycm9yIHR5cGVzIGhlcmUuXG5cdFx0XHRcdFx0LmNhdGNoKChleDogdW5rbm93bikgPT4gZGlzcGF0Y2gob2ZFcnJvcihleCBhcyBFcnJvcikpKTtcblx0XHRcdH0gY2F0Y2ggKGV4OiB1bmtub3duKSB7XG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIG9ubHkgc3VwcG9ydCBFcnJvciB0eXBlcyBoZXJlLlxuXHRcdFx0XHRkaXNwYXRjaChvZkVycm9yKGV4IGFzIEVycm9yKSk7XG5cdFx0XHR9XG5cdFx0fTtcblxuXHRcdHJldHVybiBbYmluZF07XG5cdH0sXG59O1xuXG5mdW5jdGlvbiBkZWZhdWx0RmFsbGJhY2tIYW5kbGVyKCk6IHZvaWQge1xuXHQvLyBibGFua1xufVxuXG5leHBvcnQgeyBjbWQgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsSUFBTUEsR0FBRyxHQUFBQyxPQUFBLENBQUFELEdBQUEsR0FBRztFQUNYO0FBQ0Q7QUFDQTtBQUNBO0VBQ0NFLEtBQUssV0FBTEEsS0FBS0EsQ0FBMkJDLEdBQWEsRUFBaUI7SUFDN0QsT0FBTyxDQUFDLFVBQUNDLFFBQVE7TUFBQSxPQUFLQSxRQUFRLENBQUNELEdBQUcsQ0FBQztJQUFBLEVBQUM7RUFDckMsQ0FBQztFQUVEO0FBQ0Q7QUFDQTtBQUNBO0VBQ0NFLEtBQUssV0FBTEEsS0FBS0EsQ0FBQSxFQUE2RjtJQUFBLFNBQUFDLElBQUEsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLEVBQS9EQyxRQUFRLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxHQUFBSyxJQUFBLE1BQUFBLElBQUEsR0FBQUwsSUFBQSxFQUFBSyxJQUFBO01BQVJGLFFBQVEsQ0FBQUUsSUFBQSxJQUFBSixTQUFB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
@@ -21,11 +21,14 @@ exports.setFakeOptions = setFakeOptions;
21
21
 
22
22
  var currentFakeOptions;
23
23
  function setFakeOptions(options) {
24
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We must cast the type here.
24
25
  currentFakeOptions = options;
25
26
  }
26
27
  function getFakeOptionsOnce() {
27
28
  var temp = currentFakeOptions;
28
29
  currentFakeOptions = null;
30
+
31
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We must cast the type here.
29
32
  return temp;
30
33
  }
31
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjdXJyZW50RmFrZU9wdGlvbnMiLCJzZXRGYWtlT3B0aW9ucyIsIm9wdGlvbnMiLCJnZXRGYWtlT3B0aW9uc09uY2UiLCJ0ZW1wIl0sInNvdXJjZXMiOlsiLi4vc3JjL2Zha2VPcHRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2gsIE1lc3NhZ2UsIE51bGxhYmxlIH0gZnJvbSBcIi4vVHlwZXNcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgYHJlbmRlcldpdGhNb2RlbGAgZnVuY3Rpb24uXG4gKiBAaW50ZXJmYWNlIFJlbmRlcldpdGhNb2RlbE9wdGlvbnNcbiAqIEB0ZW1wbGF0ZSBUTW9kZWwgVGhlIHR5cGUgb2YgdGhlIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlcyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5pbnRlcmZhY2UgUmVuZGVyV2l0aE1vZGVsT3B0aW9uczxUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+IHtcblx0LyoqXG5cdCAqIEEgZmFrZSBkaXNwYXRjaCBmdW5jdGlvbiB0byB1c2Ugd2hlbiBwcm9jZXNzaW5nIG1lc3NhZ2VzLlxuXHQgKiBAdHlwZSB7RGlzcGF0Y2g8VE1lc3NhZ2U+fVxuXHQgKi9cblx0ZGlzcGF0Y2g/OiBEaXNwYXRjaDxUTWVzc2FnZT47XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGByZW5kZXJXaXRoTW9kZWxgIGZ1bmN0aW9uLlxuICogQGludGVyZmFjZSBSZW5kZXJXaXRoTW9kZWxPcHRpb25zXG4gKiBAdGVtcGxhdGUgVE1vZGVsIFRoZSB0eXBlIG9mIHRoZSBtb2RlbC5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqL1xuaW50ZXJmYWNlIFJlbmRlcldpdGhNb2RlbENvbmZpZzxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gZXh0ZW5kcyBSZW5kZXJXaXRoTW9kZWxPcHRpb25zPFRNZXNzYWdlPiB7XG5cdC8qKlxuXHQgKiBUaGUgbW9kZWwgdG8gdXNlIHdoZW4gcmVuZGVyaW5nIHRoZSBjb21wb25lbnQuXG5cdCAqIEB0eXBlIHtUTW9kZWx9XG5cdCAqL1xuXHRtb2RlbDogVE1vZGVsO1xufVxuXG5sZXQgY3VycmVudEZha2VPcHRpb25zOiBOdWxsYWJsZTxSZW5kZXJXaXRoTW9kZWxDb25maWc8dW5rbm93biwgTWVzc2FnZT4+O1xuXG5mdW5jdGlvbiBzZXRGYWtlT3B0aW9uczxUTW9kZWwgZXh0ZW5kcyBvYmplY3QsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdG9wdGlvbnM6IE51bGxhYmxlPFJlbmRlcldpdGhNb2RlbENvbmZpZzxUTW9kZWwsIFRNZXNzYWdlPj4sXG4pOiB2b2lkIHtcblx0Y3VycmVudEZha2VPcHRpb25zID0gb3B0aW9ucyBhcyBSZW5kZXJXaXRoTW9kZWxDb25maWc8dW5rbm93biwgTWVzc2FnZT47XG59XG5cbmZ1bmN0aW9uIGdldEZha2VPcHRpb25zT25jZTxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oKTogTnVsbGFibGU8UmVuZGVyV2l0aE1vZGVsQ29uZmlnPFRNb2RlbCwgVE1lc3NhZ2U+PiB7XG5cdGNvbnN0IHRlbXAgPSBjdXJyZW50RmFrZU9wdGlvbnM7XG5cblx0Y3VycmVudEZha2VPcHRpb25zID0gbnVsbDtcblxuXHRyZXR1cm4gdGVtcCBhcyBSZW5kZXJXaXRoTW9kZWxDb25maWc8VE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbmV4cG9ydCB0eXBlIHsgUmVuZGVyV2l0aE1vZGVsT3B0aW9ucyB9O1xuXG5leHBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UsIHNldEZha2VPcHRpb25zIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVNBLElBQUlBLGtCQUFxRTtBQUV6RSxTQUFTQyxjQUFjQSxDQUN0QkMsT0FBMEQsRUFDbkQ7RUFDUEYsa0JBQWtCLEdBQUdFLE9BQWtEO0FBQ3hFO0FBRUEsU0FBU0Msa0JBQWtCQSxDQUFBLEVBQXdGO0VBQ2xILElBQU1DLElBQUksR0FBR0osa0JBQWtCO0VBRS9CQSxrQkFBa0IsR0FBRyxJQUFJO0VBRXpCLE9BQU9JLElBQUk7QUFDWiIsImlnbm9yZUxpc3QiOltdfQ==
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjdXJyZW50RmFrZU9wdGlvbnMiLCJzZXRGYWtlT3B0aW9ucyIsIm9wdGlvbnMiLCJnZXRGYWtlT3B0aW9uc09uY2UiLCJ0ZW1wIl0sInNvdXJjZXMiOlsiLi4vc3JjL2Zha2VPcHRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2gsIE1lc3NhZ2UsIE51bGxhYmxlIH0gZnJvbSBcIi4vVHlwZXNcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgYHJlbmRlcldpdGhNb2RlbGAgZnVuY3Rpb24uXG4gKiBAaW50ZXJmYWNlIFJlbmRlcldpdGhNb2RlbE9wdGlvbnNcbiAqIEB0ZW1wbGF0ZSBUTW9kZWwgVGhlIHR5cGUgb2YgdGhlIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlcyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5pbnRlcmZhY2UgUmVuZGVyV2l0aE1vZGVsT3B0aW9uczxUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+IHtcblx0LyoqXG5cdCAqIEEgZmFrZSBkaXNwYXRjaCBmdW5jdGlvbiB0byB1c2Ugd2hlbiBwcm9jZXNzaW5nIG1lc3NhZ2VzLlxuXHQgKiBAdHlwZSB7RGlzcGF0Y2g8VE1lc3NhZ2U+fVxuXHQgKi9cblx0ZGlzcGF0Y2g/OiBEaXNwYXRjaDxUTWVzc2FnZT47XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGByZW5kZXJXaXRoTW9kZWxgIGZ1bmN0aW9uLlxuICogQGludGVyZmFjZSBSZW5kZXJXaXRoTW9kZWxPcHRpb25zXG4gKiBAdGVtcGxhdGUgVE1vZGVsIFRoZSB0eXBlIG9mIHRoZSBtb2RlbC5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqL1xuaW50ZXJmYWNlIFJlbmRlcldpdGhNb2RlbENvbmZpZzxUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4gZXh0ZW5kcyBSZW5kZXJXaXRoTW9kZWxPcHRpb25zPFRNZXNzYWdlPiB7XG5cdC8qKlxuXHQgKiBUaGUgbW9kZWwgdG8gdXNlIHdoZW4gcmVuZGVyaW5nIHRoZSBjb21wb25lbnQuXG5cdCAqIEB0eXBlIHtUTW9kZWx9XG5cdCAqL1xuXHRtb2RlbDogVE1vZGVsO1xufVxuXG5sZXQgY3VycmVudEZha2VPcHRpb25zOiBOdWxsYWJsZTxSZW5kZXJXaXRoTW9kZWxDb25maWc8dW5rbm93biwgTWVzc2FnZT4+O1xuXG5mdW5jdGlvbiBzZXRGYWtlT3B0aW9uczxUTW9kZWwgZXh0ZW5kcyBvYmplY3QsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdG9wdGlvbnM6IE51bGxhYmxlPFJlbmRlcldpdGhNb2RlbENvbmZpZzxUTW9kZWwsIFRNZXNzYWdlPj4sXG4pOiB2b2lkIHtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb24gLS0gV2UgbXVzdCBjYXN0IHRoZSB0eXBlIGhlcmUuXG5cdGN1cnJlbnRGYWtlT3B0aW9ucyA9IG9wdGlvbnMgYXMgUmVuZGVyV2l0aE1vZGVsQ29uZmlnPHVua25vd24sIE1lc3NhZ2U+O1xufVxuXG5mdW5jdGlvbiBnZXRGYWtlT3B0aW9uc09uY2U8VE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KCk6IE51bGxhYmxlPFJlbmRlcldpdGhNb2RlbENvbmZpZzxUTW9kZWwsIFRNZXNzYWdlPj4ge1xuXHRjb25zdCB0ZW1wID0gY3VycmVudEZha2VPcHRpb25zO1xuXG5cdGN1cnJlbnRGYWtlT3B0aW9ucyA9IG51bGw7XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb24gLS0gV2UgbXVzdCBjYXN0IHRoZSB0eXBlIGhlcmUuXG5cdHJldHVybiB0ZW1wIGFzIFJlbmRlcldpdGhNb2RlbENvbmZpZzxUTW9kZWwsIFRNZXNzYWdlPjtcbn1cblxuZXhwb3J0IHR5cGUgeyBSZW5kZXJXaXRoTW9kZWxPcHRpb25zIH07XG5cbmV4cG9ydCB7IGdldEZha2VPcHRpb25zT25jZSwgc2V0RmFrZU9wdGlvbnMgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBU0EsSUFBSUEsa0JBQXFFO0FBRXpFLFNBQVNDLGNBQWNBLENBQ3RCQyxPQUEwRCxFQUNuRDtFQUNQO0VBQ0FGLGtCQUFrQixHQUFHRSxPQUFrRDtBQUN4RTtBQUVBLFNBQVNDLGtCQUFrQkEsQ0FBQSxFQUF3RjtFQUNsSCxJQUFNQyxJQUFJLEdBQUdKLGtCQUFrQjtFQUUvQkEsa0JBQWtCLEdBQUcsSUFBSTs7RUFFekI7RUFDQSxPQUFPSSxJQUFJO0FBQ1oiLCJpZ25vcmVMaXN0IjpbXX0=
package/dist/useElmish.js CHANGED
@@ -42,6 +42,8 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /* eslint-disabl
42
42
  * @template TMessage The type of the messages discriminated union.
43
43
  */
44
44
 
45
+ var withDevTools = _Init.Services.enableDevTools && typeof window !== "undefined" && "__REDUX_DEVTOOLS_EXTENSION__" in window;
46
+
45
47
  /**
46
48
  * Hook to use the Elm architecture pattern in a function component.
47
49
  * @param {UseElmishOptions} options The options passed the the hook.
@@ -65,10 +67,23 @@ function useElmish(_ref) {
65
67
  setModel = _useState2[1];
66
68
  var propsRef = (0, _react.useRef)(props);
67
69
  var isMountedRef = (0, _react.useRef)(true);
70
+ var devTools = (0, _react.useRef)(null);
68
71
  (0, _react.useEffect)(function () {
72
+ if (withDevTools) {
73
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
74
+ // @ts-expect-error
75
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, no-underscore-dangle, @typescript-eslint/no-unsafe-member-access
76
+ devTools.current = window.__REDUX_DEVTOOLS_EXTENSION__.connect();
77
+ }
69
78
  isMountedRef.current = true;
70
79
  return function () {
71
80
  isMountedRef.current = false;
81
+ if (withDevTools) {
82
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
83
+ // @ts-expect-error
84
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, no-underscore-dangle, @typescript-eslint/no-unsafe-member-access
85
+ window.__REDUX_DEVTOOLS_EXTENSION__.disconnect();
86
+ }
72
87
  };
73
88
  }, []);
74
89
  var initializedModel = model;
@@ -96,6 +111,8 @@ function useElmish(_ref) {
96
111
  var _Services$logger;
97
112
  var updatedModel = _objectSpread(_objectSpread({}, prevModel), currentModel);
98
113
  (_Services$logger = _Init.Services.logger) === null || _Services$logger === void 0 || _Services$logger.debug("Update model for", name, updatedModel);
114
+
115
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- We always have a full model here
99
116
  return updatedModel;
100
117
  });
101
118
  }
@@ -151,6 +168,13 @@ function useElmish(_ref) {
151
168
  deferredCommands = _getDeferred2[1];
152
169
  if ((0, _Common.modelHasChanged)(currentModel, _objectSpread(_objectSpread({}, deferredModel), newModel))) {
153
170
  currentModel = _objectSpread(_objectSpread(_objectSpread({}, currentModel), deferredModel), newModel);
171
+ if (withDevTools) {
172
+ var _devTools$current;
173
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
174
+ // @ts-expect-error
175
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
176
+ (_devTools$current = devTools.current) === null || _devTools$current === void 0 || _devTools$current.send(nextMsg.name, currentModel);
177
+ }
154
178
  modified = true;
155
179
  }
156
180
  _Common.execCmd.apply(void 0, [dispatch].concat(_toConsumableArray(commands), _toConsumableArray(deferredCommands)));
@@ -167,4 +191,4 @@ function callUpdateMap(updateMap, msg, model, props, options) {
167
191
  var msgName = msg.name;
168
192
  return updateMap[msgName](msg, model, props, options);
169
193
  }
170
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX0NvbW1vbiIsIl9Jbml0IiwiX2NyZWF0ZUNhbGxCYXNlIiwiX2NyZWF0ZURlZmVyMyIsIl9mYWtlT3B0aW9ucyIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfdG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9ub25JdGVyYWJsZVJlc3QiLCJTeW1ib2wiLCJpdGVyYXRvciIsImZyb20iLCJvd25LZXlzIiwiZSIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiX3R5cGVvZiIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlN0cmluZyIsIk51bWJlciIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiYSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJ0ZXN0IiwibiIsImwiLCJ1IiwiZiIsIm5leHQiLCJkb25lIiwidXNlRWxtaXNoIiwiX3JlZiIsIl9mYWtlT3B0aW9ucyRkaXNwYXRjaCIsInByb3BzIiwiaW5pdCIsInVwZGF0ZSIsInN1YnNjcmlwdGlvbiIsInJ1bm5pbmciLCJidWZmZXIiLCJjdXJyZW50TW9kZWwiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJtb2RlbCIsInNldE1vZGVsIiwicHJvcHNSZWYiLCJ1c2VSZWYiLCJpc01vdW50ZWRSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwiaW5pdGlhbGl6ZWRNb2RlbCIsImZha2VPcHRpb25zIiwiZ2V0RmFrZU9wdGlvbnNPbmNlIiwiZGlzcGF0Y2giLCJ1c2VDYWxsYmFjayIsIm1zZyIsIm5leHRNc2ciLCJtb2RpZmllZCIsImhhbmRsZU1lc3NhZ2UiLCJzaGlmdCIsInByZXZNb2RlbCIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJ1cGRhdGVkTW9kZWwiLCJTZXJ2aWNlcyIsImxvZ2dlciIsImRlYnVnIiwiX1NlcnZpY2VzJGxvZ2dlcjIiLCJfcmVmMiIsIl9yZWYzIiwiaW5pdE1vZGVsIiwiaW5pdENvbW1hbmRzIiwiZXhlY0NtZCIsImNvbmNhdCIsIl9zdWJzY3JpcHRpb24iLCJfc3Vic2NyaXB0aW9uMiIsInN1YkNtZCIsImRlc3RydWN0b3IiLCJsb2dNZXNzYWdlIiwiX2NyZWF0ZURlZmVyIiwiY3JlYXRlRGVmZXIiLCJfY3JlYXRlRGVmZXIyIiwiZGVmZXIiLCJnZXREZWZlcnJlZCIsImNhbGxCYXNlIiwiY3JlYXRlQ2FsbEJhc2UiLCJfY2FsbFVwZGF0ZSIsImNhbGxVcGRhdGUiLCJfY2FsbFVwZGF0ZTIiLCJuZXdNb2RlbCIsImNvbW1hbmRzIiwiX2dldERlZmVycmVkIiwiX2dldERlZmVycmVkMiIsImRlZmVycmVkTW9kZWwiLCJkZWZlcnJlZENvbW1hbmRzIiwibW9kZWxIYXNDaGFuZ2VkIiwib3B0aW9ucyIsImNhbGxVcGRhdGVNYXAiLCJ1cGRhdGVNYXAiLCJtc2dOYW1lIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZUVsbWlzaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHMgKi9cbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGV4ZWNDbWQsIGxvZ01lc3NhZ2UsIG1vZGVsSGFzQ2hhbmdlZCB9IGZyb20gXCIuL0NvbW1vblwiO1xuaW1wb3J0IHsgU2VydmljZXMgfSBmcm9tIFwiLi9Jbml0XCI7XG5pbXBvcnQgdHlwZSB7XG5cdENtZCxcblx0RGlzcGF0Y2gsXG5cdEluaXRGdW5jdGlvbixcblx0TWVzc2FnZSxcblx0TnVsbGFibGUsXG5cdFVwZGF0ZUZ1bmN0aW9uLFxuXHRVcGRhdGVGdW5jdGlvbk9wdGlvbnMsXG5cdFVwZGF0ZU1hcCxcblx0VXBkYXRlUmV0dXJuVHlwZSxcbn0gZnJvbSBcIi4vVHlwZXNcIjtcbmltcG9ydCB7IGNyZWF0ZUNhbGxCYXNlIH0gZnJvbSBcIi4vY3JlYXRlQ2FsbEJhc2VcIjtcbmltcG9ydCB7IGNyZWF0ZURlZmVyIH0gZnJvbSBcIi4vY3JlYXRlRGVmZXJcIjtcbmltcG9ydCB7IGdldEZha2VPcHRpb25zT25jZSB9IGZyb20gXCIuL2Zha2VPcHRpb25zXCI7XG5cbi8qKlxuICogVGhlIHJldHVybiB0eXBlIG9mIHRoZSBgc3Vic2NyaXB0aW9uYCBmdW5jdGlvbi5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqL1xudHlwZSBTdWJzY3JpcHRpb25SZXN1bHQ8VE1lc3NhZ2U+ID0gW0NtZDxUTWVzc2FnZT4sICgoKSA9PiB2b2lkKT9dO1xudHlwZSBTdWJzY3JpcHRpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiA9IChtb2RlbDogVE1vZGVsLCBwcm9wczogVFByb3BzKSA9PiBTdWJzY3JpcHRpb25SZXN1bHQ8VE1lc3NhZ2U+O1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBgdXNlRWxtaXNoYCBob29rLlxuICogQGludGVyZmFjZSBVc2VFbG1pc2hPcHRpb25zXG4gKiBAdGVtcGxhdGUgVFByb3BzIFRoZSB0eXBlIG9mIHRoZSBwcm9wcy5cbiAqIEB0ZW1wbGF0ZSBUTW9kZWwgVGhlIHR5cGUgb2YgdGhlIG1vZGVsLlxuICogQHRlbXBsYXRlIFRNZXNzYWdlIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlcyBkaXNjcmltaW5hdGVkIHVuaW9uLlxuICovXG5pbnRlcmZhY2UgVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPiB7XG5cdC8qKlxuXHQgKiBUaGUgbmFtZSBvZiB0aGUgY29tcG9uZW50LiBUaGlzIGlzIHVzZWQgZm9yIGxvZ2dpbmcgb25seS5cblx0ICogQHR5cGUge3N0cmluZ31cblx0ICovXG5cdG5hbWU6IHN0cmluZztcblx0LyoqXG5cdCAqIFRoZSBwcm9wcyBwYXNzZWQgdG8gdGhlIGNvbXBvbmVudC5cblx0ICogQHR5cGUge1RQcm9wc31cblx0ICovXG5cdHByb3BzOiBUUHJvcHM7XG5cdC8qKlxuXHQgKiBUaGUgZnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSB0aGUgY29tcG9uZW50cyBtb2RlbC4gVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBvbmNlLlxuXHQgKiBAdHlwZSB7SW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT59XG5cdCAqL1xuXHRpbml0OiBJbml0RnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPjtcblx0LyoqXG5cdCAqIFRoZSBgdXBkYXRlYCBmdW5jdGlvbiBvciB1cGRhdGUgbWFwIG9iamVjdC5cblx0ICogQHR5cGUgeyhVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pfVxuXHQgKi9cblx0dXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG5cdC8qKlxuXHQgKiBUaGUgb3B0aW9uYWwgYHN1YnNjcmlwdGlvbmAgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb25jZS5cblx0ICogQHR5cGUgeyhVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pfVxuXHQgKi9cblx0c3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG59XG5cbi8qKlxuICogSG9vayB0byB1c2UgdGhlIEVsbSBhcmNoaXRlY3R1cmUgcGF0dGVybiBpbiBhIGZ1bmN0aW9uIGNvbXBvbmVudC5cbiAqIEBwYXJhbSB7VXNlRWxtaXNoT3B0aW9uc30gb3B0aW9ucyBUaGUgb3B0aW9ucyBwYXNzZWQgdGhlIHRoZSBob29rLlxuICogQHJldHVybnMgQSB0dXBsZSBjb250YWluaW5nIHRoZSBjdXJyZW50IG1vZGVsIGFuZCB0aGUgZGlzcGF0Y2hlci5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBbbW9kZWwsIGRpc3BhdGNoXSA9IHVzZUVsbWlzaCh7IHByb3BzLCBpbml0LCB1cGRhdGUsIG5hbWU6IFwiTXlDb21wb25lbnRcIiB9KTtcbiAqL1xuZnVuY3Rpb24gdXNlRWxtaXNoPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KHtcblx0bmFtZSxcblx0cHJvcHMsXG5cdGluaXQsXG5cdHVwZGF0ZSxcblx0c3Vic2NyaXB0aW9uLFxufTogVXNlRWxtaXNoT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KTogW1RNb2RlbCwgRGlzcGF0Y2g8VE1lc3NhZ2U+XSB7XG5cdGxldCBydW5uaW5nID0gZmFsc2U7XG5cdGNvbnN0IGJ1ZmZlcjogVE1lc3NhZ2VbXSA9IFtdO1xuXHRsZXQgY3VycmVudE1vZGVsOiBQYXJ0aWFsPFRNb2RlbD4gPSB7fTtcblxuXHRjb25zdCBbbW9kZWwsIHNldE1vZGVsXSA9IHVzZVN0YXRlPE51bGxhYmxlPFRNb2RlbD4+KG51bGwpO1xuXHRjb25zdCBwcm9wc1JlZiA9IHVzZVJlZihwcm9wcyk7XG5cdGNvbnN0IGlzTW91bnRlZFJlZiA9IHVzZVJlZih0cnVlKTtcblxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlzTW91bnRlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcblxuXHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRpc01vdW50ZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuXHRcdH07XG5cdH0sIFtdKTtcblxuXHRsZXQgaW5pdGlhbGl6ZWRNb2RlbCA9IG1vZGVsO1xuXG5cdGlmIChwcm9wc1JlZi5jdXJyZW50ICE9PSBwcm9wcykge1xuXHRcdHByb3BzUmVmLmN1cnJlbnQgPSBwcm9wcztcblx0fVxuXG5cdGNvbnN0IGZha2VPcHRpb25zID0gZ2V0RmFrZU9wdGlvbnNPbmNlKCk7XG5cdGNvbnN0IGRpc3BhdGNoID0gdXNlQ2FsbGJhY2soXG5cdFx0ZmFrZU9wdGlvbnM/LmRpc3BhdGNoID8/XG5cdFx0XHQoKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRcdFx0aWYgKHJ1bm5pbmcpIHtcblx0XHRcdFx0XHRidWZmZXIucHVzaChtc2cpO1xuXG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cnVubmluZyA9IHRydWU7XG5cblx0XHRcdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXHRcdFx0XHRsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuXHRcdFx0XHRkbyB7XG5cdFx0XHRcdFx0aWYgKGhhbmRsZU1lc3NhZ2UobmV4dE1zZykpIHtcblx0XHRcdFx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRuZXh0TXNnID0gYnVmZmVyLnNoaWZ0KCk7XG5cdFx0XHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0XHRcdHJ1bm5pbmcgPSBmYWxzZTtcblxuXHRcdFx0XHRpZiAoaXNNb3VudGVkUmVmLmN1cnJlbnQgJiYgbW9kaWZpZWQpIHtcblx0XHRcdFx0XHRzZXRNb2RlbCgocHJldk1vZGVsKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCB1cGRhdGVkTW9kZWwgPSB7IC4uLihwcmV2TW9kZWwgYXMgVE1vZGVsKSwgLi4uY3VycmVudE1vZGVsIH07XG5cblx0XHRcdFx0XHRcdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJVcGRhdGUgbW9kZWwgZm9yXCIsIG5hbWUsIHVwZGF0ZWRNb2RlbCk7XG5cblx0XHRcdFx0XHRcdHJldHVybiB1cGRhdGVkTW9kZWw7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH0pLFxuXHRcdFtdLFxuXHQpO1xuXG5cdGlmICghaW5pdGlhbGl6ZWRNb2RlbCkge1xuXHRcdGNvbnN0IFtpbml0TW9kZWwsIC4uLmluaXRDb21tYW5kc10gPSBmYWtlT3B0aW9ucz8ubW9kZWwgPyBbZmFrZU9wdGlvbnMubW9kZWwgYXMgVE1vZGVsXSA6IGluaXQocHJvcHMpO1xuXG5cdFx0aW5pdGlhbGl6ZWRNb2RlbCA9IGluaXRNb2RlbDtcblx0XHRzZXRNb2RlbChpbml0aWFsaXplZE1vZGVsKTtcblxuXHRcdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJJbml0aWFsIG1vZGVsIGZvclwiLCBuYW1lLCBpbml0aWFsaXplZE1vZGVsKTtcblxuXHRcdGV4ZWNDbWQoZGlzcGF0Y2gsIC4uLmluaXRDb21tYW5kcyk7XG5cdH1cblxuXHQvLyBiaW9tZS1pZ25vcmUgbGludC9jb3JyZWN0bmVzcy91c2VFeGhhdXN0aXZlRGVwZW5kZW5jaWVzOiBXZSB3YW50IHRvIHJ1biB0aGlzIGVmZmVjdCBvbmx5IG9uY2Vcblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpZiAoc3Vic2NyaXB0aW9uKSB7XG5cdFx0XHRjb25zdCBbc3ViQ21kLCBkZXN0cnVjdG9yXSA9IHN1YnNjcmlwdGlvbihpbml0aWFsaXplZE1vZGVsLCBwcm9wcyk7XG5cblx0XHRcdGV4ZWNDbWQoZGlzcGF0Y2gsIHN1YkNtZCk7XG5cblx0XHRcdHJldHVybiBkZXN0cnVjdG9yO1xuXHRcdH1cblx0fSwgW10pO1xuXG5cdHJldHVybiBbaW5pdGlhbGl6ZWRNb2RlbCwgZGlzcGF0Y2hdO1xuXG5cdGZ1bmN0aW9uIGhhbmRsZU1lc3NhZ2UobmV4dE1zZzogVE1lc3NhZ2UpOiBib29sZWFuIHtcblx0XHRpZiAoIWluaXRpYWxpemVkTW9kZWwpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHRsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuXHRcdGxvZ01lc3NhZ2UobmFtZSwgbmV4dE1zZyk7XG5cblx0XHRjb25zdCB1cGRhdGVkTW9kZWwgPSB7IC4uLmluaXRpYWxpemVkTW9kZWwsIC4uLmN1cnJlbnRNb2RlbCB9O1xuXG5cdFx0Y29uc3QgW2RlZmVyLCBnZXREZWZlcnJlZF0gPSBjcmVhdGVEZWZlcjxUTW9kZWwsIFRNZXNzYWdlPigpO1xuXHRcdGNvbnN0IGNhbGxCYXNlID0gY3JlYXRlQ2FsbEJhc2UobmV4dE1zZywgdXBkYXRlZE1vZGVsLCBwcm9wc1JlZi5jdXJyZW50LCB7IGRlZmVyIH0pO1xuXG5cdFx0Y29uc3QgW25ld01vZGVsLCAuLi5jb21tYW5kc10gPSBjYWxsVXBkYXRlKHVwZGF0ZSwgbmV4dE1zZywgdXBkYXRlZE1vZGVsLCBwcm9wc1JlZi5jdXJyZW50LCB7IGRlZmVyLCBjYWxsQmFzZSB9KTtcblxuXHRcdGNvbnN0IFtkZWZlcnJlZE1vZGVsLCBkZWZlcnJlZENvbW1hbmRzXSA9IGdldERlZmVycmVkKCk7XG5cblx0XHRpZiAobW9kZWxIYXNDaGFuZ2VkKGN1cnJlbnRNb2RlbCwgeyAuLi5kZWZlcnJlZE1vZGVsLCAuLi5uZXdNb2RlbCB9KSkge1xuXHRcdFx0Y3VycmVudE1vZGVsID0geyAuLi5jdXJyZW50TW9kZWwsIC4uLmRlZmVycmVkTW9kZWwsIC4uLm5ld01vZGVsIH07XG5cblx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHR9XG5cblx0XHRleGVjQ21kKGRpc3BhdGNoLCAuLi5jb21tYW5kcywgLi4uZGVmZXJyZWRDb21tYW5kcyk7XG5cblx0XHRyZXR1cm4gbW9kaWZpZWQ7XG5cdH1cbn1cblxuZnVuY3Rpb24gY2FsbFVwZGF0ZTxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0dXBkYXRlOiBVcGRhdGVGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+IHwgVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG5cdG1zZzogVE1lc3NhZ2UsXG5cdG1vZGVsOiBUTW9kZWwsXG5cdHByb3BzOiBUUHJvcHMsXG5cdG9wdGlvbnM6IFVwZGF0ZUZ1bmN0aW9uT3B0aW9uczxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuKTogVXBkYXRlUmV0dXJuVHlwZTxUTW9kZWwsIFRNZXNzYWdlPiB7XG5cdGlmICh0eXBlb2YgdXBkYXRlID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRyZXR1cm4gdXBkYXRlKG1vZGVsLCBtc2csIHByb3BzLCBvcHRpb25zKTtcblx0fVxuXG5cdHJldHVybiBjYWxsVXBkYXRlTWFwKHVwZGF0ZSwgbXNnLCBtb2RlbCwgcHJvcHMsIG9wdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBjYWxsVXBkYXRlTWFwPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZSBleHRlbmRzIE1lc3NhZ2U+KFxuXHR1cGRhdGVNYXA6IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogVE1vZGVsLFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbik6IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRjb25zdCBtc2dOYW1lOiBUTWVzc2FnZVtcIm5hbWVcIl0gPSBtc2cubmFtZTtcblxuXHRyZXR1cm4gdXBkYXRlTWFwW21zZ05hbWVdKG1zZywgbW9kZWwsIHByb3BzLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IHR5cGUgeyBTdWJzY3JpcHRpb24sIFN1YnNjcmlwdGlvblJlc3VsdCwgVXNlRWxtaXNoT3B0aW9ucyB9O1xuXG5leHBvcnQgeyBjYWxsVXBkYXRlLCBjYWxsVXBkYXRlTWFwLCB1c2VFbG1pc2ggfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBWUEsSUFBQUcsZUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksYUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTCxPQUFBO0FBQW1ELFNBQUFNLG1CQUFBQyxDQUFBLFdBQUFDLGtCQUFBLENBQUFELENBQUEsS0FBQUUsZ0JBQUEsQ0FBQUYsQ0FBQSxLQUFBRywyQkFBQSxDQUFBSCxDQUFBLEtBQUFJLGtCQUFBO0FBQUEsU0FBQUEsbUJBQUEsY0FBQUMsU0FBQTtBQUFBLFNBQUFKLG1CQUFBRCxDQUFBLFFBQUFNLEtBQUEsQ0FBQUMsT0FBQSxDQUFBUCxDQUFBLFVBQUFRLGlCQUFBLENBQUFSLENBQUE7QUFBQSxTQUFBUyxTQUFBVCxDQUFBLFdBQUFVLGVBQUEsQ0FBQVYsQ0FBQSxLQUFBRSxnQkFBQSxDQUFBRixDQUFBLEtBQUFHLDJCQUFBLENBQUFILENBQUEsS0FBQVcsZ0JBQUE7QUFBQSxTQUFBVCxpQkFBQUYsQ0FBQSw4QkFBQVksTUFBQSxZQUFBWixDQUFBLENBQUFZLE1BQUEsQ0FBQUMsUUFBQSxhQUFBYixDQUFBLHVCQUFBTSxLQUFBLENBQUFRLElBQUEsQ0FBQWQsQ0FBQTtBQUFBLFNBQUFlLFFBQUFDLENBQUEsRUFBQWhCLENBQUEsUUFBQWlCLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFILENBQUEsT0FBQUUsTUFBQSxDQUFBRSxx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
194
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX0NvbW1vbiIsIl9Jbml0IiwiX2NyZWF0ZUNhbGxCYXNlIiwiX2NyZWF0ZURlZmVyMyIsIl9mYWtlT3B0aW9ucyIsIl90b0NvbnN1bWFibGVBcnJheSIsInIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfdG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9ub25JdGVyYWJsZVJlc3QiLCJTeW1ib2wiLCJpdGVyYXRvciIsImZyb20iLCJvd25LZXlzIiwiZSIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiX3R5cGVvZiIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlN0cmluZyIsIk51bWJlciIsIl9zbGljZWRUb0FycmF5IiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiYSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJ0ZXN0IiwibiIsImwiLCJ1IiwiZiIsIm5leHQiLCJkb25lIiwid2l0aERldlRvb2xzIiwiU2VydmljZXMiLCJlbmFibGVEZXZUb29scyIsIndpbmRvdyIsInVzZUVsbWlzaCIsIl9yZWYiLCJfZmFrZU9wdGlvbnMkZGlzcGF0Y2giLCJwcm9wcyIsImluaXQiLCJ1cGRhdGUiLCJzdWJzY3JpcHRpb24iLCJydW5uaW5nIiwiYnVmZmVyIiwiY3VycmVudE1vZGVsIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwibW9kZWwiLCJzZXRNb2RlbCIsInByb3BzUmVmIiwidXNlUmVmIiwiaXNNb3VudGVkUmVmIiwiZGV2VG9vbHMiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwiX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXyIsImNvbm5lY3QiLCJkaXNjb25uZWN0IiwiaW5pdGlhbGl6ZWRNb2RlbCIsImZha2VPcHRpb25zIiwiZ2V0RmFrZU9wdGlvbnNPbmNlIiwiZGlzcGF0Y2giLCJ1c2VDYWxsYmFjayIsIm1zZyIsIm5leHRNc2ciLCJtb2RpZmllZCIsImhhbmRsZU1lc3NhZ2UiLCJzaGlmdCIsInByZXZNb2RlbCIsIl9TZXJ2aWNlcyRsb2dnZXIiLCJ1cGRhdGVkTW9kZWwiLCJsb2dnZXIiLCJkZWJ1ZyIsIl9TZXJ2aWNlcyRsb2dnZXIyIiwiX3JlZjIiLCJfcmVmMyIsImluaXRNb2RlbCIsImluaXRDb21tYW5kcyIsImV4ZWNDbWQiLCJjb25jYXQiLCJfc3Vic2NyaXB0aW9uIiwiX3N1YnNjcmlwdGlvbjIiLCJzdWJDbWQiLCJkZXN0cnVjdG9yIiwibG9nTWVzc2FnZSIsIl9jcmVhdGVEZWZlciIsImNyZWF0ZURlZmVyIiwiX2NyZWF0ZURlZmVyMiIsImRlZmVyIiwiZ2V0RGVmZXJyZWQiLCJjYWxsQmFzZSIsImNyZWF0ZUNhbGxCYXNlIiwiX2NhbGxVcGRhdGUiLCJjYWxsVXBkYXRlIiwiX2NhbGxVcGRhdGUyIiwibmV3TW9kZWwiLCJjb21tYW5kcyIsIl9nZXREZWZlcnJlZCIsIl9nZXREZWZlcnJlZDIiLCJkZWZlcnJlZE1vZGVsIiwiZGVmZXJyZWRDb21tYW5kcyIsIm1vZGVsSGFzQ2hhbmdlZCIsIl9kZXZUb29scyRjdXJyZW50Iiwic2VuZCIsIm9wdGlvbnMiLCJjYWxsVXBkYXRlTWFwIiwidXBkYXRlTWFwIiwibXNnTmFtZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VFbG1pc2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBleGVjQ21kLCBsb2dNZXNzYWdlLCBtb2RlbEhhc0NoYW5nZWQgfSBmcm9tIFwiLi9Db21tb25cIjtcbmltcG9ydCB7IFNlcnZpY2VzIH0gZnJvbSBcIi4vSW5pdFwiO1xuaW1wb3J0IHR5cGUge1xuXHRDbWQsXG5cdERpc3BhdGNoLFxuXHRJbml0RnVuY3Rpb24sXG5cdE1lc3NhZ2UsXG5cdE51bGxhYmxlLFxuXHRVcGRhdGVGdW5jdGlvbixcblx0VXBkYXRlRnVuY3Rpb25PcHRpb25zLFxuXHRVcGRhdGVNYXAsXG5cdFVwZGF0ZVJldHVyblR5cGUsXG59IGZyb20gXCIuL1R5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVDYWxsQmFzZSB9IGZyb20gXCIuL2NyZWF0ZUNhbGxCYXNlXCI7XG5pbXBvcnQgeyBjcmVhdGVEZWZlciB9IGZyb20gXCIuL2NyZWF0ZURlZmVyXCI7XG5pbXBvcnQgeyBnZXRGYWtlT3B0aW9uc09uY2UgfSBmcm9tIFwiLi9mYWtlT3B0aW9uc1wiO1xuXG4vKipcbiAqIFRoZSByZXR1cm4gdHlwZSBvZiB0aGUgYHN1YnNjcmlwdGlvbmAgZnVuY3Rpb24uXG4gKiBAdGVtcGxhdGUgVE1lc3NhZ2UgVGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2VzIGRpc2NyaW1pbmF0ZWQgdW5pb24uXG4gKi9cbnR5cGUgU3Vic2NyaXB0aW9uUmVzdWx0PFRNZXNzYWdlPiA9IFtDbWQ8VE1lc3NhZ2U+LCAoKCkgPT4gdm9pZCk/XTtcbnR5cGUgU3Vic2NyaXB0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4gPSAobW9kZWw6IFRNb2RlbCwgcHJvcHM6IFRQcm9wcykgPT4gU3Vic2NyaXB0aW9uUmVzdWx0PFRNZXNzYWdlPjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgYHVzZUVsbWlzaGAgaG9vay5cbiAqIEBpbnRlcmZhY2UgVXNlRWxtaXNoT3B0aW9uc1xuICogQHRlbXBsYXRlIFRQcm9wcyBUaGUgdHlwZSBvZiB0aGUgcHJvcHMuXG4gKiBAdGVtcGxhdGUgVE1vZGVsIFRoZSB0eXBlIG9mIHRoZSBtb2RlbC5cbiAqIEB0ZW1wbGF0ZSBUTWVzc2FnZSBUaGUgdHlwZSBvZiB0aGUgbWVzc2FnZXMgZGlzY3JpbWluYXRlZCB1bmlvbi5cbiAqL1xuaW50ZXJmYWNlIFVzZUVsbWlzaE9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4ge1xuXHQvKipcblx0ICogVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudC4gVGhpcyBpcyB1c2VkIGZvciBsb2dnaW5nIG9ubHkuXG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqL1xuXHRuYW1lOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBUaGUgcHJvcHMgcGFzc2VkIHRvIHRoZSBjb21wb25lbnQuXG5cdCAqIEB0eXBlIHtUUHJvcHN9XG5cdCAqL1xuXHRwcm9wczogVFByb3BzO1xuXHQvKipcblx0ICogVGhlIGZ1bmN0aW9uIHRvIGluaXRpYWxpemUgdGhlIGNvbXBvbmVudHMgbW9kZWwuIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb25jZS5cblx0ICogQHR5cGUge0luaXRGdW5jdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+fVxuXHQgKi9cblx0aW5pdDogSW5pdEZ1bmN0aW9uPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT47XG5cdC8qKlxuXHQgKiBUaGUgYHVwZGF0ZWAgZnVuY3Rpb24gb3IgdXBkYXRlIG1hcCBvYmplY3QuXG5cdCAqIEB0eXBlIHsoVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KX1cblx0ICovXG5cdHVwZGF0ZTogVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+O1xuXHQvKipcblx0ICogVGhlIG9wdGlvbmFsIGBzdWJzY3JpcHRpb25gIGZ1bmN0aW9uLiBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIG9uY2UuXG5cdCAqIEB0eXBlIHsoVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+KX1cblx0ICovXG5cdHN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+O1xufVxuXG5jb25zdCB3aXRoRGV2VG9vbHMgPSBTZXJ2aWNlcy5lbmFibGVEZXZUb29scyAmJiB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIFwiX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fX1wiIGluIHdpbmRvdztcblxuLyoqXG4gKiBIb29rIHRvIHVzZSB0aGUgRWxtIGFyY2hpdGVjdHVyZSBwYXR0ZXJuIGluIGEgZnVuY3Rpb24gY29tcG9uZW50LlxuICogQHBhcmFtIHtVc2VFbG1pc2hPcHRpb25zfSBvcHRpb25zIFRoZSBvcHRpb25zIHBhc3NlZCB0aGUgdGhlIGhvb2suXG4gKiBAcmV0dXJucyBBIHR1cGxlIGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgbW9kZWwgYW5kIHRoZSBkaXNwYXRjaGVyLlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IFttb2RlbCwgZGlzcGF0Y2hdID0gdXNlRWxtaXNoKHsgcHJvcHMsIGluaXQsIHVwZGF0ZSwgbmFtZTogXCJNeUNvbXBvbmVudFwiIH0pO1xuICovXG5mdW5jdGlvbiB1c2VFbG1pc2g8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oe1xuXHRuYW1lLFxuXHRwcm9wcyxcblx0aW5pdCxcblx0dXBkYXRlLFxuXHRzdWJzY3JpcHRpb24sXG59OiBVc2VFbG1pc2hPcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4pOiBbVE1vZGVsLCBEaXNwYXRjaDxUTWVzc2FnZT5dIHtcblx0bGV0IHJ1bm5pbmcgPSBmYWxzZTtcblx0Y29uc3QgYnVmZmVyOiBUTWVzc2FnZVtdID0gW107XG5cdGxldCBjdXJyZW50TW9kZWw6IFBhcnRpYWw8VE1vZGVsPiA9IHt9O1xuXG5cdGNvbnN0IFttb2RlbCwgc2V0TW9kZWxdID0gdXNlU3RhdGU8TnVsbGFibGU8VE1vZGVsPj4obnVsbCk7XG5cdGNvbnN0IHByb3BzUmVmID0gdXNlUmVmKHByb3BzKTtcblx0Y29uc3QgaXNNb3VudGVkUmVmID0gdXNlUmVmKHRydWUpO1xuXHRjb25zdCBkZXZUb29scyA9IHVzZVJlZjx1bmtub3duPihudWxsKTtcblxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmICh3aXRoRGV2VG9vbHMpIHtcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3Jcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGwsIG5vLXVuZGVyc2NvcmUtZGFuZ2xlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3Ncblx0XHRcdGRldlRvb2xzLmN1cnJlbnQgPSB3aW5kb3cuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXy5jb25uZWN0KCk7XG5cdFx0fVxuXG5cdFx0aXNNb3VudGVkUmVmLmN1cnJlbnQgPSB0cnVlO1xuXG5cdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdGlzTW91bnRlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG5cblx0XHRcdGlmICh3aXRoRGV2VG9vbHMpIHtcblx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yXG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGwsIG5vLXVuZGVyc2NvcmUtZGFuZ2xlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3Ncblx0XHRcdFx0d2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18uZGlzY29ubmVjdCgpO1xuXHRcdFx0fVxuXHRcdH07XG5cdH0sIFtdKTtcblxuXHRsZXQgaW5pdGlhbGl6ZWRNb2RlbCA9IG1vZGVsO1xuXG5cdGlmIChwcm9wc1JlZi5jdXJyZW50ICE9PSBwcm9wcykge1xuXHRcdHByb3BzUmVmLmN1cnJlbnQgPSBwcm9wcztcblx0fVxuXG5cdGNvbnN0IGZha2VPcHRpb25zID0gZ2V0RmFrZU9wdGlvbnNPbmNlPFRNb2RlbCwgVE1lc3NhZ2U+KCk7XG5cdGNvbnN0IGRpc3BhdGNoID0gdXNlQ2FsbGJhY2soXG5cdFx0ZmFrZU9wdGlvbnM/LmRpc3BhdGNoID8/XG5cdFx0XHQoKG1zZzogVE1lc3NhZ2UpOiB2b2lkID0+IHtcblx0XHRcdFx0aWYgKHJ1bm5pbmcpIHtcblx0XHRcdFx0XHRidWZmZXIucHVzaChtc2cpO1xuXG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cnVubmluZyA9IHRydWU7XG5cblx0XHRcdFx0bGV0IG5leHRNc2c6IFRNZXNzYWdlIHwgdW5kZWZpbmVkID0gbXNnO1xuXHRcdFx0XHRsZXQgbW9kaWZpZWQgPSBmYWxzZTtcblxuXHRcdFx0XHRkbyB7XG5cdFx0XHRcdFx0aWYgKGhhbmRsZU1lc3NhZ2UobmV4dE1zZykpIHtcblx0XHRcdFx0XHRcdG1vZGlmaWVkID0gdHJ1ZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRuZXh0TXNnID0gYnVmZmVyLnNoaWZ0KCk7XG5cdFx0XHRcdH0gd2hpbGUgKG5leHRNc2cpO1xuXG5cdFx0XHRcdHJ1bm5pbmcgPSBmYWxzZTtcblxuXHRcdFx0XHRpZiAoaXNNb3VudGVkUmVmLmN1cnJlbnQgJiYgbW9kaWZpZWQpIHtcblx0XHRcdFx0XHRzZXRNb2RlbCgocHJldk1vZGVsKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCB1cGRhdGVkTW9kZWwgPSB7IC4uLnByZXZNb2RlbCwgLi4uY3VycmVudE1vZGVsIH07XG5cblx0XHRcdFx0XHRcdFNlcnZpY2VzLmxvZ2dlcj8uZGVidWcoXCJVcGRhdGUgbW9kZWwgZm9yXCIsIG5hbWUsIHVwZGF0ZWRNb2RlbCk7XG5cblx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uIC0tIFdlIGFsd2F5cyBoYXZlIGEgZnVsbCBtb2RlbCBoZXJlXG5cdFx0XHRcdFx0XHRyZXR1cm4gdXBkYXRlZE1vZGVsIGFzIFRNb2RlbDtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSksXG5cdFx0W10sXG5cdCk7XG5cblx0aWYgKCFpbml0aWFsaXplZE1vZGVsKSB7XG5cdFx0Y29uc3QgW2luaXRNb2RlbCwgLi4uaW5pdENvbW1hbmRzXSA9IGZha2VPcHRpb25zPy5tb2RlbCA/IFtmYWtlT3B0aW9ucy5tb2RlbF0gOiBpbml0KHByb3BzKTtcblxuXHRcdGluaXRpYWxpemVkTW9kZWwgPSBpbml0TW9kZWw7XG5cdFx0c2V0TW9kZWwoaW5pdGlhbGl6ZWRNb2RlbCk7XG5cblx0XHRTZXJ2aWNlcy5sb2dnZXI/LmRlYnVnKFwiSW5pdGlhbCBtb2RlbCBmb3JcIiwgbmFtZSwgaW5pdGlhbGl6ZWRNb2RlbCk7XG5cblx0XHRleGVjQ21kKGRpc3BhdGNoLCAuLi5pbml0Q29tbWFuZHMpO1xuXHR9XG5cblx0Ly8gYmlvbWUtaWdub3JlIGxpbnQvY29ycmVjdG5lc3MvdXNlRXhoYXVzdGl2ZURlcGVuZGVuY2llczogV2Ugd2FudCB0byBydW4gdGhpcyBlZmZlY3Qgb25seSBvbmNlXG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0aWYgKHN1YnNjcmlwdGlvbikge1xuXHRcdFx0Y29uc3QgW3N1YkNtZCwgZGVzdHJ1Y3Rvcl0gPSBzdWJzY3JpcHRpb24oaW5pdGlhbGl6ZWRNb2RlbCwgcHJvcHMpO1xuXG5cdFx0XHRleGVjQ21kKGRpc3BhdGNoLCBzdWJDbWQpO1xuXG5cdFx0XHRyZXR1cm4gZGVzdHJ1Y3Rvcjtcblx0XHR9XG5cdH0sIFtdKTtcblxuXHRyZXR1cm4gW2luaXRpYWxpemVkTW9kZWwsIGRpc3BhdGNoXTtcblxuXHRmdW5jdGlvbiBoYW5kbGVNZXNzYWdlKG5leHRNc2c6IFRNZXNzYWdlKTogYm9vbGVhbiB7XG5cdFx0aWYgKCFpbml0aWFsaXplZE1vZGVsKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0bGV0IG1vZGlmaWVkID0gZmFsc2U7XG5cblx0XHRsb2dNZXNzYWdlKG5hbWUsIG5leHRNc2cpO1xuXG5cdFx0Y29uc3QgdXBkYXRlZE1vZGVsID0geyAuLi5pbml0aWFsaXplZE1vZGVsLCAuLi5jdXJyZW50TW9kZWwgfTtcblxuXHRcdGNvbnN0IFtkZWZlciwgZ2V0RGVmZXJyZWRdID0gY3JlYXRlRGVmZXI8VE1vZGVsLCBUTWVzc2FnZT4oKTtcblx0XHRjb25zdCBjYWxsQmFzZSA9IGNyZWF0ZUNhbGxCYXNlKG5leHRNc2csIHVwZGF0ZWRNb2RlbCwgcHJvcHNSZWYuY3VycmVudCwgeyBkZWZlciB9KTtcblxuXHRcdGNvbnN0IFtuZXdNb2RlbCwgLi4uY29tbWFuZHNdID0gY2FsbFVwZGF0ZSh1cGRhdGUsIG5leHRNc2csIHVwZGF0ZWRNb2RlbCwgcHJvcHNSZWYuY3VycmVudCwgeyBkZWZlciwgY2FsbEJhc2UgfSk7XG5cblx0XHRjb25zdCBbZGVmZXJyZWRNb2RlbCwgZGVmZXJyZWRDb21tYW5kc10gPSBnZXREZWZlcnJlZCgpO1xuXG5cdFx0aWYgKG1vZGVsSGFzQ2hhbmdlZChjdXJyZW50TW9kZWwsIHsgLi4uZGVmZXJyZWRNb2RlbCwgLi4ubmV3TW9kZWwgfSkpIHtcblx0XHRcdGN1cnJlbnRNb2RlbCA9IHsgLi4uY3VycmVudE1vZGVsLCAuLi5kZWZlcnJlZE1vZGVsLCAuLi5uZXdNb2RlbCB9O1xuXG5cdFx0XHRpZiAod2l0aERldlRvb2xzKSB7XG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvclxuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1jYWxsXG5cdFx0XHRcdGRldlRvb2xzLmN1cnJlbnQ/LnNlbmQobmV4dE1zZy5uYW1lLCBjdXJyZW50TW9kZWwpO1xuXHRcdFx0fVxuXG5cdFx0XHRtb2RpZmllZCA9IHRydWU7XG5cdFx0fVxuXG5cdFx0ZXhlY0NtZChkaXNwYXRjaCwgLi4uY29tbWFuZHMsIC4uLmRlZmVycmVkQ29tbWFuZHMpO1xuXG5cdFx0cmV0dXJuIG1vZGlmaWVkO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGNhbGxVcGRhdGU8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZT4oXG5cdHVwZGF0ZTogVXBkYXRlRnVuY3Rpb248VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPiB8IFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2U+LFxuXHRtc2c6IFRNZXNzYWdlLFxuXHRtb2RlbDogVE1vZGVsLFxuXHRwcm9wczogVFByb3BzLFxuXHRvcHRpb25zOiBVcGRhdGVGdW5jdGlvbk9wdGlvbnM8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcbik6IFVwZGF0ZVJldHVyblR5cGU8VE1vZGVsLCBUTWVzc2FnZT4ge1xuXHRpZiAodHlwZW9mIHVwZGF0ZSA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0cmV0dXJuIHVwZGF0ZShtb2RlbCwgbXNnLCBwcm9wcywgb3B0aW9ucyk7XG5cdH1cblxuXHRyZXR1cm4gY2FsbFVwZGF0ZU1hcCh1cGRhdGUsIG1zZywgbW9kZWwsIHByb3BzLCBvcHRpb25zKTtcbn1cblxuZnVuY3Rpb24gY2FsbFVwZGF0ZU1hcDxUUHJvcHMsIFRNb2RlbCwgVE1lc3NhZ2UgZXh0ZW5kcyBNZXNzYWdlPihcblx0dXBkYXRlTWFwOiBVcGRhdGVNYXA8VFByb3BzLCBUTW9kZWwsIFRNZXNzYWdlPixcblx0bXNnOiBUTWVzc2FnZSxcblx0bW9kZWw6IFRNb2RlbCxcblx0cHJvcHM6IFRQcm9wcyxcblx0b3B0aW9uczogVXBkYXRlRnVuY3Rpb25PcHRpb25zPFRQcm9wcywgVE1vZGVsLCBUTWVzc2FnZT4sXG4pOiBVcGRhdGVSZXR1cm5UeXBlPFRNb2RlbCwgVE1lc3NhZ2U+IHtcblx0Y29uc3QgbXNnTmFtZTogVE1lc3NhZ2VbXCJuYW1lXCJdID0gbXNnLm5hbWU7XG5cblx0cmV0dXJuIHVwZGF0ZU1hcFttc2dOYW1lXShtc2csIG1vZGVsLCBwcm9wcywgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCB0eXBlIHsgU3Vic2NyaXB0aW9uLCBTdWJzY3JpcHRpb25SZXN1bHQsIFVzZUVsbWlzaE9wdGlvbnMgfTtcblxuZXhwb3J0IHsgY2FsbFVwZGF0ZSwgY2FsbFVwZGF0ZU1hcCwgdXNlRWxtaXNoIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUYsT0FBQTtBQVlBLElBQUFHLGVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFlBQUEsR0FBQUwsT0FBQTtBQUFtRCxTQUFBTSxtQkFBQUMsQ0FBQSxXQUFBQyxrQkFBQSxDQUFBRCxDQUFBLEtB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-elmish",
3
- "version": "8.1.0",
3
+ "version": "9.1.0-beta.1",
4
4
  "description": "Elmish for React using Typescript",
5
5
  "author": "atheck",
6
6
  "license": "MIT",
@@ -10,33 +10,34 @@
10
10
  "build:js": "babel src --out-dir dist --extensions \".ts,.tsx\" --ignore \"./**/*.spec.ts\",\"./**/*.spec.tsx\" --source-maps inline",
11
11
  "test": "jest --coverage",
12
12
  "test:watch": "jest --watch --coverage",
13
- "lint": "biome lint src --max-diagnostics 200 && npx eslint \"src/**/*.ts[x]\"",
14
- "update": "npx -y npm-check-updates -i --install always && npm update",
13
+ "lint": "biome lint src --max-diagnostics 200 && npx eslint src",
14
+ "update": "npx -y npm-check-updates -i --install never && npx -y npm-check-updates -i --target minor --install never && npx -y npm-check-updates -i --target patch --install never && npm update",
15
15
  "semantic-release": "semantic-release"
16
16
  },
17
17
  "peerDependencies": {
18
- "react": ">=16.8.0"
18
+ "react": ">=16.8.0 <19"
19
19
  },
20
20
  "devDependencies": {
21
- "@babel/cli": "7.25.6",
22
- "@babel/core": "7.25.2",
21
+ "@babel/cli": "7.26.4",
22
+ "@babel/core": "7.26.7",
23
23
  "@babel/plugin-proposal-class-properties": "7.18.6",
24
- "@babel/preset-env": "7.25.4",
25
- "@babel/preset-react": "7.24.7",
26
- "@babel/preset-typescript": "7.24.7",
27
- "@biomejs/biome": "1.9.2",
24
+ "@babel/preset-env": "7.26.7",
25
+ "@babel/preset-react": "7.26.3",
26
+ "@babel/preset-typescript": "7.26.0",
27
+ "@biomejs/biome": "1.9.4",
28
28
  "@testing-library/dom": "10.4.0",
29
29
  "@testing-library/react": "16.0.1",
30
- "@types/jest": "29.5.13",
31
- "@types/react": "18.3.9",
32
- "@types/react-dom": "18.3.0",
33
- "eslint": "8.57.0",
34
- "eslint-config-heck": "3.2.1",
30
+ "@types/jest": "29.5.14",
31
+ "@types/react": "18.3.18",
32
+ "@types/react-dom": "18.3.5",
33
+ "eslint": "9.19.0",
34
+ "eslint-config-heck": "4.3.1",
35
35
  "jest": "29.7.0",
36
36
  "jest-environment-jsdom": "29.7.0",
37
- "semantic-release": "24.1.1",
37
+ "semantic-release": "24.2.1",
38
38
  "ts-jest": "29.2.5",
39
- "typescript": "5.6.2"
39
+ "tslib": "2.8.1",
40
+ "typescript": "5.7.3"
40
41
  },
41
42
  "homepage": "https://github.com/atheck/react-elmish",
42
43
  "repository": {