├── .gitignore ├── api ├── index.js ├── models │ ├── Message.js │ └── User.js ├── package.json └── yarn.lock └── client ├── .gitignore ├── index.html ├── package.json ├── postcss.config.cjs ├── public └── vite.svg ├── src ├── App.jsx ├── Avatar.jsx ├── Chat.jsx ├── Contact.jsx ├── Logo.jsx ├── RegisterAndLoginForm.jsx ├── Routes.jsx ├── UserContext.jsx ├── assets │ └── react.svg ├── index.css └── main.jsx ├── tailwind.config.cjs ├── vite.config.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | api/.env 2 | client/.env 3 | .idea 4 | api/node_modules 5 | client/node_modules 6 | api/uploads/* 7 | -------------------------------------------------------------------------------- /api/index.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); 2 | const mongoose = require('mongoose'); 3 | const cookieParser = require('cookie-parser'); 4 | const dotenv = require('dotenv'); 5 | const jwt = require('jsonwebtoken'); 6 | const cors = require('cors'); 7 | const bcrypt = require('bcryptjs'); 8 | const User = require('./models/User'); 9 | const Message = require('./models/Message'); 10 | const ws = require('ws'); 11 | const fs = require('fs'); 12 | 13 | dotenv.config(); 14 | mongoose.connect(process.env.MONGO_URL, (err) => { 15 | if (err) throw err; 16 | }); 17 | const jwtSecret = process.env.JWT_SECRET; 18 | const bcryptSalt = bcrypt.genSaltSync(10); 19 | 20 | const app = express(); 21 | app.use('/uploads', express.static(__dirname + '/uploads')); 22 | app.use(express.json()); 23 | app.use(cookieParser()); 24 | app.use(cors({ 25 | credentials: true, 26 | origin: process.env.CLIENT_URL, 27 | })); 28 | 29 | async function getUserDataFromRequest(req) { 30 | return new Promise((resolve, reject) => { 31 | const token = req.cookies?.token; 32 | if (token) { 33 | jwt.verify(token, jwtSecret, {}, (err, userData) => { 34 | if (err) throw err; 35 | resolve(userData); 36 | }); 37 | } else { 38 | reject('no token'); 39 | } 40 | }); 41 | 42 | } 43 | 44 | app.get('/test', (req,res) => { 45 | res.json('test ok'); 46 | }); 47 | 48 | app.get('/messages/:userId', async (req,res) => { 49 | const {userId} = req.params; 50 | const userData = await getUserDataFromRequest(req); 51 | const ourUserId = userData.userId; 52 | const messages = await Message.find({ 53 | sender:{$in:[userId,ourUserId]}, 54 | recipient:{$in:[userId,ourUserId]}, 55 | }).sort({createdAt: 1}); 56 | res.json(messages); 57 | }); 58 | 59 | app.get('/people', async (req,res) => { 60 | const users = await User.find({}, {'_id':1,username:1}); 61 | res.json(users); 62 | }); 63 | 64 | app.get('/profile', (req,res) => { 65 | const token = req.cookies?.token; 66 | if (token) { 67 | jwt.verify(token, jwtSecret, {}, (err, userData) => { 68 | if (err) throw err; 69 | res.json(userData); 70 | }); 71 | } else { 72 | res.status(401).json('no token'); 73 | } 74 | }); 75 | 76 | app.post('/login', async (req,res) => { 77 | const {username, password} = req.body; 78 | const foundUser = await User.findOne({username}); 79 | if (foundUser) { 80 | const passOk = bcrypt.compareSync(password, foundUser.password); 81 | if (passOk) { 82 | jwt.sign({userId:foundUser._id,username}, jwtSecret, {}, (err, token) => { 83 | res.cookie('token', token, {sameSite:'none', secure:true}).json({ 84 | id: foundUser._id, 85 | }); 86 | }); 87 | } 88 | } 89 | }); 90 | 91 | app.post('/logout', (req,res) => { 92 | res.cookie('token', '', {sameSite:'none', secure:true}).json('ok'); 93 | }); 94 | 95 | app.post('/register', async (req,res) => { 96 | const {username,password} = req.body; 97 | try { 98 | const hashedPassword = bcrypt.hashSync(password, bcryptSalt); 99 | const createdUser = await User.create({ 100 | username:username, 101 | password:hashedPassword, 102 | }); 103 | jwt.sign({userId:createdUser._id,username}, jwtSecret, {}, (err, token) => { 104 | if (err) throw err; 105 | res.cookie('token', token, {sameSite:'none', secure:true}).status(201).json({ 106 | id: createdUser._id, 107 | }); 108 | }); 109 | } catch(err) { 110 | if (err) throw err; 111 | res.status(500).json('error'); 112 | } 113 | }); 114 | 115 | const server = app.listen(4040); 116 | 117 | const wss = new ws.WebSocketServer({server}); 118 | wss.on('connection', (connection, req) => { 119 | 120 | function notifyAboutOnlinePeople() { 121 | [...wss.clients].forEach(client => { 122 | client.send(JSON.stringify({ 123 | online: [...wss.clients].map(c => ({userId:c.userId,username:c.username})), 124 | })); 125 | }); 126 | } 127 | 128 | connection.isAlive = true; 129 | 130 | connection.timer = setInterval(() => { 131 | connection.ping(); 132 | connection.deathTimer = setTimeout(() => { 133 | connection.isAlive = false; 134 | clearInterval(connection.timer); 135 | connection.terminate(); 136 | notifyAboutOnlinePeople(); 137 | console.log('dead'); 138 | }, 1000); 139 | }, 5000); 140 | 141 | connection.on('pong', () => { 142 | clearTimeout(connection.deathTimer); 143 | }); 144 | 145 | // read username and id form the cookie for this connection 146 | const cookies = req.headers.cookie; 147 | if (cookies) { 148 | const tokenCookieString = cookies.split(';').find(str => str.startsWith('token=')); 149 | if (tokenCookieString) { 150 | const token = tokenCookieString.split('=')[1]; 151 | if (token) { 152 | jwt.verify(token, jwtSecret, {}, (err, userData) => { 153 | if (err) throw err; 154 | const {userId, username} = userData; 155 | connection.userId = userId; 156 | connection.username = username; 157 | }); 158 | } 159 | } 160 | } 161 | 162 | connection.on('message', async (message) => { 163 | const messageData = JSON.parse(message.toString()); 164 | const {recipient, text, file} = messageData; 165 | let filename = null; 166 | if (file) { 167 | console.log('size', file.data.length); 168 | const parts = file.name.split('.'); 169 | const ext = parts[parts.length - 1]; 170 | filename = Date.now() + '.'+ext; 171 | const path = __dirname + '/uploads/' + filename; 172 | const bufferData = new Buffer(file.data.split(',')[1], 'base64'); 173 | fs.writeFile(path, bufferData, () => { 174 | console.log('file saved:'+path); 175 | }); 176 | } 177 | if (recipient && (text || file)) { 178 | const messageDoc = await Message.create({ 179 | sender:connection.userId, 180 | recipient, 181 | text, 182 | file: file ? filename : null, 183 | }); 184 | console.log('created message'); 185 | [...wss.clients] 186 | .filter(c => c.userId === recipient) 187 | .forEach(c => c.send(JSON.stringify({ 188 | text, 189 | sender:connection.userId, 190 | recipient, 191 | file: file ? filename : null, 192 | _id:messageDoc._id, 193 | }))); 194 | } 195 | }); 196 | 197 | // notify everyone about online people (when someone connects) 198 | notifyAboutOnlinePeople(); 199 | }); 200 | -------------------------------------------------------------------------------- /api/models/Message.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose'); 2 | 3 | const MessageSchema = new mongoose.Schema({ 4 | sender: {type: mongoose.Schema.Types.ObjectId, ref: 'User'}, 5 | recipient: {type: mongoose.Schema.Types.ObjectId, ref: 'User'}, 6 | text: String, 7 | file: String, 8 | }, {timestamps:true}); 9 | 10 | const MessageModel = mongoose.model('Message', MessageSchema); 11 | 12 | module.exports = MessageModel; -------------------------------------------------------------------------------- /api/models/User.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose'); 2 | 3 | const UserSchema = new mongoose.Schema({ 4 | username: {type:String, unique:true}, 5 | password: String, 6 | }, {timestamps: true}); 7 | 8 | const UserModel = mongoose.model('User', UserSchema); 9 | module.exports = UserModel; -------------------------------------------------------------------------------- /api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "bcryptjs": "^2.4.3", 4 | "cookie-parser": "^1.4.6", 5 | "cors": "^2.8.5", 6 | "dotenv": "^16.0.3", 7 | "express": "^4.18.2", 8 | "jsonwebtoken": "^9.0.0", 9 | "mongoose": "^6.9.0", 10 | "ws": "^8.12.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /api/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@aws-crypto/ie11-detection@^3.0.0": 6 | version "3.0.0" 7 | resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz#640ae66b4ec3395cee6a8e94ebcd9f80c24cd688" 8 | integrity sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== 9 | dependencies: 10 | tslib "^1.11.1" 11 | 12 | "@aws-crypto/sha256-browser@3.0.0": 13 | version "3.0.0" 14 | resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz#05f160138ab893f1c6ba5be57cfd108f05827766" 15 | integrity sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== 16 | dependencies: 17 | "@aws-crypto/ie11-detection" "^3.0.0" 18 | "@aws-crypto/sha256-js" "^3.0.0" 19 | "@aws-crypto/supports-web-crypto" "^3.0.0" 20 | "@aws-crypto/util" "^3.0.0" 21 | "@aws-sdk/types" "^3.222.0" 22 | "@aws-sdk/util-locate-window" "^3.0.0" 23 | "@aws-sdk/util-utf8-browser" "^3.0.0" 24 | tslib "^1.11.1" 25 | 26 | "@aws-crypto/sha256-js@3.0.0", "@aws-crypto/sha256-js@^3.0.0": 27 | version "3.0.0" 28 | resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz#f06b84d550d25521e60d2a0e2a90139341e007c2" 29 | integrity sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== 30 | dependencies: 31 | "@aws-crypto/util" "^3.0.0" 32 | "@aws-sdk/types" "^3.222.0" 33 | tslib "^1.11.1" 34 | 35 | "@aws-crypto/supports-web-crypto@^3.0.0": 36 | version "3.0.0" 37 | resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz#5d1bf825afa8072af2717c3e455f35cda0103ec2" 38 | integrity sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== 39 | dependencies: 40 | tslib "^1.11.1" 41 | 42 | "@aws-crypto/util@^3.0.0": 43 | version "3.0.0" 44 | resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-3.0.0.tgz#1c7ca90c29293f0883468ad48117937f0fe5bfb0" 45 | integrity sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== 46 | dependencies: 47 | "@aws-sdk/types" "^3.222.0" 48 | "@aws-sdk/util-utf8-browser" "^3.0.0" 49 | tslib "^1.11.1" 50 | 51 | "@aws-sdk/abort-controller@3.257.0": 52 | version "3.257.0" 53 | resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.257.0.tgz#a9039bd9c409defbbeb7bafef3a1b206fbfedad1" 54 | integrity sha512-ekWy391lOerS0ZECdhp/c+X7AToJIpfNrCPjuj3bKr+GMQYckGsYsdbm6AUD4sxBmfvuaQmVniSXWovaxwcFcQ== 55 | dependencies: 56 | "@aws-sdk/types" "3.257.0" 57 | tslib "^2.3.1" 58 | 59 | "@aws-sdk/client-cognito-identity@3.264.0": 60 | version "3.264.0" 61 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.264.0.tgz#9b5d85c0c3d46c2f68df10d005659b6f31cd42cc" 62 | integrity sha512-afOpX6/xKLKRjkbgzfuy9fxCVP+LXCiirjBxhEtpUbKjVOwvShbQXfCPDlG40s5HF485mmR9t0KADoy0El5WsA== 63 | dependencies: 64 | "@aws-crypto/sha256-browser" "3.0.0" 65 | "@aws-crypto/sha256-js" "3.0.0" 66 | "@aws-sdk/client-sts" "3.264.0" 67 | "@aws-sdk/config-resolver" "3.259.0" 68 | "@aws-sdk/credential-provider-node" "3.264.0" 69 | "@aws-sdk/fetch-http-handler" "3.257.0" 70 | "@aws-sdk/hash-node" "3.257.0" 71 | "@aws-sdk/invalid-dependency" "3.257.0" 72 | "@aws-sdk/middleware-content-length" "3.257.0" 73 | "@aws-sdk/middleware-endpoint" "3.264.0" 74 | "@aws-sdk/middleware-host-header" "3.257.0" 75 | "@aws-sdk/middleware-logger" "3.257.0" 76 | "@aws-sdk/middleware-recursion-detection" "3.257.0" 77 | "@aws-sdk/middleware-retry" "3.259.0" 78 | "@aws-sdk/middleware-serde" "3.257.0" 79 | "@aws-sdk/middleware-signing" "3.257.0" 80 | "@aws-sdk/middleware-stack" "3.257.0" 81 | "@aws-sdk/middleware-user-agent" "3.257.0" 82 | "@aws-sdk/node-config-provider" "3.259.0" 83 | "@aws-sdk/node-http-handler" "3.257.0" 84 | "@aws-sdk/protocol-http" "3.257.0" 85 | "@aws-sdk/smithy-client" "3.261.0" 86 | "@aws-sdk/types" "3.257.0" 87 | "@aws-sdk/url-parser" "3.257.0" 88 | "@aws-sdk/util-base64" "3.208.0" 89 | "@aws-sdk/util-body-length-browser" "3.188.0" 90 | "@aws-sdk/util-body-length-node" "3.208.0" 91 | "@aws-sdk/util-defaults-mode-browser" "3.261.0" 92 | "@aws-sdk/util-defaults-mode-node" "3.261.0" 93 | "@aws-sdk/util-endpoints" "3.257.0" 94 | "@aws-sdk/util-retry" "3.257.0" 95 | "@aws-sdk/util-user-agent-browser" "3.257.0" 96 | "@aws-sdk/util-user-agent-node" "3.259.0" 97 | "@aws-sdk/util-utf8" "3.254.0" 98 | tslib "^2.3.1" 99 | 100 | "@aws-sdk/client-sso-oidc@3.264.0": 101 | version "3.264.0" 102 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.264.0.tgz#186fff770e75d1ef72f39a2ab75c49919df92993" 103 | integrity sha512-82hGEbfsD4lBGIF1q8o82jTNSgBCcBpfFsvA+ltZf0bh4ChIWOi4vVvg8G+zVQN1mm/Rj8vWYO/D0tNF8OSyWw== 104 | dependencies: 105 | "@aws-crypto/sha256-browser" "3.0.0" 106 | "@aws-crypto/sha256-js" "3.0.0" 107 | "@aws-sdk/config-resolver" "3.259.0" 108 | "@aws-sdk/fetch-http-handler" "3.257.0" 109 | "@aws-sdk/hash-node" "3.257.0" 110 | "@aws-sdk/invalid-dependency" "3.257.0" 111 | "@aws-sdk/middleware-content-length" "3.257.0" 112 | "@aws-sdk/middleware-endpoint" "3.264.0" 113 | "@aws-sdk/middleware-host-header" "3.257.0" 114 | "@aws-sdk/middleware-logger" "3.257.0" 115 | "@aws-sdk/middleware-recursion-detection" "3.257.0" 116 | "@aws-sdk/middleware-retry" "3.259.0" 117 | "@aws-sdk/middleware-serde" "3.257.0" 118 | "@aws-sdk/middleware-stack" "3.257.0" 119 | "@aws-sdk/middleware-user-agent" "3.257.0" 120 | "@aws-sdk/node-config-provider" "3.259.0" 121 | "@aws-sdk/node-http-handler" "3.257.0" 122 | "@aws-sdk/protocol-http" "3.257.0" 123 | "@aws-sdk/smithy-client" "3.261.0" 124 | "@aws-sdk/types" "3.257.0" 125 | "@aws-sdk/url-parser" "3.257.0" 126 | "@aws-sdk/util-base64" "3.208.0" 127 | "@aws-sdk/util-body-length-browser" "3.188.0" 128 | "@aws-sdk/util-body-length-node" "3.208.0" 129 | "@aws-sdk/util-defaults-mode-browser" "3.261.0" 130 | "@aws-sdk/util-defaults-mode-node" "3.261.0" 131 | "@aws-sdk/util-endpoints" "3.257.0" 132 | "@aws-sdk/util-retry" "3.257.0" 133 | "@aws-sdk/util-user-agent-browser" "3.257.0" 134 | "@aws-sdk/util-user-agent-node" "3.259.0" 135 | "@aws-sdk/util-utf8" "3.254.0" 136 | tslib "^2.3.1" 137 | 138 | "@aws-sdk/client-sso@3.264.0": 139 | version "3.264.0" 140 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.264.0.tgz#46725fc7bcaa7bbec3475aa4f8a492639f3bf6dd" 141 | integrity sha512-p+7sYpRcdv9omnnsPhD/vOFuZ1SpfV62ZgistBK/RDsQg2W9SIWQRW1KPt7gOCQ0nwp4efntw4Sle0LjS7ykxg== 142 | dependencies: 143 | "@aws-crypto/sha256-browser" "3.0.0" 144 | "@aws-crypto/sha256-js" "3.0.0" 145 | "@aws-sdk/config-resolver" "3.259.0" 146 | "@aws-sdk/fetch-http-handler" "3.257.0" 147 | "@aws-sdk/hash-node" "3.257.0" 148 | "@aws-sdk/invalid-dependency" "3.257.0" 149 | "@aws-sdk/middleware-content-length" "3.257.0" 150 | "@aws-sdk/middleware-endpoint" "3.264.0" 151 | "@aws-sdk/middleware-host-header" "3.257.0" 152 | "@aws-sdk/middleware-logger" "3.257.0" 153 | "@aws-sdk/middleware-recursion-detection" "3.257.0" 154 | "@aws-sdk/middleware-retry" "3.259.0" 155 | "@aws-sdk/middleware-serde" "3.257.0" 156 | "@aws-sdk/middleware-stack" "3.257.0" 157 | "@aws-sdk/middleware-user-agent" "3.257.0" 158 | "@aws-sdk/node-config-provider" "3.259.0" 159 | "@aws-sdk/node-http-handler" "3.257.0" 160 | "@aws-sdk/protocol-http" "3.257.0" 161 | "@aws-sdk/smithy-client" "3.261.0" 162 | "@aws-sdk/types" "3.257.0" 163 | "@aws-sdk/url-parser" "3.257.0" 164 | "@aws-sdk/util-base64" "3.208.0" 165 | "@aws-sdk/util-body-length-browser" "3.188.0" 166 | "@aws-sdk/util-body-length-node" "3.208.0" 167 | "@aws-sdk/util-defaults-mode-browser" "3.261.0" 168 | "@aws-sdk/util-defaults-mode-node" "3.261.0" 169 | "@aws-sdk/util-endpoints" "3.257.0" 170 | "@aws-sdk/util-retry" "3.257.0" 171 | "@aws-sdk/util-user-agent-browser" "3.257.0" 172 | "@aws-sdk/util-user-agent-node" "3.259.0" 173 | "@aws-sdk/util-utf8" "3.254.0" 174 | tslib "^2.3.1" 175 | 176 | "@aws-sdk/client-sts@3.264.0": 177 | version "3.264.0" 178 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.264.0.tgz#d8c51a8b535485ee3d49c4d5a8c63ad948443bb0" 179 | integrity sha512-sco1jREkDdds4Z3V19Vlu/YpBHSzeEt1KFqOPnbjFw7pSakRNzpyWmLLxOwWjwgGKt6pSF3Aw0ZOMYsAUDc5qQ== 180 | dependencies: 181 | "@aws-crypto/sha256-browser" "3.0.0" 182 | "@aws-crypto/sha256-js" "3.0.0" 183 | "@aws-sdk/config-resolver" "3.259.0" 184 | "@aws-sdk/credential-provider-node" "3.264.0" 185 | "@aws-sdk/fetch-http-handler" "3.257.0" 186 | "@aws-sdk/hash-node" "3.257.0" 187 | "@aws-sdk/invalid-dependency" "3.257.0" 188 | "@aws-sdk/middleware-content-length" "3.257.0" 189 | "@aws-sdk/middleware-endpoint" "3.264.0" 190 | "@aws-sdk/middleware-host-header" "3.257.0" 191 | "@aws-sdk/middleware-logger" "3.257.0" 192 | "@aws-sdk/middleware-recursion-detection" "3.257.0" 193 | "@aws-sdk/middleware-retry" "3.259.0" 194 | "@aws-sdk/middleware-sdk-sts" "3.257.0" 195 | "@aws-sdk/middleware-serde" "3.257.0" 196 | "@aws-sdk/middleware-signing" "3.257.0" 197 | "@aws-sdk/middleware-stack" "3.257.0" 198 | "@aws-sdk/middleware-user-agent" "3.257.0" 199 | "@aws-sdk/node-config-provider" "3.259.0" 200 | "@aws-sdk/node-http-handler" "3.257.0" 201 | "@aws-sdk/protocol-http" "3.257.0" 202 | "@aws-sdk/smithy-client" "3.261.0" 203 | "@aws-sdk/types" "3.257.0" 204 | "@aws-sdk/url-parser" "3.257.0" 205 | "@aws-sdk/util-base64" "3.208.0" 206 | "@aws-sdk/util-body-length-browser" "3.188.0" 207 | "@aws-sdk/util-body-length-node" "3.208.0" 208 | "@aws-sdk/util-defaults-mode-browser" "3.261.0" 209 | "@aws-sdk/util-defaults-mode-node" "3.261.0" 210 | "@aws-sdk/util-endpoints" "3.257.0" 211 | "@aws-sdk/util-retry" "3.257.0" 212 | "@aws-sdk/util-user-agent-browser" "3.257.0" 213 | "@aws-sdk/util-user-agent-node" "3.259.0" 214 | "@aws-sdk/util-utf8" "3.254.0" 215 | fast-xml-parser "4.0.11" 216 | tslib "^2.3.1" 217 | 218 | "@aws-sdk/config-resolver@3.259.0": 219 | version "3.259.0" 220 | resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.259.0.tgz#b2c17b681f890dbe31bc1670da41ae653a734c84" 221 | integrity sha512-gViMRsc4Ye6+nzJ0OYTZIT8m4glIAdtugN2Sr/t6P2iJW5X0bSL/EcbcHBgsve1lHjeGPeyzVkT7UnyGOZ5Z/A== 222 | dependencies: 223 | "@aws-sdk/signature-v4" "3.257.0" 224 | "@aws-sdk/types" "3.257.0" 225 | "@aws-sdk/util-config-provider" "3.208.0" 226 | "@aws-sdk/util-middleware" "3.257.0" 227 | tslib "^2.3.1" 228 | 229 | "@aws-sdk/credential-provider-cognito-identity@3.264.0": 230 | version "3.264.0" 231 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.264.0.tgz#798fce3a3a79eb813963169b98b6389869be5d22" 232 | integrity sha512-0L4offTpZJrX4PkoUI5KXPlG3uaofbmew+tgPphKd+ns3tzhLsltPMixS/04J5qXEfwMCHwvDgSpCenKsUo/wg== 233 | dependencies: 234 | "@aws-sdk/client-cognito-identity" "3.264.0" 235 | "@aws-sdk/property-provider" "3.257.0" 236 | "@aws-sdk/types" "3.257.0" 237 | tslib "^2.3.1" 238 | 239 | "@aws-sdk/credential-provider-env@3.257.0": 240 | version "3.257.0" 241 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.257.0.tgz#131d06bafa738c7f2ce2e7ee12c227ff6a414ada" 242 | integrity sha512-GsmBi5Di6hk1JAi1iB6/LCY8o+GmlCvJoB7wuoVmXI3VxRVwptUVjuj8EtJbIrVGrF9dSuIRPCzUoSuzEzYGlg== 243 | dependencies: 244 | "@aws-sdk/property-provider" "3.257.0" 245 | "@aws-sdk/types" "3.257.0" 246 | tslib "^2.3.1" 247 | 248 | "@aws-sdk/credential-provider-imds@3.259.0": 249 | version "3.259.0" 250 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.259.0.tgz#23bfa858dd4e97a6d530b9e3b0f4497ab0a0f8c7" 251 | integrity sha512-yCxoYWZAaDrCUEWxRfrpB0Mp1cFgJEMYW8T6GIb/+DQ5QLpZmorgaVD/j90QXupqFrR5tlxwuskBIkdD2E9YNg== 252 | dependencies: 253 | "@aws-sdk/node-config-provider" "3.259.0" 254 | "@aws-sdk/property-provider" "3.257.0" 255 | "@aws-sdk/types" "3.257.0" 256 | "@aws-sdk/url-parser" "3.257.0" 257 | tslib "^2.3.1" 258 | 259 | "@aws-sdk/credential-provider-ini@3.264.0": 260 | version "3.264.0" 261 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.264.0.tgz#02ee46f7a12ee9fc8ed1f4d53eca12ac4bfa3d27" 262 | integrity sha512-UU5NNlfn+Go+5PLBzyTH1YE3r/pgykpE4QYFon87sCnEQnQH9xmlRTW1f1cBSQ9kivbFZd2/C2X3qhB3fe2JfA== 263 | dependencies: 264 | "@aws-sdk/credential-provider-env" "3.257.0" 265 | "@aws-sdk/credential-provider-imds" "3.259.0" 266 | "@aws-sdk/credential-provider-process" "3.257.0" 267 | "@aws-sdk/credential-provider-sso" "3.264.0" 268 | "@aws-sdk/credential-provider-web-identity" "3.257.0" 269 | "@aws-sdk/property-provider" "3.257.0" 270 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 271 | "@aws-sdk/types" "3.257.0" 272 | tslib "^2.3.1" 273 | 274 | "@aws-sdk/credential-provider-node@3.264.0": 275 | version "3.264.0" 276 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.264.0.tgz#7bbee601805e32b77e54b89d2cac978f1cbdd254" 277 | integrity sha512-DPzL7oawcILs5Mduim9Z8SVeJaUpaDRVbUIrBHsMBu+N7Zuqtzr+0ckHc1bEi3iYq2QUCk5pH5vpQaZYkMlbtw== 278 | dependencies: 279 | "@aws-sdk/credential-provider-env" "3.257.0" 280 | "@aws-sdk/credential-provider-imds" "3.259.0" 281 | "@aws-sdk/credential-provider-ini" "3.264.0" 282 | "@aws-sdk/credential-provider-process" "3.257.0" 283 | "@aws-sdk/credential-provider-sso" "3.264.0" 284 | "@aws-sdk/credential-provider-web-identity" "3.257.0" 285 | "@aws-sdk/property-provider" "3.257.0" 286 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 287 | "@aws-sdk/types" "3.257.0" 288 | tslib "^2.3.1" 289 | 290 | "@aws-sdk/credential-provider-process@3.257.0": 291 | version "3.257.0" 292 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.257.0.tgz#7fd27f48606ad7c2af375b168c8e38dc938e3162" 293 | integrity sha512-xK8uYeNXaclaBCGrLi4z2pxPRngqLf5BM5jg2fn57zqvlL9V5gJF972FehrVBL0bfp1/laG0ZJtD2K2sapyWAw== 294 | dependencies: 295 | "@aws-sdk/property-provider" "3.257.0" 296 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 297 | "@aws-sdk/types" "3.257.0" 298 | tslib "^2.3.1" 299 | 300 | "@aws-sdk/credential-provider-sso@3.264.0": 301 | version "3.264.0" 302 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.264.0.tgz#70132bbf4a6b71c484496ec89d006c3b19762e44" 303 | integrity sha512-CJuAlqIIJap6LXoqimvEAnYZ7Kb5pTbiS3e+aY+fajO3OPujmQpHuiY8kOmscjwZ4ErJdEskivcTGwXph0dPZQ== 304 | dependencies: 305 | "@aws-sdk/client-sso" "3.264.0" 306 | "@aws-sdk/property-provider" "3.257.0" 307 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 308 | "@aws-sdk/token-providers" "3.264.0" 309 | "@aws-sdk/types" "3.257.0" 310 | tslib "^2.3.1" 311 | 312 | "@aws-sdk/credential-provider-web-identity@3.257.0": 313 | version "3.257.0" 314 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.257.0.tgz#928f3234818c6acbf67bf157e4a366f920285e62" 315 | integrity sha512-Cm0uvRv4JuIbD0Kp3W0J/vwjADIyCx8HoZi5yg+QIi5nilocuTQ3ajvLeuPVSvFvdy+yaxSc5FxNXquWt7Mngw== 316 | dependencies: 317 | "@aws-sdk/property-provider" "3.257.0" 318 | "@aws-sdk/types" "3.257.0" 319 | tslib "^2.3.1" 320 | 321 | "@aws-sdk/credential-providers@^3.186.0": 322 | version "3.264.0" 323 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-providers/-/credential-providers-3.264.0.tgz#211d40b16f6735e8f138000f31a7e548dee4e08f" 324 | integrity sha512-4iSr1Z7Uf8uDraQ7JYoMotVLhmnGFAGsH559KBPxuxjMjg2lku9GA5V1zw7SNV8FEcj+Sh5HrpJvJ7P1kA+YjA== 325 | dependencies: 326 | "@aws-sdk/client-cognito-identity" "3.264.0" 327 | "@aws-sdk/client-sso" "3.264.0" 328 | "@aws-sdk/client-sts" "3.264.0" 329 | "@aws-sdk/credential-provider-cognito-identity" "3.264.0" 330 | "@aws-sdk/credential-provider-env" "3.257.0" 331 | "@aws-sdk/credential-provider-imds" "3.259.0" 332 | "@aws-sdk/credential-provider-ini" "3.264.0" 333 | "@aws-sdk/credential-provider-node" "3.264.0" 334 | "@aws-sdk/credential-provider-process" "3.257.0" 335 | "@aws-sdk/credential-provider-sso" "3.264.0" 336 | "@aws-sdk/credential-provider-web-identity" "3.257.0" 337 | "@aws-sdk/property-provider" "3.257.0" 338 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 339 | "@aws-sdk/types" "3.257.0" 340 | tslib "^2.3.1" 341 | 342 | "@aws-sdk/fetch-http-handler@3.257.0": 343 | version "3.257.0" 344 | resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.257.0.tgz#0b384ad33a57479f340ba558920a3eedded82131" 345 | integrity sha512-zOF+RzQ+wfF7tq7tGUdPcqUTh3+k2f8KCVJE07A8kCopVq4nBu4NH6Eq29Tjpwdya3YlKvE+kFssuQRRRRex+Q== 346 | dependencies: 347 | "@aws-sdk/protocol-http" "3.257.0" 348 | "@aws-sdk/querystring-builder" "3.257.0" 349 | "@aws-sdk/types" "3.257.0" 350 | "@aws-sdk/util-base64" "3.208.0" 351 | tslib "^2.3.1" 352 | 353 | "@aws-sdk/hash-node@3.257.0": 354 | version "3.257.0" 355 | resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.257.0.tgz#517e4c3c957586c0f35f916fd5c8c9841292f01f" 356 | integrity sha512-W/USUuea5Ep3OJ2U7Ve8/5KN1YsDun2WzOFUxc1PyxXP5pW6OgC15/op0e+bmWPG851clvp5S8ZuroUr3aKi3Q== 357 | dependencies: 358 | "@aws-sdk/types" "3.257.0" 359 | "@aws-sdk/util-buffer-from" "3.208.0" 360 | "@aws-sdk/util-utf8" "3.254.0" 361 | tslib "^2.3.1" 362 | 363 | "@aws-sdk/invalid-dependency@3.257.0": 364 | version "3.257.0" 365 | resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.257.0.tgz#e4cb2c7be40aa061dff32b0dc70db966da0938eb" 366 | integrity sha512-T68SAPRNMEhpke0wlxURgogL7q0B8dfqZsSeS20BVR/lksJxLse9+pbmCDxiu1RrXoEIsEwl5rbLN+Hw8BFFYw== 367 | dependencies: 368 | "@aws-sdk/types" "3.257.0" 369 | tslib "^2.3.1" 370 | 371 | "@aws-sdk/is-array-buffer@3.201.0": 372 | version "3.201.0" 373 | resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.201.0.tgz#06e557adc284fac2f26071c2944ae01f61b95854" 374 | integrity sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg== 375 | dependencies: 376 | tslib "^2.3.1" 377 | 378 | "@aws-sdk/middleware-content-length@3.257.0": 379 | version "3.257.0" 380 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.257.0.tgz#b84274ccdfca70068ce8526a197ab00359404a9a" 381 | integrity sha512-yiawbV2azm6QnMY1L2ypG8PDRdjOcEIvFmT0T7y0F49rfbKJOu21j1ONAoCkLrINK6kMqcD5JSQLVCoURxiTxQ== 382 | dependencies: 383 | "@aws-sdk/protocol-http" "3.257.0" 384 | "@aws-sdk/types" "3.257.0" 385 | tslib "^2.3.1" 386 | 387 | "@aws-sdk/middleware-endpoint@3.264.0": 388 | version "3.264.0" 389 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.264.0.tgz#c700835a3d3d00d954068718bbdd867af1847a3e" 390 | integrity sha512-H9JEAug3Oo3IA2wZIplVVF6NtauCIjICXWgbNbA8Im+I2KPe0jWtOdtQv4U+tqHe9T4zIixaCM3gjUBld+FoOA== 391 | dependencies: 392 | "@aws-sdk/middleware-serde" "3.257.0" 393 | "@aws-sdk/protocol-http" "3.257.0" 394 | "@aws-sdk/signature-v4" "3.257.0" 395 | "@aws-sdk/types" "3.257.0" 396 | "@aws-sdk/url-parser" "3.257.0" 397 | "@aws-sdk/util-config-provider" "3.208.0" 398 | "@aws-sdk/util-middleware" "3.257.0" 399 | tslib "^2.3.1" 400 | 401 | "@aws-sdk/middleware-host-header@3.257.0": 402 | version "3.257.0" 403 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.257.0.tgz#75d2ddb8073f901961665070d69c5ff3736fabdc" 404 | integrity sha512-gEi9AJdJfRfU8Qr6HK1hfhxTzyV3Giq4B/h7um99hIFAT/GCg9xiPvAOKPo6UeuiKEv3b7RpSL4s6cBvnJMJBA== 405 | dependencies: 406 | "@aws-sdk/protocol-http" "3.257.0" 407 | "@aws-sdk/types" "3.257.0" 408 | tslib "^2.3.1" 409 | 410 | "@aws-sdk/middleware-logger@3.257.0": 411 | version "3.257.0" 412 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.257.0.tgz#db35e776fe3561d0602fa39d6c69d68ee4ab36ca" 413 | integrity sha512-8RDXW/VbMKBsXDfcCLmROZcWKyrekyiPa3J1aIaBy0tq9o4xpGoXw/lwwIrNVvISAFslb57rteup34bfn6ta6w== 414 | dependencies: 415 | "@aws-sdk/types" "3.257.0" 416 | tslib "^2.3.1" 417 | 418 | "@aws-sdk/middleware-recursion-detection@3.257.0": 419 | version "3.257.0" 420 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.257.0.tgz#83512e0228b41dfc37a337d2ad064cf6dc41f8df" 421 | integrity sha512-rUCih6zHh8k9Edf5N5Er4s508FYbwLM0MWTD2axzlj9TjLqEQ9OKED3wHaLffXSDzodd3oTAfJCLPbWQyoZ3ZQ== 422 | dependencies: 423 | "@aws-sdk/protocol-http" "3.257.0" 424 | "@aws-sdk/types" "3.257.0" 425 | tslib "^2.3.1" 426 | 427 | "@aws-sdk/middleware-retry@3.259.0": 428 | version "3.259.0" 429 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.259.0.tgz#18bbb2cd655fff1ea155dfcb9eaa2b583b67e42e" 430 | integrity sha512-pVh1g8e84MAi7eVtWLiiiCtn82LzxOP7+LxTRHatmgIeN22yGQBZILliPDJypUPvDYlwxI1ekiK+oPTcte0Uww== 431 | dependencies: 432 | "@aws-sdk/protocol-http" "3.257.0" 433 | "@aws-sdk/service-error-classification" "3.257.0" 434 | "@aws-sdk/types" "3.257.0" 435 | "@aws-sdk/util-middleware" "3.257.0" 436 | "@aws-sdk/util-retry" "3.257.0" 437 | tslib "^2.3.1" 438 | uuid "^8.3.2" 439 | 440 | "@aws-sdk/middleware-sdk-sts@3.257.0": 441 | version "3.257.0" 442 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.257.0.tgz#9cfbe9e8846c9053a40e32bc695f4bd735afeae2" 443 | integrity sha512-d6IJCLRi3O2tm4AFK60WNhIwmMmspj1WzKR1q1TaoPzoREPG2xg+Am18wZBRkCyYuRPPrbizmkvAmAJiUolMAw== 444 | dependencies: 445 | "@aws-sdk/middleware-signing" "3.257.0" 446 | "@aws-sdk/property-provider" "3.257.0" 447 | "@aws-sdk/protocol-http" "3.257.0" 448 | "@aws-sdk/signature-v4" "3.257.0" 449 | "@aws-sdk/types" "3.257.0" 450 | tslib "^2.3.1" 451 | 452 | "@aws-sdk/middleware-serde@3.257.0": 453 | version "3.257.0" 454 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.257.0.tgz#13c529b942dafffcb198d9333f8f8dc2a662c187" 455 | integrity sha512-/JasfXPWFq24mnCrx9fxW/ISBSp07RJwhsF14qzm8Qy3Z0z470C+QRM6otTwAkYuuVt1wuLjja5agq3Jtzq7dQ== 456 | dependencies: 457 | "@aws-sdk/types" "3.257.0" 458 | tslib "^2.3.1" 459 | 460 | "@aws-sdk/middleware-signing@3.257.0": 461 | version "3.257.0" 462 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.257.0.tgz#436c9e2fbbe1342c30572028e90ac62f7e90548f" 463 | integrity sha512-hCH3D83LHmm6nqmtNrGTWZCVjsQXrGHIXbd17/qrw7aPFvcAhsiiCncGFP+XsUXEKa2ZqcSNMUyPrx69ofNRZQ== 464 | dependencies: 465 | "@aws-sdk/property-provider" "3.257.0" 466 | "@aws-sdk/protocol-http" "3.257.0" 467 | "@aws-sdk/signature-v4" "3.257.0" 468 | "@aws-sdk/types" "3.257.0" 469 | "@aws-sdk/util-middleware" "3.257.0" 470 | tslib "^2.3.1" 471 | 472 | "@aws-sdk/middleware-stack@3.257.0": 473 | version "3.257.0" 474 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.257.0.tgz#c9fdc580c5337b703f87f6ae7df283540d6f16ac" 475 | integrity sha512-awg2F0SvwACBaw4HIObK8pQGfSqAc4Vy+YFzWSfZNVC35oRO6RsRdKHVU99lRC0LrT2Ptmfghl2DMPSrRDbvlQ== 476 | dependencies: 477 | tslib "^2.3.1" 478 | 479 | "@aws-sdk/middleware-user-agent@3.257.0": 480 | version "3.257.0" 481 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.257.0.tgz#9ca650f5909bd9b55879835088760173a9d3d249" 482 | integrity sha512-37rt75LZyD0UWpbcFuxEGqwF3DZKSixQPl7AsDe6q3KtrO5gGQB+diH5vbY0txNNYyv5IK9WMwvY73mVmoWRmw== 483 | dependencies: 484 | "@aws-sdk/protocol-http" "3.257.0" 485 | "@aws-sdk/types" "3.257.0" 486 | tslib "^2.3.1" 487 | 488 | "@aws-sdk/node-config-provider@3.259.0": 489 | version "3.259.0" 490 | resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.259.0.tgz#0b522020c4a0e445b41f7150ce624b7b63e96e68" 491 | integrity sha512-DUOqr71oonBvM6yKPdhDBmraqgXHCFrVWFw7hc5ZNxL2wS/EsbKfGPJp+C+SUgpn1upIWPNnh/bNoLAbBkcLsA== 492 | dependencies: 493 | "@aws-sdk/property-provider" "3.257.0" 494 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 495 | "@aws-sdk/types" "3.257.0" 496 | tslib "^2.3.1" 497 | 498 | "@aws-sdk/node-http-handler@3.257.0": 499 | version "3.257.0" 500 | resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.257.0.tgz#33e3ba0d8b0bf72a05be6c91e6b4cf90b8a7b786" 501 | integrity sha512-8KnWHVVwaGKyTlkTU9BSOAiSovNDoagxemU2l10QqBbzUCVpljCUMUkABEGRJ1yoQCl6DJ7RtNkAyZ8Ne/E15A== 502 | dependencies: 503 | "@aws-sdk/abort-controller" "3.257.0" 504 | "@aws-sdk/protocol-http" "3.257.0" 505 | "@aws-sdk/querystring-builder" "3.257.0" 506 | "@aws-sdk/types" "3.257.0" 507 | tslib "^2.3.1" 508 | 509 | "@aws-sdk/property-provider@3.257.0": 510 | version "3.257.0" 511 | resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.257.0.tgz#dd6872ace54f8fd691a15167490ab52e40306c58" 512 | integrity sha512-3rUbRAcF0GZ5PhDiXhS4yREfZ5hOEtvYEa9S/19OdM5eoypOaLU5XnFcCKfnccSP8SkdgpJujzxOMRWNWadlAQ== 513 | dependencies: 514 | "@aws-sdk/types" "3.257.0" 515 | tslib "^2.3.1" 516 | 517 | "@aws-sdk/protocol-http@3.257.0": 518 | version "3.257.0" 519 | resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.257.0.tgz#1452ce4f6a51e24297cc39f73aa889570dddd348" 520 | integrity sha512-xt7LGOgZIvbLS3418AYQLacOqx+mo5j4mPiIMz7f6AaUg+/fBUgESVsncKDqxbEJVwwCXSka8Ca0cntJmoeMSw== 521 | dependencies: 522 | "@aws-sdk/types" "3.257.0" 523 | tslib "^2.3.1" 524 | 525 | "@aws-sdk/querystring-builder@3.257.0": 526 | version "3.257.0" 527 | resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.257.0.tgz#75e662fc451cf59763bdee52ba64b05e5cd2de0a" 528 | integrity sha512-mZHWLP7XIkzx1GIXO5WfX/iJ+aY9TWs02RE9FkdL2+by0HEMR65L3brQTbU1mIBJ7BjaPwYH24dljUOSABX7yg== 529 | dependencies: 530 | "@aws-sdk/types" "3.257.0" 531 | "@aws-sdk/util-uri-escape" "3.201.0" 532 | tslib "^2.3.1" 533 | 534 | "@aws-sdk/querystring-parser@3.257.0": 535 | version "3.257.0" 536 | resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.257.0.tgz#c8614e424d7d840c01be919161f61ef85eca46af" 537 | integrity sha512-UDrE1dEwWrWT8dG2VCrGYrPxCWOkZ1fPTPkjpkR4KZEdQDZBqU5gYZF2xPj8Nz7pjQVHFuW2wFm3XYEk56GEjg== 538 | dependencies: 539 | "@aws-sdk/types" "3.257.0" 540 | tslib "^2.3.1" 541 | 542 | "@aws-sdk/service-error-classification@3.257.0": 543 | version "3.257.0" 544 | resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.257.0.tgz#a374e811ac587b9beb6e3fda77f2249570da7a8e" 545 | integrity sha512-FAyR0XsueGkkqDtkP03cTJQk52NdQ9sZelLynmmlGPUP75LApRPvFe1riKrou6+LsDbwVNVffj6mbDfIcOhaOw== 546 | 547 | "@aws-sdk/shared-ini-file-loader@3.257.0": 548 | version "3.257.0" 549 | resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.257.0.tgz#513eee5c7ffa343bf5d91bdd73870fc5c47a4ad3" 550 | integrity sha512-HNjC1+Wx3xHiJc+CP14GhIdVhfQGSjroAsWseRxAhONocA9Fl1ZX4hx7+sA5c9nOoMVOovi6ivJ/6lCRPTDRrQ== 551 | dependencies: 552 | "@aws-sdk/types" "3.257.0" 553 | tslib "^2.3.1" 554 | 555 | "@aws-sdk/signature-v4@3.257.0": 556 | version "3.257.0" 557 | resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.257.0.tgz#c2f0c998bfe1980ed91e0f92c311682a61de0f90" 558 | integrity sha512-aLQQN59X/D0+ShzPD3Anj5ntdMA/RFeNLOUCDyDvremViGi6yxUS98usQ/8bG5Rq0sW2GGMdbFUFmrDvqdiqEQ== 559 | dependencies: 560 | "@aws-sdk/is-array-buffer" "3.201.0" 561 | "@aws-sdk/types" "3.257.0" 562 | "@aws-sdk/util-hex-encoding" "3.201.0" 563 | "@aws-sdk/util-middleware" "3.257.0" 564 | "@aws-sdk/util-uri-escape" "3.201.0" 565 | "@aws-sdk/util-utf8" "3.254.0" 566 | tslib "^2.3.1" 567 | 568 | "@aws-sdk/smithy-client@3.261.0": 569 | version "3.261.0" 570 | resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.261.0.tgz#538096a39198cf41fa8002467536e5af1958c518" 571 | integrity sha512-j8XQEa3caZUVFVZfhJjaskw80O/tB+IXu84HMN44N7UkXaCFHirUsNjTDztJhnVXf/gKXzIqUqprfRnOvwLtIg== 572 | dependencies: 573 | "@aws-sdk/middleware-stack" "3.257.0" 574 | "@aws-sdk/types" "3.257.0" 575 | tslib "^2.3.1" 576 | 577 | "@aws-sdk/token-providers@3.264.0": 578 | version "3.264.0" 579 | resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.264.0.tgz#411c2f2d1e4080d2079adcf07deebd9696f2af75" 580 | integrity sha512-1N54FCdBJRqrwFWHUoDpGI0rKhI29Or9ZwGjjcBzKzLhz5sEF/DEhuID7h1/KKEkXdQ0+lmXOFGMMrahrMpOow== 581 | dependencies: 582 | "@aws-sdk/client-sso-oidc" "3.264.0" 583 | "@aws-sdk/property-provider" "3.257.0" 584 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 585 | "@aws-sdk/types" "3.257.0" 586 | tslib "^2.3.1" 587 | 588 | "@aws-sdk/types@3.257.0", "@aws-sdk/types@^3.222.0": 589 | version "3.257.0" 590 | resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.257.0.tgz#4951ee3456cd9a46829516f5596c2b8a05ffe06a" 591 | integrity sha512-LmqXuBQBGeaGi/3Rp7XiEX1B5IPO2UUfBVvu0wwGqVsmstT0SbOVDZGPmxygACbm64n+PRx3uTSDefRfoiWYZg== 592 | dependencies: 593 | tslib "^2.3.1" 594 | 595 | "@aws-sdk/url-parser@3.257.0": 596 | version "3.257.0" 597 | resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.257.0.tgz#99b1abb302426f1b24c9777789fb0479d52d675d" 598 | integrity sha512-Qe/AcFe/NFZHa6cN2afXEQn9ehXxh57dWGdRjfjd2lQqNV4WW1R2pl2Tm1ZJ1dwuCNLJi4NHLMk8lrD3QQ8rdg== 599 | dependencies: 600 | "@aws-sdk/querystring-parser" "3.257.0" 601 | "@aws-sdk/types" "3.257.0" 602 | tslib "^2.3.1" 603 | 604 | "@aws-sdk/util-base64@3.208.0": 605 | version "3.208.0" 606 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64/-/util-base64-3.208.0.tgz#36b430e5396251f761590f7c2f0c5c12193f353c" 607 | integrity sha512-PQniZph5A6N7uuEOQi+1hnMz/FSOK/8kMFyFO+4DgA1dZ5pcKcn5wiFwHkcTb/BsgVqQa3Jx0VHNnvhlS8JyTg== 608 | dependencies: 609 | "@aws-sdk/util-buffer-from" "3.208.0" 610 | tslib "^2.3.1" 611 | 612 | "@aws-sdk/util-body-length-browser@3.188.0": 613 | version "3.188.0" 614 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz#e1d949318c10a621b38575a9ef01e39f9857ddb0" 615 | integrity sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg== 616 | dependencies: 617 | tslib "^2.3.1" 618 | 619 | "@aws-sdk/util-body-length-node@3.208.0": 620 | version "3.208.0" 621 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.208.0.tgz#baabd1fa1206ff2bd4ce3785122d86eb3258dd20" 622 | integrity sha512-3zj50e5g7t/MQf53SsuuSf0hEELzMtD8RX8C76f12OSRo2Bca4FLLYHe0TZbxcfQHom8/hOaeZEyTyMogMglqg== 623 | dependencies: 624 | tslib "^2.3.1" 625 | 626 | "@aws-sdk/util-buffer-from@3.208.0": 627 | version "3.208.0" 628 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.208.0.tgz#285e86f6dc9030148a4147d65239e75cb254a1b0" 629 | integrity sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw== 630 | dependencies: 631 | "@aws-sdk/is-array-buffer" "3.201.0" 632 | tslib "^2.3.1" 633 | 634 | "@aws-sdk/util-config-provider@3.208.0": 635 | version "3.208.0" 636 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-config-provider/-/util-config-provider-3.208.0.tgz#c485fd83fbac051337e5f6be60ea3f9fa61c0139" 637 | integrity sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg== 638 | dependencies: 639 | tslib "^2.3.1" 640 | 641 | "@aws-sdk/util-defaults-mode-browser@3.261.0": 642 | version "3.261.0" 643 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.261.0.tgz#ea9f43fa569887a11db289b2e77ec6e518c5f4ed" 644 | integrity sha512-lX3X1NfzQVV6cakepGV24uRcqevlDnQ8VgaCV8dhnw1FVThueFigyoFaUA02+uRXbV9KIbNWkEvweNtm2wvyDw== 645 | dependencies: 646 | "@aws-sdk/property-provider" "3.257.0" 647 | "@aws-sdk/types" "3.257.0" 648 | bowser "^2.11.0" 649 | tslib "^2.3.1" 650 | 651 | "@aws-sdk/util-defaults-mode-node@3.261.0": 652 | version "3.261.0" 653 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.261.0.tgz#a7c09e3912a0f23e42b5c183d2a297b632014f9f" 654 | integrity sha512-4AK6yu4bOmHSocUdbGoEHbNXB09UA58ON2HBHY4NxMBuFBAd9XB2tYiyhce+Cm+o+lHbS8oQnw0VZw16WMzzew== 655 | dependencies: 656 | "@aws-sdk/config-resolver" "3.259.0" 657 | "@aws-sdk/credential-provider-imds" "3.259.0" 658 | "@aws-sdk/node-config-provider" "3.259.0" 659 | "@aws-sdk/property-provider" "3.257.0" 660 | "@aws-sdk/types" "3.257.0" 661 | tslib "^2.3.1" 662 | 663 | "@aws-sdk/util-endpoints@3.257.0": 664 | version "3.257.0" 665 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.257.0.tgz#40cc8f67b996f8ea173f43d0e58e57ca8c244e67" 666 | integrity sha512-3bvmRn5XGYzPPWjLuvHBKdJOb+fijnb8Ungu9bfXnTYFsng/ndHUWeHC22O/p8w3OWoRYUIMaZHxdxe27BFozg== 667 | dependencies: 668 | "@aws-sdk/types" "3.257.0" 669 | tslib "^2.3.1" 670 | 671 | "@aws-sdk/util-hex-encoding@3.201.0": 672 | version "3.201.0" 673 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.201.0.tgz#21d7ec319240ee68c33d938e71cb79830bea315d" 674 | integrity sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA== 675 | dependencies: 676 | tslib "^2.3.1" 677 | 678 | "@aws-sdk/util-locate-window@^3.0.0": 679 | version "3.208.0" 680 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.208.0.tgz#0f598fc238a1256e4bcb64d01459f03a922dd4c3" 681 | integrity sha512-iua1A2+P7JJEDHVgvXrRJSvsnzG7stYSGQnBVphIUlemwl6nN5D+QrgbjECtrbxRz8asYFHSzhdhECqN+tFiBg== 682 | dependencies: 683 | tslib "^2.3.1" 684 | 685 | "@aws-sdk/util-middleware@3.257.0": 686 | version "3.257.0" 687 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-middleware/-/util-middleware-3.257.0.tgz#b84ee6832eea9d439ff7e7a0453ea56af87b6b7a" 688 | integrity sha512-F9ieon8B8eGVs5tyZtAIG3DZEObDvujkspho0qRbUTHUosM0ylJLsMU800fmC/uRHLRrZvb/RSp59+kNDwSAMw== 689 | dependencies: 690 | tslib "^2.3.1" 691 | 692 | "@aws-sdk/util-retry@3.257.0": 693 | version "3.257.0" 694 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-retry/-/util-retry-3.257.0.tgz#20454375267e120576c9f24316dad0ebc489dc4b" 695 | integrity sha512-l9TOsOAYtZxwW3q5fQKW4rsD9t2HVaBfQ4zBamHkNTfB4vBVvCnz4oxkvSvA2MlxCA6am+K1K/oj917Tpqk53g== 696 | dependencies: 697 | "@aws-sdk/service-error-classification" "3.257.0" 698 | tslib "^2.3.1" 699 | 700 | "@aws-sdk/util-uri-escape@3.201.0": 701 | version "3.201.0" 702 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.201.0.tgz#5e708d4cde001a4558ee616f889ceacfadd2ab03" 703 | integrity sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA== 704 | dependencies: 705 | tslib "^2.3.1" 706 | 707 | "@aws-sdk/util-user-agent-browser@3.257.0": 708 | version "3.257.0" 709 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.257.0.tgz#6fa29ab2a15bfa82ce77d77b12891109b7673fb9" 710 | integrity sha512-YdavWK6/8Cw6mypEgysGGX/dT9p9qnzFbnN5PQsUY+JJk2Nx8fKFydjGiQ+6rWPeW17RAv9mmbboh9uPVWxVlw== 711 | dependencies: 712 | "@aws-sdk/types" "3.257.0" 713 | bowser "^2.11.0" 714 | tslib "^2.3.1" 715 | 716 | "@aws-sdk/util-user-agent-node@3.259.0": 717 | version "3.259.0" 718 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.259.0.tgz#61141a0d64668ebcbbb1ac3dac1f497ca9f3707e" 719 | integrity sha512-R0VTmNs+ySDDebU98BUbsLyeIM5YmAEr9esPpy15XfSy3AWmAeru8nLlztdaLilHZzLIDzvM2t7NGk/FzZFCvA== 720 | dependencies: 721 | "@aws-sdk/node-config-provider" "3.259.0" 722 | "@aws-sdk/types" "3.257.0" 723 | tslib "^2.3.1" 724 | 725 | "@aws-sdk/util-utf8-browser@^3.0.0": 726 | version "3.259.0" 727 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" 728 | integrity sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== 729 | dependencies: 730 | tslib "^2.3.1" 731 | 732 | "@aws-sdk/util-utf8@3.254.0": 733 | version "3.254.0" 734 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8/-/util-utf8-3.254.0.tgz#909af9c6549833a9a9bf77004b7484bfc96b2c35" 735 | integrity sha512-14Kso/eIt5/qfIBmhEL9L1IfyUqswjSTqO2mY7KOzUZ9SZbwn3rpxmtkhmATkRjD7XIlLKaxBkI7tU9Zjzj8Kw== 736 | dependencies: 737 | "@aws-sdk/util-buffer-from" "3.208.0" 738 | tslib "^2.3.1" 739 | 740 | "@types/node@*": 741 | version "18.11.19" 742 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.19.tgz#35e26df9ec441ab99d73e99e9aca82935eea216d" 743 | integrity sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw== 744 | 745 | "@types/webidl-conversions@*": 746 | version "7.0.0" 747 | resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz#2b8e60e33906459219aa587e9d1a612ae994cfe7" 748 | integrity sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog== 749 | 750 | "@types/whatwg-url@^8.2.1": 751 | version "8.2.2" 752 | resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.2.tgz#749d5b3873e845897ada99be4448041d4cc39e63" 753 | integrity sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA== 754 | dependencies: 755 | "@types/node" "*" 756 | "@types/webidl-conversions" "*" 757 | 758 | accepts@~1.3.8: 759 | version "1.3.8" 760 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" 761 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== 762 | dependencies: 763 | mime-types "~2.1.34" 764 | negotiator "0.6.3" 765 | 766 | array-flatten@1.1.1: 767 | version "1.1.1" 768 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 769 | integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== 770 | 771 | base64-js@^1.3.1: 772 | version "1.5.1" 773 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 774 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 775 | 776 | bcryptjs@^2.4.3: 777 | version "2.4.3" 778 | resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" 779 | integrity sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ== 780 | 781 | body-parser@1.20.1: 782 | version "1.20.1" 783 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" 784 | integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== 785 | dependencies: 786 | bytes "3.1.2" 787 | content-type "~1.0.4" 788 | debug "2.6.9" 789 | depd "2.0.0" 790 | destroy "1.2.0" 791 | http-errors "2.0.0" 792 | iconv-lite "0.4.24" 793 | on-finished "2.4.1" 794 | qs "6.11.0" 795 | raw-body "2.5.1" 796 | type-is "~1.6.18" 797 | unpipe "1.0.0" 798 | 799 | bowser@^2.11.0: 800 | version "2.11.0" 801 | resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" 802 | integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== 803 | 804 | bson@^4.7.0: 805 | version "4.7.2" 806 | resolved "https://registry.yarnpkg.com/bson/-/bson-4.7.2.tgz#320f4ad0eaf5312dd9b45dc369cc48945e2a5f2e" 807 | integrity sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ== 808 | dependencies: 809 | buffer "^5.6.0" 810 | 811 | buffer-equal-constant-time@1.0.1: 812 | version "1.0.1" 813 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" 814 | integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== 815 | 816 | buffer@^5.6.0: 817 | version "5.7.1" 818 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" 819 | integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== 820 | dependencies: 821 | base64-js "^1.3.1" 822 | ieee754 "^1.1.13" 823 | 824 | bytes@3.1.2: 825 | version "3.1.2" 826 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" 827 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== 828 | 829 | call-bind@^1.0.0: 830 | version "1.0.2" 831 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 832 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 833 | dependencies: 834 | function-bind "^1.1.1" 835 | get-intrinsic "^1.0.2" 836 | 837 | content-disposition@0.5.4: 838 | version "0.5.4" 839 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" 840 | integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== 841 | dependencies: 842 | safe-buffer "5.2.1" 843 | 844 | content-type@~1.0.4: 845 | version "1.0.5" 846 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" 847 | integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== 848 | 849 | cookie-parser@^1.4.6: 850 | version "1.4.6" 851 | resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.4.6.tgz#3ac3a7d35a7a03bbc7e365073a26074824214594" 852 | integrity sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA== 853 | dependencies: 854 | cookie "0.4.1" 855 | cookie-signature "1.0.6" 856 | 857 | cookie-signature@1.0.6: 858 | version "1.0.6" 859 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 860 | integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== 861 | 862 | cookie@0.4.1: 863 | version "0.4.1" 864 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" 865 | integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== 866 | 867 | cookie@0.5.0: 868 | version "0.5.0" 869 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" 870 | integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== 871 | 872 | cors@^2.8.5: 873 | version "2.8.5" 874 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" 875 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== 876 | dependencies: 877 | object-assign "^4" 878 | vary "^1" 879 | 880 | debug@2.6.9: 881 | version "2.6.9" 882 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 883 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 884 | dependencies: 885 | ms "2.0.0" 886 | 887 | debug@4.x: 888 | version "4.3.4" 889 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 890 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 891 | dependencies: 892 | ms "2.1.2" 893 | 894 | depd@2.0.0: 895 | version "2.0.0" 896 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" 897 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== 898 | 899 | destroy@1.2.0: 900 | version "1.2.0" 901 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" 902 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== 903 | 904 | dotenv@^16.0.3: 905 | version "16.0.3" 906 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" 907 | integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== 908 | 909 | ecdsa-sig-formatter@1.0.11: 910 | version "1.0.11" 911 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" 912 | integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== 913 | dependencies: 914 | safe-buffer "^5.0.1" 915 | 916 | ee-first@1.1.1: 917 | version "1.1.1" 918 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 919 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== 920 | 921 | encodeurl@~1.0.2: 922 | version "1.0.2" 923 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 924 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== 925 | 926 | escape-html@~1.0.3: 927 | version "1.0.3" 928 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 929 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== 930 | 931 | etag@~1.8.1: 932 | version "1.8.1" 933 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 934 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== 935 | 936 | express@^4.18.2: 937 | version "4.18.2" 938 | resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" 939 | integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== 940 | dependencies: 941 | accepts "~1.3.8" 942 | array-flatten "1.1.1" 943 | body-parser "1.20.1" 944 | content-disposition "0.5.4" 945 | content-type "~1.0.4" 946 | cookie "0.5.0" 947 | cookie-signature "1.0.6" 948 | debug "2.6.9" 949 | depd "2.0.0" 950 | encodeurl "~1.0.2" 951 | escape-html "~1.0.3" 952 | etag "~1.8.1" 953 | finalhandler "1.2.0" 954 | fresh "0.5.2" 955 | http-errors "2.0.0" 956 | merge-descriptors "1.0.1" 957 | methods "~1.1.2" 958 | on-finished "2.4.1" 959 | parseurl "~1.3.3" 960 | path-to-regexp "0.1.7" 961 | proxy-addr "~2.0.7" 962 | qs "6.11.0" 963 | range-parser "~1.2.1" 964 | safe-buffer "5.2.1" 965 | send "0.18.0" 966 | serve-static "1.15.0" 967 | setprototypeof "1.2.0" 968 | statuses "2.0.1" 969 | type-is "~1.6.18" 970 | utils-merge "1.0.1" 971 | vary "~1.1.2" 972 | 973 | fast-xml-parser@4.0.11: 974 | version "4.0.11" 975 | resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.0.11.tgz#42332a9aca544520631c8919e6ea871c0185a985" 976 | integrity sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA== 977 | dependencies: 978 | strnum "^1.0.5" 979 | 980 | finalhandler@1.2.0: 981 | version "1.2.0" 982 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" 983 | integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== 984 | dependencies: 985 | debug "2.6.9" 986 | encodeurl "~1.0.2" 987 | escape-html "~1.0.3" 988 | on-finished "2.4.1" 989 | parseurl "~1.3.3" 990 | statuses "2.0.1" 991 | unpipe "~1.0.0" 992 | 993 | forwarded@0.2.0: 994 | version "0.2.0" 995 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" 996 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== 997 | 998 | fresh@0.5.2: 999 | version "0.5.2" 1000 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 1001 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== 1002 | 1003 | function-bind@^1.1.1: 1004 | version "1.1.1" 1005 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1006 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1007 | 1008 | get-intrinsic@^1.0.2: 1009 | version "1.2.0" 1010 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" 1011 | integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== 1012 | dependencies: 1013 | function-bind "^1.1.1" 1014 | has "^1.0.3" 1015 | has-symbols "^1.0.3" 1016 | 1017 | has-symbols@^1.0.3: 1018 | version "1.0.3" 1019 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 1020 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 1021 | 1022 | has@^1.0.3: 1023 | version "1.0.3" 1024 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1025 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1026 | dependencies: 1027 | function-bind "^1.1.1" 1028 | 1029 | http-errors@2.0.0: 1030 | version "2.0.0" 1031 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" 1032 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== 1033 | dependencies: 1034 | depd "2.0.0" 1035 | inherits "2.0.4" 1036 | setprototypeof "1.2.0" 1037 | statuses "2.0.1" 1038 | toidentifier "1.0.1" 1039 | 1040 | iconv-lite@0.4.24: 1041 | version "0.4.24" 1042 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1043 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 1044 | dependencies: 1045 | safer-buffer ">= 2.1.2 < 3" 1046 | 1047 | ieee754@^1.1.13: 1048 | version "1.2.1" 1049 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 1050 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 1051 | 1052 | inherits@2.0.4: 1053 | version "2.0.4" 1054 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1055 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1056 | 1057 | ip@^2.0.0: 1058 | version "2.0.0" 1059 | resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" 1060 | integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== 1061 | 1062 | ipaddr.js@1.9.1: 1063 | version "1.9.1" 1064 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 1065 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== 1066 | 1067 | jsonwebtoken@^9.0.0: 1068 | version "9.0.0" 1069 | resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz#d0faf9ba1cc3a56255fe49c0961a67e520c1926d" 1070 | integrity sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw== 1071 | dependencies: 1072 | jws "^3.2.2" 1073 | lodash "^4.17.21" 1074 | ms "^2.1.1" 1075 | semver "^7.3.8" 1076 | 1077 | jwa@^1.4.1: 1078 | version "1.4.1" 1079 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" 1080 | integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== 1081 | dependencies: 1082 | buffer-equal-constant-time "1.0.1" 1083 | ecdsa-sig-formatter "1.0.11" 1084 | safe-buffer "^5.0.1" 1085 | 1086 | jws@^3.2.2: 1087 | version "3.2.2" 1088 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" 1089 | integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== 1090 | dependencies: 1091 | jwa "^1.4.1" 1092 | safe-buffer "^5.0.1" 1093 | 1094 | kareem@2.5.1: 1095 | version "2.5.1" 1096 | resolved "https://registry.yarnpkg.com/kareem/-/kareem-2.5.1.tgz#7b8203e11819a8e77a34b3517d3ead206764d15d" 1097 | integrity sha512-7jFxRVm+jD+rkq3kY0iZDJfsO2/t4BBPeEb2qKn2lR/9KhuksYk5hxzfRYWMPV8P/x2d0kHD306YyWLzjjH+uA== 1098 | 1099 | lodash@^4.17.21: 1100 | version "4.17.21" 1101 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1102 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1103 | 1104 | lru-cache@^6.0.0: 1105 | version "6.0.0" 1106 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1107 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1108 | dependencies: 1109 | yallist "^4.0.0" 1110 | 1111 | media-typer@0.3.0: 1112 | version "0.3.0" 1113 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 1114 | integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== 1115 | 1116 | memory-pager@^1.0.2: 1117 | version "1.5.0" 1118 | resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" 1119 | integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== 1120 | 1121 | merge-descriptors@1.0.1: 1122 | version "1.0.1" 1123 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 1124 | integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== 1125 | 1126 | methods@~1.1.2: 1127 | version "1.1.2" 1128 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 1129 | integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== 1130 | 1131 | mime-db@1.52.0: 1132 | version "1.52.0" 1133 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 1134 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 1135 | 1136 | mime-types@~2.1.24, mime-types@~2.1.34: 1137 | version "2.1.35" 1138 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 1139 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 1140 | dependencies: 1141 | mime-db "1.52.0" 1142 | 1143 | mime@1.6.0: 1144 | version "1.6.0" 1145 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1146 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1147 | 1148 | mongodb-connection-string-url@^2.5.4: 1149 | version "2.6.0" 1150 | resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz#57901bf352372abdde812c81be47b75c6b2ec5cf" 1151 | integrity sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ== 1152 | dependencies: 1153 | "@types/whatwg-url" "^8.2.1" 1154 | whatwg-url "^11.0.0" 1155 | 1156 | mongodb@4.13.0: 1157 | version "4.13.0" 1158 | resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-4.13.0.tgz#2aa832b827e2891eb2e52e8235c201cbb4701ed2" 1159 | integrity sha512-+taZ/bV8d1pYuHL4U+gSwkhmDrwkWbH1l4aah4YpmpscMwgFBkufIKxgP/G7m87/NUuQzc2Z75ZTI7ZOyqZLbw== 1160 | dependencies: 1161 | bson "^4.7.0" 1162 | mongodb-connection-string-url "^2.5.4" 1163 | socks "^2.7.1" 1164 | optionalDependencies: 1165 | "@aws-sdk/credential-providers" "^3.186.0" 1166 | saslprep "^1.0.3" 1167 | 1168 | mongoose@^6.9.0: 1169 | version "6.9.0" 1170 | resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-6.9.0.tgz#cfc5acb2e4aa8188eb248e98a920a829ffcc273d" 1171 | integrity sha512-5tu6+trwjk5TIH6b6iYgAwmzZ0RNOxFoqXQb9h21Oi45DeM1rWM/niHxJ4ROqBISDfQMwRvLSABHTsyn3AzoFQ== 1172 | dependencies: 1173 | bson "^4.7.0" 1174 | kareem "2.5.1" 1175 | mongodb "4.13.0" 1176 | mpath "0.9.0" 1177 | mquery "4.0.3" 1178 | ms "2.1.3" 1179 | sift "16.0.1" 1180 | 1181 | mpath@0.9.0: 1182 | version "0.9.0" 1183 | resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.9.0.tgz#0c122fe107846e31fc58c75b09c35514b3871904" 1184 | integrity sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew== 1185 | 1186 | mquery@4.0.3: 1187 | version "4.0.3" 1188 | resolved "https://registry.yarnpkg.com/mquery/-/mquery-4.0.3.tgz#4d15f938e6247d773a942c912d9748bd1965f89d" 1189 | integrity sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA== 1190 | dependencies: 1191 | debug "4.x" 1192 | 1193 | ms@2.0.0: 1194 | version "2.0.0" 1195 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1196 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 1197 | 1198 | ms@2.1.2: 1199 | version "2.1.2" 1200 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1201 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1202 | 1203 | ms@2.1.3, ms@^2.1.1: 1204 | version "2.1.3" 1205 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1206 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1207 | 1208 | negotiator@0.6.3: 1209 | version "0.6.3" 1210 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" 1211 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== 1212 | 1213 | object-assign@^4: 1214 | version "4.1.1" 1215 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1216 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 1217 | 1218 | object-inspect@^1.9.0: 1219 | version "1.12.3" 1220 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" 1221 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== 1222 | 1223 | on-finished@2.4.1: 1224 | version "2.4.1" 1225 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" 1226 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== 1227 | dependencies: 1228 | ee-first "1.1.1" 1229 | 1230 | parseurl@~1.3.3: 1231 | version "1.3.3" 1232 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 1233 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 1234 | 1235 | path-to-regexp@0.1.7: 1236 | version "0.1.7" 1237 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 1238 | integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== 1239 | 1240 | proxy-addr@~2.0.7: 1241 | version "2.0.7" 1242 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" 1243 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== 1244 | dependencies: 1245 | forwarded "0.2.0" 1246 | ipaddr.js "1.9.1" 1247 | 1248 | punycode@^2.1.1: 1249 | version "2.3.0" 1250 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" 1251 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== 1252 | 1253 | qs@6.11.0: 1254 | version "6.11.0" 1255 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" 1256 | integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== 1257 | dependencies: 1258 | side-channel "^1.0.4" 1259 | 1260 | range-parser@~1.2.1: 1261 | version "1.2.1" 1262 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 1263 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 1264 | 1265 | raw-body@2.5.1: 1266 | version "2.5.1" 1267 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" 1268 | integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== 1269 | dependencies: 1270 | bytes "3.1.2" 1271 | http-errors "2.0.0" 1272 | iconv-lite "0.4.24" 1273 | unpipe "1.0.0" 1274 | 1275 | safe-buffer@5.2.1, safe-buffer@^5.0.1: 1276 | version "5.2.1" 1277 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1278 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1279 | 1280 | "safer-buffer@>= 2.1.2 < 3": 1281 | version "2.1.2" 1282 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1283 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1284 | 1285 | saslprep@^1.0.3: 1286 | version "1.0.3" 1287 | resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226" 1288 | integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag== 1289 | dependencies: 1290 | sparse-bitfield "^3.0.3" 1291 | 1292 | semver@^7.3.8: 1293 | version "7.3.8" 1294 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" 1295 | integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== 1296 | dependencies: 1297 | lru-cache "^6.0.0" 1298 | 1299 | send@0.18.0: 1300 | version "0.18.0" 1301 | resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" 1302 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== 1303 | dependencies: 1304 | debug "2.6.9" 1305 | depd "2.0.0" 1306 | destroy "1.2.0" 1307 | encodeurl "~1.0.2" 1308 | escape-html "~1.0.3" 1309 | etag "~1.8.1" 1310 | fresh "0.5.2" 1311 | http-errors "2.0.0" 1312 | mime "1.6.0" 1313 | ms "2.1.3" 1314 | on-finished "2.4.1" 1315 | range-parser "~1.2.1" 1316 | statuses "2.0.1" 1317 | 1318 | serve-static@1.15.0: 1319 | version "1.15.0" 1320 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" 1321 | integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== 1322 | dependencies: 1323 | encodeurl "~1.0.2" 1324 | escape-html "~1.0.3" 1325 | parseurl "~1.3.3" 1326 | send "0.18.0" 1327 | 1328 | setprototypeof@1.2.0: 1329 | version "1.2.0" 1330 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" 1331 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== 1332 | 1333 | side-channel@^1.0.4: 1334 | version "1.0.4" 1335 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 1336 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 1337 | dependencies: 1338 | call-bind "^1.0.0" 1339 | get-intrinsic "^1.0.2" 1340 | object-inspect "^1.9.0" 1341 | 1342 | sift@16.0.1: 1343 | version "16.0.1" 1344 | resolved "https://registry.yarnpkg.com/sift/-/sift-16.0.1.tgz#e9c2ccc72191585008cf3e36fc447b2d2633a053" 1345 | integrity sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ== 1346 | 1347 | smart-buffer@^4.2.0: 1348 | version "4.2.0" 1349 | resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" 1350 | integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== 1351 | 1352 | socks@^2.7.1: 1353 | version "2.7.1" 1354 | resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" 1355 | integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== 1356 | dependencies: 1357 | ip "^2.0.0" 1358 | smart-buffer "^4.2.0" 1359 | 1360 | sparse-bitfield@^3.0.3: 1361 | version "3.0.3" 1362 | resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" 1363 | integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ== 1364 | dependencies: 1365 | memory-pager "^1.0.2" 1366 | 1367 | statuses@2.0.1: 1368 | version "2.0.1" 1369 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" 1370 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== 1371 | 1372 | strnum@^1.0.5: 1373 | version "1.0.5" 1374 | resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" 1375 | integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== 1376 | 1377 | toidentifier@1.0.1: 1378 | version "1.0.1" 1379 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" 1380 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== 1381 | 1382 | tr46@^3.0.0: 1383 | version "3.0.0" 1384 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" 1385 | integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== 1386 | dependencies: 1387 | punycode "^2.1.1" 1388 | 1389 | tslib@^1.11.1: 1390 | version "1.14.1" 1391 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 1392 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 1393 | 1394 | tslib@^2.3.1: 1395 | version "2.5.0" 1396 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" 1397 | integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== 1398 | 1399 | type-is@~1.6.18: 1400 | version "1.6.18" 1401 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 1402 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 1403 | dependencies: 1404 | media-typer "0.3.0" 1405 | mime-types "~2.1.24" 1406 | 1407 | unpipe@1.0.0, unpipe@~1.0.0: 1408 | version "1.0.0" 1409 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1410 | integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== 1411 | 1412 | utils-merge@1.0.1: 1413 | version "1.0.1" 1414 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1415 | integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== 1416 | 1417 | uuid@^8.3.2: 1418 | version "8.3.2" 1419 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" 1420 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== 1421 | 1422 | vary@^1, vary@~1.1.2: 1423 | version "1.1.2" 1424 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1425 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== 1426 | 1427 | webidl-conversions@^7.0.0: 1428 | version "7.0.0" 1429 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" 1430 | integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== 1431 | 1432 | whatwg-url@^11.0.0: 1433 | version "11.0.0" 1434 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" 1435 | integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== 1436 | dependencies: 1437 | tr46 "^3.0.0" 1438 | webidl-conversions "^7.0.0" 1439 | 1440 | ws@^8.12.0: 1441 | version "8.12.0" 1442 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" 1443 | integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== 1444 | 1445 | yallist@^4.0.0: 1446 | version "4.0.0" 1447 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 1448 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1449 | -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite + React 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /client/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "client", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "preview": "vite preview" 10 | }, 11 | "dependencies": { 12 | "autoprefixer": "^10.4.13", 13 | "axios": "^1.3.2", 14 | "lodash": "^4.17.21", 15 | "postcss": "^8.4.21", 16 | "react": "^18.2.0", 17 | "react-dom": "^18.2.0", 18 | "tailwindcss": "^3.2.4" 19 | }, 20 | "devDependencies": { 21 | "@types/react": "^18.0.27", 22 | "@types/react-dom": "^18.0.10", 23 | "@vitejs/plugin-react": "^3.1.0", 24 | "vite": "^4.1.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /client/postcss.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /client/public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/src/App.jsx: -------------------------------------------------------------------------------- 1 | import axios from "axios"; 2 | import {UserContextProvider} from "./UserContext"; 3 | import Routes from "./Routes"; 4 | 5 | function App() { 6 | axios.defaults.baseURL = 'http://localhost:4040'; 7 | axios.defaults.withCredentials = true; 8 | return ( 9 | 10 | 11 | 12 | ) 13 | } 14 | 15 | export default App 16 | -------------------------------------------------------------------------------- /client/src/Avatar.jsx: -------------------------------------------------------------------------------- 1 | export default function Avatar({userId,username,online}) { 2 | const colors = ['bg-teal-200', 'bg-red-200', 3 | 'bg-green-200', 'bg-purple-200', 4 | 'bg-blue-200', 'bg-yellow-200', 5 | 'bg-orange-200', 'bg-pink-200', 'bg-fuchsia-200', 'bg-rose-200']; 6 | const userIdBase10 = parseInt(userId.substring(10), 16); 7 | const colorIndex = userIdBase10 % colors.length; 8 | const color = colors[colorIndex]; 9 | return ( 10 |
11 |
{username[0]}
12 | {online && ( 13 |
14 | )} 15 | {!online && ( 16 |
17 | )} 18 |
19 | ); 20 | } -------------------------------------------------------------------------------- /client/src/Chat.jsx: -------------------------------------------------------------------------------- 1 | import {useContext, useEffect, useRef, useState} from "react"; 2 | import Avatar from "./Avatar"; 3 | import Logo from "./Logo"; 4 | import {UserContext} from "./UserContext.jsx"; 5 | import {uniqBy} from "lodash"; 6 | import axios from "axios"; 7 | import Contact from "./Contact"; 8 | 9 | export default function Chat() { 10 | const [ws,setWs] = useState(null); 11 | const [onlinePeople,setOnlinePeople] = useState({}); 12 | const [offlinePeople,setOfflinePeople] = useState({}); 13 | const [selectedUserId,setSelectedUserId] = useState(null); 14 | const [newMessageText,setNewMessageText] = useState(''); 15 | const [messages,setMessages] = useState([]); 16 | const {username,id,setId,setUsername} = useContext(UserContext); 17 | const divUnderMessages = useRef(); 18 | useEffect(() => { 19 | connectToWs(); 20 | }, [selectedUserId]); 21 | function connectToWs() { 22 | const ws = new WebSocket('ws://localhost:4040'); 23 | setWs(ws); 24 | ws.addEventListener('message', handleMessage); 25 | ws.addEventListener('close', () => { 26 | setTimeout(() => { 27 | console.log('Disconnected. Trying to reconnect.'); 28 | connectToWs(); 29 | }, 1000); 30 | }); 31 | } 32 | function showOnlinePeople(peopleArray) { 33 | const people = {}; 34 | peopleArray.forEach(({userId,username}) => { 35 | people[userId] = username; 36 | }); 37 | setOnlinePeople(people); 38 | } 39 | function handleMessage(ev) { 40 | const messageData = JSON.parse(ev.data); 41 | console.log({ev,messageData}); 42 | if ('online' in messageData) { 43 | showOnlinePeople(messageData.online); 44 | } else if ('text' in messageData) { 45 | if (messageData.sender === selectedUserId) { 46 | setMessages(prev => ([...prev, {...messageData}])); 47 | } 48 | } 49 | } 50 | function logout() { 51 | axios.post('/logout').then(() => { 52 | setWs(null); 53 | setId(null); 54 | setUsername(null); 55 | }); 56 | } 57 | function sendMessage(ev, file = null) { 58 | if (ev) ev.preventDefault(); 59 | ws.send(JSON.stringify({ 60 | recipient: selectedUserId, 61 | text: newMessageText, 62 | file, 63 | })); 64 | if (file) { 65 | axios.get('/messages/'+selectedUserId).then(res => { 66 | setMessages(res.data); 67 | }); 68 | } else { 69 | setNewMessageText(''); 70 | setMessages(prev => ([...prev,{ 71 | text: newMessageText, 72 | sender: id, 73 | recipient: selectedUserId, 74 | _id: Date.now(), 75 | }])); 76 | } 77 | } 78 | function sendFile(ev) { 79 | const reader = new FileReader(); 80 | reader.readAsDataURL(ev.target.files[0]); 81 | reader.onload = () => { 82 | sendMessage(null, { 83 | name: ev.target.files[0].name, 84 | data: reader.result, 85 | }); 86 | }; 87 | } 88 | 89 | useEffect(() => { 90 | const div = divUnderMessages.current; 91 | if (div) { 92 | div.scrollIntoView({behavior:'smooth', block:'end'}); 93 | } 94 | }, [messages]); 95 | 96 | useEffect(() => { 97 | axios.get('/people').then(res => { 98 | const offlinePeopleArr = res.data 99 | .filter(p => p._id !== id) 100 | .filter(p => !Object.keys(onlinePeople).includes(p._id)); 101 | const offlinePeople = {}; 102 | offlinePeopleArr.forEach(p => { 103 | offlinePeople[p._id] = p; 104 | }); 105 | setOfflinePeople(offlinePeople); 106 | }); 107 | }, [onlinePeople]); 108 | 109 | useEffect(() => { 110 | if (selectedUserId) { 111 | axios.get('/messages/'+selectedUserId).then(res => { 112 | setMessages(res.data); 113 | }); 114 | } 115 | }, [selectedUserId]); 116 | 117 | const onlinePeopleExclOurUser = {...onlinePeople}; 118 | delete onlinePeopleExclOurUser[id]; 119 | 120 | const messagesWithoutDupes = uniqBy(messages, '_id'); 121 | 122 | return ( 123 |
124 |
125 |
126 | 127 | {Object.keys(onlinePeopleExclOurUser).map(userId => ( 128 | {setSelectedUserId(userId);console.log({userId})}} 134 | selected={userId === selectedUserId} /> 135 | ))} 136 | {Object.keys(offlinePeople).map(userId => ( 137 | setSelectedUserId(userId)} 143 | selected={userId === selectedUserId} /> 144 | ))} 145 |
146 |
147 | 148 | 149 | 150 | 151 | {username} 152 | 153 | 156 |
157 |
158 |
159 |
160 | {!selectedUserId && ( 161 |
162 |
← Select a person from the sidebar
163 |
164 | )} 165 | {!!selectedUserId && ( 166 |
167 |
168 | {messagesWithoutDupes.map(message => ( 169 |
170 |
171 | {message.text} 172 | {message.file && ( 173 | 181 | )} 182 |
183 |
184 | ))} 185 |
186 |
187 |
188 | )} 189 |
190 | {!!selectedUserId && ( 191 |
192 | setNewMessageText(ev.target.value)} 195 | placeholder="Type your message here" 196 | className="bg-white flex-grow border rounded-sm p-2"/> 197 | 203 | 208 |
209 | )} 210 |
211 |
212 | ); 213 | } -------------------------------------------------------------------------------- /client/src/Contact.jsx: -------------------------------------------------------------------------------- 1 | import Avatar from "./Avatar.jsx"; 2 | 3 | export default function Contact({id,username,onClick,selected,online}) { 4 | return ( 5 |
onClick(id)} 6 | className={"border-b border-gray-100 flex items-center gap-2 cursor-pointer "+(selected ? 'bg-blue-50' : '')}> 7 | {selected && ( 8 |
9 | )} 10 |
11 | 12 | {username} 13 |
14 |
15 | ); 16 | } -------------------------------------------------------------------------------- /client/src/Logo.jsx: -------------------------------------------------------------------------------- 1 | export default function Logo() { 2 | return ( 3 |
4 | 5 | 6 | 7 | 8 | MernChat 9 |
10 | ); 11 | } -------------------------------------------------------------------------------- /client/src/RegisterAndLoginForm.jsx: -------------------------------------------------------------------------------- 1 | import {useContext, useState} from "react"; 2 | import axios from "axios"; 3 | import {UserContext} from "./UserContext.jsx"; 4 | 5 | export default function RegisterAndLoginForm() { 6 | const [username, setUsername] = useState(''); 7 | const [password, setPassword] = useState(''); 8 | const [isLoginOrRegister, setIsLoginOrRegister] = useState('login'); 9 | const {setUsername:setLoggedInUsername, setId} = useContext(UserContext); 10 | async function handleSubmit(ev) { 11 | ev.preventDefault(); 12 | const url = isLoginOrRegister === 'register' ? 'register' : 'login'; 13 | const {data} = await axios.post(url, {username,password}); 14 | setLoggedInUsername(username); 15 | setId(data.id); 16 | } 17 | return ( 18 |
19 |
20 | setUsername(ev.target.value)} 22 | type="text" placeholder="username" 23 | className="block w-full rounded-sm p-2 mb-2 border" /> 24 | setPassword(ev.target.value)} 26 | type="password" 27 | placeholder="password" 28 | className="block w-full rounded-sm p-2 mb-2 border" /> 29 | 32 |
33 | {isLoginOrRegister === 'register' && ( 34 |
35 | Already a member? 36 | 39 |
40 | )} 41 | {isLoginOrRegister === 'login' && ( 42 |
43 | Dont have an account? 44 | 47 |
48 | )} 49 |
50 |
51 |
52 | ); 53 | } -------------------------------------------------------------------------------- /client/src/Routes.jsx: -------------------------------------------------------------------------------- 1 | import RegisterAndLoginForm from "./RegisterAndLoginForm.jsx"; 2 | import {useContext} from "react"; 3 | import {UserContext} from "./UserContext.jsx"; 4 | import Chat from "./Chat"; 5 | 6 | export default function Routes() { 7 | const {username, id} = useContext(UserContext); 8 | 9 | if (username) { 10 | return ; 11 | } 12 | 13 | return ( 14 | 15 | ); 16 | } -------------------------------------------------------------------------------- /client/src/UserContext.jsx: -------------------------------------------------------------------------------- 1 | import {createContext, useEffect, useState} from "react"; 2 | import axios from "axios"; 3 | 4 | export const UserContext = createContext({}); 5 | 6 | export function UserContextProvider({children}) { 7 | const [username, setUsername] = useState(null); 8 | const [id, setId] = useState(null); 9 | useEffect(() => { 10 | axios.get('/profile').then(response => { 11 | setId(response.data.userId); 12 | setUsername(response.data.username); 13 | }); 14 | }, []); 15 | return ( 16 | 17 | {children} 18 | 19 | ); 20 | } -------------------------------------------------------------------------------- /client/src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /client/src/main.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom/client' 3 | import App from './App' 4 | import './index.css' 5 | 6 | ReactDOM.createRoot(document.getElementById('root')).render( 7 | 8 | 9 | , 10 | ) 11 | -------------------------------------------------------------------------------- /client/tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: [ 4 | "./src/*.jsx" 5 | ], 6 | theme: { 7 | extend: {}, 8 | }, 9 | plugins: [], 10 | } 11 | -------------------------------------------------------------------------------- /client/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }) 8 | -------------------------------------------------------------------------------- /client/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ampproject/remapping@^2.1.0": 6 | version "2.2.0" 7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" 8 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== 9 | dependencies: 10 | "@jridgewell/gen-mapping" "^0.1.0" 11 | "@jridgewell/trace-mapping" "^0.3.9" 12 | 13 | "@babel/code-frame@^7.18.6": 14 | version "7.18.6" 15 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 16 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 17 | dependencies: 18 | "@babel/highlight" "^7.18.6" 19 | 20 | "@babel/compat-data@^7.20.5": 21 | version "7.20.14" 22 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.14.tgz#4106fc8b755f3e3ee0a0a7c27dde5de1d2b2baf8" 23 | integrity sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw== 24 | 25 | "@babel/core@^7.20.12": 26 | version "7.20.12" 27 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d" 28 | integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== 29 | dependencies: 30 | "@ampproject/remapping" "^2.1.0" 31 | "@babel/code-frame" "^7.18.6" 32 | "@babel/generator" "^7.20.7" 33 | "@babel/helper-compilation-targets" "^7.20.7" 34 | "@babel/helper-module-transforms" "^7.20.11" 35 | "@babel/helpers" "^7.20.7" 36 | "@babel/parser" "^7.20.7" 37 | "@babel/template" "^7.20.7" 38 | "@babel/traverse" "^7.20.12" 39 | "@babel/types" "^7.20.7" 40 | convert-source-map "^1.7.0" 41 | debug "^4.1.0" 42 | gensync "^1.0.0-beta.2" 43 | json5 "^2.2.2" 44 | semver "^6.3.0" 45 | 46 | "@babel/generator@^7.20.7": 47 | version "7.20.14" 48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.14.tgz#9fa772c9f86a46c6ac9b321039400712b96f64ce" 49 | integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg== 50 | dependencies: 51 | "@babel/types" "^7.20.7" 52 | "@jridgewell/gen-mapping" "^0.3.2" 53 | jsesc "^2.5.1" 54 | 55 | "@babel/helper-compilation-targets@^7.20.7": 56 | version "7.20.7" 57 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" 58 | integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== 59 | dependencies: 60 | "@babel/compat-data" "^7.20.5" 61 | "@babel/helper-validator-option" "^7.18.6" 62 | browserslist "^4.21.3" 63 | lru-cache "^5.1.1" 64 | semver "^6.3.0" 65 | 66 | "@babel/helper-environment-visitor@^7.18.9": 67 | version "7.18.9" 68 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" 69 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== 70 | 71 | "@babel/helper-function-name@^7.19.0": 72 | version "7.19.0" 73 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" 74 | integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== 75 | dependencies: 76 | "@babel/template" "^7.18.10" 77 | "@babel/types" "^7.19.0" 78 | 79 | "@babel/helper-hoist-variables@^7.18.6": 80 | version "7.18.6" 81 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" 82 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== 83 | dependencies: 84 | "@babel/types" "^7.18.6" 85 | 86 | "@babel/helper-module-imports@^7.18.6": 87 | version "7.18.6" 88 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" 89 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 90 | dependencies: 91 | "@babel/types" "^7.18.6" 92 | 93 | "@babel/helper-module-transforms@^7.20.11": 94 | version "7.20.11" 95 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" 96 | integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== 97 | dependencies: 98 | "@babel/helper-environment-visitor" "^7.18.9" 99 | "@babel/helper-module-imports" "^7.18.6" 100 | "@babel/helper-simple-access" "^7.20.2" 101 | "@babel/helper-split-export-declaration" "^7.18.6" 102 | "@babel/helper-validator-identifier" "^7.19.1" 103 | "@babel/template" "^7.20.7" 104 | "@babel/traverse" "^7.20.10" 105 | "@babel/types" "^7.20.7" 106 | 107 | "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": 108 | version "7.20.2" 109 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" 110 | integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== 111 | 112 | "@babel/helper-simple-access@^7.20.2": 113 | version "7.20.2" 114 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" 115 | integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== 116 | dependencies: 117 | "@babel/types" "^7.20.2" 118 | 119 | "@babel/helper-split-export-declaration@^7.18.6": 120 | version "7.18.6" 121 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" 122 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== 123 | dependencies: 124 | "@babel/types" "^7.18.6" 125 | 126 | "@babel/helper-string-parser@^7.19.4": 127 | version "7.19.4" 128 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" 129 | integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== 130 | 131 | "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": 132 | version "7.19.1" 133 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" 134 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== 135 | 136 | "@babel/helper-validator-option@^7.18.6": 137 | version "7.18.6" 138 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" 139 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== 140 | 141 | "@babel/helpers@^7.20.7": 142 | version "7.20.13" 143 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.13.tgz#e3cb731fb70dc5337134cadc24cbbad31cc87ad2" 144 | integrity sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg== 145 | dependencies: 146 | "@babel/template" "^7.20.7" 147 | "@babel/traverse" "^7.20.13" 148 | "@babel/types" "^7.20.7" 149 | 150 | "@babel/highlight@^7.18.6": 151 | version "7.18.6" 152 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 153 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 154 | dependencies: 155 | "@babel/helper-validator-identifier" "^7.18.6" 156 | chalk "^2.0.0" 157 | js-tokens "^4.0.0" 158 | 159 | "@babel/parser@^7.20.13", "@babel/parser@^7.20.7": 160 | version "7.20.15" 161 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89" 162 | integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg== 163 | 164 | "@babel/plugin-transform-react-jsx-self@^7.18.6": 165 | version "7.18.6" 166 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7" 167 | integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== 168 | dependencies: 169 | "@babel/helper-plugin-utils" "^7.18.6" 170 | 171 | "@babel/plugin-transform-react-jsx-source@^7.19.6": 172 | version "7.19.6" 173 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz#88578ae8331e5887e8ce28e4c9dc83fb29da0b86" 174 | integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ== 175 | dependencies: 176 | "@babel/helper-plugin-utils" "^7.19.0" 177 | 178 | "@babel/template@^7.18.10", "@babel/template@^7.20.7": 179 | version "7.20.7" 180 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" 181 | integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== 182 | dependencies: 183 | "@babel/code-frame" "^7.18.6" 184 | "@babel/parser" "^7.20.7" 185 | "@babel/types" "^7.20.7" 186 | 187 | "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13": 188 | version "7.20.13" 189 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.13.tgz#817c1ba13d11accca89478bd5481b2d168d07473" 190 | integrity sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ== 191 | dependencies: 192 | "@babel/code-frame" "^7.18.6" 193 | "@babel/generator" "^7.20.7" 194 | "@babel/helper-environment-visitor" "^7.18.9" 195 | "@babel/helper-function-name" "^7.19.0" 196 | "@babel/helper-hoist-variables" "^7.18.6" 197 | "@babel/helper-split-export-declaration" "^7.18.6" 198 | "@babel/parser" "^7.20.13" 199 | "@babel/types" "^7.20.7" 200 | debug "^4.1.0" 201 | globals "^11.1.0" 202 | 203 | "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7": 204 | version "7.20.7" 205 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" 206 | integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== 207 | dependencies: 208 | "@babel/helper-string-parser" "^7.19.4" 209 | "@babel/helper-validator-identifier" "^7.19.1" 210 | to-fast-properties "^2.0.0" 211 | 212 | "@esbuild/android-arm64@0.16.17": 213 | version "0.16.17" 214 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" 215 | integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== 216 | 217 | "@esbuild/android-arm@0.16.17": 218 | version "0.16.17" 219 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" 220 | integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== 221 | 222 | "@esbuild/android-x64@0.16.17": 223 | version "0.16.17" 224 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" 225 | integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== 226 | 227 | "@esbuild/darwin-arm64@0.16.17": 228 | version "0.16.17" 229 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" 230 | integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== 231 | 232 | "@esbuild/darwin-x64@0.16.17": 233 | version "0.16.17" 234 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" 235 | integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== 236 | 237 | "@esbuild/freebsd-arm64@0.16.17": 238 | version "0.16.17" 239 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" 240 | integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== 241 | 242 | "@esbuild/freebsd-x64@0.16.17": 243 | version "0.16.17" 244 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" 245 | integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== 246 | 247 | "@esbuild/linux-arm64@0.16.17": 248 | version "0.16.17" 249 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" 250 | integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== 251 | 252 | "@esbuild/linux-arm@0.16.17": 253 | version "0.16.17" 254 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" 255 | integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== 256 | 257 | "@esbuild/linux-ia32@0.16.17": 258 | version "0.16.17" 259 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" 260 | integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== 261 | 262 | "@esbuild/linux-loong64@0.16.17": 263 | version "0.16.17" 264 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" 265 | integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== 266 | 267 | "@esbuild/linux-mips64el@0.16.17": 268 | version "0.16.17" 269 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" 270 | integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== 271 | 272 | "@esbuild/linux-ppc64@0.16.17": 273 | version "0.16.17" 274 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" 275 | integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== 276 | 277 | "@esbuild/linux-riscv64@0.16.17": 278 | version "0.16.17" 279 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" 280 | integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== 281 | 282 | "@esbuild/linux-s390x@0.16.17": 283 | version "0.16.17" 284 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" 285 | integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== 286 | 287 | "@esbuild/linux-x64@0.16.17": 288 | version "0.16.17" 289 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" 290 | integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== 291 | 292 | "@esbuild/netbsd-x64@0.16.17": 293 | version "0.16.17" 294 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" 295 | integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== 296 | 297 | "@esbuild/openbsd-x64@0.16.17": 298 | version "0.16.17" 299 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" 300 | integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== 301 | 302 | "@esbuild/sunos-x64@0.16.17": 303 | version "0.16.17" 304 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" 305 | integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== 306 | 307 | "@esbuild/win32-arm64@0.16.17": 308 | version "0.16.17" 309 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" 310 | integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== 311 | 312 | "@esbuild/win32-ia32@0.16.17": 313 | version "0.16.17" 314 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" 315 | integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== 316 | 317 | "@esbuild/win32-x64@0.16.17": 318 | version "0.16.17" 319 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" 320 | integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== 321 | 322 | "@jridgewell/gen-mapping@^0.1.0": 323 | version "0.1.1" 324 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" 325 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 326 | dependencies: 327 | "@jridgewell/set-array" "^1.0.0" 328 | "@jridgewell/sourcemap-codec" "^1.4.10" 329 | 330 | "@jridgewell/gen-mapping@^0.3.2": 331 | version "0.3.2" 332 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 333 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 334 | dependencies: 335 | "@jridgewell/set-array" "^1.0.1" 336 | "@jridgewell/sourcemap-codec" "^1.4.10" 337 | "@jridgewell/trace-mapping" "^0.3.9" 338 | 339 | "@jridgewell/resolve-uri@3.1.0": 340 | version "3.1.0" 341 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 342 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 343 | 344 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 345 | version "1.1.2" 346 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 347 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 348 | 349 | "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13": 350 | version "1.4.14" 351 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 352 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 353 | 354 | "@jridgewell/trace-mapping@^0.3.9": 355 | version "0.3.17" 356 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" 357 | integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== 358 | dependencies: 359 | "@jridgewell/resolve-uri" "3.1.0" 360 | "@jridgewell/sourcemap-codec" "1.4.14" 361 | 362 | "@nodelib/fs.scandir@2.1.5": 363 | version "2.1.5" 364 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 365 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 366 | dependencies: 367 | "@nodelib/fs.stat" "2.0.5" 368 | run-parallel "^1.1.9" 369 | 370 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 371 | version "2.0.5" 372 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 373 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 374 | 375 | "@nodelib/fs.walk@^1.2.3": 376 | version "1.2.8" 377 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 378 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 379 | dependencies: 380 | "@nodelib/fs.scandir" "2.1.5" 381 | fastq "^1.6.0" 382 | 383 | "@types/prop-types@*": 384 | version "15.7.5" 385 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" 386 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 387 | 388 | "@types/react-dom@^18.0.10": 389 | version "18.0.10" 390 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.10.tgz#3b66dec56aa0f16a6cc26da9e9ca96c35c0b4352" 391 | integrity sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg== 392 | dependencies: 393 | "@types/react" "*" 394 | 395 | "@types/react@*", "@types/react@^18.0.27": 396 | version "18.0.27" 397 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.27.tgz#d9425abe187a00f8a5ec182b010d4fd9da703b71" 398 | integrity sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA== 399 | dependencies: 400 | "@types/prop-types" "*" 401 | "@types/scheduler" "*" 402 | csstype "^3.0.2" 403 | 404 | "@types/scheduler@*": 405 | version "0.16.2" 406 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 407 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 408 | 409 | "@vitejs/plugin-react@^3.1.0": 410 | version "3.1.0" 411 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz#d1091f535eab8b83d6e74034d01e27d73c773240" 412 | integrity sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g== 413 | dependencies: 414 | "@babel/core" "^7.20.12" 415 | "@babel/plugin-transform-react-jsx-self" "^7.18.6" 416 | "@babel/plugin-transform-react-jsx-source" "^7.19.6" 417 | magic-string "^0.27.0" 418 | react-refresh "^0.14.0" 419 | 420 | acorn-node@^1.8.2: 421 | version "1.8.2" 422 | resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" 423 | integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== 424 | dependencies: 425 | acorn "^7.0.0" 426 | acorn-walk "^7.0.0" 427 | xtend "^4.0.2" 428 | 429 | acorn-walk@^7.0.0: 430 | version "7.2.0" 431 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" 432 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== 433 | 434 | acorn@^7.0.0: 435 | version "7.4.1" 436 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 437 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 438 | 439 | ansi-styles@^3.2.1: 440 | version "3.2.1" 441 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 442 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 443 | dependencies: 444 | color-convert "^1.9.0" 445 | 446 | anymatch@~3.1.2: 447 | version "3.1.3" 448 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" 449 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== 450 | dependencies: 451 | normalize-path "^3.0.0" 452 | picomatch "^2.0.4" 453 | 454 | arg@^5.0.2: 455 | version "5.0.2" 456 | resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" 457 | integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== 458 | 459 | asynckit@^0.4.0: 460 | version "0.4.0" 461 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 462 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 463 | 464 | autoprefixer@^10.4.13: 465 | version "10.4.13" 466 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8" 467 | integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== 468 | dependencies: 469 | browserslist "^4.21.4" 470 | caniuse-lite "^1.0.30001426" 471 | fraction.js "^4.2.0" 472 | normalize-range "^0.1.2" 473 | picocolors "^1.0.0" 474 | postcss-value-parser "^4.2.0" 475 | 476 | axios@^1.3.2: 477 | version "1.3.2" 478 | resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.2.tgz#7ac517f0fa3ec46e0e636223fd973713a09c72b3" 479 | integrity sha512-1M3O703bYqYuPhbHeya5bnhpYVsDDRyQSabNja04mZtboLNSuZ4YrltestrLXfHgmzua4TpUqRiVKbiQuo2epw== 480 | dependencies: 481 | follow-redirects "^1.15.0" 482 | form-data "^4.0.0" 483 | proxy-from-env "^1.1.0" 484 | 485 | binary-extensions@^2.0.0: 486 | version "2.2.0" 487 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 488 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 489 | 490 | braces@^3.0.2, braces@~3.0.2: 491 | version "3.0.2" 492 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 493 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 494 | dependencies: 495 | fill-range "^7.0.1" 496 | 497 | browserslist@^4.21.3, browserslist@^4.21.4: 498 | version "4.21.5" 499 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" 500 | integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== 501 | dependencies: 502 | caniuse-lite "^1.0.30001449" 503 | electron-to-chromium "^1.4.284" 504 | node-releases "^2.0.8" 505 | update-browserslist-db "^1.0.10" 506 | 507 | camelcase-css@^2.0.1: 508 | version "2.0.1" 509 | resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" 510 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== 511 | 512 | caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449: 513 | version "1.0.30001450" 514 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz#022225b91200589196b814b51b1bbe45144cf74f" 515 | integrity sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew== 516 | 517 | chalk@^2.0.0: 518 | version "2.4.2" 519 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 520 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 521 | dependencies: 522 | ansi-styles "^3.2.1" 523 | escape-string-regexp "^1.0.5" 524 | supports-color "^5.3.0" 525 | 526 | chokidar@^3.5.3: 527 | version "3.5.3" 528 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 529 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 530 | dependencies: 531 | anymatch "~3.1.2" 532 | braces "~3.0.2" 533 | glob-parent "~5.1.2" 534 | is-binary-path "~2.1.0" 535 | is-glob "~4.0.1" 536 | normalize-path "~3.0.0" 537 | readdirp "~3.6.0" 538 | optionalDependencies: 539 | fsevents "~2.3.2" 540 | 541 | color-convert@^1.9.0: 542 | version "1.9.3" 543 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 544 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 545 | dependencies: 546 | color-name "1.1.3" 547 | 548 | color-name@1.1.3: 549 | version "1.1.3" 550 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 551 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 552 | 553 | color-name@^1.1.4: 554 | version "1.1.4" 555 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 556 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 557 | 558 | combined-stream@^1.0.8: 559 | version "1.0.8" 560 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 561 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 562 | dependencies: 563 | delayed-stream "~1.0.0" 564 | 565 | convert-source-map@^1.7.0: 566 | version "1.9.0" 567 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" 568 | integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== 569 | 570 | cssesc@^3.0.0: 571 | version "3.0.0" 572 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 573 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 574 | 575 | csstype@^3.0.2: 576 | version "3.1.1" 577 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" 578 | integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== 579 | 580 | debug@^4.1.0: 581 | version "4.3.4" 582 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 583 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 584 | dependencies: 585 | ms "2.1.2" 586 | 587 | defined@^1.0.0: 588 | version "1.0.1" 589 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" 590 | integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== 591 | 592 | delayed-stream@~1.0.0: 593 | version "1.0.0" 594 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 595 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 596 | 597 | detective@^5.2.1: 598 | version "5.2.1" 599 | resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034" 600 | integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== 601 | dependencies: 602 | acorn-node "^1.8.2" 603 | defined "^1.0.0" 604 | minimist "^1.2.6" 605 | 606 | didyoumean@^1.2.2: 607 | version "1.2.2" 608 | resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" 609 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== 610 | 611 | dlv@^1.1.3: 612 | version "1.1.3" 613 | resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" 614 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== 615 | 616 | electron-to-chromium@^1.4.284: 617 | version "1.4.286" 618 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.286.tgz#0e039de59135f44ab9a8ec9025e53a9135eba11f" 619 | integrity sha512-Vp3CVhmYpgf4iXNKAucoQUDcCrBQX3XLBtwgFqP9BUXuucgvAV9zWp1kYU7LL9j4++s9O+12cb3wMtN4SJy6UQ== 620 | 621 | esbuild@^0.16.14: 622 | version "0.16.17" 623 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259" 624 | integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg== 625 | optionalDependencies: 626 | "@esbuild/android-arm" "0.16.17" 627 | "@esbuild/android-arm64" "0.16.17" 628 | "@esbuild/android-x64" "0.16.17" 629 | "@esbuild/darwin-arm64" "0.16.17" 630 | "@esbuild/darwin-x64" "0.16.17" 631 | "@esbuild/freebsd-arm64" "0.16.17" 632 | "@esbuild/freebsd-x64" "0.16.17" 633 | "@esbuild/linux-arm" "0.16.17" 634 | "@esbuild/linux-arm64" "0.16.17" 635 | "@esbuild/linux-ia32" "0.16.17" 636 | "@esbuild/linux-loong64" "0.16.17" 637 | "@esbuild/linux-mips64el" "0.16.17" 638 | "@esbuild/linux-ppc64" "0.16.17" 639 | "@esbuild/linux-riscv64" "0.16.17" 640 | "@esbuild/linux-s390x" "0.16.17" 641 | "@esbuild/linux-x64" "0.16.17" 642 | "@esbuild/netbsd-x64" "0.16.17" 643 | "@esbuild/openbsd-x64" "0.16.17" 644 | "@esbuild/sunos-x64" "0.16.17" 645 | "@esbuild/win32-arm64" "0.16.17" 646 | "@esbuild/win32-ia32" "0.16.17" 647 | "@esbuild/win32-x64" "0.16.17" 648 | 649 | escalade@^3.1.1: 650 | version "3.1.1" 651 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 652 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 653 | 654 | escape-string-regexp@^1.0.5: 655 | version "1.0.5" 656 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 657 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 658 | 659 | fast-glob@^3.2.12: 660 | version "3.2.12" 661 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" 662 | integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== 663 | dependencies: 664 | "@nodelib/fs.stat" "^2.0.2" 665 | "@nodelib/fs.walk" "^1.2.3" 666 | glob-parent "^5.1.2" 667 | merge2 "^1.3.0" 668 | micromatch "^4.0.4" 669 | 670 | fastq@^1.6.0: 671 | version "1.15.0" 672 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" 673 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== 674 | dependencies: 675 | reusify "^1.0.4" 676 | 677 | fill-range@^7.0.1: 678 | version "7.0.1" 679 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 680 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 681 | dependencies: 682 | to-regex-range "^5.0.1" 683 | 684 | follow-redirects@^1.15.0: 685 | version "1.15.2" 686 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" 687 | integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== 688 | 689 | form-data@^4.0.0: 690 | version "4.0.0" 691 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 692 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 693 | dependencies: 694 | asynckit "^0.4.0" 695 | combined-stream "^1.0.8" 696 | mime-types "^2.1.12" 697 | 698 | fraction.js@^4.2.0: 699 | version "4.2.0" 700 | resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" 701 | integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== 702 | 703 | fsevents@~2.3.2: 704 | version "2.3.2" 705 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 706 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 707 | 708 | function-bind@^1.1.1: 709 | version "1.1.1" 710 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 711 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 712 | 713 | gensync@^1.0.0-beta.2: 714 | version "1.0.0-beta.2" 715 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 716 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 717 | 718 | glob-parent@^5.1.2, glob-parent@~5.1.2: 719 | version "5.1.2" 720 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 721 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 722 | dependencies: 723 | is-glob "^4.0.1" 724 | 725 | glob-parent@^6.0.2: 726 | version "6.0.2" 727 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 728 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 729 | dependencies: 730 | is-glob "^4.0.3" 731 | 732 | globals@^11.1.0: 733 | version "11.12.0" 734 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 735 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 736 | 737 | has-flag@^3.0.0: 738 | version "3.0.0" 739 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 740 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 741 | 742 | has@^1.0.3: 743 | version "1.0.3" 744 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 745 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 746 | dependencies: 747 | function-bind "^1.1.1" 748 | 749 | is-binary-path@~2.1.0: 750 | version "2.1.0" 751 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 752 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 753 | dependencies: 754 | binary-extensions "^2.0.0" 755 | 756 | is-core-module@^2.9.0: 757 | version "2.11.0" 758 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" 759 | integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== 760 | dependencies: 761 | has "^1.0.3" 762 | 763 | is-extglob@^2.1.1: 764 | version "2.1.1" 765 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 766 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 767 | 768 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 769 | version "4.0.3" 770 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 771 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 772 | dependencies: 773 | is-extglob "^2.1.1" 774 | 775 | is-number@^7.0.0: 776 | version "7.0.0" 777 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 778 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 779 | 780 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 781 | version "4.0.0" 782 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 783 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 784 | 785 | jsesc@^2.5.1: 786 | version "2.5.2" 787 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 788 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 789 | 790 | json5@^2.2.2: 791 | version "2.2.3" 792 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" 793 | integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== 794 | 795 | lilconfig@^2.0.5, lilconfig@^2.0.6: 796 | version "2.0.6" 797 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" 798 | integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== 799 | 800 | lodash@^4.17.21: 801 | version "4.17.21" 802 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 803 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 804 | 805 | loose-envify@^1.1.0: 806 | version "1.4.0" 807 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 808 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 809 | dependencies: 810 | js-tokens "^3.0.0 || ^4.0.0" 811 | 812 | lru-cache@^5.1.1: 813 | version "5.1.1" 814 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 815 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 816 | dependencies: 817 | yallist "^3.0.2" 818 | 819 | magic-string@^0.27.0: 820 | version "0.27.0" 821 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" 822 | integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== 823 | dependencies: 824 | "@jridgewell/sourcemap-codec" "^1.4.13" 825 | 826 | merge2@^1.3.0: 827 | version "1.4.1" 828 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 829 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 830 | 831 | micromatch@^4.0.4, micromatch@^4.0.5: 832 | version "4.0.5" 833 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 834 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 835 | dependencies: 836 | braces "^3.0.2" 837 | picomatch "^2.3.1" 838 | 839 | mime-db@1.52.0: 840 | version "1.52.0" 841 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 842 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 843 | 844 | mime-types@^2.1.12: 845 | version "2.1.35" 846 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 847 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 848 | dependencies: 849 | mime-db "1.52.0" 850 | 851 | minimist@^1.2.6: 852 | version "1.2.7" 853 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" 854 | integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== 855 | 856 | ms@2.1.2: 857 | version "2.1.2" 858 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 859 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 860 | 861 | nanoid@^3.3.4: 862 | version "3.3.4" 863 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 864 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 865 | 866 | node-releases@^2.0.8: 867 | version "2.0.10" 868 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" 869 | integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== 870 | 871 | normalize-path@^3.0.0, normalize-path@~3.0.0: 872 | version "3.0.0" 873 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 874 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 875 | 876 | normalize-range@^0.1.2: 877 | version "0.1.2" 878 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" 879 | integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== 880 | 881 | object-hash@^3.0.0: 882 | version "3.0.0" 883 | resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" 884 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== 885 | 886 | path-parse@^1.0.7: 887 | version "1.0.7" 888 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 889 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 890 | 891 | picocolors@^1.0.0: 892 | version "1.0.0" 893 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 894 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 895 | 896 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 897 | version "2.3.1" 898 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 899 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 900 | 901 | pify@^2.3.0: 902 | version "2.3.0" 903 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 904 | integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== 905 | 906 | postcss-import@^14.1.0: 907 | version "14.1.0" 908 | resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" 909 | integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== 910 | dependencies: 911 | postcss-value-parser "^4.0.0" 912 | read-cache "^1.0.0" 913 | resolve "^1.1.7" 914 | 915 | postcss-js@^4.0.0: 916 | version "4.0.0" 917 | resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" 918 | integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== 919 | dependencies: 920 | camelcase-css "^2.0.1" 921 | 922 | postcss-load-config@^3.1.4: 923 | version "3.1.4" 924 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" 925 | integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== 926 | dependencies: 927 | lilconfig "^2.0.5" 928 | yaml "^1.10.2" 929 | 930 | postcss-nested@6.0.0: 931 | version "6.0.0" 932 | resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.0.tgz#1572f1984736578f360cffc7eb7dca69e30d1735" 933 | integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w== 934 | dependencies: 935 | postcss-selector-parser "^6.0.10" 936 | 937 | postcss-selector-parser@^6.0.10: 938 | version "6.0.11" 939 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" 940 | integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== 941 | dependencies: 942 | cssesc "^3.0.0" 943 | util-deprecate "^1.0.2" 944 | 945 | postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: 946 | version "4.2.0" 947 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" 948 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 949 | 950 | postcss@^8.4.18, postcss@^8.4.21: 951 | version "8.4.21" 952 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" 953 | integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== 954 | dependencies: 955 | nanoid "^3.3.4" 956 | picocolors "^1.0.0" 957 | source-map-js "^1.0.2" 958 | 959 | proxy-from-env@^1.1.0: 960 | version "1.1.0" 961 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" 962 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== 963 | 964 | queue-microtask@^1.2.2: 965 | version "1.2.3" 966 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 967 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 968 | 969 | quick-lru@^5.1.1: 970 | version "5.1.1" 971 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" 972 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== 973 | 974 | react-dom@^18.2.0: 975 | version "18.2.0" 976 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" 977 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== 978 | dependencies: 979 | loose-envify "^1.1.0" 980 | scheduler "^0.23.0" 981 | 982 | react-refresh@^0.14.0: 983 | version "0.14.0" 984 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" 985 | integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== 986 | 987 | react@^18.2.0: 988 | version "18.2.0" 989 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" 990 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 991 | dependencies: 992 | loose-envify "^1.1.0" 993 | 994 | read-cache@^1.0.0: 995 | version "1.0.0" 996 | resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" 997 | integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== 998 | dependencies: 999 | pify "^2.3.0" 1000 | 1001 | readdirp@~3.6.0: 1002 | version "3.6.0" 1003 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1004 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1005 | dependencies: 1006 | picomatch "^2.2.1" 1007 | 1008 | resolve@^1.1.7, resolve@^1.22.1: 1009 | version "1.22.1" 1010 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 1011 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 1012 | dependencies: 1013 | is-core-module "^2.9.0" 1014 | path-parse "^1.0.7" 1015 | supports-preserve-symlinks-flag "^1.0.0" 1016 | 1017 | reusify@^1.0.4: 1018 | version "1.0.4" 1019 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 1020 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1021 | 1022 | rollup@^3.10.0: 1023 | version "3.14.0" 1024 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.14.0.tgz#f5925255f3b6e8de1dba3916d7619c7da5708d95" 1025 | integrity sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q== 1026 | optionalDependencies: 1027 | fsevents "~2.3.2" 1028 | 1029 | run-parallel@^1.1.9: 1030 | version "1.2.0" 1031 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 1032 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1033 | dependencies: 1034 | queue-microtask "^1.2.2" 1035 | 1036 | scheduler@^0.23.0: 1037 | version "0.23.0" 1038 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" 1039 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== 1040 | dependencies: 1041 | loose-envify "^1.1.0" 1042 | 1043 | semver@^6.3.0: 1044 | version "6.3.0" 1045 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1046 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1047 | 1048 | source-map-js@^1.0.2: 1049 | version "1.0.2" 1050 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 1051 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1052 | 1053 | supports-color@^5.3.0: 1054 | version "5.5.0" 1055 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1056 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1057 | dependencies: 1058 | has-flag "^3.0.0" 1059 | 1060 | supports-preserve-symlinks-flag@^1.0.0: 1061 | version "1.0.0" 1062 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 1063 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1064 | 1065 | tailwindcss@^3.2.4: 1066 | version "3.2.4" 1067 | resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.2.4.tgz#afe3477e7a19f3ceafb48e4b083e292ce0dc0250" 1068 | integrity sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ== 1069 | dependencies: 1070 | arg "^5.0.2" 1071 | chokidar "^3.5.3" 1072 | color-name "^1.1.4" 1073 | detective "^5.2.1" 1074 | didyoumean "^1.2.2" 1075 | dlv "^1.1.3" 1076 | fast-glob "^3.2.12" 1077 | glob-parent "^6.0.2" 1078 | is-glob "^4.0.3" 1079 | lilconfig "^2.0.6" 1080 | micromatch "^4.0.5" 1081 | normalize-path "^3.0.0" 1082 | object-hash "^3.0.0" 1083 | picocolors "^1.0.0" 1084 | postcss "^8.4.18" 1085 | postcss-import "^14.1.0" 1086 | postcss-js "^4.0.0" 1087 | postcss-load-config "^3.1.4" 1088 | postcss-nested "6.0.0" 1089 | postcss-selector-parser "^6.0.10" 1090 | postcss-value-parser "^4.2.0" 1091 | quick-lru "^5.1.1" 1092 | resolve "^1.22.1" 1093 | 1094 | to-fast-properties@^2.0.0: 1095 | version "2.0.0" 1096 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1097 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 1098 | 1099 | to-regex-range@^5.0.1: 1100 | version "5.0.1" 1101 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1102 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1103 | dependencies: 1104 | is-number "^7.0.0" 1105 | 1106 | update-browserslist-db@^1.0.10: 1107 | version "1.0.10" 1108 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" 1109 | integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== 1110 | dependencies: 1111 | escalade "^3.1.1" 1112 | picocolors "^1.0.0" 1113 | 1114 | util-deprecate@^1.0.2: 1115 | version "1.0.2" 1116 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1117 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 1118 | 1119 | vite@^4.1.0: 1120 | version "4.1.1" 1121 | resolved "https://registry.yarnpkg.com/vite/-/vite-4.1.1.tgz#3b18b81a4e85ce3df5cbdbf4c687d93ebf402e6b" 1122 | integrity sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg== 1123 | dependencies: 1124 | esbuild "^0.16.14" 1125 | postcss "^8.4.21" 1126 | resolve "^1.22.1" 1127 | rollup "^3.10.0" 1128 | optionalDependencies: 1129 | fsevents "~2.3.2" 1130 | 1131 | xtend@^4.0.2: 1132 | version "4.0.2" 1133 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 1134 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 1135 | 1136 | yallist@^3.0.2: 1137 | version "3.1.1" 1138 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 1139 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== 1140 | 1141 | yaml@^1.10.2: 1142 | version "1.10.2" 1143 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 1144 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 1145 | --------------------------------------------------------------------------------