├── .gitignore ├── README.md ├── app ├── about │ └── page.jsx ├── components │ ├── Navbar.jsx │ ├── Spinner.jsx │ └── spinner.gif ├── context │ └── AuthContext.js ├── favicon.ico ├── firebase.js ├── globals.css ├── layout.js ├── page.js └── profile │ └── page.jsx ├── jsconfig.json ├── next.config.js ├── package-lock.json ├── package.json ├── postcss.config.js ├── public ├── next.svg └── vercel.svg └── tailwind.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env*.local 29 | 30 | # vercel 31 | .vercel 32 | 33 | # typescript 34 | *.tsbuildinfo 35 | next-env.d.ts 36 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). 2 | 3 | ## Getting Started 4 | 5 | First, run the development server: 6 | 7 | ```bash 8 | npm run dev 9 | # or 10 | yarn dev 11 | # or 12 | pnpm dev 13 | ``` 14 | 15 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 16 | 17 | You can start editing the page by modifying `app/page.js`. The page auto-updates as you edit the file. 18 | 19 | This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. 20 | 21 | ## Learn More 22 | 23 | To learn more about Next.js, take a look at the following resources: 24 | 25 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. 26 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 27 | 28 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! 29 | 30 | ## Deploy on Vercel 31 | 32 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. 33 | 34 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. 35 | -------------------------------------------------------------------------------- /app/about/page.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | const page = () => { 4 | return ( 5 |
About Page
6 | ) 7 | } 8 | 9 | export default page -------------------------------------------------------------------------------- /app/components/Navbar.jsx: -------------------------------------------------------------------------------- 1 | import React, { useState, useEffect } from "react"; 2 | import Link from "next/link"; 3 | import { UserAuth } from "../context/AuthContext"; 4 | 5 | const Navbar = () => { 6 | const { user, googleSignIn, logOut } = UserAuth(); 7 | const [loading, setLoading] = useState(true); 8 | 9 | const handleSignIn = async () => { 10 | try { 11 | await googleSignIn(); 12 | } catch (error) { 13 | console.log(error); 14 | } 15 | }; 16 | 17 | const handleSignOut = async () => { 18 | try { 19 | await logOut(); 20 | } catch (error) { 21 | console.log(error); 22 | } 23 | }; 24 | 25 | useEffect(() => { 26 | const checkAuthentication = async () => { 27 | await new Promise((resolve) => setTimeout(resolve, 50)); 28 | setLoading(false); 29 | }; 30 | checkAuthentication(); 31 | }, [user]); 32 | 33 | return ( 34 |
35 | 49 | 50 | {loading ? null : !user ? ( 51 | 59 | ) : ( 60 |
61 |

Welcome, {user.displayName}

62 |

63 | Sign out 64 |

65 |
66 | )} 67 |
68 | ); 69 | }; 70 | 71 | export default Navbar; 72 | -------------------------------------------------------------------------------- /app/components/Spinner.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Image from "next/image"; 3 | import loader from "./spinner.gif"; 4 | 5 | const Spinner = () => { 6 | return ( 7 |
8 | loading.. 9 |
10 | ); 11 | }; 12 | 13 | export default Spinner; 14 | -------------------------------------------------------------------------------- /app/components/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fireclint/next-auth-firebase/2246f01a382f3010854b3c387e9184b5c26e55fd/app/components/spinner.gif -------------------------------------------------------------------------------- /app/context/AuthContext.js: -------------------------------------------------------------------------------- 1 | import { useContext, createContext, useState, useEffect } from "react"; 2 | import { 3 | signInWithPopup, 4 | signOut, 5 | onAuthStateChanged, 6 | GoogleAuthProvider, 7 | } from "firebase/auth"; 8 | import { auth } from "../firebase"; 9 | 10 | const AuthContext = createContext(); 11 | 12 | export const AuthContextProvider = ({ children }) => { 13 | const [user, setUser] = useState(null); 14 | 15 | const googleSignIn = () => { 16 | const provider = new GoogleAuthProvider(); 17 | signInWithPopup(auth, provider); 18 | }; 19 | 20 | const logOut = () => { 21 | signOut(auth); 22 | }; 23 | 24 | useEffect(() => { 25 | const unsubscribe = onAuthStateChanged(auth, (currentUser) => { 26 | setUser(currentUser); 27 | }); 28 | return () => unsubscribe(); 29 | }, [user]); 30 | 31 | return ( 32 | 33 | {children} 34 | 35 | ); 36 | }; 37 | 38 | export const UserAuth = () => { 39 | return useContext(AuthContext); 40 | }; 41 | -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fireclint/next-auth-firebase/2246f01a382f3010854b3c387e9184b5c26e55fd/app/favicon.ico -------------------------------------------------------------------------------- /app/firebase.js: -------------------------------------------------------------------------------- 1 | // Import the functions you need from the SDKs you need 2 | import { initializeApp } from "firebase/app"; 3 | // TODO: Add SDKs for Firebase products that you want to use 4 | // https://firebase.google.com/docs/web/setup#available-libraries 5 | import { getAuth } from "firebase/auth"; 6 | 7 | // Your web app's Firebase configuration 8 | const firebaseConfig = { 9 | apiKey: "YOUR_API_KEY", 10 | authDomain: "YOUR_AUTH_DOMAIN", 11 | projectId: "YOUR_PROJECT_ID", 12 | storageBucket: "YOUR_STORAE_BUCKET", 13 | messagingSenderId: "YOUR_MESSAGING_SENDER_ID", 14 | appId: "YOUR_APP_ID", 15 | }; 16 | 17 | // Initialize Firebase 18 | const app = initializeApp(firebaseConfig); 19 | export const auth = getAuth(app); 20 | -------------------------------------------------------------------------------- /app/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | :root { 6 | --foreground-rgb: 0, 0, 0; 7 | --background-start-rgb: 214, 219, 220; 8 | --background-end-rgb: 255, 255, 255; 9 | } 10 | 11 | @media (prefers-color-scheme: dark) { 12 | :root { 13 | --foreground-rgb: 255, 255, 255; 14 | --background-start-rgb: 0, 0, 0; 15 | --background-end-rgb: 0, 0, 0; 16 | } 17 | } 18 | 19 | body { 20 | color: rgb(var(--foreground-rgb)); 21 | background: linear-gradient( 22 | to bottom, 23 | transparent, 24 | rgb(var(--background-end-rgb)) 25 | ) 26 | rgb(var(--background-start-rgb)); 27 | } 28 | -------------------------------------------------------------------------------- /app/layout.js: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import Navbar from "./components/Navbar"; 3 | import "./globals.css"; 4 | import { Inter } from "next/font/google"; 5 | import { AuthContextProvider } from "./context/AuthContext"; 6 | 7 | const inter = Inter({ subsets: ["latin"] }); 8 | 9 | export const metadata = { 10 | title: "Create Next App", 11 | description: "Generated by create next app", 12 | }; 13 | 14 | export default function RootLayout({ children }) { 15 | return ( 16 | 17 | 18 | 19 | 20 | {children} 21 | 22 | 23 | 24 | ); 25 | } 26 | -------------------------------------------------------------------------------- /app/page.js: -------------------------------------------------------------------------------- 1 | import Image from 'next/image' 2 | 3 | export default function Home() { 4 | return ( 5 |
6 |

Home Page

7 |
8 | ) 9 | } 10 | -------------------------------------------------------------------------------- /app/profile/page.jsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import React, { useEffect, useState } from "react"; 3 | import { UserAuth } from "../context/AuthContext"; 4 | import Spinner from "../components/Spinner"; 5 | 6 | const page = () => { 7 | const { user } = UserAuth(); 8 | const [loading, setLoading] = useState(true); 9 | 10 | useEffect(() => { 11 | const checkAuthentication = async () => { 12 | await new Promise((resolve) => setTimeout(resolve, 50)); 13 | setLoading(false); 14 | }; 15 | checkAuthentication(); 16 | }, [user]); 17 | 18 | return ( 19 |
20 | {loading ? ( 21 | 22 | ) : user ? ( 23 |

24 | Welcome, {user.displayName} - you are logged in to the profile page - 25 | a protected route. 26 |

27 | ) : ( 28 |

You must be logged in to view this page - protected route.

29 | )} 30 |
31 | ); 32 | }; 33 | 34 | export default page; 35 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "paths": { 4 | "@/*": ["./*"] 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = {} 3 | 4 | module.exports = nextConfig 5 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "next-auth-firebase", 3 | "version": "0.1.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "next-auth-firebase", 9 | "version": "0.1.0", 10 | "dependencies": { 11 | "autoprefixer": "10.4.14", 12 | "encoding": "^0.1.13", 13 | "firebase": "^9.23.0", 14 | "next": "13.4.7", 15 | "postcss": "8.4.24", 16 | "react": "18.2.0", 17 | "react-dom": "18.2.0", 18 | "tailwindcss": "3.3.2" 19 | } 20 | }, 21 | "node_modules/@alloc/quick-lru": { 22 | "version": "5.2.0", 23 | "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 24 | "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 25 | "engines": { 26 | "node": ">=10" 27 | }, 28 | "funding": { 29 | "url": "https://github.com/sponsors/sindresorhus" 30 | } 31 | }, 32 | "node_modules/@firebase/analytics": { 33 | "version": "0.10.0", 34 | "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.0.tgz", 35 | "integrity": "sha512-Locv8gAqx0e+GX/0SI3dzmBY5e9kjVDtD+3zCFLJ0tH2hJwuCAiL+5WkHuxKj92rqQj/rvkBUCfA1ewlX2hehg==", 36 | "dependencies": { 37 | "@firebase/component": "0.6.4", 38 | "@firebase/installations": "0.6.4", 39 | "@firebase/logger": "0.4.0", 40 | "@firebase/util": "1.9.3", 41 | "tslib": "^2.1.0" 42 | }, 43 | "peerDependencies": { 44 | "@firebase/app": "0.x" 45 | } 46 | }, 47 | "node_modules/@firebase/analytics-compat": { 48 | "version": "0.2.6", 49 | "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.6.tgz", 50 | "integrity": "sha512-4MqpVLFkGK7NJf/5wPEEP7ePBJatwYpyjgJ+wQHQGHfzaCDgntOnl9rL2vbVGGKCnRqWtZDIWhctB86UWXaX2Q==", 51 | "dependencies": { 52 | "@firebase/analytics": "0.10.0", 53 | "@firebase/analytics-types": "0.8.0", 54 | "@firebase/component": "0.6.4", 55 | "@firebase/util": "1.9.3", 56 | "tslib": "^2.1.0" 57 | }, 58 | "peerDependencies": { 59 | "@firebase/app-compat": "0.x" 60 | } 61 | }, 62 | "node_modules/@firebase/analytics-types": { 63 | "version": "0.8.0", 64 | "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.0.tgz", 65 | "integrity": "sha512-iRP+QKI2+oz3UAh4nPEq14CsEjrjD6a5+fuypjScisAh9kXKFvdJOZJDwk7kikLvWVLGEs9+kIUS4LPQV7VZVw==" 66 | }, 67 | "node_modules/@firebase/app": { 68 | "version": "0.9.13", 69 | "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.9.13.tgz", 70 | "integrity": "sha512-GfiI1JxJ7ecluEmDjPzseRXk/PX31hS7+tjgBopL7XjB2hLUdR+0FTMXy2Q3/hXezypDvU6or7gVFizDESrkXw==", 71 | "dependencies": { 72 | "@firebase/component": "0.6.4", 73 | "@firebase/logger": "0.4.0", 74 | "@firebase/util": "1.9.3", 75 | "idb": "7.1.1", 76 | "tslib": "^2.1.0" 77 | } 78 | }, 79 | "node_modules/@firebase/app-check": { 80 | "version": "0.8.0", 81 | "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.0.tgz", 82 | "integrity": "sha512-dRDnhkcaC2FspMiRK/Vbp+PfsOAEP6ZElGm9iGFJ9fDqHoPs0HOPn7dwpJ51lCFi1+2/7n5pRPGhqF/F03I97g==", 83 | "dependencies": { 84 | "@firebase/component": "0.6.4", 85 | "@firebase/logger": "0.4.0", 86 | "@firebase/util": "1.9.3", 87 | "tslib": "^2.1.0" 88 | }, 89 | "peerDependencies": { 90 | "@firebase/app": "0.x" 91 | } 92 | }, 93 | "node_modules/@firebase/app-check-compat": { 94 | "version": "0.3.7", 95 | "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.7.tgz", 96 | "integrity": "sha512-cW682AxsyP1G+Z0/P7pO/WT2CzYlNxoNe5QejVarW2o5ZxeWSSPAiVEwpEpQR/bUlUmdeWThYTMvBWaopdBsqw==", 97 | "dependencies": { 98 | "@firebase/app-check": "0.8.0", 99 | "@firebase/app-check-types": "0.5.0", 100 | "@firebase/component": "0.6.4", 101 | "@firebase/logger": "0.4.0", 102 | "@firebase/util": "1.9.3", 103 | "tslib": "^2.1.0" 104 | }, 105 | "peerDependencies": { 106 | "@firebase/app-compat": "0.x" 107 | } 108 | }, 109 | "node_modules/@firebase/app-check-interop-types": { 110 | "version": "0.3.0", 111 | "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.0.tgz", 112 | "integrity": "sha512-xAxHPZPIgFXnI+vb4sbBjZcde7ZluzPPaSK7Lx3/nmuVk4TjZvnL8ONnkd4ERQKL8WePQySU+pRcWkh8rDf5Sg==" 113 | }, 114 | "node_modules/@firebase/app-check-types": { 115 | "version": "0.5.0", 116 | "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.0.tgz", 117 | "integrity": "sha512-uwSUj32Mlubybw7tedRzR24RP8M8JUVR3NPiMk3/Z4bCmgEKTlQBwMXrehDAZ2wF+TsBq0SN1c6ema71U/JPyQ==" 118 | }, 119 | "node_modules/@firebase/app-compat": { 120 | "version": "0.2.13", 121 | "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.13.tgz", 122 | "integrity": "sha512-j6ANZaWjeVy5zg6X7uiqh6lM6o3n3LD1+/SJFNs9V781xyryyZWXe+tmnWNWPkP086QfJoNkWN9pMQRqSG4vMg==", 123 | "dependencies": { 124 | "@firebase/app": "0.9.13", 125 | "@firebase/component": "0.6.4", 126 | "@firebase/logger": "0.4.0", 127 | "@firebase/util": "1.9.3", 128 | "tslib": "^2.1.0" 129 | } 130 | }, 131 | "node_modules/@firebase/app-types": { 132 | "version": "0.9.0", 133 | "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.0.tgz", 134 | "integrity": "sha512-AeweANOIo0Mb8GiYm3xhTEBVCmPwTYAu9Hcd2qSkLuga/6+j9b1Jskl5bpiSQWy9eJ/j5pavxj6eYogmnuzm+Q==" 135 | }, 136 | "node_modules/@firebase/auth": { 137 | "version": "0.23.2", 138 | "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.23.2.tgz", 139 | "integrity": "sha512-dM9iJ0R6tI1JczuGSxXmQbXAgtYie0K4WvKcuyuSTCu9V8eEDiz4tfa1sO3txsfvwg7nOY3AjoCyMYEdqZ8hdg==", 140 | "dependencies": { 141 | "@firebase/component": "0.6.4", 142 | "@firebase/logger": "0.4.0", 143 | "@firebase/util": "1.9.3", 144 | "node-fetch": "2.6.7", 145 | "tslib": "^2.1.0" 146 | }, 147 | "peerDependencies": { 148 | "@firebase/app": "0.x" 149 | } 150 | }, 151 | "node_modules/@firebase/auth-compat": { 152 | "version": "0.4.2", 153 | "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.4.2.tgz", 154 | "integrity": "sha512-Q30e77DWXFmXEt5dg5JbqEDpjw9y3/PcP9LslDPR7fARmAOTIY9MM6HXzm9KC+dlrKH/+p6l8g9ifJiam9mc4A==", 155 | "dependencies": { 156 | "@firebase/auth": "0.23.2", 157 | "@firebase/auth-types": "0.12.0", 158 | "@firebase/component": "0.6.4", 159 | "@firebase/util": "1.9.3", 160 | "node-fetch": "2.6.7", 161 | "tslib": "^2.1.0" 162 | }, 163 | "peerDependencies": { 164 | "@firebase/app-compat": "0.x" 165 | } 166 | }, 167 | "node_modules/@firebase/auth-interop-types": { 168 | "version": "0.2.1", 169 | "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.1.tgz", 170 | "integrity": "sha512-VOaGzKp65MY6P5FI84TfYKBXEPi6LmOCSMMzys6o2BN2LOsqy7pCuZCup7NYnfbk5OkkQKzvIfHOzTm0UDpkyg==" 171 | }, 172 | "node_modules/@firebase/auth-types": { 173 | "version": "0.12.0", 174 | "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.12.0.tgz", 175 | "integrity": "sha512-pPwaZt+SPOshK8xNoiQlK5XIrS97kFYc3Rc7xmy373QsOJ9MmqXxLaYssP5Kcds4wd2qK//amx/c+A8O2fVeZA==", 176 | "peerDependencies": { 177 | "@firebase/app-types": "0.x", 178 | "@firebase/util": "1.x" 179 | } 180 | }, 181 | "node_modules/@firebase/component": { 182 | "version": "0.6.4", 183 | "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.4.tgz", 184 | "integrity": "sha512-rLMyrXuO9jcAUCaQXCMjCMUsWrba5fzHlNK24xz5j2W6A/SRmK8mZJ/hn7V0fViLbxC0lPMtrK1eYzk6Fg03jA==", 185 | "dependencies": { 186 | "@firebase/util": "1.9.3", 187 | "tslib": "^2.1.0" 188 | } 189 | }, 190 | "node_modules/@firebase/database": { 191 | "version": "0.14.4", 192 | "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.14.4.tgz", 193 | "integrity": "sha512-+Ea/IKGwh42jwdjCyzTmeZeLM3oy1h0mFPsTy6OqCWzcu/KFqRAr5Tt1HRCOBlNOdbh84JPZC47WLU18n2VbxQ==", 194 | "dependencies": { 195 | "@firebase/auth-interop-types": "0.2.1", 196 | "@firebase/component": "0.6.4", 197 | "@firebase/logger": "0.4.0", 198 | "@firebase/util": "1.9.3", 199 | "faye-websocket": "0.11.4", 200 | "tslib": "^2.1.0" 201 | } 202 | }, 203 | "node_modules/@firebase/database-compat": { 204 | "version": "0.3.4", 205 | "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.3.4.tgz", 206 | "integrity": "sha512-kuAW+l+sLMUKBThnvxvUZ+Q1ZrF/vFJ58iUY9kAcbX48U03nVzIF6Tmkf0p3WVQwMqiXguSgtOPIB6ZCeF+5Gg==", 207 | "dependencies": { 208 | "@firebase/component": "0.6.4", 209 | "@firebase/database": "0.14.4", 210 | "@firebase/database-types": "0.10.4", 211 | "@firebase/logger": "0.4.0", 212 | "@firebase/util": "1.9.3", 213 | "tslib": "^2.1.0" 214 | } 215 | }, 216 | "node_modules/@firebase/database-types": { 217 | "version": "0.10.4", 218 | "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.10.4.tgz", 219 | "integrity": "sha512-dPySn0vJ/89ZeBac70T+2tWWPiJXWbmRygYv0smT5TfE3hDrQ09eKMF3Y+vMlTdrMWq7mUdYW5REWPSGH4kAZQ==", 220 | "dependencies": { 221 | "@firebase/app-types": "0.9.0", 222 | "@firebase/util": "1.9.3" 223 | } 224 | }, 225 | "node_modules/@firebase/firestore": { 226 | "version": "3.13.0", 227 | "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.13.0.tgz", 228 | "integrity": "sha512-NwcnU+madJXQ4fbLkGx1bWvL612IJN/qO6bZ6dlPmyf7QRyu5azUosijdAN675r+bOOJxMtP1Bv981bHBXAbUg==", 229 | "dependencies": { 230 | "@firebase/component": "0.6.4", 231 | "@firebase/logger": "0.4.0", 232 | "@firebase/util": "1.9.3", 233 | "@firebase/webchannel-wrapper": "0.10.1", 234 | "@grpc/grpc-js": "~1.7.0", 235 | "@grpc/proto-loader": "^0.6.13", 236 | "node-fetch": "2.6.7", 237 | "tslib": "^2.1.0" 238 | }, 239 | "engines": { 240 | "node": ">=10.10.0" 241 | }, 242 | "peerDependencies": { 243 | "@firebase/app": "0.x" 244 | } 245 | }, 246 | "node_modules/@firebase/firestore-compat": { 247 | "version": "0.3.12", 248 | "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.12.tgz", 249 | "integrity": "sha512-mazuNGAx5Kt9Nph0pm6ULJFp/+j7GSsx+Ncw1GrnKl+ft1CQ4q2LcUssXnjqkX2Ry0fNGqUzC1mfIUrk9bYtjQ==", 250 | "dependencies": { 251 | "@firebase/component": "0.6.4", 252 | "@firebase/firestore": "3.13.0", 253 | "@firebase/firestore-types": "2.5.1", 254 | "@firebase/util": "1.9.3", 255 | "tslib": "^2.1.0" 256 | }, 257 | "peerDependencies": { 258 | "@firebase/app-compat": "0.x" 259 | } 260 | }, 261 | "node_modules/@firebase/firestore-types": { 262 | "version": "2.5.1", 263 | "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.1.tgz", 264 | "integrity": "sha512-xG0CA6EMfYo8YeUxC8FeDzf6W3FX1cLlcAGBYV6Cku12sZRI81oWcu61RSKM66K6kUENP+78Qm8mvroBcm1whw==", 265 | "peerDependencies": { 266 | "@firebase/app-types": "0.x", 267 | "@firebase/util": "1.x" 268 | } 269 | }, 270 | "node_modules/@firebase/functions": { 271 | "version": "0.10.0", 272 | "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.10.0.tgz", 273 | "integrity": "sha512-2U+fMNxTYhtwSpkkR6WbBcuNMOVaI7MaH3cZ6UAeNfj7AgEwHwMIFLPpC13YNZhno219F0lfxzTAA0N62ndWzA==", 274 | "dependencies": { 275 | "@firebase/app-check-interop-types": "0.3.0", 276 | "@firebase/auth-interop-types": "0.2.1", 277 | "@firebase/component": "0.6.4", 278 | "@firebase/messaging-interop-types": "0.2.0", 279 | "@firebase/util": "1.9.3", 280 | "node-fetch": "2.6.7", 281 | "tslib": "^2.1.0" 282 | }, 283 | "peerDependencies": { 284 | "@firebase/app": "0.x" 285 | } 286 | }, 287 | "node_modules/@firebase/functions-compat": { 288 | "version": "0.3.5", 289 | "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.5.tgz", 290 | "integrity": "sha512-uD4jwgwVqdWf6uc3NRKF8cSZ0JwGqSlyhPgackyUPe+GAtnERpS4+Vr66g0b3Gge0ezG4iyHo/EXW/Hjx7QhHw==", 291 | "dependencies": { 292 | "@firebase/component": "0.6.4", 293 | "@firebase/functions": "0.10.0", 294 | "@firebase/functions-types": "0.6.0", 295 | "@firebase/util": "1.9.3", 296 | "tslib": "^2.1.0" 297 | }, 298 | "peerDependencies": { 299 | "@firebase/app-compat": "0.x" 300 | } 301 | }, 302 | "node_modules/@firebase/functions-types": { 303 | "version": "0.6.0", 304 | "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.0.tgz", 305 | "integrity": "sha512-hfEw5VJtgWXIRf92ImLkgENqpL6IWpYaXVYiRkFY1jJ9+6tIhWM7IzzwbevwIIud/jaxKVdRzD7QBWfPmkwCYw==" 306 | }, 307 | "node_modules/@firebase/installations": { 308 | "version": "0.6.4", 309 | "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.4.tgz", 310 | "integrity": "sha512-u5y88rtsp7NYkCHC3ElbFBrPtieUybZluXyzl7+4BsIz4sqb4vSAuwHEUgCgCeaQhvsnxDEU6icly8U9zsJigA==", 311 | "dependencies": { 312 | "@firebase/component": "0.6.4", 313 | "@firebase/util": "1.9.3", 314 | "idb": "7.0.1", 315 | "tslib": "^2.1.0" 316 | }, 317 | "peerDependencies": { 318 | "@firebase/app": "0.x" 319 | } 320 | }, 321 | "node_modules/@firebase/installations-compat": { 322 | "version": "0.2.4", 323 | "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.4.tgz", 324 | "integrity": "sha512-LI9dYjp0aT9Njkn9U4JRrDqQ6KXeAmFbRC0E7jI7+hxl5YmRWysq5qgQl22hcWpTk+cm3es66d/apoDU/A9n6Q==", 325 | "dependencies": { 326 | "@firebase/component": "0.6.4", 327 | "@firebase/installations": "0.6.4", 328 | "@firebase/installations-types": "0.5.0", 329 | "@firebase/util": "1.9.3", 330 | "tslib": "^2.1.0" 331 | }, 332 | "peerDependencies": { 333 | "@firebase/app-compat": "0.x" 334 | } 335 | }, 336 | "node_modules/@firebase/installations-types": { 337 | "version": "0.5.0", 338 | "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.0.tgz", 339 | "integrity": "sha512-9DP+RGfzoI2jH7gY4SlzqvZ+hr7gYzPODrbzVD82Y12kScZ6ZpRg/i3j6rleto8vTFC8n6Len4560FnV1w2IRg==", 340 | "peerDependencies": { 341 | "@firebase/app-types": "0.x" 342 | } 343 | }, 344 | "node_modules/@firebase/installations/node_modules/idb": { 345 | "version": "7.0.1", 346 | "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", 347 | "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" 348 | }, 349 | "node_modules/@firebase/logger": { 350 | "version": "0.4.0", 351 | "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.0.tgz", 352 | "integrity": "sha512-eRKSeykumZ5+cJPdxxJRgAC3G5NknY2GwEbKfymdnXtnT0Ucm4pspfR6GT4MUQEDuJwRVbVcSx85kgJulMoFFA==", 353 | "dependencies": { 354 | "tslib": "^2.1.0" 355 | } 356 | }, 357 | "node_modules/@firebase/messaging": { 358 | "version": "0.12.4", 359 | "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.4.tgz", 360 | "integrity": "sha512-6JLZct6zUaex4g7HI3QbzeUrg9xcnmDAPTWpkoMpd/GoSVWH98zDoWXMGrcvHeCAIsLpFMe4MPoZkJbrPhaASw==", 361 | "dependencies": { 362 | "@firebase/component": "0.6.4", 363 | "@firebase/installations": "0.6.4", 364 | "@firebase/messaging-interop-types": "0.2.0", 365 | "@firebase/util": "1.9.3", 366 | "idb": "7.0.1", 367 | "tslib": "^2.1.0" 368 | }, 369 | "peerDependencies": { 370 | "@firebase/app": "0.x" 371 | } 372 | }, 373 | "node_modules/@firebase/messaging-compat": { 374 | "version": "0.2.4", 375 | "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.4.tgz", 376 | "integrity": "sha512-lyFjeUhIsPRYDPNIkYX1LcZMpoVbBWXX4rPl7c/rqc7G+EUea7IEtSt4MxTvh6fDfPuzLn7+FZADfscC+tNMfg==", 377 | "dependencies": { 378 | "@firebase/component": "0.6.4", 379 | "@firebase/messaging": "0.12.4", 380 | "@firebase/util": "1.9.3", 381 | "tslib": "^2.1.0" 382 | }, 383 | "peerDependencies": { 384 | "@firebase/app-compat": "0.x" 385 | } 386 | }, 387 | "node_modules/@firebase/messaging-interop-types": { 388 | "version": "0.2.0", 389 | "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.0.tgz", 390 | "integrity": "sha512-ujA8dcRuVeBixGR9CtegfpU4YmZf3Lt7QYkcj693FFannwNuZgfAYaTmbJ40dtjB81SAu6tbFPL9YLNT15KmOQ==" 391 | }, 392 | "node_modules/@firebase/messaging/node_modules/idb": { 393 | "version": "7.0.1", 394 | "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", 395 | "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" 396 | }, 397 | "node_modules/@firebase/performance": { 398 | "version": "0.6.4", 399 | "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.4.tgz", 400 | "integrity": "sha512-HfTn/bd8mfy/61vEqaBelNiNnvAbUtME2S25A67Nb34zVuCSCRIX4SseXY6zBnOFj3oLisaEqhVcJmVPAej67g==", 401 | "dependencies": { 402 | "@firebase/component": "0.6.4", 403 | "@firebase/installations": "0.6.4", 404 | "@firebase/logger": "0.4.0", 405 | "@firebase/util": "1.9.3", 406 | "tslib": "^2.1.0" 407 | }, 408 | "peerDependencies": { 409 | "@firebase/app": "0.x" 410 | } 411 | }, 412 | "node_modules/@firebase/performance-compat": { 413 | "version": "0.2.4", 414 | "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.4.tgz", 415 | "integrity": "sha512-nnHUb8uP9G8islzcld/k6Bg5RhX62VpbAb/Anj7IXs/hp32Eb2LqFPZK4sy3pKkBUO5wcrlRWQa6wKOxqlUqsg==", 416 | "dependencies": { 417 | "@firebase/component": "0.6.4", 418 | "@firebase/logger": "0.4.0", 419 | "@firebase/performance": "0.6.4", 420 | "@firebase/performance-types": "0.2.0", 421 | "@firebase/util": "1.9.3", 422 | "tslib": "^2.1.0" 423 | }, 424 | "peerDependencies": { 425 | "@firebase/app-compat": "0.x" 426 | } 427 | }, 428 | "node_modules/@firebase/performance-types": { 429 | "version": "0.2.0", 430 | "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.0.tgz", 431 | "integrity": "sha512-kYrbr8e/CYr1KLrLYZZt2noNnf+pRwDq2KK9Au9jHrBMnb0/C9X9yWSXmZkFt4UIdsQknBq8uBB7fsybZdOBTA==" 432 | }, 433 | "node_modules/@firebase/remote-config": { 434 | "version": "0.4.4", 435 | "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.4.4.tgz", 436 | "integrity": "sha512-x1ioTHGX8ZwDSTOVp8PBLv2/wfwKzb4pxi0gFezS5GCJwbLlloUH4YYZHHS83IPxnua8b6l0IXUaWd0RgbWwzQ==", 437 | "dependencies": { 438 | "@firebase/component": "0.6.4", 439 | "@firebase/installations": "0.6.4", 440 | "@firebase/logger": "0.4.0", 441 | "@firebase/util": "1.9.3", 442 | "tslib": "^2.1.0" 443 | }, 444 | "peerDependencies": { 445 | "@firebase/app": "0.x" 446 | } 447 | }, 448 | "node_modules/@firebase/remote-config-compat": { 449 | "version": "0.2.4", 450 | "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.4.tgz", 451 | "integrity": "sha512-FKiki53jZirrDFkBHglB3C07j5wBpitAaj8kLME6g8Mx+aq7u9P7qfmuSRytiOItADhWUj7O1JIv7n9q87SuwA==", 452 | "dependencies": { 453 | "@firebase/component": "0.6.4", 454 | "@firebase/logger": "0.4.0", 455 | "@firebase/remote-config": "0.4.4", 456 | "@firebase/remote-config-types": "0.3.0", 457 | "@firebase/util": "1.9.3", 458 | "tslib": "^2.1.0" 459 | }, 460 | "peerDependencies": { 461 | "@firebase/app-compat": "0.x" 462 | } 463 | }, 464 | "node_modules/@firebase/remote-config-types": { 465 | "version": "0.3.0", 466 | "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.3.0.tgz", 467 | "integrity": "sha512-RtEH4vdcbXZuZWRZbIRmQVBNsE7VDQpet2qFvq6vwKLBIQRQR5Kh58M4ok3A3US8Sr3rubYnaGqZSurCwI8uMA==" 468 | }, 469 | "node_modules/@firebase/storage": { 470 | "version": "0.11.2", 471 | "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.11.2.tgz", 472 | "integrity": "sha512-CtvoFaBI4hGXlXbaCHf8humajkbXhs39Nbh6MbNxtwJiCqxPy9iH3D3CCfXAvP0QvAAwmJUTK3+z9a++Kc4nkA==", 473 | "dependencies": { 474 | "@firebase/component": "0.6.4", 475 | "@firebase/util": "1.9.3", 476 | "node-fetch": "2.6.7", 477 | "tslib": "^2.1.0" 478 | }, 479 | "peerDependencies": { 480 | "@firebase/app": "0.x" 481 | } 482 | }, 483 | "node_modules/@firebase/storage-compat": { 484 | "version": "0.3.2", 485 | "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.2.tgz", 486 | "integrity": "sha512-wvsXlLa9DVOMQJckbDNhXKKxRNNewyUhhbXev3t8kSgoCotd1v3MmqhKKz93ePhDnhHnDs7bYHy+Qa8dRY6BXw==", 487 | "dependencies": { 488 | "@firebase/component": "0.6.4", 489 | "@firebase/storage": "0.11.2", 490 | "@firebase/storage-types": "0.8.0", 491 | "@firebase/util": "1.9.3", 492 | "tslib": "^2.1.0" 493 | }, 494 | "peerDependencies": { 495 | "@firebase/app-compat": "0.x" 496 | } 497 | }, 498 | "node_modules/@firebase/storage-types": { 499 | "version": "0.8.0", 500 | "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.0.tgz", 501 | "integrity": "sha512-isRHcGrTs9kITJC0AVehHfpraWFui39MPaU7Eo8QfWlqW7YPymBmRgjDrlOgFdURh6Cdeg07zmkLP5tzTKRSpg==", 502 | "peerDependencies": { 503 | "@firebase/app-types": "0.x", 504 | "@firebase/util": "1.x" 505 | } 506 | }, 507 | "node_modules/@firebase/util": { 508 | "version": "1.9.3", 509 | "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.9.3.tgz", 510 | "integrity": "sha512-DY02CRhOZwpzO36fHpuVysz6JZrscPiBXD0fXp6qSrL9oNOx5KWICKdR95C0lSITzxp0TZosVyHqzatE8JbcjA==", 511 | "dependencies": { 512 | "tslib": "^2.1.0" 513 | } 514 | }, 515 | "node_modules/@firebase/webchannel-wrapper": { 516 | "version": "0.10.1", 517 | "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.10.1.tgz", 518 | "integrity": "sha512-Dq5rYfEpdeel0bLVN+nfD1VWmzCkK+pJbSjIawGE+RY4+NIJqhbUDDQjvV0NUK84fMfwxvtFoCtEe70HfZjFcw==" 519 | }, 520 | "node_modules/@grpc/grpc-js": { 521 | "version": "1.7.3", 522 | "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.3.tgz", 523 | "integrity": "sha512-H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog==", 524 | "dependencies": { 525 | "@grpc/proto-loader": "^0.7.0", 526 | "@types/node": ">=12.12.47" 527 | }, 528 | "engines": { 529 | "node": "^8.13.0 || >=10.10.0" 530 | } 531 | }, 532 | "node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader": { 533 | "version": "0.7.7", 534 | "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.7.tgz", 535 | "integrity": "sha512-1TIeXOi8TuSCQprPItwoMymZXxWT0CPxUhkrkeCUH+D8U7QDwQ6b7SUz2MaLuWM2llT+J/TVFLmQI5KtML3BhQ==", 536 | "dependencies": { 537 | "@types/long": "^4.0.1", 538 | "lodash.camelcase": "^4.3.0", 539 | "long": "^4.0.0", 540 | "protobufjs": "^7.0.0", 541 | "yargs": "^17.7.2" 542 | }, 543 | "bin": { 544 | "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" 545 | }, 546 | "engines": { 547 | "node": ">=6" 548 | } 549 | }, 550 | "node_modules/@grpc/grpc-js/node_modules/cliui": { 551 | "version": "8.0.1", 552 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", 553 | "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", 554 | "dependencies": { 555 | "string-width": "^4.2.0", 556 | "strip-ansi": "^6.0.1", 557 | "wrap-ansi": "^7.0.0" 558 | }, 559 | "engines": { 560 | "node": ">=12" 561 | } 562 | }, 563 | "node_modules/@grpc/grpc-js/node_modules/protobufjs": { 564 | "version": "7.2.4", 565 | "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.4.tgz", 566 | "integrity": "sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ==", 567 | "hasInstallScript": true, 568 | "dependencies": { 569 | "@protobufjs/aspromise": "^1.1.2", 570 | "@protobufjs/base64": "^1.1.2", 571 | "@protobufjs/codegen": "^2.0.4", 572 | "@protobufjs/eventemitter": "^1.1.0", 573 | "@protobufjs/fetch": "^1.1.0", 574 | "@protobufjs/float": "^1.0.2", 575 | "@protobufjs/inquire": "^1.1.0", 576 | "@protobufjs/path": "^1.1.2", 577 | "@protobufjs/pool": "^1.1.0", 578 | "@protobufjs/utf8": "^1.1.0", 579 | "@types/node": ">=13.7.0", 580 | "long": "^5.0.0" 581 | }, 582 | "engines": { 583 | "node": ">=12.0.0" 584 | } 585 | }, 586 | "node_modules/@grpc/grpc-js/node_modules/protobufjs/node_modules/long": { 587 | "version": "5.2.3", 588 | "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", 589 | "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" 590 | }, 591 | "node_modules/@grpc/grpc-js/node_modules/yargs": { 592 | "version": "17.7.2", 593 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", 594 | "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", 595 | "dependencies": { 596 | "cliui": "^8.0.1", 597 | "escalade": "^3.1.1", 598 | "get-caller-file": "^2.0.5", 599 | "require-directory": "^2.1.1", 600 | "string-width": "^4.2.3", 601 | "y18n": "^5.0.5", 602 | "yargs-parser": "^21.1.1" 603 | }, 604 | "engines": { 605 | "node": ">=12" 606 | } 607 | }, 608 | "node_modules/@grpc/grpc-js/node_modules/yargs-parser": { 609 | "version": "21.1.1", 610 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", 611 | "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", 612 | "engines": { 613 | "node": ">=12" 614 | } 615 | }, 616 | "node_modules/@grpc/proto-loader": { 617 | "version": "0.6.13", 618 | "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz", 619 | "integrity": "sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==", 620 | "dependencies": { 621 | "@types/long": "^4.0.1", 622 | "lodash.camelcase": "^4.3.0", 623 | "long": "^4.0.0", 624 | "protobufjs": "^6.11.3", 625 | "yargs": "^16.2.0" 626 | }, 627 | "bin": { 628 | "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" 629 | }, 630 | "engines": { 631 | "node": ">=6" 632 | } 633 | }, 634 | "node_modules/@jridgewell/gen-mapping": { 635 | "version": "0.3.3", 636 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 637 | "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 638 | "dependencies": { 639 | "@jridgewell/set-array": "^1.0.1", 640 | "@jridgewell/sourcemap-codec": "^1.4.10", 641 | "@jridgewell/trace-mapping": "^0.3.9" 642 | }, 643 | "engines": { 644 | "node": ">=6.0.0" 645 | } 646 | }, 647 | "node_modules/@jridgewell/resolve-uri": { 648 | "version": "3.1.0", 649 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", 650 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", 651 | "engines": { 652 | "node": ">=6.0.0" 653 | } 654 | }, 655 | "node_modules/@jridgewell/set-array": { 656 | "version": "1.1.2", 657 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 658 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 659 | "engines": { 660 | "node": ">=6.0.0" 661 | } 662 | }, 663 | "node_modules/@jridgewell/sourcemap-codec": { 664 | "version": "1.4.15", 665 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 666 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" 667 | }, 668 | "node_modules/@jridgewell/trace-mapping": { 669 | "version": "0.3.18", 670 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", 671 | "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", 672 | "dependencies": { 673 | "@jridgewell/resolve-uri": "3.1.0", 674 | "@jridgewell/sourcemap-codec": "1.4.14" 675 | } 676 | }, 677 | "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { 678 | "version": "1.4.14", 679 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", 680 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" 681 | }, 682 | "node_modules/@next/env": { 683 | "version": "13.4.7", 684 | "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.7.tgz", 685 | "integrity": "sha512-ZlbiFulnwiFsW9UV1ku1OvX/oyIPLtMk9p/nnvDSwI0s7vSoZdRtxXNsaO+ZXrLv/pMbXVGq4lL8TbY9iuGmVw==" 686 | }, 687 | "node_modules/@next/swc-darwin-arm64": { 688 | "version": "13.4.7", 689 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.7.tgz", 690 | "integrity": "sha512-VZTxPv1b59KGiv/pZHTO5Gbsdeoxcj2rU2cqJu03btMhHpn3vwzEK0gUSVC/XW96aeGO67X+cMahhwHzef24/w==", 691 | "cpu": [ 692 | "arm64" 693 | ], 694 | "optional": true, 695 | "os": [ 696 | "darwin" 697 | ], 698 | "engines": { 699 | "node": ">= 10" 700 | } 701 | }, 702 | "node_modules/@next/swc-darwin-x64": { 703 | "version": "13.4.7", 704 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.7.tgz", 705 | "integrity": "sha512-gO2bw+2Ymmga+QYujjvDz9955xvYGrWofmxTq7m70b9pDPvl7aDFABJOZ2a8SRCuSNB5mXU8eTOmVVwyp/nAew==", 706 | "cpu": [ 707 | "x64" 708 | ], 709 | "optional": true, 710 | "os": [ 711 | "darwin" 712 | ], 713 | "engines": { 714 | "node": ">= 10" 715 | } 716 | }, 717 | "node_modules/@next/swc-linux-arm64-gnu": { 718 | "version": "13.4.7", 719 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.7.tgz", 720 | "integrity": "sha512-6cqp3vf1eHxjIDhEOc7Mh/s8z1cwc/l5B6ZNkOofmZVyu1zsbEM5Hmx64s12Rd9AYgGoiCz4OJ4M/oRnkE16/Q==", 721 | "cpu": [ 722 | "arm64" 723 | ], 724 | "optional": true, 725 | "os": [ 726 | "linux" 727 | ], 728 | "engines": { 729 | "node": ">= 10" 730 | } 731 | }, 732 | "node_modules/@next/swc-linux-arm64-musl": { 733 | "version": "13.4.7", 734 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.7.tgz", 735 | "integrity": "sha512-T1kD2FWOEy5WPidOn1si0rYmWORNch4a/NR52Ghyp4q7KyxOCuiOfZzyhVC5tsLIBDH3+cNdB5DkD9afpNDaOw==", 736 | "cpu": [ 737 | "arm64" 738 | ], 739 | "optional": true, 740 | "os": [ 741 | "linux" 742 | ], 743 | "engines": { 744 | "node": ">= 10" 745 | } 746 | }, 747 | "node_modules/@next/swc-linux-x64-gnu": { 748 | "version": "13.4.7", 749 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.7.tgz", 750 | "integrity": "sha512-zaEC+iEiAHNdhl6fuwl0H0shnTzQoAoJiDYBUze8QTntE/GNPfTYpYboxF5LRYIjBwETUatvE0T64W6SKDipvg==", 751 | "cpu": [ 752 | "x64" 753 | ], 754 | "optional": true, 755 | "os": [ 756 | "linux" 757 | ], 758 | "engines": { 759 | "node": ">= 10" 760 | } 761 | }, 762 | "node_modules/@next/swc-linux-x64-musl": { 763 | "version": "13.4.7", 764 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.7.tgz", 765 | "integrity": "sha512-X6r12F8d8SKAtYJqLZBBMIwEqcTRvUdVm+xIq+l6pJqlgT2tNsLLf2i5Cl88xSsIytBICGsCNNHd+siD2fbWBA==", 766 | "cpu": [ 767 | "x64" 768 | ], 769 | "optional": true, 770 | "os": [ 771 | "linux" 772 | ], 773 | "engines": { 774 | "node": ">= 10" 775 | } 776 | }, 777 | "node_modules/@next/swc-win32-arm64-msvc": { 778 | "version": "13.4.7", 779 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.7.tgz", 780 | "integrity": "sha512-NPnmnV+vEIxnu6SUvjnuaWRglZzw4ox5n/MQTxeUhb5iwVWFedolPFebMNwgrWu4AELwvTdGtWjqof53AiWHcw==", 781 | "cpu": [ 782 | "arm64" 783 | ], 784 | "optional": true, 785 | "os": [ 786 | "win32" 787 | ], 788 | "engines": { 789 | "node": ">= 10" 790 | } 791 | }, 792 | "node_modules/@next/swc-win32-ia32-msvc": { 793 | "version": "13.4.7", 794 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.7.tgz", 795 | "integrity": "sha512-6Hxijm6/a8XqLQpOOf/XuwWRhcuc/g4rBB2oxjgCMuV9Xlr2bLs5+lXyh8w9YbAUMYR3iC9mgOlXbHa79elmXw==", 796 | "cpu": [ 797 | "ia32" 798 | ], 799 | "optional": true, 800 | "os": [ 801 | "win32" 802 | ], 803 | "engines": { 804 | "node": ">= 10" 805 | } 806 | }, 807 | "node_modules/@next/swc-win32-x64-msvc": { 808 | "version": "13.4.7", 809 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.7.tgz", 810 | "integrity": "sha512-sW9Yt36Db1nXJL+mTr2Wo0y+VkPWeYhygvcHj1FF0srVtV+VoDjxleKtny21QHaG05zdeZnw2fCtf2+dEqgwqA==", 811 | "cpu": [ 812 | "x64" 813 | ], 814 | "optional": true, 815 | "os": [ 816 | "win32" 817 | ], 818 | "engines": { 819 | "node": ">= 10" 820 | } 821 | }, 822 | "node_modules/@nodelib/fs.scandir": { 823 | "version": "2.1.5", 824 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 825 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 826 | "dependencies": { 827 | "@nodelib/fs.stat": "2.0.5", 828 | "run-parallel": "^1.1.9" 829 | }, 830 | "engines": { 831 | "node": ">= 8" 832 | } 833 | }, 834 | "node_modules/@nodelib/fs.stat": { 835 | "version": "2.0.5", 836 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 837 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 838 | "engines": { 839 | "node": ">= 8" 840 | } 841 | }, 842 | "node_modules/@nodelib/fs.walk": { 843 | "version": "1.2.8", 844 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 845 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 846 | "dependencies": { 847 | "@nodelib/fs.scandir": "2.1.5", 848 | "fastq": "^1.6.0" 849 | }, 850 | "engines": { 851 | "node": ">= 8" 852 | } 853 | }, 854 | "node_modules/@protobufjs/aspromise": { 855 | "version": "1.1.2", 856 | "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", 857 | "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" 858 | }, 859 | "node_modules/@protobufjs/base64": { 860 | "version": "1.1.2", 861 | "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", 862 | "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" 863 | }, 864 | "node_modules/@protobufjs/codegen": { 865 | "version": "2.0.4", 866 | "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", 867 | "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" 868 | }, 869 | "node_modules/@protobufjs/eventemitter": { 870 | "version": "1.1.0", 871 | "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", 872 | "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" 873 | }, 874 | "node_modules/@protobufjs/fetch": { 875 | "version": "1.1.0", 876 | "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", 877 | "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", 878 | "dependencies": { 879 | "@protobufjs/aspromise": "^1.1.1", 880 | "@protobufjs/inquire": "^1.1.0" 881 | } 882 | }, 883 | "node_modules/@protobufjs/float": { 884 | "version": "1.0.2", 885 | "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", 886 | "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" 887 | }, 888 | "node_modules/@protobufjs/inquire": { 889 | "version": "1.1.0", 890 | "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", 891 | "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" 892 | }, 893 | "node_modules/@protobufjs/path": { 894 | "version": "1.1.2", 895 | "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", 896 | "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" 897 | }, 898 | "node_modules/@protobufjs/pool": { 899 | "version": "1.1.0", 900 | "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", 901 | "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" 902 | }, 903 | "node_modules/@protobufjs/utf8": { 904 | "version": "1.1.0", 905 | "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", 906 | "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" 907 | }, 908 | "node_modules/@swc/helpers": { 909 | "version": "0.5.1", 910 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", 911 | "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", 912 | "dependencies": { 913 | "tslib": "^2.4.0" 914 | } 915 | }, 916 | "node_modules/@types/long": { 917 | "version": "4.0.2", 918 | "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", 919 | "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" 920 | }, 921 | "node_modules/@types/node": { 922 | "version": "20.3.3", 923 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.3.tgz", 924 | "integrity": "sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw==" 925 | }, 926 | "node_modules/ansi-regex": { 927 | "version": "5.0.1", 928 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 929 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 930 | "engines": { 931 | "node": ">=8" 932 | } 933 | }, 934 | "node_modules/ansi-styles": { 935 | "version": "4.3.0", 936 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 937 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 938 | "dependencies": { 939 | "color-convert": "^2.0.1" 940 | }, 941 | "engines": { 942 | "node": ">=8" 943 | }, 944 | "funding": { 945 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 946 | } 947 | }, 948 | "node_modules/any-promise": { 949 | "version": "1.3.0", 950 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 951 | "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" 952 | }, 953 | "node_modules/anymatch": { 954 | "version": "3.1.3", 955 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 956 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 957 | "dependencies": { 958 | "normalize-path": "^3.0.0", 959 | "picomatch": "^2.0.4" 960 | }, 961 | "engines": { 962 | "node": ">= 8" 963 | } 964 | }, 965 | "node_modules/arg": { 966 | "version": "5.0.2", 967 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 968 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" 969 | }, 970 | "node_modules/autoprefixer": { 971 | "version": "10.4.14", 972 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", 973 | "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", 974 | "funding": [ 975 | { 976 | "type": "opencollective", 977 | "url": "https://opencollective.com/postcss/" 978 | }, 979 | { 980 | "type": "tidelift", 981 | "url": "https://tidelift.com/funding/github/npm/autoprefixer" 982 | } 983 | ], 984 | "dependencies": { 985 | "browserslist": "^4.21.5", 986 | "caniuse-lite": "^1.0.30001464", 987 | "fraction.js": "^4.2.0", 988 | "normalize-range": "^0.1.2", 989 | "picocolors": "^1.0.0", 990 | "postcss-value-parser": "^4.2.0" 991 | }, 992 | "bin": { 993 | "autoprefixer": "bin/autoprefixer" 994 | }, 995 | "engines": { 996 | "node": "^10 || ^12 || >=14" 997 | }, 998 | "peerDependencies": { 999 | "postcss": "^8.1.0" 1000 | } 1001 | }, 1002 | "node_modules/balanced-match": { 1003 | "version": "1.0.2", 1004 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1005 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 1006 | }, 1007 | "node_modules/binary-extensions": { 1008 | "version": "2.2.0", 1009 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 1010 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 1011 | "engines": { 1012 | "node": ">=8" 1013 | } 1014 | }, 1015 | "node_modules/brace-expansion": { 1016 | "version": "1.1.11", 1017 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1018 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1019 | "dependencies": { 1020 | "balanced-match": "^1.0.0", 1021 | "concat-map": "0.0.1" 1022 | } 1023 | }, 1024 | "node_modules/braces": { 1025 | "version": "3.0.2", 1026 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 1027 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 1028 | "dependencies": { 1029 | "fill-range": "^7.0.1" 1030 | }, 1031 | "engines": { 1032 | "node": ">=8" 1033 | } 1034 | }, 1035 | "node_modules/browserslist": { 1036 | "version": "4.21.9", 1037 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", 1038 | "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", 1039 | "funding": [ 1040 | { 1041 | "type": "opencollective", 1042 | "url": "https://opencollective.com/browserslist" 1043 | }, 1044 | { 1045 | "type": "tidelift", 1046 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1047 | }, 1048 | { 1049 | "type": "github", 1050 | "url": "https://github.com/sponsors/ai" 1051 | } 1052 | ], 1053 | "dependencies": { 1054 | "caniuse-lite": "^1.0.30001503", 1055 | "electron-to-chromium": "^1.4.431", 1056 | "node-releases": "^2.0.12", 1057 | "update-browserslist-db": "^1.0.11" 1058 | }, 1059 | "bin": { 1060 | "browserslist": "cli.js" 1061 | }, 1062 | "engines": { 1063 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 1064 | } 1065 | }, 1066 | "node_modules/busboy": { 1067 | "version": "1.6.0", 1068 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", 1069 | "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", 1070 | "dependencies": { 1071 | "streamsearch": "^1.1.0" 1072 | }, 1073 | "engines": { 1074 | "node": ">=10.16.0" 1075 | } 1076 | }, 1077 | "node_modules/camelcase-css": { 1078 | "version": "2.0.1", 1079 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 1080 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 1081 | "engines": { 1082 | "node": ">= 6" 1083 | } 1084 | }, 1085 | "node_modules/caniuse-lite": { 1086 | "version": "1.0.30001509", 1087 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001509.tgz", 1088 | "integrity": "sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==", 1089 | "funding": [ 1090 | { 1091 | "type": "opencollective", 1092 | "url": "https://opencollective.com/browserslist" 1093 | }, 1094 | { 1095 | "type": "tidelift", 1096 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1097 | }, 1098 | { 1099 | "type": "github", 1100 | "url": "https://github.com/sponsors/ai" 1101 | } 1102 | ] 1103 | }, 1104 | "node_modules/chokidar": { 1105 | "version": "3.5.3", 1106 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 1107 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 1108 | "funding": [ 1109 | { 1110 | "type": "individual", 1111 | "url": "https://paulmillr.com/funding/" 1112 | } 1113 | ], 1114 | "dependencies": { 1115 | "anymatch": "~3.1.2", 1116 | "braces": "~3.0.2", 1117 | "glob-parent": "~5.1.2", 1118 | "is-binary-path": "~2.1.0", 1119 | "is-glob": "~4.0.1", 1120 | "normalize-path": "~3.0.0", 1121 | "readdirp": "~3.6.0" 1122 | }, 1123 | "engines": { 1124 | "node": ">= 8.10.0" 1125 | }, 1126 | "optionalDependencies": { 1127 | "fsevents": "~2.3.2" 1128 | } 1129 | }, 1130 | "node_modules/chokidar/node_modules/glob-parent": { 1131 | "version": "5.1.2", 1132 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1133 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1134 | "dependencies": { 1135 | "is-glob": "^4.0.1" 1136 | }, 1137 | "engines": { 1138 | "node": ">= 6" 1139 | } 1140 | }, 1141 | "node_modules/client-only": { 1142 | "version": "0.0.1", 1143 | "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", 1144 | "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" 1145 | }, 1146 | "node_modules/cliui": { 1147 | "version": "7.0.4", 1148 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 1149 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 1150 | "dependencies": { 1151 | "string-width": "^4.2.0", 1152 | "strip-ansi": "^6.0.0", 1153 | "wrap-ansi": "^7.0.0" 1154 | } 1155 | }, 1156 | "node_modules/color-convert": { 1157 | "version": "2.0.1", 1158 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1159 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1160 | "dependencies": { 1161 | "color-name": "~1.1.4" 1162 | }, 1163 | "engines": { 1164 | "node": ">=7.0.0" 1165 | } 1166 | }, 1167 | "node_modules/color-name": { 1168 | "version": "1.1.4", 1169 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1170 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 1171 | }, 1172 | "node_modules/commander": { 1173 | "version": "4.1.1", 1174 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 1175 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 1176 | "engines": { 1177 | "node": ">= 6" 1178 | } 1179 | }, 1180 | "node_modules/concat-map": { 1181 | "version": "0.0.1", 1182 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1183 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" 1184 | }, 1185 | "node_modules/cssesc": { 1186 | "version": "3.0.0", 1187 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 1188 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 1189 | "bin": { 1190 | "cssesc": "bin/cssesc" 1191 | }, 1192 | "engines": { 1193 | "node": ">=4" 1194 | } 1195 | }, 1196 | "node_modules/didyoumean": { 1197 | "version": "1.2.2", 1198 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 1199 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" 1200 | }, 1201 | "node_modules/dlv": { 1202 | "version": "1.1.3", 1203 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 1204 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" 1205 | }, 1206 | "node_modules/electron-to-chromium": { 1207 | "version": "1.4.447", 1208 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.447.tgz", 1209 | "integrity": "sha512-sxX0LXh+uL41hSJsujAN86PjhrV/6c79XmpY0TvjZStV6VxIgarf8SRkUoUTuYmFcZQTemsoqo8qXOGw5npWfw==" 1210 | }, 1211 | "node_modules/emoji-regex": { 1212 | "version": "8.0.0", 1213 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1214 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 1215 | }, 1216 | "node_modules/encoding": { 1217 | "version": "0.1.13", 1218 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", 1219 | "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", 1220 | "dependencies": { 1221 | "iconv-lite": "^0.6.2" 1222 | } 1223 | }, 1224 | "node_modules/escalade": { 1225 | "version": "3.1.1", 1226 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1227 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 1228 | "engines": { 1229 | "node": ">=6" 1230 | } 1231 | }, 1232 | "node_modules/fast-glob": { 1233 | "version": "3.3.0", 1234 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", 1235 | "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", 1236 | "dependencies": { 1237 | "@nodelib/fs.stat": "^2.0.2", 1238 | "@nodelib/fs.walk": "^1.2.3", 1239 | "glob-parent": "^5.1.2", 1240 | "merge2": "^1.3.0", 1241 | "micromatch": "^4.0.4" 1242 | }, 1243 | "engines": { 1244 | "node": ">=8.6.0" 1245 | } 1246 | }, 1247 | "node_modules/fast-glob/node_modules/glob-parent": { 1248 | "version": "5.1.2", 1249 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1250 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1251 | "dependencies": { 1252 | "is-glob": "^4.0.1" 1253 | }, 1254 | "engines": { 1255 | "node": ">= 6" 1256 | } 1257 | }, 1258 | "node_modules/fastq": { 1259 | "version": "1.15.0", 1260 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", 1261 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", 1262 | "dependencies": { 1263 | "reusify": "^1.0.4" 1264 | } 1265 | }, 1266 | "node_modules/faye-websocket": { 1267 | "version": "0.11.4", 1268 | "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", 1269 | "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", 1270 | "dependencies": { 1271 | "websocket-driver": ">=0.5.1" 1272 | }, 1273 | "engines": { 1274 | "node": ">=0.8.0" 1275 | } 1276 | }, 1277 | "node_modules/fill-range": { 1278 | "version": "7.0.1", 1279 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1280 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1281 | "dependencies": { 1282 | "to-regex-range": "^5.0.1" 1283 | }, 1284 | "engines": { 1285 | "node": ">=8" 1286 | } 1287 | }, 1288 | "node_modules/firebase": { 1289 | "version": "9.23.0", 1290 | "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.23.0.tgz", 1291 | "integrity": "sha512-/4lUVY0lUvBDIaeY1q6dUYhS8Sd18Qb9CgWkPZICUo9IXpJNCEagfNZXBBFCkMTTN5L5gx2Hjr27y21a9NzUcA==", 1292 | "dependencies": { 1293 | "@firebase/analytics": "0.10.0", 1294 | "@firebase/analytics-compat": "0.2.6", 1295 | "@firebase/app": "0.9.13", 1296 | "@firebase/app-check": "0.8.0", 1297 | "@firebase/app-check-compat": "0.3.7", 1298 | "@firebase/app-compat": "0.2.13", 1299 | "@firebase/app-types": "0.9.0", 1300 | "@firebase/auth": "0.23.2", 1301 | "@firebase/auth-compat": "0.4.2", 1302 | "@firebase/database": "0.14.4", 1303 | "@firebase/database-compat": "0.3.4", 1304 | "@firebase/firestore": "3.13.0", 1305 | "@firebase/firestore-compat": "0.3.12", 1306 | "@firebase/functions": "0.10.0", 1307 | "@firebase/functions-compat": "0.3.5", 1308 | "@firebase/installations": "0.6.4", 1309 | "@firebase/installations-compat": "0.2.4", 1310 | "@firebase/messaging": "0.12.4", 1311 | "@firebase/messaging-compat": "0.2.4", 1312 | "@firebase/performance": "0.6.4", 1313 | "@firebase/performance-compat": "0.2.4", 1314 | "@firebase/remote-config": "0.4.4", 1315 | "@firebase/remote-config-compat": "0.2.4", 1316 | "@firebase/storage": "0.11.2", 1317 | "@firebase/storage-compat": "0.3.2", 1318 | "@firebase/util": "1.9.3" 1319 | } 1320 | }, 1321 | "node_modules/fraction.js": { 1322 | "version": "4.2.0", 1323 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", 1324 | "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", 1325 | "engines": { 1326 | "node": "*" 1327 | }, 1328 | "funding": { 1329 | "type": "patreon", 1330 | "url": "https://www.patreon.com/infusion" 1331 | } 1332 | }, 1333 | "node_modules/fs.realpath": { 1334 | "version": "1.0.0", 1335 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1336 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" 1337 | }, 1338 | "node_modules/fsevents": { 1339 | "version": "2.3.2", 1340 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1341 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1342 | "hasInstallScript": true, 1343 | "optional": true, 1344 | "os": [ 1345 | "darwin" 1346 | ], 1347 | "engines": { 1348 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1349 | } 1350 | }, 1351 | "node_modules/function-bind": { 1352 | "version": "1.1.1", 1353 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1354 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 1355 | }, 1356 | "node_modules/get-caller-file": { 1357 | "version": "2.0.5", 1358 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 1359 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 1360 | "engines": { 1361 | "node": "6.* || 8.* || >= 10.*" 1362 | } 1363 | }, 1364 | "node_modules/glob": { 1365 | "version": "7.1.6", 1366 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 1367 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 1368 | "dependencies": { 1369 | "fs.realpath": "^1.0.0", 1370 | "inflight": "^1.0.4", 1371 | "inherits": "2", 1372 | "minimatch": "^3.0.4", 1373 | "once": "^1.3.0", 1374 | "path-is-absolute": "^1.0.0" 1375 | }, 1376 | "engines": { 1377 | "node": "*" 1378 | }, 1379 | "funding": { 1380 | "url": "https://github.com/sponsors/isaacs" 1381 | } 1382 | }, 1383 | "node_modules/glob-parent": { 1384 | "version": "6.0.2", 1385 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1386 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1387 | "dependencies": { 1388 | "is-glob": "^4.0.3" 1389 | }, 1390 | "engines": { 1391 | "node": ">=10.13.0" 1392 | } 1393 | }, 1394 | "node_modules/glob-to-regexp": { 1395 | "version": "0.4.1", 1396 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 1397 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" 1398 | }, 1399 | "node_modules/graceful-fs": { 1400 | "version": "4.2.11", 1401 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 1402 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 1403 | }, 1404 | "node_modules/has": { 1405 | "version": "1.0.3", 1406 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1407 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1408 | "dependencies": { 1409 | "function-bind": "^1.1.1" 1410 | }, 1411 | "engines": { 1412 | "node": ">= 0.4.0" 1413 | } 1414 | }, 1415 | "node_modules/http-parser-js": { 1416 | "version": "0.5.8", 1417 | "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", 1418 | "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" 1419 | }, 1420 | "node_modules/iconv-lite": { 1421 | "version": "0.6.3", 1422 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 1423 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 1424 | "dependencies": { 1425 | "safer-buffer": ">= 2.1.2 < 3.0.0" 1426 | }, 1427 | "engines": { 1428 | "node": ">=0.10.0" 1429 | } 1430 | }, 1431 | "node_modules/idb": { 1432 | "version": "7.1.1", 1433 | "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", 1434 | "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" 1435 | }, 1436 | "node_modules/inflight": { 1437 | "version": "1.0.6", 1438 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1439 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1440 | "dependencies": { 1441 | "once": "^1.3.0", 1442 | "wrappy": "1" 1443 | } 1444 | }, 1445 | "node_modules/inherits": { 1446 | "version": "2.0.4", 1447 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1448 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1449 | }, 1450 | "node_modules/is-binary-path": { 1451 | "version": "2.1.0", 1452 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1453 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1454 | "dependencies": { 1455 | "binary-extensions": "^2.0.0" 1456 | }, 1457 | "engines": { 1458 | "node": ">=8" 1459 | } 1460 | }, 1461 | "node_modules/is-core-module": { 1462 | "version": "2.12.1", 1463 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", 1464 | "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", 1465 | "dependencies": { 1466 | "has": "^1.0.3" 1467 | }, 1468 | "funding": { 1469 | "url": "https://github.com/sponsors/ljharb" 1470 | } 1471 | }, 1472 | "node_modules/is-extglob": { 1473 | "version": "2.1.1", 1474 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1475 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1476 | "engines": { 1477 | "node": ">=0.10.0" 1478 | } 1479 | }, 1480 | "node_modules/is-fullwidth-code-point": { 1481 | "version": "3.0.0", 1482 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1483 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1484 | "engines": { 1485 | "node": ">=8" 1486 | } 1487 | }, 1488 | "node_modules/is-glob": { 1489 | "version": "4.0.3", 1490 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1491 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1492 | "dependencies": { 1493 | "is-extglob": "^2.1.1" 1494 | }, 1495 | "engines": { 1496 | "node": ">=0.10.0" 1497 | } 1498 | }, 1499 | "node_modules/is-number": { 1500 | "version": "7.0.0", 1501 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1502 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1503 | "engines": { 1504 | "node": ">=0.12.0" 1505 | } 1506 | }, 1507 | "node_modules/jiti": { 1508 | "version": "1.18.2", 1509 | "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", 1510 | "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", 1511 | "bin": { 1512 | "jiti": "bin/jiti.js" 1513 | } 1514 | }, 1515 | "node_modules/js-tokens": { 1516 | "version": "4.0.0", 1517 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1518 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 1519 | }, 1520 | "node_modules/lilconfig": { 1521 | "version": "2.1.0", 1522 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 1523 | "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 1524 | "engines": { 1525 | "node": ">=10" 1526 | } 1527 | }, 1528 | "node_modules/lines-and-columns": { 1529 | "version": "1.2.4", 1530 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 1531 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" 1532 | }, 1533 | "node_modules/lodash.camelcase": { 1534 | "version": "4.3.0", 1535 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", 1536 | "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" 1537 | }, 1538 | "node_modules/long": { 1539 | "version": "4.0.0", 1540 | "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", 1541 | "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" 1542 | }, 1543 | "node_modules/loose-envify": { 1544 | "version": "1.4.0", 1545 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1546 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1547 | "dependencies": { 1548 | "js-tokens": "^3.0.0 || ^4.0.0" 1549 | }, 1550 | "bin": { 1551 | "loose-envify": "cli.js" 1552 | } 1553 | }, 1554 | "node_modules/merge2": { 1555 | "version": "1.4.1", 1556 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1557 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1558 | "engines": { 1559 | "node": ">= 8" 1560 | } 1561 | }, 1562 | "node_modules/micromatch": { 1563 | "version": "4.0.5", 1564 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1565 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1566 | "dependencies": { 1567 | "braces": "^3.0.2", 1568 | "picomatch": "^2.3.1" 1569 | }, 1570 | "engines": { 1571 | "node": ">=8.6" 1572 | } 1573 | }, 1574 | "node_modules/minimatch": { 1575 | "version": "3.1.2", 1576 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1577 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1578 | "dependencies": { 1579 | "brace-expansion": "^1.1.7" 1580 | }, 1581 | "engines": { 1582 | "node": "*" 1583 | } 1584 | }, 1585 | "node_modules/mz": { 1586 | "version": "2.7.0", 1587 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 1588 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 1589 | "dependencies": { 1590 | "any-promise": "^1.0.0", 1591 | "object-assign": "^4.0.1", 1592 | "thenify-all": "^1.0.0" 1593 | } 1594 | }, 1595 | "node_modules/nanoid": { 1596 | "version": "3.3.6", 1597 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 1598 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 1599 | "funding": [ 1600 | { 1601 | "type": "github", 1602 | "url": "https://github.com/sponsors/ai" 1603 | } 1604 | ], 1605 | "bin": { 1606 | "nanoid": "bin/nanoid.cjs" 1607 | }, 1608 | "engines": { 1609 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1610 | } 1611 | }, 1612 | "node_modules/next": { 1613 | "version": "13.4.7", 1614 | "resolved": "https://registry.npmjs.org/next/-/next-13.4.7.tgz", 1615 | "integrity": "sha512-M8z3k9VmG51SRT6v5uDKdJXcAqLzP3C+vaKfLIAM0Mhx1um1G7MDnO63+m52qPdZfrTFzMZNzfsgvm3ghuVHIQ==", 1616 | "dependencies": { 1617 | "@next/env": "13.4.7", 1618 | "@swc/helpers": "0.5.1", 1619 | "busboy": "1.6.0", 1620 | "caniuse-lite": "^1.0.30001406", 1621 | "postcss": "8.4.14", 1622 | "styled-jsx": "5.1.1", 1623 | "watchpack": "2.4.0", 1624 | "zod": "3.21.4" 1625 | }, 1626 | "bin": { 1627 | "next": "dist/bin/next" 1628 | }, 1629 | "engines": { 1630 | "node": ">=16.8.0" 1631 | }, 1632 | "optionalDependencies": { 1633 | "@next/swc-darwin-arm64": "13.4.7", 1634 | "@next/swc-darwin-x64": "13.4.7", 1635 | "@next/swc-linux-arm64-gnu": "13.4.7", 1636 | "@next/swc-linux-arm64-musl": "13.4.7", 1637 | "@next/swc-linux-x64-gnu": "13.4.7", 1638 | "@next/swc-linux-x64-musl": "13.4.7", 1639 | "@next/swc-win32-arm64-msvc": "13.4.7", 1640 | "@next/swc-win32-ia32-msvc": "13.4.7", 1641 | "@next/swc-win32-x64-msvc": "13.4.7" 1642 | }, 1643 | "peerDependencies": { 1644 | "@opentelemetry/api": "^1.1.0", 1645 | "fibers": ">= 3.1.0", 1646 | "react": "^18.2.0", 1647 | "react-dom": "^18.2.0", 1648 | "sass": "^1.3.0" 1649 | }, 1650 | "peerDependenciesMeta": { 1651 | "@opentelemetry/api": { 1652 | "optional": true 1653 | }, 1654 | "fibers": { 1655 | "optional": true 1656 | }, 1657 | "sass": { 1658 | "optional": true 1659 | } 1660 | } 1661 | }, 1662 | "node_modules/next/node_modules/postcss": { 1663 | "version": "8.4.14", 1664 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", 1665 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", 1666 | "funding": [ 1667 | { 1668 | "type": "opencollective", 1669 | "url": "https://opencollective.com/postcss/" 1670 | }, 1671 | { 1672 | "type": "tidelift", 1673 | "url": "https://tidelift.com/funding/github/npm/postcss" 1674 | } 1675 | ], 1676 | "dependencies": { 1677 | "nanoid": "^3.3.4", 1678 | "picocolors": "^1.0.0", 1679 | "source-map-js": "^1.0.2" 1680 | }, 1681 | "engines": { 1682 | "node": "^10 || ^12 || >=14" 1683 | } 1684 | }, 1685 | "node_modules/node-fetch": { 1686 | "version": "2.6.7", 1687 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", 1688 | "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", 1689 | "dependencies": { 1690 | "whatwg-url": "^5.0.0" 1691 | }, 1692 | "engines": { 1693 | "node": "4.x || >=6.0.0" 1694 | }, 1695 | "peerDependencies": { 1696 | "encoding": "^0.1.0" 1697 | }, 1698 | "peerDependenciesMeta": { 1699 | "encoding": { 1700 | "optional": true 1701 | } 1702 | } 1703 | }, 1704 | "node_modules/node-releases": { 1705 | "version": "2.0.12", 1706 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", 1707 | "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" 1708 | }, 1709 | "node_modules/normalize-path": { 1710 | "version": "3.0.0", 1711 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1712 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1713 | "engines": { 1714 | "node": ">=0.10.0" 1715 | } 1716 | }, 1717 | "node_modules/normalize-range": { 1718 | "version": "0.1.2", 1719 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 1720 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 1721 | "engines": { 1722 | "node": ">=0.10.0" 1723 | } 1724 | }, 1725 | "node_modules/object-assign": { 1726 | "version": "4.1.1", 1727 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1728 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 1729 | "engines": { 1730 | "node": ">=0.10.0" 1731 | } 1732 | }, 1733 | "node_modules/object-hash": { 1734 | "version": "3.0.0", 1735 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 1736 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 1737 | "engines": { 1738 | "node": ">= 6" 1739 | } 1740 | }, 1741 | "node_modules/once": { 1742 | "version": "1.4.0", 1743 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1744 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1745 | "dependencies": { 1746 | "wrappy": "1" 1747 | } 1748 | }, 1749 | "node_modules/path-is-absolute": { 1750 | "version": "1.0.1", 1751 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1752 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1753 | "engines": { 1754 | "node": ">=0.10.0" 1755 | } 1756 | }, 1757 | "node_modules/path-parse": { 1758 | "version": "1.0.7", 1759 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1760 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 1761 | }, 1762 | "node_modules/picocolors": { 1763 | "version": "1.0.0", 1764 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1765 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 1766 | }, 1767 | "node_modules/picomatch": { 1768 | "version": "2.3.1", 1769 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1770 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1771 | "engines": { 1772 | "node": ">=8.6" 1773 | }, 1774 | "funding": { 1775 | "url": "https://github.com/sponsors/jonschlinkert" 1776 | } 1777 | }, 1778 | "node_modules/pify": { 1779 | "version": "2.3.0", 1780 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1781 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 1782 | "engines": { 1783 | "node": ">=0.10.0" 1784 | } 1785 | }, 1786 | "node_modules/pirates": { 1787 | "version": "4.0.6", 1788 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 1789 | "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 1790 | "engines": { 1791 | "node": ">= 6" 1792 | } 1793 | }, 1794 | "node_modules/postcss": { 1795 | "version": "8.4.24", 1796 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", 1797 | "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", 1798 | "funding": [ 1799 | { 1800 | "type": "opencollective", 1801 | "url": "https://opencollective.com/postcss/" 1802 | }, 1803 | { 1804 | "type": "tidelift", 1805 | "url": "https://tidelift.com/funding/github/npm/postcss" 1806 | }, 1807 | { 1808 | "type": "github", 1809 | "url": "https://github.com/sponsors/ai" 1810 | } 1811 | ], 1812 | "dependencies": { 1813 | "nanoid": "^3.3.6", 1814 | "picocolors": "^1.0.0", 1815 | "source-map-js": "^1.0.2" 1816 | }, 1817 | "engines": { 1818 | "node": "^10 || ^12 || >=14" 1819 | } 1820 | }, 1821 | "node_modules/postcss-import": { 1822 | "version": "15.1.0", 1823 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 1824 | "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 1825 | "dependencies": { 1826 | "postcss-value-parser": "^4.0.0", 1827 | "read-cache": "^1.0.0", 1828 | "resolve": "^1.1.7" 1829 | }, 1830 | "engines": { 1831 | "node": ">=14.0.0" 1832 | }, 1833 | "peerDependencies": { 1834 | "postcss": "^8.0.0" 1835 | } 1836 | }, 1837 | "node_modules/postcss-js": { 1838 | "version": "4.0.1", 1839 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 1840 | "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 1841 | "dependencies": { 1842 | "camelcase-css": "^2.0.1" 1843 | }, 1844 | "engines": { 1845 | "node": "^12 || ^14 || >= 16" 1846 | }, 1847 | "funding": { 1848 | "type": "opencollective", 1849 | "url": "https://opencollective.com/postcss/" 1850 | }, 1851 | "peerDependencies": { 1852 | "postcss": "^8.4.21" 1853 | } 1854 | }, 1855 | "node_modules/postcss-load-config": { 1856 | "version": "4.0.1", 1857 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", 1858 | "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", 1859 | "dependencies": { 1860 | "lilconfig": "^2.0.5", 1861 | "yaml": "^2.1.1" 1862 | }, 1863 | "engines": { 1864 | "node": ">= 14" 1865 | }, 1866 | "funding": { 1867 | "type": "opencollective", 1868 | "url": "https://opencollective.com/postcss/" 1869 | }, 1870 | "peerDependencies": { 1871 | "postcss": ">=8.0.9", 1872 | "ts-node": ">=9.0.0" 1873 | }, 1874 | "peerDependenciesMeta": { 1875 | "postcss": { 1876 | "optional": true 1877 | }, 1878 | "ts-node": { 1879 | "optional": true 1880 | } 1881 | } 1882 | }, 1883 | "node_modules/postcss-nested": { 1884 | "version": "6.0.1", 1885 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", 1886 | "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", 1887 | "dependencies": { 1888 | "postcss-selector-parser": "^6.0.11" 1889 | }, 1890 | "engines": { 1891 | "node": ">=12.0" 1892 | }, 1893 | "funding": { 1894 | "type": "opencollective", 1895 | "url": "https://opencollective.com/postcss/" 1896 | }, 1897 | "peerDependencies": { 1898 | "postcss": "^8.2.14" 1899 | } 1900 | }, 1901 | "node_modules/postcss-selector-parser": { 1902 | "version": "6.0.13", 1903 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", 1904 | "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", 1905 | "dependencies": { 1906 | "cssesc": "^3.0.0", 1907 | "util-deprecate": "^1.0.2" 1908 | }, 1909 | "engines": { 1910 | "node": ">=4" 1911 | } 1912 | }, 1913 | "node_modules/postcss-value-parser": { 1914 | "version": "4.2.0", 1915 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1916 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" 1917 | }, 1918 | "node_modules/protobufjs": { 1919 | "version": "6.11.3", 1920 | "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", 1921 | "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", 1922 | "hasInstallScript": true, 1923 | "dependencies": { 1924 | "@protobufjs/aspromise": "^1.1.2", 1925 | "@protobufjs/base64": "^1.1.2", 1926 | "@protobufjs/codegen": "^2.0.4", 1927 | "@protobufjs/eventemitter": "^1.1.0", 1928 | "@protobufjs/fetch": "^1.1.0", 1929 | "@protobufjs/float": "^1.0.2", 1930 | "@protobufjs/inquire": "^1.1.0", 1931 | "@protobufjs/path": "^1.1.2", 1932 | "@protobufjs/pool": "^1.1.0", 1933 | "@protobufjs/utf8": "^1.1.0", 1934 | "@types/long": "^4.0.1", 1935 | "@types/node": ">=13.7.0", 1936 | "long": "^4.0.0" 1937 | }, 1938 | "bin": { 1939 | "pbjs": "bin/pbjs", 1940 | "pbts": "bin/pbts" 1941 | } 1942 | }, 1943 | "node_modules/queue-microtask": { 1944 | "version": "1.2.3", 1945 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1946 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1947 | "funding": [ 1948 | { 1949 | "type": "github", 1950 | "url": "https://github.com/sponsors/feross" 1951 | }, 1952 | { 1953 | "type": "patreon", 1954 | "url": "https://www.patreon.com/feross" 1955 | }, 1956 | { 1957 | "type": "consulting", 1958 | "url": "https://feross.org/support" 1959 | } 1960 | ] 1961 | }, 1962 | "node_modules/react": { 1963 | "version": "18.2.0", 1964 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 1965 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 1966 | "dependencies": { 1967 | "loose-envify": "^1.1.0" 1968 | }, 1969 | "engines": { 1970 | "node": ">=0.10.0" 1971 | } 1972 | }, 1973 | "node_modules/react-dom": { 1974 | "version": "18.2.0", 1975 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 1976 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 1977 | "dependencies": { 1978 | "loose-envify": "^1.1.0", 1979 | "scheduler": "^0.23.0" 1980 | }, 1981 | "peerDependencies": { 1982 | "react": "^18.2.0" 1983 | } 1984 | }, 1985 | "node_modules/read-cache": { 1986 | "version": "1.0.0", 1987 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 1988 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 1989 | "dependencies": { 1990 | "pify": "^2.3.0" 1991 | } 1992 | }, 1993 | "node_modules/readdirp": { 1994 | "version": "3.6.0", 1995 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1996 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1997 | "dependencies": { 1998 | "picomatch": "^2.2.1" 1999 | }, 2000 | "engines": { 2001 | "node": ">=8.10.0" 2002 | } 2003 | }, 2004 | "node_modules/require-directory": { 2005 | "version": "2.1.1", 2006 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 2007 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 2008 | "engines": { 2009 | "node": ">=0.10.0" 2010 | } 2011 | }, 2012 | "node_modules/resolve": { 2013 | "version": "1.22.2", 2014 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", 2015 | "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", 2016 | "dependencies": { 2017 | "is-core-module": "^2.11.0", 2018 | "path-parse": "^1.0.7", 2019 | "supports-preserve-symlinks-flag": "^1.0.0" 2020 | }, 2021 | "bin": { 2022 | "resolve": "bin/resolve" 2023 | }, 2024 | "funding": { 2025 | "url": "https://github.com/sponsors/ljharb" 2026 | } 2027 | }, 2028 | "node_modules/reusify": { 2029 | "version": "1.0.4", 2030 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 2031 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 2032 | "engines": { 2033 | "iojs": ">=1.0.0", 2034 | "node": ">=0.10.0" 2035 | } 2036 | }, 2037 | "node_modules/run-parallel": { 2038 | "version": "1.2.0", 2039 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 2040 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 2041 | "funding": [ 2042 | { 2043 | "type": "github", 2044 | "url": "https://github.com/sponsors/feross" 2045 | }, 2046 | { 2047 | "type": "patreon", 2048 | "url": "https://www.patreon.com/feross" 2049 | }, 2050 | { 2051 | "type": "consulting", 2052 | "url": "https://feross.org/support" 2053 | } 2054 | ], 2055 | "dependencies": { 2056 | "queue-microtask": "^1.2.2" 2057 | } 2058 | }, 2059 | "node_modules/safe-buffer": { 2060 | "version": "5.2.1", 2061 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2062 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 2063 | "funding": [ 2064 | { 2065 | "type": "github", 2066 | "url": "https://github.com/sponsors/feross" 2067 | }, 2068 | { 2069 | "type": "patreon", 2070 | "url": "https://www.patreon.com/feross" 2071 | }, 2072 | { 2073 | "type": "consulting", 2074 | "url": "https://feross.org/support" 2075 | } 2076 | ] 2077 | }, 2078 | "node_modules/safer-buffer": { 2079 | "version": "2.1.2", 2080 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2081 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 2082 | }, 2083 | "node_modules/scheduler": { 2084 | "version": "0.23.0", 2085 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 2086 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 2087 | "dependencies": { 2088 | "loose-envify": "^1.1.0" 2089 | } 2090 | }, 2091 | "node_modules/source-map-js": { 2092 | "version": "1.0.2", 2093 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 2094 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 2095 | "engines": { 2096 | "node": ">=0.10.0" 2097 | } 2098 | }, 2099 | "node_modules/streamsearch": { 2100 | "version": "1.1.0", 2101 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", 2102 | "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", 2103 | "engines": { 2104 | "node": ">=10.0.0" 2105 | } 2106 | }, 2107 | "node_modules/string-width": { 2108 | "version": "4.2.3", 2109 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2110 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2111 | "dependencies": { 2112 | "emoji-regex": "^8.0.0", 2113 | "is-fullwidth-code-point": "^3.0.0", 2114 | "strip-ansi": "^6.0.1" 2115 | }, 2116 | "engines": { 2117 | "node": ">=8" 2118 | } 2119 | }, 2120 | "node_modules/strip-ansi": { 2121 | "version": "6.0.1", 2122 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2123 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2124 | "dependencies": { 2125 | "ansi-regex": "^5.0.1" 2126 | }, 2127 | "engines": { 2128 | "node": ">=8" 2129 | } 2130 | }, 2131 | "node_modules/styled-jsx": { 2132 | "version": "5.1.1", 2133 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", 2134 | "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", 2135 | "dependencies": { 2136 | "client-only": "0.0.1" 2137 | }, 2138 | "engines": { 2139 | "node": ">= 12.0.0" 2140 | }, 2141 | "peerDependencies": { 2142 | "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" 2143 | }, 2144 | "peerDependenciesMeta": { 2145 | "@babel/core": { 2146 | "optional": true 2147 | }, 2148 | "babel-plugin-macros": { 2149 | "optional": true 2150 | } 2151 | } 2152 | }, 2153 | "node_modules/sucrase": { 2154 | "version": "3.32.0", 2155 | "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", 2156 | "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", 2157 | "dependencies": { 2158 | "@jridgewell/gen-mapping": "^0.3.2", 2159 | "commander": "^4.0.0", 2160 | "glob": "7.1.6", 2161 | "lines-and-columns": "^1.1.6", 2162 | "mz": "^2.7.0", 2163 | "pirates": "^4.0.1", 2164 | "ts-interface-checker": "^0.1.9" 2165 | }, 2166 | "bin": { 2167 | "sucrase": "bin/sucrase", 2168 | "sucrase-node": "bin/sucrase-node" 2169 | }, 2170 | "engines": { 2171 | "node": ">=8" 2172 | } 2173 | }, 2174 | "node_modules/supports-preserve-symlinks-flag": { 2175 | "version": "1.0.0", 2176 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 2177 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 2178 | "engines": { 2179 | "node": ">= 0.4" 2180 | }, 2181 | "funding": { 2182 | "url": "https://github.com/sponsors/ljharb" 2183 | } 2184 | }, 2185 | "node_modules/tailwindcss": { 2186 | "version": "3.3.2", 2187 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", 2188 | "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", 2189 | "dependencies": { 2190 | "@alloc/quick-lru": "^5.2.0", 2191 | "arg": "^5.0.2", 2192 | "chokidar": "^3.5.3", 2193 | "didyoumean": "^1.2.2", 2194 | "dlv": "^1.1.3", 2195 | "fast-glob": "^3.2.12", 2196 | "glob-parent": "^6.0.2", 2197 | "is-glob": "^4.0.3", 2198 | "jiti": "^1.18.2", 2199 | "lilconfig": "^2.1.0", 2200 | "micromatch": "^4.0.5", 2201 | "normalize-path": "^3.0.0", 2202 | "object-hash": "^3.0.0", 2203 | "picocolors": "^1.0.0", 2204 | "postcss": "^8.4.23", 2205 | "postcss-import": "^15.1.0", 2206 | "postcss-js": "^4.0.1", 2207 | "postcss-load-config": "^4.0.1", 2208 | "postcss-nested": "^6.0.1", 2209 | "postcss-selector-parser": "^6.0.11", 2210 | "postcss-value-parser": "^4.2.0", 2211 | "resolve": "^1.22.2", 2212 | "sucrase": "^3.32.0" 2213 | }, 2214 | "bin": { 2215 | "tailwind": "lib/cli.js", 2216 | "tailwindcss": "lib/cli.js" 2217 | }, 2218 | "engines": { 2219 | "node": ">=14.0.0" 2220 | } 2221 | }, 2222 | "node_modules/thenify": { 2223 | "version": "3.3.1", 2224 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 2225 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 2226 | "dependencies": { 2227 | "any-promise": "^1.0.0" 2228 | } 2229 | }, 2230 | "node_modules/thenify-all": { 2231 | "version": "1.6.0", 2232 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 2233 | "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 2234 | "dependencies": { 2235 | "thenify": ">= 3.1.0 < 4" 2236 | }, 2237 | "engines": { 2238 | "node": ">=0.8" 2239 | } 2240 | }, 2241 | "node_modules/to-regex-range": { 2242 | "version": "5.0.1", 2243 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2244 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2245 | "dependencies": { 2246 | "is-number": "^7.0.0" 2247 | }, 2248 | "engines": { 2249 | "node": ">=8.0" 2250 | } 2251 | }, 2252 | "node_modules/tr46": { 2253 | "version": "0.0.3", 2254 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 2255 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 2256 | }, 2257 | "node_modules/ts-interface-checker": { 2258 | "version": "0.1.13", 2259 | "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 2260 | "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" 2261 | }, 2262 | "node_modules/tslib": { 2263 | "version": "2.6.0", 2264 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", 2265 | "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" 2266 | }, 2267 | "node_modules/update-browserslist-db": { 2268 | "version": "1.0.11", 2269 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", 2270 | "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", 2271 | "funding": [ 2272 | { 2273 | "type": "opencollective", 2274 | "url": "https://opencollective.com/browserslist" 2275 | }, 2276 | { 2277 | "type": "tidelift", 2278 | "url": "https://tidelift.com/funding/github/npm/browserslist" 2279 | }, 2280 | { 2281 | "type": "github", 2282 | "url": "https://github.com/sponsors/ai" 2283 | } 2284 | ], 2285 | "dependencies": { 2286 | "escalade": "^3.1.1", 2287 | "picocolors": "^1.0.0" 2288 | }, 2289 | "bin": { 2290 | "update-browserslist-db": "cli.js" 2291 | }, 2292 | "peerDependencies": { 2293 | "browserslist": ">= 4.21.0" 2294 | } 2295 | }, 2296 | "node_modules/util-deprecate": { 2297 | "version": "1.0.2", 2298 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2299 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" 2300 | }, 2301 | "node_modules/watchpack": { 2302 | "version": "2.4.0", 2303 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", 2304 | "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", 2305 | "dependencies": { 2306 | "glob-to-regexp": "^0.4.1", 2307 | "graceful-fs": "^4.1.2" 2308 | }, 2309 | "engines": { 2310 | "node": ">=10.13.0" 2311 | } 2312 | }, 2313 | "node_modules/webidl-conversions": { 2314 | "version": "3.0.1", 2315 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 2316 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 2317 | }, 2318 | "node_modules/websocket-driver": { 2319 | "version": "0.7.4", 2320 | "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", 2321 | "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", 2322 | "dependencies": { 2323 | "http-parser-js": ">=0.5.1", 2324 | "safe-buffer": ">=5.1.0", 2325 | "websocket-extensions": ">=0.1.1" 2326 | }, 2327 | "engines": { 2328 | "node": ">=0.8.0" 2329 | } 2330 | }, 2331 | "node_modules/websocket-extensions": { 2332 | "version": "0.1.4", 2333 | "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", 2334 | "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", 2335 | "engines": { 2336 | "node": ">=0.8.0" 2337 | } 2338 | }, 2339 | "node_modules/whatwg-url": { 2340 | "version": "5.0.0", 2341 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 2342 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 2343 | "dependencies": { 2344 | "tr46": "~0.0.3", 2345 | "webidl-conversions": "^3.0.0" 2346 | } 2347 | }, 2348 | "node_modules/wrap-ansi": { 2349 | "version": "7.0.0", 2350 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 2351 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 2352 | "dependencies": { 2353 | "ansi-styles": "^4.0.0", 2354 | "string-width": "^4.1.0", 2355 | "strip-ansi": "^6.0.0" 2356 | }, 2357 | "engines": { 2358 | "node": ">=10" 2359 | }, 2360 | "funding": { 2361 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2362 | } 2363 | }, 2364 | "node_modules/wrappy": { 2365 | "version": "1.0.2", 2366 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2367 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" 2368 | }, 2369 | "node_modules/y18n": { 2370 | "version": "5.0.8", 2371 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 2372 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 2373 | "engines": { 2374 | "node": ">=10" 2375 | } 2376 | }, 2377 | "node_modules/yaml": { 2378 | "version": "2.3.1", 2379 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", 2380 | "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", 2381 | "engines": { 2382 | "node": ">= 14" 2383 | } 2384 | }, 2385 | "node_modules/yargs": { 2386 | "version": "16.2.0", 2387 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 2388 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 2389 | "dependencies": { 2390 | "cliui": "^7.0.2", 2391 | "escalade": "^3.1.1", 2392 | "get-caller-file": "^2.0.5", 2393 | "require-directory": "^2.1.1", 2394 | "string-width": "^4.2.0", 2395 | "y18n": "^5.0.5", 2396 | "yargs-parser": "^20.2.2" 2397 | }, 2398 | "engines": { 2399 | "node": ">=10" 2400 | } 2401 | }, 2402 | "node_modules/yargs-parser": { 2403 | "version": "20.2.9", 2404 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", 2405 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", 2406 | "engines": { 2407 | "node": ">=10" 2408 | } 2409 | }, 2410 | "node_modules/zod": { 2411 | "version": "3.21.4", 2412 | "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", 2413 | "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", 2414 | "funding": { 2415 | "url": "https://github.com/sponsors/colinhacks" 2416 | } 2417 | } 2418 | } 2419 | } 2420 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "next-auth-firebase", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "autoprefixer": "10.4.14", 13 | "encoding": "^0.1.13", 14 | "firebase": "^9.23.0", 15 | "next": "13.4.7", 16 | "postcss": "8.4.24", 17 | "react": "18.2.0", 18 | "react-dom": "18.2.0", 19 | "tailwindcss": "3.3.2" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: [ 4 | './pages/**/*.{js,ts,jsx,tsx,mdx}', 5 | './components/**/*.{js,ts,jsx,tsx,mdx}', 6 | './app/**/*.{js,ts,jsx,tsx,mdx}', 7 | ], 8 | theme: { 9 | extend: { 10 | backgroundImage: { 11 | 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))', 12 | 'gradient-conic': 13 | 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))', 14 | }, 15 | }, 16 | }, 17 | plugins: [], 18 | } 19 | --------------------------------------------------------------------------------