@nhost/nhost-js 1.6.2 → 1.7.0
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/package.json +3 -3
- package/umd/nhost-js.umd.js +8 -8
- package/umd/nhost-js.umd.js.map +1 -1
package/umd/nhost-js.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nhost-js.umd.js","sources":["../../../node_modules/.pnpm/jwt-decode@3.1.2/node_modules/jwt-decode/build/jwt-decode.esm.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/_virtual/_tslib.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/types.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/actionTypes.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/constants.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/environment.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/utils.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/actions.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/serviceScope.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/Actor.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/stateUtils.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/State.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/scheduler.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/registry.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/devTools.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/behaviors.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/interpreter.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/invokeUtils.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/StateNode.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/Machine.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/index.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/bind.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/utils.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/AxiosError.js","../../../node_modules/.pnpm/form-data@4.0.0/node_modules/form-data/lib/browser.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/toFormData.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/buildURL.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/InterceptorManager.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/defaults/transitional.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/platform/browser/classes/FormData.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/platform/browser/index.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/formDataToJSON.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/defaults/index.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/parseHeaders.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/AxiosHeaders.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/transformData.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/cancel/isCancel.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/cancel/CanceledError.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/null.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/settle.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/cookies.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/combineURLs.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/buildFullPath.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/parseProtocol.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/speedometer.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/adapters/xhr.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/adapters/adapters.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/dispatchRequest.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/mergeConfig.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/env/data.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/validator.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/Axios.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/cancel/CancelToken.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/spread.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/isAxiosError.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/axios.js","../../../node_modules/.pnpm/js-cookie@3.0.1/node_modules/js-cookie/dist/js.cookie.mjs","../../core/dist/index.esm.js","../../hasura-auth-js/dist/index.esm.js","../src/utils/helpers.ts","../src/clients/auth.ts","../src/clients/functions.ts","../src/clients/graphql.ts","../../hasura-storage-js/dist/index.esm.js","../src/clients/storage.ts","../src/clients/nhost.ts"],"sourcesContent":["function e(e){this.message=e}e.prototype=new Error,e.prototype.name=\"InvalidCharacterError\";var r=\"undefined\"!=typeof window&&window.atob&&window.atob.bind(window)||function(r){var t=String(r).replace(/=+$/,\"\");if(t.length%4==1)throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");for(var n,o,a=0,i=0,c=\"\";o=t.charAt(i++);~o&&(n=a%4?64*n+o:o,a++%4)?c+=String.fromCharCode(255&n>>(-2*a&6)):0)o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);return c};function t(e){var t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Illegal base64url string!\"}try{return function(e){return decodeURIComponent(r(e).replace(/(.)/g,(function(e,r){var t=r.charCodeAt(0).toString(16).toUpperCase();return t.length<2&&(t=\"0\"+t),\"%\"+t})))}(t)}catch(e){return r(t)}}function n(e){this.message=e}function o(e,r){if(\"string\"!=typeof e)throw new n(\"Invalid token specified\");var o=!0===(r=r||{}).header?0:1;try{return JSON.parse(t(e.split(\".\")[o]))}catch(e){throw new n(\"Invalid token specified: \"+e.message)}}n.prototype=new Error,n.prototype.name=\"InvalidTokenError\";export default o;export{n as InvalidTokenError};\n//# sourceMappingURL=jwt-decode.esm.js.map\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\n\nexport { __assign, __read, __rest, __spreadArray, __values };\n","var ActionTypes;\n\n(function (ActionTypes) {\n ActionTypes[\"Start\"] = \"xstate.start\";\n ActionTypes[\"Stop\"] = \"xstate.stop\";\n ActionTypes[\"Raise\"] = \"xstate.raise\";\n ActionTypes[\"Send\"] = \"xstate.send\";\n ActionTypes[\"Cancel\"] = \"xstate.cancel\";\n ActionTypes[\"NullEvent\"] = \"\";\n ActionTypes[\"Assign\"] = \"xstate.assign\";\n ActionTypes[\"After\"] = \"xstate.after\";\n ActionTypes[\"DoneState\"] = \"done.state\";\n ActionTypes[\"DoneInvoke\"] = \"done.invoke\";\n ActionTypes[\"Log\"] = \"xstate.log\";\n ActionTypes[\"Init\"] = \"xstate.init\";\n ActionTypes[\"Invoke\"] = \"xstate.invoke\";\n ActionTypes[\"ErrorExecution\"] = \"error.execution\";\n ActionTypes[\"ErrorCommunication\"] = \"error.communication\";\n ActionTypes[\"ErrorPlatform\"] = \"error.platform\";\n ActionTypes[\"ErrorCustom\"] = \"xstate.error\";\n ActionTypes[\"Update\"] = \"xstate.update\";\n ActionTypes[\"Pure\"] = \"xstate.pure\";\n ActionTypes[\"Choose\"] = \"xstate.choose\";\n})(ActionTypes || (ActionTypes = {}));\n\nvar SpecialTargets;\n\n(function (SpecialTargets) {\n SpecialTargets[\"Parent\"] = \"#_parent\";\n SpecialTargets[\"Internal\"] = \"#_internal\";\n})(SpecialTargets || (SpecialTargets = {}));\n\nexport { ActionTypes, SpecialTargets };\n","import { ActionTypes } from './types.js';\n\nvar start = ActionTypes.Start;\nvar stop = ActionTypes.Stop;\nvar raise = ActionTypes.Raise;\nvar send = ActionTypes.Send;\nvar cancel = ActionTypes.Cancel;\nvar nullEvent = ActionTypes.NullEvent;\nvar assign = ActionTypes.Assign;\nvar after = ActionTypes.After;\nvar doneState = ActionTypes.DoneState;\nvar log = ActionTypes.Log;\nvar init = ActionTypes.Init;\nvar invoke = ActionTypes.Invoke;\nvar errorExecution = ActionTypes.ErrorExecution;\nvar errorPlatform = ActionTypes.ErrorPlatform;\nvar error = ActionTypes.ErrorCustom;\nvar update = ActionTypes.Update;\nvar choose = ActionTypes.Choose;\nvar pure = ActionTypes.Pure;\n\nexport { after, assign, cancel, choose, doneState, error, errorExecution, errorPlatform, init, invoke, log, nullEvent, pure, raise, send, start, stop, update };\n","var STATE_DELIMITER = '.';\nvar EMPTY_ACTIVITY_MAP = {};\nvar DEFAULT_GUARD_TYPE = 'xstate.guard';\nvar TARGETLESS_KEY = '';\n\nexport { DEFAULT_GUARD_TYPE, EMPTY_ACTIVITY_MAP, STATE_DELIMITER, TARGETLESS_KEY };\n","var IS_PRODUCTION = process.env.NODE_ENV === 'production';\n\nexport { IS_PRODUCTION };\n","import { __values, __spreadArray, __read, __assign } from './_virtual/_tslib.js';\nimport { DEFAULT_GUARD_TYPE, TARGETLESS_KEY, STATE_DELIMITER } from './constants.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar _a;\nfunction keys(value) {\n return Object.keys(value);\n}\nfunction matchesState(parentStateId, childStateId, delimiter) {\n if (delimiter === void 0) {\n delimiter = STATE_DELIMITER;\n }\n\n var parentStateValue = toStateValue(parentStateId, delimiter);\n var childStateValue = toStateValue(childStateId, delimiter);\n\n if (isString(childStateValue)) {\n if (isString(parentStateValue)) {\n return childStateValue === parentStateValue;\n } // Parent more specific than child\n\n\n return false;\n }\n\n if (isString(parentStateValue)) {\n return parentStateValue in childStateValue;\n }\n\n return Object.keys(parentStateValue).every(function (key) {\n if (!(key in childStateValue)) {\n return false;\n }\n\n return matchesState(parentStateValue[key], childStateValue[key]);\n });\n}\nfunction getEventType(event) {\n try {\n return isString(event) || typeof event === 'number' ? \"\".concat(event) : event.type;\n } catch (e) {\n throw new Error('Events must be strings or objects with a string event.type property.');\n }\n}\nfunction getActionType(action) {\n try {\n return isString(action) || typeof action === 'number' ? \"\".concat(action) : isFunction(action) ? action.name : action.type;\n } catch (e) {\n throw new Error('Actions must be strings or objects with a string action.type property.');\n }\n}\nfunction toStatePath(stateId, delimiter) {\n try {\n if (isArray(stateId)) {\n return stateId;\n }\n\n return stateId.toString().split(delimiter);\n } catch (e) {\n throw new Error(\"'\".concat(stateId, \"' is not a valid state path.\"));\n }\n}\nfunction isStateLike(state) {\n return typeof state === 'object' && 'value' in state && 'context' in state && 'event' in state && '_event' in state;\n}\nfunction toStateValue(stateValue, delimiter) {\n if (isStateLike(stateValue)) {\n return stateValue.value;\n }\n\n if (isArray(stateValue)) {\n return pathToStateValue(stateValue);\n }\n\n if (typeof stateValue !== 'string') {\n return stateValue;\n }\n\n var statePath = toStatePath(stateValue, delimiter);\n return pathToStateValue(statePath);\n}\nfunction pathToStateValue(statePath) {\n if (statePath.length === 1) {\n return statePath[0];\n }\n\n var value = {};\n var marker = value;\n\n for (var i = 0; i < statePath.length - 1; i++) {\n if (i === statePath.length - 2) {\n marker[statePath[i]] = statePath[i + 1];\n } else {\n marker[statePath[i]] = {};\n marker = marker[statePath[i]];\n }\n }\n\n return value;\n}\nfunction mapValues(collection, iteratee) {\n var result = {};\n var collectionKeys = Object.keys(collection);\n\n for (var i = 0; i < collectionKeys.length; i++) {\n var key = collectionKeys[i];\n result[key] = iteratee(collection[key], key, collection, i);\n }\n\n return result;\n}\nfunction mapFilterValues(collection, iteratee, predicate) {\n var e_1, _a;\n\n var result = {};\n\n try {\n for (var _b = __values(Object.keys(collection)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var item = collection[key];\n\n if (!predicate(item)) {\n continue;\n }\n\n result[key] = iteratee(item, key, collection);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return result;\n}\n/**\r\n * Retrieves a value at the given path.\r\n * @param props The deep path to the prop of the desired value\r\n */\n\nvar path = function (props) {\n return function (object) {\n var e_2, _a;\n\n var result = object;\n\n try {\n for (var props_1 = __values(props), props_1_1 = props_1.next(); !props_1_1.done; props_1_1 = props_1.next()) {\n var prop = props_1_1.value;\n result = result[prop];\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (props_1_1 && !props_1_1.done && (_a = props_1.return)) _a.call(props_1);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n return result;\n };\n};\n/**\r\n * Retrieves a value at the given path via the nested accessor prop.\r\n * @param props The deep path to the prop of the desired value\r\n */\n\nfunction nestedPath(props, accessorProp) {\n return function (object) {\n var e_3, _a;\n\n var result = object;\n\n try {\n for (var props_2 = __values(props), props_2_1 = props_2.next(); !props_2_1.done; props_2_1 = props_2.next()) {\n var prop = props_2_1.value;\n result = result[accessorProp][prop];\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (props_2_1 && !props_2_1.done && (_a = props_2.return)) _a.call(props_2);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n return result;\n };\n}\nfunction toStatePaths(stateValue) {\n if (!stateValue) {\n return [[]];\n }\n\n if (isString(stateValue)) {\n return [[stateValue]];\n }\n\n var result = flatten(Object.keys(stateValue).map(function (key) {\n var subStateValue = stateValue[key];\n\n if (typeof subStateValue !== 'string' && (!subStateValue || !Object.keys(subStateValue).length)) {\n return [[key]];\n }\n\n return toStatePaths(stateValue[key]).map(function (subPath) {\n return [key].concat(subPath);\n });\n }));\n return result;\n}\nfunction pathsToStateValue(paths) {\n var e_4, _a;\n\n var result = {};\n\n if (paths && paths.length === 1 && paths[0].length === 1) {\n return paths[0][0];\n }\n\n try {\n for (var paths_1 = __values(paths), paths_1_1 = paths_1.next(); !paths_1_1.done; paths_1_1 = paths_1.next()) {\n var currentPath = paths_1_1.value;\n var marker = result; // tslint:disable-next-line:prefer-for-of\n\n for (var i = 0; i < currentPath.length; i++) {\n var subPath = currentPath[i];\n\n if (i === currentPath.length - 2) {\n marker[subPath] = currentPath[i + 1];\n break;\n }\n\n marker[subPath] = marker[subPath] || {};\n marker = marker[subPath];\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (paths_1_1 && !paths_1_1.done && (_a = paths_1.return)) _a.call(paths_1);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n return result;\n}\nfunction flatten(array) {\n var _a;\n\n return (_a = []).concat.apply(_a, __spreadArray([], __read(array), false));\n}\nfunction toArrayStrict(value) {\n if (isArray(value)) {\n return value;\n }\n\n return [value];\n}\nfunction toArray(value) {\n if (value === undefined) {\n return [];\n }\n\n return toArrayStrict(value);\n}\nfunction mapContext(mapper, context, _event) {\n var e_5, _a;\n\n if (isFunction(mapper)) {\n return mapper(context, _event.data);\n }\n\n var result = {};\n\n try {\n for (var _b = __values(Object.keys(mapper)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var subMapper = mapper[key];\n\n if (isFunction(subMapper)) {\n result[key] = subMapper(context, _event.data);\n } else {\n result[key] = subMapper;\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n return result;\n}\nfunction isBuiltInEvent(eventType) {\n return /^(done|error)\\./.test(eventType);\n}\nfunction isPromiseLike(value) {\n if (value instanceof Promise) {\n return true;\n } // Check if shape matches the Promise/A+ specification for a \"thenable\".\n\n\n if (value !== null && (isFunction(value) || typeof value === 'object') && isFunction(value.then)) {\n return true;\n }\n\n return false;\n}\nfunction isBehavior(value) {\n return value !== null && typeof value === 'object' && 'transition' in value && typeof value.transition === 'function';\n}\nfunction partition(items, predicate) {\n var e_6, _a;\n\n var _b = __read([[], []], 2),\n truthy = _b[0],\n falsy = _b[1];\n\n try {\n for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {\n var item = items_1_1.value;\n\n if (predicate(item)) {\n truthy.push(item);\n } else {\n falsy.push(item);\n }\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n return [truthy, falsy];\n}\nfunction updateHistoryStates(hist, stateValue) {\n return mapValues(hist.states, function (subHist, key) {\n if (!subHist) {\n return undefined;\n }\n\n var subStateValue = (isString(stateValue) ? undefined : stateValue[key]) || (subHist ? subHist.current : undefined);\n\n if (!subStateValue) {\n return undefined;\n }\n\n return {\n current: subStateValue,\n states: updateHistoryStates(subHist, subStateValue)\n };\n });\n}\nfunction updateHistoryValue(hist, stateValue) {\n return {\n current: stateValue,\n states: updateHistoryStates(hist, stateValue)\n };\n}\nfunction updateContext(context, _event, assignActions, state) {\n if (!IS_PRODUCTION) {\n warn(!!context, 'Attempting to update undefined context');\n }\n\n var updatedContext = context ? assignActions.reduce(function (acc, assignAction) {\n var e_7, _a;\n\n var assignment = assignAction.assignment;\n var meta = {\n state: state,\n action: assignAction,\n _event: _event\n };\n var partialUpdate = {};\n\n if (isFunction(assignment)) {\n partialUpdate = assignment(acc, _event.data, meta);\n } else {\n try {\n for (var _b = __values(Object.keys(assignment)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var propAssignment = assignment[key];\n partialUpdate[key] = isFunction(propAssignment) ? propAssignment(acc, _event.data, meta) : propAssignment;\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n }\n\n return Object.assign({}, acc, partialUpdate);\n }, context) : context;\n return updatedContext;\n} // tslint:disable-next-line:no-empty\n\nvar warn = function () {};\n\nif (!IS_PRODUCTION) {\n warn = function (condition, message) {\n var error = condition instanceof Error ? condition : undefined;\n\n if (!error && condition) {\n return;\n }\n\n if (console !== undefined) {\n var args = [\"Warning: \".concat(message)];\n\n if (error) {\n args.push(error);\n } // tslint:disable-next-line:no-console\n\n\n console.warn.apply(console, args);\n }\n };\n}\nfunction isArray(value) {\n return Array.isArray(value);\n} // tslint:disable-next-line:ban-types\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\nfunction isString(value) {\n return typeof value === 'string';\n}\nfunction toGuard(condition, guardMap) {\n if (!condition) {\n return undefined;\n }\n\n if (isString(condition)) {\n return {\n type: DEFAULT_GUARD_TYPE,\n name: condition,\n predicate: guardMap ? guardMap[condition] : undefined\n };\n }\n\n if (isFunction(condition)) {\n return {\n type: DEFAULT_GUARD_TYPE,\n name: condition.name,\n predicate: condition\n };\n }\n\n return condition;\n}\nfunction isObservable(value) {\n try {\n return 'subscribe' in value && isFunction(value.subscribe);\n } catch (e) {\n return false;\n }\n}\nvar symbolObservable = /*#__PURE__*/function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n}(); // TODO: to be removed in v5, left it out just to minimize the scope of the change and maintain compatibility with older versions of integration paackages\n\nvar interopSymbols = (_a = {}, _a[symbolObservable] = function () {\n return this;\n}, _a[Symbol.observable] = function () {\n return this;\n}, _a);\nfunction isMachine(value) {\n return !!value && '__xstatenode' in value;\n}\nfunction isActor(value) {\n return !!value && typeof value.send === 'function';\n}\nvar uniqueId = /*#__PURE__*/function () {\n var currentId = 0;\n return function () {\n currentId++;\n return currentId.toString(16);\n };\n}();\nfunction toEventObject(event, payload // id?: TEvent['type']\n) {\n if (isString(event) || typeof event === 'number') {\n return __assign({\n type: event\n }, payload);\n }\n\n return event;\n}\nfunction toSCXMLEvent(event, scxmlEvent) {\n if (!isString(event) && '$$type' in event && event.$$type === 'scxml') {\n return event;\n }\n\n var eventObject = toEventObject(event);\n return __assign({\n name: eventObject.type,\n data: eventObject,\n $$type: 'scxml',\n type: 'external'\n }, scxmlEvent);\n}\nfunction toTransitionConfigArray(event, configLike) {\n var transitions = toArrayStrict(configLike).map(function (transitionLike) {\n if (typeof transitionLike === 'undefined' || typeof transitionLike === 'string' || isMachine(transitionLike)) {\n return {\n target: transitionLike,\n event: event\n };\n }\n\n return __assign(__assign({}, transitionLike), {\n event: event\n });\n });\n return transitions;\n}\nfunction normalizeTarget(target) {\n if (target === undefined || target === TARGETLESS_KEY) {\n return undefined;\n }\n\n return toArray(target);\n}\nfunction reportUnhandledExceptionOnInvocation(originalError, currentError, id) {\n if (!IS_PRODUCTION) {\n var originalStackTrace = originalError.stack ? \" Stacktrace was '\".concat(originalError.stack, \"'\") : '';\n\n if (originalError === currentError) {\n // tslint:disable-next-line:no-console\n console.error(\"Missing onError handler for invocation '\".concat(id, \"', error was '\").concat(originalError, \"'.\").concat(originalStackTrace));\n } else {\n var stackTrace = currentError.stack ? \" Stacktrace was '\".concat(currentError.stack, \"'\") : ''; // tslint:disable-next-line:no-console\n\n console.error(\"Missing onError handler and/or unhandled exception/promise rejection for invocation '\".concat(id, \"'. \") + \"Original error: '\".concat(originalError, \"'. \").concat(originalStackTrace, \" Current error is '\").concat(currentError, \"'.\").concat(stackTrace));\n }\n }\n}\nfunction evaluateGuard(machine, guard, context, _event, state) {\n var guards = machine.options.guards;\n var guardMeta = {\n state: state,\n cond: guard,\n _event: _event\n }; // TODO: do not hardcode!\n\n if (guard.type === DEFAULT_GUARD_TYPE) {\n return ((guards === null || guards === void 0 ? void 0 : guards[guard.name]) || guard.predicate)(context, _event.data, guardMeta);\n }\n\n var condFn = guards === null || guards === void 0 ? void 0 : guards[guard.type];\n\n if (!condFn) {\n throw new Error(\"Guard '\".concat(guard.type, \"' is not implemented on machine '\").concat(machine.id, \"'.\"));\n }\n\n return condFn(context, _event.data, guardMeta);\n}\nfunction toInvokeSource(src) {\n if (typeof src === 'string') {\n return {\n type: src\n };\n }\n\n return src;\n}\nfunction toObserver(nextHandler, errorHandler, completionHandler) {\n var noop = function () {};\n\n var isObserver = typeof nextHandler === 'object';\n var self = isObserver ? nextHandler : null;\n return {\n next: ((isObserver ? nextHandler.next : nextHandler) || noop).bind(self),\n error: ((isObserver ? nextHandler.error : errorHandler) || noop).bind(self),\n complete: ((isObserver ? nextHandler.complete : completionHandler) || noop).bind(self)\n };\n}\nfunction createInvokeId(stateNodeId, index) {\n return \"\".concat(stateNodeId, \":invocation[\").concat(index, \"]\");\n}\n\nexport { createInvokeId, evaluateGuard, flatten, getActionType, getEventType, interopSymbols, isActor, isArray, isBehavior, isBuiltInEvent, isFunction, isMachine, isObservable, isPromiseLike, isStateLike, isString, keys, mapContext, mapFilterValues, mapValues, matchesState, nestedPath, normalizeTarget, partition, path, pathToStateValue, pathsToStateValue, reportUnhandledExceptionOnInvocation, symbolObservable, toArray, toArrayStrict, toEventObject, toGuard, toInvokeSource, toObserver, toSCXMLEvent, toStatePath, toStatePaths, toStateValue, toTransitionConfigArray, uniqueId, updateContext, updateHistoryStates, updateHistoryValue, warn };\n","import { __assign, __spreadArray, __read, __values } from './_virtual/_tslib.js';\nimport { SpecialTargets, ActionTypes } from './types.js';\nimport { init, send as send$1, raise as raise$1, update, log as log$1, cancel as cancel$1, assign as assign$1, error as error$1, stop as stop$1, pure as pure$1, choose as choose$1 } from './actionTypes.js';\nimport * as actionTypes from './actionTypes.js';\nexport { actionTypes };\nimport { toSCXMLEvent, isString, isFunction, toEventObject, getEventType, updateContext, flatten, isArray, toArray, toGuard, evaluateGuard, warn } from './utils.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar initEvent = /*#__PURE__*/toSCXMLEvent({\n type: init\n});\nfunction getActionFunction(actionType, actionFunctionMap) {\n return actionFunctionMap ? actionFunctionMap[actionType] || undefined : undefined;\n}\nfunction toActionObject(action, actionFunctionMap) {\n var actionObject;\n\n if (isString(action) || typeof action === 'number') {\n var exec = getActionFunction(action, actionFunctionMap);\n\n if (isFunction(exec)) {\n actionObject = {\n type: action,\n exec: exec\n };\n } else if (exec) {\n actionObject = exec;\n } else {\n actionObject = {\n type: action,\n exec: undefined\n };\n }\n } else if (isFunction(action)) {\n actionObject = {\n // Convert action to string if unnamed\n type: action.name || action.toString(),\n exec: action\n };\n } else {\n var exec = getActionFunction(action.type, actionFunctionMap);\n\n if (isFunction(exec)) {\n actionObject = __assign(__assign({}, action), {\n exec: exec\n });\n } else if (exec) {\n var actionType = exec.type || action.type;\n actionObject = __assign(__assign(__assign({}, exec), action), {\n type: actionType\n });\n } else {\n actionObject = action;\n }\n }\n\n return actionObject;\n}\nvar toActionObjects = function (action, actionFunctionMap) {\n if (!action) {\n return [];\n }\n\n var actions = isArray(action) ? action : [action];\n return actions.map(function (subAction) {\n return toActionObject(subAction, actionFunctionMap);\n });\n};\nfunction toActivityDefinition(action) {\n var actionObject = toActionObject(action);\n return __assign(__assign({\n id: isString(action) ? action : actionObject.id\n }, actionObject), {\n type: actionObject.type\n });\n}\n/**\r\n * Raises an event. This places the event in the internal event queue, so that\r\n * the event is immediately consumed by the machine in the current step.\r\n *\r\n * @param eventType The event to raise.\r\n */\n\nfunction raise(event) {\n if (!isString(event)) {\n return send(event, {\n to: SpecialTargets.Internal\n });\n }\n\n return {\n type: raise$1,\n event: event\n };\n}\nfunction resolveRaise(action) {\n return {\n type: raise$1,\n _event: toSCXMLEvent(action.event)\n };\n}\n/**\r\n * Sends an event. This returns an action that will be read by an interpreter to\r\n * send the event in the next step, after the current step is finished executing.\r\n *\r\n * @param event The event to send.\r\n * @param options Options to pass into the send event:\r\n * - `id` - The unique send event identifier (used with `cancel()`).\r\n * - `delay` - The number of milliseconds to delay the sending of the event.\r\n * - `to` - The target of this event (by default, the machine the event was sent from).\r\n */\n\nfunction send(event, options) {\n return {\n to: options ? options.to : undefined,\n type: send$1,\n event: isFunction(event) ? event : toEventObject(event),\n delay: options ? options.delay : undefined,\n id: options && options.id !== undefined ? options.id : isFunction(event) ? event.name : getEventType(event)\n };\n}\nfunction resolveSend(action, ctx, _event, delaysMap) {\n var meta = {\n _event: _event\n }; // TODO: helper function for resolving Expr\n\n var resolvedEvent = toSCXMLEvent(isFunction(action.event) ? action.event(ctx, _event.data, meta) : action.event);\n var resolvedDelay;\n\n if (isString(action.delay)) {\n var configDelay = delaysMap && delaysMap[action.delay];\n resolvedDelay = isFunction(configDelay) ? configDelay(ctx, _event.data, meta) : configDelay;\n } else {\n resolvedDelay = isFunction(action.delay) ? action.delay(ctx, _event.data, meta) : action.delay;\n }\n\n var resolvedTarget = isFunction(action.to) ? action.to(ctx, _event.data, meta) : action.to;\n return __assign(__assign({}, action), {\n to: resolvedTarget,\n _event: resolvedEvent,\n event: resolvedEvent.data,\n delay: resolvedDelay\n });\n}\n/**\r\n * Sends an event to this machine's parent.\r\n *\r\n * @param event The event to send to the parent machine.\r\n * @param options Options to pass into the send event.\r\n */\n\nfunction sendParent(event, options) {\n return send(event, __assign(__assign({}, options), {\n to: SpecialTargets.Parent\n }));\n}\n/**\r\n * Sends an event to an actor.\r\n *\r\n * @param actor The `ActorRef` to send the event to.\r\n * @param event The event to send, or an expression that evaluates to the event to send\r\n * @param options Send action options\r\n * @returns An XState send action object\r\n */\n\nfunction sendTo(actor, event, options) {\n return send(event, __assign(__assign({}, options), {\n to: actor\n }));\n}\n/**\r\n * Sends an update event to this machine's parent.\r\n */\n\nfunction sendUpdate() {\n return sendParent(update);\n}\n/**\r\n * Sends an event back to the sender of the original event.\r\n *\r\n * @param event The event to send back to the sender\r\n * @param options Options to pass into the send event\r\n */\n\nfunction respond(event, options) {\n return send(event, __assign(__assign({}, options), {\n to: function (_, __, _a) {\n var _event = _a._event;\n return _event.origin; // TODO: handle when _event.origin is undefined\n }\n }));\n}\n\nvar defaultLogExpr = function (context, event) {\n return {\n context: context,\n event: event\n };\n};\n/**\r\n *\r\n * @param expr The expression function to evaluate which will be logged.\r\n * Takes in 2 arguments:\r\n * - `ctx` - the current state context\r\n * - `event` - the event that caused this action to be executed.\r\n * @param label The label to give to the logged expression.\r\n */\n\n\nfunction log(expr, label) {\n if (expr === void 0) {\n expr = defaultLogExpr;\n }\n\n return {\n type: log$1,\n label: label,\n expr: expr\n };\n}\nvar resolveLog = function (action, ctx, _event) {\n return __assign(__assign({}, action), {\n value: isString(action.expr) ? action.expr : action.expr(ctx, _event.data, {\n _event: _event\n })\n });\n};\n/**\r\n * Cancels an in-flight `send(...)` action. A canceled sent action will not\r\n * be executed, nor will its event be sent, unless it has already been sent\r\n * (e.g., if `cancel(...)` is called after the `send(...)` action's `delay`).\r\n *\r\n * @param sendId The `id` of the `send(...)` action to cancel.\r\n */\n\nvar cancel = function (sendId) {\n return {\n type: cancel$1,\n sendId: sendId\n };\n};\n/**\r\n * Starts an activity.\r\n *\r\n * @param activity The activity to start.\r\n */\n\nfunction start(activity) {\n var activityDef = toActivityDefinition(activity);\n return {\n type: ActionTypes.Start,\n activity: activityDef,\n exec: undefined\n };\n}\n/**\r\n * Stops an activity.\r\n *\r\n * @param actorRef The activity to stop.\r\n */\n\nfunction stop(actorRef) {\n var activity = isFunction(actorRef) ? actorRef : toActivityDefinition(actorRef);\n return {\n type: ActionTypes.Stop,\n activity: activity,\n exec: undefined\n };\n}\nfunction resolveStop(action, context, _event) {\n var actorRefOrString = isFunction(action.activity) ? action.activity(context, _event.data) : action.activity;\n var resolvedActorRef = typeof actorRefOrString === 'string' ? {\n id: actorRefOrString\n } : actorRefOrString;\n var actionObject = {\n type: ActionTypes.Stop,\n activity: resolvedActorRef\n };\n return actionObject;\n}\n/**\r\n * Updates the current context of the machine.\r\n *\r\n * @param assignment An object that represents the partial context to update.\r\n */\n\nvar assign = function (assignment) {\n return {\n type: assign$1,\n assignment: assignment\n };\n};\nfunction isActionObject(action) {\n return typeof action === 'object' && 'type' in action;\n}\n/**\r\n * Returns an event type that represents an implicit event that\r\n * is sent after the specified `delay`.\r\n *\r\n * @param delayRef The delay in milliseconds\r\n * @param id The state node ID where this event is handled\r\n */\n\nfunction after(delayRef, id) {\n var idSuffix = id ? \"#\".concat(id) : '';\n return \"\".concat(ActionTypes.After, \"(\").concat(delayRef, \")\").concat(idSuffix);\n}\n/**\r\n * Returns an event that represents that a final state node\r\n * has been reached in the parent state node.\r\n *\r\n * @param id The final state node's parent state node `id`\r\n * @param data The data to pass into the event\r\n */\n\nfunction done(id, data) {\n var type = \"\".concat(ActionTypes.DoneState, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\n/**\r\n * Returns an event that represents that an invoked service has terminated.\r\n *\r\n * An invoked service is terminated when it has reached a top-level final state node,\r\n * but not when it is canceled.\r\n *\r\n * @param id The final state node ID\r\n * @param data The data to pass into the event\r\n */\n\nfunction doneInvoke(id, data) {\n var type = \"\".concat(ActionTypes.DoneInvoke, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\nfunction error(id, data) {\n var type = \"\".concat(ActionTypes.ErrorPlatform, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\nfunction pure(getActions) {\n return {\n type: ActionTypes.Pure,\n get: getActions\n };\n}\n/**\r\n * Forwards (sends) an event to a specified service.\r\n *\r\n * @param target The target service to forward the event to.\r\n * @param options Options to pass into the send action creator.\r\n */\n\nfunction forwardTo(target, options) {\n if (!IS_PRODUCTION && (!target || typeof target === 'function')) {\n var originalTarget_1 = target;\n\n target = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var resolvedTarget = typeof originalTarget_1 === 'function' ? originalTarget_1.apply(void 0, __spreadArray([], __read(args), false)) : originalTarget_1;\n\n if (!resolvedTarget) {\n throw new Error(\"Attempted to forward event to undefined actor. This risks an infinite loop in the sender.\");\n }\n\n return resolvedTarget;\n };\n }\n\n return send(function (_, event) {\n return event;\n }, __assign(__assign({}, options), {\n to: target\n }));\n}\n/**\r\n * Escalates an error by sending it as an event to this machine's parent.\r\n *\r\n * @param errorData The error data to send, or the expression function that\r\n * takes in the `context`, `event`, and `meta`, and returns the error data to send.\r\n * @param options Options to pass into the send action creator.\r\n */\n\nfunction escalate(errorData, options) {\n return sendParent(function (context, event, meta) {\n return {\n type: error$1,\n data: isFunction(errorData) ? errorData(context, event, meta) : errorData\n };\n }, __assign(__assign({}, options), {\n to: SpecialTargets.Parent\n }));\n}\nfunction choose(conds) {\n return {\n type: ActionTypes.Choose,\n conds: conds\n };\n}\n\nvar pluckAssigns = function (actionBlocks) {\n var e_1, _a;\n\n var assignActions = [];\n\n try {\n for (var actionBlocks_1 = __values(actionBlocks), actionBlocks_1_1 = actionBlocks_1.next(); !actionBlocks_1_1.done; actionBlocks_1_1 = actionBlocks_1.next()) {\n var block = actionBlocks_1_1.value;\n var i = 0;\n\n while (i < block.length) {\n if (block[i].type === assign$1) {\n assignActions.push(block[i]);\n block.splice(i, 1);\n continue;\n }\n\n i++;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (actionBlocks_1_1 && !actionBlocks_1_1.done && (_a = actionBlocks_1.return)) _a.call(actionBlocks_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return assignActions;\n};\n\nfunction resolveActions(machine, currentState, currentContext, _event, actionBlocks, predictableExec, preserveActionOrder) {\n if (preserveActionOrder === void 0) {\n preserveActionOrder = false;\n }\n\n var assignActions = preserveActionOrder ? [] : pluckAssigns(actionBlocks);\n var updatedContext = assignActions.length ? updateContext(currentContext, _event, assignActions, currentState) : currentContext;\n var preservedContexts = preserveActionOrder ? [currentContext] : undefined;\n var deferredToBlockEnd = [];\n\n function handleAction(actionObject) {\n var _a;\n\n switch (actionObject.type) {\n case raise$1:\n {\n return resolveRaise(actionObject);\n }\n\n case send$1:\n var sendAction = resolveSend(actionObject, updatedContext, _event, machine.options.delays); // TODO: fix ActionTypes.Init\n\n if (!IS_PRODUCTION) {\n // warn after resolving as we can create better contextual message here\n warn(!isString(actionObject.delay) || typeof sendAction.delay === 'number', // tslint:disable-next-line:max-line-length\n \"No delay reference for delay expression '\".concat(actionObject.delay, \"' was found on machine '\").concat(machine.id, \"'\"));\n }\n\n if (predictableExec && sendAction.to !== SpecialTargets.Internal) {\n deferredToBlockEnd.push(sendAction);\n }\n\n return sendAction;\n\n case log$1:\n {\n var resolved = resolveLog(actionObject, updatedContext, _event);\n predictableExec === null || predictableExec === void 0 ? void 0 : predictableExec(resolved, updatedContext, _event);\n return resolved;\n }\n\n case choose$1:\n {\n var chooseAction = actionObject;\n var matchedActions = (_a = chooseAction.conds.find(function (condition) {\n var guard = toGuard(condition.cond, machine.options.guards);\n return !guard || evaluateGuard(machine, guard, updatedContext, _event, !predictableExec ? currentState : undefined);\n })) === null || _a === void 0 ? void 0 : _a.actions;\n\n if (!matchedActions) {\n return [];\n }\n\n var _b = __read(resolveActions(machine, currentState, updatedContext, _event, [toActionObjects(toArray(matchedActions), machine.options.actions)], predictableExec, preserveActionOrder), 2),\n resolvedActionsFromChoose = _b[0],\n resolvedContextFromChoose = _b[1];\n\n updatedContext = resolvedContextFromChoose;\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n return resolvedActionsFromChoose;\n }\n\n case pure$1:\n {\n var matchedActions = actionObject.get(updatedContext, _event.data);\n\n if (!matchedActions) {\n return [];\n }\n\n var _c = __read(resolveActions(machine, currentState, updatedContext, _event, [toActionObjects(toArray(matchedActions), machine.options.actions)], predictableExec, preserveActionOrder), 2),\n resolvedActionsFromPure = _c[0],\n resolvedContext = _c[1];\n\n updatedContext = resolvedContext;\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n return resolvedActionsFromPure;\n }\n\n case stop$1:\n {\n var resolved = resolveStop(actionObject, updatedContext, _event);\n predictableExec === null || predictableExec === void 0 ? void 0 : predictableExec(resolved, currentContext, _event);\n return resolved;\n }\n\n case assign$1:\n {\n updatedContext = updateContext(updatedContext, _event, [actionObject], !predictableExec ? currentState : undefined);\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n break;\n }\n\n default:\n var resolvedActionObject = toActionObject(actionObject, machine.options.actions);\n var exec_1 = resolvedActionObject.exec;\n\n if (predictableExec) {\n predictableExec(resolvedActionObject, updatedContext, _event);\n } else if (exec_1 && preservedContexts) {\n var contextIndex_1 = preservedContexts.length - 1;\n resolvedActionObject = __assign(__assign({}, resolvedActionObject), {\n exec: function (_ctx) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n exec_1.apply(void 0, __spreadArray([preservedContexts[contextIndex_1]], __read(args), false));\n }\n });\n }\n\n return resolvedActionObject;\n }\n }\n\n function processBlock(block) {\n var e_2, _a;\n\n var resolvedActions = [];\n\n try {\n for (var block_1 = __values(block), block_1_1 = block_1.next(); !block_1_1.done; block_1_1 = block_1.next()) {\n var action = block_1_1.value;\n var resolved = handleAction(action);\n\n if (resolved) {\n resolvedActions = resolvedActions.concat(resolved);\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (block_1_1 && !block_1_1.done && (_a = block_1.return)) _a.call(block_1);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n deferredToBlockEnd.forEach(function (action) {\n predictableExec(action, updatedContext, _event);\n });\n deferredToBlockEnd.length = 0;\n return resolvedActions;\n }\n\n var resolvedActions = flatten(actionBlocks.map(processBlock));\n return [resolvedActions, updatedContext];\n}\n\nexport { after, assign, cancel, choose, done, doneInvoke, error, escalate, forwardTo, getActionFunction, initEvent, isActionObject, log, pure, raise, resolveActions, resolveLog, resolveRaise, resolveSend, resolveStop, respond, send, sendParent, sendTo, sendUpdate, start, stop, toActionObject, toActionObjects, toActivityDefinition };\n","/**\r\n * Maintains a stack of the current service in scope.\r\n * This is used to provide the correct service to spawn().\r\n */\nvar serviceStack = [];\nvar provide = function (service, fn) {\n serviceStack.push(service);\n var result = fn(service);\n serviceStack.pop();\n return result;\n};\nvar consume = function (fn) {\n return fn(serviceStack[serviceStack.length - 1]);\n};\n\nexport { consume, provide };\n","import { __assign } from './_virtual/_tslib.js';\nimport { symbolObservable, toInvokeSource, mapContext, isMachine } from './utils.js';\nimport { provide } from './serviceScope.js';\n\nfunction createNullActor(id) {\n var _a;\n\n return _a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n getSnapshot: function () {\n return undefined;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a;\n}\n/**\r\n * Creates a deferred actor that is able to be invoked given the provided\r\n * invocation information in its `.meta` value.\r\n *\r\n * @param invokeDefinition The meta information needed to invoke the actor.\r\n */\n\nfunction createInvocableActor(invokeDefinition, machine, context, _event) {\n var _a;\n\n var invokeSrc = toInvokeSource(invokeDefinition.src);\n var serviceCreator = (_a = machine === null || machine === void 0 ? void 0 : machine.options.services) === null || _a === void 0 ? void 0 : _a[invokeSrc.type];\n var resolvedData = invokeDefinition.data ? mapContext(invokeDefinition.data, context, _event) : undefined;\n var tempActor = serviceCreator ? createDeferredActor(serviceCreator, invokeDefinition.id, resolvedData) : createNullActor(invokeDefinition.id); // @ts-ignore\n\n tempActor.meta = invokeDefinition;\n return tempActor;\n}\nfunction createDeferredActor(entity, id, data) {\n var tempActor = createNullActor(id); // @ts-ignore\n\n tempActor.deferred = true;\n\n if (isMachine(entity)) {\n // \"mute\" the existing service scope so potential spawned actors within the `.initialState` stay deferred here\n var initialState_1 = tempActor.state = provide(undefined, function () {\n return (data ? entity.withContext(data) : entity).initialState;\n });\n\n tempActor.getSnapshot = function () {\n return initialState_1;\n };\n }\n\n return tempActor;\n}\nfunction isActor(item) {\n try {\n return typeof item.send === 'function';\n } catch (e) {\n return false;\n }\n}\nfunction isSpawnedActor(item) {\n return isActor(item) && 'id' in item;\n} // TODO: refactor the return type, this could be written in a better way but it's best to avoid unneccessary breaking changes now\n\nfunction toActorRef(actorRefLike) {\n var _a;\n\n return __assign((_a = {\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n id: 'anonymous',\n getSnapshot: function () {\n return undefined;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a), actorRefLike);\n}\n\nexport { createDeferredActor, createInvocableActor, createNullActor, isActor, isSpawnedActor, toActorRef };\n","import { __values, __spreadArray, __read } from './_virtual/_tslib.js';\nimport { flatten } from './utils.js';\n\nvar isLeafNode = function (stateNode) {\n return stateNode.type === 'atomic' || stateNode.type === 'final';\n};\nfunction getAllChildren(stateNode) {\n return Object.keys(stateNode.states).map(function (key) {\n return stateNode.states[key];\n });\n}\nfunction getChildren(stateNode) {\n return getAllChildren(stateNode).filter(function (sn) {\n return sn.type !== 'history';\n });\n}\nfunction getAllStateNodes(stateNode) {\n var stateNodes = [stateNode];\n\n if (isLeafNode(stateNode)) {\n return stateNodes;\n }\n\n return stateNodes.concat(flatten(getChildren(stateNode).map(getAllStateNodes)));\n}\nfunction getConfiguration(prevStateNodes, stateNodes) {\n var e_1, _a, e_2, _b, e_3, _c, e_4, _d;\n\n var prevConfiguration = new Set(prevStateNodes);\n var prevAdjList = getAdjList(prevConfiguration);\n var configuration = new Set(stateNodes);\n\n try {\n // add all ancestors\n for (var configuration_1 = __values(configuration), configuration_1_1 = configuration_1.next(); !configuration_1_1.done; configuration_1_1 = configuration_1.next()) {\n var s = configuration_1_1.value;\n var m = s.parent;\n\n while (m && !configuration.has(m)) {\n configuration.add(m);\n m = m.parent;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (configuration_1_1 && !configuration_1_1.done && (_a = configuration_1.return)) _a.call(configuration_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n var adjList = getAdjList(configuration);\n\n try {\n // add descendants\n for (var configuration_2 = __values(configuration), configuration_2_1 = configuration_2.next(); !configuration_2_1.done; configuration_2_1 = configuration_2.next()) {\n var s = configuration_2_1.value; // if previously active, add existing child nodes\n\n if (s.type === 'compound' && (!adjList.get(s) || !adjList.get(s).length)) {\n if (prevAdjList.get(s)) {\n prevAdjList.get(s).forEach(function (sn) {\n return configuration.add(sn);\n });\n } else {\n s.initialStateNodes.forEach(function (sn) {\n return configuration.add(sn);\n });\n }\n } else {\n if (s.type === 'parallel') {\n try {\n for (var _e = (e_3 = void 0, __values(getChildren(s))), _f = _e.next(); !_f.done; _f = _e.next()) {\n var child = _f.value;\n\n if (!configuration.has(child)) {\n configuration.add(child);\n\n if (prevAdjList.get(child)) {\n prevAdjList.get(child).forEach(function (sn) {\n return configuration.add(sn);\n });\n } else {\n child.initialStateNodes.forEach(function (sn) {\n return configuration.add(sn);\n });\n }\n }\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_c = _e.return)) _c.call(_e);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n }\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (configuration_2_1 && !configuration_2_1.done && (_b = configuration_2.return)) _b.call(configuration_2);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n try {\n // add all ancestors\n for (var configuration_3 = __values(configuration), configuration_3_1 = configuration_3.next(); !configuration_3_1.done; configuration_3_1 = configuration_3.next()) {\n var s = configuration_3_1.value;\n var m = s.parent;\n\n while (m && !configuration.has(m)) {\n configuration.add(m);\n m = m.parent;\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (configuration_3_1 && !configuration_3_1.done && (_d = configuration_3.return)) _d.call(configuration_3);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n return configuration;\n}\n\nfunction getValueFromAdj(baseNode, adjList) {\n var childStateNodes = adjList.get(baseNode);\n\n if (!childStateNodes) {\n return {}; // todo: fix?\n }\n\n if (baseNode.type === 'compound') {\n var childStateNode = childStateNodes[0];\n\n if (childStateNode) {\n if (isLeafNode(childStateNode)) {\n return childStateNode.key;\n }\n } else {\n return {};\n }\n }\n\n var stateValue = {};\n childStateNodes.forEach(function (csn) {\n stateValue[csn.key] = getValueFromAdj(csn, adjList);\n });\n return stateValue;\n}\n\nfunction getAdjList(configuration) {\n var e_5, _a;\n\n var adjList = new Map();\n\n try {\n for (var configuration_4 = __values(configuration), configuration_4_1 = configuration_4.next(); !configuration_4_1.done; configuration_4_1 = configuration_4.next()) {\n var s = configuration_4_1.value;\n\n if (!adjList.has(s)) {\n adjList.set(s, []);\n }\n\n if (s.parent) {\n if (!adjList.has(s.parent)) {\n adjList.set(s.parent, []);\n }\n\n adjList.get(s.parent).push(s);\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (configuration_4_1 && !configuration_4_1.done && (_a = configuration_4.return)) _a.call(configuration_4);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n return adjList;\n}\nfunction getValue(rootNode, configuration) {\n var config = getConfiguration([rootNode], configuration);\n return getValueFromAdj(rootNode, getAdjList(config));\n}\nfunction has(iterable, item) {\n if (Array.isArray(iterable)) {\n return iterable.some(function (member) {\n return member === item;\n });\n }\n\n if (iterable instanceof Set) {\n return iterable.has(item);\n }\n\n return false; // TODO: fix\n}\nfunction nextEvents(configuration) {\n return __spreadArray([], __read(new Set(flatten(__spreadArray([], __read(configuration.map(function (sn) {\n return sn.ownEvents;\n })), false)))), false);\n}\nfunction isInFinalState(configuration, stateNode) {\n if (stateNode.type === 'compound') {\n return getChildren(stateNode).some(function (s) {\n return s.type === 'final' && has(configuration, s);\n });\n }\n\n if (stateNode.type === 'parallel') {\n return getChildren(stateNode).every(function (sn) {\n return isInFinalState(configuration, sn);\n });\n }\n\n return false;\n}\nfunction getMeta(configuration) {\n if (configuration === void 0) {\n configuration = [];\n }\n\n return configuration.reduce(function (acc, stateNode) {\n if (stateNode.meta !== undefined) {\n acc[stateNode.id] = stateNode.meta;\n }\n\n return acc;\n }, {});\n}\nfunction getTagsFromConfiguration(configuration) {\n return new Set(flatten(configuration.map(function (sn) {\n return sn.tags;\n })));\n}\n\nexport { getAdjList, getAllChildren, getAllStateNodes, getChildren, getConfiguration, getMeta, getTagsFromConfiguration, getValue, has, isInFinalState, isLeafNode, nextEvents };\n","import { __assign, __spreadArray, __read, __rest } from './_virtual/_tslib.js';\nimport { EMPTY_ACTIVITY_MAP } from './constants.js';\nimport { isString, matchesState, warn } from './utils.js';\nimport { getMeta, nextEvents } from './stateUtils.js';\nimport { initEvent } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nfunction stateValuesEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a === undefined || b === undefined) {\n return false;\n }\n\n if (isString(a) || isString(b)) {\n return a === b;\n }\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n return aKeys.length === bKeys.length && aKeys.every(function (key) {\n return stateValuesEqual(a[key], b[key]);\n });\n}\nfunction isStateConfig(state) {\n if (typeof state !== 'object' || state === null) {\n return false;\n }\n\n return 'value' in state && '_event' in state;\n}\n/**\r\n * @deprecated Use `isStateConfig(object)` or `state instanceof State` instead.\r\n */\n\nvar isState = isStateConfig;\nfunction bindActionToState(action, state) {\n var exec = action.exec;\n\n var boundAction = __assign(__assign({}, action), {\n exec: exec !== undefined ? function () {\n return exec(state.context, state.event, {\n action: action,\n state: state,\n _event: state._event\n });\n } : undefined\n });\n\n return boundAction;\n}\n\nvar State =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n /**\r\n * Creates a new State instance.\r\n * @param value The state value\r\n * @param context The extended state\r\n * @param historyValue The tree representing historical values of the state nodes\r\n * @param history The previous state\r\n * @param actions An array of action objects to execute as side-effects\r\n * @param activities A mapping of activities and whether they are started (`true`) or stopped (`false`).\r\n * @param meta\r\n * @param events Internal event queue. Should be empty with run-to-completion semantics.\r\n * @param configuration\r\n */\n function State(config) {\n var _this = this;\n\n var _a;\n\n this.actions = [];\n this.activities = EMPTY_ACTIVITY_MAP;\n this.meta = {};\n this.events = [];\n this.value = config.value;\n this.context = config.context;\n this._event = config._event;\n this._sessionid = config._sessionid;\n this.event = this._event.data;\n this.historyValue = config.historyValue;\n this.history = config.history;\n this.actions = config.actions || [];\n this.activities = config.activities || EMPTY_ACTIVITY_MAP;\n this.meta = getMeta(config.configuration);\n this.events = config.events || [];\n this.matches = this.matches.bind(this);\n this.toStrings = this.toStrings.bind(this);\n this.configuration = config.configuration;\n this.transitions = config.transitions;\n this.children = config.children;\n this.done = !!config.done;\n this.tags = (_a = Array.isArray(config.tags) ? new Set(config.tags) : config.tags) !== null && _a !== void 0 ? _a : new Set();\n this.machine = config.machine;\n Object.defineProperty(this, 'nextEvents', {\n get: function () {\n return nextEvents(_this.configuration);\n }\n });\n }\n /**\r\n * Creates a new State instance for the given `stateValue` and `context`.\r\n * @param stateValue\r\n * @param context\r\n */\n\n\n State.from = function (stateValue, context) {\n if (stateValue instanceof State) {\n if (stateValue.context !== context) {\n return new State({\n value: stateValue.value,\n context: context,\n _event: stateValue._event,\n _sessionid: null,\n historyValue: stateValue.historyValue,\n history: stateValue.history,\n actions: [],\n activities: stateValue.activities,\n meta: {},\n events: [],\n configuration: [],\n transitions: [],\n children: {}\n });\n }\n\n return stateValue;\n }\n\n var _event = initEvent;\n return new State({\n value: stateValue,\n context: context,\n _event: _event,\n _sessionid: null,\n historyValue: undefined,\n history: undefined,\n actions: [],\n activities: undefined,\n meta: undefined,\n events: [],\n configuration: [],\n transitions: [],\n children: {}\n });\n };\n /**\r\n * Creates a new State instance for the given `config`.\r\n * @param config The state config\r\n */\n\n\n State.create = function (config) {\n return new State(config);\n };\n /**\r\n * Creates a new `State` instance for the given `stateValue` and `context` with no actions (side-effects).\r\n * @param stateValue\r\n * @param context\r\n */\n\n\n State.inert = function (stateValue, context) {\n if (stateValue instanceof State) {\n if (!stateValue.actions.length) {\n return stateValue;\n }\n\n var _event = initEvent;\n return new State({\n value: stateValue.value,\n context: context,\n _event: _event,\n _sessionid: null,\n historyValue: stateValue.historyValue,\n history: stateValue.history,\n activities: stateValue.activities,\n configuration: stateValue.configuration,\n transitions: [],\n children: {}\n });\n }\n\n return State.from(stateValue, context);\n };\n /**\r\n * Returns an array of all the string leaf state node paths.\r\n * @param stateValue\r\n * @param delimiter The character(s) that separate each subpath in the string state node path.\r\n */\n\n\n State.prototype.toStrings = function (stateValue, delimiter) {\n var _this = this;\n\n if (stateValue === void 0) {\n stateValue = this.value;\n }\n\n if (delimiter === void 0) {\n delimiter = '.';\n }\n\n if (isString(stateValue)) {\n return [stateValue];\n }\n\n var valueKeys = Object.keys(stateValue);\n return valueKeys.concat.apply(valueKeys, __spreadArray([], __read(valueKeys.map(function (key) {\n return _this.toStrings(stateValue[key], delimiter).map(function (s) {\n return key + delimiter + s;\n });\n })), false));\n };\n\n State.prototype.toJSON = function () {\n var _a = this;\n _a.configuration;\n _a.transitions;\n var tags = _a.tags;\n _a.machine;\n var jsonValues = __rest(_a, [\"configuration\", \"transitions\", \"tags\", \"machine\"]);\n\n return __assign(__assign({}, jsonValues), {\n tags: Array.from(tags)\n });\n };\n\n State.prototype.matches = function (parentStateValue) {\n return matchesState(parentStateValue, this.value);\n };\n /**\r\n * Whether the current state configuration has a state node with the specified `tag`.\r\n * @param tag\r\n */\n\n\n State.prototype.hasTag = function (tag) {\n return this.tags.has(tag);\n };\n /**\r\n * Determines whether sending the `event` will cause a non-forbidden transition\r\n * to be selected, even if the transitions have no actions nor\r\n * change the state value.\r\n *\r\n * @param event The event to test\r\n * @returns Whether the event will cause a transition\r\n */\n\n\n State.prototype.can = function (event) {\n var _a;\n\n if (IS_PRODUCTION) {\n warn(!!this.machine, \"state.can(...) used outside of a machine-created State object; this will always return false.\");\n }\n\n var transitionData = (_a = this.machine) === null || _a === void 0 ? void 0 : _a.getTransitionData(this, event);\n return !!(transitionData === null || transitionData === void 0 ? void 0 : transitionData.transitions.length) && // Check that at least one transition is not forbidden\n transitionData.transitions.some(function (t) {\n return t.target !== undefined || t.actions.length;\n });\n };\n\n return State;\n}();\n\nexport { State, bindActionToState, isState, isStateConfig, stateValuesEqual };\n","import { __assign } from './_virtual/_tslib.js';\n\nvar defaultOptions = {\n deferEvents: false\n};\n\nvar Scheduler =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n function Scheduler(options) {\n this.processingEvent = false;\n this.queue = [];\n this.initialized = false;\n this.options = __assign(__assign({}, defaultOptions), options);\n }\n\n Scheduler.prototype.initialize = function (callback) {\n this.initialized = true;\n\n if (callback) {\n if (!this.options.deferEvents) {\n this.schedule(callback);\n return;\n }\n\n this.process(callback);\n }\n\n this.flushEvents();\n };\n\n Scheduler.prototype.schedule = function (task) {\n if (!this.initialized || this.processingEvent) {\n this.queue.push(task);\n return;\n }\n\n if (this.queue.length !== 0) {\n throw new Error('Event queue should be empty when it is not processing events');\n }\n\n this.process(task);\n this.flushEvents();\n };\n\n Scheduler.prototype.clear = function () {\n this.queue = [];\n };\n\n Scheduler.prototype.flushEvents = function () {\n var nextCallback = this.queue.shift();\n\n while (nextCallback) {\n this.process(nextCallback);\n nextCallback = this.queue.shift();\n }\n };\n\n Scheduler.prototype.process = function (callback) {\n this.processingEvent = true;\n\n try {\n callback();\n } catch (e) {\n // there is no use to keep the future events\n // as the situation is not anymore the same\n this.clear();\n throw e;\n } finally {\n this.processingEvent = false;\n }\n };\n\n return Scheduler;\n}();\n\nexport { Scheduler };\n","var children = /*#__PURE__*/new Map();\nvar sessionIdIndex = 0;\nvar registry = {\n bookId: function () {\n return \"x:\".concat(sessionIdIndex++);\n },\n register: function (id, actor) {\n children.set(id, actor);\n return id;\n },\n get: function (id) {\n return children.get(id);\n },\n free: function (id) {\n children.delete(id);\n }\n};\n\nexport { registry };\n","import { IS_PRODUCTION } from './environment.js';\n\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n\n if (typeof self !== 'undefined') {\n return self;\n }\n\n if (typeof window !== 'undefined') {\n return window;\n }\n\n if (typeof global !== 'undefined') {\n return global;\n }\n\n if (!IS_PRODUCTION) {\n console.warn('XState could not find a global object in this environment. Please let the maintainers know and raise an issue here: https://github.com/statelyai/xstate/issues');\n }\n}\n\nfunction getDevTools() {\n var global = getGlobal();\n\n if (global && '__xstate__' in global) {\n return global.__xstate__;\n }\n\n return undefined;\n}\n\nfunction registerService(service) {\n if (!getGlobal()) {\n return;\n }\n\n var devTools = getDevTools();\n\n if (devTools) {\n devTools.register(service);\n }\n}\n\nexport { getGlobal, registerService };\n","import { error, doneInvoke } from './actions.js';\nimport { toActorRef } from './Actor.js';\nimport { toObserver } from './utils.js';\n\n/**\r\n * Returns an actor behavior from a reducer and its initial state.\r\n *\r\n * @param transition The pure reducer that returns the next state given the current state and event.\r\n * @param initialState The initial state of the reducer.\r\n * @returns An actor behavior\r\n */\n\nfunction fromReducer(transition, initialState) {\n return {\n transition: transition,\n initialState: initialState\n };\n}\nfunction fromPromise(promiseFn) {\n var initialState = {\n error: undefined,\n data: undefined,\n status: 'pending'\n };\n return {\n transition: function (state, event, _a) {\n var parent = _a.parent,\n id = _a.id,\n observers = _a.observers;\n\n switch (event.type) {\n case 'fulfill':\n parent === null || parent === void 0 ? void 0 : parent.send(doneInvoke(id, event.data));\n return {\n error: undefined,\n data: event.data,\n status: 'fulfilled'\n };\n\n case 'reject':\n parent === null || parent === void 0 ? void 0 : parent.send(error(id, event.error));\n observers.forEach(function (observer) {\n observer.error(event.error);\n });\n return {\n error: event.error,\n data: undefined,\n status: 'rejected'\n };\n\n default:\n return state;\n }\n },\n initialState: initialState,\n start: function (_a) {\n var self = _a.self;\n promiseFn().then(function (data) {\n self.send({\n type: 'fulfill',\n data: data\n });\n }, function (reason) {\n self.send({\n type: 'reject',\n error: reason\n });\n });\n return initialState;\n }\n };\n}\nfunction spawnBehavior(behavior, options) {\n if (options === void 0) {\n options = {};\n }\n\n var state = behavior.initialState;\n var observers = new Set();\n var mailbox = [];\n var flushing = false;\n\n var flush = function () {\n if (flushing) {\n return;\n }\n\n flushing = true;\n\n while (mailbox.length > 0) {\n var event_1 = mailbox.shift();\n state = behavior.transition(state, event_1, actorCtx);\n observers.forEach(function (observer) {\n return observer.next(state);\n });\n }\n\n flushing = false;\n };\n\n var actor = toActorRef({\n id: options.id,\n send: function (event) {\n mailbox.push(event);\n flush();\n },\n getSnapshot: function () {\n return state;\n },\n subscribe: function (next, handleError, complete) {\n var observer = toObserver(next, handleError, complete);\n observers.add(observer);\n observer.next(state);\n return {\n unsubscribe: function () {\n observers.delete(observer);\n }\n };\n }\n });\n var actorCtx = {\n parent: options.parent,\n self: actor,\n id: options.id || 'anonymous',\n observers: observers\n };\n state = behavior.start ? behavior.start(actorCtx) : state;\n return actor;\n}\n\nexport { fromPromise, fromReducer, spawnBehavior };\n","import { __values, __spreadArray, __read, __assign } from './_virtual/_tslib.js';\nimport { SpecialTargets, ActionTypes } from './types.js';\nimport { isStateConfig, State, bindActionToState } from './State.js';\nimport { raise, send, errorPlatform, update, error as error$1, log, stop, start, cancel } from './actionTypes.js';\nimport { initEvent, doneInvoke, toActionObjects, resolveActions, error, getActionFunction } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\nimport { warn, mapContext, toObserver, isFunction, toSCXMLEvent, flatten, isPromiseLike, isObservable, isMachine, isBehavior, reportUnhandledExceptionOnInvocation, symbolObservable, isArray, toEventObject, isString, isActor, toInvokeSource, uniqueId } from './utils.js';\nimport { Scheduler } from './scheduler.js';\nimport { createDeferredActor, isSpawnedActor } from './Actor.js';\nimport { registry } from './registry.js';\nimport { getGlobal, registerService } from './devTools.js';\nimport { provide, consume } from './serviceScope.js';\nimport { spawnBehavior } from './behaviors.js';\n\nvar DEFAULT_SPAWN_OPTIONS = {\n sync: false,\n autoForward: false\n};\nvar InterpreterStatus;\n\n(function (InterpreterStatus) {\n InterpreterStatus[InterpreterStatus[\"NotStarted\"] = 0] = \"NotStarted\";\n InterpreterStatus[InterpreterStatus[\"Running\"] = 1] = \"Running\";\n InterpreterStatus[InterpreterStatus[\"Stopped\"] = 2] = \"Stopped\";\n})(InterpreterStatus || (InterpreterStatus = {}));\n\nvar Interpreter =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n /**\r\n * Creates a new Interpreter instance (i.e., service) for the given machine with the provided options, if any.\r\n *\r\n * @param machine The machine to be interpreted\r\n * @param options Interpreter options\r\n */\n function Interpreter(machine, options) {\n if (options === void 0) {\n options = Interpreter.defaultOptions;\n }\n\n var _this = this;\n\n this.machine = machine;\n this.delayedEventsMap = {};\n this.listeners = new Set();\n this.contextListeners = new Set();\n this.stopListeners = new Set();\n this.doneListeners = new Set();\n this.eventListeners = new Set();\n this.sendListeners = new Set();\n /**\r\n * Whether the service is started.\r\n */\n\n this.initialized = false;\n this.status = InterpreterStatus.NotStarted;\n this.children = new Map();\n this.forwardTo = new Set();\n this._outgoingQueue = [];\n /**\r\n * Alias for Interpreter.prototype.start\r\n */\n\n this.init = this.start;\n /**\r\n * Sends an event to the running interpreter to trigger a transition.\r\n *\r\n * An array of events (batched) can be sent as well, which will send all\r\n * batched events to the running interpreter. The listeners will be\r\n * notified only **once** when all events are processed.\r\n *\r\n * @param event The event(s) to send\r\n */\n\n this.send = function (event, payload) {\n if (isArray(event)) {\n _this.batch(event);\n\n return _this.state;\n }\n\n var _event = toSCXMLEvent(toEventObject(event, payload));\n\n if (_this.status === InterpreterStatus.Stopped) {\n // do nothing\n if (!IS_PRODUCTION) {\n warn(false, \"Event \\\"\".concat(_event.name, \"\\\" was sent to stopped service \\\"\").concat(_this.machine.id, \"\\\". This service has already reached its final state, and will not transition.\\nEvent: \").concat(JSON.stringify(_event.data)));\n }\n\n return _this.state;\n }\n\n if (_this.status !== InterpreterStatus.Running && !_this.options.deferEvents) {\n throw new Error(\"Event \\\"\".concat(_event.name, \"\\\" was sent to uninitialized service \\\"\").concat(_this.machine.id // tslint:disable-next-line:max-line-length\n , \"\\\". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.\\nEvent: \").concat(JSON.stringify(_event.data)));\n }\n\n _this.scheduler.schedule(function () {\n // Forward copy of event to child actors\n _this.forward(_event);\n\n var nextState = _this._nextState(_event);\n\n _this.update(nextState, _event);\n });\n\n return _this._state; // TODO: deprecate (should return void)\n // tslint:disable-next-line:semicolon\n };\n\n this.sendTo = function (event, to, immediate) {\n var isParent = _this.parent && (to === SpecialTargets.Parent || _this.parent.id === to);\n var target = isParent ? _this.parent : isString(to) ? _this.children.get(to) || registry.get(to) : isActor(to) ? to : undefined;\n\n if (!target) {\n if (!isParent) {\n throw new Error(\"Unable to send event to child '\".concat(to, \"' from service '\").concat(_this.id, \"'.\"));\n } // tslint:disable-next-line:no-console\n\n\n if (!IS_PRODUCTION) {\n warn(false, \"Service '\".concat(_this.id, \"' has no parent: unable to send event \").concat(event.type));\n }\n\n return;\n }\n\n if ('machine' in target) {\n // perhaps those events should be rejected in the parent\n // but atm it doesn't have easy access to all of the information that is required to do it reliably\n if (_this.status !== InterpreterStatus.Stopped || _this.parent !== target || // we need to send events to the parent from exit handlers of a machine that reached its final state\n _this.state.done) {\n // Send SCXML events to machines\n var scxmlEvent = __assign(__assign({}, event), {\n name: event.name === error$1 ? \"\".concat(error(_this.id)) : event.name,\n origin: _this.sessionId\n });\n\n if (!immediate && _this.machine.config.predictableActionArguments) {\n _this._outgoingQueue.push([target, scxmlEvent]);\n } else {\n target.send(scxmlEvent);\n }\n }\n } else {\n // Send normal events to other targets\n if (!immediate && _this.machine.config.predictableActionArguments) {\n _this._outgoingQueue.push([target, event.data]);\n } else {\n target.send(event.data);\n }\n }\n };\n\n this._exec = function (action, context, _event, actionFunctionMap) {\n if (actionFunctionMap === void 0) {\n actionFunctionMap = _this.machine.options.actions;\n }\n\n var actionOrExec = action.exec || getActionFunction(action.type, actionFunctionMap);\n var exec = isFunction(actionOrExec) ? actionOrExec : actionOrExec ? actionOrExec.exec : action.exec;\n\n if (exec) {\n try {\n return exec(context, _event.data, !_this.machine.config.predictableActionArguments ? {\n action: action,\n state: _this.state,\n _event: _event\n } : {\n action: action,\n _event: _event\n });\n } catch (err) {\n if (_this.parent) {\n _this.parent.send({\n type: 'xstate.error',\n data: err\n });\n }\n\n throw err;\n }\n }\n\n switch (action.type) {\n case send:\n var sendAction = action;\n\n if (typeof sendAction.delay === 'number') {\n _this.defer(sendAction);\n\n return;\n } else {\n if (sendAction.to) {\n _this.sendTo(sendAction._event, sendAction.to, _event === initEvent);\n } else {\n _this.send(sendAction._event);\n }\n }\n\n break;\n\n case cancel:\n _this.cancel(action.sendId);\n\n break;\n\n case start:\n {\n if (_this.status !== InterpreterStatus.Running) {\n return;\n }\n\n var activity = action.activity; // If the activity will be stopped right after it's started\n // (such as in transient states)\n // don't bother starting the activity.\n\n if ( // in v4 with `predictableActionArguments` invokes are called eagerly when the `this.state` still points to the previous state\n !_this.machine.config.predictableActionArguments && !_this.state.activities[activity.id || activity.type]) {\n break;\n } // Invoked services\n\n\n if (activity.type === ActionTypes.Invoke) {\n var invokeSource = toInvokeSource(activity.src);\n var serviceCreator = _this.machine.options.services ? _this.machine.options.services[invokeSource.type] : undefined;\n var id = activity.id,\n data = activity.data;\n\n if (!IS_PRODUCTION) {\n warn(!('forward' in activity), // tslint:disable-next-line:max-line-length\n \"`forward` property is deprecated (found in invocation of '\".concat(activity.src, \"' in in machine '\").concat(_this.machine.id, \"'). \") + \"Please use `autoForward` instead.\");\n }\n\n var autoForward = 'autoForward' in activity ? activity.autoForward : !!activity.forward;\n\n if (!serviceCreator) {\n // tslint:disable-next-line:no-console\n if (!IS_PRODUCTION) {\n warn(false, \"No service found for invocation '\".concat(activity.src, \"' in machine '\").concat(_this.machine.id, \"'.\"));\n }\n\n return;\n }\n\n var resolvedData = data ? mapContext(data, context, _event) : undefined;\n\n if (typeof serviceCreator === 'string') {\n // TODO: warn\n return;\n }\n\n var source = isFunction(serviceCreator) ? serviceCreator(context, _event.data, {\n data: resolvedData,\n src: invokeSource,\n meta: activity.meta\n }) : serviceCreator;\n\n if (!source) {\n // TODO: warn?\n return;\n }\n\n var options = void 0;\n\n if (isMachine(source)) {\n source = resolvedData ? source.withContext(resolvedData) : source;\n options = {\n autoForward: autoForward\n };\n }\n\n _this.spawn(source, id, options);\n } else {\n _this.spawnActivity(activity);\n }\n\n break;\n }\n\n case stop:\n {\n _this.stopChild(action.activity.id);\n\n break;\n }\n\n case log:\n var label = action.label,\n value = action.value;\n\n if (label) {\n _this.logger(label, value);\n } else {\n _this.logger(value);\n }\n\n break;\n\n default:\n if (!IS_PRODUCTION) {\n warn(false, \"No implementation found for action type '\".concat(action.type, \"'\"));\n }\n\n break;\n }\n };\n\n var resolvedOptions = __assign(__assign({}, Interpreter.defaultOptions), options);\n\n var clock = resolvedOptions.clock,\n logger = resolvedOptions.logger,\n parent = resolvedOptions.parent,\n id = resolvedOptions.id;\n var resolvedId = id !== undefined ? id : machine.id;\n this.id = resolvedId;\n this.logger = logger;\n this.clock = clock;\n this.parent = parent;\n this.options = resolvedOptions;\n this.scheduler = new Scheduler({\n deferEvents: this.options.deferEvents\n });\n this.sessionId = registry.bookId();\n }\n\n Object.defineProperty(Interpreter.prototype, \"initialState\", {\n get: function () {\n var _this = this;\n\n if (this._initialState) {\n return this._initialState;\n }\n\n return provide(this, function () {\n _this._initialState = _this.machine.initialState;\n return _this._initialState;\n });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Interpreter.prototype, \"state\", {\n /**\r\n * @deprecated Use `.getSnapshot()` instead.\r\n */\n get: function () {\n if (!IS_PRODUCTION) {\n warn(this.status !== InterpreterStatus.NotStarted, \"Attempted to read state from uninitialized service '\".concat(this.id, \"'. Make sure the service is started first.\"));\n }\n\n return this._state;\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Executes the actions of the given state, with that state's `context` and `event`.\r\n *\r\n * @param state The state whose actions will be executed\r\n * @param actionsConfig The action implementations to use\r\n */\n\n Interpreter.prototype.execute = function (state, actionsConfig) {\n var e_1, _a;\n\n try {\n for (var _b = __values(state.actions), _c = _b.next(); !_c.done; _c = _b.next()) {\n var action = _c.value;\n this.exec(action, state, actionsConfig);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n };\n\n Interpreter.prototype.update = function (state, _event) {\n var e_2, _a, e_3, _b, e_4, _c, e_5, _d;\n\n var _this = this; // Attach session ID to state\n\n\n state._sessionid = this.sessionId; // Update state\n\n this._state = state; // Execute actions\n\n if ((!this.machine.config.predictableActionArguments || // this is currently required to execute initial actions as the `initialState` gets cached\n // we can't just recompute it (and execute actions while doing so) because we try to preserve identity of actors created within initial assigns\n _event === initEvent) && this.options.execute) {\n this.execute(this.state);\n } else {\n var item = void 0;\n\n while (item = this._outgoingQueue.shift()) {\n item[0].send(item[1]);\n }\n } // Update children\n\n\n this.children.forEach(function (child) {\n _this.state.children[child.id] = child;\n }); // Dev tools\n\n if (this.devTools) {\n this.devTools.send(_event.data, state);\n } // Execute listeners\n\n\n if (state.event) {\n try {\n for (var _e = __values(this.eventListeners), _f = _e.next(); !_f.done; _f = _e.next()) {\n var listener = _f.value;\n listener(state.event);\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_a = _e.return)) _a.call(_e);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n }\n\n try {\n for (var _g = __values(this.listeners), _h = _g.next(); !_h.done; _h = _g.next()) {\n var listener = _h.value;\n listener(state, state.event);\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_h && !_h.done && (_b = _g.return)) _b.call(_g);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n try {\n for (var _j = __values(this.contextListeners), _k = _j.next(); !_k.done; _k = _j.next()) {\n var contextListener = _k.value;\n contextListener(this.state.context, this.state.history ? this.state.history.context : undefined);\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (_k && !_k.done && (_c = _j.return)) _c.call(_j);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n if (this.state.done) {\n // get final child state node\n var finalChildStateNode = state.configuration.find(function (sn) {\n return sn.type === 'final' && sn.parent === _this.machine;\n });\n var doneData = finalChildStateNode && finalChildStateNode.doneData ? mapContext(finalChildStateNode.doneData, state.context, _event) : undefined;\n\n try {\n for (var _l = __values(this.doneListeners), _m = _l.next(); !_m.done; _m = _l.next()) {\n var listener = _m.value;\n listener(doneInvoke(this.id, doneData));\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (_m && !_m.done && (_d = _l.return)) _d.call(_l);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n this._stop();\n\n this._stopChildren();\n }\n };\n /*\r\n * Adds a listener that is notified whenever a state transition happens. The listener is called with\r\n * the next state and the event object that caused the state transition.\r\n *\r\n * @param listener The state listener\r\n */\n\n\n Interpreter.prototype.onTransition = function (listener) {\n this.listeners.add(listener); // Send current state to listener\n\n if (this.status === InterpreterStatus.Running) {\n listener(this.state, this.state.event);\n }\n\n return this;\n };\n\n Interpreter.prototype.subscribe = function (nextListenerOrObserver, _, // TODO: error listener\n completeListener) {\n var _this = this;\n\n var observer = toObserver(nextListenerOrObserver, _, completeListener);\n this.listeners.add(observer.next); // Send current state to listener\n\n if (this.status !== InterpreterStatus.NotStarted) {\n observer.next(this.state);\n }\n\n var completeOnce = function () {\n _this.doneListeners.delete(completeOnce);\n\n _this.stopListeners.delete(completeOnce);\n\n observer.complete();\n };\n\n if (this.status === InterpreterStatus.Stopped) {\n observer.complete();\n } else {\n this.onDone(completeOnce);\n this.onStop(completeOnce);\n }\n\n return {\n unsubscribe: function () {\n _this.listeners.delete(observer.next);\n\n _this.doneListeners.delete(completeOnce);\n\n _this.stopListeners.delete(completeOnce);\n }\n };\n };\n /**\r\n * Adds an event listener that is notified whenever an event is sent to the running interpreter.\r\n * @param listener The event listener\r\n */\n\n\n Interpreter.prototype.onEvent = function (listener) {\n this.eventListeners.add(listener);\n return this;\n };\n /**\r\n * Adds an event listener that is notified whenever a `send` event occurs.\r\n * @param listener The event listener\r\n */\n\n\n Interpreter.prototype.onSend = function (listener) {\n this.sendListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a context listener that is notified whenever the state context changes.\r\n * @param listener The context listener\r\n */\n\n\n Interpreter.prototype.onChange = function (listener) {\n this.contextListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a listener that is notified when the machine is stopped.\r\n * @param listener The listener\r\n */\n\n\n Interpreter.prototype.onStop = function (listener) {\n this.stopListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a state listener that is notified when the statechart has reached its final state.\r\n * @param listener The state listener\r\n */\n\n\n Interpreter.prototype.onDone = function (listener) {\n this.doneListeners.add(listener);\n return this;\n };\n /**\r\n * Removes a listener.\r\n * @param listener The listener to remove\r\n */\n\n\n Interpreter.prototype.off = function (listener) {\n this.listeners.delete(listener);\n this.eventListeners.delete(listener);\n this.sendListeners.delete(listener);\n this.stopListeners.delete(listener);\n this.doneListeners.delete(listener);\n this.contextListeners.delete(listener);\n return this;\n };\n /**\r\n * Starts the interpreter from the given state, or the initial state.\r\n * @param initialState The state to start the statechart from\r\n */\n\n\n Interpreter.prototype.start = function (initialState) {\n var _this = this;\n\n if (this.status === InterpreterStatus.Running) {\n // Do not restart the service if it is already started\n return this;\n } // yes, it's a hack but we need the related cache to be populated for some things to work (like delayed transitions)\n // this is usually called by `machine.getInitialState` but if we rehydrate from a state we might bypass this call\n // we also don't want to call this method here as it resolves the full initial state which might involve calling assign actions\n // and that could potentially lead to some unwanted side-effects (even such as creating some rogue actors)\n\n\n this.machine._init();\n\n registry.register(this.sessionId, this);\n this.initialized = true;\n this.status = InterpreterStatus.Running;\n var resolvedState = initialState === undefined ? this.initialState : provide(this, function () {\n return isStateConfig(initialState) ? _this.machine.resolveState(initialState) : _this.machine.resolveState(State.from(initialState, _this.machine.context));\n });\n\n if (this.options.devTools) {\n this.attachDev();\n }\n\n this.scheduler.initialize(function () {\n _this.update(resolvedState, initEvent);\n });\n return this;\n };\n\n Interpreter.prototype._stopChildren = function () {\n // TODO: think about converting those to actions\n this.children.forEach(function (child) {\n if (isFunction(child.stop)) {\n child.stop();\n }\n });\n this.children.clear();\n };\n\n Interpreter.prototype._stop = function () {\n var e_6, _a, e_7, _b, e_8, _c, e_9, _d, e_10, _e;\n\n try {\n for (var _f = __values(this.listeners), _g = _f.next(); !_g.done; _g = _f.next()) {\n var listener = _g.value;\n this.listeners.delete(listener);\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (_g && !_g.done && (_a = _f.return)) _a.call(_f);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n try {\n for (var _h = __values(this.stopListeners), _j = _h.next(); !_j.done; _j = _h.next()) {\n var listener = _j.value; // call listener, then remove\n\n listener();\n this.stopListeners.delete(listener);\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (_j && !_j.done && (_b = _h.return)) _b.call(_h);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n\n try {\n for (var _k = __values(this.contextListeners), _l = _k.next(); !_l.done; _l = _k.next()) {\n var listener = _l.value;\n this.contextListeners.delete(listener);\n }\n } catch (e_8_1) {\n e_8 = {\n error: e_8_1\n };\n } finally {\n try {\n if (_l && !_l.done && (_c = _k.return)) _c.call(_k);\n } finally {\n if (e_8) throw e_8.error;\n }\n }\n\n try {\n for (var _m = __values(this.doneListeners), _o = _m.next(); !_o.done; _o = _m.next()) {\n var listener = _o.value;\n this.doneListeners.delete(listener);\n }\n } catch (e_9_1) {\n e_9 = {\n error: e_9_1\n };\n } finally {\n try {\n if (_o && !_o.done && (_d = _m.return)) _d.call(_m);\n } finally {\n if (e_9) throw e_9.error;\n }\n }\n\n if (!this.initialized) {\n // Interpreter already stopped; do nothing\n return this;\n }\n\n this.initialized = false;\n this.status = InterpreterStatus.Stopped;\n this._initialState = undefined;\n\n try {\n // we are going to stop within the current sync frame\n // so we can safely just cancel this here as nothing async should be fired anyway\n for (var _p = __values(Object.keys(this.delayedEventsMap)), _q = _p.next(); !_q.done; _q = _p.next()) {\n var key = _q.value;\n this.clock.clearTimeout(this.delayedEventsMap[key]);\n }\n } catch (e_10_1) {\n e_10 = {\n error: e_10_1\n };\n } finally {\n try {\n if (_q && !_q.done && (_e = _p.return)) _e.call(_p);\n } finally {\n if (e_10) throw e_10.error;\n }\n } // clear everything that might be enqueued\n\n\n this.scheduler.clear();\n this.scheduler = new Scheduler({\n deferEvents: this.options.deferEvents\n });\n };\n /**\r\n * Stops the interpreter and unsubscribe all listeners.\r\n *\r\n * This will also notify the `onStop` listeners.\r\n */\n\n\n Interpreter.prototype.stop = function () {\n // TODO: add warning for stopping non-root interpreters\n var _this = this; // grab the current scheduler as it will be replaced in _stop\n\n\n var scheduler = this.scheduler;\n\n this._stop(); // let what is currently processed to be finished\n\n\n scheduler.schedule(function () {\n // it feels weird to handle this here but we need to handle this even slightly \"out of band\"\n var _event = toSCXMLEvent({\n type: 'xstate.stop'\n });\n\n var nextState = provide(_this, function () {\n var exitActions = flatten(__spreadArray([], __read(_this.state.configuration), false).sort(function (a, b) {\n return b.order - a.order;\n }).map(function (stateNode) {\n return toActionObjects(stateNode.onExit, _this.machine.options.actions);\n }));\n\n var _a = __read(resolveActions(_this.machine, _this.state, _this.state.context, _event, [exitActions], _this.machine.config.predictableActionArguments ? _this._exec : undefined, _this.machine.config.predictableActionArguments || _this.machine.config.preserveActionOrder), 2),\n resolvedActions = _a[0],\n updatedContext = _a[1];\n\n var newState = new State({\n value: _this.state.value,\n context: updatedContext,\n _event: _event,\n _sessionid: _this.sessionId,\n historyValue: undefined,\n history: _this.state,\n actions: resolvedActions.filter(function (action) {\n return action.type !== raise && (action.type !== send || !!action.to && action.to !== SpecialTargets.Internal);\n }),\n activities: {},\n events: [],\n configuration: [],\n transitions: [],\n children: {},\n done: _this.state.done,\n tags: _this.state.tags,\n machine: _this.machine\n });\n newState.changed = true;\n return newState;\n });\n\n _this.update(nextState, _event);\n\n _this._stopChildren();\n\n registry.free(_this.sessionId);\n });\n return this;\n };\n\n Interpreter.prototype.batch = function (events) {\n var _this = this;\n\n if (this.status === InterpreterStatus.NotStarted && this.options.deferEvents) {\n // tslint:disable-next-line:no-console\n if (!IS_PRODUCTION) {\n warn(false, \"\".concat(events.length, \" event(s) were sent to uninitialized service \\\"\").concat(this.machine.id, \"\\\" and are deferred. Make sure .start() is called for this service.\\nEvent: \").concat(JSON.stringify(event)));\n }\n } else if (this.status !== InterpreterStatus.Running) {\n throw new Error( // tslint:disable-next-line:max-line-length\n \"\".concat(events.length, \" event(s) were sent to uninitialized service \\\"\").concat(this.machine.id, \"\\\". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.\"));\n }\n\n if (!events.length) {\n return;\n }\n\n var exec = !!this.machine.config.predictableActionArguments && this._exec;\n this.scheduler.schedule(function () {\n var e_11, _a;\n\n var nextState = _this.state;\n var batchChanged = false;\n var batchedActions = [];\n\n var _loop_1 = function (event_1) {\n var _event = toSCXMLEvent(event_1);\n\n _this.forward(_event);\n\n nextState = provide(_this, function () {\n return _this.machine.transition(nextState, _event, undefined, exec || undefined);\n });\n batchedActions.push.apply(batchedActions, __spreadArray([], __read(_this.machine.config.predictableActionArguments ? nextState.actions : nextState.actions.map(function (a) {\n return bindActionToState(a, nextState);\n })), false));\n batchChanged = batchChanged || !!nextState.changed;\n };\n\n try {\n for (var events_1 = __values(events), events_1_1 = events_1.next(); !events_1_1.done; events_1_1 = events_1.next()) {\n var event_1 = events_1_1.value;\n\n _loop_1(event_1);\n }\n } catch (e_11_1) {\n e_11 = {\n error: e_11_1\n };\n } finally {\n try {\n if (events_1_1 && !events_1_1.done && (_a = events_1.return)) _a.call(events_1);\n } finally {\n if (e_11) throw e_11.error;\n }\n }\n\n nextState.changed = batchChanged;\n nextState.actions = batchedActions;\n\n _this.update(nextState, toSCXMLEvent(events[events.length - 1]));\n });\n };\n /**\r\n * Returns a send function bound to this interpreter instance.\r\n *\r\n * @param event The event to be sent by the sender.\r\n */\n\n\n Interpreter.prototype.sender = function (event) {\n return this.send.bind(this, event);\n };\n\n Interpreter.prototype._nextState = function (event, exec) {\n var _this = this;\n\n if (exec === void 0) {\n exec = !!this.machine.config.predictableActionArguments && this._exec;\n }\n\n var _event = toSCXMLEvent(event);\n\n if (_event.name.indexOf(errorPlatform) === 0 && !this.state.nextEvents.some(function (nextEvent) {\n return nextEvent.indexOf(errorPlatform) === 0;\n })) {\n throw _event.data.data;\n }\n\n var nextState = provide(this, function () {\n return _this.machine.transition(_this.state, _event, undefined, exec || undefined);\n });\n return nextState;\n };\n /**\r\n * Returns the next state given the interpreter's current state and the event.\r\n *\r\n * This is a pure method that does _not_ update the interpreter's state.\r\n *\r\n * @param event The event to determine the next state\r\n */\n\n\n Interpreter.prototype.nextState = function (event) {\n return this._nextState(event, false);\n };\n\n Interpreter.prototype.forward = function (event) {\n var e_12, _a;\n\n try {\n for (var _b = __values(this.forwardTo), _c = _b.next(); !_c.done; _c = _b.next()) {\n var id = _c.value;\n var child = this.children.get(id);\n\n if (!child) {\n throw new Error(\"Unable to forward event '\".concat(event, \"' from interpreter '\").concat(this.id, \"' to nonexistant child '\").concat(id, \"'.\"));\n }\n\n child.send(event);\n }\n } catch (e_12_1) {\n e_12 = {\n error: e_12_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_12) throw e_12.error;\n }\n }\n };\n\n Interpreter.prototype.defer = function (sendAction) {\n var _this = this;\n\n this.delayedEventsMap[sendAction.id] = this.clock.setTimeout(function () {\n if (sendAction.to) {\n _this.sendTo(sendAction._event, sendAction.to, true);\n } else {\n _this.send(sendAction._event);\n }\n }, sendAction.delay);\n };\n\n Interpreter.prototype.cancel = function (sendId) {\n this.clock.clearTimeout(this.delayedEventsMap[sendId]);\n delete this.delayedEventsMap[sendId];\n };\n\n Interpreter.prototype.exec = function (action, state, actionFunctionMap) {\n if (actionFunctionMap === void 0) {\n actionFunctionMap = this.machine.options.actions;\n }\n\n this._exec(action, state.context, state._event, actionFunctionMap);\n };\n\n Interpreter.prototype.removeChild = function (childId) {\n var _a;\n\n this.children.delete(childId);\n this.forwardTo.delete(childId); // this.state might not exist at the time this is called,\n // such as when a child is added then removed while initializing the state\n\n (_a = this.state) === null || _a === void 0 ? true : delete _a.children[childId];\n };\n\n Interpreter.prototype.stopChild = function (childId) {\n var child = this.children.get(childId);\n\n if (!child) {\n return;\n }\n\n this.removeChild(childId);\n\n if (isFunction(child.stop)) {\n child.stop();\n }\n };\n\n Interpreter.prototype.spawn = function (entity, name, options) {\n if (this.status !== InterpreterStatus.Running) {\n return createDeferredActor(entity, name);\n }\n\n if (isPromiseLike(entity)) {\n return this.spawnPromise(Promise.resolve(entity), name);\n } else if (isFunction(entity)) {\n return this.spawnCallback(entity, name);\n } else if (isSpawnedActor(entity)) {\n return this.spawnActor(entity, name);\n } else if (isObservable(entity)) {\n return this.spawnObservable(entity, name);\n } else if (isMachine(entity)) {\n return this.spawnMachine(entity, __assign(__assign({}, options), {\n id: name\n }));\n } else if (isBehavior(entity)) {\n return this.spawnBehavior(entity, name);\n } else {\n throw new Error(\"Unable to spawn entity \\\"\".concat(name, \"\\\" of type \\\"\").concat(typeof entity, \"\\\".\"));\n }\n };\n\n Interpreter.prototype.spawnMachine = function (machine, options) {\n var _this = this;\n\n if (options === void 0) {\n options = {};\n }\n\n var childService = new Interpreter(machine, __assign(__assign({}, this.options), {\n parent: this,\n id: options.id || machine.id\n }));\n\n var resolvedOptions = __assign(__assign({}, DEFAULT_SPAWN_OPTIONS), options);\n\n if (resolvedOptions.sync) {\n childService.onTransition(function (state) {\n _this.send(update, {\n state: state,\n id: childService.id\n });\n });\n }\n\n var actor = childService;\n this.children.set(childService.id, actor);\n\n if (resolvedOptions.autoForward) {\n this.forwardTo.add(childService.id);\n }\n\n childService.onDone(function (doneEvent) {\n _this.removeChild(childService.id);\n\n _this.send(toSCXMLEvent(doneEvent, {\n origin: childService.id\n }));\n }).start();\n return actor;\n };\n\n Interpreter.prototype.spawnBehavior = function (behavior, id) {\n var actorRef = spawnBehavior(behavior, {\n id: id,\n parent: this\n });\n this.children.set(id, actorRef);\n return actorRef;\n };\n\n Interpreter.prototype.spawnPromise = function (promise, id) {\n var _a;\n\n var _this = this;\n\n var canceled = false;\n var resolvedData;\n promise.then(function (response) {\n if (!canceled) {\n resolvedData = response;\n\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(doneInvoke(id, response), {\n origin: id\n }));\n }\n }, function (errorData) {\n if (!canceled) {\n _this.removeChild(id);\n\n var errorEvent = error(id, errorData);\n\n try {\n // Send \"error.platform.id\" to this (parent).\n _this.send(toSCXMLEvent(errorEvent, {\n origin: id\n }));\n } catch (error) {\n reportUnhandledExceptionOnInvocation(errorData, error, id);\n\n if (_this.devTools) {\n _this.devTools.send(errorEvent, _this.state);\n }\n\n if (_this.machine.strict) {\n // it would be better to always stop the state machine if unhandled\n // exception/promise rejection happens but because we don't want to\n // break existing code so enforce it on strict mode only especially so\n // because documentation says that onError is optional\n _this.stop();\n }\n }\n }\n });\n var actor = (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function (next, handleError, complete) {\n var observer = toObserver(next, handleError, complete);\n var unsubscribed = false;\n promise.then(function (response) {\n if (unsubscribed) {\n return;\n }\n\n observer.next(response);\n\n if (unsubscribed) {\n return;\n }\n\n observer.complete();\n }, function (err) {\n if (unsubscribed) {\n return;\n }\n\n observer.error(err);\n });\n return {\n unsubscribe: function () {\n return unsubscribed = true;\n }\n };\n },\n stop: function () {\n canceled = true;\n },\n toJSON: function () {\n return {\n id: id\n };\n },\n getSnapshot: function () {\n return resolvedData;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnCallback = function (callback, id) {\n var _a;\n\n var _this = this;\n\n var canceled = false;\n var receivers = new Set();\n var listeners = new Set();\n var emitted;\n\n var receive = function (e) {\n emitted = e;\n listeners.forEach(function (listener) {\n return listener(e);\n });\n\n if (canceled) {\n return;\n }\n\n _this.send(toSCXMLEvent(e, {\n origin: id\n }));\n };\n\n var callbackStop;\n\n try {\n callbackStop = callback(receive, function (newListener) {\n receivers.add(newListener);\n });\n } catch (err) {\n this.send(error(id, err));\n }\n\n if (isPromiseLike(callbackStop)) {\n // it turned out to be an async function, can't reliably check this before calling `callback`\n // because transpiled async functions are not recognizable\n return this.spawnPromise(callbackStop, id);\n }\n\n var actor = (_a = {\n id: id,\n send: function (event) {\n return receivers.forEach(function (receiver) {\n return receiver(event);\n });\n },\n subscribe: function (next) {\n var observer = toObserver(next);\n listeners.add(observer.next);\n return {\n unsubscribe: function () {\n listeners.delete(observer.next);\n }\n };\n },\n stop: function () {\n canceled = true;\n\n if (isFunction(callbackStop)) {\n callbackStop();\n }\n },\n toJSON: function () {\n return {\n id: id\n };\n },\n getSnapshot: function () {\n return emitted;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnObservable = function (source, id) {\n var _a;\n\n var _this = this;\n\n var emitted;\n var subscription = source.subscribe(function (value) {\n emitted = value;\n\n _this.send(toSCXMLEvent(value, {\n origin: id\n }));\n }, function (err) {\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(error(id, err), {\n origin: id\n }));\n }, function () {\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(doneInvoke(id), {\n origin: id\n }));\n });\n var actor = (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function (next, handleError, complete) {\n return source.subscribe(next, handleError, complete);\n },\n stop: function () {\n return subscription.unsubscribe();\n },\n getSnapshot: function () {\n return emitted;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnActor = function (actor, name) {\n this.children.set(name, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnActivity = function (activity) {\n var implementation = this.machine.options && this.machine.options.activities ? this.machine.options.activities[activity.type] : undefined;\n\n if (!implementation) {\n if (!IS_PRODUCTION) {\n warn(false, \"No implementation found for activity '\".concat(activity.type, \"'\"));\n } // tslint:disable-next-line:no-console\n\n\n return;\n } // Start implementation\n\n\n var dispose = implementation(this.state.context, activity);\n this.spawnEffect(activity.id, dispose);\n };\n\n Interpreter.prototype.spawnEffect = function (id, dispose) {\n var _a;\n\n this.children.set(id, (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n stop: dispose || undefined,\n getSnapshot: function () {\n return undefined;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a));\n };\n\n Interpreter.prototype.attachDev = function () {\n var global = getGlobal();\n\n if (this.options.devTools && global) {\n if (global.__REDUX_DEVTOOLS_EXTENSION__) {\n var devToolsOptions = typeof this.options.devTools === 'object' ? this.options.devTools : undefined;\n this.devTools = global.__REDUX_DEVTOOLS_EXTENSION__.connect(__assign(__assign({\n name: this.id,\n autoPause: true,\n stateSanitizer: function (state) {\n return {\n value: state.value,\n context: state.context,\n actions: state.actions\n };\n }\n }, devToolsOptions), {\n features: __assign({\n jump: false,\n skip: false\n }, devToolsOptions ? devToolsOptions.features : undefined)\n }), this.machine);\n this.devTools.init(this.state);\n } // add XState-specific dev tooling hook\n\n\n registerService(this);\n }\n };\n\n Interpreter.prototype.toJSON = function () {\n return {\n id: this.id\n };\n };\n\n Interpreter.prototype[symbolObservable] = function () {\n return this;\n };\n\n Interpreter.prototype.getSnapshot = function () {\n if (this.status === InterpreterStatus.NotStarted) {\n return this.initialState;\n }\n\n return this._state;\n };\n /**\r\n * The default interpreter options:\r\n *\r\n * - `clock` uses the global `setTimeout` and `clearTimeout` functions\r\n * - `logger` uses the global `console.log()` method\r\n */\n\n\n Interpreter.defaultOptions = {\n execute: true,\n deferEvents: true,\n clock: {\n setTimeout: function (fn, ms) {\n return setTimeout(fn, ms);\n },\n clearTimeout: function (id) {\n return clearTimeout(id);\n }\n },\n logger: /*#__PURE__*/console.log.bind(console),\n devTools: false\n };\n Interpreter.interpret = interpret;\n return Interpreter;\n}();\n\nvar resolveSpawnOptions = function (nameOrOptions) {\n if (isString(nameOrOptions)) {\n return __assign(__assign({}, DEFAULT_SPAWN_OPTIONS), {\n name: nameOrOptions\n });\n }\n\n return __assign(__assign(__assign({}, DEFAULT_SPAWN_OPTIONS), {\n name: uniqueId()\n }), nameOrOptions);\n};\n\nfunction spawn(entity, nameOrOptions) {\n var resolvedOptions = resolveSpawnOptions(nameOrOptions);\n return consume(function (service) {\n if (!IS_PRODUCTION) {\n var isLazyEntity = isMachine(entity) || isFunction(entity);\n warn(!!service || isLazyEntity, \"Attempted to spawn an Actor (ID: \\\"\".concat(isMachine(entity) ? entity.id : 'undefined', \"\\\") outside of a service. This will have no effect.\"));\n }\n\n if (service) {\n return service.spawn(entity, resolvedOptions.name, resolvedOptions);\n } else {\n return createDeferredActor(entity, resolvedOptions.name);\n }\n });\n}\n/**\r\n * Creates a new Interpreter instance for the given machine with the provided options, if any.\r\n *\r\n * @param machine The machine to interpret\r\n * @param options Interpreter options\r\n */\n\nfunction interpret(machine, options) {\n var interpreter = new Interpreter(machine, options);\n return interpreter;\n}\n\nexport { Interpreter, InterpreterStatus, interpret, spawn };\n","import { __assign, __rest } from './_virtual/_tslib.js';\nimport './types.js';\nimport { invoke } from './actionTypes.js';\nimport './utils.js';\nimport './environment.js';\n\nfunction toInvokeSource(src) {\n if (typeof src === 'string') {\n var simpleSrc = {\n type: src\n };\n\n simpleSrc.toString = function () {\n return src;\n }; // v4 compat - TODO: remove in v5\n\n\n return simpleSrc;\n }\n\n return src;\n}\nfunction toInvokeDefinition(invokeConfig) {\n return __assign(__assign({\n type: invoke\n }, invokeConfig), {\n toJSON: function () {\n invokeConfig.onDone;\n invokeConfig.onError;\n var invokeDef = __rest(invokeConfig, [\"onDone\", \"onError\"]);\n\n return __assign(__assign({}, invokeDef), {\n type: invoke,\n src: toInvokeSource(invokeConfig.src)\n });\n }\n });\n}\n\nexport { toInvokeDefinition, toInvokeSource };\n","import { __assign, __spreadArray, __read, __values, __rest } from './_virtual/_tslib.js';\nimport { isFunction, mapValues, isArray, flatten, toArray, toStateValue, isString, getEventType, toSCXMLEvent, matchesState, path, evaluateGuard, mapContext, pathToStateValue, isBuiltInEvent, partition, updateHistoryValue, toStatePath, mapFilterValues, warn, toStatePaths, nestedPath, normalizeTarget, toGuard, toTransitionConfigArray, isMachine, createInvokeId } from './utils.js';\nimport { SpecialTargets } from './types.js';\nimport { State, stateValuesEqual } from './State.js';\nimport { raise as raise$1, send, start as start$1, stop as stop$1, invoke, update, nullEvent } from './actionTypes.js';\nimport { done, start, toActionObjects, raise, stop, resolveActions, doneInvoke, error, toActionObject, toActivityDefinition, after, send as send$1, cancel, initEvent } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\nimport { STATE_DELIMITER } from './constants.js';\nimport { getAllStateNodes, getConfiguration, isInFinalState, getTagsFromConfiguration, has, getChildren, getValue, isLeafNode, getAllChildren } from './stateUtils.js';\nimport { createInvocableActor } from './Actor.js';\nimport { toInvokeDefinition } from './invokeUtils.js';\n\nvar NULL_EVENT = '';\nvar STATE_IDENTIFIER = '#';\nvar WILDCARD = '*';\nvar EMPTY_OBJECT = {};\n\nvar isStateId = function (str) {\n return str[0] === STATE_IDENTIFIER;\n};\n\nvar createDefaultOptions = function () {\n return {\n actions: {},\n guards: {},\n services: {},\n activities: {},\n delays: {}\n };\n};\n\nvar validateArrayifiedTransitions = function (stateNode, event, transitions) {\n var hasNonLastUnguardedTarget = transitions.slice(0, -1).some(function (transition) {\n return !('cond' in transition) && !('in' in transition) && (isString(transition.target) || isMachine(transition.target));\n });\n var eventText = event === NULL_EVENT ? 'the transient event' : \"event '\".concat(event, \"'\");\n warn(!hasNonLastUnguardedTarget, \"One or more transitions for \".concat(eventText, \" on state '\").concat(stateNode.id, \"' are unreachable. \") + \"Make sure that the default transition is the last one defined.\");\n};\n\nvar StateNode =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n function StateNode(\n /**\r\n * The raw config used to create the machine.\r\n */\n config, options,\n /**\r\n * The initial extended state\r\n */\n _context, // TODO: this is unsafe, but we're removing it in v5 anyway\n _stateInfo) {\n if (_context === void 0) {\n _context = 'context' in config ? config.context : undefined;\n }\n\n var _this = this;\n\n var _a;\n\n this.config = config;\n this._context = _context;\n /**\r\n * The order this state node appears. Corresponds to the implicit SCXML document order.\r\n */\n\n this.order = -1;\n this.__xstatenode = true;\n this.__cache = {\n events: undefined,\n relativeValue: new Map(),\n initialStateValue: undefined,\n initialState: undefined,\n on: undefined,\n transitions: undefined,\n candidates: {},\n delayedTransitions: undefined\n };\n this.idMap = {};\n this.tags = [];\n this.options = Object.assign(createDefaultOptions(), options);\n this.parent = _stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.parent;\n this.key = this.config.key || (_stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.key) || this.config.id || '(machine)';\n this.machine = this.parent ? this.parent.machine : this;\n this.path = this.parent ? this.parent.path.concat(this.key) : [];\n this.delimiter = this.config.delimiter || (this.parent ? this.parent.delimiter : STATE_DELIMITER);\n this.id = this.config.id || __spreadArray([this.machine.key], __read(this.path), false).join(this.delimiter);\n this.version = this.parent ? this.parent.version : this.config.version;\n this.type = this.config.type || (this.config.parallel ? 'parallel' : this.config.states && Object.keys(this.config.states).length ? 'compound' : this.config.history ? 'history' : 'atomic');\n this.schema = this.parent ? this.machine.schema : (_a = this.config.schema) !== null && _a !== void 0 ? _a : {};\n this.description = this.config.description;\n\n if (!IS_PRODUCTION) {\n warn(!('parallel' in this.config), \"The \\\"parallel\\\" property is deprecated and will be removed in version 4.1. \".concat(this.config.parallel ? \"Replace with `type: 'parallel'`\" : \"Use `type: '\".concat(this.type, \"'`\"), \" in the config for state node '\").concat(this.id, \"' instead.\"));\n }\n\n this.initial = this.config.initial;\n this.states = this.config.states ? mapValues(this.config.states, function (stateConfig, key) {\n var _a;\n\n var stateNode = new StateNode(stateConfig, {}, undefined, {\n parent: _this,\n key: key\n });\n Object.assign(_this.idMap, __assign((_a = {}, _a[stateNode.id] = stateNode, _a), stateNode.idMap));\n return stateNode;\n }) : EMPTY_OBJECT; // Document order\n\n var order = 0;\n\n function dfs(stateNode) {\n var e_1, _a;\n\n stateNode.order = order++;\n\n try {\n for (var _b = __values(getAllChildren(stateNode)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var child = _c.value;\n dfs(child);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n }\n\n dfs(this); // History config\n\n this.history = this.config.history === true ? 'shallow' : this.config.history || false;\n this._transient = !!this.config.always || (!this.config.on ? false : Array.isArray(this.config.on) ? this.config.on.some(function (_a) {\n var event = _a.event;\n return event === NULL_EVENT;\n }) : NULL_EVENT in this.config.on);\n this.strict = !!this.config.strict; // TODO: deprecate (entry)\n\n this.onEntry = toArray(this.config.entry || this.config.onEntry).map(function (action) {\n return toActionObject(action);\n }); // TODO: deprecate (exit)\n\n this.onExit = toArray(this.config.exit || this.config.onExit).map(function (action) {\n return toActionObject(action);\n });\n this.meta = this.config.meta;\n this.doneData = this.type === 'final' ? this.config.data : undefined;\n this.invoke = toArray(this.config.invoke).map(function (invokeConfig, i) {\n var _a, _b;\n\n if (isMachine(invokeConfig)) {\n var invokeId = createInvokeId(_this.id, i);\n _this.machine.options.services = __assign((_a = {}, _a[invokeId] = invokeConfig, _a), _this.machine.options.services);\n return toInvokeDefinition({\n src: invokeId,\n id: invokeId\n });\n } else if (isString(invokeConfig.src)) {\n var invokeId = invokeConfig.id || createInvokeId(_this.id, i);\n return toInvokeDefinition(__assign(__assign({}, invokeConfig), {\n id: invokeId,\n src: invokeConfig.src\n }));\n } else if (isMachine(invokeConfig.src) || isFunction(invokeConfig.src)) {\n var invokeId = invokeConfig.id || createInvokeId(_this.id, i);\n _this.machine.options.services = __assign((_b = {}, _b[invokeId] = invokeConfig.src, _b), _this.machine.options.services);\n return toInvokeDefinition(__assign(__assign({\n id: invokeId\n }, invokeConfig), {\n src: invokeId\n }));\n } else {\n var invokeSource = invokeConfig.src;\n return toInvokeDefinition(__assign(__assign({\n id: createInvokeId(_this.id, i)\n }, invokeConfig), {\n src: invokeSource\n }));\n }\n });\n this.activities = toArray(this.config.activities).concat(this.invoke).map(function (activity) {\n return toActivityDefinition(activity);\n });\n this.transition = this.transition.bind(this);\n this.tags = toArray(this.config.tags); // TODO: this is the real fix for initialization once\n // state node getters are deprecated\n // if (!this.parent) {\n // this._init();\n // }\n }\n\n StateNode.prototype._init = function () {\n if (this.__cache.transitions) {\n return;\n }\n\n getAllStateNodes(this).forEach(function (stateNode) {\n return stateNode.on;\n });\n };\n /**\r\n * Clones this state machine with custom options and context.\r\n *\r\n * @param options Options (actions, guards, activities, services) to recursively merge with the existing options.\r\n * @param context Custom context (will override predefined context)\r\n */\n\n\n StateNode.prototype.withConfig = function (options, context) {\n var _a = this.options,\n actions = _a.actions,\n activities = _a.activities,\n guards = _a.guards,\n services = _a.services,\n delays = _a.delays;\n return new StateNode(this.config, {\n actions: __assign(__assign({}, actions), options.actions),\n activities: __assign(__assign({}, activities), options.activities),\n guards: __assign(__assign({}, guards), options.guards),\n services: __assign(__assign({}, services), options.services),\n delays: __assign(__assign({}, delays), options.delays)\n }, context !== null && context !== void 0 ? context : this.context);\n };\n /**\r\n * Clones this state machine with custom context.\r\n *\r\n * @param context Custom context (will override predefined context, not recursive)\r\n */\n\n\n StateNode.prototype.withContext = function (context) {\n return new StateNode(this.config, this.options, context);\n };\n\n Object.defineProperty(StateNode.prototype, \"context\", {\n get: function () {\n return isFunction(this._context) ? this._context() : this._context;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"definition\", {\n /**\r\n * The well-structured state node definition.\r\n */\n get: function () {\n return {\n id: this.id,\n key: this.key,\n version: this.version,\n context: this.context,\n type: this.type,\n initial: this.initial,\n history: this.history,\n states: mapValues(this.states, function (state) {\n return state.definition;\n }),\n on: this.on,\n transitions: this.transitions,\n entry: this.onEntry,\n exit: this.onExit,\n activities: this.activities || [],\n meta: this.meta,\n order: this.order || -1,\n data: this.doneData,\n invoke: this.invoke,\n description: this.description,\n tags: this.tags\n };\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.toJSON = function () {\n return this.definition;\n };\n\n Object.defineProperty(StateNode.prototype, \"on\", {\n /**\r\n * The mapping of events to transitions.\r\n */\n get: function () {\n if (this.__cache.on) {\n return this.__cache.on;\n }\n\n var transitions = this.transitions;\n return this.__cache.on = transitions.reduce(function (map, transition) {\n map[transition.eventType] = map[transition.eventType] || [];\n map[transition.eventType].push(transition);\n return map;\n }, {});\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"after\", {\n get: function () {\n return this.__cache.delayedTransitions || (this.__cache.delayedTransitions = this.getDelayedTransitions(), this.__cache.delayedTransitions);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"transitions\", {\n /**\r\n * All the transitions that can be taken from this state node.\r\n */\n get: function () {\n return this.__cache.transitions || (this.__cache.transitions = this.formatTransitions(), this.__cache.transitions);\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.getCandidates = function (eventName) {\n if (this.__cache.candidates[eventName]) {\n return this.__cache.candidates[eventName];\n }\n\n var transient = eventName === NULL_EVENT;\n var candidates = this.transitions.filter(function (transition) {\n var sameEventType = transition.eventType === eventName; // null events should only match against eventless transitions\n\n return transient ? sameEventType : sameEventType || transition.eventType === WILDCARD;\n });\n this.__cache.candidates[eventName] = candidates;\n return candidates;\n };\n /**\r\n * All delayed transitions from the config.\r\n */\n\n\n StateNode.prototype.getDelayedTransitions = function () {\n var _this = this;\n\n var afterConfig = this.config.after;\n\n if (!afterConfig) {\n return [];\n }\n\n var mutateEntryExit = function (delay, i) {\n var delayRef = isFunction(delay) ? \"\".concat(_this.id, \":delay[\").concat(i, \"]\") : delay;\n var eventType = after(delayRef, _this.id);\n\n _this.onEntry.push(send$1(eventType, {\n delay: delay\n }));\n\n _this.onExit.push(cancel(eventType));\n\n return eventType;\n };\n\n var delayedTransitions = isArray(afterConfig) ? afterConfig.map(function (transition, i) {\n var eventType = mutateEntryExit(transition.delay, i);\n return __assign(__assign({}, transition), {\n event: eventType\n });\n }) : flatten(Object.keys(afterConfig).map(function (delay, i) {\n var configTransition = afterConfig[delay];\n var resolvedTransition = isString(configTransition) ? {\n target: configTransition\n } : configTransition;\n var resolvedDelay = !isNaN(+delay) ? +delay : delay;\n var eventType = mutateEntryExit(resolvedDelay, i);\n return toArray(resolvedTransition).map(function (transition) {\n return __assign(__assign({}, transition), {\n event: eventType,\n delay: resolvedDelay\n });\n });\n }));\n return delayedTransitions.map(function (delayedTransition) {\n var delay = delayedTransition.delay;\n return __assign(__assign({}, _this.formatTransition(delayedTransition)), {\n delay: delay\n });\n });\n };\n /**\r\n * Returns the state nodes represented by the current state value.\r\n *\r\n * @param state The state value or State instance\r\n */\n\n\n StateNode.prototype.getStateNodes = function (state) {\n var _a;\n\n var _this = this;\n\n if (!state) {\n return [];\n }\n\n var stateValue = state instanceof State ? state.value : toStateValue(state, this.delimiter);\n\n if (isString(stateValue)) {\n var initialStateValue = this.getStateNode(stateValue).initial;\n return initialStateValue !== undefined ? this.getStateNodes((_a = {}, _a[stateValue] = initialStateValue, _a)) : [this, this.states[stateValue]];\n }\n\n var subStateKeys = Object.keys(stateValue);\n var subStateNodes = [this];\n subStateNodes.push.apply(subStateNodes, __spreadArray([], __read(flatten(subStateKeys.map(function (subStateKey) {\n return _this.getStateNode(subStateKey).getStateNodes(stateValue[subStateKey]);\n }))), false));\n return subStateNodes;\n };\n /**\r\n * Returns `true` if this state node explicitly handles the given event.\r\n *\r\n * @param event The event in question\r\n */\n\n\n StateNode.prototype.handles = function (event) {\n var eventType = getEventType(event);\n return this.events.includes(eventType);\n };\n /**\r\n * Resolves the given `state` to a new `State` instance relative to this machine.\r\n *\r\n * This ensures that `.events` and `.nextEvents` represent the correct values.\r\n *\r\n * @param state The state to resolve\r\n */\n\n\n StateNode.prototype.resolveState = function (state) {\n var stateFromConfig = state instanceof State ? state : State.create(state);\n var configuration = Array.from(getConfiguration([], this.getStateNodes(stateFromConfig.value)));\n return new State(__assign(__assign({}, stateFromConfig), {\n value: this.resolve(stateFromConfig.value),\n configuration: configuration,\n done: isInFinalState(configuration, this),\n tags: getTagsFromConfiguration(configuration),\n machine: this.machine\n }));\n };\n\n StateNode.prototype.transitionLeafNode = function (stateValue, state, _event) {\n var stateNode = this.getStateNode(stateValue);\n var next = stateNode.next(state, _event);\n\n if (!next || !next.transitions.length) {\n return this.next(state, _event);\n }\n\n return next;\n };\n\n StateNode.prototype.transitionCompoundNode = function (stateValue, state, _event) {\n var subStateKeys = Object.keys(stateValue);\n var stateNode = this.getStateNode(subStateKeys[0]);\n\n var next = stateNode._transition(stateValue[subStateKeys[0]], state, _event);\n\n if (!next || !next.transitions.length) {\n return this.next(state, _event);\n }\n\n return next;\n };\n\n StateNode.prototype.transitionParallelNode = function (stateValue, state, _event) {\n var e_2, _a;\n\n var transitionMap = {};\n\n try {\n for (var _b = __values(Object.keys(stateValue)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var subStateKey = _c.value;\n var subStateValue = stateValue[subStateKey];\n\n if (!subStateValue) {\n continue;\n }\n\n var subStateNode = this.getStateNode(subStateKey);\n\n var next = subStateNode._transition(subStateValue, state, _event);\n\n if (next) {\n transitionMap[subStateKey] = next;\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n var stateTransitions = Object.keys(transitionMap).map(function (key) {\n return transitionMap[key];\n });\n var enabledTransitions = flatten(stateTransitions.map(function (st) {\n return st.transitions;\n }));\n var willTransition = stateTransitions.some(function (st) {\n return st.transitions.length > 0;\n });\n\n if (!willTransition) {\n return this.next(state, _event);\n }\n\n var entryNodes = flatten(stateTransitions.map(function (t) {\n return t.entrySet;\n }));\n var configuration = flatten(Object.keys(transitionMap).map(function (key) {\n return transitionMap[key].configuration;\n }));\n return {\n transitions: enabledTransitions,\n entrySet: entryNodes,\n exitSet: flatten(stateTransitions.map(function (t) {\n return t.exitSet;\n })),\n configuration: configuration,\n source: state,\n actions: flatten(Object.keys(transitionMap).map(function (key) {\n return transitionMap[key].actions;\n }))\n };\n };\n\n StateNode.prototype._transition = function (stateValue, state, _event) {\n // leaf node\n if (isString(stateValue)) {\n return this.transitionLeafNode(stateValue, state, _event);\n } // hierarchical node\n\n\n if (Object.keys(stateValue).length === 1) {\n return this.transitionCompoundNode(stateValue, state, _event);\n } // orthogonal node\n\n\n return this.transitionParallelNode(stateValue, state, _event);\n };\n\n StateNode.prototype.getTransitionData = function (state, event) {\n return this._transition(state.value, state, toSCXMLEvent(event));\n };\n\n StateNode.prototype.next = function (state, _event) {\n var e_3, _a;\n\n var _this = this;\n\n var eventName = _event.name;\n var actions = [];\n var nextStateNodes = [];\n var selectedTransition;\n\n try {\n for (var _b = __values(this.getCandidates(eventName)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var candidate = _c.value;\n var cond = candidate.cond,\n stateIn = candidate.in;\n var resolvedContext = state.context;\n var isInState = stateIn ? isString(stateIn) && isStateId(stateIn) ? // Check if in state by ID\n state.matches(toStateValue(this.getStateNodeById(stateIn).path, this.delimiter)) : // Check if in state by relative grandparent\n matchesState(toStateValue(stateIn, this.delimiter), path(this.path.slice(0, -2))(state.value)) : true;\n var guardPassed = false;\n\n try {\n guardPassed = !cond || evaluateGuard(this.machine, cond, resolvedContext, _event, state);\n } catch (err) {\n throw new Error(\"Unable to evaluate guard '\".concat(cond.name || cond.type, \"' in transition for event '\").concat(eventName, \"' in state node '\").concat(this.id, \"':\\n\").concat(err.message));\n }\n\n if (guardPassed && isInState) {\n if (candidate.target !== undefined) {\n nextStateNodes = candidate.target;\n }\n\n actions.push.apply(actions, __spreadArray([], __read(candidate.actions), false));\n selectedTransition = candidate;\n break;\n }\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n if (!selectedTransition) {\n return undefined;\n }\n\n if (!nextStateNodes.length) {\n return {\n transitions: [selectedTransition],\n entrySet: [],\n exitSet: [],\n configuration: state.value ? [this] : [],\n source: state,\n actions: actions\n };\n }\n\n var allNextStateNodes = flatten(nextStateNodes.map(function (stateNode) {\n return _this.getRelativeStateNodes(stateNode, state.historyValue);\n }));\n var isInternal = !!selectedTransition.internal;\n var reentryNodes = [];\n\n if (!isInternal) {\n nextStateNodes.forEach(function (targetNode) {\n reentryNodes.push.apply(reentryNodes, __spreadArray([], __read(_this.getExternalReentryNodes(targetNode)), false));\n });\n }\n\n return {\n transitions: [selectedTransition],\n entrySet: reentryNodes,\n exitSet: isInternal ? [] : [this],\n configuration: allNextStateNodes,\n source: state,\n actions: actions\n };\n };\n\n StateNode.prototype.getExternalReentryNodes = function (targetNode) {\n var nodes = [];\n\n var _a = __read(targetNode.order > this.order ? [targetNode, this] : [this, targetNode], 2),\n marker = _a[0],\n possibleAncestor = _a[1];\n\n while (marker && marker !== possibleAncestor) {\n nodes.push(marker);\n marker = marker.parent;\n }\n\n if (marker !== possibleAncestor) {\n // we never got to `possibleAncestor`, therefore the initial `marker` \"escapes\" it\n // it's in a different part of the tree so no states will be reentered for such an external transition\n return [];\n }\n\n nodes.push(possibleAncestor);\n return nodes;\n };\n\n StateNode.prototype.getActions = function (resolvedConfig, isDone, transition, currentContext, _event, prevState, predictableExec) {\n var e_4, _a, e_5, _b;\n\n var _this = this;\n\n var prevConfig = getConfiguration([], prevState ? this.getStateNodes(prevState.value) : [this]);\n\n try {\n for (var resolvedConfig_1 = __values(resolvedConfig), resolvedConfig_1_1 = resolvedConfig_1.next(); !resolvedConfig_1_1.done; resolvedConfig_1_1 = resolvedConfig_1.next()) {\n var sn = resolvedConfig_1_1.value;\n\n if (!has(prevConfig, sn) || has(transition.entrySet, sn.parent)) {\n transition.entrySet.push(sn);\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (resolvedConfig_1_1 && !resolvedConfig_1_1.done && (_a = resolvedConfig_1.return)) _a.call(resolvedConfig_1);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n try {\n for (var prevConfig_1 = __values(prevConfig), prevConfig_1_1 = prevConfig_1.next(); !prevConfig_1_1.done; prevConfig_1_1 = prevConfig_1.next()) {\n var sn = prevConfig_1_1.value;\n\n if (!has(resolvedConfig, sn) || has(transition.exitSet, sn.parent)) {\n transition.exitSet.push(sn);\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (prevConfig_1_1 && !prevConfig_1_1.done && (_b = prevConfig_1.return)) _b.call(prevConfig_1);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n var doneEvents = flatten(transition.entrySet.map(function (sn) {\n var events = [];\n\n if (sn.type !== 'final') {\n return events;\n }\n\n var parent = sn.parent;\n\n if (!parent.parent) {\n return events;\n }\n\n events.push(done(sn.id, sn.doneData), // TODO: deprecate - final states should not emit done events for their own state.\n done(parent.id, sn.doneData ? mapContext(sn.doneData, currentContext, _event) : undefined));\n var grandparent = parent.parent;\n\n if (grandparent.type === 'parallel') {\n if (getChildren(grandparent).every(function (parentNode) {\n return isInFinalState(transition.configuration, parentNode);\n })) {\n events.push(done(grandparent.id));\n }\n }\n\n return events;\n }));\n transition.exitSet.sort(function (a, b) {\n return b.order - a.order;\n });\n transition.entrySet.sort(function (a, b) {\n return a.order - b.order;\n });\n var entryStates = new Set(transition.entrySet);\n var exitStates = new Set(transition.exitSet);\n var entryActions = Array.from(entryStates).map(function (stateNode) {\n var entryActions = stateNode.onEntry;\n var invokeActions = stateNode.activities.map(function (activity) {\n return start(activity);\n });\n return toActionObjects(predictableExec ? __spreadArray(__spreadArray([], __read(entryActions), false), __read(invokeActions), false) : __spreadArray(__spreadArray([], __read(invokeActions), false), __read(entryActions), false), _this.machine.options.actions);\n }).concat([doneEvents.map(raise)]);\n var exitActions = Array.from(exitStates).map(function (stateNode) {\n return toActionObjects(__spreadArray(__spreadArray([], __read(stateNode.onExit), false), __read(stateNode.activities.map(function (activity) {\n return stop(activity);\n })), false), _this.machine.options.actions);\n });\n var actions = exitActions.concat([toActionObjects(transition.actions, this.machine.options.actions)]).concat(entryActions);\n\n if (isDone) {\n var stopActions = toActionObjects(flatten(__spreadArray([], __read(resolvedConfig), false).sort(function (a, b) {\n return b.order - a.order;\n }).map(function (stateNode) {\n return stateNode.onExit;\n })), this.machine.options.actions).filter(function (action) {\n return action.type !== raise$1 && (action.type !== send || !!action.to && action.to !== SpecialTargets.Internal);\n });\n return actions.concat([stopActions]);\n }\n\n return actions;\n };\n /**\r\n * Determines the next state given the current `state` and sent `event`.\r\n *\r\n * @param state The current State instance or state value\r\n * @param event The event that was sent at the current state\r\n * @param context The current context (extended state) of the current state\r\n */\n\n\n StateNode.prototype.transition = function (state, event, context, exec) {\n if (state === void 0) {\n state = this.initialState;\n }\n\n var _event = toSCXMLEvent(event);\n\n var currentState;\n\n if (state instanceof State) {\n currentState = context === undefined ? state : this.resolveState(State.from(state, context));\n } else {\n var resolvedStateValue = isString(state) ? this.resolve(pathToStateValue(this.getResolvedPath(state))) : this.resolve(state);\n var resolvedContext = context !== null && context !== void 0 ? context : this.machine.context;\n currentState = this.resolveState(State.from(resolvedStateValue, resolvedContext));\n }\n\n if (!IS_PRODUCTION && _event.name === WILDCARD) {\n throw new Error(\"An event cannot have the wildcard type ('\".concat(WILDCARD, \"')\"));\n }\n\n if (this.strict) {\n if (!this.events.includes(_event.name) && !isBuiltInEvent(_event.name)) {\n throw new Error(\"Machine '\".concat(this.id, \"' does not accept event '\").concat(_event.name, \"'\"));\n }\n }\n\n var stateTransition = this._transition(currentState.value, currentState, _event) || {\n transitions: [],\n configuration: [],\n entrySet: [],\n exitSet: [],\n source: currentState,\n actions: []\n };\n var prevConfig = getConfiguration([], this.getStateNodes(currentState.value));\n var resolvedConfig = stateTransition.configuration.length ? getConfiguration(prevConfig, stateTransition.configuration) : prevConfig;\n stateTransition.configuration = __spreadArray([], __read(resolvedConfig), false);\n return this.resolveTransition(stateTransition, currentState, currentState.context, exec, _event);\n };\n\n StateNode.prototype.resolveRaisedTransition = function (state, _event, originalEvent, predictableExec) {\n var _a;\n\n var currentActions = state.actions;\n state = this.transition(state, _event, undefined, predictableExec); // Save original event to state\n // TODO: this should be the raised event! Delete in V5 (breaking)\n\n state._event = originalEvent;\n state.event = originalEvent.data;\n\n (_a = state.actions).unshift.apply(_a, __spreadArray([], __read(currentActions), false));\n\n return state;\n };\n\n StateNode.prototype.resolveTransition = function (stateTransition, currentState, context, predictableExec, _event) {\n var e_6, _a, e_7, _b;\n\n var _this = this;\n\n if (_event === void 0) {\n _event = initEvent;\n }\n\n var configuration = stateTransition.configuration; // Transition will \"apply\" if:\n // - this is the initial state (there is no current state)\n // - OR there are transitions\n\n var willTransition = !currentState || stateTransition.transitions.length > 0;\n var resolvedConfiguration = willTransition ? stateTransition.configuration : currentState ? currentState.configuration : [];\n var isDone = isInFinalState(resolvedConfiguration, this);\n var resolvedStateValue = willTransition ? getValue(this.machine, configuration) : undefined;\n var historyValue = currentState ? currentState.historyValue ? currentState.historyValue : stateTransition.source ? this.machine.historyValue(currentState.value) : undefined : undefined;\n var actionBlocks = this.getActions(new Set(resolvedConfiguration), isDone, stateTransition, context, _event, currentState, predictableExec);\n var activities = currentState ? __assign({}, currentState.activities) : {};\n\n try {\n for (var actionBlocks_1 = __values(actionBlocks), actionBlocks_1_1 = actionBlocks_1.next(); !actionBlocks_1_1.done; actionBlocks_1_1 = actionBlocks_1.next()) {\n var block = actionBlocks_1_1.value;\n\n try {\n for (var block_1 = (e_7 = void 0, __values(block)), block_1_1 = block_1.next(); !block_1_1.done; block_1_1 = block_1.next()) {\n var action = block_1_1.value;\n\n if (action.type === start$1) {\n activities[action.activity.id || action.activity.type] = action;\n } else if (action.type === stop$1) {\n activities[action.activity.id || action.activity.type] = false;\n }\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (block_1_1 && !block_1_1.done && (_b = block_1.return)) _b.call(block_1);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (actionBlocks_1_1 && !actionBlocks_1_1.done && (_a = actionBlocks_1.return)) _a.call(actionBlocks_1);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n var _c = __read(resolveActions(this, currentState, context, _event, actionBlocks, predictableExec, this.machine.config.predictableActionArguments || this.machine.config.preserveActionOrder), 2),\n resolvedActions = _c[0],\n updatedContext = _c[1];\n\n var _d = __read(partition(resolvedActions, function (action) {\n return action.type === raise$1 || action.type === send && action.to === SpecialTargets.Internal;\n }), 2),\n raisedEvents = _d[0],\n nonRaisedActions = _d[1];\n\n var invokeActions = resolvedActions.filter(function (action) {\n var _a;\n\n return action.type === start$1 && ((_a = action.activity) === null || _a === void 0 ? void 0 : _a.type) === invoke;\n });\n var children = invokeActions.reduce(function (acc, action) {\n acc[action.activity.id] = createInvocableActor(action.activity, _this.machine, updatedContext, _event);\n return acc;\n }, currentState ? __assign({}, currentState.children) : {});\n var nextState = new State({\n value: resolvedStateValue || currentState.value,\n context: updatedContext,\n _event: _event,\n // Persist _sessionid between states\n _sessionid: currentState ? currentState._sessionid : null,\n historyValue: resolvedStateValue ? historyValue ? updateHistoryValue(historyValue, resolvedStateValue) : undefined : currentState ? currentState.historyValue : undefined,\n history: !resolvedStateValue || stateTransition.source ? currentState : undefined,\n actions: resolvedStateValue ? nonRaisedActions : [],\n activities: resolvedStateValue ? activities : currentState ? currentState.activities : {},\n events: [],\n configuration: resolvedConfiguration,\n transitions: stateTransition.transitions,\n children: children,\n done: isDone,\n tags: getTagsFromConfiguration(resolvedConfiguration),\n machine: this\n });\n var didUpdateContext = context !== updatedContext;\n nextState.changed = _event.name === update || didUpdateContext; // Dispose of penultimate histories to prevent memory leaks\n\n var history = nextState.history;\n\n if (history) {\n delete history.history;\n } // There are transient transitions if the machine is not in a final state\n // and if some of the state nodes have transient (\"always\") transitions.\n\n\n var hasAlwaysTransitions = !isDone && (this._transient || configuration.some(function (stateNode) {\n return stateNode._transient;\n })); // If there are no enabled transitions, check if there are transient transitions.\n // If there are transient transitions, continue checking for more transitions\n // because an transient transition should be triggered even if there are no\n // enabled transitions.\n //\n // If we're already working on an transient transition then stop to prevent an infinite loop.\n //\n // Otherwise, if there are no enabled nor transient transitions, we are done.\n\n if (!willTransition && (!hasAlwaysTransitions || _event.name === NULL_EVENT)) {\n return nextState;\n }\n\n var maybeNextState = nextState;\n\n if (!isDone) {\n if (hasAlwaysTransitions) {\n maybeNextState = this.resolveRaisedTransition(maybeNextState, {\n type: nullEvent\n }, _event, predictableExec);\n }\n\n while (raisedEvents.length) {\n var raisedEvent = raisedEvents.shift();\n maybeNextState = this.resolveRaisedTransition(maybeNextState, raisedEvent._event, _event, predictableExec);\n }\n } // Detect if state changed\n\n\n var changed = maybeNextState.changed || (history ? !!maybeNextState.actions.length || didUpdateContext || typeof history.value !== typeof maybeNextState.value || !stateValuesEqual(maybeNextState.value, history.value) : undefined);\n maybeNextState.changed = changed; // Preserve original history after raised events\n\n maybeNextState.history = history;\n return maybeNextState;\n };\n /**\r\n * Returns the child state node from its relative `stateKey`, or throws.\r\n */\n\n\n StateNode.prototype.getStateNode = function (stateKey) {\n if (isStateId(stateKey)) {\n return this.machine.getStateNodeById(stateKey);\n }\n\n if (!this.states) {\n throw new Error(\"Unable to retrieve child state '\".concat(stateKey, \"' from '\").concat(this.id, \"'; no child states exist.\"));\n }\n\n var result = this.states[stateKey];\n\n if (!result) {\n throw new Error(\"Child state '\".concat(stateKey, \"' does not exist on '\").concat(this.id, \"'\"));\n }\n\n return result;\n };\n /**\r\n * Returns the state node with the given `stateId`, or throws.\r\n *\r\n * @param stateId The state ID. The prefix \"#\" is removed.\r\n */\n\n\n StateNode.prototype.getStateNodeById = function (stateId) {\n var resolvedStateId = isStateId(stateId) ? stateId.slice(STATE_IDENTIFIER.length) : stateId;\n\n if (resolvedStateId === this.id) {\n return this;\n }\n\n var stateNode = this.machine.idMap[resolvedStateId];\n\n if (!stateNode) {\n throw new Error(\"Child state node '#\".concat(resolvedStateId, \"' does not exist on machine '\").concat(this.id, \"'\"));\n }\n\n return stateNode;\n };\n /**\r\n * Returns the relative state node from the given `statePath`, or throws.\r\n *\r\n * @param statePath The string or string array relative path to the state node.\r\n */\n\n\n StateNode.prototype.getStateNodeByPath = function (statePath) {\n if (typeof statePath === 'string' && isStateId(statePath)) {\n try {\n return this.getStateNodeById(statePath.slice(1));\n } catch (e) {// try individual paths\n // throw e;\n }\n }\n\n var arrayStatePath = toStatePath(statePath, this.delimiter).slice();\n var currentStateNode = this;\n\n while (arrayStatePath.length) {\n var key = arrayStatePath.shift();\n\n if (!key.length) {\n break;\n }\n\n currentStateNode = currentStateNode.getStateNode(key);\n }\n\n return currentStateNode;\n };\n /**\r\n * Resolves a partial state value with its full representation in this machine.\r\n *\r\n * @param stateValue The partial state value to resolve.\r\n */\n\n\n StateNode.prototype.resolve = function (stateValue) {\n var _a;\n\n var _this = this;\n\n if (!stateValue) {\n return this.initialStateValue || EMPTY_OBJECT; // TODO: type-specific properties\n }\n\n switch (this.type) {\n case 'parallel':\n return mapValues(this.initialStateValue, function (subStateValue, subStateKey) {\n return subStateValue ? _this.getStateNode(subStateKey).resolve(stateValue[subStateKey] || subStateValue) : EMPTY_OBJECT;\n });\n\n case 'compound':\n if (isString(stateValue)) {\n var subStateNode = this.getStateNode(stateValue);\n\n if (subStateNode.type === 'parallel' || subStateNode.type === 'compound') {\n return _a = {}, _a[stateValue] = subStateNode.initialStateValue, _a;\n }\n\n return stateValue;\n }\n\n if (!Object.keys(stateValue).length) {\n return this.initialStateValue || {};\n }\n\n return mapValues(stateValue, function (subStateValue, subStateKey) {\n return subStateValue ? _this.getStateNode(subStateKey).resolve(subStateValue) : EMPTY_OBJECT;\n });\n\n default:\n return stateValue || EMPTY_OBJECT;\n }\n };\n\n StateNode.prototype.getResolvedPath = function (stateIdentifier) {\n if (isStateId(stateIdentifier)) {\n var stateNode = this.machine.idMap[stateIdentifier.slice(STATE_IDENTIFIER.length)];\n\n if (!stateNode) {\n throw new Error(\"Unable to find state node '\".concat(stateIdentifier, \"'\"));\n }\n\n return stateNode.path;\n }\n\n return toStatePath(stateIdentifier, this.delimiter);\n };\n\n Object.defineProperty(StateNode.prototype, \"initialStateValue\", {\n get: function () {\n var _a;\n\n if (this.__cache.initialStateValue) {\n return this.__cache.initialStateValue;\n }\n\n var initialStateValue;\n\n if (this.type === 'parallel') {\n initialStateValue = mapFilterValues(this.states, function (state) {\n return state.initialStateValue || EMPTY_OBJECT;\n }, function (stateNode) {\n return !(stateNode.type === 'history');\n });\n } else if (this.initial !== undefined) {\n if (!this.states[this.initial]) {\n throw new Error(\"Initial state '\".concat(this.initial, \"' not found on '\").concat(this.key, \"'\"));\n }\n\n initialStateValue = isLeafNode(this.states[this.initial]) ? this.initial : (_a = {}, _a[this.initial] = this.states[this.initial].initialStateValue, _a);\n } else {\n // The finite state value of a machine without child states is just an empty object\n initialStateValue = {};\n }\n\n this.__cache.initialStateValue = initialStateValue;\n return this.__cache.initialStateValue;\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.getInitialState = function (stateValue, context) {\n this._init(); // TODO: this should be in the constructor (see note in constructor)\n\n\n var configuration = this.getStateNodes(stateValue);\n return this.resolveTransition({\n configuration: configuration,\n entrySet: __spreadArray([], __read(configuration), false),\n exitSet: [],\n transitions: [],\n source: undefined,\n actions: []\n }, undefined, context !== null && context !== void 0 ? context : this.machine.context, undefined);\n };\n\n Object.defineProperty(StateNode.prototype, \"initialState\", {\n /**\r\n * The initial State instance, which includes all actions to be executed from\r\n * entering the initial state.\r\n */\n get: function () {\n var initialStateValue = this.initialStateValue;\n\n if (!initialStateValue) {\n throw new Error(\"Cannot retrieve initial state from simple state '\".concat(this.id, \"'.\"));\n }\n\n return this.getInitialState(initialStateValue);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"target\", {\n /**\r\n * The target state value of the history state node, if it exists. This represents the\r\n * default state value to transition to if no history value exists yet.\r\n */\n get: function () {\n var target;\n\n if (this.type === 'history') {\n var historyConfig = this.config;\n\n if (isString(historyConfig.target)) {\n target = isStateId(historyConfig.target) ? pathToStateValue(this.machine.getStateNodeById(historyConfig.target).path.slice(this.path.length - 1)) : historyConfig.target;\n } else {\n target = historyConfig.target;\n }\n }\n\n return target;\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Returns the leaf nodes from a state path relative to this state node.\r\n *\r\n * @param relativeStateId The relative state path to retrieve the state nodes\r\n * @param history The previous state to retrieve history\r\n * @param resolve Whether state nodes should resolve to initial child state nodes\r\n */\n\n StateNode.prototype.getRelativeStateNodes = function (relativeStateId, historyValue, resolve) {\n if (resolve === void 0) {\n resolve = true;\n }\n\n return resolve ? relativeStateId.type === 'history' ? relativeStateId.resolveHistory(historyValue) : relativeStateId.initialStateNodes : [relativeStateId];\n };\n\n Object.defineProperty(StateNode.prototype, \"initialStateNodes\", {\n get: function () {\n var _this = this;\n\n if (isLeafNode(this)) {\n return [this];\n } // Case when state node is compound but no initial state is defined\n\n\n if (this.type === 'compound' && !this.initial) {\n if (!IS_PRODUCTION) {\n warn(false, \"Compound state node '\".concat(this.id, \"' has no initial state.\"));\n }\n\n return [this];\n }\n\n var initialStateNodePaths = toStatePaths(this.initialStateValue);\n return flatten(initialStateNodePaths.map(function (initialPath) {\n return _this.getFromRelativePath(initialPath);\n }));\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Retrieves state nodes from a relative path to this state node.\r\n *\r\n * @param relativePath The relative path from this state node\r\n * @param historyValue\r\n */\n\n StateNode.prototype.getFromRelativePath = function (relativePath) {\n if (!relativePath.length) {\n return [this];\n }\n\n var _a = __read(relativePath),\n stateKey = _a[0],\n childStatePath = _a.slice(1);\n\n if (!this.states) {\n throw new Error(\"Cannot retrieve subPath '\".concat(stateKey, \"' from node with no states\"));\n }\n\n var childStateNode = this.getStateNode(stateKey);\n\n if (childStateNode.type === 'history') {\n return childStateNode.resolveHistory();\n }\n\n if (!this.states[stateKey]) {\n throw new Error(\"Child state '\".concat(stateKey, \"' does not exist on '\").concat(this.id, \"'\"));\n }\n\n return this.states[stateKey].getFromRelativePath(childStatePath);\n };\n\n StateNode.prototype.historyValue = function (relativeStateValue) {\n if (!Object.keys(this.states).length) {\n return undefined;\n }\n\n return {\n current: relativeStateValue || this.initialStateValue,\n states: mapFilterValues(this.states, function (stateNode, key) {\n if (!relativeStateValue) {\n return stateNode.historyValue();\n }\n\n var subStateValue = isString(relativeStateValue) ? undefined : relativeStateValue[key];\n return stateNode.historyValue(subStateValue || stateNode.initialStateValue);\n }, function (stateNode) {\n return !stateNode.history;\n })\n };\n };\n /**\r\n * Resolves to the historical value(s) of the parent state node,\r\n * represented by state nodes.\r\n *\r\n * @param historyValue\r\n */\n\n\n StateNode.prototype.resolveHistory = function (historyValue) {\n var _this = this;\n\n if (this.type !== 'history') {\n return [this];\n }\n\n var parent = this.parent;\n\n if (!historyValue) {\n var historyTarget = this.target;\n return historyTarget ? flatten(toStatePaths(historyTarget).map(function (relativeChildPath) {\n return parent.getFromRelativePath(relativeChildPath);\n })) : parent.initialStateNodes;\n }\n\n var subHistoryValue = nestedPath(parent.path, 'states')(historyValue).current;\n\n if (isString(subHistoryValue)) {\n return [parent.getStateNode(subHistoryValue)];\n }\n\n return flatten(toStatePaths(subHistoryValue).map(function (subStatePath) {\n return _this.history === 'deep' ? parent.getFromRelativePath(subStatePath) : [parent.states[subStatePath[0]]];\n }));\n };\n\n Object.defineProperty(StateNode.prototype, \"stateIds\", {\n /**\r\n * All the state node IDs of this state node and its descendant state nodes.\r\n */\n get: function () {\n var _this = this;\n\n var childStateIds = flatten(Object.keys(this.states).map(function (stateKey) {\n return _this.states[stateKey].stateIds;\n }));\n return [this.id].concat(childStateIds);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"events\", {\n /**\r\n * All the event types accepted by this state node and its descendants.\r\n */\n get: function () {\n var e_8, _a, e_9, _b;\n\n if (this.__cache.events) {\n return this.__cache.events;\n }\n\n var states = this.states;\n var events = new Set(this.ownEvents);\n\n if (states) {\n try {\n for (var _c = __values(Object.keys(states)), _d = _c.next(); !_d.done; _d = _c.next()) {\n var stateId = _d.value;\n var state = states[stateId];\n\n if (state.states) {\n try {\n for (var _e = (e_9 = void 0, __values(state.events)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var event_1 = _f.value;\n events.add(\"\".concat(event_1));\n }\n } catch (e_9_1) {\n e_9 = {\n error: e_9_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n } finally {\n if (e_9) throw e_9.error;\n }\n }\n }\n }\n } catch (e_8_1) {\n e_8 = {\n error: e_8_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally {\n if (e_8) throw e_8.error;\n }\n }\n }\n\n return this.__cache.events = Array.from(events);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"ownEvents\", {\n /**\r\n * All the events that have transitions directly from this state node.\r\n *\r\n * Excludes any inert events.\r\n */\n get: function () {\n var events = new Set(this.transitions.filter(function (transition) {\n return !(!transition.target && !transition.actions.length && transition.internal);\n }).map(function (transition) {\n return transition.eventType;\n }));\n return Array.from(events);\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.resolveTarget = function (_target) {\n var _this = this;\n\n if (_target === undefined) {\n // an undefined target signals that the state node should not transition from that state when receiving that event\n return undefined;\n }\n\n return _target.map(function (target) {\n if (!isString(target)) {\n return target;\n }\n\n var isInternalTarget = target[0] === _this.delimiter; // If internal target is defined on machine,\n // do not include machine key on target\n\n if (isInternalTarget && !_this.parent) {\n return _this.getStateNodeByPath(target.slice(1));\n }\n\n var resolvedTarget = isInternalTarget ? _this.key + target : target;\n\n if (_this.parent) {\n try {\n var targetStateNode = _this.parent.getStateNodeByPath(resolvedTarget);\n\n return targetStateNode;\n } catch (err) {\n throw new Error(\"Invalid transition definition for state node '\".concat(_this.id, \"':\\n\").concat(err.message));\n }\n } else {\n return _this.getStateNodeByPath(resolvedTarget);\n }\n });\n };\n\n StateNode.prototype.formatTransition = function (transitionConfig) {\n var _this = this;\n\n var normalizedTarget = normalizeTarget(transitionConfig.target);\n var internal = 'internal' in transitionConfig ? transitionConfig.internal : normalizedTarget ? normalizedTarget.some(function (_target) {\n return isString(_target) && _target[0] === _this.delimiter;\n }) : true;\n var guards = this.machine.options.guards;\n var target = this.resolveTarget(normalizedTarget);\n\n var transition = __assign(__assign({}, transitionConfig), {\n actions: toActionObjects(toArray(transitionConfig.actions)),\n cond: toGuard(transitionConfig.cond, guards),\n target: target,\n source: this,\n internal: internal,\n eventType: transitionConfig.event,\n toJSON: function () {\n return __assign(__assign({}, transition), {\n target: transition.target ? transition.target.map(function (t) {\n return \"#\".concat(t.id);\n }) : undefined,\n source: \"#\".concat(_this.id)\n });\n }\n });\n\n return transition;\n };\n\n StateNode.prototype.formatTransitions = function () {\n var e_10, _a;\n\n var _this = this;\n\n var onConfig;\n\n if (!this.config.on) {\n onConfig = [];\n } else if (Array.isArray(this.config.on)) {\n onConfig = this.config.on;\n } else {\n var _b = this.config.on,\n _c = WILDCARD,\n _d = _b[_c],\n wildcardConfigs = _d === void 0 ? [] : _d,\n strictTransitionConfigs_1 = __rest(_b, [typeof _c === \"symbol\" ? _c : _c + \"\"]);\n\n onConfig = flatten(Object.keys(strictTransitionConfigs_1).map(function (key) {\n if (!IS_PRODUCTION && key === NULL_EVENT) {\n warn(false, \"Empty string transition configs (e.g., `{ on: { '': ... }}`) for transient transitions are deprecated. Specify the transition in the `{ always: ... }` property instead. \" + \"Please check the `on` configuration for \\\"#\".concat(_this.id, \"\\\".\"));\n }\n\n var transitionConfigArray = toTransitionConfigArray(key, strictTransitionConfigs_1[key]);\n\n if (!IS_PRODUCTION) {\n validateArrayifiedTransitions(_this, key, transitionConfigArray);\n }\n\n return transitionConfigArray;\n }).concat(toTransitionConfigArray(WILDCARD, wildcardConfigs)));\n }\n\n var eventlessConfig = this.config.always ? toTransitionConfigArray('', this.config.always) : [];\n var doneConfig = this.config.onDone ? toTransitionConfigArray(String(done(this.id)), this.config.onDone) : [];\n\n if (!IS_PRODUCTION) {\n warn(!(this.config.onDone && !this.parent), \"Root nodes cannot have an \\\".onDone\\\" transition. Please check the config of \\\"\".concat(this.id, \"\\\".\"));\n }\n\n var invokeConfig = flatten(this.invoke.map(function (invokeDef) {\n var settleTransitions = [];\n\n if (invokeDef.onDone) {\n settleTransitions.push.apply(settleTransitions, __spreadArray([], __read(toTransitionConfigArray(String(doneInvoke(invokeDef.id)), invokeDef.onDone)), false));\n }\n\n if (invokeDef.onError) {\n settleTransitions.push.apply(settleTransitions, __spreadArray([], __read(toTransitionConfigArray(String(error(invokeDef.id)), invokeDef.onError)), false));\n }\n\n return settleTransitions;\n }));\n var delayedTransitions = this.after;\n var formattedTransitions = flatten(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(doneConfig), false), __read(invokeConfig), false), __read(onConfig), false), __read(eventlessConfig), false).map(function (transitionConfig) {\n return toArray(transitionConfig).map(function (transition) {\n return _this.formatTransition(transition);\n });\n }));\n\n try {\n for (var delayedTransitions_1 = __values(delayedTransitions), delayedTransitions_1_1 = delayedTransitions_1.next(); !delayedTransitions_1_1.done; delayedTransitions_1_1 = delayedTransitions_1.next()) {\n var delayedTransition = delayedTransitions_1_1.value;\n formattedTransitions.push(delayedTransition);\n }\n } catch (e_10_1) {\n e_10 = {\n error: e_10_1\n };\n } finally {\n try {\n if (delayedTransitions_1_1 && !delayedTransitions_1_1.done && (_a = delayedTransitions_1.return)) _a.call(delayedTransitions_1);\n } finally {\n if (e_10) throw e_10.error;\n }\n }\n\n return formattedTransitions;\n };\n\n return StateNode;\n}();\n\nexport { StateNode };\n","import { StateNode } from './StateNode.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar warned = false;\nfunction Machine(config, options, initialContext) {\n if (initialContext === void 0) {\n initialContext = config.context;\n }\n\n return new StateNode(config, options, initialContext);\n}\nfunction createMachine(config, options) {\n if (!IS_PRODUCTION && !config.predictableActionArguments && !warned) {\n warned = true;\n console.warn('It is highly recommended to set `predictableActionArguments` to `true` when using `createMachine`. https://xstate.js.org/docs/guides/actions.html');\n }\n\n return new StateNode(config, options);\n}\n\nexport { Machine, createMachine };\n","import { assign as assign$1, send as send$1, sendParent as sendParent$1, sendUpdate as sendUpdate$1, forwardTo as forwardTo$1, doneInvoke as doneInvoke$1 } from './actions.js';\nimport * as actions from './actions.js';\nexport { actions };\nexport { toActorRef } from './Actor.js';\nexport { Interpreter, InterpreterStatus, interpret, spawn } from './interpreter.js';\nexport { Machine, createMachine } from './Machine.js';\nexport { mapState } from './mapState.js';\nexport { matchState } from './match.js';\nexport { createSchema, t } from './schema.js';\nexport { State } from './State.js';\nexport { StateNode } from './StateNode.js';\nexport { spawnBehavior } from './behaviors.js';\nexport { ActionTypes, SpecialTargets } from './types.js';\nexport { matchesState, toEventObject, toObserver, toSCXMLEvent } from './utils.js';\n\nvar assign = assign$1,\n send = send$1,\n sendParent = sendParent$1,\n sendUpdate = sendUpdate$1,\n forwardTo = forwardTo$1,\n doneInvoke = doneInvoke$1;\n\nexport { assign, doneInvoke, forwardTo, send, sendParent, sendUpdate };\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self;\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n toJSONObject\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default FormData;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction isValidHeaderName(str) {\n return /^[-_a-zA-Z]+$/.test(str.trim());\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear() {\n return Object.keys(this).forEach(this.delete.bind(this));\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.2.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer !== undefined) {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/*! js-cookie v3.0.1 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (key, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n key = encodeURIComponent(key)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport default api;\n","var re = Object.defineProperty;\nvar se = (r, e, t) => e in r ? re(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;\nvar A = (r, e, t) => (se(r, typeof e != \"symbol\" ? e + \"\" : e, t), t);\nimport { createMachine as b, assign as h, send as w, interpret as te } from \"xstate\";\nimport ne from \"axios\";\nimport L from \"js-cookie\";\nfunction ie(r) {\n return new TextEncoder().encode(r);\n}\nfunction _(r) {\n const e = new Uint8Array(r);\n let t = \"\";\n for (const n of e)\n t += String.fromCharCode(n);\n return btoa(t).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n}\nfunction W(r) {\n const e = r.replace(/-/g, \"+\").replace(/_/g, \"/\"), t = (4 - e.length % 4) % 4, s = e.padEnd(e.length + t, \"=\"), n = atob(s), i = new ArrayBuffer(n.length), u = new Uint8Array(i);\n for (let d = 0; d < n.length; d++)\n u[d] = n.charCodeAt(d);\n return i;\n}\nfunction z() {\n return (window == null ? void 0 : window.PublicKeyCredential) !== void 0 && typeof window.PublicKeyCredential == \"function\";\n}\nfunction H(r) {\n const { id: e } = r;\n return {\n ...r,\n id: W(e),\n transports: r.transports\n };\n}\nfunction Q(r) {\n return r === \"localhost\" || /^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$/i.test(r);\n}\nclass g extends Error {\n constructor(e, t = \"WebAuthnError\") {\n super(e), this.name = t;\n }\n}\nfunction oe({ error: r, options: e }) {\n var t, s;\n const { publicKey: n } = e;\n if (!n)\n throw Error(\"options was missing required publicKey property\");\n if (r.name === \"AbortError\") {\n if (e.signal === new AbortController().signal)\n return new g(\"Registration ceremony was sent an abort signal\", \"AbortError\");\n } else if (r.name === \"ConstraintError\") {\n if (((t = n.authenticatorSelection) === null || t === void 0 ? void 0 : t.requireResidentKey) === !0)\n return new g(\"Discoverable credentials were required but no available authenticator supported it\", \"ConstraintError\");\n if (((s = n.authenticatorSelection) === null || s === void 0 ? void 0 : s.userVerification) === \"required\")\n return new g(\"User verification was required but no available authenticator supported it\", \"ConstraintError\");\n } else {\n if (r.name === \"InvalidStateError\")\n return new g(\"The authenticator was previously registered\", \"InvalidStateError\");\n if (r.name === \"NotAllowedError\")\n return new g(\"User clicked cancel, or the registration ceremony timed out\", \"NotAllowedError\");\n if (r.name === \"NotSupportedError\")\n return n.pubKeyCredParams.filter((u) => u.type === \"public-key\").length === 0 ? new g('No entry in pubKeyCredParams was of type \"public-key\"', \"NotSupportedError\") : new g(\"No available authenticator supported any of the specified pubKeyCredParams algorithms\", \"NotSupportedError\");\n if (r.name === \"SecurityError\") {\n const i = window.location.hostname;\n if (Q(i)) {\n if (n.rp.id !== i)\n return new g(`The RP ID \"${n.rp.id}\" is invalid for this domain`, \"SecurityError\");\n } else\n return new g(`${window.location.hostname} is an invalid domain`, \"SecurityError\");\n } else if (r.name === \"TypeError\") {\n if (n.user.id.byteLength < 1 || n.user.id.byteLength > 64)\n return new g(\"User ID was not between 1 and 64 characters\", \"TypeError\");\n } else if (r.name === \"UnknownError\")\n return new g(\"The authenticator was unable to process the specified options, or could not create a new credential\", \"UnknownError\");\n }\n return r;\n}\nclass ae {\n createNewAbortSignal() {\n return this.controller && this.controller.abort(), this.controller = new AbortController(), this.controller.signal;\n }\n reset() {\n this.controller = void 0;\n }\n}\nconst M = new ae();\nasync function X(r) {\n if (!z())\n throw new Error(\"WebAuthn is not supported in this browser\");\n const t = { publicKey: {\n ...r,\n challenge: W(r.challenge),\n user: {\n ...r.user,\n id: ie(r.user.id)\n },\n excludeCredentials: r.excludeCredentials.map(H)\n } };\n t.signal = M.createNewAbortSignal();\n let s;\n try {\n s = await navigator.credentials.create(t);\n } catch (p) {\n throw oe({ error: p, options: t });\n } finally {\n M.reset();\n }\n if (!s)\n throw new Error(\"Registration was not completed\");\n const { id: n, rawId: i, response: u, type: d } = s, E = {\n id: n,\n rawId: _(i),\n response: {\n attestationObject: _(u.attestationObject),\n clientDataJSON: _(u.clientDataJSON)\n },\n type: d,\n clientExtensionResults: s.getClientExtensionResults(),\n authenticatorAttachment: s.authenticatorAttachment\n };\n return typeof u.getTransports == \"function\" && (E.transports = u.getTransports()), E;\n}\nfunction ce(r) {\n return new TextDecoder(\"utf-8\").decode(r);\n}\nasync function ue() {\n if (navigator.credentials.conditionalMediationSupported)\n return !0;\n const r = window.PublicKeyCredential;\n return r.isConditionalMediationAvailable !== void 0 && r.isConditionalMediationAvailable();\n}\nfunction le({ error: r, options: e }) {\n var t;\n const { publicKey: s } = e;\n if (!s)\n throw Error(\"options was missing required publicKey property\");\n if (r.name === \"AbortError\") {\n if (e.signal === new AbortController().signal)\n return new g(\"Authentication ceremony was sent an abort signal\", \"AbortError\");\n } else {\n if (r.name === \"NotAllowedError\")\n return !((t = s.allowCredentials) === null || t === void 0) && t.length ? new g(\"No available authenticator recognized any of the allowed credentials\", \"NotAllowedError\") : new g(\"User clicked cancel, or the authentication ceremony timed out\", \"NotAllowedError\");\n if (r.name === \"SecurityError\") {\n const n = window.location.hostname;\n if (Q(n)) {\n if (s.rpId !== n)\n return new g(`The RP ID \"${s.rpId}\" is invalid for this domain`, \"SecurityError\");\n } else\n return new g(`${window.location.hostname} is an invalid domain`, \"SecurityError\");\n } else if (r.name === \"UnknownError\")\n return new g(\"The authenticator was unable to process the specified options, or could not create a new assertion signature\", \"UnknownError\");\n }\n return r;\n}\nasync function de(r, e = !1) {\n var t, s;\n if (!z())\n throw new Error(\"WebAuthn is not supported in this browser\");\n let n;\n ((t = r.allowCredentials) === null || t === void 0 ? void 0 : t.length) !== 0 && (n = (s = r.allowCredentials) === null || s === void 0 ? void 0 : s.map(H));\n const i = {\n ...r,\n challenge: W(r.challenge),\n allowCredentials: n\n }, u = {};\n if (e) {\n if (!await ue())\n throw Error(\"Browser does not support WebAuthn autofill\");\n if (document.querySelectorAll(\"input[autocomplete*='webauthn']\").length < 1)\n throw Error('No <input> with `\"webauthn\"` in its `autocomplete` attribute was detected');\n u.mediation = \"conditional\", i.allowCredentials = [];\n }\n u.publicKey = i, u.signal = M.createNewAbortSignal();\n let d;\n try {\n d = await navigator.credentials.get(u);\n } catch (o) {\n throw le({ error: o, options: u });\n } finally {\n M.reset();\n }\n if (!d)\n throw new Error(\"Authentication was not completed\");\n const { id: E, rawId: p, response: m, type: S } = d;\n let f;\n return m.userHandle && (f = ce(m.userHandle)), {\n id: E,\n rawId: _(p),\n response: {\n authenticatorData: _(m.authenticatorData),\n clientDataJSON: _(m.clientDataJSON),\n signature: _(m.signature),\n userHandle: f\n },\n type: S,\n clientExtensionResults: d.getClientExtensionResults(),\n authenticatorAttachment: d.authenticatorAttachment\n };\n}\nconst C = \"nhostRefreshToken\", N = \"nhostRefreshTokenExpiresAt\", fe = 3, he = 300, me = 5, Z = 0, J = 1, y = 10, P = 20;\nclass D extends Error {\n constructor(t) {\n super(t.message);\n A(this, \"error\");\n Error.captureStackTrace(this, this.constructor), t instanceof Error ? (this.name = t.name, this.error = {\n error: t.name,\n status: J,\n message: t.message\n }) : (this.name = t.error, this.error = t);\n }\n}\nconst R = {\n status: y,\n error: \"invalid-email\",\n message: \"Email is incorrectly formatted\"\n}, Ee = {\n status: y,\n error: \"invalid-mfa-type\",\n message: \"MFA type is invalid\"\n}, ge = {\n status: y,\n error: \"invalid-mfa-code\",\n message: \"MFA code is invalid\"\n}, G = {\n status: y,\n error: \"invalid-password\",\n message: \"Password is incorrectly formatted\"\n}, Y = {\n status: y,\n error: \"invalid-phone-number\",\n message: \"Phone number is incorrectly formatted\"\n}, pe = {\n status: y,\n error: \"invalid-mfa-ticket\",\n message: \"MFA ticket is invalid\"\n}, we = {\n status: y,\n error: \"no-mfa-ticket\",\n message: \"No MFA ticket has been provided\"\n}, xe = {\n status: y,\n error: \"no-refresh-token\",\n message: \"No refresh token has been provided\"\n}, De = {\n status: P,\n error: \"refresher-already-running\",\n message: \"The token refresher is already running. You must wait until is has finished before submitting a new token.\"\n}, I = {\n status: P,\n error: \"already-signed-in\",\n message: \"User is already signed in\"\n}, Te = {\n status: P,\n error: \"unauthenticated-user\",\n message: \"User is not authenticated\"\n}, Ue = {\n status: P,\n error: \"user-not-anonymous\",\n message: \"User is not anonymous\"\n}, Me = {\n status: P,\n error: \"unverified-user\",\n message: \"Email needs verification\"\n}, Ve = {\n status: y,\n error: \"invalid-refresh-token\",\n message: \"Invalid or expired refresh token\"\n}, Ke = {\n status: J,\n error: \"invalid-sign-in-method\",\n message: \"Invalid sign-in method\"\n}, O = (r) => {\n const e = ne.create({ baseURL: r });\n return e.interceptors.response.use(\n (t) => t,\n (t) => {\n var s, n, i, u, d, E, p, m, S, f, o, a;\n return Promise.reject({\n error: {\n message: (d = (u = (i = (n = (s = t.response) == null ? void 0 : s.data) == null ? void 0 : n.message) != null ? i : t.message) != null ? u : t.request.responseText) != null ? d : JSON.stringify(t),\n status: (f = (S = (E = t.response) == null ? void 0 : E.status) != null ? S : (m = (p = t.response) == null ? void 0 : p.data) == null ? void 0 : m.statusCode) != null ? f : Z,\n error: ((a = (o = t.response) == null ? void 0 : o.data) == null ? void 0 : a.error) || t.request.statusText || \"network\"\n }\n });\n }\n ), e;\n}, V = typeof window < \"u\", U = /* @__PURE__ */ new Map(), ye = (r) => {\n var e;\n return V && typeof localStorage < \"u\" ? localStorage.getItem(r) : (e = U.get(r)) != null ? e : null;\n}, Se = (r, e) => {\n V && typeof localStorage < \"u\" ? e ? localStorage.setItem(r, e) : localStorage.removeItem(r) : e ? U.set(r, e) : U.has(r) && U.delete(r);\n}, ve = (r, e) => {\n if (r === \"localStorage\" || r === \"web\")\n return ye;\n if (r === \"cookie\")\n return (t) => {\n var s;\n return V && (s = L.get(t)) != null ? s : null;\n };\n if (!e)\n throw Error(\n `clientStorageType is set to '${r}' but no clientStorage has been given`\n );\n if (r === \"react-native\")\n return (t) => {\n var s;\n return (s = e.getItem) == null ? void 0 : s.call(e, t);\n };\n if (r === \"capacitor\")\n return (t) => {\n var s;\n return (s = e.get) == null ? void 0 : s.call(e, { key: t });\n };\n if (r === \"expo-secure-storage\")\n return (t) => {\n var s;\n return (s = e.getItemAsync) == null ? void 0 : s.call(e, t);\n };\n if (r === \"custom\") {\n if (e.getItem && e.removeItem)\n return e.getItem;\n if (e.getItemAsync)\n return e.getItemAsync;\n throw Error(\n `clientStorageType is set to 'custom' but clientStorage is missing either \"getItem\" and \"removeItem\" properties or \"getItemAsync\" property`\n );\n }\n throw Error(`Unknown storage type: ${r}`);\n}, Ie = (r, e) => {\n if (r === \"localStorage\" || r === \"web\")\n return Se;\n if (r === \"cookie\")\n return (t, s) => {\n V && (s ? L.set(t, s, { expires: 30, sameSite: \"lax\", httpOnly: !1 }) : L.remove(t));\n };\n if (!e)\n throw Error(\n `clientStorageType is set to '${r}' but no clienStorage has been given`\n );\n if (r === \"react-native\")\n return (t, s) => {\n var n, i;\n return s ? (n = e.setItem) == null ? void 0 : n.call(e, t, s) : (i = e.removeItem) == null ? void 0 : i.call(e, t);\n };\n if (r === \"capacitor\")\n return (t, s) => {\n var n, i;\n return s ? (n = e.set) == null ? void 0 : n.call(e, { key: t, value: s }) : (i = e.remove) == null ? void 0 : i.call(e, { key: t });\n };\n if (r === \"expo-secure-storage\")\n return async (t, s) => {\n var n, i;\n return s ? (n = e.setItemAsync) == null ? void 0 : n.call(e, t, s) : (i = e.deleteItemAsync) == null ? void 0 : i.call(e, t);\n };\n if (r === \"custom\") {\n if (!e.removeItem)\n throw Error(\n \"clientStorageType is set to 'custom' but clientStorage is missing a removeItem property\"\n );\n if (e.setItem)\n return (t, s) => {\n var n, i;\n return s ? (n = e.setItem) == null ? void 0 : n.call(e, t, s) : (i = e.removeItem) == null ? void 0 : i.call(e, t);\n };\n if (e.setItemAsync)\n return async (t, s) => {\n var n, i;\n return s ? (n = e.setItemAsync) == null ? void 0 : n.call(e, t, s) : (i = e.removeItem) == null ? void 0 : i.call(e, t);\n };\n throw Error(\n \"clientStorageType is set to 'custom' but clientStorage is missing setItem or setItemAsync property\"\n );\n }\n throw Error(`Unknown storage type: ${r}`);\n}, Ae = (r, e) => {\n const t = e && Object.entries(e).map(([s, n]) => {\n const i = Array.isArray(n) ? n.join(\",\") : typeof n == \"object\" ? JSON.stringify(n) : n;\n return `${s}=${encodeURIComponent(i)}`;\n }).join(\"&\");\n return t ? `${r}?${t}` : r;\n}, v = (r, e) => {\n if (!(e != null && e.redirectTo))\n return e;\n const { redirectTo: t, ...s } = e;\n if (!r)\n return t.startsWith(\"/\") ? s : e;\n const n = new URL(r), i = Object.fromEntries(new URLSearchParams(n.search)), u = new URL(t.startsWith(\"/\") ? n.origin + t : t), d = new URLSearchParams(u.search);\n let E = Object.fromEntries(d);\n t.startsWith(\"/\") && (E = { ...i, ...E });\n let p = n.pathname;\n return u.pathname.length > 1 && (p += u.pathname.slice(1)), {\n ...s,\n redirectTo: Ae(u.origin + p, E)\n };\n};\nfunction x(r, e) {\n var n;\n if (!e) {\n if (typeof window > \"u\")\n return;\n e = ((n = window.location) == null ? void 0 : n.href) || \"\";\n }\n r = r.replace(/[\\[\\]]/g, \"\\\\$&\");\n const t = new RegExp(\"[?&#]\" + r + \"(=([^&#]*)|&|#|$)\"), s = t.exec(e);\n return s ? s[2] ? decodeURIComponent(s[2].replace(/\\+/g, \" \")) : \"\" : null;\n}\nfunction j(r) {\n var t;\n if (typeof window > \"u\")\n return;\n const e = window == null ? void 0 : window.location;\n if (!!e && e) {\n const s = new URLSearchParams(e.search), n = new URLSearchParams((t = e.hash) == null ? void 0 : t.slice(1));\n s.delete(r), n.delete(r);\n let i = window.location.pathname;\n Array.from(s).length && (i += `?${s.toString()}`), Array.from(n).length && (i += `#${n.toString()}`), window.history.pushState({}, \"\", i);\n }\n}\nconst k = (r) => !!r && typeof r == \"string\" && !!String(r).toLowerCase().match(\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n), q = (r) => !!r && typeof r == \"string\" && r.length >= fe, B = (r) => !!r && typeof r == \"string\", Re = (r) => r && typeof r == \"string\" && r.match(/^mfaTotp:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i), K = {\n user: null,\n mfa: null,\n accessToken: {\n value: null,\n expiresAt: null\n },\n refreshTimer: {\n startedAt: null,\n attempts: 0,\n lastAttempt: null\n },\n refreshToken: {\n value: null\n },\n importTokenAttempts: 0,\n errors: {}\n}, Le = ({ backendUrl: r, clientUrl: e, interpreter: t }) => {\n const s = O(r);\n return b(\n {\n schema: {\n context: {},\n events: {},\n services: {}\n },\n tsTypes: {},\n predictableActionArguments: !0,\n id: \"changeEmail\",\n initial: \"idle\",\n context: { error: null },\n states: {\n idle: {\n on: {\n REQUEST: [\n {\n cond: \"invalidEmail\",\n actions: \"saveInvalidEmailError\",\n target: \".error\"\n },\n {\n target: \"requesting\"\n }\n ]\n },\n initial: \"initial\",\n states: {\n initial: {},\n success: {},\n error: {}\n }\n },\n requesting: {\n invoke: {\n src: \"requestChange\",\n id: \"requestChange\",\n onDone: { target: \"idle.success\", actions: \"reportSuccess\" },\n onError: { actions: [\"saveRequestError\", \"reportError\"], target: \"idle.error\" }\n }\n }\n }\n },\n {\n actions: {\n saveInvalidEmailError: h({ error: (n) => R }),\n saveRequestError: h({\n error: (n, { data: { error: i } }) => i\n }),\n reportError: w((n) => ({ type: \"ERROR\", error: n.error })),\n reportSuccess: w(\"SUCCESS\")\n },\n guards: {\n invalidEmail: (n, { email: i }) => !k(i)\n },\n services: {\n requestChange: async (n, { email: i, options: u }) => (await s.post(\n \"/user/email/change\",\n {\n newEmail: i,\n options: v(e, u)\n },\n {\n headers: {\n authorization: `Bearer ${t == null ? void 0 : t.getSnapshot().context.accessToken.value}`\n }\n }\n )).data\n }\n }\n );\n}, Ge = ({ backendUrl: r, interpreter: e }) => {\n const t = O(r);\n return b(\n {\n schema: {\n context: {},\n events: {},\n services: {}\n },\n tsTypes: {},\n predictableActionArguments: !0,\n id: \"changePassword\",\n initial: \"idle\",\n context: { error: null },\n states: {\n idle: {\n on: {\n REQUEST: [\n {\n cond: \"invalidPassword\",\n actions: \"saveInvalidPasswordError\",\n target: \".error\"\n },\n {\n target: \"requesting\"\n }\n ]\n },\n initial: \"initial\",\n states: {\n initial: {},\n success: {},\n error: {}\n }\n },\n requesting: {\n invoke: {\n src: \"requestChange\",\n id: \"requestChange\",\n onDone: { target: \"idle.success\", actions: \"reportSuccess\" },\n onError: { actions: [\"saveRequestError\", \"reportError\"], target: \"idle.error\" }\n }\n }\n }\n },\n {\n actions: {\n saveInvalidPasswordError: h({ error: (s) => G }),\n saveRequestError: h({\n error: (s, { data: { error: n } }) => n\n }),\n reportError: w((s) => ({ type: \"ERROR\", error: s.error })),\n reportSuccess: w(\"SUCCESS\")\n },\n guards: {\n invalidPassword: (s, { password: n }) => !q(n)\n },\n services: {\n requestChange: (s, { password: n, ticket: i }) => t.post(\n \"/user/password\",\n { newPassword: n, ticket: i },\n {\n headers: {\n authorization: `Bearer ${e == null ? void 0 : e.getSnapshot().context.accessToken.value}`\n }\n }\n )\n }\n }\n );\n}, qe = ({ backendUrl: r, interpreter: e }) => {\n const t = O(r);\n return b(\n {\n schema: {\n context: {},\n events: {}\n },\n tsTypes: {},\n predictableActionArguments: !0,\n id: \"enableMfa\",\n initial: \"idle\",\n context: { error: null, imageUrl: null, secret: null },\n states: {\n idle: {\n initial: \"initial\",\n on: {\n GENERATE: \"generating\"\n },\n states: {\n initial: {},\n error: {}\n }\n },\n generating: {\n invoke: {\n src: \"generate\",\n id: \"generate\",\n onDone: { target: \"generated\", actions: [\"reportGeneratedSuccess\", \"saveGeneration\"] },\n onError: { actions: [\"saveError\", \"reportGeneratedError\"], target: \"idle.error\" }\n }\n },\n generated: {\n initial: \"idle\",\n states: {\n idle: {\n initial: \"idle\",\n on: {\n ACTIVATE: [\n {\n cond: \"invalidMfaType\",\n actions: \"saveInvalidMfaTypeError\",\n target: \".error\"\n },\n {\n cond: \"invalidMfaCode\",\n actions: \"saveInvalidMfaCodeError\",\n target: \".error\"\n },\n {\n target: \"activating\"\n }\n ]\n },\n states: { idle: {}, error: {} }\n },\n activating: {\n invoke: {\n src: \"activate\",\n id: \"activate\",\n onDone: { target: \"activated\", actions: \"reportSuccess\" },\n onError: { actions: [\"saveError\", \"reportError\"], target: \"idle.error\" }\n }\n },\n activated: { type: \"final\" }\n }\n }\n }\n },\n {\n actions: {\n saveInvalidMfaTypeError: h({ error: (s) => Ee }),\n saveInvalidMfaCodeError: h({ error: (s) => ge }),\n saveError: h({\n error: (s, { data: { error: n } }) => n\n }),\n saveGeneration: h({\n imageUrl: (s, { data: { imageUrl: n } }) => n,\n secret: (s, { data: { totpSecret: n } }) => n\n }),\n reportError: w((s) => ({ type: \"ERROR\", error: s.error })),\n reportSuccess: w(\"SUCCESS\"),\n reportGeneratedSuccess: w(\"GENERATED\"),\n reportGeneratedError: w((s) => ({ type: \"GENERATED_ERROR\", error: s.error }))\n },\n guards: {\n invalidMfaCode: (s, { code: n }) => !n,\n invalidMfaType: (s, { activeMfaType: n }) => !n || n !== \"totp\"\n },\n services: {\n generate: async (s) => {\n const { data: n } = await t.get(\"/mfa/totp/generate\", {\n headers: {\n authorization: `Bearer ${e == null ? void 0 : e.getSnapshot().context.accessToken.value}`\n }\n });\n return n;\n },\n activate: (s, { code: n, activeMfaType: i }) => t.post(\n \"/user/mfa\",\n {\n code: n,\n activeMfaType: i\n },\n {\n headers: {\n authorization: `Bearer ${e == null ? void 0 : e.getSnapshot().context.accessToken.value}`\n }\n }\n )\n }\n }\n );\n}, We = ({ backendUrl: r, clientUrl: e }) => {\n const t = O(r);\n return b(\n {\n schema: {\n context: {},\n events: {},\n services: {}\n },\n tsTypes: {},\n predictableActionArguments: !0,\n id: \"changePassword\",\n initial: \"idle\",\n context: { error: null },\n states: {\n idle: {\n on: {\n REQUEST: [\n {\n cond: \"invalidEmail\",\n actions: \"saveInvalidEmailError\",\n target: \".error\"\n },\n {\n target: \"requesting\"\n }\n ]\n },\n initial: \"initial\",\n states: {\n initial: {},\n success: {},\n error: {}\n }\n },\n requesting: {\n invoke: {\n src: \"requestChange\",\n id: \"requestChange\",\n onDone: { target: \"idle.success\", actions: \"reportSuccess\" },\n onError: { actions: [\"saveRequestError\", \"reportError\"], target: \"idle.error\" }\n }\n }\n }\n },\n {\n actions: {\n saveInvalidEmailError: h({ error: (s) => R }),\n saveRequestError: h({\n error: (s, { data: { error: n } }) => n\n }),\n reportError: w((s) => ({ type: \"ERROR\", error: s.error })),\n reportSuccess: w(\"SUCCESS\")\n },\n guards: {\n invalidEmail: (s, { email: n }) => !k(n)\n },\n services: {\n requestChange: (s, { email: n, options: i }) => t.post(\"/user/password/reset\", {\n email: n,\n options: v(e, i)\n })\n }\n }\n );\n}, $e = ({ backendUrl: r, clientUrl: e }) => {\n const t = O(r);\n return b(\n {\n schema: {\n context: {},\n events: {},\n services: {}\n },\n tsTypes: {},\n predictableActionArguments: !0,\n id: \"sendVerificationEmail\",\n initial: \"idle\",\n context: { error: null },\n states: {\n idle: {\n on: {\n REQUEST: [\n {\n cond: \"invalidEmail\",\n actions: \"saveInvalidEmailError\",\n target: \".error\"\n },\n {\n target: \"requesting\"\n }\n ]\n },\n initial: \"initial\",\n states: {\n initial: {},\n success: {},\n error: {}\n }\n },\n requesting: {\n invoke: {\n src: \"request\",\n id: \"request\",\n onDone: { target: \"idle.success\", actions: \"reportSuccess\" },\n onError: { actions: [\"saveRequestError\", \"reportError\"], target: \"idle.error\" }\n }\n }\n }\n },\n {\n actions: {\n saveInvalidEmailError: h({ error: (s) => R }),\n saveRequestError: h({\n error: (s, { data: { error: n } }) => n\n }),\n reportError: w((s) => ({ type: \"ERROR\", error: s.error })),\n reportSuccess: w(\"SUCCESS\")\n },\n guards: {\n invalidEmail: (s, { email: n }) => !k(n)\n },\n services: {\n request: async (s, { email: n, options: i }) => (await t.post(\n \"/user/email/send-verification-email\",\n {\n email: n,\n options: v(e, i)\n }\n )).data\n }\n }\n );\n}, ke = ({\n backendUrl: r,\n clientUrl: e,\n clientStorageGetter: t,\n clientStorageSetter: s,\n clientStorageType: n = \"web\",\n clientStorage: i,\n refreshIntervalTime: u,\n autoRefreshToken: d = !0,\n autoSignIn: E = !0\n}) => {\n const p = t || ve(n, i), m = s || Ie(n, i), S = O(r), f = async (o, a, c) => (await S.post(o, a, c)).data;\n return b(\n {\n schema: {\n context: {},\n events: {},\n services: {}\n },\n tsTypes: {},\n context: K,\n predictableActionArguments: !0,\n id: \"nhost\",\n type: \"parallel\",\n states: {\n authentication: {\n initial: \"starting\",\n on: {\n SESSION_UPDATE: [\n {\n cond: \"hasSession\",\n actions: [\"saveSession\", \"resetTimer\", \"reportTokenChanged\"],\n target: \".signedIn\"\n }\n ]\n },\n states: {\n starting: {\n tags: [\"loading\"],\n always: { cond: \"isSignedIn\", target: \"signedIn\" },\n invoke: {\n id: \"importRefreshToken\",\n src: \"importRefreshToken\",\n onDone: [\n {\n cond: \"hasSession\",\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"signedIn\"\n },\n {\n target: \"signedOut\"\n }\n ],\n onError: [\n {\n cond: \"shouldRetryImportToken\",\n actions: \"incrementTokenImportAttempts\",\n target: \"retryTokenImport\"\n },\n { actions: [\"saveAuthenticationError\"], target: \"signedOut\" }\n ]\n }\n },\n retryTokenImport: {\n tags: [\"loading\"],\n after: {\n RETRY_IMPORT_TOKEN_DELAY: \"starting\"\n }\n },\n signedOut: {\n initial: \"noErrors\",\n entry: \"reportSignedOut\",\n states: {\n noErrors: {},\n success: {},\n needsSmsOtp: {},\n needsMfa: {},\n failed: {},\n signingOut: {\n entry: [\"clearContextExceptRefreshToken\"],\n exit: [\"destroyRefreshToken\", \"reportTokenChanged\"],\n invoke: {\n src: \"signout\",\n id: \"signingOut\",\n onDone: {\n target: \"success\"\n },\n onError: {\n target: \"failed\",\n actions: [\"saveAuthenticationError\"]\n }\n }\n }\n },\n on: {\n SIGNIN_PASSWORD: \"authenticating.password\",\n SIGNIN_ANONYMOUS: \"authenticating.anonymous\",\n SIGNIN_SECURITY_KEY_EMAIL: \"authenticating.securityKeyEmail\",\n SIGNIN_MFA_TOTP: \"authenticating.mfa.totp\"\n }\n },\n authenticating: {\n entry: \"resetErrors\",\n states: {\n password: {\n invoke: {\n src: \"signInPassword\",\n id: \"authenticateUserWithPassword\",\n onDone: [\n {\n cond: \"hasMfaTicket\",\n actions: [\"saveMfaTicket\"],\n target: \"#nhost.authentication.signedOut.needsMfa\"\n },\n {\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n }\n ],\n onError: [\n {\n cond: \"unverified\",\n target: [\n \"#nhost.authentication.signedOut\",\n \"#nhost.registration.incomplete.needsEmailVerification\"\n ]\n },\n {\n actions: \"saveAuthenticationError\",\n target: \"#nhost.authentication.signedOut.failed\"\n }\n ]\n }\n },\n anonymous: {\n invoke: {\n src: \"signInAnonymous\",\n id: \"authenticateAnonymously\",\n onDone: {\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n },\n onError: {\n actions: \"saveAuthenticationError\",\n target: \"#nhost.authentication.signedOut.failed\"\n }\n }\n },\n mfa: {\n states: {\n totp: {\n invoke: {\n src: \"signInMfaTotp\",\n id: \"signInMfaTotp\",\n onDone: {\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n },\n onError: {\n actions: [\"saveAuthenticationError\"],\n target: \"#nhost.authentication.signedOut.failed\"\n }\n }\n }\n }\n },\n securityKeyEmail: {\n invoke: {\n src: \"signInSecurityKeyEmail\",\n id: \"authenticateUserWithSecurityKey\",\n onDone: {\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n },\n onError: [\n {\n cond: \"unverified\",\n target: [\n \"#nhost.authentication.signedOut\",\n \"#nhost.registration.incomplete.needsEmailVerification\"\n ]\n },\n {\n actions: \"saveAuthenticationError\",\n target: \"#nhost.authentication.signedOut.failed\"\n }\n ]\n }\n }\n }\n },\n signedIn: {\n type: \"parallel\",\n entry: [\"reportSignedIn\", \"cleanUrl\", \"broadcastToken\", \"resetErrors\"],\n on: {\n SIGNOUT: \"signedOut.signingOut\"\n },\n states: {\n refreshTimer: {\n id: \"timer\",\n initial: \"idle\",\n states: {\n disabled: { type: \"final\" },\n stopped: {\n always: {\n cond: \"noToken\",\n target: \"idle\"\n }\n },\n idle: {\n always: [\n { cond: \"isAutoRefreshDisabled\", target: \"disabled\" },\n {\n cond: \"hasRefreshToken\",\n target: \"running\"\n }\n ]\n },\n running: {\n initial: \"pending\",\n entry: \"resetTimer\",\n states: {\n pending: {\n after: {\n 1e3: {\n internal: !1,\n target: \"pending\"\n }\n },\n always: {\n cond: \"refreshTimerShouldRefresh\",\n target: \"refreshing\"\n }\n },\n refreshing: {\n invoke: {\n src: \"refreshToken\",\n id: \"refreshToken\",\n onDone: {\n actions: [\"saveSession\", \"resetTimer\", \"reportTokenChanged\"],\n target: \"pending\"\n },\n onError: [\n { actions: \"saveRefreshAttempt\", target: \"pending\" }\n ]\n }\n }\n }\n }\n }\n }\n }\n }\n }\n },\n token: {\n initial: \"idle\",\n states: {\n idle: {\n on: {\n TRY_TOKEN: \"running\"\n },\n initial: \"noErrors\",\n states: { noErrors: {}, error: {} }\n },\n running: {\n invoke: {\n src: \"refreshToken\",\n id: \"authenticateWithToken\",\n onDone: {\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: [\"#nhost.authentication.signedIn\", \"idle.noErrors\"]\n },\n onError: [\n { cond: \"isSignedIn\", target: \"idle.error\" },\n {\n actions: \"saveAuthenticationError\",\n target: [\"#nhost.authentication.signedOut.failed\", \"idle.error\"]\n }\n ]\n }\n }\n }\n },\n registration: {\n initial: \"incomplete\",\n on: {\n SIGNED_IN: [{ cond: \"isAnonymous\", target: \".incomplete\" }, \".complete\"]\n },\n states: {\n incomplete: {\n on: {\n SIGNUP_EMAIL_PASSWORD: \"emailPassword\",\n SIGNUP_SECURITY_KEY: \"securityKey\",\n PASSWORDLESS_EMAIL: \"passwordlessEmail\",\n PASSWORDLESS_SMS: \"passwordlessSms\",\n PASSWORDLESS_SMS_OTP: \"passwordlessSmsOtp\"\n },\n initial: \"noErrors\",\n states: {\n noErrors: {},\n needsEmailVerification: {},\n needsOtp: {},\n failed: {}\n }\n },\n emailPassword: {\n entry: [\"resetErrors\"],\n invoke: {\n src: \"signUpEmailPassword\",\n id: \"signUpEmailPassword\",\n onDone: [\n {\n cond: \"hasSession\",\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n },\n {\n actions: \"clearContext\",\n target: [\"#nhost.authentication.signedOut\", \"incomplete.needsEmailVerification\"]\n }\n ],\n onError: [\n {\n cond: \"unverified\",\n target: \"incomplete.needsEmailVerification\"\n },\n {\n actions: \"saveRegistrationError\",\n target: \"incomplete.failed\"\n }\n ]\n }\n },\n securityKey: {\n entry: [\"resetErrors\"],\n invoke: {\n src: \"signUpSecurityKey\",\n id: \"signUpSecurityKey\",\n onDone: [\n {\n cond: \"hasSession\",\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n },\n {\n actions: \"clearContext\",\n target: [\"#nhost.authentication.signedOut\", \"incomplete.needsEmailVerification\"]\n }\n ],\n onError: [\n {\n cond: \"unverified\",\n target: \"incomplete.needsEmailVerification\"\n },\n {\n actions: \"saveRegistrationError\",\n target: \"incomplete.failed\"\n }\n ]\n }\n },\n passwordlessEmail: {\n entry: [\"resetErrors\"],\n invoke: {\n src: \"passwordlessEmail\",\n id: \"passwordlessEmail\",\n onDone: {\n actions: \"clearContext\",\n target: [\"#nhost.authentication.signedOut\", \"incomplete.needsEmailVerification\"]\n },\n onError: {\n actions: \"saveRegistrationError\",\n target: \"incomplete.failed\"\n }\n }\n },\n passwordlessSms: {\n entry: [\"resetErrors\"],\n invoke: {\n src: \"passwordlessSms\",\n id: \"passwordlessSms\",\n onDone: {\n actions: \"clearContext\",\n target: [\"#nhost.authentication.signedOut\", \"incomplete.needsOtp\"]\n },\n onError: {\n actions: \"saveRegistrationError\",\n target: \"incomplete.failed\"\n }\n }\n },\n passwordlessSmsOtp: {\n entry: [\"resetErrors\"],\n invoke: {\n src: \"passwordlessSmsOtp\",\n id: \"passwordlessSmsOtp\",\n onDone: {\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n },\n onError: {\n actions: \"saveRegistrationError\",\n target: \"incomplete.failed\"\n }\n }\n },\n complete: {\n on: {\n SIGNED_OUT: \"incomplete\"\n }\n }\n }\n }\n }\n },\n {\n actions: {\n reportSignedIn: w(\"SIGNED_IN\"),\n reportSignedOut: w(\"SIGNED_OUT\"),\n reportTokenChanged: w(\"TOKEN_CHANGED\"),\n incrementTokenImportAttempts: h({\n importTokenAttempts: ({ importTokenAttempts: o }) => o + 1\n }),\n clearContext: h(() => (m(N, null), m(C, null), {\n ...K\n })),\n clearContextExceptRefreshToken: h(({ refreshToken: { value: o } }) => (m(N, null), {\n ...K,\n refreshToken: { value: o }\n })),\n saveSession: h({\n user: (o, { data: a }) => {\n var c;\n return ((c = a == null ? void 0 : a.session) == null ? void 0 : c.user) || null;\n },\n accessToken: (o, { data: a }) => {\n if (a.session) {\n const { accessTokenExpiresIn: c, accessToken: l } = a.session, T = new Date(Date.now() + c * 1e3);\n return m(N, T.toISOString()), {\n value: l,\n expiresAt: T\n };\n }\n return m(N, null), {\n value: null,\n expiresAt: null\n };\n },\n refreshToken: (o, { data: a }) => {\n var l;\n const c = ((l = a.session) == null ? void 0 : l.refreshToken) || null;\n return c && m(C, c), { value: c };\n }\n }),\n saveMfaTicket: h({\n mfa: (o, a) => {\n var c;\n return (c = a.data) == null ? void 0 : c.mfa;\n }\n }),\n resetTimer: h({\n refreshTimer: (o) => ({\n startedAt: new Date(),\n attempts: 0,\n lastAttempt: null\n })\n }),\n saveRefreshAttempt: h({\n refreshTimer: (o, a) => ({\n startedAt: o.refreshTimer.startedAt,\n attempts: o.refreshTimer.attempts + 1,\n lastAttempt: new Date()\n })\n }),\n saveAuthenticationError: h({\n errors: ({ errors: o }, { data: { error: a } }) => ({\n ...o,\n authentication: a\n })\n }),\n resetErrors: h({\n errors: (o) => ({}),\n importTokenAttempts: (o) => 0\n }),\n saveRegistrationError: h({\n errors: ({ errors: o }, { data: { error: a } }) => ({ ...o, registration: a })\n }),\n destroyRefreshToken: h({\n refreshToken: (o) => (m(C, null), { value: null })\n }),\n cleanUrl: () => {\n E && x(\"refreshToken\") && (j(\"refreshToken\"), j(\"type\"));\n },\n broadcastToken: (o) => {\n if (E)\n try {\n new BroadcastChannel(\"nhost\").postMessage(o.refreshToken.value);\n } catch {\n }\n }\n },\n guards: {\n isAnonymous: (o, a) => {\n var c;\n return !!((c = o.user) != null && c.isAnonymous);\n },\n isSignedIn: (o) => !!o.user && !!o.refreshToken.value && !!o.accessToken.value,\n noToken: (o) => !o.refreshToken.value,\n hasRefreshToken: (o) => !!o.refreshToken.value,\n isAutoRefreshDisabled: () => !d,\n refreshTimerShouldRefresh: (o) => {\n const { expiresAt: a } = o.accessToken;\n return a ? o.refreshTimer.lastAttempt ? Date.now() - o.refreshTimer.lastAttempt.getTime() > me * 1e3 : u && Date.now() - o.refreshTimer.startedAt.getTime() > u * 1e3 ? !0 : a.getTime() - Date.now() - 1e3 * he <= 0 : !1;\n },\n shouldRetryImportToken: (o, a) => a.data.error.status === Z || a.data.error.status >= 500,\n unverified: (o, { data: { error: a } }) => a.status === 401 && (a.message === \"Email is not verified\" || a.error === \"unverified-user\"),\n hasSession: (o, a) => {\n var c;\n return !!((c = a.data) != null && c.session);\n },\n hasMfaTicket: (o, a) => {\n var c;\n return !!((c = a.data) != null && c.mfa);\n }\n },\n services: {\n signInPassword: (o, { email: a, password: c }) => k(a) ? q(c) ? f(\"/signin/email-password\", {\n email: a,\n password: c\n }) : Promise.reject({ error: G }) : Promise.reject({ error: R }),\n passwordlessSms: (o, { phoneNumber: a, options: c }) => {\n var l;\n return B(a) ? (l = o.user) != null && l.isAnonymous ? (console.warn(\n \"Deanonymisation from a phone number is not yet implemented in hasura-auth\"\n ), f(\n \"/user/deanonymize\",\n {\n signInMethod: \"passwordless\",\n connection: \"sms\",\n phoneNumber: a,\n options: v(e, c)\n },\n {\n headers: {\n authorization: `Bearer ${o.accessToken.value}`\n }\n }\n )) : f(\"/signin/passwordless/sms\", {\n phoneNumber: a,\n options: v(e, c)\n }) : Promise.reject({ error: Y });\n },\n passwordlessSmsOtp: (o, { phoneNumber: a, otp: c }) => B(a) ? f(\"/signin/passwordless/sms/otp\", {\n phoneNumber: a,\n otp: c\n }) : Promise.reject({ error: Y }),\n passwordlessEmail: (o, { email: a, options: c }) => {\n var l;\n return k(a) ? (l = o.user) != null && l.isAnonymous ? f(\n \"/user/deanonymize\",\n {\n signInMethod: \"passwordless\",\n connection: \"email\",\n email: a,\n options: v(e, c)\n },\n {\n headers: {\n authorization: `Bearer ${o.accessToken.value}`\n }\n }\n ) : f(\"/signin/passwordless/email\", {\n email: a,\n options: v(e, c)\n }) : Promise.reject({ error: R });\n },\n signInAnonymous: (o) => f(\"/signin/anonymous\"),\n signInMfaTotp: (o, a) => {\n var l;\n const c = a.ticket || ((l = o.mfa) == null ? void 0 : l.ticket);\n return c ? Re(c) ? f(\"/signin/mfa/totp\", {\n ticket: c,\n otp: a.otp\n }) : Promise.reject({ error: pe }) : Promise.reject({ error: we });\n },\n signInSecurityKeyEmail: async (o, { email: a }) => {\n if (!k(a))\n throw new D(R);\n const c = await f(\n \"/signin/webauthn\",\n { email: a }\n );\n let l;\n try {\n l = await de(c);\n } catch (T) {\n throw new D(T);\n }\n return f(\"/signin/webauthn/verify\", { email: a, credential: l });\n },\n refreshToken: async (o, a) => {\n const c = a.type === \"TRY_TOKEN\" ? a.token : o.refreshToken.value;\n return { session: await f(\"/token\", {\n refreshToken: c\n }), error: null };\n },\n signout: (o, a) => f(\"/signout\", {\n refreshToken: o.refreshToken.value,\n all: !!a.all\n }),\n signUpEmailPassword: async (o, { email: a, password: c, options: l }) => {\n var T;\n return k(a) ? q(c) ? (T = o.user) != null && T.isAnonymous ? f(\n \"/user/deanonymize\",\n {\n signInMethod: \"email-password\",\n email: a,\n password: c,\n options: v(e, l)\n },\n {\n headers: {\n authorization: `Bearer ${o.accessToken.value}`\n }\n }\n ) : f(\"/signup/email-password\", {\n email: a,\n password: c,\n options: v(e, l)\n }) : Promise.reject({ error: G }) : Promise.reject({ error: R });\n },\n signUpSecurityKey: async (o, { email: a, options: c }) => {\n if (!k(a))\n return Promise.reject({ error: R });\n const l = c == null ? void 0 : c.nickname;\n l && delete c.nickname;\n const T = await f(\n \"/signup/webauthn\",\n { email: a, options: c }\n );\n let $;\n try {\n $ = await X(T);\n } catch (ee) {\n throw new D(ee);\n }\n return f(\"/signup/webauthn/verify\", {\n credential: $,\n options: {\n redirectTo: c == null ? void 0 : c.redirectTo,\n nickname: l\n }\n });\n },\n importRefreshToken: async () => {\n let o = null;\n if (E) {\n const c = x(\"refreshToken\") || null;\n if (c)\n try {\n return { session: await f(\"/token\", {\n refreshToken: c\n }), error: null };\n } catch (l) {\n o = l.error;\n }\n else {\n const l = x(\"error\");\n if (l)\n return Promise.reject({\n session: null,\n error: {\n status: y,\n error: l,\n message: x(\"errorDescription\") || l\n }\n });\n }\n }\n const a = await p(C);\n if (a)\n try {\n return { session: await f(\"/token\", {\n refreshToken: a\n }), error: null };\n } catch (c) {\n o = c.error;\n }\n return o ? Promise.reject({ error: o, session: null }) : { error: null, session: null };\n }\n },\n delays: {\n RETRY_IMPORT_TOKEN_DELAY: ({ importTokenAttempts: o }) => o < 5 ? 1e3 : 5e3\n }\n }\n );\n};\nclass _e {\n constructor({\n clientStorageType: e = \"web\",\n autoSignIn: t = !0,\n autoRefreshToken: s = !0,\n start: n = !0,\n backendUrl: i,\n clientUrl: u,\n devTools: d,\n ...E\n }) {\n A(this, \"backendUrl\");\n A(this, \"clientUrl\");\n A(this, \"machine\");\n A(this, \"_interpreter\");\n A(this, \"_channel\");\n A(this, \"_subscriptions\", /* @__PURE__ */ new Set());\n if (this.backendUrl = i, this.clientUrl = u, this.machine = ke({\n ...E,\n backendUrl: i,\n clientUrl: u,\n clientStorageType: e,\n autoSignIn: t,\n autoRefreshToken: s\n }), n && (this.interpreter = te(this.machine, { devTools: d }), this.interpreter.start()), typeof window < \"u\" && t)\n try {\n this._channel = new BroadcastChannel(\"nhost\"), this._channel.addEventListener(\"message\", (p) => {\n var S;\n const m = (S = this.interpreter) == null ? void 0 : S.getSnapshot().context.refreshToken.value;\n this.interpreter && p.data !== m && this.interpreter.send(\"TRY_TOKEN\", { token: p.data });\n });\n } catch {\n }\n }\n get interpreter() {\n return this._interpreter;\n }\n set interpreter(e) {\n this._interpreter = e, e && this._subscriptions.forEach((t) => t(this));\n }\n onStart(e) {\n this.interpreter ? e(this) : this._subscriptions.add(e);\n }\n}\nconst F = typeof window < \"u\";\nclass Oe extends _e {\n constructor({\n ...e\n }) {\n super({\n ...e,\n autoSignIn: F && e.autoSignIn,\n autoRefreshToken: F && e.autoRefreshToken,\n clientStorageType: \"cookie\"\n });\n }\n}\nconst Ye = Oe, je = async ({ backendUrl: r, interpreter: e }, t) => {\n const s = O(r);\n try {\n const { data: n } = await s.post(\n \"/user/webauthn/add\",\n {},\n {\n headers: {\n authorization: `Bearer ${e == null ? void 0 : e.getSnapshot().context.accessToken.value}`\n }\n }\n );\n let i;\n try {\n i = await X(n);\n } catch (d) {\n throw new D(d);\n }\n const { data: u } = await s.post(\n \"/user/webauthn/verify\",\n { credential: i, nickname: t },\n {\n headers: {\n authorization: `Bearer ${e == null ? void 0 : e.getSnapshot().context.accessToken.value}`\n }\n }\n );\n return { key: u, isError: !1, error: null, isSuccess: !0 };\n } catch (n) {\n const { error: i } = n;\n return { isError: !0, error: i, isSuccess: !1 };\n }\n}, Be = async (r, e, t) => new Promise((s) => {\n r.send(\"REQUEST\", {\n email: e,\n options: t\n }), r.onTransition((n) => {\n n.matches({ idle: \"error\" }) ? s({ error: n.context.error, isError: !0, needsEmailVerification: !1 }) : n.matches({ idle: \"success\" }) && s({ error: null, isError: !1, needsEmailVerification: !0 });\n });\n}), Fe = async (r, e, t) => new Promise((s) => {\n r.send(\"REQUEST\", {\n password: e,\n ticket: t\n }), r.onTransition((n) => {\n n.matches({ idle: \"error\" }) ? s({ error: n.context.error, isError: !0, isSuccess: !1 }) : n.matches({ idle: \"success\" }) && s({ error: null, isError: !1, isSuccess: !0 });\n });\n}), ze = (r) => new Promise((e) => {\n r.send(\"GENERATE\"), r.onTransition((t) => {\n t.matches(\"generated\") ? e({\n error: null,\n isError: !1,\n isGenerated: !0,\n qrCodeDataUrl: t.context.imageUrl || \"\"\n }) : t.matches({ idle: \"error\" }) && e({\n error: t.context.error || null,\n isError: !0,\n isGenerated: !1,\n qrCodeDataUrl: \"\"\n });\n });\n}), He = (r, e) => new Promise((t) => {\n r.send(\"ACTIVATE\", {\n activeMfaType: \"totp\",\n code: e\n }), r.onTransition((s) => {\n s.matches({ generated: \"activated\" }) ? t({ error: null, isActivated: !0, isError: !1 }) : s.matches({ generated: { idle: \"error\" } }) && t({ error: s.context.error, isActivated: !1, isError: !0 });\n });\n}), Qe = async (r, e, t) => new Promise((s) => {\n r.send(\"REQUEST\", {\n email: e,\n options: t\n }), r.onTransition((n) => {\n n.matches({ idle: \"error\" }) ? s({ error: n.context.error, isError: !0, isSent: !1 }) : n.matches({ idle: \"success\" }) && s({ error: null, isError: !1, isSent: !0 });\n });\n}), Xe = (r, e, t) => new Promise((s) => {\n r.send(\"REQUEST\", {\n email: e,\n options: t\n }), r.onTransition((n) => {\n n.matches({ idle: \"error\" }) ? s({ error: n.context.error, isError: !0, isSent: !1 }) : n.matches({ idle: \"success\" }) && s({ error: null, isError: !1, isSent: !0 });\n });\n}), Ze = (r) => new Promise((e) => {\n const { changed: t } = r.send(\"SIGNIN_ANONYMOUS\");\n t || e({\n isSuccess: !1,\n isError: !0,\n error: I,\n user: null,\n accessToken: null\n }), r.onTransition((s) => {\n s.matches({ authentication: \"signedIn\" }) && e({\n isSuccess: !0,\n isError: !1,\n error: null,\n user: s.context.user,\n accessToken: s.context.accessToken.value\n }), s.matches({ authentication: { signedOut: \"failed\" } }) && e({\n isSuccess: !1,\n isError: !0,\n error: s.context.errors.authentication || null,\n user: null,\n accessToken: null\n });\n });\n}), Je = (r, e, t) => new Promise((s) => {\n const { changed: n, context: i } = r.send(\"SIGNIN_PASSWORD\", {\n email: e,\n password: t\n });\n if (!n)\n return s({\n accessToken: i.accessToken.value,\n error: I,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n needsMfaOtp: !1,\n mfa: null,\n user: i.user\n });\n r.onTransition((u) => {\n u.matches({\n authentication: { signedOut: \"noErrors\" },\n registration: { incomplete: \"needsEmailVerification\" }\n }) ? s({\n accessToken: null,\n error: null,\n isError: !1,\n isSuccess: !1,\n needsEmailVerification: !0,\n needsMfaOtp: !1,\n mfa: null,\n user: null\n }) : u.matches({ authentication: { signedOut: \"needsMfa\" } }) ? s({\n accessToken: null,\n error: null,\n isError: !1,\n isSuccess: !1,\n needsEmailVerification: !1,\n needsMfaOtp: !0,\n mfa: u.context.mfa,\n user: null\n }) : u.matches({ authentication: { signedOut: \"failed\" } }) ? s({\n accessToken: null,\n error: u.context.errors.authentication || null,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n needsMfaOtp: !1,\n mfa: null,\n user: null\n }) : u.matches({ authentication: \"signedIn\" }) && s({\n accessToken: u.context.accessToken.value,\n error: null,\n isError: !1,\n isSuccess: !0,\n needsEmailVerification: !1,\n needsMfaOtp: !1,\n mfa: null,\n user: u.context.user\n });\n });\n}), er = (r, e, t) => new Promise((s) => {\n const { changed: n } = r.send(\"PASSWORDLESS_EMAIL\", {\n email: e,\n options: t\n });\n if (!n)\n return s({\n error: I,\n isError: !0,\n isSuccess: !1\n });\n r.onTransition((i) => {\n i.matches(\"registration.incomplete.failed\") ? s({\n error: i.context.errors.registration || null,\n isError: !0,\n isSuccess: !1\n }) : i.matches({\n authentication: { signedOut: \"noErrors\" },\n registration: { incomplete: \"needsEmailVerification\" }\n }) && s({ error: null, isError: !1, isSuccess: !0 });\n });\n}), rr = (r, e) => new Promise((t) => {\n const { changed: s, context: n } = r.send({ type: \"SIGNIN_SECURITY_KEY_EMAIL\", email: e });\n if (!s)\n return t({\n accessToken: n.accessToken.value,\n error: I,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n user: n.user\n });\n r.onTransition((i) => {\n i.matches({\n authentication: { signedOut: \"noErrors\" },\n registration: { incomplete: \"needsEmailVerification\" }\n }) ? t({\n accessToken: null,\n error: null,\n isError: !1,\n isSuccess: !1,\n needsEmailVerification: !0,\n user: null\n }) : i.matches({ authentication: { signedOut: \"failed\" } }) ? t({\n accessToken: null,\n error: i.context.errors.authentication || null,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n user: null\n }) : i.matches({ authentication: \"signedIn\" }) && t({\n accessToken: i.context.accessToken.value,\n error: null,\n isError: !1,\n isSuccess: !0,\n needsEmailVerification: !1,\n user: i.context.user\n });\n });\n}), sr = (r, e, t) => new Promise((s) => {\n const { changed: n, context: i } = r.send(\"SIGNIN_MFA_TOTP\", {\n otp: e,\n ticket: t\n });\n if (!n)\n return s({\n accessToken: i.accessToken.value,\n error: I,\n isError: !0,\n isSuccess: !1,\n user: i.user\n });\n r.onTransition((u) => {\n u.matches({ authentication: { signedOut: \"failed\" } }) ? s({\n accessToken: null,\n error: u.context.errors.authentication || null,\n isError: !0,\n isSuccess: !1,\n user: null\n }) : u.matches({ authentication: \"signedIn\" }) && s({\n accessToken: u.context.accessToken.value,\n error: null,\n isError: !1,\n isSuccess: !0,\n user: u.context.user\n });\n });\n}), tr = (r, e, t) => new Promise((s) => {\n const { changed: n } = r.send(\"PASSWORDLESS_SMS\", { phoneNumber: e, options: t });\n if (!n)\n return s({\n error: I,\n isError: !0,\n isSuccess: !1,\n needsOtp: !1\n });\n r.onTransition((i) => {\n i.matches(\"registration.incomplete.needsOtp\") ? s({\n error: null,\n isError: !1,\n isSuccess: !1,\n needsOtp: !0\n }) : i.matches(\"registration.incomplete.failed\") && s({\n error: i.context.errors.authentication || null,\n isError: !0,\n isSuccess: !1,\n needsOtp: !1\n });\n });\n}), nr = (r, e, t) => new Promise((s) => {\n const { changed: n } = r.send({ type: \"PASSWORDLESS_SMS_OTP\", phoneNumber: e, otp: t });\n if (!n)\n return s({\n error: I,\n isError: !0,\n isSuccess: !1,\n user: null,\n accessToken: null\n });\n r.onTransition((i) => {\n i.matches({ authentication: \"signedIn\" }) ? s({\n error: null,\n isError: !1,\n isSuccess: !0,\n user: i.context.user,\n accessToken: i.context.accessToken.value\n }) : i.matches({ registration: { incomplete: \"failed\" } }) && s({\n error: i.context.errors.authentication || null,\n isError: !0,\n isSuccess: !1,\n user: null,\n accessToken: null\n });\n });\n}), ir = async (r, e) => new Promise((t) => {\n const { event: s } = r.send(\"SIGNOUT\", { all: e });\n if (s.type !== \"SIGNED_OUT\")\n return t({ isSuccess: !1, isError: !0, error: Te });\n r.onTransition((n) => {\n n.matches({ authentication: { signedOut: \"success\" } }) ? t({ isSuccess: !0, isError: !1, error: null }) : n.matches(\"authentication.signedOut.failed\") && t({ isSuccess: !1, isError: !0, error: n.context.errors.signout || null });\n });\n}), or = (r, e, t, s) => new Promise((n) => {\n const { changed: i, context: u } = r.send(\"SIGNUP_EMAIL_PASSWORD\", {\n email: e,\n password: t,\n options: s\n });\n if (!i)\n return n({\n error: I,\n accessToken: u.accessToken.value,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n user: u.user\n });\n r.onTransition((d) => {\n d.matches(\"registration.incomplete.failed\") ? n({\n accessToken: null,\n error: d.context.errors.registration || null,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n user: null\n }) : d.matches({\n authentication: { signedOut: \"noErrors\" },\n registration: { incomplete: \"needsEmailVerification\" }\n }) ? n({\n accessToken: null,\n error: null,\n isError: !1,\n isSuccess: !1,\n needsEmailVerification: !0,\n user: null\n }) : d.matches({ authentication: \"signedIn\", registration: \"complete\" }) && n({\n accessToken: d.context.accessToken.value,\n error: null,\n isError: !1,\n isSuccess: !0,\n needsEmailVerification: !1,\n user: d.context.user\n });\n });\n}), ar = (r, e, t) => new Promise((s) => {\n const { changed: n, context: i } = r.send(\"SIGNUP_SECURITY_KEY\", {\n email: e,\n options: t\n });\n if (!n)\n return s({\n error: I,\n accessToken: i.accessToken.value,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n user: i.user\n });\n r.onTransition((u) => {\n u.matches(\"registration.incomplete.failed\") ? s({\n accessToken: null,\n error: u.context.errors.registration || null,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n user: null\n }) : u.matches({\n authentication: { signedOut: \"noErrors\" },\n registration: { incomplete: \"needsEmailVerification\" }\n }) ? s({\n accessToken: null,\n error: null,\n isError: !1,\n isSuccess: !1,\n needsEmailVerification: !0,\n user: null\n }) : u.matches({ authentication: \"signedIn\", registration: \"complete\" }) && s({\n accessToken: u.context.accessToken.value,\n error: null,\n isError: !1,\n isSuccess: !0,\n needsEmailVerification: !1,\n user: u.context.user\n });\n });\n});\nexport {\n _e as AuthClient,\n Ye as AuthClientSSR,\n Oe as AuthCookieClient,\n D as CodifiedError,\n Me as EMAIL_NEEDS_VERIFICATION,\n R as INVALID_EMAIL_ERROR,\n ge as INVALID_MFA_CODE_ERROR,\n pe as INVALID_MFA_TICKET_ERROR,\n Ee as INVALID_MFA_TYPE_ERROR,\n G as INVALID_PASSWORD_ERROR,\n Y as INVALID_PHONE_NUMBER_ERROR,\n Ve as INVALID_REFRESH_TOKEN,\n Ke as INVALID_SIGN_IN_METHOD,\n fe as MIN_PASSWORD_LENGTH,\n Z as NETWORK_ERROR_CODE,\n N as NHOST_JWT_EXPIRES_AT_KEY,\n C as NHOST_REFRESH_TOKEN_KEY,\n we as NO_MFA_TICKET_ERROR,\n xe as NO_REFRESH_TOKEN,\n J as OTHER_ERROR_CODE,\n me as REFRESH_TOKEN_RETRY_INTERVAL,\n P as STATE_ERROR_CODE,\n De as TOKEN_REFRESHER_RUNNING_ERROR,\n he as TOKEN_REFRESH_MARGIN,\n I as USER_ALREADY_SIGNED_IN,\n Ue as USER_NOT_ANONYMOUS,\n Te as USER_UNAUTHENTICATED,\n y as VALIDATION_ERROR_CODE,\n He as activateMfaPromise,\n je as addSecurityKeyPromise,\n Be as changeEmailPromise,\n Fe as changePasswordPromise,\n ke as createAuthMachine,\n Le as createChangeEmailMachine,\n Ge as createChangePasswordMachine,\n qe as createEnableMfaMachine,\n We as createResetPasswordMachine,\n $e as createSendVerificationEmailMachine,\n Ae as encodeQueryParameters,\n ze as generateQrCodePromise,\n x as getParameterByName,\n ve as localStorageGetter,\n Ie as localStorageSetter,\n j as removeParameterFromWindow,\n Qe as resetPasswordPromise,\n v as rewriteRedirectTo,\n Xe as sendVerificationEmailPromise,\n Ze as signInAnonymousPromise,\n Je as signInEmailPasswordPromise,\n er as signInEmailPasswordlessPromise,\n rr as signInEmailSecurityKeyPromise,\n sr as signInMfaTotpPromise,\n nr as signInSmsPasswordlessOtpPromise,\n tr as signInSmsPasswordlessPromise,\n ir as signOutPromise,\n or as signUpEmailPasswordPromise,\n ar as signUpEmailSecurityKeyPromise\n};\n//# sourceMappingURL=index.esm.js.map\n","var m = Object.defineProperty;\nvar E = (i, e, t) => e in i ? m(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t;\nvar u = (i, e, t) => (E(i, typeof e != \"symbol\" ? e + \"\" : e, t), t);\nimport _ from \"jwt-decode\";\nimport { interpret as c } from \"xstate\";\nimport { AuthClient as S, signUpEmailSecurityKeyPromise as I, signUpEmailPasswordPromise as d, signInAnonymousPromise as N, encodeQueryParameters as P, rewriteRedirectTo as A, signInEmailPasswordPromise as k, EMAIL_NEEDS_VERIFICATION as R, signInEmailSecurityKeyPromise as U, signInEmailPasswordlessPromise as f, signInSmsPasswordlessOtpPromise as O, signInSmsPasswordlessPromise as w, signInMfaTotpPromise as C, INVALID_SIGN_IN_METHOD as b, signOutPromise as K, createResetPasswordMachine as M, resetPasswordPromise as v, createChangePasswordMachine as D, changePasswordPromise as H, createSendVerificationEmailMachine as V, sendVerificationEmailPromise as G, createChangeEmailMachine as x, changeEmailPromise as F, addSecurityKeyPromise as L, NO_REFRESH_TOKEN as $, TOKEN_REFRESHER_RUNNING_ERROR as j, INVALID_REFRESH_TOKEN as z } from \"@nhost/core\";\nconst W = () => typeof window < \"u\", l = (i) => !i || !i.accessToken.value || !i.refreshToken.value || !i.accessToken.expiresAt || !i.user ? null : {\n accessToken: i.accessToken.value,\n accessTokenExpiresIn: (i.accessToken.expiresAt.getTime() - Date.now()) / 1e3,\n refreshToken: i.refreshToken.value,\n user: i.user\n}, a = ({\n accessToken: i,\n isError: e,\n user: t,\n error: n\n}) => e ? {\n session: null,\n error: n\n} : t && i ? {\n session: { accessToken: i, accessTokenExpiresIn: 0, refreshToken: \"\", user: t },\n error: null\n} : { session: null, error: null };\nclass q {\n constructor({\n url: e,\n autoRefreshToken: t = !0,\n autoSignIn: n = !0,\n autoLogin: r,\n clientStorage: s,\n clientStorageType: o,\n clientStorageGetter: g,\n clientStorageSetter: y,\n refreshIntervalTime: p,\n start: T = !0\n }) {\n u(this, \"_client\");\n u(this, \"url\");\n var h;\n this.url = e, this._client = new S({\n backendUrl: e,\n clientUrl: typeof window < \"u\" && ((h = window.location) == null ? void 0 : h.origin) || \"\",\n autoRefreshToken: t,\n autoSignIn: typeof r == \"boolean\" ? r : n,\n start: T,\n clientStorage: s,\n clientStorageType: o,\n clientStorageGetter: g,\n clientStorageSetter: y,\n refreshIntervalTime: p\n });\n }\n async signUp(e) {\n const t = await this.waitUntilReady(), { email: n, options: r } = e;\n return \"securityKey\" in e ? a(\n await I(t, n, r)\n ) : a(\n await d(t, n, e.password, r)\n );\n }\n async signIn(e) {\n const t = await this.waitUntilReady();\n if (!e) {\n const n = await N(t);\n return { ...a(n), mfa: null };\n }\n if (\"provider\" in e) {\n const { provider: n, options: r } = e, s = P(\n `${this._client.backendUrl}/signin/provider/${n}`,\n A(this._client.clientUrl, r)\n );\n return W() && (window.location.href = s), { providerUrl: s, provider: n, session: null, mfa: null, error: null };\n }\n if (\"email\" in e && \"password\" in e) {\n const n = await k(t, e.email, e.password);\n return n.needsEmailVerification ? { session: null, mfa: null, error: R } : n.needsMfaOtp ? {\n session: null,\n mfa: n.mfa,\n error: null\n } : { ...a(n), mfa: null };\n }\n if (\"email\" in e && \"securityKey\" in e) {\n if (e.securityKey !== !0)\n throw Error(\"securityKey must be true\");\n const n = await U(t, e.email);\n return { ...a(n), mfa: null };\n }\n if (\"email\" in e) {\n const { email: n, options: r } = e, { error: s } = await f(t, n, r);\n return {\n session: null,\n mfa: null,\n error: s\n };\n }\n if (\"phoneNumber\" in e && \"otp\" in e) {\n const n = await O(t, e.phoneNumber, e.otp);\n return { ...a(n), mfa: null };\n }\n if (\"phoneNumber\" in e) {\n const { error: n } = await w(\n t,\n e.phoneNumber,\n e.options\n );\n return { error: n, mfa: null, session: null };\n }\n if (\"otp\" in e) {\n const n = await C(t, e.otp, e.ticket);\n return { ...a(n), mfa: null };\n }\n return { error: b, mfa: null, session: null };\n }\n async signOut(e) {\n const t = await this.waitUntilReady(), { error: n } = await K(t, e == null ? void 0 : e.all);\n return { error: n };\n }\n async resetPassword({ email: e, options: t }) {\n const n = c(M(this._client)).start(), { error: r } = await v(n, e, t);\n return { error: r };\n }\n async changePassword({\n newPassword: e,\n ticket: t\n }) {\n const n = c(D(this._client)).start(), { error: r } = await H(n, e, t);\n return { error: r };\n }\n async sendVerificationEmail({\n email: e,\n options: t\n }) {\n const n = c(V(this._client)).start(), { error: r } = await G(n, e, t);\n return { error: r };\n }\n async changeEmail({ newEmail: e, options: t }) {\n const n = c(x(this._client)).start(), { error: r } = await F(n, e, t);\n return { error: r };\n }\n async deanonymize(e) {\n const t = await this.waitUntilReady();\n if (e.signInMethod === \"passwordless\") {\n if (e.connection === \"email\") {\n const { error: n } = await f(\n t,\n e.email,\n e.options\n );\n return { error: n };\n }\n if (e.connection === \"sms\") {\n const { error: n } = await w(\n t,\n e.phoneNumber,\n e.options\n );\n return { error: n };\n }\n }\n if (e.signInMethod === \"email-password\") {\n const { error: n } = await d(\n t,\n e.email,\n e.password,\n e.options\n );\n return { error: n };\n }\n throw Error(\"Unknown deanonymization method\");\n }\n async addSecurityKey(e) {\n const { error: t, key: n } = await L(this._client, e);\n return { error: t, key: n };\n }\n onTokenChanged(e) {\n const t = (n) => n.onTransition(({ event: r, context: s }) => {\n r.type === \"TOKEN_CHANGED\" && e(l(s));\n });\n if (this._client.interpreter) {\n const n = t(this._client.interpreter);\n return () => n.stop();\n } else\n return this._client.onStart((n) => {\n t(n.interpreter);\n }), () => {\n console.log(\n \"onTokenChanged was added before the interpreter started. Cannot unsubscribe listener.\"\n );\n };\n }\n onAuthStateChanged(e) {\n const t = (n) => n.onTransition(({ event: r, context: s }) => {\n (r.type === \"SIGNED_IN\" || r.type === \"SIGNED_OUT\") && e(r.type, l(s));\n });\n if (this._client.interpreter) {\n const n = t(this._client.interpreter);\n return () => n.stop();\n } else\n return this._client.onStart((n) => {\n t(n.interpreter);\n }), () => {\n console.log(\n \"onAuthStateChanged was added before the interpreter started. Cannot unsubscribe listener.\"\n );\n };\n }\n isAuthenticated() {\n var e;\n return !!((e = this._client.interpreter) != null && e.getSnapshot().matches({ authentication: \"signedIn\" }));\n }\n async isAuthenticatedAsync() {\n return (await this.waitUntilReady()).getSnapshot().matches({ authentication: \"signedIn\" });\n }\n getAuthenticationStatus() {\n var t;\n const e = ((t = this.client.interpreter) == null ? void 0 : t.getSnapshot().context.importTokenAttempts) || 0;\n return this.isReady() ? { isAuthenticated: this.isAuthenticated(), isLoading: !1, connectionAttempts: e } : {\n isAuthenticated: !1,\n isLoading: !0,\n connectionAttempts: e\n };\n }\n getJWTToken() {\n return this.getAccessToken();\n }\n getAccessToken() {\n var e, t;\n return (t = (e = this._client.interpreter) == null ? void 0 : e.getSnapshot().context.accessToken.value) != null ? t : void 0;\n }\n getDecodedAccessToken() {\n const e = this.getAccessToken();\n return e ? _(e) : null;\n }\n getHasuraClaims() {\n var e;\n return ((e = this.getDecodedAccessToken()) == null ? void 0 : e[\"https://hasura.io/jwt/claims\"]) || null;\n }\n getHasuraClaim(e) {\n var t;\n return ((t = this.getHasuraClaims()) == null ? void 0 : t[e.startsWith(\"x-hasura-\") ? e : `x-hasura-${e}`]) || null;\n }\n async refreshSession(e) {\n try {\n const t = await this.waitUntilReady();\n return new Promise((n) => {\n const r = e || t.getSnapshot().context.refreshToken.value;\n if (!r)\n return n({ session: null, error: $ });\n const { changed: s } = t.send(\"TRY_TOKEN\", { token: r });\n if (!s)\n return n({ session: null, error: j });\n t.onTransition((o) => {\n o.matches({ token: { idle: \"error\" } }) ? n({\n session: null,\n error: z\n }) : o.event.type === \"TOKEN_CHANGED\" && n({ session: l(o.context), error: null });\n });\n });\n } catch (t) {\n return { session: null, error: t.message };\n }\n }\n getSession() {\n var e, t;\n return l((t = (e = this._client.interpreter) == null ? void 0 : e.getSnapshot()) == null ? void 0 : t.context);\n }\n getUser() {\n var e, t, n;\n return ((n = (t = (e = this._client.interpreter) == null ? void 0 : e.getSnapshot()) == null ? void 0 : t.context) == null ? void 0 : n.user) || null;\n }\n waitUntilReady() {\n const t = this._client.interpreter;\n if (!t)\n throw Error(\"Auth interpreter not set\");\n return t.getSnapshot().hasTag(\"loading\") ? new Promise((n, r) => {\n let s = setTimeout(\n () => r(`The state machine is not yet ready after ${15} seconds.`),\n 15e3\n );\n t.onTransition((o) => {\n if (!o.hasTag(\"loading\"))\n return clearTimeout(s), n(t);\n });\n }) : Promise.resolve(t);\n }\n isReady() {\n var e, t;\n return !((t = (e = this._client.interpreter) == null ? void 0 : e.getSnapshot()) != null && t.hasTag(\"loading\"));\n }\n get client() {\n return this._client;\n }\n}\nexport {\n q as HasuraAuthClient\n};\n//# sourceMappingURL=index.esm.js.map\n","import { NhostClientConstructorParams } from './types'\n\n// a port can be a number or a placeholder string with leading and trailing double underscores, f.e. \"8080\" or \"__PLACEHOLDER_NAME__\"\nconst LOCALHOST_REGEX = /^((?<protocol>http[s]?):\\/\\/)?(?<host>localhost)(:(?<port>(\\d+|__\\w+__)))?$/\n\n/**\n * `backendUrl` should now be used only when self-hosting\n * `subdomain` and `region` should be used instead when using the Nhost platform\n * `\n * @param backendOrSubdomain\n * @param service\n * @returns\n */\nexport function urlFromSubdomain(\n backendOrSubdomain: Pick<NhostClientConstructorParams, 'region' | 'subdomain' | 'backendUrl'>,\n service: string\n): string {\n const { backendUrl, subdomain, region } = backendOrSubdomain\n\n if (backendUrl) {\n return `${backendUrl}/v1/${service}`\n }\n\n if (!subdomain) {\n throw new Error('Either `backendUrl` or `subdomain` must be set.')\n }\n\n // check if subdomain is [http[s]://]localhost[:port]\n const subdomainLocalhostFound = subdomain.match(LOCALHOST_REGEX)\n if (subdomainLocalhostFound?.groups) {\n const { protocol = 'http', host, port = 1337 } = subdomainLocalhostFound.groups\n\n const urlFromEnv = getValueFromEnv(service)\n if (urlFromEnv) {\n return urlFromEnv\n }\n return `${protocol}://${host}:${port}/v1/${service}`\n }\n\n if (!region) {\n throw new Error('`region` must be set when using a `subdomain` other than \"localhost\".')\n }\n\n return `https://${subdomain}.${service}.${region}.nhost.run/v1`\n}\n\n/**\n *\n * @returns whether the code is running in a browser\n */\nfunction isBrowser(): boolean {\n return typeof window !== 'undefined'\n}\n\n/**\n *\n * @returns whether the code is running in a Node.js environment\n */\nfunction environmentIsAvailable() {\n return typeof process !== 'undefined' && process.env\n}\n\n/**\n *\n * @param service auth | storage | graphql | functions\n * @returns the service's url if the corresponding env var is set\n * NHOST_${service}_URL\n */\nfunction getValueFromEnv(service: string) {\n if (isBrowser() || !environmentIsAvailable()) {\n return null\n }\n\n return process.env[`NHOST_${service.toUpperCase()}_URL`]\n}\n","import { HasuraAuthClient } from '@nhost/hasura-auth-js'\n\nimport { urlFromSubdomain } from '../utils/helpers'\nimport { NhostClientConstructorParams } from '../utils/types'\n\n/**\n * Creates a client for Auth from either a subdomain or a URL\n */\nexport function createAuthClient(params: NhostClientConstructorParams) {\n const authUrl =\n 'subdomain' in params || 'backendUrl' in params\n ? urlFromSubdomain(params, 'auth')\n : params.authUrl\n\n if (!authUrl) {\n throw new Error('Please provide `subdomain` or `authUrl`.')\n }\n\n return new HasuraAuthClient({ url: authUrl, ...params })\n}\n","import axios, {\n AxiosInstance,\n AxiosRequestConfig,\n AxiosResponse,\n RawAxiosRequestHeaders\n} from 'axios'\n\nimport { urlFromSubdomain } from '../utils/helpers'\nimport { FunctionCallResponse, NhostClientConstructorParams } from '../utils/types'\nexport interface NhostFunctionsConstructorParams {\n /**\n * Serverless Functions endpoint.\n */\n url: string\n /**\n * Admin secret. When set, it is sent as an `x-hasura-admin-secret` header for all requests.\n */\n adminSecret?: string\n}\n\n/**\n * Creates a client for Functions from either a subdomain or a URL\n */\nexport function createFunctionsClient(params: NhostClientConstructorParams) {\n const functionsUrl =\n 'subdomain' in params || 'backendUrl' in params\n ? urlFromSubdomain(params, 'functions')\n : params.functionsUrl\n\n if (!functionsUrl) {\n throw new Error('Please provide `subdomain` or `functionsUrl`.')\n }\n\n return new NhostFunctionsClient({ url: functionsUrl, ...params })\n}\n\n/**\n * @alias Functions\n */\nexport class NhostFunctionsClient {\n readonly url: string\n private instance: AxiosInstance\n private accessToken: string | null\n private adminSecret?: string\n\n constructor(params: NhostFunctionsConstructorParams) {\n const { url, adminSecret } = params\n\n this.url = url\n this.accessToken = null\n this.adminSecret = adminSecret\n this.instance = axios.create({\n baseURL: url\n })\n }\n\n /**\n * Use `nhost.functions.call` to call (sending a POST request to) a serverless function.\n *\n * @example\n * ```ts\n * await nhost.functions.call('send-welcome-email', { email: 'joe@example.com', name: 'Joe Doe' })\n * ```\n *\n * @docs https://docs.nhost.io/reference/javascript/nhost-js/functions/call\n */\n async call<T = unknown, D = any>(\n url: string,\n data: D,\n config?: AxiosRequestConfig\n ): Promise<FunctionCallResponse<T>> {\n const headers = {\n ...this.generateAccessTokenHeaders(),\n ...config?.headers\n }\n\n let res\n try {\n res = await this.instance.post<T, AxiosResponse<T>, D>(url, data, { ...config, headers })\n } catch (error) {\n if (error instanceof Error) {\n return { res: null, error }\n }\n }\n\n if (!res) {\n return {\n res: null,\n error: new Error('Unable to make post request to funtion')\n }\n }\n\n return { res, error: null }\n }\n\n /**\n * Use `nhost.functions.setAccessToken` to a set an access token to be used in subsequent functions requests. Note that if you're signin in users with `nhost.auth.signIn()` the access token will be set automatically.\n *\n * @example\n * ```ts\n * nhost.functions.setAccessToken('some-access-token')\n * ```\n *\n * @docs https://docs.nhost.io/reference/javascript/nhost-js/functions/set-access-token\n */\n setAccessToken(accessToken: string | undefined) {\n if (!accessToken) {\n this.accessToken = null\n return\n }\n\n this.accessToken = accessToken\n }\n\n private generateAccessTokenHeaders(): RawAxiosRequestHeaders {\n if (this.adminSecret) {\n return {\n 'x-hasura-admin-secret': this.adminSecret\n }\n }\n if (this.accessToken) {\n return {\n Authorization: `Bearer ${this.accessToken}`\n }\n }\n return {}\n }\n}\n","import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'\nimport { DocumentNode, print } from 'graphql'\n\nimport { urlFromSubdomain } from '../utils/helpers'\nimport {\n GraphqlRequestResponse,\n GraphqlResponse,\n NhostClientConstructorParams\n} from '../utils/types'\n\nexport interface NhostGraphqlConstructorParams {\n /**\n * GraphQL endpoint.\n */\n url: string\n /**\n * Admin secret. When set, it is sent as an `x-hasura-admin-secret` header for all requests.\n */\n adminSecret?: string\n}\n\n/**\n * Creates a client for GraphQL from either a subdomain or a URL\n */\nexport function createGraphqlClient(params: NhostClientConstructorParams) {\n const graphqlUrl =\n 'subdomain' in params || 'backendUrl' in params\n ? urlFromSubdomain(params, 'graphql')\n : params.graphqlUrl\n\n if (!graphqlUrl) {\n throw new Error('Please provide `subdomain` or `graphqlUrl`.')\n }\n\n return new NhostGraphqlClient({ url: graphqlUrl, ...params })\n}\n\n/**\n * @alias GraphQL\n */\nexport class NhostGraphqlClient {\n readonly url: string\n private instance: AxiosInstance\n private accessToken: string | null\n private adminSecret?: string\n\n constructor(params: NhostGraphqlConstructorParams) {\n const { url, adminSecret } = params\n\n this.url = url\n this.accessToken = null\n this.adminSecret = adminSecret\n this.instance = axios.create({\n baseURL: url\n })\n }\n\n /**\n * Use `nhost.graphql.request` to send a GraphQL request. For more serious GraphQL usage we recommend using a GraphQL client such as Apollo Client (https://www.apollographql.com/docs/react).\n *\n * @example\n * ```ts\n * const CUSTOMERS = gql`\n * query {\n * customers {\n * id\n * name\n * }\n * }\n * `\n * const { data, error } = await nhost.graphql.request(CUSTOMERS)\n * ```\n *\n * @docs https://docs.nhost.io/reference/javascript/nhost-js/graphql/request\n */\n async request<T = any, V = any>(\n document: string | DocumentNode,\n variables?: V,\n config?: AxiosRequestConfig\n ): Promise<GraphqlRequestResponse<T>> {\n // add auth headers if any\n const headers = {\n ...this.generateAccessTokenHeaders(),\n ...config?.headers,\n 'Accept-Encoding': '*'\n }\n\n try {\n const operationName = ''\n const res = await this.instance.post<GraphqlResponse<T>>(\n '',\n {\n operationName: operationName || undefined,\n query: typeof document === 'string' ? document : print(document),\n variables\n },\n { ...config, headers }\n )\n\n const responseData = res.data\n const { data } = responseData\n\n if (responseData.errors) {\n return {\n data: null,\n error: responseData.errors\n }\n }\n\n if (typeof data !== 'object' || Array.isArray(data) || data === null) {\n return {\n data: null,\n error: new Error('incorrect response data from GraphQL server')\n }\n }\n\n return { data, error: null }\n } catch (error) {\n if (error instanceof Error) {\n return { data: null, error }\n }\n console.error(error)\n return {\n data: null,\n error: new Error('Unable to get do GraphQL request')\n }\n }\n }\n\n /**\n * Use `nhost.graphql.getUrl` to get the GraphQL URL.\n *\n * @example\n * ```ts\n * const url = nhost.graphql.getUrl();\n * ```\n *\n * @docs https://docs.nhost.io/reference/javascript/nhost-js/graphql/get-url\n */\n getUrl(): string {\n return this.url\n }\n\n /**\n * Use `nhost.graphql.setAccessToken` to a set an access token to be used in subsequent graphql requests. Note that if you're signin in users with `nhost.auth.signIn()` the access token will be set automatically.\n *\n * @example\n * ```ts\n * nhost.graphql.setAccessToken('some-access-token')\n * ```\n *\n * @docs https://docs.nhost.io/reference/javascript/nhost-js/graphql/set-access-token\n */\n setAccessToken(accessToken: string | undefined) {\n if (!accessToken) {\n this.accessToken = null\n return\n }\n\n this.accessToken = accessToken\n }\n\n private generateAccessTokenHeaders(): Record<string, string> {\n if (this.adminSecret) {\n return {\n 'x-hasura-admin-secret': this.adminSecret\n }\n }\n if (this.accessToken) {\n return {\n Authorization: `Bearer ${this.accessToken}`\n }\n }\n return {}\n }\n}\n","var L = Object.defineProperty;\nvar _ = (r, e, t) => e in r ? L(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;\nvar c = (r, e, t) => (_(r, typeof e != \"symbol\" ? e + \"\" : e, t), t);\nimport D from \"axios\";\nimport R from \"form-data\";\nimport { createMachine as O, assign as n, spawn as T, send as f, actions as I } from \"xstate\";\nclass k {\n constructor({ url: e }) {\n c(this, \"url\");\n c(this, \"httpClient\");\n c(this, \"accessToken\");\n c(this, \"adminSecret\");\n this.url = e, this.httpClient = D.create({\n baseURL: this.url\n });\n }\n async upload(e) {\n const { formData: t } = e;\n try {\n return { fileMetadata: (await this.httpClient.post(\"/files\", t, {\n headers: {\n ...this.generateUploadHeaders(e),\n ...this.generateAuthHeaders(),\n \"Content-Type\": \"multipart/form-data\"\n }\n })).data, error: null };\n } catch (s) {\n return { fileMetadata: null, error: s };\n }\n }\n async getPresignedUrl(e) {\n try {\n const { fileId: t } = e;\n return { presignedUrl: (await this.httpClient.get(`/files/${t}/presignedurl`, {\n headers: {\n ...this.generateAuthHeaders()\n }\n })).data, error: null };\n } catch (t) {\n return { presignedUrl: null, error: t };\n }\n }\n async delete(e) {\n try {\n const { fileId: t } = e;\n return await this.httpClient.delete(`/files/${t}`, {\n headers: {\n ...this.generateAuthHeaders()\n }\n }), { error: null };\n } catch (t) {\n return { error: t };\n }\n }\n setAccessToken(e) {\n return this.accessToken = e, this;\n }\n setAdminSecret(e) {\n return this.adminSecret = e, this;\n }\n generateUploadHeaders(e) {\n const { bucketId: t, name: s, id: a } = e, i = {};\n return t && (i[\"x-nhost-bucket-id\"] = t), a && (i[\"x-nhost-file-id\"] = a), s && (i[\"x-nhost-file-name\"] = s), i;\n }\n generateAuthHeaders() {\n return !this.adminSecret && !this.accessToken ? null : this.adminSecret ? {\n \"x-hasura-admin-secret\": this.adminSecret\n } : {\n Authorization: `Bearer ${this.accessToken}`\n };\n }\n}\nclass F {\n constructor({ url: e, adminSecret: t }) {\n c(this, \"url\");\n c(this, \"api\");\n this.url = e, this.api = new k({ url: e }), this.setAdminSecret(t);\n }\n async upload(e) {\n let t;\n \"file\" in e ? (t = new R(), t.append(\"file\", e.file)) : t = e.formData;\n const { fileMetadata: s, error: a } = await this.api.upload({\n ...e,\n formData: t\n });\n return a ? { fileMetadata: null, error: a } : s ? { fileMetadata: s, error: null } : { fileMetadata: null, error: new Error(\"Invalid file returned\") };\n }\n getUrl(e) {\n return this.getPublicUrl(e);\n }\n getPublicUrl(e) {\n const { fileId: t } = e;\n return `${this.url}/files/${t}`;\n }\n async getPresignedUrl(e) {\n const { presignedUrl: t, error: s } = await this.api.getPresignedUrl(e);\n return s ? { presignedUrl: null, error: s } : t ? { presignedUrl: t, error: null } : { presignedUrl: null, error: new Error(\"Invalid file id\") };\n }\n async delete(e) {\n const { error: t } = await this.api.delete(e);\n return t ? { error: t } : { error: null };\n }\n setAccessToken(e) {\n return this.api.setAccessToken(e), this;\n }\n setAdminSecret(e) {\n return this.api.setAdminSecret(e), this;\n }\n}\nconst S = { progress: null, loaded: 0, error: null }, C = () => O(\n {\n predictableActionArguments: !0,\n schema: {\n context: {},\n events: {}\n },\n tsTypes: {},\n context: { ...S },\n initial: \"idle\",\n on: {\n DESTROY: { actions: \"sendDestroy\", target: \"stopped\" }\n },\n states: {\n idle: {\n on: {\n ADD: { actions: \"addFile\" },\n UPLOAD: { cond: \"hasFile\", target: \"uploading\" }\n }\n },\n uploading: {\n entry: \"resetProgress\",\n on: {\n UPLOAD_PROGRESS: { actions: [\"incrementProgress\", \"sendProgress\"] },\n UPLOAD_DONE: \"uploaded\",\n UPLOAD_ERROR: \"error\",\n CANCEL: \"idle\"\n },\n invoke: { src: \"uploadFile\" }\n },\n uploaded: { entry: [\"setFileMetadata\", \"sendDone\"] },\n error: { entry: [\"setError\", \"sendError\"] },\n stopped: { type: \"final\" }\n }\n },\n {\n guards: {\n hasFile: (r, e) => !!r.file || !!e.file\n },\n actions: {\n incrementProgress: n({\n loaded: (r, { loaded: e }) => e,\n progress: (r, { progress: e }) => e\n }),\n setFileMetadata: n({\n id: (r, { id: e }) => e,\n bucketId: (r, { bucketId: e }) => e,\n progress: (r) => 100\n }),\n setError: n({ error: (r, { error: e }) => e }),\n sendProgress: () => {\n },\n sendError: () => {\n },\n sendDestroy: () => {\n },\n sendDone: () => {\n },\n resetProgress: n({ progress: (r) => null, loaded: (r) => 0 }),\n addFile: n({\n file: (r, { file: e }) => e,\n bucketId: (r, { bucketId: e }) => e,\n id: (r, { id: e }) => e\n })\n },\n services: {\n uploadFile: (r, e) => (t) => {\n const s = {\n \"Content-Type\": \"multipart/form-data\"\n }, a = e.id || r.id;\n a && (s[\"x-nhost-file-id\"] = a);\n const i = e.bucketId || r.bucketId;\n i && (s[\"x-nhost-bucket-id\"] = i);\n const d = e.file || r.file;\n s[\"x-nhost-file-name\"] = e.name || d.name;\n const u = new FormData();\n u.append(\"file\", d), e.adminSecret && (s[\"x-hasura-admin-secret\"] = e.adminSecret), e.accessToken && (s.Authorization = `Bearer ${e.accessToken}`);\n let h = 0;\n const A = new AbortController();\n return D.post(e.url + \"/files\", u, {\n headers: s,\n signal: A.signal,\n onUploadProgress: (o) => {\n const l = o.total ? Math.round(o.loaded * d.size / o.total) : 0, p = l - h;\n h = l, t({\n type: \"UPLOAD_PROGRESS\",\n progress: o.total ? Math.round(l * 100 / o.total) : 0,\n loaded: l,\n additions: p\n });\n }\n }).then(({ data: { id: o, bucketId: l } }) => {\n t({ type: \"UPLOAD_DONE\", id: o, bucketId: l });\n }).catch(({ response: o, message: l }) => {\n var p, P, U, E, y;\n t({\n type: \"UPLOAD_ERROR\",\n error: {\n status: (p = o == null ? void 0 : o.status) != null ? p : 0,\n message: ((U = (P = o == null ? void 0 : o.data) == null ? void 0 : P.error) == null ? void 0 : U.message) || l,\n error: ((y = (E = o == null ? void 0 : o.data) == null ? void 0 : E.error) == null ? void 0 : y.message) || l\n }\n });\n }), () => {\n A.abort();\n };\n }\n }\n }\n), { pure: m, sendParent: g } = I, N = () => O(\n {\n id: \"files-list\",\n schema: {\n context: {},\n events: {}\n },\n tsTypes: {},\n predictableActionArguments: !0,\n context: {\n progress: null,\n files: [],\n loaded: 0,\n total: 0\n },\n initial: \"idle\",\n on: {\n UPLOAD: { cond: \"hasFileToDownload\", actions: \"addItem\", target: \"uploading\" },\n ADD: { actions: \"addItem\" },\n REMOVE: { actions: \"removeItem\" }\n },\n states: {\n idle: {\n entry: [\"resetProgress\", \"resetLoaded\", \"resetTotal\"],\n on: {\n CLEAR: { actions: \"clearList\", target: \"idle\" }\n }\n },\n uploading: {\n entry: [\"upload\", \"startProgress\", \"resetLoaded\", \"resetTotal\"],\n on: {\n UPLOAD_PROGRESS: { actions: [\"incrementProgress\"] },\n UPLOAD_DONE: [\n { cond: \"isAllUploaded\", target: \"uploaded\" },\n { cond: \"isAllUploadedOrError\", target: \"error\" }\n ],\n UPLOAD_ERROR: [\n { cond: \"isAllUploaded\", target: \"uploaded\" },\n { cond: \"isAllUploadedOrError\", target: \"error\" }\n ],\n CANCEL: { actions: \"cancel\", target: \"idle\" }\n }\n },\n uploaded: {\n entry: \"setUploaded\",\n on: {\n CLEAR: { actions: \"clearList\", target: \"idle\" }\n }\n },\n error: {\n on: {\n CLEAR: { actions: \"clearList\", target: \"idle\" }\n }\n }\n }\n },\n {\n guards: {\n hasFileToDownload: (r, e) => r.files.some((t) => t.getSnapshot().matches(\"idle\")) || !!e.files,\n isAllUploaded: (r) => r.files.every((e) => {\n var t;\n return (t = e.getSnapshot()) == null ? void 0 : t.matches(\"uploaded\");\n }),\n isAllUploadedOrError: (r) => r.files.every((e) => {\n const t = e.getSnapshot();\n return (t == null ? void 0 : t.matches(\"error\")) || (t == null ? void 0 : t.matches(\"uploaded\"));\n })\n },\n actions: {\n incrementProgress: n((r, e) => {\n const t = r.loaded + e.additions, s = Math.round(t * 100 / r.total);\n return { ...r, loaded: t, progress: s };\n }),\n setUploaded: n({\n progress: (r) => 100,\n loaded: ({ files: r }) => r.map((e) => e.getSnapshot()).filter((e) => e.matches(\"uploaded\")).reduce((e, t) => {\n var s;\n return e + ((s = t.context.file) == null ? void 0 : s.size);\n }, 0)\n }),\n resetTotal: n({\n total: ({ files: r }) => r.map((e) => e.getSnapshot()).filter((e) => !e.matches(\"uploaded\")).reduce((e, t) => {\n var s;\n return e + ((s = t.context.file) == null ? void 0 : s.size);\n }, 0)\n }),\n resetLoaded: n({ loaded: (r) => 0 }),\n startProgress: n({ progress: (r) => 0 }),\n resetProgress: n({ progress: (r) => null }),\n addItem: n((r, { files: e, bucketId: t }) => {\n const s = e ? Array.isArray(e) ? e : \"length\" in e ? Array.from(e) : [e] : [], a = r.total + s.reduce((d, u) => d + u.size, 0), i = Math.round(r.loaded * 100 / a);\n return {\n files: [\n ...r.files,\n ...s.map(\n (d) => T(\n C().withConfig({\n actions: {\n sendProgress: g((u, { additions: h }) => ({\n type: \"UPLOAD_PROGRESS\",\n additions: h\n })),\n sendDone: g(\"UPLOAD_DONE\"),\n sendError: g(\"UPLOAD_ERROR\"),\n sendDestroy: g(\"REMOVE\")\n }\n }).withContext({ ...S, file: d, bucketId: t }),\n { sync: !0 }\n )\n )\n ],\n total: a,\n loaded: r.loaded,\n progress: i\n };\n }),\n removeItem: n({\n files: (r) => r.files.filter((e) => {\n var s, a;\n const t = (s = e.getSnapshot()) == null ? void 0 : s.matches(\"stopped\");\n return t && ((a = e.stop) == null || a.call(e)), !t;\n })\n }),\n clearList: m(\n (r) => r.files.map((e) => f({ type: \"DESTROY\" }, { to: e.id }))\n ),\n upload: m((r, e) => r.files.map((t) => f(e, { to: t.id }))),\n cancel: m(\n (r) => r.files.map((e) => f({ type: \"CANCEL\" }, { to: e.id }))\n )\n }\n }\n), H = async (r, e, t) => new Promise((s) => {\n e.send({\n type: \"UPLOAD\",\n url: r.storage.url,\n accessToken: r.auth.getAccessToken(),\n adminSecret: r.adminSecret,\n ...t\n }), e.subscribe((a) => {\n var i;\n a.matches(\"error\") ? s({\n error: a.context.error,\n isError: !0,\n isUploaded: !1\n }) : a.matches(\"uploaded\") && s({\n error: null,\n isError: !1,\n isUploaded: !0,\n id: a.context.id,\n bucketId: a.context.id,\n name: (i = a.context.file) == null ? void 0 : i.name\n });\n });\n}), $ = async (r, e, t) => new Promise((s) => {\n e.send({\n type: \"UPLOAD\",\n url: r.storage.url,\n accessToken: r.auth.getAccessToken(),\n adminSecret: r.adminSecret,\n bucketId: t == null ? void 0 : t.bucketId,\n files: t == null ? void 0 : t.files\n }), e.onTransition((a) => {\n a.matches(\"error\") ? s({\n errors: a.context.files.filter((i) => {\n var d;\n return (d = i.getSnapshot()) == null ? void 0 : d.context.error;\n }),\n isError: !0,\n files: []\n }) : a.matches(\"uploaded\") && s({ errors: [], isError: !1, files: a.context.files });\n });\n});\nexport {\n k as HasuraStorageApi,\n F as HasuraStorageClient,\n S as INITIAL_FILE_CONTEXT,\n C as createFileUploadMachine,\n N as createMultipleFilesUploadMachine,\n H as uploadFilePromise,\n $ as uploadMultipleFilesPromise\n};\n//# sourceMappingURL=index.esm.js.map\n","import { HasuraStorageClient } from '@nhost/hasura-storage-js'\n\nimport { urlFromSubdomain } from '../utils/helpers'\nimport { NhostClientConstructorParams } from '../utils/types'\n\n/**\n * Creates a client for Storage from either a subdomain or a URL\n */\nexport function createStorageClient(params: NhostClientConstructorParams) {\n const storageUrl =\n 'subdomain' in params || 'backendUrl' in params\n ? urlFromSubdomain(params, 'storage')\n : params.storageUrl\n\n if (!storageUrl) {\n throw new Error('Please provide `subdomain` or `storageUrl`.')\n }\n\n return new HasuraStorageClient({ url: storageUrl, ...params })\n}\n","import { HasuraAuthClient } from '@nhost/hasura-auth-js'\nimport { HasuraStorageClient } from '@nhost/hasura-storage-js'\n\nimport { NhostClientConstructorParams } from '../utils/types'\n\nimport { createAuthClient } from './auth'\nimport { createFunctionsClient, NhostFunctionsClient } from './functions'\nimport { createGraphqlClient, NhostGraphqlClient } from './graphql'\nimport { createStorageClient } from './storage'\n\nexport const createNhostClient = (params: NhostClientConstructorParams) => new NhostClient(params)\nexport class NhostClient {\n auth: HasuraAuthClient\n storage: HasuraStorageClient\n functions: NhostFunctionsClient\n graphql: NhostGraphqlClient\n private _adminSecret?: string\n readonly devTools?: boolean\n\n /**\n * Nhost Client\n *\n * @example\n * ```ts\n * const nhost = new NhostClient({ subdomain, region });\n * ```\n *\n * @docs https://docs.nhost.io/reference/javascript\n */\n constructor({\n refreshIntervalTime,\n clientStorageGetter,\n clientStorageSetter,\n clientStorage,\n clientStorageType,\n autoRefreshToken,\n autoSignIn,\n adminSecret,\n devTools,\n start = true,\n ...urlParams\n }: NhostClientConstructorParams) {\n // * Set clients for all services\n this.auth = createAuthClient({\n refreshIntervalTime,\n clientStorageGetter,\n clientStorageSetter,\n clientStorage,\n clientStorageType,\n autoRefreshToken,\n autoSignIn,\n start,\n ...urlParams\n })\n this.storage = createStorageClient({ adminSecret, ...urlParams })\n this.functions = createFunctionsClient({ adminSecret, ...urlParams })\n this.graphql = createGraphqlClient({ adminSecret, ...urlParams })\n\n this.auth.client.onStart(() => {\n // * Set current token if token is already accessable\n const accessToken = this.auth.getAccessToken()\n this.storage.setAccessToken(accessToken)\n this.functions.setAccessToken(accessToken)\n this.graphql.setAccessToken(accessToken)\n // * Set access token when signing out\n this.auth.onAuthStateChanged((_event, session) => {\n if (_event === 'SIGNED_OUT') {\n this.storage.setAccessToken(undefined)\n this.functions.setAccessToken(undefined)\n this.graphql.setAccessToken(undefined)\n }\n })\n\n // * Update access token for clients, including when signin in\n this.auth.onTokenChanged((session) => {\n const accessToken = session?.accessToken\n this.storage.setAccessToken(accessToken)\n this.functions.setAccessToken(accessToken)\n this.graphql.setAccessToken(accessToken)\n })\n })\n this._adminSecret = adminSecret\n this.devTools = devTools\n }\n\n get adminSecret(): string | undefined {\n return this._adminSecret\n }\n\n set adminSecret(newValue: string | undefined) {\n this._adminSecret = newValue\n this.storage.setAdminSecret(newValue)\n // TODO inconsistent API: storage can change admin secret, but functions/graphql cannot\n // this.functions.setAdminSecret(newValue)\n // this.graphql.setAdminSecret(newValue)\n }\n}\n"],"names":["e","r","t","n","o","a","i","c","__assign","s","p","__rest","__values","m","__read","ar","error","__spreadArray","to","from","pack","l","ActionTypes","SpecialTargets","start","stop","raise","send","cancel","nullEvent","assign","log","init","invoke","errorPlatform","update","choose","pure","STATE_DELIMITER","EMPTY_ACTIVITY_MAP","DEFAULT_GUARD_TYPE","TARGETLESS_KEY","IS_PRODUCTION","_a","matchesState","parentStateId","childStateId","delimiter","parentStateValue","toStateValue","childStateValue","isString","key","getEventType","event","toStatePath","stateId","isArray","isStateLike","state","stateValue","pathToStateValue","statePath","value","marker","mapValues","collection","iteratee","result","collectionKeys","mapFilterValues","predicate","e_1","_b","_c","item","e_1_1","path","props","object","e_2","props_1","props_1_1","prop","e_2_1","nestedPath","accessorProp","e_3","props_2","props_2_1","e_3_1","toStatePaths","flatten","subStateValue","subPath","array","toArrayStrict","toArray","mapContext","mapper","context","_event","e_5","isFunction","subMapper","e_5_1","isBuiltInEvent","eventType","isPromiseLike","isBehavior","partition","items","e_6","truthy","falsy","items_1","items_1_1","e_6_1","updateHistoryStates","hist","subHist","updateHistoryValue","updateContext","assignActions","warn","updatedContext","acc","assignAction","e_7","assignment","meta","partialUpdate","propAssignment","e_7_1","condition","message","args","toGuard","guardMap","isObservable","symbolObservable","isMachine","isActor","toEventObject","payload","toSCXMLEvent","scxmlEvent","eventObject","toTransitionConfigArray","configLike","transitions","transitionLike","normalizeTarget","target","reportUnhandledExceptionOnInvocation","originalError","currentError","id","originalStackTrace","stackTrace","evaluateGuard","machine","guard","guards","guardMeta","condFn","toInvokeSource","src","toObserver","nextHandler","errorHandler","completionHandler","noop","isObserver","self","createInvokeId","stateNodeId","index","initEvent","getActionFunction","actionType","actionFunctionMap","toActionObject","action","actionObject","exec","toActionObjects","actions","subAction","toActivityDefinition","raise$1","resolveRaise","options","send$1","resolveSend","ctx","delaysMap","resolvedEvent","resolvedDelay","configDelay","resolvedTarget","resolveLog","sendId","cancel$1","activity","activityDef","actorRef","resolveStop","actorRefOrString","resolvedActorRef","assign$1","after","delayRef","idSuffix","done","data","type","doneInvoke","pluckAssigns","actionBlocks","actionBlocks_1","actionBlocks_1_1","block","resolveActions","currentState","currentContext","predictableExec","preserveActionOrder","preservedContexts","deferredToBlockEnd","handleAction","sendAction","log$1","resolved","choose$1","chooseAction","matchedActions","resolvedActionsFromChoose","resolvedContextFromChoose","pure$1","resolvedActionsFromPure","resolvedContext","stop$1","resolvedActionObject","exec_1","contextIndex_1","_ctx","_i","processBlock","resolvedActions","block_1","block_1_1","provide","service","fn","createNullActor","createInvocableActor","invokeDefinition","invokeSrc","serviceCreator","resolvedData","tempActor","createDeferredActor","entity","initialState_1","isSpawnedActor","toActorRef","actorRefLike","isLeafNode","stateNode","getAllChildren","getChildren","sn","getAllStateNodes","stateNodes","getConfiguration","prevStateNodes","e_4","_d","prevConfiguration","prevAdjList","getAdjList","configuration","configuration_1","configuration_1_1","adjList","configuration_2","configuration_2_1","_e","_f","child","configuration_3","configuration_3_1","e_4_1","getValueFromAdj","baseNode","childStateNodes","childStateNode","csn","configuration_4","configuration_4_1","getValue","rootNode","config","has","iterable","member","nextEvents","isInFinalState","getMeta","getTagsFromConfiguration","stateValuesEqual","b","aKeys","bKeys","isStateConfig","bindActionToState","boundAction","State","_this","valueKeys","tags","jsonValues","tag","transitionData","defaultOptions","Scheduler","callback","task","nextCallback","children","sessionIdIndex","registry","actor","getGlobal","getDevTools","global","registerService","devTools","spawnBehavior","behavior","observers","mailbox","flushing","flush","event_1","actorCtx","observer","next","handleError","complete","DEFAULT_SPAWN_OPTIONS","InterpreterStatus","Interpreter","nextState","immediate","isParent","error$1","actionOrExec","err","invokeSource","autoForward","source","label","resolvedOptions","clock","logger","parent","resolvedId","actionsConfig","listener","_g","_h","_j","_k","contextListener","finalChildStateNode","doneData","_l","_m","nextListenerOrObserver","_","completeListener","completeOnce","initialState","resolvedState","e_8","e_9","e_10","e_8_1","_o","e_9_1","_p","_q","e_10_1","scheduler","exitActions","newState","events","e_11","batchChanged","batchedActions","_loop_1","events_1","events_1_1","e_11_1","nextEvent","e_12","e_12_1","childId","name","childService","doneEvent","promise","canceled","response","errorData","errorEvent","unsubscribed","receivers","listeners","emitted","receive","callbackStop","newListener","receiver","subscription","implementation","dispose","devToolsOptions","ms","interpret","interpreter","simpleSrc","toInvokeDefinition","invokeConfig","invokeDef","NULL_EVENT","STATE_IDENTIFIER","WILDCARD","EMPTY_OBJECT","isStateId","str","createDefaultOptions","validateArrayifiedTransitions","hasNonLastUnguardedTarget","transition","eventText","StateNode","_context","_stateInfo","stateConfig","order","dfs","invokeId","activities","services","delays","map","eventName","transient","candidates","sameEventType","afterConfig","mutateEntryExit","delay","delayedTransitions","configTransition","resolvedTransition","delayedTransition","initialStateValue","subStateKeys","subStateNodes","subStateKey","stateFromConfig","transitionMap","subStateNode","stateTransitions","enabledTransitions","st","willTransition","entryNodes","nextStateNodes","selectedTransition","candidate","cond","stateIn","isInState","guardPassed","allNextStateNodes","isInternal","reentryNodes","targetNode","nodes","possibleAncestor","resolvedConfig","isDone","prevState","prevConfig","resolvedConfig_1","resolvedConfig_1_1","prevConfig_1","prevConfig_1_1","doneEvents","grandparent","parentNode","entryStates","exitStates","entryActions","invokeActions","stopActions","resolvedStateValue","stateTransition","originalEvent","currentActions","resolvedConfiguration","historyValue","start$1","raisedEvents","nonRaisedActions","didUpdateContext","history","hasAlwaysTransitions","maybeNextState","raisedEvent","changed","stateKey","resolvedStateId","arrayStatePath","currentStateNode","stateIdentifier","historyConfig","relativeStateId","resolve","initialStateNodePaths","initialPath","relativePath","childStatePath","relativeStateValue","historyTarget","relativeChildPath","subHistoryValue","subStatePath","childStateIds","states","_target","isInternalTarget","targetStateNode","transitionConfig","normalizedTarget","internal","onConfig","wildcardConfigs","strictTransitionConfigs_1","transitionConfigArray","eventlessConfig","doneConfig","settleTransitions","formattedTransitions","delayedTransitions_1","delayedTransitions_1_1","warned","createMachine","bind","thisArg","toString","getPrototypeOf","kindOf","cache","thing","kindOfTest","typeOfTest","isUndefined","isBuffer","val","isArrayBuffer","isArrayBufferView","isNumber","isObject","isBoolean","isPlainObject","prototype","isDate","isFile","isBlob","isFileList","isStream","isFormData","pattern","isURLSearchParams","trim","forEach","obj","allOwnKeys","keys","len","findKey","_key","_global","this","isContextDefined","merge","caseless","assignValue","targetKey","extend","stripBOM","content","inherits","constructor","superConstructor","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","arr","isTypedArray","TypedArray","forEachEntry","iterator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","p1","p2","hasOwnProperty","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","utils","arrayOrString","define","defaultValue","stack","visit","reducedValue","AxiosError","code","request","customProps","axiosError","browser","isVisitable","removeBrackets","renderKey","dots","token","isFlatArray","predicates","isSpecCompliant","toFormData","formData","envFormData","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","h","InterceptorManager$1","transitionalDefaults","URLSearchParams$1","FormData$1","isStandardBrowserEnv","product","platform","URLSearchParams","FormData","toURLEncodedForm","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","DEFAULT_CONTENT_TYPE","stringifySafely","rawValue","parser","defaults","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","defaults$1","ignoreDuplicateOf","parseHeaders","rawHeaders","parsed","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","first","computed","accessors","defineAccessor","AxiosHeaders$1","transformData","fns","isCancel","CanceledError","httpAdapter","settle","reject","validateStatus","cookies","expires","domain","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","isURLSameOrigin","msie","urlParsingNode","originURL","resolveURL","href","requestURL","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","knownAdapters","requestData","requestHeaders","responseType","onCanceled","username","password","fullPath","onloadend","responseHeaders","timeoutErrorMessage","xsrfValue","protocol","adapters","length","nameOrAdapter","adapter","throwIfCancellationRequested","dispatchRequest","reason","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","VERSION","validators","deprecatedWarnings","validators$1","validator","version","formatMessage","opt","desc","opts","assertOptions","schema","allowUnknown","Axios","instanceConfig","configOrUrl","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","Axios$1","CancelToken","executor","resolvePromise","onfulfilled","_resolve","CancelToken$1","spread","isAxiosError","createInstance","defaultConfig","instance","axios","promises","D$1","defaultConverter","converter","defaultAttributes","set","attributes","stringifiedAttributes","attributeName","get","jar","parts","foundKey","api","re","se","A","ie","W","u","d","z","H","Q","g","oe","ae","M","X","E","ce","ue","le","de","S","f","C","N","fe","he","me","Z","J","y","P","D","R","G","Y","pe","we","xe","De","I","Te","Me","Ve","Ke","O","ne","V","U","ye","Se","ve","L","Ie","Ae","v","x","j","k","q","B","Re","K","Le","Ge","We","$e","ke","T","$","ee","te","je","Be","Fe","Qe","Xe","Ze","Je","er","rr","sr","tr","nr","ir","or","F","LOCALHOST_REGEX","urlFromSubdomain","backendOrSubdomain","backendUrl","subdomain","region","subdomainLocalhostFound","host","port","urlFromEnv","getValueFromEnv","isBrowser","environmentIsAvailable","createAuthClient","authUrl","HasuraAuthClient","createFunctionsClient","functionsUrl","NhostFunctionsClient","__publicField","adminSecret","res","accessToken","createGraphqlClient","graphqlUrl","NhostGraphqlClient","document","variables","operationName","responseData","print","createStorageClient","storageUrl","HasuraStorageClient","createNhostClient","NhostClient","refreshIntervalTime","clientStorageGetter","clientStorageSetter","clientStorage","clientStorageType","autoRefreshToken","autoSignIn","urlParams","session","newValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nhost-js.umd.js","sources":["../../../node_modules/.pnpm/jwt-decode@3.1.2/node_modules/jwt-decode/build/jwt-decode.esm.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/_virtual/_tslib.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/types.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/actionTypes.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/constants.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/environment.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/utils.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/actions.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/serviceScope.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/Actor.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/stateUtils.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/State.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/scheduler.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/registry.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/devTools.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/behaviors.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/interpreter.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/invokeUtils.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/StateNode.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/Machine.js","../../../node_modules/.pnpm/xstate@4.33.6/node_modules/xstate/es/index.js","../../../node_modules/.pnpm/js-cookie@3.0.1/node_modules/js-cookie/dist/js.cookie.mjs","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/bind.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/utils.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/AxiosError.js","../../../node_modules/.pnpm/form-data@4.0.0/node_modules/form-data/lib/browser.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/toFormData.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/buildURL.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/InterceptorManager.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/defaults/transitional.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/platform/browser/classes/FormData.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/platform/browser/index.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/formDataToJSON.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/defaults/index.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/parseHeaders.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/AxiosHeaders.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/transformData.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/cancel/isCancel.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/cancel/CanceledError.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/null.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/settle.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/cookies.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/combineURLs.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/buildFullPath.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/parseProtocol.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/speedometer.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/adapters/xhr.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/adapters/adapters.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/dispatchRequest.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/mergeConfig.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/env/data.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/validator.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/core/Axios.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/cancel/CancelToken.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/spread.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/helpers/isAxiosError.js","../../../node_modules/.pnpm/axios@1.2.0/node_modules/axios/lib/axios.js","../../hasura-auth-js/dist/index.esm.js","../src/utils/helpers.ts","../src/clients/auth.ts","../src/clients/functions.ts","../src/clients/graphql.ts","../../hasura-storage-js/dist/index.esm.js","../src/clients/storage.ts","../src/clients/nhost.ts"],"sourcesContent":["function e(e){this.message=e}e.prototype=new Error,e.prototype.name=\"InvalidCharacterError\";var r=\"undefined\"!=typeof window&&window.atob&&window.atob.bind(window)||function(r){var t=String(r).replace(/=+$/,\"\");if(t.length%4==1)throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");for(var n,o,a=0,i=0,c=\"\";o=t.charAt(i++);~o&&(n=a%4?64*n+o:o,a++%4)?c+=String.fromCharCode(255&n>>(-2*a&6)):0)o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);return c};function t(e){var t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Illegal base64url string!\"}try{return function(e){return decodeURIComponent(r(e).replace(/(.)/g,(function(e,r){var t=r.charCodeAt(0).toString(16).toUpperCase();return t.length<2&&(t=\"0\"+t),\"%\"+t})))}(t)}catch(e){return r(t)}}function n(e){this.message=e}function o(e,r){if(\"string\"!=typeof e)throw new n(\"Invalid token specified\");var o=!0===(r=r||{}).header?0:1;try{return JSON.parse(t(e.split(\".\")[o]))}catch(e){throw new n(\"Invalid token specified: \"+e.message)}}n.prototype=new Error,n.prototype.name=\"InvalidTokenError\";export default o;export{n as InvalidTokenError};\n//# sourceMappingURL=jwt-decode.esm.js.map\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\n\nexport { __assign, __read, __rest, __spreadArray, __values };\n","var ActionTypes;\n\n(function (ActionTypes) {\n ActionTypes[\"Start\"] = \"xstate.start\";\n ActionTypes[\"Stop\"] = \"xstate.stop\";\n ActionTypes[\"Raise\"] = \"xstate.raise\";\n ActionTypes[\"Send\"] = \"xstate.send\";\n ActionTypes[\"Cancel\"] = \"xstate.cancel\";\n ActionTypes[\"NullEvent\"] = \"\";\n ActionTypes[\"Assign\"] = \"xstate.assign\";\n ActionTypes[\"After\"] = \"xstate.after\";\n ActionTypes[\"DoneState\"] = \"done.state\";\n ActionTypes[\"DoneInvoke\"] = \"done.invoke\";\n ActionTypes[\"Log\"] = \"xstate.log\";\n ActionTypes[\"Init\"] = \"xstate.init\";\n ActionTypes[\"Invoke\"] = \"xstate.invoke\";\n ActionTypes[\"ErrorExecution\"] = \"error.execution\";\n ActionTypes[\"ErrorCommunication\"] = \"error.communication\";\n ActionTypes[\"ErrorPlatform\"] = \"error.platform\";\n ActionTypes[\"ErrorCustom\"] = \"xstate.error\";\n ActionTypes[\"Update\"] = \"xstate.update\";\n ActionTypes[\"Pure\"] = \"xstate.pure\";\n ActionTypes[\"Choose\"] = \"xstate.choose\";\n})(ActionTypes || (ActionTypes = {}));\n\nvar SpecialTargets;\n\n(function (SpecialTargets) {\n SpecialTargets[\"Parent\"] = \"#_parent\";\n SpecialTargets[\"Internal\"] = \"#_internal\";\n})(SpecialTargets || (SpecialTargets = {}));\n\nexport { ActionTypes, SpecialTargets };\n","import { ActionTypes } from './types.js';\n\nvar start = ActionTypes.Start;\nvar stop = ActionTypes.Stop;\nvar raise = ActionTypes.Raise;\nvar send = ActionTypes.Send;\nvar cancel = ActionTypes.Cancel;\nvar nullEvent = ActionTypes.NullEvent;\nvar assign = ActionTypes.Assign;\nvar after = ActionTypes.After;\nvar doneState = ActionTypes.DoneState;\nvar log = ActionTypes.Log;\nvar init = ActionTypes.Init;\nvar invoke = ActionTypes.Invoke;\nvar errorExecution = ActionTypes.ErrorExecution;\nvar errorPlatform = ActionTypes.ErrorPlatform;\nvar error = ActionTypes.ErrorCustom;\nvar update = ActionTypes.Update;\nvar choose = ActionTypes.Choose;\nvar pure = ActionTypes.Pure;\n\nexport { after, assign, cancel, choose, doneState, error, errorExecution, errorPlatform, init, invoke, log, nullEvent, pure, raise, send, start, stop, update };\n","var STATE_DELIMITER = '.';\nvar EMPTY_ACTIVITY_MAP = {};\nvar DEFAULT_GUARD_TYPE = 'xstate.guard';\nvar TARGETLESS_KEY = '';\n\nexport { DEFAULT_GUARD_TYPE, EMPTY_ACTIVITY_MAP, STATE_DELIMITER, TARGETLESS_KEY };\n","var IS_PRODUCTION = process.env.NODE_ENV === 'production';\n\nexport { IS_PRODUCTION };\n","import { __values, __spreadArray, __read, __assign } from './_virtual/_tslib.js';\nimport { DEFAULT_GUARD_TYPE, TARGETLESS_KEY, STATE_DELIMITER } from './constants.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar _a;\nfunction keys(value) {\n return Object.keys(value);\n}\nfunction matchesState(parentStateId, childStateId, delimiter) {\n if (delimiter === void 0) {\n delimiter = STATE_DELIMITER;\n }\n\n var parentStateValue = toStateValue(parentStateId, delimiter);\n var childStateValue = toStateValue(childStateId, delimiter);\n\n if (isString(childStateValue)) {\n if (isString(parentStateValue)) {\n return childStateValue === parentStateValue;\n } // Parent more specific than child\n\n\n return false;\n }\n\n if (isString(parentStateValue)) {\n return parentStateValue in childStateValue;\n }\n\n return Object.keys(parentStateValue).every(function (key) {\n if (!(key in childStateValue)) {\n return false;\n }\n\n return matchesState(parentStateValue[key], childStateValue[key]);\n });\n}\nfunction getEventType(event) {\n try {\n return isString(event) || typeof event === 'number' ? \"\".concat(event) : event.type;\n } catch (e) {\n throw new Error('Events must be strings or objects with a string event.type property.');\n }\n}\nfunction getActionType(action) {\n try {\n return isString(action) || typeof action === 'number' ? \"\".concat(action) : isFunction(action) ? action.name : action.type;\n } catch (e) {\n throw new Error('Actions must be strings or objects with a string action.type property.');\n }\n}\nfunction toStatePath(stateId, delimiter) {\n try {\n if (isArray(stateId)) {\n return stateId;\n }\n\n return stateId.toString().split(delimiter);\n } catch (e) {\n throw new Error(\"'\".concat(stateId, \"' is not a valid state path.\"));\n }\n}\nfunction isStateLike(state) {\n return typeof state === 'object' && 'value' in state && 'context' in state && 'event' in state && '_event' in state;\n}\nfunction toStateValue(stateValue, delimiter) {\n if (isStateLike(stateValue)) {\n return stateValue.value;\n }\n\n if (isArray(stateValue)) {\n return pathToStateValue(stateValue);\n }\n\n if (typeof stateValue !== 'string') {\n return stateValue;\n }\n\n var statePath = toStatePath(stateValue, delimiter);\n return pathToStateValue(statePath);\n}\nfunction pathToStateValue(statePath) {\n if (statePath.length === 1) {\n return statePath[0];\n }\n\n var value = {};\n var marker = value;\n\n for (var i = 0; i < statePath.length - 1; i++) {\n if (i === statePath.length - 2) {\n marker[statePath[i]] = statePath[i + 1];\n } else {\n marker[statePath[i]] = {};\n marker = marker[statePath[i]];\n }\n }\n\n return value;\n}\nfunction mapValues(collection, iteratee) {\n var result = {};\n var collectionKeys = Object.keys(collection);\n\n for (var i = 0; i < collectionKeys.length; i++) {\n var key = collectionKeys[i];\n result[key] = iteratee(collection[key], key, collection, i);\n }\n\n return result;\n}\nfunction mapFilterValues(collection, iteratee, predicate) {\n var e_1, _a;\n\n var result = {};\n\n try {\n for (var _b = __values(Object.keys(collection)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var item = collection[key];\n\n if (!predicate(item)) {\n continue;\n }\n\n result[key] = iteratee(item, key, collection);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return result;\n}\n/**\r\n * Retrieves a value at the given path.\r\n * @param props The deep path to the prop of the desired value\r\n */\n\nvar path = function (props) {\n return function (object) {\n var e_2, _a;\n\n var result = object;\n\n try {\n for (var props_1 = __values(props), props_1_1 = props_1.next(); !props_1_1.done; props_1_1 = props_1.next()) {\n var prop = props_1_1.value;\n result = result[prop];\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (props_1_1 && !props_1_1.done && (_a = props_1.return)) _a.call(props_1);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n return result;\n };\n};\n/**\r\n * Retrieves a value at the given path via the nested accessor prop.\r\n * @param props The deep path to the prop of the desired value\r\n */\n\nfunction nestedPath(props, accessorProp) {\n return function (object) {\n var e_3, _a;\n\n var result = object;\n\n try {\n for (var props_2 = __values(props), props_2_1 = props_2.next(); !props_2_1.done; props_2_1 = props_2.next()) {\n var prop = props_2_1.value;\n result = result[accessorProp][prop];\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (props_2_1 && !props_2_1.done && (_a = props_2.return)) _a.call(props_2);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n return result;\n };\n}\nfunction toStatePaths(stateValue) {\n if (!stateValue) {\n return [[]];\n }\n\n if (isString(stateValue)) {\n return [[stateValue]];\n }\n\n var result = flatten(Object.keys(stateValue).map(function (key) {\n var subStateValue = stateValue[key];\n\n if (typeof subStateValue !== 'string' && (!subStateValue || !Object.keys(subStateValue).length)) {\n return [[key]];\n }\n\n return toStatePaths(stateValue[key]).map(function (subPath) {\n return [key].concat(subPath);\n });\n }));\n return result;\n}\nfunction pathsToStateValue(paths) {\n var e_4, _a;\n\n var result = {};\n\n if (paths && paths.length === 1 && paths[0].length === 1) {\n return paths[0][0];\n }\n\n try {\n for (var paths_1 = __values(paths), paths_1_1 = paths_1.next(); !paths_1_1.done; paths_1_1 = paths_1.next()) {\n var currentPath = paths_1_1.value;\n var marker = result; // tslint:disable-next-line:prefer-for-of\n\n for (var i = 0; i < currentPath.length; i++) {\n var subPath = currentPath[i];\n\n if (i === currentPath.length - 2) {\n marker[subPath] = currentPath[i + 1];\n break;\n }\n\n marker[subPath] = marker[subPath] || {};\n marker = marker[subPath];\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (paths_1_1 && !paths_1_1.done && (_a = paths_1.return)) _a.call(paths_1);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n return result;\n}\nfunction flatten(array) {\n var _a;\n\n return (_a = []).concat.apply(_a, __spreadArray([], __read(array), false));\n}\nfunction toArrayStrict(value) {\n if (isArray(value)) {\n return value;\n }\n\n return [value];\n}\nfunction toArray(value) {\n if (value === undefined) {\n return [];\n }\n\n return toArrayStrict(value);\n}\nfunction mapContext(mapper, context, _event) {\n var e_5, _a;\n\n if (isFunction(mapper)) {\n return mapper(context, _event.data);\n }\n\n var result = {};\n\n try {\n for (var _b = __values(Object.keys(mapper)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var subMapper = mapper[key];\n\n if (isFunction(subMapper)) {\n result[key] = subMapper(context, _event.data);\n } else {\n result[key] = subMapper;\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n return result;\n}\nfunction isBuiltInEvent(eventType) {\n return /^(done|error)\\./.test(eventType);\n}\nfunction isPromiseLike(value) {\n if (value instanceof Promise) {\n return true;\n } // Check if shape matches the Promise/A+ specification for a \"thenable\".\n\n\n if (value !== null && (isFunction(value) || typeof value === 'object') && isFunction(value.then)) {\n return true;\n }\n\n return false;\n}\nfunction isBehavior(value) {\n return value !== null && typeof value === 'object' && 'transition' in value && typeof value.transition === 'function';\n}\nfunction partition(items, predicate) {\n var e_6, _a;\n\n var _b = __read([[], []], 2),\n truthy = _b[0],\n falsy = _b[1];\n\n try {\n for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {\n var item = items_1_1.value;\n\n if (predicate(item)) {\n truthy.push(item);\n } else {\n falsy.push(item);\n }\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n return [truthy, falsy];\n}\nfunction updateHistoryStates(hist, stateValue) {\n return mapValues(hist.states, function (subHist, key) {\n if (!subHist) {\n return undefined;\n }\n\n var subStateValue = (isString(stateValue) ? undefined : stateValue[key]) || (subHist ? subHist.current : undefined);\n\n if (!subStateValue) {\n return undefined;\n }\n\n return {\n current: subStateValue,\n states: updateHistoryStates(subHist, subStateValue)\n };\n });\n}\nfunction updateHistoryValue(hist, stateValue) {\n return {\n current: stateValue,\n states: updateHistoryStates(hist, stateValue)\n };\n}\nfunction updateContext(context, _event, assignActions, state) {\n if (!IS_PRODUCTION) {\n warn(!!context, 'Attempting to update undefined context');\n }\n\n var updatedContext = context ? assignActions.reduce(function (acc, assignAction) {\n var e_7, _a;\n\n var assignment = assignAction.assignment;\n var meta = {\n state: state,\n action: assignAction,\n _event: _event\n };\n var partialUpdate = {};\n\n if (isFunction(assignment)) {\n partialUpdate = assignment(acc, _event.data, meta);\n } else {\n try {\n for (var _b = __values(Object.keys(assignment)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var propAssignment = assignment[key];\n partialUpdate[key] = isFunction(propAssignment) ? propAssignment(acc, _event.data, meta) : propAssignment;\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n }\n\n return Object.assign({}, acc, partialUpdate);\n }, context) : context;\n return updatedContext;\n} // tslint:disable-next-line:no-empty\n\nvar warn = function () {};\n\nif (!IS_PRODUCTION) {\n warn = function (condition, message) {\n var error = condition instanceof Error ? condition : undefined;\n\n if (!error && condition) {\n return;\n }\n\n if (console !== undefined) {\n var args = [\"Warning: \".concat(message)];\n\n if (error) {\n args.push(error);\n } // tslint:disable-next-line:no-console\n\n\n console.warn.apply(console, args);\n }\n };\n}\nfunction isArray(value) {\n return Array.isArray(value);\n} // tslint:disable-next-line:ban-types\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\nfunction isString(value) {\n return typeof value === 'string';\n}\nfunction toGuard(condition, guardMap) {\n if (!condition) {\n return undefined;\n }\n\n if (isString(condition)) {\n return {\n type: DEFAULT_GUARD_TYPE,\n name: condition,\n predicate: guardMap ? guardMap[condition] : undefined\n };\n }\n\n if (isFunction(condition)) {\n return {\n type: DEFAULT_GUARD_TYPE,\n name: condition.name,\n predicate: condition\n };\n }\n\n return condition;\n}\nfunction isObservable(value) {\n try {\n return 'subscribe' in value && isFunction(value.subscribe);\n } catch (e) {\n return false;\n }\n}\nvar symbolObservable = /*#__PURE__*/function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n}(); // TODO: to be removed in v5, left it out just to minimize the scope of the change and maintain compatibility with older versions of integration paackages\n\nvar interopSymbols = (_a = {}, _a[symbolObservable] = function () {\n return this;\n}, _a[Symbol.observable] = function () {\n return this;\n}, _a);\nfunction isMachine(value) {\n return !!value && '__xstatenode' in value;\n}\nfunction isActor(value) {\n return !!value && typeof value.send === 'function';\n}\nvar uniqueId = /*#__PURE__*/function () {\n var currentId = 0;\n return function () {\n currentId++;\n return currentId.toString(16);\n };\n}();\nfunction toEventObject(event, payload // id?: TEvent['type']\n) {\n if (isString(event) || typeof event === 'number') {\n return __assign({\n type: event\n }, payload);\n }\n\n return event;\n}\nfunction toSCXMLEvent(event, scxmlEvent) {\n if (!isString(event) && '$$type' in event && event.$$type === 'scxml') {\n return event;\n }\n\n var eventObject = toEventObject(event);\n return __assign({\n name: eventObject.type,\n data: eventObject,\n $$type: 'scxml',\n type: 'external'\n }, scxmlEvent);\n}\nfunction toTransitionConfigArray(event, configLike) {\n var transitions = toArrayStrict(configLike).map(function (transitionLike) {\n if (typeof transitionLike === 'undefined' || typeof transitionLike === 'string' || isMachine(transitionLike)) {\n return {\n target: transitionLike,\n event: event\n };\n }\n\n return __assign(__assign({}, transitionLike), {\n event: event\n });\n });\n return transitions;\n}\nfunction normalizeTarget(target) {\n if (target === undefined || target === TARGETLESS_KEY) {\n return undefined;\n }\n\n return toArray(target);\n}\nfunction reportUnhandledExceptionOnInvocation(originalError, currentError, id) {\n if (!IS_PRODUCTION) {\n var originalStackTrace = originalError.stack ? \" Stacktrace was '\".concat(originalError.stack, \"'\") : '';\n\n if (originalError === currentError) {\n // tslint:disable-next-line:no-console\n console.error(\"Missing onError handler for invocation '\".concat(id, \"', error was '\").concat(originalError, \"'.\").concat(originalStackTrace));\n } else {\n var stackTrace = currentError.stack ? \" Stacktrace was '\".concat(currentError.stack, \"'\") : ''; // tslint:disable-next-line:no-console\n\n console.error(\"Missing onError handler and/or unhandled exception/promise rejection for invocation '\".concat(id, \"'. \") + \"Original error: '\".concat(originalError, \"'. \").concat(originalStackTrace, \" Current error is '\").concat(currentError, \"'.\").concat(stackTrace));\n }\n }\n}\nfunction evaluateGuard(machine, guard, context, _event, state) {\n var guards = machine.options.guards;\n var guardMeta = {\n state: state,\n cond: guard,\n _event: _event\n }; // TODO: do not hardcode!\n\n if (guard.type === DEFAULT_GUARD_TYPE) {\n return ((guards === null || guards === void 0 ? void 0 : guards[guard.name]) || guard.predicate)(context, _event.data, guardMeta);\n }\n\n var condFn = guards === null || guards === void 0 ? void 0 : guards[guard.type];\n\n if (!condFn) {\n throw new Error(\"Guard '\".concat(guard.type, \"' is not implemented on machine '\").concat(machine.id, \"'.\"));\n }\n\n return condFn(context, _event.data, guardMeta);\n}\nfunction toInvokeSource(src) {\n if (typeof src === 'string') {\n return {\n type: src\n };\n }\n\n return src;\n}\nfunction toObserver(nextHandler, errorHandler, completionHandler) {\n var noop = function () {};\n\n var isObserver = typeof nextHandler === 'object';\n var self = isObserver ? nextHandler : null;\n return {\n next: ((isObserver ? nextHandler.next : nextHandler) || noop).bind(self),\n error: ((isObserver ? nextHandler.error : errorHandler) || noop).bind(self),\n complete: ((isObserver ? nextHandler.complete : completionHandler) || noop).bind(self)\n };\n}\nfunction createInvokeId(stateNodeId, index) {\n return \"\".concat(stateNodeId, \":invocation[\").concat(index, \"]\");\n}\n\nexport { createInvokeId, evaluateGuard, flatten, getActionType, getEventType, interopSymbols, isActor, isArray, isBehavior, isBuiltInEvent, isFunction, isMachine, isObservable, isPromiseLike, isStateLike, isString, keys, mapContext, mapFilterValues, mapValues, matchesState, nestedPath, normalizeTarget, partition, path, pathToStateValue, pathsToStateValue, reportUnhandledExceptionOnInvocation, symbolObservable, toArray, toArrayStrict, toEventObject, toGuard, toInvokeSource, toObserver, toSCXMLEvent, toStatePath, toStatePaths, toStateValue, toTransitionConfigArray, uniqueId, updateContext, updateHistoryStates, updateHistoryValue, warn };\n","import { __assign, __spreadArray, __read, __values } from './_virtual/_tslib.js';\nimport { SpecialTargets, ActionTypes } from './types.js';\nimport { init, send as send$1, raise as raise$1, update, log as log$1, cancel as cancel$1, assign as assign$1, error as error$1, stop as stop$1, pure as pure$1, choose as choose$1 } from './actionTypes.js';\nimport * as actionTypes from './actionTypes.js';\nexport { actionTypes };\nimport { toSCXMLEvent, isString, isFunction, toEventObject, getEventType, updateContext, flatten, isArray, toArray, toGuard, evaluateGuard, warn } from './utils.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar initEvent = /*#__PURE__*/toSCXMLEvent({\n type: init\n});\nfunction getActionFunction(actionType, actionFunctionMap) {\n return actionFunctionMap ? actionFunctionMap[actionType] || undefined : undefined;\n}\nfunction toActionObject(action, actionFunctionMap) {\n var actionObject;\n\n if (isString(action) || typeof action === 'number') {\n var exec = getActionFunction(action, actionFunctionMap);\n\n if (isFunction(exec)) {\n actionObject = {\n type: action,\n exec: exec\n };\n } else if (exec) {\n actionObject = exec;\n } else {\n actionObject = {\n type: action,\n exec: undefined\n };\n }\n } else if (isFunction(action)) {\n actionObject = {\n // Convert action to string if unnamed\n type: action.name || action.toString(),\n exec: action\n };\n } else {\n var exec = getActionFunction(action.type, actionFunctionMap);\n\n if (isFunction(exec)) {\n actionObject = __assign(__assign({}, action), {\n exec: exec\n });\n } else if (exec) {\n var actionType = exec.type || action.type;\n actionObject = __assign(__assign(__assign({}, exec), action), {\n type: actionType\n });\n } else {\n actionObject = action;\n }\n }\n\n return actionObject;\n}\nvar toActionObjects = function (action, actionFunctionMap) {\n if (!action) {\n return [];\n }\n\n var actions = isArray(action) ? action : [action];\n return actions.map(function (subAction) {\n return toActionObject(subAction, actionFunctionMap);\n });\n};\nfunction toActivityDefinition(action) {\n var actionObject = toActionObject(action);\n return __assign(__assign({\n id: isString(action) ? action : actionObject.id\n }, actionObject), {\n type: actionObject.type\n });\n}\n/**\r\n * Raises an event. This places the event in the internal event queue, so that\r\n * the event is immediately consumed by the machine in the current step.\r\n *\r\n * @param eventType The event to raise.\r\n */\n\nfunction raise(event) {\n if (!isString(event)) {\n return send(event, {\n to: SpecialTargets.Internal\n });\n }\n\n return {\n type: raise$1,\n event: event\n };\n}\nfunction resolveRaise(action) {\n return {\n type: raise$1,\n _event: toSCXMLEvent(action.event)\n };\n}\n/**\r\n * Sends an event. This returns an action that will be read by an interpreter to\r\n * send the event in the next step, after the current step is finished executing.\r\n *\r\n * @param event The event to send.\r\n * @param options Options to pass into the send event:\r\n * - `id` - The unique send event identifier (used with `cancel()`).\r\n * - `delay` - The number of milliseconds to delay the sending of the event.\r\n * - `to` - The target of this event (by default, the machine the event was sent from).\r\n */\n\nfunction send(event, options) {\n return {\n to: options ? options.to : undefined,\n type: send$1,\n event: isFunction(event) ? event : toEventObject(event),\n delay: options ? options.delay : undefined,\n id: options && options.id !== undefined ? options.id : isFunction(event) ? event.name : getEventType(event)\n };\n}\nfunction resolveSend(action, ctx, _event, delaysMap) {\n var meta = {\n _event: _event\n }; // TODO: helper function for resolving Expr\n\n var resolvedEvent = toSCXMLEvent(isFunction(action.event) ? action.event(ctx, _event.data, meta) : action.event);\n var resolvedDelay;\n\n if (isString(action.delay)) {\n var configDelay = delaysMap && delaysMap[action.delay];\n resolvedDelay = isFunction(configDelay) ? configDelay(ctx, _event.data, meta) : configDelay;\n } else {\n resolvedDelay = isFunction(action.delay) ? action.delay(ctx, _event.data, meta) : action.delay;\n }\n\n var resolvedTarget = isFunction(action.to) ? action.to(ctx, _event.data, meta) : action.to;\n return __assign(__assign({}, action), {\n to: resolvedTarget,\n _event: resolvedEvent,\n event: resolvedEvent.data,\n delay: resolvedDelay\n });\n}\n/**\r\n * Sends an event to this machine's parent.\r\n *\r\n * @param event The event to send to the parent machine.\r\n * @param options Options to pass into the send event.\r\n */\n\nfunction sendParent(event, options) {\n return send(event, __assign(__assign({}, options), {\n to: SpecialTargets.Parent\n }));\n}\n/**\r\n * Sends an event to an actor.\r\n *\r\n * @param actor The `ActorRef` to send the event to.\r\n * @param event The event to send, or an expression that evaluates to the event to send\r\n * @param options Send action options\r\n * @returns An XState send action object\r\n */\n\nfunction sendTo(actor, event, options) {\n return send(event, __assign(__assign({}, options), {\n to: actor\n }));\n}\n/**\r\n * Sends an update event to this machine's parent.\r\n */\n\nfunction sendUpdate() {\n return sendParent(update);\n}\n/**\r\n * Sends an event back to the sender of the original event.\r\n *\r\n * @param event The event to send back to the sender\r\n * @param options Options to pass into the send event\r\n */\n\nfunction respond(event, options) {\n return send(event, __assign(__assign({}, options), {\n to: function (_, __, _a) {\n var _event = _a._event;\n return _event.origin; // TODO: handle when _event.origin is undefined\n }\n }));\n}\n\nvar defaultLogExpr = function (context, event) {\n return {\n context: context,\n event: event\n };\n};\n/**\r\n *\r\n * @param expr The expression function to evaluate which will be logged.\r\n * Takes in 2 arguments:\r\n * - `ctx` - the current state context\r\n * - `event` - the event that caused this action to be executed.\r\n * @param label The label to give to the logged expression.\r\n */\n\n\nfunction log(expr, label) {\n if (expr === void 0) {\n expr = defaultLogExpr;\n }\n\n return {\n type: log$1,\n label: label,\n expr: expr\n };\n}\nvar resolveLog = function (action, ctx, _event) {\n return __assign(__assign({}, action), {\n value: isString(action.expr) ? action.expr : action.expr(ctx, _event.data, {\n _event: _event\n })\n });\n};\n/**\r\n * Cancels an in-flight `send(...)` action. A canceled sent action will not\r\n * be executed, nor will its event be sent, unless it has already been sent\r\n * (e.g., if `cancel(...)` is called after the `send(...)` action's `delay`).\r\n *\r\n * @param sendId The `id` of the `send(...)` action to cancel.\r\n */\n\nvar cancel = function (sendId) {\n return {\n type: cancel$1,\n sendId: sendId\n };\n};\n/**\r\n * Starts an activity.\r\n *\r\n * @param activity The activity to start.\r\n */\n\nfunction start(activity) {\n var activityDef = toActivityDefinition(activity);\n return {\n type: ActionTypes.Start,\n activity: activityDef,\n exec: undefined\n };\n}\n/**\r\n * Stops an activity.\r\n *\r\n * @param actorRef The activity to stop.\r\n */\n\nfunction stop(actorRef) {\n var activity = isFunction(actorRef) ? actorRef : toActivityDefinition(actorRef);\n return {\n type: ActionTypes.Stop,\n activity: activity,\n exec: undefined\n };\n}\nfunction resolveStop(action, context, _event) {\n var actorRefOrString = isFunction(action.activity) ? action.activity(context, _event.data) : action.activity;\n var resolvedActorRef = typeof actorRefOrString === 'string' ? {\n id: actorRefOrString\n } : actorRefOrString;\n var actionObject = {\n type: ActionTypes.Stop,\n activity: resolvedActorRef\n };\n return actionObject;\n}\n/**\r\n * Updates the current context of the machine.\r\n *\r\n * @param assignment An object that represents the partial context to update.\r\n */\n\nvar assign = function (assignment) {\n return {\n type: assign$1,\n assignment: assignment\n };\n};\nfunction isActionObject(action) {\n return typeof action === 'object' && 'type' in action;\n}\n/**\r\n * Returns an event type that represents an implicit event that\r\n * is sent after the specified `delay`.\r\n *\r\n * @param delayRef The delay in milliseconds\r\n * @param id The state node ID where this event is handled\r\n */\n\nfunction after(delayRef, id) {\n var idSuffix = id ? \"#\".concat(id) : '';\n return \"\".concat(ActionTypes.After, \"(\").concat(delayRef, \")\").concat(idSuffix);\n}\n/**\r\n * Returns an event that represents that a final state node\r\n * has been reached in the parent state node.\r\n *\r\n * @param id The final state node's parent state node `id`\r\n * @param data The data to pass into the event\r\n */\n\nfunction done(id, data) {\n var type = \"\".concat(ActionTypes.DoneState, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\n/**\r\n * Returns an event that represents that an invoked service has terminated.\r\n *\r\n * An invoked service is terminated when it has reached a top-level final state node,\r\n * but not when it is canceled.\r\n *\r\n * @param id The final state node ID\r\n * @param data The data to pass into the event\r\n */\n\nfunction doneInvoke(id, data) {\n var type = \"\".concat(ActionTypes.DoneInvoke, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\nfunction error(id, data) {\n var type = \"\".concat(ActionTypes.ErrorPlatform, \".\").concat(id);\n var eventObject = {\n type: type,\n data: data\n };\n\n eventObject.toString = function () {\n return type;\n };\n\n return eventObject;\n}\nfunction pure(getActions) {\n return {\n type: ActionTypes.Pure,\n get: getActions\n };\n}\n/**\r\n * Forwards (sends) an event to a specified service.\r\n *\r\n * @param target The target service to forward the event to.\r\n * @param options Options to pass into the send action creator.\r\n */\n\nfunction forwardTo(target, options) {\n if (!IS_PRODUCTION && (!target || typeof target === 'function')) {\n var originalTarget_1 = target;\n\n target = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var resolvedTarget = typeof originalTarget_1 === 'function' ? originalTarget_1.apply(void 0, __spreadArray([], __read(args), false)) : originalTarget_1;\n\n if (!resolvedTarget) {\n throw new Error(\"Attempted to forward event to undefined actor. This risks an infinite loop in the sender.\");\n }\n\n return resolvedTarget;\n };\n }\n\n return send(function (_, event) {\n return event;\n }, __assign(__assign({}, options), {\n to: target\n }));\n}\n/**\r\n * Escalates an error by sending it as an event to this machine's parent.\r\n *\r\n * @param errorData The error data to send, or the expression function that\r\n * takes in the `context`, `event`, and `meta`, and returns the error data to send.\r\n * @param options Options to pass into the send action creator.\r\n */\n\nfunction escalate(errorData, options) {\n return sendParent(function (context, event, meta) {\n return {\n type: error$1,\n data: isFunction(errorData) ? errorData(context, event, meta) : errorData\n };\n }, __assign(__assign({}, options), {\n to: SpecialTargets.Parent\n }));\n}\nfunction choose(conds) {\n return {\n type: ActionTypes.Choose,\n conds: conds\n };\n}\n\nvar pluckAssigns = function (actionBlocks) {\n var e_1, _a;\n\n var assignActions = [];\n\n try {\n for (var actionBlocks_1 = __values(actionBlocks), actionBlocks_1_1 = actionBlocks_1.next(); !actionBlocks_1_1.done; actionBlocks_1_1 = actionBlocks_1.next()) {\n var block = actionBlocks_1_1.value;\n var i = 0;\n\n while (i < block.length) {\n if (block[i].type === assign$1) {\n assignActions.push(block[i]);\n block.splice(i, 1);\n continue;\n }\n\n i++;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (actionBlocks_1_1 && !actionBlocks_1_1.done && (_a = actionBlocks_1.return)) _a.call(actionBlocks_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n return assignActions;\n};\n\nfunction resolveActions(machine, currentState, currentContext, _event, actionBlocks, predictableExec, preserveActionOrder) {\n if (preserveActionOrder === void 0) {\n preserveActionOrder = false;\n }\n\n var assignActions = preserveActionOrder ? [] : pluckAssigns(actionBlocks);\n var updatedContext = assignActions.length ? updateContext(currentContext, _event, assignActions, currentState) : currentContext;\n var preservedContexts = preserveActionOrder ? [currentContext] : undefined;\n var deferredToBlockEnd = [];\n\n function handleAction(actionObject) {\n var _a;\n\n switch (actionObject.type) {\n case raise$1:\n {\n return resolveRaise(actionObject);\n }\n\n case send$1:\n var sendAction = resolveSend(actionObject, updatedContext, _event, machine.options.delays); // TODO: fix ActionTypes.Init\n\n if (!IS_PRODUCTION) {\n // warn after resolving as we can create better contextual message here\n warn(!isString(actionObject.delay) || typeof sendAction.delay === 'number', // tslint:disable-next-line:max-line-length\n \"No delay reference for delay expression '\".concat(actionObject.delay, \"' was found on machine '\").concat(machine.id, \"'\"));\n }\n\n if (predictableExec && sendAction.to !== SpecialTargets.Internal) {\n deferredToBlockEnd.push(sendAction);\n }\n\n return sendAction;\n\n case log$1:\n {\n var resolved = resolveLog(actionObject, updatedContext, _event);\n predictableExec === null || predictableExec === void 0 ? void 0 : predictableExec(resolved, updatedContext, _event);\n return resolved;\n }\n\n case choose$1:\n {\n var chooseAction = actionObject;\n var matchedActions = (_a = chooseAction.conds.find(function (condition) {\n var guard = toGuard(condition.cond, machine.options.guards);\n return !guard || evaluateGuard(machine, guard, updatedContext, _event, !predictableExec ? currentState : undefined);\n })) === null || _a === void 0 ? void 0 : _a.actions;\n\n if (!matchedActions) {\n return [];\n }\n\n var _b = __read(resolveActions(machine, currentState, updatedContext, _event, [toActionObjects(toArray(matchedActions), machine.options.actions)], predictableExec, preserveActionOrder), 2),\n resolvedActionsFromChoose = _b[0],\n resolvedContextFromChoose = _b[1];\n\n updatedContext = resolvedContextFromChoose;\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n return resolvedActionsFromChoose;\n }\n\n case pure$1:\n {\n var matchedActions = actionObject.get(updatedContext, _event.data);\n\n if (!matchedActions) {\n return [];\n }\n\n var _c = __read(resolveActions(machine, currentState, updatedContext, _event, [toActionObjects(toArray(matchedActions), machine.options.actions)], predictableExec, preserveActionOrder), 2),\n resolvedActionsFromPure = _c[0],\n resolvedContext = _c[1];\n\n updatedContext = resolvedContext;\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n return resolvedActionsFromPure;\n }\n\n case stop$1:\n {\n var resolved = resolveStop(actionObject, updatedContext, _event);\n predictableExec === null || predictableExec === void 0 ? void 0 : predictableExec(resolved, currentContext, _event);\n return resolved;\n }\n\n case assign$1:\n {\n updatedContext = updateContext(updatedContext, _event, [actionObject], !predictableExec ? currentState : undefined);\n preservedContexts === null || preservedContexts === void 0 ? void 0 : preservedContexts.push(updatedContext);\n break;\n }\n\n default:\n var resolvedActionObject = toActionObject(actionObject, machine.options.actions);\n var exec_1 = resolvedActionObject.exec;\n\n if (predictableExec) {\n predictableExec(resolvedActionObject, updatedContext, _event);\n } else if (exec_1 && preservedContexts) {\n var contextIndex_1 = preservedContexts.length - 1;\n resolvedActionObject = __assign(__assign({}, resolvedActionObject), {\n exec: function (_ctx) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n exec_1.apply(void 0, __spreadArray([preservedContexts[contextIndex_1]], __read(args), false));\n }\n });\n }\n\n return resolvedActionObject;\n }\n }\n\n function processBlock(block) {\n var e_2, _a;\n\n var resolvedActions = [];\n\n try {\n for (var block_1 = __values(block), block_1_1 = block_1.next(); !block_1_1.done; block_1_1 = block_1.next()) {\n var action = block_1_1.value;\n var resolved = handleAction(action);\n\n if (resolved) {\n resolvedActions = resolvedActions.concat(resolved);\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (block_1_1 && !block_1_1.done && (_a = block_1.return)) _a.call(block_1);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n deferredToBlockEnd.forEach(function (action) {\n predictableExec(action, updatedContext, _event);\n });\n deferredToBlockEnd.length = 0;\n return resolvedActions;\n }\n\n var resolvedActions = flatten(actionBlocks.map(processBlock));\n return [resolvedActions, updatedContext];\n}\n\nexport { after, assign, cancel, choose, done, doneInvoke, error, escalate, forwardTo, getActionFunction, initEvent, isActionObject, log, pure, raise, resolveActions, resolveLog, resolveRaise, resolveSend, resolveStop, respond, send, sendParent, sendTo, sendUpdate, start, stop, toActionObject, toActionObjects, toActivityDefinition };\n","/**\r\n * Maintains a stack of the current service in scope.\r\n * This is used to provide the correct service to spawn().\r\n */\nvar serviceStack = [];\nvar provide = function (service, fn) {\n serviceStack.push(service);\n var result = fn(service);\n serviceStack.pop();\n return result;\n};\nvar consume = function (fn) {\n return fn(serviceStack[serviceStack.length - 1]);\n};\n\nexport { consume, provide };\n","import { __assign } from './_virtual/_tslib.js';\nimport { symbolObservable, toInvokeSource, mapContext, isMachine } from './utils.js';\nimport { provide } from './serviceScope.js';\n\nfunction createNullActor(id) {\n var _a;\n\n return _a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n getSnapshot: function () {\n return undefined;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a;\n}\n/**\r\n * Creates a deferred actor that is able to be invoked given the provided\r\n * invocation information in its `.meta` value.\r\n *\r\n * @param invokeDefinition The meta information needed to invoke the actor.\r\n */\n\nfunction createInvocableActor(invokeDefinition, machine, context, _event) {\n var _a;\n\n var invokeSrc = toInvokeSource(invokeDefinition.src);\n var serviceCreator = (_a = machine === null || machine === void 0 ? void 0 : machine.options.services) === null || _a === void 0 ? void 0 : _a[invokeSrc.type];\n var resolvedData = invokeDefinition.data ? mapContext(invokeDefinition.data, context, _event) : undefined;\n var tempActor = serviceCreator ? createDeferredActor(serviceCreator, invokeDefinition.id, resolvedData) : createNullActor(invokeDefinition.id); // @ts-ignore\n\n tempActor.meta = invokeDefinition;\n return tempActor;\n}\nfunction createDeferredActor(entity, id, data) {\n var tempActor = createNullActor(id); // @ts-ignore\n\n tempActor.deferred = true;\n\n if (isMachine(entity)) {\n // \"mute\" the existing service scope so potential spawned actors within the `.initialState` stay deferred here\n var initialState_1 = tempActor.state = provide(undefined, function () {\n return (data ? entity.withContext(data) : entity).initialState;\n });\n\n tempActor.getSnapshot = function () {\n return initialState_1;\n };\n }\n\n return tempActor;\n}\nfunction isActor(item) {\n try {\n return typeof item.send === 'function';\n } catch (e) {\n return false;\n }\n}\nfunction isSpawnedActor(item) {\n return isActor(item) && 'id' in item;\n} // TODO: refactor the return type, this could be written in a better way but it's best to avoid unneccessary breaking changes now\n\nfunction toActorRef(actorRefLike) {\n var _a;\n\n return __assign((_a = {\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n id: 'anonymous',\n getSnapshot: function () {\n return undefined;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a), actorRefLike);\n}\n\nexport { createDeferredActor, createInvocableActor, createNullActor, isActor, isSpawnedActor, toActorRef };\n","import { __values, __spreadArray, __read } from './_virtual/_tslib.js';\nimport { flatten } from './utils.js';\n\nvar isLeafNode = function (stateNode) {\n return stateNode.type === 'atomic' || stateNode.type === 'final';\n};\nfunction getAllChildren(stateNode) {\n return Object.keys(stateNode.states).map(function (key) {\n return stateNode.states[key];\n });\n}\nfunction getChildren(stateNode) {\n return getAllChildren(stateNode).filter(function (sn) {\n return sn.type !== 'history';\n });\n}\nfunction getAllStateNodes(stateNode) {\n var stateNodes = [stateNode];\n\n if (isLeafNode(stateNode)) {\n return stateNodes;\n }\n\n return stateNodes.concat(flatten(getChildren(stateNode).map(getAllStateNodes)));\n}\nfunction getConfiguration(prevStateNodes, stateNodes) {\n var e_1, _a, e_2, _b, e_3, _c, e_4, _d;\n\n var prevConfiguration = new Set(prevStateNodes);\n var prevAdjList = getAdjList(prevConfiguration);\n var configuration = new Set(stateNodes);\n\n try {\n // add all ancestors\n for (var configuration_1 = __values(configuration), configuration_1_1 = configuration_1.next(); !configuration_1_1.done; configuration_1_1 = configuration_1.next()) {\n var s = configuration_1_1.value;\n var m = s.parent;\n\n while (m && !configuration.has(m)) {\n configuration.add(m);\n m = m.parent;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (configuration_1_1 && !configuration_1_1.done && (_a = configuration_1.return)) _a.call(configuration_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n\n var adjList = getAdjList(configuration);\n\n try {\n // add descendants\n for (var configuration_2 = __values(configuration), configuration_2_1 = configuration_2.next(); !configuration_2_1.done; configuration_2_1 = configuration_2.next()) {\n var s = configuration_2_1.value; // if previously active, add existing child nodes\n\n if (s.type === 'compound' && (!adjList.get(s) || !adjList.get(s).length)) {\n if (prevAdjList.get(s)) {\n prevAdjList.get(s).forEach(function (sn) {\n return configuration.add(sn);\n });\n } else {\n s.initialStateNodes.forEach(function (sn) {\n return configuration.add(sn);\n });\n }\n } else {\n if (s.type === 'parallel') {\n try {\n for (var _e = (e_3 = void 0, __values(getChildren(s))), _f = _e.next(); !_f.done; _f = _e.next()) {\n var child = _f.value;\n\n if (!configuration.has(child)) {\n configuration.add(child);\n\n if (prevAdjList.get(child)) {\n prevAdjList.get(child).forEach(function (sn) {\n return configuration.add(sn);\n });\n } else {\n child.initialStateNodes.forEach(function (sn) {\n return configuration.add(sn);\n });\n }\n }\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_c = _e.return)) _c.call(_e);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n }\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (configuration_2_1 && !configuration_2_1.done && (_b = configuration_2.return)) _b.call(configuration_2);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n try {\n // add all ancestors\n for (var configuration_3 = __values(configuration), configuration_3_1 = configuration_3.next(); !configuration_3_1.done; configuration_3_1 = configuration_3.next()) {\n var s = configuration_3_1.value;\n var m = s.parent;\n\n while (m && !configuration.has(m)) {\n configuration.add(m);\n m = m.parent;\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (configuration_3_1 && !configuration_3_1.done && (_d = configuration_3.return)) _d.call(configuration_3);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n return configuration;\n}\n\nfunction getValueFromAdj(baseNode, adjList) {\n var childStateNodes = adjList.get(baseNode);\n\n if (!childStateNodes) {\n return {}; // todo: fix?\n }\n\n if (baseNode.type === 'compound') {\n var childStateNode = childStateNodes[0];\n\n if (childStateNode) {\n if (isLeafNode(childStateNode)) {\n return childStateNode.key;\n }\n } else {\n return {};\n }\n }\n\n var stateValue = {};\n childStateNodes.forEach(function (csn) {\n stateValue[csn.key] = getValueFromAdj(csn, adjList);\n });\n return stateValue;\n}\n\nfunction getAdjList(configuration) {\n var e_5, _a;\n\n var adjList = new Map();\n\n try {\n for (var configuration_4 = __values(configuration), configuration_4_1 = configuration_4.next(); !configuration_4_1.done; configuration_4_1 = configuration_4.next()) {\n var s = configuration_4_1.value;\n\n if (!adjList.has(s)) {\n adjList.set(s, []);\n }\n\n if (s.parent) {\n if (!adjList.has(s.parent)) {\n adjList.set(s.parent, []);\n }\n\n adjList.get(s.parent).push(s);\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (configuration_4_1 && !configuration_4_1.done && (_a = configuration_4.return)) _a.call(configuration_4);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n return adjList;\n}\nfunction getValue(rootNode, configuration) {\n var config = getConfiguration([rootNode], configuration);\n return getValueFromAdj(rootNode, getAdjList(config));\n}\nfunction has(iterable, item) {\n if (Array.isArray(iterable)) {\n return iterable.some(function (member) {\n return member === item;\n });\n }\n\n if (iterable instanceof Set) {\n return iterable.has(item);\n }\n\n return false; // TODO: fix\n}\nfunction nextEvents(configuration) {\n return __spreadArray([], __read(new Set(flatten(__spreadArray([], __read(configuration.map(function (sn) {\n return sn.ownEvents;\n })), false)))), false);\n}\nfunction isInFinalState(configuration, stateNode) {\n if (stateNode.type === 'compound') {\n return getChildren(stateNode).some(function (s) {\n return s.type === 'final' && has(configuration, s);\n });\n }\n\n if (stateNode.type === 'parallel') {\n return getChildren(stateNode).every(function (sn) {\n return isInFinalState(configuration, sn);\n });\n }\n\n return false;\n}\nfunction getMeta(configuration) {\n if (configuration === void 0) {\n configuration = [];\n }\n\n return configuration.reduce(function (acc, stateNode) {\n if (stateNode.meta !== undefined) {\n acc[stateNode.id] = stateNode.meta;\n }\n\n return acc;\n }, {});\n}\nfunction getTagsFromConfiguration(configuration) {\n return new Set(flatten(configuration.map(function (sn) {\n return sn.tags;\n })));\n}\n\nexport { getAdjList, getAllChildren, getAllStateNodes, getChildren, getConfiguration, getMeta, getTagsFromConfiguration, getValue, has, isInFinalState, isLeafNode, nextEvents };\n","import { __assign, __spreadArray, __read, __rest } from './_virtual/_tslib.js';\nimport { EMPTY_ACTIVITY_MAP } from './constants.js';\nimport { isString, matchesState, warn } from './utils.js';\nimport { getMeta, nextEvents } from './stateUtils.js';\nimport { initEvent } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nfunction stateValuesEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a === undefined || b === undefined) {\n return false;\n }\n\n if (isString(a) || isString(b)) {\n return a === b;\n }\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n return aKeys.length === bKeys.length && aKeys.every(function (key) {\n return stateValuesEqual(a[key], b[key]);\n });\n}\nfunction isStateConfig(state) {\n if (typeof state !== 'object' || state === null) {\n return false;\n }\n\n return 'value' in state && '_event' in state;\n}\n/**\r\n * @deprecated Use `isStateConfig(object)` or `state instanceof State` instead.\r\n */\n\nvar isState = isStateConfig;\nfunction bindActionToState(action, state) {\n var exec = action.exec;\n\n var boundAction = __assign(__assign({}, action), {\n exec: exec !== undefined ? function () {\n return exec(state.context, state.event, {\n action: action,\n state: state,\n _event: state._event\n });\n } : undefined\n });\n\n return boundAction;\n}\n\nvar State =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n /**\r\n * Creates a new State instance.\r\n * @param value The state value\r\n * @param context The extended state\r\n * @param historyValue The tree representing historical values of the state nodes\r\n * @param history The previous state\r\n * @param actions An array of action objects to execute as side-effects\r\n * @param activities A mapping of activities and whether they are started (`true`) or stopped (`false`).\r\n * @param meta\r\n * @param events Internal event queue. Should be empty with run-to-completion semantics.\r\n * @param configuration\r\n */\n function State(config) {\n var _this = this;\n\n var _a;\n\n this.actions = [];\n this.activities = EMPTY_ACTIVITY_MAP;\n this.meta = {};\n this.events = [];\n this.value = config.value;\n this.context = config.context;\n this._event = config._event;\n this._sessionid = config._sessionid;\n this.event = this._event.data;\n this.historyValue = config.historyValue;\n this.history = config.history;\n this.actions = config.actions || [];\n this.activities = config.activities || EMPTY_ACTIVITY_MAP;\n this.meta = getMeta(config.configuration);\n this.events = config.events || [];\n this.matches = this.matches.bind(this);\n this.toStrings = this.toStrings.bind(this);\n this.configuration = config.configuration;\n this.transitions = config.transitions;\n this.children = config.children;\n this.done = !!config.done;\n this.tags = (_a = Array.isArray(config.tags) ? new Set(config.tags) : config.tags) !== null && _a !== void 0 ? _a : new Set();\n this.machine = config.machine;\n Object.defineProperty(this, 'nextEvents', {\n get: function () {\n return nextEvents(_this.configuration);\n }\n });\n }\n /**\r\n * Creates a new State instance for the given `stateValue` and `context`.\r\n * @param stateValue\r\n * @param context\r\n */\n\n\n State.from = function (stateValue, context) {\n if (stateValue instanceof State) {\n if (stateValue.context !== context) {\n return new State({\n value: stateValue.value,\n context: context,\n _event: stateValue._event,\n _sessionid: null,\n historyValue: stateValue.historyValue,\n history: stateValue.history,\n actions: [],\n activities: stateValue.activities,\n meta: {},\n events: [],\n configuration: [],\n transitions: [],\n children: {}\n });\n }\n\n return stateValue;\n }\n\n var _event = initEvent;\n return new State({\n value: stateValue,\n context: context,\n _event: _event,\n _sessionid: null,\n historyValue: undefined,\n history: undefined,\n actions: [],\n activities: undefined,\n meta: undefined,\n events: [],\n configuration: [],\n transitions: [],\n children: {}\n });\n };\n /**\r\n * Creates a new State instance for the given `config`.\r\n * @param config The state config\r\n */\n\n\n State.create = function (config) {\n return new State(config);\n };\n /**\r\n * Creates a new `State` instance for the given `stateValue` and `context` with no actions (side-effects).\r\n * @param stateValue\r\n * @param context\r\n */\n\n\n State.inert = function (stateValue, context) {\n if (stateValue instanceof State) {\n if (!stateValue.actions.length) {\n return stateValue;\n }\n\n var _event = initEvent;\n return new State({\n value: stateValue.value,\n context: context,\n _event: _event,\n _sessionid: null,\n historyValue: stateValue.historyValue,\n history: stateValue.history,\n activities: stateValue.activities,\n configuration: stateValue.configuration,\n transitions: [],\n children: {}\n });\n }\n\n return State.from(stateValue, context);\n };\n /**\r\n * Returns an array of all the string leaf state node paths.\r\n * @param stateValue\r\n * @param delimiter The character(s) that separate each subpath in the string state node path.\r\n */\n\n\n State.prototype.toStrings = function (stateValue, delimiter) {\n var _this = this;\n\n if (stateValue === void 0) {\n stateValue = this.value;\n }\n\n if (delimiter === void 0) {\n delimiter = '.';\n }\n\n if (isString(stateValue)) {\n return [stateValue];\n }\n\n var valueKeys = Object.keys(stateValue);\n return valueKeys.concat.apply(valueKeys, __spreadArray([], __read(valueKeys.map(function (key) {\n return _this.toStrings(stateValue[key], delimiter).map(function (s) {\n return key + delimiter + s;\n });\n })), false));\n };\n\n State.prototype.toJSON = function () {\n var _a = this;\n _a.configuration;\n _a.transitions;\n var tags = _a.tags;\n _a.machine;\n var jsonValues = __rest(_a, [\"configuration\", \"transitions\", \"tags\", \"machine\"]);\n\n return __assign(__assign({}, jsonValues), {\n tags: Array.from(tags)\n });\n };\n\n State.prototype.matches = function (parentStateValue) {\n return matchesState(parentStateValue, this.value);\n };\n /**\r\n * Whether the current state configuration has a state node with the specified `tag`.\r\n * @param tag\r\n */\n\n\n State.prototype.hasTag = function (tag) {\n return this.tags.has(tag);\n };\n /**\r\n * Determines whether sending the `event` will cause a non-forbidden transition\r\n * to be selected, even if the transitions have no actions nor\r\n * change the state value.\r\n *\r\n * @param event The event to test\r\n * @returns Whether the event will cause a transition\r\n */\n\n\n State.prototype.can = function (event) {\n var _a;\n\n if (IS_PRODUCTION) {\n warn(!!this.machine, \"state.can(...) used outside of a machine-created State object; this will always return false.\");\n }\n\n var transitionData = (_a = this.machine) === null || _a === void 0 ? void 0 : _a.getTransitionData(this, event);\n return !!(transitionData === null || transitionData === void 0 ? void 0 : transitionData.transitions.length) && // Check that at least one transition is not forbidden\n transitionData.transitions.some(function (t) {\n return t.target !== undefined || t.actions.length;\n });\n };\n\n return State;\n}();\n\nexport { State, bindActionToState, isState, isStateConfig, stateValuesEqual };\n","import { __assign } from './_virtual/_tslib.js';\n\nvar defaultOptions = {\n deferEvents: false\n};\n\nvar Scheduler =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n function Scheduler(options) {\n this.processingEvent = false;\n this.queue = [];\n this.initialized = false;\n this.options = __assign(__assign({}, defaultOptions), options);\n }\n\n Scheduler.prototype.initialize = function (callback) {\n this.initialized = true;\n\n if (callback) {\n if (!this.options.deferEvents) {\n this.schedule(callback);\n return;\n }\n\n this.process(callback);\n }\n\n this.flushEvents();\n };\n\n Scheduler.prototype.schedule = function (task) {\n if (!this.initialized || this.processingEvent) {\n this.queue.push(task);\n return;\n }\n\n if (this.queue.length !== 0) {\n throw new Error('Event queue should be empty when it is not processing events');\n }\n\n this.process(task);\n this.flushEvents();\n };\n\n Scheduler.prototype.clear = function () {\n this.queue = [];\n };\n\n Scheduler.prototype.flushEvents = function () {\n var nextCallback = this.queue.shift();\n\n while (nextCallback) {\n this.process(nextCallback);\n nextCallback = this.queue.shift();\n }\n };\n\n Scheduler.prototype.process = function (callback) {\n this.processingEvent = true;\n\n try {\n callback();\n } catch (e) {\n // there is no use to keep the future events\n // as the situation is not anymore the same\n this.clear();\n throw e;\n } finally {\n this.processingEvent = false;\n }\n };\n\n return Scheduler;\n}();\n\nexport { Scheduler };\n","var children = /*#__PURE__*/new Map();\nvar sessionIdIndex = 0;\nvar registry = {\n bookId: function () {\n return \"x:\".concat(sessionIdIndex++);\n },\n register: function (id, actor) {\n children.set(id, actor);\n return id;\n },\n get: function (id) {\n return children.get(id);\n },\n free: function (id) {\n children.delete(id);\n }\n};\n\nexport { registry };\n","import { IS_PRODUCTION } from './environment.js';\n\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n\n if (typeof self !== 'undefined') {\n return self;\n }\n\n if (typeof window !== 'undefined') {\n return window;\n }\n\n if (typeof global !== 'undefined') {\n return global;\n }\n\n if (!IS_PRODUCTION) {\n console.warn('XState could not find a global object in this environment. Please let the maintainers know and raise an issue here: https://github.com/statelyai/xstate/issues');\n }\n}\n\nfunction getDevTools() {\n var global = getGlobal();\n\n if (global && '__xstate__' in global) {\n return global.__xstate__;\n }\n\n return undefined;\n}\n\nfunction registerService(service) {\n if (!getGlobal()) {\n return;\n }\n\n var devTools = getDevTools();\n\n if (devTools) {\n devTools.register(service);\n }\n}\n\nexport { getGlobal, registerService };\n","import { error, doneInvoke } from './actions.js';\nimport { toActorRef } from './Actor.js';\nimport { toObserver } from './utils.js';\n\n/**\r\n * Returns an actor behavior from a reducer and its initial state.\r\n *\r\n * @param transition The pure reducer that returns the next state given the current state and event.\r\n * @param initialState The initial state of the reducer.\r\n * @returns An actor behavior\r\n */\n\nfunction fromReducer(transition, initialState) {\n return {\n transition: transition,\n initialState: initialState\n };\n}\nfunction fromPromise(promiseFn) {\n var initialState = {\n error: undefined,\n data: undefined,\n status: 'pending'\n };\n return {\n transition: function (state, event, _a) {\n var parent = _a.parent,\n id = _a.id,\n observers = _a.observers;\n\n switch (event.type) {\n case 'fulfill':\n parent === null || parent === void 0 ? void 0 : parent.send(doneInvoke(id, event.data));\n return {\n error: undefined,\n data: event.data,\n status: 'fulfilled'\n };\n\n case 'reject':\n parent === null || parent === void 0 ? void 0 : parent.send(error(id, event.error));\n observers.forEach(function (observer) {\n observer.error(event.error);\n });\n return {\n error: event.error,\n data: undefined,\n status: 'rejected'\n };\n\n default:\n return state;\n }\n },\n initialState: initialState,\n start: function (_a) {\n var self = _a.self;\n promiseFn().then(function (data) {\n self.send({\n type: 'fulfill',\n data: data\n });\n }, function (reason) {\n self.send({\n type: 'reject',\n error: reason\n });\n });\n return initialState;\n }\n };\n}\nfunction spawnBehavior(behavior, options) {\n if (options === void 0) {\n options = {};\n }\n\n var state = behavior.initialState;\n var observers = new Set();\n var mailbox = [];\n var flushing = false;\n\n var flush = function () {\n if (flushing) {\n return;\n }\n\n flushing = true;\n\n while (mailbox.length > 0) {\n var event_1 = mailbox.shift();\n state = behavior.transition(state, event_1, actorCtx);\n observers.forEach(function (observer) {\n return observer.next(state);\n });\n }\n\n flushing = false;\n };\n\n var actor = toActorRef({\n id: options.id,\n send: function (event) {\n mailbox.push(event);\n flush();\n },\n getSnapshot: function () {\n return state;\n },\n subscribe: function (next, handleError, complete) {\n var observer = toObserver(next, handleError, complete);\n observers.add(observer);\n observer.next(state);\n return {\n unsubscribe: function () {\n observers.delete(observer);\n }\n };\n }\n });\n var actorCtx = {\n parent: options.parent,\n self: actor,\n id: options.id || 'anonymous',\n observers: observers\n };\n state = behavior.start ? behavior.start(actorCtx) : state;\n return actor;\n}\n\nexport { fromPromise, fromReducer, spawnBehavior };\n","import { __values, __spreadArray, __read, __assign } from './_virtual/_tslib.js';\nimport { SpecialTargets, ActionTypes } from './types.js';\nimport { isStateConfig, State, bindActionToState } from './State.js';\nimport { raise, send, errorPlatform, update, error as error$1, log, stop, start, cancel } from './actionTypes.js';\nimport { initEvent, doneInvoke, toActionObjects, resolveActions, error, getActionFunction } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\nimport { warn, mapContext, toObserver, isFunction, toSCXMLEvent, flatten, isPromiseLike, isObservable, isMachine, isBehavior, reportUnhandledExceptionOnInvocation, symbolObservable, isArray, toEventObject, isString, isActor, toInvokeSource, uniqueId } from './utils.js';\nimport { Scheduler } from './scheduler.js';\nimport { createDeferredActor, isSpawnedActor } from './Actor.js';\nimport { registry } from './registry.js';\nimport { getGlobal, registerService } from './devTools.js';\nimport { provide, consume } from './serviceScope.js';\nimport { spawnBehavior } from './behaviors.js';\n\nvar DEFAULT_SPAWN_OPTIONS = {\n sync: false,\n autoForward: false\n};\nvar InterpreterStatus;\n\n(function (InterpreterStatus) {\n InterpreterStatus[InterpreterStatus[\"NotStarted\"] = 0] = \"NotStarted\";\n InterpreterStatus[InterpreterStatus[\"Running\"] = 1] = \"Running\";\n InterpreterStatus[InterpreterStatus[\"Stopped\"] = 2] = \"Stopped\";\n})(InterpreterStatus || (InterpreterStatus = {}));\n\nvar Interpreter =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n /**\r\n * Creates a new Interpreter instance (i.e., service) for the given machine with the provided options, if any.\r\n *\r\n * @param machine The machine to be interpreted\r\n * @param options Interpreter options\r\n */\n function Interpreter(machine, options) {\n if (options === void 0) {\n options = Interpreter.defaultOptions;\n }\n\n var _this = this;\n\n this.machine = machine;\n this.delayedEventsMap = {};\n this.listeners = new Set();\n this.contextListeners = new Set();\n this.stopListeners = new Set();\n this.doneListeners = new Set();\n this.eventListeners = new Set();\n this.sendListeners = new Set();\n /**\r\n * Whether the service is started.\r\n */\n\n this.initialized = false;\n this.status = InterpreterStatus.NotStarted;\n this.children = new Map();\n this.forwardTo = new Set();\n this._outgoingQueue = [];\n /**\r\n * Alias for Interpreter.prototype.start\r\n */\n\n this.init = this.start;\n /**\r\n * Sends an event to the running interpreter to trigger a transition.\r\n *\r\n * An array of events (batched) can be sent as well, which will send all\r\n * batched events to the running interpreter. The listeners will be\r\n * notified only **once** when all events are processed.\r\n *\r\n * @param event The event(s) to send\r\n */\n\n this.send = function (event, payload) {\n if (isArray(event)) {\n _this.batch(event);\n\n return _this.state;\n }\n\n var _event = toSCXMLEvent(toEventObject(event, payload));\n\n if (_this.status === InterpreterStatus.Stopped) {\n // do nothing\n if (!IS_PRODUCTION) {\n warn(false, \"Event \\\"\".concat(_event.name, \"\\\" was sent to stopped service \\\"\").concat(_this.machine.id, \"\\\". This service has already reached its final state, and will not transition.\\nEvent: \").concat(JSON.stringify(_event.data)));\n }\n\n return _this.state;\n }\n\n if (_this.status !== InterpreterStatus.Running && !_this.options.deferEvents) {\n throw new Error(\"Event \\\"\".concat(_event.name, \"\\\" was sent to uninitialized service \\\"\").concat(_this.machine.id // tslint:disable-next-line:max-line-length\n , \"\\\". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.\\nEvent: \").concat(JSON.stringify(_event.data)));\n }\n\n _this.scheduler.schedule(function () {\n // Forward copy of event to child actors\n _this.forward(_event);\n\n var nextState = _this._nextState(_event);\n\n _this.update(nextState, _event);\n });\n\n return _this._state; // TODO: deprecate (should return void)\n // tslint:disable-next-line:semicolon\n };\n\n this.sendTo = function (event, to, immediate) {\n var isParent = _this.parent && (to === SpecialTargets.Parent || _this.parent.id === to);\n var target = isParent ? _this.parent : isString(to) ? _this.children.get(to) || registry.get(to) : isActor(to) ? to : undefined;\n\n if (!target) {\n if (!isParent) {\n throw new Error(\"Unable to send event to child '\".concat(to, \"' from service '\").concat(_this.id, \"'.\"));\n } // tslint:disable-next-line:no-console\n\n\n if (!IS_PRODUCTION) {\n warn(false, \"Service '\".concat(_this.id, \"' has no parent: unable to send event \").concat(event.type));\n }\n\n return;\n }\n\n if ('machine' in target) {\n // perhaps those events should be rejected in the parent\n // but atm it doesn't have easy access to all of the information that is required to do it reliably\n if (_this.status !== InterpreterStatus.Stopped || _this.parent !== target || // we need to send events to the parent from exit handlers of a machine that reached its final state\n _this.state.done) {\n // Send SCXML events to machines\n var scxmlEvent = __assign(__assign({}, event), {\n name: event.name === error$1 ? \"\".concat(error(_this.id)) : event.name,\n origin: _this.sessionId\n });\n\n if (!immediate && _this.machine.config.predictableActionArguments) {\n _this._outgoingQueue.push([target, scxmlEvent]);\n } else {\n target.send(scxmlEvent);\n }\n }\n } else {\n // Send normal events to other targets\n if (!immediate && _this.machine.config.predictableActionArguments) {\n _this._outgoingQueue.push([target, event.data]);\n } else {\n target.send(event.data);\n }\n }\n };\n\n this._exec = function (action, context, _event, actionFunctionMap) {\n if (actionFunctionMap === void 0) {\n actionFunctionMap = _this.machine.options.actions;\n }\n\n var actionOrExec = action.exec || getActionFunction(action.type, actionFunctionMap);\n var exec = isFunction(actionOrExec) ? actionOrExec : actionOrExec ? actionOrExec.exec : action.exec;\n\n if (exec) {\n try {\n return exec(context, _event.data, !_this.machine.config.predictableActionArguments ? {\n action: action,\n state: _this.state,\n _event: _event\n } : {\n action: action,\n _event: _event\n });\n } catch (err) {\n if (_this.parent) {\n _this.parent.send({\n type: 'xstate.error',\n data: err\n });\n }\n\n throw err;\n }\n }\n\n switch (action.type) {\n case send:\n var sendAction = action;\n\n if (typeof sendAction.delay === 'number') {\n _this.defer(sendAction);\n\n return;\n } else {\n if (sendAction.to) {\n _this.sendTo(sendAction._event, sendAction.to, _event === initEvent);\n } else {\n _this.send(sendAction._event);\n }\n }\n\n break;\n\n case cancel:\n _this.cancel(action.sendId);\n\n break;\n\n case start:\n {\n if (_this.status !== InterpreterStatus.Running) {\n return;\n }\n\n var activity = action.activity; // If the activity will be stopped right after it's started\n // (such as in transient states)\n // don't bother starting the activity.\n\n if ( // in v4 with `predictableActionArguments` invokes are called eagerly when the `this.state` still points to the previous state\n !_this.machine.config.predictableActionArguments && !_this.state.activities[activity.id || activity.type]) {\n break;\n } // Invoked services\n\n\n if (activity.type === ActionTypes.Invoke) {\n var invokeSource = toInvokeSource(activity.src);\n var serviceCreator = _this.machine.options.services ? _this.machine.options.services[invokeSource.type] : undefined;\n var id = activity.id,\n data = activity.data;\n\n if (!IS_PRODUCTION) {\n warn(!('forward' in activity), // tslint:disable-next-line:max-line-length\n \"`forward` property is deprecated (found in invocation of '\".concat(activity.src, \"' in in machine '\").concat(_this.machine.id, \"'). \") + \"Please use `autoForward` instead.\");\n }\n\n var autoForward = 'autoForward' in activity ? activity.autoForward : !!activity.forward;\n\n if (!serviceCreator) {\n // tslint:disable-next-line:no-console\n if (!IS_PRODUCTION) {\n warn(false, \"No service found for invocation '\".concat(activity.src, \"' in machine '\").concat(_this.machine.id, \"'.\"));\n }\n\n return;\n }\n\n var resolvedData = data ? mapContext(data, context, _event) : undefined;\n\n if (typeof serviceCreator === 'string') {\n // TODO: warn\n return;\n }\n\n var source = isFunction(serviceCreator) ? serviceCreator(context, _event.data, {\n data: resolvedData,\n src: invokeSource,\n meta: activity.meta\n }) : serviceCreator;\n\n if (!source) {\n // TODO: warn?\n return;\n }\n\n var options = void 0;\n\n if (isMachine(source)) {\n source = resolvedData ? source.withContext(resolvedData) : source;\n options = {\n autoForward: autoForward\n };\n }\n\n _this.spawn(source, id, options);\n } else {\n _this.spawnActivity(activity);\n }\n\n break;\n }\n\n case stop:\n {\n _this.stopChild(action.activity.id);\n\n break;\n }\n\n case log:\n var label = action.label,\n value = action.value;\n\n if (label) {\n _this.logger(label, value);\n } else {\n _this.logger(value);\n }\n\n break;\n\n default:\n if (!IS_PRODUCTION) {\n warn(false, \"No implementation found for action type '\".concat(action.type, \"'\"));\n }\n\n break;\n }\n };\n\n var resolvedOptions = __assign(__assign({}, Interpreter.defaultOptions), options);\n\n var clock = resolvedOptions.clock,\n logger = resolvedOptions.logger,\n parent = resolvedOptions.parent,\n id = resolvedOptions.id;\n var resolvedId = id !== undefined ? id : machine.id;\n this.id = resolvedId;\n this.logger = logger;\n this.clock = clock;\n this.parent = parent;\n this.options = resolvedOptions;\n this.scheduler = new Scheduler({\n deferEvents: this.options.deferEvents\n });\n this.sessionId = registry.bookId();\n }\n\n Object.defineProperty(Interpreter.prototype, \"initialState\", {\n get: function () {\n var _this = this;\n\n if (this._initialState) {\n return this._initialState;\n }\n\n return provide(this, function () {\n _this._initialState = _this.machine.initialState;\n return _this._initialState;\n });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Interpreter.prototype, \"state\", {\n /**\r\n * @deprecated Use `.getSnapshot()` instead.\r\n */\n get: function () {\n if (!IS_PRODUCTION) {\n warn(this.status !== InterpreterStatus.NotStarted, \"Attempted to read state from uninitialized service '\".concat(this.id, \"'. Make sure the service is started first.\"));\n }\n\n return this._state;\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Executes the actions of the given state, with that state's `context` and `event`.\r\n *\r\n * @param state The state whose actions will be executed\r\n * @param actionsConfig The action implementations to use\r\n */\n\n Interpreter.prototype.execute = function (state, actionsConfig) {\n var e_1, _a;\n\n try {\n for (var _b = __values(state.actions), _c = _b.next(); !_c.done; _c = _b.next()) {\n var action = _c.value;\n this.exec(action, state, actionsConfig);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n };\n\n Interpreter.prototype.update = function (state, _event) {\n var e_2, _a, e_3, _b, e_4, _c, e_5, _d;\n\n var _this = this; // Attach session ID to state\n\n\n state._sessionid = this.sessionId; // Update state\n\n this._state = state; // Execute actions\n\n if ((!this.machine.config.predictableActionArguments || // this is currently required to execute initial actions as the `initialState` gets cached\n // we can't just recompute it (and execute actions while doing so) because we try to preserve identity of actors created within initial assigns\n _event === initEvent) && this.options.execute) {\n this.execute(this.state);\n } else {\n var item = void 0;\n\n while (item = this._outgoingQueue.shift()) {\n item[0].send(item[1]);\n }\n } // Update children\n\n\n this.children.forEach(function (child) {\n _this.state.children[child.id] = child;\n }); // Dev tools\n\n if (this.devTools) {\n this.devTools.send(_event.data, state);\n } // Execute listeners\n\n\n if (state.event) {\n try {\n for (var _e = __values(this.eventListeners), _f = _e.next(); !_f.done; _f = _e.next()) {\n var listener = _f.value;\n listener(state.event);\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_a = _e.return)) _a.call(_e);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n }\n\n try {\n for (var _g = __values(this.listeners), _h = _g.next(); !_h.done; _h = _g.next()) {\n var listener = _h.value;\n listener(state, state.event);\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_h && !_h.done && (_b = _g.return)) _b.call(_g);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n try {\n for (var _j = __values(this.contextListeners), _k = _j.next(); !_k.done; _k = _j.next()) {\n var contextListener = _k.value;\n contextListener(this.state.context, this.state.history ? this.state.history.context : undefined);\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (_k && !_k.done && (_c = _j.return)) _c.call(_j);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n if (this.state.done) {\n // get final child state node\n var finalChildStateNode = state.configuration.find(function (sn) {\n return sn.type === 'final' && sn.parent === _this.machine;\n });\n var doneData = finalChildStateNode && finalChildStateNode.doneData ? mapContext(finalChildStateNode.doneData, state.context, _event) : undefined;\n\n try {\n for (var _l = __values(this.doneListeners), _m = _l.next(); !_m.done; _m = _l.next()) {\n var listener = _m.value;\n listener(doneInvoke(this.id, doneData));\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (_m && !_m.done && (_d = _l.return)) _d.call(_l);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n this._stop();\n\n this._stopChildren();\n }\n };\n /*\r\n * Adds a listener that is notified whenever a state transition happens. The listener is called with\r\n * the next state and the event object that caused the state transition.\r\n *\r\n * @param listener The state listener\r\n */\n\n\n Interpreter.prototype.onTransition = function (listener) {\n this.listeners.add(listener); // Send current state to listener\n\n if (this.status === InterpreterStatus.Running) {\n listener(this.state, this.state.event);\n }\n\n return this;\n };\n\n Interpreter.prototype.subscribe = function (nextListenerOrObserver, _, // TODO: error listener\n completeListener) {\n var _this = this;\n\n var observer = toObserver(nextListenerOrObserver, _, completeListener);\n this.listeners.add(observer.next); // Send current state to listener\n\n if (this.status !== InterpreterStatus.NotStarted) {\n observer.next(this.state);\n }\n\n var completeOnce = function () {\n _this.doneListeners.delete(completeOnce);\n\n _this.stopListeners.delete(completeOnce);\n\n observer.complete();\n };\n\n if (this.status === InterpreterStatus.Stopped) {\n observer.complete();\n } else {\n this.onDone(completeOnce);\n this.onStop(completeOnce);\n }\n\n return {\n unsubscribe: function () {\n _this.listeners.delete(observer.next);\n\n _this.doneListeners.delete(completeOnce);\n\n _this.stopListeners.delete(completeOnce);\n }\n };\n };\n /**\r\n * Adds an event listener that is notified whenever an event is sent to the running interpreter.\r\n * @param listener The event listener\r\n */\n\n\n Interpreter.prototype.onEvent = function (listener) {\n this.eventListeners.add(listener);\n return this;\n };\n /**\r\n * Adds an event listener that is notified whenever a `send` event occurs.\r\n * @param listener The event listener\r\n */\n\n\n Interpreter.prototype.onSend = function (listener) {\n this.sendListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a context listener that is notified whenever the state context changes.\r\n * @param listener The context listener\r\n */\n\n\n Interpreter.prototype.onChange = function (listener) {\n this.contextListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a listener that is notified when the machine is stopped.\r\n * @param listener The listener\r\n */\n\n\n Interpreter.prototype.onStop = function (listener) {\n this.stopListeners.add(listener);\n return this;\n };\n /**\r\n * Adds a state listener that is notified when the statechart has reached its final state.\r\n * @param listener The state listener\r\n */\n\n\n Interpreter.prototype.onDone = function (listener) {\n this.doneListeners.add(listener);\n return this;\n };\n /**\r\n * Removes a listener.\r\n * @param listener The listener to remove\r\n */\n\n\n Interpreter.prototype.off = function (listener) {\n this.listeners.delete(listener);\n this.eventListeners.delete(listener);\n this.sendListeners.delete(listener);\n this.stopListeners.delete(listener);\n this.doneListeners.delete(listener);\n this.contextListeners.delete(listener);\n return this;\n };\n /**\r\n * Starts the interpreter from the given state, or the initial state.\r\n * @param initialState The state to start the statechart from\r\n */\n\n\n Interpreter.prototype.start = function (initialState) {\n var _this = this;\n\n if (this.status === InterpreterStatus.Running) {\n // Do not restart the service if it is already started\n return this;\n } // yes, it's a hack but we need the related cache to be populated for some things to work (like delayed transitions)\n // this is usually called by `machine.getInitialState` but if we rehydrate from a state we might bypass this call\n // we also don't want to call this method here as it resolves the full initial state which might involve calling assign actions\n // and that could potentially lead to some unwanted side-effects (even such as creating some rogue actors)\n\n\n this.machine._init();\n\n registry.register(this.sessionId, this);\n this.initialized = true;\n this.status = InterpreterStatus.Running;\n var resolvedState = initialState === undefined ? this.initialState : provide(this, function () {\n return isStateConfig(initialState) ? _this.machine.resolveState(initialState) : _this.machine.resolveState(State.from(initialState, _this.machine.context));\n });\n\n if (this.options.devTools) {\n this.attachDev();\n }\n\n this.scheduler.initialize(function () {\n _this.update(resolvedState, initEvent);\n });\n return this;\n };\n\n Interpreter.prototype._stopChildren = function () {\n // TODO: think about converting those to actions\n this.children.forEach(function (child) {\n if (isFunction(child.stop)) {\n child.stop();\n }\n });\n this.children.clear();\n };\n\n Interpreter.prototype._stop = function () {\n var e_6, _a, e_7, _b, e_8, _c, e_9, _d, e_10, _e;\n\n try {\n for (var _f = __values(this.listeners), _g = _f.next(); !_g.done; _g = _f.next()) {\n var listener = _g.value;\n this.listeners.delete(listener);\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (_g && !_g.done && (_a = _f.return)) _a.call(_f);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n try {\n for (var _h = __values(this.stopListeners), _j = _h.next(); !_j.done; _j = _h.next()) {\n var listener = _j.value; // call listener, then remove\n\n listener();\n this.stopListeners.delete(listener);\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (_j && !_j.done && (_b = _h.return)) _b.call(_h);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n\n try {\n for (var _k = __values(this.contextListeners), _l = _k.next(); !_l.done; _l = _k.next()) {\n var listener = _l.value;\n this.contextListeners.delete(listener);\n }\n } catch (e_8_1) {\n e_8 = {\n error: e_8_1\n };\n } finally {\n try {\n if (_l && !_l.done && (_c = _k.return)) _c.call(_k);\n } finally {\n if (e_8) throw e_8.error;\n }\n }\n\n try {\n for (var _m = __values(this.doneListeners), _o = _m.next(); !_o.done; _o = _m.next()) {\n var listener = _o.value;\n this.doneListeners.delete(listener);\n }\n } catch (e_9_1) {\n e_9 = {\n error: e_9_1\n };\n } finally {\n try {\n if (_o && !_o.done && (_d = _m.return)) _d.call(_m);\n } finally {\n if (e_9) throw e_9.error;\n }\n }\n\n if (!this.initialized) {\n // Interpreter already stopped; do nothing\n return this;\n }\n\n this.initialized = false;\n this.status = InterpreterStatus.Stopped;\n this._initialState = undefined;\n\n try {\n // we are going to stop within the current sync frame\n // so we can safely just cancel this here as nothing async should be fired anyway\n for (var _p = __values(Object.keys(this.delayedEventsMap)), _q = _p.next(); !_q.done; _q = _p.next()) {\n var key = _q.value;\n this.clock.clearTimeout(this.delayedEventsMap[key]);\n }\n } catch (e_10_1) {\n e_10 = {\n error: e_10_1\n };\n } finally {\n try {\n if (_q && !_q.done && (_e = _p.return)) _e.call(_p);\n } finally {\n if (e_10) throw e_10.error;\n }\n } // clear everything that might be enqueued\n\n\n this.scheduler.clear();\n this.scheduler = new Scheduler({\n deferEvents: this.options.deferEvents\n });\n };\n /**\r\n * Stops the interpreter and unsubscribe all listeners.\r\n *\r\n * This will also notify the `onStop` listeners.\r\n */\n\n\n Interpreter.prototype.stop = function () {\n // TODO: add warning for stopping non-root interpreters\n var _this = this; // grab the current scheduler as it will be replaced in _stop\n\n\n var scheduler = this.scheduler;\n\n this._stop(); // let what is currently processed to be finished\n\n\n scheduler.schedule(function () {\n // it feels weird to handle this here but we need to handle this even slightly \"out of band\"\n var _event = toSCXMLEvent({\n type: 'xstate.stop'\n });\n\n var nextState = provide(_this, function () {\n var exitActions = flatten(__spreadArray([], __read(_this.state.configuration), false).sort(function (a, b) {\n return b.order - a.order;\n }).map(function (stateNode) {\n return toActionObjects(stateNode.onExit, _this.machine.options.actions);\n }));\n\n var _a = __read(resolveActions(_this.machine, _this.state, _this.state.context, _event, [exitActions], _this.machine.config.predictableActionArguments ? _this._exec : undefined, _this.machine.config.predictableActionArguments || _this.machine.config.preserveActionOrder), 2),\n resolvedActions = _a[0],\n updatedContext = _a[1];\n\n var newState = new State({\n value: _this.state.value,\n context: updatedContext,\n _event: _event,\n _sessionid: _this.sessionId,\n historyValue: undefined,\n history: _this.state,\n actions: resolvedActions.filter(function (action) {\n return action.type !== raise && (action.type !== send || !!action.to && action.to !== SpecialTargets.Internal);\n }),\n activities: {},\n events: [],\n configuration: [],\n transitions: [],\n children: {},\n done: _this.state.done,\n tags: _this.state.tags,\n machine: _this.machine\n });\n newState.changed = true;\n return newState;\n });\n\n _this.update(nextState, _event);\n\n _this._stopChildren();\n\n registry.free(_this.sessionId);\n });\n return this;\n };\n\n Interpreter.prototype.batch = function (events) {\n var _this = this;\n\n if (this.status === InterpreterStatus.NotStarted && this.options.deferEvents) {\n // tslint:disable-next-line:no-console\n if (!IS_PRODUCTION) {\n warn(false, \"\".concat(events.length, \" event(s) were sent to uninitialized service \\\"\").concat(this.machine.id, \"\\\" and are deferred. Make sure .start() is called for this service.\\nEvent: \").concat(JSON.stringify(event)));\n }\n } else if (this.status !== InterpreterStatus.Running) {\n throw new Error( // tslint:disable-next-line:max-line-length\n \"\".concat(events.length, \" event(s) were sent to uninitialized service \\\"\").concat(this.machine.id, \"\\\". Make sure .start() is called for this service, or set { deferEvents: true } in the service options.\"));\n }\n\n if (!events.length) {\n return;\n }\n\n var exec = !!this.machine.config.predictableActionArguments && this._exec;\n this.scheduler.schedule(function () {\n var e_11, _a;\n\n var nextState = _this.state;\n var batchChanged = false;\n var batchedActions = [];\n\n var _loop_1 = function (event_1) {\n var _event = toSCXMLEvent(event_1);\n\n _this.forward(_event);\n\n nextState = provide(_this, function () {\n return _this.machine.transition(nextState, _event, undefined, exec || undefined);\n });\n batchedActions.push.apply(batchedActions, __spreadArray([], __read(_this.machine.config.predictableActionArguments ? nextState.actions : nextState.actions.map(function (a) {\n return bindActionToState(a, nextState);\n })), false));\n batchChanged = batchChanged || !!nextState.changed;\n };\n\n try {\n for (var events_1 = __values(events), events_1_1 = events_1.next(); !events_1_1.done; events_1_1 = events_1.next()) {\n var event_1 = events_1_1.value;\n\n _loop_1(event_1);\n }\n } catch (e_11_1) {\n e_11 = {\n error: e_11_1\n };\n } finally {\n try {\n if (events_1_1 && !events_1_1.done && (_a = events_1.return)) _a.call(events_1);\n } finally {\n if (e_11) throw e_11.error;\n }\n }\n\n nextState.changed = batchChanged;\n nextState.actions = batchedActions;\n\n _this.update(nextState, toSCXMLEvent(events[events.length - 1]));\n });\n };\n /**\r\n * Returns a send function bound to this interpreter instance.\r\n *\r\n * @param event The event to be sent by the sender.\r\n */\n\n\n Interpreter.prototype.sender = function (event) {\n return this.send.bind(this, event);\n };\n\n Interpreter.prototype._nextState = function (event, exec) {\n var _this = this;\n\n if (exec === void 0) {\n exec = !!this.machine.config.predictableActionArguments && this._exec;\n }\n\n var _event = toSCXMLEvent(event);\n\n if (_event.name.indexOf(errorPlatform) === 0 && !this.state.nextEvents.some(function (nextEvent) {\n return nextEvent.indexOf(errorPlatform) === 0;\n })) {\n throw _event.data.data;\n }\n\n var nextState = provide(this, function () {\n return _this.machine.transition(_this.state, _event, undefined, exec || undefined);\n });\n return nextState;\n };\n /**\r\n * Returns the next state given the interpreter's current state and the event.\r\n *\r\n * This is a pure method that does _not_ update the interpreter's state.\r\n *\r\n * @param event The event to determine the next state\r\n */\n\n\n Interpreter.prototype.nextState = function (event) {\n return this._nextState(event, false);\n };\n\n Interpreter.prototype.forward = function (event) {\n var e_12, _a;\n\n try {\n for (var _b = __values(this.forwardTo), _c = _b.next(); !_c.done; _c = _b.next()) {\n var id = _c.value;\n var child = this.children.get(id);\n\n if (!child) {\n throw new Error(\"Unable to forward event '\".concat(event, \"' from interpreter '\").concat(this.id, \"' to nonexistant child '\").concat(id, \"'.\"));\n }\n\n child.send(event);\n }\n } catch (e_12_1) {\n e_12 = {\n error: e_12_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_12) throw e_12.error;\n }\n }\n };\n\n Interpreter.prototype.defer = function (sendAction) {\n var _this = this;\n\n this.delayedEventsMap[sendAction.id] = this.clock.setTimeout(function () {\n if (sendAction.to) {\n _this.sendTo(sendAction._event, sendAction.to, true);\n } else {\n _this.send(sendAction._event);\n }\n }, sendAction.delay);\n };\n\n Interpreter.prototype.cancel = function (sendId) {\n this.clock.clearTimeout(this.delayedEventsMap[sendId]);\n delete this.delayedEventsMap[sendId];\n };\n\n Interpreter.prototype.exec = function (action, state, actionFunctionMap) {\n if (actionFunctionMap === void 0) {\n actionFunctionMap = this.machine.options.actions;\n }\n\n this._exec(action, state.context, state._event, actionFunctionMap);\n };\n\n Interpreter.prototype.removeChild = function (childId) {\n var _a;\n\n this.children.delete(childId);\n this.forwardTo.delete(childId); // this.state might not exist at the time this is called,\n // such as when a child is added then removed while initializing the state\n\n (_a = this.state) === null || _a === void 0 ? true : delete _a.children[childId];\n };\n\n Interpreter.prototype.stopChild = function (childId) {\n var child = this.children.get(childId);\n\n if (!child) {\n return;\n }\n\n this.removeChild(childId);\n\n if (isFunction(child.stop)) {\n child.stop();\n }\n };\n\n Interpreter.prototype.spawn = function (entity, name, options) {\n if (this.status !== InterpreterStatus.Running) {\n return createDeferredActor(entity, name);\n }\n\n if (isPromiseLike(entity)) {\n return this.spawnPromise(Promise.resolve(entity), name);\n } else if (isFunction(entity)) {\n return this.spawnCallback(entity, name);\n } else if (isSpawnedActor(entity)) {\n return this.spawnActor(entity, name);\n } else if (isObservable(entity)) {\n return this.spawnObservable(entity, name);\n } else if (isMachine(entity)) {\n return this.spawnMachine(entity, __assign(__assign({}, options), {\n id: name\n }));\n } else if (isBehavior(entity)) {\n return this.spawnBehavior(entity, name);\n } else {\n throw new Error(\"Unable to spawn entity \\\"\".concat(name, \"\\\" of type \\\"\").concat(typeof entity, \"\\\".\"));\n }\n };\n\n Interpreter.prototype.spawnMachine = function (machine, options) {\n var _this = this;\n\n if (options === void 0) {\n options = {};\n }\n\n var childService = new Interpreter(machine, __assign(__assign({}, this.options), {\n parent: this,\n id: options.id || machine.id\n }));\n\n var resolvedOptions = __assign(__assign({}, DEFAULT_SPAWN_OPTIONS), options);\n\n if (resolvedOptions.sync) {\n childService.onTransition(function (state) {\n _this.send(update, {\n state: state,\n id: childService.id\n });\n });\n }\n\n var actor = childService;\n this.children.set(childService.id, actor);\n\n if (resolvedOptions.autoForward) {\n this.forwardTo.add(childService.id);\n }\n\n childService.onDone(function (doneEvent) {\n _this.removeChild(childService.id);\n\n _this.send(toSCXMLEvent(doneEvent, {\n origin: childService.id\n }));\n }).start();\n return actor;\n };\n\n Interpreter.prototype.spawnBehavior = function (behavior, id) {\n var actorRef = spawnBehavior(behavior, {\n id: id,\n parent: this\n });\n this.children.set(id, actorRef);\n return actorRef;\n };\n\n Interpreter.prototype.spawnPromise = function (promise, id) {\n var _a;\n\n var _this = this;\n\n var canceled = false;\n var resolvedData;\n promise.then(function (response) {\n if (!canceled) {\n resolvedData = response;\n\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(doneInvoke(id, response), {\n origin: id\n }));\n }\n }, function (errorData) {\n if (!canceled) {\n _this.removeChild(id);\n\n var errorEvent = error(id, errorData);\n\n try {\n // Send \"error.platform.id\" to this (parent).\n _this.send(toSCXMLEvent(errorEvent, {\n origin: id\n }));\n } catch (error) {\n reportUnhandledExceptionOnInvocation(errorData, error, id);\n\n if (_this.devTools) {\n _this.devTools.send(errorEvent, _this.state);\n }\n\n if (_this.machine.strict) {\n // it would be better to always stop the state machine if unhandled\n // exception/promise rejection happens but because we don't want to\n // break existing code so enforce it on strict mode only especially so\n // because documentation says that onError is optional\n _this.stop();\n }\n }\n }\n });\n var actor = (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function (next, handleError, complete) {\n var observer = toObserver(next, handleError, complete);\n var unsubscribed = false;\n promise.then(function (response) {\n if (unsubscribed) {\n return;\n }\n\n observer.next(response);\n\n if (unsubscribed) {\n return;\n }\n\n observer.complete();\n }, function (err) {\n if (unsubscribed) {\n return;\n }\n\n observer.error(err);\n });\n return {\n unsubscribe: function () {\n return unsubscribed = true;\n }\n };\n },\n stop: function () {\n canceled = true;\n },\n toJSON: function () {\n return {\n id: id\n };\n },\n getSnapshot: function () {\n return resolvedData;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnCallback = function (callback, id) {\n var _a;\n\n var _this = this;\n\n var canceled = false;\n var receivers = new Set();\n var listeners = new Set();\n var emitted;\n\n var receive = function (e) {\n emitted = e;\n listeners.forEach(function (listener) {\n return listener(e);\n });\n\n if (canceled) {\n return;\n }\n\n _this.send(toSCXMLEvent(e, {\n origin: id\n }));\n };\n\n var callbackStop;\n\n try {\n callbackStop = callback(receive, function (newListener) {\n receivers.add(newListener);\n });\n } catch (err) {\n this.send(error(id, err));\n }\n\n if (isPromiseLike(callbackStop)) {\n // it turned out to be an async function, can't reliably check this before calling `callback`\n // because transpiled async functions are not recognizable\n return this.spawnPromise(callbackStop, id);\n }\n\n var actor = (_a = {\n id: id,\n send: function (event) {\n return receivers.forEach(function (receiver) {\n return receiver(event);\n });\n },\n subscribe: function (next) {\n var observer = toObserver(next);\n listeners.add(observer.next);\n return {\n unsubscribe: function () {\n listeners.delete(observer.next);\n }\n };\n },\n stop: function () {\n canceled = true;\n\n if (isFunction(callbackStop)) {\n callbackStop();\n }\n },\n toJSON: function () {\n return {\n id: id\n };\n },\n getSnapshot: function () {\n return emitted;\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnObservable = function (source, id) {\n var _a;\n\n var _this = this;\n\n var emitted;\n var subscription = source.subscribe(function (value) {\n emitted = value;\n\n _this.send(toSCXMLEvent(value, {\n origin: id\n }));\n }, function (err) {\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(error(id, err), {\n origin: id\n }));\n }, function () {\n _this.removeChild(id);\n\n _this.send(toSCXMLEvent(doneInvoke(id), {\n origin: id\n }));\n });\n var actor = (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function (next, handleError, complete) {\n return source.subscribe(next, handleError, complete);\n },\n stop: function () {\n return subscription.unsubscribe();\n },\n getSnapshot: function () {\n return emitted;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a);\n this.children.set(id, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnActor = function (actor, name) {\n this.children.set(name, actor);\n return actor;\n };\n\n Interpreter.prototype.spawnActivity = function (activity) {\n var implementation = this.machine.options && this.machine.options.activities ? this.machine.options.activities[activity.type] : undefined;\n\n if (!implementation) {\n if (!IS_PRODUCTION) {\n warn(false, \"No implementation found for activity '\".concat(activity.type, \"'\"));\n } // tslint:disable-next-line:no-console\n\n\n return;\n } // Start implementation\n\n\n var dispose = implementation(this.state.context, activity);\n this.spawnEffect(activity.id, dispose);\n };\n\n Interpreter.prototype.spawnEffect = function (id, dispose) {\n var _a;\n\n this.children.set(id, (_a = {\n id: id,\n send: function () {\n return void 0;\n },\n subscribe: function () {\n return {\n unsubscribe: function () {\n return void 0;\n }\n };\n },\n stop: dispose || undefined,\n getSnapshot: function () {\n return undefined;\n },\n toJSON: function () {\n return {\n id: id\n };\n }\n }, _a[symbolObservable] = function () {\n return this;\n }, _a));\n };\n\n Interpreter.prototype.attachDev = function () {\n var global = getGlobal();\n\n if (this.options.devTools && global) {\n if (global.__REDUX_DEVTOOLS_EXTENSION__) {\n var devToolsOptions = typeof this.options.devTools === 'object' ? this.options.devTools : undefined;\n this.devTools = global.__REDUX_DEVTOOLS_EXTENSION__.connect(__assign(__assign({\n name: this.id,\n autoPause: true,\n stateSanitizer: function (state) {\n return {\n value: state.value,\n context: state.context,\n actions: state.actions\n };\n }\n }, devToolsOptions), {\n features: __assign({\n jump: false,\n skip: false\n }, devToolsOptions ? devToolsOptions.features : undefined)\n }), this.machine);\n this.devTools.init(this.state);\n } // add XState-specific dev tooling hook\n\n\n registerService(this);\n }\n };\n\n Interpreter.prototype.toJSON = function () {\n return {\n id: this.id\n };\n };\n\n Interpreter.prototype[symbolObservable] = function () {\n return this;\n };\n\n Interpreter.prototype.getSnapshot = function () {\n if (this.status === InterpreterStatus.NotStarted) {\n return this.initialState;\n }\n\n return this._state;\n };\n /**\r\n * The default interpreter options:\r\n *\r\n * - `clock` uses the global `setTimeout` and `clearTimeout` functions\r\n * - `logger` uses the global `console.log()` method\r\n */\n\n\n Interpreter.defaultOptions = {\n execute: true,\n deferEvents: true,\n clock: {\n setTimeout: function (fn, ms) {\n return setTimeout(fn, ms);\n },\n clearTimeout: function (id) {\n return clearTimeout(id);\n }\n },\n logger: /*#__PURE__*/console.log.bind(console),\n devTools: false\n };\n Interpreter.interpret = interpret;\n return Interpreter;\n}();\n\nvar resolveSpawnOptions = function (nameOrOptions) {\n if (isString(nameOrOptions)) {\n return __assign(__assign({}, DEFAULT_SPAWN_OPTIONS), {\n name: nameOrOptions\n });\n }\n\n return __assign(__assign(__assign({}, DEFAULT_SPAWN_OPTIONS), {\n name: uniqueId()\n }), nameOrOptions);\n};\n\nfunction spawn(entity, nameOrOptions) {\n var resolvedOptions = resolveSpawnOptions(nameOrOptions);\n return consume(function (service) {\n if (!IS_PRODUCTION) {\n var isLazyEntity = isMachine(entity) || isFunction(entity);\n warn(!!service || isLazyEntity, \"Attempted to spawn an Actor (ID: \\\"\".concat(isMachine(entity) ? entity.id : 'undefined', \"\\\") outside of a service. This will have no effect.\"));\n }\n\n if (service) {\n return service.spawn(entity, resolvedOptions.name, resolvedOptions);\n } else {\n return createDeferredActor(entity, resolvedOptions.name);\n }\n });\n}\n/**\r\n * Creates a new Interpreter instance for the given machine with the provided options, if any.\r\n *\r\n * @param machine The machine to interpret\r\n * @param options Interpreter options\r\n */\n\nfunction interpret(machine, options) {\n var interpreter = new Interpreter(machine, options);\n return interpreter;\n}\n\nexport { Interpreter, InterpreterStatus, interpret, spawn };\n","import { __assign, __rest } from './_virtual/_tslib.js';\nimport './types.js';\nimport { invoke } from './actionTypes.js';\nimport './utils.js';\nimport './environment.js';\n\nfunction toInvokeSource(src) {\n if (typeof src === 'string') {\n var simpleSrc = {\n type: src\n };\n\n simpleSrc.toString = function () {\n return src;\n }; // v4 compat - TODO: remove in v5\n\n\n return simpleSrc;\n }\n\n return src;\n}\nfunction toInvokeDefinition(invokeConfig) {\n return __assign(__assign({\n type: invoke\n }, invokeConfig), {\n toJSON: function () {\n invokeConfig.onDone;\n invokeConfig.onError;\n var invokeDef = __rest(invokeConfig, [\"onDone\", \"onError\"]);\n\n return __assign(__assign({}, invokeDef), {\n type: invoke,\n src: toInvokeSource(invokeConfig.src)\n });\n }\n });\n}\n\nexport { toInvokeDefinition, toInvokeSource };\n","import { __assign, __spreadArray, __read, __values, __rest } from './_virtual/_tslib.js';\nimport { isFunction, mapValues, isArray, flatten, toArray, toStateValue, isString, getEventType, toSCXMLEvent, matchesState, path, evaluateGuard, mapContext, pathToStateValue, isBuiltInEvent, partition, updateHistoryValue, toStatePath, mapFilterValues, warn, toStatePaths, nestedPath, normalizeTarget, toGuard, toTransitionConfigArray, isMachine, createInvokeId } from './utils.js';\nimport { SpecialTargets } from './types.js';\nimport { State, stateValuesEqual } from './State.js';\nimport { raise as raise$1, send, start as start$1, stop as stop$1, invoke, update, nullEvent } from './actionTypes.js';\nimport { done, start, toActionObjects, raise, stop, resolveActions, doneInvoke, error, toActionObject, toActivityDefinition, after, send as send$1, cancel, initEvent } from './actions.js';\nimport { IS_PRODUCTION } from './environment.js';\nimport { STATE_DELIMITER } from './constants.js';\nimport { getAllStateNodes, getConfiguration, isInFinalState, getTagsFromConfiguration, has, getChildren, getValue, isLeafNode, getAllChildren } from './stateUtils.js';\nimport { createInvocableActor } from './Actor.js';\nimport { toInvokeDefinition } from './invokeUtils.js';\n\nvar NULL_EVENT = '';\nvar STATE_IDENTIFIER = '#';\nvar WILDCARD = '*';\nvar EMPTY_OBJECT = {};\n\nvar isStateId = function (str) {\n return str[0] === STATE_IDENTIFIER;\n};\n\nvar createDefaultOptions = function () {\n return {\n actions: {},\n guards: {},\n services: {},\n activities: {},\n delays: {}\n };\n};\n\nvar validateArrayifiedTransitions = function (stateNode, event, transitions) {\n var hasNonLastUnguardedTarget = transitions.slice(0, -1).some(function (transition) {\n return !('cond' in transition) && !('in' in transition) && (isString(transition.target) || isMachine(transition.target));\n });\n var eventText = event === NULL_EVENT ? 'the transient event' : \"event '\".concat(event, \"'\");\n warn(!hasNonLastUnguardedTarget, \"One or more transitions for \".concat(eventText, \" on state '\").concat(stateNode.id, \"' are unreachable. \") + \"Make sure that the default transition is the last one defined.\");\n};\n\nvar StateNode =\n/*#__PURE__*/\n\n/** @class */\nfunction () {\n function StateNode(\n /**\r\n * The raw config used to create the machine.\r\n */\n config, options,\n /**\r\n * The initial extended state\r\n */\n _context, // TODO: this is unsafe, but we're removing it in v5 anyway\n _stateInfo) {\n if (_context === void 0) {\n _context = 'context' in config ? config.context : undefined;\n }\n\n var _this = this;\n\n var _a;\n\n this.config = config;\n this._context = _context;\n /**\r\n * The order this state node appears. Corresponds to the implicit SCXML document order.\r\n */\n\n this.order = -1;\n this.__xstatenode = true;\n this.__cache = {\n events: undefined,\n relativeValue: new Map(),\n initialStateValue: undefined,\n initialState: undefined,\n on: undefined,\n transitions: undefined,\n candidates: {},\n delayedTransitions: undefined\n };\n this.idMap = {};\n this.tags = [];\n this.options = Object.assign(createDefaultOptions(), options);\n this.parent = _stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.parent;\n this.key = this.config.key || (_stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.key) || this.config.id || '(machine)';\n this.machine = this.parent ? this.parent.machine : this;\n this.path = this.parent ? this.parent.path.concat(this.key) : [];\n this.delimiter = this.config.delimiter || (this.parent ? this.parent.delimiter : STATE_DELIMITER);\n this.id = this.config.id || __spreadArray([this.machine.key], __read(this.path), false).join(this.delimiter);\n this.version = this.parent ? this.parent.version : this.config.version;\n this.type = this.config.type || (this.config.parallel ? 'parallel' : this.config.states && Object.keys(this.config.states).length ? 'compound' : this.config.history ? 'history' : 'atomic');\n this.schema = this.parent ? this.machine.schema : (_a = this.config.schema) !== null && _a !== void 0 ? _a : {};\n this.description = this.config.description;\n\n if (!IS_PRODUCTION) {\n warn(!('parallel' in this.config), \"The \\\"parallel\\\" property is deprecated and will be removed in version 4.1. \".concat(this.config.parallel ? \"Replace with `type: 'parallel'`\" : \"Use `type: '\".concat(this.type, \"'`\"), \" in the config for state node '\").concat(this.id, \"' instead.\"));\n }\n\n this.initial = this.config.initial;\n this.states = this.config.states ? mapValues(this.config.states, function (stateConfig, key) {\n var _a;\n\n var stateNode = new StateNode(stateConfig, {}, undefined, {\n parent: _this,\n key: key\n });\n Object.assign(_this.idMap, __assign((_a = {}, _a[stateNode.id] = stateNode, _a), stateNode.idMap));\n return stateNode;\n }) : EMPTY_OBJECT; // Document order\n\n var order = 0;\n\n function dfs(stateNode) {\n var e_1, _a;\n\n stateNode.order = order++;\n\n try {\n for (var _b = __values(getAllChildren(stateNode)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var child = _c.value;\n dfs(child);\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n }\n\n dfs(this); // History config\n\n this.history = this.config.history === true ? 'shallow' : this.config.history || false;\n this._transient = !!this.config.always || (!this.config.on ? false : Array.isArray(this.config.on) ? this.config.on.some(function (_a) {\n var event = _a.event;\n return event === NULL_EVENT;\n }) : NULL_EVENT in this.config.on);\n this.strict = !!this.config.strict; // TODO: deprecate (entry)\n\n this.onEntry = toArray(this.config.entry || this.config.onEntry).map(function (action) {\n return toActionObject(action);\n }); // TODO: deprecate (exit)\n\n this.onExit = toArray(this.config.exit || this.config.onExit).map(function (action) {\n return toActionObject(action);\n });\n this.meta = this.config.meta;\n this.doneData = this.type === 'final' ? this.config.data : undefined;\n this.invoke = toArray(this.config.invoke).map(function (invokeConfig, i) {\n var _a, _b;\n\n if (isMachine(invokeConfig)) {\n var invokeId = createInvokeId(_this.id, i);\n _this.machine.options.services = __assign((_a = {}, _a[invokeId] = invokeConfig, _a), _this.machine.options.services);\n return toInvokeDefinition({\n src: invokeId,\n id: invokeId\n });\n } else if (isString(invokeConfig.src)) {\n var invokeId = invokeConfig.id || createInvokeId(_this.id, i);\n return toInvokeDefinition(__assign(__assign({}, invokeConfig), {\n id: invokeId,\n src: invokeConfig.src\n }));\n } else if (isMachine(invokeConfig.src) || isFunction(invokeConfig.src)) {\n var invokeId = invokeConfig.id || createInvokeId(_this.id, i);\n _this.machine.options.services = __assign((_b = {}, _b[invokeId] = invokeConfig.src, _b), _this.machine.options.services);\n return toInvokeDefinition(__assign(__assign({\n id: invokeId\n }, invokeConfig), {\n src: invokeId\n }));\n } else {\n var invokeSource = invokeConfig.src;\n return toInvokeDefinition(__assign(__assign({\n id: createInvokeId(_this.id, i)\n }, invokeConfig), {\n src: invokeSource\n }));\n }\n });\n this.activities = toArray(this.config.activities).concat(this.invoke).map(function (activity) {\n return toActivityDefinition(activity);\n });\n this.transition = this.transition.bind(this);\n this.tags = toArray(this.config.tags); // TODO: this is the real fix for initialization once\n // state node getters are deprecated\n // if (!this.parent) {\n // this._init();\n // }\n }\n\n StateNode.prototype._init = function () {\n if (this.__cache.transitions) {\n return;\n }\n\n getAllStateNodes(this).forEach(function (stateNode) {\n return stateNode.on;\n });\n };\n /**\r\n * Clones this state machine with custom options and context.\r\n *\r\n * @param options Options (actions, guards, activities, services) to recursively merge with the existing options.\r\n * @param context Custom context (will override predefined context)\r\n */\n\n\n StateNode.prototype.withConfig = function (options, context) {\n var _a = this.options,\n actions = _a.actions,\n activities = _a.activities,\n guards = _a.guards,\n services = _a.services,\n delays = _a.delays;\n return new StateNode(this.config, {\n actions: __assign(__assign({}, actions), options.actions),\n activities: __assign(__assign({}, activities), options.activities),\n guards: __assign(__assign({}, guards), options.guards),\n services: __assign(__assign({}, services), options.services),\n delays: __assign(__assign({}, delays), options.delays)\n }, context !== null && context !== void 0 ? context : this.context);\n };\n /**\r\n * Clones this state machine with custom context.\r\n *\r\n * @param context Custom context (will override predefined context, not recursive)\r\n */\n\n\n StateNode.prototype.withContext = function (context) {\n return new StateNode(this.config, this.options, context);\n };\n\n Object.defineProperty(StateNode.prototype, \"context\", {\n get: function () {\n return isFunction(this._context) ? this._context() : this._context;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"definition\", {\n /**\r\n * The well-structured state node definition.\r\n */\n get: function () {\n return {\n id: this.id,\n key: this.key,\n version: this.version,\n context: this.context,\n type: this.type,\n initial: this.initial,\n history: this.history,\n states: mapValues(this.states, function (state) {\n return state.definition;\n }),\n on: this.on,\n transitions: this.transitions,\n entry: this.onEntry,\n exit: this.onExit,\n activities: this.activities || [],\n meta: this.meta,\n order: this.order || -1,\n data: this.doneData,\n invoke: this.invoke,\n description: this.description,\n tags: this.tags\n };\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.toJSON = function () {\n return this.definition;\n };\n\n Object.defineProperty(StateNode.prototype, \"on\", {\n /**\r\n * The mapping of events to transitions.\r\n */\n get: function () {\n if (this.__cache.on) {\n return this.__cache.on;\n }\n\n var transitions = this.transitions;\n return this.__cache.on = transitions.reduce(function (map, transition) {\n map[transition.eventType] = map[transition.eventType] || [];\n map[transition.eventType].push(transition);\n return map;\n }, {});\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"after\", {\n get: function () {\n return this.__cache.delayedTransitions || (this.__cache.delayedTransitions = this.getDelayedTransitions(), this.__cache.delayedTransitions);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"transitions\", {\n /**\r\n * All the transitions that can be taken from this state node.\r\n */\n get: function () {\n return this.__cache.transitions || (this.__cache.transitions = this.formatTransitions(), this.__cache.transitions);\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.getCandidates = function (eventName) {\n if (this.__cache.candidates[eventName]) {\n return this.__cache.candidates[eventName];\n }\n\n var transient = eventName === NULL_EVENT;\n var candidates = this.transitions.filter(function (transition) {\n var sameEventType = transition.eventType === eventName; // null events should only match against eventless transitions\n\n return transient ? sameEventType : sameEventType || transition.eventType === WILDCARD;\n });\n this.__cache.candidates[eventName] = candidates;\n return candidates;\n };\n /**\r\n * All delayed transitions from the config.\r\n */\n\n\n StateNode.prototype.getDelayedTransitions = function () {\n var _this = this;\n\n var afterConfig = this.config.after;\n\n if (!afterConfig) {\n return [];\n }\n\n var mutateEntryExit = function (delay, i) {\n var delayRef = isFunction(delay) ? \"\".concat(_this.id, \":delay[\").concat(i, \"]\") : delay;\n var eventType = after(delayRef, _this.id);\n\n _this.onEntry.push(send$1(eventType, {\n delay: delay\n }));\n\n _this.onExit.push(cancel(eventType));\n\n return eventType;\n };\n\n var delayedTransitions = isArray(afterConfig) ? afterConfig.map(function (transition, i) {\n var eventType = mutateEntryExit(transition.delay, i);\n return __assign(__assign({}, transition), {\n event: eventType\n });\n }) : flatten(Object.keys(afterConfig).map(function (delay, i) {\n var configTransition = afterConfig[delay];\n var resolvedTransition = isString(configTransition) ? {\n target: configTransition\n } : configTransition;\n var resolvedDelay = !isNaN(+delay) ? +delay : delay;\n var eventType = mutateEntryExit(resolvedDelay, i);\n return toArray(resolvedTransition).map(function (transition) {\n return __assign(__assign({}, transition), {\n event: eventType,\n delay: resolvedDelay\n });\n });\n }));\n return delayedTransitions.map(function (delayedTransition) {\n var delay = delayedTransition.delay;\n return __assign(__assign({}, _this.formatTransition(delayedTransition)), {\n delay: delay\n });\n });\n };\n /**\r\n * Returns the state nodes represented by the current state value.\r\n *\r\n * @param state The state value or State instance\r\n */\n\n\n StateNode.prototype.getStateNodes = function (state) {\n var _a;\n\n var _this = this;\n\n if (!state) {\n return [];\n }\n\n var stateValue = state instanceof State ? state.value : toStateValue(state, this.delimiter);\n\n if (isString(stateValue)) {\n var initialStateValue = this.getStateNode(stateValue).initial;\n return initialStateValue !== undefined ? this.getStateNodes((_a = {}, _a[stateValue] = initialStateValue, _a)) : [this, this.states[stateValue]];\n }\n\n var subStateKeys = Object.keys(stateValue);\n var subStateNodes = [this];\n subStateNodes.push.apply(subStateNodes, __spreadArray([], __read(flatten(subStateKeys.map(function (subStateKey) {\n return _this.getStateNode(subStateKey).getStateNodes(stateValue[subStateKey]);\n }))), false));\n return subStateNodes;\n };\n /**\r\n * Returns `true` if this state node explicitly handles the given event.\r\n *\r\n * @param event The event in question\r\n */\n\n\n StateNode.prototype.handles = function (event) {\n var eventType = getEventType(event);\n return this.events.includes(eventType);\n };\n /**\r\n * Resolves the given `state` to a new `State` instance relative to this machine.\r\n *\r\n * This ensures that `.events` and `.nextEvents` represent the correct values.\r\n *\r\n * @param state The state to resolve\r\n */\n\n\n StateNode.prototype.resolveState = function (state) {\n var stateFromConfig = state instanceof State ? state : State.create(state);\n var configuration = Array.from(getConfiguration([], this.getStateNodes(stateFromConfig.value)));\n return new State(__assign(__assign({}, stateFromConfig), {\n value: this.resolve(stateFromConfig.value),\n configuration: configuration,\n done: isInFinalState(configuration, this),\n tags: getTagsFromConfiguration(configuration),\n machine: this.machine\n }));\n };\n\n StateNode.prototype.transitionLeafNode = function (stateValue, state, _event) {\n var stateNode = this.getStateNode(stateValue);\n var next = stateNode.next(state, _event);\n\n if (!next || !next.transitions.length) {\n return this.next(state, _event);\n }\n\n return next;\n };\n\n StateNode.prototype.transitionCompoundNode = function (stateValue, state, _event) {\n var subStateKeys = Object.keys(stateValue);\n var stateNode = this.getStateNode(subStateKeys[0]);\n\n var next = stateNode._transition(stateValue[subStateKeys[0]], state, _event);\n\n if (!next || !next.transitions.length) {\n return this.next(state, _event);\n }\n\n return next;\n };\n\n StateNode.prototype.transitionParallelNode = function (stateValue, state, _event) {\n var e_2, _a;\n\n var transitionMap = {};\n\n try {\n for (var _b = __values(Object.keys(stateValue)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var subStateKey = _c.value;\n var subStateValue = stateValue[subStateKey];\n\n if (!subStateValue) {\n continue;\n }\n\n var subStateNode = this.getStateNode(subStateKey);\n\n var next = subStateNode._transition(subStateValue, state, _event);\n\n if (next) {\n transitionMap[subStateKey] = next;\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n\n var stateTransitions = Object.keys(transitionMap).map(function (key) {\n return transitionMap[key];\n });\n var enabledTransitions = flatten(stateTransitions.map(function (st) {\n return st.transitions;\n }));\n var willTransition = stateTransitions.some(function (st) {\n return st.transitions.length > 0;\n });\n\n if (!willTransition) {\n return this.next(state, _event);\n }\n\n var entryNodes = flatten(stateTransitions.map(function (t) {\n return t.entrySet;\n }));\n var configuration = flatten(Object.keys(transitionMap).map(function (key) {\n return transitionMap[key].configuration;\n }));\n return {\n transitions: enabledTransitions,\n entrySet: entryNodes,\n exitSet: flatten(stateTransitions.map(function (t) {\n return t.exitSet;\n })),\n configuration: configuration,\n source: state,\n actions: flatten(Object.keys(transitionMap).map(function (key) {\n return transitionMap[key].actions;\n }))\n };\n };\n\n StateNode.prototype._transition = function (stateValue, state, _event) {\n // leaf node\n if (isString(stateValue)) {\n return this.transitionLeafNode(stateValue, state, _event);\n } // hierarchical node\n\n\n if (Object.keys(stateValue).length === 1) {\n return this.transitionCompoundNode(stateValue, state, _event);\n } // orthogonal node\n\n\n return this.transitionParallelNode(stateValue, state, _event);\n };\n\n StateNode.prototype.getTransitionData = function (state, event) {\n return this._transition(state.value, state, toSCXMLEvent(event));\n };\n\n StateNode.prototype.next = function (state, _event) {\n var e_3, _a;\n\n var _this = this;\n\n var eventName = _event.name;\n var actions = [];\n var nextStateNodes = [];\n var selectedTransition;\n\n try {\n for (var _b = __values(this.getCandidates(eventName)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var candidate = _c.value;\n var cond = candidate.cond,\n stateIn = candidate.in;\n var resolvedContext = state.context;\n var isInState = stateIn ? isString(stateIn) && isStateId(stateIn) ? // Check if in state by ID\n state.matches(toStateValue(this.getStateNodeById(stateIn).path, this.delimiter)) : // Check if in state by relative grandparent\n matchesState(toStateValue(stateIn, this.delimiter), path(this.path.slice(0, -2))(state.value)) : true;\n var guardPassed = false;\n\n try {\n guardPassed = !cond || evaluateGuard(this.machine, cond, resolvedContext, _event, state);\n } catch (err) {\n throw new Error(\"Unable to evaluate guard '\".concat(cond.name || cond.type, \"' in transition for event '\").concat(eventName, \"' in state node '\").concat(this.id, \"':\\n\").concat(err.message));\n }\n\n if (guardPassed && isInState) {\n if (candidate.target !== undefined) {\n nextStateNodes = candidate.target;\n }\n\n actions.push.apply(actions, __spreadArray([], __read(candidate.actions), false));\n selectedTransition = candidate;\n break;\n }\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n\n if (!selectedTransition) {\n return undefined;\n }\n\n if (!nextStateNodes.length) {\n return {\n transitions: [selectedTransition],\n entrySet: [],\n exitSet: [],\n configuration: state.value ? [this] : [],\n source: state,\n actions: actions\n };\n }\n\n var allNextStateNodes = flatten(nextStateNodes.map(function (stateNode) {\n return _this.getRelativeStateNodes(stateNode, state.historyValue);\n }));\n var isInternal = !!selectedTransition.internal;\n var reentryNodes = [];\n\n if (!isInternal) {\n nextStateNodes.forEach(function (targetNode) {\n reentryNodes.push.apply(reentryNodes, __spreadArray([], __read(_this.getExternalReentryNodes(targetNode)), false));\n });\n }\n\n return {\n transitions: [selectedTransition],\n entrySet: reentryNodes,\n exitSet: isInternal ? [] : [this],\n configuration: allNextStateNodes,\n source: state,\n actions: actions\n };\n };\n\n StateNode.prototype.getExternalReentryNodes = function (targetNode) {\n var nodes = [];\n\n var _a = __read(targetNode.order > this.order ? [targetNode, this] : [this, targetNode], 2),\n marker = _a[0],\n possibleAncestor = _a[1];\n\n while (marker && marker !== possibleAncestor) {\n nodes.push(marker);\n marker = marker.parent;\n }\n\n if (marker !== possibleAncestor) {\n // we never got to `possibleAncestor`, therefore the initial `marker` \"escapes\" it\n // it's in a different part of the tree so no states will be reentered for such an external transition\n return [];\n }\n\n nodes.push(possibleAncestor);\n return nodes;\n };\n\n StateNode.prototype.getActions = function (resolvedConfig, isDone, transition, currentContext, _event, prevState, predictableExec) {\n var e_4, _a, e_5, _b;\n\n var _this = this;\n\n var prevConfig = getConfiguration([], prevState ? this.getStateNodes(prevState.value) : [this]);\n\n try {\n for (var resolvedConfig_1 = __values(resolvedConfig), resolvedConfig_1_1 = resolvedConfig_1.next(); !resolvedConfig_1_1.done; resolvedConfig_1_1 = resolvedConfig_1.next()) {\n var sn = resolvedConfig_1_1.value;\n\n if (!has(prevConfig, sn) || has(transition.entrySet, sn.parent)) {\n transition.entrySet.push(sn);\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (resolvedConfig_1_1 && !resolvedConfig_1_1.done && (_a = resolvedConfig_1.return)) _a.call(resolvedConfig_1);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n\n try {\n for (var prevConfig_1 = __values(prevConfig), prevConfig_1_1 = prevConfig_1.next(); !prevConfig_1_1.done; prevConfig_1_1 = prevConfig_1.next()) {\n var sn = prevConfig_1_1.value;\n\n if (!has(resolvedConfig, sn) || has(transition.exitSet, sn.parent)) {\n transition.exitSet.push(sn);\n }\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (prevConfig_1_1 && !prevConfig_1_1.done && (_b = prevConfig_1.return)) _b.call(prevConfig_1);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n\n var doneEvents = flatten(transition.entrySet.map(function (sn) {\n var events = [];\n\n if (sn.type !== 'final') {\n return events;\n }\n\n var parent = sn.parent;\n\n if (!parent.parent) {\n return events;\n }\n\n events.push(done(sn.id, sn.doneData), // TODO: deprecate - final states should not emit done events for their own state.\n done(parent.id, sn.doneData ? mapContext(sn.doneData, currentContext, _event) : undefined));\n var grandparent = parent.parent;\n\n if (grandparent.type === 'parallel') {\n if (getChildren(grandparent).every(function (parentNode) {\n return isInFinalState(transition.configuration, parentNode);\n })) {\n events.push(done(grandparent.id));\n }\n }\n\n return events;\n }));\n transition.exitSet.sort(function (a, b) {\n return b.order - a.order;\n });\n transition.entrySet.sort(function (a, b) {\n return a.order - b.order;\n });\n var entryStates = new Set(transition.entrySet);\n var exitStates = new Set(transition.exitSet);\n var entryActions = Array.from(entryStates).map(function (stateNode) {\n var entryActions = stateNode.onEntry;\n var invokeActions = stateNode.activities.map(function (activity) {\n return start(activity);\n });\n return toActionObjects(predictableExec ? __spreadArray(__spreadArray([], __read(entryActions), false), __read(invokeActions), false) : __spreadArray(__spreadArray([], __read(invokeActions), false), __read(entryActions), false), _this.machine.options.actions);\n }).concat([doneEvents.map(raise)]);\n var exitActions = Array.from(exitStates).map(function (stateNode) {\n return toActionObjects(__spreadArray(__spreadArray([], __read(stateNode.onExit), false), __read(stateNode.activities.map(function (activity) {\n return stop(activity);\n })), false), _this.machine.options.actions);\n });\n var actions = exitActions.concat([toActionObjects(transition.actions, this.machine.options.actions)]).concat(entryActions);\n\n if (isDone) {\n var stopActions = toActionObjects(flatten(__spreadArray([], __read(resolvedConfig), false).sort(function (a, b) {\n return b.order - a.order;\n }).map(function (stateNode) {\n return stateNode.onExit;\n })), this.machine.options.actions).filter(function (action) {\n return action.type !== raise$1 && (action.type !== send || !!action.to && action.to !== SpecialTargets.Internal);\n });\n return actions.concat([stopActions]);\n }\n\n return actions;\n };\n /**\r\n * Determines the next state given the current `state` and sent `event`.\r\n *\r\n * @param state The current State instance or state value\r\n * @param event The event that was sent at the current state\r\n * @param context The current context (extended state) of the current state\r\n */\n\n\n StateNode.prototype.transition = function (state, event, context, exec) {\n if (state === void 0) {\n state = this.initialState;\n }\n\n var _event = toSCXMLEvent(event);\n\n var currentState;\n\n if (state instanceof State) {\n currentState = context === undefined ? state : this.resolveState(State.from(state, context));\n } else {\n var resolvedStateValue = isString(state) ? this.resolve(pathToStateValue(this.getResolvedPath(state))) : this.resolve(state);\n var resolvedContext = context !== null && context !== void 0 ? context : this.machine.context;\n currentState = this.resolveState(State.from(resolvedStateValue, resolvedContext));\n }\n\n if (!IS_PRODUCTION && _event.name === WILDCARD) {\n throw new Error(\"An event cannot have the wildcard type ('\".concat(WILDCARD, \"')\"));\n }\n\n if (this.strict) {\n if (!this.events.includes(_event.name) && !isBuiltInEvent(_event.name)) {\n throw new Error(\"Machine '\".concat(this.id, \"' does not accept event '\").concat(_event.name, \"'\"));\n }\n }\n\n var stateTransition = this._transition(currentState.value, currentState, _event) || {\n transitions: [],\n configuration: [],\n entrySet: [],\n exitSet: [],\n source: currentState,\n actions: []\n };\n var prevConfig = getConfiguration([], this.getStateNodes(currentState.value));\n var resolvedConfig = stateTransition.configuration.length ? getConfiguration(prevConfig, stateTransition.configuration) : prevConfig;\n stateTransition.configuration = __spreadArray([], __read(resolvedConfig), false);\n return this.resolveTransition(stateTransition, currentState, currentState.context, exec, _event);\n };\n\n StateNode.prototype.resolveRaisedTransition = function (state, _event, originalEvent, predictableExec) {\n var _a;\n\n var currentActions = state.actions;\n state = this.transition(state, _event, undefined, predictableExec); // Save original event to state\n // TODO: this should be the raised event! Delete in V5 (breaking)\n\n state._event = originalEvent;\n state.event = originalEvent.data;\n\n (_a = state.actions).unshift.apply(_a, __spreadArray([], __read(currentActions), false));\n\n return state;\n };\n\n StateNode.prototype.resolveTransition = function (stateTransition, currentState, context, predictableExec, _event) {\n var e_6, _a, e_7, _b;\n\n var _this = this;\n\n if (_event === void 0) {\n _event = initEvent;\n }\n\n var configuration = stateTransition.configuration; // Transition will \"apply\" if:\n // - this is the initial state (there is no current state)\n // - OR there are transitions\n\n var willTransition = !currentState || stateTransition.transitions.length > 0;\n var resolvedConfiguration = willTransition ? stateTransition.configuration : currentState ? currentState.configuration : [];\n var isDone = isInFinalState(resolvedConfiguration, this);\n var resolvedStateValue = willTransition ? getValue(this.machine, configuration) : undefined;\n var historyValue = currentState ? currentState.historyValue ? currentState.historyValue : stateTransition.source ? this.machine.historyValue(currentState.value) : undefined : undefined;\n var actionBlocks = this.getActions(new Set(resolvedConfiguration), isDone, stateTransition, context, _event, currentState, predictableExec);\n var activities = currentState ? __assign({}, currentState.activities) : {};\n\n try {\n for (var actionBlocks_1 = __values(actionBlocks), actionBlocks_1_1 = actionBlocks_1.next(); !actionBlocks_1_1.done; actionBlocks_1_1 = actionBlocks_1.next()) {\n var block = actionBlocks_1_1.value;\n\n try {\n for (var block_1 = (e_7 = void 0, __values(block)), block_1_1 = block_1.next(); !block_1_1.done; block_1_1 = block_1.next()) {\n var action = block_1_1.value;\n\n if (action.type === start$1) {\n activities[action.activity.id || action.activity.type] = action;\n } else if (action.type === stop$1) {\n activities[action.activity.id || action.activity.type] = false;\n }\n }\n } catch (e_7_1) {\n e_7 = {\n error: e_7_1\n };\n } finally {\n try {\n if (block_1_1 && !block_1_1.done && (_b = block_1.return)) _b.call(block_1);\n } finally {\n if (e_7) throw e_7.error;\n }\n }\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (actionBlocks_1_1 && !actionBlocks_1_1.done && (_a = actionBlocks_1.return)) _a.call(actionBlocks_1);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n\n var _c = __read(resolveActions(this, currentState, context, _event, actionBlocks, predictableExec, this.machine.config.predictableActionArguments || this.machine.config.preserveActionOrder), 2),\n resolvedActions = _c[0],\n updatedContext = _c[1];\n\n var _d = __read(partition(resolvedActions, function (action) {\n return action.type === raise$1 || action.type === send && action.to === SpecialTargets.Internal;\n }), 2),\n raisedEvents = _d[0],\n nonRaisedActions = _d[1];\n\n var invokeActions = resolvedActions.filter(function (action) {\n var _a;\n\n return action.type === start$1 && ((_a = action.activity) === null || _a === void 0 ? void 0 : _a.type) === invoke;\n });\n var children = invokeActions.reduce(function (acc, action) {\n acc[action.activity.id] = createInvocableActor(action.activity, _this.machine, updatedContext, _event);\n return acc;\n }, currentState ? __assign({}, currentState.children) : {});\n var nextState = new State({\n value: resolvedStateValue || currentState.value,\n context: updatedContext,\n _event: _event,\n // Persist _sessionid between states\n _sessionid: currentState ? currentState._sessionid : null,\n historyValue: resolvedStateValue ? historyValue ? updateHistoryValue(historyValue, resolvedStateValue) : undefined : currentState ? currentState.historyValue : undefined,\n history: !resolvedStateValue || stateTransition.source ? currentState : undefined,\n actions: resolvedStateValue ? nonRaisedActions : [],\n activities: resolvedStateValue ? activities : currentState ? currentState.activities : {},\n events: [],\n configuration: resolvedConfiguration,\n transitions: stateTransition.transitions,\n children: children,\n done: isDone,\n tags: getTagsFromConfiguration(resolvedConfiguration),\n machine: this\n });\n var didUpdateContext = context !== updatedContext;\n nextState.changed = _event.name === update || didUpdateContext; // Dispose of penultimate histories to prevent memory leaks\n\n var history = nextState.history;\n\n if (history) {\n delete history.history;\n } // There are transient transitions if the machine is not in a final state\n // and if some of the state nodes have transient (\"always\") transitions.\n\n\n var hasAlwaysTransitions = !isDone && (this._transient || configuration.some(function (stateNode) {\n return stateNode._transient;\n })); // If there are no enabled transitions, check if there are transient transitions.\n // If there are transient transitions, continue checking for more transitions\n // because an transient transition should be triggered even if there are no\n // enabled transitions.\n //\n // If we're already working on an transient transition then stop to prevent an infinite loop.\n //\n // Otherwise, if there are no enabled nor transient transitions, we are done.\n\n if (!willTransition && (!hasAlwaysTransitions || _event.name === NULL_EVENT)) {\n return nextState;\n }\n\n var maybeNextState = nextState;\n\n if (!isDone) {\n if (hasAlwaysTransitions) {\n maybeNextState = this.resolveRaisedTransition(maybeNextState, {\n type: nullEvent\n }, _event, predictableExec);\n }\n\n while (raisedEvents.length) {\n var raisedEvent = raisedEvents.shift();\n maybeNextState = this.resolveRaisedTransition(maybeNextState, raisedEvent._event, _event, predictableExec);\n }\n } // Detect if state changed\n\n\n var changed = maybeNextState.changed || (history ? !!maybeNextState.actions.length || didUpdateContext || typeof history.value !== typeof maybeNextState.value || !stateValuesEqual(maybeNextState.value, history.value) : undefined);\n maybeNextState.changed = changed; // Preserve original history after raised events\n\n maybeNextState.history = history;\n return maybeNextState;\n };\n /**\r\n * Returns the child state node from its relative `stateKey`, or throws.\r\n */\n\n\n StateNode.prototype.getStateNode = function (stateKey) {\n if (isStateId(stateKey)) {\n return this.machine.getStateNodeById(stateKey);\n }\n\n if (!this.states) {\n throw new Error(\"Unable to retrieve child state '\".concat(stateKey, \"' from '\").concat(this.id, \"'; no child states exist.\"));\n }\n\n var result = this.states[stateKey];\n\n if (!result) {\n throw new Error(\"Child state '\".concat(stateKey, \"' does not exist on '\").concat(this.id, \"'\"));\n }\n\n return result;\n };\n /**\r\n * Returns the state node with the given `stateId`, or throws.\r\n *\r\n * @param stateId The state ID. The prefix \"#\" is removed.\r\n */\n\n\n StateNode.prototype.getStateNodeById = function (stateId) {\n var resolvedStateId = isStateId(stateId) ? stateId.slice(STATE_IDENTIFIER.length) : stateId;\n\n if (resolvedStateId === this.id) {\n return this;\n }\n\n var stateNode = this.machine.idMap[resolvedStateId];\n\n if (!stateNode) {\n throw new Error(\"Child state node '#\".concat(resolvedStateId, \"' does not exist on machine '\").concat(this.id, \"'\"));\n }\n\n return stateNode;\n };\n /**\r\n * Returns the relative state node from the given `statePath`, or throws.\r\n *\r\n * @param statePath The string or string array relative path to the state node.\r\n */\n\n\n StateNode.prototype.getStateNodeByPath = function (statePath) {\n if (typeof statePath === 'string' && isStateId(statePath)) {\n try {\n return this.getStateNodeById(statePath.slice(1));\n } catch (e) {// try individual paths\n // throw e;\n }\n }\n\n var arrayStatePath = toStatePath(statePath, this.delimiter).slice();\n var currentStateNode = this;\n\n while (arrayStatePath.length) {\n var key = arrayStatePath.shift();\n\n if (!key.length) {\n break;\n }\n\n currentStateNode = currentStateNode.getStateNode(key);\n }\n\n return currentStateNode;\n };\n /**\r\n * Resolves a partial state value with its full representation in this machine.\r\n *\r\n * @param stateValue The partial state value to resolve.\r\n */\n\n\n StateNode.prototype.resolve = function (stateValue) {\n var _a;\n\n var _this = this;\n\n if (!stateValue) {\n return this.initialStateValue || EMPTY_OBJECT; // TODO: type-specific properties\n }\n\n switch (this.type) {\n case 'parallel':\n return mapValues(this.initialStateValue, function (subStateValue, subStateKey) {\n return subStateValue ? _this.getStateNode(subStateKey).resolve(stateValue[subStateKey] || subStateValue) : EMPTY_OBJECT;\n });\n\n case 'compound':\n if (isString(stateValue)) {\n var subStateNode = this.getStateNode(stateValue);\n\n if (subStateNode.type === 'parallel' || subStateNode.type === 'compound') {\n return _a = {}, _a[stateValue] = subStateNode.initialStateValue, _a;\n }\n\n return stateValue;\n }\n\n if (!Object.keys(stateValue).length) {\n return this.initialStateValue || {};\n }\n\n return mapValues(stateValue, function (subStateValue, subStateKey) {\n return subStateValue ? _this.getStateNode(subStateKey).resolve(subStateValue) : EMPTY_OBJECT;\n });\n\n default:\n return stateValue || EMPTY_OBJECT;\n }\n };\n\n StateNode.prototype.getResolvedPath = function (stateIdentifier) {\n if (isStateId(stateIdentifier)) {\n var stateNode = this.machine.idMap[stateIdentifier.slice(STATE_IDENTIFIER.length)];\n\n if (!stateNode) {\n throw new Error(\"Unable to find state node '\".concat(stateIdentifier, \"'\"));\n }\n\n return stateNode.path;\n }\n\n return toStatePath(stateIdentifier, this.delimiter);\n };\n\n Object.defineProperty(StateNode.prototype, \"initialStateValue\", {\n get: function () {\n var _a;\n\n if (this.__cache.initialStateValue) {\n return this.__cache.initialStateValue;\n }\n\n var initialStateValue;\n\n if (this.type === 'parallel') {\n initialStateValue = mapFilterValues(this.states, function (state) {\n return state.initialStateValue || EMPTY_OBJECT;\n }, function (stateNode) {\n return !(stateNode.type === 'history');\n });\n } else if (this.initial !== undefined) {\n if (!this.states[this.initial]) {\n throw new Error(\"Initial state '\".concat(this.initial, \"' not found on '\").concat(this.key, \"'\"));\n }\n\n initialStateValue = isLeafNode(this.states[this.initial]) ? this.initial : (_a = {}, _a[this.initial] = this.states[this.initial].initialStateValue, _a);\n } else {\n // The finite state value of a machine without child states is just an empty object\n initialStateValue = {};\n }\n\n this.__cache.initialStateValue = initialStateValue;\n return this.__cache.initialStateValue;\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.getInitialState = function (stateValue, context) {\n this._init(); // TODO: this should be in the constructor (see note in constructor)\n\n\n var configuration = this.getStateNodes(stateValue);\n return this.resolveTransition({\n configuration: configuration,\n entrySet: __spreadArray([], __read(configuration), false),\n exitSet: [],\n transitions: [],\n source: undefined,\n actions: []\n }, undefined, context !== null && context !== void 0 ? context : this.machine.context, undefined);\n };\n\n Object.defineProperty(StateNode.prototype, \"initialState\", {\n /**\r\n * The initial State instance, which includes all actions to be executed from\r\n * entering the initial state.\r\n */\n get: function () {\n var initialStateValue = this.initialStateValue;\n\n if (!initialStateValue) {\n throw new Error(\"Cannot retrieve initial state from simple state '\".concat(this.id, \"'.\"));\n }\n\n return this.getInitialState(initialStateValue);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"target\", {\n /**\r\n * The target state value of the history state node, if it exists. This represents the\r\n * default state value to transition to if no history value exists yet.\r\n */\n get: function () {\n var target;\n\n if (this.type === 'history') {\n var historyConfig = this.config;\n\n if (isString(historyConfig.target)) {\n target = isStateId(historyConfig.target) ? pathToStateValue(this.machine.getStateNodeById(historyConfig.target).path.slice(this.path.length - 1)) : historyConfig.target;\n } else {\n target = historyConfig.target;\n }\n }\n\n return target;\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Returns the leaf nodes from a state path relative to this state node.\r\n *\r\n * @param relativeStateId The relative state path to retrieve the state nodes\r\n * @param history The previous state to retrieve history\r\n * @param resolve Whether state nodes should resolve to initial child state nodes\r\n */\n\n StateNode.prototype.getRelativeStateNodes = function (relativeStateId, historyValue, resolve) {\n if (resolve === void 0) {\n resolve = true;\n }\n\n return resolve ? relativeStateId.type === 'history' ? relativeStateId.resolveHistory(historyValue) : relativeStateId.initialStateNodes : [relativeStateId];\n };\n\n Object.defineProperty(StateNode.prototype, \"initialStateNodes\", {\n get: function () {\n var _this = this;\n\n if (isLeafNode(this)) {\n return [this];\n } // Case when state node is compound but no initial state is defined\n\n\n if (this.type === 'compound' && !this.initial) {\n if (!IS_PRODUCTION) {\n warn(false, \"Compound state node '\".concat(this.id, \"' has no initial state.\"));\n }\n\n return [this];\n }\n\n var initialStateNodePaths = toStatePaths(this.initialStateValue);\n return flatten(initialStateNodePaths.map(function (initialPath) {\n return _this.getFromRelativePath(initialPath);\n }));\n },\n enumerable: false,\n configurable: true\n });\n /**\r\n * Retrieves state nodes from a relative path to this state node.\r\n *\r\n * @param relativePath The relative path from this state node\r\n * @param historyValue\r\n */\n\n StateNode.prototype.getFromRelativePath = function (relativePath) {\n if (!relativePath.length) {\n return [this];\n }\n\n var _a = __read(relativePath),\n stateKey = _a[0],\n childStatePath = _a.slice(1);\n\n if (!this.states) {\n throw new Error(\"Cannot retrieve subPath '\".concat(stateKey, \"' from node with no states\"));\n }\n\n var childStateNode = this.getStateNode(stateKey);\n\n if (childStateNode.type === 'history') {\n return childStateNode.resolveHistory();\n }\n\n if (!this.states[stateKey]) {\n throw new Error(\"Child state '\".concat(stateKey, \"' does not exist on '\").concat(this.id, \"'\"));\n }\n\n return this.states[stateKey].getFromRelativePath(childStatePath);\n };\n\n StateNode.prototype.historyValue = function (relativeStateValue) {\n if (!Object.keys(this.states).length) {\n return undefined;\n }\n\n return {\n current: relativeStateValue || this.initialStateValue,\n states: mapFilterValues(this.states, function (stateNode, key) {\n if (!relativeStateValue) {\n return stateNode.historyValue();\n }\n\n var subStateValue = isString(relativeStateValue) ? undefined : relativeStateValue[key];\n return stateNode.historyValue(subStateValue || stateNode.initialStateValue);\n }, function (stateNode) {\n return !stateNode.history;\n })\n };\n };\n /**\r\n * Resolves to the historical value(s) of the parent state node,\r\n * represented by state nodes.\r\n *\r\n * @param historyValue\r\n */\n\n\n StateNode.prototype.resolveHistory = function (historyValue) {\n var _this = this;\n\n if (this.type !== 'history') {\n return [this];\n }\n\n var parent = this.parent;\n\n if (!historyValue) {\n var historyTarget = this.target;\n return historyTarget ? flatten(toStatePaths(historyTarget).map(function (relativeChildPath) {\n return parent.getFromRelativePath(relativeChildPath);\n })) : parent.initialStateNodes;\n }\n\n var subHistoryValue = nestedPath(parent.path, 'states')(historyValue).current;\n\n if (isString(subHistoryValue)) {\n return [parent.getStateNode(subHistoryValue)];\n }\n\n return flatten(toStatePaths(subHistoryValue).map(function (subStatePath) {\n return _this.history === 'deep' ? parent.getFromRelativePath(subStatePath) : [parent.states[subStatePath[0]]];\n }));\n };\n\n Object.defineProperty(StateNode.prototype, \"stateIds\", {\n /**\r\n * All the state node IDs of this state node and its descendant state nodes.\r\n */\n get: function () {\n var _this = this;\n\n var childStateIds = flatten(Object.keys(this.states).map(function (stateKey) {\n return _this.states[stateKey].stateIds;\n }));\n return [this.id].concat(childStateIds);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"events\", {\n /**\r\n * All the event types accepted by this state node and its descendants.\r\n */\n get: function () {\n var e_8, _a, e_9, _b;\n\n if (this.__cache.events) {\n return this.__cache.events;\n }\n\n var states = this.states;\n var events = new Set(this.ownEvents);\n\n if (states) {\n try {\n for (var _c = __values(Object.keys(states)), _d = _c.next(); !_d.done; _d = _c.next()) {\n var stateId = _d.value;\n var state = states[stateId];\n\n if (state.states) {\n try {\n for (var _e = (e_9 = void 0, __values(state.events)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var event_1 = _f.value;\n events.add(\"\".concat(event_1));\n }\n } catch (e_9_1) {\n e_9 = {\n error: e_9_1\n };\n } finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n } finally {\n if (e_9) throw e_9.error;\n }\n }\n }\n }\n } catch (e_8_1) {\n e_8 = {\n error: e_8_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally {\n if (e_8) throw e_8.error;\n }\n }\n }\n\n return this.__cache.events = Array.from(events);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateNode.prototype, \"ownEvents\", {\n /**\r\n * All the events that have transitions directly from this state node.\r\n *\r\n * Excludes any inert events.\r\n */\n get: function () {\n var events = new Set(this.transitions.filter(function (transition) {\n return !(!transition.target && !transition.actions.length && transition.internal);\n }).map(function (transition) {\n return transition.eventType;\n }));\n return Array.from(events);\n },\n enumerable: false,\n configurable: true\n });\n\n StateNode.prototype.resolveTarget = function (_target) {\n var _this = this;\n\n if (_target === undefined) {\n // an undefined target signals that the state node should not transition from that state when receiving that event\n return undefined;\n }\n\n return _target.map(function (target) {\n if (!isString(target)) {\n return target;\n }\n\n var isInternalTarget = target[0] === _this.delimiter; // If internal target is defined on machine,\n // do not include machine key on target\n\n if (isInternalTarget && !_this.parent) {\n return _this.getStateNodeByPath(target.slice(1));\n }\n\n var resolvedTarget = isInternalTarget ? _this.key + target : target;\n\n if (_this.parent) {\n try {\n var targetStateNode = _this.parent.getStateNodeByPath(resolvedTarget);\n\n return targetStateNode;\n } catch (err) {\n throw new Error(\"Invalid transition definition for state node '\".concat(_this.id, \"':\\n\").concat(err.message));\n }\n } else {\n return _this.getStateNodeByPath(resolvedTarget);\n }\n });\n };\n\n StateNode.prototype.formatTransition = function (transitionConfig) {\n var _this = this;\n\n var normalizedTarget = normalizeTarget(transitionConfig.target);\n var internal = 'internal' in transitionConfig ? transitionConfig.internal : normalizedTarget ? normalizedTarget.some(function (_target) {\n return isString(_target) && _target[0] === _this.delimiter;\n }) : true;\n var guards = this.machine.options.guards;\n var target = this.resolveTarget(normalizedTarget);\n\n var transition = __assign(__assign({}, transitionConfig), {\n actions: toActionObjects(toArray(transitionConfig.actions)),\n cond: toGuard(transitionConfig.cond, guards),\n target: target,\n source: this,\n internal: internal,\n eventType: transitionConfig.event,\n toJSON: function () {\n return __assign(__assign({}, transition), {\n target: transition.target ? transition.target.map(function (t) {\n return \"#\".concat(t.id);\n }) : undefined,\n source: \"#\".concat(_this.id)\n });\n }\n });\n\n return transition;\n };\n\n StateNode.prototype.formatTransitions = function () {\n var e_10, _a;\n\n var _this = this;\n\n var onConfig;\n\n if (!this.config.on) {\n onConfig = [];\n } else if (Array.isArray(this.config.on)) {\n onConfig = this.config.on;\n } else {\n var _b = this.config.on,\n _c = WILDCARD,\n _d = _b[_c],\n wildcardConfigs = _d === void 0 ? [] : _d,\n strictTransitionConfigs_1 = __rest(_b, [typeof _c === \"symbol\" ? _c : _c + \"\"]);\n\n onConfig = flatten(Object.keys(strictTransitionConfigs_1).map(function (key) {\n if (!IS_PRODUCTION && key === NULL_EVENT) {\n warn(false, \"Empty string transition configs (e.g., `{ on: { '': ... }}`) for transient transitions are deprecated. Specify the transition in the `{ always: ... }` property instead. \" + \"Please check the `on` configuration for \\\"#\".concat(_this.id, \"\\\".\"));\n }\n\n var transitionConfigArray = toTransitionConfigArray(key, strictTransitionConfigs_1[key]);\n\n if (!IS_PRODUCTION) {\n validateArrayifiedTransitions(_this, key, transitionConfigArray);\n }\n\n return transitionConfigArray;\n }).concat(toTransitionConfigArray(WILDCARD, wildcardConfigs)));\n }\n\n var eventlessConfig = this.config.always ? toTransitionConfigArray('', this.config.always) : [];\n var doneConfig = this.config.onDone ? toTransitionConfigArray(String(done(this.id)), this.config.onDone) : [];\n\n if (!IS_PRODUCTION) {\n warn(!(this.config.onDone && !this.parent), \"Root nodes cannot have an \\\".onDone\\\" transition. Please check the config of \\\"\".concat(this.id, \"\\\".\"));\n }\n\n var invokeConfig = flatten(this.invoke.map(function (invokeDef) {\n var settleTransitions = [];\n\n if (invokeDef.onDone) {\n settleTransitions.push.apply(settleTransitions, __spreadArray([], __read(toTransitionConfigArray(String(doneInvoke(invokeDef.id)), invokeDef.onDone)), false));\n }\n\n if (invokeDef.onError) {\n settleTransitions.push.apply(settleTransitions, __spreadArray([], __read(toTransitionConfigArray(String(error(invokeDef.id)), invokeDef.onError)), false));\n }\n\n return settleTransitions;\n }));\n var delayedTransitions = this.after;\n var formattedTransitions = flatten(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(doneConfig), false), __read(invokeConfig), false), __read(onConfig), false), __read(eventlessConfig), false).map(function (transitionConfig) {\n return toArray(transitionConfig).map(function (transition) {\n return _this.formatTransition(transition);\n });\n }));\n\n try {\n for (var delayedTransitions_1 = __values(delayedTransitions), delayedTransitions_1_1 = delayedTransitions_1.next(); !delayedTransitions_1_1.done; delayedTransitions_1_1 = delayedTransitions_1.next()) {\n var delayedTransition = delayedTransitions_1_1.value;\n formattedTransitions.push(delayedTransition);\n }\n } catch (e_10_1) {\n e_10 = {\n error: e_10_1\n };\n } finally {\n try {\n if (delayedTransitions_1_1 && !delayedTransitions_1_1.done && (_a = delayedTransitions_1.return)) _a.call(delayedTransitions_1);\n } finally {\n if (e_10) throw e_10.error;\n }\n }\n\n return formattedTransitions;\n };\n\n return StateNode;\n}();\n\nexport { StateNode };\n","import { StateNode } from './StateNode.js';\nimport { IS_PRODUCTION } from './environment.js';\n\nvar warned = false;\nfunction Machine(config, options, initialContext) {\n if (initialContext === void 0) {\n initialContext = config.context;\n }\n\n return new StateNode(config, options, initialContext);\n}\nfunction createMachine(config, options) {\n if (!IS_PRODUCTION && !config.predictableActionArguments && !warned) {\n warned = true;\n console.warn('It is highly recommended to set `predictableActionArguments` to `true` when using `createMachine`. https://xstate.js.org/docs/guides/actions.html');\n }\n\n return new StateNode(config, options);\n}\n\nexport { Machine, createMachine };\n","import { assign as assign$1, send as send$1, sendParent as sendParent$1, sendUpdate as sendUpdate$1, forwardTo as forwardTo$1, doneInvoke as doneInvoke$1 } from './actions.js';\nimport * as actions from './actions.js';\nexport { actions };\nexport { toActorRef } from './Actor.js';\nexport { Interpreter, InterpreterStatus, interpret, spawn } from './interpreter.js';\nexport { Machine, createMachine } from './Machine.js';\nexport { mapState } from './mapState.js';\nexport { matchState } from './match.js';\nexport { createSchema, t } from './schema.js';\nexport { State } from './State.js';\nexport { StateNode } from './StateNode.js';\nexport { spawnBehavior } from './behaviors.js';\nexport { ActionTypes, SpecialTargets } from './types.js';\nexport { matchesState, toEventObject, toObserver, toSCXMLEvent } from './utils.js';\n\nvar assign = assign$1,\n send = send$1,\n sendParent = sendParent$1,\n sendUpdate = sendUpdate$1,\n forwardTo = forwardTo$1,\n doneInvoke = doneInvoke$1;\n\nexport { assign, doneInvoke, forwardTo, send, sendParent, sendUpdate };\n","/*! js-cookie v3.0.1 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (key, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n key = encodeURIComponent(key)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport default api;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self;\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n toJSONObject\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default FormData;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction isValidHeaderName(str) {\n return /^[-_a-zA-Z]+$/.test(str.trim());\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear() {\n return Object.keys(this).forEach(this.delete.bind(this));\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.2.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer !== undefined) {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","var ue = Object.defineProperty;\nvar le = (n, e, t) => e in n ? ue(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;\nvar S = (n, e, t) => (le(n, typeof e != \"symbol\" ? e + \"\" : e, t), t);\nimport de from \"jwt-decode\";\nimport { createMachine as P, send as w, assign as h, interpret as C } from \"xstate\";\nimport $ from \"js-cookie\";\nimport fe from \"axios\";\nconst x = \"nhostRefreshToken\", D = \"nhostRefreshTokenExpiresAt\", he = 3, me = 300, Ee = 5, ee = 0, re = 1, A = 10, N = 20;\nclass K extends Error {\n constructor(t) {\n super(t.message);\n S(this, \"error\");\n Error.captureStackTrace(this, this.constructor), t instanceof Error ? (this.name = t.name, this.error = {\n error: t.name,\n status: re,\n message: t.message\n }) : (this.name = t.error, this.error = t);\n }\n}\nconst k = {\n status: A,\n error: \"invalid-email\",\n message: \"Email is incorrectly formatted\"\n}, ge = {\n status: A,\n error: \"invalid-mfa-type\",\n message: \"MFA type is invalid\"\n}, pe = {\n status: A,\n error: \"invalid-mfa-code\",\n message: \"MFA code is invalid\"\n}, W = {\n status: A,\n error: \"invalid-password\",\n message: \"Password is incorrectly formatted\"\n}, B = {\n status: A,\n error: \"invalid-phone-number\",\n message: \"Phone number is incorrectly formatted\"\n}, we = {\n status: A,\n error: \"invalid-mfa-ticket\",\n message: \"MFA ticket is invalid\"\n}, Te = {\n status: A,\n error: \"no-mfa-ticket\",\n message: \"No MFA ticket has been provided\"\n}, ye = {\n status: A,\n error: \"no-refresh-token\",\n message: \"No refresh token has been provided\"\n}, Se = {\n status: N,\n error: \"refresher-already-running\",\n message: \"The token refresher is already running. You must wait until is has finished before submitting a new token.\"\n}, I = {\n status: N,\n error: \"already-signed-in\",\n message: \"User is already signed in\"\n}, ve = {\n status: N,\n error: \"unauthenticated-user\",\n message: \"User is not authenticated\"\n}, ar = {\n status: N,\n error: \"user-not-anonymous\",\n message: \"User is not anonymous\"\n}, Ae = {\n status: N,\n error: \"unverified-user\",\n message: \"Email needs verification\"\n}, Ie = {\n status: A,\n error: \"invalid-refresh-token\",\n message: \"Invalid or expired refresh token\"\n}, ke = {\n status: re,\n error: \"invalid-sign-in-method\",\n message: \"Invalid sign-in method\"\n}, q = {\n user: null,\n mfa: null,\n accessToken: {\n value: null,\n expiresAt: null\n },\n refreshTimer: {\n startedAt: null,\n attempts: 0,\n lastAttempt: null\n },\n refreshToken: {\n value: null\n },\n importTokenAttempts: 0,\n errors: {}\n};\nfunction _e(n) {\n return new TextEncoder().encode(n);\n}\nfunction b(n) {\n const e = new Uint8Array(n);\n let t = \"\";\n for (const s of e)\n t += String.fromCharCode(s);\n return btoa(t).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n}\nfunction H(n) {\n const e = n.replace(/-/g, \"+\").replace(/_/g, \"/\"), t = (4 - e.length % 4) % 4, r = e.padEnd(e.length + t, \"=\"), s = atob(r), i = new ArrayBuffer(s.length), c = new Uint8Array(i);\n for (let l = 0; l < s.length; l++)\n c[l] = s.charCodeAt(l);\n return i;\n}\nfunction te() {\n return (window == null ? void 0 : window.PublicKeyCredential) !== void 0 && typeof window.PublicKeyCredential == \"function\";\n}\nfunction ne(n) {\n const { id: e } = n;\n return {\n ...n,\n id: H(e),\n transports: n.transports\n };\n}\nfunction se(n) {\n return n === \"localhost\" || /^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$/i.test(n);\n}\nclass p extends Error {\n constructor(e, t = \"WebAuthnError\") {\n super(e), this.name = t;\n }\n}\nfunction Re({ error: n, options: e }) {\n var t, r;\n const { publicKey: s } = e;\n if (!s)\n throw Error(\"options was missing required publicKey property\");\n if (n.name === \"AbortError\") {\n if (e.signal === new AbortController().signal)\n return new p(\"Registration ceremony was sent an abort signal\", \"AbortError\");\n } else if (n.name === \"ConstraintError\") {\n if (((t = s.authenticatorSelection) === null || t === void 0 ? void 0 : t.requireResidentKey) === !0)\n return new p(\"Discoverable credentials were required but no available authenticator supported it\", \"ConstraintError\");\n if (((r = s.authenticatorSelection) === null || r === void 0 ? void 0 : r.userVerification) === \"required\")\n return new p(\"User verification was required but no available authenticator supported it\", \"ConstraintError\");\n } else {\n if (n.name === \"InvalidStateError\")\n return new p(\"The authenticator was previously registered\", \"InvalidStateError\");\n if (n.name === \"NotAllowedError\")\n return new p(\"User clicked cancel, or the registration ceremony timed out\", \"NotAllowedError\");\n if (n.name === \"NotSupportedError\")\n return s.pubKeyCredParams.filter((c) => c.type === \"public-key\").length === 0 ? new p('No entry in pubKeyCredParams was of type \"public-key\"', \"NotSupportedError\") : new p(\"No available authenticator supported any of the specified pubKeyCredParams algorithms\", \"NotSupportedError\");\n if (n.name === \"SecurityError\") {\n const i = window.location.hostname;\n if (se(i)) {\n if (s.rp.id !== i)\n return new p(`The RP ID \"${s.rp.id}\" is invalid for this domain`, \"SecurityError\");\n } else\n return new p(`${window.location.hostname} is an invalid domain`, \"SecurityError\");\n } else if (n.name === \"TypeError\") {\n if (s.user.id.byteLength < 1 || s.user.id.byteLength > 64)\n return new p(\"User ID was not between 1 and 64 characters\", \"TypeError\");\n } else if (n.name === \"UnknownError\")\n return new p(\"The authenticator was unable to process the specified options, or could not create a new credential\", \"UnknownError\");\n }\n return n;\n}\nclass be {\n createNewAbortSignal() {\n return this.controller && this.controller.abort(), this.controller = new AbortController(), this.controller.signal;\n }\n reset() {\n this.controller = void 0;\n }\n}\nconst L = new be();\nasync function ie(n) {\n if (!te())\n throw new Error(\"WebAuthn is not supported in this browser\");\n const t = { publicKey: {\n ...n,\n challenge: H(n.challenge),\n user: {\n ...n.user,\n id: _e(n.user.id)\n },\n excludeCredentials: n.excludeCredentials.map(ne)\n } };\n t.signal = L.createNewAbortSignal();\n let r;\n try {\n r = await navigator.credentials.create(t);\n } catch (g) {\n throw Re({ error: g, options: t });\n } finally {\n L.reset();\n }\n if (!r)\n throw new Error(\"Registration was not completed\");\n const { id: s, rawId: i, response: c, type: l } = r, E = {\n id: s,\n rawId: b(i),\n response: {\n attestationObject: b(c.attestationObject),\n clientDataJSON: b(c.clientDataJSON)\n },\n type: l,\n clientExtensionResults: r.getClientExtensionResults(),\n authenticatorAttachment: r.authenticatorAttachment\n };\n return typeof c.getTransports == \"function\" && (E.transports = c.getTransports()), E;\n}\nfunction Oe(n) {\n return new TextDecoder(\"utf-8\").decode(n);\n}\nasync function Pe() {\n if (navigator.credentials.conditionalMediationSupported)\n return !0;\n const n = window.PublicKeyCredential;\n return n.isConditionalMediationAvailable !== void 0 && n.isConditionalMediationAvailable();\n}\nfunction Ce({ error: n, options: e }) {\n var t;\n const { publicKey: r } = e;\n if (!r)\n throw Error(\"options was missing required publicKey property\");\n if (n.name === \"AbortError\") {\n if (e.signal === new AbortController().signal)\n return new p(\"Authentication ceremony was sent an abort signal\", \"AbortError\");\n } else {\n if (n.name === \"NotAllowedError\")\n return !((t = r.allowCredentials) === null || t === void 0) && t.length ? new p(\"No available authenticator recognized any of the allowed credentials\", \"NotAllowedError\") : new p(\"User clicked cancel, or the authentication ceremony timed out\", \"NotAllowedError\");\n if (n.name === \"SecurityError\") {\n const s = window.location.hostname;\n if (se(s)) {\n if (r.rpId !== s)\n return new p(`The RP ID \"${r.rpId}\" is invalid for this domain`, \"SecurityError\");\n } else\n return new p(`${window.location.hostname} is an invalid domain`, \"SecurityError\");\n } else if (n.name === \"UnknownError\")\n return new p(\"The authenticator was unable to process the specified options, or could not create a new assertion signature\", \"UnknownError\");\n }\n return n;\n}\nasync function Ne(n, e = !1) {\n var t, r;\n if (!te())\n throw new Error(\"WebAuthn is not supported in this browser\");\n let s;\n ((t = n.allowCredentials) === null || t === void 0 ? void 0 : t.length) !== 0 && (s = (r = n.allowCredentials) === null || r === void 0 ? void 0 : r.map(ne));\n const i = {\n ...n,\n challenge: H(n.challenge),\n allowCredentials: s\n }, c = {};\n if (e) {\n if (!await Pe())\n throw Error(\"Browser does not support WebAuthn autofill\");\n if (document.querySelectorAll(\"input[autocomplete*='webauthn']\").length < 1)\n throw Error('No <input> with `\"webauthn\"` in its `autocomplete` attribute was detected');\n c.mediation = \"conditional\", i.allowCredentials = [];\n }\n c.publicKey = i, c.signal = L.createNewAbortSignal();\n let l;\n try {\n l = await navigator.credentials.get(c);\n } catch (o) {\n throw Ce({ error: o, options: c });\n } finally {\n L.reset();\n }\n if (!l)\n throw new Error(\"Authentication was not completed\");\n const { id: E, rawId: g, response: m, type: T } = l;\n let f;\n return m.userHandle && (f = Oe(m.userHandle)), {\n id: E,\n rawId: b(g),\n response: {\n authenticatorData: b(m.authenticatorData),\n clientDataJSON: b(m.clientDataJSON),\n signature: b(m.signature),\n userHandle: f\n },\n type: T,\n clientExtensionResults: l.getClientExtensionResults(),\n authenticatorAttachment: l.authenticatorAttachment\n };\n}\nconst G = typeof window < \"u\", V = /* @__PURE__ */ new Map(), xe = (n) => {\n var e;\n return G && typeof localStorage < \"u\" ? localStorage.getItem(n) : (e = V.get(n)) != null ? e : null;\n}, De = (n, e) => {\n G && typeof localStorage < \"u\" ? e ? localStorage.setItem(n, e) : localStorage.removeItem(n) : e ? V.set(n, e) : V.has(n) && V.delete(n);\n}, Ue = (n, e) => {\n if (n === \"localStorage\" || n === \"web\")\n return xe;\n if (n === \"cookie\")\n return (t) => {\n var r;\n return G && (r = $.get(t)) != null ? r : null;\n };\n if (!e)\n throw Error(\n `clientStorageType is set to '${n}' but no clientStorage has been given`\n );\n if (n === \"react-native\")\n return (t) => {\n var r;\n return (r = e.getItem) == null ? void 0 : r.call(e, t);\n };\n if (n === \"capacitor\")\n return (t) => {\n var r;\n return (r = e.get) == null ? void 0 : r.call(e, { key: t });\n };\n if (n === \"expo-secure-storage\")\n return (t) => {\n var r;\n return (r = e.getItemAsync) == null ? void 0 : r.call(e, t);\n };\n if (n === \"custom\") {\n if (e.getItem && e.removeItem)\n return e.getItem;\n if (e.getItemAsync)\n return e.getItemAsync;\n throw Error(\n `clientStorageType is set to 'custom' but clientStorage is missing either \"getItem\" and \"removeItem\" properties or \"getItemAsync\" property`\n );\n }\n throw Error(`Unknown storage type: ${n}`);\n}, Me = (n, e) => {\n if (n === \"localStorage\" || n === \"web\")\n return De;\n if (n === \"cookie\")\n return (t, r) => {\n G && (r ? $.set(t, r, { expires: 30, sameSite: \"lax\", httpOnly: !1 }) : $.remove(t));\n };\n if (!e)\n throw Error(\n `clientStorageType is set to '${n}' but no clienStorage has been given`\n );\n if (n === \"react-native\")\n return (t, r) => {\n var s, i;\n return r ? (s = e.setItem) == null ? void 0 : s.call(e, t, r) : (i = e.removeItem) == null ? void 0 : i.call(e, t);\n };\n if (n === \"capacitor\")\n return (t, r) => {\n var s, i;\n return r ? (s = e.set) == null ? void 0 : s.call(e, { key: t, value: r }) : (i = e.remove) == null ? void 0 : i.call(e, { key: t });\n };\n if (n === \"expo-secure-storage\")\n return async (t, r) => {\n var s, i;\n return r ? (s = e.setItemAsync) == null ? void 0 : s.call(e, t, r) : (i = e.deleteItemAsync) == null ? void 0 : i.call(e, t);\n };\n if (n === \"custom\") {\n if (!e.removeItem)\n throw Error(\n \"clientStorageType is set to 'custom' but clientStorage is missing a removeItem property\"\n );\n if (e.setItem)\n return (t, r) => {\n var s, i;\n return r ? (s = e.setItem) == null ? void 0 : s.call(e, t, r) : (i = e.removeItem) == null ? void 0 : i.call(e, t);\n };\n if (e.setItemAsync)\n return async (t, r) => {\n var s, i;\n return r ? (s = e.setItemAsync) == null ? void 0 : s.call(e, t, r) : (i = e.removeItem) == null ? void 0 : i.call(e, t);\n };\n throw Error(\n \"clientStorageType is set to 'custom' but clientStorage is missing setItem or setItemAsync property\"\n );\n }\n throw Error(`Unknown storage type: ${n}`);\n}, O = (n) => {\n const e = fe.create({ baseURL: n });\n return e.interceptors.response.use(\n (t) => t,\n (t) => {\n var r, s, i, c, l, E, g, m, T, f, o, a;\n return Promise.reject({\n error: {\n message: (l = (c = (i = (s = (r = t.response) == null ? void 0 : r.data) == null ? void 0 : s.message) != null ? i : t.message) != null ? c : t.request.responseText) != null ? l : JSON.stringify(t),\n status: (f = (T = (E = t.response) == null ? void 0 : E.status) != null ? T : (m = (g = t.response) == null ? void 0 : g.data) == null ? void 0 : m.statusCode) != null ? f : ee,\n error: ((a = (o = t.response) == null ? void 0 : o.data) == null ? void 0 : a.error) || t.request.statusText || \"network\"\n }\n });\n }\n ), e;\n}, U = (n) => !n || !n.accessToken.value || !n.refreshToken.value || !n.accessToken.expiresAt || !n.user ? null : {\n accessToken: n.accessToken.value,\n accessTokenExpiresIn: (n.accessToken.expiresAt.getTime() - Date.now()) / 1e3,\n refreshToken: n.refreshToken.value,\n user: n.user\n}, R = ({\n accessToken: n,\n isError: e,\n user: t,\n error: r\n}) => e ? {\n session: null,\n error: r\n} : t && n ? {\n session: { accessToken: n, accessTokenExpiresIn: 0, refreshToken: \"\", user: t },\n error: null\n} : { session: null, error: null }, Y = () => typeof window < \"u\", oe = (n, e) => {\n const t = e && Object.entries(e).map(([r, s]) => {\n const i = Array.isArray(s) ? s.join(\",\") : typeof s == \"object\" ? JSON.stringify(s) : s;\n return `${r}=${encodeURIComponent(i)}`;\n }).join(\"&\");\n return t ? `${n}?${t}` : n;\n}, v = (n, e) => {\n if (!(e != null && e.redirectTo))\n return e;\n const { redirectTo: t, ...r } = e;\n if (!n)\n return t.startsWith(\"/\") ? r : e;\n const s = new URL(n), i = Object.fromEntries(new URLSearchParams(s.search)), c = new URL(t.startsWith(\"/\") ? s.origin + t : t), l = new URLSearchParams(c.search);\n let E = Object.fromEntries(l);\n t.startsWith(\"/\") && (E = { ...i, ...E });\n let g = s.pathname;\n return c.pathname.length > 1 && (g += c.pathname.slice(1)), {\n ...r,\n redirectTo: oe(c.origin + g, E)\n };\n};\nfunction M(n, e) {\n var s;\n if (!e) {\n if (typeof window > \"u\")\n return;\n e = ((s = window.location) == null ? void 0 : s.href) || \"\";\n }\n n = n.replace(/[\\[\\]]/g, \"\\\\$&\");\n const t = new RegExp(\"[?&#]\" + n + \"(=([^&#]*)|&|#|$)\"), r = t.exec(e);\n return r ? r[2] ? decodeURIComponent(r[2].replace(/\\+/g, \" \")) : \"\" : null;\n}\nfunction F(n) {\n var t;\n if (typeof window > \"u\")\n return;\n const e = window == null ? void 0 : window.location;\n if (!!e && e) {\n const r = new URLSearchParams(e.search), s = new URLSearchParams((t = e.hash) == null ? void 0 : t.slice(1));\n r.delete(n), s.delete(n);\n let i = window.location.pathname;\n Array.from(r).length && (i += `?${r.toString()}`), Array.from(s).length && (i += `#${s.toString()}`), window.history.pushState({}, \"\", i);\n }\n}\nconst _ = (n) => !!n && typeof n == \"string\" && !!String(n).toLowerCase().match(\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n), j = (n) => !!n && typeof n == \"string\" && n.length >= he, Q = (n) => !!n && typeof n == \"string\", Ke = (n) => n && typeof n == \"string\" && n.match(/^mfaTotp:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i), Ve = ({\n backendUrl: n,\n clientUrl: e,\n clientStorageGetter: t,\n clientStorageSetter: r,\n clientStorageType: s = \"web\",\n clientStorage: i,\n refreshIntervalTime: c,\n autoRefreshToken: l = !0,\n autoSignIn: E = !0\n}) => {\n const g = t || Ue(s, i), m = r || Me(s, i), T = O(n), f = async (o, a, u) => (await T.post(o, a, u)).data;\n return P(\n {\n schema: {\n context: {},\n events: {},\n services: {}\n },\n tsTypes: {},\n context: q,\n predictableActionArguments: !0,\n id: \"nhost\",\n type: \"parallel\",\n states: {\n authentication: {\n initial: \"starting\",\n on: {\n SESSION_UPDATE: [\n {\n cond: \"hasSession\",\n actions: [\"saveSession\", \"resetTimer\", \"reportTokenChanged\"],\n target: \".signedIn\"\n }\n ]\n },\n states: {\n starting: {\n tags: [\"loading\"],\n always: { cond: \"isSignedIn\", target: \"signedIn\" },\n invoke: {\n id: \"importRefreshToken\",\n src: \"importRefreshToken\",\n onDone: [\n {\n cond: \"hasSession\",\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"signedIn\"\n },\n {\n target: \"signedOut\"\n }\n ],\n onError: [\n {\n cond: \"shouldRetryImportToken\",\n actions: \"incrementTokenImportAttempts\",\n target: \"retryTokenImport\"\n },\n { actions: [\"saveAuthenticationError\"], target: \"signedOut\" }\n ]\n }\n },\n retryTokenImport: {\n tags: [\"loading\"],\n after: {\n RETRY_IMPORT_TOKEN_DELAY: \"starting\"\n }\n },\n signedOut: {\n initial: \"noErrors\",\n entry: \"reportSignedOut\",\n states: {\n noErrors: {},\n success: {},\n needsSmsOtp: {},\n needsMfa: {},\n failed: {},\n signingOut: {\n entry: [\"clearContextExceptRefreshToken\"],\n exit: [\"destroyRefreshToken\", \"reportTokenChanged\"],\n invoke: {\n src: \"signout\",\n id: \"signingOut\",\n onDone: {\n target: \"success\"\n },\n onError: {\n target: \"failed\",\n actions: [\"saveAuthenticationError\"]\n }\n }\n }\n },\n on: {\n SIGNIN_PASSWORD: \"authenticating.password\",\n SIGNIN_ANONYMOUS: \"authenticating.anonymous\",\n SIGNIN_SECURITY_KEY_EMAIL: \"authenticating.securityKeyEmail\",\n SIGNIN_MFA_TOTP: \"authenticating.mfa.totp\"\n }\n },\n authenticating: {\n entry: \"resetErrors\",\n states: {\n password: {\n invoke: {\n src: \"signInPassword\",\n id: \"authenticateUserWithPassword\",\n onDone: [\n {\n cond: \"hasMfaTicket\",\n actions: [\"saveMfaTicket\"],\n target: \"#nhost.authentication.signedOut.needsMfa\"\n },\n {\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n }\n ],\n onError: [\n {\n cond: \"unverified\",\n target: [\n \"#nhost.authentication.signedOut\",\n \"#nhost.registration.incomplete.needsEmailVerification\"\n ]\n },\n {\n actions: \"saveAuthenticationError\",\n target: \"#nhost.authentication.signedOut.failed\"\n }\n ]\n }\n },\n anonymous: {\n invoke: {\n src: \"signInAnonymous\",\n id: \"authenticateAnonymously\",\n onDone: {\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n },\n onError: {\n actions: \"saveAuthenticationError\",\n target: \"#nhost.authentication.signedOut.failed\"\n }\n }\n },\n mfa: {\n states: {\n totp: {\n invoke: {\n src: \"signInMfaTotp\",\n id: \"signInMfaTotp\",\n onDone: {\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n },\n onError: {\n actions: [\"saveAuthenticationError\"],\n target: \"#nhost.authentication.signedOut.failed\"\n }\n }\n }\n }\n },\n securityKeyEmail: {\n invoke: {\n src: \"signInSecurityKeyEmail\",\n id: \"authenticateUserWithSecurityKey\",\n onDone: {\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n },\n onError: [\n {\n cond: \"unverified\",\n target: [\n \"#nhost.authentication.signedOut\",\n \"#nhost.registration.incomplete.needsEmailVerification\"\n ]\n },\n {\n actions: \"saveAuthenticationError\",\n target: \"#nhost.authentication.signedOut.failed\"\n }\n ]\n }\n }\n }\n },\n signedIn: {\n type: \"parallel\",\n entry: [\"reportSignedIn\", \"cleanUrl\", \"broadcastToken\", \"resetErrors\"],\n on: {\n SIGNOUT: \"signedOut.signingOut\"\n },\n states: {\n refreshTimer: {\n id: \"timer\",\n initial: \"idle\",\n states: {\n disabled: { type: \"final\" },\n stopped: {\n always: {\n cond: \"noToken\",\n target: \"idle\"\n }\n },\n idle: {\n always: [\n { cond: \"isAutoRefreshDisabled\", target: \"disabled\" },\n {\n cond: \"hasRefreshToken\",\n target: \"running\"\n }\n ]\n },\n running: {\n initial: \"pending\",\n entry: \"resetTimer\",\n states: {\n pending: {\n after: {\n 1e3: {\n internal: !1,\n target: \"pending\"\n }\n },\n always: {\n cond: \"refreshTimerShouldRefresh\",\n target: \"refreshing\"\n }\n },\n refreshing: {\n invoke: {\n src: \"refreshToken\",\n id: \"refreshToken\",\n onDone: {\n actions: [\"saveSession\", \"resetTimer\", \"reportTokenChanged\"],\n target: \"pending\"\n },\n onError: [\n { actions: \"saveRefreshAttempt\", target: \"pending\" }\n ]\n }\n }\n }\n }\n }\n }\n }\n }\n }\n },\n token: {\n initial: \"idle\",\n states: {\n idle: {\n on: {\n TRY_TOKEN: \"running\"\n },\n initial: \"noErrors\",\n states: { noErrors: {}, error: {} }\n },\n running: {\n invoke: {\n src: \"refreshToken\",\n id: \"authenticateWithToken\",\n onDone: {\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: [\"#nhost.authentication.signedIn\", \"idle.noErrors\"]\n },\n onError: [\n { cond: \"isSignedIn\", target: \"idle.error\" },\n {\n actions: \"saveAuthenticationError\",\n target: [\"#nhost.authentication.signedOut.failed\", \"idle.error\"]\n }\n ]\n }\n }\n }\n },\n registration: {\n initial: \"incomplete\",\n on: {\n SIGNED_IN: [{ cond: \"isAnonymous\", target: \".incomplete\" }, \".complete\"]\n },\n states: {\n incomplete: {\n on: {\n SIGNUP_EMAIL_PASSWORD: \"emailPassword\",\n SIGNUP_SECURITY_KEY: \"securityKey\",\n PASSWORDLESS_EMAIL: \"passwordlessEmail\",\n PASSWORDLESS_SMS: \"passwordlessSms\",\n PASSWORDLESS_SMS_OTP: \"passwordlessSmsOtp\"\n },\n initial: \"noErrors\",\n states: {\n noErrors: {},\n needsEmailVerification: {},\n needsOtp: {},\n failed: {}\n }\n },\n emailPassword: {\n entry: [\"resetErrors\"],\n invoke: {\n src: \"signUpEmailPassword\",\n id: \"signUpEmailPassword\",\n onDone: [\n {\n cond: \"hasSession\",\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n },\n {\n actions: \"clearContext\",\n target: [\"#nhost.authentication.signedOut\", \"incomplete.needsEmailVerification\"]\n }\n ],\n onError: [\n {\n cond: \"unverified\",\n target: \"incomplete.needsEmailVerification\"\n },\n {\n actions: \"saveRegistrationError\",\n target: \"incomplete.failed\"\n }\n ]\n }\n },\n securityKey: {\n entry: [\"resetErrors\"],\n invoke: {\n src: \"signUpSecurityKey\",\n id: \"signUpSecurityKey\",\n onDone: [\n {\n cond: \"hasSession\",\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n },\n {\n actions: \"clearContext\",\n target: [\"#nhost.authentication.signedOut\", \"incomplete.needsEmailVerification\"]\n }\n ],\n onError: [\n {\n cond: \"unverified\",\n target: \"incomplete.needsEmailVerification\"\n },\n {\n actions: \"saveRegistrationError\",\n target: \"incomplete.failed\"\n }\n ]\n }\n },\n passwordlessEmail: {\n entry: [\"resetErrors\"],\n invoke: {\n src: \"passwordlessEmail\",\n id: \"passwordlessEmail\",\n onDone: {\n actions: \"clearContext\",\n target: [\"#nhost.authentication.signedOut\", \"incomplete.needsEmailVerification\"]\n },\n onError: {\n actions: \"saveRegistrationError\",\n target: \"incomplete.failed\"\n }\n }\n },\n passwordlessSms: {\n entry: [\"resetErrors\"],\n invoke: {\n src: \"passwordlessSms\",\n id: \"passwordlessSms\",\n onDone: {\n actions: \"clearContext\",\n target: [\"#nhost.authentication.signedOut\", \"incomplete.needsOtp\"]\n },\n onError: {\n actions: \"saveRegistrationError\",\n target: \"incomplete.failed\"\n }\n }\n },\n passwordlessSmsOtp: {\n entry: [\"resetErrors\"],\n invoke: {\n src: \"passwordlessSmsOtp\",\n id: \"passwordlessSmsOtp\",\n onDone: {\n actions: [\"saveSession\", \"reportTokenChanged\"],\n target: \"#nhost.authentication.signedIn\"\n },\n onError: {\n actions: \"saveRegistrationError\",\n target: \"incomplete.failed\"\n }\n }\n },\n complete: {\n on: {\n SIGNED_OUT: \"incomplete\"\n }\n }\n }\n }\n }\n },\n {\n actions: {\n reportSignedIn: w(\"SIGNED_IN\"),\n reportSignedOut: w(\"SIGNED_OUT\"),\n reportTokenChanged: w(\"TOKEN_CHANGED\"),\n incrementTokenImportAttempts: h({\n importTokenAttempts: ({ importTokenAttempts: o }) => o + 1\n }),\n clearContext: h(() => (m(D, null), m(x, null), {\n ...q\n })),\n clearContextExceptRefreshToken: h(({ refreshToken: { value: o } }) => (m(D, null), {\n ...q,\n refreshToken: { value: o }\n })),\n saveSession: h({\n user: (o, { data: a }) => {\n var u;\n return ((u = a == null ? void 0 : a.session) == null ? void 0 : u.user) || null;\n },\n accessToken: (o, { data: a }) => {\n if (a.session) {\n const { accessTokenExpiresIn: u, accessToken: d } = a.session, y = new Date(Date.now() + u * 1e3);\n return m(D, y.toISOString()), {\n value: d,\n expiresAt: y\n };\n }\n return m(D, null), {\n value: null,\n expiresAt: null\n };\n },\n refreshToken: (o, { data: a }) => {\n var d;\n const u = ((d = a.session) == null ? void 0 : d.refreshToken) || null;\n return u && m(x, u), { value: u };\n }\n }),\n saveMfaTicket: h({\n mfa: (o, a) => {\n var u;\n return (u = a.data) == null ? void 0 : u.mfa;\n }\n }),\n resetTimer: h({\n refreshTimer: (o) => ({\n startedAt: new Date(),\n attempts: 0,\n lastAttempt: null\n })\n }),\n saveRefreshAttempt: h({\n refreshTimer: (o, a) => ({\n startedAt: o.refreshTimer.startedAt,\n attempts: o.refreshTimer.attempts + 1,\n lastAttempt: new Date()\n })\n }),\n saveAuthenticationError: h({\n errors: ({ errors: o }, { data: { error: a } }) => ({\n ...o,\n authentication: a\n })\n }),\n resetErrors: h({\n errors: (o) => ({}),\n importTokenAttempts: (o) => 0\n }),\n saveRegistrationError: h({\n errors: ({ errors: o }, { data: { error: a } }) => ({ ...o, registration: a })\n }),\n destroyRefreshToken: h({\n refreshToken: (o) => (m(x, null), { value: null })\n }),\n cleanUrl: () => {\n E && M(\"refreshToken\") && (F(\"refreshToken\"), F(\"type\"));\n },\n broadcastToken: (o) => {\n if (E)\n try {\n new BroadcastChannel(\"nhost\").postMessage(o.refreshToken.value);\n } catch {\n }\n }\n },\n guards: {\n isAnonymous: (o, a) => {\n var u;\n return !!((u = o.user) != null && u.isAnonymous);\n },\n isSignedIn: (o) => !!o.user && !!o.refreshToken.value && !!o.accessToken.value,\n noToken: (o) => !o.refreshToken.value,\n hasRefreshToken: (o) => !!o.refreshToken.value,\n isAutoRefreshDisabled: () => !l,\n refreshTimerShouldRefresh: (o) => {\n const { expiresAt: a } = o.accessToken;\n return a ? o.refreshTimer.lastAttempt ? Date.now() - o.refreshTimer.lastAttempt.getTime() > Ee * 1e3 : c && Date.now() - o.refreshTimer.startedAt.getTime() > c * 1e3 ? !0 : a.getTime() - Date.now() - 1e3 * me <= 0 : !1;\n },\n shouldRetryImportToken: (o, a) => a.data.error.status === ee || a.data.error.status >= 500,\n unverified: (o, { data: { error: a } }) => a.status === 401 && (a.message === \"Email is not verified\" || a.error === \"unverified-user\"),\n hasSession: (o, a) => {\n var u;\n return !!((u = a.data) != null && u.session);\n },\n hasMfaTicket: (o, a) => {\n var u;\n return !!((u = a.data) != null && u.mfa);\n }\n },\n services: {\n signInPassword: (o, { email: a, password: u }) => _(a) ? j(u) ? f(\"/signin/email-password\", {\n email: a,\n password: u\n }) : Promise.reject({ error: W }) : Promise.reject({ error: k }),\n passwordlessSms: (o, { phoneNumber: a, options: u }) => {\n var d;\n return Q(a) ? (d = o.user) != null && d.isAnonymous ? (console.warn(\n \"Deanonymisation from a phone number is not yet implemented in hasura-auth\"\n ), f(\n \"/user/deanonymize\",\n {\n signInMethod: \"passwordless\",\n connection: \"sms\",\n phoneNumber: a,\n options: v(e, u)\n },\n {\n headers: {\n authorization: `Bearer ${o.accessToken.value}`\n }\n }\n )) : f(\"/signin/passwordless/sms\", {\n phoneNumber: a,\n options: v(e, u)\n }) : Promise.reject({ error: B });\n },\n passwordlessSmsOtp: (o, { phoneNumber: a, otp: u }) => Q(a) ? f(\"/signin/passwordless/sms/otp\", {\n phoneNumber: a,\n otp: u\n }) : Promise.reject({ error: B }),\n passwordlessEmail: (o, { email: a, options: u }) => {\n var d;\n return _(a) ? (d = o.user) != null && d.isAnonymous ? f(\n \"/user/deanonymize\",\n {\n signInMethod: \"passwordless\",\n connection: \"email\",\n email: a,\n options: v(e, u)\n },\n {\n headers: {\n authorization: `Bearer ${o.accessToken.value}`\n }\n }\n ) : f(\"/signin/passwordless/email\", {\n email: a,\n options: v(e, u)\n }) : Promise.reject({ error: k });\n },\n signInAnonymous: (o) => f(\"/signin/anonymous\"),\n signInMfaTotp: (o, a) => {\n var d;\n const u = a.ticket || ((d = o.mfa) == null ? void 0 : d.ticket);\n return u ? Ke(u) ? f(\"/signin/mfa/totp\", {\n ticket: u,\n otp: a.otp\n }) : Promise.reject({ error: we }) : Promise.reject({ error: Te });\n },\n signInSecurityKeyEmail: async (o, { email: a }) => {\n if (!_(a))\n throw new K(k);\n const u = await f(\n \"/signin/webauthn\",\n { email: a }\n );\n let d;\n try {\n d = await Ne(u);\n } catch (y) {\n throw new K(y);\n }\n return f(\"/signin/webauthn/verify\", { email: a, credential: d });\n },\n refreshToken: async (o, a) => {\n const u = a.type === \"TRY_TOKEN\" ? a.token : o.refreshToken.value;\n return { session: await f(\"/token\", {\n refreshToken: u\n }), error: null };\n },\n signout: (o, a) => f(\"/signout\", {\n refreshToken: o.refreshToken.value,\n all: !!a.all\n }),\n signUpEmailPassword: async (o, { email: a, password: u, options: d }) => {\n var y;\n return _(a) ? j(u) ? (y = o.user) != null && y.isAnonymous ? f(\n \"/user/deanonymize\",\n {\n signInMethod: \"email-password\",\n email: a,\n password: u,\n options: v(e, d)\n },\n {\n headers: {\n authorization: `Bearer ${o.accessToken.value}`\n }\n }\n ) : f(\"/signup/email-password\", {\n email: a,\n password: u,\n options: v(e, d)\n }) : Promise.reject({ error: W }) : Promise.reject({ error: k });\n },\n signUpSecurityKey: async (o, { email: a, options: u }) => {\n if (!_(a))\n return Promise.reject({ error: k });\n const d = u == null ? void 0 : u.nickname;\n d && delete u.nickname;\n const y = await f(\n \"/signup/webauthn\",\n { email: a, options: u }\n );\n let z;\n try {\n z = await ie(y);\n } catch (ce) {\n throw new K(ce);\n }\n return f(\"/signup/webauthn/verify\", {\n credential: z,\n options: {\n redirectTo: u == null ? void 0 : u.redirectTo,\n nickname: d\n }\n });\n },\n importRefreshToken: async () => {\n let o = null;\n if (E) {\n const u = M(\"refreshToken\") || null;\n if (u)\n try {\n return { session: await f(\"/token\", {\n refreshToken: u\n }), error: null };\n } catch (d) {\n o = d.error;\n }\n else {\n const d = M(\"error\");\n if (d)\n return Promise.reject({\n session: null,\n error: {\n status: A,\n error: d,\n message: M(\"errorDescription\") || d\n }\n });\n }\n }\n const a = await g(x);\n if (a)\n try {\n return { session: await f(\"/token\", {\n refreshToken: a\n }), error: null };\n } catch (u) {\n o = u.error;\n }\n return o ? Promise.reject({ error: o, session: null }) : { error: null, session: null };\n }\n },\n delays: {\n RETRY_IMPORT_TOKEN_DELAY: ({ importTokenAttempts: o }) => o < 5 ? 1e3 : 5e3\n }\n }\n );\n}, Le = ({ backendUrl: n, clientUrl: e, interpreter: t }) => {\n const r = O(n);\n return P(\n {\n schema: {\n context: {},\n events: {},\n services: {}\n },\n tsTypes: {},\n predictableActionArguments: !0,\n id: \"changeEmail\",\n initial: \"idle\",\n context: { error: null },\n states: {\n idle: {\n on: {\n REQUEST: [\n {\n cond: \"invalidEmail\",\n actions: \"saveInvalidEmailError\",\n target: \".error\"\n },\n {\n target: \"requesting\"\n }\n ]\n },\n initial: \"initial\",\n states: {\n initial: {},\n success: {},\n error: {}\n }\n },\n requesting: {\n invoke: {\n src: \"requestChange\",\n id: \"requestChange\",\n onDone: { target: \"idle.success\", actions: \"reportSuccess\" },\n onError: { actions: [\"saveRequestError\", \"reportError\"], target: \"idle.error\" }\n }\n }\n }\n },\n {\n actions: {\n saveInvalidEmailError: h({ error: (s) => k }),\n saveRequestError: h({\n error: (s, { data: { error: i } }) => i\n }),\n reportError: w((s) => ({ type: \"ERROR\", error: s.error })),\n reportSuccess: w(\"SUCCESS\")\n },\n guards: {\n invalidEmail: (s, { email: i }) => !_(i)\n },\n services: {\n requestChange: async (s, { email: i, options: c }) => (await r.post(\n \"/user/email/change\",\n {\n newEmail: i,\n options: v(e, c)\n },\n {\n headers: {\n authorization: `Bearer ${t == null ? void 0 : t.getSnapshot().context.accessToken.value}`\n }\n }\n )).data\n }\n }\n );\n}, Ge = ({ backendUrl: n, interpreter: e }) => {\n const t = O(n);\n return P(\n {\n schema: {\n context: {},\n events: {},\n services: {}\n },\n tsTypes: {},\n predictableActionArguments: !0,\n id: \"changePassword\",\n initial: \"idle\",\n context: { error: null },\n states: {\n idle: {\n on: {\n REQUEST: [\n {\n cond: \"invalidPassword\",\n actions: \"saveInvalidPasswordError\",\n target: \".error\"\n },\n {\n target: \"requesting\"\n }\n ]\n },\n initial: \"initial\",\n states: {\n initial: {},\n success: {},\n error: {}\n }\n },\n requesting: {\n invoke: {\n src: \"requestChange\",\n id: \"requestChange\",\n onDone: { target: \"idle.success\", actions: \"reportSuccess\" },\n onError: { actions: [\"saveRequestError\", \"reportError\"], target: \"idle.error\" }\n }\n }\n }\n },\n {\n actions: {\n saveInvalidPasswordError: h({ error: (r) => W }),\n saveRequestError: h({\n error: (r, { data: { error: s } }) => s\n }),\n reportError: w((r) => ({ type: \"ERROR\", error: r.error })),\n reportSuccess: w(\"SUCCESS\")\n },\n guards: {\n invalidPassword: (r, { password: s }) => !j(s)\n },\n services: {\n requestChange: (r, { password: s, ticket: i }) => t.post(\n \"/user/password\",\n { newPassword: s, ticket: i },\n {\n headers: {\n authorization: `Bearer ${e == null ? void 0 : e.getSnapshot().context.accessToken.value}`\n }\n }\n )\n }\n }\n );\n}, cr = ({ backendUrl: n, interpreter: e }) => {\n const t = O(n);\n return P(\n {\n schema: {\n context: {},\n events: {}\n },\n tsTypes: {},\n predictableActionArguments: !0,\n id: \"enableMfa\",\n initial: \"idle\",\n context: { error: null, imageUrl: null, secret: null },\n states: {\n idle: {\n initial: \"initial\",\n on: {\n GENERATE: \"generating\"\n },\n states: {\n initial: {},\n error: {}\n }\n },\n generating: {\n invoke: {\n src: \"generate\",\n id: \"generate\",\n onDone: { target: \"generated\", actions: [\"reportGeneratedSuccess\", \"saveGeneration\"] },\n onError: { actions: [\"saveError\", \"reportGeneratedError\"], target: \"idle.error\" }\n }\n },\n generated: {\n initial: \"idle\",\n states: {\n idle: {\n initial: \"idle\",\n on: {\n ACTIVATE: [\n {\n cond: \"invalidMfaType\",\n actions: \"saveInvalidMfaTypeError\",\n target: \".error\"\n },\n {\n cond: \"invalidMfaCode\",\n actions: \"saveInvalidMfaCodeError\",\n target: \".error\"\n },\n {\n target: \"activating\"\n }\n ]\n },\n states: { idle: {}, error: {} }\n },\n activating: {\n invoke: {\n src: \"activate\",\n id: \"activate\",\n onDone: { target: \"activated\", actions: \"reportSuccess\" },\n onError: { actions: [\"saveError\", \"reportError\"], target: \"idle.error\" }\n }\n },\n activated: { type: \"final\" }\n }\n }\n }\n },\n {\n actions: {\n saveInvalidMfaTypeError: h({ error: (r) => ge }),\n saveInvalidMfaCodeError: h({ error: (r) => pe }),\n saveError: h({\n error: (r, { data: { error: s } }) => s\n }),\n saveGeneration: h({\n imageUrl: (r, { data: { imageUrl: s } }) => s,\n secret: (r, { data: { totpSecret: s } }) => s\n }),\n reportError: w((r) => ({ type: \"ERROR\", error: r.error })),\n reportSuccess: w(\"SUCCESS\"),\n reportGeneratedSuccess: w(\"GENERATED\"),\n reportGeneratedError: w((r) => ({ type: \"GENERATED_ERROR\", error: r.error }))\n },\n guards: {\n invalidMfaCode: (r, { code: s }) => !s,\n invalidMfaType: (r, { activeMfaType: s }) => !s || s !== \"totp\"\n },\n services: {\n generate: async (r) => {\n const { data: s } = await t.get(\"/mfa/totp/generate\", {\n headers: {\n authorization: `Bearer ${e == null ? void 0 : e.getSnapshot().context.accessToken.value}`\n }\n });\n return s;\n },\n activate: (r, { code: s, activeMfaType: i }) => t.post(\n \"/user/mfa\",\n {\n code: s,\n activeMfaType: i\n },\n {\n headers: {\n authorization: `Bearer ${e == null ? void 0 : e.getSnapshot().context.accessToken.value}`\n }\n }\n )\n }\n }\n );\n}, qe = ({ backendUrl: n, clientUrl: e }) => {\n const t = O(n);\n return P(\n {\n schema: {\n context: {},\n events: {},\n services: {}\n },\n tsTypes: {},\n predictableActionArguments: !0,\n id: \"changePassword\",\n initial: \"idle\",\n context: { error: null },\n states: {\n idle: {\n on: {\n REQUEST: [\n {\n cond: \"invalidEmail\",\n actions: \"saveInvalidEmailError\",\n target: \".error\"\n },\n {\n target: \"requesting\"\n }\n ]\n },\n initial: \"initial\",\n states: {\n initial: {},\n success: {},\n error: {}\n }\n },\n requesting: {\n invoke: {\n src: \"requestChange\",\n id: \"requestChange\",\n onDone: { target: \"idle.success\", actions: \"reportSuccess\" },\n onError: { actions: [\"saveRequestError\", \"reportError\"], target: \"idle.error\" }\n }\n }\n }\n },\n {\n actions: {\n saveInvalidEmailError: h({ error: (r) => k }),\n saveRequestError: h({\n error: (r, { data: { error: s } }) => s\n }),\n reportError: w((r) => ({ type: \"ERROR\", error: r.error })),\n reportSuccess: w(\"SUCCESS\")\n },\n guards: {\n invalidEmail: (r, { email: s }) => !_(s)\n },\n services: {\n requestChange: (r, { email: s, options: i }) => t.post(\"/user/password/reset\", {\n email: s,\n options: v(e, i)\n })\n }\n }\n );\n}, $e = ({ backendUrl: n, clientUrl: e }) => {\n const t = O(n);\n return P(\n {\n schema: {\n context: {},\n events: {},\n services: {}\n },\n tsTypes: {},\n predictableActionArguments: !0,\n id: \"sendVerificationEmail\",\n initial: \"idle\",\n context: { error: null },\n states: {\n idle: {\n on: {\n REQUEST: [\n {\n cond: \"invalidEmail\",\n actions: \"saveInvalidEmailError\",\n target: \".error\"\n },\n {\n target: \"requesting\"\n }\n ]\n },\n initial: \"initial\",\n states: {\n initial: {},\n success: {},\n error: {}\n }\n },\n requesting: {\n invoke: {\n src: \"request\",\n id: \"request\",\n onDone: { target: \"idle.success\", actions: \"reportSuccess\" },\n onError: { actions: [\"saveRequestError\", \"reportError\"], target: \"idle.error\" }\n }\n }\n }\n },\n {\n actions: {\n saveInvalidEmailError: h({ error: (r) => k }),\n saveRequestError: h({\n error: (r, { data: { error: s } }) => s\n }),\n reportError: w((r) => ({ type: \"ERROR\", error: r.error })),\n reportSuccess: w(\"SUCCESS\")\n },\n guards: {\n invalidEmail: (r, { email: s }) => !_(s)\n },\n services: {\n request: async (r, { email: s, options: i }) => (await t.post(\n \"/user/email/send-verification-email\",\n {\n email: s,\n options: v(e, i)\n }\n )).data\n }\n }\n );\n};\nclass ae {\n constructor({\n clientStorageType: e = \"web\",\n autoSignIn: t = !0,\n autoRefreshToken: r = !0,\n start: s = !0,\n backendUrl: i,\n clientUrl: c,\n devTools: l,\n ...E\n }) {\n S(this, \"backendUrl\");\n S(this, \"clientUrl\");\n S(this, \"machine\");\n S(this, \"_interpreter\");\n S(this, \"_channel\");\n S(this, \"_subscriptions\", /* @__PURE__ */ new Set());\n if (this.backendUrl = i, this.clientUrl = c, this.machine = Ve({\n ...E,\n backendUrl: i,\n clientUrl: c,\n clientStorageType: e,\n autoSignIn: t,\n autoRefreshToken: r\n }), s && (this.interpreter = C(this.machine, { devTools: l }), this.interpreter.start()), typeof window < \"u\" && t)\n try {\n this._channel = new BroadcastChannel(\"nhost\"), this._channel.addEventListener(\"message\", (g) => {\n var T;\n const m = (T = this.interpreter) == null ? void 0 : T.getSnapshot().context.refreshToken.value;\n this.interpreter && g.data !== m && this.interpreter.send(\"TRY_TOKEN\", { token: g.data });\n });\n } catch {\n }\n }\n get interpreter() {\n return this._interpreter;\n }\n set interpreter(e) {\n this._interpreter = e, e && this._subscriptions.forEach((t) => t(this));\n }\n onStart(e) {\n this.interpreter ? e(this) : this._subscriptions.add(e);\n }\n}\nclass We extends ae {\n constructor({\n ...e\n }) {\n super({\n ...e,\n autoSignIn: Y() && e.autoSignIn,\n autoRefreshToken: Y() && e.autoRefreshToken,\n clientStorageType: \"cookie\"\n });\n }\n}\nconst ur = We, Ye = async ({ backendUrl: n, interpreter: e }, t) => {\n const r = O(n);\n try {\n const { data: s } = await r.post(\n \"/user/webauthn/add\",\n {},\n {\n headers: {\n authorization: `Bearer ${e == null ? void 0 : e.getSnapshot().context.accessToken.value}`\n }\n }\n );\n let i;\n try {\n i = await ie(s);\n } catch (l) {\n throw new K(l);\n }\n const { data: c } = await r.post(\n \"/user/webauthn/verify\",\n { credential: i, nickname: t },\n {\n headers: {\n authorization: `Bearer ${e == null ? void 0 : e.getSnapshot().context.accessToken.value}`\n }\n }\n );\n return { key: c, isError: !1, error: null, isSuccess: !0 };\n } catch (s) {\n const { error: i } = s;\n return { isError: !0, error: i, isSuccess: !1 };\n }\n}, je = async (n, e, t) => new Promise((r) => {\n n.send(\"REQUEST\", {\n email: e,\n options: t\n }), n.onTransition((s) => {\n s.matches({ idle: \"error\" }) ? r({ error: s.context.error, isError: !0, needsEmailVerification: !1 }) : s.matches({ idle: \"success\" }) && r({ error: null, isError: !1, needsEmailVerification: !0 });\n });\n}), He = async (n, e, t) => new Promise((r) => {\n n.send(\"REQUEST\", {\n password: e,\n ticket: t\n }), n.onTransition((s) => {\n s.matches({ idle: \"error\" }) ? r({ error: s.context.error, isError: !0, isSuccess: !1 }) : s.matches({ idle: \"success\" }) && r({ error: null, isError: !1, isSuccess: !0 });\n });\n}), lr = (n) => new Promise((e) => {\n n.send(\"GENERATE\"), n.onTransition((t) => {\n t.matches(\"generated\") ? e({\n error: null,\n isError: !1,\n isGenerated: !0,\n qrCodeDataUrl: t.context.imageUrl || \"\"\n }) : t.matches({ idle: \"error\" }) && e({\n error: t.context.error || null,\n isError: !0,\n isGenerated: !1,\n qrCodeDataUrl: \"\"\n });\n });\n}), dr = (n, e) => new Promise((t) => {\n n.send(\"ACTIVATE\", {\n activeMfaType: \"totp\",\n code: e\n }), n.onTransition((r) => {\n r.matches({ generated: \"activated\" }) ? t({ error: null, isActivated: !0, isError: !1 }) : r.matches({ generated: { idle: \"error\" } }) && t({ error: r.context.error, isActivated: !1, isError: !0 });\n });\n}), ze = async (n, e, t) => new Promise((r) => {\n n.send(\"REQUEST\", {\n email: e,\n options: t\n }), n.onTransition((s) => {\n s.matches({ idle: \"error\" }) ? r({ error: s.context.error, isError: !0, isSent: !1 }) : s.matches({ idle: \"success\" }) && r({ error: null, isError: !1, isSent: !0 });\n });\n}), Be = (n, e, t) => new Promise((r) => {\n n.send(\"REQUEST\", {\n email: e,\n options: t\n }), n.onTransition((s) => {\n s.matches({ idle: \"error\" }) ? r({ error: s.context.error, isError: !0, isSent: !1 }) : s.matches({ idle: \"success\" }) && r({ error: null, isError: !1, isSent: !0 });\n });\n}), Fe = (n) => new Promise((e) => {\n const { changed: t } = n.send(\"SIGNIN_ANONYMOUS\");\n t || e({\n isSuccess: !1,\n isError: !0,\n error: I,\n user: null,\n accessToken: null\n }), n.onTransition((r) => {\n r.matches({ authentication: \"signedIn\" }) && e({\n isSuccess: !0,\n isError: !1,\n error: null,\n user: r.context.user,\n accessToken: r.context.accessToken.value\n }), r.matches({ authentication: { signedOut: \"failed\" } }) && e({\n isSuccess: !1,\n isError: !0,\n error: r.context.errors.authentication || null,\n user: null,\n accessToken: null\n });\n });\n}), Qe = (n, e, t) => new Promise((r) => {\n const { changed: s, context: i } = n.send(\"SIGNIN_PASSWORD\", {\n email: e,\n password: t\n });\n if (!s)\n return r({\n accessToken: i.accessToken.value,\n error: I,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n needsMfaOtp: !1,\n mfa: null,\n user: i.user\n });\n n.onTransition((c) => {\n c.matches({\n authentication: { signedOut: \"noErrors\" },\n registration: { incomplete: \"needsEmailVerification\" }\n }) ? r({\n accessToken: null,\n error: null,\n isError: !1,\n isSuccess: !1,\n needsEmailVerification: !0,\n needsMfaOtp: !1,\n mfa: null,\n user: null\n }) : c.matches({ authentication: { signedOut: \"needsMfa\" } }) ? r({\n accessToken: null,\n error: null,\n isError: !1,\n isSuccess: !1,\n needsEmailVerification: !1,\n needsMfaOtp: !0,\n mfa: c.context.mfa,\n user: null\n }) : c.matches({ authentication: { signedOut: \"failed\" } }) ? r({\n accessToken: null,\n error: c.context.errors.authentication || null,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n needsMfaOtp: !1,\n mfa: null,\n user: null\n }) : c.matches({ authentication: \"signedIn\" }) && r({\n accessToken: c.context.accessToken.value,\n error: null,\n isError: !1,\n isSuccess: !0,\n needsEmailVerification: !1,\n needsMfaOtp: !1,\n mfa: null,\n user: c.context.user\n });\n });\n}), J = (n, e, t) => new Promise((r) => {\n const { changed: s } = n.send(\"PASSWORDLESS_EMAIL\", {\n email: e,\n options: t\n });\n if (!s)\n return r({\n error: I,\n isError: !0,\n isSuccess: !1\n });\n n.onTransition((i) => {\n i.matches(\"registration.incomplete.failed\") ? r({\n error: i.context.errors.registration || null,\n isError: !0,\n isSuccess: !1\n }) : i.matches({\n authentication: { signedOut: \"noErrors\" },\n registration: { incomplete: \"needsEmailVerification\" }\n }) && r({ error: null, isError: !1, isSuccess: !0 });\n });\n}), Je = (n, e) => new Promise((t) => {\n const { changed: r, context: s } = n.send({ type: \"SIGNIN_SECURITY_KEY_EMAIL\", email: e });\n if (!r)\n return t({\n accessToken: s.accessToken.value,\n error: I,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n user: s.user\n });\n n.onTransition((i) => {\n i.matches({\n authentication: { signedOut: \"noErrors\" },\n registration: { incomplete: \"needsEmailVerification\" }\n }) ? t({\n accessToken: null,\n error: null,\n isError: !1,\n isSuccess: !1,\n needsEmailVerification: !0,\n user: null\n }) : i.matches({ authentication: { signedOut: \"failed\" } }) ? t({\n accessToken: null,\n error: i.context.errors.authentication || null,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n user: null\n }) : i.matches({ authentication: \"signedIn\" }) && t({\n accessToken: i.context.accessToken.value,\n error: null,\n isError: !1,\n isSuccess: !0,\n needsEmailVerification: !1,\n user: i.context.user\n });\n });\n}), Xe = (n, e, t) => new Promise((r) => {\n const { changed: s, context: i } = n.send(\"SIGNIN_MFA_TOTP\", {\n otp: e,\n ticket: t\n });\n if (!s)\n return r({\n accessToken: i.accessToken.value,\n error: I,\n isError: !0,\n isSuccess: !1,\n user: i.user\n });\n n.onTransition((c) => {\n c.matches({ authentication: { signedOut: \"failed\" } }) ? r({\n accessToken: null,\n error: c.context.errors.authentication || null,\n isError: !0,\n isSuccess: !1,\n user: null\n }) : c.matches({ authentication: \"signedIn\" }) && r({\n accessToken: c.context.accessToken.value,\n error: null,\n isError: !1,\n isSuccess: !0,\n user: c.context.user\n });\n });\n}), X = (n, e, t) => new Promise((r) => {\n const { changed: s } = n.send(\"PASSWORDLESS_SMS\", { phoneNumber: e, options: t });\n if (!s)\n return r({\n error: I,\n isError: !0,\n isSuccess: !1,\n needsOtp: !1\n });\n n.onTransition((i) => {\n i.matches(\"registration.incomplete.needsOtp\") ? r({\n error: null,\n isError: !1,\n isSuccess: !1,\n needsOtp: !0\n }) : i.matches(\"registration.incomplete.failed\") && r({\n error: i.context.errors.authentication || null,\n isError: !0,\n isSuccess: !1,\n needsOtp: !1\n });\n });\n}), Ze = (n, e, t) => new Promise((r) => {\n const { changed: s } = n.send({ type: \"PASSWORDLESS_SMS_OTP\", phoneNumber: e, otp: t });\n if (!s)\n return r({\n error: I,\n isError: !0,\n isSuccess: !1,\n user: null,\n accessToken: null\n });\n n.onTransition((i) => {\n i.matches({ authentication: \"signedIn\" }) ? r({\n error: null,\n isError: !1,\n isSuccess: !0,\n user: i.context.user,\n accessToken: i.context.accessToken.value\n }) : i.matches({ registration: { incomplete: \"failed\" } }) && r({\n error: i.context.errors.authentication || null,\n isError: !0,\n isSuccess: !1,\n user: null,\n accessToken: null\n });\n });\n}), er = async (n, e) => new Promise((t) => {\n const { event: r } = n.send(\"SIGNOUT\", { all: e });\n if (r.type !== \"SIGNED_OUT\")\n return t({ isSuccess: !1, isError: !0, error: ve });\n n.onTransition((s) => {\n s.matches({ authentication: { signedOut: \"success\" } }) ? t({ isSuccess: !0, isError: !1, error: null }) : s.matches(\"authentication.signedOut.failed\") && t({ isSuccess: !1, isError: !0, error: s.context.errors.signout || null });\n });\n}), Z = (n, e, t, r) => new Promise((s) => {\n const { changed: i, context: c } = n.send(\"SIGNUP_EMAIL_PASSWORD\", {\n email: e,\n password: t,\n options: r\n });\n if (!i)\n return s({\n error: I,\n accessToken: c.accessToken.value,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n user: c.user\n });\n n.onTransition((l) => {\n l.matches(\"registration.incomplete.failed\") ? s({\n accessToken: null,\n error: l.context.errors.registration || null,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n user: null\n }) : l.matches({\n authentication: { signedOut: \"noErrors\" },\n registration: { incomplete: \"needsEmailVerification\" }\n }) ? s({\n accessToken: null,\n error: null,\n isError: !1,\n isSuccess: !1,\n needsEmailVerification: !0,\n user: null\n }) : l.matches({ authentication: \"signedIn\", registration: \"complete\" }) && s({\n accessToken: l.context.accessToken.value,\n error: null,\n isError: !1,\n isSuccess: !0,\n needsEmailVerification: !1,\n user: l.context.user\n });\n });\n}), rr = (n, e, t) => new Promise((r) => {\n const { changed: s, context: i } = n.send(\"SIGNUP_SECURITY_KEY\", {\n email: e,\n options: t\n });\n if (!s)\n return r({\n error: I,\n accessToken: i.accessToken.value,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n user: i.user\n });\n n.onTransition((c) => {\n c.matches(\"registration.incomplete.failed\") ? r({\n accessToken: null,\n error: c.context.errors.registration || null,\n isError: !0,\n isSuccess: !1,\n needsEmailVerification: !1,\n user: null\n }) : c.matches({\n authentication: { signedOut: \"noErrors\" },\n registration: { incomplete: \"needsEmailVerification\" }\n }) ? r({\n accessToken: null,\n error: null,\n isError: !1,\n isSuccess: !1,\n needsEmailVerification: !0,\n user: null\n }) : c.matches({ authentication: \"signedIn\", registration: \"complete\" }) && r({\n accessToken: c.context.accessToken.value,\n error: null,\n isError: !1,\n isSuccess: !0,\n needsEmailVerification: !1,\n user: c.context.user\n });\n });\n});\nclass fr {\n constructor({\n url: e,\n autoRefreshToken: t = !0,\n autoSignIn: r = !0,\n autoLogin: s,\n clientStorage: i,\n clientStorageType: c,\n clientStorageGetter: l,\n clientStorageSetter: E,\n refreshIntervalTime: g,\n start: m = !0\n }) {\n S(this, \"_client\");\n S(this, \"url\");\n var T;\n this.url = e, this._client = new ae({\n backendUrl: e,\n clientUrl: typeof window < \"u\" && ((T = window.location) == null ? void 0 : T.origin) || \"\",\n autoRefreshToken: t,\n autoSignIn: typeof s == \"boolean\" ? s : r,\n start: m,\n clientStorage: i,\n clientStorageType: c,\n clientStorageGetter: l,\n clientStorageSetter: E,\n refreshIntervalTime: g\n });\n }\n async signUp(e) {\n const t = await this.waitUntilReady(), { email: r, options: s } = e;\n return \"securityKey\" in e ? R(\n await rr(t, r, s)\n ) : R(\n await Z(t, r, e.password, s)\n );\n }\n async signIn(e) {\n const t = await this.waitUntilReady();\n if (!e) {\n const r = await Fe(t);\n return { ...R(r), mfa: null };\n }\n if (\"provider\" in e) {\n const { provider: r, options: s } = e, i = oe(\n `${this._client.backendUrl}/signin/provider/${r}`,\n v(this._client.clientUrl, s)\n );\n return Y() && (window.location.href = i), { providerUrl: i, provider: r, session: null, mfa: null, error: null };\n }\n if (\"email\" in e && \"password\" in e) {\n const r = await Qe(t, e.email, e.password);\n return r.needsEmailVerification ? { session: null, mfa: null, error: Ae } : r.needsMfaOtp ? {\n session: null,\n mfa: r.mfa,\n error: null\n } : { ...R(r), mfa: null };\n }\n if (\"email\" in e && \"securityKey\" in e) {\n if (e.securityKey !== !0)\n throw Error(\"securityKey must be true\");\n const r = await Je(t, e.email);\n return { ...R(r), mfa: null };\n }\n if (\"email\" in e) {\n const { email: r, options: s } = e, { error: i } = await J(t, r, s);\n return {\n session: null,\n mfa: null,\n error: i\n };\n }\n if (\"phoneNumber\" in e && \"otp\" in e) {\n const r = await Ze(t, e.phoneNumber, e.otp);\n return { ...R(r), mfa: null };\n }\n if (\"phoneNumber\" in e) {\n const { error: r } = await X(\n t,\n e.phoneNumber,\n e.options\n );\n return { error: r, mfa: null, session: null };\n }\n if (\"otp\" in e) {\n const r = await Xe(t, e.otp, e.ticket);\n return { ...R(r), mfa: null };\n }\n return { error: ke, mfa: null, session: null };\n }\n async signOut(e) {\n const t = await this.waitUntilReady(), { error: r } = await er(t, e == null ? void 0 : e.all);\n return { error: r };\n }\n async resetPassword({ email: e, options: t }) {\n const r = C(qe(this._client)).start(), { error: s } = await ze(r, e, t);\n return { error: s };\n }\n async changePassword({\n newPassword: e,\n ticket: t\n }) {\n const r = C(Ge(this._client)).start(), { error: s } = await He(r, e, t);\n return { error: s };\n }\n async sendVerificationEmail({\n email: e,\n options: t\n }) {\n const r = C($e(this._client)).start(), { error: s } = await Be(r, e, t);\n return { error: s };\n }\n async changeEmail({ newEmail: e, options: t }) {\n const r = C(Le(this._client)).start(), { error: s } = await je(r, e, t);\n return { error: s };\n }\n async deanonymize(e) {\n const t = await this.waitUntilReady();\n if (e.signInMethod === \"passwordless\") {\n if (e.connection === \"email\") {\n const { error: r } = await J(\n t,\n e.email,\n e.options\n );\n return { error: r };\n }\n if (e.connection === \"sms\") {\n const { error: r } = await X(\n t,\n e.phoneNumber,\n e.options\n );\n return { error: r };\n }\n }\n if (e.signInMethod === \"email-password\") {\n const { error: r } = await Z(\n t,\n e.email,\n e.password,\n e.options\n );\n return { error: r };\n }\n throw Error(\"Unknown deanonymization method\");\n }\n async addSecurityKey(e) {\n const { error: t, key: r } = await Ye(this._client, e);\n return { error: t, key: r };\n }\n onTokenChanged(e) {\n const t = (r) => r.onTransition(({ event: s, context: i }) => {\n s.type === \"TOKEN_CHANGED\" && e(U(i));\n });\n if (this._client.interpreter) {\n const r = t(this._client.interpreter);\n return () => r.stop();\n } else\n return this._client.onStart((r) => {\n t(r.interpreter);\n }), () => {\n console.log(\n \"onTokenChanged was added before the interpreter started. Cannot unsubscribe listener.\"\n );\n };\n }\n onAuthStateChanged(e) {\n const t = (r) => r.onTransition(({ event: s, context: i }) => {\n (s.type === \"SIGNED_IN\" || s.type === \"SIGNED_OUT\") && e(s.type, U(i));\n });\n if (this._client.interpreter) {\n const r = t(this._client.interpreter);\n return () => r.stop();\n } else\n return this._client.onStart((r) => {\n t(r.interpreter);\n }), () => {\n console.log(\n \"onAuthStateChanged was added before the interpreter started. Cannot unsubscribe listener.\"\n );\n };\n }\n isAuthenticated() {\n var e;\n return !!((e = this._client.interpreter) != null && e.getSnapshot().matches({ authentication: \"signedIn\" }));\n }\n async isAuthenticatedAsync() {\n return (await this.waitUntilReady()).getSnapshot().matches({ authentication: \"signedIn\" });\n }\n getAuthenticationStatus() {\n var t;\n const e = ((t = this.client.interpreter) == null ? void 0 : t.getSnapshot().context.importTokenAttempts) || 0;\n return this.isReady() ? { isAuthenticated: this.isAuthenticated(), isLoading: !1, connectionAttempts: e } : {\n isAuthenticated: !1,\n isLoading: !0,\n connectionAttempts: e\n };\n }\n getJWTToken() {\n return this.getAccessToken();\n }\n getAccessToken() {\n var e, t;\n return (t = (e = this._client.interpreter) == null ? void 0 : e.getSnapshot().context.accessToken.value) != null ? t : void 0;\n }\n getDecodedAccessToken() {\n const e = this.getAccessToken();\n return e ? de(e) : null;\n }\n getHasuraClaims() {\n var e;\n return ((e = this.getDecodedAccessToken()) == null ? void 0 : e[\"https://hasura.io/jwt/claims\"]) || null;\n }\n getHasuraClaim(e) {\n var t;\n return ((t = this.getHasuraClaims()) == null ? void 0 : t[e.startsWith(\"x-hasura-\") ? e : `x-hasura-${e}`]) || null;\n }\n async refreshSession(e) {\n try {\n const t = await this.waitUntilReady();\n return new Promise((r) => {\n const s = e || t.getSnapshot().context.refreshToken.value;\n if (!s)\n return r({ session: null, error: ye });\n const { changed: i } = t.send(\"TRY_TOKEN\", { token: s });\n if (!i)\n return r({ session: null, error: Se });\n t.onTransition((c) => {\n c.matches({ token: { idle: \"error\" } }) ? r({\n session: null,\n error: Ie\n }) : c.event.type === \"TOKEN_CHANGED\" && r({ session: U(c.context), error: null });\n });\n });\n } catch (t) {\n return { session: null, error: t.message };\n }\n }\n getSession() {\n var e, t;\n return U((t = (e = this._client.interpreter) == null ? void 0 : e.getSnapshot()) == null ? void 0 : t.context);\n }\n getUser() {\n var e, t, r;\n return ((r = (t = (e = this._client.interpreter) == null ? void 0 : e.getSnapshot()) == null ? void 0 : t.context) == null ? void 0 : r.user) || null;\n }\n waitUntilReady() {\n const t = this._client.interpreter;\n if (!t)\n throw Error(\"Auth interpreter not set\");\n return t.getSnapshot().hasTag(\"loading\") ? new Promise((r, s) => {\n let i = setTimeout(\n () => s(`The state machine is not yet ready after ${15} seconds.`),\n 15e3\n );\n t.onTransition((c) => {\n if (!c.hasTag(\"loading\"))\n return clearTimeout(i), r(t);\n });\n }) : Promise.resolve(t);\n }\n isReady() {\n var e, t;\n return !((t = (e = this._client.interpreter) == null ? void 0 : e.getSnapshot()) != null && t.hasTag(\"loading\"));\n }\n get client() {\n return this._client;\n }\n}\nexport {\n ae as AuthClient,\n ur as AuthClientSSR,\n We as AuthCookieClient,\n K as CodifiedError,\n Ae as EMAIL_NEEDS_VERIFICATION,\n fr as HasuraAuthClient,\n q as INITIAL_MACHINE_CONTEXT,\n k as INVALID_EMAIL_ERROR,\n pe as INVALID_MFA_CODE_ERROR,\n we as INVALID_MFA_TICKET_ERROR,\n ge as INVALID_MFA_TYPE_ERROR,\n W as INVALID_PASSWORD_ERROR,\n B as INVALID_PHONE_NUMBER_ERROR,\n Ie as INVALID_REFRESH_TOKEN,\n ke as INVALID_SIGN_IN_METHOD,\n he as MIN_PASSWORD_LENGTH,\n ee as NETWORK_ERROR_CODE,\n D as NHOST_JWT_EXPIRES_AT_KEY,\n x as NHOST_REFRESH_TOKEN_KEY,\n Te as NO_MFA_TICKET_ERROR,\n ye as NO_REFRESH_TOKEN,\n re as OTHER_ERROR_CODE,\n Ee as REFRESH_TOKEN_RETRY_INTERVAL,\n N as STATE_ERROR_CODE,\n Se as TOKEN_REFRESHER_RUNNING_ERROR,\n me as TOKEN_REFRESH_MARGIN,\n I as USER_ALREADY_SIGNED_IN,\n ar as USER_NOT_ANONYMOUS,\n ve as USER_UNAUTHENTICATED,\n A as VALIDATION_ERROR_CODE,\n dr as activateMfaPromise,\n Ye as addSecurityKeyPromise,\n je as changeEmailPromise,\n He as changePasswordPromise,\n Ve as createAuthMachine,\n Le as createChangeEmailMachine,\n Ge as createChangePasswordMachine,\n cr as createEnableMfaMachine,\n qe as createResetPasswordMachine,\n $e as createSendVerificationEmailMachine,\n oe as encodeQueryParameters,\n lr as generateQrCodePromise,\n R as getAuthenticationResult,\n M as getParameterByName,\n U as getSession,\n Y as isBrowser,\n _ as isValidEmail,\n j as isValidPassword,\n Q as isValidPhoneNumber,\n Ke as isValidTicket,\n Ue as localStorageGetter,\n Me as localStorageSetter,\n O as nhostApiClient,\n F as removeParameterFromWindow,\n ze as resetPasswordPromise,\n v as rewriteRedirectTo,\n Be as sendVerificationEmailPromise,\n Fe as signInAnonymousPromise,\n Qe as signInEmailPasswordPromise,\n J as signInEmailPasswordlessPromise,\n Je as signInEmailSecurityKeyPromise,\n Xe as signInMfaTotpPromise,\n Ze as signInSmsPasswordlessOtpPromise,\n X as signInSmsPasswordlessPromise,\n er as signOutPromise,\n Z as signUpEmailPasswordPromise,\n rr as signUpEmailSecurityKeyPromise\n};\n//# sourceMappingURL=index.esm.js.map\n","import { NhostClientConstructorParams } from './types'\n\n// a port can be a number or a placeholder string with leading and trailing double underscores, f.e. \"8080\" or \"__PLACEHOLDER_NAME__\"\nconst LOCALHOST_REGEX = /^((?<protocol>http[s]?):\\/\\/)?(?<host>localhost)(:(?<port>(\\d+|__\\w+__)))?$/\n\n/**\n * `backendUrl` should now be used only when self-hosting\n * `subdomain` and `region` should be used instead when using the Nhost platform\n * `\n * @param backendOrSubdomain\n * @param service\n * @returns\n */\nexport function urlFromSubdomain(\n backendOrSubdomain: Pick<NhostClientConstructorParams, 'region' | 'subdomain' | 'backendUrl'>,\n service: string\n): string {\n const { backendUrl, subdomain, region } = backendOrSubdomain\n\n if (backendUrl) {\n return `${backendUrl}/v1/${service}`\n }\n\n if (!subdomain) {\n throw new Error('Either `backendUrl` or `subdomain` must be set.')\n }\n\n // check if subdomain is [http[s]://]localhost[:port]\n const subdomainLocalhostFound = subdomain.match(LOCALHOST_REGEX)\n if (subdomainLocalhostFound?.groups) {\n const { protocol = 'http', host, port = 1337 } = subdomainLocalhostFound.groups\n\n const urlFromEnv = getValueFromEnv(service)\n if (urlFromEnv) {\n return urlFromEnv\n }\n return `${protocol}://${host}:${port}/v1/${service}`\n }\n\n if (!region) {\n throw new Error('`region` must be set when using a `subdomain` other than \"localhost\".')\n }\n\n return `https://${subdomain}.${service}.${region}.nhost.run/v1`\n}\n\n/**\n *\n * @returns whether the code is running in a browser\n */\nfunction isBrowser(): boolean {\n return typeof window !== 'undefined'\n}\n\n/**\n *\n * @returns whether the code is running in a Node.js environment\n */\nfunction environmentIsAvailable() {\n return typeof process !== 'undefined' && process.env\n}\n\n/**\n *\n * @param service auth | storage | graphql | functions\n * @returns the service's url if the corresponding env var is set\n * NHOST_${service}_URL\n */\nfunction getValueFromEnv(service: string) {\n if (isBrowser() || !environmentIsAvailable()) {\n return null\n }\n\n return process.env[`NHOST_${service.toUpperCase()}_URL`]\n}\n","import { HasuraAuthClient } from '@nhost/hasura-auth-js'\n\nimport { urlFromSubdomain } from '../utils/helpers'\nimport { NhostClientConstructorParams } from '../utils/types'\n\n/**\n * Creates a client for Auth from either a subdomain or a URL\n */\nexport function createAuthClient(params: NhostClientConstructorParams) {\n const authUrl =\n 'subdomain' in params || 'backendUrl' in params\n ? urlFromSubdomain(params, 'auth')\n : params.authUrl\n\n if (!authUrl) {\n throw new Error('Please provide `subdomain` or `authUrl`.')\n }\n\n return new HasuraAuthClient({ url: authUrl, ...params })\n}\n","import axios, {\n AxiosInstance,\n AxiosRequestConfig,\n AxiosResponse,\n RawAxiosRequestHeaders\n} from 'axios'\n\nimport { urlFromSubdomain } from '../utils/helpers'\nimport { FunctionCallResponse, NhostClientConstructorParams } from '../utils/types'\nexport interface NhostFunctionsConstructorParams {\n /**\n * Serverless Functions endpoint.\n */\n url: string\n /**\n * Admin secret. When set, it is sent as an `x-hasura-admin-secret` header for all requests.\n */\n adminSecret?: string\n}\n\n/**\n * Creates a client for Functions from either a subdomain or a URL\n */\nexport function createFunctionsClient(params: NhostClientConstructorParams) {\n const functionsUrl =\n 'subdomain' in params || 'backendUrl' in params\n ? urlFromSubdomain(params, 'functions')\n : params.functionsUrl\n\n if (!functionsUrl) {\n throw new Error('Please provide `subdomain` or `functionsUrl`.')\n }\n\n return new NhostFunctionsClient({ url: functionsUrl, ...params })\n}\n\n/**\n * @alias Functions\n */\nexport class NhostFunctionsClient {\n readonly url: string\n private instance: AxiosInstance\n private accessToken: string | null\n private adminSecret?: string\n\n constructor(params: NhostFunctionsConstructorParams) {\n const { url, adminSecret } = params\n\n this.url = url\n this.accessToken = null\n this.adminSecret = adminSecret\n this.instance = axios.create({\n baseURL: url\n })\n }\n\n /**\n * Use `nhost.functions.call` to call (sending a POST request to) a serverless function.\n *\n * @example\n * ```ts\n * await nhost.functions.call('send-welcome-email', { email: 'joe@example.com', name: 'Joe Doe' })\n * ```\n *\n * @docs https://docs.nhost.io/reference/javascript/nhost-js/functions/call\n */\n async call<T = unknown, D = any>(\n url: string,\n data: D,\n config?: AxiosRequestConfig\n ): Promise<FunctionCallResponse<T>> {\n const headers = {\n ...this.generateAccessTokenHeaders(),\n ...config?.headers\n }\n\n let res\n try {\n res = await this.instance.post<T, AxiosResponse<T>, D>(url, data, { ...config, headers })\n } catch (error) {\n if (error instanceof Error) {\n return { res: null, error }\n }\n }\n\n if (!res) {\n return {\n res: null,\n error: new Error('Unable to make post request to funtion')\n }\n }\n\n return { res, error: null }\n }\n\n /**\n * Use `nhost.functions.setAccessToken` to a set an access token to be used in subsequent functions requests. Note that if you're signin in users with `nhost.auth.signIn()` the access token will be set automatically.\n *\n * @example\n * ```ts\n * nhost.functions.setAccessToken('some-access-token')\n * ```\n *\n * @docs https://docs.nhost.io/reference/javascript/nhost-js/functions/set-access-token\n */\n setAccessToken(accessToken: string | undefined) {\n if (!accessToken) {\n this.accessToken = null\n return\n }\n\n this.accessToken = accessToken\n }\n\n private generateAccessTokenHeaders(): RawAxiosRequestHeaders {\n if (this.adminSecret) {\n return {\n 'x-hasura-admin-secret': this.adminSecret\n }\n }\n if (this.accessToken) {\n return {\n Authorization: `Bearer ${this.accessToken}`\n }\n }\n return {}\n }\n}\n","import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'\nimport { DocumentNode, print } from 'graphql'\n\nimport { urlFromSubdomain } from '../utils/helpers'\nimport {\n GraphqlRequestResponse,\n GraphqlResponse,\n NhostClientConstructorParams\n} from '../utils/types'\n\nexport interface NhostGraphqlConstructorParams {\n /**\n * GraphQL endpoint.\n */\n url: string\n /**\n * Admin secret. When set, it is sent as an `x-hasura-admin-secret` header for all requests.\n */\n adminSecret?: string\n}\n\n/**\n * Creates a client for GraphQL from either a subdomain or a URL\n */\nexport function createGraphqlClient(params: NhostClientConstructorParams) {\n const graphqlUrl =\n 'subdomain' in params || 'backendUrl' in params\n ? urlFromSubdomain(params, 'graphql')\n : params.graphqlUrl\n\n if (!graphqlUrl) {\n throw new Error('Please provide `subdomain` or `graphqlUrl`.')\n }\n\n return new NhostGraphqlClient({ url: graphqlUrl, ...params })\n}\n\n/**\n * @alias GraphQL\n */\nexport class NhostGraphqlClient {\n readonly url: string\n private instance: AxiosInstance\n private accessToken: string | null\n private adminSecret?: string\n\n constructor(params: NhostGraphqlConstructorParams) {\n const { url, adminSecret } = params\n\n this.url = url\n this.accessToken = null\n this.adminSecret = adminSecret\n this.instance = axios.create({\n baseURL: url\n })\n }\n\n /**\n * Use `nhost.graphql.request` to send a GraphQL request. For more serious GraphQL usage we recommend using a GraphQL client such as Apollo Client (https://www.apollographql.com/docs/react).\n *\n * @example\n * ```ts\n * const CUSTOMERS = gql`\n * query {\n * customers {\n * id\n * name\n * }\n * }\n * `\n * const { data, error } = await nhost.graphql.request(CUSTOMERS)\n * ```\n *\n * @docs https://docs.nhost.io/reference/javascript/nhost-js/graphql/request\n */\n async request<T = any, V = any>(\n document: string | DocumentNode,\n variables?: V,\n config?: AxiosRequestConfig\n ): Promise<GraphqlRequestResponse<T>> {\n // add auth headers if any\n const headers = {\n ...this.generateAccessTokenHeaders(),\n ...config?.headers,\n 'Accept-Encoding': '*'\n }\n\n try {\n const operationName = ''\n const res = await this.instance.post<GraphqlResponse<T>>(\n '',\n {\n operationName: operationName || undefined,\n query: typeof document === 'string' ? document : print(document),\n variables\n },\n { ...config, headers }\n )\n\n const responseData = res.data\n const { data } = responseData\n\n if (responseData.errors) {\n return {\n data: null,\n error: responseData.errors\n }\n }\n\n if (typeof data !== 'object' || Array.isArray(data) || data === null) {\n return {\n data: null,\n error: new Error('incorrect response data from GraphQL server')\n }\n }\n\n return { data, error: null }\n } catch (error) {\n if (error instanceof Error) {\n return { data: null, error }\n }\n console.error(error)\n return {\n data: null,\n error: new Error('Unable to get do GraphQL request')\n }\n }\n }\n\n /**\n * Use `nhost.graphql.getUrl` to get the GraphQL URL.\n *\n * @example\n * ```ts\n * const url = nhost.graphql.getUrl();\n * ```\n *\n * @docs https://docs.nhost.io/reference/javascript/nhost-js/graphql/get-url\n */\n getUrl(): string {\n return this.url\n }\n\n /**\n * Use `nhost.graphql.setAccessToken` to a set an access token to be used in subsequent graphql requests. Note that if you're signin in users with `nhost.auth.signIn()` the access token will be set automatically.\n *\n * @example\n * ```ts\n * nhost.graphql.setAccessToken('some-access-token')\n * ```\n *\n * @docs https://docs.nhost.io/reference/javascript/nhost-js/graphql/set-access-token\n */\n setAccessToken(accessToken: string | undefined) {\n if (!accessToken) {\n this.accessToken = null\n return\n }\n\n this.accessToken = accessToken\n }\n\n private generateAccessTokenHeaders(): Record<string, string> {\n if (this.adminSecret) {\n return {\n 'x-hasura-admin-secret': this.adminSecret\n }\n }\n if (this.accessToken) {\n return {\n Authorization: `Bearer ${this.accessToken}`\n }\n }\n return {}\n }\n}\n","var S = Object.defineProperty;\nvar _ = (r, e, t) => e in r ? S(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;\nvar c = (r, e, t) => (_(r, typeof e != \"symbol\" ? e + \"\" : e, t), t);\nimport D from \"axios\";\nimport R from \"form-data\";\nimport { createMachine as O, assign as i, spawn as I, send as f, actions as T } from \"xstate\";\nclass C {\n constructor({ url: e }) {\n c(this, \"url\");\n c(this, \"httpClient\");\n c(this, \"accessToken\");\n c(this, \"adminSecret\");\n this.url = e, this.httpClient = D.create({\n baseURL: this.url\n });\n }\n async upload(e) {\n const { formData: t } = e;\n try {\n return { fileMetadata: (await this.httpClient.post(\"/files\", t, {\n headers: {\n ...this.generateUploadHeaders(e),\n ...this.generateAuthHeaders(),\n \"Content-Type\": \"multipart/form-data\"\n }\n })).data, error: null };\n } catch (s) {\n return { fileMetadata: null, error: s };\n }\n }\n async getPresignedUrl(e) {\n try {\n const { fileId: t } = e;\n return { presignedUrl: (await this.httpClient.get(`/files/${t}/presignedurl`, {\n headers: {\n ...this.generateAuthHeaders()\n }\n })).data, error: null };\n } catch (t) {\n return { presignedUrl: null, error: t };\n }\n }\n async delete(e) {\n try {\n const { fileId: t } = e;\n return await this.httpClient.delete(`/files/${t}`, {\n headers: {\n ...this.generateAuthHeaders()\n }\n }), { error: null };\n } catch (t) {\n return { error: t };\n }\n }\n setAccessToken(e) {\n return this.accessToken = e, this;\n }\n setAdminSecret(e) {\n return this.adminSecret = e, this;\n }\n generateUploadHeaders(e) {\n const { bucketId: t, name: s, id: a } = e, n = {};\n return t && (n[\"x-nhost-bucket-id\"] = t), a && (n[\"x-nhost-file-id\"] = a), s && (n[\"x-nhost-file-name\"] = s), n;\n }\n generateAuthHeaders() {\n return !this.adminSecret && !this.accessToken ? null : this.adminSecret ? {\n \"x-hasura-admin-secret\": this.adminSecret\n } : {\n Authorization: `Bearer ${this.accessToken}`\n };\n }\n}\nclass F {\n constructor({ url: e, adminSecret: t }) {\n c(this, \"url\");\n c(this, \"api\");\n this.url = e, this.api = new C({ url: e }), this.setAdminSecret(t);\n }\n async upload(e) {\n let t;\n \"file\" in e ? (t = new R(), t.append(\"file\", e.file)) : t = e.formData;\n const { fileMetadata: s, error: a } = await this.api.upload({\n ...e,\n formData: t\n });\n return a ? { fileMetadata: null, error: a } : s ? { fileMetadata: s, error: null } : { fileMetadata: null, error: new Error(\"Invalid file returned\") };\n }\n getUrl(e) {\n return this.getPublicUrl(e);\n }\n getPublicUrl(e) {\n const { fileId: t } = e;\n return `${this.url}/files/${t}`;\n }\n async getPresignedUrl(e) {\n const { presignedUrl: t, error: s } = await this.api.getPresignedUrl(e);\n return s ? { presignedUrl: null, error: s } : t ? { presignedUrl: t, error: null } : { presignedUrl: null, error: new Error(\"Invalid file id\") };\n }\n async delete(e) {\n const { error: t } = await this.api.delete(e);\n return t ? { error: t } : { error: null };\n }\n setAccessToken(e) {\n return this.api.setAccessToken(e), this;\n }\n setAdminSecret(e) {\n return this.api.setAdminSecret(e), this;\n }\n}\nconst L = { progress: null, loaded: 0, error: null }, k = () => O(\n {\n predictableActionArguments: !0,\n schema: {\n context: {},\n events: {}\n },\n tsTypes: {},\n context: { ...L },\n initial: \"idle\",\n on: {\n DESTROY: { actions: \"sendDestroy\", target: \"stopped\" }\n },\n states: {\n idle: {\n on: {\n ADD: { actions: \"addFile\" },\n UPLOAD: { cond: \"hasFile\", target: \"uploading\" }\n }\n },\n uploading: {\n entry: \"resetProgress\",\n on: {\n UPLOAD_PROGRESS: { actions: [\"incrementProgress\", \"sendProgress\"] },\n UPLOAD_DONE: \"uploaded\",\n UPLOAD_ERROR: \"error\",\n CANCEL: \"idle\"\n },\n invoke: { src: \"uploadFile\" }\n },\n uploaded: { entry: [\"setFileMetadata\", \"sendDone\"] },\n error: { entry: [\"setError\", \"sendError\"] },\n stopped: { type: \"final\" }\n }\n },\n {\n guards: {\n hasFile: (r, e) => !!r.file || !!e.file\n },\n actions: {\n incrementProgress: i({\n loaded: (r, { loaded: e }) => e,\n progress: (r, { progress: e }) => e\n }),\n setFileMetadata: i({\n id: (r, { id: e }) => e,\n bucketId: (r, { bucketId: e }) => e,\n progress: (r) => 100\n }),\n setError: i({ error: (r, { error: e }) => e }),\n sendProgress: () => {\n },\n sendError: () => {\n },\n sendDestroy: () => {\n },\n sendDone: () => {\n },\n resetProgress: i({ progress: (r) => null, loaded: (r) => 0 }),\n addFile: i({\n file: (r, { file: e }) => e,\n bucketId: (r, { bucketId: e }) => e,\n id: (r, { id: e }) => e\n })\n },\n services: {\n uploadFile: (r, e) => (t) => {\n const s = {\n \"Content-Type\": \"multipart/form-data\"\n }, a = e.id || r.id;\n a && (s[\"x-nhost-file-id\"] = a);\n const n = e.bucketId || r.bucketId;\n n && (s[\"x-nhost-bucket-id\"] = n);\n const d = e.file || r.file;\n s[\"x-nhost-file-name\"] = e.name || d.name;\n const u = new FormData();\n u.append(\"file\", d), e.adminSecret && (s[\"x-hasura-admin-secret\"] = e.adminSecret), e.accessToken && (s.Authorization = `Bearer ${e.accessToken}`);\n let p = 0;\n const A = new AbortController();\n return D.post(e.url + \"/files\", u, {\n headers: s,\n signal: A.signal,\n onUploadProgress: (o) => {\n const l = o.total ? Math.round(o.loaded * d.size / o.total) : 0, h = l - p;\n p = l, t({\n type: \"UPLOAD_PROGRESS\",\n progress: o.total ? Math.round(l * 100 / o.total) : 0,\n loaded: l,\n additions: h\n });\n }\n }).then(({ data: { id: o, bucketId: l } }) => {\n t({ type: \"UPLOAD_DONE\", id: o, bucketId: l });\n }).catch(({ response: o, message: l }) => {\n var h, P, U, E, y;\n t({\n type: \"UPLOAD_ERROR\",\n error: {\n status: (h = o == null ? void 0 : o.status) != null ? h : 0,\n message: ((U = (P = o == null ? void 0 : o.data) == null ? void 0 : P.error) == null ? void 0 : U.message) || l,\n error: ((y = (E = o == null ? void 0 : o.data) == null ? void 0 : E.error) == null ? void 0 : y.message) || l\n }\n });\n }), () => {\n A.abort();\n };\n }\n }\n }\n), { pure: m, sendParent: g } = T, N = () => O(\n {\n id: \"files-list\",\n schema: {\n context: {},\n events: {}\n },\n tsTypes: {},\n predictableActionArguments: !0,\n context: {\n progress: null,\n files: [],\n loaded: 0,\n total: 0\n },\n initial: \"idle\",\n on: {\n UPLOAD: { cond: \"hasFileToDownload\", actions: \"addItem\", target: \"uploading\" },\n ADD: { actions: \"addItem\" },\n REMOVE: { actions: \"removeItem\" }\n },\n states: {\n idle: {\n entry: [\"resetProgress\", \"resetLoaded\", \"resetTotal\"],\n on: {\n CLEAR: { actions: \"clearList\", target: \"idle\" }\n }\n },\n uploading: {\n entry: [\"upload\", \"startProgress\", \"resetLoaded\", \"resetTotal\"],\n on: {\n UPLOAD_PROGRESS: { actions: [\"incrementProgress\"] },\n UPLOAD_DONE: [\n { cond: \"isAllUploaded\", target: \"uploaded\" },\n { cond: \"isAllUploadedOrError\", target: \"error\" }\n ],\n UPLOAD_ERROR: [\n { cond: \"isAllUploaded\", target: \"uploaded\" },\n { cond: \"isAllUploadedOrError\", target: \"error\" }\n ],\n CANCEL: { actions: \"cancel\", target: \"idle\" }\n }\n },\n uploaded: {\n entry: \"setUploaded\",\n on: {\n CLEAR: { actions: \"clearList\", target: \"idle\" }\n }\n },\n error: {\n on: {\n CLEAR: { actions: \"clearList\", target: \"idle\" }\n }\n }\n }\n },\n {\n guards: {\n hasFileToDownload: (r, e) => r.files.some((t) => t.getSnapshot().matches(\"idle\")) || !!e.files,\n isAllUploaded: (r) => r.files.every((e) => {\n var t;\n return (t = e.getSnapshot()) == null ? void 0 : t.matches(\"uploaded\");\n }),\n isAllUploadedOrError: (r) => r.files.every((e) => {\n const t = e.getSnapshot();\n return (t == null ? void 0 : t.matches(\"error\")) || (t == null ? void 0 : t.matches(\"uploaded\"));\n })\n },\n actions: {\n incrementProgress: i((r, e) => {\n const t = r.loaded + e.additions, s = Math.round(t * 100 / r.total);\n return { ...r, loaded: t, progress: s };\n }),\n setUploaded: i({\n progress: (r) => 100,\n loaded: ({ files: r }) => r.map((e) => e.getSnapshot()).filter((e) => e.matches(\"uploaded\")).reduce((e, t) => {\n var s;\n return e + ((s = t.context.file) == null ? void 0 : s.size);\n }, 0)\n }),\n resetTotal: i({\n total: ({ files: r }) => r.map((e) => e.getSnapshot()).filter((e) => !e.matches(\"uploaded\")).reduce((e, t) => {\n var s;\n return e + ((s = t.context.file) == null ? void 0 : s.size);\n }, 0)\n }),\n resetLoaded: i({ loaded: (r) => 0 }),\n startProgress: i({ progress: (r) => 0 }),\n resetProgress: i({ progress: (r) => null }),\n addItem: i((r, { files: e, bucketId: t }) => {\n const s = e ? Array.isArray(e) ? e : \"length\" in e ? Array.from(e) : [e] : [], a = r.total + s.reduce((d, u) => d + u.size, 0), n = Math.round(r.loaded * 100 / a);\n return {\n files: [\n ...r.files,\n ...s.map(\n (d) => I(\n k().withConfig({\n actions: {\n sendProgress: g((u, { additions: p }) => ({\n type: \"UPLOAD_PROGRESS\",\n additions: p\n })),\n sendDone: g(\"UPLOAD_DONE\"),\n sendError: g(\"UPLOAD_ERROR\"),\n sendDestroy: g(\"REMOVE\")\n }\n }).withContext({ ...L, file: d, bucketId: t }),\n { sync: !0 }\n )\n )\n ],\n total: a,\n loaded: r.loaded,\n progress: n\n };\n }),\n removeItem: i({\n files: (r) => r.files.filter((e) => {\n var s, a;\n const t = (s = e.getSnapshot()) == null ? void 0 : s.matches(\"stopped\");\n return t && ((a = e.stop) == null || a.call(e)), !t;\n })\n }),\n clearList: m(\n (r) => r.files.map((e) => f({ type: \"DESTROY\" }, { to: e.id }))\n ),\n upload: m((r, e) => r.files.map((t) => f(e, { to: t.id }))),\n cancel: m(\n (r) => r.files.map((e) => f({ type: \"CANCEL\" }, { to: e.id }))\n )\n }\n }\n), H = async (r, e) => new Promise((t) => {\n e.send({\n type: \"UPLOAD\",\n ...r\n }), e.subscribe((s) => {\n var a;\n s.matches(\"error\") ? t({\n error: s.context.error,\n isError: !0,\n isUploaded: !1\n }) : s.matches(\"uploaded\") && t({\n error: null,\n isError: !1,\n isUploaded: !0,\n id: s.context.id,\n bucketId: s.context.id,\n name: (a = s.context.file) == null ? void 0 : a.name\n });\n });\n}), $ = async (r, e) => new Promise((t) => {\n e.send({\n type: \"UPLOAD\",\n ...r,\n files: r.files\n }), e.onTransition((s) => {\n s.matches(\"error\") ? t({\n errors: s.context.files.filter((a) => {\n var n;\n return (n = a.getSnapshot()) == null ? void 0 : n.context.error;\n }),\n isError: !0,\n files: []\n }) : s.matches(\"uploaded\") && t({ errors: [], isError: !1, files: s.context.files });\n });\n});\nexport {\n C as HasuraStorageApi,\n F as HasuraStorageClient,\n L as INITIAL_FILE_CONTEXT,\n k as createFileUploadMachine,\n N as createMultipleFilesUploadMachine,\n H as uploadFilePromise,\n $ as uploadMultipleFilesPromise\n};\n//# sourceMappingURL=index.esm.js.map\n","import { HasuraStorageClient } from '@nhost/hasura-storage-js'\n\nimport { urlFromSubdomain } from '../utils/helpers'\nimport { NhostClientConstructorParams } from '../utils/types'\n\n/**\n * Creates a client for Storage from either a subdomain or a URL\n */\nexport function createStorageClient(params: NhostClientConstructorParams) {\n const storageUrl =\n 'subdomain' in params || 'backendUrl' in params\n ? urlFromSubdomain(params, 'storage')\n : params.storageUrl\n\n if (!storageUrl) {\n throw new Error('Please provide `subdomain` or `storageUrl`.')\n }\n\n return new HasuraStorageClient({ url: storageUrl, ...params })\n}\n","import { HasuraAuthClient } from '@nhost/hasura-auth-js'\nimport { HasuraStorageClient } from '@nhost/hasura-storage-js'\n\nimport { NhostClientConstructorParams } from '../utils/types'\n\nimport { createAuthClient } from './auth'\nimport { createFunctionsClient, NhostFunctionsClient } from './functions'\nimport { createGraphqlClient, NhostGraphqlClient } from './graphql'\nimport { createStorageClient } from './storage'\n\nexport const createNhostClient = (params: NhostClientConstructorParams) => new NhostClient(params)\nexport class NhostClient {\n auth: HasuraAuthClient\n storage: HasuraStorageClient\n functions: NhostFunctionsClient\n graphql: NhostGraphqlClient\n private _adminSecret?: string\n readonly devTools?: boolean\n\n /**\n * Nhost Client\n *\n * @example\n * ```ts\n * const nhost = new NhostClient({ subdomain, region });\n * ```\n *\n * @docs https://docs.nhost.io/reference/javascript\n */\n constructor({\n refreshIntervalTime,\n clientStorageGetter,\n clientStorageSetter,\n clientStorage,\n clientStorageType,\n autoRefreshToken,\n autoSignIn,\n adminSecret,\n devTools,\n start = true,\n ...urlParams\n }: NhostClientConstructorParams) {\n // * Set clients for all services\n this.auth = createAuthClient({\n refreshIntervalTime,\n clientStorageGetter,\n clientStorageSetter,\n clientStorage,\n clientStorageType,\n autoRefreshToken,\n autoSignIn,\n start,\n ...urlParams\n })\n this.storage = createStorageClient({ adminSecret, ...urlParams })\n this.functions = createFunctionsClient({ adminSecret, ...urlParams })\n this.graphql = createGraphqlClient({ adminSecret, ...urlParams })\n\n this.auth.client.onStart(() => {\n // * Set current token if token is already accessable\n const accessToken = this.auth.getAccessToken()\n this.storage.setAccessToken(accessToken)\n this.functions.setAccessToken(accessToken)\n this.graphql.setAccessToken(accessToken)\n // * Set access token when signing out\n this.auth.onAuthStateChanged((_event, session) => {\n if (_event === 'SIGNED_OUT') {\n this.storage.setAccessToken(undefined)\n this.functions.setAccessToken(undefined)\n this.graphql.setAccessToken(undefined)\n }\n })\n\n // * Update access token for clients, including when signin in\n this.auth.onTokenChanged((session) => {\n const accessToken = session?.accessToken\n this.storage.setAccessToken(accessToken)\n this.functions.setAccessToken(accessToken)\n this.graphql.setAccessToken(accessToken)\n })\n })\n this._adminSecret = adminSecret\n this.devTools = devTools\n }\n\n get adminSecret(): string | undefined {\n return this._adminSecret\n }\n\n set adminSecret(newValue: string | undefined) {\n this._adminSecret = newValue\n this.storage.setAdminSecret(newValue)\n // TODO inconsistent API: storage can change admin secret, but functions/graphql cannot\n // this.functions.setAdminSecret(newValue)\n // this.graphql.setAdminSecret(newValue)\n }\n}\n"],"names":["e","r","t","n","o","a","i","c","__assign","s","p","__rest","__values","m","__read","ar","error","__spreadArray","to","from","pack","l","ActionTypes","SpecialTargets","start","stop","raise","send","cancel","nullEvent","assign","log","init","invoke","errorPlatform","update","choose","pure","STATE_DELIMITER","EMPTY_ACTIVITY_MAP","DEFAULT_GUARD_TYPE","TARGETLESS_KEY","IS_PRODUCTION","_a","matchesState","parentStateId","childStateId","delimiter","parentStateValue","toStateValue","childStateValue","isString","key","getEventType","event","toStatePath","stateId","isArray","isStateLike","state","stateValue","pathToStateValue","statePath","value","marker","mapValues","collection","iteratee","result","collectionKeys","mapFilterValues","predicate","e_1","_b","_c","item","e_1_1","path","props","object","e_2","props_1","props_1_1","prop","e_2_1","nestedPath","accessorProp","e_3","props_2","props_2_1","e_3_1","toStatePaths","flatten","subStateValue","subPath","array","toArrayStrict","toArray","mapContext","mapper","context","_event","e_5","isFunction","subMapper","e_5_1","isBuiltInEvent","eventType","isPromiseLike","isBehavior","partition","items","e_6","truthy","falsy","items_1","items_1_1","e_6_1","updateHistoryStates","hist","subHist","updateHistoryValue","updateContext","assignActions","warn","updatedContext","acc","assignAction","e_7","assignment","meta","partialUpdate","propAssignment","e_7_1","condition","message","args","toGuard","guardMap","isObservable","symbolObservable","isMachine","isActor","toEventObject","payload","toSCXMLEvent","scxmlEvent","eventObject","toTransitionConfigArray","configLike","transitions","transitionLike","normalizeTarget","target","reportUnhandledExceptionOnInvocation","originalError","currentError","id","originalStackTrace","stackTrace","evaluateGuard","machine","guard","guards","guardMeta","condFn","toInvokeSource","src","toObserver","nextHandler","errorHandler","completionHandler","noop","isObserver","self","createInvokeId","stateNodeId","index","initEvent","getActionFunction","actionType","actionFunctionMap","toActionObject","action","actionObject","exec","toActionObjects","actions","subAction","toActivityDefinition","raise$1","resolveRaise","options","send$1","resolveSend","ctx","delaysMap","resolvedEvent","resolvedDelay","configDelay","resolvedTarget","resolveLog","sendId","cancel$1","activity","activityDef","actorRef","resolveStop","actorRefOrString","resolvedActorRef","assign$1","after","delayRef","idSuffix","done","data","type","doneInvoke","pluckAssigns","actionBlocks","actionBlocks_1","actionBlocks_1_1","block","resolveActions","currentState","currentContext","predictableExec","preserveActionOrder","preservedContexts","deferredToBlockEnd","handleAction","sendAction","log$1","resolved","choose$1","chooseAction","matchedActions","resolvedActionsFromChoose","resolvedContextFromChoose","pure$1","resolvedActionsFromPure","resolvedContext","stop$1","resolvedActionObject","exec_1","contextIndex_1","_ctx","_i","processBlock","resolvedActions","block_1","block_1_1","provide","service","fn","createNullActor","createInvocableActor","invokeDefinition","invokeSrc","serviceCreator","resolvedData","tempActor","createDeferredActor","entity","initialState_1","isSpawnedActor","toActorRef","actorRefLike","isLeafNode","stateNode","getAllChildren","getChildren","sn","getAllStateNodes","stateNodes","getConfiguration","prevStateNodes","e_4","_d","prevConfiguration","prevAdjList","getAdjList","configuration","configuration_1","configuration_1_1","adjList","configuration_2","configuration_2_1","_e","_f","child","configuration_3","configuration_3_1","e_4_1","getValueFromAdj","baseNode","childStateNodes","childStateNode","csn","configuration_4","configuration_4_1","getValue","rootNode","config","has","iterable","member","nextEvents","isInFinalState","getMeta","getTagsFromConfiguration","stateValuesEqual","b","aKeys","bKeys","isStateConfig","bindActionToState","boundAction","State","_this","valueKeys","tags","jsonValues","tag","transitionData","defaultOptions","Scheduler","callback","task","nextCallback","children","sessionIdIndex","registry","actor","getGlobal","getDevTools","global","registerService","devTools","spawnBehavior","behavior","observers","mailbox","flushing","flush","event_1","actorCtx","observer","next","handleError","complete","DEFAULT_SPAWN_OPTIONS","InterpreterStatus","Interpreter","nextState","immediate","isParent","error$1","actionOrExec","err","invokeSource","autoForward","source","label","resolvedOptions","clock","logger","parent","resolvedId","actionsConfig","listener","_g","_h","_j","_k","contextListener","finalChildStateNode","doneData","_l","_m","nextListenerOrObserver","_","completeListener","completeOnce","initialState","resolvedState","e_8","e_9","e_10","e_8_1","_o","e_9_1","_p","_q","e_10_1","scheduler","exitActions","newState","events","e_11","batchChanged","batchedActions","_loop_1","events_1","events_1_1","e_11_1","nextEvent","e_12","e_12_1","childId","name","childService","doneEvent","promise","canceled","response","errorData","errorEvent","unsubscribed","receivers","listeners","emitted","receive","callbackStop","newListener","receiver","subscription","implementation","dispose","devToolsOptions","ms","interpret","interpreter","simpleSrc","toInvokeDefinition","invokeConfig","invokeDef","NULL_EVENT","STATE_IDENTIFIER","WILDCARD","EMPTY_OBJECT","isStateId","str","createDefaultOptions","validateArrayifiedTransitions","hasNonLastUnguardedTarget","transition","eventText","StateNode","_context","_stateInfo","stateConfig","order","dfs","invokeId","activities","services","delays","map","eventName","transient","candidates","sameEventType","afterConfig","mutateEntryExit","delay","delayedTransitions","configTransition","resolvedTransition","delayedTransition","initialStateValue","subStateKeys","subStateNodes","subStateKey","stateFromConfig","transitionMap","subStateNode","stateTransitions","enabledTransitions","st","willTransition","entryNodes","nextStateNodes","selectedTransition","candidate","cond","stateIn","isInState","guardPassed","allNextStateNodes","isInternal","reentryNodes","targetNode","nodes","possibleAncestor","resolvedConfig","isDone","prevState","prevConfig","resolvedConfig_1","resolvedConfig_1_1","prevConfig_1","prevConfig_1_1","doneEvents","grandparent","parentNode","entryStates","exitStates","entryActions","invokeActions","stopActions","resolvedStateValue","stateTransition","originalEvent","currentActions","resolvedConfiguration","historyValue","start$1","raisedEvents","nonRaisedActions","didUpdateContext","history","hasAlwaysTransitions","maybeNextState","raisedEvent","changed","stateKey","resolvedStateId","arrayStatePath","currentStateNode","stateIdentifier","historyConfig","relativeStateId","resolve","initialStateNodePaths","initialPath","relativePath","childStatePath","relativeStateValue","historyTarget","relativeChildPath","subHistoryValue","subStatePath","childStateIds","states","_target","isInternalTarget","targetStateNode","transitionConfig","normalizedTarget","internal","onConfig","wildcardConfigs","strictTransitionConfigs_1","transitionConfigArray","eventlessConfig","doneConfig","settleTransitions","formattedTransitions","delayedTransitions_1","delayedTransitions_1_1","warned","createMachine","defaultConverter","converter","defaultAttributes","set","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","foundKey","api","bind","thisArg","toString","getPrototypeOf","kindOf","cache","thing","kindOfTest","typeOfTest","isUndefined","isBuffer","val","isArrayBuffer","isArrayBufferView","isNumber","isObject","isBoolean","isPlainObject","prototype","isDate","isFile","isBlob","isFileList","isStream","isFormData","pattern","isURLSearchParams","trim","forEach","obj","allOwnKeys","keys","len","findKey","_key","_global","this","isContextDefined","merge","caseless","assignValue","targetKey","extend","stripBOM","content","inherits","constructor","superConstructor","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","lastIndex","arr","isTypedArray","TypedArray","forEachEntry","iterator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","p1","p2","hasOwnProperty","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","utils","arrayOrString","define","defaultValue","stack","visit","reducedValue","AxiosError","code","request","customProps","axiosError","browser","isVisitable","removeBrackets","renderKey","dots","token","isFlatArray","predicates","isSpecCompliant","toFormData","formData","envFormData","option","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","el","exposedHelpers","build","encode","charMap","match","AxiosURLSearchParams","params","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","h","InterceptorManager$1","transitionalDefaults","URLSearchParams$1","FormData$1","isStandardBrowserEnv","product","platform","URLSearchParams","FormData","toURLEncodedForm","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","DEFAULT_CONTENT_TYPE","stringifySafely","rawValue","parser","defaults","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","defaults$1","ignoreDuplicateOf","parseHeaders","rawHeaders","parsed","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","first","computed","accessors","defineAccessor","AxiosHeaders$1","transformData","fns","isCancel","CanceledError","httpAdapter","settle","reject","validateStatus","expires","domain","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","isURLSameOrigin","msie","urlParsingNode","originURL","resolveURL","href","requestURL","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","knownAdapters","requestData","requestHeaders","responseType","onCanceled","username","password","fullPath","onloadend","responseHeaders","timeoutErrorMessage","xsrfValue","protocol","adapters","length","nameOrAdapter","adapter","throwIfCancellationRequested","dispatchRequest","reason","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","VERSION","validators","deprecatedWarnings","validators$1","validator","version","formatMessage","opt","desc","opts","assertOptions","schema","allowUnknown","Axios","instanceConfig","configOrUrl","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","Axios$1","CancelToken","executor","resolvePromise","onfulfilled","_resolve","CancelToken$1","spread","isAxiosError","createInstance","defaultConfig","instance","axios","promises","D$1","ue","le","S","x","D","he","me","Ee","ee","re","A","N","K","k","W","B","we","Te","ye","Se","I","ve","Ae","Ie","ke","q","H","te","ne","se","Re","be","L","ie","g","E","Oe","Pe","Ce","Ne","T","f","G","V","xe","De","Ue","$","Me","O","fe","U","R","Y","oe","v","M","F","j","Q","Ke","Ve","u","P","d","y","z","ce","Le","Ge","qe","$e","ae","C","Ye","je","He","ze","Be","Fe","Qe","J","Je","Xe","X","Ze","er","Z","rr","fr","de","LOCALHOST_REGEX","urlFromSubdomain","backendOrSubdomain","backendUrl","subdomain","region","subdomainLocalhostFound","host","port","urlFromEnv","getValueFromEnv","isBrowser","environmentIsAvailable","createAuthClient","authUrl","HasuraAuthClient","createFunctionsClient","functionsUrl","NhostFunctionsClient","__publicField","adminSecret","res","accessToken","createGraphqlClient","graphqlUrl","NhostGraphqlClient","document","variables","operationName","responseData","print","createStorageClient","storageUrl","HasuraStorageClient","createNhostClient","NhostClient","refreshIntervalTime","clientStorageGetter","clientStorageSetter","clientStorage","clientStorageType","autoRefreshToken","autoSignIn","urlParams","session","newValue"],"mappings":"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"}
|