├── cryptoupdate.png ├── cryptoupdate2.png ├── postcss.config.cjs ├── src ├── utils.jsx ├── index.css ├── components │ ├── Skeleton.jsx │ ├── CoinTrending.jsx │ ├── Navbar.jsx │ ├── Trending.jsx │ ├── CoinDetail.jsx │ ├── Markets.jsx │ ├── Coin.jsx │ └── HistoryChart.jsx ├── main.jsx ├── pages │ ├── CryptoHome.jsx │ └── CryptoDetail.jsx ├── App.jsx ├── hooks │ └── useAxios.jsx └── icons │ └── icons.jsx ├── vite.config.js ├── tailwind.config.cjs ├── .gitignore ├── index.html ├── package.json ├── README.md ├── public └── vite.svg └── yarn.lock /cryptoupdate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/candraKriswinarto/crypto-update/HEAD/cryptoupdate.png -------------------------------------------------------------------------------- /cryptoupdate2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/candraKriswinarto/crypto-update/HEAD/cryptoupdate2.png -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /src/utils.jsx: -------------------------------------------------------------------------------- 1 | export function currencyFormat(num) { 2 | return '$' + num.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,') 3 | } -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | @layer components { 6 | .wrapper-container { 7 | @apply max-w-5xl mx-auto px-2 8 | } 9 | } -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: [ 4 | "./index.html", 5 | "./src/**/*.{vue,js,ts,jsx,tsx}", 6 | ], 7 | theme: { 8 | extend: {}, 9 | }, 10 | plugins: [], 11 | } 12 | -------------------------------------------------------------------------------- /src/components/Skeleton.jsx: -------------------------------------------------------------------------------- 1 | 2 | const Skeleton = ({ className }) => { 3 | return ( 4 |
5 |
6 |
7 | ) 8 | } 9 | 10 | export default Skeleton -------------------------------------------------------------------------------- /src/main.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom/client' 3 | import App from './App' 4 | import './index.css' 5 | 6 | ReactDOM.createRoot(document.getElementById('root')).render( 7 | 8 | 9 | 10 | ) 11 | -------------------------------------------------------------------------------- /src/pages/CryptoHome.jsx: -------------------------------------------------------------------------------- 1 | import Markets from "../components/Markets" 2 | import Trending from "../components/Trending" 3 | 4 | const CryptoHome = () => { 5 | return ( 6 |
7 | 8 | 9 |
10 | ) 11 | } 12 | 13 | export default CryptoHome -------------------------------------------------------------------------------- /src/pages/CryptoDetail.jsx: -------------------------------------------------------------------------------- 1 | import CoinDetail from "../components/CoinDetail" 2 | import HistoryChart from "../components/HistoryChart" 3 | 4 | const CryptoDetail = () => { 5 | return ( 6 |
7 | 8 | 9 |
10 | ) 11 | } 12 | 13 | export default CryptoDetail -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | CrytoUpdate 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/App.jsx: -------------------------------------------------------------------------------- 1 | import { BrowserRouter, Route, Routes } from "react-router-dom" 2 | import CryptoHome from './pages/CryptoHome'; 3 | import CryptoDetail from './pages/CryptoDetail'; 4 | import Navbar from "./components/Navbar"; 5 | 6 | function App() { 7 | 8 | return ( 9 | 10 | 11 | 12 | } /> 13 | } /> 14 | 15 | 16 | ) 17 | } 18 | 19 | export default App 20 | -------------------------------------------------------------------------------- /src/components/CoinTrending.jsx: -------------------------------------------------------------------------------- 1 | import { Link } from "react-router-dom" 2 | 3 | const CoinTrending = ({ coin }) => { 4 | return ( 5 | 6 |
7 |
8 | {coin.score+1}. 9 | {coin.name} 10 |

{coin.name}

11 | ({coin.symbol}) 12 |
13 |
14 | 15 | ) 16 | } 17 | 18 | export default CoinTrending -------------------------------------------------------------------------------- /src/components/Navbar.jsx: -------------------------------------------------------------------------------- 1 | import { useNavigate } from "react-router-dom" 2 | import { LogoIcon } from "../icons/icons" 3 | 4 | const Navbar = () => { 5 | const navigate = useNavigate(); 6 | 7 | return ( 8 |
9 |
10 |
navigate('/')}> 11 | 12 |

13 | CyptoUpdate 14 |

15 |
16 |
17 |
18 | ) 19 | } 20 | 21 | export default Navbar -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "crypto-update", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "preview": "vite preview" 10 | }, 11 | "dependencies": { 12 | "axios": "^0.27.2", 13 | "chart.js": "^3.8.2", 14 | "moment": "^2.29.4", 15 | "react": "^18.2.0", 16 | "react-chartjs-2": "^4.3.1", 17 | "react-dom": "^18.2.0", 18 | "react-router-dom": "6" 19 | }, 20 | "devDependencies": { 21 | "@types/react": "^18.0.15", 22 | "@types/react-dom": "^18.0.6", 23 | "@vitejs/plugin-react": "^2.0.0", 24 | "autoprefixer": "^10.4.8", 25 | "postcss": "^8.4.14", 26 | "tailwindcss": "^3.1.7", 27 | "vite": "^3.0.0" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/hooks/useAxios.jsx: -------------------------------------------------------------------------------- 1 | import axios from "axios"; 2 | import { useEffect, useState } from "react" 3 | 4 | const useAxios = (param) => { 5 | const [response, setResponse] = useState(null); 6 | const [loading, setLoading] = useState(false); 7 | const [error, setError] = useState(''); 8 | 9 | axios.defaults.baseURL = 'https://api.coingecko.com/api/v3'; 10 | 11 | const fetchData = async (param) => { 12 | try { 13 | setLoading(true); 14 | const result = await axios(param); 15 | setResponse(result.data); 16 | } catch(err) { 17 | setError(err); 18 | } finally { 19 | setLoading(false); 20 | } 21 | } 22 | 23 | useEffect(() => { 24 | fetchData(param); 25 | }, []); 26 | 27 | return { 28 | response, loading, error 29 | } 30 | } 31 | 32 | export default useAxios -------------------------------------------------------------------------------- /src/components/Trending.jsx: -------------------------------------------------------------------------------- 1 | import useAxios from "../hooks/useAxios" 2 | import CoinTrending from "./CoinTrending"; 3 | import Skeleton from "./Skeleton"; 4 | 5 | const Trending = () => { 6 | const { response, loading } = useAxios('search/trending'); 7 | 8 | if(loading) { 9 | return ( 10 |
11 | 12 | 13 | 14 | 15 | 16 |
17 | ) 18 | } 19 | 20 | return ( 21 |
22 |

Trending

23 | {response && response.coins.map(coin => )} 24 |
25 | ) 26 | } 27 | 28 | export default Trending -------------------------------------------------------------------------------- /src/components/CoinDetail.jsx: -------------------------------------------------------------------------------- 1 | import { useParams } from 'react-router-dom'; 2 | import useAxios from '../hooks/useAxios'; 3 | import Skeleton from './Skeleton'; 4 | 5 | const CoinDetail = () => { 6 | const { id } = useParams(); 7 | const { response } = useAxios(`coins/${id}?localization=false&tickers=false&market_data=false&community_data=false&sparkline=false`); 8 | 9 | if(!response) { 10 | return ( 11 |
12 | 13 | 14 |
15 | ) 16 | } 17 | 18 | return ( 19 |
20 |
21 | {response.name} 22 |

{response.name}

23 |
24 |

25 |
26 | ) 27 | } 28 | 29 | export default CoinDetail -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This project was bootstrapped with [vite](https://vitejs.dev/guide/#scaffolding-your-first-vite-project). 2 | 3 | ![Project Preview](./cryptoupdate.png) 4 | ![Project Preview](./cryptoupdate2.png) 5 | 6 | ## Available Scripts 7 | 8 | In the project directory, you can run: 9 | 10 | ### `yarn` 11 | 12 | Instal All dependencies in this project 13 | 14 | ### `yarn dev` 15 | 16 | Runs the app in the development mode.
17 | Open [http://127.0.0.1:5173](http://127.0.0.1:5173) to view it in the browser. 18 | 19 | ### Link 20 | 21 | Vite: https://vitejs.dev/guide/#scaffolding-your-first-vite-project 22 | Tailwind CSS: https://tailwindcss.com/docs/guides/vite 23 | CoinGecko API: https://www.coingecko.com/en/api/documentation 24 | React-Chartjs-2: https://react-chartjs-2.js.org/examples/area-chart 25 | React-router-dom: https://reactrouter.com/docs/en/v6/getting-started/overview 26 | HeroIcons: https://heroicons.com/ 27 | Moment: https://momentjs.com/ 28 | 29 | 30 | ### Video Tutorial 31 | 32 | You can see my youtube video for this project in [here](https://youtu.be/uiW4tArFLkE) -------------------------------------------------------------------------------- /src/components/Markets.jsx: -------------------------------------------------------------------------------- 1 | import useAxios from "../hooks/useAxios" 2 | import Coin from "./Coin"; 3 | import Skeleton from "./Skeleton"; 4 | 5 | const Markets = () => { 6 | const { response, loading } = useAxios('coins/markets?vs_currency=usd&order=market_cap_desc&per_page=100&page=1&sparkline=false'); 7 | 8 | if(loading) { 9 | return ( 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | ) 21 | } 22 | 23 | return ( 24 |
25 |

Markets

26 | {response && response.map(coin => )} 27 |
28 | ) 29 | } 30 | 31 | export default Markets -------------------------------------------------------------------------------- /src/components/Coin.jsx: -------------------------------------------------------------------------------- 1 | import { Link } from "react-router-dom"; 2 | import { TrendingDown, TrendingUp } from "../icons/icons"; 3 | import { currencyFormat } from "../utils"; 4 | 5 | const Coin = ({ coin }) => { 6 | console.log(coin); 7 | return ( 8 | 9 |
10 |
11 | {coin.name} 12 |

{coin.name}

13 | ({coin.symbol}) 14 |
15 | {currencyFormat(coin.current_price)} 16 | 17 | {coin.price_change_percentage_24h < 0 ? : } 18 | {coin.price_change_percentage_24h} 19 | 20 |
21 |

Market Cap

22 | {currencyFormat(coin.market_cap)} 23 |
24 |
25 | 26 | ) 27 | } 28 | 29 | export default Coin -------------------------------------------------------------------------------- /public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/HistoryChart.jsx: -------------------------------------------------------------------------------- 1 | import { useParams } from "react-router-dom"; 2 | import useAxios from "../hooks/useAxios" 3 | import { 4 | Chart as ChartJS, 5 | CategoryScale, 6 | LinearScale, 7 | PointElement, 8 | LineElement, 9 | Title, 10 | Tooltip, 11 | Filler, 12 | Legend, 13 | } from 'chart.js'; 14 | import { Line } from 'react-chartjs-2'; 15 | import moment from "moment"; 16 | import Skeleton from "./Skeleton"; 17 | 18 | ChartJS.register( 19 | CategoryScale, 20 | LinearScale, 21 | PointElement, 22 | LineElement, 23 | Title, 24 | Tooltip, 25 | Filler, 26 | Legend 27 | ); 28 | 29 | 30 | const HistoryChart = () => { 31 | const { id } = useParams(); 32 | const { response } = useAxios(`coins/${id}/market_chart?vs_currency=usd&days=7`); 33 | 34 | if(!response) { 35 | return ( 36 |
37 | 38 |
39 | ) 40 | } 41 | const coinChartData = response.prices.map(value => ({ x: value[0], y: value[1].toFixed(2) })); 42 | 43 | const options = { 44 | responsive: true 45 | } 46 | const data = { 47 | labels: coinChartData.map(value => moment(value.x).format('MMM DD')), 48 | datasets: [ 49 | { 50 | fill: true, 51 | label: id, 52 | data: coinChartData.map(val => val.y), 53 | borderColor: 'rgb(53, 162, 235)', 54 | backgroundColor: 'rgba(53, 162, 235, 0.5)', 55 | } 56 | ] 57 | } 58 | 59 | return ( 60 |
61 | 62 |
63 | ) 64 | } 65 | 66 | export default HistoryChart -------------------------------------------------------------------------------- /src/icons/icons.jsx: -------------------------------------------------------------------------------- 1 | export const LogoIcon = () => 2 | 3 | 4 | 5 | 6 | export const TrendingDown = () => 7 | 8 | 9 | 10 | export const TrendingUp = () => 11 | 12 | -------------------------------------------------------------------------------- /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.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" 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.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" 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.8" 22 | resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz" 23 | integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== 24 | 25 | "@babel/core@^7.18.6": 26 | version "7.18.9" 27 | resolved "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz" 28 | integrity sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g== 29 | dependencies: 30 | "@ampproject/remapping" "^2.1.0" 31 | "@babel/code-frame" "^7.18.6" 32 | "@babel/generator" "^7.18.9" 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.9" 37 | "@babel/template" "^7.18.6" 38 | "@babel/traverse" "^7.18.9" 39 | "@babel/types" "^7.18.9" 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.9": 47 | version "7.18.9" 48 | resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz" 49 | integrity sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug== 50 | dependencies: 51 | "@babel/types" "^7.18.9" 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.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" 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.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz" 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.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" 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.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz" 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.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" 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.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" 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.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz" 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": 114 | version "7.18.9" 115 | resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz" 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.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz" 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.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" 128 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== 129 | dependencies: 130 | "@babel/types" "^7.18.6" 131 | 132 | "@babel/helper-validator-identifier@^7.18.6": 133 | version "7.18.6" 134 | resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz" 135 | integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== 136 | 137 | "@babel/helper-validator-option@^7.18.6": 138 | version "7.18.6" 139 | resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" 140 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== 141 | 142 | "@babel/helpers@^7.18.9": 143 | version "7.18.9" 144 | resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz" 145 | integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== 146 | dependencies: 147 | "@babel/template" "^7.18.6" 148 | "@babel/traverse" "^7.18.9" 149 | "@babel/types" "^7.18.9" 150 | 151 | "@babel/highlight@^7.18.6": 152 | version "7.18.6" 153 | resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" 154 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 155 | dependencies: 156 | "@babel/helper-validator-identifier" "^7.18.6" 157 | chalk "^2.0.0" 158 | js-tokens "^4.0.0" 159 | 160 | "@babel/parser@^7.18.6", "@babel/parser@^7.18.9": 161 | version "7.18.9" 162 | resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz" 163 | integrity sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg== 164 | 165 | "@babel/plugin-syntax-jsx@^7.18.6": 166 | version "7.18.6" 167 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" 168 | integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== 169 | dependencies: 170 | "@babel/helper-plugin-utils" "^7.18.6" 171 | 172 | "@babel/plugin-transform-react-jsx-development@^7.18.6": 173 | version "7.18.6" 174 | resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz" 175 | integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== 176 | dependencies: 177 | "@babel/plugin-transform-react-jsx" "^7.18.6" 178 | 179 | "@babel/plugin-transform-react-jsx-self@^7.18.6": 180 | version "7.18.6" 181 | resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz" 182 | integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== 183 | dependencies: 184 | "@babel/helper-plugin-utils" "^7.18.6" 185 | 186 | "@babel/plugin-transform-react-jsx-source@^7.18.6": 187 | version "7.18.6" 188 | resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz" 189 | integrity sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw== 190 | dependencies: 191 | "@babel/helper-plugin-utils" "^7.18.6" 192 | 193 | "@babel/plugin-transform-react-jsx@^7.18.6": 194 | version "7.18.6" 195 | resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.6.tgz" 196 | integrity sha512-Mz7xMPxoy9kPS/JScj6fJs03TZ/fZ1dJPlMjRAgTaxaS0fUBk8FV/A2rRgfPsVCZqALNwMexD+0Uaf5zlcKPpw== 197 | dependencies: 198 | "@babel/helper-annotate-as-pure" "^7.18.6" 199 | "@babel/helper-module-imports" "^7.18.6" 200 | "@babel/helper-plugin-utils" "^7.18.6" 201 | "@babel/plugin-syntax-jsx" "^7.18.6" 202 | "@babel/types" "^7.18.6" 203 | 204 | "@babel/runtime@^7.7.6": 205 | version "7.18.9" 206 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" 207 | integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== 208 | dependencies: 209 | regenerator-runtime "^0.13.4" 210 | 211 | "@babel/template@^7.18.6": 212 | version "7.18.6" 213 | resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz" 214 | integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw== 215 | dependencies: 216 | "@babel/code-frame" "^7.18.6" 217 | "@babel/parser" "^7.18.6" 218 | "@babel/types" "^7.18.6" 219 | 220 | "@babel/traverse@^7.18.9": 221 | version "7.18.9" 222 | resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz" 223 | integrity sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg== 224 | dependencies: 225 | "@babel/code-frame" "^7.18.6" 226 | "@babel/generator" "^7.18.9" 227 | "@babel/helper-environment-visitor" "^7.18.9" 228 | "@babel/helper-function-name" "^7.18.9" 229 | "@babel/helper-hoist-variables" "^7.18.6" 230 | "@babel/helper-split-export-declaration" "^7.18.6" 231 | "@babel/parser" "^7.18.9" 232 | "@babel/types" "^7.18.9" 233 | debug "^4.1.0" 234 | globals "^11.1.0" 235 | 236 | "@babel/types@^7.18.6", "@babel/types@^7.18.9": 237 | version "7.18.9" 238 | resolved "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz" 239 | integrity sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg== 240 | dependencies: 241 | "@babel/helper-validator-identifier" "^7.18.6" 242 | to-fast-properties "^2.0.0" 243 | 244 | "@jridgewell/gen-mapping@^0.1.0": 245 | version "0.1.1" 246 | resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" 247 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 248 | dependencies: 249 | "@jridgewell/set-array" "^1.0.0" 250 | "@jridgewell/sourcemap-codec" "^1.4.10" 251 | 252 | "@jridgewell/gen-mapping@^0.3.2": 253 | version "0.3.2" 254 | resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" 255 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 256 | dependencies: 257 | "@jridgewell/set-array" "^1.0.1" 258 | "@jridgewell/sourcemap-codec" "^1.4.10" 259 | "@jridgewell/trace-mapping" "^0.3.9" 260 | 261 | "@jridgewell/resolve-uri@^3.0.3": 262 | version "3.1.0" 263 | resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" 264 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 265 | 266 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 267 | version "1.1.2" 268 | resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" 269 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 270 | 271 | "@jridgewell/sourcemap-codec@^1.4.10": 272 | version "1.4.14" 273 | resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" 274 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 275 | 276 | "@jridgewell/trace-mapping@^0.3.9": 277 | version "0.3.14" 278 | resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz" 279 | integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== 280 | dependencies: 281 | "@jridgewell/resolve-uri" "^3.0.3" 282 | "@jridgewell/sourcemap-codec" "^1.4.10" 283 | 284 | "@nodelib/fs.scandir@2.1.5": 285 | version "2.1.5" 286 | resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" 287 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 288 | dependencies: 289 | "@nodelib/fs.stat" "2.0.5" 290 | run-parallel "^1.1.9" 291 | 292 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 293 | version "2.0.5" 294 | resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" 295 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 296 | 297 | "@nodelib/fs.walk@^1.2.3": 298 | version "1.2.8" 299 | resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" 300 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 301 | dependencies: 302 | "@nodelib/fs.scandir" "2.1.5" 303 | fastq "^1.6.0" 304 | 305 | "@types/prop-types@*": 306 | version "15.7.5" 307 | resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" 308 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 309 | 310 | "@types/react-dom@^18.0.6": 311 | version "18.0.6" 312 | resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz" 313 | integrity sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA== 314 | dependencies: 315 | "@types/react" "*" 316 | 317 | "@types/react@*", "@types/react@^18.0.15": 318 | version "18.0.15" 319 | resolved "https://registry.npmjs.org/@types/react/-/react-18.0.15.tgz" 320 | integrity sha512-iz3BtLuIYH1uWdsv6wXYdhozhqj20oD4/Hk2DNXIn1kFsmp9x8d9QB6FnPhfkbhd2PgEONt9Q1x/ebkwjfFLow== 321 | dependencies: 322 | "@types/prop-types" "*" 323 | "@types/scheduler" "*" 324 | csstype "^3.0.2" 325 | 326 | "@types/scheduler@*": 327 | version "0.16.2" 328 | resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz" 329 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 330 | 331 | "@vitejs/plugin-react@^2.0.0": 332 | version "2.0.0" 333 | resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.0.0.tgz" 334 | integrity sha512-zHkRR+X4zqEPNBbKV2FvWSxK7Q6crjMBVIAYroSU8Nbb4M3E5x4qOiLoqJBHtXgr27kfednXjkwr3lr8jS6Wrw== 335 | dependencies: 336 | "@babel/core" "^7.18.6" 337 | "@babel/plugin-transform-react-jsx" "^7.18.6" 338 | "@babel/plugin-transform-react-jsx-development" "^7.18.6" 339 | "@babel/plugin-transform-react-jsx-self" "^7.18.6" 340 | "@babel/plugin-transform-react-jsx-source" "^7.18.6" 341 | magic-string "^0.26.2" 342 | react-refresh "^0.14.0" 343 | 344 | acorn-node@^1.8.2: 345 | version "1.8.2" 346 | resolved "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz" 347 | integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== 348 | dependencies: 349 | acorn "^7.0.0" 350 | acorn-walk "^7.0.0" 351 | xtend "^4.0.2" 352 | 353 | acorn-walk@^7.0.0: 354 | version "7.2.0" 355 | resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" 356 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== 357 | 358 | acorn@^7.0.0: 359 | version "7.4.1" 360 | resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" 361 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 362 | 363 | ansi-styles@^3.2.1: 364 | version "3.2.1" 365 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" 366 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 367 | dependencies: 368 | color-convert "^1.9.0" 369 | 370 | anymatch@~3.1.2: 371 | version "3.1.2" 372 | resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" 373 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 374 | dependencies: 375 | normalize-path "^3.0.0" 376 | picomatch "^2.0.4" 377 | 378 | arg@^5.0.2: 379 | version "5.0.2" 380 | resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" 381 | integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== 382 | 383 | asynckit@^0.4.0: 384 | version "0.4.0" 385 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 386 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 387 | 388 | autoprefixer@^10.4.8: 389 | version "10.4.8" 390 | resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz" 391 | integrity sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw== 392 | dependencies: 393 | browserslist "^4.21.3" 394 | caniuse-lite "^1.0.30001373" 395 | fraction.js "^4.2.0" 396 | normalize-range "^0.1.2" 397 | picocolors "^1.0.0" 398 | postcss-value-parser "^4.2.0" 399 | 400 | axios@^0.27.2: 401 | version "0.27.2" 402 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" 403 | integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== 404 | dependencies: 405 | follow-redirects "^1.14.9" 406 | form-data "^4.0.0" 407 | 408 | binary-extensions@^2.0.0: 409 | version "2.2.0" 410 | resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" 411 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 412 | 413 | braces@^3.0.2, braces@~3.0.2: 414 | version "3.0.2" 415 | resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" 416 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 417 | dependencies: 418 | fill-range "^7.0.1" 419 | 420 | browserslist@^4.20.2, browserslist@^4.21.3: 421 | version "4.21.3" 422 | resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz" 423 | integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== 424 | dependencies: 425 | caniuse-lite "^1.0.30001370" 426 | electron-to-chromium "^1.4.202" 427 | node-releases "^2.0.6" 428 | update-browserslist-db "^1.0.5" 429 | 430 | camelcase-css@^2.0.1: 431 | version "2.0.1" 432 | resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" 433 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== 434 | 435 | caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: 436 | version "1.0.30001373" 437 | resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz" 438 | integrity sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ== 439 | 440 | chalk@^2.0.0: 441 | version "2.4.2" 442 | resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" 443 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 444 | dependencies: 445 | ansi-styles "^3.2.1" 446 | escape-string-regexp "^1.0.5" 447 | supports-color "^5.3.0" 448 | 449 | chart.js@^3.8.2: 450 | version "3.8.2" 451 | resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-3.8.2.tgz#e3ebb88f7072780eec4183a788a990f4a58ba7a1" 452 | integrity sha512-7rqSlHWMUKFyBDOJvmFGW2lxULtcwaPLegDjX/Nu5j6QybY+GCiQkEY+6cqHw62S5tcwXMD8Y+H5OBGoR7d+ZQ== 453 | 454 | chokidar@^3.5.3: 455 | version "3.5.3" 456 | resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" 457 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 458 | dependencies: 459 | anymatch "~3.1.2" 460 | braces "~3.0.2" 461 | glob-parent "~5.1.2" 462 | is-binary-path "~2.1.0" 463 | is-glob "~4.0.1" 464 | normalize-path "~3.0.0" 465 | readdirp "~3.6.0" 466 | optionalDependencies: 467 | fsevents "~2.3.2" 468 | 469 | color-convert@^1.9.0: 470 | version "1.9.3" 471 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" 472 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 473 | dependencies: 474 | color-name "1.1.3" 475 | 476 | color-name@1.1.3: 477 | version "1.1.3" 478 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" 479 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 480 | 481 | color-name@^1.1.4: 482 | version "1.1.4" 483 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 484 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 485 | 486 | combined-stream@^1.0.8: 487 | version "1.0.8" 488 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 489 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 490 | dependencies: 491 | delayed-stream "~1.0.0" 492 | 493 | convert-source-map@^1.7.0: 494 | version "1.8.0" 495 | resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" 496 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 497 | dependencies: 498 | safe-buffer "~5.1.1" 499 | 500 | cssesc@^3.0.0: 501 | version "3.0.0" 502 | resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" 503 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 504 | 505 | csstype@^3.0.2: 506 | version "3.1.0" 507 | resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz" 508 | integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA== 509 | 510 | debug@^4.1.0: 511 | version "4.3.4" 512 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" 513 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 514 | dependencies: 515 | ms "2.1.2" 516 | 517 | defined@^1.0.0: 518 | version "1.0.0" 519 | resolved "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz" 520 | integrity sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ== 521 | 522 | delayed-stream@~1.0.0: 523 | version "1.0.0" 524 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 525 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 526 | 527 | detective@^5.2.1: 528 | version "5.2.1" 529 | resolved "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz" 530 | integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== 531 | dependencies: 532 | acorn-node "^1.8.2" 533 | defined "^1.0.0" 534 | minimist "^1.2.6" 535 | 536 | didyoumean@^1.2.2: 537 | version "1.2.2" 538 | resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" 539 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== 540 | 541 | dlv@^1.1.3: 542 | version "1.1.3" 543 | resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" 544 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== 545 | 546 | electron-to-chromium@^1.4.202: 547 | version "1.4.206" 548 | resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.206.tgz" 549 | integrity sha512-h+Fadt1gIaQ06JaIiyqPsBjJ08fV5Q7md+V8bUvQW/9OvXfL2LRICTz2EcnnCP7QzrFTS6/27MRV6Bl9Yn97zA== 550 | 551 | esbuild-android-64@0.14.51: 552 | version "0.14.51" 553 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.51.tgz#414a087cb0de8db1e347ecca6c8320513de433db" 554 | integrity sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ== 555 | 556 | esbuild-android-arm64@0.14.51: 557 | version "0.14.51" 558 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.51.tgz#55de3bce2aab72bcd2b606da4318ad00fb9c8151" 559 | integrity sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A== 560 | 561 | esbuild-darwin-64@0.14.51: 562 | version "0.14.51" 563 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.51.tgz#4259f23ed6b4cea2ec8a28d87b7fb9801f093754" 564 | integrity sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA== 565 | 566 | esbuild-darwin-arm64@0.14.51: 567 | version "0.14.51" 568 | resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.51.tgz" 569 | integrity sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow== 570 | 571 | esbuild-freebsd-64@0.14.51: 572 | version "0.14.51" 573 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.51.tgz#27b6587b3639f10519c65e07219d249b01f2ad38" 574 | integrity sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g== 575 | 576 | esbuild-freebsd-arm64@0.14.51: 577 | version "0.14.51" 578 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.51.tgz#63c435917e566808c71fafddc600aca4d78be1ec" 579 | integrity sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg== 580 | 581 | esbuild-linux-32@0.14.51: 582 | version "0.14.51" 583 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.51.tgz#c3da774143a37e7f11559b9369d98f11f997a5d9" 584 | integrity sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w== 585 | 586 | esbuild-linux-64@0.14.51: 587 | version "0.14.51" 588 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.51.tgz#5d92b67f674e02ae0b4a9de9a757ba482115c4ae" 589 | integrity sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA== 590 | 591 | esbuild-linux-arm64@0.14.51: 592 | version "0.14.51" 593 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.51.tgz#dac84740516e859d8b14e1ecc478dd5241b10c93" 594 | integrity sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw== 595 | 596 | esbuild-linux-arm@0.14.51: 597 | version "0.14.51" 598 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.51.tgz#b3ae7000696cd53ed95b2b458554ff543a60e106" 599 | integrity sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg== 600 | 601 | esbuild-linux-mips64le@0.14.51: 602 | version "0.14.51" 603 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.51.tgz#dad10770fac94efa092b5a0643821c955a9dd385" 604 | integrity sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A== 605 | 606 | esbuild-linux-ppc64le@0.14.51: 607 | version "0.14.51" 608 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.51.tgz#b68c2f8294d012a16a88073d67e976edd4850ae0" 609 | integrity sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ== 610 | 611 | esbuild-linux-riscv64@0.14.51: 612 | version "0.14.51" 613 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.51.tgz#608a318b8697123e44c1e185cdf6708e3df50b93" 614 | integrity sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA== 615 | 616 | esbuild-linux-s390x@0.14.51: 617 | version "0.14.51" 618 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.51.tgz#c9e7791170a3295dba79b93aa452beb9838a8625" 619 | integrity sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw== 620 | 621 | esbuild-netbsd-64@0.14.51: 622 | version "0.14.51" 623 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.51.tgz#0abd40b8c2e37fda6f5cc41a04cb2b690823d891" 624 | integrity sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A== 625 | 626 | esbuild-openbsd-64@0.14.51: 627 | version "0.14.51" 628 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.51.tgz#4adba0b7ea7eb1428bb00d8e94c199a949b130e8" 629 | integrity sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA== 630 | 631 | esbuild-sunos-64@0.14.51: 632 | version "0.14.51" 633 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.51.tgz#4b8a6d97dfedda30a6e39607393c5c90ebf63891" 634 | integrity sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA== 635 | 636 | esbuild-windows-32@0.14.51: 637 | version "0.14.51" 638 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.51.tgz#d31d8ca0c1d314fb1edea163685a423b62e9ac17" 639 | integrity sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg== 640 | 641 | esbuild-windows-64@0.14.51: 642 | version "0.14.51" 643 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.51.tgz#7d3c09c8652d222925625637bdc7e6c223e0085d" 644 | integrity sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA== 645 | 646 | esbuild-windows-arm64@0.14.51: 647 | version "0.14.51" 648 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.51.tgz#0220d2304bfdc11bc27e19b2aaf56edf183e4ae9" 649 | integrity sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g== 650 | 651 | esbuild@^0.14.47: 652 | version "0.14.51" 653 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.51.tgz" 654 | integrity sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw== 655 | optionalDependencies: 656 | esbuild-android-64 "0.14.51" 657 | esbuild-android-arm64 "0.14.51" 658 | esbuild-darwin-64 "0.14.51" 659 | esbuild-darwin-arm64 "0.14.51" 660 | esbuild-freebsd-64 "0.14.51" 661 | esbuild-freebsd-arm64 "0.14.51" 662 | esbuild-linux-32 "0.14.51" 663 | esbuild-linux-64 "0.14.51" 664 | esbuild-linux-arm "0.14.51" 665 | esbuild-linux-arm64 "0.14.51" 666 | esbuild-linux-mips64le "0.14.51" 667 | esbuild-linux-ppc64le "0.14.51" 668 | esbuild-linux-riscv64 "0.14.51" 669 | esbuild-linux-s390x "0.14.51" 670 | esbuild-netbsd-64 "0.14.51" 671 | esbuild-openbsd-64 "0.14.51" 672 | esbuild-sunos-64 "0.14.51" 673 | esbuild-windows-32 "0.14.51" 674 | esbuild-windows-64 "0.14.51" 675 | esbuild-windows-arm64 "0.14.51" 676 | 677 | escalade@^3.1.1: 678 | version "3.1.1" 679 | resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" 680 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 681 | 682 | escape-string-regexp@^1.0.5: 683 | version "1.0.5" 684 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" 685 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 686 | 687 | fast-glob@^3.2.11: 688 | version "3.2.11" 689 | resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz" 690 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 691 | dependencies: 692 | "@nodelib/fs.stat" "^2.0.2" 693 | "@nodelib/fs.walk" "^1.2.3" 694 | glob-parent "^5.1.2" 695 | merge2 "^1.3.0" 696 | micromatch "^4.0.4" 697 | 698 | fastq@^1.6.0: 699 | version "1.13.0" 700 | resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" 701 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 702 | dependencies: 703 | reusify "^1.0.4" 704 | 705 | fill-range@^7.0.1: 706 | version "7.0.1" 707 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" 708 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 709 | dependencies: 710 | to-regex-range "^5.0.1" 711 | 712 | follow-redirects@^1.14.9: 713 | version "1.15.1" 714 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" 715 | integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== 716 | 717 | form-data@^4.0.0: 718 | version "4.0.0" 719 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 720 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 721 | dependencies: 722 | asynckit "^0.4.0" 723 | combined-stream "^1.0.8" 724 | mime-types "^2.1.12" 725 | 726 | fraction.js@^4.2.0: 727 | version "4.2.0" 728 | resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" 729 | integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== 730 | 731 | fsevents@~2.3.2: 732 | version "2.3.2" 733 | resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" 734 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 735 | 736 | function-bind@^1.1.1: 737 | version "1.1.1" 738 | resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" 739 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 740 | 741 | gensync@^1.0.0-beta.2: 742 | version "1.0.0-beta.2" 743 | resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" 744 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 745 | 746 | glob-parent@^5.1.2, glob-parent@~5.1.2: 747 | version "5.1.2" 748 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" 749 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 750 | dependencies: 751 | is-glob "^4.0.1" 752 | 753 | glob-parent@^6.0.2: 754 | version "6.0.2" 755 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" 756 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 757 | dependencies: 758 | is-glob "^4.0.3" 759 | 760 | globals@^11.1.0: 761 | version "11.12.0" 762 | resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" 763 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 764 | 765 | has-flag@^3.0.0: 766 | version "3.0.0" 767 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" 768 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 769 | 770 | has@^1.0.3: 771 | version "1.0.3" 772 | resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" 773 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 774 | dependencies: 775 | function-bind "^1.1.1" 776 | 777 | history@^5.2.0: 778 | version "5.3.0" 779 | resolved "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz#1548abaa245ba47992f063a0783db91ef201c73b" 780 | integrity sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ== 781 | dependencies: 782 | "@babel/runtime" "^7.7.6" 783 | 784 | is-binary-path@~2.1.0: 785 | version "2.1.0" 786 | resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" 787 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 788 | dependencies: 789 | binary-extensions "^2.0.0" 790 | 791 | is-core-module@^2.9.0: 792 | version "2.9.0" 793 | resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz" 794 | integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== 795 | dependencies: 796 | has "^1.0.3" 797 | 798 | is-extglob@^2.1.1: 799 | version "2.1.1" 800 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 801 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 802 | 803 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 804 | version "4.0.3" 805 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" 806 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 807 | dependencies: 808 | is-extglob "^2.1.1" 809 | 810 | is-number@^7.0.0: 811 | version "7.0.0" 812 | resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" 813 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 814 | 815 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 816 | version "4.0.0" 817 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" 818 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 819 | 820 | jsesc@^2.5.1: 821 | version "2.5.2" 822 | resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" 823 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 824 | 825 | json5@^2.2.1: 826 | version "2.2.1" 827 | resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" 828 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== 829 | 830 | lilconfig@^2.0.5, lilconfig@^2.0.6: 831 | version "2.0.6" 832 | resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz" 833 | integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== 834 | 835 | loose-envify@^1.1.0: 836 | version "1.4.0" 837 | resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" 838 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 839 | dependencies: 840 | js-tokens "^3.0.0 || ^4.0.0" 841 | 842 | magic-string@^0.26.2: 843 | version "0.26.2" 844 | resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz" 845 | integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A== 846 | dependencies: 847 | sourcemap-codec "^1.4.8" 848 | 849 | merge2@^1.3.0: 850 | version "1.4.1" 851 | resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" 852 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 853 | 854 | micromatch@^4.0.4: 855 | version "4.0.5" 856 | resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" 857 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 858 | dependencies: 859 | braces "^3.0.2" 860 | picomatch "^2.3.1" 861 | 862 | mime-db@1.52.0: 863 | version "1.52.0" 864 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 865 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 866 | 867 | mime-types@^2.1.12: 868 | version "2.1.35" 869 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 870 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 871 | dependencies: 872 | mime-db "1.52.0" 873 | 874 | minimist@^1.2.6: 875 | version "1.2.6" 876 | resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" 877 | integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== 878 | 879 | moment@^2.29.4: 880 | version "2.29.4" 881 | resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" 882 | integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== 883 | 884 | ms@2.1.2: 885 | version "2.1.2" 886 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 887 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 888 | 889 | nanoid@^3.3.4: 890 | version "3.3.4" 891 | resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" 892 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 893 | 894 | node-releases@^2.0.6: 895 | version "2.0.6" 896 | resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" 897 | integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== 898 | 899 | normalize-path@^3.0.0, normalize-path@~3.0.0: 900 | version "3.0.0" 901 | resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" 902 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 903 | 904 | normalize-range@^0.1.2: 905 | version "0.1.2" 906 | resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" 907 | integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== 908 | 909 | object-hash@^3.0.0: 910 | version "3.0.0" 911 | resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" 912 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== 913 | 914 | path-parse@^1.0.7: 915 | version "1.0.7" 916 | resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" 917 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 918 | 919 | picocolors@^1.0.0: 920 | version "1.0.0" 921 | resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" 922 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 923 | 924 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 925 | version "2.3.1" 926 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" 927 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 928 | 929 | pify@^2.3.0: 930 | version "2.3.0" 931 | resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" 932 | integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== 933 | 934 | postcss-import@^14.1.0: 935 | version "14.1.0" 936 | resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz" 937 | integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== 938 | dependencies: 939 | postcss-value-parser "^4.0.0" 940 | read-cache "^1.0.0" 941 | resolve "^1.1.7" 942 | 943 | postcss-js@^4.0.0: 944 | version "4.0.0" 945 | resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz" 946 | integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== 947 | dependencies: 948 | camelcase-css "^2.0.1" 949 | 950 | postcss-load-config@^3.1.4: 951 | version "3.1.4" 952 | resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz" 953 | integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== 954 | dependencies: 955 | lilconfig "^2.0.5" 956 | yaml "^1.10.2" 957 | 958 | postcss-nested@5.0.6: 959 | version "5.0.6" 960 | resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz" 961 | integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== 962 | dependencies: 963 | postcss-selector-parser "^6.0.6" 964 | 965 | postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6: 966 | version "6.0.10" 967 | resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz" 968 | integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== 969 | dependencies: 970 | cssesc "^3.0.0" 971 | util-deprecate "^1.0.2" 972 | 973 | postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: 974 | version "4.2.0" 975 | resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" 976 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 977 | 978 | postcss@^8.4.14: 979 | version "8.4.14" 980 | resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz" 981 | integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== 982 | dependencies: 983 | nanoid "^3.3.4" 984 | picocolors "^1.0.0" 985 | source-map-js "^1.0.2" 986 | 987 | queue-microtask@^1.2.2: 988 | version "1.2.3" 989 | resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" 990 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 991 | 992 | quick-lru@^5.1.1: 993 | version "5.1.1" 994 | resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" 995 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== 996 | 997 | react-chartjs-2@^4.3.1: 998 | version "4.3.1" 999 | resolved "https://registry.yarnpkg.com/react-chartjs-2/-/react-chartjs-2-4.3.1.tgz#9941e7397fb963f28bb557addb401e9ff96c6681" 1000 | integrity sha512-5i3mjP6tU7QSn0jvb8I4hudTzHJqS8l00ORJnVwI2sYu0ihpj83Lv2YzfxunfxTZkscKvZu2F2w9LkwNBhj6xA== 1001 | 1002 | react-dom@^18.2.0: 1003 | version "18.2.0" 1004 | resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" 1005 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== 1006 | dependencies: 1007 | loose-envify "^1.1.0" 1008 | scheduler "^0.23.0" 1009 | 1010 | react-refresh@^0.14.0: 1011 | version "0.14.0" 1012 | resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz" 1013 | integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== 1014 | 1015 | react-router-dom@6: 1016 | version "6.3.0" 1017 | resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.3.0.tgz#a0216da813454e521905b5fa55e0e5176123f43d" 1018 | integrity sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw== 1019 | dependencies: 1020 | history "^5.2.0" 1021 | react-router "6.3.0" 1022 | 1023 | react-router@6.3.0: 1024 | version "6.3.0" 1025 | resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.3.0.tgz#3970cc64b4cb4eae0c1ea5203a80334fdd175557" 1026 | integrity sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ== 1027 | dependencies: 1028 | history "^5.2.0" 1029 | 1030 | react@^18.2.0: 1031 | version "18.2.0" 1032 | resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" 1033 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 1034 | dependencies: 1035 | loose-envify "^1.1.0" 1036 | 1037 | read-cache@^1.0.0: 1038 | version "1.0.0" 1039 | resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" 1040 | integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== 1041 | dependencies: 1042 | pify "^2.3.0" 1043 | 1044 | readdirp@~3.6.0: 1045 | version "3.6.0" 1046 | resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" 1047 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1048 | dependencies: 1049 | picomatch "^2.2.1" 1050 | 1051 | regenerator-runtime@^0.13.4: 1052 | version "0.13.9" 1053 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" 1054 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 1055 | 1056 | resolve@^1.1.7, resolve@^1.22.1: 1057 | version "1.22.1" 1058 | resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" 1059 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 1060 | dependencies: 1061 | is-core-module "^2.9.0" 1062 | path-parse "^1.0.7" 1063 | supports-preserve-symlinks-flag "^1.0.0" 1064 | 1065 | reusify@^1.0.4: 1066 | version "1.0.4" 1067 | resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" 1068 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1069 | 1070 | rollup@^2.75.6: 1071 | version "2.77.2" 1072 | resolved "https://registry.npmjs.org/rollup/-/rollup-2.77.2.tgz" 1073 | integrity sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g== 1074 | optionalDependencies: 1075 | fsevents "~2.3.2" 1076 | 1077 | run-parallel@^1.1.9: 1078 | version "1.2.0" 1079 | resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" 1080 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1081 | dependencies: 1082 | queue-microtask "^1.2.2" 1083 | 1084 | safe-buffer@~5.1.1: 1085 | version "5.1.2" 1086 | resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" 1087 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1088 | 1089 | scheduler@^0.23.0: 1090 | version "0.23.0" 1091 | resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" 1092 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== 1093 | dependencies: 1094 | loose-envify "^1.1.0" 1095 | 1096 | semver@^6.3.0: 1097 | version "6.3.0" 1098 | resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" 1099 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1100 | 1101 | source-map-js@^1.0.2: 1102 | version "1.0.2" 1103 | resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" 1104 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1105 | 1106 | sourcemap-codec@^1.4.8: 1107 | version "1.4.8" 1108 | resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" 1109 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 1110 | 1111 | supports-color@^5.3.0: 1112 | version "5.5.0" 1113 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" 1114 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1115 | dependencies: 1116 | has-flag "^3.0.0" 1117 | 1118 | supports-preserve-symlinks-flag@^1.0.0: 1119 | version "1.0.0" 1120 | resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" 1121 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1122 | 1123 | tailwindcss@^3.1.7: 1124 | version "3.1.7" 1125 | resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.7.tgz" 1126 | integrity sha512-r7mgumZ3k0InfVPpGWcX8X/Ut4xBfv+1O/+C73ar/m01LxGVzWvPxF/w6xIUPEztrCoz7axfx0SMdh8FH8ZvRQ== 1127 | dependencies: 1128 | arg "^5.0.2" 1129 | chokidar "^3.5.3" 1130 | color-name "^1.1.4" 1131 | detective "^5.2.1" 1132 | didyoumean "^1.2.2" 1133 | dlv "^1.1.3" 1134 | fast-glob "^3.2.11" 1135 | glob-parent "^6.0.2" 1136 | is-glob "^4.0.3" 1137 | lilconfig "^2.0.6" 1138 | normalize-path "^3.0.0" 1139 | object-hash "^3.0.0" 1140 | picocolors "^1.0.0" 1141 | postcss "^8.4.14" 1142 | postcss-import "^14.1.0" 1143 | postcss-js "^4.0.0" 1144 | postcss-load-config "^3.1.4" 1145 | postcss-nested "5.0.6" 1146 | postcss-selector-parser "^6.0.10" 1147 | postcss-value-parser "^4.2.0" 1148 | quick-lru "^5.1.1" 1149 | resolve "^1.22.1" 1150 | 1151 | to-fast-properties@^2.0.0: 1152 | version "2.0.0" 1153 | resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" 1154 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 1155 | 1156 | to-regex-range@^5.0.1: 1157 | version "5.0.1" 1158 | resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" 1159 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1160 | dependencies: 1161 | is-number "^7.0.0" 1162 | 1163 | update-browserslist-db@^1.0.5: 1164 | version "1.0.5" 1165 | resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz" 1166 | integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== 1167 | dependencies: 1168 | escalade "^3.1.1" 1169 | picocolors "^1.0.0" 1170 | 1171 | util-deprecate@^1.0.2: 1172 | version "1.0.2" 1173 | resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 1174 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 1175 | 1176 | vite@^3.0.0: 1177 | version "3.0.4" 1178 | resolved "https://registry.npmjs.org/vite/-/vite-3.0.4.tgz" 1179 | integrity sha512-NU304nqnBeOx2MkQnskBQxVsa0pRAH5FphokTGmyy8M3oxbvw7qAXts2GORxs+h/2vKsD+osMhZ7An6yK6F1dA== 1180 | dependencies: 1181 | esbuild "^0.14.47" 1182 | postcss "^8.4.14" 1183 | resolve "^1.22.1" 1184 | rollup "^2.75.6" 1185 | optionalDependencies: 1186 | fsevents "~2.3.2" 1187 | 1188 | xtend@^4.0.2: 1189 | version "4.0.2" 1190 | resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" 1191 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 1192 | 1193 | yaml@^1.10.2: 1194 | version "1.10.2" 1195 | resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" 1196 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 1197 | --------------------------------------------------------------------------------