From b487ab82cc0978e47521af5850ccc87a6742726f Mon Sep 17 00:00:00 2001 From: Talon Date: Mon, 26 Aug 2024 00:18:00 +0200 Subject: [PATCH] Switch backend to node, docker likely broken --- backend/bun.lockb | Bin 79333 -> 0 bytes backend/db.sqlite | Bin 0 -> 53248 bytes .../0_init.sql => migrations/1_init.sql} | 9 +- .../2_localtime.sql} | 0 backend/package-lock.json | 2084 +++++++ backend/package.json | 9 +- backend/src/config.ts | 3 + backend/src/db.ts | 29 +- backend/src/jobs/vacuum.ts | 2 +- backend/src/services/channel-service.ts | 18 +- backend/src/services/file-service.ts | 12 +- backend/src/services/message-service.ts | 32 +- backend/src/services/search-service.ts | 10 +- frontend/bun.lockb | Bin 166025 -> 0 bytes frontend/package-lock.json | 4949 +++++++++++++++++ 15 files changed, 7101 insertions(+), 56 deletions(-) delete mode 100644 backend/bun.lockb create mode 100644 backend/db.sqlite rename backend/{src/migrations/0_init.sql => migrations/1_init.sql} (82%) rename backend/{src/migrations/1_localtime.sql => migrations/2_localtime.sql} (100%) create mode 100644 backend/package-lock.json delete mode 100644 frontend/bun.lockb create mode 100644 frontend/package-lock.json diff --git a/backend/bun.lockb b/backend/bun.lockb deleted file mode 100644 index f66b41c7354310004f1d522699e850a5396ab0fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79333 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 diff --git a/backend/db.sqlite b/backend/db.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..99f11204ca9b344eb332260aa2ad7df91ce24203 GIT binary patch literal 53248 zcmeI*Piz}m9S89FS37q8Oj;2cw94`hRJK{Cb?hWff{^N_ZflV^!FIM3X%&s_XM0q8 z#yc}kX(a>+3qmUn9Jp{q91#*1v^Q3JKwS5ZgoIW|i-h2?z3g(~_r{(i>I^Ltgv6(EtP4{onpC`85V7H49nu((#ak{x@~#f@>s3-t)OVj?DErcth~Ry z9TaxB;qhj{V|OX2T4|@q?iTMA_P1*+)ubHH?D166vY#X~EZMaiMpvXH)9KOv_jW7A z(*3d@Wa=cMG^-Tv6)VN^R&SlovWf+ ztofapji+a(8;!?Iy>Nw`}xI3pK{0mRv#kB|qrk_>JNodpaEoeJnE^y>&s8gLpKN&&x+w!$+^> zxd#o~YMJemBY2t=4>g^fP$HRneD-aWVTWnZ*LSaK725 z-Ehe*RO=`$c0t3VB1w9&PkJY3nEQ;~+1|aAK8j976H80-QQ>^sX7f9tcIo-l1#MDx zGUf8N*~~DHJG~6+w=Fw!w(DoJ(_;v3G@7`1b25VA(LoyyUgPRvN9H5`N$_}2k0ufc z`K|By!TLjo|0^7(pY&ghF+A=J&qpHdbm%!v3q~JtQX9#iAB0Ayw3Bh@e|0vZ42P_|J3NgAuglM>K*8^+5pfoL9U5=_XZAcGSd=?c27*Bvs=uy>2vf!liy$uc+zFA zKV^>kY(7aub}W%Mz!A*PC%4trwKbgT~5CT5;7&-Pnt(5KLjkzq}TCes8BxMr{4 z<*eQvaOQSQ$D^V&^PJ`kT1|IYkBG8i+g+;1qUmoGi%4;7yLW@tXsc_sJDzE^Mf6Rx z#|*1U6WALA(MHpBc*CRMsLqZ_lY;zNUZODd*6@0^+wX9Pi%Lz4X7w2j>W9Pnj(JF% z)K{vrZP3gyziv?%Rcf~=gkhgtvq^aFpiPq-{TL{oo`{FlDKOjh1f$on2O^0o_Pa|> z)LrfziZEOP_BvwA9(bZQzjG~ztZpc|Y;I*KyS|iLW7+KH^4jLg`m1V0iX~$Ck~nN* z`Ky~NtFI~|Uz(Vo-^}J0Wy)WW@;z=p8QVR#xssjL|0=2a`;z{V{=WXl7w{#HkRbp8 z2tWV=5P$##AOHafKmY!SbWkE)X6^hDGDBI%#dHvs&NHn2bd0uX=z1Rwwb2tWV=5P$## zAn;-eL^OFu))fCi9X=?^6)iS1`u>0YLvj88T>m?5V1WPxAOHafKmY;|fB*y_009U< z;Dr^?G*z0DHJWiizZL&C%?OzDKmV8Y=Mw#3fdB*`009U<00Izz00bZa0SG|g5(!MJ zugHhoaZTG2Hw1`9p>>8<@pXV$AOHafKmY;|fB*y_009U<00I!WWCH#L|NJHE6uJWe z2tWV=5P$##AOHafKmY;|fIvt9*Z(07Jb?fNAOHafKmY;|fB*y_009VGN`Zd?)FvZ1 literal 0 HcmV?d00001 diff --git a/backend/src/migrations/0_init.sql b/backend/migrations/1_init.sql similarity index 82% rename from backend/src/migrations/0_init.sql rename to backend/migrations/1_init.sql index 4ed7e39..b569e75 100644 --- a/backend/src/migrations/0_init.sql +++ b/backend/migrations/1_init.sql @@ -2,7 +2,8 @@ CREATE TABLE IF NOT EXISTS channels ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, createdAt DATETIME DEFAULT CURRENT_TIMESTAMP -) CREATE TABLE IF NOT EXISTS files ( +); +CREATE TABLE IF NOT EXISTS files ( id INTEGER PRIMARY KEY AUTOINCREMENT, channelId INTEGER, filePath TEXT, @@ -11,7 +12,8 @@ CREATE TABLE IF NOT EXISTS channels ( originalName TEXT, createdAt DATETIME DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (channelId) REFERENCES channels (id) ON DELETE CASCADE -) CREATE TABLE IF NOT EXISTS messages ( +); +CREATE TABLE IF NOT EXISTS messages ( id INTEGER PRIMARY KEY AUTOINCREMENT, channelId INTEGER, content TEXT, @@ -21,7 +23,8 @@ CREATE TABLE IF NOT EXISTS channels ( FOREIGN KEY (fileId) REFERENCES files (id) ON DELETE SET NULL -) CREATE VIRTUAL TABLE IF NOT EXISTS messages_fts USING fts5( +); +CREATE VIRTUAL TABLE IF NOT EXISTS messages_fts USING fts5( content, content = 'messages', content_rowid = 'id' diff --git a/backend/src/migrations/1_localtime.sql b/backend/migrations/2_localtime.sql similarity index 100% rename from backend/src/migrations/1_localtime.sql rename to backend/migrations/2_localtime.sql diff --git a/backend/package-lock.json b/backend/package-lock.json new file mode 100644 index 0000000..fb2c738 --- /dev/null +++ b/backend/package-lock.json @@ -0,0 +1,2084 @@ +{ + "name": "notebrook-backend", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "notebrook-backend", + "dependencies": { + "@types/better-sqlite3": "^7.6.11", + "@types/cors": "^2.8.17", + "@types/express": "^4.17.21", + "@types/jsonwebtoken": "^9.0.6", + "@types/multer": "^1.4.11", + "@types/ws": "^8.5.12", + "better-sqlite3": "^11.2.1", + "cors": "^2.8.5", + "dotenv": "^16.4.5", + "express": "^4.19.2", + "multer": "^1.4.5-lts.1", + "ollama": "^0.5.8", + "openai": "^4.56.0", + "sharp": "^0.33.5", + "tsx": "^4.18.0", + "ws": "^8.18.0" + }, + "devDependencies": { + "@types/bun": "latest" + }, + "peerDependencies": { + "typescript": "^5.5.4" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", + "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", + "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", + "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", + "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", + "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", + "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", + "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", + "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", + "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", + "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", + "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", + "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", + "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", + "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", + "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", + "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", + "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", + "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", + "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", + "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", + "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", + "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", + "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", + "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@types/better-sqlite3": { + "version": "7.6.11", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bun": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.1.8.tgz", + "integrity": "sha512-PIwVFQKPviksiibobyvcWtMvMFMTj91T8dQEh9l1P3Ypr3ZuVn9w7HSr+5mTNrPqD1xpdDLEErzZPU8gqHBu6g==", + "dev": true, + "dependencies": { + "bun-types": "1.1.26" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cors": { + "version": "2.8.17", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.21", + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.5", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "license": "MIT" + }, + "node_modules/@types/jsonwebtoken": { + "version": "9.0.6", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "license": "MIT" + }, + "node_modules/@types/multer": { + "version": "1.4.11", + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/node": { + "version": "22.2.0", + "license": "MIT", + "dependencies": { + "undici-types": "~6.13.0" + } + }, + "node_modules/@types/node-fetch": { + "version": "2.6.11", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/qs": { + "version": "6.9.15", + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.5.12", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "license": "MIT", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/append-field": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/better-sqlite3": { + "version": "11.2.1", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "bindings": "^1.5.0", + "prebuild-install": "^7.1.1" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "license": "MIT", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/body-parser": { + "version": "1.20.2", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "license": "MIT" + }, + "node_modules/bun-types": { + "version": "1.1.26", + "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.1.26.tgz", + "integrity": "sha512-n7jDe62LsB2+WE8Q8/mT3azkPaatKlj/2MyP6hi3mKvPz9oPpB6JW/Ll6JHtNLudasFFuvfgklYSE+rreGvBjw==", + "dev": true, + "dependencies": { + "@types/node": "~20.12.8", + "@types/ws": "~8.5.10" + } + }, + "node_modules/bun-types/node_modules/@types/node": { + "version": "20.12.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.14.tgz", + "integrity": "sha512-scnD59RpYD91xngrQQLGkE+6UrHUPzeKZWhhjBSa3HSkwjbQc38+q3RoIVEwxQGRw3M+j5hpNAM+lgV3cVormg==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/bun-types/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/busboy": { + "version": "1.6.0", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "license": "ISC" + }, + "node_modules/color": { + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.6.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "license": "MIT" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.5", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", + "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.23.1", + "@esbuild/android-arm": "0.23.1", + "@esbuild/android-arm64": "0.23.1", + "@esbuild/android-x64": "0.23.1", + "@esbuild/darwin-arm64": "0.23.1", + "@esbuild/darwin-x64": "0.23.1", + "@esbuild/freebsd-arm64": "0.23.1", + "@esbuild/freebsd-x64": "0.23.1", + "@esbuild/linux-arm": "0.23.1", + "@esbuild/linux-arm64": "0.23.1", + "@esbuild/linux-ia32": "0.23.1", + "@esbuild/linux-loong64": "0.23.1", + "@esbuild/linux-mips64el": "0.23.1", + "@esbuild/linux-ppc64": "0.23.1", + "@esbuild/linux-riscv64": "0.23.1", + "@esbuild/linux-s390x": "0.23.1", + "@esbuild/linux-x64": "0.23.1", + "@esbuild/netbsd-x64": "0.23.1", + "@esbuild/openbsd-arm64": "0.23.1", + "@esbuild/openbsd-x64": "0.23.1", + "@esbuild/sunos-x64": "0.23.1", + "@esbuild/win32-arm64": "0.23.1", + "@esbuild/win32-ia32": "0.23.1", + "@esbuild/win32-x64": "0.23.1" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, + "node_modules/express": { + "version": "4.19.2", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data-encoder": { + "version": "1.7.2", + "license": "MIT" + }, + "node_modules/formdata-node": { + "version": "4.4.1", + "license": "MIT", + "dependencies": { + "node-domexception": "1.0.0", + "web-streams-polyfill": "4.0.0-beta.3" + }, + "engines": { + "node": ">= 12.20" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.7.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz", + "integrity": "sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "license": "MIT" + }, + "node_modules/gopd": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "license": "MIT" + }, + "node_modules/isarray": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/methods": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "license": "MIT" + }, + "node_modules/multer": { + "version": "1.4.5-lts.1", + "license": "MIT", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.0.0", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-abi": { + "version": "3.67.0", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ollama": { + "version": "0.5.8", + "license": "MIT", + "dependencies": { + "whatwg-fetch": "^3.6.20" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/openai": { + "version": "4.56.0", + "license": "Apache-2.0", + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7" + }, + "bin": { + "openai": "bin/cli" + }, + "peerDependencies": { + "zod": "^3.23.8" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/openai/node_modules/@types/node": { + "version": "18.19.45", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/openai/node_modules/@types/node/node_modules/undici-types": { + "version": "5.26.5", + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "license": "MIT" + }, + "node_modules/prebuild-install": { + "version": "7.1.2", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "license": "MIT" + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.6.3", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "license": "ISC" + }, + "node_modules/sharp": { + "version": "0.33.5", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.5", + "@img/sharp-darwin-x64": "0.33.5", + "@img/sharp-libvips-darwin-arm64": "1.0.4", + "@img/sharp-libvips-darwin-x64": "1.0.4", + "@img/sharp-libvips-linux-arm": "1.0.5", + "@img/sharp-libvips-linux-arm64": "1.0.4", + "@img/sharp-libvips-linux-s390x": "1.0.4", + "@img/sharp-libvips-linux-x64": "1.0.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", + "@img/sharp-linux-arm": "0.33.5", + "@img/sharp-linux-arm64": "0.33.5", + "@img/sharp-linux-s390x": "0.33.5", + "@img/sharp-linux-x64": "0.33.5", + "@img/sharp-linuxmusl-arm64": "0.33.5", + "@img/sharp-linuxmusl-x64": "0.33.5", + "@img/sharp-wasm32": "0.33.5", + "@img/sharp-win32-ia32": "0.33.5", + "@img/sharp-win32-x64": "0.33.5" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "license": "MIT" + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "license": "MIT" + }, + "node_modules/tsx": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.18.0.tgz", + "integrity": "sha512-a1jaKBSVQkd6yEc1/NI7G6yHFfefIcuf3QJST7ZEyn4oQnxLYrZR5uZAM8UrwUa3Ge8suiZHcNS1gNrEvmobqg==", + "dependencies": { + "esbuild": "~0.23.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.5.4", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.13.0", + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/web-streams-polyfill": { + "version": "4.0.0-beta.3", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.18.0", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + } + } +} diff --git a/backend/package.json b/backend/package.json index 9e0cf45..a674d5d 100644 --- a/backend/package.json +++ b/backend/package.json @@ -3,8 +3,8 @@ "module": "src/server.ts", "type": "module", "scripts": { - "start": "bun run src/server.ts", - "dev": "bun run --watch src/server.ts", + "start": "tsx src/server.ts", + "dev": "tsx --watch src/server.ts", "test": "echo \"Error: no test specified\" && exit 1" }, "devDependencies": { @@ -20,12 +20,15 @@ "@types/jsonwebtoken": "^9.0.6", "@types/multer": "^1.4.11", "@types/ws": "^8.5.12", + "better-sqlite3": "^11.2.1", "cors": "^2.8.5", + "dotenv": "^16.4.5", "express": "^4.19.2", "multer": "^1.4.5-lts.1", "ollama": "^0.5.8", "openai": "^4.56.0", "sharp": "^0.33.5", + "tsx": "^4.18.0", "ws": "^8.18.0" } -} \ No newline at end of file +} diff --git a/backend/src/config.ts b/backend/src/config.ts index 7ec968a..7c840ab 100644 --- a/backend/src/config.ts +++ b/backend/src/config.ts @@ -1,3 +1,6 @@ +import dotenv from "dotenv"; +dotenv.config(); + export const DB_PATH = process.env["DB_PATH"] || "/usr/src/app/data/db.sqlite"; export const SECRET_KEY = process.env["API_TOKEN"] || ""; export const UPLOAD_DIR = process.env["UPLOAD_DIR"] || "/usr/src/app/data/uploads/"; diff --git a/backend/src/db.ts b/backend/src/db.ts index 3f19c78..0e1286a 100644 --- a/backend/src/db.ts +++ b/backend/src/db.ts @@ -1,14 +1,14 @@ -import { Database } from 'bun:sqlite'; +import Database from 'better-sqlite3'; import { DB_PATH } from './config'; import { logger } from './globals'; import { readdir, readFile } from "fs/promises"; -import { join } from "path"; +import { join, dirname } from "path"; export let FTS5Enabled = true; export const initializeDB = () => { logger.info("Checking fts"); - const ftstest = db.query(`pragma compile_options;`); + const ftstest = db.prepare(`pragma compile_options;`); const result = ftstest.all() as { compile_options: string }[]; if (result.find((o) => o["compile_options"].includes("ENABLE_FTS5"))) { logger.info("FTS5 is enabled"); @@ -27,28 +27,28 @@ export const initializeDB = () => { export const migrate = async () => { logger.info(`Checking for migrations...`); - const result = db.query(`SELECT name FROM sqlite_master WHERE type='table' AND name='meta'`); + const result = db.prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name='meta'`); if (result.all().length === 0) { logger.info(`Creating meta table...`); - db.run(`CREATE TABLE meta (version INTEGER)`); - db.run(`INSERT INTO meta (version) VALUES (0)`); + db.exec(`CREATE TABLE meta (version INTEGER)`); + db.exec(`INSERT INTO meta (version) VALUES (-1)`); } - const version = db.query(`SELECT version FROM meta`).get() as { version: number }; + const version = db.prepare(`SELECT version FROM meta`).get() as { version: number }; logger.info(`Migration version: ${version.version}`); // we are in bun.js. use its API's to read the file list. - logger.info(`Searching for migrations in ${join(__dirname, "migrations")}`); - const files = await readdir(join(__dirname, "migrations")); + logger.info(`Searching for migrations in ${join("migrations")}`); + const files = await readdir(join("migrations")); for (const file of files) { const [fileVersion, ...rest] = file.split("_"); logger.info(`Found migration ${fileVersion}`); if (fileVersion && Number(fileVersion) > version.version) { logger.info(`Running migration ${file}`); - const sql = new TextDecoder().decode(await readFile(join(__dirname, `migrations/${file}`))); - db.run(sql); - const query = db.query(`UPDATE meta SET version = $version`); - const res = query.run({ $version: Number(fileVersion) }) + const sql = new TextDecoder().decode(await readFile(join(`migrations/${file}`))); + db.exec(sql); + const query = db.prepare(`UPDATE meta SET version = ($version)`); + const res = query.run({ version: fileVersion }) logger.info(`Migration ${file} done`); } } @@ -60,5 +60,8 @@ logger.info(`Loading database at ${DB_PATH}`); export const db = new Database(DB_PATH); + + + initializeDB(); migrate(); \ No newline at end of file diff --git a/backend/src/jobs/vacuum.ts b/backend/src/jobs/vacuum.ts index 9823c6c..5f3504f 100644 --- a/backend/src/jobs/vacuum.ts +++ b/backend/src/jobs/vacuum.ts @@ -4,6 +4,6 @@ import { db } from "../db"; export const scheduleVacuum = () => { scheduler.register('vacuum', () => { - db.query('VACUUM'); + db.exec('VACUUM'); }, 1, TimeUnit.DAY); } diff --git a/backend/src/services/channel-service.ts b/backend/src/services/channel-service.ts index 121fba3..c53b1eb 100644 --- a/backend/src/services/channel-service.ts +++ b/backend/src/services/channel-service.ts @@ -2,36 +2,36 @@ import { db } from "../db"; import { events } from "../globals"; export const createChannel = async (name: string) => { - const query = db.query(`INSERT INTO channels (name) VALUES ($name)`); - const result = query.run({ $name: name }); + const query = db.prepare(`INSERT INTO channels (name) VALUES ($name)`); + const result = query.run({ name: name }); events.emit('channel-created', { id: result.lastInsertRowid, name }); return { id: result.lastInsertRowid, name }; } export const deleteChannel = async (id: string) => { - const query = db.query(`DELETE FROM channels WHERE id = ($channelId)`); - const result = query.run({$channelId: id}); + const query = db.prepare(`DELETE FROM channels WHERE id = ($channelId)`); + const result = query.run({channelId: id}); // No need to manually delete messages and files as they are set to cascade on delete in the schema events .emit('channel-deleted', id); return result; } export const getChannels = async () => { - const query = db.query(`SELECT * FROM channels`); + const query = db.prepare(`SELECT * FROM channels`); const rows = query.all(); return rows; } export const mergeChannel = async (channelId: string, targetChannelId: string) => { - const query = db.query(`UPDATE messages SET channelId = $targetChannelId WHERE channelId = $channelId`); - const result = query.run({ $channelId: channelId, $targetChannelId: targetChannelId }); + const query = db.prepare(`UPDATE messages SET channelId = $targetChannelId WHERE channelId = $channelId`); + const result = query.run({ channelId: channelId, targetChannelId: targetChannelId }); events.emit('channel-merged', channelId, targetChannelId); return result; } export const updateChannel = async (id: string, name: string) => { - const query = db.query(`UPDATE channels SET name = $name WHERE id = $id`); - const result = query.run({ $id: id, $name: name }); + const query = db.prepare(`UPDATE channels SET name = $name WHERE id = $id`); + const result = query.run({ id: id, name: name }); events.emit('channel-updated', id, name); return result; } \ No newline at end of file diff --git a/backend/src/services/file-service.ts b/backend/src/services/file-service.ts index 9178d10..3dba4f7 100644 --- a/backend/src/services/file-service.ts +++ b/backend/src/services/file-service.ts @@ -2,20 +2,20 @@ import { db } from "../db"; import { events } from "../globals"; export const uploadFile = async (channelId: string, messageId: string, filePath: string, fileType: string, fileSize: number, originalName: string) => { - const query = db.query(`INSERT INTO files (channelId, filePath, fileType, fileSize, originalName) VALUES ($channelId, $filePath, $fileType, $fileSize, $originalName)`); - const result = query.run({ $channelId: channelId, $filePath: filePath, $fileType: fileType, $fileSize: fileSize, $originalName: originalName }); + const query = db.prepare(`INSERT INTO files (channelId, filePath, fileType, fileSize, originalName) VALUES ($channelId, $filePath, $fileType, $fileSize, $originalName)`); + const result = query.run({ channelId: channelId, filePath: filePath, fileType: fileType, fileSize: fileSize, originalName: originalName }); const fileId = result.lastInsertRowid; - const updateQuery = db.query(`UPDATE messages SET fileId = $fileId WHERE id = $messageId`); - const result2 = updateQuery.run({ $fileId: fileId, $messageId: messageId }); + const updateQuery = db.prepare(`UPDATE messages SET fileId = $fileId WHERE id = $messageId`); + const result2 = updateQuery.run({ fileId: fileId, messageId: messageId }); events.emit('file-uploaded', result.lastInsertRowid, channelId, messageId, filePath, fileType, fileSize, originalName); return result2; '' } export const getFiles = async (messageId: string) => { - const query = db.query(`SELECT * FROM files WHERE messageId = $messageId`); - const rows = query.all({ $messageId: messageId }); + const query = db.prepare(`SELECT * FROM files WHERE messageId = $messageId`); + const rows = query.all({ messageId: messageId }); return rows; } \ No newline at end of file diff --git a/backend/src/services/message-service.ts b/backend/src/services/message-service.ts index d42dfb9..f320436 100644 --- a/backend/src/services/message-service.ts +++ b/backend/src/services/message-service.ts @@ -2,15 +2,15 @@ import { db, FTS5Enabled } from "../db"; import { events } from "../globals"; export const createMessage = async (channelId: string, content: string) => { - const query = db.query(`INSERT INTO messages (channelId, content) VALUES ($channelId, $content)`); - const result = query.run({ $channelId: channelId, $content: content }); + const query = db.prepare(`INSERT INTO messages (channelId, content) VALUES ($channelId, $content)`); + const result = query.run({ channelId: channelId, content: content }); const messageId = result.lastInsertRowid; console.log(`Adding message for search with id ${messageId}`); // Insert into FTS table if FTS is enabled. if (FTS5Enabled) { - const query2 = db.query(`INSERT INTO messages_fts (rowid, content) VALUES ($rowId, $content)`); - const result2 = query2.run({ $rowId: messageId, $content: content }); + const query2 = db.prepare(`INSERT INTO messages_fts (rowid, content) VALUES ($rowId, $content)`); + const result2 = query2.run({ rowId: messageId, content: content }); } events.emit('message-created', messageId, channelId, content); @@ -18,36 +18,36 @@ export const createMessage = async (channelId: string, content: string) => { } export const updateMessage = async (messageId: string, content: string, append: boolean = false) => { - const query = db.query(`UPDATE messages SET content = $content WHERE id = $id`); - const result = query.run({ $content: content, $id: messageId }); + const query = db.prepare(`UPDATE messages SET content = $content WHERE id = $id`); + const result = query.run({ content: content, id: messageId }); // Update FTS table if enabled if (!FTS5Enabled) { - const query2 = db.query(`INSERT INTO messages_fts (rowid, content) VALUES ($rowId, $content) ON CONFLICT(rowid) DO UPDATE SET content = excluded.content`); - const result2 = query.run({ $rowId: messageId, $content: content }); + const query2 = db.prepare(`INSERT INTO messages_fts (rowid, content) VALUES ($rowId, $content) ON CONFLICT(rowid) DO UPDATE SET content = excluded.content`); + const result2 = query.run({ rowId: messageId, content: content }); } events.emit('message-updated', messageId, content); return result; } export const deleteMessage = async (messageId: string) => { - const query = db.query(`DELETE FROM messages WHERE id = $id`); - const result = query.run({ $id: messageId }); + const query = db.prepare(`DELETE FROM messages WHERE id = $id`); + const result = query.run({ id: messageId }); // Remove from FTS table if enabled if (FTS5Enabled) { - const query2 = db.query(`DELETE FROM messages_fts WHERE rowid = $rowId`); - const result2 = query.run({ $rowId: messageId }); + const query2 = db.prepare(`DELETE FROM messages_fts WHERE rowid = $rowId`); + const result2 = query.run({ rowId: messageId }); } events.emit('message-deleted', messageId); return result; } export const getMessages = async (channelId: string) => { - const query = db.query(` + const query = db.prepare(` SELECT messages.id, messages.channelId, messages.content, messages.createdAt, files.id as fileId, files.filePath, files.fileType, files.createdAt as fileCreatedAt, files.originalName, files.fileSize @@ -60,12 +60,12 @@ export const getMessages = async (channelId: string) => { WHERE messages.channelId = $channelId `); - const rows = query.all({ $channelId: channelId }); + const rows = query.all({ channelId: channelId }); return rows; } export const getMessage = async (id: string) => { - const query = db.query(` + const query = db.prepare(` SELECT messages.id, messages.channelId, messages.content, messages.createdAt, files.id as fileId, files.filePath, files.fileType, files.createdAt as fileCreatedAt, files.originalName, files.fileSize @@ -78,6 +78,6 @@ export const getMessage = async (id: string) => { WHERE messages.id = $id `); - const row = query.get({ $id: id }); + const row = query.get({ id: id }); return row; } \ No newline at end of file diff --git a/backend/src/services/search-service.ts b/backend/src/services/search-service.ts index 47dd84f..d0f39aa 100644 --- a/backend/src/services/search-service.ts +++ b/backend/src/services/search-service.ts @@ -12,7 +12,7 @@ export const search = async (query: string, channelId?: string) => { JOIN messages ON messages_fts.rowid = messages.id WHERE messages_fts MATCH lower($query) AND messages.channelId = $channelId `; - params = { $channelId: channelId, $query: (query || '').toString().toLowerCase() }; + params = { channelId: channelId, query: (query || '').toString().toLowerCase() }; } else { sql = ` SELECT messages.id, messages.channelId, messages.content, messages.createdAt @@ -20,7 +20,7 @@ export const search = async (query: string, channelId?: string) => { JOIN messages ON messages_fts.rowid = messages.id WHERE messages_fts MATCH lower($query) `; - params = { $query: (query || '').toString().toLowerCase() }; + params = { query: (query || '').toString().toLowerCase() }; } } else { console.log("Performing search without FTS5. This might be very slow."); @@ -28,16 +28,16 @@ export const search = async (query: string, channelId?: string) => { sql = ` SELECT * FROM messages WHERE LOWER(content) LIKE '%' || LOWER($query) || '%' AND channelId = $channelId `; - params = { $channelId: channelId, $query: query }; + params = { channelId: channelId, query: query }; } else { sql = ` SELECT * FROM messages WHERE LOWER(content) LIKE '%' || LOWER($query) || '%' `; - params = { $query: query }; + params = { query: query }; } } - const sqlquery = db.query(sql); + const sqlquery = db.prepare(sql); const rows = sqlquery.all(params); return rows; diff --git a/frontend/bun.lockb b/frontend/bun.lockb deleted file mode 100644 index f72fe7497976bbaafabfc49134c0f151e87722e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166025 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�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 diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..0b53354 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,4949 @@ +{ + "name": "notebrook-frontend", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "notebrook-frontend", + "version": "0.0.0", + "dependencies": { + "idb-keyval": "^6.2.1", + "vite-plugin-pwa": "^0.20.1" + }, + "devDependencies": { + "typescript": "^5.5.3", + "vite": "^5.4.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.5.tgz", + "integrity": "sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w==", + "dependencies": { + "@babel/types": "^7.25.4", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", + "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.4.tgz", + "integrity": "sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==", + "dependencies": { + "@babel/types": "^7.25.4" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", + "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.4", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "dependencies": { + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "node_modules/@babel/runtime": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.4.tgz", + "integrity": "sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.4.tgz", + "integrity": "sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.4", + "@babel/parser": "^7.25.4", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.4", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.4.tgz", + "integrity": "sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.0.tgz", + "integrity": "sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.0.tgz", + "integrity": "sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.0.tgz", + "integrity": "sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.0.tgz", + "integrity": "sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.0.tgz", + "integrity": "sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.0.tgz", + "integrity": "sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.0.tgz", + "integrity": "sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.0.tgz", + "integrity": "sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.0.tgz", + "integrity": "sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.0.tgz", + "integrity": "sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.0.tgz", + "integrity": "sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.0.tgz", + "integrity": "sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.0.tgz", + "integrity": "sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.0.tgz", + "integrity": "sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.0.tgz", + "integrity": "sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz", + "integrity": "sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001653", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz", + "integrity": "sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "dependencies": { + "browserslist": "^4.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==" + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==" + }, + "node_modules/fdir": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.3.0.tgz", + "integrity": "sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "node_modules/idb-keyval": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.1.tgz", + "integrity": "sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/pretty-bytes": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz", + "integrity": "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==", + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rollup": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz", + "integrity": "sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.21.0", + "@rollup/rollup-android-arm64": "4.21.0", + "@rollup/rollup-darwin-arm64": "4.21.0", + "@rollup/rollup-darwin-x64": "4.21.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.0", + "@rollup/rollup-linux-arm-musleabihf": "4.21.0", + "@rollup/rollup-linux-arm64-gnu": "4.21.0", + "@rollup/rollup-linux-arm64-musl": "4.21.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.0", + "@rollup/rollup-linux-riscv64-gnu": "4.21.0", + "@rollup/rollup-linux-s390x-gnu": "4.21.0", + "@rollup/rollup-linux-x64-gnu": "4.21.0", + "@rollup/rollup-linux-x64-musl": "4.21.0", + "@rollup/rollup-win32-arm64-msvc": "4.21.0", + "@rollup/rollup-win32-ia32-msvc": "4.21.0", + "@rollup/rollup-win32-x64-msvc": "4.21.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/smob": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", + "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==" + }, + "node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.5.tgz", + "integrity": "sha512-Dlqgt6h0QkoHttG53/WGADNh9QhcjCAIZMTERAVhdpmIBEejSuLI9ZmGKWzB7tweBjlk30+s/ofi4SLmBeTYhw==", + "dependencies": { + "fdir": "^6.2.0", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.2.tgz", + "integrity": "sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.41", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-pwa": { + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.20.1.tgz", + "integrity": "sha512-M6Pk4b18i5ryrhKgiIF8Zud0HGphYiCbEfLsCdlvmwn/CEnS6noVwfIDG/+3V7r6yxpPV/gLiKw+rIlCCiCCoQ==", + "dependencies": { + "debug": "^4.3.4", + "pretty-bytes": "^6.1.1", + "tinyglobby": "^0.2.0", + "workbox-build": "^7.1.0", + "workbox-window": "^7.1.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vite-pwa/assets-generator": "^0.2.4", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0", + "workbox-build": "^7.1.0", + "workbox-window": "^7.1.0" + }, + "peerDependenciesMeta": { + "@vite-pwa/assets-generator": { + "optional": true + } + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/workbox-background-sync": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-7.1.0.tgz", + "integrity": "sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-7.1.0.tgz", + "integrity": "sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==", + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-build": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-7.1.1.tgz", + "integrity": "sha512-WdkVdC70VMpf5NBCtNbiwdSZeKVuhTEd5PV3mAwpTQCGAB5XbOny1P9egEgNdetv4srAMmMKjvBk4RD58LpooA==", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.24.4", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-replace": "^2.4.1", + "@rollup/plugin-terser": "^0.4.3", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "7.1.0", + "workbox-broadcast-update": "7.1.0", + "workbox-cacheable-response": "7.1.0", + "workbox-core": "7.1.0", + "workbox-expiration": "7.1.0", + "workbox-google-analytics": "7.1.0", + "workbox-navigation-preload": "7.1.0", + "workbox-precaching": "7.1.0", + "workbox-range-requests": "7.1.0", + "workbox-recipes": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0", + "workbox-streams": "7.1.0", + "workbox-sw": "7.1.0", + "workbox-window": "7.1.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/workbox-build/node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/workbox-build/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, + "node_modules/workbox-build/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "node_modules/workbox-build/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/workbox-build/node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workbox-build/node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-7.1.0.tgz", + "integrity": "sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==", + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-core": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-7.1.0.tgz", + "integrity": "sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==" + }, + "node_modules/workbox-expiration": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-7.1.0.tgz", + "integrity": "sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-7.1.0.tgz", + "integrity": "sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==", + "dependencies": { + "workbox-background-sync": "7.1.0", + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-7.1.0.tgz", + "integrity": "sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==", + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-precaching": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-7.1.0.tgz", + "integrity": "sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==", + "dependencies": { + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-7.1.0.tgz", + "integrity": "sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==", + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-recipes": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-7.1.0.tgz", + "integrity": "sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==", + "dependencies": { + "workbox-cacheable-response": "7.1.0", + "workbox-core": "7.1.0", + "workbox-expiration": "7.1.0", + "workbox-precaching": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" + } + }, + "node_modules/workbox-routing": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-7.1.0.tgz", + "integrity": "sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==", + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-strategies": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-7.1.0.tgz", + "integrity": "sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==", + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-streams": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-7.1.0.tgz", + "integrity": "sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==", + "dependencies": { + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0" + } + }, + "node_modules/workbox-sw": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.1.0.tgz", + "integrity": "sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==" + }, + "node_modules/workbox-window": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-7.1.0.tgz", + "integrity": "sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "7.1.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } +}