├── .env.example ├── .gitignore ├── .prettierignore ├── .prettierrc.json ├── LICENSE ├── README.md ├── SECURITY.md ├── images ├── Screenshot_1.png ├── Screenshot_2.png └── Screenshot_3.png ├── index.html ├── package.json ├── postcss.config.cjs ├── public └── vite.svg ├── src ├── Components │ ├── App.tsx │ ├── Atoms │ │ ├── DropdownMenu.tsx │ │ ├── MessageCard.tsx │ │ └── SpacerWithText.tsx │ ├── DashNavbar.tsx │ ├── Dashboard.tsx │ ├── ForgotPassword.tsx │ ├── Login.tsx │ ├── PrivateRoutes.tsx │ ├── Projects.tsx │ ├── Signup.tsx │ ├── SocialSignIn.tsx │ └── UpdateProfile.tsx ├── assets │ └── react.svg ├── contexts │ ├── ApiContext.tsx │ ├── AppContextProvider.tsx │ ├── AuthContext.tsx │ └── ToastContext.tsx ├── firebase.ts ├── index.css ├── main.tsx └── vite-env.d.ts ├── tailwind.config.cjs ├── tsconfig.json ├── tsconfig.node.json ├── vite.config.ts └── yarn.lock /.env.example: -------------------------------------------------------------------------------- 1 | VITE_API_KEY=AAAAAAAAAAA-AAAAAAAAAAAAAAAA-AAAAAAAAA 2 | VITE_AUTH_DOMAIN=yourapp.firebaseapp.com 3 | VITE_PROJECT_ID=yourapp 4 | VITE_STORAGE_BUCKET=yourapp.com 5 | VITE_MESSAGING_SENDER_ID=000000000000 6 | VITE_APP_ID=0:000000000000:web:AAAAAAAAAAAAAAAAAAAAAA 7 | VITE_MEASUREMENT_ID=AAAAAAAAAAAAAAAAAAA -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | .env 26 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | # Ignore artifacts: 3 | build 4 | coverage -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "es5", 3 | "tabWidth": 2, 4 | "semi": false, 5 | "singleQuote": true 6 | } 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Igor Bayerl 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ReactJS + Vite + TailwindCSS + TypeScript + Firebase auth 2 | 3 | This is a good starting point for your next project that needs firebase auth 4 | 5 |
6 | 7 | 8 | 9 |
10 | 11 | # Setup 12 | 13 | - Clone the project with 14 | ``` 15 | git clone https://github.com/IgorBayerl/react-vite-tailwind-firebase-auth-template.git 16 | ``` 17 | - Navigate to the directory 18 | ``` 19 | cd react-vite-tailwind-firebase-auth-template 20 | ``` 21 | - Install the dependencies with 22 | ``` 23 | yarn 24 | ``` 25 | - Configure the .env file with your firebase credentials 26 | - run with 27 | ``` 28 | yarn dev 29 | ``` 30 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | Use this section to tell people about which versions of your project are 6 | currently being supported with security updates. 7 | 8 | | Version | Supported | 9 | | ------- | ------------------ | 10 | | 5.1.x | :white_check_mark: | 11 | | 5.0.x | :x: | 12 | | 4.0.x | :white_check_mark: | 13 | | < 4.0 | :x: | 14 | 15 | ## Reporting a Vulnerability 16 | 17 | Use this section to tell people how to report a vulnerability. 18 | 19 | Tell them where to go, how often they can expect to get an update on a 20 | reported vulnerability, what to expect if the vulnerability is accepted or 21 | declined, etc. 22 | -------------------------------------------------------------------------------- /images/Screenshot_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IgorBayerl/react-vite-tailwind-typescript-firebase-auth-template/d94de5509babb31b85a3f40fe25b2b442ef991ec/images/Screenshot_1.png -------------------------------------------------------------------------------- /images/Screenshot_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IgorBayerl/react-vite-tailwind-typescript-firebase-auth-template/d94de5509babb31b85a3f40fe25b2b442ef991ec/images/Screenshot_2.png -------------------------------------------------------------------------------- /images/Screenshot_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IgorBayerl/react-vite-tailwind-typescript-firebase-auth-template/d94de5509babb31b85a3f40fe25b2b442ef991ec/images/Screenshot_3.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite + React + TS 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "client", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "homepage": "https://igorbayerl.github.io/chess-two", 7 | "scripts": { 8 | "dev": "vite", 9 | "build": "tsc && vite build", 10 | "preview": "vite preview --port 8080", 11 | "prettyfy": "prettier --write \"./**/*.{js,jsx,json,ts,tsx}\"" 12 | }, 13 | "dependencies": { 14 | "@headlessui/react": "^1.6.6", 15 | "@heroicons/react": "^2.0.10", 16 | "@tailwindcss/forms": "^0.5.3", 17 | "axios": "^0.27.2", 18 | "firebase": "^9.9.3", 19 | "react": "^18.2.0", 20 | "react-dom": "^18.2.0", 21 | "react-icons": "^4.4.0", 22 | "react-router-dom": "^6.3.0", 23 | "react-toastify": "^9.0.8" 24 | }, 25 | "devDependencies": { 26 | "@types/react": "^18.0.17", 27 | "@types/react-dom": "^18.0.6", 28 | "@vitejs/plugin-react": "^2.0.1", 29 | "autoprefixer": "^10.4.8", 30 | "postcss": "^8.4.16", 31 | "prettier": "^2.7.1", 32 | "tailwindcss": "^3.1.8", 33 | "typescript": "^4.6.4", 34 | "vite": "^3.0.7" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Components/App.tsx: -------------------------------------------------------------------------------- 1 | import Signup from './Signup' 2 | import { AuthProvider } from '../contexts/AuthContext' 3 | import { BrowserRouter as Router, Route, Routes } from 'react-router-dom' 4 | import Dashboard from './Dashboard' 5 | import Login from './Login' 6 | import PrivateRoutes from './PrivateRoutes' 7 | import ForgotPassword from './ForgotPassword' 8 | import UpdateProfile from './UpdateProfile' 9 | import Projects from './Projects' 10 | import { ToastProvider } from '../contexts/ToastContext' 11 | import { ApiProvider } from '../contexts/ApiContext' 12 | import 'react-toastify/dist/ReactToastify.min.css' 13 | import AppContextProviders from '../contexts/AppContextProvider' 14 | 15 | function App() { 16 | const providers = [ToastProvider, AuthProvider, ApiProvider] 17 | return ( 18 | 19 | 20 | 21 | }> 22 | } path="/" /> 23 | } /> 24 | } /> 25 | 26 | } /> 27 | } /> 28 | } /> 29 | 30 | 31 | 32 | ) 33 | } 34 | 35 | export default App -------------------------------------------------------------------------------- /src/Components/Atoms/DropdownMenu.tsx: -------------------------------------------------------------------------------- 1 | /* This example requires Tailwind CSS v2.0+ */ 2 | import { Fragment } from 'react' 3 | import { Menu, Transition } from '@headlessui/react' 4 | 5 | export interface IDropdownProps { 6 | dropDownButtonComponent: JSX.Element 7 | options: Array 8 | } 9 | 10 | export interface IMenuOption { 11 | label: string 12 | icon?: JSX.Element 13 | onClick: (e: any | void) => void 14 | } 15 | 16 | function classNames(...classes: string[]) { 17 | return classes.filter(Boolean).join(' ') 18 | } 19 | 20 | export default function Dropdown(props: IDropdownProps): JSX.Element { 21 | const listItems = props.options.map((option, index) => ( 22 | 23 | {({ active }) => ( 24 | 34 | )} 35 | 36 | )) 37 | 38 | return ( 39 | 40 |
{props.dropDownButtonComponent}
41 | 42 | 51 | 52 |
{listItems}
53 |
54 |
55 |
56 | ) 57 | } 58 | -------------------------------------------------------------------------------- /src/Components/Atoms/MessageCard.tsx: -------------------------------------------------------------------------------- 1 | import { ExclamationCircleIcon } from '@heroicons/react/20/solid' 2 | import { useMemo } from 'react' 3 | 4 | export interface IMessageCardProps { 5 | title?: string 6 | message: string 7 | type: ETypes 8 | visible: boolean 9 | } 10 | 11 | export enum ETypes { 12 | DANGER = 'danger', 13 | SUCCESS = 'success', 14 | MESSAGE = 'message', 15 | IMPORTANT = 'important', 16 | } 17 | 18 | const colorSchemeObj = { 19 | danger: { 20 | primary: 'bg-red-100', 21 | secondary: 'bg-red-300', 22 | text500: 'text-red-500', 23 | text700: 'text-red-700', 24 | text900: 'text-red-900', 25 | }, 26 | success: { 27 | primary: 'bg-green-100', 28 | secondary: 'bg-green-300', 29 | text500: 'text-green-500', 30 | text700: 'text-green-700', 31 | text900: 'text-green-900', 32 | }, 33 | message: { 34 | primary: 'bg-blue-100', 35 | secondary: 'bg-blue-300', 36 | text500: 'text-blue-500', 37 | text700: 'text-blue-700', 38 | text900: 'text-blue-900', 39 | }, 40 | important: { 41 | primary: 'bg-yellow-100', 42 | secondary: 'bg-yellow-300', 43 | text500: 'text-yellow-500', 44 | text700: 'text-yellow-700', 45 | text900: 'text-yellow-900', 46 | }, 47 | } 48 | 49 | export function MessageCard(props: IMessageCardProps) { 50 | if (!props.visible) return <> 51 | 52 | const getColor = useMemo(() => { 53 | return colorSchemeObj[props.type] 54 | }, [props.type]) 55 | return ( 56 |
57 |
58 |
59 |
60 | 61 | 64 | 65 |
66 |
67 |
68 |
{props.title}
69 |

{props.message}

70 |
71 |
72 |
73 | ) 74 | } 75 | -------------------------------------------------------------------------------- /src/Components/Atoms/SpacerWithText.tsx: -------------------------------------------------------------------------------- 1 | export interface ISpacerWithTextProps { 2 | text: string 3 | } 4 | 5 | export function SpacerWithText(props: ISpacerWithTextProps) { 6 | return ( 7 |
8 |
9 |
10 | {props.text} 11 |
12 |
13 |
14 | ) 15 | } 16 | -------------------------------------------------------------------------------- /src/Components/DashNavbar.tsx: -------------------------------------------------------------------------------- 1 | import { useEffect, useState } from 'react' 2 | import { Disclosure, Menu, Transition } from '@headlessui/react' 3 | import { Bars3Icon, BellIcon, XMarkIcon } from '@heroicons/react/24/outline' 4 | import DropdownMenu, { IMenuOption } from './Atoms/DropdownMenu' 5 | import { FiLogOut, FiEdit, FiEdit2 } from 'react-icons/fi' 6 | import { useAuth } from '../contexts/AuthContext' 7 | import { Link, useNavigate } from 'react-router-dom' 8 | import { useToast, EToastTypes } from '../contexts/ToastContext' 9 | 10 | function classNames(...classes: Array) { 11 | return classes.filter(Boolean).join(' ') 12 | } 13 | 14 | export default function DashNavbar() { 15 | const { logout } = useAuth() 16 | const { showError } = useToast() 17 | 18 | const [navigation, setNavigation] = useState([ 19 | { name: 'Dashboard', href: '/', current: false }, 20 | { name: 'Projects', href: '/projects', current: false }, 21 | ]) 22 | 23 | useEffect(() => { 24 | const newObj = navigation.map((e) => { 25 | return { 26 | name: e.name, 27 | href: e.href, 28 | current: e.href === window.location.pathname, 29 | } 30 | }) 31 | setNavigation(newObj) 32 | }, [window.location.pathname]) 33 | 34 | const navigate = useNavigate() 35 | 36 | const menuOptions: Array = [ 37 | { 38 | icon: , 39 | label: 'Edit Profile', 40 | onClick: () => navigate('/update-profile'), 41 | }, 42 | { 43 | icon: , 44 | label: `Log Out`, 45 | onClick: () => handleLogout(), 46 | }, 47 | ] 48 | 49 | async function handleLogout(): Promise { 50 | try { 51 | await logout() 52 | navigate('/login') 53 | } catch (err) { 54 | showError(err) 55 | } 56 | } 57 | 58 | const ProfilePicture = ( 59 | 60 | Open user menu 61 | 66 | 67 | ) 68 | return ( 69 | 70 | {({ open }) => ( 71 | <> 72 |
73 |
74 |
75 | {/* Mobile menu button*/} 76 | 77 | Open main menu 78 | {open ? ( 79 | 84 |
85 |
86 |
87 | Your Company 92 | Your Company 97 |
98 |
99 |
100 | {navigation.map((item) => ( 101 | 112 | {item.name} 113 | 114 | ))} 115 |
116 |
117 |
118 |
119 | 126 | 127 | {/* Profile dropdown */} 128 | 132 |
133 |
134 |
135 | 136 | 137 |
138 | {navigation.map((item) => ( 139 | 140 | 149 | {item.name} 150 | 151 | 152 | ))} 153 |
154 |
155 | 156 | )} 157 |
158 | ) 159 | } 160 | -------------------------------------------------------------------------------- /src/Components/Dashboard.tsx: -------------------------------------------------------------------------------- 1 | export default function Dashboard() { 2 | return ( 3 | <> 4 |

Dashboard

5 | 6 | ) 7 | } 8 | -------------------------------------------------------------------------------- /src/Components/ForgotPassword.tsx: -------------------------------------------------------------------------------- 1 | import { useRef, useState } from 'react' 2 | import { useAuth } from '../contexts/AuthContext' 3 | import { Link } from 'react-router-dom' 4 | import { ETypes, MessageCard } from './Atoms/MessageCard' 5 | import { LockClosedIcon } from '@heroicons/react/20/solid' 6 | 7 | export default function ForgotPassword() { 8 | const emailRef = useRef(null) 9 | const { resetPassword } = useAuth() 10 | const [messageType, setMessageType] = useState(ETypes.DANGER) 11 | const [message, setMessage] = useState('') 12 | const [loading, setLoading] = useState(false) 13 | 14 | async function handleSubmit(e: { preventDefault: () => void }) { 15 | e.preventDefault() 16 | 17 | try { 18 | setMessage('') 19 | setLoading(true) 20 | await resetPassword(emailRef.current?.value) 21 | setMessageType(ETypes.SUCCESS) 22 | setMessage('Check your inbox for further instructions') 23 | } catch { 24 | setMessageType(ETypes.DANGER) 25 | setMessage('Failed to reset password') 26 | } 27 | 28 | setLoading(false) 29 | } 30 | return ( 31 | <> 32 |
33 |
34 |
35 | Your Company 40 |

41 | Password Reset 42 |

43 |
44 | 50 |
51 | 52 |
53 |
54 | 57 | 67 |
68 |
69 | 70 |
71 | 84 |
85 |
86 | 90 | Back to login 91 | 92 |
93 |
94 |
95 |
96 | 97 | ) 98 | } 99 | -------------------------------------------------------------------------------- /src/Components/Login.tsx: -------------------------------------------------------------------------------- 1 | import { useEffect, useRef, useState } from 'react' 2 | import { useAuth } from '../contexts/AuthContext' 3 | import { Link, useNavigate } from 'react-router-dom' 4 | import { LockClosedIcon } from '@heroicons/react/20/solid' 5 | import { ETypes, MessageCard } from './Atoms/MessageCard' 6 | import { SpacerWithText } from './Atoms/SpacerWithText' 7 | import { SocialSignIn } from './SocialSignIn' 8 | 9 | export default function Login() { 10 | const emailRef = useRef(null) 11 | const passwordRef = useRef(null) 12 | const { login, currentUser } = useAuth() 13 | const [error, setError] = useState('') 14 | const [loading, setLoading] = useState(false) 15 | const navigate = useNavigate() 16 | 17 | useEffect(() => { 18 | if (currentUser) navigate('/') 19 | }, []) 20 | 21 | async function handleSubmit(e: { preventDefault: () => void }) { 22 | e.preventDefault() 23 | 24 | try { 25 | setError('') 26 | setLoading(true) 27 | await login(emailRef.current?.value, passwordRef.current?.value) 28 | navigate('/') 29 | } catch { 30 | setError('Failed to log in') 31 | } 32 | 33 | setLoading(false) 34 | } 35 | return ( 36 | <> 37 |
38 |
39 |
40 | Your Company 45 |

46 | Sign in to your account 47 |

48 |
49 | 50 |
51 | 52 |
53 |
54 | 57 | 67 |
68 |
69 | 72 | 82 |
83 |
84 | 85 |
86 |
87 | 93 | 99 |
100 | 101 |
102 | 106 | Forgot your password? 107 | 108 |
109 |
110 | 111 |
112 | 125 |
126 |
127 | 131 | Don't have an account? 132 | 133 |
134 |
135 | 136 | 137 | 138 |
139 |
140 | 141 | ) 142 | } 143 | -------------------------------------------------------------------------------- /src/Components/PrivateRoutes.tsx: -------------------------------------------------------------------------------- 1 | import { Navigate, Outlet } from 'react-router-dom' 2 | import { useAuth } from '../contexts/AuthContext' 3 | import DashNavbar from './DashNavbar' 4 | 5 | export default function PrivateRoutes() { 6 | const { currentUser } = useAuth() 7 | 8 | return currentUser ? ( 9 | <> 10 | 11 | 12 | 13 | ) : ( 14 | 15 | ) 16 | } 17 | -------------------------------------------------------------------------------- /src/Components/Projects.tsx: -------------------------------------------------------------------------------- 1 | export default function Projects() { 2 | return ( 3 | <> 4 |

Projects

5 | 6 | ) 7 | } 8 | -------------------------------------------------------------------------------- /src/Components/Signup.tsx: -------------------------------------------------------------------------------- 1 | import React, { useRef, useState } from 'react' 2 | import { useAuth } from '../contexts/AuthContext' 3 | import { Link, useNavigate } from 'react-router-dom' 4 | import { SpacerWithText } from './Atoms/SpacerWithText' 5 | import { LockClosedIcon } from '@heroicons/react/20/solid' 6 | import { ETypes, MessageCard } from './Atoms/MessageCard' 7 | import { SocialSignIn } from './SocialSignIn' 8 | 9 | export default function Signup() { 10 | const emailRef = useRef(null) 11 | const passwordRef = useRef(null) 12 | const passwordConfirmRef = useRef(null) 13 | const { signup } = useAuth() 14 | const [error, setError] = useState('') 15 | const [loading, setLoading] = useState(false) 16 | const navigate = useNavigate() 17 | 18 | async function handleSubmit(e: { preventDefault: () => void }) { 19 | e.preventDefault() 20 | 21 | if (passwordRef.current?.value !== passwordConfirmRef.current?.value) { 22 | return setError('Passwords do not match') 23 | } 24 | 25 | try { 26 | setError('') 27 | setLoading(true) 28 | await signup(emailRef.current?.value, passwordRef.current?.value) 29 | navigate('/') 30 | } catch { 31 | setError('Failed to create an account') 32 | } 33 | 34 | setLoading(false) 35 | } 36 | 37 | return ( 38 | <> 39 |
40 |
41 |
42 | Your Company 47 |

48 | Create an account 49 |

50 |
51 | 52 |
53 | 54 |
55 |
56 | 59 | 69 |
70 |
71 | 72 | 81 |
82 |
83 | 84 | 93 |
94 |
95 | 96 |
97 | 110 |
111 |
112 | 116 | Already have an account? 117 | 118 |
119 |
120 | 121 | 122 | 123 |
124 |
125 | 126 | ) 127 | } 128 | -------------------------------------------------------------------------------- /src/Components/SocialSignIn.tsx: -------------------------------------------------------------------------------- 1 | import { FaGithub, FaGoogle } from 'react-icons/fa' 2 | import { useNavigate } from 'react-router-dom' 3 | import { useAuth } from '../contexts/AuthContext' 4 | 5 | export interface ISocialSignInProps { 6 | enabled?: boolean 7 | setError: (error: string) => void 8 | } 9 | 10 | export function SocialSignIn({ enabled = true, setError }: ISocialSignInProps) { 11 | const { googleSignin, githubSignin } = useAuth() 12 | const navigate = useNavigate() 13 | 14 | async function handleGoogleLogin(): Promise { 15 | try { 16 | setError('') 17 | await googleSignin() 18 | navigate('/') 19 | } catch { 20 | setError('Failed to log in with Google') 21 | } 22 | } 23 | 24 | async function handleGithubLogin(): Promise { 25 | try { 26 | setError('') 27 | await githubSignin() 28 | navigate('/') 29 | } catch (err) { 30 | console.log(err) 31 | setError('Failed to log in with GitHub') 32 | } 33 | } 34 | return ( 35 |
36 | 45 | 54 |
55 | ) 56 | } 57 | -------------------------------------------------------------------------------- /src/Components/UpdateProfile.tsx: -------------------------------------------------------------------------------- 1 | import React, { useRef, useState } from 'react' 2 | import { useAuth } from '../contexts/AuthContext' 3 | import { Link, useNavigate } from 'react-router-dom' 4 | import { LockClosedIcon } from '@heroicons/react/20/solid' 5 | import { ETypes, MessageCard } from './Atoms/MessageCard' 6 | import { AiFillExclamationCircle } from 'react-icons/ai' 7 | import { useToast, EToastTypes } from '../contexts/ToastContext' 8 | 9 | export default function UpdateProfile() { 10 | const emailRef = useRef(null) 11 | const passwordRef = useRef(null) 12 | const passwordConfirmRef = useRef(null) 13 | const { currentUser, updatePassword, updateEmail } = useAuth() 14 | const { showTypedToast } = useToast() 15 | const [error, setError] = useState('') 16 | const [loading, setLoading] = useState(false) 17 | const navigate = useNavigate() 18 | 19 | function handleSubmit(e: { preventDefault: () => void }) { 20 | e.preventDefault() 21 | if (passwordRef.current?.value !== passwordConfirmRef.current?.value) { 22 | return setError('Passwords do not match') 23 | } 24 | 25 | const promises = [] 26 | setLoading(true) 27 | setError('') 28 | 29 | if (emailRef.current?.value !== currentUser.email) { 30 | promises.push(updateEmail(emailRef.current?.value)) 31 | } 32 | if (passwordRef.current?.value) { 33 | promises.push(updatePassword(passwordRef.current?.value)) 34 | } 35 | 36 | Promise.all(promises) 37 | .then(() => { 38 | navigate('/') 39 | showTypedToast(EToastTypes.SUCCESS, 'Profile updated Successfully') 40 | }) 41 | .catch(() => { 42 | setError('Failed to update account') 43 | }) 44 | .finally(() => { 45 | setLoading(false) 46 | }) 47 | } 48 | 49 | return ( 50 | <> 51 |
52 |
53 |
54 | Your Company 59 |

60 | Update Profile 61 |

62 |
63 | 64 |
65 | 66 |
67 |
68 | 71 | 82 |
83 |
84 |
85 |

86 | Leave blank to keep 87 | the same 88 |

89 |
90 | 91 | 99 |
100 |
101 | 102 | 110 |
111 |
112 | 113 |
114 | 127 |
128 |
129 | 133 | Cancel 134 | 135 |
136 |
137 |
138 |
139 | 140 | ) 141 | } 142 | -------------------------------------------------------------------------------- /src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/contexts/ApiContext.tsx: -------------------------------------------------------------------------------- 1 | import React, { useContext } from 'react' 2 | import axios, { AxiosRequestConfig } from 'axios' 3 | import { useAuth } from '../contexts/AuthContext' 4 | 5 | interface IApiProviderProps { 6 | children: JSX.Element 7 | } 8 | 9 | const ApiContext = React.createContext({}) 10 | 11 | export function useApi(): any { 12 | return useContext(ApiContext) 13 | } 14 | 15 | export function ApiProvider({ children }: IApiProviderProps): JSX.Element { 16 | const { getCurrentUserToken } = useAuth() 17 | 18 | const axiosConfig: AxiosRequestConfig = { 19 | baseURL: import.meta.env.VITE_API_URL, 20 | } 21 | const api = axios.create(axiosConfig) 22 | 23 | api.interceptors.request.use(async (config: any) => { 24 | if (config.url != '/users/login') { 25 | const token = await getCurrentUserToken() 26 | if (config?.headers && token) { 27 | config.headers.Authorization = `${token}` 28 | } 29 | } 30 | 31 | return config 32 | }) 33 | 34 | const value = { 35 | api, 36 | } 37 | 38 | return {children} 39 | } 40 | -------------------------------------------------------------------------------- /src/contexts/AppContextProvider.tsx: -------------------------------------------------------------------------------- 1 | interface Props { 2 | components: Array>> 3 | children: React.ReactNode 4 | } 5 | 6 | export default function AppContextProviders(props: Props) { 7 | const { components = [], children } = props 8 | 9 | return ( 10 | <> 11 | {components.reduceRight((acc, Comp) => { 12 | return {acc} 13 | }, children)} 14 | 15 | ) 16 | } 17 | -------------------------------------------------------------------------------- /src/contexts/AuthContext.tsx: -------------------------------------------------------------------------------- 1 | import React, { useContext, useState, useEffect } from 'react' 2 | import { auth } from '../firebase' 3 | import { 4 | GoogleAuthProvider, 5 | signInWithPopup, 6 | GithubAuthProvider, 7 | } from 'firebase/auth' 8 | 9 | interface IAuthProviderProps { 10 | children: JSX.Element 11 | } 12 | 13 | const AuthContext = React.createContext({}) 14 | 15 | export function useAuth(): any { 16 | return useContext(AuthContext) 17 | } 18 | 19 | export function AuthProvider({ children }: IAuthProviderProps): JSX.Element { 20 | const [currentUser, setCurrentUser] = useState() 21 | const [loading, setLoading] = useState(true) 22 | 23 | function signup(email: string, password: string): Promise { 24 | return auth.createUserWithEmailAndPassword(email, password) 25 | } 26 | 27 | function googleSignin(): Promise { 28 | const provider = new GoogleAuthProvider() 29 | return signInWithPopup(auth, provider) 30 | } 31 | 32 | function githubSignin(): Promise { 33 | const provider = new GithubAuthProvider() 34 | return signInWithPopup(auth, provider) 35 | } 36 | 37 | function login(email: string, password: string): Promise { 38 | return auth.signInWithEmailAndPassword(email, password) 39 | } 40 | 41 | function logout(): Promise { 42 | return auth.signOut() 43 | } 44 | 45 | function resetPassword(email: string): Promise { 46 | return auth.sendPasswordResetEmail(email) 47 | } 48 | 49 | function updateEmail(email: string): Promise { 50 | return currentUser.updateEmail(email) 51 | } 52 | 53 | function updatePassword(password: string): Promise { 54 | return currentUser.updatePassword(password) 55 | } 56 | 57 | useEffect(() => { 58 | const unsubscribe = auth.onAuthStateChanged((user) => { 59 | setCurrentUser(user) 60 | setLoading(false) 61 | }) 62 | 63 | return unsubscribe 64 | }, []) 65 | 66 | const value = { 67 | currentUser, 68 | login, 69 | signup, 70 | googleSignin, 71 | githubSignin, 72 | logout, 73 | resetPassword, 74 | updateEmail, 75 | updatePassword, 76 | } 77 | 78 | return ( 79 | 80 | {!loading && children} 81 | 82 | ) 83 | } 84 | -------------------------------------------------------------------------------- /src/contexts/ToastContext.tsx: -------------------------------------------------------------------------------- 1 | import React, { useContext } from 'react' 2 | import { ToastContainer, toast } from 'react-toastify' 3 | // import 'react-toastify/dist/ReactToastify.css' 4 | 5 | interface IToastProviderProps { 6 | children: JSX.Element 7 | } 8 | 9 | const ToastContext = React.createContext({}) 10 | 11 | export function useToast(): any { 12 | return useContext(ToastContext) 13 | } 14 | 15 | export enum EToastTypes { 16 | INFO = 'info', 17 | SUCCESS = 'success', 18 | WARNING = 'warning', 19 | ERROR = 'error', 20 | } 21 | 22 | export function ToastProvider({ children }: IToastProviderProps): JSX.Element { 23 | function showTypedToast( 24 | type: EToastTypes, 25 | message: string = '', 26 | autoClose = 5000, 27 | hideProgressBar = false, 28 | closeOnClick = true, 29 | pauseOnHover = true, 30 | draggable = true, 31 | progress = undefined 32 | ): void { 33 | toast[type](message, { 34 | position: 'bottom-right', 35 | autoClose: autoClose, 36 | hideProgressBar: hideProgressBar, 37 | closeOnClick: closeOnClick, 38 | pauseOnHover: pauseOnHover, 39 | draggable: draggable, 40 | progress: progress, 41 | }) 42 | } 43 | 44 | function showToast( 45 | message: string = '', 46 | autoClose = 5000, 47 | hideProgressBar = false, 48 | closeOnClick = true, 49 | pauseOnHover = true, 50 | draggable = true, 51 | progress = undefined 52 | ) { 53 | toast(message, { 54 | position: 'bottom-right', 55 | autoClose: autoClose, 56 | hideProgressBar: hideProgressBar, 57 | closeOnClick: closeOnClick, 58 | pauseOnHover: pauseOnHover, 59 | draggable: draggable, 60 | progress: progress, 61 | }) 62 | } 63 | 64 | function showError(message: string, code?: string) { 65 | toast.error(!!code ? `${code} - ${message}` : message, { 66 | position: 'bottom-right', 67 | autoClose: 5000, 68 | hideProgressBar: false, 69 | closeOnClick: true, 70 | pauseOnHover: true, 71 | draggable: true, 72 | progress: undefined, 73 | }) 74 | } 75 | const value = { 76 | showError, 77 | showTypedToast, 78 | showToast, 79 | } 80 | 81 | return ( 82 | 83 | 94 | {children} 95 | 96 | ) 97 | } 98 | -------------------------------------------------------------------------------- /src/firebase.ts: -------------------------------------------------------------------------------- 1 | import firebase from 'firebase/compat/app' 2 | import 'firebase/compat/auth' 3 | 4 | const app = firebase.initializeApp({ 5 | apiKey: import.meta.env.VITE_API_KEY, 6 | authDomain: import.meta.env.VITE_AUTH_DOMAIN, 7 | projectId: import.meta.env.VITE_PROJECT_ID, 8 | storageBucket: import.meta.env.VITE_STORAGE_BUCKET, 9 | messagingSenderId: import.meta.env.VITE_MESSAGING_SENDER_ID, 10 | appId: import.meta.env.VITE_APP_ID, 11 | measurementId: import.meta.env.VITE_MEASUREMENT_ID, 12 | }) 13 | 14 | export const auth = app.auth() 15 | export default app 16 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom/client' 3 | import App from './Components/App.jsx' 4 | import './index.css' 5 | 6 | ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( 7 | 8 | 9 | 10 | ) 11 | -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content:["./src/**/*.{js,jsx,ts,tsx}"], 4 | theme: { 5 | extend: {}, 6 | }, 7 | plugins: [ 8 | require('@tailwindcss/forms'), 9 | ], 10 | } 11 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "useDefineForClassFields": true, 5 | "lib": ["DOM", "DOM.Iterable", "ESNext"], 6 | "allowJs": false, 7 | "skipLibCheck": true, 8 | "esModuleInterop": false, 9 | "allowSyntheticDefaultImports": true, 10 | "strict": true, 11 | "forceConsistentCasingInFileNames": true, 12 | "module": "ESNext", 13 | "moduleResolution": "Node", 14 | "resolveJsonModule": true, 15 | "isolatedModules": true, 16 | "noEmit": true, 17 | "jsx": "react-jsx" 18 | }, 19 | "include": ["src", "firebase.js"], 20 | "references": [{ "path": "./tsconfig.node.json" }] 21 | } 22 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }) 8 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ampproject/remapping@^2.1.0": 6 | version "2.2.0" 7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" 8 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== 9 | dependencies: 10 | "@jridgewell/gen-mapping" "^0.1.0" 11 | "@jridgewell/trace-mapping" "^0.3.9" 12 | 13 | "@babel/code-frame@^7.18.6": 14 | version "7.18.6" 15 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 16 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 17 | dependencies: 18 | "@babel/highlight" "^7.18.6" 19 | 20 | "@babel/compat-data@^7.18.8": 21 | version "7.18.13" 22 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.13.tgz#6aff7b350a1e8c3e40b029e46cbe78e24a913483" 23 | integrity sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw== 24 | 25 | "@babel/core@^7.18.10": 26 | version "7.18.13" 27 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac" 28 | integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A== 29 | dependencies: 30 | "@ampproject/remapping" "^2.1.0" 31 | "@babel/code-frame" "^7.18.6" 32 | "@babel/generator" "^7.18.13" 33 | "@babel/helper-compilation-targets" "^7.18.9" 34 | "@babel/helper-module-transforms" "^7.18.9" 35 | "@babel/helpers" "^7.18.9" 36 | "@babel/parser" "^7.18.13" 37 | "@babel/template" "^7.18.10" 38 | "@babel/traverse" "^7.18.13" 39 | "@babel/types" "^7.18.13" 40 | convert-source-map "^1.7.0" 41 | debug "^4.1.0" 42 | gensync "^1.0.0-beta.2" 43 | json5 "^2.2.1" 44 | semver "^6.3.0" 45 | 46 | "@babel/generator@^7.18.13": 47 | version "7.18.13" 48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212" 49 | integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ== 50 | dependencies: 51 | "@babel/types" "^7.18.13" 52 | "@jridgewell/gen-mapping" "^0.3.2" 53 | jsesc "^2.5.1" 54 | 55 | "@babel/helper-annotate-as-pure@^7.18.6": 56 | version "7.18.6" 57 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" 58 | integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== 59 | dependencies: 60 | "@babel/types" "^7.18.6" 61 | 62 | "@babel/helper-compilation-targets@^7.18.9": 63 | version "7.18.9" 64 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" 65 | integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== 66 | dependencies: 67 | "@babel/compat-data" "^7.18.8" 68 | "@babel/helper-validator-option" "^7.18.6" 69 | browserslist "^4.20.2" 70 | semver "^6.3.0" 71 | 72 | "@babel/helper-environment-visitor@^7.18.9": 73 | version "7.18.9" 74 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" 75 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== 76 | 77 | "@babel/helper-function-name@^7.18.9": 78 | version "7.18.9" 79 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" 80 | integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== 81 | dependencies: 82 | "@babel/template" "^7.18.6" 83 | "@babel/types" "^7.18.9" 84 | 85 | "@babel/helper-hoist-variables@^7.18.6": 86 | version "7.18.6" 87 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" 88 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== 89 | dependencies: 90 | "@babel/types" "^7.18.6" 91 | 92 | "@babel/helper-module-imports@^7.18.6": 93 | version "7.18.6" 94 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" 95 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 96 | dependencies: 97 | "@babel/types" "^7.18.6" 98 | 99 | "@babel/helper-module-transforms@^7.18.9": 100 | version "7.18.9" 101 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" 102 | integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== 103 | dependencies: 104 | "@babel/helper-environment-visitor" "^7.18.9" 105 | "@babel/helper-module-imports" "^7.18.6" 106 | "@babel/helper-simple-access" "^7.18.6" 107 | "@babel/helper-split-export-declaration" "^7.18.6" 108 | "@babel/helper-validator-identifier" "^7.18.6" 109 | "@babel/template" "^7.18.6" 110 | "@babel/traverse" "^7.18.9" 111 | "@babel/types" "^7.18.9" 112 | 113 | "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9": 114 | version "7.18.9" 115 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" 116 | integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== 117 | 118 | "@babel/helper-simple-access@^7.18.6": 119 | version "7.18.6" 120 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" 121 | integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== 122 | dependencies: 123 | "@babel/types" "^7.18.6" 124 | 125 | "@babel/helper-split-export-declaration@^7.18.6": 126 | version "7.18.6" 127 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" 128 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== 129 | dependencies: 130 | "@babel/types" "^7.18.6" 131 | 132 | "@babel/helper-string-parser@^7.18.10": 133 | version "7.18.10" 134 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" 135 | integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== 136 | 137 | "@babel/helper-validator-identifier@^7.18.6": 138 | version "7.18.6" 139 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" 140 | integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== 141 | 142 | "@babel/helper-validator-option@^7.18.6": 143 | version "7.18.6" 144 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" 145 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== 146 | 147 | "@babel/helpers@^7.18.9": 148 | version "7.18.9" 149 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" 150 | integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== 151 | dependencies: 152 | "@babel/template" "^7.18.6" 153 | "@babel/traverse" "^7.18.9" 154 | "@babel/types" "^7.18.9" 155 | 156 | "@babel/highlight@^7.18.6": 157 | version "7.18.6" 158 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 159 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 160 | dependencies: 161 | "@babel/helper-validator-identifier" "^7.18.6" 162 | chalk "^2.0.0" 163 | js-tokens "^4.0.0" 164 | 165 | "@babel/parser@^7.18.10", "@babel/parser@^7.18.13": 166 | version "7.18.13" 167 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4" 168 | integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg== 169 | 170 | "@babel/plugin-syntax-jsx@^7.18.6": 171 | version "7.18.6" 172 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" 173 | integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== 174 | dependencies: 175 | "@babel/helper-plugin-utils" "^7.18.6" 176 | 177 | "@babel/plugin-transform-react-jsx-development@^7.18.6": 178 | version "7.18.6" 179 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5" 180 | integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== 181 | dependencies: 182 | "@babel/plugin-transform-react-jsx" "^7.18.6" 183 | 184 | "@babel/plugin-transform-react-jsx-self@^7.18.6": 185 | version "7.18.6" 186 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7" 187 | integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== 188 | dependencies: 189 | "@babel/helper-plugin-utils" "^7.18.6" 190 | 191 | "@babel/plugin-transform-react-jsx-source@^7.18.6": 192 | version "7.18.6" 193 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz#06e9ae8a14d2bc19ce6e3c447d842032a50598fc" 194 | integrity sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw== 195 | dependencies: 196 | "@babel/helper-plugin-utils" "^7.18.6" 197 | 198 | "@babel/plugin-transform-react-jsx@^7.18.10", "@babel/plugin-transform-react-jsx@^7.18.6": 199 | version "7.18.10" 200 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.10.tgz#ea47b2c4197102c196cbd10db9b3bb20daa820f1" 201 | integrity sha512-gCy7Iikrpu3IZjYZolFE4M1Sm+nrh1/6za2Ewj77Z+XirT4TsbJcvOFOyF+fRPwU6AKKK136CZxx6L8AbSFG6A== 202 | dependencies: 203 | "@babel/helper-annotate-as-pure" "^7.18.6" 204 | "@babel/helper-module-imports" "^7.18.6" 205 | "@babel/helper-plugin-utils" "^7.18.9" 206 | "@babel/plugin-syntax-jsx" "^7.18.6" 207 | "@babel/types" "^7.18.10" 208 | 209 | "@babel/runtime@^7.7.6": 210 | version "7.18.9" 211 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" 212 | integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== 213 | dependencies: 214 | regenerator-runtime "^0.13.4" 215 | 216 | "@babel/template@^7.18.10", "@babel/template@^7.18.6": 217 | version "7.18.10" 218 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" 219 | integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== 220 | dependencies: 221 | "@babel/code-frame" "^7.18.6" 222 | "@babel/parser" "^7.18.10" 223 | "@babel/types" "^7.18.10" 224 | 225 | "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.9": 226 | version "7.18.13" 227 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.13.tgz#5ab59ef51a997b3f10c4587d648b9696b6cb1a68" 228 | integrity sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA== 229 | dependencies: 230 | "@babel/code-frame" "^7.18.6" 231 | "@babel/generator" "^7.18.13" 232 | "@babel/helper-environment-visitor" "^7.18.9" 233 | "@babel/helper-function-name" "^7.18.9" 234 | "@babel/helper-hoist-variables" "^7.18.6" 235 | "@babel/helper-split-export-declaration" "^7.18.6" 236 | "@babel/parser" "^7.18.13" 237 | "@babel/types" "^7.18.13" 238 | debug "^4.1.0" 239 | globals "^11.1.0" 240 | 241 | "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9": 242 | version "7.18.13" 243 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a" 244 | integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ== 245 | dependencies: 246 | "@babel/helper-string-parser" "^7.18.10" 247 | "@babel/helper-validator-identifier" "^7.18.6" 248 | to-fast-properties "^2.0.0" 249 | 250 | "@esbuild/linux-loong64@0.14.54": 251 | version "0.14.54" 252 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" 253 | integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw== 254 | 255 | "@firebase/analytics-compat@0.1.13": 256 | version "0.1.13" 257 | resolved "https://registry.yarnpkg.com/@firebase/analytics-compat/-/analytics-compat-0.1.13.tgz#61e1d6f9e4d033c3ed9943d91530eb3e0f382f92" 258 | integrity sha512-QC1DH/Dwc8fBihn0H+jocBWyE17GF1fOCpCrpAiQ2u16F/NqsVDVG4LjIqdhq963DXaXneNY7oDwa25Up682AA== 259 | dependencies: 260 | "@firebase/analytics" "0.8.0" 261 | "@firebase/analytics-types" "0.7.0" 262 | "@firebase/component" "0.5.17" 263 | "@firebase/util" "1.6.3" 264 | tslib "^2.1.0" 265 | 266 | "@firebase/analytics-types@0.7.0": 267 | version "0.7.0" 268 | resolved "https://registry.yarnpkg.com/@firebase/analytics-types/-/analytics-types-0.7.0.tgz#91960e7c87ce8bf18cf8dd9e55ccbf5dc3989b5d" 269 | integrity sha512-DNE2Waiwy5+zZnCfintkDtBfaW6MjIG883474v6Z0K1XZIvl76cLND4iv0YUb48leyF+PJK1KO2XrgHb/KpmhQ== 270 | 271 | "@firebase/analytics@0.8.0": 272 | version "0.8.0" 273 | resolved "https://registry.yarnpkg.com/@firebase/analytics/-/analytics-0.8.0.tgz#b5d595082f57d33842b1fd9025d88f83065e87fe" 274 | integrity sha512-wkcwainNm8Cu2xkJpDSHfhBSdDJn86Q1TZNmLWc67VrhZUHXIKXxIqb65/tNUVE+I8+sFiDDNwA+9R3MqTQTaA== 275 | dependencies: 276 | "@firebase/component" "0.5.17" 277 | "@firebase/installations" "0.5.12" 278 | "@firebase/logger" "0.3.3" 279 | "@firebase/util" "1.6.3" 280 | tslib "^2.1.0" 281 | 282 | "@firebase/app-check-compat@0.2.12": 283 | version "0.2.12" 284 | resolved "https://registry.yarnpkg.com/@firebase/app-check-compat/-/app-check-compat-0.2.12.tgz#e30b2395e3d30f8cfcf3554fc87875f82c1aa086" 285 | integrity sha512-GFppNLlUyMN9Iq31ME/+GkjRVKlc+MeanzUKQ9UaR73ZsYH3oX3Ja+xjoYgixaVJDDG+ofBYR7ZXTkkQdSR/pw== 286 | dependencies: 287 | "@firebase/app-check" "0.5.12" 288 | "@firebase/app-check-types" "0.4.0" 289 | "@firebase/component" "0.5.17" 290 | "@firebase/logger" "0.3.3" 291 | "@firebase/util" "1.6.3" 292 | tslib "^2.1.0" 293 | 294 | "@firebase/app-check-interop-types@0.1.0": 295 | version "0.1.0" 296 | resolved "https://registry.yarnpkg.com/@firebase/app-check-interop-types/-/app-check-interop-types-0.1.0.tgz#83afd9d41f99166c2bdb2d824e5032e9edd8fe53" 297 | integrity sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA== 298 | 299 | "@firebase/app-check-types@0.4.0": 300 | version "0.4.0" 301 | resolved "https://registry.yarnpkg.com/@firebase/app-check-types/-/app-check-types-0.4.0.tgz#7007a9d1d720db20bcf466fe6785c96feaa0a82d" 302 | integrity sha512-SsWafqMABIOu7zLgWbmwvHGOeQQVQlwm42kwwubsmfLmL4Sf5uGpBfDhQ0CAkpi7bkJ/NwNFKafNDL9prRNP0Q== 303 | 304 | "@firebase/app-check@0.5.12": 305 | version "0.5.12" 306 | resolved "https://registry.yarnpkg.com/@firebase/app-check/-/app-check-0.5.12.tgz#82f305cc01bfe4d32c35e425941b2eca2ce9f089" 307 | integrity sha512-l+MmvupSGT/F+I5ei7XjhEfpoL4hLVJr0vUwcG5NEf2hAkQnySli9fnbl9fZu1BJaQ2kthrMmtg1gcbcM9BUCQ== 308 | dependencies: 309 | "@firebase/component" "0.5.17" 310 | "@firebase/logger" "0.3.3" 311 | "@firebase/util" "1.6.3" 312 | tslib "^2.1.0" 313 | 314 | "@firebase/app-compat@0.1.33": 315 | version "0.1.33" 316 | resolved "https://registry.yarnpkg.com/@firebase/app-compat/-/app-compat-0.1.33.tgz#18632ed97df411183db2f54802e4a6720106ee95" 317 | integrity sha512-PLCwOpduJOOkw2v0ygBPpYBRobbnxJjZVaj2xjc5IPakHWx9sLHHX3KoZnl+7ZonY1xJ2lCQaLQrwqX2hi0FXg== 318 | dependencies: 319 | "@firebase/app" "0.7.32" 320 | "@firebase/component" "0.5.17" 321 | "@firebase/logger" "0.3.3" 322 | "@firebase/util" "1.6.3" 323 | tslib "^2.1.0" 324 | 325 | "@firebase/app-types@0.7.0": 326 | version "0.7.0" 327 | resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.7.0.tgz#c9e16d1b8bed1a991840b8d2a725fb58d0b5899f" 328 | integrity sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg== 329 | 330 | "@firebase/app@0.7.32": 331 | version "0.7.32" 332 | resolved "https://registry.yarnpkg.com/@firebase/app/-/app-0.7.32.tgz#b4ea8125b184e34914e13f30f881f3ad5c65f840" 333 | integrity sha512-FUqDHgCkr6oVTTpastIlquYsMtkd8Tg4SR8+z4sCJ1C1pbPavazN9qeYIqHQjviqLV/OflCrACCZj/s2zlh0ww== 334 | dependencies: 335 | "@firebase/component" "0.5.17" 336 | "@firebase/logger" "0.3.3" 337 | "@firebase/util" "1.6.3" 338 | idb "7.0.1" 339 | tslib "^2.1.0" 340 | 341 | "@firebase/auth-compat@0.2.19": 342 | version "0.2.19" 343 | resolved "https://registry.yarnpkg.com/@firebase/auth-compat/-/auth-compat-0.2.19.tgz#cc56453c6c804fba1c3f124269d2ebf9e0e0419e" 344 | integrity sha512-gB9fnPZM2mnNrGR7n6Y+xDC/4cSouDVfdwPYL7GuLv7b48iW1u24DC9Trv10gNUUGq6iGEyqgJgCSrVmlTkX7Q== 345 | dependencies: 346 | "@firebase/auth" "0.20.6" 347 | "@firebase/auth-types" "0.11.0" 348 | "@firebase/component" "0.5.17" 349 | "@firebase/util" "1.6.3" 350 | node-fetch "2.6.7" 351 | selenium-webdriver "4.1.2" 352 | tslib "^2.1.0" 353 | 354 | "@firebase/auth-interop-types@0.1.6": 355 | version "0.1.6" 356 | resolved "https://registry.yarnpkg.com/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz#5ce13fc1c527ad36f1bb1322c4492680a6cf4964" 357 | integrity sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g== 358 | 359 | "@firebase/auth-types@0.11.0": 360 | version "0.11.0" 361 | resolved "https://registry.yarnpkg.com/@firebase/auth-types/-/auth-types-0.11.0.tgz#b9c73c60ca07945b3bbd7a097633e5f78fa9e886" 362 | integrity sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw== 363 | 364 | "@firebase/auth@0.20.6": 365 | version "0.20.6" 366 | resolved "https://registry.yarnpkg.com/@firebase/auth/-/auth-0.20.6.tgz#cfdf97dd9d7768a9ab15405b37750c7af8b158e8" 367 | integrity sha512-99R3bY7aQ2zFh5BdqLEgI/qN87l3bPBLIse2eDVcSRwChaM6FTdIKoKk15L1M4ry8utatMtYFt1vRCol7QDsLg== 368 | dependencies: 369 | "@firebase/component" "0.5.17" 370 | "@firebase/logger" "0.3.3" 371 | "@firebase/util" "1.6.3" 372 | node-fetch "2.6.7" 373 | selenium-webdriver "4.1.2" 374 | tslib "^2.1.0" 375 | 376 | "@firebase/component@0.5.17": 377 | version "0.5.17" 378 | resolved "https://registry.yarnpkg.com/@firebase/component/-/component-0.5.17.tgz#89291f378714df05d44430c524708669380d8ea6" 379 | integrity sha512-mTM5CBSIlmI+i76qU4+DhuExnWtzcPS3cVgObA3VAjliPPr3GrUlTaaa8KBGfxsD27juQxMsYA0TvCR5X+GQ3Q== 380 | dependencies: 381 | "@firebase/util" "1.6.3" 382 | tslib "^2.1.0" 383 | 384 | "@firebase/database-compat@0.2.6": 385 | version "0.2.6" 386 | resolved "https://registry.yarnpkg.com/@firebase/database-compat/-/database-compat-0.2.6.tgz#c8f3998f42ff00d01aad82e525e47aca6fe3d282" 387 | integrity sha512-Ls1BAODaiDYgeJljrIgSuC7JkFIY/HNhhNYebzZSoGQU62RuvnaO3Qgp2EH6h2LzHyRnycNadfh1suROtPaUIA== 388 | dependencies: 389 | "@firebase/component" "0.5.17" 390 | "@firebase/database" "0.13.6" 391 | "@firebase/database-types" "0.9.13" 392 | "@firebase/logger" "0.3.3" 393 | "@firebase/util" "1.6.3" 394 | tslib "^2.1.0" 395 | 396 | "@firebase/database-types@0.9.13": 397 | version "0.9.13" 398 | resolved "https://registry.yarnpkg.com/@firebase/database-types/-/database-types-0.9.13.tgz#47c12593ed27a9562f0919b7d3a1f1e00888abc2" 399 | integrity sha512-dIJ1zGe3EHMhwcvukTOPzYlFYFIG1Et5Znl7s7y/ZTN2/toARRNnsv1qCKvqevIMYKvIrRsYOYfOXDS8l1YIJA== 400 | dependencies: 401 | "@firebase/app-types" "0.7.0" 402 | "@firebase/util" "1.6.3" 403 | 404 | "@firebase/database@0.13.6": 405 | version "0.13.6" 406 | resolved "https://registry.yarnpkg.com/@firebase/database/-/database-0.13.6.tgz#fb2493d65759400ad155f156def068447ca1bfb1" 407 | integrity sha512-5IZIBw2LT50Z8mwmKYmdX37p+Gg2HgeJsrruZmRyOSVgbfoY4Pg87n1uFx6qWqDmfL6HwQgwcrrQfVIXE3C5SA== 408 | dependencies: 409 | "@firebase/auth-interop-types" "0.1.6" 410 | "@firebase/component" "0.5.17" 411 | "@firebase/logger" "0.3.3" 412 | "@firebase/util" "1.6.3" 413 | faye-websocket "0.11.4" 414 | tslib "^2.1.0" 415 | 416 | "@firebase/firestore-compat@0.1.24": 417 | version "0.1.24" 418 | resolved "https://registry.yarnpkg.com/@firebase/firestore-compat/-/firestore-compat-0.1.24.tgz#4f5ed839ea387a21156b485e365aaa5818e50705" 419 | integrity sha512-wy9AerWLyg/RcbjKE9I73TyBW7FMVfxblGUbcRRHi5tSSrjp+JT1jsGriF6NjAij4byboaGVm8Hgrki7Oqf2kw== 420 | dependencies: 421 | "@firebase/component" "0.5.17" 422 | "@firebase/firestore" "3.4.15" 423 | "@firebase/firestore-types" "2.5.0" 424 | "@firebase/util" "1.6.3" 425 | tslib "^2.1.0" 426 | 427 | "@firebase/firestore-types@2.5.0": 428 | version "2.5.0" 429 | resolved "https://registry.yarnpkg.com/@firebase/firestore-types/-/firestore-types-2.5.0.tgz#16fca40b6980fdb000de86042d7a96635f2bcdd7" 430 | integrity sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA== 431 | 432 | "@firebase/firestore@3.4.15": 433 | version "3.4.15" 434 | resolved "https://registry.yarnpkg.com/@firebase/firestore/-/firestore-3.4.15.tgz#29f713ae8480b49cb2ed072095d3bd6c65c8bb4c" 435 | integrity sha512-1kal1/0UC1p9x99f0iXwWbmBL/RClksdkqLSd8HVQVawAMTR3zCVKE95omNGl0egRRlDN6c/i8XBEfkwj3SHxw== 436 | dependencies: 437 | "@firebase/component" "0.5.17" 438 | "@firebase/logger" "0.3.3" 439 | "@firebase/util" "1.6.3" 440 | "@firebase/webchannel-wrapper" "0.6.2" 441 | "@grpc/grpc-js" "^1.3.2" 442 | "@grpc/proto-loader" "^0.6.13" 443 | node-fetch "2.6.7" 444 | tslib "^2.1.0" 445 | 446 | "@firebase/functions-compat@0.2.4": 447 | version "0.2.4" 448 | resolved "https://registry.yarnpkg.com/@firebase/functions-compat/-/functions-compat-0.2.4.tgz#afa5d8eefe6d51c7b89e44d9262700b68fbcb73f" 449 | integrity sha512-Crfn6il1yXGuXkjSd8nKrqR4XxPvuP19g64bXpM6Ix67qOkQg676kyOuww0FF17xN0NSXHfG8Pyf+CUrx8wJ5g== 450 | dependencies: 451 | "@firebase/component" "0.5.17" 452 | "@firebase/functions" "0.8.4" 453 | "@firebase/functions-types" "0.5.0" 454 | "@firebase/util" "1.6.3" 455 | tslib "^2.1.0" 456 | 457 | "@firebase/functions-types@0.5.0": 458 | version "0.5.0" 459 | resolved "https://registry.yarnpkg.com/@firebase/functions-types/-/functions-types-0.5.0.tgz#b50ba95ccce9e96f7cda453228ffe1684645625b" 460 | integrity sha512-qza0M5EwX+Ocrl1cYI14zoipUX4gI/Shwqv0C1nB864INAD42Dgv4v94BCyxGHBg2kzlWy8PNafdP7zPO8aJQA== 461 | 462 | "@firebase/functions@0.8.4": 463 | version "0.8.4" 464 | resolved "https://registry.yarnpkg.com/@firebase/functions/-/functions-0.8.4.tgz#a9b7a10314f286df1ded87d8546fb8d9107a9c06" 465 | integrity sha512-o1bB0xMyQKe+b246zGnjwHj4R6BH4mU2ZrSaa/3QvTpahUQ3hqYfkZPLOXCU7+vEFxHb3Hd4UUjkFhxoAcPqLA== 466 | dependencies: 467 | "@firebase/app-check-interop-types" "0.1.0" 468 | "@firebase/auth-interop-types" "0.1.6" 469 | "@firebase/component" "0.5.17" 470 | "@firebase/messaging-interop-types" "0.1.0" 471 | "@firebase/util" "1.6.3" 472 | node-fetch "2.6.7" 473 | tslib "^2.1.0" 474 | 475 | "@firebase/installations-compat@0.1.12": 476 | version "0.1.12" 477 | resolved "https://registry.yarnpkg.com/@firebase/installations-compat/-/installations-compat-0.1.12.tgz#d0394127f71aff596cb8bb607840095d1617246e" 478 | integrity sha512-BIhFpWIn/GkuOa+jnXkp3SDJT2RLYJF6MWpinHIBKFJs7MfrgYZ3zQ1AlhobDEql+bkD1dK4dB5sNcET2T+EyA== 479 | dependencies: 480 | "@firebase/component" "0.5.17" 481 | "@firebase/installations" "0.5.12" 482 | "@firebase/installations-types" "0.4.0" 483 | "@firebase/util" "1.6.3" 484 | tslib "^2.1.0" 485 | 486 | "@firebase/installations-types@0.4.0": 487 | version "0.4.0" 488 | resolved "https://registry.yarnpkg.com/@firebase/installations-types/-/installations-types-0.4.0.tgz#256782ff9adfb390ac658c25bc32f89635ddce7c" 489 | integrity sha512-nXxWKQDvBGctuvsizbUEJKfxXU9WAaDhon+j0jpjIfOJkvkj3YHqlLB/HeYjpUn85Pb22BjplpTnDn4Gm9pc3A== 490 | 491 | "@firebase/installations@0.5.12": 492 | version "0.5.12" 493 | resolved "https://registry.yarnpkg.com/@firebase/installations/-/installations-0.5.12.tgz#1d5764aa6f0b73d9d6d1a81a07eab5cd71a5ea27" 494 | integrity sha512-Zq43fCE0PB5tGJ3ojzx5RNQzKdej1188qgAk22rwjuhP7npaG/PlJqDG1/V0ZjTLRePZ1xGrfXSPlA17c/vtNw== 495 | dependencies: 496 | "@firebase/component" "0.5.17" 497 | "@firebase/util" "1.6.3" 498 | idb "7.0.1" 499 | tslib "^2.1.0" 500 | 501 | "@firebase/logger@0.3.3": 502 | version "0.3.3" 503 | resolved "https://registry.yarnpkg.com/@firebase/logger/-/logger-0.3.3.tgz#0f724b1e0b166d17ac285aac5c8ec14d136beed4" 504 | integrity sha512-POTJl07jOKTOevLXrTvJD/VZ0M6PnJXflbAh5J9VGkmtXPXNG6MdZ9fmRgqYhXKTaDId6AQenQ262uwgpdtO0Q== 505 | dependencies: 506 | tslib "^2.1.0" 507 | 508 | "@firebase/messaging-compat@0.1.16": 509 | version "0.1.16" 510 | resolved "https://registry.yarnpkg.com/@firebase/messaging-compat/-/messaging-compat-0.1.16.tgz#4fe4e2c1b496e62f63e815cb242a2ab323cd7899" 511 | integrity sha512-uG7rWcXJzU8vvlEBFpwG1ndw/GURrrmKcwsHopEWbsPGjMRaVWa7XrdKbvIR7IZohqPzcC/V9L8EeqF4Q4lz8w== 512 | dependencies: 513 | "@firebase/component" "0.5.17" 514 | "@firebase/messaging" "0.9.16" 515 | "@firebase/util" "1.6.3" 516 | tslib "^2.1.0" 517 | 518 | "@firebase/messaging-interop-types@0.1.0": 519 | version "0.1.0" 520 | resolved "https://registry.yarnpkg.com/@firebase/messaging-interop-types/-/messaging-interop-types-0.1.0.tgz#bdac02dd31edd5cb9eec37b1db698ea5e2c1a631" 521 | integrity sha512-DbvUl/rXAZpQeKBnwz0NYY5OCqr2nFA0Bj28Fmr3NXGqR4PAkfTOHuQlVtLO1Nudo3q0HxAYLa68ZDAcuv2uKQ== 522 | 523 | "@firebase/messaging@0.9.16": 524 | version "0.9.16" 525 | resolved "https://registry.yarnpkg.com/@firebase/messaging/-/messaging-0.9.16.tgz#96b57ebbb054e57f78585f85f59d521c5ba5cd85" 526 | integrity sha512-Yl9gGrAvJF6C1gg3+Cr2HxlL6APsDEkrorkFafmSP1l+rg1epZKoOAcKJbSF02Vtb50wfb9FqGGy8tzodgETxg== 527 | dependencies: 528 | "@firebase/component" "0.5.17" 529 | "@firebase/installations" "0.5.12" 530 | "@firebase/messaging-interop-types" "0.1.0" 531 | "@firebase/util" "1.6.3" 532 | idb "7.0.1" 533 | tslib "^2.1.0" 534 | 535 | "@firebase/performance-compat@0.1.12": 536 | version "0.1.12" 537 | resolved "https://registry.yarnpkg.com/@firebase/performance-compat/-/performance-compat-0.1.12.tgz#ac50b0cd29bf7f5e1e33c640dba25e2f8db95f0b" 538 | integrity sha512-IBORzUeGY1MGdZnsix9Mu5z4+C3WHIwalu0usxvygL0EZKHztGG8bppYPGH/b5vvg8QyHs9U+Pn1Ot2jZhffQQ== 539 | dependencies: 540 | "@firebase/component" "0.5.17" 541 | "@firebase/logger" "0.3.3" 542 | "@firebase/performance" "0.5.12" 543 | "@firebase/performance-types" "0.1.0" 544 | "@firebase/util" "1.6.3" 545 | tslib "^2.1.0" 546 | 547 | "@firebase/performance-types@0.1.0": 548 | version "0.1.0" 549 | resolved "https://registry.yarnpkg.com/@firebase/performance-types/-/performance-types-0.1.0.tgz#5e6efa9dc81860aee2cb7121b39ae8fa137e69fc" 550 | integrity sha512-6p1HxrH0mpx+622Ql6fcxFxfkYSBpE3LSuwM7iTtYU2nw91Hj6THC8Bc8z4nboIq7WvgsT/kOTYVVZzCSlXl8w== 551 | 552 | "@firebase/performance@0.5.12": 553 | version "0.5.12" 554 | resolved "https://registry.yarnpkg.com/@firebase/performance/-/performance-0.5.12.tgz#4eae3eb91eeffb29b996e7908172052d4a901856" 555 | integrity sha512-MPVTkOkGrm2SMQgI1FPNBm85y2pPqlPb6VDjIMCWkVpAr6G1IZzUT24yEMySRcIlK/Hh7/Qu1Nu5ASRzRuX6+Q== 556 | dependencies: 557 | "@firebase/component" "0.5.17" 558 | "@firebase/installations" "0.5.12" 559 | "@firebase/logger" "0.3.3" 560 | "@firebase/util" "1.6.3" 561 | tslib "^2.1.0" 562 | 563 | "@firebase/remote-config-compat@0.1.12": 564 | version "0.1.12" 565 | resolved "https://registry.yarnpkg.com/@firebase/remote-config-compat/-/remote-config-compat-0.1.12.tgz#7606752d7bfe2701d58568345ca536beda14ee53" 566 | integrity sha512-Yz7Gtb2rLa7ykXZX9DnSTId8CXd++jFFLW3foUImrYwJEtWgLJc7gwkRfd1M73IlKGNuQAY+DpUNF0n1dLbecA== 567 | dependencies: 568 | "@firebase/component" "0.5.17" 569 | "@firebase/logger" "0.3.3" 570 | "@firebase/remote-config" "0.3.11" 571 | "@firebase/remote-config-types" "0.2.0" 572 | "@firebase/util" "1.6.3" 573 | tslib "^2.1.0" 574 | 575 | "@firebase/remote-config-types@0.2.0": 576 | version "0.2.0" 577 | resolved "https://registry.yarnpkg.com/@firebase/remote-config-types/-/remote-config-types-0.2.0.tgz#1e2759fc01f20b58c564db42196f075844c3d1fd" 578 | integrity sha512-hqK5sCPeZvcHQ1D6VjJZdW6EexLTXNMJfPdTwbD8NrXUw6UjWC4KWhLK/TSlL0QPsQtcKRkaaoP+9QCgKfMFPw== 579 | 580 | "@firebase/remote-config@0.3.11": 581 | version "0.3.11" 582 | resolved "https://registry.yarnpkg.com/@firebase/remote-config/-/remote-config-0.3.11.tgz#93c82b5944a20c027f4ee82c145813ca96b430bb" 583 | integrity sha512-qA84dstrvVpO7rWT/sb2CLv1kjHVmz59SRFPKohJJYFBcPOGK4Pe4FWWhKAE9yg1Gnl0qYAGkahOwNawq3vE0g== 584 | dependencies: 585 | "@firebase/component" "0.5.17" 586 | "@firebase/installations" "0.5.12" 587 | "@firebase/logger" "0.3.3" 588 | "@firebase/util" "1.6.3" 589 | tslib "^2.1.0" 590 | 591 | "@firebase/storage-compat@0.1.17": 592 | version "0.1.17" 593 | resolved "https://registry.yarnpkg.com/@firebase/storage-compat/-/storage-compat-0.1.17.tgz#da721071e006d066fb9b1cff69481bd59a02346b" 594 | integrity sha512-nOYmnpI0gwoz5nROseMi9WbmHGf+xumfsOvdPyMZAjy0VqbDnpKIwmTUZQBdR+bLuB5oIkHQsvw9nbb1SH+PzQ== 595 | dependencies: 596 | "@firebase/component" "0.5.17" 597 | "@firebase/storage" "0.9.9" 598 | "@firebase/storage-types" "0.6.0" 599 | "@firebase/util" "1.6.3" 600 | tslib "^2.1.0" 601 | 602 | "@firebase/storage-types@0.6.0": 603 | version "0.6.0" 604 | resolved "https://registry.yarnpkg.com/@firebase/storage-types/-/storage-types-0.6.0.tgz#0b1af64a2965af46fca138e5b70700e9b7e6312a" 605 | integrity sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA== 606 | 607 | "@firebase/storage@0.9.9": 608 | version "0.9.9" 609 | resolved "https://registry.yarnpkg.com/@firebase/storage/-/storage-0.9.9.tgz#3d0080dd130bc3315731483384a7ef7c00f76e22" 610 | integrity sha512-Zch7srLT2SIh9y2nCVv/4Kne0HULn7OPkmreY70BJTUJ+g5WLRjggBq6x9fV5ls9V38iqMWfn4prxzX8yIc08A== 611 | dependencies: 612 | "@firebase/component" "0.5.17" 613 | "@firebase/util" "1.6.3" 614 | node-fetch "2.6.7" 615 | tslib "^2.1.0" 616 | 617 | "@firebase/util@1.6.3": 618 | version "1.6.3" 619 | resolved "https://registry.yarnpkg.com/@firebase/util/-/util-1.6.3.tgz#76128c1b5684c031823e95f6c08a7fb8560655c6" 620 | integrity sha512-FujteO6Zjv6v8A4HS+t7c+PjU0Kaxj+rOnka0BsI/twUaCC9t8EQPmXpWZdk7XfszfahJn2pqsflUWUhtUkRlg== 621 | dependencies: 622 | tslib "^2.1.0" 623 | 624 | "@firebase/webchannel-wrapper@0.6.2": 625 | version "0.6.2" 626 | resolved "https://registry.yarnpkg.com/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.2.tgz#6d05fa126104c9907573364dc04147b89b530e15" 627 | integrity sha512-zThUKcqIU6utWzM93uEvhlh8qj8A5LMPFJPvk/ODb+8GSSif19xM2Lw1M2ijyBy8+6skSkQBbavPzOU5Oh/8tQ== 628 | 629 | "@grpc/grpc-js@^1.3.2": 630 | version "1.6.12" 631 | resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.6.12.tgz#20f710d8a8c5c396b2ae9530ba6c06b984614fdf" 632 | integrity sha512-JmvQ03OTSpVd9JTlj/K3IWHSz4Gk/JMLUTtW7Zb0KvO1LcOYGATh5cNuRYzCAeDR3O8wq+q8FZe97eO9MBrkUw== 633 | dependencies: 634 | "@grpc/proto-loader" "^0.7.0" 635 | "@types/node" ">=12.12.47" 636 | 637 | "@grpc/proto-loader@^0.6.13": 638 | version "0.6.13" 639 | resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.6.13.tgz#008f989b72a40c60c96cd4088522f09b05ac66bc" 640 | integrity sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g== 641 | dependencies: 642 | "@types/long" "^4.0.1" 643 | lodash.camelcase "^4.3.0" 644 | long "^4.0.0" 645 | protobufjs "^6.11.3" 646 | yargs "^16.2.0" 647 | 648 | "@grpc/proto-loader@^0.7.0": 649 | version "0.7.2" 650 | resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.2.tgz#fa63178853afe1473c50cff89fe572f7c8b20154" 651 | integrity sha512-jCdyLIT/tdQ1zhrbTQnJNK5nbDf0GoBpy5jVNywBzzMDF+Vs6uEaHnfz46dMtDxkvwrF2hzk5Z67goliceH0sA== 652 | dependencies: 653 | "@types/long" "^4.0.1" 654 | lodash.camelcase "^4.3.0" 655 | long "^4.0.0" 656 | protobufjs "^7.0.0" 657 | yargs "^16.2.0" 658 | 659 | "@headlessui/react@^1.6.6": 660 | version "1.6.6" 661 | resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.6.6.tgz#3073c066b85535c9d28783da0a4d9288b5354d0c" 662 | integrity sha512-MFJtmj9Xh/hhBMhLccGbBoSk+sk61BlP6sJe4uQcVMtXZhCgGqd2GyIQzzmsdPdTEWGSF434CBi8mnhR6um46Q== 663 | 664 | "@heroicons/react@^2.0.10": 665 | version "2.0.10" 666 | resolved "https://registry.yarnpkg.com/@heroicons/react/-/react-2.0.10.tgz#191a305aa2dc2271903f027c9f4700ca3dfa9e7b" 667 | integrity sha512-Ufr+pgAElNiRCSklnHGOR10bXb02BLlosvbDK7sCRUMOcQ3R/HCXTfXs4BUkYZ4dKpx6l5dUD06VSW1dTpTEDw== 668 | 669 | "@jridgewell/gen-mapping@^0.1.0": 670 | version "0.1.1" 671 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" 672 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 673 | dependencies: 674 | "@jridgewell/set-array" "^1.0.0" 675 | "@jridgewell/sourcemap-codec" "^1.4.10" 676 | 677 | "@jridgewell/gen-mapping@^0.3.2": 678 | version "0.3.2" 679 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 680 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 681 | dependencies: 682 | "@jridgewell/set-array" "^1.0.1" 683 | "@jridgewell/sourcemap-codec" "^1.4.10" 684 | "@jridgewell/trace-mapping" "^0.3.9" 685 | 686 | "@jridgewell/resolve-uri@^3.0.3": 687 | version "3.1.0" 688 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 689 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 690 | 691 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 692 | version "1.1.2" 693 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 694 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 695 | 696 | "@jridgewell/sourcemap-codec@^1.4.10": 697 | version "1.4.14" 698 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 699 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 700 | 701 | "@jridgewell/trace-mapping@^0.3.9": 702 | version "0.3.15" 703 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" 704 | integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== 705 | dependencies: 706 | "@jridgewell/resolve-uri" "^3.0.3" 707 | "@jridgewell/sourcemap-codec" "^1.4.10" 708 | 709 | "@nodelib/fs.scandir@2.1.5": 710 | version "2.1.5" 711 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 712 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 713 | dependencies: 714 | "@nodelib/fs.stat" "2.0.5" 715 | run-parallel "^1.1.9" 716 | 717 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 718 | version "2.0.5" 719 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 720 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 721 | 722 | "@nodelib/fs.walk@^1.2.3": 723 | version "1.2.8" 724 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 725 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 726 | dependencies: 727 | "@nodelib/fs.scandir" "2.1.5" 728 | fastq "^1.6.0" 729 | 730 | "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": 731 | version "1.1.2" 732 | resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" 733 | integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== 734 | 735 | "@protobufjs/base64@^1.1.2": 736 | version "1.1.2" 737 | resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" 738 | integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== 739 | 740 | "@protobufjs/codegen@^2.0.4": 741 | version "2.0.4" 742 | resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" 743 | integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== 744 | 745 | "@protobufjs/eventemitter@^1.1.0": 746 | version "1.1.0" 747 | resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" 748 | integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== 749 | 750 | "@protobufjs/fetch@^1.1.0": 751 | version "1.1.0" 752 | resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" 753 | integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== 754 | dependencies: 755 | "@protobufjs/aspromise" "^1.1.1" 756 | "@protobufjs/inquire" "^1.1.0" 757 | 758 | "@protobufjs/float@^1.0.2": 759 | version "1.0.2" 760 | resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" 761 | integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== 762 | 763 | "@protobufjs/inquire@^1.1.0": 764 | version "1.1.0" 765 | resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" 766 | integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== 767 | 768 | "@protobufjs/path@^1.1.2": 769 | version "1.1.2" 770 | resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" 771 | integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== 772 | 773 | "@protobufjs/pool@^1.1.0": 774 | version "1.1.0" 775 | resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" 776 | integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== 777 | 778 | "@protobufjs/utf8@^1.1.0": 779 | version "1.1.0" 780 | resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" 781 | integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== 782 | 783 | "@tailwindcss/forms@^0.5.3": 784 | version "0.5.3" 785 | resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.5.3.tgz#e4d7989686cbcaf416c53f1523df5225332a86e7" 786 | integrity sha512-y5mb86JUoiUgBjY/o6FJSFZSEttfb3Q5gllE4xoKjAAD+vBrnIhE4dViwUuow3va8mpH4s9jyUbUbrRGoRdc2Q== 787 | dependencies: 788 | mini-svg-data-uri "^1.2.3" 789 | 790 | "@types/long@^4.0.1": 791 | version "4.0.2" 792 | resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" 793 | integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== 794 | 795 | "@types/node@>=12.12.47", "@types/node@>=13.7.0": 796 | version "18.7.14" 797 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.14.tgz#0fe081752a3333392d00586d815485a17c2cf3c9" 798 | integrity sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA== 799 | 800 | "@types/prop-types@*": 801 | version "15.7.5" 802 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" 803 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 804 | 805 | "@types/react-dom@^18.0.6": 806 | version "18.0.6" 807 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.6.tgz#36652900024842b74607a17786b6662dd1e103a1" 808 | integrity sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA== 809 | dependencies: 810 | "@types/react" "*" 811 | 812 | "@types/react@*", "@types/react@^18.0.17": 813 | version "18.0.18" 814 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.18.tgz#9f16f33d57bc5d9dca848d12c3572110ff9429ac" 815 | integrity sha512-6hI08umYs6NaiHFEEGioXnxJ+oEhY3eRz8VCUaudZmGdtvPviCJB8mgaMxaDWAdPSYd4eFavrPk2QIolwbLYrg== 816 | dependencies: 817 | "@types/prop-types" "*" 818 | "@types/scheduler" "*" 819 | csstype "^3.0.2" 820 | 821 | "@types/scheduler@*": 822 | version "0.16.2" 823 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 824 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 825 | 826 | "@vitejs/plugin-react@^2.0.1": 827 | version "2.0.1" 828 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-2.0.1.tgz#3197c01d8e4a4eb9fed829c7888c467a43aadd4e" 829 | integrity sha512-uINzNHmjrbunlFtyVkST6lY1ewSfz/XwLufG0PIqvLGnpk2nOIOa/1CACTDNcKi1/RwaCzJLmsXwm1NsUVV/NA== 830 | dependencies: 831 | "@babel/core" "^7.18.10" 832 | "@babel/plugin-transform-react-jsx" "^7.18.10" 833 | "@babel/plugin-transform-react-jsx-development" "^7.18.6" 834 | "@babel/plugin-transform-react-jsx-self" "^7.18.6" 835 | "@babel/plugin-transform-react-jsx-source" "^7.18.6" 836 | magic-string "^0.26.2" 837 | react-refresh "^0.14.0" 838 | 839 | acorn-node@^1.8.2: 840 | version "1.8.2" 841 | resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" 842 | integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== 843 | dependencies: 844 | acorn "^7.0.0" 845 | acorn-walk "^7.0.0" 846 | xtend "^4.0.2" 847 | 848 | acorn-walk@^7.0.0: 849 | version "7.2.0" 850 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" 851 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== 852 | 853 | acorn@^7.0.0: 854 | version "7.4.1" 855 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 856 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 857 | 858 | ansi-regex@^5.0.1: 859 | version "5.0.1" 860 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 861 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 862 | 863 | ansi-styles@^3.2.1: 864 | version "3.2.1" 865 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 866 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 867 | dependencies: 868 | color-convert "^1.9.0" 869 | 870 | ansi-styles@^4.0.0: 871 | version "4.3.0" 872 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 873 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 874 | dependencies: 875 | color-convert "^2.0.1" 876 | 877 | anymatch@~3.1.2: 878 | version "3.1.2" 879 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 880 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 881 | dependencies: 882 | normalize-path "^3.0.0" 883 | picomatch "^2.0.4" 884 | 885 | arg@^5.0.2: 886 | version "5.0.2" 887 | resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" 888 | integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== 889 | 890 | asynckit@^0.4.0: 891 | version "0.4.0" 892 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 893 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 894 | 895 | autoprefixer@^10.4.8: 896 | version "10.4.8" 897 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5" 898 | integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw== 899 | dependencies: 900 | browserslist "^4.21.3" 901 | caniuse-lite "^1.0.30001373" 902 | fraction.js "^4.2.0" 903 | normalize-range "^0.1.2" 904 | picocolors "^1.0.0" 905 | postcss-value-parser "^4.2.0" 906 | 907 | axios@^0.27.2: 908 | version "0.27.2" 909 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" 910 | integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== 911 | dependencies: 912 | follow-redirects "^1.14.9" 913 | form-data "^4.0.0" 914 | 915 | balanced-match@^1.0.0: 916 | version "1.0.2" 917 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 918 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 919 | 920 | binary-extensions@^2.0.0: 921 | version "2.2.0" 922 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 923 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 924 | 925 | brace-expansion@^1.1.7: 926 | version "1.1.11" 927 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 928 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 929 | dependencies: 930 | balanced-match "^1.0.0" 931 | concat-map "0.0.1" 932 | 933 | braces@^3.0.2, braces@~3.0.2: 934 | version "3.0.2" 935 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 936 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 937 | dependencies: 938 | fill-range "^7.0.1" 939 | 940 | browserslist@^4.20.2, browserslist@^4.21.3: 941 | version "4.21.3" 942 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" 943 | integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== 944 | dependencies: 945 | caniuse-lite "^1.0.30001370" 946 | electron-to-chromium "^1.4.202" 947 | node-releases "^2.0.6" 948 | update-browserslist-db "^1.0.5" 949 | 950 | camelcase-css@^2.0.1: 951 | version "2.0.1" 952 | resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" 953 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== 954 | 955 | caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: 956 | version "1.0.30001388" 957 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001388.tgz#88e01f4591cbd81f9f665f3f078c66b509fbe55d" 958 | integrity sha512-znVbq4OUjqgLxMxoNX2ZeeLR0d7lcDiE5uJ4eUiWdml1J1EkxbnQq6opT9jb9SMfJxB0XA16/ziHwni4u1I3GQ== 959 | 960 | chalk@^2.0.0: 961 | version "2.4.2" 962 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 963 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 964 | dependencies: 965 | ansi-styles "^3.2.1" 966 | escape-string-regexp "^1.0.5" 967 | supports-color "^5.3.0" 968 | 969 | chokidar@^3.5.3: 970 | version "3.5.3" 971 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 972 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 973 | dependencies: 974 | anymatch "~3.1.2" 975 | braces "~3.0.2" 976 | glob-parent "~5.1.2" 977 | is-binary-path "~2.1.0" 978 | is-glob "~4.0.1" 979 | normalize-path "~3.0.0" 980 | readdirp "~3.6.0" 981 | optionalDependencies: 982 | fsevents "~2.3.2" 983 | 984 | cliui@^7.0.2: 985 | version "7.0.4" 986 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 987 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 988 | dependencies: 989 | string-width "^4.2.0" 990 | strip-ansi "^6.0.0" 991 | wrap-ansi "^7.0.0" 992 | 993 | clsx@^1.1.1: 994 | version "1.2.1" 995 | resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" 996 | integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== 997 | 998 | color-convert@^1.9.0: 999 | version "1.9.3" 1000 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 1001 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 1002 | dependencies: 1003 | color-name "1.1.3" 1004 | 1005 | color-convert@^2.0.1: 1006 | version "2.0.1" 1007 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 1008 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 1009 | dependencies: 1010 | color-name "~1.1.4" 1011 | 1012 | color-name@1.1.3: 1013 | version "1.1.3" 1014 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 1015 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 1016 | 1017 | color-name@^1.1.4, color-name@~1.1.4: 1018 | version "1.1.4" 1019 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 1020 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 1021 | 1022 | combined-stream@^1.0.8: 1023 | version "1.0.8" 1024 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 1025 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 1026 | dependencies: 1027 | delayed-stream "~1.0.0" 1028 | 1029 | concat-map@0.0.1: 1030 | version "0.0.1" 1031 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1032 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 1033 | 1034 | convert-source-map@^1.7.0: 1035 | version "1.8.0" 1036 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 1037 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 1038 | dependencies: 1039 | safe-buffer "~5.1.1" 1040 | 1041 | core-util-is@~1.0.0: 1042 | version "1.0.3" 1043 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" 1044 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 1045 | 1046 | cssesc@^3.0.0: 1047 | version "3.0.0" 1048 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 1049 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 1050 | 1051 | csstype@^3.0.2: 1052 | version "3.1.0" 1053 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2" 1054 | integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA== 1055 | 1056 | debug@^4.1.0: 1057 | version "4.3.4" 1058 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 1059 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 1060 | dependencies: 1061 | ms "2.1.2" 1062 | 1063 | defined@^1.0.0: 1064 | version "1.0.0" 1065 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 1066 | integrity sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ== 1067 | 1068 | delayed-stream@~1.0.0: 1069 | version "1.0.0" 1070 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 1071 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 1072 | 1073 | detective@^5.2.1: 1074 | version "5.2.1" 1075 | resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034" 1076 | integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== 1077 | dependencies: 1078 | acorn-node "^1.8.2" 1079 | defined "^1.0.0" 1080 | minimist "^1.2.6" 1081 | 1082 | didyoumean@^1.2.2: 1083 | version "1.2.2" 1084 | resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" 1085 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== 1086 | 1087 | dlv@^1.1.3: 1088 | version "1.1.3" 1089 | resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" 1090 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== 1091 | 1092 | electron-to-chromium@^1.4.202: 1093 | version "1.4.241" 1094 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.241.tgz#5aa03ab94db590d8269f4518157c24b1efad34d6" 1095 | integrity sha512-e7Wsh4ilaioBZ5bMm6+F4V5c11dh56/5Jwz7Hl5Tu1J7cnB+Pqx5qIF2iC7HPpfyQMqGSvvLP5bBAIDd2gAtGw== 1096 | 1097 | emoji-regex@^8.0.0: 1098 | version "8.0.0" 1099 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1100 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1101 | 1102 | esbuild-android-64@0.14.54: 1103 | version "0.14.54" 1104 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" 1105 | integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== 1106 | 1107 | esbuild-android-arm64@0.14.54: 1108 | version "0.14.54" 1109 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" 1110 | integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== 1111 | 1112 | esbuild-darwin-64@0.14.54: 1113 | version "0.14.54" 1114 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" 1115 | integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== 1116 | 1117 | esbuild-darwin-arm64@0.14.54: 1118 | version "0.14.54" 1119 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" 1120 | integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== 1121 | 1122 | esbuild-freebsd-64@0.14.54: 1123 | version "0.14.54" 1124 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" 1125 | integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== 1126 | 1127 | esbuild-freebsd-arm64@0.14.54: 1128 | version "0.14.54" 1129 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" 1130 | integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== 1131 | 1132 | esbuild-linux-32@0.14.54: 1133 | version "0.14.54" 1134 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" 1135 | integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== 1136 | 1137 | esbuild-linux-64@0.14.54: 1138 | version "0.14.54" 1139 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" 1140 | integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== 1141 | 1142 | esbuild-linux-arm64@0.14.54: 1143 | version "0.14.54" 1144 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" 1145 | integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== 1146 | 1147 | esbuild-linux-arm@0.14.54: 1148 | version "0.14.54" 1149 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" 1150 | integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== 1151 | 1152 | esbuild-linux-mips64le@0.14.54: 1153 | version "0.14.54" 1154 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" 1155 | integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== 1156 | 1157 | esbuild-linux-ppc64le@0.14.54: 1158 | version "0.14.54" 1159 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" 1160 | integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== 1161 | 1162 | esbuild-linux-riscv64@0.14.54: 1163 | version "0.14.54" 1164 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" 1165 | integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== 1166 | 1167 | esbuild-linux-s390x@0.14.54: 1168 | version "0.14.54" 1169 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" 1170 | integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== 1171 | 1172 | esbuild-netbsd-64@0.14.54: 1173 | version "0.14.54" 1174 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" 1175 | integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== 1176 | 1177 | esbuild-openbsd-64@0.14.54: 1178 | version "0.14.54" 1179 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" 1180 | integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== 1181 | 1182 | esbuild-sunos-64@0.14.54: 1183 | version "0.14.54" 1184 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" 1185 | integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw== 1186 | 1187 | esbuild-windows-32@0.14.54: 1188 | version "0.14.54" 1189 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" 1190 | integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== 1191 | 1192 | esbuild-windows-64@0.14.54: 1193 | version "0.14.54" 1194 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" 1195 | integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== 1196 | 1197 | esbuild-windows-arm64@0.14.54: 1198 | version "0.14.54" 1199 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" 1200 | integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg== 1201 | 1202 | esbuild@^0.14.47: 1203 | version "0.14.54" 1204 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2" 1205 | integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== 1206 | optionalDependencies: 1207 | "@esbuild/linux-loong64" "0.14.54" 1208 | esbuild-android-64 "0.14.54" 1209 | esbuild-android-arm64 "0.14.54" 1210 | esbuild-darwin-64 "0.14.54" 1211 | esbuild-darwin-arm64 "0.14.54" 1212 | esbuild-freebsd-64 "0.14.54" 1213 | esbuild-freebsd-arm64 "0.14.54" 1214 | esbuild-linux-32 "0.14.54" 1215 | esbuild-linux-64 "0.14.54" 1216 | esbuild-linux-arm "0.14.54" 1217 | esbuild-linux-arm64 "0.14.54" 1218 | esbuild-linux-mips64le "0.14.54" 1219 | esbuild-linux-ppc64le "0.14.54" 1220 | esbuild-linux-riscv64 "0.14.54" 1221 | esbuild-linux-s390x "0.14.54" 1222 | esbuild-netbsd-64 "0.14.54" 1223 | esbuild-openbsd-64 "0.14.54" 1224 | esbuild-sunos-64 "0.14.54" 1225 | esbuild-windows-32 "0.14.54" 1226 | esbuild-windows-64 "0.14.54" 1227 | esbuild-windows-arm64 "0.14.54" 1228 | 1229 | escalade@^3.1.1: 1230 | version "3.1.1" 1231 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1232 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1233 | 1234 | escape-string-regexp@^1.0.5: 1235 | version "1.0.5" 1236 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1237 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 1238 | 1239 | fast-glob@^3.2.11: 1240 | version "3.2.11" 1241 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" 1242 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 1243 | dependencies: 1244 | "@nodelib/fs.stat" "^2.0.2" 1245 | "@nodelib/fs.walk" "^1.2.3" 1246 | glob-parent "^5.1.2" 1247 | merge2 "^1.3.0" 1248 | micromatch "^4.0.4" 1249 | 1250 | fastq@^1.6.0: 1251 | version "1.13.0" 1252 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 1253 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 1254 | dependencies: 1255 | reusify "^1.0.4" 1256 | 1257 | faye-websocket@0.11.4: 1258 | version "0.11.4" 1259 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" 1260 | integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== 1261 | dependencies: 1262 | websocket-driver ">=0.5.1" 1263 | 1264 | fill-range@^7.0.1: 1265 | version "7.0.1" 1266 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1267 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1268 | dependencies: 1269 | to-regex-range "^5.0.1" 1270 | 1271 | firebase@^9.9.3: 1272 | version "9.9.4" 1273 | resolved "https://registry.yarnpkg.com/firebase/-/firebase-9.9.4.tgz#bf13706eff90f40a8dc9de803223a728447a6279" 1274 | integrity sha512-XRfCw54nNGYUYNYi5PLJ6rcERN2M+aS32f6caYEx9GhCp9ndgHHzBL9BpPohUpEpKPtHA75EqYNf8kuR0HQndA== 1275 | dependencies: 1276 | "@firebase/analytics" "0.8.0" 1277 | "@firebase/analytics-compat" "0.1.13" 1278 | "@firebase/app" "0.7.32" 1279 | "@firebase/app-check" "0.5.12" 1280 | "@firebase/app-check-compat" "0.2.12" 1281 | "@firebase/app-compat" "0.1.33" 1282 | "@firebase/app-types" "0.7.0" 1283 | "@firebase/auth" "0.20.6" 1284 | "@firebase/auth-compat" "0.2.19" 1285 | "@firebase/database" "0.13.6" 1286 | "@firebase/database-compat" "0.2.6" 1287 | "@firebase/firestore" "3.4.15" 1288 | "@firebase/firestore-compat" "0.1.24" 1289 | "@firebase/functions" "0.8.4" 1290 | "@firebase/functions-compat" "0.2.4" 1291 | "@firebase/installations" "0.5.12" 1292 | "@firebase/installations-compat" "0.1.12" 1293 | "@firebase/messaging" "0.9.16" 1294 | "@firebase/messaging-compat" "0.1.16" 1295 | "@firebase/performance" "0.5.12" 1296 | "@firebase/performance-compat" "0.1.12" 1297 | "@firebase/remote-config" "0.3.11" 1298 | "@firebase/remote-config-compat" "0.1.12" 1299 | "@firebase/storage" "0.9.9" 1300 | "@firebase/storage-compat" "0.1.17" 1301 | "@firebase/util" "1.6.3" 1302 | 1303 | follow-redirects@^1.14.9: 1304 | version "1.15.1" 1305 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" 1306 | integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== 1307 | 1308 | form-data@^4.0.0: 1309 | version "4.0.0" 1310 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 1311 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 1312 | dependencies: 1313 | asynckit "^0.4.0" 1314 | combined-stream "^1.0.8" 1315 | mime-types "^2.1.12" 1316 | 1317 | fraction.js@^4.2.0: 1318 | version "4.2.0" 1319 | resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" 1320 | integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== 1321 | 1322 | fs.realpath@^1.0.0: 1323 | version "1.0.0" 1324 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1325 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1326 | 1327 | fsevents@~2.3.2: 1328 | version "2.3.2" 1329 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1330 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1331 | 1332 | function-bind@^1.1.1: 1333 | version "1.1.1" 1334 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1335 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1336 | 1337 | gensync@^1.0.0-beta.2: 1338 | version "1.0.0-beta.2" 1339 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1340 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1341 | 1342 | get-caller-file@^2.0.5: 1343 | version "2.0.5" 1344 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1345 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1346 | 1347 | glob-parent@^5.1.2, glob-parent@~5.1.2: 1348 | version "5.1.2" 1349 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1350 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1351 | dependencies: 1352 | is-glob "^4.0.1" 1353 | 1354 | glob-parent@^6.0.2: 1355 | version "6.0.2" 1356 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 1357 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 1358 | dependencies: 1359 | is-glob "^4.0.3" 1360 | 1361 | glob@^7.1.3: 1362 | version "7.2.3" 1363 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 1364 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 1365 | dependencies: 1366 | fs.realpath "^1.0.0" 1367 | inflight "^1.0.4" 1368 | inherits "2" 1369 | minimatch "^3.1.1" 1370 | once "^1.3.0" 1371 | path-is-absolute "^1.0.0" 1372 | 1373 | globals@^11.1.0: 1374 | version "11.12.0" 1375 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1376 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1377 | 1378 | has-flag@^3.0.0: 1379 | version "3.0.0" 1380 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1381 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 1382 | 1383 | has@^1.0.3: 1384 | version "1.0.3" 1385 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1386 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1387 | dependencies: 1388 | function-bind "^1.1.1" 1389 | 1390 | history@^5.2.0: 1391 | version "5.3.0" 1392 | resolved "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz#1548abaa245ba47992f063a0783db91ef201c73b" 1393 | integrity sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ== 1394 | dependencies: 1395 | "@babel/runtime" "^7.7.6" 1396 | 1397 | http-parser-js@>=0.5.1: 1398 | version "0.5.8" 1399 | resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" 1400 | integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== 1401 | 1402 | idb@7.0.1: 1403 | version "7.0.1" 1404 | resolved "https://registry.yarnpkg.com/idb/-/idb-7.0.1.tgz#d2875b3a2f205d854ee307f6d196f246fea590a7" 1405 | integrity sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg== 1406 | 1407 | immediate@~3.0.5: 1408 | version "3.0.6" 1409 | resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" 1410 | integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== 1411 | 1412 | inflight@^1.0.4: 1413 | version "1.0.6" 1414 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1415 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 1416 | dependencies: 1417 | once "^1.3.0" 1418 | wrappy "1" 1419 | 1420 | inherits@2, inherits@~2.0.3: 1421 | version "2.0.4" 1422 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1423 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1424 | 1425 | is-binary-path@~2.1.0: 1426 | version "2.1.0" 1427 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1428 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1429 | dependencies: 1430 | binary-extensions "^2.0.0" 1431 | 1432 | is-core-module@^2.9.0: 1433 | version "2.10.0" 1434 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" 1435 | integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== 1436 | dependencies: 1437 | has "^1.0.3" 1438 | 1439 | is-extglob@^2.1.1: 1440 | version "2.1.1" 1441 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1442 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 1443 | 1444 | is-fullwidth-code-point@^3.0.0: 1445 | version "3.0.0" 1446 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1447 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1448 | 1449 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 1450 | version "4.0.3" 1451 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1452 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1453 | dependencies: 1454 | is-extglob "^2.1.1" 1455 | 1456 | is-number@^7.0.0: 1457 | version "7.0.0" 1458 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1459 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1460 | 1461 | isarray@~1.0.0: 1462 | version "1.0.0" 1463 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1464 | integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== 1465 | 1466 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 1467 | version "4.0.0" 1468 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1469 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1470 | 1471 | jsesc@^2.5.1: 1472 | version "2.5.2" 1473 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1474 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1475 | 1476 | json5@^2.2.1: 1477 | version "2.2.1" 1478 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" 1479 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== 1480 | 1481 | jszip@^3.6.0: 1482 | version "3.10.1" 1483 | resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" 1484 | integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== 1485 | dependencies: 1486 | lie "~3.3.0" 1487 | pako "~1.0.2" 1488 | readable-stream "~2.3.6" 1489 | setimmediate "^1.0.5" 1490 | 1491 | lie@~3.3.0: 1492 | version "3.3.0" 1493 | resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" 1494 | integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== 1495 | dependencies: 1496 | immediate "~3.0.5" 1497 | 1498 | lilconfig@^2.0.5, lilconfig@^2.0.6: 1499 | version "2.0.6" 1500 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" 1501 | integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== 1502 | 1503 | lodash.camelcase@^4.3.0: 1504 | version "4.3.0" 1505 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" 1506 | integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== 1507 | 1508 | long@^4.0.0: 1509 | version "4.0.0" 1510 | resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" 1511 | integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== 1512 | 1513 | long@^5.0.0: 1514 | version "5.2.0" 1515 | resolved "https://registry.yarnpkg.com/long/-/long-5.2.0.tgz#2696dadf4b4da2ce3f6f6b89186085d94d52fd61" 1516 | integrity sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w== 1517 | 1518 | loose-envify@^1.1.0: 1519 | version "1.4.0" 1520 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1521 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1522 | dependencies: 1523 | js-tokens "^3.0.0 || ^4.0.0" 1524 | 1525 | magic-string@^0.26.2: 1526 | version "0.26.3" 1527 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.3.tgz#25840b875140f7b4785ab06bddc384270b7dd452" 1528 | integrity sha512-u1Po0NDyFcwdg2nzHT88wSK0+Rih0N1M+Ph1Sp08k8yvFFU3KR72wryS7e1qMPJypt99WB7fIFVCA92mQrMjrg== 1529 | dependencies: 1530 | sourcemap-codec "^1.4.8" 1531 | 1532 | merge2@^1.3.0: 1533 | version "1.4.1" 1534 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1535 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1536 | 1537 | micromatch@^4.0.4: 1538 | version "4.0.5" 1539 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 1540 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1541 | dependencies: 1542 | braces "^3.0.2" 1543 | picomatch "^2.3.1" 1544 | 1545 | mime-db@1.52.0: 1546 | version "1.52.0" 1547 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 1548 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 1549 | 1550 | mime-types@^2.1.12: 1551 | version "2.1.35" 1552 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 1553 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 1554 | dependencies: 1555 | mime-db "1.52.0" 1556 | 1557 | mini-svg-data-uri@^1.2.3: 1558 | version "1.4.4" 1559 | resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz#8ab0aabcdf8c29ad5693ca595af19dd2ead09939" 1560 | integrity sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg== 1561 | 1562 | minimatch@^3.1.1: 1563 | version "3.1.2" 1564 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1565 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1566 | dependencies: 1567 | brace-expansion "^1.1.7" 1568 | 1569 | minimist@^1.2.6: 1570 | version "1.2.6" 1571 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" 1572 | integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== 1573 | 1574 | ms@2.1.2: 1575 | version "2.1.2" 1576 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1577 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1578 | 1579 | nanoid@^3.3.4: 1580 | version "3.3.4" 1581 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 1582 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 1583 | 1584 | node-fetch@2.6.7: 1585 | version "2.6.7" 1586 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" 1587 | integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== 1588 | dependencies: 1589 | whatwg-url "^5.0.0" 1590 | 1591 | node-releases@^2.0.6: 1592 | version "2.0.6" 1593 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" 1594 | integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== 1595 | 1596 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1597 | version "3.0.0" 1598 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1599 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1600 | 1601 | normalize-range@^0.1.2: 1602 | version "0.1.2" 1603 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" 1604 | integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== 1605 | 1606 | object-hash@^3.0.0: 1607 | version "3.0.0" 1608 | resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" 1609 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== 1610 | 1611 | once@^1.3.0: 1612 | version "1.4.0" 1613 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1614 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 1615 | dependencies: 1616 | wrappy "1" 1617 | 1618 | pako@~1.0.2: 1619 | version "1.0.11" 1620 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" 1621 | integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== 1622 | 1623 | path-is-absolute@^1.0.0: 1624 | version "1.0.1" 1625 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1626 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 1627 | 1628 | path-parse@^1.0.7: 1629 | version "1.0.7" 1630 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1631 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1632 | 1633 | picocolors@^1.0.0: 1634 | version "1.0.0" 1635 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1636 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1637 | 1638 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 1639 | version "2.3.1" 1640 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 1641 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1642 | 1643 | pify@^2.3.0: 1644 | version "2.3.0" 1645 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 1646 | integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== 1647 | 1648 | postcss-import@^14.1.0: 1649 | version "14.1.0" 1650 | resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" 1651 | integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== 1652 | dependencies: 1653 | postcss-value-parser "^4.0.0" 1654 | read-cache "^1.0.0" 1655 | resolve "^1.1.7" 1656 | 1657 | postcss-js@^4.0.0: 1658 | version "4.0.0" 1659 | resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" 1660 | integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== 1661 | dependencies: 1662 | camelcase-css "^2.0.1" 1663 | 1664 | postcss-load-config@^3.1.4: 1665 | version "3.1.4" 1666 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" 1667 | integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== 1668 | dependencies: 1669 | lilconfig "^2.0.5" 1670 | yaml "^1.10.2" 1671 | 1672 | postcss-nested@5.0.6: 1673 | version "5.0.6" 1674 | resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" 1675 | integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== 1676 | dependencies: 1677 | postcss-selector-parser "^6.0.6" 1678 | 1679 | postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6: 1680 | version "6.0.10" 1681 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" 1682 | integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== 1683 | dependencies: 1684 | cssesc "^3.0.0" 1685 | util-deprecate "^1.0.2" 1686 | 1687 | postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: 1688 | version "4.2.0" 1689 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" 1690 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 1691 | 1692 | postcss@^8.4.14, postcss@^8.4.16: 1693 | version "8.4.16" 1694 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" 1695 | integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== 1696 | dependencies: 1697 | nanoid "^3.3.4" 1698 | picocolors "^1.0.0" 1699 | source-map-js "^1.0.2" 1700 | 1701 | prettier@^2.7.1: 1702 | version "2.7.1" 1703 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" 1704 | integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== 1705 | 1706 | process-nextick-args@~2.0.0: 1707 | version "2.0.1" 1708 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 1709 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 1710 | 1711 | protobufjs@^6.11.3: 1712 | version "6.11.3" 1713 | resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74" 1714 | integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== 1715 | dependencies: 1716 | "@protobufjs/aspromise" "^1.1.2" 1717 | "@protobufjs/base64" "^1.1.2" 1718 | "@protobufjs/codegen" "^2.0.4" 1719 | "@protobufjs/eventemitter" "^1.1.0" 1720 | "@protobufjs/fetch" "^1.1.0" 1721 | "@protobufjs/float" "^1.0.2" 1722 | "@protobufjs/inquire" "^1.1.0" 1723 | "@protobufjs/path" "^1.1.2" 1724 | "@protobufjs/pool" "^1.1.0" 1725 | "@protobufjs/utf8" "^1.1.0" 1726 | "@types/long" "^4.0.1" 1727 | "@types/node" ">=13.7.0" 1728 | long "^4.0.0" 1729 | 1730 | protobufjs@^7.0.0: 1731 | version "7.1.0" 1732 | resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.1.0.tgz#5174b5f96fad4f7dea7dd4abd594042ac360e665" 1733 | integrity sha512-rCuxKlh0UQKSMjrpIcTLbR5TtGQ52cgs1a5nUoPBAKOccdPblN67BJtjrbtudUJK6HmBvUdsmymyYOzO7lxZEA== 1734 | dependencies: 1735 | "@protobufjs/aspromise" "^1.1.2" 1736 | "@protobufjs/base64" "^1.1.2" 1737 | "@protobufjs/codegen" "^2.0.4" 1738 | "@protobufjs/eventemitter" "^1.1.0" 1739 | "@protobufjs/fetch" "^1.1.0" 1740 | "@protobufjs/float" "^1.0.2" 1741 | "@protobufjs/inquire" "^1.1.0" 1742 | "@protobufjs/path" "^1.1.2" 1743 | "@protobufjs/pool" "^1.1.0" 1744 | "@protobufjs/utf8" "^1.1.0" 1745 | "@types/node" ">=13.7.0" 1746 | long "^5.0.0" 1747 | 1748 | queue-microtask@^1.2.2: 1749 | version "1.2.3" 1750 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 1751 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1752 | 1753 | quick-lru@^5.1.1: 1754 | version "5.1.1" 1755 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" 1756 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== 1757 | 1758 | react-dom@^18.2.0: 1759 | version "18.2.0" 1760 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" 1761 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== 1762 | dependencies: 1763 | loose-envify "^1.1.0" 1764 | scheduler "^0.23.0" 1765 | 1766 | react-icons@^4.4.0: 1767 | version "4.4.0" 1768 | resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.4.0.tgz#a13a8a20c254854e1ec9aecef28a95cdf24ef703" 1769 | integrity sha512-fSbvHeVYo/B5/L4VhB7sBA1i2tS8MkT0Hb9t2H1AVPkwGfVHLJCqyr2Py9dKMxsyM63Eng1GkdZfbWj+Fmv8Rg== 1770 | 1771 | react-refresh@^0.14.0: 1772 | version "0.14.0" 1773 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" 1774 | integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== 1775 | 1776 | react-router-dom@^6.3.0: 1777 | version "6.3.0" 1778 | resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.3.0.tgz#a0216da813454e521905b5fa55e0e5176123f43d" 1779 | integrity sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw== 1780 | dependencies: 1781 | history "^5.2.0" 1782 | react-router "6.3.0" 1783 | 1784 | react-router@6.3.0: 1785 | version "6.3.0" 1786 | resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.3.0.tgz#3970cc64b4cb4eae0c1ea5203a80334fdd175557" 1787 | integrity sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ== 1788 | dependencies: 1789 | history "^5.2.0" 1790 | 1791 | react-toastify@^9.0.8: 1792 | version "9.0.8" 1793 | resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-9.0.8.tgz#3876c89fc6211a29027b3075010b5ec39ebe4f7e" 1794 | integrity sha512-EwM+teWt49HSHx+67qI08yLAW1zAsBxCXLCsUfxHYv1W7/R3ZLhrqKalh7j+kjgPna1h5LQMSMwns4tB4ww2yQ== 1795 | dependencies: 1796 | clsx "^1.1.1" 1797 | 1798 | react@^18.2.0: 1799 | version "18.2.0" 1800 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" 1801 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 1802 | dependencies: 1803 | loose-envify "^1.1.0" 1804 | 1805 | read-cache@^1.0.0: 1806 | version "1.0.0" 1807 | resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" 1808 | integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== 1809 | dependencies: 1810 | pify "^2.3.0" 1811 | 1812 | readable-stream@~2.3.6: 1813 | version "2.3.7" 1814 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 1815 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 1816 | dependencies: 1817 | core-util-is "~1.0.0" 1818 | inherits "~2.0.3" 1819 | isarray "~1.0.0" 1820 | process-nextick-args "~2.0.0" 1821 | safe-buffer "~5.1.1" 1822 | string_decoder "~1.1.1" 1823 | util-deprecate "~1.0.1" 1824 | 1825 | readdirp@~3.6.0: 1826 | version "3.6.0" 1827 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1828 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1829 | dependencies: 1830 | picomatch "^2.2.1" 1831 | 1832 | regenerator-runtime@^0.13.4: 1833 | version "0.13.9" 1834 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" 1835 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 1836 | 1837 | require-directory@^2.1.1: 1838 | version "2.1.1" 1839 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1840 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== 1841 | 1842 | resolve@^1.1.7, resolve@^1.22.1: 1843 | version "1.22.1" 1844 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 1845 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 1846 | dependencies: 1847 | is-core-module "^2.9.0" 1848 | path-parse "^1.0.7" 1849 | supports-preserve-symlinks-flag "^1.0.0" 1850 | 1851 | reusify@^1.0.4: 1852 | version "1.0.4" 1853 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 1854 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1855 | 1856 | rimraf@^3.0.0: 1857 | version "3.0.2" 1858 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 1859 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1860 | dependencies: 1861 | glob "^7.1.3" 1862 | 1863 | "rollup@>=2.75.6 <2.77.0 || ~2.77.0": 1864 | version "2.77.3" 1865 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.3.tgz#8f00418d3a2740036e15deb653bed1a90ee0cc12" 1866 | integrity sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g== 1867 | optionalDependencies: 1868 | fsevents "~2.3.2" 1869 | 1870 | run-parallel@^1.1.9: 1871 | version "1.2.0" 1872 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 1873 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1874 | dependencies: 1875 | queue-microtask "^1.2.2" 1876 | 1877 | safe-buffer@>=5.1.0: 1878 | version "5.2.1" 1879 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1880 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1881 | 1882 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1883 | version "5.1.2" 1884 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1885 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1886 | 1887 | scheduler@^0.23.0: 1888 | version "0.23.0" 1889 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" 1890 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== 1891 | dependencies: 1892 | loose-envify "^1.1.0" 1893 | 1894 | selenium-webdriver@4.1.2: 1895 | version "4.1.2" 1896 | resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz#d463b4335632d2ea41a9e988e435a55dc41f5314" 1897 | integrity sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw== 1898 | dependencies: 1899 | jszip "^3.6.0" 1900 | tmp "^0.2.1" 1901 | ws ">=7.4.6" 1902 | 1903 | semver@^6.3.0: 1904 | version "6.3.0" 1905 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1906 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1907 | 1908 | setimmediate@^1.0.5: 1909 | version "1.0.5" 1910 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 1911 | integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== 1912 | 1913 | source-map-js@^1.0.2: 1914 | version "1.0.2" 1915 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 1916 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1917 | 1918 | sourcemap-codec@^1.4.8: 1919 | version "1.4.8" 1920 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 1921 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 1922 | 1923 | string-width@^4.1.0, string-width@^4.2.0: 1924 | version "4.2.3" 1925 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 1926 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1927 | dependencies: 1928 | emoji-regex "^8.0.0" 1929 | is-fullwidth-code-point "^3.0.0" 1930 | strip-ansi "^6.0.1" 1931 | 1932 | string_decoder@~1.1.1: 1933 | version "1.1.1" 1934 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1935 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1936 | dependencies: 1937 | safe-buffer "~5.1.0" 1938 | 1939 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 1940 | version "6.0.1" 1941 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1942 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1943 | dependencies: 1944 | ansi-regex "^5.0.1" 1945 | 1946 | supports-color@^5.3.0: 1947 | version "5.5.0" 1948 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1949 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1950 | dependencies: 1951 | has-flag "^3.0.0" 1952 | 1953 | supports-preserve-symlinks-flag@^1.0.0: 1954 | version "1.0.0" 1955 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 1956 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1957 | 1958 | tailwindcss@^3.1.8: 1959 | version "3.1.8" 1960 | resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.1.8.tgz#4f8520550d67a835d32f2f4021580f9fddb7b741" 1961 | integrity sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g== 1962 | dependencies: 1963 | arg "^5.0.2" 1964 | chokidar "^3.5.3" 1965 | color-name "^1.1.4" 1966 | detective "^5.2.1" 1967 | didyoumean "^1.2.2" 1968 | dlv "^1.1.3" 1969 | fast-glob "^3.2.11" 1970 | glob-parent "^6.0.2" 1971 | is-glob "^4.0.3" 1972 | lilconfig "^2.0.6" 1973 | normalize-path "^3.0.0" 1974 | object-hash "^3.0.0" 1975 | picocolors "^1.0.0" 1976 | postcss "^8.4.14" 1977 | postcss-import "^14.1.0" 1978 | postcss-js "^4.0.0" 1979 | postcss-load-config "^3.1.4" 1980 | postcss-nested "5.0.6" 1981 | postcss-selector-parser "^6.0.10" 1982 | postcss-value-parser "^4.2.0" 1983 | quick-lru "^5.1.1" 1984 | resolve "^1.22.1" 1985 | 1986 | tmp@^0.2.1: 1987 | version "0.2.1" 1988 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" 1989 | integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== 1990 | dependencies: 1991 | rimraf "^3.0.0" 1992 | 1993 | to-fast-properties@^2.0.0: 1994 | version "2.0.0" 1995 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1996 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 1997 | 1998 | to-regex-range@^5.0.1: 1999 | version "5.0.1" 2000 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2001 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2002 | dependencies: 2003 | is-number "^7.0.0" 2004 | 2005 | tr46@~0.0.3: 2006 | version "0.0.3" 2007 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 2008 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== 2009 | 2010 | tslib@^2.1.0: 2011 | version "2.4.0" 2012 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" 2013 | integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== 2014 | 2015 | typescript@^4.6.4: 2016 | version "4.8.2" 2017 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" 2018 | integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== 2019 | 2020 | update-browserslist-db@^1.0.5: 2021 | version "1.0.7" 2022 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz#16279639cff1d0f800b14792de43d97df2d11b7d" 2023 | integrity sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg== 2024 | dependencies: 2025 | escalade "^3.1.1" 2026 | picocolors "^1.0.0" 2027 | 2028 | util-deprecate@^1.0.2, util-deprecate@~1.0.1: 2029 | version "1.0.2" 2030 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2031 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 2032 | 2033 | vite@^3.0.7: 2034 | version "3.0.9" 2035 | resolved "https://registry.yarnpkg.com/vite/-/vite-3.0.9.tgz#45fac22c2a5290a970f23d66c1aef56a04be8a30" 2036 | integrity sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw== 2037 | dependencies: 2038 | esbuild "^0.14.47" 2039 | postcss "^8.4.16" 2040 | resolve "^1.22.1" 2041 | rollup ">=2.75.6 <2.77.0 || ~2.77.0" 2042 | optionalDependencies: 2043 | fsevents "~2.3.2" 2044 | 2045 | webidl-conversions@^3.0.0: 2046 | version "3.0.1" 2047 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 2048 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 2049 | 2050 | websocket-driver@>=0.5.1: 2051 | version "0.7.4" 2052 | resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" 2053 | integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== 2054 | dependencies: 2055 | http-parser-js ">=0.5.1" 2056 | safe-buffer ">=5.1.0" 2057 | websocket-extensions ">=0.1.1" 2058 | 2059 | websocket-extensions@>=0.1.1: 2060 | version "0.1.4" 2061 | resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" 2062 | integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== 2063 | 2064 | whatwg-url@^5.0.0: 2065 | version "5.0.0" 2066 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" 2067 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== 2068 | dependencies: 2069 | tr46 "~0.0.3" 2070 | webidl-conversions "^3.0.0" 2071 | 2072 | wrap-ansi@^7.0.0: 2073 | version "7.0.0" 2074 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 2075 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2076 | dependencies: 2077 | ansi-styles "^4.0.0" 2078 | string-width "^4.1.0" 2079 | strip-ansi "^6.0.0" 2080 | 2081 | wrappy@1: 2082 | version "1.0.2" 2083 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2084 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 2085 | 2086 | ws@>=7.4.6: 2087 | version "8.8.1" 2088 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" 2089 | integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== 2090 | 2091 | xtend@^4.0.2: 2092 | version "4.0.2" 2093 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 2094 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 2095 | 2096 | y18n@^5.0.5: 2097 | version "5.0.8" 2098 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 2099 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 2100 | 2101 | yaml@^1.10.2: 2102 | version "1.10.2" 2103 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 2104 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 2105 | 2106 | yargs-parser@^20.2.2: 2107 | version "20.2.9" 2108 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 2109 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 2110 | 2111 | yargs@^16.2.0: 2112 | version "16.2.0" 2113 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 2114 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 2115 | dependencies: 2116 | cliui "^7.0.2" 2117 | escalade "^3.1.1" 2118 | get-caller-file "^2.0.5" 2119 | require-directory "^2.1.1" 2120 | string-width "^4.2.0" 2121 | y18n "^5.0.5" 2122 | yargs-parser "^20.2.2" 2123 | --------------------------------------------------------------------------------