diff --git a/.dockerignore b/.dockerignore
index 03068b4..a9bb12b 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -8,4 +8,6 @@ db-manager
run.sh
LICENSE
*.md
-static
\ No newline at end of file
+.eslintrc.js
+.vscode
+.test-tools
\ No newline at end of file
diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000..cf336a8
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,31 @@
+module.exports = {
+ 'env': {
+ 'browser': true,
+ 'commonjs': true,
+ 'es2021': true
+ },
+ 'extends': 'eslint:recommended',
+ 'overrides': [
+ ],
+ 'parserOptions': {
+ 'ecmaVersion': 'latest'
+ },
+ 'rules': {
+ 'indent': [
+ 'error',
+ 2
+ ],
+ 'linebreak-style': [
+ 'error',
+ 'unix'
+ ],
+ 'quotes': [
+ 'error',
+ 'single'
+ ],
+ 'semi': [
+ 'error',
+ 'always'
+ ]
+ }
+};
diff --git a/.vscode/settings.json b/.vscode/settings.json
index e9b3418..dd4c482 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,7 +1,14 @@
{
- "git.autofetch": "all",
- "git.alwaysSignOff": true,
- "git.enableCommitSigning": false,
- "git.fetchOnPull": true,
- "git.pullBeforeCheckout": true
-}
\ No newline at end of file
+ "git.autofetch": "all",
+ "git.alwaysSignOff": true,
+ "git.enableCommitSigning": false,
+ "git.fetchOnPull": true,
+ "git.pullBeforeCheckout": true,
+ "editor.defaultFormatter": "rvest.vs-code-prettier-eslint",
+ "editor.formatOnPaste": false, // required
+ "editor.formatOnType": false, // required
+ "editor.formatOnSave": true, // optional
+ "editor.formatOnSaveMode": "file", // required to format on save
+ "files.autoSave": "onFocusChange", // optional but recommended
+ "vs-code-prettier-eslint.prettierLast": "false" // set as "true" to run 'prettier' last not first
+}
diff --git a/UpNext.md b/UpNext.md
index 959ad6b..c7a1fe3 100644
--- a/UpNext.md
+++ b/UpNext.md
@@ -1,3 +1,4 @@
# What to do next:
-* Rewrite sanitizing functions to remove external dependancy.
\ No newline at end of file
+* Rewrite sanitizing functions to remove external dependancy.
+* Change /api/v1/auth endpoints to /api/v1/register endpoints - auth is done in middleware
\ No newline at end of file
diff --git a/app.js b/app.js
index 73a3756..9c499e5 100644
--- a/app.js
+++ b/app.js
@@ -4,38 +4,55 @@
// licensed separately, each folder contains a license file where a
// different license applies.
-console.log(`Initialising OwlBoard`)
+/* global process */
+
+console.log('Initialising OwlBoard');
+const mode = process.env.NODE_ENV || 'development';
// External Requires
const express = require('express');
const app = express();
-const compression = require('compression')
+
+// Middleware
+const compression = require('compression');
+const rateLimit = require('express-rate-limit');
+const authenticate= require('./src/middlewares/auth.middlewares');
// Internal Requires
-const log = require('./src/utils/log.utils'); // Log Helper
-const version = require('./src/configs/version.configs'); // Version Strings
-const listRtr = require('./src/routes/list.routes'); // /list endpoints
-const ldbRtr = require('./src/routes/ldb.routes'); // /ldb endpoints
-const kubeRtr = require('./src/routes/kube.routes'); // /kube endpoints
-const findRtr = require('./src/routes/find.routes'); // /find endpoints
-const issueRtr = require('./src/routes/issue.routes') // /issue endpoints
-const statRtr = require('./src/routes/stats.routes'); // /stat endpoints
+const log = require('./src/utils/log.utils'); // Log Helper
+const version = require('./src/configs/version.configs'); // Version Strings
+const listRtr = require('./src/routes/list.routes'); // /list endpoints
+const ldbRtr = require('./src/routes/ldb.routes'); // /ldb endpoints
+const kubeRtr = require('./src/routes/kube.routes'); // /kube endpoints
+const findRtr = require('./src/routes/find.routes'); // /find endpoints
+const issueRtr = require('./src/routes/issue.routes'); // /issue endpoints
+const statRtr = require('./src/routes/stats.routes'); // /stat endpoints
+const regRtr = require('./src/routes/registration.routes'); // /registration endpoints
+const pisRtr = require('./src/routes/pis.routes'); // /pis endpoints
// Set Server Configurations
-const srvListen = process.env.OWL_SRV_LISTEN || "0.0.0.0"
-const srvPort = process.env.OWL_SRV_PORT || 8460
+const srvListen = process.env.OWL_SRV_LISTEN || '0.0.0.0';
+const srvPort = process.env.OWL_SRV_PORT || 8460;
+
+const limiter = rateLimit({
+ windowMs: 15 * (60 * 1000), // 15 minutes
+ max: 100, // Limit each IP to 100 requests per `window` (here, per 15 minutes)
+ standardHeaders: true, // Return rate limit info in the `RateLimit-*` headers
+ legacyHeaders: true, // Disable the `X-RateLimit-*` headers
+});
// Print version number:
-log.out(`app: Starting OwlBoard - Backend Version: ${version.app} - API versions: ${version.api}`, "init");
+log.out(`app: Starting OwlBoard in ${mode} mode`, 'init');
+log.out(`app: Starting OwlBoard - Backend Version: ${version.app} - API versions: ${version.api}`, 'init');
// Test for required vars:
- // const varTest = require('./src/utils/varTest.utils');
- // var startTest = await varTest.varTest();
- //console.log("Required Vars Missing:", startTest.missing_required);
- //console.log("Desired Vars Missing:", startTest.missing_desired);
- // if startTest.pass == false
- // console.log("Unable to start, missing required vars")
- // exit app
+// const varTest = require('./src/utils/varTest.utils');
+// var startTest = await varTest.varTest();
+//console.log("Required Vars Missing:", startTest.missing_required);
+//console.log("Desired Vars Missing:", startTest.missing_desired);
+// if startTest.pass == false
+// console.log("Unable to start, missing required vars")
+// exit app
// Express Error Handling:
app.use((err, req, res, next) => {
@@ -45,25 +62,37 @@ app.use((err, req, res, next) => {
return;
});
-// Express Submodules:
+// Global Middleware:
app.use(express.json()); //JSON Parsing for POST Requests
- //STATIC CONTENT NO LONGER SERVED FROM NODE
-app.use(compression()) // Compress API Data if supported by client
+app.use(compression()); // Compress API Data if supported by client
+app.use(limiter);
-// Express Routes
+// Unauthenticated Routes
app.use('/api/v1/list', listRtr);
app.use('/api/v1/ldb', ldbRtr);
app.use('/api/v1/kube', kubeRtr);
app.use('/api/v1/find', findRtr);
app.use('/api/v1/issue', issueRtr);
-app.use('/api/v1/stats', statRtr)
+app.use('/api/v1/stats', statRtr);
+app.use('/api/v1/register', regRtr);
+
+// Authented Routes
+app.use('/api/v1/ldbs', authenticate, (req, res) => res.status(501).json({status: 'Not Implemented', message: 'This feature is not yet implemented due to upstream issues'}));
+app.use('/api/v1/pis', authenticate, pisRtr);
+app.use('/api/v1/auth/test', authenticate, (req, res) => res.status(200).json({status: 'ok', message: 'Authentication successful'})); // Returns 401 if auth failed, 200 if successful.
+
+// Number of proxies:
+app.set('trust proxy', 4);
+mode === 'development'
+ ? app.get('/api/v1/ip', (req, res) => res.send(req.ip))
+ : null;
// Start Express
app.listen(srvPort, srvListen, (error) =>{
if(!error) {
- log.out(`app.listen: Listening on http://${srvListen}:${srvPort}`, "init");
- log.out("app.listen: State - alive", "init")
+ log.out(`app.listen: Listening on http://${srvListen}:${srvPort}`, 'init');
+ log.out('app.listen: State - alive', 'init');
} else {
- log.out(`app.listen: Error occurred, server can't start ${error}`, "err");
+ log.out(`app.listen: Error occurred, server can't start ${error}`, 'err');
}
});
\ No newline at end of file
diff --git a/mail-templates/register.html b/mail-templates/register.html
new file mode 100644
index 0000000..43bac2e
--- /dev/null
+++ b/mail-templates/register.html
@@ -0,0 +1,70 @@
+
+
+ OwlBoard - Register
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+ Register for OwlBoard
+
+ Use the link below to register for OwlBoard (Staff Version)
+
+ Register
+
+ Alternatively copy and paste the link: https://owlboard.info/auth.html?key=>>ACCESSCODE<<
+ This registration is for one device only, you can register again using the
+ same email address for other devices and access OwlBoard from elsewhere.
+
+ If you did not request to sign up to OwlBoard (Staff Version), you can
+ safely ignore this email. Your email address has not been stored by us.
+
+ The registration link will expire after 30 minutes.
+ |
+
+
+
+
+
\ No newline at end of file
diff --git a/mail-templates/register.txt b/mail-templates/register.txt
new file mode 100644
index 0000000..1f0df84
--- /dev/null
+++ b/mail-templates/register.txt
@@ -0,0 +1,10 @@
+Complete your OwlBoard (Staff) Registration using the link below.
+
+https://owlboard.info/auth.html?key=>>ACCESSCODE<<
+
+Alternatively you can copy and paste the above link.
+
+If you did not request to register to OwlBoard then you can safely ignore this email.
+Your email address has not been stored by us and will not be required unless you wish to register again.
+
+The link will expire after 30 minutes.
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 86daaf9..020df7a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,20 +1,27 @@
{
"name": "owlboard",
- "version": "0.0.1",
- "lockfileVersion": 2,
+ "version": "1.2.0-dev",
+ "lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "owlboard",
- "version": "0.0.1",
+ "version": "1.2.0-dev",
"license": "GPL-3.0-or-later",
"dependencies": {
"axios": "^1.2.1",
"compression": "^1.7.4",
"express": "^4.18.2",
+ "express-rate-limit": "^6.7.0",
+ "html-minifier": "^4.0.0",
+ "juice": "^9.0.0",
"ldbs-json": "^1.2.1",
"mongodb": "^4.13.0",
- "string-sanitizer-fix": "^2.0.1"
+ "nodemailer": "^6.9.1"
+ },
+ "devDependencies": {
+ "eslint": "^8.39.0",
+ "prettier": "^2.8.8"
}
},
"node_modules/@aws-crypto/ie11-detection": {
@@ -104,507 +111,502 @@
"optional": true
},
"node_modules/@aws-sdk/abort-controller": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.272.0.tgz",
- "integrity": "sha512-s2TV3phapcTwZNr4qLxbfuQuE9ZMP4RoJdkvRRCkKdm6jslsWLJf2Zlcxti/23hOlINUMYv2iXE2pftIgWGdpg==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.310.0.tgz",
+ "integrity": "sha512-v1zrRQxDLA1MdPim159Vx/CPHqsB4uybSxRi1CnfHO5ZjHryx3a5htW2gdGAykVCul40+yJXvfpufMrELVxH+g==",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/client-cognito-identity": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.272.0.tgz",
- "integrity": "sha512-uMjRWcNvX7SoGaVn0mXWD43+Z1awPahQwGW3riDLfXHZdOgw2oFDhD3Jg5jQ8OzQLUfDvArhE3WyZwlS4muMuQ==",
+ "version": "3.315.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.315.0.tgz",
+ "integrity": "sha512-aI0qdd6KVwjbqr2aoJCmFzJ/GJBOmhfKDR73s3XUL7VReAkXB9Wht6cU4IaaSYXh4OacQWGonYF0Jg8z7JwV3A==",
"optional": true,
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/client-sts": "3.272.0",
- "@aws-sdk/config-resolver": "3.272.0",
- "@aws-sdk/credential-provider-node": "3.272.0",
- "@aws-sdk/fetch-http-handler": "3.272.0",
- "@aws-sdk/hash-node": "3.272.0",
- "@aws-sdk/invalid-dependency": "3.272.0",
- "@aws-sdk/middleware-content-length": "3.272.0",
- "@aws-sdk/middleware-endpoint": "3.272.0",
- "@aws-sdk/middleware-host-header": "3.272.0",
- "@aws-sdk/middleware-logger": "3.272.0",
- "@aws-sdk/middleware-recursion-detection": "3.272.0",
- "@aws-sdk/middleware-retry": "3.272.0",
- "@aws-sdk/middleware-serde": "3.272.0",
- "@aws-sdk/middleware-signing": "3.272.0",
- "@aws-sdk/middleware-stack": "3.272.0",
- "@aws-sdk/middleware-user-agent": "3.272.0",
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/node-http-handler": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/smithy-client": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/url-parser": "3.272.0",
- "@aws-sdk/util-base64": "3.208.0",
- "@aws-sdk/util-body-length-browser": "3.188.0",
- "@aws-sdk/util-body-length-node": "3.208.0",
- "@aws-sdk/util-defaults-mode-browser": "3.272.0",
- "@aws-sdk/util-defaults-mode-node": "3.272.0",
- "@aws-sdk/util-endpoints": "3.272.0",
- "@aws-sdk/util-retry": "3.272.0",
- "@aws-sdk/util-user-agent-browser": "3.272.0",
- "@aws-sdk/util-user-agent-node": "3.272.0",
- "@aws-sdk/util-utf8": "3.254.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/client-sts": "3.315.0",
+ "@aws-sdk/config-resolver": "3.310.0",
+ "@aws-sdk/credential-provider-node": "3.315.0",
+ "@aws-sdk/fetch-http-handler": "3.310.0",
+ "@aws-sdk/hash-node": "3.310.0",
+ "@aws-sdk/invalid-dependency": "3.310.0",
+ "@aws-sdk/middleware-content-length": "3.310.0",
+ "@aws-sdk/middleware-endpoint": "3.310.0",
+ "@aws-sdk/middleware-host-header": "3.310.0",
+ "@aws-sdk/middleware-logger": "3.310.0",
+ "@aws-sdk/middleware-recursion-detection": "3.310.0",
+ "@aws-sdk/middleware-retry": "3.310.0",
+ "@aws-sdk/middleware-serde": "3.310.0",
+ "@aws-sdk/middleware-signing": "3.310.0",
+ "@aws-sdk/middleware-stack": "3.310.0",
+ "@aws-sdk/middleware-user-agent": "3.310.0",
+ "@aws-sdk/node-config-provider": "3.310.0",
+ "@aws-sdk/node-http-handler": "3.310.0",
+ "@aws-sdk/protocol-http": "3.310.0",
+ "@aws-sdk/smithy-client": "3.315.0",
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/url-parser": "3.310.0",
+ "@aws-sdk/util-base64": "3.310.0",
+ "@aws-sdk/util-body-length-browser": "3.310.0",
+ "@aws-sdk/util-body-length-node": "3.310.0",
+ "@aws-sdk/util-defaults-mode-browser": "3.315.0",
+ "@aws-sdk/util-defaults-mode-node": "3.315.0",
+ "@aws-sdk/util-endpoints": "3.310.0",
+ "@aws-sdk/util-retry": "3.310.0",
+ "@aws-sdk/util-user-agent-browser": "3.310.0",
+ "@aws-sdk/util-user-agent-node": "3.310.0",
+ "@aws-sdk/util-utf8": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/client-sso": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.272.0.tgz",
- "integrity": "sha512-xn9a0IGONwQIARmngThoRhF1lLGjHAD67sUaShgIMaIMc6ipVYN6alWG1VuUpoUQ6iiwMEt0CHdfCyLyUV/fTA==",
+ "version": "3.315.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.315.0.tgz",
+ "integrity": "sha512-P3QOOyHQER7EDVCzXOsAaJE2p/qfdsSFsYv8k2S8LqEKGH0fViQ4Ph540uKlmaOt1kEhwH1wI6cLRMJJX9XV4Q==",
"optional": true,
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/config-resolver": "3.272.0",
- "@aws-sdk/fetch-http-handler": "3.272.0",
- "@aws-sdk/hash-node": "3.272.0",
- "@aws-sdk/invalid-dependency": "3.272.0",
- "@aws-sdk/middleware-content-length": "3.272.0",
- "@aws-sdk/middleware-endpoint": "3.272.0",
- "@aws-sdk/middleware-host-header": "3.272.0",
- "@aws-sdk/middleware-logger": "3.272.0",
- "@aws-sdk/middleware-recursion-detection": "3.272.0",
- "@aws-sdk/middleware-retry": "3.272.0",
- "@aws-sdk/middleware-serde": "3.272.0",
- "@aws-sdk/middleware-stack": "3.272.0",
- "@aws-sdk/middleware-user-agent": "3.272.0",
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/node-http-handler": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/smithy-client": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/url-parser": "3.272.0",
- "@aws-sdk/util-base64": "3.208.0",
- "@aws-sdk/util-body-length-browser": "3.188.0",
- "@aws-sdk/util-body-length-node": "3.208.0",
- "@aws-sdk/util-defaults-mode-browser": "3.272.0",
- "@aws-sdk/util-defaults-mode-node": "3.272.0",
- "@aws-sdk/util-endpoints": "3.272.0",
- "@aws-sdk/util-retry": "3.272.0",
- "@aws-sdk/util-user-agent-browser": "3.272.0",
- "@aws-sdk/util-user-agent-node": "3.272.0",
- "@aws-sdk/util-utf8": "3.254.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/config-resolver": "3.310.0",
+ "@aws-sdk/fetch-http-handler": "3.310.0",
+ "@aws-sdk/hash-node": "3.310.0",
+ "@aws-sdk/invalid-dependency": "3.310.0",
+ "@aws-sdk/middleware-content-length": "3.310.0",
+ "@aws-sdk/middleware-endpoint": "3.310.0",
+ "@aws-sdk/middleware-host-header": "3.310.0",
+ "@aws-sdk/middleware-logger": "3.310.0",
+ "@aws-sdk/middleware-recursion-detection": "3.310.0",
+ "@aws-sdk/middleware-retry": "3.310.0",
+ "@aws-sdk/middleware-serde": "3.310.0",
+ "@aws-sdk/middleware-stack": "3.310.0",
+ "@aws-sdk/middleware-user-agent": "3.310.0",
+ "@aws-sdk/node-config-provider": "3.310.0",
+ "@aws-sdk/node-http-handler": "3.310.0",
+ "@aws-sdk/protocol-http": "3.310.0",
+ "@aws-sdk/smithy-client": "3.315.0",
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/url-parser": "3.310.0",
+ "@aws-sdk/util-base64": "3.310.0",
+ "@aws-sdk/util-body-length-browser": "3.310.0",
+ "@aws-sdk/util-body-length-node": "3.310.0",
+ "@aws-sdk/util-defaults-mode-browser": "3.315.0",
+ "@aws-sdk/util-defaults-mode-node": "3.315.0",
+ "@aws-sdk/util-endpoints": "3.310.0",
+ "@aws-sdk/util-retry": "3.310.0",
+ "@aws-sdk/util-user-agent-browser": "3.310.0",
+ "@aws-sdk/util-user-agent-node": "3.310.0",
+ "@aws-sdk/util-utf8": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/client-sso-oidc": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.272.0.tgz",
- "integrity": "sha512-ECcXu3xoa1yggnGKMTh29eWNHiF/wC6r5Uqbla22eOOosyh0+Z6lkJ3JUSLOUKCkBXA4Cs/tJL9UDFBrKbSlvA==",
+ "version": "3.315.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.315.0.tgz",
+ "integrity": "sha512-OJgtmx6SpCWHBDCxBBi36Ro44uCqZBufGkThP/PVYrgVnRVnJ4V18d2wNGKmS37zKmCHHJPnhMPlGOgE2qyVPQ==",
"optional": true,
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/config-resolver": "3.272.0",
- "@aws-sdk/fetch-http-handler": "3.272.0",
- "@aws-sdk/hash-node": "3.272.0",
- "@aws-sdk/invalid-dependency": "3.272.0",
- "@aws-sdk/middleware-content-length": "3.272.0",
- "@aws-sdk/middleware-endpoint": "3.272.0",
- "@aws-sdk/middleware-host-header": "3.272.0",
- "@aws-sdk/middleware-logger": "3.272.0",
- "@aws-sdk/middleware-recursion-detection": "3.272.0",
- "@aws-sdk/middleware-retry": "3.272.0",
- "@aws-sdk/middleware-serde": "3.272.0",
- "@aws-sdk/middleware-stack": "3.272.0",
- "@aws-sdk/middleware-user-agent": "3.272.0",
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/node-http-handler": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/smithy-client": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/url-parser": "3.272.0",
- "@aws-sdk/util-base64": "3.208.0",
- "@aws-sdk/util-body-length-browser": "3.188.0",
- "@aws-sdk/util-body-length-node": "3.208.0",
- "@aws-sdk/util-defaults-mode-browser": "3.272.0",
- "@aws-sdk/util-defaults-mode-node": "3.272.0",
- "@aws-sdk/util-endpoints": "3.272.0",
- "@aws-sdk/util-retry": "3.272.0",
- "@aws-sdk/util-user-agent-browser": "3.272.0",
- "@aws-sdk/util-user-agent-node": "3.272.0",
- "@aws-sdk/util-utf8": "3.254.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/config-resolver": "3.310.0",
+ "@aws-sdk/fetch-http-handler": "3.310.0",
+ "@aws-sdk/hash-node": "3.310.0",
+ "@aws-sdk/invalid-dependency": "3.310.0",
+ "@aws-sdk/middleware-content-length": "3.310.0",
+ "@aws-sdk/middleware-endpoint": "3.310.0",
+ "@aws-sdk/middleware-host-header": "3.310.0",
+ "@aws-sdk/middleware-logger": "3.310.0",
+ "@aws-sdk/middleware-recursion-detection": "3.310.0",
+ "@aws-sdk/middleware-retry": "3.310.0",
+ "@aws-sdk/middleware-serde": "3.310.0",
+ "@aws-sdk/middleware-stack": "3.310.0",
+ "@aws-sdk/middleware-user-agent": "3.310.0",
+ "@aws-sdk/node-config-provider": "3.310.0",
+ "@aws-sdk/node-http-handler": "3.310.0",
+ "@aws-sdk/protocol-http": "3.310.0",
+ "@aws-sdk/smithy-client": "3.315.0",
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/url-parser": "3.310.0",
+ "@aws-sdk/util-base64": "3.310.0",
+ "@aws-sdk/util-body-length-browser": "3.310.0",
+ "@aws-sdk/util-body-length-node": "3.310.0",
+ "@aws-sdk/util-defaults-mode-browser": "3.315.0",
+ "@aws-sdk/util-defaults-mode-node": "3.315.0",
+ "@aws-sdk/util-endpoints": "3.310.0",
+ "@aws-sdk/util-retry": "3.310.0",
+ "@aws-sdk/util-user-agent-browser": "3.310.0",
+ "@aws-sdk/util-user-agent-node": "3.310.0",
+ "@aws-sdk/util-utf8": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/client-sts": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.272.0.tgz",
- "integrity": "sha512-kigxCxURp3WupufGaL/LABMb7UQfzAQkKcj9royizL3ItJ0vw5kW/JFrPje5IW1mfLgdPF7PI9ShOjE0fCLTqA==",
+ "version": "3.315.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.315.0.tgz",
+ "integrity": "sha512-e34plg6m0hScADIPiu5kCKoiJVXRLRiAuens+iwMse0oPUmrv41hdjgufwWGA/pcNkEGzMdVS88Z4khxB3LHBw==",
"optional": true,
"dependencies": {
"@aws-crypto/sha256-browser": "3.0.0",
"@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/config-resolver": "3.272.0",
- "@aws-sdk/credential-provider-node": "3.272.0",
- "@aws-sdk/fetch-http-handler": "3.272.0",
- "@aws-sdk/hash-node": "3.272.0",
- "@aws-sdk/invalid-dependency": "3.272.0",
- "@aws-sdk/middleware-content-length": "3.272.0",
- "@aws-sdk/middleware-endpoint": "3.272.0",
- "@aws-sdk/middleware-host-header": "3.272.0",
- "@aws-sdk/middleware-logger": "3.272.0",
- "@aws-sdk/middleware-recursion-detection": "3.272.0",
- "@aws-sdk/middleware-retry": "3.272.0",
- "@aws-sdk/middleware-sdk-sts": "3.272.0",
- "@aws-sdk/middleware-serde": "3.272.0",
- "@aws-sdk/middleware-signing": "3.272.0",
- "@aws-sdk/middleware-stack": "3.272.0",
- "@aws-sdk/middleware-user-agent": "3.272.0",
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/node-http-handler": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/smithy-client": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/url-parser": "3.272.0",
- "@aws-sdk/util-base64": "3.208.0",
- "@aws-sdk/util-body-length-browser": "3.188.0",
- "@aws-sdk/util-body-length-node": "3.208.0",
- "@aws-sdk/util-defaults-mode-browser": "3.272.0",
- "@aws-sdk/util-defaults-mode-node": "3.272.0",
- "@aws-sdk/util-endpoints": "3.272.0",
- "@aws-sdk/util-retry": "3.272.0",
- "@aws-sdk/util-user-agent-browser": "3.272.0",
- "@aws-sdk/util-user-agent-node": "3.272.0",
- "@aws-sdk/util-utf8": "3.254.0",
- "fast-xml-parser": "4.0.11",
- "tslib": "^2.3.1"
+ "@aws-sdk/config-resolver": "3.310.0",
+ "@aws-sdk/credential-provider-node": "3.315.0",
+ "@aws-sdk/fetch-http-handler": "3.310.0",
+ "@aws-sdk/hash-node": "3.310.0",
+ "@aws-sdk/invalid-dependency": "3.310.0",
+ "@aws-sdk/middleware-content-length": "3.310.0",
+ "@aws-sdk/middleware-endpoint": "3.310.0",
+ "@aws-sdk/middleware-host-header": "3.310.0",
+ "@aws-sdk/middleware-logger": "3.310.0",
+ "@aws-sdk/middleware-recursion-detection": "3.310.0",
+ "@aws-sdk/middleware-retry": "3.310.0",
+ "@aws-sdk/middleware-sdk-sts": "3.310.0",
+ "@aws-sdk/middleware-serde": "3.310.0",
+ "@aws-sdk/middleware-signing": "3.310.0",
+ "@aws-sdk/middleware-stack": "3.310.0",
+ "@aws-sdk/middleware-user-agent": "3.310.0",
+ "@aws-sdk/node-config-provider": "3.310.0",
+ "@aws-sdk/node-http-handler": "3.310.0",
+ "@aws-sdk/protocol-http": "3.310.0",
+ "@aws-sdk/smithy-client": "3.315.0",
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/url-parser": "3.310.0",
+ "@aws-sdk/util-base64": "3.310.0",
+ "@aws-sdk/util-body-length-browser": "3.310.0",
+ "@aws-sdk/util-body-length-node": "3.310.0",
+ "@aws-sdk/util-defaults-mode-browser": "3.315.0",
+ "@aws-sdk/util-defaults-mode-node": "3.315.0",
+ "@aws-sdk/util-endpoints": "3.310.0",
+ "@aws-sdk/util-retry": "3.310.0",
+ "@aws-sdk/util-user-agent-browser": "3.310.0",
+ "@aws-sdk/util-user-agent-node": "3.310.0",
+ "@aws-sdk/util-utf8": "3.310.0",
+ "fast-xml-parser": "4.1.2",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/config-resolver": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.272.0.tgz",
- "integrity": "sha512-Dr4CffRVNsOp3LRNdpvcH6XuSgXOSLblWliCy/5I86cNl567KVMxujVx6uPrdTXYs2h1rt3MNl6jQGnAiJeTbw==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.310.0.tgz",
+ "integrity": "sha512-8vsT+/50lOqfDxka9m/rRt6oxv1WuGZoP8oPMk0Dt+TxXMbAzf4+rejBgiB96wshI1k3gLokYRjSQZn+dDtT8g==",
"optional": true,
"dependencies": {
- "@aws-sdk/signature-v4": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-config-provider": "3.208.0",
- "@aws-sdk/util-middleware": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/util-config-provider": "3.310.0",
+ "@aws-sdk/util-middleware": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/credential-provider-cognito-identity": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.272.0.tgz",
- "integrity": "sha512-rVx0rtQjbiYCM0nah2rB/2ut2YJYPpRr1AbW/Hd4r/PI+yiusrmXAwuT4HIW2yr34zsQMPi1jZ3WHN9Rn9mzlg==",
+ "version": "3.315.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.315.0.tgz",
+ "integrity": "sha512-/uZ0IRAAKJM67glKkHuMsJgkYhQ8elzPEZe4i28Vh4NRibDW71uVUY5qqKG+ehuVIhASkOHatQAGY5exiSUFew==",
"optional": true,
"dependencies": {
- "@aws-sdk/client-cognito-identity": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/client-cognito-identity": "3.315.0",
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/credential-provider-env": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.272.0.tgz",
- "integrity": "sha512-QI65NbLnKLYHyTYhXaaUrq6eVsCCrMUb05WDA7+TJkWkjXesovpjc8vUKgFiLSxmgKmb2uOhHNcDyObKMrYQFw==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.310.0.tgz",
+ "integrity": "sha512-vvIPQpI16fj95xwS7M3D48F7QhZJBnnCgB5lR+b7So+vsG9ibm1mZRVGzVpdxCvgyOhHFbvrby9aalNJmmIP1A==",
"optional": true,
"dependencies": {
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/credential-provider-imds": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.272.0.tgz",
- "integrity": "sha512-wwAfVY1jTFQEfxVfdYD5r5ieYGl+0g4nhekVxNMqE8E1JeRDd18OqiwAflzpgBIqxfqvCUkf+vl5JYyacMkNAQ==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.310.0.tgz",
+ "integrity": "sha512-baxK7Zp6dai5AGW01FIW27xS2KAaPUmKLIXv5SvFYsUgXXvNW55im4uG3b+2gA0F7V+hXvVBH08OEqmwW6we5w==",
"optional": true,
"dependencies": {
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/url-parser": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/node-config-provider": "3.310.0",
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/url-parser": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/credential-provider-ini": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.272.0.tgz",
- "integrity": "sha512-iE3CDzK5NcupHYjfYjBdY1JCy8NLEoRUsboEjG0i0gy3S3jVpDeVHX1dLVcL/slBFj6GiM7SoNV/UfKnJf3Gaw==",
+ "version": "3.315.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.315.0.tgz",
+ "integrity": "sha512-TZbYNbQkNgANx3KsWmJEyBsnfUBq/XKqYYc/VQf1L4eI+GMUw2eKpNV0MTsyviViy2st7W4SiSgtsvXyeVp9xg==",
"optional": true,
"dependencies": {
- "@aws-sdk/credential-provider-env": "3.272.0",
- "@aws-sdk/credential-provider-imds": "3.272.0",
- "@aws-sdk/credential-provider-process": "3.272.0",
- "@aws-sdk/credential-provider-sso": "3.272.0",
- "@aws-sdk/credential-provider-web-identity": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/credential-provider-env": "3.310.0",
+ "@aws-sdk/credential-provider-imds": "3.310.0",
+ "@aws-sdk/credential-provider-process": "3.310.0",
+ "@aws-sdk/credential-provider-sso": "3.315.0",
+ "@aws-sdk/credential-provider-web-identity": "3.310.0",
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/shared-ini-file-loader": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/credential-provider-node": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.272.0.tgz",
- "integrity": "sha512-FI8uvwM1IxiRSvbkdKv8DZG5vxU3ezaseTaB1fHWTxEUFb0pWIoHX9oeOKer9Fj31SOZTCNAaYFURbSRuZlm/w==",
+ "version": "3.315.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.315.0.tgz",
+ "integrity": "sha512-OuzKAIg+xPAzBrb/Big5VKDpJmBhVR+N0Hfflrjj2BunQGWO7zxtkKFCz921MtP9ZunDV+UxzTpar8U5TAPtzA==",
"optional": true,
"dependencies": {
- "@aws-sdk/credential-provider-env": "3.272.0",
- "@aws-sdk/credential-provider-imds": "3.272.0",
- "@aws-sdk/credential-provider-ini": "3.272.0",
- "@aws-sdk/credential-provider-process": "3.272.0",
- "@aws-sdk/credential-provider-sso": "3.272.0",
- "@aws-sdk/credential-provider-web-identity": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/credential-provider-env": "3.310.0",
+ "@aws-sdk/credential-provider-imds": "3.310.0",
+ "@aws-sdk/credential-provider-ini": "3.315.0",
+ "@aws-sdk/credential-provider-process": "3.310.0",
+ "@aws-sdk/credential-provider-sso": "3.315.0",
+ "@aws-sdk/credential-provider-web-identity": "3.310.0",
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/shared-ini-file-loader": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/credential-provider-process": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.272.0.tgz",
- "integrity": "sha512-hiCAjWWm2PeBFp5cjkxqyam/XADjiS+e7GzwC34TbZn3LisS0uoweLojj9tD11NnnUhyhbLteUvu5+rotOLwrg==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.310.0.tgz",
+ "integrity": "sha512-h73sg6GPMUWC+3zMCbA1nZ2O03nNJt7G96JdmnantiXBwHpRKWW8nBTLzx5uhXn6hTuTaoQRP/P+oxQJKYdMmA==",
"optional": true,
"dependencies": {
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/shared-ini-file-loader": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/credential-provider-sso": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.272.0.tgz",
- "integrity": "sha512-hwYaulyiU/7chKKFecxCeo0ls6Dxs7h+5EtoYcJJGvfpvCncyOZF35t00OAsCd3Wo7HkhhgfpGdb6dmvCNQAZQ==",
+ "version": "3.315.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.315.0.tgz",
+ "integrity": "sha512-oMDGwT67cLgLiLEj5UwAiOVo7mb0l4vi2nk+5pgPMpC3cBlAfA0y1IJe4FHp+Vz52F0nvURZZbdWhX6RgMMaqQ==",
"optional": true,
"dependencies": {
- "@aws-sdk/client-sso": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/token-providers": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/client-sso": "3.315.0",
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/shared-ini-file-loader": "3.310.0",
+ "@aws-sdk/token-providers": "3.315.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/credential-provider-web-identity": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.272.0.tgz",
- "integrity": "sha512-ImrHMkcgneGa/HadHAQXPwOrX26sAKuB8qlMxZF/ZCM2B55u8deY+ZVkVuraeKb7YsahMGehPFOfRAF6mvFI5Q==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.310.0.tgz",
+ "integrity": "sha512-H4SzuZXILNhK6/IR1uVvsUDZvzc051hem7GLyYghBCu8mU+tq28YhKE8MfSroi6eL2e5Vujloij1OM2EQQkPkw==",
"optional": true,
"dependencies": {
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/credential-providers": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.272.0.tgz",
- "integrity": "sha512-ucd6Xq6aBMf+nM4uz5zkjL11mwaE5BV1Q4hkulaGu2v1dRA8n6zhLJk/sb4hOJ7leelqMJMErlbQ2T3MkYvlJQ==",
+ "version": "3.315.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.315.0.tgz",
+ "integrity": "sha512-zAChVtxAADhnNFTVA7uRijisSZEJQi10LQ4tsznzset4D6nC+FrZfqZBzO4EkfcyesqOaRbrV4VU6+gm4nzHTQ==",
"optional": true,
"dependencies": {
- "@aws-sdk/client-cognito-identity": "3.272.0",
- "@aws-sdk/client-sso": "3.272.0",
- "@aws-sdk/client-sts": "3.272.0",
- "@aws-sdk/credential-provider-cognito-identity": "3.272.0",
- "@aws-sdk/credential-provider-env": "3.272.0",
- "@aws-sdk/credential-provider-imds": "3.272.0",
- "@aws-sdk/credential-provider-ini": "3.272.0",
- "@aws-sdk/credential-provider-node": "3.272.0",
- "@aws-sdk/credential-provider-process": "3.272.0",
- "@aws-sdk/credential-provider-sso": "3.272.0",
- "@aws-sdk/credential-provider-web-identity": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/client-cognito-identity": "3.315.0",
+ "@aws-sdk/client-sso": "3.315.0",
+ "@aws-sdk/client-sts": "3.315.0",
+ "@aws-sdk/credential-provider-cognito-identity": "3.315.0",
+ "@aws-sdk/credential-provider-env": "3.310.0",
+ "@aws-sdk/credential-provider-imds": "3.310.0",
+ "@aws-sdk/credential-provider-ini": "3.315.0",
+ "@aws-sdk/credential-provider-node": "3.315.0",
+ "@aws-sdk/credential-provider-process": "3.310.0",
+ "@aws-sdk/credential-provider-sso": "3.315.0",
+ "@aws-sdk/credential-provider-web-identity": "3.310.0",
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/fetch-http-handler": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.272.0.tgz",
- "integrity": "sha512-1Qhm9e0RbS1Xf4CZqUbQyUMkDLd7GrsRXWIvm9b86/vgeV8/WnjO3CMue9D51nYgcyQORhYXv6uVjAYCWbUExA==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.310.0.tgz",
+ "integrity": "sha512-Bi9vIwzdkw1zMcvi/zGzlWS9KfIEnAq4NNhsnCxbQ4OoIRU9wvU+WGZdBBhxg0ZxZmpp1j1aZhU53lLjA07MHw==",
"optional": true,
"dependencies": {
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/querystring-builder": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-base64": "3.208.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/protocol-http": "3.310.0",
+ "@aws-sdk/querystring-builder": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/util-base64": "3.310.0",
+ "tslib": "^2.5.0"
}
},
"node_modules/@aws-sdk/hash-node": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.272.0.tgz",
- "integrity": "sha512-40dwND+iAm3VtPHPZu7/+CIdVJFk2s0cWZt1lOiMPMSXycSYJ45wMk7Lly3uoqRx0uWfFK5iT2OCv+fJi5jTng==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.310.0.tgz",
+ "integrity": "sha512-NvE2fhRc8GRwCXBfDehxVAWCmVwVMILliAKVPAEr4yz2CkYs0tqU51S48x23dtna07H4qHtgpeNqVTthcIQOEQ==",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-buffer-from": "3.208.0",
- "@aws-sdk/util-utf8": "3.254.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/util-buffer-from": "3.310.0",
+ "@aws-sdk/util-utf8": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/invalid-dependency": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.272.0.tgz",
- "integrity": "sha512-ysW6wbjl1Y78txHUQ/Tldj2Rg1BI7rpMO9B9xAF6yAX3mQ7t6SUPQG/ewOGvH2208NBIl3qP5e/hDf0Q6r/1iw==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.310.0.tgz",
+ "integrity": "sha512-1s5RG5rSPXoa/aZ/Kqr5U/7lqpx+Ry81GprQ2bxWqJvWQIJ0IRUwo5pk8XFxbKVr/2a+4lZT/c3OGoBOM1yRRA==",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
}
},
"node_modules/@aws-sdk/is-array-buffer": {
- "version": "3.201.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.201.0.tgz",
- "integrity": "sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz",
+ "integrity": "sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ==",
"optional": true,
"dependencies": {
- "tslib": "^2.3.1"
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/middleware-content-length": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.272.0.tgz",
- "integrity": "sha512-sAbDZSTNmLX+UTGwlUHJBWy0QGQkiClpHwVFXACon+aG0ySLNeRKEVYs6NCPYldw4cj6hveLUn50cX44ukHErw==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.310.0.tgz",
+ "integrity": "sha512-P8tQZxgDt6CAh1wd/W6WPzjc+uWPJwQkm+F7rAwRlM+k9q17HrhnksGDKcpuuLyIhPQYdmOMIkpKVgXGa4avhQ==",
"optional": true,
"dependencies": {
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/protocol-http": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/middleware-endpoint": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.272.0.tgz",
- "integrity": "sha512-Dk3JVjj7SxxoUKv3xGiOeBksvPtFhTDrVW75XJ98Ymv8gJH5L1sq4hIeJAHRKogGiRFq2J73mnZSlM9FVXEylg==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.310.0.tgz",
+ "integrity": "sha512-Z+N2vOL8K354/lstkClxLLsr6hCpVRh+0tCMXrVj66/NtKysCEZ/0b9LmqOwD9pWHNiI2mJqXwY0gxNlKAroUg==",
"optional": true,
"dependencies": {
- "@aws-sdk/middleware-serde": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/signature-v4": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/url-parser": "3.272.0",
- "@aws-sdk/util-config-provider": "3.208.0",
- "@aws-sdk/util-middleware": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/middleware-serde": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/url-parser": "3.310.0",
+ "@aws-sdk/util-middleware": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/middleware-host-header": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.272.0.tgz",
- "integrity": "sha512-Q8K7bMMFZnioUXpxn57HIt4p+I63XaNAawMLIZ5B4F2piyukbQeM9q2XVKMGwqLvijHR8CyP5nHrtKqVuINogQ==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.310.0.tgz",
+ "integrity": "sha512-QWSA+46/hXorXyWa61ic2K7qZzwHTiwfk2e9mRRjeIRepUgI3qxFjsYqrWtrOGBjmFmq0pYIY8Bb/DCJuQqcoA==",
"optional": true,
"dependencies": {
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/protocol-http": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/middleware-logger": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.272.0.tgz",
- "integrity": "sha512-u2SQ0hWrFwxbxxYMG5uMEgf01pQY5jauK/LYWgGIvuCmFgiyRQQP3oN7kkmsxnS9MWmNmhbyQguX2NY02s5e9w==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.310.0.tgz",
+ "integrity": "sha512-Lurm8XofrASBRnAVtiSNuDSRsRqPNg27RIFLLsLp/pqog9nFJ0vz0kgdb9S5Z+zw83Mm+UlqOe6D8NTUNp4fVg==",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/middleware-recursion-detection": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.272.0.tgz",
- "integrity": "sha512-Gp/eKWeUWVNiiBdmUM2qLkBv+VLSJKoWAO+aKmyxxwjjmWhE0FrfA1NQ1a3g+NGMhRbAfQdaYswRAKsul70ISg==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.310.0.tgz",
+ "integrity": "sha512-SuB75/xk/gyue24gkriTwO2jFd7YcUGZDClQYuRejgbXSa3CO0lWyawQtfLcSSEBp9izrEVXuFH24K1eAft5nQ==",
"optional": true,
"dependencies": {
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/protocol-http": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/middleware-retry": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.272.0.tgz",
- "integrity": "sha512-pCGvHM7C76VbO/dFerH+Vwf7tGv7j+e+eGrvhQ35mRghCtfIou/WMfTZlD1TNee93crrAQQVZKjtW3dMB3WCzg==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.310.0.tgz",
+ "integrity": "sha512-oTPsRy2W4s+dfxbJPW7Km+hHtv/OMsNsVfThAq8DDYKC13qlr1aAyOqGLD+dpBy2aKe7ss517Sy2HcHtHqm7/g==",
"optional": true,
"dependencies": {
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/service-error-classification": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-middleware": "3.272.0",
- "@aws-sdk/util-retry": "3.272.0",
- "tslib": "^2.3.1",
+ "@aws-sdk/protocol-http": "3.310.0",
+ "@aws-sdk/service-error-classification": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/util-middleware": "3.310.0",
+ "@aws-sdk/util-retry": "3.310.0",
+ "tslib": "^2.5.0",
"uuid": "^8.3.2"
},
"engines": {
@@ -612,440 +614,438 @@
}
},
"node_modules/@aws-sdk/middleware-sdk-sts": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.272.0.tgz",
- "integrity": "sha512-VvYPg7LrDIjUOWueSzo2wBzcNG7dw+cmzV6zAKaLxf0RC5jeAP4hE0OzDiiZfDrjNghEzgq/V+0NO+LewqYL9Q==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.310.0.tgz",
+ "integrity": "sha512-+5PFwlYNLvLLIfw0ASAoWV/iIF8Zv6R6QGtyP0CclhRSvNjgbQDVnV0g95MC5qvh+GB/Yjlkt8qAjLSPjHfsrQ==",
"optional": true,
"dependencies": {
- "@aws-sdk/middleware-signing": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/signature-v4": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/middleware-signing": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/middleware-serde": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.272.0.tgz",
- "integrity": "sha512-kW1uOxgPSwtXPB5rm3QLdWomu42lkYpQL94tM1BjyFOWmBLO2lQhk5a7Dw6HkTozT9a+vxtscLChRa6KZe61Hw==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.310.0.tgz",
+ "integrity": "sha512-RNeeTVWSLTaentUeCgQKZhAl+C6hxtwD78cQWS10UymWpQFwbaxztzKUu4UQS5xA2j6PxwPRRUjqa4jcFjfLsg==",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/middleware-signing": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.272.0.tgz",
- "integrity": "sha512-4LChFK4VAR91X+dupqM8fQqYhFGE0G4Bf9rQlVTgGSbi2KUOmpqXzH0/WKE228nKuEhmH8+Qd2VPSAE2JcyAUA==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.310.0.tgz",
+ "integrity": "sha512-f9mKq+XMdW207Af3hKjdTnpNhdtwqWuvFs/ZyXoOkp/g1MY1O6L23Jy6i52m29LxbT4AuNRG1oKODfXM0vYVjQ==",
"optional": true,
"dependencies": {
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/signature-v4": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-middleware": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/protocol-http": "3.310.0",
+ "@aws-sdk/signature-v4": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/util-middleware": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/middleware-stack": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.272.0.tgz",
- "integrity": "sha512-jhwhknnPBGhfXAGV5GXUWfEhDFoP/DN8MPCO2yC5OAxyp6oVJ8lTPLkZYMTW5VL0c0eG44dXpF4Ib01V+PlDrQ==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.310.0.tgz",
+ "integrity": "sha512-010O1PD+UAcZVKRvqEusE1KJqN96wwrf6QsqbRM0ywsKQ21NDweaHvEDlds2VHpgmofxkRLRu/IDrlPkKRQrRg==",
"optional": true,
"dependencies": {
- "tslib": "^2.3.1"
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/middleware-user-agent": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.272.0.tgz",
- "integrity": "sha512-Qy7/0fsDJxY5l0bEk7WKDfqb4Os/sCAgFR2zEvrhDtbkhYPf72ysvg/nRUTncmCbo8tOok4SJii2myk8KMfjjw==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.310.0.tgz",
+ "integrity": "sha512-x3IOwSwSbwKidlxRk3CNVHVUb06SRuaELxggCaR++QVI8NU6qD/l4VHXKVRvbTHiC/cYxXE/GaBDgQVpDR7V/g==",
"optional": true,
"dependencies": {
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/protocol-http": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/util-endpoints": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/node-config-provider": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.272.0.tgz",
- "integrity": "sha512-YYCIBh9g1EQo7hm2l22HX5Yr9RoPQ2RCvhzKvF1n1e8t1QH4iObQrYUtqHG4khcm64Cft8C5MwZmgzHbya5Z6Q==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.310.0.tgz",
+ "integrity": "sha512-T/Pp6htc6hq/Cq+MLNDSyiwWCMVF6GqbBbXKVlO5L8rdHx4sq9xPdoPveZhGWrxvkanjA6eCwUp6E0riBOSVng==",
"optional": true,
"dependencies": {
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/shared-ini-file-loader": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/node-http-handler": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.272.0.tgz",
- "integrity": "sha512-VrW9PjhhngeyYp4yGYPe5S0vgZH6NwU3Po9xAgayUeE37Inr7LS1YteFMHdpgsUUeNXnh7d06CXqHo1XjtqOKA==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.310.0.tgz",
+ "integrity": "sha512-irv9mbcM9xC2xYjArQF5SYmHBMu4ciMWtGsoHII1nRuFOl9FoT4ffTvEPuLlfC6pznzvKt9zvnm6xXj7gDChKg==",
"optional": true,
"dependencies": {
- "@aws-sdk/abort-controller": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/querystring-builder": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/abort-controller": "3.310.0",
+ "@aws-sdk/protocol-http": "3.310.0",
+ "@aws-sdk/querystring-builder": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/property-provider": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.272.0.tgz",
- "integrity": "sha512-V1pZTaH5eqpAt8O8CzbItHhOtzIfFuWymvwZFkAtwKuaHpnl7jjrTouV482zoq8AD/fF+VVSshwBKYA7bhidIw==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.310.0.tgz",
+ "integrity": "sha512-3lxDb0akV6BBzmFe4nLPaoliQbAifyWJhuvuDOu7e8NzouvpQXs0275w9LePhhcgjKAEVXUIse05ZW2DLbxo/g==",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/protocol-http": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.272.0.tgz",
- "integrity": "sha512-4JQ54v5Yn08jspNDeHo45CaSn1CvTJqS1Ywgr79eU6jBExtguOWv6LNtwVSBD9X37v88iqaxt8iu1Z3pZZAJeg==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.310.0.tgz",
+ "integrity": "sha512-fgZ1aw/irQtnrsR58pS8ThKOWo57Py3xX6giRvwSgZDEcxHfVzuQjy9yPuV++v04fdmdtgpbGf8WfvAAJ11yXQ==",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/querystring-builder": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.272.0.tgz",
- "integrity": "sha512-ndo++7GkdCj5tBXE6rGcITpSpZS4PfyV38wntGYAlj9liL1omk3bLZRY6uzqqkJpVHqbg2fD7O2qHNItzZgqhw==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.310.0.tgz",
+ "integrity": "sha512-ZHH8GV/80+pWGo7DzsvwvXR5xVxUHXUvPJPFAkhr6nCf78igdoF8gR10ScFoEKbtEapoNTaZlKHPXxpD8aPG7A==",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-uri-escape": "3.201.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/util-uri-escape": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/querystring-parser": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.272.0.tgz",
- "integrity": "sha512-5oS4/9n6N1LZW9tI3qq/0GnCuWoOXRgcHVB+AJLRBvDbEe+GI+C/xK1tKLsfpDNgsQJHc4IPQoIt4megyZ/1+A==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.310.0.tgz",
+ "integrity": "sha512-YkIznoP6lsiIUHinx++/lbb3tlMURGGqMpo0Pnn32zYzGrJXA6eC3D0as2EcMjo55onTfuLcIiX4qzXes2MYOA==",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/service-error-classification": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.272.0.tgz",
- "integrity": "sha512-REoltM1LK9byyIufLqx9znhSolPcHQgVHIA2S0zu5sdt5qER4OubkLAXuo4MBbisUTmh8VOOvIyUb5ijZCXq1w==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.310.0.tgz",
+ "integrity": "sha512-PuyC7k3qfIKeH2LCnDwbttMOKq3qAx4buvg0yfnJtQOz6t1AR8gsnAq0CjKXXyfkXwNKWTqCpE6lVNUIkXgsMw==",
"optional": true,
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/shared-ini-file-loader": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.272.0.tgz",
- "integrity": "sha512-lzFPohp5sy2XvwFjZIzLVCRpC0i5cwBiaXmFzXYQZJm6FSCszHO4ax+m9yrtlyVFF/2YPWl+/bzNthy4aJtseA==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.310.0.tgz",
+ "integrity": "sha512-N0q9pG0xSjQwc690YQND5bofm+4nfUviQ/Ppgan2kU6aU0WUq8KwgHJBto/YEEI+VlrME30jZJnxtOvcZJc2XA==",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/signature-v4": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.272.0.tgz",
- "integrity": "sha512-pWxnHG1NqJWMwlhJ6NHNiUikOL00DHROmxah6krJPMPq4I3am2KY2Rs/8ouWhnEXKaHAv4EQhSALJ+7Mq5S4/A==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.310.0.tgz",
+ "integrity": "sha512-1M60P1ZBNAjCFv9sYW29OF6okktaeibWyW3lMXqzoHF70lHBZh+838iUchznXUA5FLabfn4jBFWMRxlAXJUY2Q==",
"optional": true,
"dependencies": {
- "@aws-sdk/is-array-buffer": "3.201.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-hex-encoding": "3.201.0",
- "@aws-sdk/util-middleware": "3.272.0",
- "@aws-sdk/util-uri-escape": "3.201.0",
- "@aws-sdk/util-utf8": "3.254.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/is-array-buffer": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "@aws-sdk/util-hex-encoding": "3.310.0",
+ "@aws-sdk/util-middleware": "3.310.0",
+ "@aws-sdk/util-uri-escape": "3.310.0",
+ "@aws-sdk/util-utf8": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/smithy-client": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.272.0.tgz",
- "integrity": "sha512-pvdleJ3kaRvyRw2pIZnqL85ZlWBOZrPKmR9I69GCvlyrfdjRBhbSjIEZ+sdhZudw0vdHxq25AGoLUXhofVLf5Q==",
+ "version": "3.315.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.315.0.tgz",
+ "integrity": "sha512-qTm0lwTh6IZMiWs3U9k2veoF6gV9yE0B9Z34yMxagOfQFQgxMih0aiH25MD25eRigjJ3sfUeZ+B0mRycmJZdkQ==",
"optional": true,
"dependencies": {
- "@aws-sdk/middleware-stack": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/middleware-stack": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/token-providers": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.272.0.tgz",
- "integrity": "sha512-0GISJ4IKN2rXvbSddB775VjBGSKhYIGQnAdMqbvxi9LB6pSvVxcH9aIL28G0spiuL+dy3yGQZ8RlJPAyP9JW9A==",
+ "version": "3.315.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.315.0.tgz",
+ "integrity": "sha512-EjLUQ9JLqU3eJfJyzpcVjFnuJ1MCCodZaVJmuX/a/as4TK41bKMvkVojjsU7pDSYzl+tuXE+ceivcWK4H0HQdQ==",
"optional": true,
"dependencies": {
- "@aws-sdk/client-sso-oidc": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/client-sso-oidc": "3.315.0",
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/shared-ini-file-loader": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/types": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.272.0.tgz",
- "integrity": "sha512-MmmL6vxMGP5Bsi+4wRx4mxYlU/LX6M0noOXrDh/x5FfG7/4ZOar/nDxqDadhJtNM88cuWVHZWY59P54JzkGWmA==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.310.0.tgz",
+ "integrity": "sha512-j8eamQJ7YcIhw7fneUfs8LYl3t01k4uHi4ZDmNRgtbmbmTTG3FZc2MotStZnp3nZB6vLiPF1o5aoJxWVvkzS6A==",
"optional": true,
"dependencies": {
- "tslib": "^2.3.1"
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/url-parser": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.272.0.tgz",
- "integrity": "sha512-vX/Tx02PlnQ/Kgtf5TnrNDHPNbY+amLZjW0Z1d9vzAvSZhQ4i9Y18yxoRDIaDTCNVRDjdhV8iuctW+05PB5JtQ==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.310.0.tgz",
+ "integrity": "sha512-mCLnCaSB9rQvAgx33u0DujLvr4d5yEm/W5r789GblwwQnlNXedVu50QRizMLTpltYWyAUoXjJgQnJHmJMaKXhw==",
"optional": true,
"dependencies": {
- "@aws-sdk/querystring-parser": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/querystring-parser": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
}
},
"node_modules/@aws-sdk/util-base64": {
- "version": "3.208.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.208.0.tgz",
- "integrity": "sha512-PQniZph5A6N7uuEOQi+1hnMz/FSOK/8kMFyFO+4DgA1dZ5pcKcn5wiFwHkcTb/BsgVqQa3Jx0VHNnvhlS8JyTg==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz",
+ "integrity": "sha512-v3+HBKQvqgdzcbL+pFswlx5HQsd9L6ZTlyPVL2LS9nNXnCcR3XgGz9jRskikRUuUvUXtkSG1J88GAOnJ/apTPg==",
"optional": true,
"dependencies": {
- "@aws-sdk/util-buffer-from": "3.208.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/util-buffer-from": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/util-body-length-browser": {
- "version": "3.188.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz",
- "integrity": "sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.310.0.tgz",
+ "integrity": "sha512-sxsC3lPBGfpHtNTUoGXMQXLwjmR0zVpx0rSvzTPAuoVILVsp5AU/w5FphNPxD5OVIjNbZv9KsKTuvNTiZjDp9g==",
"optional": true,
"dependencies": {
- "tslib": "^2.3.1"
+ "tslib": "^2.5.0"
}
},
"node_modules/@aws-sdk/util-body-length-node": {
- "version": "3.208.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.208.0.tgz",
- "integrity": "sha512-3zj50e5g7t/MQf53SsuuSf0hEELzMtD8RX8C76f12OSRo2Bca4FLLYHe0TZbxcfQHom8/hOaeZEyTyMogMglqg==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.310.0.tgz",
+ "integrity": "sha512-2tqGXdyKhyA6w4zz7UPoS8Ip+7sayOg9BwHNidiGm2ikbDxm1YrCfYXvCBdwaJxa4hJfRVz+aL9e+d3GqPI9pQ==",
"optional": true,
"dependencies": {
- "tslib": "^2.3.1"
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/util-buffer-from": {
- "version": "3.208.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.208.0.tgz",
- "integrity": "sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz",
+ "integrity": "sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw==",
"optional": true,
"dependencies": {
- "@aws-sdk/is-array-buffer": "3.201.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/is-array-buffer": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/util-config-provider": {
- "version": "3.208.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.208.0.tgz",
- "integrity": "sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.310.0.tgz",
+ "integrity": "sha512-xIBaYo8dwiojCw8vnUcIL4Z5tyfb1v3yjqyJKJWV/dqKUFOOS0U591plmXbM+M/QkXyML3ypon1f8+BoaDExrg==",
"optional": true,
"dependencies": {
- "tslib": "^2.3.1"
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/util-defaults-mode-browser": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.272.0.tgz",
- "integrity": "sha512-W8ZVJSZRuUBg8l0JEZzUc+9fKlthVp/cdE+pFeF8ArhZelOLCiaeCrMaZAeJusaFzIpa6cmOYQAjtSMVyrwRtg==",
+ "version": "3.315.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.315.0.tgz",
+ "integrity": "sha512-5cqNvfGos3FB/MHNl+g2fr+tPY7s3k3+96V3wOPWLOksdACth10OxPpHfboXXZDHHkR0hmyJwJcfgA4uQrUcGg==",
"optional": true,
"dependencies": {
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
"bowser": "^2.11.0",
- "tslib": "^2.3.1"
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">= 10.0.0"
}
},
"node_modules/@aws-sdk/util-defaults-mode-node": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.272.0.tgz",
- "integrity": "sha512-U0NTcbMw6KFk7uz/avBmfxQSTREEiX6JDMH68oN/3ux4AICd2I4jHyxnloSWGuiER1FxZf1dEJ8ZTwy8Ibl21Q==",
+ "version": "3.315.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.315.0.tgz",
+ "integrity": "sha512-vSPIGpzh6NJIMLoh31p7CczSatN46kJdJBrHfODHaIGe4t156x+LfkkcxGQhtifqxglhL7l+fmn5D1fM5exHuA==",
"optional": true,
"dependencies": {
- "@aws-sdk/config-resolver": "3.272.0",
- "@aws-sdk/credential-provider-imds": "3.272.0",
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/config-resolver": "3.310.0",
+ "@aws-sdk/credential-provider-imds": "3.310.0",
+ "@aws-sdk/node-config-provider": "3.310.0",
+ "@aws-sdk/property-provider": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">= 10.0.0"
}
},
"node_modules/@aws-sdk/util-endpoints": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.272.0.tgz",
- "integrity": "sha512-c4MPUaJt2G6gGpoiwIOqDfUa98c1J63RpYvf/spQEKOtC/tF5Gfqlxuq8FnAl5lHnrqj1B9ZXLLxFhHtDR0IiQ==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.310.0.tgz",
+ "integrity": "sha512-zG+/d/O5KPmAaeOMPd6bW1abifdT0H03f42keLjYEoRZzYtHPC5DuPE0UayiWGckI6BCDgy0sRKXCYS49UNFaQ==",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/util-hex-encoding": {
- "version": "3.201.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.201.0.tgz",
- "integrity": "sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.310.0.tgz",
+ "integrity": "sha512-sVN7mcCCDSJ67pI1ZMtk84SKGqyix6/0A1Ab163YKn+lFBQRMKexleZzpYzNGxYzmQS6VanP/cfU7NiLQOaSfA==",
"optional": true,
"dependencies": {
- "tslib": "^2.3.1"
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/util-locate-window": {
- "version": "3.208.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.208.0.tgz",
- "integrity": "sha512-iua1A2+P7JJEDHVgvXrRJSvsnzG7stYSGQnBVphIUlemwl6nN5D+QrgbjECtrbxRz8asYFHSzhdhECqN+tFiBg==",
+ "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==",
"optional": true,
"dependencies": {
- "tslib": "^2.3.1"
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/util-middleware": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.272.0.tgz",
- "integrity": "sha512-Abw8m30arbwxqmeMMha5J11ESpHUNmCeSqSzE8/C4B8jZQtHY4kq7f+upzcNIQ11lsd+uzBEzNG3+dDRi0XOJQ==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.310.0.tgz",
+ "integrity": "sha512-FTSUKL/eRb9X6uEZClrTe27QFXUNNp7fxYrPndZwk1hlaOP5ix+MIHBcI7pIiiY/JPfOUmPyZOu+HetlFXjWog==",
"optional": true,
"dependencies": {
- "tslib": "^2.3.1"
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/util-retry": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.272.0.tgz",
- "integrity": "sha512-Ngha5414LR4gRHURVKC9ZYXsEJhMkm+SJ+44wlzOhavglfdcKKPUsibz5cKY1jpUV7oKECwaxHWpBB8r6h+hOg==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.310.0.tgz",
+ "integrity": "sha512-FwWGhCBLfoivTMUHu1LIn4NjrN9JLJ/aX5aZmbcPIOhZVFJj638j0qDgZXyfvVqBuBZh7M8kGq0Oahy3dp69OA==",
"optional": true,
"dependencies": {
- "@aws-sdk/service-error-classification": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/service-error-classification": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@aws-sdk/util-uri-escape": {
- "version": "3.201.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.201.0.tgz",
- "integrity": "sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz",
+ "integrity": "sha512-drzt+aB2qo2LgtDoiy/3sVG8w63cgLkqFIa2NFlGpUgHFWTXkqtbgf4L5QdjRGKWhmZsnqkbtL7vkSWEcYDJ4Q==",
"optional": true,
"dependencies": {
- "tslib": "^2.3.1"
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@aws-sdk/util-user-agent-browser": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.272.0.tgz",
- "integrity": "sha512-Lp5QX5bH6uuwBlIdr7w7OAcAI50ttyskb++yUr9i+SPvj6RI2dsfIBaK4mDg1qUdM5LeUdvIyqwj3XHjFKAAvA==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.310.0.tgz",
+ "integrity": "sha512-yU/4QnHHuQ5z3vsUqMQVfYLbZGYwpYblPiuZx4Zo9+x0PBkNjYMqctdDcrpoH9Z2xZiDN16AmQGK1tix117ZKw==",
"optional": true,
"dependencies": {
- "@aws-sdk/types": "3.272.0",
+ "@aws-sdk/types": "3.310.0",
"bowser": "^2.11.0",
- "tslib": "^2.3.1"
+ "tslib": "^2.5.0"
}
},
"node_modules/@aws-sdk/util-user-agent-node": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.272.0.tgz",
- "integrity": "sha512-ljK+R3l+Q1LIHrcR+Knhk0rmcSkfFadZ8V+crEGpABf/QUQRg7NkZMsoe814tfBO5F7tMxo8wwwSdaVNNHtoRA==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.310.0.tgz",
+ "integrity": "sha512-Ra3pEl+Gn2BpeE7KiDGpi4zj7WJXZA5GXnGo3mjbi9+Y3zrbuhJAbdZO3mO/o7xDgMC6ph4xCTbaSGzU6b6EDg==",
"optional": true,
"dependencies": {
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/node-config-provider": "3.310.0",
+ "@aws-sdk/types": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
@@ -1060,13 +1060,13 @@
}
},
"node_modules/@aws-sdk/util-utf8": {
- "version": "3.254.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.254.0.tgz",
- "integrity": "sha512-14Kso/eIt5/qfIBmhEL9L1IfyUqswjSTqO2mY7KOzUZ9SZbwn3rpxmtkhmATkRjD7XIlLKaxBkI7tU9Zjzj8Kw==",
+ "version": "3.310.0",
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.310.0.tgz",
+ "integrity": "sha512-DnLfFT8uCO22uOJc0pt0DsSNau1GTisngBCDw8jQuWT5CqogMJu4b/uXmwEqfj8B3GX6Xsz8zOd6JpRlPftQoA==",
"optional": true,
"dependencies": {
- "@aws-sdk/util-buffer-from": "3.208.0",
- "tslib": "^2.3.1"
+ "@aws-sdk/util-buffer-from": "3.310.0",
+ "tslib": "^2.5.0"
},
"engines": {
"node": ">=14.0.0"
@@ -1081,10 +1081,180 @@
"tslib": "^2.3.1"
}
},
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
+ "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz",
+ "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.5.1",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/@eslint/js": {
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz",
+ "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.11.8",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
+ "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
+ "dev": true,
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^1.2.1",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.5"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@humanwhocodes/config-array/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "dev": true
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/@types/node": {
- "version": "18.13.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz",
- "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg=="
+ "version": "18.15.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz",
+ "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q=="
},
"node_modules/@types/webidl-conversions": {
"version": "7.0.0",
@@ -1112,6 +1282,81 @@
"node": ">= 0.6"
}
},
+ "node_modules/acorn": {
+ "version": "8.8.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
+ "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ansi-colors": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
+ "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
"node_modules/array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
@@ -1123,15 +1368,21 @@
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.3.tgz",
- "integrity": "sha512-eYq77dYIFS77AQlhzEL937yUBSepBfPIe8FcgEDN35vMNZKMrs81pgnyrQpwfy4NF4b4XWX1Zgx7yX+25w8QJA==",
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.5.tgz",
+ "integrity": "sha512-glL/PvG/E+xCWwV8S6nCHcrfg1exGx7vxyUIivIA1iL7BIh6bePylCfVHwp6k13ao7SATxB6imau2kqY+I67kw==",
"dependencies": {
"follow-redirects": "^1.15.0",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
},
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
"node_modules/base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
@@ -1182,12 +1433,27 @@
"node": ">= 0.8"
}
},
+ "node_modules/boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
+ },
"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==",
"optional": true
},
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
"node_modules/bson": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/bson/-/bson-4.7.2.tgz",
@@ -1242,6 +1508,105 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camel-case": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+ "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==",
+ "dependencies": {
+ "no-case": "^2.2.0",
+ "upper-case": "^1.1.1"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/cheerio": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
+ "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
+ "dependencies": {
+ "cheerio-select": "^2.1.0",
+ "dom-serializer": "^2.0.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.0.1",
+ "htmlparser2": "^8.0.1",
+ "parse5": "^7.0.0",
+ "parse5-htmlparser2-tree-adapter": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/cheerio?sponsor=1"
+ }
+ },
+ "node_modules/cheerio-select": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
+ "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-select": "^5.1.0",
+ "css-what": "^6.1.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/clean-css": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz",
+ "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==",
+ "dependencies": {
+ "source-map": "~0.6.0"
+ },
+ "engines": {
+ "node": ">= 4.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -1253,6 +1618,11 @@
"node": ">= 0.8"
}
},
+ "node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ },
"node_modules/compressible": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
@@ -1281,6 +1651,12 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
+ },
"node_modules/content-disposition": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
@@ -1332,6 +1708,46 @@
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
},
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/css-select": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
+ "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-what": "^6.1.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "nth-check": "^2.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/css-what": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
+ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
+ "engines": {
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
"node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -1340,6 +1756,12 @@
"ms": "2.0.0"
}
},
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true
+ },
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -1365,6 +1787,69 @@
"npm": "1.2.8000 || >= 1.4.16"
}
},
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ]
+ },
+ "node_modules/domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "dependencies": {
+ "domelementtype": "^2.3.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/domutils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
+ "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
+ "dependencies": {
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -1378,11 +1863,212 @@
"node": ">= 0.8"
}
},
+ "node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/escape-goat": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-3.0.0.tgz",
+ "integrity": "sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
},
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.39.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz",
+ "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.4.0",
+ "@eslint/eslintrc": "^2.0.2",
+ "@eslint/js": "8.39.0",
+ "@humanwhocodes/config-array": "^0.11.8",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.2.0",
+ "eslint-visitor-keys": "^3.4.0",
+ "espree": "^9.5.1",
+ "esquery": "^1.4.2",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "grapheme-splitter": "^1.0.4",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-sdsl": "^4.1.4",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "strip-ansi": "^6.0.1",
+ "strip-json-comments": "^3.1.0",
+ "text-table": "^0.2.0"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
+ "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz",
+ "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/espree": {
+ "version": "9.5.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz",
+ "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.8.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
@@ -1432,6 +2118,17 @@
"node": ">= 0.10.0"
}
},
+ "node_modules/express-rate-limit": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.7.0.tgz",
+ "integrity": "sha512-vhwIdRoqcYB/72TK3tRZI+0ttS8Ytrk24GfmsxDXK9o9IhHNO5bXRiXQSExPQ4GbaE5tvIS7j1SGrxsuWs+sGA==",
+ "engines": {
+ "node": ">= 12.9.0"
+ },
+ "peerDependencies": {
+ "express": "^4 || ^5"
+ }
+ },
"node_modules/express/node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -1451,10 +2148,28 @@
}
]
},
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "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",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true
+ },
"node_modules/fast-xml-parser": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.0.11.tgz",
- "integrity": "sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz",
+ "integrity": "sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg==",
"optional": true,
"dependencies": {
"strnum": "^1.0.5"
@@ -1467,6 +2182,27 @@
"url": "https://paypal.me/naturalintelligence"
}
},
+ "node_modules/fastq": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
+ "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
+ "dev": true,
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
"node_modules/finalhandler": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
@@ -1484,6 +2220,41 @@
"node": ">= 0.8"
}
},
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
+ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
+ "dev": true
+ },
"node_modules/follow-redirects": {
"version": "1.15.2",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
@@ -1532,6 +2303,12 @@
"node": ">= 0.6"
}
},
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
+ },
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -1550,6 +2327,59 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/globals": {
+ "version": "13.20.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
+ "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/grapheme-splitter": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
+ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
+ "dev": true
+ },
"node_modules/has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -1561,6 +2391,15 @@
"node": ">= 0.4.0"
}
},
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
@@ -1572,6 +2411,52 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "bin": {
+ "he": "bin/he"
+ }
+ },
+ "node_modules/html-minifier": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz",
+ "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==",
+ "dependencies": {
+ "camel-case": "^3.0.0",
+ "clean-css": "^4.2.1",
+ "commander": "^2.19.0",
+ "he": "^1.2.0",
+ "param-case": "^2.1.1",
+ "relateurl": "^0.2.7",
+ "uglify-js": "^3.5.1"
+ },
+ "bin": {
+ "html-minifier": "cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/htmlparser2": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz",
+ "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==",
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.0.1",
+ "entities": "^4.4.0"
+ }
+ },
"node_modules/http-errors": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
@@ -1617,6 +2502,50 @@
}
]
},
+ "node_modules/ignore": {
+ "version": "5.2.4",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+ "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
@@ -1635,6 +2564,102 @@
"node": ">= 0.10"
}
},
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/js-sdsl": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz",
+ "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==",
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/js-sdsl"
+ }
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true
+ },
+ "node_modules/juice": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/juice/-/juice-9.0.0.tgz",
+ "integrity": "sha512-s/IwgQ4caZq3bSnQZlKfdGUqJWy9WzTzB12WSPko9G8uK74H8BJEQvX7GLmFAQ6SLFgAppqC/TUYepKZZaV+JA==",
+ "dependencies": {
+ "cheerio": "^1.0.0-rc.12",
+ "commander": "^6.1.0",
+ "mensch": "^0.3.4",
+ "slick": "^1.12.2",
+ "web-resource-inliner": "^6.0.1"
+ },
+ "bin": {
+ "juice": "bin/juice"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/juice/node_modules/commander": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
+ "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/ldbs-json": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ldbs-json/-/ldbs-json-1.2.1.tgz",
@@ -1647,6 +2672,45 @@
"node": ">=7.6"
}
},
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
+ },
+ "node_modules/lower-case": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+ "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA=="
+ },
"node_modules/media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -1661,6 +2725,11 @@
"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
"optional": true
},
+ "node_modules/mensch": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.4.tgz",
+ "integrity": "sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g=="
+ },
"node_modules/merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
@@ -1704,12 +2773,24 @@
"node": ">= 0.6"
}
},
- "node_modules/mongodb": {
- "version": "4.14.0",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.14.0.tgz",
- "integrity": "sha512-coGKkWXIBczZPr284tYKFLg+KbGPPLlSbdgfKAb6QqCFt5bo5VFZ50O3FFzsw4rnkqjwT6D8Qcoo9nshYKM7Mg==",
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
"dependencies": {
- "bson": "^4.7.0",
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mongodb": {
+ "version": "4.16.0",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.16.0.tgz",
+ "integrity": "sha512-0EB113Fsucaq1wsY0dOhi1fmZOwFtLOtteQkiqOXGklvWMnSH3g2QS53f0KTP+/6qOkuoXE2JksubSZNmxeI+g==",
+ "dependencies": {
+ "bson": "^4.7.2",
"mongodb-connection-string-url": "^2.5.4",
"socks": "^2.7.1"
},
@@ -1735,6 +2816,12 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true
+ },
"node_modules/negotiator": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
@@ -1743,6 +2830,14 @@
"node": ">= 0.6"
}
},
+ "node_modules/no-case": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
+ "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
+ "dependencies": {
+ "lower-case": "^1.1.1"
+ }
+ },
"node_modules/node-fetch": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
@@ -1781,6 +2876,25 @@
"webidl-conversions": "^3.0.0"
}
},
+ "node_modules/nodemailer": {
+ "version": "6.9.1",
+ "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.1.tgz",
+ "integrity": "sha512-qHw7dOiU5UKNnQpXktdgQ1d3OFgRAekuvbJLcdG5dnEo/GtcTHRYM7+UfJARdOFU9WUQO8OiIamgWPmiSFHYAA==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "dependencies": {
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
+ }
+ },
"node_modules/object-inspect": {
"version": "1.12.3",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
@@ -1808,6 +2922,105 @@
"node": ">= 0.8"
}
},
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/param-case": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
+ "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==",
+ "dependencies": {
+ "no-case": "^2.2.0"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse5": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+ "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+ "dependencies": {
+ "entities": "^4.4.0"
+ },
+ "funding": {
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
+ }
+ },
+ "node_modules/parse5-htmlparser2-tree-adapter": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz",
+ "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
+ "dependencies": {
+ "domhandler": "^5.0.2",
+ "parse5": "^7.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
+ }
+ },
"node_modules/parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -1816,11 +3029,62 @@
"node": ">= 0.8"
}
},
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
},
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
"node_modules/proxy-addr": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -1860,6 +3124,26 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
"node_modules/range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
@@ -1890,6 +3174,71 @@
"node": ">= 0.8"
}
},
+ "node_modules/relateurl": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -1964,6 +3313,27 @@
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
},
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
@@ -1977,6 +3347,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/slick": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/slick/-/slick-1.12.2.tgz",
+ "integrity": "sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/smart-buffer": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
@@ -1999,6 +3377,14 @@
"npm": ">= 3.0.0"
}
},
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/sparse-bitfield": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
@@ -2016,10 +3402,29 @@
"node": ">= 0.8"
}
},
- "node_modules/string-sanitizer-fix": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/string-sanitizer-fix/-/string-sanitizer-fix-2.0.1.tgz",
- "integrity": "sha512-I5RSqL5vDfKnoAbpFP2mU0QAh7Gc1KoeIg02N+5+NBfDB/MiSddgNNXfmWND7+BBwy3zub6s/ZWRbZICZKUA0g=="
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
"node_modules/strnum": {
"version": "1.0.5",
@@ -2027,6 +3432,24 @@
"integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==",
"optional": true
},
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true
+ },
"node_modules/toidentifier": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
@@ -2052,6 +3475,30 @@
"integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==",
"optional": true
},
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
@@ -2064,6 +3511,17 @@
"node": ">= 0.6"
}
},
+ "node_modules/uglify-js": {
+ "version": "3.17.4",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
+ "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==",
+ "bin": {
+ "uglifyjs": "bin/uglifyjs"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -2072,6 +3530,20 @@
"node": ">= 0.8"
}
},
+ "node_modules/upper-case": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+ "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA=="
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
"node_modules/utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
@@ -2089,6 +3561,14 @@
"uuid": "dist/bin/uuid"
}
},
+ "node_modules/valid-data-url": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-3.0.1.tgz",
+ "integrity": "sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -2097,6 +3577,123 @@
"node": ">= 0.8"
}
},
+ "node_modules/web-resource-inliner": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-6.0.1.tgz",
+ "integrity": "sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==",
+ "dependencies": {
+ "ansi-colors": "^4.1.1",
+ "escape-goat": "^3.0.0",
+ "htmlparser2": "^5.0.0",
+ "mime": "^2.4.6",
+ "node-fetch": "^2.6.0",
+ "valid-data-url": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/web-resource-inliner/node_modules/dom-serializer": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
+ "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/web-resource-inliner/node_modules/dom-serializer/node_modules/domhandler": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
+ "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
+ "dependencies": {
+ "domelementtype": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/web-resource-inliner/node_modules/domhandler": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
+ "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
+ "dependencies": {
+ "domelementtype": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/web-resource-inliner/node_modules/domutils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "dependencies": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/web-resource-inliner/node_modules/domutils/node_modules/domhandler": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
+ "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
+ "dependencies": {
+ "domelementtype": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/web-resource-inliner/node_modules/entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/web-resource-inliner/node_modules/htmlparser2": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz",
+ "integrity": "sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==",
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^3.3.0",
+ "domutils": "^2.4.2",
+ "entities": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/htmlparser2?sponsor=1"
+ }
+ },
+ "node_modules/web-resource-inliner/node_modules/mime": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
"node_modules/webidl-conversions": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
@@ -2117,6 +3714,36 @@
"node": ">=12"
}
},
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true
+ },
"node_modules/xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
@@ -2136,1671 +3763,18 @@
"engines": {
"node": ">=4.0"
}
- }
- },
- "dependencies": {
- "@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==",
- "optional": true,
- "requires": {
- "tslib": "^1.11.1"
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
},
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
- },
- "@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==",
- "optional": true,
- "requires": {
- "@aws-crypto/ie11-detection": "^3.0.0",
- "@aws-crypto/sha256-js": "^3.0.0",
- "@aws-crypto/supports-web-crypto": "^3.0.0",
- "@aws-crypto/util": "^3.0.0",
- "@aws-sdk/types": "^3.222.0",
- "@aws-sdk/util-locate-window": "^3.0.0",
- "@aws-sdk/util-utf8-browser": "^3.0.0",
- "tslib": "^1.11.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "optional": true
- }
- }
- },
- "@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==",
- "optional": true,
- "requires": {
- "@aws-crypto/util": "^3.0.0",
- "@aws-sdk/types": "^3.222.0",
- "tslib": "^1.11.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "optional": true
- }
- }
- },
- "@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==",
- "optional": true,
- "requires": {
- "tslib": "^1.11.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "optional": true
- }
- }
- },
- "@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==",
- "optional": true,
- "requires": {
- "@aws-sdk/types": "^3.222.0",
- "@aws-sdk/util-utf8-browser": "^3.0.0",
- "tslib": "^1.11.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "optional": true
- }
- }
- },
- "@aws-sdk/abort-controller": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.272.0.tgz",
- "integrity": "sha512-s2TV3phapcTwZNr4qLxbfuQuE9ZMP4RoJdkvRRCkKdm6jslsWLJf2Zlcxti/23hOlINUMYv2iXE2pftIgWGdpg==",
- "optional": true,
- "requires": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/client-cognito-identity": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.272.0.tgz",
- "integrity": "sha512-uMjRWcNvX7SoGaVn0mXWD43+Z1awPahQwGW3riDLfXHZdOgw2oFDhD3Jg5jQ8OzQLUfDvArhE3WyZwlS4muMuQ==",
- "optional": true,
- "requires": {
- "@aws-crypto/sha256-browser": "3.0.0",
- "@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/client-sts": "3.272.0",
- "@aws-sdk/config-resolver": "3.272.0",
- "@aws-sdk/credential-provider-node": "3.272.0",
- "@aws-sdk/fetch-http-handler": "3.272.0",
- "@aws-sdk/hash-node": "3.272.0",
- "@aws-sdk/invalid-dependency": "3.272.0",
- "@aws-sdk/middleware-content-length": "3.272.0",
- "@aws-sdk/middleware-endpoint": "3.272.0",
- "@aws-sdk/middleware-host-header": "3.272.0",
- "@aws-sdk/middleware-logger": "3.272.0",
- "@aws-sdk/middleware-recursion-detection": "3.272.0",
- "@aws-sdk/middleware-retry": "3.272.0",
- "@aws-sdk/middleware-serde": "3.272.0",
- "@aws-sdk/middleware-signing": "3.272.0",
- "@aws-sdk/middleware-stack": "3.272.0",
- "@aws-sdk/middleware-user-agent": "3.272.0",
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/node-http-handler": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/smithy-client": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/url-parser": "3.272.0",
- "@aws-sdk/util-base64": "3.208.0",
- "@aws-sdk/util-body-length-browser": "3.188.0",
- "@aws-sdk/util-body-length-node": "3.208.0",
- "@aws-sdk/util-defaults-mode-browser": "3.272.0",
- "@aws-sdk/util-defaults-mode-node": "3.272.0",
- "@aws-sdk/util-endpoints": "3.272.0",
- "@aws-sdk/util-retry": "3.272.0",
- "@aws-sdk/util-user-agent-browser": "3.272.0",
- "@aws-sdk/util-user-agent-node": "3.272.0",
- "@aws-sdk/util-utf8": "3.254.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/client-sso": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.272.0.tgz",
- "integrity": "sha512-xn9a0IGONwQIARmngThoRhF1lLGjHAD67sUaShgIMaIMc6ipVYN6alWG1VuUpoUQ6iiwMEt0CHdfCyLyUV/fTA==",
- "optional": true,
- "requires": {
- "@aws-crypto/sha256-browser": "3.0.0",
- "@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/config-resolver": "3.272.0",
- "@aws-sdk/fetch-http-handler": "3.272.0",
- "@aws-sdk/hash-node": "3.272.0",
- "@aws-sdk/invalid-dependency": "3.272.0",
- "@aws-sdk/middleware-content-length": "3.272.0",
- "@aws-sdk/middleware-endpoint": "3.272.0",
- "@aws-sdk/middleware-host-header": "3.272.0",
- "@aws-sdk/middleware-logger": "3.272.0",
- "@aws-sdk/middleware-recursion-detection": "3.272.0",
- "@aws-sdk/middleware-retry": "3.272.0",
- "@aws-sdk/middleware-serde": "3.272.0",
- "@aws-sdk/middleware-stack": "3.272.0",
- "@aws-sdk/middleware-user-agent": "3.272.0",
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/node-http-handler": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/smithy-client": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/url-parser": "3.272.0",
- "@aws-sdk/util-base64": "3.208.0",
- "@aws-sdk/util-body-length-browser": "3.188.0",
- "@aws-sdk/util-body-length-node": "3.208.0",
- "@aws-sdk/util-defaults-mode-browser": "3.272.0",
- "@aws-sdk/util-defaults-mode-node": "3.272.0",
- "@aws-sdk/util-endpoints": "3.272.0",
- "@aws-sdk/util-retry": "3.272.0",
- "@aws-sdk/util-user-agent-browser": "3.272.0",
- "@aws-sdk/util-user-agent-node": "3.272.0",
- "@aws-sdk/util-utf8": "3.254.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/client-sso-oidc": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.272.0.tgz",
- "integrity": "sha512-ECcXu3xoa1yggnGKMTh29eWNHiF/wC6r5Uqbla22eOOosyh0+Z6lkJ3JUSLOUKCkBXA4Cs/tJL9UDFBrKbSlvA==",
- "optional": true,
- "requires": {
- "@aws-crypto/sha256-browser": "3.0.0",
- "@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/config-resolver": "3.272.0",
- "@aws-sdk/fetch-http-handler": "3.272.0",
- "@aws-sdk/hash-node": "3.272.0",
- "@aws-sdk/invalid-dependency": "3.272.0",
- "@aws-sdk/middleware-content-length": "3.272.0",
- "@aws-sdk/middleware-endpoint": "3.272.0",
- "@aws-sdk/middleware-host-header": "3.272.0",
- "@aws-sdk/middleware-logger": "3.272.0",
- "@aws-sdk/middleware-recursion-detection": "3.272.0",
- "@aws-sdk/middleware-retry": "3.272.0",
- "@aws-sdk/middleware-serde": "3.272.0",
- "@aws-sdk/middleware-stack": "3.272.0",
- "@aws-sdk/middleware-user-agent": "3.272.0",
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/node-http-handler": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/smithy-client": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/url-parser": "3.272.0",
- "@aws-sdk/util-base64": "3.208.0",
- "@aws-sdk/util-body-length-browser": "3.188.0",
- "@aws-sdk/util-body-length-node": "3.208.0",
- "@aws-sdk/util-defaults-mode-browser": "3.272.0",
- "@aws-sdk/util-defaults-mode-node": "3.272.0",
- "@aws-sdk/util-endpoints": "3.272.0",
- "@aws-sdk/util-retry": "3.272.0",
- "@aws-sdk/util-user-agent-browser": "3.272.0",
- "@aws-sdk/util-user-agent-node": "3.272.0",
- "@aws-sdk/util-utf8": "3.254.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/client-sts": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.272.0.tgz",
- "integrity": "sha512-kigxCxURp3WupufGaL/LABMb7UQfzAQkKcj9royizL3ItJ0vw5kW/JFrPje5IW1mfLgdPF7PI9ShOjE0fCLTqA==",
- "optional": true,
- "requires": {
- "@aws-crypto/sha256-browser": "3.0.0",
- "@aws-crypto/sha256-js": "3.0.0",
- "@aws-sdk/config-resolver": "3.272.0",
- "@aws-sdk/credential-provider-node": "3.272.0",
- "@aws-sdk/fetch-http-handler": "3.272.0",
- "@aws-sdk/hash-node": "3.272.0",
- "@aws-sdk/invalid-dependency": "3.272.0",
- "@aws-sdk/middleware-content-length": "3.272.0",
- "@aws-sdk/middleware-endpoint": "3.272.0",
- "@aws-sdk/middleware-host-header": "3.272.0",
- "@aws-sdk/middleware-logger": "3.272.0",
- "@aws-sdk/middleware-recursion-detection": "3.272.0",
- "@aws-sdk/middleware-retry": "3.272.0",
- "@aws-sdk/middleware-sdk-sts": "3.272.0",
- "@aws-sdk/middleware-serde": "3.272.0",
- "@aws-sdk/middleware-signing": "3.272.0",
- "@aws-sdk/middleware-stack": "3.272.0",
- "@aws-sdk/middleware-user-agent": "3.272.0",
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/node-http-handler": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/smithy-client": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/url-parser": "3.272.0",
- "@aws-sdk/util-base64": "3.208.0",
- "@aws-sdk/util-body-length-browser": "3.188.0",
- "@aws-sdk/util-body-length-node": "3.208.0",
- "@aws-sdk/util-defaults-mode-browser": "3.272.0",
- "@aws-sdk/util-defaults-mode-node": "3.272.0",
- "@aws-sdk/util-endpoints": "3.272.0",
- "@aws-sdk/util-retry": "3.272.0",
- "@aws-sdk/util-user-agent-browser": "3.272.0",
- "@aws-sdk/util-user-agent-node": "3.272.0",
- "@aws-sdk/util-utf8": "3.254.0",
- "fast-xml-parser": "4.0.11",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/config-resolver": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.272.0.tgz",
- "integrity": "sha512-Dr4CffRVNsOp3LRNdpvcH6XuSgXOSLblWliCy/5I86cNl567KVMxujVx6uPrdTXYs2h1rt3MNl6jQGnAiJeTbw==",
- "optional": true,
- "requires": {
- "@aws-sdk/signature-v4": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-config-provider": "3.208.0",
- "@aws-sdk/util-middleware": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/credential-provider-cognito-identity": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.272.0.tgz",
- "integrity": "sha512-rVx0rtQjbiYCM0nah2rB/2ut2YJYPpRr1AbW/Hd4r/PI+yiusrmXAwuT4HIW2yr34zsQMPi1jZ3WHN9Rn9mzlg==",
- "optional": true,
- "requires": {
- "@aws-sdk/client-cognito-identity": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/credential-provider-env": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.272.0.tgz",
- "integrity": "sha512-QI65NbLnKLYHyTYhXaaUrq6eVsCCrMUb05WDA7+TJkWkjXesovpjc8vUKgFiLSxmgKmb2uOhHNcDyObKMrYQFw==",
- "optional": true,
- "requires": {
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/credential-provider-imds": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.272.0.tgz",
- "integrity": "sha512-wwAfVY1jTFQEfxVfdYD5r5ieYGl+0g4nhekVxNMqE8E1JeRDd18OqiwAflzpgBIqxfqvCUkf+vl5JYyacMkNAQ==",
- "optional": true,
- "requires": {
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/url-parser": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/credential-provider-ini": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.272.0.tgz",
- "integrity": "sha512-iE3CDzK5NcupHYjfYjBdY1JCy8NLEoRUsboEjG0i0gy3S3jVpDeVHX1dLVcL/slBFj6GiM7SoNV/UfKnJf3Gaw==",
- "optional": true,
- "requires": {
- "@aws-sdk/credential-provider-env": "3.272.0",
- "@aws-sdk/credential-provider-imds": "3.272.0",
- "@aws-sdk/credential-provider-process": "3.272.0",
- "@aws-sdk/credential-provider-sso": "3.272.0",
- "@aws-sdk/credential-provider-web-identity": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/credential-provider-node": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.272.0.tgz",
- "integrity": "sha512-FI8uvwM1IxiRSvbkdKv8DZG5vxU3ezaseTaB1fHWTxEUFb0pWIoHX9oeOKer9Fj31SOZTCNAaYFURbSRuZlm/w==",
- "optional": true,
- "requires": {
- "@aws-sdk/credential-provider-env": "3.272.0",
- "@aws-sdk/credential-provider-imds": "3.272.0",
- "@aws-sdk/credential-provider-ini": "3.272.0",
- "@aws-sdk/credential-provider-process": "3.272.0",
- "@aws-sdk/credential-provider-sso": "3.272.0",
- "@aws-sdk/credential-provider-web-identity": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/credential-provider-process": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.272.0.tgz",
- "integrity": "sha512-hiCAjWWm2PeBFp5cjkxqyam/XADjiS+e7GzwC34TbZn3LisS0uoweLojj9tD11NnnUhyhbLteUvu5+rotOLwrg==",
- "optional": true,
- "requires": {
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/credential-provider-sso": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.272.0.tgz",
- "integrity": "sha512-hwYaulyiU/7chKKFecxCeo0ls6Dxs7h+5EtoYcJJGvfpvCncyOZF35t00OAsCd3Wo7HkhhgfpGdb6dmvCNQAZQ==",
- "optional": true,
- "requires": {
- "@aws-sdk/client-sso": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/token-providers": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/credential-provider-web-identity": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.272.0.tgz",
- "integrity": "sha512-ImrHMkcgneGa/HadHAQXPwOrX26sAKuB8qlMxZF/ZCM2B55u8deY+ZVkVuraeKb7YsahMGehPFOfRAF6mvFI5Q==",
- "optional": true,
- "requires": {
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/credential-providers": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.272.0.tgz",
- "integrity": "sha512-ucd6Xq6aBMf+nM4uz5zkjL11mwaE5BV1Q4hkulaGu2v1dRA8n6zhLJk/sb4hOJ7leelqMJMErlbQ2T3MkYvlJQ==",
- "optional": true,
- "requires": {
- "@aws-sdk/client-cognito-identity": "3.272.0",
- "@aws-sdk/client-sso": "3.272.0",
- "@aws-sdk/client-sts": "3.272.0",
- "@aws-sdk/credential-provider-cognito-identity": "3.272.0",
- "@aws-sdk/credential-provider-env": "3.272.0",
- "@aws-sdk/credential-provider-imds": "3.272.0",
- "@aws-sdk/credential-provider-ini": "3.272.0",
- "@aws-sdk/credential-provider-node": "3.272.0",
- "@aws-sdk/credential-provider-process": "3.272.0",
- "@aws-sdk/credential-provider-sso": "3.272.0",
- "@aws-sdk/credential-provider-web-identity": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/fetch-http-handler": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.272.0.tgz",
- "integrity": "sha512-1Qhm9e0RbS1Xf4CZqUbQyUMkDLd7GrsRXWIvm9b86/vgeV8/WnjO3CMue9D51nYgcyQORhYXv6uVjAYCWbUExA==",
- "optional": true,
- "requires": {
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/querystring-builder": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-base64": "3.208.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/hash-node": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.272.0.tgz",
- "integrity": "sha512-40dwND+iAm3VtPHPZu7/+CIdVJFk2s0cWZt1lOiMPMSXycSYJ45wMk7Lly3uoqRx0uWfFK5iT2OCv+fJi5jTng==",
- "optional": true,
- "requires": {
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-buffer-from": "3.208.0",
- "@aws-sdk/util-utf8": "3.254.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/invalid-dependency": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.272.0.tgz",
- "integrity": "sha512-ysW6wbjl1Y78txHUQ/Tldj2Rg1BI7rpMO9B9xAF6yAX3mQ7t6SUPQG/ewOGvH2208NBIl3qP5e/hDf0Q6r/1iw==",
- "optional": true,
- "requires": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/is-array-buffer": {
- "version": "3.201.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.201.0.tgz",
- "integrity": "sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==",
- "optional": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/middleware-content-length": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.272.0.tgz",
- "integrity": "sha512-sAbDZSTNmLX+UTGwlUHJBWy0QGQkiClpHwVFXACon+aG0ySLNeRKEVYs6NCPYldw4cj6hveLUn50cX44ukHErw==",
- "optional": true,
- "requires": {
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/middleware-endpoint": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.272.0.tgz",
- "integrity": "sha512-Dk3JVjj7SxxoUKv3xGiOeBksvPtFhTDrVW75XJ98Ymv8gJH5L1sq4hIeJAHRKogGiRFq2J73mnZSlM9FVXEylg==",
- "optional": true,
- "requires": {
- "@aws-sdk/middleware-serde": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/signature-v4": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/url-parser": "3.272.0",
- "@aws-sdk/util-config-provider": "3.208.0",
- "@aws-sdk/util-middleware": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/middleware-host-header": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.272.0.tgz",
- "integrity": "sha512-Q8K7bMMFZnioUXpxn57HIt4p+I63XaNAawMLIZ5B4F2piyukbQeM9q2XVKMGwqLvijHR8CyP5nHrtKqVuINogQ==",
- "optional": true,
- "requires": {
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/middleware-logger": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.272.0.tgz",
- "integrity": "sha512-u2SQ0hWrFwxbxxYMG5uMEgf01pQY5jauK/LYWgGIvuCmFgiyRQQP3oN7kkmsxnS9MWmNmhbyQguX2NY02s5e9w==",
- "optional": true,
- "requires": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/middleware-recursion-detection": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.272.0.tgz",
- "integrity": "sha512-Gp/eKWeUWVNiiBdmUM2qLkBv+VLSJKoWAO+aKmyxxwjjmWhE0FrfA1NQ1a3g+NGMhRbAfQdaYswRAKsul70ISg==",
- "optional": true,
- "requires": {
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/middleware-retry": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.272.0.tgz",
- "integrity": "sha512-pCGvHM7C76VbO/dFerH+Vwf7tGv7j+e+eGrvhQ35mRghCtfIou/WMfTZlD1TNee93crrAQQVZKjtW3dMB3WCzg==",
- "optional": true,
- "requires": {
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/service-error-classification": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-middleware": "3.272.0",
- "@aws-sdk/util-retry": "3.272.0",
- "tslib": "^2.3.1",
- "uuid": "^8.3.2"
- }
- },
- "@aws-sdk/middleware-sdk-sts": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.272.0.tgz",
- "integrity": "sha512-VvYPg7LrDIjUOWueSzo2wBzcNG7dw+cmzV6zAKaLxf0RC5jeAP4hE0OzDiiZfDrjNghEzgq/V+0NO+LewqYL9Q==",
- "optional": true,
- "requires": {
- "@aws-sdk/middleware-signing": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/signature-v4": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/middleware-serde": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.272.0.tgz",
- "integrity": "sha512-kW1uOxgPSwtXPB5rm3QLdWomu42lkYpQL94tM1BjyFOWmBLO2lQhk5a7Dw6HkTozT9a+vxtscLChRa6KZe61Hw==",
- "optional": true,
- "requires": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/middleware-signing": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.272.0.tgz",
- "integrity": "sha512-4LChFK4VAR91X+dupqM8fQqYhFGE0G4Bf9rQlVTgGSbi2KUOmpqXzH0/WKE228nKuEhmH8+Qd2VPSAE2JcyAUA==",
- "optional": true,
- "requires": {
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/signature-v4": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-middleware": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/middleware-stack": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.272.0.tgz",
- "integrity": "sha512-jhwhknnPBGhfXAGV5GXUWfEhDFoP/DN8MPCO2yC5OAxyp6oVJ8lTPLkZYMTW5VL0c0eG44dXpF4Ib01V+PlDrQ==",
- "optional": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/middleware-user-agent": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.272.0.tgz",
- "integrity": "sha512-Qy7/0fsDJxY5l0bEk7WKDfqb4Os/sCAgFR2zEvrhDtbkhYPf72ysvg/nRUTncmCbo8tOok4SJii2myk8KMfjjw==",
- "optional": true,
- "requires": {
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/node-config-provider": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.272.0.tgz",
- "integrity": "sha512-YYCIBh9g1EQo7hm2l22HX5Yr9RoPQ2RCvhzKvF1n1e8t1QH4iObQrYUtqHG4khcm64Cft8C5MwZmgzHbya5Z6Q==",
- "optional": true,
- "requires": {
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/node-http-handler": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.272.0.tgz",
- "integrity": "sha512-VrW9PjhhngeyYp4yGYPe5S0vgZH6NwU3Po9xAgayUeE37Inr7LS1YteFMHdpgsUUeNXnh7d06CXqHo1XjtqOKA==",
- "optional": true,
- "requires": {
- "@aws-sdk/abort-controller": "3.272.0",
- "@aws-sdk/protocol-http": "3.272.0",
- "@aws-sdk/querystring-builder": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/property-provider": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.272.0.tgz",
- "integrity": "sha512-V1pZTaH5eqpAt8O8CzbItHhOtzIfFuWymvwZFkAtwKuaHpnl7jjrTouV482zoq8AD/fF+VVSshwBKYA7bhidIw==",
- "optional": true,
- "requires": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/protocol-http": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.272.0.tgz",
- "integrity": "sha512-4JQ54v5Yn08jspNDeHo45CaSn1CvTJqS1Ywgr79eU6jBExtguOWv6LNtwVSBD9X37v88iqaxt8iu1Z3pZZAJeg==",
- "optional": true,
- "requires": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/querystring-builder": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.272.0.tgz",
- "integrity": "sha512-ndo++7GkdCj5tBXE6rGcITpSpZS4PfyV38wntGYAlj9liL1omk3bLZRY6uzqqkJpVHqbg2fD7O2qHNItzZgqhw==",
- "optional": true,
- "requires": {
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-uri-escape": "3.201.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/querystring-parser": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.272.0.tgz",
- "integrity": "sha512-5oS4/9n6N1LZW9tI3qq/0GnCuWoOXRgcHVB+AJLRBvDbEe+GI+C/xK1tKLsfpDNgsQJHc4IPQoIt4megyZ/1+A==",
- "optional": true,
- "requires": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/service-error-classification": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.272.0.tgz",
- "integrity": "sha512-REoltM1LK9byyIufLqx9znhSolPcHQgVHIA2S0zu5sdt5qER4OubkLAXuo4MBbisUTmh8VOOvIyUb5ijZCXq1w==",
- "optional": true
- },
- "@aws-sdk/shared-ini-file-loader": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.272.0.tgz",
- "integrity": "sha512-lzFPohp5sy2XvwFjZIzLVCRpC0i5cwBiaXmFzXYQZJm6FSCszHO4ax+m9yrtlyVFF/2YPWl+/bzNthy4aJtseA==",
- "optional": true,
- "requires": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/signature-v4": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.272.0.tgz",
- "integrity": "sha512-pWxnHG1NqJWMwlhJ6NHNiUikOL00DHROmxah6krJPMPq4I3am2KY2Rs/8ouWhnEXKaHAv4EQhSALJ+7Mq5S4/A==",
- "optional": true,
- "requires": {
- "@aws-sdk/is-array-buffer": "3.201.0",
- "@aws-sdk/types": "3.272.0",
- "@aws-sdk/util-hex-encoding": "3.201.0",
- "@aws-sdk/util-middleware": "3.272.0",
- "@aws-sdk/util-uri-escape": "3.201.0",
- "@aws-sdk/util-utf8": "3.254.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/smithy-client": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.272.0.tgz",
- "integrity": "sha512-pvdleJ3kaRvyRw2pIZnqL85ZlWBOZrPKmR9I69GCvlyrfdjRBhbSjIEZ+sdhZudw0vdHxq25AGoLUXhofVLf5Q==",
- "optional": true,
- "requires": {
- "@aws-sdk/middleware-stack": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/token-providers": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.272.0.tgz",
- "integrity": "sha512-0GISJ4IKN2rXvbSddB775VjBGSKhYIGQnAdMqbvxi9LB6pSvVxcH9aIL28G0spiuL+dy3yGQZ8RlJPAyP9JW9A==",
- "optional": true,
- "requires": {
- "@aws-sdk/client-sso-oidc": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/shared-ini-file-loader": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/types": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.272.0.tgz",
- "integrity": "sha512-MmmL6vxMGP5Bsi+4wRx4mxYlU/LX6M0noOXrDh/x5FfG7/4ZOar/nDxqDadhJtNM88cuWVHZWY59P54JzkGWmA==",
- "optional": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/url-parser": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.272.0.tgz",
- "integrity": "sha512-vX/Tx02PlnQ/Kgtf5TnrNDHPNbY+amLZjW0Z1d9vzAvSZhQ4i9Y18yxoRDIaDTCNVRDjdhV8iuctW+05PB5JtQ==",
- "optional": true,
- "requires": {
- "@aws-sdk/querystring-parser": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-base64": {
- "version": "3.208.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.208.0.tgz",
- "integrity": "sha512-PQniZph5A6N7uuEOQi+1hnMz/FSOK/8kMFyFO+4DgA1dZ5pcKcn5wiFwHkcTb/BsgVqQa3Jx0VHNnvhlS8JyTg==",
- "optional": true,
- "requires": {
- "@aws-sdk/util-buffer-from": "3.208.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-body-length-browser": {
- "version": "3.188.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz",
- "integrity": "sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==",
- "optional": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-body-length-node": {
- "version": "3.208.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.208.0.tgz",
- "integrity": "sha512-3zj50e5g7t/MQf53SsuuSf0hEELzMtD8RX8C76f12OSRo2Bca4FLLYHe0TZbxcfQHom8/hOaeZEyTyMogMglqg==",
- "optional": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-buffer-from": {
- "version": "3.208.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.208.0.tgz",
- "integrity": "sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw==",
- "optional": true,
- "requires": {
- "@aws-sdk/is-array-buffer": "3.201.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-config-provider": {
- "version": "3.208.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.208.0.tgz",
- "integrity": "sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg==",
- "optional": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-defaults-mode-browser": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.272.0.tgz",
- "integrity": "sha512-W8ZVJSZRuUBg8l0JEZzUc+9fKlthVp/cdE+pFeF8ArhZelOLCiaeCrMaZAeJusaFzIpa6cmOYQAjtSMVyrwRtg==",
- "optional": true,
- "requires": {
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "bowser": "^2.11.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-defaults-mode-node": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.272.0.tgz",
- "integrity": "sha512-U0NTcbMw6KFk7uz/avBmfxQSTREEiX6JDMH68oN/3ux4AICd2I4jHyxnloSWGuiER1FxZf1dEJ8ZTwy8Ibl21Q==",
- "optional": true,
- "requires": {
- "@aws-sdk/config-resolver": "3.272.0",
- "@aws-sdk/credential-provider-imds": "3.272.0",
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/property-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-endpoints": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.272.0.tgz",
- "integrity": "sha512-c4MPUaJt2G6gGpoiwIOqDfUa98c1J63RpYvf/spQEKOtC/tF5Gfqlxuq8FnAl5lHnrqj1B9ZXLLxFhHtDR0IiQ==",
- "optional": true,
- "requires": {
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-hex-encoding": {
- "version": "3.201.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.201.0.tgz",
- "integrity": "sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA==",
- "optional": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-locate-window": {
- "version": "3.208.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.208.0.tgz",
- "integrity": "sha512-iua1A2+P7JJEDHVgvXrRJSvsnzG7stYSGQnBVphIUlemwl6nN5D+QrgbjECtrbxRz8asYFHSzhdhECqN+tFiBg==",
- "optional": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-middleware": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.272.0.tgz",
- "integrity": "sha512-Abw8m30arbwxqmeMMha5J11ESpHUNmCeSqSzE8/C4B8jZQtHY4kq7f+upzcNIQ11lsd+uzBEzNG3+dDRi0XOJQ==",
- "optional": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-retry": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.272.0.tgz",
- "integrity": "sha512-Ngha5414LR4gRHURVKC9ZYXsEJhMkm+SJ+44wlzOhavglfdcKKPUsibz5cKY1jpUV7oKECwaxHWpBB8r6h+hOg==",
- "optional": true,
- "requires": {
- "@aws-sdk/service-error-classification": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-uri-escape": {
- "version": "3.201.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.201.0.tgz",
- "integrity": "sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==",
- "optional": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-user-agent-browser": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.272.0.tgz",
- "integrity": "sha512-Lp5QX5bH6uuwBlIdr7w7OAcAI50ttyskb++yUr9i+SPvj6RI2dsfIBaK4mDg1qUdM5LeUdvIyqwj3XHjFKAAvA==",
- "optional": true,
- "requires": {
- "@aws-sdk/types": "3.272.0",
- "bowser": "^2.11.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-user-agent-node": {
- "version": "3.272.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.272.0.tgz",
- "integrity": "sha512-ljK+R3l+Q1LIHrcR+Knhk0rmcSkfFadZ8V+crEGpABf/QUQRg7NkZMsoe814tfBO5F7tMxo8wwwSdaVNNHtoRA==",
- "optional": true,
- "requires": {
- "@aws-sdk/node-config-provider": "3.272.0",
- "@aws-sdk/types": "3.272.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-utf8": {
- "version": "3.254.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.254.0.tgz",
- "integrity": "sha512-14Kso/eIt5/qfIBmhEL9L1IfyUqswjSTqO2mY7KOzUZ9SZbwn3rpxmtkhmATkRjD7XIlLKaxBkI7tU9Zjzj8Kw==",
- "optional": true,
- "requires": {
- "@aws-sdk/util-buffer-from": "3.208.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-utf8-browser": {
- "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==",
- "optional": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@types/node": {
- "version": "18.13.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz",
- "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg=="
- },
- "@types/webidl-conversions": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
- "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
- },
- "@types/whatwg-url": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
- "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
- "requires": {
- "@types/node": "*",
- "@types/webidl-conversions": "*"
- }
- },
- "accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "requires": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- }
- },
- "array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
- },
- "axios": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.3.tgz",
- "integrity": "sha512-eYq77dYIFS77AQlhzEL937yUBSepBfPIe8FcgEDN35vMNZKMrs81pgnyrQpwfy4NF4b4XWX1Zgx7yX+25w8QJA==",
- "requires": {
- "follow-redirects": "^1.15.0",
- "form-data": "^4.0.0",
- "proxy-from-env": "^1.1.0"
- }
- },
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
- },
- "body-parser": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
- "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
- "requires": {
- "bytes": "3.1.2",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.11.0",
- "raw-body": "2.5.1",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
- },
- "dependencies": {
- "bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
- }
- }
- },
- "bowser": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
- "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==",
- "optional": true
- },
- "bson": {
- "version": "4.7.2",
- "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.2.tgz",
- "integrity": "sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ==",
- "requires": {
- "buffer": "^5.6.0"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw=="
- },
- "call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- }
- },
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "compressible": {
- "version": "2.0.18",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
- "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
- "requires": {
- "mime-db": ">= 1.43.0 < 2"
- }
- },
- "compression": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
- "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
- "requires": {
- "accepts": "~1.3.5",
- "bytes": "3.0.0",
- "compressible": "~2.0.16",
- "debug": "2.6.9",
- "on-headers": "~1.0.2",
- "safe-buffer": "5.1.2",
- "vary": "~1.1.2"
- }
- },
- "content-disposition": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
- "requires": {
- "safe-buffer": "5.2.1"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
- }
- }
- },
- "content-type": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="
- },
- "cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
- },
- "cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
- },
- "depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
- },
- "destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
- },
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
- },
- "express": {
- "version": "4.18.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
- "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
- "requires": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "1.20.1",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.5.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.2.0",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.7",
- "qs": "6.11.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.18.0",
- "serve-static": "1.15.0",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
- }
- }
- },
- "fast-xml-parser": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.0.11.tgz",
- "integrity": "sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA==",
- "optional": true,
- "requires": {
- "strnum": "^1.0.5"
- }
- },
- "finalhandler": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
- "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "2.0.1",
- "unpipe": "~1.0.0"
- }
- },
- "follow-redirects": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
- },
- "form-data": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- },
- "forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "get-intrinsic": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
- "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.3"
- }
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
- },
- "http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
- "requires": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
- }
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "ip": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
- "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
- },
- "ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
- },
- "ldbs-json": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ldbs-json/-/ldbs-json-1.2.1.tgz",
- "integrity": "sha512-AUnpgaBwElAkdMCyG7mL7gByZQKeY+tnjzF9sfIzYpGFRbIh6E6SV1ApP8AGcLUtoIXOqc5pVKKqy+WHPml8MQ==",
- "requires": {
- "node-fetch": "^2.6.0",
- "xml2js": "^0.4.22"
- }
- },
- "media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="
- },
- "memory-pager": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
- "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
- "optional": true
- },
- "merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
- },
- "mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
- },
- "mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "requires": {
- "mime-db": "1.52.0"
- }
- },
- "mongodb": {
- "version": "4.14.0",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.14.0.tgz",
- "integrity": "sha512-coGKkWXIBczZPr284tYKFLg+KbGPPLlSbdgfKAb6QqCFt5bo5VFZ50O3FFzsw4rnkqjwT6D8Qcoo9nshYKM7Mg==",
- "requires": {
- "@aws-sdk/credential-providers": "^3.186.0",
- "bson": "^4.7.0",
- "mongodb-connection-string-url": "^2.5.4",
- "saslprep": "^1.0.3",
- "socks": "^2.7.1"
- }
- },
- "mongodb-connection-string-url": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz",
- "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==",
- "requires": {
- "@types/whatwg-url": "^8.2.1",
- "whatwg-url": "^11.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
- "negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
- },
- "node-fetch": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
- "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==",
- "requires": {
- "whatwg-url": "^5.0.0"
- },
- "dependencies": {
- "tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
- },
- "webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
- },
- "whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- }
- }
- },
- "object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g=="
- },
- "on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "on-headers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
- "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
- },
- "parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
- },
- "path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
- },
- "proxy-addr": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
- "requires": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- }
- },
- "proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
- },
- "punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA=="
- },
- "qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "requires": {
- "side-channel": "^1.0.4"
- }
- },
- "range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
- },
- "raw-body": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
- "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
- "requires": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "dependencies": {
- "bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
- }
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "saslprep": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
- "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
- "optional": true,
- "requires": {
- "sparse-bitfield": "^3.0.3"
- }
- },
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
- },
- "send": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
- "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
- "requires": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "2.0.1"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
- }
- }
- },
- "serve-static": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
- "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
- "requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.18.0"
- }
- },
- "setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
- },
- "side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "requires": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- }
- },
- "smart-buffer": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
- "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
- },
- "socks": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
- "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
- "requires": {
- "ip": "^2.0.0",
- "smart-buffer": "^4.2.0"
- }
- },
- "sparse-bitfield": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
- "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
- "optional": true,
- "requires": {
- "memory-pager": "^1.0.2"
- }
- },
- "statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
- },
- "string-sanitizer-fix": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/string-sanitizer-fix/-/string-sanitizer-fix-2.0.1.tgz",
- "integrity": "sha512-I5RSqL5vDfKnoAbpFP2mU0QAh7Gc1KoeIg02N+5+NBfDB/MiSddgNNXfmWND7+BBwy3zub6s/ZWRbZICZKUA0g=="
- },
- "strnum": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
- "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==",
- "optional": true
- },
- "toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
- },
- "tr46": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
- "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
- "requires": {
- "punycode": "^2.1.1"
- }
- },
- "tslib": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
- "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==",
- "optional": true
- },
- "type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "requires": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- }
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
- },
- "utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
- },
- "uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "optional": true
- },
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
- },
- "webidl-conversions": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
- "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
- },
- "whatwg-url": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
- "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
- "requires": {
- "tr46": "^3.0.0",
- "webidl-conversions": "^7.0.0"
- }
- },
- "xml2js": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
- "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
- "requires": {
- "sax": ">=0.6.0",
- "xmlbuilder": "~11.0.0"
- }
- },
- "xmlbuilder": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
- "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
}
}
}
diff --git a/package.json b/package.json
index e9e4f34..6badffc 100644
--- a/package.json
+++ b/package.json
@@ -3,22 +3,30 @@
"axios": "^1.2.1",
"compression": "^1.7.4",
"express": "^4.18.2",
+ "express-rate-limit": "^6.7.0",
+ "html-minifier": "^4.0.0",
+ "juice": "^9.0.0",
"ldbs-json": "^1.2.1",
"mongodb": "^4.13.0",
- "string-sanitizer-fix": "^2.0.1"
+ "nodemailer": "^6.9.1"
},
"name": "owlboard",
"description": "OwlBoard is an API and PWA for live rail departure board in the UK.",
- "version": "0.0.1",
+ "version": "1.2.0-dev",
"main": "express.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
- "start": "node app.js"
+ "start": "node app.js",
+ "run": "node app.js"
},
"repository": {
"type": "git",
- "url": "https://git.fjla.uk/fred.boniface/owlboard.git"
+ "url": "https://git.fjla.uk/owlboard/backend.git"
},
"author": "Fred Boniface",
- "license": "GPL-3.0-or-later"
+ "license": "GPL-3.0-or-later",
+ "devDependencies": {
+ "eslint": "^8.39.0",
+ "prettier": "^2.8.8"
+ }
}
diff --git a/src/configs/domains.configs.js b/src/configs/domains.configs.js
index 6fdd698..a5013fa 100644
--- a/src/configs/domains.configs.js
+++ b/src/configs/domains.configs.js
@@ -1,10 +1,36 @@
-module.exports = valid
-
const valid = [
- "owlboard.info",
- "fjla.uk",
- "gwr.com",
- "swrailway.com",
- "firstrail.com",
- "networkrail.co.uk"
-]
\ No newline at end of file
+ 'owlboard.info',
+ 'avantiwestcoast.co.uk',
+ 'btp.police.uk',
+ 'c2crail.net',
+ 'chilternrailways.co.uk',
+ 'crosscountrytrains.co.uk',
+ 'eastmidlandsrailway.co.uk',
+ 'abellio.co.uk',
+ 'tfl.gov.uk',
+ 'mtrel.co.uk',
+ 'eurostar.com',
+ 'eurotunnel.com',
+ 'ffwhr.com',
+ 'gwr.com',
+ 'hitachirail-eu.com',
+ 'greateranglia.co.uk',
+ 'heathrow.com',
+ 'swrailway.com',
+ 'lsltoc.co.uk',
+ 'lner.co.uk',
+ 'arrivarl.co.uk',
+ 'tube.tfl.gov.uk',
+ 'lumo.co.uk',
+ 'merseyrail.org',
+ 'nrcommcentre.com',
+ 'networkrail.co.uk',
+ 'northernrailway.co.uk',
+ 'scotrail.co.uk',
+ 'southeasternrailway.co.uk',
+ 'tpeexpress.co.uk',
+ 'tfwrail.wales',
+ 'wmtrains.co.uk',
+];
+
+module.exports = valid;
\ No newline at end of file
diff --git a/src/configs/errorCodes.configs.js b/src/configs/errorCodes.configs.js
new file mode 100644
index 0000000..38c39bd
--- /dev/null
+++ b/src/configs/errorCodes.configs.js
@@ -0,0 +1,12 @@
+const statusCodes = {
+ 700: 'no authentication attempt',
+ 701: 'invalid credentials',
+ 702: 'domain not whitelisted',
+ 703: 'registration request not found, maybe expired',
+ 800: 'location code not found',
+ 801: 'unable to fetch location data',
+ 900: 'invalid request format',
+ 950: 'upstream server error',
+};
+
+module.exports = statusCodes;
\ No newline at end of file
diff --git a/src/configs/version.configs.js b/src/configs/version.configs.js
index 7a10988..a471637 100644
--- a/src/configs/version.configs.js
+++ b/src/configs/version.configs.js
@@ -1,6 +1,6 @@
const version = {
- api: ["/api/v1/",],
- app: "1.1.5"
+ api: ['/api/v1/',],
+ app: '2.0.0'
};
module.exports = version;
\ No newline at end of file
diff --git a/src/controllers/find.controllers.js b/src/controllers/find.controllers.js
index a426ee6..3a71054 100644
--- a/src/controllers/find.controllers.js
+++ b/src/controllers/find.controllers.js
@@ -1,58 +1,58 @@
const find = require('../services/find.services');
async function findName(req, res, next){
- try {
- var id = req.params.id
- res.json(await find.name(id))
- } catch (err) {
- console.error(`Unknown Error`, err.message);
- next(err);
- }
+ try {
+ var id = req.params.id;
+ res.json(await find.name(id));
+ } catch (err) {
+ console.error('Unknown Error', err.message);
+ next(err);
+ }
}
async function findCrs(req, res, next){
- try {
- var id = req.params.id
- res.json(await find.crs(id))
- } catch (err) {
- console.error(`Unknown Error`, err.message);
- next(err);
- }
+ try {
+ var id = req.params.id;
+ res.json(await find.crs(id));
+ } catch (err) {
+ console.error('Unknown Error', err.message);
+ next(err);
+ }
}
async function findNlc(req, res, next){
- try {
- var id = req.params.id
- res.json(await find.nlc(id))
- } catch (err) {
- console.error(`Unknown Error`, err.message);
- next(err);
- }
+ try {
+ var id = req.params.id;
+ res.json(await find.nlc(id));
+ } catch (err) {
+ console.error('Unknown Error', err.message);
+ next(err);
+ }
}
async function findTiploc(req, res, next){
- try {
- var id = req.params.id
- res.json(await find.tiploc(id))
- } catch (err) {
- console.error(`Unknown Error`, err.message);
- next(err);
- }
+ try {
+ var id = req.params.id;
+ res.json(await find.tiploc(id));
+ } catch (err) {
+ console.error('Unknown Error', err.message);
+ next(err);
+ }
}
async function findStanox(req, res, next){
- try {
- var id = req.params.id
- res.json(await find.stanox(id))
- } catch (err) {
- console.error(`Unknown Error`, err.message);
- next(err);
- }
+ try {
+ var id = req.params.id;
+ res.json(await find.stanox(id));
+ } catch (err) {
+ console.error('Unknown Error', err.message);
+ next(err);
+ }
}
module.exports = {
- findName,
- findCrs,
- findNlc,
- findTiploc,
- findStanox
-}
\ No newline at end of file
+ findName,
+ findCrs,
+ findNlc,
+ findTiploc,
+ findStanox
+};
\ No newline at end of file
diff --git a/src/controllers/issue.controllers.js b/src/controllers/issue.controllers.js
index b8c0431..dc1fc83 100644
--- a/src/controllers/issue.controllers.js
+++ b/src/controllers/issue.controllers.js
@@ -1,14 +1,14 @@
const issue = require('../services/issue.services');
async function post(req, res, next){
- try {
- res.json(await issue.processor(req.body))
- } catch (err) {
- console.error(`Controller Error`, err.message);
- next(err);
- }
+ try {
+ res.json(await issue.processor(req.body));
+ } catch (err) {
+ console.error('Controller Error', err.message);
+ next(err);
+ }
}
module.exports = {
- post
-}
\ No newline at end of file
+ post
+};
\ No newline at end of file
diff --git a/src/controllers/kube.controllers.js b/src/controllers/kube.controllers.js
index 2253aef..5037439 100644
--- a/src/controllers/kube.controllers.js
+++ b/src/controllers/kube.controllers.js
@@ -1,34 +1,35 @@
const kube = require('../services/kube.services');
async function getAlive(req, res, next){
- try {
- var state = kube.getAlive()
- res.status((await state).code).send((await state).state)
- } catch (err) {
- res.status("503").send({state: "error"})
- }
+ try {
+ var state = kube.getAlive();
+ res.status((await state).code).send((await state).state);
+ } catch (err) {
+ res.status('503').send({state: 'error'});
+ }
}
async function getReady(req, res, next){
- try {
- res.json(await kube.getReady(req.body))
- } catch (err) {
- console.error(`Unknown Error`, err.message);
- next(err);
- }
+ try {
+ res.json(await kube.getReady(req.body));
+ } catch (err) {
+ console.error('Unknown Error', err.message);
+ next(err);
+ }
}
async function getTime(req, res, next){
- try {
- res.json(await kube.getTime(req.body))
- } catch (err) {
- console.error(`Unknown Error`, err.message);
- next(err);
- }
+ try {
+ res.json(await kube.getTime(req.body));
+ } catch (err) {
+ console.error('Unknown Error', err.message);
+ err.status = 503;
+ next(err);
+ }
}
module.exports = {
- getAlive,
- getReady,
- getTime
-}
\ No newline at end of file
+ getAlive,
+ getReady,
+ getTime
+};
\ No newline at end of file
diff --git a/src/controllers/ldb.controllers.js b/src/controllers/ldb.controllers.js
index 2c6917e..032a4c9 100644
--- a/src/controllers/ldb.controllers.js
+++ b/src/controllers/ldb.controllers.js
@@ -1,15 +1,16 @@
const ldb = require('../services/ldb.services');
async function get(req, res, next){
- try {
- var id = req.params.id
- res.json(await ldb.get(req.body, id))
- } catch (err) {
- console.error(`Unknown Error`, err.message);
- next(err);
- }
+ try {
+ var id = req.params.id;
+ res.json(await ldb.get(id));
+ } catch (err) {
+ console.error('Unknown Error', err.message);
+ err.status = 500;
+ next(err);
+ }
}
module.exports = {
- get
-}
\ No newline at end of file
+ get
+};
\ No newline at end of file
diff --git a/src/controllers/ldbs.controllers copy.js b/src/controllers/ldbs.controllers copy.js
new file mode 100644
index 0000000..c4eae71
--- /dev/null
+++ b/src/controllers/ldbs.controllers copy.js
@@ -0,0 +1,16 @@
+const ldb = require('../services/ldb.services');
+
+async function get(req, res, next){
+ try {
+ var id = req.params.id;
+ res.json(await ldb.get(id, true));
+ } catch (err) {
+ console.error('Unknown Error', err.message);
+ err.status = 500;
+ next(err);
+ }
+}
+
+module.exports = {
+ get
+};
\ No newline at end of file
diff --git a/src/controllers/list.controllers.js b/src/controllers/list.controllers.js
index 63fd1c4..8f2ddbc 100644
--- a/src/controllers/list.controllers.js
+++ b/src/controllers/list.controllers.js
@@ -1,34 +1,37 @@
const list = require('../services/list.services');
async function getStations(req, res, next){
- try {
- res.json(await list.getStations(req.body))
- } catch (err) {
- console.error(`Controller Error`, err.message);
- next(err);
- }
+ try {
+ res.json(await list.getStations(req.body));
+ } catch (err) {
+ console.error('Controller Error', err.message);
+ err.status = 500;
+ next(err);
+ }
}
async function getCorpus(req, res, next){
- try {
- res.json(await list.getCorpus(req.body))
- } catch (err) {
- console.error(`Controller Error`, err.message);
- next(err);
- }
+ try {
+ res.json(await list.getCorpus(req.body));
+ } catch (err) {
+ console.error('Controller Error', err.message);
+ err.status = 500;
+ next(err);
+ }
}
async function hits(req, res, next) {
- try {
- res.json(await list.hits())
- } catch (err) {
- console.error(`Controller Error`, err);
- next(err);
- }
+ try {
+ res.json(await list.hits());
+ } catch (err) {
+ console.error('Controller Error', err);
+ err.status = 500;
+ next(err);
+ }
}
module.exports = {
- getStations,
- getCorpus,
- hits
-}
\ No newline at end of file
+ getStations,
+ getCorpus,
+ hits
+};
\ No newline at end of file
diff --git a/src/controllers/pis.controllers.js b/src/controllers/pis.controllers.js
new file mode 100644
index 0000000..8efb1bd
--- /dev/null
+++ b/src/controllers/pis.controllers.js
@@ -0,0 +1,17 @@
+const pis = require('../services/pis.services');
+
+async function byOrigDest(req, res, next){
+ try {
+ let start = req.params.start;
+ let end = req.params.end;
+ res.json(await pis.findPisByOrigDest(start,end));
+ } catch (err) {
+ console.error('Unknown Error', err.message);
+ next(err);
+ }
+}
+
+
+module.exports = {
+ byOrigDest
+};
\ No newline at end of file
diff --git a/src/controllers/registration.controllers.js b/src/controllers/registration.controllers.js
new file mode 100644
index 0000000..7594b88
--- /dev/null
+++ b/src/controllers/registration.controllers.js
@@ -0,0 +1,26 @@
+const reg = require('../services/registration.services');
+
+async function register(req, res, next) {
+ try {
+ let response = await reg.regUser(req.body);
+ res.status(response.status).json(response);
+ } catch (err) {
+ console.error('Controller Error', err.message);
+ next(err);
+ }
+}
+
+async function request(req, res, next) {
+ try {
+ let response = await reg.createRegKey(req.body);
+ res.status(response.status).json(response);
+ } catch (err) {
+ console.error(err);
+ next(err);
+ }
+}
+
+module.exports = {
+ register,
+ request
+};
\ No newline at end of file
diff --git a/src/controllers/stats.controllers.js b/src/controllers/stats.controllers.js
index f42e0f6..4675478 100644
--- a/src/controllers/stats.controllers.js
+++ b/src/controllers/stats.controllers.js
@@ -1,13 +1,15 @@
const stat = require('../services/stats.services');
async function get(req, res, next) {
- try {
- res.json(await stat.hits())
- } catch (err) {
- console.error(`Controller Error`, err);
- next(err);
- }
+ try {
+ res.json(await stat.hits());
+ } catch (err) {
+ console.error('Controller Error', err);
+ err.status = 500;
+ next(err);
+ }
}
module.exports = {
- get}
\ No newline at end of file
+ get
+};
\ No newline at end of file
diff --git a/src/mail-templates/register.html b/src/mail-templates/register.html
deleted file mode 100644
index 2f0ebbb..0000000
--- a/src/mail-templates/register.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- OwlBoard - Register
-
-
-
-
-
-
- |
-
- Register for OwlBoard
- |
-
-
-
-
\ No newline at end of file
diff --git a/src/middlewares/auth.middlewares.js b/src/middlewares/auth.middlewares.js
new file mode 100644
index 0000000..9cccc69
--- /dev/null
+++ b/src/middlewares/auth.middlewares.js
@@ -0,0 +1,27 @@
+const utils = require('../utils/auth.utils');
+const log = require('../utils/log.utils');
+
+module.exports = async function authCheck(req, res, next) {
+ log.out('authMiddlewares: Checking authentication', 'dbug');
+ try {
+ var uuid = req.headers.uuid;
+ } catch(err) {
+ log.out('authMiddlewares: No authentication attempted', 'dbug');
+ err.status = 401;
+ return next(err);
+ }
+ try {
+ var result = await utils.isAuthed(uuid) || false;
+ if (!result) {
+ const err = new Error('Unauthorised');
+ err.status = 401;
+ log.out('authMiddlewares: Authentication attempted with incorrect key', 'warn');
+ return next(err);
+ } else {
+ log.out('authMiddlewares: User authenticated', 'dbug');
+ return next();
+ }
+ } catch(err) {
+ return next(err);
+ }
+};
\ No newline at end of file
diff --git a/src/middlewares/requireJson.middlewares.js b/src/middlewares/requireJson.middlewares.js
new file mode 100644
index 0000000..57f783d
--- /dev/null
+++ b/src/middlewares/requireJson.middlewares.js
@@ -0,0 +1,12 @@
+const log = require('../utils/log.utils');
+
+module.exports = async function requireJson(req, res, next) {
+ if (req.headers['content-type'] !== 'application/json') {
+ log.out('requireJson.middlewares: Bad Request: Not in JSON format');
+ res.status(400).send({status: 400, message: 'Server requires JSON'});
+ } else {
+ next();
+ }
+};
+
+// Possibly want to check the req type?
\ No newline at end of file
diff --git a/src/routes/kube.routes.js b/src/routes/kube.routes.js
index e42abc1..2831c74 100644
--- a/src/routes/kube.routes.js
+++ b/src/routes/kube.routes.js
@@ -6,4 +6,4 @@ router.get('/alive', kubeController.getAlive);
router.get('/ready', kubeController.getReady);
router.get('/time', kubeController.getTime);
-module.exports = router
\ No newline at end of file
+module.exports = router;
\ No newline at end of file
diff --git a/src/routes/ldbs.routes.js b/src/routes/ldbs.routes.js
new file mode 100644
index 0000000..2727ba0
--- /dev/null
+++ b/src/routes/ldbs.routes.js
@@ -0,0 +1,19 @@
+const express = require('express');
+const router = express.Router();
+const ldbsController = require('../controllers/ldbs.controllers');
+
+/* GET programming languages. */
+//router.get('/', programmingLanguagesController.get);
+
+/* POST programming language */
+//router.post('/', programmingLanguagesController.create);
+
+/* PUT programming language */
+//router.put('/:id', programmingLanguagesController.update);
+
+/* DELETE programming language */
+//router.delete('/:id', programmingLanguagesController.remove);
+
+router.get('/:id', ldbsController.get);
+
+module.exports = router;
\ No newline at end of file
diff --git a/src/routes/pis.routes.js b/src/routes/pis.routes.js
new file mode 100644
index 0000000..70fa609
--- /dev/null
+++ b/src/routes/pis.routes.js
@@ -0,0 +1,7 @@
+const express = require('express');
+const router = express.Router();
+const pisController = require('../controllers/pis.controllers');
+
+router.get('/origdest/:start/:end', pisController.byOrigDest);
+
+module.exports = router;
\ No newline at end of file
diff --git a/src/routes/registration.routes.js b/src/routes/registration.routes.js
new file mode 100644
index 0000000..d8fb055
--- /dev/null
+++ b/src/routes/registration.routes.js
@@ -0,0 +1,8 @@
+const express = require('express');
+const router = express.Router();
+const regController = require('../controllers/registration.controllers');
+
+router.post('/request', regController.request);
+router.post('/register', regController.register);
+
+module.exports = router;
\ No newline at end of file
diff --git a/src/services/dbAccess.services.js b/src/services/dbAccess.services.js
index d17b5fd..44df034 100644
--- a/src/services/dbAccess.services.js
+++ b/src/services/dbAccess.services.js
@@ -1,10 +1,11 @@
-const log = require('../utils/log.utils'); // Log Helper
+/* global process */
+const log = require('../utils/log.utils'); // Log Helper
-const dbUser = process.env.OWL_DB_USER || "owl"
-const dbPass = process.env.OWL_DB_PASS || "twittwoo"
-const dbName = process.env.OWL_DB_NAME || "owlboard"
-const dbPort = process.env.OWL_DB_PORT || 27017
-const dbHost = process.env.OWL_DB_HOST || "localhost"
+const dbUser = process.env.OWL_DB_USER || 'owl';
+const dbPass = process.env.OWL_DB_PASS || 'twittwoo';
+const dbName = process.env.OWL_DB_NAME || 'owlboard';
+const dbPort = process.env.OWL_DB_PORT || 27017;
+const dbHost = process.env.OWL_DB_HOST || 'localhost';
const uri = `mongodb://${dbUser}:${dbPass}@${dbHost}:${dbPort}`;
const { MongoClient } = require('mongodb');
@@ -13,27 +14,70 @@ const client = new MongoClient(uri);
const db = client.db(dbName);
async function query(collection, query){
- await client.connect();
- log.out(`dbAccess.query: Connecting to collection: '${collection}'`, "info")
- var qcoll = db.collection(collection);
- var qcursor = qcoll.find(query)
- qcursor.project({_id: 0})
- log.out(`dbAccess.query: Running Query: ${JSON.stringify(query)}`, "info")
- increment(collection)
- return (await qcursor.toArray());
+ await client.connect();
+ log.out(`dbAccess.query: Connecting to collection: '${collection}'`, 'info');
+ var qcoll = db.collection(collection);
+ var qcursor = qcoll.find(query);
+ qcursor.project({_id: 0});
+ log.out(`dbAccess.query: Running Query: ${JSON.stringify(query)}`, 'info');
+ increment(collection);
+ return (await qcursor.toArray());
}
async function increment(target) {
- log.out(`dbAccess.increment: Incrementing counter for: ${target}`, "info")
- await client.connect();
- let col = db.collection("meta");
- let update = {}
- update[target] = 1
- col.updateOne({target: "counters"}, {$inc:update})
- return;
+ log.out(`dbAccess.increment: Incrementing counter for: ${target}`, 'info');
+ await client.connect();
+ let col = db.collection('meta');
+ let update = {};
+ update[target] = 1;
+ col.updateOne({target: 'counters'}, {$inc:update});
+}
+
+async function addUser(uuid, domain) { // Needs testing
+ log.out('dbAccess.addUser: Adding user to database');
+ let doc = {uuid: uuid, domain: domain, atime: new Date};
+ await client.connect();
+ let col = db.collection('users');
+ let res = await col.insertOne(doc);
+ if (res.insertedId) {
+ return true;
+ }
+ return false;
+}
+
+async function addRegReq(uuid, domain) { // Needs testing
+ log.out('dbAccess.addRegReq: Adding registration request');
+ let doc = {uuid: uuid, time: new Date, domain: domain};
+ await client.connect();
+ let col = db.collection('registrations');
+ let res = col.insertOne(doc);
+ return res;
+}
+
+async function userAtime(uuid) { // Needs testing
+ log.out('dbAccess.userAtime: Updating access time for user');
+ let q = {uuid: uuid};
+ let n = {$set: {uuid: uuid, atime: new Date}};
+ await client.connect();
+ let col = db.collection('users');
+ let res = col.updateOne(q, n, {upsert: true});
+ return res;
+}
+
+// Deletes one single registration request entry from the DB
+async function delRegReq(uuid) {
+ log.out('dbAccess.delRegReq: Deleting a Registration Request');
+ let collection = 'registrations';
+ await client.connect();
+ let col = db.collection(collection);
+ col.deleteOne({uuid: uuid});
}
module.exports = {
- query,
- increment
-}
\ No newline at end of file
+ query,
+ increment, // Probqbly doesn't need exporting? - It does, ldbServices needs to increment when the API is hit!
+ addUser,
+ userAtime,
+ addRegReq,
+ delRegReq
+};
\ No newline at end of file
diff --git a/src/services/find.services.js b/src/services/find.services.js
index e2c6349..4f4a5ce 100644
--- a/src/services/find.services.js
+++ b/src/services/find.services.js
@@ -2,58 +2,58 @@
const log = require('../utils/log.utils'); // Log Helper
const db = require('../services/dbAccess.services');
-const san = require('../utils/sanitizer.utils')
+const san = require('../utils/sanitizer.utils');
// DB Query: query(collection, query)
// Define collection as all queries are for the "corpus" collection.
-const col = "corpus"
+const col = 'corpus';
async function name(id){
- log.out(`findServices.name: Finding station name: ${id}`, "info")
- var name = san.cleanApiEndpointTxt(id.toUpperCase())
- query = {NLCDESC: name}
- //var data = await db.query(col,query)
- return await db.query(col,query)
+ log.out(`findServices.name: Finding station name: ${id}`, 'info');
+ var name = san.cleanApiEndpointTxt(id.toUpperCase());
+ let query = {NLCDESC: name};
+ //var data = await db.query(col,query)
+ return await db.query(col,query);
}
async function crs(id){
- log.out(`findServices.crs: Finding crs: ${id}`, "info")
- var crs = san.cleanApiEndpointTxt(id.toUpperCase())
- query = {'3ALPHA': crs}
- //var data = await db.query(col,query)
- return await db.query(col,query)
+ log.out(`findServices.crs: Finding crs: ${id}`, 'info');
+ var crs = san.cleanApiEndpointTxt(id.toUpperCase());
+ let query = {'3ALPHA': crs};
+ //var data = await db.query(col,query)
+ return await db.query(col,query);
}
async function nlc(id){
- log.out(`findServices.nlc: Finding nlc: ${id}`, "info")
- var nlc = san.cleanApiEndpointNum(id)
- query = {NLC: parseInt(nlc)}
- log.out(`findServices.nlc: NLC Converted to int: ${query}`, "info")
- //var data = await db.query(col,query)
- return await db.query(col,query)
+ log.out(`findServices.nlc: Finding nlc: ${id}`, 'info');
+ var nlc = san.cleanApiEndpointNum(id);
+ let query = {NLC: parseInt(nlc)};
+ log.out(`findServices.nlc: NLC Converted to int: ${query}`, 'info');
+ //var data = await db.query(col,query)
+ return await db.query(col,query);
}
async function tiploc(id){
- log.out(`findServices.tiploc: Finding tiploc: ${id}`, "info")
- var tiploc = san.cleanApiEndpointTxt(id.toUpperCase())
- query = {TIPLOC: tiploc}
- //var data = await db.query(col,query)
- return await db.query(col,query)
+ log.out(`findServices.tiploc: Finding tiploc: ${id}`, 'info');
+ var tiploc = san.cleanApiEndpointTxt(id.toUpperCase());
+ let query = {TIPLOC: tiploc};
+ //var data = await db.query(col,query)
+ return await db.query(col,query);
}
async function stanox(id){
- log.out(`findServices.stanox: Finding stanox: ${id}`, "info")
- var stanox = san.cleanApiEndpointNum(id)
- query = {STANOX: String(stanox)}
- //var data = await db.query(col,query)
- return await db.query(col,query)
+ log.out(`findServices.stanox: Finding stanox: ${id}`, 'info');
+ var stanox = san.cleanApiEndpointNum(id);
+ let query = {STANOX: String(stanox)};
+ //var data = await db.query(col,query)
+ return await db.query(col,query);
}
module.exports = {
- name,
- crs,
- nlc,
- tiploc,
- stanox
-}
\ No newline at end of file
+ name,
+ crs,
+ nlc,
+ tiploc,
+ stanox
+};
\ No newline at end of file
diff --git a/src/services/issue.services.js b/src/services/issue.services.js
index c6d5669..9af2ddb 100644
--- a/src/services/issue.services.js
+++ b/src/services/issue.services.js
@@ -1,33 +1,35 @@
-const axios = require('axios')
-const log = require('../utils/log.utils')
+/* eslint-disable no-useless-escape */
+/* global process */
+const axios = require('axios');
+const log = require('../utils/log.utils');
async function processor(data) {
- log.out(`issueService.processor: Issue received`, "info")
- let out = {}
- out.title = data.subject.replace(/<[^>]+>|[\*\$]/g, '');
- out.body = data.msg.replace(/<[^>]+>|[\*\$]/g, '')
- return await sendToGitea(out);
+ log.out('issueService.processor: Issue received', 'info');
+ let out = {};
+ out.title = data.subject.replace(/<[^>]+>|[\*\$]/g, '');
+ out.body = data.msg.replace(/<[^>]+>|[\*\$]/g, '');
+ return await sendToGitea(out);
}
async function sendToGitea(body) {
- let key = process.env.OWL_GIT_ISSUEBOT
- let url = process.env.OWL_GIT_APIENDPOINT
- let opts = {
- headers: {
- Authorization: key
- }
- }
- var res = await axios.post(url, body, opts)
- // Need to read the output from the POST and pass the result upwards to the client.
- if (res.status == 201) {
- log.out("issueService.sendToGitea: Issue sent to Gitea", "info")
- return {status: res.status,message:"issue created"}
- } else {
- log.out(`issueService.sendToGitea: Failed to send issue to Gitea: ${res.body}`, "err")
- return {status: res.status,message:"issue not created"}
+ let key = process.env.OWL_GIT_ISSUEBOT;
+ let url = process.env.OWL_GIT_APIENDPOINT;
+ let opts = {
+ headers: {
+ Authorization: key
}
+ };
+ var res = await axios.post(url, body, opts);
+ // Need to read the output from the POST and pass the result upwards to the client.
+ if (res.status == 201) {
+ log.out('issueService.sendToGitea: Issue sent to Gitea', 'info');
+ return {status: res.status,message:'issue created'};
+ } else {
+ log.out(`issueService.sendToGitea: Failed to send issue to Gitea: ${res.body}`, 'err');
+ return {status: res.status,message:'issue not created'};
+ }
}
module.exports = {
- processor
-}
\ No newline at end of file
+ processor
+};
\ No newline at end of file
diff --git a/src/services/kube.services.js b/src/services/kube.services.js
index 9eb5388..1bf77bd 100644
--- a/src/services/kube.services.js
+++ b/src/services/kube.services.js
@@ -1,20 +1,28 @@
+const testing = require('../services/mail.services');
+const log = require('../utils/log.utils');
+
async function getAlive(){
- log.out(`kubeServices.getAlive: alive hook checked`, "info")
- return {code: 200, state: {state: "alive",noise: "twit-twoo"}}
+ log.out('kubeServices.getAlive: alive hook checked', 'info');
+ return {code: 200, state: {state: 'alive',noise: 'twit-twoo'}};
}
async function getReady(){
- log.out(`kubeServices.getReady: ready hook checked`, "info")
- return "not_implemented";
-};
+ log.out('kubeServices.getReady: ready hook checked', 'info');
+ testing.send({
+ to: 'fred@fjla.uk',
+ subject: 'OwlBoard Test',
+ txt: 'This is a test message from OwlBoard (testing)'
+ });
+ return 'not_implemented';
+}
async function getTime(){
- var now = new Date()
- return {responseGenerated: now}
+ var now = new Date();
+ return {responseGenerated: now};
}
module.exports = {
- getAlive,
- getReady,
- getTime
-}
\ No newline at end of file
+ getAlive,
+ getReady,
+ getTime
+};
\ No newline at end of file
diff --git a/src/services/ldb.services.js b/src/services/ldb.services.js
index 13cde66..7305d46 100644
--- a/src/services/ldb.services.js
+++ b/src/services/ldb.services.js
@@ -1,46 +1,67 @@
+/* global process */
// Parse and return an LDB Request
const log = require('../utils/log.utils'); // Log Helper
-const ldb = require('ldbs-json')
-const util = require('../utils/ldb.utils')
-const san = require('../utils/sanitizer.utils')
-const db = require('../services/dbAccess.services')
+const ldb = require('ldbs-json');
+const util = require('../utils/ldb.utils');
+const san = require('../utils/sanitizer.utils');
+const db = require('../services/dbAccess.services');
-const ldbKey = process.env.OWL_LDB_KEY
-const ldbsvKey = process.env.OWL_LDB_SVKEY
+const ldbKey = process.env.OWL_LDB_KEY;
+const ldbsvKey = process.env.OWL_LDB_SVKEY;
-async function get(body, id){
- var cleanId = san.cleanApiEndpointTxt(id);
- var obj = await util.checkCrs(cleanId);
- try {
- var crs = obj[0]['3ALPHA'];
- log.out(`ldbService.get: Determined CRS for lookup to be: ${crs}`, "info");
- var data = arrDepBoard(crs);
- db.increment("ldbws");
- await data;
- } catch (err) {
- log.out(`ldbService.get: Error, Unable to find CRS: ${err}`, "info")
- var data = {ERROR:'NOT_FOUND',description:'The entered station was not found. Please check and try again.'};
+async function get(id, staff=false){
+ const cleanId = san.cleanApiEndpointTxt(id);
+ const obj = await util.checkCrs(cleanId);
+ try {
+ const crs = obj[0]['3ALPHA'];
+ log.out(`ldbService.get: Determined CRS for lookup to be: ${crs}`, 'info');
+ if (staff) {
+ const data = arrDepBoardStaff(crs);
+ db.increment('ldbsvws');
+ return await data;
+ } else {
+ const data = arrDepBoard(crs);
+ db.increment('ldbws');
+ return await data;
}
- return data;
+ } catch (err) {
+ log.out(`ldbService.get: Error, Unable to find CRS: ${err}`, 'info');
+ return {ERROR:'NOT_FOUND',description:'The entered station was not found. Please check and try again.'};
+ }
}
async function arrDepBoard(CRS){
- log.out(`ldbService.arrDepBoard: Trying to fetch ArrDep Board for ${CRS}`, "info")
- try {
- var options = {
- numRows: 10,
- crs: CRS.toUpperCase()
- }
- var api = new ldb(ldbKey,false)
- var reply = api.call("GetArrDepBoardWithDetails", options, false, false)
- return await reply
- } catch (err) {
- log.out(`ldbService.arrDepBoard: Lookup Failed for: ${CRS}`, "warn")
- return {GetStationBoardResult: "not available", Reason: `The CRS code ${CRS} is not valid`, Why: `Sometimes a station will have more than one CRS - for example Filton Abbey Wood has FIT and FAW however schedules are only available when looking up with FIT - this is how the National Rail Enquiries systems work.`};
- }
-};
+ log.out(`ldbService.arrDepBoard: Trying to fetch ArrDep Board for ${CRS}`, 'info');
+ try {
+ const options = {
+ numRows: 10,
+ crs: CRS.toUpperCase()
+ };
+ const api = new ldb(ldbKey,false);
+ return await api.call('GetArrDepBoardWithDetails', options, false, false);
+ } catch (err) {
+ log.out(`ldbService.arrDepBoard: Lookup Failed for: ${CRS}`, 'warn');
+ return {GetStationBoardResult: 'not available', Reason: `The CRS code ${CRS} is not valid`, Why: 'Sometimes a station will have more than one CRS - for example Filton Abbey Wood has FIT and FAW however schedules are only available when looking up with FIT - this is how the National Rail Enquiries systems work.'};
+ }
+}
+
+async function arrDepBoardStaff(CRS) {
+ log.out(`ldbService.arrDepBoardStaff: Trying to fetch ArrDep Board for ${CRS}`, 'dbug');
+ try {
+ const options = {
+ numRows: 25,
+ crs: CRS.toUpperCase(),
+ getNonPassengerServices: true
+ };
+ const api = new ldb(ldbsvKey,true);
+ return await api.call('GetArrDepBoardWithDetails', options, false, false);
+ } catch (err) {
+ log.out(`ldbService.arrDepBoardStaff: Lookup Failed for: ${CRS}, "warn`);
+ return {GetStationBoardResult: 'not available', Reason: `The CRS code ${CRS} is not valid`, Why: 'Sometimes a station will have more than one CRS - for example Filton Abbey Wood has FIT and FAW however schedules are only available when looking up with FIT - this is how the National Rail Enquiries systems work.'};
+ }
+}
module.exports = {
- get
-}
\ No newline at end of file
+ get
+};
\ No newline at end of file
diff --git a/src/services/list.services.js b/src/services/list.services.js
index 89b9036..c80965d 100644
--- a/src/services/list.services.js
+++ b/src/services/list.services.js
@@ -1,20 +1,19 @@
const log = require('../utils/log.utils'); // Log Helper
-const db = require('../services/dbAccess.services')
-const os = require('os')
+const db = require('../services/dbAccess.services');
async function getStations(){
- var out = db.query("stations")
- log.out(`listServices.getStations: Fetching stations list`, "info")
- return await out;
+ var out = db.query('stations');
+ log.out('listServices.getStations: Fetching stations list', 'info');
+ return await out;
}
async function getCorpus(){
- var out = db.query("corpus")
- log.out(`listServices.getCorpus: Fetching CORPUS list`, "info")
- return await out;
+ var out = db.query('corpus');
+ log.out('listServices.getCorpus: Fetching CORPUS list', 'info');
+ return await out;
}
module.exports = {
- getStations,
- getCorpus
-}
\ No newline at end of file
+ getStations,
+ getCorpus
+};
\ No newline at end of file
diff --git a/src/services/mail.services.js b/src/services/mail.services.js
index ee1a4dc..eb890ef 100644
--- a/src/services/mail.services.js
+++ b/src/services/mail.services.js
@@ -1,7 +1,36 @@
-const log = require('../utils/log.utils')
-const mail = require('some-mail-module')
+/* global process */
+const log = require('../utils/log.utils');
+const mail = require('nodemailer'); //>> Probs wrong
-async function sendTest() {
- // Send test mail message
- return;
-}
\ No newline at end of file
+const fromAddr = process.env.OWL_EML_FROM;
+const smtpUser = process.env.OWL_EML_USER;
+const smtpPass = process.env.OWL_EML_PASS;
+const smtpHost = process.env.OWL_EML_HOST;
+const smtpPort = process.env.OWL_EML_PORT;
+
+let transporter = mail.createTransport({
+ host: smtpHost,
+ port: smtpPort,
+ secure: false, // Must be false for STARTTLS on port 587
+ auth: {
+ user: smtpUser,
+ pass: smtpPass
+ }
+});
+
+async function send(message){ // message is an object containing strings for: *to, cc, bcc, *subject, *txt, html (* denotes required)
+ log.out('mailServices.send: Message send request received', 'info');
+ message.from = fromAddr;
+ try {
+ var res = await transporter.sendMail(message);
+ } catch(err) {
+ log.out(`mailServices.send: Message send failed: ${err}`, 'err');
+ return false;
+ }
+ log.out(`mailServices.send: SMTP Response: ${res.response}`);
+ return true;
+}
+
+module.exports = {
+ send
+};
\ No newline at end of file
diff --git a/src/services/pis.services.js b/src/services/pis.services.js
new file mode 100644
index 0000000..3dc0276
--- /dev/null
+++ b/src/services/pis.services.js
@@ -0,0 +1,34 @@
+// Finds PIS Codes using DB Lookups
+
+const db = require('../services/dbAccess.services');
+const log = require('../utils/log.utils');
+const clean = require('../utils/sanitizer.utils');
+
+async function findPisByOrigDest(start,end) {
+ log.out(`pisServices.findPisByOrigDest: Searching for PIS for Orig: ${start}, Dest: ${end}`, 'dbug');
+ const firstCrs = clean.cleanApiEndpointTxt(start.toLowerCase());
+ const lastCrs = clean.cleanApiEndpointTxt(end.toLowerCase());
+ const query = {
+ stops: {
+ $all: [
+ { $elemMatch: { $eq: firstCrs } },
+ { $elemMatch: { $eq: lastCrs } }
+ ]
+ },
+ $expr: {
+ $and: [
+ { $eq: [{ $arrayElemAt: [ '$stops', -1 ] }, lastCrs] },
+ { $eq: [{ $arrayElemAt: [ '$stops', 0 ] }, firstCrs] }
+ ]
+ }
+ };
+ //const oldQuery = {$and:[{$expr:{$eq:[{$first:"$stops"},firstCrs]}},{$expr:{$eq:[{$last:"$stops"},lastCrs]}}]}
+ const search = db.query('pis', query);
+ return search;
+}
+
+// Hopefully at some point, I will also be able to implement a find PIS code by headcode option.
+
+module.exports = {
+ findPisByOrigDest
+};
\ No newline at end of file
diff --git a/src/services/registration.services.js b/src/services/registration.services.js
new file mode 100644
index 0000000..f640869
--- /dev/null
+++ b/src/services/registration.services.js
@@ -0,0 +1,51 @@
+const log = require('../utils/log.utils');
+const auth = require('../utils/auth.utils');
+const db = require('./dbAccess.services');
+const mail = require('./mail.services');
+const clean = require('../utils/sanitizer.utils');
+const domains = require('../configs/domains.configs');
+const errors = require('../configs/errorCodes.configs');
+
+async function createRegKey(body) {
+ log.out('registerServices.createRegKey: Incoming request', 'INFO');
+ const domain = await clean.getDomainFromEmail(body.email); // The function should validate the email
+ log.out(`registerServices: New registration request from domain: ${domain}`, 'info');
+ if (domains.includes(domain)) {
+ log.out(`registerServices.createRegKey: Key from valid domain: ${domain}`);
+ const uuid = await auth.generateKey();
+ db.addRegReq(uuid, domain);
+ const message = await auth.generateConfirmationEmail(body.email, uuid);
+ if (!message) {
+ const err = new Error('Message generation error');
+ log.out('registerServices.createRegKey: Error generating registration email', 'err');
+ log.out(err, 'err');
+ return 500;
+ }
+ if (await mail.send(message) == true) {
+ return {status: 201, message: 'email sent'};
+ }
+ return {status: 500, errorCode: 950, errorMsg: errors[950]};
+ }
+ return {status: 403, errorCode: 702, errorMsg: errors[702]};
+}
+
+async function regUser(req) { // Add input validation
+ log.out(`Read UUID: ${req.uuid}`, 'dbug');
+ log.out(`registrationServices.regUser: Checking validity of : ${req.uuid}`, 'info');
+ const res = await auth.checkRequest(req.uuid);
+ log.out(`registrationServices.regUser: checkRequest returned: ${JSON.stringify(res)}`, 'info');
+ if (res.result) {
+ const uuid = await auth.generateKey();
+ const apiKey = await db.addUser(uuid, res.domain);
+ if (apiKey) {
+ db.delRegReq(req.uuid);
+ return {status: 201, message: 'User added', api_key: uuid};
+ }
+ }
+ return {status: 401, errorCode: 703, errorMsg: errors[703]};
+}
+
+module.exports = {
+ regUser,
+ createRegKey
+};
\ No newline at end of file
diff --git a/src/services/stats.services.js b/src/services/stats.services.js
index 7893714..a064984 100644
--- a/src/services/stats.services.js
+++ b/src/services/stats.services.js
@@ -1,24 +1,25 @@
const log = require('../utils/log.utils'); // Log Helper
-const db = require('../services/dbAccess.services')
-const os = require('os')
-const vers = require('../configs/version.configs')
+const db = require('../services/dbAccess.services');
+const os = require('os');
+const vers = require('../configs/version.configs');
async function hits(){
- log.out("statsServices.hits: Statistics Requested", "info")
- var dat = db.query("meta", {target: "counters"});
- var ver = db.query("meta", {target: "versions"});
- log.out(`statsServices.hits: fetched server meta`, "info")
- let out = {};
- out.host = os.hostname();
- out.mode = process.env.NODE_ENV;
- out.verBkend = vers.app;
- out.verApi = vers.api;
- out.dat = await dat;
- out.ver = await ver;
- log.out(`statsServices.hits: Sending Data: ${JSON.stringify(out)}`, "info")
- return out;
+ log.out('statsServices.hits: Statistics Requested', 'info');
+ var dat = db.query('meta', {target: 'counters'});
+ var ver = db.query('meta', {target: 'versions'});
+ log.out('statsServices.hits: fetched server meta', 'info');
+ let out = {};
+ out.host = os.hostname();
+ // eslint-disable-next-line no-undef
+ out.mode = process.env.NODE_ENV;
+ out.verBkend = vers.app;
+ out.verApi = vers.api;
+ out.dat = await dat;
+ out.ver = await ver;
+ log.out(`statsServices.hits: Sending Data: ${JSON.stringify(out)}`, 'info');
+ return out;
}
module.exports = {
- hits
-}
\ No newline at end of file
+ hits
+};
\ No newline at end of file
diff --git a/src/utils/auth.utils.js b/src/utils/auth.utils.js
new file mode 100644
index 0000000..6b9e6ef
--- /dev/null
+++ b/src/utils/auth.utils.js
@@ -0,0 +1,57 @@
+const log = require('../utils/log.utils');
+const crypto = require('crypto');
+const db = require('../services/dbAccess.services');
+const fs = require('fs/promises');
+const minify = require('../utils/minify.utils');
+
+// Checks users registration key against issued keys
+async function isAuthed(uuid) { // Needs testing
+ const q = {uuid: uuid};
+ const res = await db.query('users', q);
+ log.out(`authUtils.checkUser: DB Query answer: ${JSON.stringify(res[0])}`, 'dbug');
+ const authorized = res && res[0] && res[0].domain;
+ if (authorized) db.userAtime(uuid);
+ return authorized;
+}
+
+// Checks whether a registration request key is valid
+async function checkRequest(key) {
+ const collection = 'registrations';
+ const query = {uuid: key};
+ const res = await db.query(collection, query);
+ log.out(`authUtils.checkRequest: DB Query result: ${JSON.stringify(res)}`, 'dbug');
+ const result = res.length > 0 && res[0].time
+ ? { result: true, domain: res[0].domain }
+ : { result: false };
+ return result;
+}
+
+// Creates an API key for a user
+async function generateKey() { // Needs testing & moving to 'register.utils'
+ return crypto.randomUUID();
+}
+
+async function generateConfirmationEmail(eml, uuid) {
+ try {
+ const htmlTpl = await fs.readFile('mail-templates/register.html', 'utf-8');
+ const htmlStr = htmlTpl.replace(/>>ACCESSCODE<>ACCESSCODE<]*>/g, ""); // Remove &
- return rmPara;
+const cleanApiEndpointTxt = removeNonAlpha;
+const cleanApiEndpointNum = removeNonAlphanumeric;
+
+function cleanNrcc(input) { // Remove newlines and then tags from input
+ const cleanInput = input.replace(/[\n\r]/g, '').replace(/<\/?p[^>]*>/g, '');
+ return cleanInput;
+}
+
+async function getDomainFromEmail(mail) { // Needs testing
+ let split = mail.split('@');
+ return split[1];
}
module.exports = {
- cleanApiEndpointTxt,
- cleanApiEndpointNum,
- cleanNrcc
-}
\ No newline at end of file
+ cleanApiEndpointTxt,
+ cleanApiEndpointNum,
+ removeNonAlpha,
+ removeNonAlphanumeric,
+ cleanNrcc,
+ getDomainFromEmail,
+};
\ No newline at end of file
diff --git a/src/utils/timeConvert.utils.js b/src/utils/timeConvert.utils.js
index 852b60d..c8710a5 100644
--- a/src/utils/timeConvert.utils.js
+++ b/src/utils/timeConvert.utils.js
@@ -1,15 +1,15 @@
function unixLocal(unix) {
- var jsTime = unix*1000
- var dt = new Date(jsTime)
- return dt.toLocaleString()
+ var jsTime = unix*1000;
+ var dt = new Date(jsTime);
+ return dt.toLocaleString();
}
function jsUnix(js) {
- var preRound = js / 1000
- return Math.round(preRound)
+ var preRound = js / 1000;
+ return Math.round(preRound);
}
module.exports = {
- unixLocal,
- jsUnix,
-}
\ No newline at end of file
+ unixLocal,
+ jsUnix,
+};
\ No newline at end of file
diff --git a/src/utils/varTest.utils.js b/src/utils/varTest.utils.js
index 66c8e99..f4db80e 100644
--- a/src/utils/varTest.utils.js
+++ b/src/utils/varTest.utils.js
@@ -1,27 +1,28 @@
+/* global process */
// Checks that all required environment variables are present.
// Returns True or False and offers an object detailing what is missing.
async function varTest(){
- var required = {
- OWL_LDB_KEY: process.env.OWL_LDB_KEY,
- OWL_LDB_CORPUSUSER: process.env.OWL_LDB_CORPUSUSER,
- OWL_LDB_CORPUSPASS: process.env.OWL_LDB_CORPUSPASS,
- OWL_NOT_USED: process.env.OWL_NOT_USED
- }
- var desired = {
- OWL_DB_PASS: process.env.OWL_DB_PASS
- }
- // DO NOT LOG CREDENTIALS!!!
+ var required = {
+ OWL_LDB_KEY: process.env.OWL_LDB_KEY,
+ OWL_LDB_CORPUSUSER: process.env.OWL_LDB_CORPUSUSER,
+ OWL_LDB_CORPUSPASS: process.env.OWL_LDB_CORPUSPASS,
+ OWL_NOT_USED: process.env.OWL_NOT_USED
+ };
+ var desired = {
+ OWL_DB_PASS: process.env.OWL_DB_PASS
+ };
+ // DO NOT LOG CREDENTIALS!!!
- // Test that each of required is NOT undefined.
- // var pass = true if all okay, false if not.
- // Append any missing values to missing_required = []
- // Test that each of desired is NOT undefined.
- // Append any missing values to missing_desired = []
+ // Test that each of required is NOT undefined.
+ // var pass = true if all okay, false if not.
+ // Append any missing values to missing_required = []
+ // Test that each of desired is NOT undefined.
+ // Append any missing values to missing_desired = []
- // Return : {pass: $pass, missong_required = $missing_required, missing_desired = $missing_desired}
+ // Return : {pass: $pass, missong_required = $missing_required, missing_desired = $missing_desired}
}
module.exports = {
- varTest
-}
\ No newline at end of file
+ varTest
+};
\ No newline at end of file