"use strict"; /* * ATTENTION: An "eval-source-map" devtool has been used. * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ self["webpackHotUpdate_N_E"]("app/login/page",{ /***/ "(app-pages-browser)/./context/AuthContext.tsx": /*!*********************************!*\ !*** ./context/AuthContext.tsx ***! \*********************************/ /***/ (function(module, __webpack_exports__, __webpack_require__) { eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: function() { return /* binding */ AuthProvider; },\n/* harmony export */ useAuth: function() { return /* binding */ useAuth; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js\");\n/* __next_internal_client_entry_do_not_use__ AuthProvider,useAuth auto */ \nvar _s = $RefreshSig$(), _s1 = $RefreshSig$();\n\nvar _process_env_NEXT_PUBLIC_API_BASE_URL;\nconst API_BASE_URL = (_process_env_NEXT_PUBLIC_API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL) !== null && _process_env_NEXT_PUBLIC_API_BASE_URL !== void 0 ? _process_env_NEXT_PUBLIC_API_BASE_URL : \"http://localhost:8080\";\nconst AuthContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(undefined);\nconst TOKEN_KEY = \"ballistic_auth_token\";\nconst USER_KEY = \"ballistic_auth_user\";\nfunction AuthProvider(param) {\n let { children } = param;\n _s();\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [token, setToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true); // start true while we hydrate + reuse for calls\n // hydrate from localStorage\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n try {\n if (false) {}\n const storedToken = window.localStorage.getItem(TOKEN_KEY);\n const storedUser = window.localStorage.getItem(USER_KEY);\n if (storedToken && storedUser) {\n setToken(storedToken);\n setUser(JSON.parse(storedUser));\n }\n } catch (e) {\n // ignore\n } finally{\n setLoading(false);\n }\n }, []);\n const setSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((newToken, newUser)=>{\n setToken(newToken);\n setUser(newUser);\n if (true) {\n window.localStorage.setItem(TOKEN_KEY, newToken);\n window.localStorage.setItem(USER_KEY, JSON.stringify(newUser));\n }\n }, []);\n const clearSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n setToken(null);\n setUser(null);\n if (true) {\n window.localStorage.removeItem(TOKEN_KEY);\n window.localStorage.removeItem(USER_KEY);\n }\n }, []);\n const register = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(\"\".concat(API_BASE_URL, \"/api/auth/register\"), {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password,\n displayName: params.displayName\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to create account\");\n }\n const data = await res.json();\n var _data_displayName;\n setSession(data.token, {\n email: data.email,\n displayName: (_data_displayName = data.displayName) !== null && _data_displayName !== void 0 ? _data_displayName : null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const login = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(\"\".concat(API_BASE_URL, \"/api/auth/login\"), {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to log in\");\n }\n const data = await res.json();\n var _data_displayName;\n setSession(data.token, {\n email: data.email,\n displayName: (_data_displayName = data.displayName) !== null && _data_displayName !== void 0 ? _data_displayName : null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const logout = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n clearSession();\n }, [\n clearSession\n ]);\n const getAuthHeaders = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n if (!token) return {};\n return {\n Authorization: \"Bearer \".concat(token)\n };\n }, [\n token\n ]);\n const value = {\n user,\n loading,\n login,\n register,\n logout,\n getAuthHeaders\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(AuthContext.Provider, {\n value: value,\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx\",\n lineNumber: 181,\n columnNumber: 10\n }, this);\n}\n_s(AuthProvider, \"FyBF3GfQ0aSoDuYjEKqpAbOwwL4=\");\n_c = AuthProvider;\nfunction useAuth() {\n _s1();\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(AuthContext);\n if (!ctx) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n return ctx;\n}\n_s1(useAuth, \"/dMy7t63NXD4eYACoT93CePwGrg=\");\nvar _c;\n$RefreshReg$(_c, \"AuthProvider\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbnRleHQvQXV0aENvbnRleHQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBU2U7SUFHYks7QUFERixNQUFNQyxlQUNKRCxDQUFBQSx3Q0FBQUEsT0FBT0EsQ0FBQ0UsR0FBRyxDQUFDQyx3QkFBd0IsY0FBcENILG1EQUFBQSx3Q0FBd0M7QUFxQjFDLE1BQU1JLDRCQUFjVCxvREFBYUEsQ0FBK0JVO0FBRWhFLE1BQU1DLFlBQVk7QUFDbEIsTUFBTUMsV0FBVztBQUVWLFNBQVNDLGFBQWEsS0FBcUM7UUFBckMsRUFBRUMsUUFBUSxFQUEyQixHQUFyQzs7SUFDM0IsTUFBTSxDQUFDQyxNQUFNQyxRQUFRLEdBQUdaLCtDQUFRQSxDQUFXO0lBQzNDLE1BQU0sQ0FBQ2EsT0FBT0MsU0FBUyxHQUFHZCwrQ0FBUUEsQ0FBZ0I7SUFDbEQsTUFBTSxDQUFDZSxTQUFTQyxXQUFXLEdBQUdoQiwrQ0FBUUEsQ0FBQyxPQUFPLGdEQUFnRDtJQUU5Riw0QkFBNEI7SUFDNUJELGdEQUFTQSxDQUFDO1FBQ1IsSUFBSTtZQUNGLElBQUksS0FBNkIsRUFBRSxFQUFPO1lBRTFDLE1BQU1rQixjQUFjQyxPQUFPQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ2I7WUFDaEQsTUFBTWMsYUFBYUgsT0FBT0MsWUFBWSxDQUFDQyxPQUFPLENBQUNaO1lBRS9DLElBQUlTLGVBQWVJLFlBQVk7Z0JBQzdCUCxTQUFTRztnQkFDVEwsUUFBUVUsS0FBS0MsS0FBSyxDQUFDRjtZQUNyQjtRQUNGLEVBQUUsVUFBTTtRQUNOLFNBQVM7UUFDWCxTQUFVO1lBQ1JMLFdBQVc7UUFDYjtJQUNGLEdBQUcsRUFBRTtJQUVMLE1BQU1RLGFBQWEzQixrREFBV0EsQ0FBQyxDQUFDNEIsVUFBa0JDO1FBQ2hEWixTQUFTVztRQUNUYixRQUFRYztRQUVSLElBQUksSUFBNkIsRUFBRTtZQUNqQ1IsT0FBT0MsWUFBWSxDQUFDUSxPQUFPLENBQUNwQixXQUFXa0I7WUFDdkNQLE9BQU9D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QVVBLENBQUNPO0lBQ3ZCLElBQUksQ0FBQ2lELEtBQUs7UUFDUixNQUFNLElBQUlYLE1BQU07SUFDbEI7SUFDQSxPQUFPVztBQUNUO0lBTmdCRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9jb250ZXh0L0F1dGhDb250ZXh0LnRzeD9mZGZmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQge1xuICBjcmVhdGVDb250ZXh0LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VTdGF0ZSxcbiAgUmVhY3ROb2RlLFxufSBmcm9tIFwicmVhY3RcIjtcblxuY29uc3QgQVBJX0JBU0VfVVJMID1cbiAgcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfQVBJX0JBU0VfVVJMID8/IFwiaHR0cDovL2xvY2FsaG9zdDo4MDgwXCI7XG5cbnR5cGUgQXV0aFVzZXIgPSB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgcm9sZTogc3RyaW5nO1xufSB8IG51bGw7XG5cbnR5cGUgQXV0aENvbnRleHRWYWx1ZSA9IHtcbiAgdXNlcjogQXV0aFVzZXI7XG4gIGxvYWRpbmc6IGJvb2xlYW47IC8vIGNvdmVycyBpbml0aWFsIGh5ZHJhdGUgKyBhY3RpdmUgYXV0aCByZXF1ZXN0c1xuICBsb2dpbjogKHBhcmFtczogeyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH0pID0+IFByb21pc2U8dm9pZD47XG4gIHJlZ2lzdGVyOiAocGFyYW1zOiB7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICB9KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBsb2dvdXQ6ICgpID0+IHZvaWQ7XG4gIGdldEF1dGhIZWFkZXJzOiAoKSA9PiBIZWFkZXJzSW5pdDtcbn07XG5cbmNvbnN0IEF1dGhDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxBdXRoQ29udGV4dFZhbHVlIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5jb25zdCBUT0tFTl9LRVkgPSBcImJhbGxpc3RpY19hdXRoX3Rva2VuXCI7XG5jb25zdCBVU0VSX0tFWSA9IFwiYmFsbGlzdGljX2F1dGhfdXNlclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gQXV0aFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgW3VzZXIsIHNldFVzZXJdID0gdXNlU3RhdGU8QXV0aFVzZXI+KG51bGwpO1xuICBjb25zdCBbdG9rZW4sIHNldFRva2VuXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKTsgLy8gc3RhcnQgdHJ1ZSB3aGlsZSB3ZSBoeWRyYXRlICsgcmV1c2UgZm9yIGNhbGxzXG5cbiAgLy8gaHlkcmF0ZSBmcm9tIGxvY2FsU3RvcmFnZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuO1xuXG4gICAgICBjb25zdCBzdG9yZWRUb2tlbiA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShUT0tFTl9LRVkpO1xuICAgICAgY29uc3Qgc3RvcmVkVXNlciA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShVU0VSX0tFWSk7XG5cbiAgICAgIGlmIChzdG9yZWRUb2tlbiAmJiBzdG9yZWRVc2VyKSB7XG4gICAgICAgIHNldFRva2VuKHN0b3JlZFRva2VuKTtcbiAgICAgICAgc2V0VXNlcihKU09OLnBhcnNlKHN0b3JlZFVzZXIpKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIGlnbm9yZVxuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICB9XG4gIH0sIFtdKTtcblxuICBjb25zdCBzZXRTZXNzaW9uID0gdXNlQ2FsbGJhY2soKG5ld1Rva2VuOiBzdHJpbmcsIG5ld1VzZXI6IEF1dGhVc2VyKSA9PiB7XG4gICAgc2V0VG9rZW4obmV3VG9rZW4pO1xuICAgIHNldFVzZXIobmV3VXNlcik7XG5cbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKFRPS0VOX0tFWSwgbmV3VG9rZW4pO1xuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKFVTRVJfS0VZLCBKU09OLnN0cmluZ2lmeShuZXdVc2VyKSk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgY29uc3QgY2xlYXJTZXNzaW9uID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFRva2VuKG51bGwpO1xuICAgIHNldFVzZXIobnVsbCk7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShUT0tFTl9LRVkpO1xuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFVTRVJfS0VZKTtcbiAgICB9XG4gIH0sIFtdKTtcblxuICBjb25zdCByZWdpc3RlciA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXJhbXM6IHsgZW1haWw6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZzsgZGlzcGxheU5hbWU/OiBzdHJpbmcgfSkgPT4ge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0FQSV9CQVNFX1VSTH0vYXBpL2F1dGgvcmVnaXN0ZXJgLCB7XG4gICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIGVtYWlsOiBwYXJhbXMuZW1haWwsXG4gICAgICAgICAgICBwYXNzd29yZDogcGFyYW1zLnBhc3N3b3JkLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6IHBhcmFtcy5kaXNwbGF5TmFtZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGV4dCB8fCBcIkZhaWxlZCB0byBjcmVhdGUgYWNjb3VudFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGE6IHtcbiAgICAgICAgICB0b2tlbjogc3RyaW5nO1xuICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICAgICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgcm9sZTogc3RyaW5nO1xuICAgICAgICB9ID0gYXdhaXQgcmVzLmpzb24oKTtcblxuICAgICAgICBzZXRTZXNzaW9uKGRhdGEudG9rZW4sIHtcbiAgICAgICAgICBlbWFpbDogZGF0YS5lbWFpbCxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogZGF0YS5kaXNwbGF5TmFtZSA/PyBudWxsLFxuICAgICAgICAgIHJvbGU6IGRhdGEucm9sZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXRTZXNzaW9uXSxcbiAgKTtcblxuICBjb25zdCBsb2dpbiA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXJhbXM6IHsgZW1haWw6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9KSA9PiB7XG4gICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7QVBJX0JBU0VfVVJMfS9hcGkvYXV0aC9sb2dpbmAsIHtcbiAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgZW1haWw6IHBhcmFtcy5lbWFpbCxcbiAgICAgICAgICAgIHBhc3N3b3JkOiBwYXJhbXMucGFzc3dvcmQsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHJlcy50ZXh0KCk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHRleHQgfHwgXCJGYWlsZWQgdG8gbG9nIGluXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF0YToge1xuICAgICAgICAgIHRva2VuOiBzdHJpbmc7XG4gICAgICAgICAgZW1haWw6IHN0cmluZztcbiAgICAgICAgICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgICAgICAgICByb2xlOiBzdHJpbmc7XG4gICAgICAgIH0gPSBhd2FpdCByZXMuanNvbigpO1xuXG4gICAgICAgIHNldFNlc3Npb24oZGF0YS50b2tlbiwge1xuICAgICAgICAgIGVtYWlsOiBkYXRhLmVtYWlsLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBkYXRhLmRpc3BsYXlOYW1lID8/IG51bGwsXG4gICAgICAgICAgcm9sZTogZGF0YS5yb2xlLFxuICAgICAgICB9KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFNlc3Npb25dLFxuICApO1xuXG4gIGNvbnN0IGxvZ291dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjbGVhclNlc3Npb24oKTtcbiAgfSwgW2NsZWFyU2Vzc2lvbl0pO1xuXG4gIGNvbnN0IGdldEF1dGhIZWFkZXJzID0gdXNlQ2FsbGJhY2soKCk6IEhlYWRlcnNJbml0ID0+IHtcbiAgICBpZiAoIXRva2VuKSByZXR1cm4ge307XG4gICAgcmV0dXJuIHtcbiAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gLFxuICAgIH07XG4gIH0sIFt0b2tlbl0pO1xuXG4gIGNvbnN0IHZhbHVlOiBBdXRoQ29udGV4dFZhbHVlID0ge1xuICAgIHVzZXIsXG4gICAgbG9hZGluZyxcbiAgICBsb2dpbixcbiAgICByZWdpc3RlcixcbiAgICBsb2dvdXQsXG4gICAgZ2V0QXV0aEhlYWRlcnMsXG4gIH07XG5cbiAgcmV0dXJuIDxBdXRoQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PntjaGlsZHJlbn08L0F1dGhDb250ZXh0LlByb3ZpZGVyPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUF1dGgoKTogQXV0aENvbnRleHRWYWx1ZSB7XG4gIGNvbnN0IGN0eCA9IHVzZUNvbnRleHQoQXV0aENvbnRleHQpO1xuICBpZiAoIWN0eCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcInVzZUF1dGggbXVzdCBiZSB1c2VkIHdpdGhpbiBhbiBBdXRoUHJvdmlkZXJcIik7XG4gIH1cbiAgcmV0dXJuIGN0eDtcbn0iXSwibmFtZXMiOlsiY3JlYXRlQ29udGV4dCIsInVzZUNhbGxiYWNrIiwidXNlQ29udGV4dCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwicHJvY2VzcyIsIkFQSV9CQVNFX1VSTCIsImVudiIsIk5FWFRfUFVCTElDX0FQSV9CQVNFX1VSTCIsIkF1dGhDb250ZXh0IiwidW5kZWZpbmVkIiwiVE9LRU5fS0VZIiwiVVNFUl9LRVkiLCJBdXRoUHJvdmlkZXIiLCJjaGlsZHJlbiIsInVzZXIiLCJzZXRVc2VyIiwidG9rZW4iLCJzZXRUb2tlbiIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwic3RvcmVkVG9rZW4iLCJ3aW5kb3ciLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwic3RvcmVkVXNlciIsIkpTT04iLCJwYXJzZSIsInNldFNlc3Npb24iLCJuZXdUb2tlbiIsIm5ld1VzZXIiLCJzZXRJdGVtIiwic3RyaW5naWZ5IiwiY2xlYXJTZXNzaW9uIiwicmVtb3ZlSXRlbSIsInJlZ2lzdGVyIiwicGFyYW1zIiwicmVzIiwiZmV0Y2giLCJtZXRob2QiLCJoZWFkZXJzIiwiYm9keSIsImVtYWlsIiwicGFzc3dvcmQiLCJkaXNwbGF5TmFtZSIsIm9rIiwidGV4dCIsIkVycm9yIiwiZGF0YSIsImpzb24iLCJyb2xlIiwibG9naW4iLCJsb2dvdXQiLCJnZXRBdXRoSGVhZGVycyIsIkF1dGhvcml6YXRpb24iLCJ2YWx1ZSIsIlByb3ZpZGVyIiwidXNlQXV0aCIsImN0eCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./context/AuthContext.tsx\n")); /***/ }) });