├── .env.example ├── .gitignore ├── LICENSE ├── README.md ├── components ├── BackLink.tsx ├── Footer.tsx ├── Layout.tsx ├── Loading.tsx ├── NumberInput.tsx ├── PageHeading.tsx ├── Products.tsx └── SiteHeading.tsx ├── lib ├── calculatePrice.ts └── products.ts ├── next-env.d.ts ├── next.config.js ├── package-lock.json ├── package.json ├── pages ├── _app.tsx ├── _document.tsx ├── api │ └── .gitkeep ├── checkout.tsx └── index.tsx ├── postcss.config.js ├── prettier.config.js ├── public └── favicon.ico ├── styles └── globals.css ├── tailwind.config.js └── tsconfig.json /.env.example: -------------------------------------------------------------------------------- 1 | RECIPIENT_PRIVATE_KEY=some-private-key -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env 29 | .env.local 30 | .env.development.local 31 | .env.test.local 32 | .env.production.local 33 | 34 | # vercel 35 | .vercel 36 | 37 | # typescript 38 | *.tsbuildinfo 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 pointer.gg 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 | # Take payments IRL with Solana Pay 2 | 3 | Code for [Pointer Solana Pay Tutorial](pointer.gg/tutorials/solana-pay-irl-payments) 4 | -------------------------------------------------------------------------------- /components/BackLink.tsx: -------------------------------------------------------------------------------- 1 | import Link from "next/link"; 2 | import { PropsWithChildren } from "react"; 3 | 4 | interface Props { 5 | href: string; 6 | } 7 | 8 | export default function BackLink({ children, href }: PropsWithChildren) { 9 | return ( 10 | 11 | ⬅️  {children} 12 | 13 | ) 14 | } 15 | -------------------------------------------------------------------------------- /components/Footer.tsx: -------------------------------------------------------------------------------- 1 | export default function Footer() { 2 | return ( 3 | 13 | ) 14 | } 15 | -------------------------------------------------------------------------------- /components/Layout.tsx: -------------------------------------------------------------------------------- 1 | import { PropsWithChildren } from "react"; 2 | import Footer from "./Footer"; 3 | 4 | export default function Layout({ children }: PropsWithChildren<{}>) { 5 | return ( 6 |
7 |
8 | {children} 9 |
10 |
11 |
12 | ) 13 | } 14 | -------------------------------------------------------------------------------- /components/Loading.tsx: -------------------------------------------------------------------------------- 1 | export default function Loading() { 2 | return ( 3 | 4 | 5 | 6 | 7 | ) 8 | } 9 | -------------------------------------------------------------------------------- /components/NumberInput.tsx: -------------------------------------------------------------------------------- 1 | import { useState } from "react" 2 | 3 | interface Props { 4 | name: string, 5 | formRef: React.RefObject, 6 | } 7 | 8 | export default function NumberInput({ name, formRef }: Props) { 9 | const [number, setNumber] = useState(0) 10 | 11 | function decrement() { 12 | setNumber(n => n > 0 ? n - 1 : 0) 13 | } 14 | 15 | function increment() { 16 | setNumber(n => n + 1) 17 | } 18 | 19 | function handleKeyboard(e: React.KeyboardEvent) { 20 | if (e.key === "ArrowDown") { 21 | e.preventDefault(); 22 | decrement(); 23 | } 24 | if (e.key === "ArrowUp") { 25 | e.preventDefault(); 26 | increment(); 27 | } 28 | if (e.key === "Enter") { 29 | e.preventDefault(); 30 | formRef.current?.submit(); 31 | } 32 | } 33 | 34 | return ( 35 |
38 | 47 | setNumber(Number(e.target.value))} 52 | min={0} 53 | className="w-12 border-none focus:ring-0 text-center bg-gray-200" 54 | /> 55 | 64 |
65 | ) 66 | } 67 | -------------------------------------------------------------------------------- /components/PageHeading.tsx: -------------------------------------------------------------------------------- 1 | import { PropsWithChildren } from "react"; 2 | 3 | export default function PageHeading({ children }: PropsWithChildren<{}>) { 4 | return

{children}

5 | } 6 | -------------------------------------------------------------------------------- /components/Products.tsx: -------------------------------------------------------------------------------- 1 | import { useRef } from "react"; 2 | import { products } from "../lib/products" 3 | import NumberInput from "./NumberInput"; 4 | 5 | interface Props { 6 | submitTarget: string; 7 | enabled: boolean; 8 | } 9 | 10 | export default function Products({ submitTarget, enabled }: Props) { 11 | const formRef = useRef(null); 12 | 13 | return ( 14 |
15 |
16 |
17 | {products.map(product => { 18 | return ( 19 |
20 |

{product.name}

21 |

{product.description}

22 |

23 | {product.priceSol} SOL 24 | {product.unitName && /{product.unitName}} 25 |

26 |
27 | 28 |
29 |
30 | ) 31 | })} 32 | 33 |
34 | 35 | 41 |
42 |
43 | ) 44 | } 45 | -------------------------------------------------------------------------------- /components/SiteHeading.tsx: -------------------------------------------------------------------------------- 1 | import { PropsWithChildren } from "react"; 2 | 3 | export default function SiteHeading({ children }: PropsWithChildren<{}>) { 4 | return

{children}

5 | } 6 | -------------------------------------------------------------------------------- /lib/calculatePrice.ts: -------------------------------------------------------------------------------- 1 | import BigNumber from "bignumber.js"; 2 | import { ParsedUrlQuery } from "querystring"; 3 | import { products } from "./products"; 4 | 5 | export default function calculatePrice(query: ParsedUrlQuery): BigNumber { 6 | let amount = new BigNumber(0); 7 | for (let [id, quantity] of Object.entries(query)) { 8 | const product = products.find(p => p.id === id) 9 | if (!product) continue; 10 | 11 | const price = product.priceSol 12 | const productQuantity = new BigNumber(quantity as string) 13 | amount = amount.plus(productQuantity.multipliedBy(price)) 14 | } 15 | 16 | return amount 17 | } 18 | -------------------------------------------------------------------------------- /lib/products.ts: -------------------------------------------------------------------------------- 1 | export const products = [ 2 | { 3 | id: 'box-of-cookies', 4 | name: 'Box', 5 | description: 'A delicious box of handmade cookies', 6 | unitName: 'box', // shows after the price, eg. 0.05 SOL/box 7 | priceSol: 0.05, 8 | priceUsd: 5, 9 | }, 10 | { 11 | id: 'basket-of-cookies', 12 | name: 'Basket', 13 | description: 'A large basket of handmade cookies', 14 | unitName: 'basket', 15 | priceSol: 0.1, 16 | priceUsd: 10, 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | module.exports = { 3 | reactStrictMode: true, 4 | } 5 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "solana-pay-tutorial", 3 | "lockfileVersion": 2, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "name": "solana-pay-tutorial", 8 | "dependencies": { 9 | "@tailwindcss/forms": "^0.5.0", 10 | "bignumber.js": "^9.0.2", 11 | "next": "latest", 12 | "react": "^17.0.2", 13 | "react-dom": "^17.0.2" 14 | }, 15 | "devDependencies": { 16 | "@types/node": "17.0.4", 17 | "@types/react": "17.0.38", 18 | "autoprefixer": "^10.4.0", 19 | "postcss": "^8.4.5", 20 | "prettier": "^2.5.1", 21 | "prettier-plugin-tailwindcss": "^0.1.1", 22 | "tailwindcss": "^3.0.7", 23 | "typescript": "4.5.4" 24 | } 25 | }, 26 | "node_modules/@babel/code-frame": { 27 | "version": "7.16.7", 28 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", 29 | "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", 30 | "dependencies": { 31 | "@babel/highlight": "^7.16.7" 32 | }, 33 | "engines": { 34 | "node": ">=6.9.0" 35 | } 36 | }, 37 | "node_modules/@babel/helper-validator-identifier": { 38 | "version": "7.16.7", 39 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", 40 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", 41 | "engines": { 42 | "node": ">=6.9.0" 43 | } 44 | }, 45 | "node_modules/@babel/highlight": { 46 | "version": "7.16.10", 47 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", 48 | "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", 49 | "dependencies": { 50 | "@babel/helper-validator-identifier": "^7.16.7", 51 | "chalk": "^2.0.0", 52 | "js-tokens": "^4.0.0" 53 | }, 54 | "engines": { 55 | "node": ">=6.9.0" 56 | } 57 | }, 58 | "node_modules/@babel/highlight/node_modules/ansi-styles": { 59 | "version": "3.2.1", 60 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 61 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 62 | "dependencies": { 63 | "color-convert": "^1.9.0" 64 | }, 65 | "engines": { 66 | "node": ">=4" 67 | } 68 | }, 69 | "node_modules/@babel/highlight/node_modules/chalk": { 70 | "version": "2.4.2", 71 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 72 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 73 | "dependencies": { 74 | "ansi-styles": "^3.2.1", 75 | "escape-string-regexp": "^1.0.5", 76 | "supports-color": "^5.3.0" 77 | }, 78 | "engines": { 79 | "node": ">=4" 80 | } 81 | }, 82 | "node_modules/@babel/highlight/node_modules/color-convert": { 83 | "version": "1.9.3", 84 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 85 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 86 | "dependencies": { 87 | "color-name": "1.1.3" 88 | } 89 | }, 90 | "node_modules/@babel/highlight/node_modules/color-name": { 91 | "version": "1.1.3", 92 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 93 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 94 | }, 95 | "node_modules/@babel/highlight/node_modules/has-flag": { 96 | "version": "3.0.0", 97 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 98 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 99 | "engines": { 100 | "node": ">=4" 101 | } 102 | }, 103 | "node_modules/@babel/highlight/node_modules/supports-color": { 104 | "version": "5.5.0", 105 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 106 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 107 | "dependencies": { 108 | "has-flag": "^3.0.0" 109 | }, 110 | "engines": { 111 | "node": ">=4" 112 | } 113 | }, 114 | "node_modules/@next/env": { 115 | "version": "12.1.0", 116 | "resolved": "https://registry.npmjs.org/@next/env/-/env-12.1.0.tgz", 117 | "integrity": "sha512-nrIgY6t17FQ9xxwH3jj0a6EOiQ/WDHUos35Hghtr+SWN/ntHIQ7UpuvSi0vaLzZVHQWaDupKI+liO5vANcDeTQ==" 118 | }, 119 | "node_modules/@next/swc-android-arm64": { 120 | "version": "12.1.0", 121 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.1.0.tgz", 122 | "integrity": "sha512-/280MLdZe0W03stA69iL+v6I+J1ascrQ6FrXBlXGCsGzrfMaGr7fskMa0T5AhQIVQD4nA/46QQWxG//DYuFBcA==", 123 | "cpu": [ 124 | "arm64" 125 | ], 126 | "optional": true, 127 | "os": [ 128 | "android" 129 | ], 130 | "engines": { 131 | "node": ">= 10" 132 | } 133 | }, 134 | "node_modules/@next/swc-darwin-arm64": { 135 | "version": "12.1.0", 136 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.0.tgz", 137 | "integrity": "sha512-R8vcXE2/iONJ1Unf5Ptqjk6LRW3bggH+8drNkkzH4FLEQkHtELhvcmJwkXcuipyQCsIakldAXhRbZmm3YN1vXg==", 138 | "cpu": [ 139 | "arm64" 140 | ], 141 | "optional": true, 142 | "os": [ 143 | "darwin" 144 | ], 145 | "engines": { 146 | "node": ">= 10" 147 | } 148 | }, 149 | "node_modules/@next/swc-darwin-x64": { 150 | "version": "12.1.0", 151 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.0.tgz", 152 | "integrity": "sha512-ieAz0/J0PhmbZBB8+EA/JGdhRHBogF8BWaeqR7hwveb6SYEIJaDNQy0I+ZN8gF8hLj63bEDxJAs/cEhdnTq+ug==", 153 | "cpu": [ 154 | "x64" 155 | ], 156 | "optional": true, 157 | "os": [ 158 | "darwin" 159 | ], 160 | "engines": { 161 | "node": ">= 10" 162 | } 163 | }, 164 | "node_modules/@next/swc-linux-arm-gnueabihf": { 165 | "version": "12.1.0", 166 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.0.tgz", 167 | "integrity": "sha512-njUd9hpl6o6A5d08dC0cKAgXKCzm5fFtgGe6i0eko8IAdtAPbtHxtpre3VeSxdZvuGFh+hb0REySQP9T1ttkog==", 168 | "cpu": [ 169 | "arm" 170 | ], 171 | "optional": true, 172 | "os": [ 173 | "linux" 174 | ], 175 | "engines": { 176 | "node": ">= 10" 177 | } 178 | }, 179 | "node_modules/@next/swc-linux-arm64-gnu": { 180 | "version": "12.1.0", 181 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.0.tgz", 182 | "integrity": "sha512-OqangJLkRxVxMhDtcb7Qn1xjzFA3s50EIxY7mljbSCLybU+sByPaWAHY4px97ieOlr2y4S0xdPKkQ3BCAwyo6Q==", 183 | "cpu": [ 184 | "arm64" 185 | ], 186 | "optional": true, 187 | "os": [ 188 | "linux" 189 | ], 190 | "engines": { 191 | "node": ">= 10" 192 | } 193 | }, 194 | "node_modules/@next/swc-linux-arm64-musl": { 195 | "version": "12.1.0", 196 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.0.tgz", 197 | "integrity": "sha512-hB8cLSt4GdmOpcwRe2UzI5UWn6HHO/vLkr5OTuNvCJ5xGDwpPXelVkYW/0+C3g5axbDW2Tym4S+MQCkkH9QfWA==", 198 | "cpu": [ 199 | "arm64" 200 | ], 201 | "optional": true, 202 | "os": [ 203 | "linux" 204 | ], 205 | "engines": { 206 | "node": ">= 10" 207 | } 208 | }, 209 | "node_modules/@next/swc-linux-x64-gnu": { 210 | "version": "12.1.0", 211 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.0.tgz", 212 | "integrity": "sha512-OKO4R/digvrVuweSw/uBM4nSdyzsBV5EwkUeeG4KVpkIZEe64ZwRpnFB65bC6hGwxIBnTv5NMSnJ+0K/WmG78A==", 213 | "cpu": [ 214 | "x64" 215 | ], 216 | "optional": true, 217 | "os": [ 218 | "linux" 219 | ], 220 | "engines": { 221 | "node": ">= 10" 222 | } 223 | }, 224 | "node_modules/@next/swc-linux-x64-musl": { 225 | "version": "12.1.0", 226 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.0.tgz", 227 | "integrity": "sha512-JohhgAHZvOD3rQY7tlp7NlmvtvYHBYgY0x5ZCecUT6eCCcl9lv6iV3nfu82ErkxNk1H893fqH0FUpznZ/H3pSw==", 228 | "cpu": [ 229 | "x64" 230 | ], 231 | "optional": true, 232 | "os": [ 233 | "linux" 234 | ], 235 | "engines": { 236 | "node": ">= 10" 237 | } 238 | }, 239 | "node_modules/@next/swc-win32-arm64-msvc": { 240 | "version": "12.1.0", 241 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.0.tgz", 242 | "integrity": "sha512-T/3gIE6QEfKIJ4dmJk75v9hhNiYZhQYAoYm4iVo1TgcsuaKLFa+zMPh4056AHiG6n9tn2UQ1CFE8EoybEsqsSw==", 243 | "cpu": [ 244 | "arm64" 245 | ], 246 | "optional": true, 247 | "os": [ 248 | "win32" 249 | ], 250 | "engines": { 251 | "node": ">= 10" 252 | } 253 | }, 254 | "node_modules/@next/swc-win32-ia32-msvc": { 255 | "version": "12.1.0", 256 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.0.tgz", 257 | "integrity": "sha512-iwnKgHJdqhIW19H9PRPM9j55V6RdcOo6rX+5imx832BCWzkDbyomWnlzBfr6ByUYfhohb8QuH4hSGEikpPqI0Q==", 258 | "cpu": [ 259 | "ia32" 260 | ], 261 | "optional": true, 262 | "os": [ 263 | "win32" 264 | ], 265 | "engines": { 266 | "node": ">= 10" 267 | } 268 | }, 269 | "node_modules/@next/swc-win32-x64-msvc": { 270 | "version": "12.1.0", 271 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.0.tgz", 272 | "integrity": "sha512-aBvcbMwuanDH4EMrL2TthNJy+4nP59Bimn8egqv6GHMVj0a44cU6Au4PjOhLNqEh9l+IpRGBqMTzec94UdC5xg==", 273 | "cpu": [ 274 | "x64" 275 | ], 276 | "optional": true, 277 | "os": [ 278 | "win32" 279 | ], 280 | "engines": { 281 | "node": ">= 10" 282 | } 283 | }, 284 | "node_modules/@nodelib/fs.scandir": { 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 | "engines": { 293 | "node": ">= 8" 294 | } 295 | }, 296 | "node_modules/@nodelib/fs.stat": { 297 | "version": "2.0.5", 298 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 299 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 300 | "engines": { 301 | "node": ">= 8" 302 | } 303 | }, 304 | "node_modules/@nodelib/fs.walk": { 305 | "version": "1.2.8", 306 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 307 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 308 | "dependencies": { 309 | "@nodelib/fs.scandir": "2.1.5", 310 | "fastq": "^1.6.0" 311 | }, 312 | "engines": { 313 | "node": ">= 8" 314 | } 315 | }, 316 | "node_modules/@tailwindcss/forms": { 317 | "version": "0.5.0", 318 | "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.0.tgz", 319 | "integrity": "sha512-KzWugryEBFkmoaYcBE18rs6gthWCFHHO7cAZm2/hv3hwD67AzwP7udSCa22E7R1+CEJL/FfhYsJWrc0b1aeSzw==", 320 | "dependencies": { 321 | "mini-svg-data-uri": "^1.2.3" 322 | }, 323 | "peerDependencies": { 324 | "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" 325 | } 326 | }, 327 | "node_modules/@types/node": { 328 | "version": "17.0.4", 329 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.4.tgz", 330 | "integrity": "sha512-6xwbrW4JJiJLgF+zNypN5wr2ykM9/jHcL7rQ8fZe2vuftggjzZeRSM4OwRc6Xk8qWjwJ99qVHo/JgOGmomWRog==", 331 | "dev": true 332 | }, 333 | "node_modules/@types/parse-json": { 334 | "version": "4.0.0", 335 | "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", 336 | "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" 337 | }, 338 | "node_modules/@types/prop-types": { 339 | "version": "15.7.4", 340 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", 341 | "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", 342 | "dev": true 343 | }, 344 | "node_modules/@types/react": { 345 | "version": "17.0.38", 346 | "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz", 347 | "integrity": "sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==", 348 | "dev": true, 349 | "dependencies": { 350 | "@types/prop-types": "*", 351 | "@types/scheduler": "*", 352 | "csstype": "^3.0.2" 353 | } 354 | }, 355 | "node_modules/@types/scheduler": { 356 | "version": "0.16.2", 357 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", 358 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", 359 | "dev": true 360 | }, 361 | "node_modules/acorn": { 362 | "version": "7.4.1", 363 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 364 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", 365 | "bin": { 366 | "acorn": "bin/acorn" 367 | }, 368 | "engines": { 369 | "node": ">=0.4.0" 370 | } 371 | }, 372 | "node_modules/acorn-node": { 373 | "version": "1.8.2", 374 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", 375 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", 376 | "dependencies": { 377 | "acorn": "^7.0.0", 378 | "acorn-walk": "^7.0.0", 379 | "xtend": "^4.0.2" 380 | } 381 | }, 382 | "node_modules/acorn-walk": { 383 | "version": "7.2.0", 384 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 385 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", 386 | "engines": { 387 | "node": ">=0.4.0" 388 | } 389 | }, 390 | "node_modules/ansi-styles": { 391 | "version": "4.3.0", 392 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 393 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 394 | "dependencies": { 395 | "color-convert": "^2.0.1" 396 | }, 397 | "engines": { 398 | "node": ">=8" 399 | }, 400 | "funding": { 401 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 402 | } 403 | }, 404 | "node_modules/anymatch": { 405 | "version": "3.1.2", 406 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 407 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 408 | "dependencies": { 409 | "normalize-path": "^3.0.0", 410 | "picomatch": "^2.0.4" 411 | }, 412 | "engines": { 413 | "node": ">= 8" 414 | } 415 | }, 416 | "node_modules/arg": { 417 | "version": "5.0.1", 418 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", 419 | "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==" 420 | }, 421 | "node_modules/autoprefixer": { 422 | "version": "10.4.4", 423 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", 424 | "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==", 425 | "funding": [ 426 | { 427 | "type": "opencollective", 428 | "url": "https://opencollective.com/postcss/" 429 | }, 430 | { 431 | "type": "tidelift", 432 | "url": "https://tidelift.com/funding/github/npm/autoprefixer" 433 | } 434 | ], 435 | "dependencies": { 436 | "browserslist": "^4.20.2", 437 | "caniuse-lite": "^1.0.30001317", 438 | "fraction.js": "^4.2.0", 439 | "normalize-range": "^0.1.2", 440 | "picocolors": "^1.0.0", 441 | "postcss-value-parser": "^4.2.0" 442 | }, 443 | "bin": { 444 | "autoprefixer": "bin/autoprefixer" 445 | }, 446 | "engines": { 447 | "node": "^10 || ^12 || >=14" 448 | }, 449 | "peerDependencies": { 450 | "postcss": "^8.1.0" 451 | } 452 | }, 453 | "node_modules/bignumber.js": { 454 | "version": "9.0.2", 455 | "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", 456 | "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", 457 | "engines": { 458 | "node": "*" 459 | } 460 | }, 461 | "node_modules/binary-extensions": { 462 | "version": "2.2.0", 463 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 464 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 465 | "engines": { 466 | "node": ">=8" 467 | } 468 | }, 469 | "node_modules/braces": { 470 | "version": "3.0.2", 471 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 472 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 473 | "dependencies": { 474 | "fill-range": "^7.0.1" 475 | }, 476 | "engines": { 477 | "node": ">=8" 478 | } 479 | }, 480 | "node_modules/browserslist": { 481 | "version": "4.20.2", 482 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", 483 | "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", 484 | "funding": [ 485 | { 486 | "type": "opencollective", 487 | "url": "https://opencollective.com/browserslist" 488 | }, 489 | { 490 | "type": "tidelift", 491 | "url": "https://tidelift.com/funding/github/npm/browserslist" 492 | } 493 | ], 494 | "dependencies": { 495 | "caniuse-lite": "^1.0.30001317", 496 | "electron-to-chromium": "^1.4.84", 497 | "escalade": "^3.1.1", 498 | "node-releases": "^2.0.2", 499 | "picocolors": "^1.0.0" 500 | }, 501 | "bin": { 502 | "browserslist": "cli.js" 503 | }, 504 | "engines": { 505 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 506 | } 507 | }, 508 | "node_modules/callsites": { 509 | "version": "3.1.0", 510 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 511 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 512 | "engines": { 513 | "node": ">=6" 514 | } 515 | }, 516 | "node_modules/camelcase-css": { 517 | "version": "2.0.1", 518 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 519 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 520 | "engines": { 521 | "node": ">= 6" 522 | } 523 | }, 524 | "node_modules/caniuse-lite": { 525 | "version": "1.0.30001317", 526 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001317.tgz", 527 | "integrity": "sha512-xIZLh8gBm4dqNX0gkzrBeyI86J2eCjWzYAs40q88smG844YIrN4tVQl/RhquHvKEKImWWFIVh1Lxe5n1G/N+GQ==", 528 | "funding": { 529 | "type": "opencollective", 530 | "url": "https://opencollective.com/browserslist" 531 | } 532 | }, 533 | "node_modules/chalk": { 534 | "version": "4.1.2", 535 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 536 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 537 | "dependencies": { 538 | "ansi-styles": "^4.1.0", 539 | "supports-color": "^7.1.0" 540 | }, 541 | "engines": { 542 | "node": ">=10" 543 | }, 544 | "funding": { 545 | "url": "https://github.com/chalk/chalk?sponsor=1" 546 | } 547 | }, 548 | "node_modules/chokidar": { 549 | "version": "3.5.3", 550 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 551 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 552 | "funding": [ 553 | { 554 | "type": "individual", 555 | "url": "https://paulmillr.com/funding/" 556 | } 557 | ], 558 | "dependencies": { 559 | "anymatch": "~3.1.2", 560 | "braces": "~3.0.2", 561 | "glob-parent": "~5.1.2", 562 | "is-binary-path": "~2.1.0", 563 | "is-glob": "~4.0.1", 564 | "normalize-path": "~3.0.0", 565 | "readdirp": "~3.6.0" 566 | }, 567 | "engines": { 568 | "node": ">= 8.10.0" 569 | }, 570 | "optionalDependencies": { 571 | "fsevents": "~2.3.2" 572 | } 573 | }, 574 | "node_modules/chokidar/node_modules/glob-parent": { 575 | "version": "5.1.2", 576 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 577 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 578 | "dependencies": { 579 | "is-glob": "^4.0.1" 580 | }, 581 | "engines": { 582 | "node": ">= 6" 583 | } 584 | }, 585 | "node_modules/color-convert": { 586 | "version": "2.0.1", 587 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 588 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 589 | "dependencies": { 590 | "color-name": "~1.1.4" 591 | }, 592 | "engines": { 593 | "node": ">=7.0.0" 594 | } 595 | }, 596 | "node_modules/color-name": { 597 | "version": "1.1.4", 598 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 599 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 600 | }, 601 | "node_modules/cosmiconfig": { 602 | "version": "7.0.1", 603 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", 604 | "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", 605 | "dependencies": { 606 | "@types/parse-json": "^4.0.0", 607 | "import-fresh": "^3.2.1", 608 | "parse-json": "^5.0.0", 609 | "path-type": "^4.0.0", 610 | "yaml": "^1.10.0" 611 | }, 612 | "engines": { 613 | "node": ">=10" 614 | } 615 | }, 616 | "node_modules/cssesc": { 617 | "version": "3.0.0", 618 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 619 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 620 | "bin": { 621 | "cssesc": "bin/cssesc" 622 | }, 623 | "engines": { 624 | "node": ">=4" 625 | } 626 | }, 627 | "node_modules/csstype": { 628 | "version": "3.0.11", 629 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz", 630 | "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==", 631 | "dev": true 632 | }, 633 | "node_modules/defined": { 634 | "version": "1.0.0", 635 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 636 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" 637 | }, 638 | "node_modules/detective": { 639 | "version": "5.2.0", 640 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", 641 | "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", 642 | "dependencies": { 643 | "acorn-node": "^1.6.1", 644 | "defined": "^1.0.0", 645 | "minimist": "^1.1.1" 646 | }, 647 | "bin": { 648 | "detective": "bin/detective.js" 649 | }, 650 | "engines": { 651 | "node": ">=0.8.0" 652 | } 653 | }, 654 | "node_modules/didyoumean": { 655 | "version": "1.2.2", 656 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 657 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" 658 | }, 659 | "node_modules/dlv": { 660 | "version": "1.1.3", 661 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 662 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" 663 | }, 664 | "node_modules/electron-to-chromium": { 665 | "version": "1.4.86", 666 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.86.tgz", 667 | "integrity": "sha512-EVTZ+igi8x63pK4bPuA95PXIs2b2Cowi3WQwI9f9qManLiZJOD1Lash1J3W4TvvcUCcIR4o/rgi9o8UicXSO+w==" 668 | }, 669 | "node_modules/error-ex": { 670 | "version": "1.3.2", 671 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 672 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 673 | "dependencies": { 674 | "is-arrayish": "^0.2.1" 675 | } 676 | }, 677 | "node_modules/escalade": { 678 | "version": "3.1.1", 679 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 680 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 681 | "engines": { 682 | "node": ">=6" 683 | } 684 | }, 685 | "node_modules/escape-string-regexp": { 686 | "version": "1.0.5", 687 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 688 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 689 | "engines": { 690 | "node": ">=0.8.0" 691 | } 692 | }, 693 | "node_modules/fast-glob": { 694 | "version": "3.2.11", 695 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 696 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 697 | "dependencies": { 698 | "@nodelib/fs.stat": "^2.0.2", 699 | "@nodelib/fs.walk": "^1.2.3", 700 | "glob-parent": "^5.1.2", 701 | "merge2": "^1.3.0", 702 | "micromatch": "^4.0.4" 703 | }, 704 | "engines": { 705 | "node": ">=8.6.0" 706 | } 707 | }, 708 | "node_modules/fast-glob/node_modules/glob-parent": { 709 | "version": "5.1.2", 710 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 711 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 712 | "dependencies": { 713 | "is-glob": "^4.0.1" 714 | }, 715 | "engines": { 716 | "node": ">= 6" 717 | } 718 | }, 719 | "node_modules/fastq": { 720 | "version": "1.13.0", 721 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 722 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 723 | "dependencies": { 724 | "reusify": "^1.0.4" 725 | } 726 | }, 727 | "node_modules/fill-range": { 728 | "version": "7.0.1", 729 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 730 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 731 | "dependencies": { 732 | "to-regex-range": "^5.0.1" 733 | }, 734 | "engines": { 735 | "node": ">=8" 736 | } 737 | }, 738 | "node_modules/fraction.js": { 739 | "version": "4.2.0", 740 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", 741 | "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", 742 | "engines": { 743 | "node": "*" 744 | }, 745 | "funding": { 746 | "type": "patreon", 747 | "url": "https://www.patreon.com/infusion" 748 | } 749 | }, 750 | "node_modules/fsevents": { 751 | "version": "2.3.2", 752 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 753 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 754 | "hasInstallScript": true, 755 | "optional": true, 756 | "os": [ 757 | "darwin" 758 | ], 759 | "engines": { 760 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 761 | } 762 | }, 763 | "node_modules/function-bind": { 764 | "version": "1.1.1", 765 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 766 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 767 | }, 768 | "node_modules/glob-parent": { 769 | "version": "6.0.2", 770 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 771 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 772 | "dependencies": { 773 | "is-glob": "^4.0.3" 774 | }, 775 | "engines": { 776 | "node": ">=10.13.0" 777 | } 778 | }, 779 | "node_modules/has": { 780 | "version": "1.0.3", 781 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 782 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 783 | "dependencies": { 784 | "function-bind": "^1.1.1" 785 | }, 786 | "engines": { 787 | "node": ">= 0.4.0" 788 | } 789 | }, 790 | "node_modules/has-flag": { 791 | "version": "4.0.0", 792 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 793 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 794 | "engines": { 795 | "node": ">=8" 796 | } 797 | }, 798 | "node_modules/import-fresh": { 799 | "version": "3.3.0", 800 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 801 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 802 | "dependencies": { 803 | "parent-module": "^1.0.0", 804 | "resolve-from": "^4.0.0" 805 | }, 806 | "engines": { 807 | "node": ">=6" 808 | }, 809 | "funding": { 810 | "url": "https://github.com/sponsors/sindresorhus" 811 | } 812 | }, 813 | "node_modules/is-arrayish": { 814 | "version": "0.2.1", 815 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 816 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" 817 | }, 818 | "node_modules/is-binary-path": { 819 | "version": "2.1.0", 820 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 821 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 822 | "dependencies": { 823 | "binary-extensions": "^2.0.0" 824 | }, 825 | "engines": { 826 | "node": ">=8" 827 | } 828 | }, 829 | "node_modules/is-core-module": { 830 | "version": "2.8.1", 831 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", 832 | "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", 833 | "dependencies": { 834 | "has": "^1.0.3" 835 | }, 836 | "funding": { 837 | "url": "https://github.com/sponsors/ljharb" 838 | } 839 | }, 840 | "node_modules/is-extglob": { 841 | "version": "2.1.1", 842 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 843 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 844 | "engines": { 845 | "node": ">=0.10.0" 846 | } 847 | }, 848 | "node_modules/is-glob": { 849 | "version": "4.0.3", 850 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 851 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 852 | "dependencies": { 853 | "is-extglob": "^2.1.1" 854 | }, 855 | "engines": { 856 | "node": ">=0.10.0" 857 | } 858 | }, 859 | "node_modules/is-number": { 860 | "version": "7.0.0", 861 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 862 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 863 | "engines": { 864 | "node": ">=0.12.0" 865 | } 866 | }, 867 | "node_modules/js-tokens": { 868 | "version": "4.0.0", 869 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 870 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 871 | }, 872 | "node_modules/json-parse-even-better-errors": { 873 | "version": "2.3.1", 874 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 875 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" 876 | }, 877 | "node_modules/lilconfig": { 878 | "version": "2.0.4", 879 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", 880 | "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", 881 | "engines": { 882 | "node": ">=10" 883 | } 884 | }, 885 | "node_modules/lines-and-columns": { 886 | "version": "1.2.4", 887 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 888 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" 889 | }, 890 | "node_modules/loose-envify": { 891 | "version": "1.4.0", 892 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 893 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 894 | "dependencies": { 895 | "js-tokens": "^3.0.0 || ^4.0.0" 896 | }, 897 | "bin": { 898 | "loose-envify": "cli.js" 899 | } 900 | }, 901 | "node_modules/merge2": { 902 | "version": "1.4.1", 903 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 904 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 905 | "engines": { 906 | "node": ">= 8" 907 | } 908 | }, 909 | "node_modules/micromatch": { 910 | "version": "4.0.4", 911 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", 912 | "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", 913 | "dependencies": { 914 | "braces": "^3.0.1", 915 | "picomatch": "^2.2.3" 916 | }, 917 | "engines": { 918 | "node": ">=8.6" 919 | } 920 | }, 921 | "node_modules/mini-svg-data-uri": { 922 | "version": "1.4.4", 923 | "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", 924 | "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", 925 | "bin": { 926 | "mini-svg-data-uri": "cli.js" 927 | } 928 | }, 929 | "node_modules/minimist": { 930 | "version": "1.2.6", 931 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 932 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" 933 | }, 934 | "node_modules/nanoid": { 935 | "version": "3.3.1", 936 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", 937 | "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", 938 | "bin": { 939 | "nanoid": "bin/nanoid.cjs" 940 | }, 941 | "engines": { 942 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 943 | } 944 | }, 945 | "node_modules/next": { 946 | "version": "12.1.0", 947 | "resolved": "https://registry.npmjs.org/next/-/next-12.1.0.tgz", 948 | "integrity": "sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q==", 949 | "dependencies": { 950 | "@next/env": "12.1.0", 951 | "caniuse-lite": "^1.0.30001283", 952 | "postcss": "8.4.5", 953 | "styled-jsx": "5.0.0", 954 | "use-subscription": "1.5.1" 955 | }, 956 | "bin": { 957 | "next": "dist/bin/next" 958 | }, 959 | "engines": { 960 | "node": ">=12.22.0" 961 | }, 962 | "optionalDependencies": { 963 | "@next/swc-android-arm64": "12.1.0", 964 | "@next/swc-darwin-arm64": "12.1.0", 965 | "@next/swc-darwin-x64": "12.1.0", 966 | "@next/swc-linux-arm-gnueabihf": "12.1.0", 967 | "@next/swc-linux-arm64-gnu": "12.1.0", 968 | "@next/swc-linux-arm64-musl": "12.1.0", 969 | "@next/swc-linux-x64-gnu": "12.1.0", 970 | "@next/swc-linux-x64-musl": "12.1.0", 971 | "@next/swc-win32-arm64-msvc": "12.1.0", 972 | "@next/swc-win32-ia32-msvc": "12.1.0", 973 | "@next/swc-win32-x64-msvc": "12.1.0" 974 | }, 975 | "peerDependencies": { 976 | "fibers": ">= 3.1.0", 977 | "node-sass": "^6.0.0 || ^7.0.0", 978 | "react": "^17.0.2 || ^18.0.0-0", 979 | "react-dom": "^17.0.2 || ^18.0.0-0", 980 | "sass": "^1.3.0" 981 | }, 982 | "peerDependenciesMeta": { 983 | "fibers": { 984 | "optional": true 985 | }, 986 | "node-sass": { 987 | "optional": true 988 | }, 989 | "sass": { 990 | "optional": true 991 | } 992 | } 993 | }, 994 | "node_modules/node-releases": { 995 | "version": "2.0.2", 996 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", 997 | "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==" 998 | }, 999 | "node_modules/normalize-path": { 1000 | "version": "3.0.0", 1001 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1002 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1003 | "engines": { 1004 | "node": ">=0.10.0" 1005 | } 1006 | }, 1007 | "node_modules/normalize-range": { 1008 | "version": "0.1.2", 1009 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 1010 | "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", 1011 | "engines": { 1012 | "node": ">=0.10.0" 1013 | } 1014 | }, 1015 | "node_modules/object-assign": { 1016 | "version": "4.1.1", 1017 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1018 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 1019 | "engines": { 1020 | "node": ">=0.10.0" 1021 | } 1022 | }, 1023 | "node_modules/object-hash": { 1024 | "version": "2.2.0", 1025 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", 1026 | "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", 1027 | "engines": { 1028 | "node": ">= 6" 1029 | } 1030 | }, 1031 | "node_modules/parent-module": { 1032 | "version": "1.0.1", 1033 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1034 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1035 | "dependencies": { 1036 | "callsites": "^3.0.0" 1037 | }, 1038 | "engines": { 1039 | "node": ">=6" 1040 | } 1041 | }, 1042 | "node_modules/parse-json": { 1043 | "version": "5.2.0", 1044 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", 1045 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", 1046 | "dependencies": { 1047 | "@babel/code-frame": "^7.0.0", 1048 | "error-ex": "^1.3.1", 1049 | "json-parse-even-better-errors": "^2.3.0", 1050 | "lines-and-columns": "^1.1.6" 1051 | }, 1052 | "engines": { 1053 | "node": ">=8" 1054 | }, 1055 | "funding": { 1056 | "url": "https://github.com/sponsors/sindresorhus" 1057 | } 1058 | }, 1059 | "node_modules/path-parse": { 1060 | "version": "1.0.7", 1061 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1062 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 1063 | }, 1064 | "node_modules/path-type": { 1065 | "version": "4.0.0", 1066 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 1067 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 1068 | "engines": { 1069 | "node": ">=8" 1070 | } 1071 | }, 1072 | "node_modules/picocolors": { 1073 | "version": "1.0.0", 1074 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1075 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 1076 | }, 1077 | "node_modules/picomatch": { 1078 | "version": "2.3.1", 1079 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1080 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1081 | "engines": { 1082 | "node": ">=8.6" 1083 | }, 1084 | "funding": { 1085 | "url": "https://github.com/sponsors/jonschlinkert" 1086 | } 1087 | }, 1088 | "node_modules/postcss": { 1089 | "version": "8.4.5", 1090 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", 1091 | "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", 1092 | "dependencies": { 1093 | "nanoid": "^3.1.30", 1094 | "picocolors": "^1.0.0", 1095 | "source-map-js": "^1.0.1" 1096 | }, 1097 | "engines": { 1098 | "node": "^10 || ^12 || >=14" 1099 | }, 1100 | "funding": { 1101 | "type": "opencollective", 1102 | "url": "https://opencollective.com/postcss/" 1103 | } 1104 | }, 1105 | "node_modules/postcss-js": { 1106 | "version": "4.0.0", 1107 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", 1108 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", 1109 | "dependencies": { 1110 | "camelcase-css": "^2.0.1" 1111 | }, 1112 | "engines": { 1113 | "node": "^12 || ^14 || >= 16" 1114 | }, 1115 | "funding": { 1116 | "type": "opencollective", 1117 | "url": "https://opencollective.com/postcss/" 1118 | }, 1119 | "peerDependencies": { 1120 | "postcss": "^8.3.3" 1121 | } 1122 | }, 1123 | "node_modules/postcss-load-config": { 1124 | "version": "3.1.3", 1125 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.3.tgz", 1126 | "integrity": "sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==", 1127 | "dependencies": { 1128 | "lilconfig": "^2.0.4", 1129 | "yaml": "^1.10.2" 1130 | }, 1131 | "engines": { 1132 | "node": ">= 10" 1133 | }, 1134 | "funding": { 1135 | "type": "opencollective", 1136 | "url": "https://opencollective.com/postcss/" 1137 | }, 1138 | "peerDependencies": { 1139 | "ts-node": ">=9.0.0" 1140 | }, 1141 | "peerDependenciesMeta": { 1142 | "ts-node": { 1143 | "optional": true 1144 | } 1145 | } 1146 | }, 1147 | "node_modules/postcss-nested": { 1148 | "version": "5.0.6", 1149 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", 1150 | "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", 1151 | "dependencies": { 1152 | "postcss-selector-parser": "^6.0.6" 1153 | }, 1154 | "engines": { 1155 | "node": ">=12.0" 1156 | }, 1157 | "funding": { 1158 | "type": "opencollective", 1159 | "url": "https://opencollective.com/postcss/" 1160 | }, 1161 | "peerDependencies": { 1162 | "postcss": "^8.2.14" 1163 | } 1164 | }, 1165 | "node_modules/postcss-selector-parser": { 1166 | "version": "6.0.9", 1167 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", 1168 | "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", 1169 | "dependencies": { 1170 | "cssesc": "^3.0.0", 1171 | "util-deprecate": "^1.0.2" 1172 | }, 1173 | "engines": { 1174 | "node": ">=4" 1175 | } 1176 | }, 1177 | "node_modules/postcss-value-parser": { 1178 | "version": "4.2.0", 1179 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1180 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" 1181 | }, 1182 | "node_modules/prettier": { 1183 | "version": "2.6.0", 1184 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz", 1185 | "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==", 1186 | "dev": true, 1187 | "bin": { 1188 | "prettier": "bin-prettier.js" 1189 | }, 1190 | "engines": { 1191 | "node": ">=10.13.0" 1192 | }, 1193 | "funding": { 1194 | "url": "https://github.com/prettier/prettier?sponsor=1" 1195 | } 1196 | }, 1197 | "node_modules/prettier-plugin-tailwindcss": { 1198 | "version": "0.1.8", 1199 | "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.1.8.tgz", 1200 | "integrity": "sha512-hwarSBCswAXa+kqYtaAkFr3Vop9o04WOyZs0qo3NyvW8L7f1rif61wRyq0+ArmVThOuRBcJF5hjGXYk86cwemg==", 1201 | "dev": true, 1202 | "engines": { 1203 | "node": ">=12.17.0" 1204 | }, 1205 | "peerDependencies": { 1206 | "prettier": ">=2.2.0" 1207 | } 1208 | }, 1209 | "node_modules/queue-microtask": { 1210 | "version": "1.2.3", 1211 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1212 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1213 | "funding": [ 1214 | { 1215 | "type": "github", 1216 | "url": "https://github.com/sponsors/feross" 1217 | }, 1218 | { 1219 | "type": "patreon", 1220 | "url": "https://www.patreon.com/feross" 1221 | }, 1222 | { 1223 | "type": "consulting", 1224 | "url": "https://feross.org/support" 1225 | } 1226 | ] 1227 | }, 1228 | "node_modules/quick-lru": { 1229 | "version": "5.1.1", 1230 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 1231 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", 1232 | "engines": { 1233 | "node": ">=10" 1234 | }, 1235 | "funding": { 1236 | "url": "https://github.com/sponsors/sindresorhus" 1237 | } 1238 | }, 1239 | "node_modules/react": { 1240 | "version": "17.0.2", 1241 | "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", 1242 | "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", 1243 | "dependencies": { 1244 | "loose-envify": "^1.1.0", 1245 | "object-assign": "^4.1.1" 1246 | }, 1247 | "engines": { 1248 | "node": ">=0.10.0" 1249 | } 1250 | }, 1251 | "node_modules/react-dom": { 1252 | "version": "17.0.2", 1253 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", 1254 | "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", 1255 | "dependencies": { 1256 | "loose-envify": "^1.1.0", 1257 | "object-assign": "^4.1.1", 1258 | "scheduler": "^0.20.2" 1259 | }, 1260 | "peerDependencies": { 1261 | "react": "17.0.2" 1262 | } 1263 | }, 1264 | "node_modules/readdirp": { 1265 | "version": "3.6.0", 1266 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1267 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1268 | "dependencies": { 1269 | "picomatch": "^2.2.1" 1270 | }, 1271 | "engines": { 1272 | "node": ">=8.10.0" 1273 | } 1274 | }, 1275 | "node_modules/resolve": { 1276 | "version": "1.22.0", 1277 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 1278 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 1279 | "dependencies": { 1280 | "is-core-module": "^2.8.1", 1281 | "path-parse": "^1.0.7", 1282 | "supports-preserve-symlinks-flag": "^1.0.0" 1283 | }, 1284 | "bin": { 1285 | "resolve": "bin/resolve" 1286 | }, 1287 | "funding": { 1288 | "url": "https://github.com/sponsors/ljharb" 1289 | } 1290 | }, 1291 | "node_modules/resolve-from": { 1292 | "version": "4.0.0", 1293 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1294 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1295 | "engines": { 1296 | "node": ">=4" 1297 | } 1298 | }, 1299 | "node_modules/reusify": { 1300 | "version": "1.0.4", 1301 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1302 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1303 | "engines": { 1304 | "iojs": ">=1.0.0", 1305 | "node": ">=0.10.0" 1306 | } 1307 | }, 1308 | "node_modules/run-parallel": { 1309 | "version": "1.2.0", 1310 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1311 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1312 | "funding": [ 1313 | { 1314 | "type": "github", 1315 | "url": "https://github.com/sponsors/feross" 1316 | }, 1317 | { 1318 | "type": "patreon", 1319 | "url": "https://www.patreon.com/feross" 1320 | }, 1321 | { 1322 | "type": "consulting", 1323 | "url": "https://feross.org/support" 1324 | } 1325 | ], 1326 | "dependencies": { 1327 | "queue-microtask": "^1.2.2" 1328 | } 1329 | }, 1330 | "node_modules/scheduler": { 1331 | "version": "0.20.2", 1332 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", 1333 | "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", 1334 | "dependencies": { 1335 | "loose-envify": "^1.1.0", 1336 | "object-assign": "^4.1.1" 1337 | } 1338 | }, 1339 | "node_modules/source-map-js": { 1340 | "version": "1.0.2", 1341 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1342 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 1343 | "engines": { 1344 | "node": ">=0.10.0" 1345 | } 1346 | }, 1347 | "node_modules/styled-jsx": { 1348 | "version": "5.0.0", 1349 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.0.tgz", 1350 | "integrity": "sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA==", 1351 | "engines": { 1352 | "node": ">= 12.0.0" 1353 | }, 1354 | "peerDependencies": { 1355 | "react": ">= 16.8.0 || 17.x.x || 18.x.x" 1356 | }, 1357 | "peerDependenciesMeta": { 1358 | "@babel/core": { 1359 | "optional": true 1360 | }, 1361 | "babel-plugin-macros": { 1362 | "optional": true 1363 | } 1364 | } 1365 | }, 1366 | "node_modules/supports-color": { 1367 | "version": "7.2.0", 1368 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1369 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1370 | "dependencies": { 1371 | "has-flag": "^4.0.0" 1372 | }, 1373 | "engines": { 1374 | "node": ">=8" 1375 | } 1376 | }, 1377 | "node_modules/supports-preserve-symlinks-flag": { 1378 | "version": "1.0.0", 1379 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1380 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1381 | "engines": { 1382 | "node": ">= 0.4" 1383 | }, 1384 | "funding": { 1385 | "url": "https://github.com/sponsors/ljharb" 1386 | } 1387 | }, 1388 | "node_modules/tailwindcss": { 1389 | "version": "3.0.23", 1390 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.23.tgz", 1391 | "integrity": "sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==", 1392 | "dependencies": { 1393 | "arg": "^5.0.1", 1394 | "chalk": "^4.1.2", 1395 | "chokidar": "^3.5.3", 1396 | "color-name": "^1.1.4", 1397 | "cosmiconfig": "^7.0.1", 1398 | "detective": "^5.2.0", 1399 | "didyoumean": "^1.2.2", 1400 | "dlv": "^1.1.3", 1401 | "fast-glob": "^3.2.11", 1402 | "glob-parent": "^6.0.2", 1403 | "is-glob": "^4.0.3", 1404 | "normalize-path": "^3.0.0", 1405 | "object-hash": "^2.2.0", 1406 | "postcss": "^8.4.6", 1407 | "postcss-js": "^4.0.0", 1408 | "postcss-load-config": "^3.1.0", 1409 | "postcss-nested": "5.0.6", 1410 | "postcss-selector-parser": "^6.0.9", 1411 | "postcss-value-parser": "^4.2.0", 1412 | "quick-lru": "^5.1.1", 1413 | "resolve": "^1.22.0" 1414 | }, 1415 | "bin": { 1416 | "tailwind": "lib/cli.js", 1417 | "tailwindcss": "lib/cli.js" 1418 | }, 1419 | "engines": { 1420 | "node": ">=12.13.0" 1421 | }, 1422 | "peerDependencies": { 1423 | "autoprefixer": "^10.0.2", 1424 | "postcss": "^8.0.9" 1425 | } 1426 | }, 1427 | "node_modules/tailwindcss/node_modules/postcss": { 1428 | "version": "8.4.12", 1429 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", 1430 | "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", 1431 | "funding": [ 1432 | { 1433 | "type": "opencollective", 1434 | "url": "https://opencollective.com/postcss/" 1435 | }, 1436 | { 1437 | "type": "tidelift", 1438 | "url": "https://tidelift.com/funding/github/npm/postcss" 1439 | } 1440 | ], 1441 | "dependencies": { 1442 | "nanoid": "^3.3.1", 1443 | "picocolors": "^1.0.0", 1444 | "source-map-js": "^1.0.2" 1445 | }, 1446 | "engines": { 1447 | "node": "^10 || ^12 || >=14" 1448 | } 1449 | }, 1450 | "node_modules/to-regex-range": { 1451 | "version": "5.0.1", 1452 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1453 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1454 | "dependencies": { 1455 | "is-number": "^7.0.0" 1456 | }, 1457 | "engines": { 1458 | "node": ">=8.0" 1459 | } 1460 | }, 1461 | "node_modules/typescript": { 1462 | "version": "4.5.4", 1463 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", 1464 | "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", 1465 | "dev": true, 1466 | "bin": { 1467 | "tsc": "bin/tsc", 1468 | "tsserver": "bin/tsserver" 1469 | }, 1470 | "engines": { 1471 | "node": ">=4.2.0" 1472 | } 1473 | }, 1474 | "node_modules/use-subscription": { 1475 | "version": "1.5.1", 1476 | "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz", 1477 | "integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==", 1478 | "dependencies": { 1479 | "object-assign": "^4.1.1" 1480 | }, 1481 | "peerDependencies": { 1482 | "react": "^16.8.0 || ^17.0.0" 1483 | } 1484 | }, 1485 | "node_modules/util-deprecate": { 1486 | "version": "1.0.2", 1487 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1488 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 1489 | }, 1490 | "node_modules/xtend": { 1491 | "version": "4.0.2", 1492 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 1493 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 1494 | "engines": { 1495 | "node": ">=0.4" 1496 | } 1497 | }, 1498 | "node_modules/yaml": { 1499 | "version": "1.10.2", 1500 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 1501 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 1502 | "engines": { 1503 | "node": ">= 6" 1504 | } 1505 | } 1506 | }, 1507 | "dependencies": { 1508 | "@babel/code-frame": { 1509 | "version": "7.16.7", 1510 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", 1511 | "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", 1512 | "requires": { 1513 | "@babel/highlight": "^7.16.7" 1514 | } 1515 | }, 1516 | "@babel/helper-validator-identifier": { 1517 | "version": "7.16.7", 1518 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", 1519 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" 1520 | }, 1521 | "@babel/highlight": { 1522 | "version": "7.16.10", 1523 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", 1524 | "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", 1525 | "requires": { 1526 | "@babel/helper-validator-identifier": "^7.16.7", 1527 | "chalk": "^2.0.0", 1528 | "js-tokens": "^4.0.0" 1529 | }, 1530 | "dependencies": { 1531 | "ansi-styles": { 1532 | "version": "3.2.1", 1533 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 1534 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 1535 | "requires": { 1536 | "color-convert": "^1.9.0" 1537 | } 1538 | }, 1539 | "chalk": { 1540 | "version": "2.4.2", 1541 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 1542 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 1543 | "requires": { 1544 | "ansi-styles": "^3.2.1", 1545 | "escape-string-regexp": "^1.0.5", 1546 | "supports-color": "^5.3.0" 1547 | } 1548 | }, 1549 | "color-convert": { 1550 | "version": "1.9.3", 1551 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 1552 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 1553 | "requires": { 1554 | "color-name": "1.1.3" 1555 | } 1556 | }, 1557 | "color-name": { 1558 | "version": "1.1.3", 1559 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1560 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 1561 | }, 1562 | "has-flag": { 1563 | "version": "3.0.0", 1564 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1565 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 1566 | }, 1567 | "supports-color": { 1568 | "version": "5.5.0", 1569 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1570 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1571 | "requires": { 1572 | "has-flag": "^3.0.0" 1573 | } 1574 | } 1575 | } 1576 | }, 1577 | "@next/env": { 1578 | "version": "12.1.0", 1579 | "resolved": "https://registry.npmjs.org/@next/env/-/env-12.1.0.tgz", 1580 | "integrity": "sha512-nrIgY6t17FQ9xxwH3jj0a6EOiQ/WDHUos35Hghtr+SWN/ntHIQ7UpuvSi0vaLzZVHQWaDupKI+liO5vANcDeTQ==" 1581 | }, 1582 | "@next/swc-android-arm64": { 1583 | "version": "12.1.0", 1584 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.1.0.tgz", 1585 | "integrity": "sha512-/280MLdZe0W03stA69iL+v6I+J1ascrQ6FrXBlXGCsGzrfMaGr7fskMa0T5AhQIVQD4nA/46QQWxG//DYuFBcA==", 1586 | "optional": true 1587 | }, 1588 | "@next/swc-darwin-arm64": { 1589 | "version": "12.1.0", 1590 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.0.tgz", 1591 | "integrity": "sha512-R8vcXE2/iONJ1Unf5Ptqjk6LRW3bggH+8drNkkzH4FLEQkHtELhvcmJwkXcuipyQCsIakldAXhRbZmm3YN1vXg==", 1592 | "optional": true 1593 | }, 1594 | "@next/swc-darwin-x64": { 1595 | "version": "12.1.0", 1596 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.0.tgz", 1597 | "integrity": "sha512-ieAz0/J0PhmbZBB8+EA/JGdhRHBogF8BWaeqR7hwveb6SYEIJaDNQy0I+ZN8gF8hLj63bEDxJAs/cEhdnTq+ug==", 1598 | "optional": true 1599 | }, 1600 | "@next/swc-linux-arm-gnueabihf": { 1601 | "version": "12.1.0", 1602 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.0.tgz", 1603 | "integrity": "sha512-njUd9hpl6o6A5d08dC0cKAgXKCzm5fFtgGe6i0eko8IAdtAPbtHxtpre3VeSxdZvuGFh+hb0REySQP9T1ttkog==", 1604 | "optional": true 1605 | }, 1606 | "@next/swc-linux-arm64-gnu": { 1607 | "version": "12.1.0", 1608 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.0.tgz", 1609 | "integrity": "sha512-OqangJLkRxVxMhDtcb7Qn1xjzFA3s50EIxY7mljbSCLybU+sByPaWAHY4px97ieOlr2y4S0xdPKkQ3BCAwyo6Q==", 1610 | "optional": true 1611 | }, 1612 | "@next/swc-linux-arm64-musl": { 1613 | "version": "12.1.0", 1614 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.0.tgz", 1615 | "integrity": "sha512-hB8cLSt4GdmOpcwRe2UzI5UWn6HHO/vLkr5OTuNvCJ5xGDwpPXelVkYW/0+C3g5axbDW2Tym4S+MQCkkH9QfWA==", 1616 | "optional": true 1617 | }, 1618 | "@next/swc-linux-x64-gnu": { 1619 | "version": "12.1.0", 1620 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.0.tgz", 1621 | "integrity": "sha512-OKO4R/digvrVuweSw/uBM4nSdyzsBV5EwkUeeG4KVpkIZEe64ZwRpnFB65bC6hGwxIBnTv5NMSnJ+0K/WmG78A==", 1622 | "optional": true 1623 | }, 1624 | "@next/swc-linux-x64-musl": { 1625 | "version": "12.1.0", 1626 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.0.tgz", 1627 | "integrity": "sha512-JohhgAHZvOD3rQY7tlp7NlmvtvYHBYgY0x5ZCecUT6eCCcl9lv6iV3nfu82ErkxNk1H893fqH0FUpznZ/H3pSw==", 1628 | "optional": true 1629 | }, 1630 | "@next/swc-win32-arm64-msvc": { 1631 | "version": "12.1.0", 1632 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.0.tgz", 1633 | "integrity": "sha512-T/3gIE6QEfKIJ4dmJk75v9hhNiYZhQYAoYm4iVo1TgcsuaKLFa+zMPh4056AHiG6n9tn2UQ1CFE8EoybEsqsSw==", 1634 | "optional": true 1635 | }, 1636 | "@next/swc-win32-ia32-msvc": { 1637 | "version": "12.1.0", 1638 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.0.tgz", 1639 | "integrity": "sha512-iwnKgHJdqhIW19H9PRPM9j55V6RdcOo6rX+5imx832BCWzkDbyomWnlzBfr6ByUYfhohb8QuH4hSGEikpPqI0Q==", 1640 | "optional": true 1641 | }, 1642 | "@next/swc-win32-x64-msvc": { 1643 | "version": "12.1.0", 1644 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.0.tgz", 1645 | "integrity": "sha512-aBvcbMwuanDH4EMrL2TthNJy+4nP59Bimn8egqv6GHMVj0a44cU6Au4PjOhLNqEh9l+IpRGBqMTzec94UdC5xg==", 1646 | "optional": true 1647 | }, 1648 | "@nodelib/fs.scandir": { 1649 | "version": "2.1.5", 1650 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 1651 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 1652 | "requires": { 1653 | "@nodelib/fs.stat": "2.0.5", 1654 | "run-parallel": "^1.1.9" 1655 | } 1656 | }, 1657 | "@nodelib/fs.stat": { 1658 | "version": "2.0.5", 1659 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 1660 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" 1661 | }, 1662 | "@nodelib/fs.walk": { 1663 | "version": "1.2.8", 1664 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 1665 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 1666 | "requires": { 1667 | "@nodelib/fs.scandir": "2.1.5", 1668 | "fastq": "^1.6.0" 1669 | } 1670 | }, 1671 | "@tailwindcss/forms": { 1672 | "version": "0.5.0", 1673 | "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.0.tgz", 1674 | "integrity": "sha512-KzWugryEBFkmoaYcBE18rs6gthWCFHHO7cAZm2/hv3hwD67AzwP7udSCa22E7R1+CEJL/FfhYsJWrc0b1aeSzw==", 1675 | "requires": { 1676 | "mini-svg-data-uri": "^1.2.3" 1677 | } 1678 | }, 1679 | "@types/node": { 1680 | "version": "17.0.4", 1681 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.4.tgz", 1682 | "integrity": "sha512-6xwbrW4JJiJLgF+zNypN5wr2ykM9/jHcL7rQ8fZe2vuftggjzZeRSM4OwRc6Xk8qWjwJ99qVHo/JgOGmomWRog==", 1683 | "dev": true 1684 | }, 1685 | "@types/parse-json": { 1686 | "version": "4.0.0", 1687 | "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", 1688 | "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" 1689 | }, 1690 | "@types/prop-types": { 1691 | "version": "15.7.4", 1692 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", 1693 | "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", 1694 | "dev": true 1695 | }, 1696 | "@types/react": { 1697 | "version": "17.0.38", 1698 | "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz", 1699 | "integrity": "sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==", 1700 | "dev": true, 1701 | "requires": { 1702 | "@types/prop-types": "*", 1703 | "@types/scheduler": "*", 1704 | "csstype": "^3.0.2" 1705 | } 1706 | }, 1707 | "@types/scheduler": { 1708 | "version": "0.16.2", 1709 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", 1710 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", 1711 | "dev": true 1712 | }, 1713 | "acorn": { 1714 | "version": "7.4.1", 1715 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 1716 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" 1717 | }, 1718 | "acorn-node": { 1719 | "version": "1.8.2", 1720 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", 1721 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", 1722 | "requires": { 1723 | "acorn": "^7.0.0", 1724 | "acorn-walk": "^7.0.0", 1725 | "xtend": "^4.0.2" 1726 | } 1727 | }, 1728 | "acorn-walk": { 1729 | "version": "7.2.0", 1730 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 1731 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" 1732 | }, 1733 | "ansi-styles": { 1734 | "version": "4.3.0", 1735 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1736 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1737 | "requires": { 1738 | "color-convert": "^2.0.1" 1739 | } 1740 | }, 1741 | "anymatch": { 1742 | "version": "3.1.2", 1743 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 1744 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 1745 | "requires": { 1746 | "normalize-path": "^3.0.0", 1747 | "picomatch": "^2.0.4" 1748 | } 1749 | }, 1750 | "arg": { 1751 | "version": "5.0.1", 1752 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", 1753 | "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==" 1754 | }, 1755 | "autoprefixer": { 1756 | "version": "10.4.4", 1757 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", 1758 | "integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==", 1759 | "requires": { 1760 | "browserslist": "^4.20.2", 1761 | "caniuse-lite": "^1.0.30001317", 1762 | "fraction.js": "^4.2.0", 1763 | "normalize-range": "^0.1.2", 1764 | "picocolors": "^1.0.0", 1765 | "postcss-value-parser": "^4.2.0" 1766 | } 1767 | }, 1768 | "bignumber.js": { 1769 | "version": "9.0.2", 1770 | "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", 1771 | "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" 1772 | }, 1773 | "binary-extensions": { 1774 | "version": "2.2.0", 1775 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 1776 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" 1777 | }, 1778 | "braces": { 1779 | "version": "3.0.2", 1780 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 1781 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 1782 | "requires": { 1783 | "fill-range": "^7.0.1" 1784 | } 1785 | }, 1786 | "browserslist": { 1787 | "version": "4.20.2", 1788 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", 1789 | "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", 1790 | "requires": { 1791 | "caniuse-lite": "^1.0.30001317", 1792 | "electron-to-chromium": "^1.4.84", 1793 | "escalade": "^3.1.1", 1794 | "node-releases": "^2.0.2", 1795 | "picocolors": "^1.0.0" 1796 | } 1797 | }, 1798 | "callsites": { 1799 | "version": "3.1.0", 1800 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1801 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" 1802 | }, 1803 | "camelcase-css": { 1804 | "version": "2.0.1", 1805 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 1806 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" 1807 | }, 1808 | "caniuse-lite": { 1809 | "version": "1.0.30001317", 1810 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001317.tgz", 1811 | "integrity": "sha512-xIZLh8gBm4dqNX0gkzrBeyI86J2eCjWzYAs40q88smG844YIrN4tVQl/RhquHvKEKImWWFIVh1Lxe5n1G/N+GQ==" 1812 | }, 1813 | "chalk": { 1814 | "version": "4.1.2", 1815 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1816 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1817 | "requires": { 1818 | "ansi-styles": "^4.1.0", 1819 | "supports-color": "^7.1.0" 1820 | } 1821 | }, 1822 | "chokidar": { 1823 | "version": "3.5.3", 1824 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 1825 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 1826 | "requires": { 1827 | "anymatch": "~3.1.2", 1828 | "braces": "~3.0.2", 1829 | "fsevents": "~2.3.2", 1830 | "glob-parent": "~5.1.2", 1831 | "is-binary-path": "~2.1.0", 1832 | "is-glob": "~4.0.1", 1833 | "normalize-path": "~3.0.0", 1834 | "readdirp": "~3.6.0" 1835 | }, 1836 | "dependencies": { 1837 | "glob-parent": { 1838 | "version": "5.1.2", 1839 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1840 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1841 | "requires": { 1842 | "is-glob": "^4.0.1" 1843 | } 1844 | } 1845 | } 1846 | }, 1847 | "color-convert": { 1848 | "version": "2.0.1", 1849 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1850 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1851 | "requires": { 1852 | "color-name": "~1.1.4" 1853 | } 1854 | }, 1855 | "color-name": { 1856 | "version": "1.1.4", 1857 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1858 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 1859 | }, 1860 | "cosmiconfig": { 1861 | "version": "7.0.1", 1862 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", 1863 | "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", 1864 | "requires": { 1865 | "@types/parse-json": "^4.0.0", 1866 | "import-fresh": "^3.2.1", 1867 | "parse-json": "^5.0.0", 1868 | "path-type": "^4.0.0", 1869 | "yaml": "^1.10.0" 1870 | } 1871 | }, 1872 | "cssesc": { 1873 | "version": "3.0.0", 1874 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 1875 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" 1876 | }, 1877 | "csstype": { 1878 | "version": "3.0.11", 1879 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz", 1880 | "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==", 1881 | "dev": true 1882 | }, 1883 | "defined": { 1884 | "version": "1.0.0", 1885 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", 1886 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" 1887 | }, 1888 | "detective": { 1889 | "version": "5.2.0", 1890 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", 1891 | "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", 1892 | "requires": { 1893 | "acorn-node": "^1.6.1", 1894 | "defined": "^1.0.0", 1895 | "minimist": "^1.1.1" 1896 | } 1897 | }, 1898 | "didyoumean": { 1899 | "version": "1.2.2", 1900 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 1901 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" 1902 | }, 1903 | "dlv": { 1904 | "version": "1.1.3", 1905 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 1906 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" 1907 | }, 1908 | "electron-to-chromium": { 1909 | "version": "1.4.86", 1910 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.86.tgz", 1911 | "integrity": "sha512-EVTZ+igi8x63pK4bPuA95PXIs2b2Cowi3WQwI9f9qManLiZJOD1Lash1J3W4TvvcUCcIR4o/rgi9o8UicXSO+w==" 1912 | }, 1913 | "error-ex": { 1914 | "version": "1.3.2", 1915 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 1916 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 1917 | "requires": { 1918 | "is-arrayish": "^0.2.1" 1919 | } 1920 | }, 1921 | "escalade": { 1922 | "version": "3.1.1", 1923 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1924 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" 1925 | }, 1926 | "escape-string-regexp": { 1927 | "version": "1.0.5", 1928 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1929 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 1930 | }, 1931 | "fast-glob": { 1932 | "version": "3.2.11", 1933 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 1934 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 1935 | "requires": { 1936 | "@nodelib/fs.stat": "^2.0.2", 1937 | "@nodelib/fs.walk": "^1.2.3", 1938 | "glob-parent": "^5.1.2", 1939 | "merge2": "^1.3.0", 1940 | "micromatch": "^4.0.4" 1941 | }, 1942 | "dependencies": { 1943 | "glob-parent": { 1944 | "version": "5.1.2", 1945 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1946 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1947 | "requires": { 1948 | "is-glob": "^4.0.1" 1949 | } 1950 | } 1951 | } 1952 | }, 1953 | "fastq": { 1954 | "version": "1.13.0", 1955 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 1956 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 1957 | "requires": { 1958 | "reusify": "^1.0.4" 1959 | } 1960 | }, 1961 | "fill-range": { 1962 | "version": "7.0.1", 1963 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1964 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1965 | "requires": { 1966 | "to-regex-range": "^5.0.1" 1967 | } 1968 | }, 1969 | "fraction.js": { 1970 | "version": "4.2.0", 1971 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", 1972 | "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" 1973 | }, 1974 | "fsevents": { 1975 | "version": "2.3.2", 1976 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1977 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1978 | "optional": true 1979 | }, 1980 | "function-bind": { 1981 | "version": "1.1.1", 1982 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1983 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 1984 | }, 1985 | "glob-parent": { 1986 | "version": "6.0.2", 1987 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1988 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1989 | "requires": { 1990 | "is-glob": "^4.0.3" 1991 | } 1992 | }, 1993 | "has": { 1994 | "version": "1.0.3", 1995 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1996 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1997 | "requires": { 1998 | "function-bind": "^1.1.1" 1999 | } 2000 | }, 2001 | "has-flag": { 2002 | "version": "4.0.0", 2003 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2004 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 2005 | }, 2006 | "import-fresh": { 2007 | "version": "3.3.0", 2008 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 2009 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 2010 | "requires": { 2011 | "parent-module": "^1.0.0", 2012 | "resolve-from": "^4.0.0" 2013 | } 2014 | }, 2015 | "is-arrayish": { 2016 | "version": "0.2.1", 2017 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 2018 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" 2019 | }, 2020 | "is-binary-path": { 2021 | "version": "2.1.0", 2022 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 2023 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 2024 | "requires": { 2025 | "binary-extensions": "^2.0.0" 2026 | } 2027 | }, 2028 | "is-core-module": { 2029 | "version": "2.8.1", 2030 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", 2031 | "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", 2032 | "requires": { 2033 | "has": "^1.0.3" 2034 | } 2035 | }, 2036 | "is-extglob": { 2037 | "version": "2.1.1", 2038 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2039 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" 2040 | }, 2041 | "is-glob": { 2042 | "version": "4.0.3", 2043 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2044 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2045 | "requires": { 2046 | "is-extglob": "^2.1.1" 2047 | } 2048 | }, 2049 | "is-number": { 2050 | "version": "7.0.0", 2051 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2052 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" 2053 | }, 2054 | "js-tokens": { 2055 | "version": "4.0.0", 2056 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2057 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 2058 | }, 2059 | "json-parse-even-better-errors": { 2060 | "version": "2.3.1", 2061 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 2062 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" 2063 | }, 2064 | "lilconfig": { 2065 | "version": "2.0.4", 2066 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", 2067 | "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==" 2068 | }, 2069 | "lines-and-columns": { 2070 | "version": "1.2.4", 2071 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 2072 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" 2073 | }, 2074 | "loose-envify": { 2075 | "version": "1.4.0", 2076 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 2077 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 2078 | "requires": { 2079 | "js-tokens": "^3.0.0 || ^4.0.0" 2080 | } 2081 | }, 2082 | "merge2": { 2083 | "version": "1.4.1", 2084 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 2085 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" 2086 | }, 2087 | "micromatch": { 2088 | "version": "4.0.4", 2089 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", 2090 | "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", 2091 | "requires": { 2092 | "braces": "^3.0.1", 2093 | "picomatch": "^2.2.3" 2094 | } 2095 | }, 2096 | "mini-svg-data-uri": { 2097 | "version": "1.4.4", 2098 | "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", 2099 | "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==" 2100 | }, 2101 | "minimist": { 2102 | "version": "1.2.6", 2103 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 2104 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" 2105 | }, 2106 | "nanoid": { 2107 | "version": "3.3.1", 2108 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", 2109 | "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==" 2110 | }, 2111 | "next": { 2112 | "version": "12.1.0", 2113 | "resolved": "https://registry.npmjs.org/next/-/next-12.1.0.tgz", 2114 | "integrity": "sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q==", 2115 | "requires": { 2116 | "@next/env": "12.1.0", 2117 | "@next/swc-android-arm64": "12.1.0", 2118 | "@next/swc-darwin-arm64": "12.1.0", 2119 | "@next/swc-darwin-x64": "12.1.0", 2120 | "@next/swc-linux-arm-gnueabihf": "12.1.0", 2121 | "@next/swc-linux-arm64-gnu": "12.1.0", 2122 | "@next/swc-linux-arm64-musl": "12.1.0", 2123 | "@next/swc-linux-x64-gnu": "12.1.0", 2124 | "@next/swc-linux-x64-musl": "12.1.0", 2125 | "@next/swc-win32-arm64-msvc": "12.1.0", 2126 | "@next/swc-win32-ia32-msvc": "12.1.0", 2127 | "@next/swc-win32-x64-msvc": "12.1.0", 2128 | "caniuse-lite": "^1.0.30001283", 2129 | "postcss": "8.4.5", 2130 | "styled-jsx": "5.0.0", 2131 | "use-subscription": "1.5.1" 2132 | } 2133 | }, 2134 | "node-releases": { 2135 | "version": "2.0.2", 2136 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", 2137 | "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==" 2138 | }, 2139 | "normalize-path": { 2140 | "version": "3.0.0", 2141 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2142 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" 2143 | }, 2144 | "normalize-range": { 2145 | "version": "0.1.2", 2146 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 2147 | "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" 2148 | }, 2149 | "object-assign": { 2150 | "version": "4.1.1", 2151 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2152 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 2153 | }, 2154 | "object-hash": { 2155 | "version": "2.2.0", 2156 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", 2157 | "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" 2158 | }, 2159 | "parent-module": { 2160 | "version": "1.0.1", 2161 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 2162 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 2163 | "requires": { 2164 | "callsites": "^3.0.0" 2165 | } 2166 | }, 2167 | "parse-json": { 2168 | "version": "5.2.0", 2169 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", 2170 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", 2171 | "requires": { 2172 | "@babel/code-frame": "^7.0.0", 2173 | "error-ex": "^1.3.1", 2174 | "json-parse-even-better-errors": "^2.3.0", 2175 | "lines-and-columns": "^1.1.6" 2176 | } 2177 | }, 2178 | "path-parse": { 2179 | "version": "1.0.7", 2180 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2181 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 2182 | }, 2183 | "path-type": { 2184 | "version": "4.0.0", 2185 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 2186 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" 2187 | }, 2188 | "picocolors": { 2189 | "version": "1.0.0", 2190 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2191 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 2192 | }, 2193 | "picomatch": { 2194 | "version": "2.3.1", 2195 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2196 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" 2197 | }, 2198 | "postcss": { 2199 | "version": "8.4.5", 2200 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", 2201 | "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", 2202 | "requires": { 2203 | "nanoid": "^3.1.30", 2204 | "picocolors": "^1.0.0", 2205 | "source-map-js": "^1.0.1" 2206 | } 2207 | }, 2208 | "postcss-js": { 2209 | "version": "4.0.0", 2210 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", 2211 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", 2212 | "requires": { 2213 | "camelcase-css": "^2.0.1" 2214 | } 2215 | }, 2216 | "postcss-load-config": { 2217 | "version": "3.1.3", 2218 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.3.tgz", 2219 | "integrity": "sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==", 2220 | "requires": { 2221 | "lilconfig": "^2.0.4", 2222 | "yaml": "^1.10.2" 2223 | } 2224 | }, 2225 | "postcss-nested": { 2226 | "version": "5.0.6", 2227 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", 2228 | "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", 2229 | "requires": { 2230 | "postcss-selector-parser": "^6.0.6" 2231 | } 2232 | }, 2233 | "postcss-selector-parser": { 2234 | "version": "6.0.9", 2235 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", 2236 | "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", 2237 | "requires": { 2238 | "cssesc": "^3.0.0", 2239 | "util-deprecate": "^1.0.2" 2240 | } 2241 | }, 2242 | "postcss-value-parser": { 2243 | "version": "4.2.0", 2244 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 2245 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" 2246 | }, 2247 | "prettier": { 2248 | "version": "2.6.0", 2249 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz", 2250 | "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==", 2251 | "dev": true 2252 | }, 2253 | "prettier-plugin-tailwindcss": { 2254 | "version": "0.1.8", 2255 | "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.1.8.tgz", 2256 | "integrity": "sha512-hwarSBCswAXa+kqYtaAkFr3Vop9o04WOyZs0qo3NyvW8L7f1rif61wRyq0+ArmVThOuRBcJF5hjGXYk86cwemg==", 2257 | "dev": true, 2258 | "requires": {} 2259 | }, 2260 | "queue-microtask": { 2261 | "version": "1.2.3", 2262 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 2263 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" 2264 | }, 2265 | "quick-lru": { 2266 | "version": "5.1.1", 2267 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 2268 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" 2269 | }, 2270 | "react": { 2271 | "version": "17.0.2", 2272 | "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", 2273 | "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", 2274 | "requires": { 2275 | "loose-envify": "^1.1.0", 2276 | "object-assign": "^4.1.1" 2277 | } 2278 | }, 2279 | "react-dom": { 2280 | "version": "17.0.2", 2281 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", 2282 | "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", 2283 | "requires": { 2284 | "loose-envify": "^1.1.0", 2285 | "object-assign": "^4.1.1", 2286 | "scheduler": "^0.20.2" 2287 | } 2288 | }, 2289 | "readdirp": { 2290 | "version": "3.6.0", 2291 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 2292 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 2293 | "requires": { 2294 | "picomatch": "^2.2.1" 2295 | } 2296 | }, 2297 | "resolve": { 2298 | "version": "1.22.0", 2299 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 2300 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 2301 | "requires": { 2302 | "is-core-module": "^2.8.1", 2303 | "path-parse": "^1.0.7", 2304 | "supports-preserve-symlinks-flag": "^1.0.0" 2305 | } 2306 | }, 2307 | "resolve-from": { 2308 | "version": "4.0.0", 2309 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2310 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" 2311 | }, 2312 | "reusify": { 2313 | "version": "1.0.4", 2314 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 2315 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" 2316 | }, 2317 | "run-parallel": { 2318 | "version": "1.2.0", 2319 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 2320 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 2321 | "requires": { 2322 | "queue-microtask": "^1.2.2" 2323 | } 2324 | }, 2325 | "scheduler": { 2326 | "version": "0.20.2", 2327 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", 2328 | "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", 2329 | "requires": { 2330 | "loose-envify": "^1.1.0", 2331 | "object-assign": "^4.1.1" 2332 | } 2333 | }, 2334 | "source-map-js": { 2335 | "version": "1.0.2", 2336 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 2337 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 2338 | }, 2339 | "styled-jsx": { 2340 | "version": "5.0.0", 2341 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.0.tgz", 2342 | "integrity": "sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA==", 2343 | "requires": {} 2344 | }, 2345 | "supports-color": { 2346 | "version": "7.2.0", 2347 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 2348 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 2349 | "requires": { 2350 | "has-flag": "^4.0.0" 2351 | } 2352 | }, 2353 | "supports-preserve-symlinks-flag": { 2354 | "version": "1.0.0", 2355 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 2356 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" 2357 | }, 2358 | "tailwindcss": { 2359 | "version": "3.0.23", 2360 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.23.tgz", 2361 | "integrity": "sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==", 2362 | "requires": { 2363 | "arg": "^5.0.1", 2364 | "chalk": "^4.1.2", 2365 | "chokidar": "^3.5.3", 2366 | "color-name": "^1.1.4", 2367 | "cosmiconfig": "^7.0.1", 2368 | "detective": "^5.2.0", 2369 | "didyoumean": "^1.2.2", 2370 | "dlv": "^1.1.3", 2371 | "fast-glob": "^3.2.11", 2372 | "glob-parent": "^6.0.2", 2373 | "is-glob": "^4.0.3", 2374 | "normalize-path": "^3.0.0", 2375 | "object-hash": "^2.2.0", 2376 | "postcss": "^8.4.6", 2377 | "postcss-js": "^4.0.0", 2378 | "postcss-load-config": "^3.1.0", 2379 | "postcss-nested": "5.0.6", 2380 | "postcss-selector-parser": "^6.0.9", 2381 | "postcss-value-parser": "^4.2.0", 2382 | "quick-lru": "^5.1.1", 2383 | "resolve": "^1.22.0" 2384 | }, 2385 | "dependencies": { 2386 | "postcss": { 2387 | "version": "8.4.12", 2388 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", 2389 | "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", 2390 | "requires": { 2391 | "nanoid": "^3.3.1", 2392 | "picocolors": "^1.0.0", 2393 | "source-map-js": "^1.0.2" 2394 | } 2395 | } 2396 | } 2397 | }, 2398 | "to-regex-range": { 2399 | "version": "5.0.1", 2400 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2401 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2402 | "requires": { 2403 | "is-number": "^7.0.0" 2404 | } 2405 | }, 2406 | "typescript": { 2407 | "version": "4.5.4", 2408 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", 2409 | "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", 2410 | "dev": true 2411 | }, 2412 | "use-subscription": { 2413 | "version": "1.5.1", 2414 | "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz", 2415 | "integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==", 2416 | "requires": { 2417 | "object-assign": "^4.1.1" 2418 | } 2419 | }, 2420 | "util-deprecate": { 2421 | "version": "1.0.2", 2422 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2423 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 2424 | }, 2425 | "xtend": { 2426 | "version": "4.0.2", 2427 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 2428 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" 2429 | }, 2430 | "yaml": { 2431 | "version": "1.10.2", 2432 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 2433 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" 2434 | } 2435 | } 2436 | } 2437 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "solana-pay-tutorial", 3 | "private": true, 4 | "scripts": { 5 | "dev": "next dev", 6 | "build": "next build", 7 | "start": "next start" 8 | }, 9 | "dependencies": { 10 | "@tailwindcss/forms": "^0.5.0", 11 | "bignumber.js": "^9.0.2", 12 | "next": "latest", 13 | "react": "^17.0.2", 14 | "react-dom": "^17.0.2" 15 | }, 16 | "devDependencies": { 17 | "@types/node": "17.0.4", 18 | "@types/react": "17.0.38", 19 | "autoprefixer": "^10.4.0", 20 | "postcss": "^8.4.5", 21 | "prettier": "^2.5.1", 22 | "prettier-plugin-tailwindcss": "^0.1.1", 23 | "tailwindcss": "^3.0.7", 24 | "typescript": "4.5.4" 25 | } 26 | } -------------------------------------------------------------------------------- /pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import '../styles/globals.css' 2 | import type { AppProps } from 'next/app' 3 | import Layout from '../components/Layout' 4 | import Head from 'next/head' 5 | 6 | function MyApp({ Component, pageProps }: AppProps) { 7 | return ( 8 | 9 | 10 | Cookies Inc 11 | 12 | 13 | 14 | ) 15 | } 16 | 17 | export default MyApp 18 | -------------------------------------------------------------------------------- /pages/_document.tsx: -------------------------------------------------------------------------------- 1 | import { Html, Head, Main, NextScript } from 'next/document' 2 | 3 | export default function Document() { 4 | return ( 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | ) 13 | } 14 | -------------------------------------------------------------------------------- /pages/api/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pointer-gg/solana-pay-tutorial/befad3618561ac803098bb2e1a4119e34b3948bb/pages/api/.gitkeep -------------------------------------------------------------------------------- /pages/checkout.tsx: -------------------------------------------------------------------------------- 1 | import { useRouter } from "next/router"; 2 | import BackLink from "../components/BackLink"; 3 | import PageHeading from "../components/PageHeading"; 4 | import calculatePrice from "../lib/calculatePrice"; 5 | 6 | export default function Checkout() { 7 | const router = useRouter() 8 | 9 | const amount = calculatePrice(router.query) 10 | 11 | return ( 12 |
13 | Cancel 14 | 15 | Checkout {amount.toString()} SOL 16 |
17 | ) 18 | } 19 | -------------------------------------------------------------------------------- /pages/index.tsx: -------------------------------------------------------------------------------- 1 | import Products from '../components/Products' 2 | import SiteHeading from '../components/SiteHeading' 3 | 4 | export default function HomePage() { 5 | return ( 6 |
7 | Cookies Inc 8 | 9 | 10 |
11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | singleQuote: true, 3 | semi: false, 4 | } 5 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pointer-gg/solana-pay-tutorial/befad3618561ac803098bb2e1a4119e34b3948bb/public/favicon.ico -------------------------------------------------------------------------------- /styles/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | /* Hide input number spinners */ 6 | input[type='number']::-webkit-inner-spin-button, 7 | input[type='number']::-webkit-outer-spin-button { 8 | -webkit-appearance: none; 9 | margin: 0; 10 | } 11 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: [ 3 | './pages/**/*.{js,ts,jsx,tsx}', 4 | './components/**/*.{js,ts,jsx,tsx}', 5 | ], 6 | theme: { 7 | extend: {}, 8 | }, 9 | plugins: [ 10 | require('@tailwindcss/forms'), 11 | ], 12 | } 13 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "noEmit": true, 10 | "esModuleInterop": true, 11 | "module": "esnext", 12 | "moduleResolution": "node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "jsx": "preserve", 16 | "incremental": true 17 | }, 18 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 19 | "exclude": ["node_modules"] 20 | } 21 | --------------------------------------------------------------------------------