diff --git a/.husky/pre-commit b/.husky/pre-commit
index d24fdfc..e7c10b0 100644
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -1,4 +1,4 @@
 #!/usr/bin/env sh
 . "$(dirname -- "$0")/_/husky.sh"
 
-npx lint-staged
+npx lint-staged  --no-stash
diff --git a/package-lock.json b/package-lock.json
index 91bc33c..4c54ba9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18,7 +18,7 @@
         "fs-extra": "^11.1.0",
         "gray-matter": "^4.0.3",
         "ioredis": "^5.2.5",
-        "mongodb": "^5.1.0",
+        "mongodb": "^4.1.1",
         "next": "13.0.4",
         "next-auth": "^4.20.1",
         "react": "18.2.0",
@@ -47,6 +47,1063 @@
         "ts-node": "^10.9.1"
       }
     },
+    "node_modules/@aws-crypto/ie11-detection": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz",
+      "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^1.11.1"
+      }
+    },
+    "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "optional": true
+    },
+    "node_modules/@aws-crypto/sha256-browser": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz",
+      "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==",
+      "optional": true,
+      "dependencies": {
+        "@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"
+      }
+    },
+    "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "optional": true
+    },
+    "node_modules/@aws-crypto/sha256-js": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz",
+      "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==",
+      "optional": true,
+      "dependencies": {
+        "@aws-crypto/util": "^3.0.0",
+        "@aws-sdk/types": "^3.222.0",
+        "tslib": "^1.11.1"
+      }
+    },
+    "node_modules/@aws-crypto/sha256-js/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "optional": true
+    },
+    "node_modules/@aws-crypto/supports-web-crypto": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz",
+      "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^1.11.1"
+      }
+    },
+    "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "optional": true
+    },
+    "node_modules/@aws-crypto/util": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz",
+      "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "^3.222.0",
+        "@aws-sdk/util-utf8-browser": "^3.0.0",
+        "tslib": "^1.11.1"
+      }
+    },
+    "node_modules/@aws-crypto/util/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "optional": true
+    },
+    "node_modules/@aws-sdk/abort-controller": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.303.0.tgz",
+      "integrity": "sha512-LzNzpeyTppcmV/6SAQI3T/huOkMrUnFveplgVNwJxw+rVqmqmGV6z6vpg+oRICRDcjXWYiSiaClxxSVvOy0sDQ==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/client-cognito-identity": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.303.0.tgz",
+      "integrity": "sha512-rybplTjq6aj7DttT+v8ycajT8BIFXqdo66lkQjO1YykEIyVTnY4L9McTyNFOZsvNmG1LMSqb95/eYP463Lp7fg==",
+      "optional": true,
+      "dependencies": {
+        "@aws-crypto/sha256-browser": "3.0.0",
+        "@aws-crypto/sha256-js": "3.0.0",
+        "@aws-sdk/client-sts": "3.303.0",
+        "@aws-sdk/config-resolver": "3.303.0",
+        "@aws-sdk/credential-provider-node": "3.303.0",
+        "@aws-sdk/fetch-http-handler": "3.303.0",
+        "@aws-sdk/hash-node": "3.303.0",
+        "@aws-sdk/invalid-dependency": "3.303.0",
+        "@aws-sdk/middleware-content-length": "3.303.0",
+        "@aws-sdk/middleware-endpoint": "3.303.0",
+        "@aws-sdk/middleware-host-header": "3.303.0",
+        "@aws-sdk/middleware-logger": "3.303.0",
+        "@aws-sdk/middleware-recursion-detection": "3.303.0",
+        "@aws-sdk/middleware-retry": "3.303.0",
+        "@aws-sdk/middleware-serde": "3.303.0",
+        "@aws-sdk/middleware-signing": "3.303.0",
+        "@aws-sdk/middleware-stack": "3.303.0",
+        "@aws-sdk/middleware-user-agent": "3.303.0",
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/node-http-handler": "3.303.0",
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/smithy-client": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/url-parser": "3.303.0",
+        "@aws-sdk/util-base64": "3.303.0",
+        "@aws-sdk/util-body-length-browser": "3.303.0",
+        "@aws-sdk/util-body-length-node": "3.303.0",
+        "@aws-sdk/util-defaults-mode-browser": "3.303.0",
+        "@aws-sdk/util-defaults-mode-node": "3.303.0",
+        "@aws-sdk/util-endpoints": "3.303.0",
+        "@aws-sdk/util-retry": "3.303.0",
+        "@aws-sdk/util-user-agent-browser": "3.303.0",
+        "@aws-sdk/util-user-agent-node": "3.303.0",
+        "@aws-sdk/util-utf8": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/client-sso": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.303.0.tgz",
+      "integrity": "sha512-LZ+Z6vGnEdqmxx0dqtZP97n5VX5uUKu4lJmDR3sdGolxAUqCY1FxHDZd9DzCFXR8rwoJK4VJTL+exzeVp4Ly/g==",
+      "optional": true,
+      "dependencies": {
+        "@aws-crypto/sha256-browser": "3.0.0",
+        "@aws-crypto/sha256-js": "3.0.0",
+        "@aws-sdk/config-resolver": "3.303.0",
+        "@aws-sdk/fetch-http-handler": "3.303.0",
+        "@aws-sdk/hash-node": "3.303.0",
+        "@aws-sdk/invalid-dependency": "3.303.0",
+        "@aws-sdk/middleware-content-length": "3.303.0",
+        "@aws-sdk/middleware-endpoint": "3.303.0",
+        "@aws-sdk/middleware-host-header": "3.303.0",
+        "@aws-sdk/middleware-logger": "3.303.0",
+        "@aws-sdk/middleware-recursion-detection": "3.303.0",
+        "@aws-sdk/middleware-retry": "3.303.0",
+        "@aws-sdk/middleware-serde": "3.303.0",
+        "@aws-sdk/middleware-stack": "3.303.0",
+        "@aws-sdk/middleware-user-agent": "3.303.0",
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/node-http-handler": "3.303.0",
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/smithy-client": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/url-parser": "3.303.0",
+        "@aws-sdk/util-base64": "3.303.0",
+        "@aws-sdk/util-body-length-browser": "3.303.0",
+        "@aws-sdk/util-body-length-node": "3.303.0",
+        "@aws-sdk/util-defaults-mode-browser": "3.303.0",
+        "@aws-sdk/util-defaults-mode-node": "3.303.0",
+        "@aws-sdk/util-endpoints": "3.303.0",
+        "@aws-sdk/util-retry": "3.303.0",
+        "@aws-sdk/util-user-agent-browser": "3.303.0",
+        "@aws-sdk/util-user-agent-node": "3.303.0",
+        "@aws-sdk/util-utf8": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/client-sso-oidc": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.303.0.tgz",
+      "integrity": "sha512-oOdDcBjxGiJ6mFWUMVr+A1hAzGRpcZ+oLAhCakpvpXCUG50PZSBFP+vOQXgHY/XNolqDg+IHq60oE9HoPzGleg==",
+      "optional": true,
+      "dependencies": {
+        "@aws-crypto/sha256-browser": "3.0.0",
+        "@aws-crypto/sha256-js": "3.0.0",
+        "@aws-sdk/config-resolver": "3.303.0",
+        "@aws-sdk/fetch-http-handler": "3.303.0",
+        "@aws-sdk/hash-node": "3.303.0",
+        "@aws-sdk/invalid-dependency": "3.303.0",
+        "@aws-sdk/middleware-content-length": "3.303.0",
+        "@aws-sdk/middleware-endpoint": "3.303.0",
+        "@aws-sdk/middleware-host-header": "3.303.0",
+        "@aws-sdk/middleware-logger": "3.303.0",
+        "@aws-sdk/middleware-recursion-detection": "3.303.0",
+        "@aws-sdk/middleware-retry": "3.303.0",
+        "@aws-sdk/middleware-serde": "3.303.0",
+        "@aws-sdk/middleware-stack": "3.303.0",
+        "@aws-sdk/middleware-user-agent": "3.303.0",
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/node-http-handler": "3.303.0",
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/smithy-client": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/url-parser": "3.303.0",
+        "@aws-sdk/util-base64": "3.303.0",
+        "@aws-sdk/util-body-length-browser": "3.303.0",
+        "@aws-sdk/util-body-length-node": "3.303.0",
+        "@aws-sdk/util-defaults-mode-browser": "3.303.0",
+        "@aws-sdk/util-defaults-mode-node": "3.303.0",
+        "@aws-sdk/util-endpoints": "3.303.0",
+        "@aws-sdk/util-retry": "3.303.0",
+        "@aws-sdk/util-user-agent-browser": "3.303.0",
+        "@aws-sdk/util-user-agent-node": "3.303.0",
+        "@aws-sdk/util-utf8": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/client-sts": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.303.0.tgz",
+      "integrity": "sha512-oda7mOfGyJZe62DZ5BVH3L84yeDM0Ja/fSpTjwV9hqFqzgtW83TCpiNegcJmvmGWDYaPmE2qpfDPqPzymB0sBg==",
+      "optional": true,
+      "dependencies": {
+        "@aws-crypto/sha256-browser": "3.0.0",
+        "@aws-crypto/sha256-js": "3.0.0",
+        "@aws-sdk/config-resolver": "3.303.0",
+        "@aws-sdk/credential-provider-node": "3.303.0",
+        "@aws-sdk/fetch-http-handler": "3.303.0",
+        "@aws-sdk/hash-node": "3.303.0",
+        "@aws-sdk/invalid-dependency": "3.303.0",
+        "@aws-sdk/middleware-content-length": "3.303.0",
+        "@aws-sdk/middleware-endpoint": "3.303.0",
+        "@aws-sdk/middleware-host-header": "3.303.0",
+        "@aws-sdk/middleware-logger": "3.303.0",
+        "@aws-sdk/middleware-recursion-detection": "3.303.0",
+        "@aws-sdk/middleware-retry": "3.303.0",
+        "@aws-sdk/middleware-sdk-sts": "3.303.0",
+        "@aws-sdk/middleware-serde": "3.303.0",
+        "@aws-sdk/middleware-signing": "3.303.0",
+        "@aws-sdk/middleware-stack": "3.303.0",
+        "@aws-sdk/middleware-user-agent": "3.303.0",
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/node-http-handler": "3.303.0",
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/smithy-client": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/url-parser": "3.303.0",
+        "@aws-sdk/util-base64": "3.303.0",
+        "@aws-sdk/util-body-length-browser": "3.303.0",
+        "@aws-sdk/util-body-length-node": "3.303.0",
+        "@aws-sdk/util-defaults-mode-browser": "3.303.0",
+        "@aws-sdk/util-defaults-mode-node": "3.303.0",
+        "@aws-sdk/util-endpoints": "3.303.0",
+        "@aws-sdk/util-retry": "3.303.0",
+        "@aws-sdk/util-user-agent-browser": "3.303.0",
+        "@aws-sdk/util-user-agent-node": "3.303.0",
+        "@aws-sdk/util-utf8": "3.303.0",
+        "fast-xml-parser": "4.1.2",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/config-resolver": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.303.0.tgz",
+      "integrity": "sha512-uGZ47jcH86AwWcjZjuOL5jK5qE4izrEol8oF7KY214kjmavbKQstyUqmcwL2lr/YpDNFkCYgUxWRpduqVm8zmw==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-config-provider": "3.295.0",
+        "@aws-sdk/util-middleware": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-cognito-identity": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.303.0.tgz",
+      "integrity": "sha512-9MYsGJCNLsm61PW/JFm4y0Cv6aluCkZmE5D/g4vYnEFOZSKyK15m1a10RKGAh391fh6Bg1kU9WOoqkGk3Nyqng==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/client-cognito-identity": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-env": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.303.0.tgz",
+      "integrity": "sha512-rtXumfF4cGrVk9fWACeLCfdpmlzlDUkzwSR60/3enC5Antcxl3fFY5T1BzNFvz0mB0zcwm4kaAwIcljX67DNRA==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-imds": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.303.0.tgz",
+      "integrity": "sha512-ruomcFkKUpJkZb87em698//A0AVpt1KN9dn8N8eVyOuvZzebVxSW4AJoVgOKd5Av4PVcZgEqRX0kOOVp0iTrWg==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/url-parser": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-ini": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.303.0.tgz",
+      "integrity": "sha512-4J50F6fEjQmAstSQOpJFG+rnbEqtwA7nDG6PxNm98VSTH2mYJV0YgBdvydfBKrKINAT4xYZta5Sc4WEIpSo0TA==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/credential-provider-env": "3.303.0",
+        "@aws-sdk/credential-provider-imds": "3.303.0",
+        "@aws-sdk/credential-provider-process": "3.303.0",
+        "@aws-sdk/credential-provider-sso": "3.303.0",
+        "@aws-sdk/credential-provider-web-identity": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/shared-ini-file-loader": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-node": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.303.0.tgz",
+      "integrity": "sha512-OlKb7O2jDtrzkzLT/PUb5kxuGGTIyPn2alXzGT+7LdJ9/tP8KlqSVMtnH2UYPPdcc/daK16+MRNL5ylxmnRJ7Q==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/credential-provider-env": "3.303.0",
+        "@aws-sdk/credential-provider-imds": "3.303.0",
+        "@aws-sdk/credential-provider-ini": "3.303.0",
+        "@aws-sdk/credential-provider-process": "3.303.0",
+        "@aws-sdk/credential-provider-sso": "3.303.0",
+        "@aws-sdk/credential-provider-web-identity": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/shared-ini-file-loader": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-process": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.303.0.tgz",
+      "integrity": "sha512-1pxDYRscGlERAjFE5hSF1KQdcyOGzssuRTdLvez4I/mSIOAJLMmBAnmHGI/DME2LzDVrC9dklA6LHSC2sn3quQ==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/shared-ini-file-loader": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-sso": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.303.0.tgz",
+      "integrity": "sha512-/szzM1BzZGjHwV4mSiZo65cyDleJqnxM9Y4autg55mb3dFwcCiMGI6TGbdegumrNZZlCTeTA1lIhA9PdT4gDAQ==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/client-sso": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/shared-ini-file-loader": "3.303.0",
+        "@aws-sdk/token-providers": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-provider-web-identity": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.303.0.tgz",
+      "integrity": "sha512-qi5CP4ocseqdj3kMi0vgLx8XrdanLNvCAfgiEF6LjUJI88R2snZAYNUSd+Y2n04mKAalns+mUwfUN2JyL66d5g==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/credential-providers": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.303.0.tgz",
+      "integrity": "sha512-ueO8UKvYyzt2lexvIdg50TFC7EO2shRWbMWPsVi6Ul7euoQzthr/TPQts4OLZIt9XeIFd4s9dhFwYSobcRfVGw==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/client-cognito-identity": "3.303.0",
+        "@aws-sdk/client-sso": "3.303.0",
+        "@aws-sdk/client-sts": "3.303.0",
+        "@aws-sdk/credential-provider-cognito-identity": "3.303.0",
+        "@aws-sdk/credential-provider-env": "3.303.0",
+        "@aws-sdk/credential-provider-imds": "3.303.0",
+        "@aws-sdk/credential-provider-ini": "3.303.0",
+        "@aws-sdk/credential-provider-node": "3.303.0",
+        "@aws-sdk/credential-provider-process": "3.303.0",
+        "@aws-sdk/credential-provider-sso": "3.303.0",
+        "@aws-sdk/credential-provider-web-identity": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/fetch-http-handler": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.303.0.tgz",
+      "integrity": "sha512-Bc6C86/KQOSWPa741h9QEVcApyignYV5vC5+zZjmKkcyPxrVxTmL3kTJidpVOtVfCmTIrNN/WhAVDzLBbh1ycQ==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/querystring-builder": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-base64": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@aws-sdk/hash-node": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.303.0.tgz",
+      "integrity": "sha512-jSo4A/JxTabZ9jHrx7nhKIXnOmvPg/SSYnoHaFdVS5URJrNt1w+nSvW1wLGMEMOvu5+NU3bldBBSb+h0Ocwv1A==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-buffer-from": "3.303.0",
+        "@aws-sdk/util-utf8": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/invalid-dependency": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.303.0.tgz",
+      "integrity": "sha512-RXNcLxOrUJaMMqk5uIYEf6X9XCMockT27bS8Dde/0ms015VOo8Wn2hHU9wEmGeFvLccC2UU4gPzvmj74w70q2Q==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@aws-sdk/is-array-buffer": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.303.0.tgz",
+      "integrity": "sha512-IitBTr+pou7v5BrYLFH/SbIf3g1LIgMhcI3bDXBq2FjzmDftj4bW8BOmg05b9YKf2TrrggvJ4yk/jH+yYFXoJQ==",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-content-length": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.303.0.tgz",
+      "integrity": "sha512-0UL5TWSL1JRpjT6gjGsZXfia5oL7vxzj+CfMCqkP6gjVF69eRcgu426Xc6TJwDcr6jIFPeamDBTLyt9ZAAr6hg==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-endpoint": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.303.0.tgz",
+      "integrity": "sha512-z2i8LJ6YTKbqXh9rY/KbXihvhq6P0JVI6SnkwT2hesJp0Nfldx85jsaLzj1+ioNKlQ+51u9UmBnO404DgNCAbg==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/middleware-serde": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/url-parser": "3.303.0",
+        "@aws-sdk/util-middleware": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-host-header": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.303.0.tgz",
+      "integrity": "sha512-LUyhtjbuosrD0QAsBZJwT3yp146I7Xjehf42OP3dWbRuklMEilI0Res5K2/nknf3/ZKUj6sf7BbJoU8E+SpRiQ==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-logger": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.303.0.tgz",
+      "integrity": "sha512-y2sqmmBdm4gXUL4SyN+ucfO/sxtOEDj2sB12ArRpDGyerfNLhAf7xpL4lXkjPx/7wTIjlBWoO2G/yK6t00P6fA==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-recursion-detection": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.303.0.tgz",
+      "integrity": "sha512-z3MTsZMtPg6hYWl6a0o07q7zgsDXPYeP14XFVMc8NXqiAyNcm/OYwanpXyNjsEKI/X0nlpJ/Rs+IRCbaIqV9Mw==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-retry": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.303.0.tgz",
+      "integrity": "sha512-wxlqrdGOrCm2Jsra7YyfLyO34YRB/FNlXzwuJiZkqoAb/40ZAuFcWqDv41SP44y8liFXqfsMGuywJ7mK2cHvnA==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/service-error-classification": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-middleware": "3.303.0",
+        "@aws-sdk/util-retry": "3.303.0",
+        "tslib": "^2.5.0",
+        "uuid": "^8.3.2"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-sdk-sts": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.303.0.tgz",
+      "integrity": "sha512-igp7htNCUPhVL9Q6rJSgcx3qy/P2l2KAiS0oozOTaTXt3h0LbOusSXtwyA7qvLYeRthnw6msVW+rVBAW3Vo+3g==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/middleware-signing": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-serde": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.303.0.tgz",
+      "integrity": "sha512-mmZozwYKgUgXkJrLVqgIYoOQ8DfKZS3pBBT3ZxWzv5Hz5M3oRqFgfVYljkeDM2CTvBweHpqVRTWqPDMcZisucg==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-signing": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.303.0.tgz",
+      "integrity": "sha512-rrLQcS2wFsUGj9Kyx78LRgRS8jwiixz/Nyv06SmcKhP680sweETpQz/EA+wcVEVRXmUI6vs4NtqXz36dU0X8Nw==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/signature-v4": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-middleware": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-stack": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.303.0.tgz",
+      "integrity": "sha512-6KmdroXLexzILGxF/Xq0cGBs+B8Ipm1pff8qnWCT6KldYp+Q40bVcJrExkVHDN1uOsOxu20ixW2yujOKS356zg==",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/middleware-user-agent": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.303.0.tgz",
+      "integrity": "sha512-ZVMVNxPRn2jXog3V4xWokSYoQxTKAdKlNoCfjqFplsF70r8sXfgZtOMF5ZhGo+Hgsx7GqpR/NWPKJtZD2nigpg==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-endpoints": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/node-config-provider": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.303.0.tgz",
+      "integrity": "sha512-Ywbo9+2SkbdmNgCoxYJrv+YrFDtBH7hHtn2ywtzP4t57d4t0V/LNrNQsrAsXxqy48OS5r2ovOLHiqJS5jp1oyw==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/shared-ini-file-loader": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/node-http-handler": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.303.0.tgz",
+      "integrity": "sha512-5Te+mwBIOiQr2nM7/SNVFkvYHOH/CswOmUMV4Gxc7YjuervhrYvVFs2P+lL+c8rfiVMTLWjnJ6JiL2JdJfYgnQ==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/abort-controller": "3.303.0",
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/querystring-builder": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/property-provider": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.303.0.tgz",
+      "integrity": "sha512-d1qbn0pCz+jvB0dcWMWuIlWYM8dWCg3185ngMgUQxkgUk7/kEbwGBsmT+xtZAMQcwcgPkSm8qeATEQ7ToiH8eQ==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/protocol-http": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.303.0.tgz",
+      "integrity": "sha512-eqblSsdmKBzgNl06dUnL4toq/OQgZyxVsxHCz2nI/xBk5lI/qAZIJyEgP2GmP8aoWwneAq33roG0VLZoxQ8exg==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/querystring-builder": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.303.0.tgz",
+      "integrity": "sha512-0eMp2gd7Ro0svJ6YVnp9cUiGtrc1d/HynyMfbDkLkqWJAnHMz7Oc1GjK5YyL1hdxm0W+JWZCPR0SovLiaboKDw==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-uri-escape": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/querystring-parser": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.303.0.tgz",
+      "integrity": "sha512-KNJSQiTFiA7W5eYCox8bLGM7kghC3Azad86HQhdsYO0jCoPxcgj8MeP6T7fPTIC4WcTwcWb7T1MpzoeBiKMOTQ==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/service-error-classification": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.303.0.tgz",
+      "integrity": "sha512-eO13PzdtRO9C+g3tyFOpIblX2SbDrIbg2bNtB8JOfjVi3E1b5VsSTXXU/cKV+lbZ9XMzMn3VzGSvpo6AjzfpxA==",
+      "optional": true,
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/shared-ini-file-loader": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.303.0.tgz",
+      "integrity": "sha512-yI84mnnh3pdQtIOo+oGWofaI0rvfhp3DOavB8KHIkQr+RcjF+fxsqbelRfVb25gx7yEWPNCMB8wM+HhklSEFJg==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/signature-v4": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.303.0.tgz",
+      "integrity": "sha512-muw5yclLOgXPHIxv60mhO6R0GVjKbf+M6E/cWvIEVGq8Ke+mLMYNFYNdKP/f/8JgTtW2xwQ7pIK3U8x284ZqPw==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/is-array-buffer": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-hex-encoding": "3.295.0",
+        "@aws-sdk/util-middleware": "3.303.0",
+        "@aws-sdk/util-uri-escape": "3.303.0",
+        "@aws-sdk/util-utf8": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/smithy-client": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.303.0.tgz",
+      "integrity": "sha512-WDTC9ODdpRAXo8+Mtr5hsPJeR3y3LxfZZFg5dplJgkaxV+MFdnsUCxZfAZMnxcGy5Q2qTzlLLNk9CpadS72v+g==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/middleware-stack": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/token-providers": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.303.0.tgz",
+      "integrity": "sha512-7G7VYbqyX0v6RTD/m7XmArZToMek4jYXR/TuuGHK6ifNJeMDwkU4BcoVDj37vvTPYp6qKU5IE+bE3XmPyVWnGQ==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/client-sso-oidc": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/shared-ini-file-loader": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/types": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.303.0.tgz",
+      "integrity": "sha512-H+Cy8JDTsK87MID6MJbV9ad5xdS9YvaLZSeveC2Zs1WNu2Rp6X9j+mg3EqDSmBKUQVAFRy2b+CSKkH3nnBMedw==",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/url-parser": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.303.0.tgz",
+      "integrity": "sha512-PXMXGhr89s0MiPTf8Ft/v3sPzh2geSrFhTVSO/01blfBQqtuu0JMqORhLheOdi16AhQNVlYHDW2tWdx7/T+KsA==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/querystring-parser": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-base64": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.303.0.tgz",
+      "integrity": "sha512-oj+p/GHHPcZEKjiiOHU/CyNQeh8i+8dfMMzU+VGdoK5jHaVG8h2b+V7GPf7I4wDkG2ySCK5b5Jw5NUHwdTJ13Q==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/util-buffer-from": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-body-length-browser": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.303.0.tgz",
+      "integrity": "sha512-T643m0pKzgjAvPFy4W8zL+aszG3T22U8hb6stlMvT0z++Smv8QfIvkIkXjWyH2KlOt5GKliHwdOv8SAi0FSMJQ==",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-body-length-node": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.303.0.tgz",
+      "integrity": "sha512-/hS8z6e18Le60hJr2TUIFoUjUiAsnQsuDn6DxX74GXhMOHeSwZDJ9jHF39quYkNMmAE37GrVH4MI9vE0pN27qw==",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-buffer-from": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.303.0.tgz",
+      "integrity": "sha512-hUU+NW+SW6RNojtAKnnmz+tDShVKlEx2YsS4a5fSfrKRUes+zWz10cxVX0RQfysd3R6tdSHhbjsSj8eCIybheg==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/is-array-buffer": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-config-provider": {
+      "version": "3.295.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.295.0.tgz",
+      "integrity": "sha512-/5Dl1aV2yI8YQjqwmg4RTnl/E9NmNsx7HIwBZt+dTcOrM0LMUwczQBFFcLyqCj/qv5y+VsvLoAAA/OiBT7hb3w==",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-defaults-mode-browser": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.303.0.tgz",
+      "integrity": "sha512-jtZgCKelFe4/SHDHQu9ydbYttxSfqSlQojA5qxTJxLvzryIB+/GTHQ+sYWyMyzaD489W9elt1/cSsXd4LtPK0A==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "bowser": "^2.11.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">= 10.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-defaults-mode-node": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.303.0.tgz",
+      "integrity": "sha512-c86iyot/u9bCVcy/rlWL+0kdR51c7C2d2yDXvO9iFCdMKAs28Hw1ijGczVmOcUQ61zKNFSGYx+VekHXN9IWYOg==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/config-resolver": "3.303.0",
+        "@aws-sdk/credential-provider-imds": "3.303.0",
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">= 10.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-endpoints": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.303.0.tgz",
+      "integrity": "sha512-dPg9+l3VY3nclWFiWAVNWek5lQwgdtY8oRYOgCeyntce9FlNrPQgCRTVr36D0iQ0aNCs0GWzfjgL+rIdCF66/w==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-hex-encoding": {
+      "version": "3.295.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.295.0.tgz",
+      "integrity": "sha512-XJcoVo41kHzhe28PBm/rqt5mdCp8R6abwiW9ug1dA6FOoPUO8kBUxDv6xaOmA2hfRvd2ocFfBXaUCBqUowkGcQ==",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-locate-window": {
+      "version": "3.295.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.295.0.tgz",
+      "integrity": "sha512-d/s+zhUx5Kh4l/ecMP/TBjzp1GR/g89Q4nWH6+wH5WgdHsK+LG+vmsk6mVNuP/8wsCofYG4NBqp5Ulbztbm9QA==",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-middleware": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.303.0.tgz",
+      "integrity": "sha512-HAfBcbZw1+pY3dIEDM4jVpH1ViFcGH5s0q1dr+x4rcLGpMM3B4dH0HUgDPtycG8sw+nk+9jGgiEtgaCNOpJLGA==",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-retry": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.303.0.tgz",
+      "integrity": "sha512-RWwRNjoWMcpDouz69wPuFXWFVzwYtUkTbJfa46SjKl1IwqMHS4f9yjJfCwJIoLOW9M/o2JB7nD0Ij3gqqzajLw==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/service-error-classification": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">= 14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-uri-escape": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.303.0.tgz",
+      "integrity": "sha512-N3ULNuHCL3QzAlCTY+XRRkRQTYCTU8RRuzFCJX0pDpz9t2K+tLT7DbxqupWGNFGl5Xlulf1Is14J3BP/Dx91rA==",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-user-agent-browser": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.303.0.tgz",
+      "integrity": "sha512-Kex3abpUrTX9z129jiI8sfjIUmQDwiWjhkvBkPmrwjFY/sZcnOcXj5nP2iwJ+k6CnA5ZK5PjZ6P62t+eJ5MTXw==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/types": "3.303.0",
+        "bowser": "^2.11.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "node_modules/@aws-sdk/util-user-agent-node": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.303.0.tgz",
+      "integrity": "sha512-QYUg8F/Ho6AsVZaSSRMf/LWoEPDyOwgKZBw3AbKoH6RxAdAsdL1SXz5t4A6jHakP9TLVN2Yw2WRbHDe4LATASQ==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "aws-crt": ">=1.0.0"
+      },
+      "peerDependenciesMeta": {
+        "aws-crt": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@aws-sdk/util-utf8": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.303.0.tgz",
+      "integrity": "sha512-tZXVuMOIONPOuOGBs/XRdzxv6jUvTM620dRFFIHZwlGiW8bo0x0LlonrzDAJZA4e9ZwmxJIj8Ji13WVRBGvZWg==",
+      "optional": true,
+      "dependencies": {
+        "@aws-sdk/util-buffer-from": "3.303.0",
+        "tslib": "^2.5.0"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@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,
+      "dependencies": {
+        "tslib": "^2.3.1"
+      }
+    },
     "node_modules/@babel/runtime": {
       "version": "7.21.0",
       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
@@ -1117,6 +2174,12 @@
         "readable-stream": "^3.4.0"
       }
     },
+    "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",
@@ -1166,11 +2229,14 @@
       }
     },
     "node_modules/bson": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/bson/-/bson-5.1.0.tgz",
-      "integrity": "sha512-FEecNHkhYRBe7X9KDkdG12xNuz5VHGeH6mCE0B5sBmYtiR/Ux/9vUH/v4NUoBCDr6NuEhvahjoLiiRogptVW0A==",
+      "version": "4.7.2",
+      "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.2.tgz",
+      "integrity": "sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ==",
+      "dependencies": {
+        "buffer": "^5.6.0"
+      },
       "engines": {
-        "node": ">=14.20.1"
+        "node": ">=6.9.0"
       }
     },
     "node_modules/buffer": {
@@ -2322,6 +3388,22 @@
       "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
       "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
     },
+    "node_modules/fast-xml-parser": {
+      "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"
+      },
+      "bin": {
+        "fxparser": "src/cli/cli.js"
+      },
+      "funding": {
+        "type": "paypal",
+        "url": "https://paypal.me/naturalintelligence"
+      }
+    },
     "node_modules/fastq": {
       "version": "1.13.0",
       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
@@ -4643,35 +5725,20 @@
       "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
     },
     "node_modules/mongodb": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.1.0.tgz",
-      "integrity": "sha512-qgKb7y+EI90y4weY3z5+lIgm8wmexbonz0GalHkSElQXVKtRuwqXuhXKccyvIjXCJVy9qPV82zsinY0W1FBnJw==",
+      "version": "4.14.0",
+      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.14.0.tgz",
+      "integrity": "sha512-coGKkWXIBczZPr284tYKFLg+KbGPPLlSbdgfKAb6QqCFt5bo5VFZ50O3FFzsw4rnkqjwT6D8Qcoo9nshYKM7Mg==",
       "dependencies": {
-        "bson": "^5.0.1",
-        "mongodb-connection-string-url": "^2.6.0",
+        "bson": "^4.7.0",
+        "mongodb-connection-string-url": "^2.5.4",
         "socks": "^2.7.1"
       },
       "engines": {
-        "node": ">=14.20.1"
+        "node": ">=12.9.0"
       },
       "optionalDependencies": {
+        "@aws-sdk/credential-providers": "^3.186.0",
         "saslprep": "^1.0.3"
-      },
-      "peerDependencies": {
-        "@aws-sdk/credential-providers": "^3.201.0",
-        "mongodb-client-encryption": "^2.3.0",
-        "snappy": "^7.2.2"
-      },
-      "peerDependenciesMeta": {
-        "@aws-sdk/credential-providers": {
-          "optional": true
-        },
-        "mongodb-client-encryption": {
-          "optional": true
-        },
-        "snappy": {
-          "optional": true
-        }
       }
     },
     "node_modules/mongodb-connection-string-url": {
@@ -6336,6 +7403,12 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/strnum": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
+      "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==",
+      "optional": true
+    },
     "node_modules/style-to-object": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz",
@@ -6631,9 +7704,9 @@
       }
     },
     "node_modules/tslib": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
-      "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
+      "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
     },
     "node_modules/tsutils": {
       "version": "3.21.0",
@@ -7123,6 +8196,903 @@
     }
   },
   "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"
+      },
+      "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-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.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.303.0.tgz",
+      "integrity": "sha512-LzNzpeyTppcmV/6SAQI3T/huOkMrUnFveplgVNwJxw+rVqmqmGV6z6vpg+oRICRDcjXWYiSiaClxxSVvOy0sDQ==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/client-cognito-identity": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.303.0.tgz",
+      "integrity": "sha512-rybplTjq6aj7DttT+v8ycajT8BIFXqdo66lkQjO1YykEIyVTnY4L9McTyNFOZsvNmG1LMSqb95/eYP463Lp7fg==",
+      "optional": true,
+      "requires": {
+        "@aws-crypto/sha256-browser": "3.0.0",
+        "@aws-crypto/sha256-js": "3.0.0",
+        "@aws-sdk/client-sts": "3.303.0",
+        "@aws-sdk/config-resolver": "3.303.0",
+        "@aws-sdk/credential-provider-node": "3.303.0",
+        "@aws-sdk/fetch-http-handler": "3.303.0",
+        "@aws-sdk/hash-node": "3.303.0",
+        "@aws-sdk/invalid-dependency": "3.303.0",
+        "@aws-sdk/middleware-content-length": "3.303.0",
+        "@aws-sdk/middleware-endpoint": "3.303.0",
+        "@aws-sdk/middleware-host-header": "3.303.0",
+        "@aws-sdk/middleware-logger": "3.303.0",
+        "@aws-sdk/middleware-recursion-detection": "3.303.0",
+        "@aws-sdk/middleware-retry": "3.303.0",
+        "@aws-sdk/middleware-serde": "3.303.0",
+        "@aws-sdk/middleware-signing": "3.303.0",
+        "@aws-sdk/middleware-stack": "3.303.0",
+        "@aws-sdk/middleware-user-agent": "3.303.0",
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/node-http-handler": "3.303.0",
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/smithy-client": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/url-parser": "3.303.0",
+        "@aws-sdk/util-base64": "3.303.0",
+        "@aws-sdk/util-body-length-browser": "3.303.0",
+        "@aws-sdk/util-body-length-node": "3.303.0",
+        "@aws-sdk/util-defaults-mode-browser": "3.303.0",
+        "@aws-sdk/util-defaults-mode-node": "3.303.0",
+        "@aws-sdk/util-endpoints": "3.303.0",
+        "@aws-sdk/util-retry": "3.303.0",
+        "@aws-sdk/util-user-agent-browser": "3.303.0",
+        "@aws-sdk/util-user-agent-node": "3.303.0",
+        "@aws-sdk/util-utf8": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/client-sso": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.303.0.tgz",
+      "integrity": "sha512-LZ+Z6vGnEdqmxx0dqtZP97n5VX5uUKu4lJmDR3sdGolxAUqCY1FxHDZd9DzCFXR8rwoJK4VJTL+exzeVp4Ly/g==",
+      "optional": true,
+      "requires": {
+        "@aws-crypto/sha256-browser": "3.0.0",
+        "@aws-crypto/sha256-js": "3.0.0",
+        "@aws-sdk/config-resolver": "3.303.0",
+        "@aws-sdk/fetch-http-handler": "3.303.0",
+        "@aws-sdk/hash-node": "3.303.0",
+        "@aws-sdk/invalid-dependency": "3.303.0",
+        "@aws-sdk/middleware-content-length": "3.303.0",
+        "@aws-sdk/middleware-endpoint": "3.303.0",
+        "@aws-sdk/middleware-host-header": "3.303.0",
+        "@aws-sdk/middleware-logger": "3.303.0",
+        "@aws-sdk/middleware-recursion-detection": "3.303.0",
+        "@aws-sdk/middleware-retry": "3.303.0",
+        "@aws-sdk/middleware-serde": "3.303.0",
+        "@aws-sdk/middleware-stack": "3.303.0",
+        "@aws-sdk/middleware-user-agent": "3.303.0",
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/node-http-handler": "3.303.0",
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/smithy-client": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/url-parser": "3.303.0",
+        "@aws-sdk/util-base64": "3.303.0",
+        "@aws-sdk/util-body-length-browser": "3.303.0",
+        "@aws-sdk/util-body-length-node": "3.303.0",
+        "@aws-sdk/util-defaults-mode-browser": "3.303.0",
+        "@aws-sdk/util-defaults-mode-node": "3.303.0",
+        "@aws-sdk/util-endpoints": "3.303.0",
+        "@aws-sdk/util-retry": "3.303.0",
+        "@aws-sdk/util-user-agent-browser": "3.303.0",
+        "@aws-sdk/util-user-agent-node": "3.303.0",
+        "@aws-sdk/util-utf8": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/client-sso-oidc": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.303.0.tgz",
+      "integrity": "sha512-oOdDcBjxGiJ6mFWUMVr+A1hAzGRpcZ+oLAhCakpvpXCUG50PZSBFP+vOQXgHY/XNolqDg+IHq60oE9HoPzGleg==",
+      "optional": true,
+      "requires": {
+        "@aws-crypto/sha256-browser": "3.0.0",
+        "@aws-crypto/sha256-js": "3.0.0",
+        "@aws-sdk/config-resolver": "3.303.0",
+        "@aws-sdk/fetch-http-handler": "3.303.0",
+        "@aws-sdk/hash-node": "3.303.0",
+        "@aws-sdk/invalid-dependency": "3.303.0",
+        "@aws-sdk/middleware-content-length": "3.303.0",
+        "@aws-sdk/middleware-endpoint": "3.303.0",
+        "@aws-sdk/middleware-host-header": "3.303.0",
+        "@aws-sdk/middleware-logger": "3.303.0",
+        "@aws-sdk/middleware-recursion-detection": "3.303.0",
+        "@aws-sdk/middleware-retry": "3.303.0",
+        "@aws-sdk/middleware-serde": "3.303.0",
+        "@aws-sdk/middleware-stack": "3.303.0",
+        "@aws-sdk/middleware-user-agent": "3.303.0",
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/node-http-handler": "3.303.0",
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/smithy-client": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/url-parser": "3.303.0",
+        "@aws-sdk/util-base64": "3.303.0",
+        "@aws-sdk/util-body-length-browser": "3.303.0",
+        "@aws-sdk/util-body-length-node": "3.303.0",
+        "@aws-sdk/util-defaults-mode-browser": "3.303.0",
+        "@aws-sdk/util-defaults-mode-node": "3.303.0",
+        "@aws-sdk/util-endpoints": "3.303.0",
+        "@aws-sdk/util-retry": "3.303.0",
+        "@aws-sdk/util-user-agent-browser": "3.303.0",
+        "@aws-sdk/util-user-agent-node": "3.303.0",
+        "@aws-sdk/util-utf8": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/client-sts": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.303.0.tgz",
+      "integrity": "sha512-oda7mOfGyJZe62DZ5BVH3L84yeDM0Ja/fSpTjwV9hqFqzgtW83TCpiNegcJmvmGWDYaPmE2qpfDPqPzymB0sBg==",
+      "optional": true,
+      "requires": {
+        "@aws-crypto/sha256-browser": "3.0.0",
+        "@aws-crypto/sha256-js": "3.0.0",
+        "@aws-sdk/config-resolver": "3.303.0",
+        "@aws-sdk/credential-provider-node": "3.303.0",
+        "@aws-sdk/fetch-http-handler": "3.303.0",
+        "@aws-sdk/hash-node": "3.303.0",
+        "@aws-sdk/invalid-dependency": "3.303.0",
+        "@aws-sdk/middleware-content-length": "3.303.0",
+        "@aws-sdk/middleware-endpoint": "3.303.0",
+        "@aws-sdk/middleware-host-header": "3.303.0",
+        "@aws-sdk/middleware-logger": "3.303.0",
+        "@aws-sdk/middleware-recursion-detection": "3.303.0",
+        "@aws-sdk/middleware-retry": "3.303.0",
+        "@aws-sdk/middleware-sdk-sts": "3.303.0",
+        "@aws-sdk/middleware-serde": "3.303.0",
+        "@aws-sdk/middleware-signing": "3.303.0",
+        "@aws-sdk/middleware-stack": "3.303.0",
+        "@aws-sdk/middleware-user-agent": "3.303.0",
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/node-http-handler": "3.303.0",
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/smithy-client": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/url-parser": "3.303.0",
+        "@aws-sdk/util-base64": "3.303.0",
+        "@aws-sdk/util-body-length-browser": "3.303.0",
+        "@aws-sdk/util-body-length-node": "3.303.0",
+        "@aws-sdk/util-defaults-mode-browser": "3.303.0",
+        "@aws-sdk/util-defaults-mode-node": "3.303.0",
+        "@aws-sdk/util-endpoints": "3.303.0",
+        "@aws-sdk/util-retry": "3.303.0",
+        "@aws-sdk/util-user-agent-browser": "3.303.0",
+        "@aws-sdk/util-user-agent-node": "3.303.0",
+        "@aws-sdk/util-utf8": "3.303.0",
+        "fast-xml-parser": "4.1.2",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/config-resolver": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.303.0.tgz",
+      "integrity": "sha512-uGZ47jcH86AwWcjZjuOL5jK5qE4izrEol8oF7KY214kjmavbKQstyUqmcwL2lr/YpDNFkCYgUxWRpduqVm8zmw==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-config-provider": "3.295.0",
+        "@aws-sdk/util-middleware": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/credential-provider-cognito-identity": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.303.0.tgz",
+      "integrity": "sha512-9MYsGJCNLsm61PW/JFm4y0Cv6aluCkZmE5D/g4vYnEFOZSKyK15m1a10RKGAh391fh6Bg1kU9WOoqkGk3Nyqng==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/client-cognito-identity": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/credential-provider-env": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.303.0.tgz",
+      "integrity": "sha512-rtXumfF4cGrVk9fWACeLCfdpmlzlDUkzwSR60/3enC5Antcxl3fFY5T1BzNFvz0mB0zcwm4kaAwIcljX67DNRA==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/credential-provider-imds": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.303.0.tgz",
+      "integrity": "sha512-ruomcFkKUpJkZb87em698//A0AVpt1KN9dn8N8eVyOuvZzebVxSW4AJoVgOKd5Av4PVcZgEqRX0kOOVp0iTrWg==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/url-parser": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/credential-provider-ini": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.303.0.tgz",
+      "integrity": "sha512-4J50F6fEjQmAstSQOpJFG+rnbEqtwA7nDG6PxNm98VSTH2mYJV0YgBdvydfBKrKINAT4xYZta5Sc4WEIpSo0TA==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/credential-provider-env": "3.303.0",
+        "@aws-sdk/credential-provider-imds": "3.303.0",
+        "@aws-sdk/credential-provider-process": "3.303.0",
+        "@aws-sdk/credential-provider-sso": "3.303.0",
+        "@aws-sdk/credential-provider-web-identity": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/shared-ini-file-loader": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/credential-provider-node": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.303.0.tgz",
+      "integrity": "sha512-OlKb7O2jDtrzkzLT/PUb5kxuGGTIyPn2alXzGT+7LdJ9/tP8KlqSVMtnH2UYPPdcc/daK16+MRNL5ylxmnRJ7Q==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/credential-provider-env": "3.303.0",
+        "@aws-sdk/credential-provider-imds": "3.303.0",
+        "@aws-sdk/credential-provider-ini": "3.303.0",
+        "@aws-sdk/credential-provider-process": "3.303.0",
+        "@aws-sdk/credential-provider-sso": "3.303.0",
+        "@aws-sdk/credential-provider-web-identity": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/shared-ini-file-loader": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/credential-provider-process": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.303.0.tgz",
+      "integrity": "sha512-1pxDYRscGlERAjFE5hSF1KQdcyOGzssuRTdLvez4I/mSIOAJLMmBAnmHGI/DME2LzDVrC9dklA6LHSC2sn3quQ==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/shared-ini-file-loader": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/credential-provider-sso": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.303.0.tgz",
+      "integrity": "sha512-/szzM1BzZGjHwV4mSiZo65cyDleJqnxM9Y4autg55mb3dFwcCiMGI6TGbdegumrNZZlCTeTA1lIhA9PdT4gDAQ==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/client-sso": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/shared-ini-file-loader": "3.303.0",
+        "@aws-sdk/token-providers": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/credential-provider-web-identity": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.303.0.tgz",
+      "integrity": "sha512-qi5CP4ocseqdj3kMi0vgLx8XrdanLNvCAfgiEF6LjUJI88R2snZAYNUSd+Y2n04mKAalns+mUwfUN2JyL66d5g==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/credential-providers": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.303.0.tgz",
+      "integrity": "sha512-ueO8UKvYyzt2lexvIdg50TFC7EO2shRWbMWPsVi6Ul7euoQzthr/TPQts4OLZIt9XeIFd4s9dhFwYSobcRfVGw==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/client-cognito-identity": "3.303.0",
+        "@aws-sdk/client-sso": "3.303.0",
+        "@aws-sdk/client-sts": "3.303.0",
+        "@aws-sdk/credential-provider-cognito-identity": "3.303.0",
+        "@aws-sdk/credential-provider-env": "3.303.0",
+        "@aws-sdk/credential-provider-imds": "3.303.0",
+        "@aws-sdk/credential-provider-ini": "3.303.0",
+        "@aws-sdk/credential-provider-node": "3.303.0",
+        "@aws-sdk/credential-provider-process": "3.303.0",
+        "@aws-sdk/credential-provider-sso": "3.303.0",
+        "@aws-sdk/credential-provider-web-identity": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/fetch-http-handler": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.303.0.tgz",
+      "integrity": "sha512-Bc6C86/KQOSWPa741h9QEVcApyignYV5vC5+zZjmKkcyPxrVxTmL3kTJidpVOtVfCmTIrNN/WhAVDzLBbh1ycQ==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/querystring-builder": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-base64": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/hash-node": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.303.0.tgz",
+      "integrity": "sha512-jSo4A/JxTabZ9jHrx7nhKIXnOmvPg/SSYnoHaFdVS5URJrNt1w+nSvW1wLGMEMOvu5+NU3bldBBSb+h0Ocwv1A==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-buffer-from": "3.303.0",
+        "@aws-sdk/util-utf8": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/invalid-dependency": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.303.0.tgz",
+      "integrity": "sha512-RXNcLxOrUJaMMqk5uIYEf6X9XCMockT27bS8Dde/0ms015VOo8Wn2hHU9wEmGeFvLccC2UU4gPzvmj74w70q2Q==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/is-array-buffer": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.303.0.tgz",
+      "integrity": "sha512-IitBTr+pou7v5BrYLFH/SbIf3g1LIgMhcI3bDXBq2FjzmDftj4bW8BOmg05b9YKf2TrrggvJ4yk/jH+yYFXoJQ==",
+      "optional": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/middleware-content-length": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.303.0.tgz",
+      "integrity": "sha512-0UL5TWSL1JRpjT6gjGsZXfia5oL7vxzj+CfMCqkP6gjVF69eRcgu426Xc6TJwDcr6jIFPeamDBTLyt9ZAAr6hg==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/middleware-endpoint": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.303.0.tgz",
+      "integrity": "sha512-z2i8LJ6YTKbqXh9rY/KbXihvhq6P0JVI6SnkwT2hesJp0Nfldx85jsaLzj1+ioNKlQ+51u9UmBnO404DgNCAbg==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/middleware-serde": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/url-parser": "3.303.0",
+        "@aws-sdk/util-middleware": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/middleware-host-header": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.303.0.tgz",
+      "integrity": "sha512-LUyhtjbuosrD0QAsBZJwT3yp146I7Xjehf42OP3dWbRuklMEilI0Res5K2/nknf3/ZKUj6sf7BbJoU8E+SpRiQ==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/middleware-logger": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.303.0.tgz",
+      "integrity": "sha512-y2sqmmBdm4gXUL4SyN+ucfO/sxtOEDj2sB12ArRpDGyerfNLhAf7xpL4lXkjPx/7wTIjlBWoO2G/yK6t00P6fA==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/middleware-recursion-detection": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.303.0.tgz",
+      "integrity": "sha512-z3MTsZMtPg6hYWl6a0o07q7zgsDXPYeP14XFVMc8NXqiAyNcm/OYwanpXyNjsEKI/X0nlpJ/Rs+IRCbaIqV9Mw==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/middleware-retry": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.303.0.tgz",
+      "integrity": "sha512-wxlqrdGOrCm2Jsra7YyfLyO34YRB/FNlXzwuJiZkqoAb/40ZAuFcWqDv41SP44y8liFXqfsMGuywJ7mK2cHvnA==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/service-error-classification": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-middleware": "3.303.0",
+        "@aws-sdk/util-retry": "3.303.0",
+        "tslib": "^2.5.0",
+        "uuid": "^8.3.2"
+      }
+    },
+    "@aws-sdk/middleware-sdk-sts": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.303.0.tgz",
+      "integrity": "sha512-igp7htNCUPhVL9Q6rJSgcx3qy/P2l2KAiS0oozOTaTXt3h0LbOusSXtwyA7qvLYeRthnw6msVW+rVBAW3Vo+3g==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/middleware-signing": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/middleware-serde": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.303.0.tgz",
+      "integrity": "sha512-mmZozwYKgUgXkJrLVqgIYoOQ8DfKZS3pBBT3ZxWzv5Hz5M3oRqFgfVYljkeDM2CTvBweHpqVRTWqPDMcZisucg==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/middleware-signing": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.303.0.tgz",
+      "integrity": "sha512-rrLQcS2wFsUGj9Kyx78LRgRS8jwiixz/Nyv06SmcKhP680sweETpQz/EA+wcVEVRXmUI6vs4NtqXz36dU0X8Nw==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/signature-v4": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-middleware": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/middleware-stack": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.303.0.tgz",
+      "integrity": "sha512-6KmdroXLexzILGxF/Xq0cGBs+B8Ipm1pff8qnWCT6KldYp+Q40bVcJrExkVHDN1uOsOxu20ixW2yujOKS356zg==",
+      "optional": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/middleware-user-agent": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.303.0.tgz",
+      "integrity": "sha512-ZVMVNxPRn2jXog3V4xWokSYoQxTKAdKlNoCfjqFplsF70r8sXfgZtOMF5ZhGo+Hgsx7GqpR/NWPKJtZD2nigpg==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-endpoints": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/node-config-provider": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.303.0.tgz",
+      "integrity": "sha512-Ywbo9+2SkbdmNgCoxYJrv+YrFDtBH7hHtn2ywtzP4t57d4t0V/LNrNQsrAsXxqy48OS5r2ovOLHiqJS5jp1oyw==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/shared-ini-file-loader": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/node-http-handler": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.303.0.tgz",
+      "integrity": "sha512-5Te+mwBIOiQr2nM7/SNVFkvYHOH/CswOmUMV4Gxc7YjuervhrYvVFs2P+lL+c8rfiVMTLWjnJ6JiL2JdJfYgnQ==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/abort-controller": "3.303.0",
+        "@aws-sdk/protocol-http": "3.303.0",
+        "@aws-sdk/querystring-builder": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/property-provider": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.303.0.tgz",
+      "integrity": "sha512-d1qbn0pCz+jvB0dcWMWuIlWYM8dWCg3185ngMgUQxkgUk7/kEbwGBsmT+xtZAMQcwcgPkSm8qeATEQ7ToiH8eQ==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/protocol-http": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.303.0.tgz",
+      "integrity": "sha512-eqblSsdmKBzgNl06dUnL4toq/OQgZyxVsxHCz2nI/xBk5lI/qAZIJyEgP2GmP8aoWwneAq33roG0VLZoxQ8exg==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/querystring-builder": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.303.0.tgz",
+      "integrity": "sha512-0eMp2gd7Ro0svJ6YVnp9cUiGtrc1d/HynyMfbDkLkqWJAnHMz7Oc1GjK5YyL1hdxm0W+JWZCPR0SovLiaboKDw==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-uri-escape": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/querystring-parser": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.303.0.tgz",
+      "integrity": "sha512-KNJSQiTFiA7W5eYCox8bLGM7kghC3Azad86HQhdsYO0jCoPxcgj8MeP6T7fPTIC4WcTwcWb7T1MpzoeBiKMOTQ==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/service-error-classification": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.303.0.tgz",
+      "integrity": "sha512-eO13PzdtRO9C+g3tyFOpIblX2SbDrIbg2bNtB8JOfjVi3E1b5VsSTXXU/cKV+lbZ9XMzMn3VzGSvpo6AjzfpxA==",
+      "optional": true
+    },
+    "@aws-sdk/shared-ini-file-loader": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.303.0.tgz",
+      "integrity": "sha512-yI84mnnh3pdQtIOo+oGWofaI0rvfhp3DOavB8KHIkQr+RcjF+fxsqbelRfVb25gx7yEWPNCMB8wM+HhklSEFJg==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/signature-v4": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.303.0.tgz",
+      "integrity": "sha512-muw5yclLOgXPHIxv60mhO6R0GVjKbf+M6E/cWvIEVGq8Ke+mLMYNFYNdKP/f/8JgTtW2xwQ7pIK3U8x284ZqPw==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/is-array-buffer": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "@aws-sdk/util-hex-encoding": "3.295.0",
+        "@aws-sdk/util-middleware": "3.303.0",
+        "@aws-sdk/util-uri-escape": "3.303.0",
+        "@aws-sdk/util-utf8": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/smithy-client": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.303.0.tgz",
+      "integrity": "sha512-WDTC9ODdpRAXo8+Mtr5hsPJeR3y3LxfZZFg5dplJgkaxV+MFdnsUCxZfAZMnxcGy5Q2qTzlLLNk9CpadS72v+g==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/middleware-stack": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/token-providers": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.303.0.tgz",
+      "integrity": "sha512-7G7VYbqyX0v6RTD/m7XmArZToMek4jYXR/TuuGHK6ifNJeMDwkU4BcoVDj37vvTPYp6qKU5IE+bE3XmPyVWnGQ==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/client-sso-oidc": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/shared-ini-file-loader": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/types": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.303.0.tgz",
+      "integrity": "sha512-H+Cy8JDTsK87MID6MJbV9ad5xdS9YvaLZSeveC2Zs1WNu2Rp6X9j+mg3EqDSmBKUQVAFRy2b+CSKkH3nnBMedw==",
+      "optional": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/url-parser": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.303.0.tgz",
+      "integrity": "sha512-PXMXGhr89s0MiPTf8Ft/v3sPzh2geSrFhTVSO/01blfBQqtuu0JMqORhLheOdi16AhQNVlYHDW2tWdx7/T+KsA==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/querystring-parser": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-base64": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.303.0.tgz",
+      "integrity": "sha512-oj+p/GHHPcZEKjiiOHU/CyNQeh8i+8dfMMzU+VGdoK5jHaVG8h2b+V7GPf7I4wDkG2ySCK5b5Jw5NUHwdTJ13Q==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/util-buffer-from": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-body-length-browser": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.303.0.tgz",
+      "integrity": "sha512-T643m0pKzgjAvPFy4W8zL+aszG3T22U8hb6stlMvT0z++Smv8QfIvkIkXjWyH2KlOt5GKliHwdOv8SAi0FSMJQ==",
+      "optional": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-body-length-node": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.303.0.tgz",
+      "integrity": "sha512-/hS8z6e18Le60hJr2TUIFoUjUiAsnQsuDn6DxX74GXhMOHeSwZDJ9jHF39quYkNMmAE37GrVH4MI9vE0pN27qw==",
+      "optional": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-buffer-from": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.303.0.tgz",
+      "integrity": "sha512-hUU+NW+SW6RNojtAKnnmz+tDShVKlEx2YsS4a5fSfrKRUes+zWz10cxVX0RQfysd3R6tdSHhbjsSj8eCIybheg==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/is-array-buffer": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-config-provider": {
+      "version": "3.295.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.295.0.tgz",
+      "integrity": "sha512-/5Dl1aV2yI8YQjqwmg4RTnl/E9NmNsx7HIwBZt+dTcOrM0LMUwczQBFFcLyqCj/qv5y+VsvLoAAA/OiBT7hb3w==",
+      "optional": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-defaults-mode-browser": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.303.0.tgz",
+      "integrity": "sha512-jtZgCKelFe4/SHDHQu9ydbYttxSfqSlQojA5qxTJxLvzryIB+/GTHQ+sYWyMyzaD489W9elt1/cSsXd4LtPK0A==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "bowser": "^2.11.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-defaults-mode-node": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.303.0.tgz",
+      "integrity": "sha512-c86iyot/u9bCVcy/rlWL+0kdR51c7C2d2yDXvO9iFCdMKAs28Hw1ijGczVmOcUQ61zKNFSGYx+VekHXN9IWYOg==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/config-resolver": "3.303.0",
+        "@aws-sdk/credential-provider-imds": "3.303.0",
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/property-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-endpoints": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.303.0.tgz",
+      "integrity": "sha512-dPg9+l3VY3nclWFiWAVNWek5lQwgdtY8oRYOgCeyntce9FlNrPQgCRTVr36D0iQ0aNCs0GWzfjgL+rIdCF66/w==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-hex-encoding": {
+      "version": "3.295.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.295.0.tgz",
+      "integrity": "sha512-XJcoVo41kHzhe28PBm/rqt5mdCp8R6abwiW9ug1dA6FOoPUO8kBUxDv6xaOmA2hfRvd2ocFfBXaUCBqUowkGcQ==",
+      "optional": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-locate-window": {
+      "version": "3.295.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.295.0.tgz",
+      "integrity": "sha512-d/s+zhUx5Kh4l/ecMP/TBjzp1GR/g89Q4nWH6+wH5WgdHsK+LG+vmsk6mVNuP/8wsCofYG4NBqp5Ulbztbm9QA==",
+      "optional": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-middleware": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.303.0.tgz",
+      "integrity": "sha512-HAfBcbZw1+pY3dIEDM4jVpH1ViFcGH5s0q1dr+x4rcLGpMM3B4dH0HUgDPtycG8sw+nk+9jGgiEtgaCNOpJLGA==",
+      "optional": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-retry": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.303.0.tgz",
+      "integrity": "sha512-RWwRNjoWMcpDouz69wPuFXWFVzwYtUkTbJfa46SjKl1IwqMHS4f9yjJfCwJIoLOW9M/o2JB7nD0Ij3gqqzajLw==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/service-error-classification": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-uri-escape": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.303.0.tgz",
+      "integrity": "sha512-N3ULNuHCL3QzAlCTY+XRRkRQTYCTU8RRuzFCJX0pDpz9t2K+tLT7DbxqupWGNFGl5Xlulf1Is14J3BP/Dx91rA==",
+      "optional": true,
+      "requires": {
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-user-agent-browser": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.303.0.tgz",
+      "integrity": "sha512-Kex3abpUrTX9z129jiI8sfjIUmQDwiWjhkvBkPmrwjFY/sZcnOcXj5nP2iwJ+k6CnA5ZK5PjZ6P62t+eJ5MTXw==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/types": "3.303.0",
+        "bowser": "^2.11.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-user-agent-node": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.303.0.tgz",
+      "integrity": "sha512-QYUg8F/Ho6AsVZaSSRMf/LWoEPDyOwgKZBw3AbKoH6RxAdAsdL1SXz5t4A6jHakP9TLVN2Yw2WRbHDe4LATASQ==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/node-config-provider": "3.303.0",
+        "@aws-sdk/types": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@aws-sdk/util-utf8": {
+      "version": "3.303.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.303.0.tgz",
+      "integrity": "sha512-tZXVuMOIONPOuOGBs/XRdzxv6jUvTM620dRFFIHZwlGiW8bo0x0LlonrzDAJZA4e9ZwmxJIj8Ji13WVRBGvZWg==",
+      "optional": true,
+      "requires": {
+        "@aws-sdk/util-buffer-from": "3.303.0",
+        "tslib": "^2.5.0"
+      }
+    },
+    "@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"
+      }
+    },
     "@babel/runtime": {
       "version": "7.21.0",
       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
@@ -7865,6 +9835,12 @@
         "readable-stream": "^3.4.0"
       }
     },
+    "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
+    },
     "brace-expansion": {
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -7895,9 +9871,12 @@
       }
     },
     "bson": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/bson/-/bson-5.1.0.tgz",
-      "integrity": "sha512-FEecNHkhYRBe7X9KDkdG12xNuz5VHGeH6mCE0B5sBmYtiR/Ux/9vUH/v4NUoBCDr6NuEhvahjoLiiRogptVW0A=="
+      "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",
@@ -8726,6 +10705,15 @@
       "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
       "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
     },
+    "fast-xml-parser": {
+      "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,
+      "requires": {
+        "strnum": "^1.0.5"
+      }
+    },
     "fastq": {
       "version": "1.13.0",
       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
@@ -10275,12 +12263,13 @@
       "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
     },
     "mongodb": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.1.0.tgz",
-      "integrity": "sha512-qgKb7y+EI90y4weY3z5+lIgm8wmexbonz0GalHkSElQXVKtRuwqXuhXKccyvIjXCJVy9qPV82zsinY0W1FBnJw==",
+      "version": "4.14.0",
+      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.14.0.tgz",
+      "integrity": "sha512-coGKkWXIBczZPr284tYKFLg+KbGPPLlSbdgfKAb6QqCFt5bo5VFZ50O3FFzsw4rnkqjwT6D8Qcoo9nshYKM7Mg==",
       "requires": {
-        "bson": "^5.0.1",
-        "mongodb-connection-string-url": "^2.6.0",
+        "@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"
       }
@@ -11384,6 +13373,12 @@
       "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
       "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
     },
+    "strnum": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
+      "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==",
+      "optional": true
+    },
     "style-to-object": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz",
@@ -11596,9 +13591,9 @@
       }
     },
     "tslib": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
-      "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
+      "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
     },
     "tsutils": {
       "version": "3.21.0",
diff --git a/package.json b/package.json
index 6c6a77f..74942e1 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
     "fs-extra": "^11.1.0",
     "gray-matter": "^4.0.3",
     "ioredis": "^5.2.5",
-    "mongodb": "^5.1.0",
+    "mongodb": "^4.1.1",
     "next": "13.0.4",
     "next-auth": "^4.20.1",
     "react": "18.2.0",
diff --git a/pages/api/emotes.ts b/pages/api/emotes.ts
index f93bad3..9b54cb3 100644
--- a/pages/api/emotes.ts
+++ b/pages/api/emotes.ts
@@ -54,8 +54,10 @@ export default async function handler(
         channel: (await getBTTVUser(redis, "56418014")).channelEmotes,
       },
       ffz: {
-        global: ffzGlobal.sets["3"].emoticons.concat(
-          ffzGlobal.sets["4330"].emoticons
+        // concat all emoticons in the ffzGlobal.sets json keys
+        global: Object.values(ffzGlobal.sets).reduce(
+          (acc: any, cur: any) => acc.concat(cur.emoticons),
+          []
         ),
         channel: (await getFFZEmoteSet(redis, "341402")).set.emoticons,
       },
diff --git a/pages/index.tsx b/pages/index.tsx
index 3c6802a..abb0291 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -21,17 +21,14 @@ function Home() {
           let base_url = emote.data.host.url;
           // get the largest emote size, append it to the base url
           let largest = emote.data.host.files[emote.data.host.files.length - 1];
-          // if width != height, skip it
-          if (largest.width !== largest.height) {
-            return null;
+          // could be null
+          if (!largest || largest.width !== largest.height) {
+            return false;
           }
+
           return `https:${base_url}/${largest.name}`;
         });
 
-        // remove null values
-
-        emoteUrls = emoteUrls.filter((emote: any) => emote !== null);
-
         setEmotes(emoteUrls);
         setCurrentEmote(Math.floor(Math.random() * emoteUrls.length));
       });
diff --git a/pages/user/[username]/index.tsx b/pages/user/[username]/index.tsx
index a84a7df..e3db5f8 100644
--- a/pages/user/[username]/index.tsx
+++ b/pages/user/[username]/index.tsx
@@ -55,6 +55,10 @@ function UserPage(props: UserPageProps) {
           let base_url = emote.data.host.url;
           // get the largest emote size, append it to the base url
           let largest = emote.data.host.files[emote.data.host.files.length - 1];
+          // if null return
+          if (!largest) {
+            return false;
+          }
           emotes["7tv"][emote.data.name] = `https:${base_url}/${largest.name}`;
         });
         // same for global emotes
@@ -77,14 +81,14 @@ function UserPage(props: UserPageProps) {
         // ffz
         data["ffz"].channel.forEach((emote: any) => {
           // ffz emotes don't have all sizes available, so we need to get the largest one by taking the largest key in the urls object
-          emotes["ffz"][emote.name] = `https:${
+          emotes["ffz"][emote.name] = `${
             emote.urls[
               Math.max(...Object.keys(emote.urls).map((k) => parseInt(k)))
             ]
           }`;
         });
         data["ffz"].global.forEach((emote: any) => {
-          emotes["ffz"][emote.name] = `https:${
+          emotes["ffz"][emote.name] = `${
             emote.urls[
               Math.max(...Object.keys(emote.urls).map((k) => parseInt(k)))
             ]