diff --git a/.forgejo/workflows/deploy-edge-proxy.yml b/.forgejo/workflows/deploy-edge-proxy.yml
deleted file mode 100644
index 87125e3..0000000
--- a/.forgejo/workflows/deploy-edge-proxy.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-# name: Deploy Edge Proxy
-# run-name: ${{ gitea.actor }} Deploy Edge Proxy
-# on:
-# push:
-# branches: [ master ]
-
-# env:
-# GARDEN_DEPLOY_ACTION: minecluster-proxy
-
-# jobs:
-# deploy-edge:
-# steps:
-# # Setup Oasis
-# - name: Oasis Setup
-# uses: https://gitea.dunemask.dev/elysium/elysium-actions@oasis-setup-auto
-# with:
-# deploy-env: edge
-# infisical-token: ${{ secrets.INFISICAL_ELYSIUM_EDGE_READ_TOKEN }}
-# # Deploy to Edge Cluster
-# - name: Deploy to Edge Cluster
-# run: garden deploy $GARDEN_DEPLOY_ACTION --force --force-build --env usw-edge
-# working-directory: ${{ env.OASIS_WORKSPACE }}
-# # Alert via Discord
-# - name: Discord Alert
-# if: always()
-# uses: https://gitea.dunemask.dev/elysium/elysium-actions@discord-status
-# with:
-# status: ${{ job.status }}
-# channel: deployments
-# header: DEPLOY EDGE
-# additional-content: "Minecluster Proxy"
\ No newline at end of file
diff --git a/.forgejo/workflows/deploy-edge.yml b/.forgejo/workflows/deploy-edge.yml
deleted file mode 100644
index afb0c78..0000000
--- a/.forgejo/workflows/deploy-edge.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-name: Deploy USW-MC
-run-name: ${{ forgejo.actor }} Deploy USW-MC
-on:
- push:
- branches: [master]
-
-env:
- GARDEN_DEPLOY_ACTION: minecluster
-
-jobs:
- deploy-edge:
- steps:
- # Configure proper kubeconfig (Used when cluster does not match the edge environment)
- - name: Get usw-mc deployment kubeconfig
- uses: https://forgejo.dunemask.dev/elysium/elysium-actions@infisical-env
- with:
- infisical-token: ${{ secrets.INFISICAL_ELYSIUM_EDGE_READ_TOKEN }}
- project-id: ${{ vars.INFISICAL_DEPLOYMENTS_PROJECT_ID }}
- secret-envs: edge
- secret-paths: /kubernetes/usw-mc
- # Setup Oasis
- - name: Oasis Setup
- uses: https://forgejo.dunemask.dev/elysium/elysium-actions@oasis-setup-auto
- with:
- deploy-env: edge
- infisical-token: ${{ secrets.INFISICAL_ELYSIUM_EDGE_READ_TOKEN }}
- infisical-project: ${{ vars.INFISICAL_DEPLOYMENTS_PROJECT_ID }}
- extra-secret-paths: /dashboard
- extra-secret-envs: edge
- # Deploy to Edge
- - name: Deploy to Edge env
- run: garden deploy $GARDEN_DEPLOY_ACTION --force --force-build --env usw-edge
- working-directory: ${{ env.OASIS_WORKSPACE }}
- env: # (Used when cluster does not match the edge environment)
- MCL_KUBECONFIG: ${{ env.KUBERNETES_CONFIG_USW_MC }}
- # Alert via Discord
- - name: Discord Alert
- if: always()
- uses: https://forgejo.dunemask.dev/elysium/elysium-actions@discord-status
- with:
- status: ${{ job.status }}
- channel: deployments
- header: DEPLOY MC
- additional-content: "Minecluster Server Manager Deployment"
diff --git a/.forgejo/workflows/qa-api-tests.yml b/.forgejo/workflows/qa-api-tests.yml
deleted file mode 100644
index 596e11a..0000000
--- a/.forgejo/workflows/qa-api-tests.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-# name: QA API Tests
-# run-name: ${{ gitea.actor }} QA API Test
-# on:
-# pull_request:
-# branches: [ master ]
-
-# env:
-# REPO_DIR: ${{ gitea.workspace }}/minecluster
-# GARDEN_LINK_ACTION: build.minecluster-image
-
-# jobs:
-# qa-api-tests:
-# steps:
-# # Setup Oasis
-# - name: Oasis Setup
-# uses: https://gitea.dunemask.dev/elysium/elysium-actions@oasis-setup-auto
-# with:
-# deploy-env: ci
-# infisical-token: ${{ secrets.INFISICAL_ELYSIUM_CI_READ_TOKEN }}
-# # Test Code
-# - name: Checkout repository
-# uses: actions/checkout@v3
-# with:
-# path: ${{ env.REPO_DIR }}
-# # Garden link
-# - name: Link Repo code to Garden
-# run: garden link action $GARDEN_LINK_ACTION $REPO_DIR --env usw-ci --var cubit-projects=cairo,minecluster
-# working-directory: ${{ env.OASIS_WORKSPACE }}
-# # Cubit CI Tests
-# - name: Run Cubit tests in CI env
-# run: garden workflow qa-api-tests --env usw-ci --var ci-ttl=25m
-# working-directory: ${{ env.OASIS_WORKSPACE }}
-# # Discord Alert
-# - name: Discord Alert
-# if: always()
-# uses: https://gitea.dunemask.dev/elysium/elysium-actions@discord-status
-# with:
-# status: ${{ job.status }}
-# channel: ci
-# header: QA API Tests
-# additional-content: "CI Namespace: `${{env.CI_NAMESPACE}}`"
-
\ No newline at end of file
diff --git a/.forgejo/workflows/s3-repo-backup.yml b/.forgejo/workflows/s3-repo-backup.yml
deleted file mode 100644
index 4e4e7fd..0000000
--- a/.forgejo/workflows/s3-repo-backup.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: S3 Repo Backup
-run-name: ${{ forgejo.actor }} S3 Repo Backup
-on:
- push:
- branches: [ master ]
-
-jobs:
- s3-repo-backup:
- steps:
- - name: S3 Backup
- uses: https://forgejo.dunemask.dev/elysium/elysium-actions@s3-backup
- with:
- infisical-token: ${{ secrets.INFISICAL_ELYSIUM_EDGE_READ_TOKEN }}
- infisical-project: ${{ vars.INFISICAL_DEPLOYMENTS_PROJECT_ID }}
- - name: Status Alert
- if: always()
- run: echo "The Job ended with status ${{ job.status }}."
diff --git a/.gitea/workflows/s3-repo-backup.yml b/.gitea/workflows/s3-repo-backup.yml
new file mode 100644
index 0000000..68c426c
--- /dev/null
+++ b/.gitea/workflows/s3-repo-backup.yml
@@ -0,0 +1,31 @@
+name: S3 Repo Backup
+run-name: ${{ gitea.actor }} S3 Repo Backup
+on:
+ push:
+ branches: [ master ]
+
+env:
+ S3_BACKUP_ENDPOINT: https://s3.dunemask.dev
+ S3_BACKUP_KEY_ID: gitea-repo-backup
+ S3_BACKUP_KEY: ${{ secrets.S3_REPO_BACKUP_KEY }}
+ REPO_DIR: ${{ gitea.workspace }}/${{ gitea.respository }}
+jobs:
+ s3-repo-backup:
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v3
+ with:
+ path: ${{ env.REPO_DIR }}
+ - name: S3 Backup
+ uses: peter-evans/s3-backup@v1
+ env:
+ ACCESS_KEY_ID: ${{ env.S3_BACKUP_KEY_ID }}
+ SECRET_ACCESS_KEY: ${{ env.S3_BACKUP_KEY }}
+ MIRROR_SOURCE: ${{ env.REPO_DIR }}
+ MIRROR_TARGET: repository-backups/${{ gitea.repository }}
+ STORAGE_SERVICE_URL: ${{env.S3_BACKUP_ENDPOINT}}
+ with:
+ args: --overwrite --remove
+ - name: Status Alert
+ if: always()
+ run: echo "The Job ended with status ${{ job.status }}."
diff --git a/.gitignore b/.gitignore
index 5c86a6a..d570088 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,2 @@
node_modules/
-.env
diff --git a/Dockerfile b/Dockerfile
index c578d05..c80bac8 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -8,9 +8,8 @@ RUN npm i
COPY public public
COPY dist dist
COPY src src
+COPY lib lib
COPY index.html .
COPY vite.config.js .
RUN npm run build:react
-# Copy Backend resources over
-COPY lib lib
CMD ["npm","start"]
diff --git a/README.md b/README.md
index ed786b8..3348a0b 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,3 @@
Minecluster or MCL is a web interface used to manage multiple instance of Minecraft Servers in Kubernetes. This app is built to be an all in one for self-hosting Minecraft server. It uses rendered helm charts based on itzg/minecraft-server
More info coming soon.
-
-## ⚠ Warning ⚠
-Development is very active and there is no garuntee for compatability or migration across versions 1/15/24
diff --git a/dist/app.js b/dist/app.js
index d87897e..2f46e88 100644
--- a/dist/app.js
+++ b/dist/app.js
@@ -8,4 +8,4 @@ const kc = new k8s.KubeConfig();
kc.loadFromDefault();
}
-main().catch((e)=>{console.error(e)});
+main().catch((e)=>{console.log(e)});
diff --git a/index.html b/index.html
index 4fadd4e..ce38114 100644
--- a/index.html
+++ b/index.html
@@ -4,15 +4,6 @@
-
-
-
-
-
-
-
-
-
Minecluster
diff --git a/lib/controllers/file-controller.js b/lib/controllers/file-controller.js
index e5e7075..36aa0b0 100644
--- a/lib/controllers/file-controller.js
+++ b/lib/controllers/file-controller.js
@@ -4,17 +4,13 @@ import {
listServerFiles,
removeServerItem,
uploadServerItem,
- moveServerItems,
} from "../k8s/server-files.js";
import { sendError } from "../util/ExpressClientError.js";
-import { checkAuthorization } from "../database/queries/server-queries.js";
export async function listFiles(req, res) {
const serverSpec = req.body;
if (!serverSpec) return res.sendStatus(400);
- if (!serverSpec.id) return res.status(400).send("Server id missing!");
- const authorized = await checkAuthorization(serverSpec.id, req.cairoId);
- if (!authorized) return res.sendStatus(403);
+ if (!serverSpec.name) return res.status(400).send("Server name required!");
listServerFiles(serverSpec)
.then((f) => {
const fileData = f.map((fi, i) => ({
@@ -33,10 +29,8 @@ export async function listFiles(req, res) {
export async function createFolder(req, res) {
const serverSpec = req.body;
if (!serverSpec) return res.sendStatus(400);
- if (!serverSpec.id) return res.status(400).send("Server id missing!");
+ if (!serverSpec.name) return res.status(400).send("Server name required!");
if (!serverSpec.path) return res.status(400).send("Path required!");
- const authorized = await checkAuthorization(serverSpec.id, req.cairoId);
- if (!authorized) return res.sendStatus(403);
createServerFolder(serverSpec)
.then(() => res.sendStatus(200))
.catch(sendError(res));
@@ -45,12 +39,10 @@ export async function createFolder(req, res) {
export async function deleteItem(req, res) {
const serverSpec = req.body;
if (!serverSpec) return res.sendStatus(400);
- if (!serverSpec.id) return res.status(400).send("Server id missing!");
+ if (!serverSpec.name) return res.status(400).send("Server name required!");
if (!serverSpec.path) return res.status(400).send("Path required!");
if (serverSpec.isDir === undefined || serverSpec.isDir === null)
return res.status(400).send("IsDIr required!");
- const authorized = await checkAuthorization(serverSpec.id, req.cairoId);
- if (!authorized) return res.sendStatus(403);
removeServerItem(serverSpec)
.then(() => res.sendStatus(200))
.catch(sendError(res));
@@ -58,10 +50,8 @@ export async function deleteItem(req, res) {
export async function uploadItem(req, res) {
const serverSpec = req.body;
- if (!serverSpec.id) return res.status(400).send("Server id missing!");
+ if (!serverSpec.name) return res.status(400).send("Server name required!");
if (!serverSpec.path) return res.status(400).send("Path required!");
- const authorized = await checkAuthorization(serverSpec.id, req.cairoId);
- if (!authorized) return res.sendStatus(403);
uploadServerItem(serverSpec, req.file)
.then(() => res.sendStatus(200))
.catch(sendError(res));
@@ -69,10 +59,8 @@ export async function uploadItem(req, res) {
export async function getItem(req, res) {
const serverSpec = req.body;
- if (!serverSpec.id) return res.status(400).send("Server id missing!");
+ if (!serverSpec.name) return res.status(400).send("Server name required!");
if (!serverSpec.path) return res.status(400).send("Path required!");
- const authorized = await checkAuthorization(serverSpec.id, req.cairoId);
- if (!authorized) return res.sendStatus(403);
getServerItem(serverSpec, res)
.then(({ ds, ftpTransfer }) => {
ds.pipe(res).on("error", sendError(res));
@@ -80,18 +68,3 @@ export async function getItem(req, res) {
})
.catch(sendError(res));
}
-
-export async function moveItems(req, res) {
- const serverSpec = req.body;
- if (!serverSpec.id) return res.status(400).send("Server id missing!");
- if (!serverSpec.destination)
- return res.status(400).send("Destination required!");
- if (!serverSpec.origin) return res.status(400).send("Origin required!");
- if (!serverSpec.files || !Array.isArray(serverSpec.files))
- return res.status(400).send("Files required!");
- const authorized = await checkAuthorization(serverSpec.id, req.cairoId);
- if (!authorized) return res.sendStatus(403);
- moveServerItems(serverSpec)
- .then(() => res.sendStatus(200))
- .catch(sendError(res));
-}
diff --git a/lib/controllers/lifecycle-controller.js b/lib/controllers/lifecycle-controller.js
index 1916157..5b0105e 100644
--- a/lib/controllers/lifecycle-controller.js
+++ b/lib/controllers/lifecycle-controller.js
@@ -4,96 +4,46 @@ import {
createServerEntry,
deleteServerEntry,
getServerEntry,
- modifyServerEntry,
} from "../database/queries/server-queries.js";
-import ExpressClientError, { sendError } from "../util/ExpressClientError.js";
+import { sendError } from "../util/ExpressClientError.js";
+import {
+ startServerContainer,
+ stopServerContainer,
+} from "../k8s/server-control.js";
import { toggleServer } from "../k8s/k8s-server-control.js";
-import { checkAuthorization } from "../database/queries/server-queries.js";
-import { WARN } from "../util/logging.js";
-import modifyServerResources from "../k8s/server-modify.js";
-
-const dnsRegex = new RegExp(
- `^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$`,
-);
-
-function backupPayloadFilter(req, res) {
- const serverSpec = req.body;
- const {
- storage,
- backupHost,
- backupBucket,
- backupId,
- backupKey,
- backupInterval,
- } = serverSpec;
- // TODO: Impliment non creation time backups
- if (
- !!backupHost ||
- !!backupBucket ||
- !!backupId ||
- !!backupKey ||
- !!backupInterval
- ) {
- if (storage === 0)
- return res.status(400).send("Backups cannot be used if storage is zero!");
- // If any keys are required, all are required
- if (
- !(
- !!backupHost &&
- !!backupBucket &&
- !!backupId &&
- !!backupKey &&
- !!backupInterval
- )
- )
- return res.status(400).send("All backup keys are required!");
- if (!dnsRegex.test(backupHost))
- return res.status(400).send("Backup Host invalid!");
- }
- return "filtered";
-}
function payloadFilter(req, res) {
const serverSpec = req.body;
if (!serverSpec) return res.sendStatus(400);
- const { name, host, version, serverType, memory, extraPorts } = serverSpec;
+ const { name, host, version, serverType, difficulty, gamemode, memory } =
+ serverSpec;
if (!name) return res.status(400).send("Server name is required!");
if (!host) return res.status(400).send("Server host is required!");
- if (!dnsRegex.test(host)) return res.status(400).send("Hostname invalid!");
if (!version) return res.status(400).send("Server version is required!");
+ if (!difficulty)
+ return res.status(400).send("Server difficulty is required!");
if (!serverType) return res.status(400).send("Server type is required!");
+ if (!gamemode) return res.status(400).send("Server Gamemode is required!");
if (!memory) return res.status(400).send("Memory is required!");
- if (
- !!extraPorts &&
- (!Array.isArray(extraPorts) ||
- extraPorts.find((e) => typeof e !== "string" || e.length > 5))
- )
- return res
- .status(400)
- .send("Extra ports must be a list of strings with length of 5!");
- if (host !== host.toLowerCase())
- WARN("CREATE", "Host automatically being lowercasified...");
- req.body.host = host.toLowerCase();
+ req.body.name = req.body.name.toLowerCase();
return "filtered";
}
-async function checkServerId(cairoId, serverSpec) {
+function checkServerName(serverSpec) {
if (!serverSpec) throw new ExpressClientError({ c: 400 });
- if (!serverSpec.id)
- throw new ExpressClientError({ c: 400, m: "Server id missing!" });
- const authorized = await checkAuthorization(serverSpec.id, cairoId);
- if (!authorized)
- throw new ExpressClientError({ c: 403, m: "Access forbidden!" });
+ if (!serverSpec.name)
+ throw new ExpressClientError({ c: 400, m: "Server name required!" });
}
export async function createServer(req, res) {
if (payloadFilter(req, res) !== "filtered") return;
- if (backupPayloadFilter(req, res) !== "filtered") return;
const serverSpec = req.body;
try {
- const serverEntry = await createServerEntry(req.cairoId, serverSpec);
- await createServerResources(serverEntry);
- res.json(serverEntry);
+ const serverSpecs = await getServerEntry(serverSpec.name);
+ if (serverSpecs.length !== 0) throw Error("Server already exists in DB!");
+ await createServerResources(serverSpec);
+ await createServerEntry(serverSpec);
+ res.sendStatus(200);
} catch (e) {
sendError(res)(e);
}
@@ -103,11 +53,11 @@ export async function deleteServer(req, res) {
// Ensure spec is safe
const serverSpec = req.body;
try {
- await checkServerId(req.cairoId, serverSpec);
+ checkServerName(serverSpec);
} catch (e) {
return sendError(res)(e);
}
- const deleteEntry = deleteServerEntry(serverSpec.id);
+ const deleteEntry = deleteServerEntry(serverSpec.name);
const deleteResources = deleteServerResources(serverSpec);
Promise.all([deleteEntry, deleteResources])
.then(() => res.sendStatus(200))
@@ -118,12 +68,12 @@ export async function startServer(req, res) {
// Ensure spec is safe
const serverSpec = req.body;
try {
- await checkServerId(req.cairoId, serverSpec);
+ checkServerName(serverSpec);
} catch (e) {
return sendError(res)(e);
}
- const { id } = serverSpec;
- toggleServer(id, true)
+ const { name } = serverSpec;
+ toggleServer(name, true)
.then(() => res.sendStatus(200))
.catch(sendError(res));
}
@@ -132,48 +82,12 @@ export async function stopServer(req, res) {
// Ensure spec is safe
const serverSpec = req.body;
try {
- await checkServerId(req.cairoId, serverSpec);
+ checkServerName(serverSpec);
} catch (e) {
return sendError(res)(e);
}
- const { id } = serverSpec;
- toggleServer(id, false)
+ const { name } = serverSpec;
+ toggleServer(name, false)
.then(() => res.sendStatus(200))
.catch(sendError(res));
}
-
-export async function getServer(req, res) {
- // Ensure spec is safe
- const serverSpec = req.body;
- try {
- await checkServerId(req.cairoId, serverSpec);
- } catch (e) {
- return sendError(res)(e);
- }
- const { id } = serverSpec;
- getServerEntry(id).then((s) => {
- delete s.backupKey; // Do not let this ever get to an API client
- s.backupBucket = s.backupPath;
- delete s.backupPath;
- delete s.backupId; // Do not let this ever get to an API client
- res.json(s);
- });
-}
-
-export async function modifyServer(req, res) {
- if (payloadFilter(req, res) !== "filtered") return;
- const serverSpec = req.body;
- if (!!serverSpec.host)
- WARN(
- "MODIFY",
- "Warning, hostname changing is not implimented yet! Please ask the developer if you'd like to see this added!",
- );
- try {
- await checkServerId(req.cairoId, serverSpec);
- const serverEntry = await modifyServerEntry(serverSpec);
- await modifyServerResources(serverEntry);
- res.sendStatus(200);
- } catch (e) {
- sendError(res)(e);
- }
-}
diff --git a/lib/controllers/s3-controller.js b/lib/controllers/s3-controller.js
deleted file mode 100644
index 43c6f7d..0000000
--- a/lib/controllers/s3-controller.js
+++ /dev/null
@@ -1,84 +0,0 @@
-import { S3, GetObjectCommand } from "@aws-sdk/client-s3";
-import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
-import { basename } from "node:path";
-import { getServerEntry } from "../database/queries/server-queries.js";
-import { ERR } from "../util/logging.js";
-import { checkAuthorization } from "../database/queries/server-queries.js";
-const s3Region = "us-east-1";
-
-async function getS3BackupData(serverId) {
- const serverEntry = await getServerEntry(serverId);
- if (!serverEntry?.backupHost) return undefined;
- const s3Config = {
- credentials: {
- accessKeyId: serverEntry.backupId,
- secretAccessKey: serverEntry.backupKey,
- },
- endpoint: `https://${serverEntry.backupHost}`,
- forcePathStyle: true,
- region: s3Region,
- };
- const pathParts = serverEntry.backupPath.split("/");
- if (pathParts[0] === "") pathParts.shift();
- const bucket = pathParts.shift();
- const backupPrefix = pathParts.join("/");
- return { s3Config, bucket, backupPrefix };
-}
-
-export async function listS3Backups(req, res) {
- const serverSpec = req.body;
- if (!serverSpec.id) return res.status(400).send("Server id missing!");
- const authorized = await checkAuthorization(serverSpec.id, req.cairoId);
- if (!authorized)
- return res
- .status(403)
- .send("You do not have permission to access that server!");
- const s3Data = await getS3BackupData(serverSpec.id);
- if (!s3Data) return res.status(409).send("Backup not configured!");
- const { s3Config, bucket, backupPrefix } = s3Data;
- const s3Client = new S3(s3Config);
- try {
- const listResponse = await s3Client.listObjectsV2({
- Bucket: bucket,
- Prefix: backupPrefix,
- });
- const files =
- listResponse.Contents?.map((f) => ({
- name: basename(f.Key),
- lastModified: f.LastModified,
- path: f.Key,
- size: f.Size,
- })) ?? [];
- res.json(files);
- } catch (e) {
- ERR("S3", e);
- res.sendStatus(500);
- }
-}
-
-export async function getS3BackupUrl(req, res) {
- const serverSpec = req.body;
- if (!serverSpec.id) return res.status(400).send("Server id missing!");
- if (!serverSpec.backupPath)
- return res.status(400).send("Backup path missing!");
- const authorized = await checkAuthorization(serverSpec.id, req.cairoId);
- if (!authorized)
- return res
- .status(403)
- .send("You do not have permission to access that server!");
- const s3Data = await getS3BackupData(serverSpec.id);
- if (!s3Data) return res.status(409).send("Backup not configured!");
- const { s3Config, bucket } = s3Data;
- const s3Client = new S3(s3Config);
- try {
- const command = new GetObjectCommand({
- Bucket: bucket,
- Key: serverSpec.backupPath,
- });
- const url = await getSignedUrl(s3Client, command, { expiresIn: 3600 });
- res.json({ url });
- } catch (e) {
- ERR("S3", e);
- res.sendStatus(500);
- }
-}
diff --git a/lib/controllers/status-controller.js b/lib/controllers/status-controller.js
index a36a53b..b2fa8b7 100644
--- a/lib/controllers/status-controller.js
+++ b/lib/controllers/status-controller.js
@@ -1,18 +1,18 @@
-import { getUserDeployments } from "../k8s/k8s-server-control.js";
-import { getInstances } from "../k8s/server-status.js";
+import { getDeployments } from "../k8s/k8s-server-control.js";
+import { getInstances } from "../k8s/server-control.js";
import { sendError } from "../util/ExpressClientError.js";
export function serverList(req, res) {
- getUserDeployments(req.cairoId)
+ getDeployments()
.then((sd) => res.json(sd.map((s) => s.metadata.name.substring(4))))
.catch((e) => {
- ERR("STATUS CONTROLLER", e);
+ ERR("SERVER CONTROL", e);
res.status(500).send("Couldn't get server list");
});
}
export function serverInstances(req, res) {
- getInstances(req.cairoId)
+ getInstances()
.then((i) => res.json(i))
.catch(sendError(res));
}
diff --git a/lib/controllers/sub-controllers/console-controller.js b/lib/controllers/sub-controllers/console-controller.js
index b272f03..40cf777 100644
--- a/lib/controllers/sub-controllers/console-controller.js
+++ b/lib/controllers/sub-controllers/console-controller.js
@@ -3,18 +3,17 @@ import k8s from "@kubernetes/client-node";
import { Rcon as RconClient } from "rcon-client";
import stream from "stream";
import { ERR, WARN } from "../../util/logging.js";
-import { getServerEntry } from "../../database/queries/server-queries.js";
-import kc from "../../k8s/k8s-config.js";
-// Kubernetes Configuration
+// Kubernetes Configuration
+const kc = new k8s.KubeConfig();
+kc.loadFromDefault();
const k8sCore = kc.makeApiClient(k8s.CoreV1Api);
const namespace = process.env.MCL_SERVER_NAMESPACE;
// Retrieves logs from the minecraft server container
export async function webConsoleLogs(socket) {
- const { serverId } = socket.mcs;
- const server = await getServerEntry(serverId);
- const podName = `mcl-${server.mclName}`;
+ const { serverName } = socket.mcs;
+ const podName = `mcl-${serverName}`;
const containerName = `${podName}-server`;
const podResponse = await k8sCore.listNamespacedPod(namespace);
const pods = podResponse.body.items.map((vp1) => vp1.metadata.name);
@@ -26,13 +25,9 @@ export async function webConsoleLogs(socket) {
const log = new k8s.Log(kc);
const logStream = new stream.PassThrough();
- var logstreamBuffer = "";
- logStream.on("data", (chunk) => {
- const bufferString = Buffer.from(chunk).toString();
- if (!bufferString.includes("\n")) return (logstreamBuffer += bufferString);
- const clientChunks = `${logstreamBuffer}${bufferString}`.split("\n");
- for (var c of clientChunks) socket.emit("push", c);
- });
+ logStream.on("data", (chunk) =>
+ socket.emit("push", Buffer.from(chunk).toString()),
+ );
log
.log(namespace, mcsPods[0], containerName, logStream, {
follow: true,
@@ -46,15 +41,14 @@ export async function webConsoleLogs(socket) {
export async function webConsoleRcon(socket) {
if (socket.rconClient)
return VERB("RCON", "Socket already connected to RCON");
- const { serverId } = socket.mcs;
- const server = await getServerEntry(serverId);
- const rconSecret = `mcl-${server.mclName}-rcon-secret`;
+ const rconSecret = `mcl-${socket.mcs.serverName}-rcon-secret`;
const rconRes = await k8sCore.readNamespacedSecret(rconSecret, namespace);
const rconPassword = Buffer.from(
rconRes.body.data["rcon-password"],
"base64",
).toString("utf8");
- const rconHost = `mcl-${server.mclName}-rcon.${namespace}.svc.cluster.local`;
+ const { serverName } = socket.mcs;
+ const rconHost = `mcl-${serverName}-rcon.${namespace}.svc.cluster.local`;
const rcon = new RconClient({
host: rconHost,
port: 25575,
@@ -64,7 +58,7 @@ export async function webConsoleRcon(socket) {
try {
await rcon.connect();
} catch (error) {
- socket.emit("rcon-error", "Could not connect RCON Input to server!");
+ socket.emit("push", "Could not connect RCON Input to server!");
WARN("RCON", `Could not connect to '${rconHost}'`);
}
socket.rconClient = rcon;
diff --git a/lib/database/migrations/1_create_servers_table.sql b/lib/database/migrations/1_create_servers_table.sql
index 6386fc5..5306630 100644
--- a/lib/database/migrations/1_create_servers_table.sql
+++ b/lib/database/migrations/1_create_servers_table.sql
@@ -1,21 +1,12 @@
CREATE SEQUENCE servers_id_seq;
CREATE TABLE servers (
id bigint NOT NULL DEFAULT nextval('servers_id_seq') PRIMARY KEY,
- owner_cairo_id varchar(63),
- host varchar(255) DEFAULT NULL,
name varchar(255) DEFAULT NULL,
+ host varchar(255) DEFAULT NULL,
version varchar(63) DEFAULT 'latest',
server_type varchar(63) DEFAULT 'VANILLA',
- cpu varchar(63) DEFAULT '500',
memory varchar(63) DEFAULT '512',
- storage varchar(63) DEFAULT NULL,
- backup_enabled BOOLEAN DEFAULT FALSE,
- backup_host varchar(255) DEFAULT NULL,
- backup_bucket_path varchar(255) DEFAULT NULL,
- backup_id varchar(255) DEFAULT NULL,
- backup_key varchar(255) DEFAULT NULL,
- backup_interval varchar(255) DEFAULT NULL,
- extra_ports varchar(7)[] DEFAULT NULL,
+ CONSTRAINT unique_name UNIQUE(name),
CONSTRAINT unique_host UNIQUE(host)
);
ALTER SEQUENCE servers_id_seq OWNED BY servers.id;
\ No newline at end of file
diff --git a/lib/database/postgres.js b/lib/database/postgres.js
index 452b53c..eb2a037 100644
--- a/lib/database/postgres.js
+++ b/lib/database/postgres.js
@@ -11,7 +11,7 @@ const {
MCL_POSTGRES_DATABASE: database,
MCL_POSTGRES_ENABLED: pgEnabled,
MCL_POSTGRES_HOST: host,
- MCL_POSTGRES_PASS: password,
+ MCL_POSTGRES_PASSWORD: password,
MCL_POSTGRES_PORT: port,
MCL_POSTGRES_USER: user,
} = process.env;
diff --git a/lib/database/queries/server-queries.js b/lib/database/queries/server-queries.js
index 59dea89..d8baa8f 100644
--- a/lib/database/queries/server-queries.js
+++ b/lib/database/queries/server-queries.js
@@ -1,10 +1,5 @@
import pg from "../postgres.js";
-import {
- deleteQuery,
- insertQuery,
- selectWhereAllQuery,
- updateWhereAllQuery,
-} from "../pg-query.js";
+import { deleteQuery, insertQuery, selectWhereQuery } from "../pg-query.js";
import ExpressClientError from "../../util/ExpressClientError.js";
const table = "servers";
@@ -12,241 +7,35 @@ const asExpressClientError = (e) => {
throw new ExpressClientError({ m: e.message, c: 409 });
};
-const getMclName = (host, id) =>
- `${host.toLowerCase().replaceAll(".", "-")}-${id}`;
-
-export async function checkAuthorization(serverId, cairoId) {
- console.log(
- `Checking Authorization for user ${cairoId} for serverId ${serverId}`,
- );
- if (!cairoId) return false;
- const q = selectWhereAllQuery(table, {
- id: serverId,
- owner_cairo_id: cairoId,
- });
- return (await pg.query(q)).length === 1;
-}
-
-export async function createServerEntry(cairoId, serverSpec) {
- const {
- name,
- host,
- version,
- serverType: server_type,
- cpu, // TODO: Ignored for now by the K8S manifests
- memory,
- storage: storage_val,
- extraPorts: extra_ports,
- backupHost: backup_host,
- backupBucket: backup_bucket_path,
- backupId: backup_id,
- backupKey: backup_key,
- backupInterval: backup_interval,
- } = serverSpec;
-
- var q = insertQuery(table, {
- name,
- owner_cairo_id: cairoId,
- host,
- version,
- server_type,
- cpu, // TODO: Ignored for now by the K8S manifests
- memory,
- storage: !storage_val || storage_val === "0" ? null : storage_val, // 0, undefined, null, or "0" becomes null
- extra_ports,
- backup_enabled: !!backup_interval ? true : null, // We already verified the payload, so any backup key will work
- backup_host,
- backup_bucket_path,
- backup_id,
- backup_key,
- backup_interval,
- });
- q += "\n RETURNING *";
- try {
- const entries = await pg.query(q);
- const {
- id,
- owner_cairo_id: ownerCairoId,
- name,
- host,
- version,
- server_type: serverType,
- cpu, // TODO: Ignored for now by the K8S manifests
- memory,
- storage,
- extra_ports: extraPorts,
- backup_enabled: backupEnabled,
- backup_host: backupHost,
- backup_bucket_path: backupPath,
- backup_id: backupId,
- backup_key: backupKey,
- backup_interval: backupInterval,
- } = entries[0];
- const mclName = getMclName(host, id);
- return {
- name,
- mclName,
- id,
- ownerCairoId,
- host,
- version,
- serverType,
- cpu, // TODO: Ignored for now by the K8S manifests
- memory,
- storage,
- extraPorts,
- backupEnabled,
- backupHost,
- backupPath,
- backupId,
- backupKey,
- backupInterval,
- };
- } catch (e) {
- asExpressClientError(e);
- }
-}
-
-export async function deleteServerEntry(serverId) {
- if (!serverId) asExpressClientError({ message: "Server ID Required!" });
- const q = deleteQuery(table, { id: serverId });
+export async function createServerEntry(serverSpec) {
+ const { name, host, version, serverType: server_type, memory } = serverSpec;
+ const q = insertQuery(table, { name, host, version, server_type, memory });
return pg.query(q).catch(asExpressClientError);
}
-export async function getServerEntry(serverId) {
- if (!serverId) asExpressClientError({ message: "Server ID Required!" });
- const q = selectWhereAllQuery(table, { id: serverId });
+export async function deleteServerEntry(serverName) {
+ if (!serverName) asExpressClientError({ message: "Server Name Required!" });
+ const q = deleteQuery(table, { name: serverName });
+ return pg.query(q).catch(asExpressClientError);
+}
+
+export async function getServerEntry(serverName) {
+ if (!serverName) asExpressClientError({ message: "Server Name Required!" });
+ const q = selectWhereQuery(table, { name: serverName });
try {
const serverSpecs = await pg.query(q);
if (serverSpecs.length === 0) return [];
if (!serverSpecs.length === 1)
throw Error("Multiple servers found with the same name!");
const {
- id,
- owner_cairo_id: ownerCairoId,
name,
host,
version,
server_type: serverType,
- cpu, // TODO: Ignored for now by the K8S manifests
memory,
- storage,
- extra_ports: extraPorts,
- backup_enabled: backupEnabled,
- backup_host: backupHost,
- backup_bucket_path: backupPath,
- backup_id: backupId,
- backup_key: backupKey,
- backup_interval: backupInterval,
} = serverSpecs[0];
- const mclName = getMclName(host, id);
- return {
- name,
- mclName,
- id,
- ownerCairoId,
- host,
- version,
- serverType,
- cpu, // TODO: Ignored for now by the K8S manifests
- memory,
- storage,
- extraPorts,
- backupEnabled,
- backupHost,
- backupPath,
- backupId,
- backupKey,
- backupInterval,
- };
+ return { name, host, version, serverType, memory };
} catch (e) {
asExpressClientError(e);
}
}
-
-export async function modifyServerEntry(serverSpec) {
- const {
- id,
- // ownerCairoId: owner_cairo_id, // DIsabled! If these becomes a reqest, please create a new function!
- name,
- // host, // TODO: Can only be updated if service name is generic and non descriptive
- version,
- serverType: server_type,
- cpu, // TODO: Ignored for now by the K8S manifests
- memory,
- // storage, // DO NOT INCLUDE THIS KEY, Not all storage providers in kubernetes allow for dynamically resizable PVCs
- extraPorts: extra_ports,
- backupEnabled: backup_enabled,
- backupHost: backup_host,
- backupBucket: backup_bucket_path,
- backupId: backup_id,
- backupKey: backup_key,
- backupInterval: backup_interval,
- } = serverSpec;
-
- const q =
- updateWhereAllQuery(
- table,
- {
- name,
- // host, // TODO: Can only be updated if service name is generic and non descriptive
- version,
- server_type,
- cpu, // TODO: Ignored for now by the K8S manifests
- memory,
- // storage, // DO NOT INCLUDE THIS KEY, Not all storage providers in kubernetes allow for dynamically resizable PVCs
- extra_ports,
- backup_enabled,
- backup_host,
- backup_bucket_path,
- backup_id,
- backup_key,
- backup_interval,
- },
- { id },
- ) + ` RETURNING *;`;
- try {
- const entries = await pg.query(q);
- const {
- name,
- host, // Should always read the database value
- server_type: serverType,
- storage,
- extra_ports: extraPorts,
- backup_enabled: backupEnabled,
- backup_host: backupHost,
- backup_bucket_path: backupPath,
- backup_id: backupId,
- backup_key: backupKey,
- backup_interval: backupInterval,
- } = entries[0];
-
- const mclName = getMclName(host, id);
-
- return {
- name, // Could change
- mclName, // Shouldn't change
- id, // Won't change
- host, // TODO: Can only be updated if service name is generic and non descriptive, this returns the host from the database
- version,
- serverType,
- cpu, // TODO: Ignored for now by the K8S manifests
- memory,
- storage,
- extraPorts,
- backupEnabled,
- backupHost,
- backupPath,
- backupId,
- backupKey,
- backupInterval,
- };
- } catch (e) {
- asExpressClientError(e);
- }
-}
-
-export async function getServerEntries() {
- const q = `SELECT * FROM ${table}`;
- return pg.query(q);
-}
diff --git a/lib/k8s/configs/backup-secret.yml b/lib/k8s/configs/backup-secret.yml
deleted file mode 100644
index eae59e3..0000000
--- a/lib/k8s/configs/backup-secret.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-apiVersion: v1
-kind: Secret
-metadata:
- annotations:
- minecluster.dunemask.net/id: changeme-server-id
- labels:
- app: changeme-app-label
- name: changeme-backup-secret
-type: Opaque
-data:
- rclone.conf: ""
diff --git a/lib/k8s/configs/containers/ftp-server.yml b/lib/k8s/configs/containers/ftp-server.yml
index 3544592..759bc20 100644
--- a/lib/k8s/configs/containers/ftp-server.yml
+++ b/lib/k8s/configs/containers/ftp-server.yml
@@ -6,21 +6,23 @@ env:
image: garethflowers/ftp-server
imagePullPolicy: IfNotPresent
livenessProbe:
- exec: { command: ["/bin/sh", "-c", "netstat -a | grep -q ftp"] }
- failureThreshold: 20
- initialDelaySeconds: 0
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
+exec:
+ command: ["echo"]
+failureThreshold: 20
+initialDelaySeconds: 30
+periodSeconds: 5
+successThreshold: 1
+timeoutSeconds: 1
name: changeme-name-ftp
ports: [] # Programatically add all the ports for easier readability, Ports include: 20,21,40000-400009
readinessProbe:
- exec: { command: ["/bin/sh", "-c", "netstat -a | grep -q ftp"] }
- failureThreshold: 20
- initialDelaySeconds: 0
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
+ exec:
+ command: ["echo"]
+ failureThreshold: 20
+ initialDelaySeconds: 30
+ periodSeconds: 5
+ successThreshold: 1
+ timeoutSeconds: 1
resources:
requests:
cpu: 50m
diff --git a/lib/k8s/configs/containers/minecraft-backup.yml b/lib/k8s/configs/containers/minecraft-backup.yml
index 3caeae8..074025a 100644
--- a/lib/k8s/configs/containers/minecraft-backup.yml
+++ b/lib/k8s/configs/containers/minecraft-backup.yml
@@ -33,20 +33,20 @@ env:
- name: DEST_DIR
value: /backups
- name: LINK_LATEST
- value: "true"
+ value: "false"
- name: TAR_COMPRESS_METHOD
value: gzip
- name: ZSTD_PARAMETERS
value: -3 --long=25 --single-thread
- name: RCLONE_REMOTE
- value: mcl-backup-changeme
+ value: mc-dunemask-net
- name: RCLONE_DEST_DIR
- value: /mcl/backups/changeme
+ value: /minecraft-backups/deltasmp-backups
- name: RCLONE_COMPRESS_METHOD
value: gzip
image: itzg/mc-backup:latest
imagePullPolicy: IfNotPresent
-name: mcl-backup-changeme
+name: mcs-deltasmp-minecraft-mc-backup
resources:
requests:
cpu: 500m
diff --git a/lib/k8s/configs/containers/minecraft-server.yml b/lib/k8s/configs/containers/minecraft-server.yml
index 56e9b1b..4034e36 100644
--- a/lib/k8s/configs/containers/minecraft-server.yml
+++ b/lib/k8s/configs/containers/minecraft-server.yml
@@ -72,10 +72,12 @@ env:
image: itzg/minecraft-server:latest
imagePullPolicy: IfNotPresent
livenessProbe:
- exec: { command: [mc-health] }
- failureThreshold: 200
+ exec:
+ command:
+ - mc-health
+ failureThreshold: 20
initialDelaySeconds: 30
- periodSeconds: 3
+ periodSeconds: 5
successThreshold: 1
timeoutSeconds: 1
name: changeme-name-server
@@ -86,13 +88,15 @@ ports:
- containerPort: 25575
name: rcon
protocol: TCP
-# readinessProbe: # Disabling this allows for users to manipulate files even if the container is starting
-# exec: {command: [mc-health]}
-# failureThreshold: 200
-# initialDelaySeconds: 30
-# periodSeconds: 3
-# successThreshold: 1
-# timeoutSeconds: 1
+readinessProbe:
+ exec:
+ command:
+ - mc-health
+ failureThreshold: 20
+ initialDelaySeconds: 30
+ periodSeconds: 5
+ successThreshold: 1
+ timeoutSeconds: 1
resources:
requests:
cpu: 500m
diff --git a/lib/k8s/configs/extra-svc.yml b/lib/k8s/configs/extra-svc.yml
deleted file mode 100644
index dee717f..0000000
--- a/lib/k8s/configs/extra-svc.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
- annotations:
- minecluster.dunemask.net/id: changeme-server-id
- labels:
- app: changeme-app
- name: changeme-extra
- namespace: changeme-namespace
-spec:
- internalTrafficPolicy: Cluster
- ipFamilies:
- - IPv4
- ipFamilyPolicy: SingleStack
- # ports: Programatically generated
- # - name: port-name
- # port: 1234
- # protocol: TCP
- # targetPort: port-name
- selector:
- app: changeme-app
- sessionAffinity: None
- type: LoadBalancer
diff --git a/lib/k8s/configs/rcon-secret.yml b/lib/k8s/configs/rcon-secret.yml
index a90c319..ff52e1a 100644
--- a/lib/k8s/configs/rcon-secret.yml
+++ b/lib/k8s/configs/rcon-secret.yml
@@ -4,7 +4,7 @@ data:
kind: Secret
metadata:
annotations:
- minecluster.dunemask.net/id: changeme-server-id
+ minecluster.dunemask.net/server-name: changeme-server-name
labels:
app: changeme-app-label
name: changeme-rcon-secret
diff --git a/lib/k8s/configs/rcon-svc.yml b/lib/k8s/configs/rcon-svc.yml
index 49a7089..9a68813 100644
--- a/lib/k8s/configs/rcon-svc.yml
+++ b/lib/k8s/configs/rcon-svc.yml
@@ -2,7 +2,7 @@ apiVersion: v1
kind: Service
metadata:
annotations:
- minecluster.dunemask.net/id: changeme-server-id
+ minecluster.dunemask.net/server-name: changeme-server-name
labels:
app: changeme-app
name: changeme-rcon
diff --git a/lib/k8s/configs/server-deployment.yml b/lib/k8s/configs/server-deployment.yml
index 0acd0cf..0d5d335 100644
--- a/lib/k8s/configs/server-deployment.yml
+++ b/lib/k8s/configs/server-deployment.yml
@@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
- minecluster.dunemask.net/id: changeme-server-id
+ minecluster.dunemask.net/server-name: changeme-server-name
name: changeme-name
namespace: changeme-namespace
spec:
@@ -17,7 +17,7 @@ spec:
template:
metadata:
annotations:
- minecluster.dunemask.net/id: changeme-server-id
+ minecluster.dunemask.net/server-name: changeme-server-name
labels:
app: changeme-app
spec:
@@ -30,17 +30,15 @@ spec:
# runAsUser: 1000
terminationGracePeriodSeconds: 30
volumes:
- - emptyDir: {}
- name: datadir
+ - name: datadir
+ persistentVolumeClaim:
+ claimName: changeme-pvc-name
- emptyDir: {}
name: backupdir
- # - name: datadir
- # persistentVolumeClaim:
- # claimName: changeme-pvc-name
- # - name: rclone-config
- # secret:
- # defaultMode: 420
- # items:
- # - key: rclone.conf
- # path: rclone.conf
- # secretName: rclone-config
+ - name: rclone-config
+ secret:
+ defaultMode: 420
+ items:
+ - key: rclone.conf
+ path: rclone.conf
+ secretName: rclone-config
diff --git a/lib/k8s/configs/server-pvc.yml b/lib/k8s/configs/server-pvc.yml
index bf21ea4..f502e8a 100644
--- a/lib/k8s/configs/server-pvc.yml
+++ b/lib/k8s/configs/server-pvc.yml
@@ -2,7 +2,7 @@ apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
- minecluster.dunemask.net/id: changeme-server-id
+ minecluster.dunemask.net/server-name: changeme-server-name
labels:
service: changeme-service-name
name: changeme-pvc-name
diff --git a/lib/k8s/configs/server-svc.yml b/lib/k8s/configs/server-svc.yml
index a6f520e..c7e7fa2 100644
--- a/lib/k8s/configs/server-svc.yml
+++ b/lib/k8s/configs/server-svc.yml
@@ -4,13 +4,15 @@ metadata:
annotations:
ingress.qumine.io/hostname: changeme-url
ingress.qumine.io/portname: minecraft
- minecluster.dunemask.net/id: changeme-server-id
+ minecluster.dunemask.net/server-name: changeme-server-name
labels:
app: changeme-app
name: changeme-name
namespace: changeme-namespace
spec:
internalTrafficPolicy: Cluster
+ ipFamilies:
+ - IPv4
ipFamilyPolicy: SingleStack
ports: # Programatically add all FTP ports. Port range includes 20, 21, 40000-40001
- name: minecraft
diff --git a/lib/k8s/k8s-config.js b/lib/k8s/k8s-config.js
deleted file mode 100644
index cbe55b6..0000000
--- a/lib/k8s/k8s-config.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import k8s from "@kubernetes/client-node";
-const MCL_KUBECONFIG = process.env.MCL_KUBECONFIG;
-const envConfig = MCL_KUBECONFIG ? MCL_KUBECONFIG : null;
-const kc = new k8s.KubeConfig();
-try {
- if (!!envConfig)
- kc.loadFromString(Buffer.from(envConfig, "base64").toString("utf8"));
- else kc.loadFromDefault();
-} catch (e) {
- kc.loadFromDefault();
-}
-if(kc.contexts.length === 1) kc.setCurrentContext(kc.contexts[0].name);
-if(!kc.currentContext) throw new Error("Could not infer current context! Please set it manually in the Kubeconfig!");
-export default kc;
diff --git a/lib/k8s/k8s-server-control.js b/lib/k8s/k8s-server-control.js
index c708328..4e5233d 100644
--- a/lib/k8s/k8s-server-control.js
+++ b/lib/k8s/k8s-server-control.js
@@ -7,8 +7,8 @@ import {
getCoreServerContainer,
getBackupContainer,
} from "./server-containers.js";
-import { checkAuthorization } from "../database/queries/server-queries.js";
-import kc from "./k8s-config.js";
+const kc = new k8s.KubeConfig();
+kc.loadFromDefault();
const k8sDeps = kc.makeApiClient(k8s.AppsV1Api);
const k8sCore = kc.makeApiClient(k8s.CoreV1Api);
@@ -20,24 +20,10 @@ const loadYaml = (f) => yaml.load(fs.readFileSync(path.resolve(f), "utf8"));
const mineclusterManaged = (o) =>
o.metadata &&
o.metadata.annotations &&
- o.metadata.annotations["minecluster.dunemask.net/id"] !== undefined;
+ o.metadata.annotations["minecluster.dunemask.net/server-name"] !== undefined;
-export const serverMatch = (serverId) => (o) =>
- o.metadata.annotations["minecluster.dunemask.net/id"] === serverId;
-
-export const cairoMatch = (cairoId) => (o) =>
- checkAuthorization(
- o.metadata.annotations["minecluster.dunemask.net/id"],
- cairoId,
- );
-
-export async function getUserDeployments(cairoId) {
- const authFIlter = cairoMatch(cairoId);
- const allDeployments = await getDeployments();
- const authChecks = allDeployments.map(authFIlter);
- const authorizations = await Promise.all(authChecks);
- return allDeployments.filter((_d, i) => authorizations[i]);
-}
+export const serverMatch = (serverName) => (o) =>
+ o.metadata.annotations["minecluster.dunemask.net/server-name"] === serverName;
export async function getDeployments() {
const deploymentRes = await k8sDeps.listNamespacedDeployment(namespace);
@@ -64,8 +50,8 @@ export async function getVolumes() {
return serverVolumes;
}
-export function getServerAssets(serverId) {
- const serverFilter = serverMatch(serverId);
+export function getServerAssets(serverName) {
+ const serverFilter = serverMatch(serverName);
return Promise.all([
getDeployments(),
getServices(),
@@ -80,19 +66,17 @@ export function getServerAssets(serverId) {
if (deployments.length > 1) throw Error("Deployment filter broken!");
if (volumes.length > 1) throw Error("Volume filter broken!");
- if (secrets.length > 2) throw Error("Secrets broken!");
+ if (secrets.length > 1) throw Error("Secrets broken!");
const serverAssets = {
deployment: deployments[0],
- service: services.find((s) => s.metadata.name.endsWith("-server")),
+ service: services.find(
+ (s) => s.metadata.name === `mcl-${serverName}-server`,
+ ),
volume: volumes[0],
- rconService: services.find((s) => s.metadata.name.endsWith("-rcon")),
- rconSecret: secrets.find((s) =>
- s.metadata.name.endsWith("-rcon-secret"),
+ rconService: services.find(
+ (s) => s.metadata.name === `mcl-${serverName}-rcon`,
),
- backupSecret: secrets.find((s) =>
- s.metadata.name.endsWith("-backup-secret"),
- ),
- extraService: services.find((s) => s.metadata.name.endsWith("-extra")),
+ rconSecret: secrets[0],
};
for (var k in serverAssets) if (serverAssets[k]) return serverAssets;
// If no assets exist, return nothing
@@ -100,51 +84,59 @@ export function getServerAssets(serverId) {
.catch((e) => ERR("SERVER ASSETS", e));
}
-export async function getDeployment(serverId) {
+export async function getDeployment(serverName) {
const servers = await getDeployments();
const serverDeployment = servers.find(
- (s) => s.metadata.annotations["minecluster.dunemask.net/id"] === serverId,
+ (s) =>
+ s.metadata.annotations["minecluster.dunemask.net/server-name"] ===
+ serverName,
);
if (!serverDeployment)
- throw Error(`MCL Deployment with ID '${serverId}' could not be found!`);
+ throw Error(`MCL Deployment '${serverName}' could not be found!`);
return serverDeployment;
}
-export async function getContainers(serverId) {
- const deployment = await getDeployment(serverId);
+export async function getContainers(serverName) {
+ const deployment = await getDeployment(serverName);
return deployment.spec.template.spec.containers;
}
-async function containerControl(serverSpec, deployment, scaleUp) {
+async function containerControl(serverName, deployment, scaleUp) {
const { containers } = deployment.spec.template.spec;
const depFtp = containers.find((c) => c.name.endsWith("-ftp"));
const depServer = containers.find((c) => c.name.endsWith("-server"));
const depBackup = containers.find((c) => c.name.endsWith("-backup"));
+ const serverSpec = await getServerEntry(serverName);
const ftpContainer = depFtp ?? getFtpContainer(serverSpec);
const serverContainer = depServer ?? getCoreServerContainer(serverSpec);
const backupContainer = depBackup ?? getBackupContainer(serverSpec);
- if (scaleUp && serverSpec.backupEnabled)
- return [ftpContainer, serverContainer, backupContainer];
- else if (scaleUp) return [ftpContainer, serverContainer];
+ if (scaleUp) return [ftpContainer, serverContainer];
return [ftpContainer];
}
-export function terminationControl(containers) {
- return containers.length > 1 ? 30 /*seconds*/ : 1 /*seconds */;
+export async function toggleServer(serverName, scaleUp = false) {
+ const deployment = await getDeployment(serverName);
+ deployment.spec.template.spec.containers = await containerControl(
+ serverName,
+ deployment,
+ scaleUp,
+ );
+ return k8sDeps.replaceNamespacedDeployment(
+ deployment.metadata.name,
+ namespace,
+ deployment,
+ );
}
-export async function toggleServer(serverId, scaleUp = false) {
- const [deployment, serverSpec] = await Promise.all([
- getDeployment(serverId),
- getServerEntry(serverId),
- ]);
- const containers = await containerControl(serverSpec, deployment, scaleUp);
- const ts = terminationControl(containers);
-
- // Speed up container termination if not running a server
- deployment.spec.template.spec.terminationGracePeriodSeconds = ts;
- deployment.spec.template.spec.containers = containers;
+export async function scaleDeployment(serverName, scaleUp = false) {
+ const deployment = await getDeployment(serverName);
+ if (deployment.spec.replicas === 1 && scaleUp)
+ return VERB(
+ "KSC",
+ `MCL Deployment '${serverName}' is already scaled! Ignoring scale adjustment.`,
+ );
+ deployment.spec.replicas = scaleUp ? 1 : 0;
return k8sDeps.replaceNamespacedDeployment(
deployment.metadata.name,
diff --git a/lib/k8s/server-containers.js b/lib/k8s/server-containers.js
index a969c69..4694828 100644
--- a/lib/k8s/server-containers.js
+++ b/lib/k8s/server-containers.js
@@ -4,9 +4,9 @@ import yaml from "js-yaml";
const loadYaml = (f) => yaml.load(fs.readFileSync(path.resolve(f), "utf8"));
export function getFtpContainer(serverSpec) {
- const { mclName, storage } = serverSpec;
+ const { name } = serverSpec;
const ftpContainer = loadYaml("lib/k8s/configs/containers/ftp-server.yml");
- ftpContainer.name = `mcl-${mclName}-ftp`;
+ ftpContainer.name = `mcl-${name}-ftp`;
const ftpPortList = [
{ p: 20, n: "ftp-data" },
{ p: 21, n: "ftp-commands" },
@@ -18,15 +18,14 @@ export function getFtpContainer(serverSpec) {
name,
protocol: "TCP",
}));
- if (!storage) delete ftpContainer.volumeMounts;
return ftpContainer;
}
export function getCoreServerContainer(serverSpec) {
- const { mclName, version, serverType, memory, storage } = serverSpec;
+ const { name, version, serverType, memory } = serverSpec;
const container = loadYaml("lib/k8s/configs/containers/minecraft-server.yml");
// Container Updates
- container.name = `mcl-${mclName}-server`;
+ container.name = `mcl-${name}-server`;
container.resources.requests.memory = `${memory}Mi`;
const findEnv = (k) => container.env.find(({ name: n }) => n === k);
@@ -37,54 +36,32 @@ export function getCoreServerContainer(serverSpec) {
updateEnv("VERSION", version);
updateEnv("MEMORY", `${memory}M`);
// RCON
- const rs = `mcl-${mclName}-rcon-secret`;
+ const rs = `mcl-${name}-rcon-secret`;
findEnv("RCON_PASSWORD").valueFrom.secretKeyRef.name = rs;
- if (!storage) delete container.volumeMounts;
return container;
}
export function getServerContainer(serverSpec) {
- const {
- difficulty,
- gamemode,
- motd,
- maxPlayers,
- seed,
- ops,
- whitelist,
- storage,
- } = serverSpec;
+ const { difficulty, gamemode, motd, maxPlayers, seed, ops, whitelist } =
+ serverSpec;
const container = getCoreServerContainer(serverSpec);
const findEnv = (k) => container.env.find(({ name: n }) => n === k);
const updateEnv = (k, v) => (findEnv(k).value = v);
// Enviornment variables
- /*updateEnv("DIFFICULTY", difficulty);
+ updateEnv("DIFFICULTY", difficulty);
updateEnv("MODE", gamemode);
updateEnv("MOTD", motd);
updateEnv("MAX_PLAYERS", maxPlayers);
updateEnv("SEED", seed);
updateEnv("OPS", ops);
- updateEnv("WHITELIST", whitelist); */
- if (!storage) delete container.volumeMounts;
+ updateEnv("WHITELIST", whitelist);
return container;
}
export function getBackupContainer(serverSpec) {
- const { mclName, backupEnabled, backupPath, storage } = serverSpec;
const container = loadYaml("lib/k8s/configs/containers/minecraft-backup.yml");
- if (!backupEnabled) return;
- const findEnv = (k) => container.env.find(({ name: n }) => n === k);
- const updateEnv = (k, v) => (findEnv(k).value = v);
- updateEnv("RCLONE_REMOTE", `${mclName}-backup`);
- updateEnv("RCLONE_DEST_DIR", backupPath);
- container.name = `mcl-${mclName}-backup`;
- // RCON
- const rs = `mcl-${mclName}-rcon-secret`;
- findEnv("RCON_PASSWORD").valueFrom.secretKeyRef.name = rs;
- if (!storage) delete container.volumeMounts;
-
return container;
}
diff --git a/lib/k8s/server-control.js b/lib/k8s/server-control.js
new file mode 100644
index 0000000..63097e6
--- /dev/null
+++ b/lib/k8s/server-control.js
@@ -0,0 +1,86 @@
+import k8s from "@kubernetes/client-node";
+import {
+ getDeployment,
+ getDeployments,
+ getServerAssets,
+ scaleDeployment,
+} from "./k8s-server-control.js";
+import { ERR } from "../util/logging.js";
+import ExpressClientError from "../util/ExpressClientError.js";
+const kc = new k8s.KubeConfig();
+kc.loadFromDefault();
+
+const k8sMetrics = new k8s.Metrics(kc);
+const k8sDeps = kc.makeApiClient(k8s.AppsV1Api);
+const namespace = process.env.MCL_SERVER_NAMESPACE;
+
+export async function startServerContainer(serverSpec) {
+ const { name } = serverSpec;
+ try {
+ await scaleDeployment(name, true);
+ } catch (e) {
+ ERR("SERVER CONTROL", e);
+ throw new ExpressClientError({
+ c: 500,
+ m: `Error updating server '${name}'!\n`,
+ });
+ }
+}
+
+export async function stopServerContainer(serverSpec) {
+ const { name } = serverSpec;
+ try {
+ await scaleDeployment(name, false);
+ } catch (e) {
+ ERR("SERVER CONTROL", e);
+ throw new ExpressClientError({
+ c: 500,
+ m: `Error updating server '${name}'!`,
+ });
+ }
+}
+
+export async function getInstances() {
+ const serverDeployments = await getDeployments();
+ const podMetricsResponse = await k8sMetrics.getPodMetrics(namespace);
+ var name, metrics, started;
+ const serverInstances = serverDeployments.map((s) => {
+ name = s.metadata.annotations["minecluster.dunemask.net/server-name"];
+ metrics = null;
+ started = !!s.spec.template.spec.containers.find((c) =>
+ c.name.includes(`mcl-${name}-server`),
+ );
+ const pod = podMetricsResponse.items.find(({ metadata: md }) => {
+ return md.labels && md.labels.app && md.labels.app === `mcl-${name}-app`;
+ });
+ if (started && pod) {
+ const podCpus = pod.containers.map(
+ ({ usage }) => parseInt(usage.cpu) / 1_000_000,
+ );
+ const podMems = pod.containers.map(
+ ({ usage }) => parseInt(usage.memory) / 1024,
+ );
+ metrics = {
+ cpu: Math.ceil(podCpus.reduce((a, b) => a + b)),
+ memory: Math.ceil(podMems.reduce((a, b) => a + b)),
+ };
+ }
+ return { name, metrics, started };
+ });
+ return serverInstances;
+}
+
+export async function getNamespaceMetrics() {
+ const serverInstances = await getInstances();
+ var clusterMetrics = { cpu: 0, memory: 0 };
+ if (servers.length > 1) {
+ const clusterCpu = serverInstances
+ .map(({ metrics }) => (metrics ? metrics.cpu : 0))
+ .reduce((a, b) => a + b);
+ const clusterMem = serverInstances
+ .map(({ metrics }) => (metrics ? metrics.memory : 0))
+ .reduce((a, b) => a + b);
+ clusterMetrics = { cpu: clusterCpu, memory: clusterMem };
+ }
+ return clusterMetrics;
+}
diff --git a/lib/k8s/server-create.js b/lib/k8s/server-create.js
index 7d09e61..8ef2fe3 100644
--- a/lib/k8s/server-create.js
+++ b/lib/k8s/server-create.js
@@ -4,102 +4,48 @@ import k8s from "@kubernetes/client-node";
import yaml from "js-yaml";
import fs from "node:fs";
import path from "node:path";
-
+import ExpressClientError from "../util/ExpressClientError.js";
import {
getFtpContainer,
getServerContainer,
getBackupContainer,
} from "./server-containers.js";
-import kc from "./k8s-config.js";
+const kc = new k8s.KubeConfig();
+kc.loadFromDefault();
const k8sDeps = kc.makeApiClient(k8s.AppsV1Api);
const k8sCore = kc.makeApiClient(k8s.CoreV1Api);
const namespace = process.env.MCL_SERVER_NAMESPACE;
const loadYaml = (f) => yaml.load(fs.readFileSync(path.resolve(f), "utf8"));
-export function createExtraService(serverSpec) {
- const { mclName, id, extraPorts } = serverSpec;
- if (!extraPorts) return;
- const serviceYaml = loadYaml("lib/k8s/configs/extra-svc.yml");
- serviceYaml.metadata.labels.app = `mcl-${mclName}-app`;
- serviceYaml.metadata.name = `mcl-${mclName}-extra`;
- serviceYaml.metadata.namespace = namespace;
- serviceYaml.metadata.annotations["minecluster.dunemask.net/id"] = id;
- serviceYaml.spec.selector.app = `mcl-${mclName}-app`;
- // Port List:
- const portList = extraPorts.map((p) => ({
- port: parseInt(p),
- name: `mcl-extra-${p}`,
- }));
- const tcpPorts = portList.map(({ port, name }) => ({
- port,
- name: `${name}-tcp`,
- protocol: "TCP",
- targetPort: port,
- }));
- const udpPorts = portList.map(({ port, name }) => ({
- port,
- name: `${name}-udp`,
- protocol: "UDP",
- targetPort: port,
- }));
-
- serviceYaml.spec.ports = [...tcpPorts, ...udpPorts];
- return serviceYaml;
-}
-
-export function createBackupSecret(serverSpec) {
- if (!serverSpec.backupEnabled) return; // If backup not defined, don't create RCLONE secret
- const { mclName, id, backupId, backupKey, backupHost } = serverSpec;
- const backupYaml = loadYaml("lib/k8s/configs/backup-secret.yml");
- backupYaml.metadata.labels.app = `mcl-${mclName}-app`;
- backupYaml.metadata.name = `mcl-${mclName}-backup-secret`;
- backupYaml.metadata.namespace = namespace;
- backupYaml.metadata.annotations["minecluster.dunemask.net/id"] = id;
- const rcloneConfig = [
- `[${mclName}-backup]`,
- "type = s3",
- "provider = Minio",
- "env_auth = false",
- `access_key_id = ${backupId}`,
- `secret_access_key = ${backupKey}`,
- `endpoint = ${backupHost}`,
- `acl = private`,
- `no_check_bucket = true`,
- `no_check_container = true`,
- ].join("\n");
- backupYaml.data["rclone.conf"] = Buffer.from(rcloneConfig).toString("base64");
- return backupYaml;
-}
-
function createRconSecret(serverSpec) {
- const { mclName, id } = serverSpec;
+ const { name } = serverSpec;
const rconYaml = loadYaml("lib/k8s/configs/rcon-secret.yml");
// TODO: Dyamic rconPassword
const rconPassword = bcrypt.hashSync(uuidv4(), 10);
rconYaml.data["rcon-password"] = Buffer.from(rconPassword).toString("base64");
- rconYaml.metadata.labels.app = `mcl-${mclName}-app`;
- rconYaml.metadata.name = `mcl-${mclName}-rcon-secret`;
+ rconYaml.metadata.labels.app = `mcl-${name}-app`;
+ rconYaml.metadata.name = `mcl-${name}-rcon-secret`;
rconYaml.metadata.namespace = namespace;
- rconYaml.metadata.annotations["minecluster.dunemask.net/id"] = id;
+ rconYaml.metadata.annotations["minecluster.dunemask.net/server-name"] = name;
return rconYaml;
}
function createServerVolume(serverSpec) {
- const { mclName, id, storage } = serverSpec;
- if (!storage) return;
+ const { name } = serverSpec;
const volumeYaml = loadYaml("lib/k8s/configs/server-pvc.yml");
- volumeYaml.metadata.labels.service = `mcl-${mclName}-server`;
- volumeYaml.metadata.name = `mcl-${mclName}-volume`;
+ volumeYaml.metadata.labels.service = `mcl-${name}-server`;
+ volumeYaml.metadata.name = `mcl-${name}-volume`;
volumeYaml.metadata.namespace = namespace;
- volumeYaml.metadata.annotations["minecluster.dunemask.net/id"] = id;
- volumeYaml.spec.resources.requests.storage = `${storage}Gi`;
+ volumeYaml.metadata.annotations["minecluster.dunemask.net/server-name"] =
+ name;
+ volumeYaml.spec.resources.requests.storage = "1Gi"; // TODO: Changeme
return volumeYaml;
}
function createServerDeploy(serverSpec) {
- const { mclName, id, backupEnabled, storage } = serverSpec;
+ const { name, host } = serverSpec;
const deployYaml = loadYaml("lib/k8s/configs/server-deployment.yml");
const { metadata } = deployYaml;
const serverContainer = getServerContainer(serverSpec);
@@ -107,63 +53,39 @@ function createServerDeploy(serverSpec) {
const ftpContainer = getFtpContainer(serverSpec);
// Configure Metadata;
- metadata.name = `mcl-${mclName}`;
+ metadata.name = `mcl-${name}`;
metadata.namespace = namespace;
- metadata.annotations["minecluster.dunemask.net/id"] = id;
+ metadata.annotations["minecluster.dunemask.net/server-name"] = name;
deployYaml.metadata = metadata;
- deployYaml.spec.template.spec.terminationGracePeriodSeconds = 1;
-
// Configure Lables & Selectors
- deployYaml.spec.selector.matchLabels.app = `mcl-${mclName}-app`;
- deployYaml.spec.template.metadata.labels.app = `mcl-${mclName}-app`;
- deployYaml.spec.template.metadata.annotations["minecluster.dunemask.net/id"] =
- id;
+ deployYaml.spec.selector.matchLabels.app = `mcl-${name}-app`;
+ deployYaml.spec.template.metadata.labels.app = `mcl-${name}-app`;
// Volumes
- if (!!storage) {
- const dvi = deployYaml.spec.template.spec.volumes.findIndex(
- ({ name }) => name === "datadir",
- );
- delete deployYaml.spec.template.spec.volumes[dvi].emptyDir;
- deployYaml.spec.template.spec.volumes[dvi] = {
- ...deployYaml.spec.template.spec.volumes[dvi],
- persistentVolumeClaim: {
- claimName: `mcl-${mclName}-volume`,
- },
- };
- }
-
- // Backups
- if (backupEnabled) {
- deployYaml.spec.template.spec.volumes.push({
- name: "rclone-config",
- secret: {
- defaultMode: 420,
- items: [{ key: "rclone.conf", path: "rclone.conf" }],
- secretName: `mcl-${mclName}-backup-secret`,
- },
- });
- }
+ deployYaml.spec.template.spec.volumes.find(
+ ({ name }) => name === "datadir",
+ ).persistentVolumeClaim.claimName = `mcl-${name}-volume`;
// Apply Containers TODO: User control for autostart
- // deployYaml.spec.template.spec.containers.push(serverContainer);
+ deployYaml.spec.template.spec.containers.push(serverContainer);
deployYaml.spec.template.spec.containers.push(ftpContainer);
deployYaml.spec.replicas = 1;
return deployYaml;
}
-export function createServerService(serverSpec) {
- const { mclName, host, id } = serverSpec;
+function createServerService(serverSpec) {
+ const { name, host } = serverSpec;
const serviceYaml = loadYaml("lib/k8s/configs/server-svc.yml");
serviceYaml.metadata.annotations["ingress.qumine.io/hostname"] = host;
serviceYaml.metadata.annotations["mc-router.itzg.me/externalServerName"] =
host;
- serviceYaml.metadata.labels.app = `mcl-${mclName}-app`;
- serviceYaml.metadata.name = `mcl-${mclName}-server`;
+ serviceYaml.metadata.labels.app = `mcl-${name}-app`;
+ serviceYaml.metadata.name = `mcl-${name}-server`;
serviceYaml.metadata.namespace = namespace;
- serviceYaml.metadata.annotations["minecluster.dunemask.net/id"] = id;
- serviceYaml.spec.selector.app = `mcl-${mclName}-app`;
+ serviceYaml.metadata.annotations["minecluster.dunemask.net/server-name"] =
+ name;
+ serviceYaml.spec.selector.app = `mcl-${name}-app`;
// Port List:
const serverPortList = [{ p: 25565, n: "minecraft" }];
@@ -185,45 +107,35 @@ export function createServerService(serverSpec) {
return serviceYaml;
}
-function createRconService(createSpec) {
- const { id, mclName } = createSpec;
+function createRconService(serverSpec) {
+ const { name } = serverSpec;
const rconSvcYaml = loadYaml("lib/k8s/configs/rcon-svc.yml");
- rconSvcYaml.metadata.labels.app = `mcl-${mclName}-app`;
- rconSvcYaml.metadata.name = `mcl-${mclName}-rcon`;
+ rconSvcYaml.metadata.labels.app = `mcl-${name}-app`;
+ rconSvcYaml.metadata.name = `mcl-${name}-rcon`;
rconSvcYaml.metadata.namespace = namespace;
- rconSvcYaml.metadata.annotations["minecluster.dunemask.net/id"] = id;
- rconSvcYaml.spec.selector.app = `mcl-${mclName}-app`;
+ rconSvcYaml.metadata.annotations["minecluster.dunemask.net/server-name"] =
+ name;
+ rconSvcYaml.spec.selector.app = `mcl-${name}-app`;
return rconSvcYaml;
}
-export default async function createServerResources(createSpec) {
- const backupSecret = createBackupSecret(createSpec);
- const rconSecret = createRconSecret(createSpec);
- const serverVolume = createServerVolume(createSpec);
- const serverDeploy = createServerDeploy(createSpec);
- const serverService = createServerService(createSpec);
- const rconService = createRconService(createSpec);
- const extraService = createExtraService(createSpec);
- const serverResources = [];
- if (!!serverVolume)
- serverResources.push(
- k8sCore.createNamespacedPersistentVolumeClaim(namespace, serverVolume),
- );
- if (!!extraService)
- serverResources.push(
- k8sCore.createNamespacedService(namespace, extraService),
- );
- if (!!backupSecret)
- serverResources.push(
- k8sCore.createNamespacedSecret(namespace, backupSecret),
- );
- serverResources.push(k8sCore.createNamespacedSecret(namespace, rconSecret));
- serverResources.push(
- k8sCore.createNamespacedService(namespace, serverService),
- );
- serverResources.push(k8sCore.createNamespacedService(namespace, rconService));
- serverResources.push(
- k8sDeps.createNamespacedDeployment(namespace, serverDeploy),
- );
- return await Promise.all(serverResources);
+export default async function createServerResources(serverSpec) {
+ const deploymentRes = await k8sDeps.listNamespacedDeployment(namespace);
+ const deployments = deploymentRes.body.items.map((i) => i.metadata.name);
+ if (deployments.includes(`mcl-${serverSpec.name}`))
+ throw new ExpressClientError({ m: "Server already exists!", c: 409 });
+ const pvcRes = await k8sCore.listNamespacedPersistentVolumeClaim(namespace);
+ const pvcs = pvcRes.body.items.map((i) => i.metadata.name);
+ if (pvcs.includes(`mcl-${serverSpec.name}-volume`))
+ throw new ExpressClientError({ m: "Server PVC already exists!", c: 409 });
+ const rconSecret = createRconSecret(serverSpec);
+ const serverVolume = createServerVolume(serverSpec);
+ const serverDeploy = createServerDeploy(serverSpec);
+ const serverService = createServerService(serverSpec);
+ const rconService = createRconService(serverSpec);
+ k8sCore.createNamespacedPersistentVolumeClaim(namespace, serverVolume);
+ k8sCore.createNamespacedSecret(namespace, rconSecret);
+ k8sCore.createNamespacedService(namespace, serverService);
+ k8sCore.createNamespacedService(namespace, rconService);
+ k8sDeps.createNamespacedDeployment(namespace, serverDeploy);
}
diff --git a/lib/k8s/server-delete.js b/lib/k8s/server-delete.js
index c0364a8..e226fbf 100644
--- a/lib/k8s/server-delete.js
+++ b/lib/k8s/server-delete.js
@@ -2,7 +2,8 @@ import k8s from "@kubernetes/client-node";
import { ERR } from "../util/logging.js";
import { getServerAssets } from "./k8s-server-control.js";
import ExpressClientError from "../util/ExpressClientError.js";
-import kc from "./k8s-config.js";
+const kc = new k8s.KubeConfig();
+kc.loadFromDefault();
const k8sDeps = kc.makeApiClient(k8s.AppsV1Api);
const k8sCore = kc.makeApiClient(k8s.CoreV1Api);
@@ -21,9 +22,9 @@ function deleteOnExist(o, fn) {
}
export default async function deleteServerResources(serverSpec) {
- const { id } = serverSpec;
+ const { name } = serverSpec;
// Ensure deployment exists
- const server = await getServerAssets(id);
+ const server = await getServerAssets(name);
if (!server)
throw new ExpressClientError({
c: 404,
@@ -46,14 +47,6 @@ export default async function deleteServerResources(serverSpec) {
const deleteRconSecret = deleteOnExist(server.rconSecret, (name) =>
k8sCore.deleteNamespacedSecret(name, namespace),
);
-
- const deleteBackupSecret = deleteOnExist(server.backupSecret, (name) =>
- k8sCore.deleteNamespacedSecret(name, namespace),
- );
-
- const deleteExtraService = deleteOnExist(server.extraService, (name) =>
- k8sCore.deleteNamespacedService(name, namespace),
- );
const deleteVolume = deleteOnExist(server.volume, (name) =>
k8sCore.deleteNamespacedPersistentVolumeClaim(name, namespace),
);
@@ -62,8 +55,6 @@ export default async function deleteServerResources(serverSpec) {
deleteService,
deleteRconService,
deleteRconSecret,
- deleteExtraService,
- deleteBackupSecret,
deleteVolume,
]).catch(deleteError);
}
diff --git a/lib/k8s/server-files.js b/lib/k8s/server-files.js
index 36dcd4a..ec1f7cc 100644
--- a/lib/k8s/server-files.js
+++ b/lib/k8s/server-files.js
@@ -2,8 +2,7 @@ import ftp from "basic-ftp";
import { ERR } from "../util/logging.js";
import { getServerAssets } from "./k8s-server-control.js";
import ExpressClientError from "../util/ExpressClientError.js";
-import { Readable, Transform } from "node:stream";
-import { dirname, basename } from "node:path";
+import { Readable, Writable, Transform } from "node:stream";
const namespace = process.env.MCL_SERVER_NAMESPACE;
@@ -35,8 +34,8 @@ export async function getFtpClient(serverService) {
}
export async function useServerFtp(serverSpec, fn) {
- const { id } = serverSpec;
- const server = await getServerAssets(id);
+ const { name } = serverSpec;
+ const server = await getServerAssets(name);
if (!server)
throw new ExpressClientError({
c: 404,
@@ -83,27 +82,16 @@ export async function uploadServerItem(serverSpec, file) {
const { path } = serverSpec;
pathSecurityCheck(path);
await useServerFtp(serverSpec, async (c) => {
- await c.ensureDir(dirname(path));
- await c.uploadFrom(fileStream, basename(path));
+ await c.uploadFrom(fileStream, `${path}/${file.originalname}`);
}).catch(handleError);
}
-export async function getServerItem(serverSpec) {
+export async function getServerItem(serverSpec, writableStream) {
const { path } = serverSpec;
- const ds = new Transform({ transform: (c, _e, cb) => cb(null, c) });
+ const ds = new Transform({ transform: (c, e, cb) => cb(null, c) });
pathSecurityCheck(path);
const ftpTransfer = useServerFtp(serverSpec, async (c) => {
await c.downloadTo(ds, path);
}).catch(handleError);
return { ds, ftpTransfer };
}
-
-export async function moveServerItems(serverSpec) {
- const { destination, origin, files } = serverSpec;
- useServerFtp(serverSpec, async (c) =>
- Promise.all(
- files.map((f) => c.rename(`${origin}/${f}`, `${destination}/${f}`)),
- ),
- ).catch(handleError);
- return files;
-}
diff --git a/lib/k8s/server-modify.js b/lib/k8s/server-modify.js
deleted file mode 100644
index 74a1428..0000000
--- a/lib/k8s/server-modify.js
+++ /dev/null
@@ -1,59 +0,0 @@
-import k8s from "@kubernetes/client-node";
-import {
- createExtraService,
- createBackupSecret,
- createServerService,
-} from "./server-create.js";
-import kc from "./k8s-config.js";
-import { getServerAssets } from "./k8s-server-control.js";
-const k8sCore = kc.makeApiClient(k8s.CoreV1Api);
-const namespace = process.env.MCL_SERVER_NAMESPACE;
-
-export default async function modifyServerResources(modifySpec) {
- const { id: serverId } = modifySpec;
- const serverAssets = await getServerAssets(serverId);
- const serverService = createServerService(modifySpec);
- const extraService = createExtraService(modifySpec);
- const backupSecret = createBackupSecret(modifySpec);
- const serverResources = [];
-
- if (!!serverService)
- // Will Always Exist
- serverResources.push(
- k8sCore.replaceNamespacedService(
- serverAssets.service.metadata.name,
- namespace,
- serverService,
- ),
- );
-
- if (!!extraService && !!serverAssets.extraService)
- // Might not exist
- serverResources.push(
- k8sCore.replaceNamespacedService(
- serverAssets.extraService.metadata.name,
- namespace,
- extraService,
- ),
- );
- else if (!!extraService)
- serverResources.push(
- k8sCore.createNamespacedService(namespace, extraService),
- );
-
- if (!!backupSecret && !!serverAssets.backupSecret)
- // Might not exist
- serverResources.push(
- k8sCore.replaceNamespacedSecret(
- serverAssets.backupSecret.metadata.name,
- namespace,
- backupSecret,
- ),
- );
- else if (!!backupSecret)
- serverResources.push(
- k8sCore.createNamespacedSecret(namespace, backupSecret),
- );
-
- return await Promise.all(serverResources);
-}
diff --git a/lib/k8s/server-status.js b/lib/k8s/server-status.js
deleted file mode 100644
index 0c421c1..0000000
--- a/lib/k8s/server-status.js
+++ /dev/null
@@ -1,85 +0,0 @@
-import k8s from "@kubernetes/client-node";
-import { getUserDeployments } from "./k8s-server-control.js";
-import { getServerEntries } from "../database/queries/server-queries.js";
-import kc from "./k8s-config.js";
-
-const k8sMetrics = new k8s.Metrics(kc);
-const namespace = process.env.MCL_SERVER_NAMESPACE;
-
-function getServerMetrics(podMetricsRes, serverId, serverAvailable) {
- const pod = podMetricsRes.items.find(({ metadata: md }) => {
- return (
- md.annotations &&
- md.annotations["minecluster.dunemask.net/id"] === serverId
- );
- });
- if (!serverAvailable || !pod) return null;
- const podCpus = pod.containers.map(
- ({ usage }) => parseInt(usage.cpu) / 1_000_000,
- );
- const podMems = pod.containers.map(
- ({ usage }) => parseInt(usage.memory) / 1024,
- );
- return {
- cpu: Math.ceil(podCpus.reduce((a, b) => a + b)),
- memory: Math.ceil(podMems.reduce((a, b) => a + b)),
- };
-}
-
-function getServerStatus(server) {
- const { containers } = server.spec.template.spec;
- const services = containers.map(({ name }) => name.split("-").pop());
- const serverStatusList = server.status.conditions.map(
- ({ type: statusType, status: sts }) => ({ statusType, sts }),
- );
- const deploymentAvailable =
- serverStatusList.find(
- (ss) => ss.statusType === "Available" && ss.sts === "True",
- ) !== undefined;
- const serverAvailable = services.includes(`server`) && deploymentAvailable;
- const ftpAvailable = services.includes("ftp"); // TODO this needs some handling for container creation
- return { serverAvailable, ftpAvailable, services, deploymentAvailable };
-}
-
-export async function getInstances(cairoId) {
- const [serverDeployments, podMetricsRes, entries] = await Promise.all([
- getUserDeployments(cairoId),
- k8sMetrics.getPodMetrics(namespace),
- getServerEntries(),
- ]);
-
- var serverId, metrics;
- const serverInstances = serverDeployments.map((s) => {
- serverId = s.metadata.annotations["minecluster.dunemask.net/id"];
- const entry = entries.find((e) => e.id === serverId);
- const { ftpAvailable, serverAvailable, services, deploymentAvailable } =
- getServerStatus(s);
- metrics = getServerMetrics(podMetricsRes, serverId, serverAvailable);
- return {
- name: !!entry ? entry.name : "Unknown",
- host: !!entry ? entry.host : "Unkonwn",
- id: serverId,
- metrics,
- services,
- serverAvailable,
- ftpAvailable,
- deploymentAvailable,
- };
- });
- return serverInstances;
-}
-
-export async function getNamespaceMetrics() {
- const serverInstances = await getInstances();
- var clusterMetrics = { cpu: 0, memory: 0 };
- if (servers.length > 1) {
- const clusterCpu = serverInstances
- .map(({ metrics }) => (metrics ? metrics.cpu : 0))
- .reduce((a, b) => a + b);
- const clusterMem = serverInstances
- .map(({ metrics }) => (metrics ? metrics.memory : 0))
- .reduce((a, b) => a + b);
- clusterMetrics = { cpu: clusterCpu, memory: clusterMem };
- }
- return clusterMetrics;
-}
diff --git a/lib/routes/auth-route.js b/lib/routes/auth-route.js
deleted file mode 100644
index 638e163..0000000
--- a/lib/routes/auth-route.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import { Router } from "express";
-import cairoAuthMiddleware from "./middlewares/auth-middleware.js";
-const router = Router();
-
-const cairoProjectId = process.env.MCL_CAIRO_PROJECT;
-if(!cairoProjectId) throw Error("Cairo Project Required!");
-
-const ok = (_r, res) => res.sendStatus(200);
-
-function cairoRedirect(req, res) {
- res.redirect(
- `${process.env.MCL_CAIRO_URL}/cairo/authenticate?redirectUri=${req.query.redirectUri}&projectId=${cairoProjectId}`,
- );
-}
-
-router.get("/verify", cairoAuthMiddleware, ok);
-router.get("/redirect", cairoRedirect);
-
-export default router;
diff --git a/lib/routes/files-route.js b/lib/routes/files-route.js
index d82f780..c27c175 100644
--- a/lib/routes/files-route.js
+++ b/lib/routes/files-route.js
@@ -6,20 +6,16 @@ import {
listFiles,
uploadItem,
getItem,
- moveItems,
} from "../controllers/file-controller.js";
-import cairoAuthMiddleware from "./middlewares/auth-middleware.js";
-
const router = Router();
-router.use([jsonMiddleware(), cairoAuthMiddleware]);
+router.use(jsonMiddleware());
const multerMiddleware = multer();
router.post("/list", listFiles);
router.post("/folder", createFolder);
router.delete("/item", deleteItem);
router.post("/item", getItem);
-router.post("/move", moveItems);
router.post("/upload", multerMiddleware.single("file"), uploadItem);
export default router;
diff --git a/lib/routes/middlewares/auth-middleware.js b/lib/routes/middlewares/auth-middleware.js
deleted file mode 100644
index 5758cb4..0000000
--- a/lib/routes/middlewares/auth-middleware.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Imports
-import { Router } from "express";
-import bearerTokenMiddleware from "express-bearer-token";
-import { ERR, VERB } from "../../util/logging.js";
-
-// Constants
-const { MCL_CAIRO_URL, MCL_CAIRO_PROJECT } = process.env;
-const cairoAuthMiddleware = Router();
-
-const cairoAuthenticate = async (token) => {
- const config = { headers: { Authorization: `Bearer ${token}` } };
- return fetch(`${MCL_CAIRO_URL}/api/${MCL_CAIRO_PROJECT}/auth/credentials`, config).then(async (res) => {
- if (res.status >= 300) {
- const errorMessage = await res
- .json()
- .then((data) => JSON.stringify(data))
- .catch(() => res.statusText);
- throw Error(
- `Could not authenticate with user, receieved message: ${errorMessage}`,
- );
- }
-
- return res.json();
- });
-};
-
-// Middleware
-const cairoAuthHandler = (req, res, next) => {
- if (!req.token) return res.status(401).send("Cairo auth required!");
- cairoAuthenticate(req.token)
- .then((authData) => {
- console.log(authData);
- if (!authData?.user?.id)
- throw Error(`Cairo didn't return the expected data! ${authData?.user?.id}`);
- req.cairoId = authData?.user?.id;
- })
- .then(() => next())
- .catch((err) => {
- ERR("AUTH", err.response ? err.response.data : err.message);
- if (!err.response) return res.status(500).send(`Auth failure ${err}`);
- return res.status(err.response.status).send(err.response.data);
- });
-};
-
-cairoAuthMiddleware.use([bearerTokenMiddleware(), cairoAuthHandler]);
-
-export default cairoAuthMiddleware;
diff --git a/lib/routes/s3-route.js b/lib/routes/s3-route.js
deleted file mode 100644
index c97afb0..0000000
--- a/lib/routes/s3-route.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Router, json as jsonMiddleware } from "express";
-import { getS3BackupUrl, listS3Backups } from "../controllers/s3-controller.js";
-import cairoAuthMiddleware from "./middlewares/auth-middleware.js";
-
-const router = Router();
-router.use([cairoAuthMiddleware, jsonMiddleware()]);
-
-router.post("/backups", listS3Backups);
-router.post("/backup-url", getS3BackupUrl);
-
-export default router;
diff --git a/lib/routes/server-route.js b/lib/routes/server-route.js
index d8ae832..7361abd 100644
--- a/lib/routes/server-route.js
+++ b/lib/routes/server-route.js
@@ -4,18 +4,13 @@ import {
deleteServer,
startServer,
stopServer,
- getServer,
- modifyServer,
} from "../controllers/lifecycle-controller.js";
import {
serverInstances,
serverList,
} from "../controllers/status-controller.js";
-
-import cairoAuthMiddleware from "./middlewares/auth-middleware.js";
-
const router = Router();
-router.use([jsonMiddleware(), cairoAuthMiddleware]);
+router.use(jsonMiddleware());
// Routes
router.post("/create", createServer);
router.delete("/delete", deleteServer);
@@ -23,6 +18,4 @@ router.post("/start", startServer);
router.post("/stop", stopServer);
router.get("/list", serverList);
router.get("/instances", serverInstances);
-router.post("/blueprint", getServer);
-router.post("/modify", modifyServer);
export default router;
diff --git a/lib/routes/system-route.js b/lib/routes/system-route.js
index ef913ed..66e1022 100644
--- a/lib/routes/system-route.js
+++ b/lib/routes/system-route.js
@@ -1,12 +1,9 @@
import { Router } from "express";
import k8s from "@kubernetes/client-node";
import { WARN } from "../util/logging.js";
-import kc from "../k8s/k8s-config.js";
const router = Router();
-
-import cairoAuthMiddleware from "./middlewares/auth-middleware.js";
-router.use(cairoAuthMiddleware);
-
+const kc = new k8s.KubeConfig();
+kc.loadFromDefault();
const k8sApi = kc.makeApiClient(k8s.CoreV1Api);
// Get Routes
router.get("/available", (req, res) => {
diff --git a/lib/server/router.js b/lib/server/router.js
index 685dd1d..ccedebb 100644
--- a/lib/server/router.js
+++ b/lib/server/router.js
@@ -3,12 +3,10 @@ import express from "express";
// Routes
import vitals from "../routes/vitals-route.js";
-import authRoute from "../routes/auth-route.js";
import systemRoute from "../routes/system-route.js";
import serverRoute from "../routes/server-route.js";
import filesRoute from "../routes/files-route.js";
import reactRoute from "../routes/react-route.js";
-import s3Route from "../routes/s3-route.js";
import {
logErrors,
clientErrorHandler,
@@ -24,11 +22,9 @@ export default function buildRoutes(pg, skio) {
// Middlewares
// Routes
- router.use("/api/auth", authRoute);
router.use("/api/system", systemRoute);
router.use("/api/server", serverRoute);
router.use("/api/files", filesRoute);
- router.use("/api/s3", s3Route);
router.use(["/mcl", "/mcl/*"], reactRoute); // Static Build Route
/*router.use(logErrors);
router.use(clientErrorHandler);
diff --git a/lib/server/sockets.js b/lib/server/sockets.js
index d9804ef..370e3d4 100644
--- a/lib/server/sockets.js
+++ b/lib/server/sockets.js
@@ -18,7 +18,7 @@ async function rconSend(socket, m) {
const socketConnect = async (io, socket) => {
VERB("WS", "Websocket connecting");
- socket.mcs = { serverId: socket.handshake.query.serverId };
+ socket.mcs = { serverName: socket.handshake.query.serverName };
try {
await webConsoleLogs(socket);
await webConsoleRcon(socket);
diff --git a/lib/storage/s3-integration.js b/lib/storage/s3-integration.js
new file mode 100644
index 0000000..34ed5d5
--- /dev/null
+++ b/lib/storage/s3-integration.js
@@ -0,0 +1,34 @@
+import multer from "multer";
+import multerS3 from "multer-s3";
+import AWS from "aws-sdk";
+
+// Environment Variables
+const {
+ MCL_S3_ENDPOINT: s3Endpoint,
+ MCL_S3_ACCESS_KEY_ID: s3KeyId,
+ MCL_S3_ACCESS_KEY: s3Key,
+} = process.env;
+
+export const mcl = "mcl";
+
+export const s3 = new AWS.S3({
+ endpoint: s3Endpoint,
+ accessKeyId: s3KeyId,
+ secretAccessKey: s3Key,
+ sslEnabled: true,
+ s3ForcePathStyle: true,
+});
+
+const storage = multerS3({
+ s3,
+ bucket,
+ contentType: multerS3.AUTO_CONTENT_TYPE,
+ metadata: (req, file, cb) => {
+ cb(null, { fieldName: file.fieldname });
+ },
+ key: (req, file, cb) => {
+ cb(null, Date.now().toString());
+ },
+});
+
+export const upload = multer({ storage });
diff --git a/package-lock.json b/package-lock.json
index cc9f68d..d111705 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,60 +1,54 @@
{
"name": "minecluster",
- "version": "0.0.1-alpha.1",
+ "version": "0.0.1-alpha.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "minecluster",
- "version": "0.0.1-alpha.1",
+ "version": "0.0.1-alpha.0",
"license": "LGPL-2.1",
"dependencies": {
- "@aws-sdk/client-s3": "^3.529.1",
- "@aws-sdk/s3-request-presigner": "^3.529.1",
"@kubernetes/client-node": "^0.20.0",
+ "aws-sdk": "^2.1514.0",
"basic-ftp": "^5.0.4",
"bcrypt": "^5.1.1",
"chalk": "^5.3.0",
+ "chonky": "^2.3.2",
+ "chonky-icon-fontawesome": "^2.3.2",
"express": "^4.18.2",
- "express-bearer-token": "^2.4.0",
"figlet": "^1.7.0",
"js-yaml": "^4.1.0",
- "moment": "^2.30.1",
+ "moment": "^2.29.4",
"multer": "^1.4.5-lts.1",
"multer-s3": "^3.0.1",
"pg-promise": "^11.5.4",
"postgres-migrations": "^5.3.0",
"rcon-client": "^4.2.4",
- "react-dropzone": "^14.2.3",
- "socket.io": "^4.7.4",
+ "socket.io": "^4.7.2",
"uuid": "^9.0.1"
},
"devDependencies": {
- "@emotion/react": "^11.11.3",
+ "@emotion/react": "^11.11.1",
"@emotion/styled": "^11.11.0",
- "@mui/icons-material": "^5.15.9",
- "@mui/material": "^5.15.9",
- "@tanstack/react-query": "^5.20.1",
+ "@mui/icons-material": "^5.14.19",
+ "@mui/material": "^5.14.20",
+ "@tanstack/react-query": "^5.12.2",
"@vitejs/plugin-react": "^4.2.1",
- "chonky": "^2.3.2",
- "chonky-icon-fontawesome": "^2.3.2",
"concurrently": "^8.2.2",
- "nodemon": "^3.0.3",
- "prettier": "^3.2.5",
+ "nodemon": "^3.0.2",
+ "prettier": "^3.1.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "react-quill": "^2.0.0",
- "react-router-dom": "^6.22.0",
- "react-toastify": "^10.0.4",
- "socket.io-client": "^4.7.4",
- "vite": "^5.1.1"
+ "react-router-dom": "^6.20.1",
+ "socket.io-client": "^4.7.2",
+ "vite": "^5.0.7"
}
},
"node_modules/@ampproject/remapping": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
"integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
- "dev": true,
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.0",
"@jridgewell/trace-mapping": "^0.3.9"
@@ -67,6 +61,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz",
"integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==",
+ "peer": true,
"dependencies": {
"@aws-crypto/util": "^3.0.0",
"@aws-sdk/types": "^3.222.0",
@@ -76,12 +71,14 @@
"node_modules/@aws-crypto/crc32/node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "peer": true
},
"node_modules/@aws-crypto/crc32c": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz",
"integrity": "sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==",
+ "peer": true,
"dependencies": {
"@aws-crypto/util": "^3.0.0",
"@aws-sdk/types": "^3.222.0",
@@ -91,12 +88,14 @@
"node_modules/@aws-crypto/crc32c/node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "peer": true
},
"node_modules/@aws-crypto/ie11-detection": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz",
"integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==",
+ "peer": true,
"dependencies": {
"tslib": "^1.11.1"
}
@@ -104,12 +103,14 @@
"node_modules/@aws-crypto/ie11-detection/node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "peer": true
},
"node_modules/@aws-crypto/sha1-browser": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz",
"integrity": "sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==",
+ "peer": true,
"dependencies": {
"@aws-crypto/ie11-detection": "^3.0.0",
"@aws-crypto/supports-web-crypto": "^3.0.0",
@@ -123,12 +124,14 @@
"node_modules/@aws-crypto/sha1-browser/node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "peer": true
},
"node_modules/@aws-crypto/sha256-browser": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz",
"integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==",
+ "peer": true,
"dependencies": {
"@aws-crypto/ie11-detection": "^3.0.0",
"@aws-crypto/sha256-js": "^3.0.0",
@@ -143,12 +146,14 @@
"node_modules/@aws-crypto/sha256-browser/node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "peer": true
},
"node_modules/@aws-crypto/sha256-js": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz",
"integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==",
+ "peer": true,
"dependencies": {
"@aws-crypto/util": "^3.0.0",
"@aws-sdk/types": "^3.222.0",
@@ -158,12 +163,14 @@
"node_modules/@aws-crypto/sha256-js/node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "peer": true
},
"node_modules/@aws-crypto/supports-web-crypto": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz",
"integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==",
+ "peer": true,
"dependencies": {
"tslib": "^1.11.1"
}
@@ -171,12 +178,14 @@
"node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "peer": true
},
"node_modules/@aws-crypto/util": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz",
"integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==",
+ "peer": true,
"dependencies": {
"@aws-sdk/types": "^3.222.0",
"@aws-sdk/util-utf8-browser": "^3.0.0",
@@ -186,69 +195,69 @@
"node_modules/@aws-crypto/util/node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "peer": true
},
"node_modules/@aws-sdk/client-s3": {
- "version": "3.529.1",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.529.1.tgz",
- "integrity": "sha512-ZpvyO4w3XWo/OjXLd3fm7CLcKUUYcyady9qzTnKKSnp8a2NqO7UvU/1zhYdm+yyy8TR/9t7sDy+q6AYd4Nsr8g==",
+ "version": "3.427.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.427.0.tgz",
+ "integrity": "sha512-YKjJ9zgn0oE393HURKgvjNoX6lxUjb+dkTBE1GymFnGCPl6VxQbKXajXWNqUyN+oPPlZ2osEiljPaN0RserUjA==",
+ "peer": true,
"dependencies": {
"@aws-crypto/sha1-browser": "3.0.0",
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/client-sts": "3.529.1",
- "@aws-sdk/core": "3.529.1",
- "@aws-sdk/credential-provider-node": "3.529.1",
- "@aws-sdk/middleware-bucket-endpoint": "3.525.0",
- "@aws-sdk/middleware-expect-continue": "3.523.0",
- "@aws-sdk/middleware-flexible-checksums": "3.523.0",
- "@aws-sdk/middleware-host-header": "3.523.0",
- "@aws-sdk/middleware-location-constraint": "3.523.0",
- "@aws-sdk/middleware-logger": "3.523.0",
- "@aws-sdk/middleware-recursion-detection": "3.523.0",
- "@aws-sdk/middleware-sdk-s3": "3.525.0",
- "@aws-sdk/middleware-signing": "3.523.0",
- "@aws-sdk/middleware-ssec": "3.523.0",
- "@aws-sdk/middleware-user-agent": "3.525.0",
- "@aws-sdk/region-config-resolver": "3.525.0",
- "@aws-sdk/signature-v4-multi-region": "3.525.0",
- "@aws-sdk/types": "3.523.0",
- "@aws-sdk/util-endpoints": "3.525.0",
- "@aws-sdk/util-user-agent-browser": "3.523.0",
- "@aws-sdk/util-user-agent-node": "3.525.0",
- "@aws-sdk/xml-builder": "3.523.0",
- "@smithy/config-resolver": "^2.1.4",
- "@smithy/core": "^1.3.5",
- "@smithy/eventstream-serde-browser": "^2.1.3",
- "@smithy/eventstream-serde-config-resolver": "^2.1.3",
- "@smithy/eventstream-serde-node": "^2.1.3",
- "@smithy/fetch-http-handler": "^2.4.3",
- "@smithy/hash-blob-browser": "^2.1.3",
- "@smithy/hash-node": "^2.1.3",
- "@smithy/hash-stream-node": "^2.1.3",
- "@smithy/invalid-dependency": "^2.1.3",
- "@smithy/md5-js": "^2.1.3",
- "@smithy/middleware-content-length": "^2.1.3",
- "@smithy/middleware-endpoint": "^2.4.4",
- "@smithy/middleware-retry": "^2.1.4",
- "@smithy/middleware-serde": "^2.1.3",
- "@smithy/middleware-stack": "^2.1.3",
- "@smithy/node-config-provider": "^2.2.4",
- "@smithy/node-http-handler": "^2.4.1",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/smithy-client": "^2.4.2",
- "@smithy/types": "^2.10.1",
- "@smithy/url-parser": "^2.1.3",
- "@smithy/util-base64": "^2.1.1",
- "@smithy/util-body-length-browser": "^2.1.1",
- "@smithy/util-body-length-node": "^2.2.1",
- "@smithy/util-defaults-mode-browser": "^2.1.4",
- "@smithy/util-defaults-mode-node": "^2.2.3",
- "@smithy/util-endpoints": "^1.1.4",
- "@smithy/util-retry": "^2.1.3",
- "@smithy/util-stream": "^2.1.3",
- "@smithy/util-utf8": "^2.1.1",
- "@smithy/util-waiter": "^2.1.3",
+ "@aws-sdk/client-sts": "3.427.0",
+ "@aws-sdk/credential-provider-node": "3.427.0",
+ "@aws-sdk/middleware-bucket-endpoint": "3.425.0",
+ "@aws-sdk/middleware-expect-continue": "3.425.0",
+ "@aws-sdk/middleware-flexible-checksums": "3.425.0",
+ "@aws-sdk/middleware-host-header": "3.425.0",
+ "@aws-sdk/middleware-location-constraint": "3.425.0",
+ "@aws-sdk/middleware-logger": "3.425.0",
+ "@aws-sdk/middleware-recursion-detection": "3.425.0",
+ "@aws-sdk/middleware-sdk-s3": "3.427.0",
+ "@aws-sdk/middleware-signing": "3.425.0",
+ "@aws-sdk/middleware-ssec": "3.425.0",
+ "@aws-sdk/middleware-user-agent": "3.427.0",
+ "@aws-sdk/region-config-resolver": "3.425.0",
+ "@aws-sdk/signature-v4-multi-region": "3.425.0",
+ "@aws-sdk/types": "3.425.0",
+ "@aws-sdk/util-endpoints": "3.427.0",
+ "@aws-sdk/util-user-agent-browser": "3.425.0",
+ "@aws-sdk/util-user-agent-node": "3.425.0",
+ "@aws-sdk/xml-builder": "3.310.0",
+ "@smithy/config-resolver": "^2.0.11",
+ "@smithy/eventstream-serde-browser": "^2.0.10",
+ "@smithy/eventstream-serde-config-resolver": "^2.0.10",
+ "@smithy/eventstream-serde-node": "^2.0.10",
+ "@smithy/fetch-http-handler": "^2.2.1",
+ "@smithy/hash-blob-browser": "^2.0.10",
+ "@smithy/hash-node": "^2.0.10",
+ "@smithy/hash-stream-node": "^2.0.10",
+ "@smithy/invalid-dependency": "^2.0.10",
+ "@smithy/md5-js": "^2.0.10",
+ "@smithy/middleware-content-length": "^2.0.12",
+ "@smithy/middleware-endpoint": "^2.0.10",
+ "@smithy/middleware-retry": "^2.0.13",
+ "@smithy/middleware-serde": "^2.0.10",
+ "@smithy/middleware-stack": "^2.0.4",
+ "@smithy/node-config-provider": "^2.0.13",
+ "@smithy/node-http-handler": "^2.1.6",
+ "@smithy/protocol-http": "^3.0.6",
+ "@smithy/smithy-client": "^2.1.9",
+ "@smithy/types": "^2.3.4",
+ "@smithy/url-parser": "^2.0.10",
+ "@smithy/util-base64": "^2.0.0",
+ "@smithy/util-body-length-browser": "^2.0.0",
+ "@smithy/util-body-length-node": "^2.1.0",
+ "@smithy/util-defaults-mode-browser": "^2.0.13",
+ "@smithy/util-defaults-mode-node": "^2.0.15",
+ "@smithy/util-retry": "^2.0.3",
+ "@smithy/util-stream": "^2.0.14",
+ "@smithy/util-utf8": "^2.0.0",
+ "@smithy/util-waiter": "^2.0.10",
+ "fast-xml-parser": "4.2.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -256,166 +265,92 @@
}
},
"node_modules/@aws-sdk/client-sso": {
- "version": "3.529.1",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.529.1.tgz",
- "integrity": "sha512-KT1U/ZNjDhVv2ZgjzaeAn9VM7l667yeSguMrRYC8qk5h91/61MbjZypi6eOuKuVM+0fsQvzKScTQz0Lio0eYag==",
+ "version": "3.427.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.427.0.tgz",
+ "integrity": "sha512-sFVFEmsQ1rmgYO1SgrOTxE/MTKpeE4hpOkm1WqhLQK7Ij136vXpjCxjH1JYZiHiUzO1wr9t4ex4dlB5J3VS/Xg==",
+ "peer": true,
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/core": "3.529.1",
- "@aws-sdk/middleware-host-header": "3.523.0",
- "@aws-sdk/middleware-logger": "3.523.0",
- "@aws-sdk/middleware-recursion-detection": "3.523.0",
- "@aws-sdk/middleware-user-agent": "3.525.0",
- "@aws-sdk/region-config-resolver": "3.525.0",
- "@aws-sdk/types": "3.523.0",
- "@aws-sdk/util-endpoints": "3.525.0",
- "@aws-sdk/util-user-agent-browser": "3.523.0",
- "@aws-sdk/util-user-agent-node": "3.525.0",
- "@smithy/config-resolver": "^2.1.4",
- "@smithy/core": "^1.3.5",
- "@smithy/fetch-http-handler": "^2.4.3",
- "@smithy/hash-node": "^2.1.3",
- "@smithy/invalid-dependency": "^2.1.3",
- "@smithy/middleware-content-length": "^2.1.3",
- "@smithy/middleware-endpoint": "^2.4.4",
- "@smithy/middleware-retry": "^2.1.4",
- "@smithy/middleware-serde": "^2.1.3",
- "@smithy/middleware-stack": "^2.1.3",
- "@smithy/node-config-provider": "^2.2.4",
- "@smithy/node-http-handler": "^2.4.1",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/smithy-client": "^2.4.2",
- "@smithy/types": "^2.10.1",
- "@smithy/url-parser": "^2.1.3",
- "@smithy/util-base64": "^2.1.1",
- "@smithy/util-body-length-browser": "^2.1.1",
- "@smithy/util-body-length-node": "^2.2.1",
- "@smithy/util-defaults-mode-browser": "^2.1.4",
- "@smithy/util-defaults-mode-node": "^2.2.3",
- "@smithy/util-endpoints": "^1.1.4",
- "@smithy/util-middleware": "^2.1.3",
- "@smithy/util-retry": "^2.1.3",
- "@smithy/util-utf8": "^2.1.1",
+ "@aws-sdk/middleware-host-header": "3.425.0",
+ "@aws-sdk/middleware-logger": "3.425.0",
+ "@aws-sdk/middleware-recursion-detection": "3.425.0",
+ "@aws-sdk/middleware-user-agent": "3.427.0",
+ "@aws-sdk/region-config-resolver": "3.425.0",
+ "@aws-sdk/types": "3.425.0",
+ "@aws-sdk/util-endpoints": "3.427.0",
+ "@aws-sdk/util-user-agent-browser": "3.425.0",
+ "@aws-sdk/util-user-agent-node": "3.425.0",
+ "@smithy/config-resolver": "^2.0.11",
+ "@smithy/fetch-http-handler": "^2.2.1",
+ "@smithy/hash-node": "^2.0.10",
+ "@smithy/invalid-dependency": "^2.0.10",
+ "@smithy/middleware-content-length": "^2.0.12",
+ "@smithy/middleware-endpoint": "^2.0.10",
+ "@smithy/middleware-retry": "^2.0.13",
+ "@smithy/middleware-serde": "^2.0.10",
+ "@smithy/middleware-stack": "^2.0.4",
+ "@smithy/node-config-provider": "^2.0.13",
+ "@smithy/node-http-handler": "^2.1.6",
+ "@smithy/protocol-http": "^3.0.6",
+ "@smithy/smithy-client": "^2.1.9",
+ "@smithy/types": "^2.3.4",
+ "@smithy/url-parser": "^2.0.10",
+ "@smithy/util-base64": "^2.0.0",
+ "@smithy/util-body-length-browser": "^2.0.0",
+ "@smithy/util-body-length-node": "^2.1.0",
+ "@smithy/util-defaults-mode-browser": "^2.0.13",
+ "@smithy/util-defaults-mode-node": "^2.0.15",
+ "@smithy/util-retry": "^2.0.3",
+ "@smithy/util-utf8": "^2.0.0",
"tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
- "node_modules/@aws-sdk/client-sso-oidc": {
- "version": "3.529.1",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.529.1.tgz",
- "integrity": "sha512-bimxCWAvRnVcluWEQeadXvHyzWlBWsuGVligsaVZaGF0TLSn0eLpzpN9B1EhHzTf7m0Kh/wGtPSH1JxO6PpB+A==",
- "dependencies": {
- "@aws-crypto/sha256-browser": "3.0.0",
- "@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/client-sts": "3.529.1",
- "@aws-sdk/core": "3.529.1",
- "@aws-sdk/middleware-host-header": "3.523.0",
- "@aws-sdk/middleware-logger": "3.523.0",
- "@aws-sdk/middleware-recursion-detection": "3.523.0",
- "@aws-sdk/middleware-user-agent": "3.525.0",
- "@aws-sdk/region-config-resolver": "3.525.0",
- "@aws-sdk/types": "3.523.0",
- "@aws-sdk/util-endpoints": "3.525.0",
- "@aws-sdk/util-user-agent-browser": "3.523.0",
- "@aws-sdk/util-user-agent-node": "3.525.0",
- "@smithy/config-resolver": "^2.1.4",
- "@smithy/core": "^1.3.5",
- "@smithy/fetch-http-handler": "^2.4.3",
- "@smithy/hash-node": "^2.1.3",
- "@smithy/invalid-dependency": "^2.1.3",
- "@smithy/middleware-content-length": "^2.1.3",
- "@smithy/middleware-endpoint": "^2.4.4",
- "@smithy/middleware-retry": "^2.1.4",
- "@smithy/middleware-serde": "^2.1.3",
- "@smithy/middleware-stack": "^2.1.3",
- "@smithy/node-config-provider": "^2.2.4",
- "@smithy/node-http-handler": "^2.4.1",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/smithy-client": "^2.4.2",
- "@smithy/types": "^2.10.1",
- "@smithy/url-parser": "^2.1.3",
- "@smithy/util-base64": "^2.1.1",
- "@smithy/util-body-length-browser": "^2.1.1",
- "@smithy/util-body-length-node": "^2.2.1",
- "@smithy/util-defaults-mode-browser": "^2.1.4",
- "@smithy/util-defaults-mode-node": "^2.2.3",
- "@smithy/util-endpoints": "^1.1.4",
- "@smithy/util-middleware": "^2.1.3",
- "@smithy/util-retry": "^2.1.3",
- "@smithy/util-utf8": "^2.1.1",
- "tslib": "^2.5.0"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "@aws-sdk/credential-provider-node": "^3.529.1"
- }
- },
"node_modules/@aws-sdk/client-sts": {
- "version": "3.529.1",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.529.1.tgz",
- "integrity": "sha512-Rvk2Sr3MACQTOtngUU+omlf4E17k47dRVXR7OFRD6Ow5iGgC9tkN2q/ExDPW/ktPOmM0lSgzWyQ6/PC/Zq3HUg==",
+ "version": "3.427.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.427.0.tgz",
+ "integrity": "sha512-le2wLJKILyWuRfPz2HbyaNtu5kEki+ojUkTqCU6FPDRrqUvEkaaCBH9Awo/2AtrCfRkiobop8RuTTj6cAnpiJg==",
+ "peer": true,
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/core": "3.529.1",
- "@aws-sdk/middleware-host-header": "3.523.0",
- "@aws-sdk/middleware-logger": "3.523.0",
- "@aws-sdk/middleware-recursion-detection": "3.523.0",
- "@aws-sdk/middleware-user-agent": "3.525.0",
- "@aws-sdk/region-config-resolver": "3.525.0",
- "@aws-sdk/types": "3.523.0",
- "@aws-sdk/util-endpoints": "3.525.0",
- "@aws-sdk/util-user-agent-browser": "3.523.0",
- "@aws-sdk/util-user-agent-node": "3.525.0",
- "@smithy/config-resolver": "^2.1.4",
- "@smithy/core": "^1.3.5",
- "@smithy/fetch-http-handler": "^2.4.3",
- "@smithy/hash-node": "^2.1.3",
- "@smithy/invalid-dependency": "^2.1.3",
- "@smithy/middleware-content-length": "^2.1.3",
- "@smithy/middleware-endpoint": "^2.4.4",
- "@smithy/middleware-retry": "^2.1.4",
- "@smithy/middleware-serde": "^2.1.3",
- "@smithy/middleware-stack": "^2.1.3",
- "@smithy/node-config-provider": "^2.2.4",
- "@smithy/node-http-handler": "^2.4.1",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/smithy-client": "^2.4.2",
- "@smithy/types": "^2.10.1",
- "@smithy/url-parser": "^2.1.3",
- "@smithy/util-base64": "^2.1.1",
- "@smithy/util-body-length-browser": "^2.1.1",
- "@smithy/util-body-length-node": "^2.2.1",
- "@smithy/util-defaults-mode-browser": "^2.1.4",
- "@smithy/util-defaults-mode-node": "^2.2.3",
- "@smithy/util-endpoints": "^1.1.4",
- "@smithy/util-middleware": "^2.1.3",
- "@smithy/util-retry": "^2.1.3",
- "@smithy/util-utf8": "^2.1.1",
- "tslib": "^2.5.0"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "@aws-sdk/credential-provider-node": "^3.529.1"
- }
- },
- "node_modules/@aws-sdk/core": {
- "version": "3.529.1",
- "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.529.1.tgz",
- "integrity": "sha512-Sj42sYPfaL9PHvvciMICxhyrDZjqnnvFbPKDmQL5aFKyXy122qx7RdVqUOQERDmMQfvJh6+0W1zQlLnre89q4Q==",
- "dependencies": {
- "@smithy/core": "^1.3.5",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/signature-v4": "^2.1.3",
- "@smithy/smithy-client": "^2.4.2",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/credential-provider-node": "3.427.0",
+ "@aws-sdk/middleware-host-header": "3.425.0",
+ "@aws-sdk/middleware-logger": "3.425.0",
+ "@aws-sdk/middleware-recursion-detection": "3.425.0",
+ "@aws-sdk/middleware-sdk-sts": "3.425.0",
+ "@aws-sdk/middleware-signing": "3.425.0",
+ "@aws-sdk/middleware-user-agent": "3.427.0",
+ "@aws-sdk/region-config-resolver": "3.425.0",
+ "@aws-sdk/types": "3.425.0",
+ "@aws-sdk/util-endpoints": "3.427.0",
+ "@aws-sdk/util-user-agent-browser": "3.425.0",
+ "@aws-sdk/util-user-agent-node": "3.425.0",
+ "@smithy/config-resolver": "^2.0.11",
+ "@smithy/fetch-http-handler": "^2.2.1",
+ "@smithy/hash-node": "^2.0.10",
+ "@smithy/invalid-dependency": "^2.0.10",
+ "@smithy/middleware-content-length": "^2.0.12",
+ "@smithy/middleware-endpoint": "^2.0.10",
+ "@smithy/middleware-retry": "^2.0.13",
+ "@smithy/middleware-serde": "^2.0.10",
+ "@smithy/middleware-stack": "^2.0.4",
+ "@smithy/node-config-provider": "^2.0.13",
+ "@smithy/node-http-handler": "^2.1.6",
+ "@smithy/protocol-http": "^3.0.6",
+ "@smithy/smithy-client": "^2.1.9",
+ "@smithy/types": "^2.3.4",
+ "@smithy/url-parser": "^2.0.10",
+ "@smithy/util-base64": "^2.0.0",
+ "@smithy/util-body-length-browser": "^2.0.0",
+ "@smithy/util-body-length-node": "^2.1.0",
+ "@smithy/util-defaults-mode-browser": "^2.0.13",
+ "@smithy/util-defaults-mode-node": "^2.0.15",
+ "@smithy/util-retry": "^2.0.3",
+ "@smithy/util-utf8": "^2.0.0",
"fast-xml-parser": "4.2.5",
"tslib": "^2.5.0"
},
@@ -424,32 +359,14 @@
}
},
"node_modules/@aws-sdk/credential-provider-env": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.523.0.tgz",
- "integrity": "sha512-Y6DWdH6/OuMDoNKVzZlNeBc6f1Yjk1lYMjANKpIhMbkRCvLJw/PYZKOZa8WpXbTYdgg9XLjKybnLIb3ww3uuzA==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.425.0.tgz",
+ "integrity": "sha512-J20etnLvMKXRVi5FK4F8yOCNm2RTaQn5psQTGdDEPWJNGxohcSpzzls8U2KcMyUJ+vItlrThr4qwgpHG3i/N0w==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/property-provider": "^2.1.3",
- "@smithy/types": "^2.10.1",
- "tslib": "^2.5.0"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-http": {
- "version": "3.525.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.525.0.tgz",
- "integrity": "sha512-RNWQGuSBQZhl3iqklOslUEfQ4br1V3DCPboMpeqFtddUWJV3m2u2extFur9/4Uy+1EHVF120IwZUKtd8dF+ibw==",
- "dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/fetch-http-handler": "^2.4.3",
- "@smithy/node-http-handler": "^2.4.1",
- "@smithy/property-provider": "^2.1.3",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/smithy-client": "^2.4.2",
- "@smithy/types": "^2.10.1",
- "@smithy/util-stream": "^2.1.3",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/property-provider": "^2.0.0",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -457,20 +374,20 @@
}
},
"node_modules/@aws-sdk/credential-provider-ini": {
- "version": "3.529.1",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.529.1.tgz",
- "integrity": "sha512-RjHsuTvHIwXG7a/3ERexemiD3c9riKMCZQzY2/b0Gg0ButEVbBcMfERtUzWmQ0V4ufe/PEZjP68MH1gupcoF9A==",
+ "version": "3.427.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.427.0.tgz",
+ "integrity": "sha512-NmH1cO/w98CKMltYec3IrJIIco19wRjATFNiw83c+FGXZ+InJwReqBnruxIOmKTx2KDzd6fwU1HOewS7UjaaaQ==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/client-sts": "3.529.1",
- "@aws-sdk/credential-provider-env": "3.523.0",
- "@aws-sdk/credential-provider-process": "3.523.0",
- "@aws-sdk/credential-provider-sso": "3.529.1",
- "@aws-sdk/credential-provider-web-identity": "3.529.1",
- "@aws-sdk/types": "3.523.0",
- "@smithy/credential-provider-imds": "^2.2.3",
- "@smithy/property-provider": "^2.1.3",
- "@smithy/shared-ini-file-loader": "^2.3.3",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/credential-provider-env": "3.425.0",
+ "@aws-sdk/credential-provider-process": "3.425.0",
+ "@aws-sdk/credential-provider-sso": "3.427.0",
+ "@aws-sdk/credential-provider-web-identity": "3.425.0",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/credential-provider-imds": "^2.0.0",
+ "@smithy/property-provider": "^2.0.0",
+ "@smithy/shared-ini-file-loader": "^2.0.6",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -478,21 +395,21 @@
}
},
"node_modules/@aws-sdk/credential-provider-node": {
- "version": "3.529.1",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.529.1.tgz",
- "integrity": "sha512-mvY7F3dMmk/0dZOCfl5sUI1bG0osureBjxhELGCF0KkJqhWI0hIzh8UnPkYytSg3vdc97CMv7pTcozxrdA3b0g==",
+ "version": "3.427.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.427.0.tgz",
+ "integrity": "sha512-wYYbQ57nKL8OfgRbl8k6uXcdnYml+p3LSSfDUAuUEp1HKlQ8lOXFJ3BdLr5qrk7LhpyppSRnWBmh2c3kWa7ANQ==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/credential-provider-env": "3.523.0",
- "@aws-sdk/credential-provider-http": "3.525.0",
- "@aws-sdk/credential-provider-ini": "3.529.1",
- "@aws-sdk/credential-provider-process": "3.523.0",
- "@aws-sdk/credential-provider-sso": "3.529.1",
- "@aws-sdk/credential-provider-web-identity": "3.529.1",
- "@aws-sdk/types": "3.523.0",
- "@smithy/credential-provider-imds": "^2.2.3",
- "@smithy/property-provider": "^2.1.3",
- "@smithy/shared-ini-file-loader": "^2.3.3",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/credential-provider-env": "3.425.0",
+ "@aws-sdk/credential-provider-ini": "3.427.0",
+ "@aws-sdk/credential-provider-process": "3.425.0",
+ "@aws-sdk/credential-provider-sso": "3.427.0",
+ "@aws-sdk/credential-provider-web-identity": "3.425.0",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/credential-provider-imds": "^2.0.0",
+ "@smithy/property-provider": "^2.0.0",
+ "@smithy/shared-ini-file-loader": "^2.0.6",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -500,14 +417,15 @@
}
},
"node_modules/@aws-sdk/credential-provider-process": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.523.0.tgz",
- "integrity": "sha512-f0LP9KlFmMvPWdKeUKYlZ6FkQAECUeZMmISsv6NKtvPCI9e4O4cLTeR09telwDK8P0HrgcRuZfXM7E30m8re0Q==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.425.0.tgz",
+ "integrity": "sha512-YY6tkLdvtb1Fgofp3b1UWO+5vwS14LJ/smGmuGpSba0V7gFJRdcrJ9bcb9vVgAGuMdjzRJ+bUKlLLtqXkaykEw==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/property-provider": "^2.1.3",
- "@smithy/shared-ini-file-loader": "^2.3.3",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/property-provider": "^2.0.0",
+ "@smithy/shared-ini-file-loader": "^2.0.6",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -515,16 +433,17 @@
}
},
"node_modules/@aws-sdk/credential-provider-sso": {
- "version": "3.529.1",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.529.1.tgz",
- "integrity": "sha512-KFMKkaoTGDgSJG+o9Ii7AglWG5JQeF6IFw9cXLMwDdIrp3KUmRcUIqe0cjOoCqeQEDGy0VHsimHmKKJ3894i/A==",
+ "version": "3.427.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.427.0.tgz",
+ "integrity": "sha512-c+tXyS/i49erHs4bAp6vKNYeYlyQ0VNMBgoco0LCn1rL0REtHbfhWMnqDLF6c2n3yIWDOTrQu0D73Idnpy16eA==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/client-sso": "3.529.1",
- "@aws-sdk/token-providers": "3.529.1",
- "@aws-sdk/types": "3.523.0",
- "@smithy/property-provider": "^2.1.3",
- "@smithy/shared-ini-file-loader": "^2.3.3",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/client-sso": "3.427.0",
+ "@aws-sdk/token-providers": "3.427.0",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/property-provider": "^2.0.0",
+ "@smithy/shared-ini-file-loader": "^2.0.6",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -532,14 +451,14 @@
}
},
"node_modules/@aws-sdk/credential-provider-web-identity": {
- "version": "3.529.1",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.529.1.tgz",
- "integrity": "sha512-AGuZDOKN+AttjwTjrF47WLqzeEut2YynyxjkXZhxZF/xn8i5Y51kUAUdXsXw1bgR25pAeXQIdhsrQlRa1Pm5kw==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.425.0.tgz",
+ "integrity": "sha512-/0R65TgRzL01JU3SzloivWNwdkbIhr06uY/F5pBHf/DynQqaspKNfdHn6AiozgSVDfwRHFjKBTUy6wvf3QFkuA==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/client-sts": "3.529.1",
- "@aws-sdk/types": "3.523.0",
- "@smithy/property-provider": "^2.1.3",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/property-provider": "^2.0.0",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -584,16 +503,17 @@
}
},
"node_modules/@aws-sdk/middleware-bucket-endpoint": {
- "version": "3.525.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.525.0.tgz",
- "integrity": "sha512-nYfQ2Xspfef7j8mZO7varUWLPH6HQlXateH7tBVtBNUAazyQE4UJEvC0fbQ+Y01e+FKlirim/m2umkdMXqAlTg==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.425.0.tgz",
+ "integrity": "sha512-7UTfA10fmDw9cgHLApxRUNPywZTG4S/1TNZgTxndO/1OM9ZHtIatw1iLbqJD35gHrpEYI8Vo14YvcnD2ITuiMw==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@aws-sdk/util-arn-parser": "3.495.0",
- "@smithy/node-config-provider": "^2.2.4",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/types": "^2.10.1",
- "@smithy/util-config-provider": "^2.2.1",
+ "@aws-sdk/types": "3.425.0",
+ "@aws-sdk/util-arn-parser": "3.310.0",
+ "@smithy/node-config-provider": "^2.0.13",
+ "@smithy/protocol-http": "^3.0.6",
+ "@smithy/types": "^2.3.4",
+ "@smithy/util-config-provider": "^2.0.0",
"tslib": "^2.5.0"
},
"engines": {
@@ -601,13 +521,14 @@
}
},
"node_modules/@aws-sdk/middleware-expect-continue": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.523.0.tgz",
- "integrity": "sha512-E5DyRAHU39VHaAlQLqXYS/IKpgk3vsryuU6kkOcIIK8Dgw0a2tjoh5AOCaNa8pD+KgAGrFp35JIMSX1zui5diA==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.425.0.tgz",
+ "integrity": "sha512-CqAmnDST2o7+sKKw2/ffHKiYKE+jZb/Ce9U0P//ZYzqp9R1Wb016ID+W6DoxufyPJAS9dpRMcUDnAssmMIC/EA==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/protocol-http": "^3.0.6",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -615,17 +536,18 @@
}
},
"node_modules/@aws-sdk/middleware-flexible-checksums": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.523.0.tgz",
- "integrity": "sha512-lIa1TdWY9q4zsDFarfSnYcdrwPR+nypaU4n6hb95i620/1F5M5s6H8P0hYtwTNNvx+slrR8F3VBML9pjBtzAHw==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.425.0.tgz",
+ "integrity": "sha512-BDwn2vVVsC/AzmHXQlaZhEpKXL7GfKFpH7ZFccZuwEQBcyn8lVCcwtfaRe5P1mEe2wklVzOXd1dw8bt0+BOUPA==",
+ "peer": true,
"dependencies": {
"@aws-crypto/crc32": "3.0.0",
"@aws-crypto/crc32c": "3.0.0",
- "@aws-sdk/types": "3.523.0",
- "@smithy/is-array-buffer": "^2.1.1",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/types": "^2.10.1",
- "@smithy/util-utf8": "^2.1.1",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/is-array-buffer": "^2.0.0",
+ "@smithy/protocol-http": "^3.0.6",
+ "@smithy/types": "^2.3.4",
+ "@smithy/util-utf8": "^2.0.0",
"tslib": "^2.5.0"
},
"engines": {
@@ -633,13 +555,14 @@
}
},
"node_modules/@aws-sdk/middleware-host-header": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.523.0.tgz",
- "integrity": "sha512-4g3q7Ta9sdD9TMUuohBAkbx/e3I/juTqfKi7TPgP+8jxcYX72MOsgemAMHuP6CX27eyj4dpvjH+w4SIVDiDSmg==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.425.0.tgz",
+ "integrity": "sha512-E5Gt41LObQ+cr8QnLthwsH3MtVSNXy1AKJMowDr85h0vzqA/FHUkgHyOGntgozzjXT5M0MaSRYxS0xwTR5D4Ew==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/protocol-http": "^3.0.6",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -647,12 +570,13 @@
}
},
"node_modules/@aws-sdk/middleware-location-constraint": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.523.0.tgz",
- "integrity": "sha512-1QAUXX3U0jkARnU0yyjk81EO4Uw5dCeQOtvUY5s3bUOHatR3ThosQeIr6y9BCsbXHzNnDe1ytCjqAPyo8r/bYw==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.425.0.tgz",
+ "integrity": "sha512-3rt0LpGmL1LCRFuEObS1yERd9OEV+AEIAvhY7b53M7u7SyrjWQtpntWkI365L/QljhgMXQBfps2qO4JtrhQnsA==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -660,12 +584,13 @@
}
},
"node_modules/@aws-sdk/middleware-logger": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.523.0.tgz",
- "integrity": "sha512-PeDNJNhfiaZx54LBaLTXzUaJ9LXFwDFFIksipjqjvxMafnoVcQwKbkoPUWLe5ytT4nnL1LogD3s55mERFUsnwg==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.425.0.tgz",
+ "integrity": "sha512-INE9XWRXx2f4a/r2vOU0tAmgctVp7nEaEasemNtVBYhqbKLZvr9ndLBSgKGgJ8LIcXAoISipaMuFiqIGkFsm7A==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -673,13 +598,14 @@
}
},
"node_modules/@aws-sdk/middleware-recursion-detection": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.523.0.tgz",
- "integrity": "sha512-nZ3Vt7ehfSDYnrcg/aAfjjvpdE+61B3Zk68i6/hSUIegT3IH9H1vSW67NDKVp+50hcEfzWwM2HMPXxlzuyFyrw==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.425.0.tgz",
+ "integrity": "sha512-77gnzJ5b91bgD75L/ugpOyerx6lR3oyS4080X1YI58EzdyBMkDrHM4FbMcY2RynETi3lwXCFzLRyZjWXY1mRlw==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/protocol-http": "^3.0.6",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -687,18 +613,31 @@
}
},
"node_modules/@aws-sdk/middleware-sdk-s3": {
- "version": "3.525.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.525.0.tgz",
- "integrity": "sha512-ewFyyFM6wdFTOqCiId5GQNi7owDdLEonQhB4h8tF6r3HV52bRlDvZA4aDos+ft6N/XY2J6L0qlFTFq+/oiurXw==",
+ "version": "3.427.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.427.0.tgz",
+ "integrity": "sha512-virGCf9vsqYCLpmngLOZOVSYgVr2cCOCvTuRoT9vf5tD/63JwaC173jnbdoJO6CWI7ID5Iz0eNdgITXVQ2mpew==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@aws-sdk/util-arn-parser": "3.495.0",
- "@smithy/node-config-provider": "^2.2.4",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/signature-v4": "^2.1.3",
- "@smithy/smithy-client": "^2.4.2",
- "@smithy/types": "^2.10.1",
- "@smithy/util-config-provider": "^2.2.1",
+ "@aws-sdk/types": "3.425.0",
+ "@aws-sdk/util-arn-parser": "3.310.0",
+ "@smithy/protocol-http": "^3.0.6",
+ "@smithy/smithy-client": "^2.1.9",
+ "@smithy/types": "^2.3.4",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@aws-sdk/middleware-sdk-sts": {
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.425.0.tgz",
+ "integrity": "sha512-JFojrg76oKAoBknnr9EL5N2aJ1mRCtBqXoZYST58GSx8uYdFQ89qS65VNQ8JviBXzsrCNAn4vDhZ5Ch5E6TxGQ==",
+ "peer": true,
+ "dependencies": {
+ "@aws-sdk/middleware-signing": "3.425.0",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -706,16 +645,17 @@
}
},
"node_modules/@aws-sdk/middleware-signing": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.523.0.tgz",
- "integrity": "sha512-pFXV4don6qcmew/OvEjLUr2foVjzoJ8o5k57Oz9yAHz8INx3RHK8MP/K4mVhHo6n0SquRcWrm4kY/Tw+89gkEA==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.425.0.tgz",
+ "integrity": "sha512-ZpOfgJHk7ovQ0sSwg3tU4NxFOnz53lJlkJRf7S+wxQALHM0P2MJ6LYBrZaFMVsKiJxNIdZBXD6jclgHg72ZW6Q==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/property-provider": "^2.1.3",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/signature-v4": "^2.1.3",
- "@smithy/types": "^2.10.1",
- "@smithy/util-middleware": "^2.1.3",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/property-provider": "^2.0.0",
+ "@smithy/protocol-http": "^3.0.6",
+ "@smithy/signature-v4": "^2.0.0",
+ "@smithy/types": "^2.3.4",
+ "@smithy/util-middleware": "^2.0.3",
"tslib": "^2.5.0"
},
"engines": {
@@ -723,12 +663,13 @@
}
},
"node_modules/@aws-sdk/middleware-ssec": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.523.0.tgz",
- "integrity": "sha512-FaqAZQeF5cQzZLOIboIJRaWVOQ2F2pJZAXGF5D7nJsxYNFChotA0O0iWimBRxU35RNn7yirVxz35zQzs20ddIw==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.425.0.tgz",
+ "integrity": "sha512-9HTuXnHYAZWkwPC8x9tElsQjFPxDT//orbIFauS7VF5HkLCKn9J6O6lW1wKMxrEnDwfN/Vi3nw479MoPj5Ss0Q==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -736,14 +677,15 @@
}
},
"node_modules/@aws-sdk/middleware-user-agent": {
- "version": "3.525.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.525.0.tgz",
- "integrity": "sha512-4al/6uO+t/QIYXK2OgqzDKQzzLAYJza1vWFS+S0lJ3jLNGyLB5BMU5KqWjDzevYZ4eCnz2Nn7z0FveUTNz8YdQ==",
+ "version": "3.427.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.427.0.tgz",
+ "integrity": "sha512-y9HxYsNvnA3KqDl8w1jHeCwz4P9CuBEtu/G+KYffLeAMBsMZmh4SIkFFCO9wE/dyYg6+yo07rYcnnIfy7WA0bw==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@aws-sdk/util-endpoints": "3.525.0",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/types": "3.425.0",
+ "@aws-sdk/util-endpoints": "3.427.0",
+ "@smithy/protocol-http": "^3.0.6",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -751,33 +693,15 @@
}
},
"node_modules/@aws-sdk/region-config-resolver": {
- "version": "3.525.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.525.0.tgz",
- "integrity": "sha512-8kFqXk6UyKgTMi7N7QlhA6qM4pGPWbiUXqEY2RgUWngtxqNFGeM9JTexZeuavQI+qLLe09VPShPNX71fEDcM6w==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.425.0.tgz",
+ "integrity": "sha512-u7uv/iUOapIJdRgRkO3wnpYsUgV6ponsZJQgVg/8L+n+Vo5PQL5gAcIuAOwcYSKQPFaeK+KbmByI4SyOK203Vw==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/node-config-provider": "^2.2.4",
- "@smithy/types": "^2.10.1",
- "@smithy/util-config-provider": "^2.2.1",
- "@smithy/util-middleware": "^2.1.3",
- "tslib": "^2.5.0"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@aws-sdk/s3-request-presigner": {
- "version": "3.529.1",
- "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.529.1.tgz",
- "integrity": "sha512-54nNN/LjqlyUDTLO3U9D7xkYK4/UttcqfKoHQuPI6QabqZGT1hMFs5SzsyihNchgxci6ZTo4pqQQ3lGfE/HHOA==",
- "dependencies": {
- "@aws-sdk/signature-v4-multi-region": "3.525.0",
- "@aws-sdk/types": "3.523.0",
- "@aws-sdk/util-format-url": "3.523.0",
- "@smithy/middleware-endpoint": "^2.4.4",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/smithy-client": "^2.4.2",
- "@smithy/types": "^2.10.1",
+ "@smithy/node-config-provider": "^2.0.13",
+ "@smithy/types": "^2.3.4",
+ "@smithy/util-config-provider": "^2.0.0",
+ "@smithy/util-middleware": "^2.0.3",
"tslib": "^2.5.0"
},
"engines": {
@@ -785,15 +709,15 @@
}
},
"node_modules/@aws-sdk/signature-v4-multi-region": {
- "version": "3.525.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.525.0.tgz",
- "integrity": "sha512-j8gkdfiokaherRgokfZBl2azYBMHlegT7pOnR/3Y79TSz6G+bJeIkuNk8aUbJArr6R8nvAM1j4dt1rBM+efolQ==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.425.0.tgz",
+ "integrity": "sha512-7n2FRPE9rLaVa26xXQJ8TExrt53dWN824axQd1a0r5va0SmMQYG/iV5LBmwUlAntUSq46Lse4Q5YnbOVedGOmw==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/middleware-sdk-s3": "3.525.0",
- "@aws-sdk/types": "3.523.0",
- "@smithy/protocol-http": "^3.2.1",
- "@smithy/signature-v4": "^2.1.3",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/protocol-http": "^3.0.6",
+ "@smithy/signature-v4": "^2.0.0",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -801,15 +725,45 @@
}
},
"node_modules/@aws-sdk/token-providers": {
- "version": "3.529.1",
- "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.529.1.tgz",
- "integrity": "sha512-NpgMjsfpqiugbxrYGXtta914N43Mx/H0niidqv8wKMTgWQEtsJvYtOni+kuLXB+LmpjaMFNlpadooFU/bK4buA==",
+ "version": "3.427.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.427.0.tgz",
+ "integrity": "sha512-4E5E+4p8lJ69PBY400dJXF06LUHYx5lkKzBEsYqWWhoZcoftrvi24ltIhUDoGVLkrLcTHZIWSdFAWSos4hXqeg==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/client-sso-oidc": "3.529.1",
- "@aws-sdk/types": "3.523.0",
- "@smithy/property-provider": "^2.1.3",
- "@smithy/shared-ini-file-loader": "^2.3.3",
- "@smithy/types": "^2.10.1",
+ "@aws-crypto/sha256-browser": "3.0.0",
+ "@aws-crypto/sha256-js": "3.0.0",
+ "@aws-sdk/middleware-host-header": "3.425.0",
+ "@aws-sdk/middleware-logger": "3.425.0",
+ "@aws-sdk/middleware-recursion-detection": "3.425.0",
+ "@aws-sdk/middleware-user-agent": "3.427.0",
+ "@aws-sdk/types": "3.425.0",
+ "@aws-sdk/util-endpoints": "3.427.0",
+ "@aws-sdk/util-user-agent-browser": "3.425.0",
+ "@aws-sdk/util-user-agent-node": "3.425.0",
+ "@smithy/config-resolver": "^2.0.11",
+ "@smithy/fetch-http-handler": "^2.2.1",
+ "@smithy/hash-node": "^2.0.10",
+ "@smithy/invalid-dependency": "^2.0.10",
+ "@smithy/middleware-content-length": "^2.0.12",
+ "@smithy/middleware-endpoint": "^2.0.10",
+ "@smithy/middleware-retry": "^2.0.13",
+ "@smithy/middleware-serde": "^2.0.10",
+ "@smithy/middleware-stack": "^2.0.4",
+ "@smithy/node-config-provider": "^2.0.13",
+ "@smithy/node-http-handler": "^2.1.6",
+ "@smithy/property-provider": "^2.0.0",
+ "@smithy/protocol-http": "^3.0.6",
+ "@smithy/shared-ini-file-loader": "^2.0.6",
+ "@smithy/smithy-client": "^2.1.9",
+ "@smithy/types": "^2.3.4",
+ "@smithy/url-parser": "^2.0.10",
+ "@smithy/util-base64": "^2.0.0",
+ "@smithy/util-body-length-browser": "^2.0.0",
+ "@smithy/util-body-length-node": "^2.1.0",
+ "@smithy/util-defaults-mode-browser": "^2.0.13",
+ "@smithy/util-defaults-mode-node": "^2.0.15",
+ "@smithy/util-retry": "^2.0.3",
+ "@smithy/util-utf8": "^2.0.0",
"tslib": "^2.5.0"
},
"engines": {
@@ -817,11 +771,12 @@
}
},
"node_modules/@aws-sdk/types": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.523.0.tgz",
- "integrity": "sha512-AqGIu4u+SxPiUuNBp2acCVcq80KDUFjxe6e3cMTvKWTzCbrVk1AXv0dAaJnCmdkWIha6zJDWxpIk/aL4EGhZ9A==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.425.0.tgz",
+ "integrity": "sha512-6lqbmorwerN4v+J5dqbHPAsjynI0mkEF+blf+69QTaKKGaxBBVaXgqoqul9RXYcK5MMrrYRbQIMd0zYOoy90kA==",
+ "peer": true,
"dependencies": {
- "@smithy/types": "^2.10.1",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -829,9 +784,10 @@
}
},
"node_modules/@aws-sdk/util-arn-parser": {
- "version": "3.495.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.495.0.tgz",
- "integrity": "sha512-hwdA3XAippSEUxs7jpznwD63YYFR+LtQvlEcebPTgWR9oQgG9TfS+39PUfbnEeje1ICuOrN3lrFqFbmP9uzbMg==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.310.0.tgz",
+ "integrity": "sha512-jL8509owp/xB9+Or0pvn3Fe+b94qfklc2yPowZZIFAkFcCSIdkIglz18cPDWnYAcy9JGewpMS1COXKIUhZkJsA==",
+ "peer": true,
"dependencies": {
"tslib": "^2.5.0"
},
@@ -840,27 +796,13 @@
}
},
"node_modules/@aws-sdk/util-endpoints": {
- "version": "3.525.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.525.0.tgz",
- "integrity": "sha512-DIW7WWU5tIGkeeKX6NJUyrEIdWMiqjLQG3XBzaUj+ufIENwNjdAHhlD8l2vX7Yr3JZRT6yN/84wBCj7Tw1xd1g==",
+ "version": "3.427.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.427.0.tgz",
+ "integrity": "sha512-rSyiAIFF/EVvity/+LWUqoTMJ0a25RAc9iqx0WZ4tf1UjuEXRRXxZEb+jEZg1bk+pY84gdLdx9z5E+MSJCZxNQ==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/types": "^2.10.1",
- "@smithy/util-endpoints": "^1.1.4",
- "tslib": "^2.5.0"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@aws-sdk/util-format-url": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.523.0.tgz",
- "integrity": "sha512-OWi+8bsEfxG4DvHkWauxyWVZMbYrezC49DbGDEu1lJgk9eqQALlyGkZHt9O8KKfyT/mdqQbR8qbpkxqYcGuHVA==",
- "dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/querystring-builder": "^2.1.3",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/node-config-provider": "^2.0.13",
"tslib": "^2.5.0"
},
"engines": {
@@ -871,6 +813,7 @@
"version": "3.310.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz",
"integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==",
+ "peer": true,
"dependencies": {
"tslib": "^2.5.0"
},
@@ -879,24 +822,26 @@
}
},
"node_modules/@aws-sdk/util-user-agent-browser": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.523.0.tgz",
- "integrity": "sha512-6ZRNdGHX6+HQFqTbIA5+i8RWzxFyxsZv8D3soRfpdyWIKkzhSz8IyRKXRciwKBJDaC7OX2jzGE90wxRQft27nA==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.425.0.tgz",
+ "integrity": "sha512-22Y9iMtjGcFjGILR6/xdp1qRezlHVLyXtnpEsbuPTiernRCPk6zfAnK/ATH77r02MUjU057tdxVkd5umUBTn9Q==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/types": "^2.3.4",
"bowser": "^2.11.0",
"tslib": "^2.5.0"
}
},
"node_modules/@aws-sdk/util-user-agent-node": {
- "version": "3.525.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.525.0.tgz",
- "integrity": "sha512-88Wjt4efyUSBGcyIuh1dvoMqY1k15jpJc5A/3yi67clBQEFsu9QCodQCQPqmRjV3VRcMtBOk+jeCTiUzTY5dRQ==",
+ "version": "3.425.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.425.0.tgz",
+ "integrity": "sha512-SIR4F5uQeeVAi8lv4OgRirtdtNi5zeyogTuQgGi9su8F/WP1N6JqxofcwpUY5f8/oJ2UlXr/tx1f09UHfJJzvA==",
+ "peer": true,
"dependencies": {
- "@aws-sdk/types": "3.523.0",
- "@smithy/node-config-provider": "^2.2.4",
- "@smithy/types": "^2.10.1",
+ "@aws-sdk/types": "3.425.0",
+ "@smithy/node-config-provider": "^2.0.13",
+ "@smithy/types": "^2.3.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -915,16 +860,17 @@
"version": "3.259.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz",
"integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==",
+ "peer": true,
"dependencies": {
"tslib": "^2.3.1"
}
},
"node_modules/@aws-sdk/xml-builder": {
- "version": "3.523.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.523.0.tgz",
- "integrity": "sha512-wfvyVymj2TUw7SuDor9IuFcAzJZvWRBZotvY/wQJOlYa3UP3Oezzecy64N4FWfBJEsZdrTN+HOZFl+IzTWWnUA==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.310.0.tgz",
+ "integrity": "sha512-TqELu4mOuSIKQCqj63fGVs86Yh+vBx5nHRpWKNUNhB2nPTpfbziTs5c1X358be3peVWA4wPxW7Nt53KIg1tnNw==",
+ "peer": true,
"dependencies": {
- "@smithy/types": "^2.10.1",
"tslib": "^2.5.0"
},
"engines": {
@@ -935,7 +881,6 @@
"version": "7.23.5",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
"integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
- "dev": true,
"dependencies": {
"@babel/highlight": "^7.23.4",
"chalk": "^2.4.2"
@@ -948,7 +893,6 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
"dependencies": {
"color-convert": "^1.9.0"
},
@@ -960,7 +904,6 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -974,7 +917,6 @@
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
"dependencies": {
"color-name": "1.1.3"
}
@@ -982,14 +924,12 @@
"node_modules/@babel/code-frame/node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
},
"node_modules/@babel/code-frame/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
"engines": {
"node": ">=0.8.0"
}
@@ -998,7 +938,6 @@
"version": "7.23.5",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
"integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
- "dev": true,
"engines": {
"node": ">=6.9.0"
}
@@ -1007,7 +946,6 @@
"version": "7.23.5",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz",
"integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==",
- "dev": true,
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.23.5",
@@ -1036,14 +974,12 @@
"node_modules/@babel/core/node_modules/convert-source-map": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
- "dev": true
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
},
"node_modules/@babel/generator": {
"version": "7.23.5",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz",
"integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==",
- "dev": true,
"dependencies": {
"@babel/types": "^7.23.5",
"@jridgewell/gen-mapping": "^0.3.2",
@@ -1058,7 +994,6 @@
"version": "7.22.5",
"resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
"integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
- "dev": true,
"dependencies": {
"@babel/types": "^7.22.5"
},
@@ -1070,7 +1005,6 @@
"version": "7.22.15",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz",
"integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==",
- "dev": true,
"dependencies": {
"@babel/compat-data": "^7.22.9",
"@babel/helper-validator-option": "^7.22.15",
@@ -1086,7 +1020,6 @@
"version": "7.22.20",
"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
"integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
- "dev": true,
"engines": {
"node": ">=6.9.0"
}
@@ -1095,7 +1028,6 @@
"version": "7.23.0",
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
"integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
- "dev": true,
"dependencies": {
"@babel/template": "^7.22.15",
"@babel/types": "^7.23.0"
@@ -1108,7 +1040,6 @@
"version": "7.22.5",
"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
"integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
- "dev": true,
"dependencies": {
"@babel/types": "^7.22.5"
},
@@ -1120,7 +1051,6 @@
"version": "7.22.15",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
"integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
- "dev": true,
"dependencies": {
"@babel/types": "^7.22.15"
},
@@ -1132,7 +1062,6 @@
"version": "7.23.3",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
"integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
- "dev": true,
"dependencies": {
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-module-imports": "^7.22.15",
@@ -1151,7 +1080,6 @@
"version": "7.22.5",
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
"integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
- "dev": true,
"engines": {
"node": ">=6.9.0"
}
@@ -1160,7 +1088,6 @@
"version": "7.22.5",
"resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
"integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
- "dev": true,
"dependencies": {
"@babel/types": "^7.22.5"
},
@@ -1172,7 +1099,6 @@
"version": "7.22.6",
"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
"integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
- "dev": true,
"dependencies": {
"@babel/types": "^7.22.5"
},
@@ -1184,7 +1110,6 @@
"version": "7.23.4",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
"integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
- "dev": true,
"engines": {
"node": ">=6.9.0"
}
@@ -1193,7 +1118,6 @@
"version": "7.22.20",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
- "dev": true,
"engines": {
"node": ">=6.9.0"
}
@@ -1202,7 +1126,6 @@
"version": "7.23.5",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
"integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
- "dev": true,
"engines": {
"node": ">=6.9.0"
}
@@ -1211,7 +1134,6 @@
"version": "7.23.5",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz",
"integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==",
- "dev": true,
"dependencies": {
"@babel/template": "^7.22.15",
"@babel/traverse": "^7.23.5",
@@ -1225,7 +1147,6 @@
"version": "7.23.4",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
"integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
- "dev": true,
"dependencies": {
"@babel/helper-validator-identifier": "^7.22.20",
"chalk": "^2.4.2",
@@ -1239,7 +1160,6 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
"dependencies": {
"color-convert": "^1.9.0"
},
@@ -1251,7 +1171,6 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -1265,7 +1184,6 @@
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
"dependencies": {
"color-name": "1.1.3"
}
@@ -1273,14 +1191,12 @@
"node_modules/@babel/highlight/node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
},
"node_modules/@babel/highlight/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
"engines": {
"node": ">=0.8.0"
}
@@ -1289,7 +1205,6 @@
"version": "7.23.5",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz",
"integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==",
- "dev": true,
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -1301,7 +1216,6 @@
"version": "7.23.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
"integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
- "dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1343,10 +1257,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.23.9",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz",
- "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==",
- "dev": true,
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz",
+ "integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
@@ -1358,7 +1271,6 @@
"version": "7.22.15",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
"integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
- "dev": true,
"dependencies": {
"@babel/code-frame": "^7.22.13",
"@babel/parser": "^7.22.15",
@@ -1372,7 +1284,6 @@
"version": "7.23.5",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz",
"integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==",
- "dev": true,
"dependencies": {
"@babel/code-frame": "^7.23.5",
"@babel/generator": "^7.23.5",
@@ -1393,7 +1304,6 @@
"version": "7.23.5",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz",
"integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==",
- "dev": true,
"dependencies": {
"@babel/helper-string-parser": "^7.23.4",
"@babel/helper-validator-identifier": "^7.22.20",
@@ -1445,7 +1355,6 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz",
"integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==",
- "dev": true,
"dependencies": {
"@emotion/memoize": "^0.8.1"
}
@@ -1453,19 +1362,18 @@
"node_modules/@emotion/memoize": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
- "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==",
- "dev": true
+ "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="
},
"node_modules/@emotion/react": {
- "version": "11.11.3",
- "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.3.tgz",
- "integrity": "sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA==",
+ "version": "11.11.1",
+ "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz",
+ "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.18.3",
"@emotion/babel-plugin": "^11.11.0",
"@emotion/cache": "^11.11.0",
- "@emotion/serialize": "^1.1.3",
+ "@emotion/serialize": "^1.1.2",
"@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
"@emotion/utils": "^1.2.1",
"@emotion/weak-memoize": "^0.3.1",
@@ -1481,9 +1389,9 @@
}
},
"node_modules/@emotion/serialize": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.3.tgz",
- "integrity": "sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz",
+ "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==",
"dev": true,
"dependencies": {
"@emotion/hash": "^0.9.1",
@@ -1525,8 +1433,7 @@
"node_modules/@emotion/stylis": {
"version": "0.8.5",
"resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz",
- "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==",
- "dev": true
+ "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ=="
},
"node_modules/@emotion/unitless": {
"version": "0.8.1",
@@ -1555,6 +1462,246 @@
"integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==",
"dev": true
},
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.8.tgz",
+ "integrity": "sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.8.tgz",
+ "integrity": "sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.8.tgz",
+ "integrity": "sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.8.tgz",
+ "integrity": "sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.8.tgz",
+ "integrity": "sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.8.tgz",
+ "integrity": "sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.8.tgz",
+ "integrity": "sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.8.tgz",
+ "integrity": "sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.8.tgz",
+ "integrity": "sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.8.tgz",
+ "integrity": "sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.8.tgz",
+ "integrity": "sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.8.tgz",
+ "integrity": "sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.8.tgz",
+ "integrity": "sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.8.tgz",
+ "integrity": "sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.8.tgz",
+ "integrity": "sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/@esbuild/linux-x64": {
"version": "0.19.8",
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.8.tgz",
@@ -1571,32 +1718,128 @@
"node": ">=12"
}
},
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.8.tgz",
+ "integrity": "sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.8.tgz",
+ "integrity": "sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.8.tgz",
+ "integrity": "sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.8.tgz",
+ "integrity": "sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.8.tgz",
+ "integrity": "sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.19.8",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.8.tgz",
+ "integrity": "sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/@floating-ui/core": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz",
- "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.2.tgz",
+ "integrity": "sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==",
"dev": true,
"dependencies": {
- "@floating-ui/utils": "^0.2.1"
+ "@floating-ui/utils": "^0.1.3"
}
},
"node_modules/@floating-ui/dom": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.1.tgz",
- "integrity": "sha512-iA8qE43/H5iGozC3W0YSnVSW42Vh522yyM1gj+BqRwVsTNOyr231PsXDaV04yT39PsO0QL2QpbI/M0ZaLUQgRQ==",
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz",
+ "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==",
"dev": true,
"dependencies": {
- "@floating-ui/core": "^1.6.0",
- "@floating-ui/utils": "^0.2.1"
+ "@floating-ui/core": "^1.4.2",
+ "@floating-ui/utils": "^0.1.3"
}
},
"node_modules/@floating-ui/react-dom": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz",
- "integrity": "sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.4.tgz",
+ "integrity": "sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ==",
"dev": true,
"dependencies": {
- "@floating-ui/dom": "^1.6.1"
+ "@floating-ui/dom": "^1.5.1"
},
"peerDependencies": {
"react": ">=16.8.0",
@@ -1604,16 +1847,15 @@
}
},
"node_modules/@floating-ui/utils": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz",
- "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==",
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz",
+ "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==",
"dev": true
},
"node_modules/@formatjs/ecma402-abstract": {
"version": "1.11.4",
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.4.tgz",
"integrity": "sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==",
- "dev": true,
"dependencies": {
"@formatjs/intl-localematcher": "0.2.25",
"tslib": "^2.1.0"
@@ -1623,7 +1865,6 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.1.tgz",
"integrity": "sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==",
- "dev": true,
"dependencies": {
"tslib": "^2.1.0"
}
@@ -1632,7 +1873,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.0.tgz",
"integrity": "sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==",
- "dev": true,
"dependencies": {
"@formatjs/ecma402-abstract": "1.11.4",
"@formatjs/icu-skeleton-parser": "1.3.6",
@@ -1643,7 +1883,6 @@
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.6.tgz",
"integrity": "sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==",
- "dev": true,
"dependencies": {
"@formatjs/ecma402-abstract": "1.11.4",
"tslib": "^2.1.0"
@@ -1653,7 +1892,6 @@
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.2.1.tgz",
"integrity": "sha512-vgvyUOOrzqVaOFYzTf2d3+ToSkH2JpR7x/4U1RyoHQLmvEaTQvXJ7A2qm1Iy3brGNXC/+/7bUlc3lpH+h/LOJA==",
- "dev": true,
"dependencies": {
"@formatjs/ecma402-abstract": "1.11.4",
"@formatjs/fast-memoize": "1.2.1",
@@ -1676,7 +1914,6 @@
"version": "5.4.3",
"resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-5.4.3.tgz",
"integrity": "sha512-4r12A3mS5dp5hnSaQCWBuBNfi9Amgx2dzhU4lTFfhSxgb5DOAiAbMpg6+7gpWZgl4ahsj3l2r/iHIjdmdXOE2Q==",
- "dev": true,
"dependencies": {
"@formatjs/ecma402-abstract": "1.11.4",
"@formatjs/intl-localematcher": "0.2.25",
@@ -1687,7 +1924,6 @@
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-6.5.3.tgz",
"integrity": "sha512-ozpz515F/+3CU+HnLi5DYPsLa6JoCfBggBSSg/8nOB5LYSFW9+ZgNQJxJ8tdhKYeODT+4qVHX27EeJLoxLGLNg==",
- "dev": true,
"dependencies": {
"@formatjs/ecma402-abstract": "1.11.4",
"@formatjs/intl-localematcher": "0.2.25",
@@ -1698,7 +1934,6 @@
"version": "0.2.25",
"resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.25.tgz",
"integrity": "sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==",
- "dev": true,
"dependencies": {
"tslib": "^2.1.0"
}
@@ -1707,7 +1942,6 @@
"version": "0.2.36",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz",
"integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==",
- "dev": true,
"hasInstallScript": true,
"engines": {
"node": ">=6"
@@ -1717,7 +1951,6 @@
"version": "1.2.36",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz",
"integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==",
- "dev": true,
"hasInstallScript": true,
"dependencies": {
"@fortawesome/fontawesome-common-types": "^0.2.36"
@@ -1730,7 +1963,6 @@
"version": "5.13.1",
"resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.13.1.tgz",
"integrity": "sha512-dKwF+NpIV2LVCNBA7hibH53k+ChF4Wu59P2z35gu3zwRBZpmpLVhS9k1/RiSqUqkyXUQvA2rSv48GY6wp5axZQ==",
- "dev": true,
"dependencies": {
"@fortawesome/fontawesome-common-types": "^0.2.29"
},
@@ -1742,7 +1974,6 @@
"version": "5.15.4",
"resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz",
"integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==",
- "dev": true,
"hasInstallScript": true,
"dependencies": {
"@fortawesome/fontawesome-common-types": "^0.2.36"
@@ -1755,7 +1986,6 @@
"version": "0.1.19",
"resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.19.tgz",
"integrity": "sha512-Hyb+lB8T18cvLNX0S3llz7PcSOAJMLwiVKBuuzwM/nI5uoBw+gQjnf9il0fR1C3DKOI5Kc79pkJ4/xB0Uw9aFQ==",
- "dev": true,
"dependencies": {
"prop-types": "^15.8.1"
},
@@ -1768,7 +1998,6 @@
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
"integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
- "dev": true,
"dependencies": {
"@jridgewell/set-array": "^1.0.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
@@ -1782,7 +2011,6 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
"integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
- "dev": true,
"engines": {
"node": ">=6.0.0"
}
@@ -1791,7 +2019,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "dev": true,
"engines": {
"node": ">=6.0.0"
}
@@ -1799,14 +2026,12 @@
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.4.15",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
- "dev": true
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.20",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
"integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
- "dev": true,
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
@@ -1903,7 +2128,6 @@
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz",
"integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==",
- "dev": true,
"peerDependencies": {
"@types/react": "*"
},
@@ -1914,17 +2138,17 @@
}
},
"node_modules/@mui/base": {
- "version": "5.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.36.tgz",
- "integrity": "sha512-6A8fYiXgjqTO6pgj31Hc8wm1M3rFYCxDRh09dBVk0L0W4cb2lnurRJa3cAyic6hHY+we1S58OdGYRbKmOsDpGQ==",
+ "version": "5.0.0-beta.26",
+ "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.26.tgz",
+ "integrity": "sha512-gPMRKC84VRw+tjqYoyBzyrBUqHQucMXdlBpYazHa5rCXrb91fYEQk5SqQ2U5kjxx9QxZxTBvWAmZ6DblIgaGhQ==",
"dev": true,
"dependencies": {
- "@babel/runtime": "^7.23.9",
- "@floating-ui/react-dom": "^2.0.8",
- "@mui/types": "^7.2.13",
- "@mui/utils": "^5.15.9",
+ "@babel/runtime": "^7.23.4",
+ "@floating-ui/react-dom": "^2.0.4",
+ "@mui/types": "^7.2.10",
+ "@mui/utils": "^5.14.20",
"@popperjs/core": "^2.11.8",
- "clsx": "^2.1.0",
+ "clsx": "^2.0.0",
"prop-types": "^15.8.1"
},
"engines": {
@@ -1946,9 +2170,9 @@
}
},
"node_modules/@mui/core-downloads-tracker": {
- "version": "5.15.9",
- "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.9.tgz",
- "integrity": "sha512-CSDpVevGaxsvMkiYBZ8ztki1z/eT0mM2MqUT21eCRiMz3DU4zQw5rXG5ML/yTuJF9Z2Wv9SliIeaRAuSR/9Nig==",
+ "version": "5.14.20",
+ "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.20.tgz",
+ "integrity": "sha512-fXoGe8VOrIYajqALysFuyal1q1YmBARqJ3tmnWYDVl0scu8f6h6tZQbS2K8BY28QwkWNGyv4WRfuUkzN5HR3Ow==",
"dev": true,
"funding": {
"type": "opencollective",
@@ -1956,12 +2180,12 @@
}
},
"node_modules/@mui/icons-material": {
- "version": "5.15.9",
- "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.15.9.tgz",
- "integrity": "sha512-6tLQoM6RylQuDnHR6qQay0G0pJgKmrhn5MIm0IfrwtmSO8eV5iUFR+nNUTXsWa24gt7ZbIKnJ962UlYaeXa4bg==",
+ "version": "5.14.19",
+ "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.14.19.tgz",
+ "integrity": "sha512-yjP8nluXxZGe3Y7pS+yxBV+hWZSsSBampCxkZwaw+1l+feL+rfP74vbEFbMrX/Kil9I/Y1tWfy5bs/eNvwNpWw==",
"dev": true,
"dependencies": {
- "@babel/runtime": "^7.23.9"
+ "@babel/runtime": "^7.23.4"
},
"engines": {
"node": ">=12.0.0"
@@ -1982,20 +2206,20 @@
}
},
"node_modules/@mui/material": {
- "version": "5.15.9",
- "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.15.9.tgz",
- "integrity": "sha512-kbHTZDcFmN8GHKzRpImUEl9AJfFWI/0Kl+DsYVT3kHzQWUuHiKm3uHXR1RCOqr7H8IgHFPdbxItmCSQ/mj7zgg==",
+ "version": "5.14.20",
+ "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.20.tgz",
+ "integrity": "sha512-SUcPZnN6e0h1AtrDktEl76Dsyo/7pyEUQ+SAVe9XhHg/iliA0b4Vo+Eg4HbNkELsMbpDsUF4WHp7rgflPG7qYQ==",
"dev": true,
"dependencies": {
- "@babel/runtime": "^7.23.9",
- "@mui/base": "5.0.0-beta.36",
- "@mui/core-downloads-tracker": "^5.15.9",
- "@mui/system": "^5.15.9",
- "@mui/types": "^7.2.13",
- "@mui/utils": "^5.15.9",
- "@types/react-transition-group": "^4.4.10",
- "clsx": "^2.1.0",
- "csstype": "^3.1.3",
+ "@babel/runtime": "^7.23.4",
+ "@mui/base": "5.0.0-beta.26",
+ "@mui/core-downloads-tracker": "^5.14.20",
+ "@mui/system": "^5.14.20",
+ "@mui/types": "^7.2.10",
+ "@mui/utils": "^5.14.20",
+ "@types/react-transition-group": "^4.4.9",
+ "clsx": "^2.0.0",
+ "csstype": "^3.1.2",
"prop-types": "^15.8.1",
"react-is": "^18.2.0",
"react-transition-group": "^4.4.5"
@@ -2027,13 +2251,13 @@
}
},
"node_modules/@mui/private-theming": {
- "version": "5.15.9",
- "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.9.tgz",
- "integrity": "sha512-/aMJlDOxOTAXyp4F2rIukW1O0anodAMCkv1DfBh/z9vaKHY3bd5fFf42wmP+0GRmwMinC5aWPpNfHXOED1fEtg==",
+ "version": "5.14.20",
+ "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.14.20.tgz",
+ "integrity": "sha512-WV560e1vhs2IHCh0pgUaWHznrcrVoW9+cDCahU1VTkuwPokWVvb71ccWQ1f8Y3tRBPPcNkU2dChkkRJChLmQlQ==",
"dev": true,
"dependencies": {
- "@babel/runtime": "^7.23.9",
- "@mui/utils": "^5.15.9",
+ "@babel/runtime": "^7.23.4",
+ "@mui/utils": "^5.14.20",
"prop-types": "^15.8.1"
},
"engines": {
@@ -2054,14 +2278,14 @@
}
},
"node_modules/@mui/styled-engine": {
- "version": "5.15.9",
- "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.9.tgz",
- "integrity": "sha512-NRKtYkL5PZDH7dEmaLEIiipd3mxNnQSO+Yo8rFNBNptY8wzQnQ+VjayTq39qH7Sast5cwHKYFusUrQyD+SS4Og==",
+ "version": "5.14.20",
+ "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.14.20.tgz",
+ "integrity": "sha512-Vs4nGptd9wRslo9zeRkuWcZeIEp+oYbODy+fiZKqqr4CH1Gfi9fdP0Q1tGYk8OiJ2EPB/tZSAyOy62Hyp/iP7g==",
"dev": true,
"dependencies": {
- "@babel/runtime": "^7.23.9",
+ "@babel/runtime": "^7.23.4",
"@emotion/cache": "^11.11.0",
- "csstype": "^3.1.3",
+ "csstype": "^3.1.2",
"prop-types": "^15.8.1"
},
"engines": {
@@ -2086,18 +2310,18 @@
}
},
"node_modules/@mui/system": {
- "version": "5.15.9",
- "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.9.tgz",
- "integrity": "sha512-SxkaaZ8jsnIJ77bBXttfG//LUf6nTfOcaOuIgItqfHv60ZCQy/Hu7moaob35kBb+guxVJnoSZ+7vQJrA/E7pKg==",
+ "version": "5.14.20",
+ "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.20.tgz",
+ "integrity": "sha512-jKOGtK4VfYZG5kdaryUHss4X6hzcfh0AihT8gmnkfqRtWP7xjY+vPaUhhuSeibE5sqA5wCtdY75z6ep9pxFnIg==",
"dev": true,
"dependencies": {
- "@babel/runtime": "^7.23.9",
- "@mui/private-theming": "^5.15.9",
- "@mui/styled-engine": "^5.15.9",
- "@mui/types": "^7.2.13",
- "@mui/utils": "^5.15.9",
- "clsx": "^2.1.0",
- "csstype": "^3.1.3",
+ "@babel/runtime": "^7.23.4",
+ "@mui/private-theming": "^5.14.20",
+ "@mui/styled-engine": "^5.14.19",
+ "@mui/types": "^7.2.10",
+ "@mui/utils": "^5.14.20",
+ "clsx": "^2.0.0",
+ "csstype": "^3.1.2",
"prop-types": "^15.8.1"
},
"engines": {
@@ -2126,9 +2350,9 @@
}
},
"node_modules/@mui/types": {
- "version": "7.2.13",
- "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.13.tgz",
- "integrity": "sha512-qP9OgacN62s+l8rdDhSFRe05HWtLLJ5TGclC9I1+tQngbssu0m2dmFZs+Px53AcOs9fD7TbYd4gc9AXzVqO/+g==",
+ "version": "7.2.10",
+ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.10.tgz",
+ "integrity": "sha512-wX1vbDC+lzF7FlhT6A3ffRZgEoKWPF8VqRoTu4lZwouFX2t90KyCMsgepMw5DxLak1BSp/KP86CmtZttikb/gQ==",
"dev": true,
"peerDependencies": {
"@types/react": "^17.0.0 || ^18.0.0"
@@ -2140,12 +2364,12 @@
}
},
"node_modules/@mui/utils": {
- "version": "5.15.9",
- "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.9.tgz",
- "integrity": "sha512-yDYfr61bCYUz1QtwvpqYy/3687Z8/nS4zv7lv/ih/6ZFGMl1iolEvxRmR84v2lOYxlds+kq1IVYbXxDKh8Z9sg==",
+ "version": "5.14.20",
+ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.20.tgz",
+ "integrity": "sha512-Y6yL5MoFmtQml20DZnaaK1znrCEwG6/vRSzW8PKOTrzhyqKIql0FazZRUR7sA5EPASgiyKZfq0FPwISRXm5NdA==",
"dev": true,
"dependencies": {
- "@babel/runtime": "^7.23.9",
+ "@babel/runtime": "^7.23.4",
"@types/prop-types": "^15.7.11",
"prop-types": "^15.8.1",
"react-is": "^18.2.0"
@@ -2180,20 +2404,22 @@
"node_modules/@react-dnd/asap": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@react-dnd/asap/-/asap-4.0.1.tgz",
- "integrity": "sha512-kLy0PJDDwvwwTXxqTFNAAllPHD73AycE9ypWeln/IguoGBEbvFcPDbCV03G52bEcC5E+YgupBE0VzHGdC8SIXg==",
- "dev": true
+ "integrity": "sha512-kLy0PJDDwvwwTXxqTFNAAllPHD73AycE9ypWeln/IguoGBEbvFcPDbCV03G52bEcC5E+YgupBE0VzHGdC8SIXg=="
},
"node_modules/@react-dnd/invariant": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@react-dnd/invariant/-/invariant-2.0.0.tgz",
- "integrity": "sha512-xL4RCQBCBDJ+GRwKTFhGUW8GXa4yoDfJrPbLblc3U09ciS+9ZJXJ3Qrcs/x2IODOdIE5kQxvMmE2UKyqUictUw==",
- "dev": true
+ "integrity": "sha512-xL4RCQBCBDJ+GRwKTFhGUW8GXa4yoDfJrPbLblc3U09ciS+9ZJXJ3Qrcs/x2IODOdIE5kQxvMmE2UKyqUictUw=="
+ },
+ "node_modules/@react-dnd/shallowequal": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@react-dnd/shallowequal/-/shallowequal-2.0.0.tgz",
+ "integrity": "sha512-Pc/AFTdwZwEKJxFJvlxrSmGe/di+aAOBn60sremrpLo6VI/6cmiUYNNwlI5KNYttg7uypzA3ILPMPgxB2GYZEg=="
},
"node_modules/@reduxjs/toolkit": {
"version": "1.9.7",
"resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz",
"integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==",
- "dev": true,
"dependencies": {
"immer": "^9.0.21",
"redux": "^4.2.1",
@@ -2214,14 +2440,118 @@
}
},
"node_modules/@remix-run/router": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.0.tgz",
- "integrity": "sha512-HOil5aFtme37dVQTB6M34G95kPM3MMuqSmIRVCC52eKV+Y/tGSqw9P3rWhlAx6A+mz+MoX+XxsGsNJbaI5qCgQ==",
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.13.1.tgz",
+ "integrity": "sha512-so+DHzZKsoOcoXrILB4rqDkMDy7NLMErRdOxvzvOKb507YINKUP4Di+shbTZDhSE/pBZ+vr7XGIpcOO0VLSA+Q==",
"dev": true,
"engines": {
"node": ">=14.0.0"
}
},
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.7.0.tgz",
+ "integrity": "sha512-rGku10pL1StFlFvXX5pEv88KdGW6DHUghsxyP/aRYb9eH+74jTGJ3U0S/rtlsQ4yYq1Hcc7AMkoJOb1xu29Fxw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.7.0.tgz",
+ "integrity": "sha512-/EBw0cuJ/KVHiU2qyVYUhogXz7W2vXxBzeE9xtVIMC+RyitlY2vvaoysMUqASpkUtoNIHlnKTu/l7mXOPgnKOA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.7.0.tgz",
+ "integrity": "sha512-4VXG1bgvClJdbEYYjQ85RkOtwN8sqI3uCxH0HC5w9fKdqzRzgG39K7GAehATGS8jghA7zNoS5CjSKkDEqWmNZg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.7.0.tgz",
+ "integrity": "sha512-/ImhO+T/RWJ96hUbxiCn2yWI0/MeQZV/aeukQQfhxiSXuZJfyqtdHPUPrc84jxCfXTxbJLmg4q+GBETeb61aNw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.7.0.tgz",
+ "integrity": "sha512-zhye8POvTyUXlKbfPBVqoHy3t43gIgffY+7qBFqFxNqVtltQLtWeHNAbrMnXiLIfYmxcoL/feuLDote2tx+Qbg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.7.0.tgz",
+ "integrity": "sha512-RAdr3OJnUum6Vs83cQmKjxdTg31zJnLLTkjhcFt0auxM6jw00GD6IPFF42uasYPr/wGC6TRm7FsQiJyk0qIEfg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.7.0.tgz",
+ "integrity": "sha512-nhWwYsiJwZGq7SyR3afS3EekEOsEAlrNMpPC4ZDKn5ooYSEjDLe9W/xGvoIV8/F/+HNIY6jY8lIdXjjxfxopXw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.7.0.tgz",
+ "integrity": "sha512-rlfy5RnQG1aop1BL/gjdH42M2geMUyVQqd52GJVirqYc787A/XVvl3kQ5NG/43KXgOgE9HXgCaEH05kzQ+hLoA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
"node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.7.0.tgz",
@@ -2248,12 +2578,51 @@
"linux"
]
},
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.7.0.tgz",
+ "integrity": "sha512-CPtgaQL1aaPc80m8SCVEoxFGHxKYIt3zQYC3AccL/SqqiWXblo3pgToHuBwR8eCP2Toa+X1WmTR/QKFMykws7g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.7.0.tgz",
+ "integrity": "sha512-pmioUlttNh9GXF5x2CzNa7Z8kmRTyhEzzAC+2WOOapjewMbl+3tGuAnxbwc5JyG8Jsz2+hf/QD/n5VjimOZ63g==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.7.0.tgz",
+ "integrity": "sha512-SeZzC2QhhdBQUm3U0c8+c/P6UlRyBcLL2Xp5KX7z46WXZxzR8RJSIWL9wSUeBTgxog5LTPJuPj0WOT9lvrtP7Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
"node_modules/@smithy/abort-controller": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.4.tgz",
- "integrity": "sha512-66HO817oIZ2otLIqy06R5muapqZjkgF1jfU0wyNko8cuqZNu8nbS9ljlhcRYw/M/uWRJzB9ih81DLSHhYbBLlQ==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.11.tgz",
+ "integrity": "sha512-MSzE1qR2JNyb7ot3blIOT3O3H0Jn06iNDEgHRaqZUwBgx5EG+VIx24Y21tlKofzYryIOcWpIohLrIIyocD6LMA==",
"dependencies": {
- "@smithy/types": "^2.11.0",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2261,49 +2630,34 @@
}
},
"node_modules/@smithy/chunked-blob-reader": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.1.1.tgz",
- "integrity": "sha512-NjNFCKxC4jVvn+lUr3Yo4/PmUJj3tbyqH6GNHueyTGS5Q27vlEJ1MkNhUDV8QGxJI7Bodnc2pD18lU2zRfhHlQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.0.0.tgz",
+ "integrity": "sha512-k+J4GHJsMSAIQPChGBrjEmGS+WbPonCXesoqP9fynIqjn7rdOThdH8FAeCmokP9mxTYKQAKoHCLPzNlm6gh7Wg==",
+ "peer": true,
"dependencies": {
"tslib": "^2.5.0"
}
},
"node_modules/@smithy/chunked-blob-reader-native": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.1.2.tgz",
- "integrity": "sha512-KwR9fFc/t5jH9RQFbrA9DHSmI+URTmB4v+i7H08UNET9AcN6GGBTBMiDKpA56Crw6CN7cSaSDXaRS/AsfOuupQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.0.tgz",
+ "integrity": "sha512-HM8V2Rp1y8+1343tkZUKZllFhEQPNmpNdgFAncbTsxkZ18/gqjk23XXv3qGyXWp412f3o43ZZ1UZHVcHrpRnCQ==",
+ "peer": true,
"dependencies": {
- "@smithy/util-base64": "^2.2.0",
+ "@smithy/util-base64": "^2.0.0",
"tslib": "^2.5.0"
}
},
"node_modules/@smithy/config-resolver": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.5.tgz",
- "integrity": "sha512-LcBB5JQC3Tx2ZExIJzfvWaajhFIwHrUNQeqxhred2r5nnqrdly9uoCrvM1sxOOdghYuWWm2Kr8tBCDOmxsgeTA==",
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.14.tgz",
+ "integrity": "sha512-K1K+FuWQoy8j/G7lAmK85o03O89s2Vvh6kMFmzEmiHUoQCRH1rzbDtMnGNiaMHeSeYJ6y79IyTusdRG+LuWwtg==",
+ "peer": true,
"dependencies": {
- "@smithy/node-config-provider": "^2.2.5",
- "@smithy/types": "^2.11.0",
- "@smithy/util-config-provider": "^2.2.1",
- "@smithy/util-middleware": "^2.1.4",
- "tslib": "^2.5.0"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@smithy/core": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.7.tgz",
- "integrity": "sha512-zHrrstOO78g+/rOJoHi4j3mGUBtsljRhcKNzloWPv1XIwgcFUi+F1YFKr2qPQ3z7Ls5dNc4L2SPrVarNFIQqog==",
- "dependencies": {
- "@smithy/middleware-endpoint": "^2.4.6",
- "@smithy/middleware-retry": "^2.1.6",
- "@smithy/middleware-serde": "^2.2.1",
- "@smithy/protocol-http": "^3.2.2",
- "@smithy/smithy-client": "^2.4.4",
- "@smithy/types": "^2.11.0",
- "@smithy/util-middleware": "^2.1.4",
+ "@smithy/node-config-provider": "^2.1.1",
+ "@smithy/types": "^2.3.5",
+ "@smithy/util-config-provider": "^2.0.0",
+ "@smithy/util-middleware": "^2.0.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -2311,14 +2665,15 @@
}
},
"node_modules/@smithy/credential-provider-imds": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.6.tgz",
- "integrity": "sha512-+xQe4Pite0kdk9qn0Vyw5BRVh0iSlj+T4TEKRXr4E1wZKtVgIzGlkCrfICSjiPVFkPxk4jMpVboMYdEiiA88/w==",
+ "version": "2.0.16",
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.16.tgz",
+ "integrity": "sha512-tKa2xF+69TvGxJT+lnJpGrKxUuAZDLYXFhqnPEgnHz+psTpkpcB4QRjHj63+uj83KaeFJdTfW201eLZeRn6FfA==",
+ "peer": true,
"dependencies": {
- "@smithy/node-config-provider": "^2.2.5",
- "@smithy/property-provider": "^2.1.4",
- "@smithy/types": "^2.11.0",
- "@smithy/url-parser": "^2.1.4",
+ "@smithy/node-config-provider": "^2.1.1",
+ "@smithy/property-provider": "^2.0.12",
+ "@smithy/types": "^2.3.5",
+ "@smithy/url-parser": "^2.0.11",
"tslib": "^2.5.0"
},
"engines": {
@@ -2326,23 +2681,25 @@
}
},
"node_modules/@smithy/eventstream-codec": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.4.tgz",
- "integrity": "sha512-UkiieTztP7adg8EuqZvB0Y4LewdleZCJU7Kgt9RDutMsRYqO32fMpWeQHeTHaIMosmzcRZUykMRrhwGJe9mP3A==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.11.tgz",
+ "integrity": "sha512-BQCTjxhCYRZIfXapa2LmZSaH8QUBGwMZw7XRN83hrdixbLjIcj+o549zjkedFS07Ve2TlvWUI6BTzP+nv7snBA==",
+ "peer": true,
"dependencies": {
"@aws-crypto/crc32": "3.0.0",
- "@smithy/types": "^2.11.0",
- "@smithy/util-hex-encoding": "^2.1.1",
+ "@smithy/types": "^2.3.5",
+ "@smithy/util-hex-encoding": "^2.0.0",
"tslib": "^2.5.0"
}
},
"node_modules/@smithy/eventstream-serde-browser": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.1.4.tgz",
- "integrity": "sha512-K0SyvrUu/vARKzNW+Wp9HImiC/cJ6K88/n7FTH1slY+MErdKoiSbRLaXbJ9qD6x1Hu28cplHMlhADwZelUx/Ww==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.11.tgz",
+ "integrity": "sha512-p9IK4uvwT6B3pT1VGlODvcVBfPVikjBFHAcKpvvNF+7lAEI+YiC6d0SROPkpjnvCgVBYyGXa3ciqrWnFze6mwQ==",
+ "peer": true,
"dependencies": {
- "@smithy/eventstream-serde-universal": "^2.1.4",
- "@smithy/types": "^2.11.0",
+ "@smithy/eventstream-serde-universal": "^2.0.11",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2350,11 +2707,12 @@
}
},
"node_modules/@smithy/eventstream-serde-config-resolver": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.1.4.tgz",
- "integrity": "sha512-FH+2AwOwZ0kHPB9sciWJtUqx81V4vizfT3P6T9eslmIC2hi8ch/KFvQlF7jDmwR1aLlPlq6qqLKLqzK/71Ki4A==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.11.tgz",
+ "integrity": "sha512-vN32E8yExo0Z8L7kXhlU9KRURrhqOpPdLxQMp3MwfMThrjiqbr1Sk5srUXc1ed2Ygl/l0TEN9vwNG0bQHg6AjQ==",
+ "peer": true,
"dependencies": {
- "@smithy/types": "^2.11.0",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2362,12 +2720,13 @@
}
},
"node_modules/@smithy/eventstream-serde-node": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.1.4.tgz",
- "integrity": "sha512-gsc5ZTvVcB9sleLQzsK/rOhgn52+AAsmhEr41WDwAcctccBjh429+b8gT9t+SU8QyajypfsLOZfJQu0+zE515Q==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.11.tgz",
+ "integrity": "sha512-Gjqbpg7UmD+YzkpgNShNcDNZcUpBWIkvX2XCGptz5PoxJU/UQbuF9eSc93ZlIb7j4aGjtFfqk23HUMW8Hopg2Q==",
+ "peer": true,
"dependencies": {
- "@smithy/eventstream-serde-universal": "^2.1.4",
- "@smithy/types": "^2.11.0",
+ "@smithy/eventstream-serde-universal": "^2.0.11",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2375,12 +2734,13 @@
}
},
"node_modules/@smithy/eventstream-serde-universal": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.1.4.tgz",
- "integrity": "sha512-NKLAsYnZA5s+ntipJRKo1RrRbhYHrsEnmiUoz0EhVYrAih+UELY9sKR+A1ujGaFm3nKDs5fPfiozC2wpXq2zUA==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.11.tgz",
+ "integrity": "sha512-F8FsxLTbFN4+Esgpo+nNKcEajrgRZJ+pG9c8+MhLM4Odp5ejLHw2GMCXd81cGsgmfcbnzdDEXazPPVzOwj89MQ==",
+ "peer": true,
"dependencies": {
- "@smithy/eventstream-codec": "^2.1.4",
- "@smithy/types": "^2.11.0",
+ "@smithy/eventstream-codec": "^2.0.11",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2388,36 +2748,38 @@
}
},
"node_modules/@smithy/fetch-http-handler": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.4.tgz",
- "integrity": "sha512-DSUtmsnIx26tPuyyrK49dk2DAhPgEw6xRW7V62nMHIB5dk3NqhGnwcKO2fMdt/l3NUVgia34ZsSJA8bD+3nh7g==",
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.2.tgz",
+ "integrity": "sha512-K7aRtRuaBjzlk+jWWeyfDTLAmRRvmA4fU8eHUXtjsuEDgi3f356ZE32VD2ssxIH13RCLVZbXMt5h7wHzYiSuVA==",
"dependencies": {
- "@smithy/protocol-http": "^3.2.2",
- "@smithy/querystring-builder": "^2.1.4",
- "@smithy/types": "^2.11.0",
- "@smithy/util-base64": "^2.2.0",
+ "@smithy/protocol-http": "^3.0.7",
+ "@smithy/querystring-builder": "^2.0.11",
+ "@smithy/types": "^2.3.5",
+ "@smithy/util-base64": "^2.0.0",
"tslib": "^2.5.0"
}
},
"node_modules/@smithy/hash-blob-browser": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.1.4.tgz",
- "integrity": "sha512-bDugS1DortnriGDdp0sqdq7dLI5if8CEOF9rKtpJa1ZYMq6fxOtTId//dlilS5QgUtUs6GHN5aMQVxEjhBzzQA==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.11.tgz",
+ "integrity": "sha512-/6vq/NiH2EN3mWdwcLdjVohP+VCng+ZA1GnlUdx959egsfgIlLWQvCyjnB2ze9Hr6VHV5XEFLLpLQH2dHA6Sgw==",
+ "peer": true,
"dependencies": {
- "@smithy/chunked-blob-reader": "^2.1.1",
- "@smithy/chunked-blob-reader-native": "^2.1.2",
- "@smithy/types": "^2.11.0",
+ "@smithy/chunked-blob-reader": "^2.0.0",
+ "@smithy/chunked-blob-reader-native": "^2.0.0",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
}
},
"node_modules/@smithy/hash-node": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.4.tgz",
- "integrity": "sha512-uvCcpDLXaTTL0X/9ezF8T8sS77UglTfZVQaUOBiCvR0QydeSyio3t0Hj3QooVdyFsKTubR8gCk/ubLk3vAyDng==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.11.tgz",
+ "integrity": "sha512-PbleVugN2tbhl1ZoNWVrZ1oTFFas/Hq+s6zGO8B9bv4w/StTriTKA9W+xZJACOj9X7zwfoTLbscM+avCB1KqOQ==",
+ "peer": true,
"dependencies": {
- "@smithy/types": "^2.11.0",
- "@smithy/util-buffer-from": "^2.1.1",
- "@smithy/util-utf8": "^2.2.0",
+ "@smithy/types": "^2.3.5",
+ "@smithy/util-buffer-from": "^2.0.0",
+ "@smithy/util-utf8": "^2.0.0",
"tslib": "^2.5.0"
},
"engines": {
@@ -2425,12 +2787,13 @@
}
},
"node_modules/@smithy/hash-stream-node": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.1.4.tgz",
- "integrity": "sha512-HcDQRs/Fcx7lwAd+/vSW/e7ltdh148D2Pq7XI61CEWcOoQdQ0W8aYBHDRC4zjtXv6hySdmWE+vo3dvdTt7aj8A==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.0.11.tgz",
+ "integrity": "sha512-Jn2yl+Dn0kvwKvSavvR1/BFVYa2wIkaJKWeTH48kno89gqHAJxMh1hrtBN6SJ7F8VhodNZTiNOlQVqCSfLheNQ==",
+ "peer": true,
"dependencies": {
- "@smithy/types": "^2.11.0",
- "@smithy/util-utf8": "^2.2.0",
+ "@smithy/types": "^2.3.5",
+ "@smithy/util-utf8": "^2.0.0",
"tslib": "^2.5.0"
},
"engines": {
@@ -2438,18 +2801,19 @@
}
},
"node_modules/@smithy/invalid-dependency": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.4.tgz",
- "integrity": "sha512-QzlNBl6jt3nb9jNnE51wTegReVvUdozyMMrFEyb/rc6AzPID1O+qMJYjAAoNw098y0CZVfCpEnoK2+mfBOd8XA==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.11.tgz",
+ "integrity": "sha512-zazq99ujxYv/NOf9zh7xXbNgzoVLsqE0wle8P/1zU/XdhPi/0zohTPKWUzIxjGdqb5hkkwfBkNkl5H+LE0mvgw==",
+ "peer": true,
"dependencies": {
- "@smithy/types": "^2.11.0",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
}
},
"node_modules/@smithy/is-array-buffer": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz",
- "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz",
+ "integrity": "sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==",
"dependencies": {
"tslib": "^2.5.0"
},
@@ -2458,22 +2822,24 @@
}
},
"node_modules/@smithy/md5-js": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.1.4.tgz",
- "integrity": "sha512-WHTnnYJPKE7Sy49DogLuox42TnlwD3cQ6TObPD6WFWjKocWIdpEpIvdJHwWUfSFf0JIi8ON8z6ZEhsnyKVCcLQ==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.0.11.tgz",
+ "integrity": "sha512-YBIv+e95qeGvQA05ucwstmTeQ/bUzWgU+nO2Ffmif5awu6IzSR0Jfk3XLYh4mdy7f8DCgsn8qA63u7N9Lu0+5A==",
+ "peer": true,
"dependencies": {
- "@smithy/types": "^2.11.0",
- "@smithy/util-utf8": "^2.2.0",
+ "@smithy/types": "^2.3.5",
+ "@smithy/util-utf8": "^2.0.0",
"tslib": "^2.5.0"
}
},
"node_modules/@smithy/middleware-content-length": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.4.tgz",
- "integrity": "sha512-C6VRwfcr0w9qRFhDGCpWMVhlEIBFlmlPRP1aX9Cv9xDj9SUwlDrNvoV1oP1vjRYuLxCDgovBBynCwwcluS2wLw==",
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.13.tgz",
+ "integrity": "sha512-Md2kxWpaec3bXp1oERFPQPBhOXCkGSAF7uc1E+4rkwjgw3/tqAXRtbjbggu67HJdwaif76As8AV6XxbD1HzqTQ==",
+ "peer": true,
"dependencies": {
- "@smithy/protocol-http": "^3.2.2",
- "@smithy/types": "^2.11.0",
+ "@smithy/protocol-http": "^3.0.7",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2481,16 +2847,14 @@
}
},
"node_modules/@smithy/middleware-endpoint": {
- "version": "2.4.6",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.6.tgz",
- "integrity": "sha512-AsXtUXHPOAS0EGZUSFOsVJvc7p0KL29PGkLxLfycPOcFVLru/oinYB6yvyL73ZZPX2OB8sMYUMrj7eH2kI7V/w==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.11.tgz",
+ "integrity": "sha512-mCugsvB15up6fqpzUEpMT4CuJmFkEI+KcozA7QMzYguXCaIilyMKsyxgamwmr+o7lo3QdjN0//XLQ9bWFL129g==",
"dependencies": {
- "@smithy/middleware-serde": "^2.2.1",
- "@smithy/node-config-provider": "^2.2.5",
- "@smithy/shared-ini-file-loader": "^2.3.5",
- "@smithy/types": "^2.11.0",
- "@smithy/url-parser": "^2.1.4",
- "@smithy/util-middleware": "^2.1.4",
+ "@smithy/middleware-serde": "^2.0.11",
+ "@smithy/types": "^2.3.5",
+ "@smithy/url-parser": "^2.0.11",
+ "@smithy/util-middleware": "^2.0.4",
"tslib": "^2.5.0"
},
"engines": {
@@ -2498,17 +2862,17 @@
}
},
"node_modules/@smithy/middleware-retry": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.6.tgz",
- "integrity": "sha512-khpSV0NxqMHfa06kfG4WYv+978sVvfTFmn0hIFKKwOXtIxyYtPKiQWFT4nnwZD07fGdYGbtCBu3YALc8SsA5mA==",
+ "version": "2.0.16",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.16.tgz",
+ "integrity": "sha512-Br5+0yoiMS0ugiOAfJxregzMMGIRCbX4PYo1kDHtLgvkA/d++aHbnHB819m5zOIAMPvPE7AThZgcsoK+WOsUTA==",
+ "peer": true,
"dependencies": {
- "@smithy/node-config-provider": "^2.2.5",
- "@smithy/protocol-http": "^3.2.2",
- "@smithy/service-error-classification": "^2.1.4",
- "@smithy/smithy-client": "^2.4.4",
- "@smithy/types": "^2.11.0",
- "@smithy/util-middleware": "^2.1.4",
- "@smithy/util-retry": "^2.1.4",
+ "@smithy/node-config-provider": "^2.1.1",
+ "@smithy/protocol-http": "^3.0.7",
+ "@smithy/service-error-classification": "^2.0.4",
+ "@smithy/types": "^2.3.5",
+ "@smithy/util-middleware": "^2.0.4",
+ "@smithy/util-retry": "^2.0.4",
"tslib": "^2.5.0",
"uuid": "^8.3.2"
},
@@ -2520,16 +2884,17 @@
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "peer": true,
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/@smithy/middleware-serde": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.2.1.tgz",
- "integrity": "sha512-VAWRWqnNjgccebndpyK94om4ZTYzXLQxUmNCXYzM/3O9MTfQjTNBgtFtQwyIIez6z7LWcCsXmnKVIOE9mLqAHQ==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.11.tgz",
+ "integrity": "sha512-NuxnjMyf4zQqhwwdh0OTj5RqpnuT6HcH5Xg5GrPijPcKzc2REXVEVK4Yyk8ckj8ez1XSj/bCmJ+oNjmqB02GWA==",
"dependencies": {
- "@smithy/types": "^2.11.0",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2537,11 +2902,11 @@
}
},
"node_modules/@smithy/middleware-stack": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.4.tgz",
- "integrity": "sha512-Qqs2ba8Ax1rGKOSGJS2JN23fhhox2WMdRuzx0NYHtXzhxbJOIMmz9uQY6Hf4PY8FPteBPp1+h0j5Fmr+oW12sg==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.5.tgz",
+ "integrity": "sha512-bVQU/rZzBY7CbSxIrDTGZYnBWKtIw+PL/cRc9B7etZk1IKSOe0NvKMJyWllfhfhrTeMF6eleCzOihIQympAvPw==",
"dependencies": {
- "@smithy/types": "^2.11.0",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2549,13 +2914,14 @@
}
},
"node_modules/@smithy/node-config-provider": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.5.tgz",
- "integrity": "sha512-CxPf2CXhjO79IypHJLBATB66Dw6suvr1Yc2ccY39hpR6wdse3pZ3E8RF83SODiNH0Wjmkd0ze4OF8exugEixgA==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.1.tgz",
+ "integrity": "sha512-1lF6s1YWBi1LBu2O30tD3jyTgMtuvk/Z1twzXM4GPYe4dmZix4nNREPJIPOcfFikNU2o0eTYP80+izx5F2jIJA==",
+ "peer": true,
"dependencies": {
- "@smithy/property-provider": "^2.1.4",
- "@smithy/shared-ini-file-loader": "^2.3.5",
- "@smithy/types": "^2.11.0",
+ "@smithy/property-provider": "^2.0.12",
+ "@smithy/shared-ini-file-loader": "^2.2.0",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2563,14 +2929,14 @@
}
},
"node_modules/@smithy/node-http-handler": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.2.tgz",
- "integrity": "sha512-yrj3c1g145uiK5io+1UPbJAHo8BSGORkBzrmzvAsOmBKb+1p3jmM8ZwNLDH/HTTxVLm9iM5rMszx+iAh1HUC4Q==",
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.7.tgz",
+ "integrity": "sha512-PQIKZXlp3awCDn/xNlCSTFE7aYG/5Tx33M05NfQmWYeB5yV1GZZOSz4dXpwiNJYTXb9jPqjl+ueXXkwtEluFFA==",
"dependencies": {
- "@smithy/abort-controller": "^2.1.4",
- "@smithy/protocol-http": "^3.2.2",
- "@smithy/querystring-builder": "^2.1.4",
- "@smithy/types": "^2.11.0",
+ "@smithy/abort-controller": "^2.0.11",
+ "@smithy/protocol-http": "^3.0.7",
+ "@smithy/querystring-builder": "^2.0.11",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2578,11 +2944,12 @@
}
},
"node_modules/@smithy/property-provider": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.4.tgz",
- "integrity": "sha512-nWaY/MImj1BiXZ9WY65h45dcxOx8pl06KYoHxwojDxDL+Q9yLU1YnZpgv8zsHhEftlj9KhePENjQTlNowWVyug==",
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.12.tgz",
+ "integrity": "sha512-Un/OvvuQ1Kg8WYtoMCicfsFFuHb/TKL3pCA6ZIo/WvNTJTR94RtoRnL7mY4XkkUAoFMyf6KjcQJ76y1FX7S5rw==",
+ "peer": true,
"dependencies": {
- "@smithy/types": "^2.11.0",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2590,11 +2957,11 @@
}
},
"node_modules/@smithy/protocol-http": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.2.tgz",
- "integrity": "sha512-xYBlllOQcOuLoxzhF2u8kRHhIFGQpDeTQj/dBSnw4kfI29WMKL5RnW1m9YjnJAJ49miuIvrkJR+gW5bCQ+Mchw==",
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.7.tgz",
+ "integrity": "sha512-HnZW8y+r66ntYueCDbLqKwWcMNWW8o3eVpSrHNluwtBJ/EUWfQHRKSiu6vZZtc6PGfPQWgVfucoCE/C3QufMAA==",
"dependencies": {
- "@smithy/types": "^2.11.0",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2602,12 +2969,12 @@
}
},
"node_modules/@smithy/querystring-builder": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.4.tgz",
- "integrity": "sha512-LXSL0J/nRWvGT+jIj+Fip3j0J1ZmHkUyBFRzg/4SmPNCLeDrtVu7ptKOnTboPsFZu5BxmpYok3kJuQzzRdrhbw==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.11.tgz",
+ "integrity": "sha512-b4kEbVMxpmfv2VWUITn2otckTi7GlMteZQxi+jlwedoATOGEyrCJPfRcYQJjbCi3fZ2QTfh3PcORvB27+j38Yg==",
"dependencies": {
- "@smithy/types": "^2.11.0",
- "@smithy/util-uri-escape": "^2.1.1",
+ "@smithy/types": "^2.3.5",
+ "@smithy/util-uri-escape": "^2.0.0",
"tslib": "^2.5.0"
},
"engines": {
@@ -2615,11 +2982,11 @@
}
},
"node_modules/@smithy/querystring-parser": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.4.tgz",
- "integrity": "sha512-U2b8olKXgZAs0eRo7Op11jTNmmcC/sqYmsA7vN6A+jkGnDvJlEl7AetUegbBzU8q3D6WzC5rhR/joIy8tXPzIg==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.11.tgz",
+ "integrity": "sha512-YXe7jhi7s3dQ0Fu9dLoY/gLu6NCyy8tBWJL/v2c9i7/RLpHgKT+uT96/OqZkHizCJ4kr0ZD46tzMjql/o60KLg==",
"dependencies": {
- "@smithy/types": "^2.11.0",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2627,22 +2994,24 @@
}
},
"node_modules/@smithy/service-error-classification": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.4.tgz",
- "integrity": "sha512-JW2Hthy21evnvDmYYk1kItOmbp3X5XI5iqorXgFEunb6hQfSDZ7O1g0Clyxg7k/Pcr9pfLk5xDIR2To/IohlsQ==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.4.tgz",
+ "integrity": "sha512-77506l12I5gxTZqBkx3Wb0RqMG81bMYLaVQ+EqIWFwQDJRs5UFeXogKxSKojCmz1wLUziHZQXm03MBzPQiumQw==",
+ "peer": true,
"dependencies": {
- "@smithy/types": "^2.11.0"
+ "@smithy/types": "^2.3.5"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@smithy/shared-ini-file-loader": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.5.tgz",
- "integrity": "sha512-oI99+hOvsM8oAJtxAGmoL/YCcGXtbP0fjPseYGaNmJ4X5xOFTer0KPk7AIH3AL6c5AlYErivEi1X/X78HgTVIw==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.0.tgz",
+ "integrity": "sha512-xFXqs4vAb5BdkzHSRrTapFoaqS4/3m/CGZzdw46fBjYZ0paYuLAoMY60ICCn1FfGirG+PiJ3eWcqJNe4/SkfyA==",
+ "peer": true,
"dependencies": {
- "@smithy/types": "^2.11.0",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2650,17 +3019,18 @@
}
},
"node_modules/@smithy/signature-v4": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.4.tgz",
- "integrity": "sha512-gnu9gCn0qQ8IdhNjs6o3QVCXzUs33znSDYwVMWo3nX4dM6j7z9u6FC302ShYyVWfO4MkVMuGCCJ6nl3PcH7V1Q==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.11.tgz",
+ "integrity": "sha512-EFVU1dT+2s8xi227l1A9O27edT/GNKvyAK6lZnIZ0zhIHq/jSLznvkk15aonGAM1kmhmZBVGpI7Tt0odueZK9A==",
+ "peer": true,
"dependencies": {
- "@smithy/eventstream-codec": "^2.1.4",
- "@smithy/is-array-buffer": "^2.1.1",
- "@smithy/types": "^2.11.0",
- "@smithy/util-hex-encoding": "^2.1.1",
- "@smithy/util-middleware": "^2.1.4",
- "@smithy/util-uri-escape": "^2.1.1",
- "@smithy/util-utf8": "^2.2.0",
+ "@smithy/eventstream-codec": "^2.0.11",
+ "@smithy/is-array-buffer": "^2.0.0",
+ "@smithy/types": "^2.3.5",
+ "@smithy/util-hex-encoding": "^2.0.0",
+ "@smithy/util-middleware": "^2.0.4",
+ "@smithy/util-uri-escape": "^2.0.0",
+ "@smithy/util-utf8": "^2.0.0",
"tslib": "^2.5.0"
},
"engines": {
@@ -2668,15 +3038,13 @@
}
},
"node_modules/@smithy/smithy-client": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.4.tgz",
- "integrity": "sha512-SNE17wjycPZIJ2P5sv6wMTteV/vQVPdaqQkoK1KeGoWHXx79t3iLhQXj1uqRdlkMUS9pXJrLOAS+VvUSOYwQKw==",
+ "version": "2.1.10",
+ "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.10.tgz",
+ "integrity": "sha512-2OEmZDiW1Z196QHuQZ5M6cBE8FCSG0H2HADP1G+DY8P3agsvb0YJyfhyKuJbxIQy15tr3eDAK6FOrlbxgKOOew==",
"dependencies": {
- "@smithy/middleware-endpoint": "^2.4.6",
- "@smithy/middleware-stack": "^2.1.4",
- "@smithy/protocol-http": "^3.2.2",
- "@smithy/types": "^2.11.0",
- "@smithy/util-stream": "^2.1.4",
+ "@smithy/middleware-stack": "^2.0.5",
+ "@smithy/types": "^2.3.5",
+ "@smithy/util-stream": "^2.0.15",
"tslib": "^2.5.0"
},
"engines": {
@@ -2684,9 +3052,9 @@
}
},
"node_modules/@smithy/types": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.11.0.tgz",
- "integrity": "sha512-AR0SXO7FuAskfNhyGfSTThpLRntDI5bOrU0xrpVYU0rZyjl3LBXInZFMTP/NNSd7IS6Ksdtar0QvnrPRIhVrLQ==",
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.3.5.tgz",
+ "integrity": "sha512-ehyDt8M9hehyxrLQGoA1BGPou8Js1Ocoh5M0ngDhJMqbFmNK5N6Xhr9/ZExWkyIW8XcGkiMPq3ZUEE0ScrhbuQ==",
"dependencies": {
"tslib": "^2.5.0"
},
@@ -2695,22 +3063,21 @@
}
},
"node_modules/@smithy/url-parser": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.4.tgz",
- "integrity": "sha512-1hTy6UYRYqOZlHKH2/2NzdNQ4NNmW2Lp0sYYvztKy+dEQuLvZL9w88zCzFQqqFer3DMcscYOshImxkJTGdV+rg==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.11.tgz",
+ "integrity": "sha512-h89yXMCCF+S5k9XIoKltMIWTYj+FcEkU/IIFZ6RtE222fskOTL4Iak6ZRG+ehSvZDt8yKEcxqheTDq7JvvtK3g==",
"dependencies": {
- "@smithy/querystring-parser": "^2.1.4",
- "@smithy/types": "^2.11.0",
+ "@smithy/querystring-parser": "^2.0.11",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
}
},
"node_modules/@smithy/util-base64": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.2.0.tgz",
- "integrity": "sha512-RiQI/Txu0SxCR38Ky5BMEVaFfkNTBjpbxlr2UhhxggSmnsHDQPZJWMtPoXs7TWZaseslIlAWMiHmqRT3AV/P2w==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz",
+ "integrity": "sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==",
"dependencies": {
- "@smithy/util-buffer-from": "^2.1.1",
- "@smithy/util-utf8": "^2.2.0",
+ "@smithy/util-buffer-from": "^2.0.0",
"tslib": "^2.5.0"
},
"engines": {
@@ -2718,17 +3085,19 @@
}
},
"node_modules/@smithy/util-body-length-browser": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz",
- "integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz",
+ "integrity": "sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==",
+ "peer": true,
"dependencies": {
"tslib": "^2.5.0"
}
},
"node_modules/@smithy/util-body-length-node": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz",
- "integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz",
+ "integrity": "sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw==",
+ "peer": true,
"dependencies": {
"tslib": "^2.5.0"
},
@@ -2737,11 +3106,11 @@
}
},
"node_modules/@smithy/util-buffer-from": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz",
- "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz",
+ "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==",
"dependencies": {
- "@smithy/is-array-buffer": "^2.1.1",
+ "@smithy/is-array-buffer": "^2.0.0",
"tslib": "^2.5.0"
},
"engines": {
@@ -2749,9 +3118,10 @@
}
},
"node_modules/@smithy/util-config-provider": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz",
- "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz",
+ "integrity": "sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==",
+ "peer": true,
"dependencies": {
"tslib": "^2.5.0"
},
@@ -2760,13 +3130,14 @@
}
},
"node_modules/@smithy/util-defaults-mode-browser": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.6.tgz",
- "integrity": "sha512-lM2JMYCilrejfGf8WWnVfrKly3vf+mc5x9TrTpT++qIKP452uWfLqlaUxbz1TkSfhqm8RjrlY22589B9aI8A9w==",
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.14.tgz",
+ "integrity": "sha512-NupG7SWUucm3vJrvlpt9jG1XeoPJphjcivgcUUXhDJbUPy4F04LhlTiAhWSzwlCNcF8OJsMvZ/DWbpYD3pselw==",
+ "peer": true,
"dependencies": {
- "@smithy/property-provider": "^2.1.4",
- "@smithy/smithy-client": "^2.4.4",
- "@smithy/types": "^2.11.0",
+ "@smithy/property-provider": "^2.0.12",
+ "@smithy/smithy-client": "^2.1.10",
+ "@smithy/types": "^2.3.5",
"bowser": "^2.11.0",
"tslib": "^2.5.0"
},
@@ -2775,39 +3146,27 @@
}
},
"node_modules/@smithy/util-defaults-mode-node": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.6.tgz",
- "integrity": "sha512-UmUbPHbkBJCXRFbq+FPLpVwiFPHj1oPWXJS2f2sy23PtXM94c9X5EceI6JKuKdBty+tzhrAs5JbmPM/HvmDB8Q==",
+ "version": "2.0.18",
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.18.tgz",
+ "integrity": "sha512-+3jMom/b/Cdp21tDnY4vKu249Al+G/P0HbRbct7/aSZDlROzv1tksaYukon6UUv7uoHn+/McqnsvqZHLlqvQ0g==",
+ "peer": true,
"dependencies": {
- "@smithy/config-resolver": "^2.1.5",
- "@smithy/credential-provider-imds": "^2.2.6",
- "@smithy/node-config-provider": "^2.2.5",
- "@smithy/property-provider": "^2.1.4",
- "@smithy/smithy-client": "^2.4.4",
- "@smithy/types": "^2.11.0",
+ "@smithy/config-resolver": "^2.0.14",
+ "@smithy/credential-provider-imds": "^2.0.16",
+ "@smithy/node-config-provider": "^2.1.1",
+ "@smithy/property-provider": "^2.0.12",
+ "@smithy/smithy-client": "^2.1.10",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
"node": ">= 10.0.0"
}
},
- "node_modules/@smithy/util-endpoints": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.5.tgz",
- "integrity": "sha512-tgDpaUNsUtRvNiBulKU1VnpoXU1GINMfZZXunRhUXOTBEAufG1Wp79uDXLau2gg1RZ4dpAR6lXCkrmddihCGUg==",
- "dependencies": {
- "@smithy/node-config-provider": "^2.2.5",
- "@smithy/types": "^2.11.0",
- "tslib": "^2.5.0"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
- },
"node_modules/@smithy/util-hex-encoding": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz",
- "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz",
+ "integrity": "sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==",
"dependencies": {
"tslib": "^2.5.0"
},
@@ -2816,11 +3175,11 @@
}
},
"node_modules/@smithy/util-middleware": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.4.tgz",
- "integrity": "sha512-5yYNOgCN0DL0OplME0pthoUR/sCfipnROkbTO7m872o0GHCVNJj5xOFJ143rvHNA54+pIPMLum4z2DhPC2pVGA==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.4.tgz",
+ "integrity": "sha512-Pbu6P4MBwRcjrLgdTR1O4Y3c0sTZn2JdOiJNcgL7EcIStcQodj+6ZTXtbyU/WTEU3MV2NMA10LxFc3AWHZ3+4A==",
"dependencies": {
- "@smithy/types": "^2.11.0",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2828,12 +3187,13 @@
}
},
"node_modules/@smithy/util-retry": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.4.tgz",
- "integrity": "sha512-JRZwhA3fhkdenSEYIWatC8oLwt4Bdf2LhHbNQApqb7yFoIGMl4twcYI3BcJZ7YIBZrACA9jGveW6tuCd836XzQ==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.4.tgz",
+ "integrity": "sha512-b+n1jBBKc77C1E/zfBe1Zo7S9OXGBiGn55N0apfhZHxPUP/fMH5AhFUUcWaJh7NAnah284M5lGkBKuhnr3yK5w==",
+ "peer": true,
"dependencies": {
- "@smithy/service-error-classification": "^2.1.4",
- "@smithy/types": "^2.11.0",
+ "@smithy/service-error-classification": "^2.0.4",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2841,17 +3201,17 @@
}
},
"node_modules/@smithy/util-stream": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.4.tgz",
- "integrity": "sha512-CiWaFPXstoR7v/PGHddFckovkhJb28wgQR7LwIt6RsQCJeRIHvUTVWhXw/Pco6Jm6nz/vfzN9FFdj/JN7RTkxQ==",
+ "version": "2.0.15",
+ "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.15.tgz",
+ "integrity": "sha512-A/hkYJPH2N5MCWYvky4tTpQihpYAEzqnUfxDyG3L/yMndy/2sLvxnyQal9Opuj1e9FiKSTeMyjnU9xxZGs0mRw==",
"dependencies": {
- "@smithy/fetch-http-handler": "^2.4.4",
- "@smithy/node-http-handler": "^2.4.2",
- "@smithy/types": "^2.11.0",
- "@smithy/util-base64": "^2.2.0",
- "@smithy/util-buffer-from": "^2.1.1",
- "@smithy/util-hex-encoding": "^2.1.1",
- "@smithy/util-utf8": "^2.2.0",
+ "@smithy/fetch-http-handler": "^2.2.2",
+ "@smithy/node-http-handler": "^2.1.7",
+ "@smithy/types": "^2.3.5",
+ "@smithy/util-base64": "^2.0.0",
+ "@smithy/util-buffer-from": "^2.0.0",
+ "@smithy/util-hex-encoding": "^2.0.0",
+ "@smithy/util-utf8": "^2.0.0",
"tslib": "^2.5.0"
},
"engines": {
@@ -2859,9 +3219,9 @@
}
},
"node_modules/@smithy/util-uri-escape": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz",
- "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz",
+ "integrity": "sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==",
"dependencies": {
"tslib": "^2.5.0"
},
@@ -2870,11 +3230,11 @@
}
},
"node_modules/@smithy/util-utf8": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.2.0.tgz",
- "integrity": "sha512-hBsKr5BqrDrKS8qy+YcV7/htmMGxriA1PREOf/8AGBhHIZnfilVv1Waf1OyKhSbFW15U/8+gcMUQ9/Kk5qwpHQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz",
+ "integrity": "sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==",
"dependencies": {
- "@smithy/util-buffer-from": "^2.1.1",
+ "@smithy/util-buffer-from": "^2.0.0",
"tslib": "^2.5.0"
},
"engines": {
@@ -2882,12 +3242,13 @@
}
},
"node_modules/@smithy/util-waiter": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.1.4.tgz",
- "integrity": "sha512-AK17WaC0hx1wR9juAOsQkJ6DjDxBGEf5TrKhpXtNFEn+cVto9Li3MVsdpAO97AF7bhFXSyC8tJA3F4ThhqwCdg==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.0.11.tgz",
+ "integrity": "sha512-8SJWUl9O1YhjC77EccgltI3q4XZQp3vp9DGEW6o0OdkUcwqm/H4qOLnMkA2n+NDojuM5Iia2jWoCdbluIiG7TA==",
+ "peer": true,
"dependencies": {
- "@smithy/abort-controller": "^2.1.4",
- "@smithy/types": "^2.11.0",
+ "@smithy/abort-controller": "^2.0.11",
+ "@smithy/types": "^2.3.5",
"tslib": "^2.5.0"
},
"engines": {
@@ -2900,9 +3261,9 @@
"integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
},
"node_modules/@tanstack/query-core": {
- "version": "5.20.1",
- "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.20.1.tgz",
- "integrity": "sha512-OONHHYG5vzjob4An+EfzbW7TRyb+sCA0AEgHzUIMlV9NYlF7wIwbla3PUfB3ocnaK1gZyROf0Lux/CBSu0exBQ==",
+ "version": "5.12.1",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.12.1.tgz",
+ "integrity": "sha512-WbZztNmKq0t6QjdNmHzezbi/uifYo9j6e2GLJkodsYaYUlzMbAp91RDyeHkIZrm7EfO4wa6Sm5sxJZm5SPlh6w==",
"dev": true,
"funding": {
"type": "github",
@@ -2910,12 +3271,12 @@
}
},
"node_modules/@tanstack/react-query": {
- "version": "5.20.1",
- "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.20.1.tgz",
- "integrity": "sha512-KRkOtJ47tv9B3EXfjHkbPkiFzOzYCOid8BrYBozk0rm9JpDB2xSf71q8w1PRudlQW6QUQIEDI9E6NIMh6AlLUw==",
+ "version": "5.12.2",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.12.2.tgz",
+ "integrity": "sha512-BeWZu8zVFH20oRc+S/K9ADPgWjEzP/XQCGBNz5IbApUwPQAdwkQYbXODVL5AyAlWiSxhx+P2xlARPBApj2Yrog==",
"dev": true,
"dependencies": {
- "@tanstack/query-core": "5.20.1"
+ "@tanstack/query-core": "5.12.1"
},
"funding": {
"type": "github",
@@ -2976,7 +3337,6 @@
"resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.3.1.tgz",
"integrity": "sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A==",
"deprecated": "This is a stub types definition. classnames provides its own type definitions, so you do not need this installed.",
- "dev": true,
"dependencies": {
"classnames": "*"
}
@@ -2997,14 +3357,12 @@
"node_modules/@types/fuzzy-search": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/fuzzy-search/-/fuzzy-search-2.1.5.tgz",
- "integrity": "sha512-Yw8OsjhVKbKw83LMDOZ9RXc+N+um48DmZYMrz7QChpHkQuygsc5O40oCL7SfvWgpaaviCx2TbNXYUBwhMtBH5w==",
- "dev": true
+ "integrity": "sha512-Yw8OsjhVKbKw83LMDOZ9RXc+N+um48DmZYMrz7QChpHkQuygsc5O40oCL7SfvWgpaaviCx2TbNXYUBwhMtBH5w=="
},
"node_modules/@types/hoist-non-react-statics": {
"version": "3.3.5",
"resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz",
"integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==",
- "dev": true,
"dependencies": {
"@types/react": "*",
"hoist-non-react-statics": "^3.3.0"
@@ -3018,8 +3376,7 @@
"node_modules/@types/memoizee": {
"version": "0.4.11",
"resolved": "https://registry.npmjs.org/@types/memoizee/-/memoizee-0.4.11.tgz",
- "integrity": "sha512-2gyorIBZu8GoDr9pYjROkxWWcFtHCquF7TVbN2I+/OvgZhnIGQS0vX5KJz4lXNKb8XOSfxFOSG5OLru1ESqLUg==",
- "dev": true
+ "integrity": "sha512-2gyorIBZu8GoDr9pYjROkxWWcFtHCquF7TVbN2I+/OvgZhnIGQS0vX5KJz4lXNKb8XOSfxFOSG5OLru1ESqLUg=="
},
"node_modules/@types/node": {
"version": "20.8.3",
@@ -3035,23 +3392,12 @@
"node_modules/@types/prop-types": {
"version": "15.7.11",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz",
- "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==",
- "dev": true
- },
- "node_modules/@types/quill": {
- "version": "1.3.10",
- "resolved": "https://registry.npmjs.org/@types/quill/-/quill-1.3.10.tgz",
- "integrity": "sha512-IhW3fPW+bkt9MLNlycw8u8fWb7oO7W5URC9MfZYHBlA24rex9rs23D5DETChu1zvgVdc5ka64ICjJOgQMr6Shw==",
- "dev": true,
- "dependencies": {
- "parchment": "^1.1.2"
- }
+ "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng=="
},
"node_modules/@types/react": {
"version": "17.0.73",
"resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.73.tgz",
"integrity": "sha512-6AcjgPIVsXTIsFDgsGW0iQhvg0xb2vt2qAWgXyncnVNRaW9ZXTTwAh7RQoh7PzK1AhjPoGDvUBkdAREih9n5oQ==",
- "dev": true,
"dependencies": {
"@types/prop-types": "*",
"@types/scheduler": "*",
@@ -3062,7 +3408,6 @@
"version": "7.1.33",
"resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.33.tgz",
"integrity": "sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg==",
- "dev": true,
"dependencies": {
"@types/hoist-non-react-statics": "^3.3.0",
"@types/react": "*",
@@ -3074,7 +3419,6 @@
"version": "4.4.10",
"resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz",
"integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==",
- "dev": true,
"dependencies": {
"@types/react": "*"
}
@@ -3083,7 +3427,6 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@types/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.4.tgz",
"integrity": "sha512-nhYwlFiYa8M3S+O2T9QO/e1FQUYMr/wJENUdf/O0dhRi1RS/93rjrYQFYdbUqtdFySuhrtnEDX29P6eKOttY+A==",
- "dev": true,
"dependencies": {
"@types/react": "*"
}
@@ -3092,7 +3435,6 @@
"version": "1.8.8",
"resolved": "https://registry.npmjs.org/@types/react-window/-/react-window-1.8.8.tgz",
"integrity": "sha512-8Ls660bHR1AUA2kuRvVG9D/4XpRC6wjAaPT9dil7Ckc76eP9TKWZwwmgfq8Q1LANX3QNDnoU4Zp48A3w+zK69Q==",
- "dev": true,
"dependencies": {
"@types/react": "*"
}
@@ -3100,8 +3442,7 @@
"node_modules/@types/redux-watch": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@types/redux-watch/-/redux-watch-1.1.2.tgz",
- "integrity": "sha512-pooK4MLNYmTyfOU7jy/ZmS2mpbSHkEVpWIcK4/BRbaegOnCB4PYA2JY88vBXE2LVkhPM+du1Z+lVzRiewMz6wg==",
- "dev": true
+ "integrity": "sha512-pooK4MLNYmTyfOU7jy/ZmS2mpbSHkEVpWIcK4/BRbaegOnCB4PYA2JY88vBXE2LVkhPM+du1Z+lVzRiewMz6wg=="
},
"node_modules/@types/request": {
"version": "2.48.8",
@@ -3117,14 +3458,12 @@
"node_modules/@types/scheduler": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
- "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
- "dev": true
+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
},
"node_modules/@types/shortid": {
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/shortid/-/shortid-0.0.29.tgz",
- "integrity": "sha512-9BCYD9btg2CY4kPcpMQ+vCR8U6V8f/KvixYD5ZbxoWlkhddNF5IeZMVL3p+QFUkg+Hb+kPAG9Jgk4bnnF1v/Fw==",
- "dev": true
+ "integrity": "sha512-9BCYD9btg2CY4kPcpMQ+vCR8U6V8f/KvixYD5ZbxoWlkhddNF5IeZMVL3p+QFUkg+Hb+kPAG9Jgk4bnnF1v/Fw=="
},
"node_modules/@types/tough-cookie": {
"version": "4.0.2",
@@ -3298,12 +3637,43 @@
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
- "node_modules/attr-accept": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz",
- "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==",
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
+ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
"engines": {
- "node": ">=4"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/aws-sdk": {
+ "version": "2.1514.0",
+ "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1514.0.tgz",
+ "integrity": "sha512-ZQE5kHhJozwBB+Zaa21Gglm2pSQVU+8fFZNOn4pr+Kc1scYPlmVBPR3a0w19Vc4HNXPzjApAk2G4xMvzZDktAw==",
+ "dependencies": {
+ "buffer": "4.9.2",
+ "events": "1.1.1",
+ "ieee754": "1.1.13",
+ "jmespath": "0.16.0",
+ "querystring": "0.2.0",
+ "sax": "1.2.1",
+ "url": "0.10.3",
+ "util": "^0.12.4",
+ "uuid": "8.0.0",
+ "xml2js": "0.5.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/aws-sdk/node_modules/uuid": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz",
+ "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==",
+ "bin": {
+ "uuid": "dist/bin/uuid"
}
},
"node_modules/aws-sign2": {
@@ -3338,7 +3708,6 @@
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz",
"integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==",
- "dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
"@babel/helper-module-imports": "^7.22.5",
@@ -3459,7 +3828,8 @@
"node_modules/bowser": {
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
- "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA=="
+ "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==",
+ "peer": true
},
"node_modules/brace-expansion": {
"version": "1.1.11",
@@ -3486,7 +3856,6 @@
"version": "4.22.2",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
"integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
- "dev": true,
"funding": [
{
"type": "opencollective",
@@ -3514,6 +3883,16 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
+ "node_modules/buffer": {
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
+ "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
+ "dependencies": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
+ }
+ },
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -3579,7 +3958,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz",
"integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==",
- "dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -3588,7 +3966,6 @@
"version": "1.0.30001566",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz",
"integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==",
- "dev": true,
"funding": [
{
"type": "opencollective",
@@ -3651,7 +4028,6 @@
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/chonky/-/chonky-2.3.2.tgz",
"integrity": "sha512-ed2u+SEjEPSn8bv/zC0sXfMG/XS6Ydm4J2leLCvRb7a/2BZxKqE1DFETxqfLeJ2OA1IRujvwnuvmJO8ZgyOGyA==",
- "dev": true,
"dependencies": {
"@material-ui/core": "4.11.3",
"@reduxjs/toolkit": "^1.5.0",
@@ -3694,7 +4070,6 @@
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/chonky-icon-fontawesome/-/chonky-icon-fontawesome-2.3.2.tgz",
"integrity": "sha512-19Duy25JxteIlQJfZKLH7ZSujU1zYBMLKovWDOLlw1EdPlXb9exsfYUUkwfNS+31KpwttfaqnGuN8Gyed/R6UQ==",
- "dev": true,
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.32",
"@fortawesome/free-brands-svg-icons": "5.13.1",
@@ -3712,15 +4087,13 @@
"node_modules/chonky/node_modules/@emotion/hash": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
- "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==",
- "dev": true
+ "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
},
"node_modules/chonky/node_modules/@material-ui/core": {
"version": "4.11.3",
"resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.11.3.tgz",
"integrity": "sha512-Adt40rGW6Uds+cAyk3pVgcErpzU/qxc7KBR94jFHBYretU4AtWZltYcNsbeMn9tXL86jjVL1kuGcIHsgLgFGRw==",
"deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.4.4",
"@material-ui/styles": "^4.11.3",
@@ -3758,7 +4131,6 @@
"resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz",
"integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==",
"deprecated": "Material UI v4 doesn't receive active development since September 2021. See the guide https://mui.com/material-ui/migration/migration-v4/ to upgrade to v5.",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.4.4",
"@emotion/hash": "^0.8.0",
@@ -3799,7 +4171,6 @@
"version": "4.12.2",
"resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz",
"integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.4.4",
"@material-ui/utils": "^4.11.3",
@@ -3828,7 +4199,6 @@
"version": "4.11.3",
"resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz",
"integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.4.4",
"prop-types": "^15.7.2",
@@ -3842,17 +4212,10 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/chonky/node_modules/@react-dnd/shallowequal": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@react-dnd/shallowequal/-/shallowequal-2.0.0.tgz",
- "integrity": "sha512-Pc/AFTdwZwEKJxFJvlxrSmGe/di+aAOBn60sremrpLo6VI/6cmiUYNNwlI5KNYttg7uypzA3ILPMPgxB2GYZEg==",
- "dev": true
- },
"node_modules/chonky/node_modules/clsx": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz",
"integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -3860,30 +4223,12 @@
"node_modules/chonky/node_modules/csstype": {
"version": "2.6.21",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
- "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
- "dev": true
- },
- "node_modules/chonky/node_modules/react-dnd": {
- "version": "11.1.3",
- "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-11.1.3.tgz",
- "integrity": "sha512-8rtzzT8iwHgdSC89VktwhqdKKtfXaAyC4wiqp0SywpHG12TTLvfOoL6xNEIUWXwIEWu+CFfDn4GZJyynCEuHIQ==",
- "dev": true,
- "dependencies": {
- "@react-dnd/shallowequal": "^2.0.0",
- "@types/hoist-non-react-statics": "^3.3.1",
- "dnd-core": "^11.1.3",
- "hoist-non-react-statics": "^3.3.0"
- },
- "peerDependencies": {
- "react": ">= 16.9.0",
- "react-dom": ">= 16.9.0"
- }
+ "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
},
"node_modules/chonky/node_modules/react-dom": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
"integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
- "dev": true,
"peer": true,
"dependencies": {
"loose-envify": "^1.1.0",
@@ -3897,14 +4242,12 @@
"node_modules/chonky/node_modules/react-is": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
"node_modules/chonky/node_modules/scheduler": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
"integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
- "dev": true,
"peer": true,
"dependencies": {
"loose-envify": "^1.1.0",
@@ -3922,8 +4265,7 @@
"node_modules/classnames": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
- "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==",
- "dev": true
+ "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
},
"node_modules/cliui": {
"version": "8.0.1",
@@ -3939,19 +4281,10 @@
"node": ">=12"
}
},
- "node_modules/clone": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
- "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
- "dev": true,
- "engines": {
- "node": ">=0.8"
- }
- },
"node_modules/clsx": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz",
- "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
+ "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==",
"dev": true,
"engines": {
"node": ">=6"
@@ -4157,26 +4490,6 @@
"node": ">= 0.6"
}
},
- "node_modules/cookie-parser": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz",
- "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==",
- "dependencies": {
- "cookie": "0.4.1",
- "cookie-signature": "1.0.6"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/cookie-parser/node_modules/cookie": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
- "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/cookie-signature": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
@@ -4219,7 +4532,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz",
"integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==",
- "dev": true,
"engines": {
"node": ">=4"
}
@@ -4228,7 +4540,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/css-jss/-/css-jss-10.10.0.tgz",
"integrity": "sha512-YyMIS/LsSKEGXEaVJdjonWe18p4vXLo8CMA4FrW/kcaEyqdIGKCFXao31gbJddXEdIxSXFFURWrenBJPlKTgAA==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "^10.10.0",
@@ -4239,7 +4550,6 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz",
"integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==",
- "dev": true,
"dependencies": {
"camelize": "^1.0.0",
"css-color-keywords": "^1.0.0",
@@ -4250,17 +4560,15 @@
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz",
"integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.8.3",
"is-in-browser": "^1.0.2"
}
},
"node_modules/csstype": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
- "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
- "dev": true
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
+ "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"node_modules/dashdash": {
"version": "1.14.1",
@@ -4305,66 +4613,14 @@
}
}
},
- "node_modules/deep-equal": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz",
- "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==",
- "dev": true,
- "dependencies": {
- "is-arguments": "^1.1.1",
- "is-date-object": "^1.0.5",
- "is-regex": "^1.1.4",
- "object-is": "^1.1.5",
- "object-keys": "^1.1.1",
- "regexp.prototype.flags": "^1.5.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/deepmerge": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/define-data-property": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
- "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.2.1",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/define-properties": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
- "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
- "dev": true,
- "dependencies": {
- "define-data-property": "^1.0.1",
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -4407,7 +4663,6 @@
"version": "11.1.3",
"resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-11.1.3.tgz",
"integrity": "sha512-QugF55dNW+h+vzxVJ/LSJeTeUw9MCJ2cllhmVThVPEtF16ooBkxj0WBE5RB+AceFxMFo1rO6bJKXtqKl+JNnyA==",
- "dev": true,
"dependencies": {
"@react-dnd/asap": "^4.0.0",
"@react-dnd/invariant": "^2.0.0",
@@ -4418,7 +4673,6 @@
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
"integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.8.7",
"csstype": "^3.0.2"
@@ -4441,8 +4695,7 @@
"node_modules/electron-to-chromium": {
"version": "1.4.608",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.608.tgz",
- "integrity": "sha512-J2f/3iIIm3Mo0npneITZ2UPe4B1bg8fTNrFjD8715F/k1BvbviRuqYGkET1PgprrczXYTHFvotbBOmUp6KE0uA==",
- "dev": true
+ "integrity": "sha512-J2f/3iIIm3Mo0npneITZ2UPe4B1bg8fTNrFjD8715F/k1BvbviRuqYGkET1PgprrczXYTHFvotbBOmUp6KE0uA=="
},
"node_modules/emoji-regex": {
"version": "8.0.0",
@@ -4556,7 +4809,6 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -4586,17 +4838,18 @@
"node": ">= 0.6"
}
},
- "node_modules/eventemitter3": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz",
- "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==",
- "dev": true
+ "node_modules/events": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+ "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==",
+ "engines": {
+ "node": ">=0.4.x"
+ }
},
"node_modules/exact-trie": {
"version": "1.0.13",
"resolved": "https://registry.npmjs.org/exact-trie/-/exact-trie-1.0.13.tgz",
- "integrity": "sha512-2N0sx9jMlzZxRmSOpFKmcuaPcLXYLGRp69DohigW5E7R/uo9i6S1zJ/PuAckf70099am1ts7YBRMLO8Nr8AJLg==",
- "dev": true
+ "integrity": "sha512-2N0sx9jMlzZxRmSOpFKmcuaPcLXYLGRp69DohigW5E7R/uo9i6S1zJ/PuAckf70099am1ts7YBRMLO8Nr8AJLg=="
},
"node_modules/express": {
"version": "4.18.2",
@@ -4639,26 +4892,6 @@
"node": ">= 0.10.0"
}
},
- "node_modules/express-bearer-token": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/express-bearer-token/-/express-bearer-token-2.4.0.tgz",
- "integrity": "sha512-2+kRZT2xo+pmmvSY7Ma5FzxTJpO3kGaPCEXPbAm3GaoZ/z6FE4K6L7cvs1AUZwY2xkk15PcQw7t4dWjsl5rdJw==",
- "dependencies": {
- "cookie": "^0.3.1",
- "cookie-parser": "^1.4.4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/express-bearer-token/node_modules/cookie": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
- "integrity": "sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==",
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/express/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -4690,12 +4923,6 @@
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
- "node_modules/fast-diff": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz",
- "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==",
- "dev": true
- },
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -4704,8 +4931,7 @@
"node_modules/fast-sort": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/fast-sort/-/fast-sort-2.2.0.tgz",
- "integrity": "sha512-W7zqnn2zsYoQA87FKmYtgOsbJohOrh7XrtZrCVHN5XZKqTBTv5UG+rSS3+iWbg/nepRQUOu+wnas8BwtK8kiCg==",
- "dev": true
+ "integrity": "sha512-W7zqnn2zsYoQA87FKmYtgOsbJohOrh7XrtZrCVHN5XZKqTBTv5UG+rSS3+iWbg/nepRQUOu+wnas8BwtK8kiCg=="
},
"node_modules/fast-xml-parser": {
"version": "4.2.5",
@@ -4721,6 +4947,7 @@
"url": "https://github.com/sponsors/NaturalIntelligence"
}
],
+ "peer": true,
"dependencies": {
"strnum": "^1.0.5"
},
@@ -4739,17 +4966,6 @@
"node": ">= 0.4.0"
}
},
- "node_modules/file-selector": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz",
- "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==",
- "dependencies": {
- "tslib": "^2.4.0"
- },
- "engines": {
- "node": ">= 12"
- }
- },
"node_modules/file-type": {
"version": "3.9.0",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
@@ -4762,7 +4978,6 @@
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/filesize/-/filesize-6.4.0.tgz",
"integrity": "sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==",
- "dev": true,
"engines": {
"node": ">= 0.4.0"
}
@@ -4815,6 +5030,14 @@
"integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==",
"dev": true
},
+ "node_modules/for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "dependencies": {
+ "is-callable": "^1.1.3"
+ }
+ },
"node_modules/forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
@@ -4884,28 +5107,29 @@
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
- "node_modules/function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
- "node_modules/functions-have-names": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
"node_modules/fuzzy-search": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/fuzzy-search/-/fuzzy-search-3.2.1.tgz",
- "integrity": "sha512-vAcPiyomt1ioKAsAL2uxSABHJ4Ju/e4UeDM+g1OlR0vV4YhLGMNsdLNvZTpEDY4JCSt0E4hASCNM5t2ETtsbyg==",
- "dev": true
+ "integrity": "sha512-vAcPiyomt1ioKAsAL2uxSABHJ4Ju/e4UeDM+g1OlR0vV4YhLGMNsdLNvZTpEDY4JCSt0E4hASCNM5t2ETtsbyg=="
},
"node_modules/gauge": {
"version": "3.0.2",
@@ -4930,7 +5154,6 @@
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true,
"engines": {
"node": ">=6.9.0"
}
@@ -4945,14 +5168,13 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
- "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
+ "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
"dependencies": {
- "function-bind": "^1.1.2",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "hasown": "^2.0.0"
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -5001,7 +5223,6 @@
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
"engines": {
"node": ">=4"
}
@@ -5010,7 +5231,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dev": true,
"dependencies": {
"get-intrinsic": "^1.1.3"
},
@@ -5043,7 +5263,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
"dependencies": {
"function-bind": "^1.1.1"
},
@@ -5055,34 +5274,10 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
"engines": {
"node": ">=4"
}
},
- "node_modules/has-property-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
- "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
- "dev": true,
- "dependencies": {
- "get-intrinsic": "^1.2.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
@@ -5098,7 +5293,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
"integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dev": true,
"dependencies": {
"has-symbols": "^1.0.2"
},
@@ -5114,22 +5308,10 @@
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
"integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
},
- "node_modules/hasown": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
- "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
- "dependencies": {
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
"node_modules/hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
"integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
- "dev": true,
"dependencies": {
"react-is": "^16.7.0"
}
@@ -5137,14 +5319,12 @@
"node_modules/hoist-non-react-statics/node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "dev": true
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"node_modules/hotkeys-js": {
"version": "3.13.2",
"resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.13.2.tgz",
"integrity": "sha512-SXd+x90nhOdo5s+DZNPtrvXs0ZahQLXT0tWQ68bzjxCNUZ7eV4ZlNqjHLi3Kt2URpR8EBJOB2dBLdNfwIeql1A==",
- "dev": true,
"funding": {
"url": "https://jaywcjlove.github.io/#/sponsor"
}
@@ -5198,8 +5378,7 @@
"node_modules/hyphenate-style-name": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
- "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==",
- "dev": true
+ "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
},
"node_modules/iconv-lite": {
"version": "0.4.24",
@@ -5227,7 +5406,6 @@
"version": "9.0.21",
"resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz",
"integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==",
- "dev": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/immer"
@@ -5267,7 +5445,6 @@
"version": "9.13.0",
"resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.13.0.tgz",
"integrity": "sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==",
- "dev": true,
"dependencies": {
"@formatjs/ecma402-abstract": "1.11.4",
"@formatjs/fast-memoize": "1.2.1",
@@ -5287,7 +5464,6 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
"integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"has-tostringtag": "^1.0.0"
@@ -5317,6 +5493,17 @@
"node": ">=8"
}
},
+ "node_modules/is-callable": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-core-module": {
"version": "2.13.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
@@ -5329,21 +5516,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dev": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -5361,6 +5533,20 @@
"node": ">=8"
}
},
+ "node_modules/is-generator-function": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
+ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
@@ -5376,8 +5562,7 @@
"node_modules/is-in-browser": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz",
- "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==",
- "dev": true
+ "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g=="
},
"node_modules/is-number": {
"version": "7.0.0",
@@ -5388,14 +5573,12 @@
"node": ">=0.12.0"
}
},
- "node_modules/is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dev": true,
+ "node_modules/is-typed-array": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
+ "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
"dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
+ "which-typed-array": "^1.1.11"
},
"engines": {
"node": ">= 0.4"
@@ -5427,6 +5610,14 @@
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
},
+ "node_modules/jmespath": {
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz",
+ "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==",
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
"node_modules/jose": {
"version": "4.13.1",
"resolved": "https://registry.npmjs.org/jose/-/jose-4.13.1.tgz",
@@ -5461,7 +5652,6 @@
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true,
"bin": {
"jsesc": "bin/jsesc"
},
@@ -5494,7 +5684,6 @@
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "dev": true,
"bin": {
"json5": "lib/cli.js"
},
@@ -5528,7 +5717,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz",
"integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"csstype": "^3.0.2",
@@ -5544,7 +5732,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz",
"integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"hyphenate-style-name": "^1.0.3",
@@ -5555,7 +5742,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-compose/-/jss-plugin-compose-10.10.0.tgz",
"integrity": "sha512-F5kgtWpI2XfZ3Z8eP78tZEYFdgTIbpA/TMuX3a8vwrNolYtN1N4qJR/Ob0LAsqIwCMLojtxN7c7Oo/+Vz6THow==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.10.0",
@@ -5566,7 +5752,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz",
"integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.10.0"
@@ -5576,7 +5761,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-expand/-/jss-plugin-expand-10.10.0.tgz",
"integrity": "sha512-ymT62W2OyDxBxr7A6JR87vVX9vTq2ep5jZLIdUSusfBIEENLdkkc0lL/Xaq8W9s3opUq7R0sZQpzRWELrfVYzA==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.10.0"
@@ -5586,7 +5770,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-extend/-/jss-plugin-extend-10.10.0.tgz",
"integrity": "sha512-sKYrcMfr4xxigmIwqTjxNcHwXJIfvhvjTNxF+Tbc1NmNdyspGW47Ey6sGH8BcQ4FFQhLXctpWCQSpDwdNmXSwg==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.10.0",
@@ -5597,7 +5780,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz",
"integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.10.0"
@@ -5607,7 +5789,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz",
"integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.10.0",
@@ -5618,7 +5799,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz",
"integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.10.0"
@@ -5628,7 +5808,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz",
"integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.10.0",
@@ -5639,7 +5818,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-rule-value-observable/-/jss-plugin-rule-value-observable-10.10.0.tgz",
"integrity": "sha512-ZLMaYrR3QE+vD7nl3oNXuj79VZl9Kp8/u6A1IbTPDcuOu8b56cFdWRZNZ0vNr8jHewooEeq2doy8Oxtymr2ZPA==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.10.0",
@@ -5650,7 +5828,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-template/-/jss-plugin-template-10.10.0.tgz",
"integrity": "sha512-ocXZBIOJOA+jISPdsgkTs8wwpK6UbsvtZK5JI7VUggTD6LWKbtoxUzadd2TpfF+lEtlhUmMsCkTRNkITdPKa6w==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.10.0",
@@ -5661,7 +5838,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz",
"integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"css-vendor": "^2.0.8",
@@ -5672,7 +5848,6 @@
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-10.10.0.tgz",
"integrity": "sha512-GL175Wt2FGhjE+f+Y3aWh+JioL06/QWFgZp53CbNNq6ZkVU0TDplD8Bxm9KnkotAYn3FlplNqoW5CjyLXcoJ7Q==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"jss": "10.10.0",
@@ -5699,8 +5874,7 @@
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/loose-envify": {
"version": "1.4.0",
@@ -5717,7 +5891,6 @@
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "dev": true,
"dependencies": {
"yallist": "^3.0.2"
}
@@ -5747,8 +5920,7 @@
"node_modules/memoize-one": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz",
- "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==",
- "dev": true
+ "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q=="
},
"node_modules/merge-descriptors": {
"version": "1.0.1",
@@ -5860,9 +6032,9 @@
}
},
"node_modules/moment": {
- "version": "2.30.1",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
- "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
+ "version": "2.29.4",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
+ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
"engines": {
"node": "*"
}
@@ -5970,13 +6142,12 @@
"node_modules/node-releases": {
"version": "2.0.14",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
- "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
- "dev": true
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
},
"node_modules/nodemon": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.3.tgz",
- "integrity": "sha512-7jH/NXbFPxVaMwmBCC2B9F/V6X1VkEdNgx3iu9jji8WxWcvhMWkmhNWhI5077zknOnZnBzba9hZP6bCPJLSReQ==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.2.tgz",
+ "integrity": "sha512-9qIN2LNTrEzpOPBaWHTm4Asy1LxXLSickZStAQ4IZe7zsoIpD/A7LWxhZV3t4Zu352uBcqVnRsDXSMR2Sc3lTA==",
"dev": true,
"dependencies": {
"chokidar": "^3.5.2",
@@ -6102,36 +6273,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/object-is": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
- "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
"node_modules/object-path": {
"version": "0.11.8",
"resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz",
"integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==",
- "dev": true,
"engines": {
"node": ">= 10.12.0"
}
@@ -6202,12 +6347,6 @@
"resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz",
"integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ=="
},
- "node_modules/parchment": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz",
- "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==",
- "dev": true
- },
"node_modules/parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -6387,14 +6526,12 @@
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
"engines": {
"node": ">=8.6"
},
@@ -6405,13 +6542,12 @@
"node_modules/popper.js": {
"version": "1.16.1-lts",
"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz",
- "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==",
- "dev": true
+ "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA=="
},
"node_modules/postcss": {
- "version": "8.4.35",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz",
- "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==",
+ "version": "8.4.32",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz",
+ "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==",
"dev": true,
"funding": [
{
@@ -6439,8 +6575,7 @@
"node_modules/postcss-value-parser": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
},
"node_modules/postgres-array": {
"version": "2.0.0",
@@ -6493,9 +6628,9 @@
}
},
"node_modules/prettier": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz",
- "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz",
+ "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==",
"dev": true,
"bin": {
"prettier": "bin/prettier.cjs"
@@ -6572,6 +6707,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
+ "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
+ "engines": {
+ "node": ">=0.4.x"
+ }
+ },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -6591,34 +6735,6 @@
}
]
},
- "node_modules/quill": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz",
- "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==",
- "dev": true,
- "dependencies": {
- "clone": "^2.1.1",
- "deep-equal": "^1.0.1",
- "eventemitter3": "^2.0.3",
- "extend": "^3.0.2",
- "parchment": "^1.1.4",
- "quill-delta": "^3.6.2"
- }
- },
- "node_modules/quill-delta": {
- "version": "3.6.3",
- "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz",
- "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==",
- "dev": true,
- "dependencies": {
- "deep-equal": "^1.0.1",
- "extend": "^3.0.2",
- "fast-diff": "1.1.2"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
"node_modules/range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -6663,14 +6779,27 @@
"node_modules/react-display-name": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/react-display-name/-/react-display-name-0.2.5.tgz",
- "integrity": "sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg==",
- "dev": true
+ "integrity": "sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg=="
+ },
+ "node_modules/react-dnd": {
+ "version": "11.1.3",
+ "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-11.1.3.tgz",
+ "integrity": "sha512-8rtzzT8iwHgdSC89VktwhqdKKtfXaAyC4wiqp0SywpHG12TTLvfOoL6xNEIUWXwIEWu+CFfDn4GZJyynCEuHIQ==",
+ "dependencies": {
+ "@react-dnd/shallowequal": "^2.0.0",
+ "@types/hoist-non-react-statics": "^3.3.1",
+ "dnd-core": "^11.1.3",
+ "hoist-non-react-statics": "^3.3.0"
+ },
+ "peerDependencies": {
+ "react": ">= 16.9.0",
+ "react-dom": ">= 16.9.0"
+ }
},
"node_modules/react-dnd-html5-backend": {
"version": "11.1.3",
"resolved": "https://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-11.1.3.tgz",
"integrity": "sha512-/1FjNlJbW/ivkUxlxQd7o3trA5DE33QiRZgxent3zKme8DwF4Nbw3OFVhTRFGaYhHFNL1rZt6Rdj1D78BjnNLw==",
- "dev": true,
"dependencies": {
"dnd-core": "^11.1.3"
}
@@ -6679,7 +6808,6 @@
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
"integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
- "dev": true,
"dependencies": {
"loose-envify": "^1.1.0",
"scheduler": "^0.23.0"
@@ -6688,27 +6816,10 @@
"react": "^18.2.0"
}
},
- "node_modules/react-dropzone": {
- "version": "14.2.3",
- "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz",
- "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==",
- "dependencies": {
- "attr-accept": "^2.2.2",
- "file-selector": "^0.6.0",
- "prop-types": "^15.8.1"
- },
- "engines": {
- "node": ">= 10.13"
- },
- "peerDependencies": {
- "react": ">= 16.8 || 18.0.0"
- }
- },
"node_modules/react-intl": {
"version": "5.25.1",
"resolved": "https://registry.npmjs.org/react-intl/-/react-intl-5.25.1.tgz",
"integrity": "sha512-pkjdQDvpJROoXLMltkP/5mZb0/XqrqLoPGKUCfbdkP8m6U9xbK40K51Wu+a4aQqTEvEK5lHBk0fWzUV72SJ3Hg==",
- "dev": true,
"dependencies": {
"@formatjs/ecma402-abstract": "1.11.4",
"@formatjs/icu-messageformat-parser": "2.1.0",
@@ -6734,14 +6845,12 @@
"node_modules/react-is": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
- "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
- "dev": true
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
},
"node_modules/react-jss": {
"version": "10.10.0",
"resolved": "https://registry.npmjs.org/react-jss/-/react-jss-10.10.0.tgz",
"integrity": "sha512-WLiq84UYWqNBF6579/uprcIUnM1TSywYq6AIjKTTTG5ziJl9Uy+pwuvpN3apuyVwflMbD60PraeTKT7uWH9XEQ==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"@emotion/is-prop-valid": "^0.7.3",
@@ -6763,7 +6872,6 @@
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.7.3.tgz",
"integrity": "sha512-uxJqm/sqwXw3YPA5GXX365OBcJGFtxUVkB6WyezqFHlNe9jqUWH5ur2O2M8dGBz61kn1g3ZBlzUunFQXQIClhA==",
- "dev": true,
"dependencies": {
"@emotion/memoize": "0.7.1"
}
@@ -6771,29 +6879,12 @@
"node_modules/react-jss/node_modules/@emotion/memoize": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.1.tgz",
- "integrity": "sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg==",
- "dev": true
- },
- "node_modules/react-quill": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/react-quill/-/react-quill-2.0.0.tgz",
- "integrity": "sha512-4qQtv1FtCfLgoD3PXAur5RyxuUbPXQGOHgTlFie3jtxp43mXDtzCKaOgQ3mLyZfi1PUlyjycfivKelFhy13QUg==",
- "dev": true,
- "dependencies": {
- "@types/quill": "^1.3.10",
- "lodash": "^4.17.4",
- "quill": "^1.3.7"
- },
- "peerDependencies": {
- "react": "^16 || ^17 || ^18",
- "react-dom": "^16 || ^17 || ^18"
- }
+ "integrity": "sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg=="
},
"node_modules/react-redux": {
"version": "7.2.9",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz",
"integrity": "sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.15.4",
"@types/react-redux": "^7.1.20",
@@ -6817,8 +6908,7 @@
"node_modules/react-redux/node_modules/react-is": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
"node_modules/react-refresh": {
"version": "0.14.0",
@@ -6830,12 +6920,12 @@
}
},
"node_modules/react-router": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.0.tgz",
- "integrity": "sha512-q2yemJeg6gw/YixRlRnVx6IRJWZD6fonnfZhN1JIOhV2iJCPeRNSH3V1ISwHf+JWcESzLC3BOLD1T07tmO5dmg==",
+ "version": "6.20.1",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.20.1.tgz",
+ "integrity": "sha512-ccvLrB4QeT5DlaxSFFYi/KR8UMQ4fcD8zBcR71Zp1kaYTC5oJKYAp1cbavzGrogwxca+ubjkd7XjFZKBW8CxPA==",
"dev": true,
"dependencies": {
- "@remix-run/router": "1.15.0"
+ "@remix-run/router": "1.13.1"
},
"engines": {
"node": ">=14.0.0"
@@ -6845,13 +6935,13 @@
}
},
"node_modules/react-router-dom": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.0.tgz",
- "integrity": "sha512-z2w+M4tH5wlcLmH3BMMOMdrtrJ9T3oJJNsAlBJbwk+8Syxd5WFJ7J5dxMEW0/GEXD1BBis4uXRrNIz3mORr0ag==",
+ "version": "6.20.1",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.20.1.tgz",
+ "integrity": "sha512-npzfPWcxfQN35psS7rJgi/EW0Gx6EsNjfdJSAk73U/HqMEJZ2k/8puxfwHFgDQhBGmS3+sjnGbMdMSV45axPQw==",
"dev": true,
"dependencies": {
- "@remix-run/router": "1.15.0",
- "react-router": "6.22.0"
+ "@remix-run/router": "1.13.1",
+ "react-router": "6.20.1"
},
"engines": {
"node": ">=14.0.0"
@@ -6861,24 +6951,10 @@
"react-dom": ">=16.8"
}
},
- "node_modules/react-toastify": {
- "version": "10.0.4",
- "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-10.0.4.tgz",
- "integrity": "sha512-etR3RgueY8pe88SA67wLm8rJmL1h+CLqUGHuAoNsseW35oTGJEri6eBTyaXnFKNQ80v/eO10hBYLgz036XRGgA==",
- "dev": true,
- "dependencies": {
- "clsx": "^2.1.0"
- },
- "peerDependencies": {
- "react": ">=16",
- "react-dom": ">=16"
- }
- },
"node_modules/react-transition-group": {
"version": "4.4.5",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
"integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.5.5",
"dom-helpers": "^5.0.1",
@@ -6894,7 +6970,6 @@
"version": "1.0.20",
"resolved": "https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.20.tgz",
"integrity": "sha512-OdIyHwj4S4wyhbKHOKM1wLSj/UDXm839Z3Cvfg2a9j+He6yDa6i5p0qQvEiCnyQlGO/HyfSnigQwuxvYalaAXA==",
- "dev": true,
"peerDependencies": {
"react": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc",
"react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc"
@@ -6904,7 +6979,6 @@
"version": "1.8.10",
"resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.10.tgz",
"integrity": "sha512-Y0Cx+dnU6NLa5/EvoHukUD0BklJ8qITCtVEPY1C/nL8wwoZ0b5aEw8Ff1dOVHw7fCzMt55XfJDd8S8W8LCaUCg==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.0.0",
"memoize-one": ">=3.1.1 <6"
@@ -6946,7 +7020,6 @@
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz",
"integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.9.2"
}
@@ -6955,7 +7028,6 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz",
"integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==",
- "dev": true,
"peerDependencies": {
"redux": "^4"
}
@@ -6964,7 +7036,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/redux-watch/-/redux-watch-1.2.0.tgz",
"integrity": "sha512-Ws4Q+e5zFGMyy1H709c1Ws8apSd6MqoJRIzBDHbI4nikome/IZWVTYXdQNz+VJxPjyX/h2E+lYEo41fXgjCF8g==",
- "dev": true,
"dependencies": {
"object-path": "^0.11.5"
}
@@ -6972,25 +7043,7 @@
"node_modules/regenerator-runtime": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
- "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==",
- "dev": true
- },
- "node_modules/regexp.prototype.flags": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz",
- "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==",
- "dev": true,
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "set-function-name": "^2.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
+ "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
},
"node_modules/request": {
"version": "2.88.2",
@@ -7065,8 +7118,7 @@
"node_modules/reselect": {
"version": "4.1.8",
"resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz",
- "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==",
- "dev": true
+ "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ=="
},
"node_modules/resolve": {
"version": "1.22.4",
@@ -7197,11 +7249,15 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
+ "node_modules/sax": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
+ "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA=="
+ },
"node_modules/scheduler": {
"version": "0.23.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
"integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
- "dev": true,
"dependencies": {
"loose-envify": "^1.1.0"
}
@@ -7274,20 +7330,6 @@
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
},
- "node_modules/set-function-name": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz",
- "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==",
- "dev": true,
- "dependencies": {
- "define-data-property": "^1.0.1",
- "functions-have-names": "^1.2.3",
- "has-property-descriptors": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
"node_modules/setprototypeof": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
@@ -7296,14 +7338,12 @@
"node_modules/shallow-equal": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz",
- "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==",
- "dev": true
+ "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
},
"node_modules/shallowequal": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
- "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==",
- "dev": true
+ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
},
"node_modules/shell-quote": {
"version": "1.8.1",
@@ -7319,7 +7359,6 @@
"resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz",
"integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==",
"deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
- "dev": true,
"dependencies": {
"nanoid": "^2.1.0"
}
@@ -7327,8 +7366,7 @@
"node_modules/shortid/node_modules/nanoid": {
"version": "2.1.11",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz",
- "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==",
- "dev": true
+ "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA=="
},
"node_modules/side-channel": {
"version": "1.0.4",
@@ -7394,9 +7432,9 @@
"dev": true
},
"node_modules/socket.io": {
- "version": "4.7.4",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.4.tgz",
- "integrity": "sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==",
+ "version": "4.7.2",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz",
+ "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==",
"dependencies": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
@@ -7419,9 +7457,9 @@
}
},
"node_modules/socket.io-client": {
- "version": "4.7.4",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.4.tgz",
- "integrity": "sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==",
+ "version": "4.7.2",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.2.tgz",
+ "integrity": "sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==",
"dev": true,
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
@@ -7585,13 +7623,13 @@
"node_modules/strnum": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
- "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA=="
+ "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==",
+ "peer": true
},
"node_modules/styled-components": {
"version": "5.3.11",
"resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz",
"integrity": "sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==",
- "dev": true,
"dependencies": {
"@babel/helper-module-imports": "^7.0.0",
"@babel/traverse": "^7.4.5",
@@ -7620,8 +7658,7 @@
"node_modules/styled-components/node_modules/@emotion/unitless": {
"version": "0.7.5",
"resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
- "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==",
- "dev": true
+ "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
},
"node_modules/stylis": {
"version": "4.2.0",
@@ -7633,7 +7670,6 @@
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
"dependencies": {
"has-flag": "^3.0.0"
},
@@ -7657,7 +7693,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
"integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -7687,7 +7722,6 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/theming/-/theming-3.3.0.tgz",
"integrity": "sha512-u6l4qTJRDaWZsqa8JugaNt7Xd8PPl9+gonZaIe28vAhqgHMIG/DOyFPqiKN/gQLQYj05tHv+YQdNILL4zoiAVA==",
- "dev": true,
"dependencies": {
"hoist-non-react-statics": "^3.3.0",
"prop-types": "^15.5.8",
@@ -7704,14 +7738,12 @@
"node_modules/tiny-warning": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
- "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==",
- "dev": true
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
},
"node_modules/to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
"integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
- "dev": true,
"engines": {
"node": ">=4"
}
@@ -7777,8 +7809,7 @@
"node_modules/tsdef": {
"version": "0.0.14",
"resolved": "https://registry.npmjs.org/tsdef/-/tsdef-0.0.14.tgz",
- "integrity": "sha512-UjMD4XKRWWFlFBfwKVQmGFT5YzW/ZaF8x6KpCDf92u9wgKeha/go3FU0e5WqDjXsCOdfiavCkfwfVHNDxRDGMA==",
- "dev": true
+ "integrity": "sha512-UjMD4XKRWWFlFBfwKVQmGFT5YzW/ZaF8x6KpCDf92u9wgKeha/go3FU0e5WqDjXsCOdfiavCkfwfVHNDxRDGMA=="
},
"node_modules/tslib": {
"version": "2.5.0",
@@ -7841,7 +7872,6 @@
"version": "1.0.13",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
"integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
- "dev": true,
"funding": [
{
"type": "opencollective",
@@ -7875,6 +7905,32 @@
"punycode": "^2.1.0"
}
},
+ "node_modules/url": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
+ "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==",
+ "dependencies": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ }
+ },
+ "node_modules/url/node_modules/punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
+ },
+ "node_modules/util": {
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+ "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "which-typed-array": "^1.1.2"
+ }
+ },
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -7922,13 +7978,13 @@
}
},
"node_modules/vite": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.1.tgz",
- "integrity": "sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==",
+ "version": "5.0.7",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.7.tgz",
+ "integrity": "sha512-B4T4rJCDPihrQo2B+h1MbeGL/k/GMAHzhQ8S0LjQ142s6/+l3hHTT095ORvsshj4QCkoWu3Xtmob5mazvakaOw==",
"dev": true,
"dependencies": {
"esbuild": "^0.19.3",
- "postcss": "^8.4.35",
+ "postcss": "^8.4.32",
"rollup": "^4.2.0"
},
"bin": {
@@ -7990,6 +8046,24 @@
"webidl-conversions": "^3.0.0"
}
},
+ "node_modules/which-typed-array": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz",
+ "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/wide-align": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
@@ -8040,6 +8114,26 @@
}
}
},
+ "node_modules/xml2js": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz",
+ "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
+ "dependencies": {
+ "sax": ">=0.6.0",
+ "xmlbuilder": "~11.0.0"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/xmlbuilder": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
"node_modules/xmlhttprequest-ssl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
@@ -8069,8 +8163,7 @@
"node_modules/yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
},
"node_modules/yaml": {
"version": "1.10.2",
diff --git a/package.json b/package.json
index 3332706..62e7f28 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "minecluster",
- "version": "0.0.1-alpha.1",
+ "version": "0.0.1-alpha.0",
"description": "Minecraft Server management using Kubernetes",
"type": "module",
"scripts": {
@@ -8,7 +8,7 @@
"start": "node dist/app.js",
"dev:server": "nodemon dist/app.js",
"dev:react": "vite",
- "lint": "npx prettier -w src lib vite.config.js",
+ "kub": "nodemon lib/k8s.js",
"start:dev": "concurrently -k \"MCL_DEV_PORT=52025 npm run dev:server\" \" MCL_VITE_DEV_PORT=52000 MCL_VITE_BACKEND_URL=http://localhost:52025 npm run dev:react\" -n s,v -p -c green,yellow",
"start:dev:garden": "concurrently -k \"npm run dev:server\" \"npm run dev:react\" -n s,v -p -c green,yellow"
},
@@ -22,44 +22,39 @@
"author": "Dunemask",
"license": "LGPL-2.1",
"devDependencies": {
- "@emotion/react": "^11.11.3",
+ "@emotion/react": "^11.11.1",
"@emotion/styled": "^11.11.0",
- "@mui/icons-material": "^5.15.9",
- "@mui/material": "^5.15.9",
- "@tanstack/react-query": "^5.20.1",
+ "@mui/icons-material": "^5.14.19",
+ "@mui/material": "^5.14.20",
+ "@tanstack/react-query": "^5.12.2",
"@vitejs/plugin-react": "^4.2.1",
- "chonky": "^2.3.2",
- "chonky-icon-fontawesome": "^2.3.2",
"concurrently": "^8.2.2",
- "nodemon": "^3.0.3",
- "prettier": "^3.2.5",
+ "nodemon": "^3.0.2",
+ "prettier": "^3.1.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "react-quill": "^2.0.0",
- "react-router-dom": "^6.22.0",
- "react-toastify": "^10.0.4",
- "socket.io-client": "^4.7.4",
- "vite": "^5.1.1"
+ "react-router-dom": "^6.20.1",
+ "socket.io-client": "^4.7.2",
+ "vite": "^5.0.7"
},
"dependencies": {
- "@aws-sdk/client-s3": "^3.529.1",
- "@aws-sdk/s3-request-presigner": "^3.529.1",
"@kubernetes/client-node": "^0.20.0",
+ "aws-sdk": "^2.1514.0",
"basic-ftp": "^5.0.4",
"bcrypt": "^5.1.1",
"chalk": "^5.3.0",
+ "chonky": "^2.3.2",
+ "chonky-icon-fontawesome": "^2.3.2",
"express": "^4.18.2",
- "express-bearer-token": "^2.4.0",
"figlet": "^1.7.0",
"js-yaml": "^4.1.0",
- "moment": "^2.30.1",
+ "moment": "^2.29.4",
"multer": "^1.4.5-lts.1",
"multer-s3": "^3.0.1",
"pg-promise": "^11.5.4",
"postgres-migrations": "^5.3.0",
"rcon-client": "^4.2.4",
- "react-dropzone": "^14.2.3",
- "socket.io": "^4.7.4",
+ "socket.io": "^4.7.2",
"uuid": "^9.0.1"
}
}
diff --git a/public/icons/android-chrome-192x192.png b/public/icons/android-chrome-192x192.png
deleted file mode 100644
index 5f91c4a..0000000
Binary files a/public/icons/android-chrome-192x192.png and /dev/null differ
diff --git a/public/icons/android-chrome-512x512.png b/public/icons/android-chrome-512x512.png
deleted file mode 100644
index ffad351..0000000
Binary files a/public/icons/android-chrome-512x512.png and /dev/null differ
diff --git a/public/icons/apple-touch-icon-120x120-precomposed.png b/public/icons/apple-touch-icon-120x120-precomposed.png
deleted file mode 100644
index 1fae26b..0000000
Binary files a/public/icons/apple-touch-icon-120x120-precomposed.png and /dev/null differ
diff --git a/public/icons/apple-touch-icon-120x120.png b/public/icons/apple-touch-icon-120x120.png
deleted file mode 100644
index 11e2054..0000000
Binary files a/public/icons/apple-touch-icon-120x120.png and /dev/null differ
diff --git a/public/icons/apple-touch-icon-152x152-precomposed.png b/public/icons/apple-touch-icon-152x152-precomposed.png
deleted file mode 100644
index cbf2337..0000000
Binary files a/public/icons/apple-touch-icon-152x152-precomposed.png and /dev/null differ
diff --git a/public/icons/apple-touch-icon-152x152.png b/public/icons/apple-touch-icon-152x152.png
deleted file mode 100644
index e6b3d43..0000000
Binary files a/public/icons/apple-touch-icon-152x152.png and /dev/null differ
diff --git a/public/icons/apple-touch-icon-180x180-precomposed.png b/public/icons/apple-touch-icon-180x180-precomposed.png
deleted file mode 100644
index b3fc31a..0000000
Binary files a/public/icons/apple-touch-icon-180x180-precomposed.png and /dev/null differ
diff --git a/public/icons/apple-touch-icon-180x180.png b/public/icons/apple-touch-icon-180x180.png
deleted file mode 100644
index 952340d..0000000
Binary files a/public/icons/apple-touch-icon-180x180.png and /dev/null differ
diff --git a/public/icons/apple-touch-icon-60x60-precomposed.png b/public/icons/apple-touch-icon-60x60-precomposed.png
deleted file mode 100644
index 26178b4..0000000
Binary files a/public/icons/apple-touch-icon-60x60-precomposed.png and /dev/null differ
diff --git a/public/icons/apple-touch-icon-60x60.png b/public/icons/apple-touch-icon-60x60.png
deleted file mode 100644
index c23ddf3..0000000
Binary files a/public/icons/apple-touch-icon-60x60.png and /dev/null differ
diff --git a/public/icons/apple-touch-icon-76x76-precomposed.png b/public/icons/apple-touch-icon-76x76-precomposed.png
deleted file mode 100644
index 1e0a2f8..0000000
Binary files a/public/icons/apple-touch-icon-76x76-precomposed.png and /dev/null differ
diff --git a/public/icons/apple-touch-icon-76x76.png b/public/icons/apple-touch-icon-76x76.png
deleted file mode 100644
index 954eb27..0000000
Binary files a/public/icons/apple-touch-icon-76x76.png and /dev/null differ
diff --git a/public/icons/apple-touch-icon-precomposed.png b/public/icons/apple-touch-icon-precomposed.png
deleted file mode 100644
index b3fc31a..0000000
Binary files a/public/icons/apple-touch-icon-precomposed.png and /dev/null differ
diff --git a/public/icons/apple-touch-icon.png b/public/icons/apple-touch-icon.png
deleted file mode 100644
index 952340d..0000000
Binary files a/public/icons/apple-touch-icon.png and /dev/null differ
diff --git a/public/icons/browserconfig.xml b/public/icons/browserconfig.xml
deleted file mode 100644
index 0502cdd..0000000
--- a/public/icons/browserconfig.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
- #00aba9
-
-
-
diff --git a/public/icons/favicon-16x16.png b/public/icons/favicon-16x16.png
deleted file mode 100644
index 821bb9f..0000000
Binary files a/public/icons/favicon-16x16.png and /dev/null differ
diff --git a/public/icons/favicon-32x32.png b/public/icons/favicon-32x32.png
deleted file mode 100644
index 2e5456d..0000000
Binary files a/public/icons/favicon-32x32.png and /dev/null differ
diff --git a/public/icons/favicon.ico b/public/icons/favicon.ico
deleted file mode 100644
index a19896d..0000000
Binary files a/public/icons/favicon.ico and /dev/null differ
diff --git a/public/icons/mstile-150x150.png b/public/icons/mstile-150x150.png
deleted file mode 100644
index f04e6ad..0000000
Binary files a/public/icons/mstile-150x150.png and /dev/null differ
diff --git a/public/icons/safari-pinned-tab.svg b/public/icons/safari-pinned-tab.svg
deleted file mode 100644
index ad6d511..0000000
--- a/public/icons/safari-pinned-tab.svg
+++ /dev/null
@@ -1,252 +0,0 @@
-
-
-
diff --git a/public/icons/site.webmanifest b/public/icons/site.webmanifest
deleted file mode 100644
index c008ad1..0000000
--- a/public/icons/site.webmanifest
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": "Minecluster",
- "short_name": "Minecluster",
- "icons": [
- {
- "src": "/icons/android-chrome-192x192.png?v=feb4-24-mineblock",
- "sizes": "192x192",
- "type": "image/png"
- },
- {
- "src": "/icons/android-chrome-512x512.png?v=feb4-24-mineblock",
- "sizes": "512x512",
- "type": "image/png"
- }
- ],
- "theme_color": "#249c6b",
- "background_color": "#249c6b",
- "display": "standalone"
-}
diff --git a/src/components/files/ChonkyStyledFileBrowser.jsx b/src/components/files/ChonkyStyledFileBrowser.jsx
new file mode 100644
index 0000000..3273684
--- /dev/null
+++ b/src/components/files/ChonkyStyledFileBrowser.jsx
@@ -0,0 +1,42 @@
+// ChonkyFullFileBrowser.tsx
+import { forwardRef, memo } from "react";
+import {
+ StylesProvider,
+ createGenerateClassName,
+} from "@material-ui/core/styles";
+
+import {
+ FileBrowser,
+ FileList,
+ FileContextMenu,
+ FileNavbar,
+ FileToolbar,
+ setChonkyDefaults,
+ FileBrowserHandle,
+ FileBrowserProps,
+} from "chonky";
+
+import { ChonkyIconFA } from "chonky-icon-fontawesome";
+
+setChonkyDefaults({ iconComponent: ChonkyIconFA });
+
+const muiJSSClassNameGenerator = createGenerateClassName({
+ // Seed property is used to add a prefix classes generated by material ui.
+ seed: "chonky",
+});
+
+export default memo(
+ forwardRef((props, ref) => {
+ const { onScroll } = props;
+ return (
+
+
+
+
+
+
+
+
+ );
+ }),
+);
diff --git a/src/components/files/FilePreview.jsx b/src/components/files/FilePreview.jsx
deleted file mode 100644
index c6e1002..0000000
--- a/src/components/files/FilePreview.jsx
+++ /dev/null
@@ -1,103 +0,0 @@
-import { useState, useEffect } from "react";
-import useMediaQuery from "@mui/material/useMediaQuery";
-import { useTheme } from "@mui/material/styles";
-import Button from "@mui/material/Button";
-import DialogTitle from "@mui/material/DialogTitle";
-import DialogContent from "@mui/material/DialogContent";
-import DialogActions from "@mui/material/DialogActions";
-import Dialog from "@mui/material/Dialog";
-import Toolbar from "@mui/material/Toolbar";
-import TextEditor from "./TextEditor.jsx";
-import { cairoAuthHeader } from "@mcl/util/auth.js";
-
-const textFileTypes = [
- "properties",
- "txt",
- "yaml",
- "yml",
- "json",
- "env",
- "toml",
- "tml",
- "text",
-];
-const imageFileTypes = ["png", "jpeg", "jpg"];
-
-export const supportedFileTypes = [...textFileTypes, ...imageFileTypes];
-
-export function useFilePreview(isOpen = false) {
- const [open, setOpen] = useState(isOpen);
- const dialogToggle = () => setOpen(!open);
- return [open, dialogToggle];
-}
-
-export default function FilePreview(props) {
- const [fileText, setFileText] = useState();
- const [modifiedText, setModifiedText] = useState();
- const theme = useTheme();
- const fullScreen = useMediaQuery(theme.breakpoints.down("md"));
-
- const { previewData, open, dialogToggle, server: serverId } = props;
- const { fileData, name, filePath } = previewData ?? {};
- const ext = name ? name.split(".").pop() : null;
- const isTextFile = textFileTypes.includes(ext);
-
- useEffect(() => {
- onPreviewChange();
- }, [fileData]);
- const editorChange = (v) => setModifiedText(v);
-
- async function onPreviewChange() {
- if (!isTextFile) return;
- const text = await fileData.text();
- setFileText(text);
- }
-
- async function onSave() {
- if (!isTextFile) return;
- const formData = new FormData();
- const blob = new Blob([modifiedText], { type: "plain/text" });
- formData.append("file", blob, name);
- formData.append("id", serverId);
- formData.append("path", filePath);
- await fetch("/api/files/upload", {
- method: "POST",
- body: formData,
- headers: cairoAuthHeader(),
- });
- dialogToggle();
- }
-
- return (
-
- );
-}
diff --git a/src/components/files/MineclusterFiles.jsx b/src/components/files/MineclusterFiles.jsx
index eb48283..6c0079d 100644
--- a/src/components/files/MineclusterFiles.jsx
+++ b/src/components/files/MineclusterFiles.jsx
@@ -1,7 +1,5 @@
import { useState, useEffect, useMemo, useRef } from "react";
import Box from "@mui/material/Box";
-import Dropzone from "react-dropzone";
-
import {
FileBrowser,
FileContextMenu,
@@ -18,12 +16,9 @@ import {
createServerFolder,
deleteServerItem,
getServerItem,
- moveServerItems,
- previewServerItem,
} from "@mcl/queries";
-import { cairoAuthHeader } from "@mcl/util/auth.js";
-import { supportedFileTypes } from "./FilePreview.jsx";
+import "@mcl/css/header.css";
export default function MineclusterFiles(props) {
// Chonky configuration
@@ -35,63 +30,46 @@ export default function MineclusterFiles(props) {
ChonkyActions.DownloadFiles,
ChonkyActions.CopyFiles,
ChonkyActions.DeleteFiles,
- ChonkyActions.MoveFiles,
],
[],
);
- const { server: serverId, changePreview } = props;
+ const { server: serverName } = props;
const inputRef = useRef(null);
const [dirStack, setDirStack] = useState(["."]);
const [files, setFiles] = useState([]);
- const updateFiles = () => {
- const dir = dirStack.join("/");
- getServerFiles(serverId, dir)
- .then((f) => {
- const files = f.map((fi) => ({ ...fi, id: `${dir}/${fi.name}` }));
- setFiles(files ?? []);
- })
- .catch(() =>
- console.error(
- "Couldn't update files, server likely hasn't started yet",
- ),
- );
- };
+ const updateFiles = () =>
+ getServerFiles(serverName, dirStack.join("/")).then((f) =>
+ setFiles(f ?? []),
+ );
useEffect(() => {
updateFiles();
}, [dirStack]);
const getFolderChain = () => {
- if (dirStack.length === 1) return [{ id: "./", name: "Home", isDir: true }];
- return dirStack.map((d, i) => ({
- id: `${dirStack.slice(0, i + 1).join("/")}`,
- name: i === 0 ? "Home" : d,
- isDir: true,
- }));
+ if (dirStack.length === 1) return [{ id: "home", name: "/", isDir: true }];
+ return dirStack.map((d, i) => ({ id: `${d}-${i}`, name: d, isDir: true }));
};
const openParentFolder = () => setDirStack(dirStack.slice(0, -1));
- function openItem(payload) {
+ function openFolder(payload) {
const { targetFile: file } = payload;
- if (file && file.isDir) return setDirStack(file.id.split("/"));
- if (!file || file.isDir) return; // Ensure file exists or is dir
- if (supportedFileTypes.includes(file.name.split(".").pop()))
- return previewFile(file);
- return downloadFiles([file]);
+ if (!file || !file.isDir) return;
+ setDirStack([...dirStack, file.name]);
}
function createFolder() {
const name = prompt("What is the name of the new folder?");
const path = [...dirStack, name].join("/");
- createServerFolder(serverId, path).then(updateFiles);
+ createServerFolder(serverName, path).then(updateFiles);
}
function deleteItems(files) {
Promise.all(
files.map((f) =>
- deleteServerItem(serverId, [...dirStack, f.name].join("/"), f.isDir),
+ deleteServerItem(serverName, [...dirStack, f.name].join("/"), f.isDir),
),
)
.catch((e) => console.error("Error deleting some files!", e))
@@ -101,58 +79,35 @@ export default function MineclusterFiles(props) {
function uploadFileSelection(e) {
if (!e.target.files || e.target.files.length === 0) return;
const { files } = e.target;
- uploadMultipleFiles(files);
- }
-
- function uploadMultipleFiles(files) {
Promise.all([...files].map((f) => uploadFile(f)))
.catch((e) => console.log("Error uploading a file", e))
.then(updateFiles);
}
async function uploadFile(file) {
- const filePath = file.path.startsWith("/") ? file.path : `/${file.path}`;
const formData = new FormData();
formData.append("file", file);
- formData.append("id", serverId);
- const path = `${[...dirStack].join("/")}${filePath}`;
- formData.append("path", path);
+ formData.append("name", serverName);
+ formData.append("path", [...dirStack, name].join("/"));
await fetch("/api/files/upload", {
method: "POST",
body: formData,
- headers: cairoAuthHeader(),
});
}
async function downloadFiles(files) {
Promise.all(
files.map((f) =>
- getServerItem(serverId, f.name, [...dirStack, f.name].join("/")),
+ getServerItem(serverName, f.name, [...dirStack, f.name].join("/")),
),
)
- .then(() => console.log("Done downloading files!"))
+ .then(() => console.log("Done"))
.catch((e) => console.error("Error Downloading files!", e));
}
- function previewFile(file) {
- const { name } = file;
- previewServerItem(serverId, [...dirStack, name].join("/")).then(
- (fileData) =>
- changePreview(name, fileData, [...dirStack, name].join("/")),
- );
- }
-
- function moveFile(movePayload) {
- const { files: filePayload, destination: destinationPayload } = movePayload;
- if (!destinationPayload.isDir || filePayload.length === 0) return;
- const files = filePayload.map((f) => f.name);
- const dest = destinationPayload.id;
- const origin = dirStack.join("/");
- moveServerItems(serverId, files, dest, origin).then(updateFiles);
- }
-
function fileClick(chonkyEvent) {
const { id: clickEvent, payload } = chonkyEvent;
+ console.log(chonkyEvent);
if (clickEvent === "open_parent_folder") return openParentFolder();
if (clickEvent === "create_folder") return createFolder();
if (clickEvent === "upload_files") return inputRef.current.click();
@@ -160,41 +115,32 @@ export default function MineclusterFiles(props) {
return downloadFiles(chonkyEvent.state.selectedFilesForAction);
if (clickEvent === "delete_files")
return deleteItems(chonkyEvent.state.selectedFilesForAction);
- if (clickEvent === "move_files") return moveFile(payload);
- if (clickEvent !== "open_files") return; // console.log(clickEvent);
- openItem(payload);
+ if (clickEvent !== "open_files") return console.log(clickEvent);
+ openFolder(payload);
}
-
return (
-
- {({ getRootProps }) => (
-
-
-
-
-
-
-
-
-
- )}
-
+
+
+
+
+
+
+
+
+
+
);
}
diff --git a/src/components/files/TextEditor.jsx b/src/components/files/TextEditor.jsx
deleted file mode 100644
index 6151cf8..0000000
--- a/src/components/files/TextEditor.jsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import ReactQuill from "react-quill";
-import { useState, useEffect, useMemo, memo } from "react";
-import "react-quill/dist/quill.snow.css";
-
-const buildDelta = (t) => {
- if (!t) return;
- const ops = t.split("\n").map((l) => ({ insert: `${l}\n` }));
- return { ops };
-};
-
-function TextEditor(props) {
- const { text, onChange } = props;
- const [delta, setDelta] = useState();
- const constructDelta = useMemo(() => buildDelta(text), [text]);
- useEffect(() => setDelta(constructDelta), [text]);
-
- const onEditorChange = (c, d, s, editor) => onChange(editor.getText());
-
- return ;
-}
-export default memo(TextEditor, (a, b) => a.text === b.text);
diff --git a/src/components/server-options/BackupBucketOption.jsx b/src/components/server-options/BackupBucketOption.jsx
deleted file mode 100644
index 7650187..0000000
--- a/src/components/server-options/BackupBucketOption.jsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import TextField from "@mui/material/TextField";
-export default function BackupBucketOption(props) {
- const { value, onChange } = props;
-
- return (
-
- );
-}
diff --git a/src/components/server-options/BackupHostOption.jsx b/src/components/server-options/BackupHostOption.jsx
deleted file mode 100644
index 5d96002..0000000
--- a/src/components/server-options/BackupHostOption.jsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import TextField from "@mui/material/TextField";
-export default function BackupHostOption(props) {
- const { value, onChange } = props;
-
- return (
-
- );
-}
diff --git a/src/components/server-options/BackupIdOption.jsx b/src/components/server-options/BackupIdOption.jsx
deleted file mode 100644
index 80b54b5..0000000
--- a/src/components/server-options/BackupIdOption.jsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import TextField from "@mui/material/TextField";
-export default function BackupIdOption(props) {
- const { value, onChange } = props;
-
- return (
-
- );
-}
diff --git a/src/components/server-options/BackupIntervalOption.jsx b/src/components/server-options/BackupIntervalOption.jsx
deleted file mode 100644
index 610c6fd..0000000
--- a/src/components/server-options/BackupIntervalOption.jsx
+++ /dev/null
@@ -1,55 +0,0 @@
-import { useState } from "react";
-import Box from "@mui/material/Box";
-import MenuItem from "@mui/material/MenuItem";
-import TextField from "@mui/material/TextField";
-
-const backupIntervalStepDisplay = ["Minutes", "Hours", "Days"];
-export const backupIntervalDefault = "1d";
-export const backupIntervalStepOptions = ["m", "h", "d"];
-export default function BackupIntervalOption(props) {
- const { onChange } = props;
- const [interval, setInterval] = useState(1);
- const [intervalStep, setIntervalStep] = useState(
- backupIntervalStepOptions[2],
- );
-
- const changeStep = (e) => {
- setIntervalStep(e.target.value);
- onChange({ target: { value: `${interval}${e.target.value}` } });
- };
-
- const changeInterval = (e) => {
- setInterval(e.target.value);
- onChange({ target: { value: `${e.target.value}${intervalStep}` } });
- };
-
- return (
-
-
-
- {backupIntervalStepOptions.map((o, i) => (
-
- ))}
-
-
- );
-}
diff --git a/src/components/server-options/BackupKeyOption.jsx b/src/components/server-options/BackupKeyOption.jsx
deleted file mode 100644
index 13cec43..0000000
--- a/src/components/server-options/BackupKeyOption.jsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import TextField from "@mui/material/TextField";
-export default function BackupKeyOption(props) {
- const { value, onChange } = props;
-
- return (
-
- );
-}
diff --git a/src/components/server-options/CpuOption.jsx b/src/components/server-options/CpuOption.jsx
deleted file mode 100644
index ebc812c..0000000
--- a/src/components/server-options/CpuOption.jsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import TextField from "@mui/material/TextField";
-import MenuItem from "@mui/material/MenuItem";
-
-const maxCpuSupported = 8;
-export const cpuOptions = new Array(2 * maxCpuSupported)
- .fill(0)
- .map((v, i) => (i + 1) * 0.5);
-
-export default function CpuOption(props) {
- const { value, onChange } = props;
- return (
-
- {cpuOptions.map((o, i) => (
-
- ))}
-
- );
-}
diff --git a/src/components/server-options/ExtraPortsOption.jsx b/src/components/server-options/ExtraPortsOption.jsx
deleted file mode 100644
index 893a067..0000000
--- a/src/components/server-options/ExtraPortsOption.jsx
+++ /dev/null
@@ -1,50 +0,0 @@
-import { useState } from "react";
-import TextField from "@mui/material/TextField";
-import Autocomplete from "@mui/material/Autocomplete";
-import Chip from "@mui/material/Chip";
-
-const validatePort = (p) =>
- p !== "25565" && p !== "25575" && p.length < 6 && parseInt(p) < 60_000;
-
-export default function ExtraPortsOption(props) {
- const { extraPorts: initExtraPorts } = props;
- const [extraPorts, setExtraPorts] = useState(initExtraPorts ?? []);
- const { onChange } = props;
-
- function portChange(e, val, optionType, changedValue) {
- if (optionType === "clear") {
- setExtraPorts([]);
- onChange("extraPorts", []);
- return;
- }
- if (!validatePort(changedValue.option))
- return alert("That port cannot be added/removed as an extra port!");
- setExtraPorts(val);
- onChange("extraPorts", val);
- }
-
- return (
-