From 04f39da61116f00dae6db9a875da9ce848896079 Mon Sep 17 00:00:00 2001 From: Rozenrod Date: Mon, 27 Oct 2025 00:11:18 +0200 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=BC=D1=96=D0=BD=D0=B5=D0=BD=D0=BE=20?= =?UTF-8?q?=D0=B4=D0=B8=D1=80=D0=B5=D0=BA=D1=82=D0=BE=D1=80=D1=96=D1=97=20?= =?UTF-8?q?=D0=94=D0=BE=D0=B4=D0=B0=D0=BD=D0=BE=20=D1=81=D0=BA=D1=80=D0=B8?= =?UTF-8?q?=D0=BF=D1=82=D0=B8=20CRON=20=D0=9F=D0=BE=D0=BB=D1=96=D0=BF?= =?UTF-8?q?=D1=88=D0=B5=D0=BD=D0=BE=20=D0=BC=D0=B5=D1=85=D0=B0=D0=BD=D1=96?= =?UTF-8?q?=D0=B7=D0=BC=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D1=83=20=D1=81?= =?UTF-8?q?=D1=82=D0=B5=D0=BD=D0=B4=D1=96=D0=B2=20=D1=82=D0=B0=20=D1=97?= =?UTF-8?q?=D1=85=20=D1=80=D0=B5=D0=B4=D0=B0=D0=B3=D1=83=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=BD=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 25 +- api/Dockerfile | 2 +- api/config/db.js | 4 +- api/package-lock.json | 4 +- api/package.json | 2 +- api/services/history.entrance.service.js | 16 + api/services/history.homestead.service.js | 28 +- api/services/stand.service.js | 92 +- api/utils/notification.js | 152 + backup.py | 37 - cron/Dockerfile | 11 + cron/config/db.js | 17 + cron/cron.js | 13 + cron/package-lock.json | 3594 ++++++++++++++++++++ cron/package.json | 18 + cron/tasks/backup.js | 33 + cron/utils/notification.js | 152 + {cards => data/cards}/cache/T80.png | Bin {cards => data/cards}/homestead/H1.webp | Bin {cards => data/cards}/homestead/H10.webp | Bin {cards => data/cards}/homestead/H11.webp | Bin {cards => data/cards}/homestead/H12.webp | Bin {cards => data/cards}/homestead/H13.webp | Bin {cards => data/cards}/homestead/H14.webp | Bin {cards => data/cards}/homestead/H15.webp | Bin {cards => data/cards}/homestead/H16.webp | Bin {cards => data/cards}/homestead/H17.webp | Bin {cards => data/cards}/homestead/H18.webp | Bin {cards => data/cards}/homestead/H19.webp | Bin {cards => data/cards}/homestead/H2.webp | Bin {cards => data/cards}/homestead/H20.webp | Bin {cards => data/cards}/homestead/H21.webp | Bin {cards => data/cards}/homestead/H22.webp | Bin {cards => data/cards}/homestead/H23.webp | Bin {cards => data/cards}/homestead/H24.webp | Bin {cards => data/cards}/homestead/H25.webp | Bin {cards => data/cards}/homestead/H26.webp | Bin {cards => data/cards}/homestead/H27.webp | Bin {cards => data/cards}/homestead/H28.webp | Bin {cards => data/cards}/homestead/H29.webp | Bin {cards => data/cards}/homestead/H3.webp | Bin {cards => data/cards}/homestead/H30.webp | Bin {cards => data/cards}/homestead/H31.webp | Bin {cards => data/cards}/homestead/H32.webp | Bin {cards => data/cards}/homestead/H33.webp | Bin {cards => data/cards}/homestead/H34.webp | Bin {cards => data/cards}/homestead/H35.webp | Bin {cards => data/cards}/homestead/H36.webp | Bin {cards => data/cards}/homestead/H37.webp | Bin {cards => data/cards}/homestead/H38.webp | Bin {cards => data/cards}/homestead/H39.webp | Bin {cards => data/cards}/homestead/H4.webp | Bin {cards => data/cards}/homestead/H40.webp | Bin {cards => data/cards}/homestead/H41.webp | Bin {cards => data/cards}/homestead/H42.webp | Bin {cards => data/cards}/homestead/H43.webp | Bin {cards => data/cards}/homestead/H44.webp | Bin {cards => data/cards}/homestead/H45.webp | Bin {cards => data/cards}/homestead/H46.webp | Bin {cards => data/cards}/homestead/H47.webp | Bin {cards => data/cards}/homestead/H48.webp | Bin {cards => data/cards}/homestead/H49.webp | Bin {cards => data/cards}/homestead/H5.webp | Bin {cards => data/cards}/homestead/H50.webp | Bin {cards => data/cards}/homestead/H51.webp | Bin {cards => data/cards}/homestead/H52.webp | Bin {cards => data/cards}/homestead/H6.webp | Bin {cards => data/cards}/homestead/H7.webp | Bin {cards => data/cards}/homestead/H8.webp | Bin {cards => data/cards}/homestead/H9.webp | Bin {cards => data/cards}/house/T1.webp | Bin {cards => data/cards}/house/T10.webp | Bin {cards => data/cards}/house/T11.webp | Bin {cards => data/cards}/house/T12.webp | Bin {cards => data/cards}/house/T13.webp | Bin {cards => data/cards}/house/T14.webp | Bin {cards => data/cards}/house/T15.webp | Bin {cards => data/cards}/house/T16.webp | Bin {cards => data/cards}/house/T17.webp | Bin {cards => data/cards}/house/T18.webp | Bin {cards => data/cards}/house/T19.webp | Bin {cards => data/cards}/house/T2.webp | Bin {cards => data/cards}/house/T20.webp | Bin {cards => data/cards}/house/T21.webp | Bin {cards => data/cards}/house/T22.webp | Bin {cards => data/cards}/house/T23.webp | Bin {cards => data/cards}/house/T25.webp | Bin {cards => data/cards}/house/T26.webp | Bin {cards => data/cards}/house/T28.webp | Bin {cards => data/cards}/house/T29.webp | Bin {cards => data/cards}/house/T3.webp | Bin {cards => data/cards}/house/T30.webp | Bin {cards => data/cards}/house/T31.webp | Bin {cards => data/cards}/house/T32.webp | Bin {cards => data/cards}/house/T33.webp | Bin {cards => data/cards}/house/T34.webp | Bin {cards => data/cards}/house/T35.webp | Bin {cards => data/cards}/house/T36.webp | Bin {cards => data/cards}/house/T37.webp | Bin {cards => data/cards}/house/T38.webp | Bin {cards => data/cards}/house/T39.webp | Bin {cards => data/cards}/house/T4.webp | Bin {cards => data/cards}/house/T40.webp | Bin {cards => data/cards}/house/T41.webp | Bin {cards => data/cards}/house/T42.webp | Bin {cards => data/cards}/house/T43.webp | Bin {cards => data/cards}/house/T44.webp | Bin {cards => data/cards}/house/T45.webp | Bin {cards => data/cards}/house/T46.webp | Bin {cards => data/cards}/house/T47.webp | Bin {cards => data/cards}/house/T48.webp | Bin {cards => data/cards}/house/T49.webp | Bin {cards => data/cards}/house/T5.webp | Bin {cards => data/cards}/house/T50.webp | Bin {cards => data/cards}/house/T51.webp | Bin {cards => data/cards}/house/T52.webp | Bin {cards => data/cards}/house/T53.webp | Bin {cards => data/cards}/house/T54.webp | Bin {cards => data/cards}/house/T55.webp | Bin {cards => data/cards}/house/T56.webp | Bin {cards => data/cards}/house/T57.webp | Bin {cards => data/cards}/house/T58.webp | Bin {cards => data/cards}/house/T59.webp | Bin {cards => data/cards}/house/T6.webp | Bin {cards => data/cards}/house/T60.webp | Bin {cards => data/cards}/house/T61.webp | Bin {cards => data/cards}/house/T62.webp | Bin {cards => data/cards}/house/T63.webp | Bin {cards => data/cards}/house/T64.webp | Bin {cards => data/cards}/house/T65.webp | Bin {cards => data/cards}/house/T66.webp | Bin {cards => data/cards}/house/T67.webp | Bin {cards => data/cards}/house/T68.webp | Bin {cards => data/cards}/house/T69.webp | Bin {cards => data/cards}/house/T7.webp | Bin {cards => data/cards}/house/T70.webp | Bin {cards => data/cards}/house/T71.webp | Bin {cards => data/cards}/house/T72.webp | Bin {cards => data/cards}/house/T73.webp | Bin {cards => data/cards}/house/T74.webp | Bin {cards => data/cards}/house/T75.webp | Bin {cards => data/cards}/house/T76.webp | Bin {cards => data/cards}/house/T77.webp | Bin {cards => data/cards}/house/T78.webp | Bin {cards => data/cards}/house/T79.webp | Bin {cards => data/cards}/house/T8.webp | Bin {cards => data/cards}/house/T80.webp | Bin {cards => data/cards}/house/T9.webp | Bin dock/Sheep-Service.dbml | 4 +- docker-compose.yml | 27 +- scripts/generatorExcel.js | 242 -- scripts/import.js | 170 - scripts/migrator.js | 208 -- scripts/package-lock.json | 1969 ----------- scripts/package.json | 15 - scripts/updateDB.py | 181 - web/css/main.css | 6 + web/img/stand_0.png | Bin 0 -> 2115824 bytes web/img/stand_1.png | Bin 0 -> 3016853 bytes web/img/stand_2.png | Bin 0 -> 3276135 bytes web/img/stand_3.png | Bin 0 -> 3341153 bytes web/img/stand_4.png | Bin 0 -> 3267893 bytes web/img/stand_5.png | Bin 0 -> 3517816 bytes web/index.html | 3 + web/lib/app.js | 6 +- web/lib/pages/auth/script.js | 3 +- web/lib/pages/home/style.css | 20 +- web/lib/pages/sheeps/script.js | 211 +- web/lib/pages/stand/card/index.html | 53 +- web/lib/pages/stand/card/script.js | 231 +- web/lib/pages/stand/card/style.css | 52 +- web/lib/pages/stand/constructor/index.html | 10 +- web/lib/pages/stand/editor/index.html | 113 + web/lib/pages/stand/editor/script.js | 108 + web/lib/pages/stand/editor/style.css | 120 + web/lib/pages/stand/index.html | 282 -- web/lib/pages/stand/list/index.html | 39 +- web/lib/pages/stand/list/script.js | 44 +- web/lib/pages/stand/list/style.css | 77 +- web/lib/pages/stand/script.js | 123 - web/lib/pages/stand/style.css | 148 - web/lib/pages/territory/card/script.js | 8 +- web/lib/pages/territory/list/script.js | 40 +- web/lib/pages/territory/list/style.css | 3 +- web/lib/router/routes.js | 4 + web/package-lock.json | 4 +- web/package.json | 2 +- web/server.js | 1 - web/share.html | 238 -- web/sw.js | 10 +- web/test.html | 34 - ws/config/db.js | 8 +- ws/package-lock.json | 4 +- ws/package.json | 2 +- ws/services/apartments.service.js | 2 +- ws/services/buildings.service.js | 2 +- 196 files changed, 4962 insertions(+), 4065 deletions(-) create mode 100644 api/utils/notification.js delete mode 100644 backup.py create mode 100644 cron/Dockerfile create mode 100644 cron/config/db.js create mode 100644 cron/cron.js create mode 100644 cron/package-lock.json create mode 100644 cron/package.json create mode 100644 cron/tasks/backup.js create mode 100644 cron/utils/notification.js rename {cards => data/cards}/cache/T80.png (100%) rename {cards => data/cards}/homestead/H1.webp (100%) rename {cards => data/cards}/homestead/H10.webp (100%) rename {cards => data/cards}/homestead/H11.webp (100%) rename {cards => data/cards}/homestead/H12.webp (100%) rename {cards => data/cards}/homestead/H13.webp (100%) rename {cards => data/cards}/homestead/H14.webp (100%) rename {cards => data/cards}/homestead/H15.webp (100%) rename {cards => data/cards}/homestead/H16.webp (100%) rename {cards => data/cards}/homestead/H17.webp (100%) rename {cards => data/cards}/homestead/H18.webp (100%) rename {cards => data/cards}/homestead/H19.webp (100%) rename {cards => data/cards}/homestead/H2.webp (100%) rename {cards => data/cards}/homestead/H20.webp (100%) rename {cards => data/cards}/homestead/H21.webp (100%) rename {cards => data/cards}/homestead/H22.webp (100%) rename {cards => data/cards}/homestead/H23.webp (100%) rename {cards => data/cards}/homestead/H24.webp (100%) rename {cards => data/cards}/homestead/H25.webp (100%) rename {cards => data/cards}/homestead/H26.webp (100%) rename {cards => data/cards}/homestead/H27.webp (100%) rename {cards => data/cards}/homestead/H28.webp (100%) rename {cards => data/cards}/homestead/H29.webp (100%) rename {cards => data/cards}/homestead/H3.webp (100%) rename {cards => data/cards}/homestead/H30.webp (100%) rename {cards => data/cards}/homestead/H31.webp (100%) rename {cards => data/cards}/homestead/H32.webp (100%) rename {cards => data/cards}/homestead/H33.webp (100%) rename {cards => data/cards}/homestead/H34.webp (100%) rename {cards => data/cards}/homestead/H35.webp (100%) rename {cards => data/cards}/homestead/H36.webp (100%) rename {cards => data/cards}/homestead/H37.webp (100%) rename {cards => data/cards}/homestead/H38.webp (100%) rename {cards => data/cards}/homestead/H39.webp (100%) rename {cards => data/cards}/homestead/H4.webp (100%) rename {cards => data/cards}/homestead/H40.webp (100%) rename {cards => data/cards}/homestead/H41.webp (100%) rename {cards => data/cards}/homestead/H42.webp (100%) rename {cards => data/cards}/homestead/H43.webp (100%) rename {cards => data/cards}/homestead/H44.webp (100%) rename {cards => data/cards}/homestead/H45.webp (100%) rename {cards => data/cards}/homestead/H46.webp (100%) rename {cards => data/cards}/homestead/H47.webp (100%) rename {cards => data/cards}/homestead/H48.webp (100%) rename {cards => data/cards}/homestead/H49.webp (100%) rename {cards => data/cards}/homestead/H5.webp (100%) rename {cards => data/cards}/homestead/H50.webp (100%) rename {cards => data/cards}/homestead/H51.webp (100%) rename {cards => data/cards}/homestead/H52.webp (100%) rename {cards => data/cards}/homestead/H6.webp (100%) rename {cards => data/cards}/homestead/H7.webp (100%) rename {cards => data/cards}/homestead/H8.webp (100%) rename {cards => data/cards}/homestead/H9.webp (100%) rename {cards => data/cards}/house/T1.webp (100%) rename {cards => data/cards}/house/T10.webp (100%) rename {cards => data/cards}/house/T11.webp (100%) rename {cards => data/cards}/house/T12.webp (100%) rename {cards => data/cards}/house/T13.webp (100%) rename {cards => data/cards}/house/T14.webp (100%) rename {cards => data/cards}/house/T15.webp (100%) rename {cards => data/cards}/house/T16.webp (100%) rename {cards => data/cards}/house/T17.webp (100%) rename {cards => data/cards}/house/T18.webp (100%) rename {cards => data/cards}/house/T19.webp (100%) rename {cards => data/cards}/house/T2.webp (100%) rename {cards => data/cards}/house/T20.webp (100%) rename {cards => data/cards}/house/T21.webp (100%) rename {cards => data/cards}/house/T22.webp (100%) rename {cards => data/cards}/house/T23.webp (100%) rename {cards => data/cards}/house/T25.webp (100%) rename {cards => data/cards}/house/T26.webp (100%) rename {cards => data/cards}/house/T28.webp (100%) rename {cards => data/cards}/house/T29.webp (100%) rename {cards => data/cards}/house/T3.webp (100%) rename {cards => data/cards}/house/T30.webp (100%) rename {cards => data/cards}/house/T31.webp (100%) rename {cards => data/cards}/house/T32.webp (100%) rename {cards => data/cards}/house/T33.webp (100%) rename {cards => data/cards}/house/T34.webp (100%) rename {cards => data/cards}/house/T35.webp (100%) rename {cards => data/cards}/house/T36.webp (100%) rename {cards => data/cards}/house/T37.webp (100%) rename {cards => data/cards}/house/T38.webp (100%) rename {cards => data/cards}/house/T39.webp (100%) rename {cards => data/cards}/house/T4.webp (100%) rename {cards => data/cards}/house/T40.webp (100%) rename {cards => data/cards}/house/T41.webp (100%) rename {cards => data/cards}/house/T42.webp (100%) rename {cards => data/cards}/house/T43.webp (100%) rename {cards => data/cards}/house/T44.webp (100%) rename {cards => data/cards}/house/T45.webp (100%) rename {cards => data/cards}/house/T46.webp (100%) rename {cards => data/cards}/house/T47.webp (100%) rename {cards => data/cards}/house/T48.webp (100%) rename {cards => data/cards}/house/T49.webp (100%) rename {cards => data/cards}/house/T5.webp (100%) rename {cards => data/cards}/house/T50.webp (100%) rename {cards => data/cards}/house/T51.webp (100%) rename {cards => data/cards}/house/T52.webp (100%) rename {cards => data/cards}/house/T53.webp (100%) rename {cards => data/cards}/house/T54.webp (100%) rename {cards => data/cards}/house/T55.webp (100%) rename {cards => data/cards}/house/T56.webp (100%) rename {cards => data/cards}/house/T57.webp (100%) rename {cards => data/cards}/house/T58.webp (100%) rename {cards => data/cards}/house/T59.webp (100%) rename {cards => data/cards}/house/T6.webp (100%) rename {cards => data/cards}/house/T60.webp (100%) rename {cards => data/cards}/house/T61.webp (100%) rename {cards => data/cards}/house/T62.webp (100%) rename {cards => data/cards}/house/T63.webp (100%) rename {cards => data/cards}/house/T64.webp (100%) rename {cards => data/cards}/house/T65.webp (100%) rename {cards => data/cards}/house/T66.webp (100%) rename {cards => data/cards}/house/T67.webp (100%) rename {cards => data/cards}/house/T68.webp (100%) rename {cards => data/cards}/house/T69.webp (100%) rename {cards => data/cards}/house/T7.webp (100%) rename {cards => data/cards}/house/T70.webp (100%) rename {cards => data/cards}/house/T71.webp (100%) rename {cards => data/cards}/house/T72.webp (100%) rename {cards => data/cards}/house/T73.webp (100%) rename {cards => data/cards}/house/T74.webp (100%) rename {cards => data/cards}/house/T75.webp (100%) rename {cards => data/cards}/house/T76.webp (100%) rename {cards => data/cards}/house/T77.webp (100%) rename {cards => data/cards}/house/T78.webp (100%) rename {cards => data/cards}/house/T79.webp (100%) rename {cards => data/cards}/house/T8.webp (100%) rename {cards => data/cards}/house/T80.webp (100%) rename {cards => data/cards}/house/T9.webp (100%) delete mode 100644 scripts/generatorExcel.js delete mode 100644 scripts/import.js delete mode 100644 scripts/migrator.js delete mode 100644 scripts/package-lock.json delete mode 100644 scripts/package.json delete mode 100644 scripts/updateDB.py create mode 100644 web/img/stand_0.png create mode 100644 web/img/stand_1.png create mode 100644 web/img/stand_2.png create mode 100644 web/img/stand_3.png create mode 100644 web/img/stand_4.png create mode 100644 web/img/stand_5.png create mode 100644 web/lib/pages/stand/editor/index.html create mode 100644 web/lib/pages/stand/editor/script.js create mode 100644 web/lib/pages/stand/editor/style.css delete mode 100644 web/lib/pages/stand/index.html delete mode 100644 web/lib/pages/stand/script.js delete mode 100644 web/lib/pages/stand/style.css delete mode 100644 web/share.html delete mode 100644 web/test.html diff --git a/README.md b/README.md index 11b5678..e5ee3c7 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,7 @@ 6. [Встановлення NGINX](#6-встановлення-nginx) 7. [Налаштування IP адреси CloudFlare](#7-настройка-ip-адреси-cloudflare) 8. [Налаштування NGINX для веб](#8-настройка-nginx-для-веб) -9. [Встановлення Certbot](#9-встановлення-certbot) -10. [CRONTAB Backup](#10-crontab-backup) +9. [Встановлення Certbot](#9-встановлення-certbot) --- @@ -267,27 +266,5 @@ sudo /opt/certbot/bin/pip install --upgrade certbot certbot-nginx --- -## 10. CRONTAB Backup - -Редагування cron для резервного копіювання бази даних: - -```bash -crontab -e -``` - -Додати завдання: - -```cron -##################### -# Щоденне збереження резервної копії бази Sheep-Service о 22:30 -30 22 * * * cd /home/username/webapps/sheep-service.com && /usr/bin/python3 backup.py >> /home/username/webapps/sheep-service.com/log/backup.log 2>&1 -##################### -``` - -Встановлення Python-залежностей: - -```bash -sudo pip3 install python-dotenv -``` 💡 **Порада:** Переконайтесь, що всі шляхи до директорій відповідають вашому користувачу та що всі сервіси працюють після перезавантаження Docker або сервера. \ No newline at end of file diff --git a/api/Dockerfile b/api/Dockerfile index a4a524d..7fa3191 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -6,7 +6,7 @@ COPY package.json package-lock.json ./ RUN npm install -RUN apt-get update && apt-get install -y chromium +RUN apt-get update COPY . . diff --git a/api/config/db.js b/api/config/db.js index be8ec60..21ce99a 100644 --- a/api/config/db.js +++ b/api/config/db.js @@ -197,7 +197,8 @@ db.serialize(() => { week_days TEXT DEFAULT '[0, 1, 2, 3, 4, 5, 6]', processing_time REAL DEFAULT 1, status INTEGER DEFAULT 0, - updated_at TIMESTAMP + updated_at TIMESTAMP, + created_at TIMESTAMP ) `); @@ -210,6 +211,7 @@ db.serialize(() => { sheep_id INTEGER, number_sheep TEXT, updated_at TIMESTAMP, + created_at TIMESTAMP, FOREIGN KEY (stand_id) REFERENCES stand_list(id), FOREIGN KEY (sheep_id) REFERENCES sheeps(id) ) diff --git a/api/package-lock.json b/api/package-lock.json index 1a2fe1b..ae6fddf 100644 --- a/api/package-lock.json +++ b/api/package-lock.json @@ -1,12 +1,12 @@ { "name": "API Sheep Service", - "version": "1.0.1", + "version": "2.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "API Sheep Service", - "version": "1.0.1", + "version": "2.0.1", "license": "ISC", "dependencies": { "cors": "^2.8.5", diff --git a/api/package.json b/api/package.json index 4edc293..f996548 100644 --- a/api/package.json +++ b/api/package.json @@ -1,6 +1,6 @@ { "name": "API Sheep Service", - "version": "1.0.1", + "version": "2.0.1", "main": "app.js", "scripts": { "start": "node app.js" diff --git a/api/services/history.entrance.service.js b/api/services/history.entrance.service.js index 9b99af7..e27e8e2 100644 --- a/api/services/history.entrance.service.js +++ b/api/services/history.entrance.service.js @@ -1,4 +1,5 @@ const db = require("../config/db"); +const Notification = require("../utils/notification.js"); class HistoryEntranceService { getHistoryEntrance(entrance_id) { @@ -58,6 +59,21 @@ class HistoryEntranceService { } else if (this.changes === 0) { return res(false); } else { + if (Number(data.sheep_id) > 0) { + Notification.sendSheep({ + sheep_id: Number(data.sheep_id), + title: "Нова територія", + body: "Вам призначено нову територію" + }); + } else if (Number(data.sheep_id) == 0 && Number(data.group_id) > 0) { + Notification.sendGroup({ + group_id: Number(data.group_id), + title: "Нова територія", + body: "Призначено нову групову територію" + }); + } + + res({ "create": "ok", "id": this.lastID }); } }); diff --git a/api/services/history.homestead.service.js b/api/services/history.homestead.service.js index b3462bc..e5921ec 100644 --- a/api/services/history.homestead.service.js +++ b/api/services/history.homestead.service.js @@ -28,10 +28,10 @@ class HistoryHomesteadService { "sheep_id": Number(row.sheep_id), "working": Number(row.working) == 0 ? false : true, "date": { - "start": Number(row.date_start), - "end": row.date_end ? Number(row.date_end) : null + "start": Number(row.date_start), + "end": row.date_end ? Number(row.date_end) : null } - } + } }) return res(data); @@ -43,7 +43,7 @@ class HistoryHomesteadService { createHistoryHomestead(homestead_id, data) { return new Promise((res, rej) => { let sql = 'INSERT INTO homestead_history(homestead_id, name, date_start, group_id, sheep_id, working) VALUES (?, ?, ?, ?, ?, ?)'; - + db.run(sql, [ homestead_id, data.name, @@ -51,13 +51,27 @@ class HistoryHomesteadService { Number(data.group_id), Number(data.sheep_id), 1 - ], function(err) { + ], function (err) { if (err) { console.error(err.message); return res(false); } else if (this.changes === 0) { return res(false); } else { + if (Number(data.sheep_id) > 0) { + Notification.sendSheep({ + sheep_id: Number(data.sheep_id), + title: "Нова територія", + body: "Вам призначено нову територію" + }); + } else if (Number(data.sheep_id) == 0 && Number(data.group_id) > 0) { + Notification.sendGroup({ + group_id: Number(data.group_id), + title: "Нова територія", + body: "Призначено нову групову територію" + }); + } + res({ "create": "ok", "id": this.lastID }); } }); @@ -71,7 +85,7 @@ class HistoryHomesteadService { Math.floor(new Date(Date.now()).getTime()), 0, Number(homestead_id) - ], function(err) { + ], function (err) { if (err) { console.error(err.message); return res(false); @@ -86,7 +100,7 @@ class HistoryHomesteadService { deleteHistoryHomestead(data) { return new Promise((res, rej) => { - db.run('DELETE FROM homestead_history WHERE id = ?', [Number(homestead_id)], function(err) { + db.run('DELETE FROM homestead_history WHERE id = ?', [Number(homestead_id)], function (err) { if (err) { console.error(err.message); return res(false); diff --git a/api/services/stand.service.js b/api/services/stand.service.js index aec6a40..9c57190 100644 --- a/api/services/stand.service.js +++ b/api/services/stand.service.js @@ -1,5 +1,5 @@ -const crypto = require('crypto'); const db = require("../config/db"); +const Notification = require("../utils/notification.js"); class StandService { getStand(id) { @@ -27,7 +27,8 @@ class StandService { "week_days": JSON.parse(row.week_days), "processing_time": Number(row.processing_time), "status": row.status == 1 ? true : false, - "updated_at": Number(row.updated_at) + "updated_at": Number(row.updated_at), + "created_at": Number(row.created_at) } return res(data); @@ -62,7 +63,8 @@ class StandService { "week_days": JSON.parse(row.week_days), "processing_time": Number(row.processing_time), "status": row.status == 1 ? true : false, - "updated_at": Number(row.updated_at) + "updated_at": Number(row.updated_at), + "created_at": Number(row.created_at) } }) @@ -74,7 +76,7 @@ class StandService { createStand(data) { return new Promise((res, rej) => { - let sql = 'INSERT INTO stand_list(title, geo, hour_start, hour_end, quantity_sheep, week_days, processing_time, status, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)'; + let sql = 'INSERT INTO stand_list(title, geo, hour_start, hour_end, quantity_sheep, week_days, processing_time, status, updated_at, created_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'; db.run(sql, [ data.title, @@ -85,6 +87,7 @@ class StandService { JSON.stringify(data.week_days || [1]), Number(data.processing_time) || 1, 1, + Math.floor(Date.now()), Math.floor(Date.now()) ], function (err) { if (err) { @@ -106,6 +109,7 @@ class StandService { hour_start = COALESCE(?, hour_start), hour_end = COALESCE(?, hour_end), quantity_sheep = COALESCE(?, quantity_sheep), + processing_time = COALESCE(?, processing_time), week_days = COALESCE(?, week_days), status = COALESCE(?, status), updated_at = ? @@ -118,6 +122,7 @@ class StandService { data.hour_start !== undefined ? Number(data.hour_start) : null, data.hour_end !== undefined ? Number(data.hour_end) : null, data.quantity_sheep !== undefined ? Number(data.quantity_sheep) : null, + data.processing_time !== undefined ? Number(data.processing_time) : null, data.week_days !== undefined ? JSON.stringify(data.week_days) : null, data.status !== undefined ? (data.status ? 1 : 0) : null, Date.now(), @@ -153,17 +158,35 @@ class StandService { createSchedule(stand_id) { return new Promise((res, rej) => { let date_start; - let getNextMonday = (ts) => { + + const MS_DAY = 24 * 60 * 60 * 1000; + + // Нормализует timestamp из БД: если в секундах — умножает на 1000 + const normalizeTs = (ts) => { + if (!ts) return null; + // если строка — привести к числу + const n = Number(ts); + if (Number.isNaN(n)) return null; + // если кажется секундами (меньше ~1e12) — умножаем + return n < 1e12 ? n * 1000 : n; + }; + + // Возвращает timestamp (ms) следующего понедельника после ts + const getNextMonday = (ts) => { let date = new Date(ts); - // следующий день после max_date + // нормализуем на начало дня + date.setHours(0, 0, 0, 0); + + // всегда переходить к следующему дню (чтобы гарантированно получить следующий понедельник, + // даже если ts уже в понедельник) date.setDate(date.getDate() + 1); - // пока не понедельник – добавляем дни + // пока не понедельник (в JS: 1 — понедельник) while (date.getDay() !== 1) { date.setDate(date.getDate() + 1); } return date.getTime(); - } + }; // 1. Получаем стенд db.get(`SELECT * FROM stand_list WHERE id = ?`, [stand_id], (err, stand) => { @@ -176,8 +199,16 @@ class StandService { return res(false); } - stand.geo = JSON.parse(stand.geo); - stand.week_days = JSON.parse(stand.week_days) + try { + stand.geo = JSON.parse(stand.geo); + } catch (e) { + stand.geo = stand.geo; + } + try { + stand.week_days = JSON.parse(stand.week_days); + } catch (e) { + stand.week_days = Array.isArray(stand.week_days) ? stand.week_days : []; + } // 2. Берём последний date из расписания db.get( @@ -189,27 +220,35 @@ class StandService { return res(false); } - if (row && row.max_date) { - date_start = getNextMonday(row.max_date); // заменить начальную дату + const normalized = normalizeTs(row && row.max_date ? row.max_date : null); + if (normalized) { + date_start = getNextMonday(normalized); } else { - date_start = getNextMonday(Date.now()); // заменить начальную дату + date_start = getNextMonday(Date.now()); } // 3. Генерация новых записей - const stand_length = (stand.hour_end - stand.hour_start) / stand.processing_time; - const timestamp = Math.floor(Date.now()); + // вычисляем количество слотов (целое) + const stand_length = Math.max(0, Math.floor((stand.hour_end - stand.hour_start) / stand.processing_time)); + const timestamp = Date.now(); const list = []; - for (const dayOffset of stand.week_days) { - const stand_date = date_start + (dayOffset * 24 * 60 * 60 * 1000); + // Ожидается, что stand.week_days — массив чисел 0..6, где 0 -> Понедельник, 6 -> Воскресенье + for (const dayOffsetRaw of stand.week_days) { + const dayOffset = Number(dayOffsetRaw); + if (!Number.isFinite(dayOffset) || dayOffset < 0 || dayOffset > 6) continue; + + // dayOffset: 0 => Monday, 6 => Sunday + const stand_date = date_start + (dayOffset * MS_DAY); for (let i = 0; i < stand_length; i++) { - for (let q = 0; q < stand.quantity_sheep; q++) { + for (let q = 0; q < (Number(stand.quantity_sheep) || 0); q++) { list.push([ stand.hour_start + (stand.processing_time * i), q, stand_date, stand.id, + timestamp, timestamp ]); } @@ -221,10 +260,10 @@ class StandService { } // 4. Массовая вставка - const placeholders = list.map(() => "(?, ?, ?, ?, ?)").join(","); + const placeholders = list.map(() => "(?, ?, ?, ?, ?, ?)").join(","); const values = list.flat(); const insertSQL = ` - INSERT INTO stand_schedule(hour, number_sheep, date, stand_id, updated_at) + INSERT INTO stand_schedule(hour, number_sheep, date, stand_id, updated_at, created_at) VALUES ${placeholders} `; @@ -233,7 +272,13 @@ class StandService { console.error(err.message); return res(false); } - res({ status: "ok", inserted: list.length}); + // Notification.sendStand({ + // title: "Додан новий день служіння", + // body: `Стенд «${stand.title}» поповнився, встигніть записатися.`, + // page: `/stand/card/${stand.id}` + // }); + + res({ status: "ok", inserted: list.length }); }); } ); @@ -255,6 +300,8 @@ class StandService { s.id = ss.sheep_id WHERE ss.stand_id = ? + AND + date(ss.date / 1000, 'unixepoch') >= date('now') ORDER BY ss.id; `; @@ -273,7 +320,8 @@ class StandService { "sheep_id": Number(row.sheep_id), "sheep_name": row.sheep_name, "number_sheep": Number(row.number_sheep), - "updated_at": Number(row.updated_at) + "updated_at": Number(row.updated_at), + "created_at": Number(row.created_at) } }) diff --git a/api/utils/notification.js b/api/utils/notification.js new file mode 100644 index 0000000..81351ed --- /dev/null +++ b/api/utils/notification.js @@ -0,0 +1,152 @@ +const db = require("../config/db"); +const webpush = require('web-push'); + +const VAPID_PUBLIC_KEY = process.env.VAPID_PUBLIC_KEY; +const VAPID_PRIVATE_KEY = process.env.VAPID_PRIVATE_KEY; + +webpush.setVapidDetails( + 'mailto:rozenrod320@gmail.com', + VAPID_PUBLIC_KEY, + VAPID_PRIVATE_KEY +); + +class Notification { + async sendSheep({ sheep_id, title, body, page }) { + const sql = ` + SELECT * FROM subscription + WHERE sheep_id = ? + ORDER BY id + `; + + db.all(sql, [sheep_id], async (err, rows) => { + if (err) { + console.error('DB error:', err.message); + return; + } + + if (!rows.length) { + console.log(`🐑 No subscriptions found for sheep_id: ${sheep_id}`); + return; + } + + console.log(`📨 Sending notification to ${rows.length} subscriptions...`); + + const payload = JSON.stringify({ + title: title ?? "Тестове повідомлення", + body: body ?? "Ви успішно підписалися на отримання push повідомлень!", + url: `https://${process.env.DOMAIN}${page ?? ""}` + }); + + const results = await Promise.allSettled(rows.map(row => { + const subscription = { + endpoint: row.endpoint, + keys: JSON.parse(row.keys), + }; + return webpush.sendNotification(subscription, payload); + })); + + const failed = results.filter(r => r.status === 'rejected').length; + console.log(`✅ Sent: ${rows.length - failed}, ❌ Failed: ${failed}`); + }); + } + + async sendGroup({ group_id, title, body, page }) { + const sql = ` + SELECT + subscription.* + FROM + subscription + JOIN + sheeps + ON + sheeps.id = subscription.sheep_id + WHERE + sheeps.group_id = ? + ORDER BY + subscription.id; + `; + + db.all(sql, [group_id], async (err, rows) => { + if (err) { + console.error('DB error:', err.message); + return; + } + + if (!rows.length) { + console.log(`🐑 No subscriptions found for sheep_id: ${sheep_id}`); + return; + } + + console.log(`📨 Sending notification to ${rows.length} subscriptions...`); + + const payload = JSON.stringify({ + title: title ?? "Тестове повідомлення", + body: body ?? "Ви успішно підписалися на отримання push повідомлень!", + url: `https://${process.env.DOMAIN}${page ?? ""}` + }); + + const results = await Promise.allSettled(rows.map(row => { + const subscription = { + endpoint: row.endpoint, + keys: JSON.parse(row.keys), + }; + return webpush.sendNotification(subscription, payload); + })); + + const failed = results.filter(r => r.status === 'rejected').length; + console.log(`✅ Sent: ${rows.length - failed}, ❌ Failed: ${failed}`); + }); + } + + async sendStand({ title, body, page }) { + const sql = ` + SELECT + subscription.* + FROM + subscription + JOIN + sheeps + ON sheeps.id = subscription.sheep_id + JOIN + possibilities + ON possibilities.sheep_id = sheeps.id + WHERE + possibilities.can_view_stand = '1' + ORDER BY + subscription.id; + `; + + db.all(sql, async (err, rows) => { + if (err) { + console.error('DB error:', err.message); + return; + } + + if (!rows.length) { + console.log(`🐑 No subscriptions found for sheep_id: ${sheep_id}`); + return; + } + + console.log(`📨 Sending notification to ${rows.length} subscriptions...`); + + const payload = JSON.stringify({ + title: title ?? "Тестове повідомлення", + body: body ?? "Ви успішно підписалися на отримання push повідомлень!", + url: `https://${process.env.DOMAIN}${page ?? ""}` + }); + + const results = await Promise.allSettled(rows.map(row => { + const subscription = { + endpoint: row.endpoint, + keys: JSON.parse(row.keys), + }; + return webpush.sendNotification(subscription, payload); + })); + + const failed = results.filter(r => r.status === 'rejected').length; + console.log(`✅ Sent: ${rows.length - failed}, ❌ Failed: ${failed}`); + }); + } +}; + +module.exports = new Notification(); \ No newline at end of file diff --git a/backup.py b/backup.py deleted file mode 100644 index 67e26bf..0000000 --- a/backup.py +++ /dev/null @@ -1,37 +0,0 @@ -import os -import requests -from datetime import datetime -from zipfile import ZipFile, ZIP_DEFLATED -from dotenv import load_dotenv - -# Загрузка переменных из .env -load_dotenv() - -TELEGRAM_TOKEN = os.getenv('TELEGRAM_TOKEN') -CHAT_ID = os.getenv('CHAT_ID') -DB_PATH = os.path.join(os.getenv('DB_PATH'), 'database.sqlite') - -def send_document(filename, caption): - url = f'https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendDocument' - with open(filename, 'rb') as f: - response = requests.post( - url, - data={'chat_id': CHAT_ID, 'caption': caption}, - files={'document': f} - ) - print(response.json()) - -def main(): - if not TELEGRAM_TOKEN or not CHAT_ID or not DB_PATH: - print("Помилка: TELEGRAM_TOKEN, CHAT_ID або DB_PATH не задано в .env.") - return - - if os.path.exists(DB_PATH): - timestamp = datetime.now().strftime("%d.%m.%Y %H:%M") - caption = f"Backup Sheep Service DB - {timestamp}" - send_document(DB_PATH, caption) - else: - print("ZIP file not created") - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/cron/Dockerfile b/cron/Dockerfile new file mode 100644 index 0000000..40a4f30 --- /dev/null +++ b/cron/Dockerfile @@ -0,0 +1,11 @@ +FROM node:20.18 + +WORKDIR /app + +COPY package.json package-lock.json ./ + +RUN npm install + +COPY . . + +CMD npm start diff --git a/cron/config/db.js b/cron/config/db.js new file mode 100644 index 0000000..f8b2480 --- /dev/null +++ b/cron/config/db.js @@ -0,0 +1,17 @@ +const sqlite3 = require("sqlite3"); +const path = require("path"); + +const dbPath = process.env.DATABASE_PATH || path.join(__dirname, ".."); +const fullPath = path.join(dbPath, "database.sqlite"); + +const db = new sqlite3.Database(fullPath, (err) => { + if (err) { + console.error("❌ Failed to open sqlite database:", err); + } else { + console.log("✅ SQLite DB opened at", fullPath); + } +}); + +db.exec("PRAGMA foreign_keys = ON;"); + +module.exports = db; \ No newline at end of file diff --git a/cron/cron.js b/cron/cron.js new file mode 100644 index 0000000..c2a7097 --- /dev/null +++ b/cron/cron.js @@ -0,0 +1,13 @@ +const cron = require("node-cron"); +const Backup = require("./tasks/backup"); + +// Завдання: резервна копія БД кожен день в 22:30 +cron.schedule("30 22 * * *", () => { + Backup.database(); + + const now = new Date().toLocaleString(); + console.log(`[${now}] Завдання «Backup» виконане!`); +}); + + +console.log("Cron-завдання запущено."); \ No newline at end of file diff --git a/cron/package-lock.json b/cron/package-lock.json new file mode 100644 index 0000000..b515d3d --- /dev/null +++ b/cron/package-lock.json @@ -0,0 +1,3594 @@ +{ + "name": "CRON Sheep Service", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "CRON Sheep Service", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "dotenv": "^17.2.0", + "node-cron": "^4.2.1", + "node-telegram-bot-api": "^0.66.0", + "sqlite3": "^5.1.7", + "web-push": "^3.6.7" + } + }, + "node_modules/@cypress/request": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.9.tgz", + "integrity": "sha512-I3l7FdGRXluAS44/0NguwWlO83J18p0vlr2FYHrJkWdNYhgVoiYo61IXPqaOsL+vNxU1ZqMACzItGK3/KKDsdw==", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~4.0.4", + "http-signature": "~1.4.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "6.14.0", + "safe-buffer": "^5.1.2", + "tough-cookie": "^5.0.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@cypress/request-promise": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@cypress/request-promise/-/request-promise-5.0.0.tgz", + "integrity": "sha512-eKdYVpa9cBEw2kTBlHeu1PP16Blwtum6QHg/u9s/MoHkZfuo1pRGka1VlUHXF5kdew82BvOJVVGk0x8X0nbp+w==", + "dependencies": { + "bluebird": "^3.5.0", + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^4.1.3" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "@cypress/request": "^3.0.0" + } + }, + "node_modules/@cypress/request-promise/node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "optional": true + }, + "node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "optional": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "optional": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "optional": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "optional": true + }, + "node_modules/agent-base": { + "version": "7.1.4", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "optional": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "optional": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/aproba": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.1.0.tgz", + "integrity": "sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==", + "optional": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "deprecated": "This package is no longer supported.", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findindex": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.findindex/-/array.prototype.findindex-2.2.4.tgz", + "integrity": "sha512-LLm4mhxa9v8j0A/RPnpQAP4svXToJFh+Hp1pNYl5ZD5qpB4zdx/D4YjpVcETkhFbUKWO3iGMVLvrOnnmkAJT6A==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "license": "MIT", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "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/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==" + }, + "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==", + "optional": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/bn.js": { + "version": "4.12.2", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "license": "BSD-3-Clause" + }, + "node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "optional": true, + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "optional": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "optional": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "optional": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dependencies": { + "call-bound": "^1.0.2", + "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.4.3", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.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/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "optional": true + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "17.2.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz", + "integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "optional": true + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "optional": true + }, + "node_modules/es-abstract": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "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.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.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==", + "peer": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "peer": true + }, + "node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "optional": true + }, + "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.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "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/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "deprecated": "This package is no longer supported.", + "optional": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, + "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", + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/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.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "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==", + "optional": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "peer": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "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/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "optional": true + }, + "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/http_ece": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "optional": true + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "optional": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "optional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/http-signature": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", + "integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.18.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "optional": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "optional": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "optional": true + }, + "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.", + "optional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ip-address": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", + "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "optional": true + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "optional": true + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "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": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "peer": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/jwa": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "optional": true, + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/make-fetch-happen/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "optional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "optional": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "optional": true, + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "node_modules/ms": { + "version": "2.1.3", + "license": "MIT" + }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "optional": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-abi": { + "version": "3.78.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.78.0.tgz", + "integrity": "sha512-E2wEyrgX/CqvicaQYU3Ze1PFGjc4QYPGsjUrlYkqAE0WjHEZwgOsGMPMzkMse4LjJbDmaEuDX3CM036j5K2DSQ==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==" + }, + "node_modules/node-cron": { + "version": "4.2.1", + "license": "ISC", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "optional": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-telegram-bot-api": { + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/node-telegram-bot-api/-/node-telegram-bot-api-0.66.0.tgz", + "integrity": "sha512-s4Hrg5q+VPl4/tJVG++pImxF6eb8tNJNj4KnDqAOKL6zGU34lo9RXmyAN158njwGN+v8hdNf8s9fWIYW9hPb5A==", + "dependencies": { + "@cypress/request": "^3.0.1", + "@cypress/request-promise": "^5.0.0", + "array.prototype.findindex": "^2.0.2", + "bl": "^1.2.3", + "debug": "^3.2.7", + "eventemitter3": "^3.0.0", + "file-type": "^3.9.0", + "mime": "^1.6.0", + "pump": "^2.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/node-telegram-bot-api/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "optional": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "deprecated": "This package is no longer supported.", + "optional": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "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.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "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/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "optional": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "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": "^2.0.0", + "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/prebuild-install/node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "optional": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "optional": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, + "node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "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/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "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", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "peer": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", + "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "peer": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/request/node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "peer": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/request/node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "peer": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "peer": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "peer": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "peer": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "optional": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "optional": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/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/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/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply/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/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "optional": true + }, + "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/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "optional": true + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "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/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "optional": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "optional": true, + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "optional": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "optional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/sqlite3": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", + "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^7.0.0", + "prebuild-install": "^7.1.1", + "tar": "^6.1.11" + }, + "optionalDependencies": { + "node-gyp": "8.x" + }, + "peerDependencies": { + "node-gyp": "8.x" + }, + "peerDependenciesMeta": { + "node-gyp": { + "optional": true + } + } + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "optional": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "optional": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "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/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "optional": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-fs": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/tar-fs/node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "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/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tldts": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", + "dependencies": { + "tldts-core": "^6.1.86" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==" + }, + "node_modules/tough-cookie": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", + "dependencies": { + "tldts": "^6.1.32" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "optional": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "optional": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "peer": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/web-push": { + "version": "3.6.7", + "license": "MPL-2.0", + "dependencies": { + "asn1.js": "^5.3.0", + "http_ece": "1.2.0", + "https-proxy-agent": "^7.0.0", + "jws": "^4.0.0", + "minimist": "^1.2.5" + }, + "bin": { + "web-push": "src/cli.js" + }, + "engines": { + "node": ">= 16" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "optional": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/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/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "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": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } +} diff --git a/cron/package.json b/cron/package.json new file mode 100644 index 0000000..53ece9a --- /dev/null +++ b/cron/package.json @@ -0,0 +1,18 @@ +{ + "name": "CRON Sheep Service", + "version": "1.0.0", + "main": "cron.js", + "scripts": { + "start": "node cron.js" + }, + "author": "", + "license": "ISC", + "description": "", + "dependencies": { + "node-cron": "^4.2.1", + "sqlite3": "^5.1.7", + "web-push": "^3.6.7", + "dotenv": "^17.2.0", + "node-telegram-bot-api": "^0.66.0" + } +} diff --git a/cron/tasks/backup.js b/cron/tasks/backup.js new file mode 100644 index 0000000..7ecbee7 --- /dev/null +++ b/cron/tasks/backup.js @@ -0,0 +1,33 @@ +const fs = require("fs"); +const path = require("path"); +const TelegramBot = require("node-telegram-bot-api"); + +const TOKEN = process.env.TELEGRAM_TOKEN; +const CHAT_ID = process.env.CHAT_ID; +const DB_PATH = process.env.DATABASE_PATH || "../"; +const FILE = path.join(DB_PATH, "database.sqlite"); + +const bot = new TelegramBot(TOKEN, { polling: false }); + +class Backup { + async database() { + try { + if (!fs.existsSync(FILE)) { + console.log("❌ Файл бази даних не знайдено:", FILE); + return; + } + + console.log(`📤 Надсилаю файл: ${FILE}`); + + await bot.sendDocument(CHAT_ID, fs.createReadStream(FILE), { + caption: "📦 Резервна копія бази даних", + }); + + console.log("✅ Файл успішно надіслано!"); + } catch (err) { + console.error("❌ Помилка при надсиланні файлу:", err.message); + } + } +} + +module.exports = new Backup(); \ No newline at end of file diff --git a/cron/utils/notification.js b/cron/utils/notification.js new file mode 100644 index 0000000..81351ed --- /dev/null +++ b/cron/utils/notification.js @@ -0,0 +1,152 @@ +const db = require("../config/db"); +const webpush = require('web-push'); + +const VAPID_PUBLIC_KEY = process.env.VAPID_PUBLIC_KEY; +const VAPID_PRIVATE_KEY = process.env.VAPID_PRIVATE_KEY; + +webpush.setVapidDetails( + 'mailto:rozenrod320@gmail.com', + VAPID_PUBLIC_KEY, + VAPID_PRIVATE_KEY +); + +class Notification { + async sendSheep({ sheep_id, title, body, page }) { + const sql = ` + SELECT * FROM subscription + WHERE sheep_id = ? + ORDER BY id + `; + + db.all(sql, [sheep_id], async (err, rows) => { + if (err) { + console.error('DB error:', err.message); + return; + } + + if (!rows.length) { + console.log(`🐑 No subscriptions found for sheep_id: ${sheep_id}`); + return; + } + + console.log(`📨 Sending notification to ${rows.length} subscriptions...`); + + const payload = JSON.stringify({ + title: title ?? "Тестове повідомлення", + body: body ?? "Ви успішно підписалися на отримання push повідомлень!", + url: `https://${process.env.DOMAIN}${page ?? ""}` + }); + + const results = await Promise.allSettled(rows.map(row => { + const subscription = { + endpoint: row.endpoint, + keys: JSON.parse(row.keys), + }; + return webpush.sendNotification(subscription, payload); + })); + + const failed = results.filter(r => r.status === 'rejected').length; + console.log(`✅ Sent: ${rows.length - failed}, ❌ Failed: ${failed}`); + }); + } + + async sendGroup({ group_id, title, body, page }) { + const sql = ` + SELECT + subscription.* + FROM + subscription + JOIN + sheeps + ON + sheeps.id = subscription.sheep_id + WHERE + sheeps.group_id = ? + ORDER BY + subscription.id; + `; + + db.all(sql, [group_id], async (err, rows) => { + if (err) { + console.error('DB error:', err.message); + return; + } + + if (!rows.length) { + console.log(`🐑 No subscriptions found for sheep_id: ${sheep_id}`); + return; + } + + console.log(`📨 Sending notification to ${rows.length} subscriptions...`); + + const payload = JSON.stringify({ + title: title ?? "Тестове повідомлення", + body: body ?? "Ви успішно підписалися на отримання push повідомлень!", + url: `https://${process.env.DOMAIN}${page ?? ""}` + }); + + const results = await Promise.allSettled(rows.map(row => { + const subscription = { + endpoint: row.endpoint, + keys: JSON.parse(row.keys), + }; + return webpush.sendNotification(subscription, payload); + })); + + const failed = results.filter(r => r.status === 'rejected').length; + console.log(`✅ Sent: ${rows.length - failed}, ❌ Failed: ${failed}`); + }); + } + + async sendStand({ title, body, page }) { + const sql = ` + SELECT + subscription.* + FROM + subscription + JOIN + sheeps + ON sheeps.id = subscription.sheep_id + JOIN + possibilities + ON possibilities.sheep_id = sheeps.id + WHERE + possibilities.can_view_stand = '1' + ORDER BY + subscription.id; + `; + + db.all(sql, async (err, rows) => { + if (err) { + console.error('DB error:', err.message); + return; + } + + if (!rows.length) { + console.log(`🐑 No subscriptions found for sheep_id: ${sheep_id}`); + return; + } + + console.log(`📨 Sending notification to ${rows.length} subscriptions...`); + + const payload = JSON.stringify({ + title: title ?? "Тестове повідомлення", + body: body ?? "Ви успішно підписалися на отримання push повідомлень!", + url: `https://${process.env.DOMAIN}${page ?? ""}` + }); + + const results = await Promise.allSettled(rows.map(row => { + const subscription = { + endpoint: row.endpoint, + keys: JSON.parse(row.keys), + }; + return webpush.sendNotification(subscription, payload); + })); + + const failed = results.filter(r => r.status === 'rejected').length; + console.log(`✅ Sent: ${rows.length - failed}, ❌ Failed: ${failed}`); + }); + } +}; + +module.exports = new Notification(); \ No newline at end of file diff --git a/cards/cache/T80.png b/data/cards/cache/T80.png similarity index 100% rename from cards/cache/T80.png rename to data/cards/cache/T80.png diff --git a/cards/homestead/H1.webp b/data/cards/homestead/H1.webp similarity index 100% rename from cards/homestead/H1.webp rename to data/cards/homestead/H1.webp diff --git a/cards/homestead/H10.webp b/data/cards/homestead/H10.webp similarity index 100% rename from cards/homestead/H10.webp rename to data/cards/homestead/H10.webp diff --git a/cards/homestead/H11.webp b/data/cards/homestead/H11.webp similarity index 100% rename from cards/homestead/H11.webp rename to data/cards/homestead/H11.webp diff --git a/cards/homestead/H12.webp b/data/cards/homestead/H12.webp similarity index 100% rename from cards/homestead/H12.webp rename to data/cards/homestead/H12.webp diff --git a/cards/homestead/H13.webp b/data/cards/homestead/H13.webp similarity index 100% rename from cards/homestead/H13.webp rename to data/cards/homestead/H13.webp diff --git a/cards/homestead/H14.webp b/data/cards/homestead/H14.webp similarity index 100% rename from cards/homestead/H14.webp rename to data/cards/homestead/H14.webp diff --git a/cards/homestead/H15.webp b/data/cards/homestead/H15.webp similarity index 100% rename from cards/homestead/H15.webp rename to data/cards/homestead/H15.webp diff --git a/cards/homestead/H16.webp b/data/cards/homestead/H16.webp similarity index 100% rename from cards/homestead/H16.webp rename to data/cards/homestead/H16.webp diff --git a/cards/homestead/H17.webp b/data/cards/homestead/H17.webp similarity index 100% rename from cards/homestead/H17.webp rename to data/cards/homestead/H17.webp diff --git a/cards/homestead/H18.webp b/data/cards/homestead/H18.webp similarity index 100% rename from cards/homestead/H18.webp rename to data/cards/homestead/H18.webp diff --git a/cards/homestead/H19.webp b/data/cards/homestead/H19.webp similarity index 100% rename from cards/homestead/H19.webp rename to data/cards/homestead/H19.webp diff --git a/cards/homestead/H2.webp b/data/cards/homestead/H2.webp similarity index 100% rename from cards/homestead/H2.webp rename to data/cards/homestead/H2.webp diff --git a/cards/homestead/H20.webp b/data/cards/homestead/H20.webp similarity index 100% rename from cards/homestead/H20.webp rename to data/cards/homestead/H20.webp diff --git a/cards/homestead/H21.webp b/data/cards/homestead/H21.webp similarity index 100% rename from cards/homestead/H21.webp rename to data/cards/homestead/H21.webp diff --git a/cards/homestead/H22.webp b/data/cards/homestead/H22.webp similarity index 100% rename from cards/homestead/H22.webp rename to data/cards/homestead/H22.webp diff --git a/cards/homestead/H23.webp b/data/cards/homestead/H23.webp similarity index 100% rename from cards/homestead/H23.webp rename to data/cards/homestead/H23.webp diff --git a/cards/homestead/H24.webp b/data/cards/homestead/H24.webp similarity index 100% rename from cards/homestead/H24.webp rename to data/cards/homestead/H24.webp diff --git a/cards/homestead/H25.webp b/data/cards/homestead/H25.webp similarity index 100% rename from cards/homestead/H25.webp rename to data/cards/homestead/H25.webp diff --git a/cards/homestead/H26.webp b/data/cards/homestead/H26.webp similarity index 100% rename from cards/homestead/H26.webp rename to data/cards/homestead/H26.webp diff --git a/cards/homestead/H27.webp b/data/cards/homestead/H27.webp similarity index 100% rename from cards/homestead/H27.webp rename to data/cards/homestead/H27.webp diff --git a/cards/homestead/H28.webp b/data/cards/homestead/H28.webp similarity index 100% rename from cards/homestead/H28.webp rename to data/cards/homestead/H28.webp diff --git a/cards/homestead/H29.webp b/data/cards/homestead/H29.webp similarity index 100% rename from cards/homestead/H29.webp rename to data/cards/homestead/H29.webp diff --git a/cards/homestead/H3.webp b/data/cards/homestead/H3.webp similarity index 100% rename from cards/homestead/H3.webp rename to data/cards/homestead/H3.webp diff --git a/cards/homestead/H30.webp b/data/cards/homestead/H30.webp similarity index 100% rename from cards/homestead/H30.webp rename to data/cards/homestead/H30.webp diff --git a/cards/homestead/H31.webp b/data/cards/homestead/H31.webp similarity index 100% rename from cards/homestead/H31.webp rename to data/cards/homestead/H31.webp diff --git a/cards/homestead/H32.webp b/data/cards/homestead/H32.webp similarity index 100% rename from cards/homestead/H32.webp rename to data/cards/homestead/H32.webp diff --git a/cards/homestead/H33.webp b/data/cards/homestead/H33.webp similarity index 100% rename from cards/homestead/H33.webp rename to data/cards/homestead/H33.webp diff --git a/cards/homestead/H34.webp b/data/cards/homestead/H34.webp similarity index 100% rename from cards/homestead/H34.webp rename to data/cards/homestead/H34.webp diff --git a/cards/homestead/H35.webp b/data/cards/homestead/H35.webp similarity index 100% rename from cards/homestead/H35.webp rename to data/cards/homestead/H35.webp diff --git a/cards/homestead/H36.webp b/data/cards/homestead/H36.webp similarity index 100% rename from cards/homestead/H36.webp rename to data/cards/homestead/H36.webp diff --git a/cards/homestead/H37.webp b/data/cards/homestead/H37.webp similarity index 100% rename from cards/homestead/H37.webp rename to data/cards/homestead/H37.webp diff --git a/cards/homestead/H38.webp b/data/cards/homestead/H38.webp similarity index 100% rename from cards/homestead/H38.webp rename to data/cards/homestead/H38.webp diff --git a/cards/homestead/H39.webp b/data/cards/homestead/H39.webp similarity index 100% rename from cards/homestead/H39.webp rename to data/cards/homestead/H39.webp diff --git a/cards/homestead/H4.webp b/data/cards/homestead/H4.webp similarity index 100% rename from cards/homestead/H4.webp rename to data/cards/homestead/H4.webp diff --git a/cards/homestead/H40.webp b/data/cards/homestead/H40.webp similarity index 100% rename from cards/homestead/H40.webp rename to data/cards/homestead/H40.webp diff --git a/cards/homestead/H41.webp b/data/cards/homestead/H41.webp similarity index 100% rename from cards/homestead/H41.webp rename to data/cards/homestead/H41.webp diff --git a/cards/homestead/H42.webp b/data/cards/homestead/H42.webp similarity index 100% rename from cards/homestead/H42.webp rename to data/cards/homestead/H42.webp diff --git a/cards/homestead/H43.webp b/data/cards/homestead/H43.webp similarity index 100% rename from cards/homestead/H43.webp rename to data/cards/homestead/H43.webp diff --git a/cards/homestead/H44.webp b/data/cards/homestead/H44.webp similarity index 100% rename from cards/homestead/H44.webp rename to data/cards/homestead/H44.webp diff --git a/cards/homestead/H45.webp b/data/cards/homestead/H45.webp similarity index 100% rename from cards/homestead/H45.webp rename to data/cards/homestead/H45.webp diff --git a/cards/homestead/H46.webp b/data/cards/homestead/H46.webp similarity index 100% rename from cards/homestead/H46.webp rename to data/cards/homestead/H46.webp diff --git a/cards/homestead/H47.webp b/data/cards/homestead/H47.webp similarity index 100% rename from cards/homestead/H47.webp rename to data/cards/homestead/H47.webp diff --git a/cards/homestead/H48.webp b/data/cards/homestead/H48.webp similarity index 100% rename from cards/homestead/H48.webp rename to data/cards/homestead/H48.webp diff --git a/cards/homestead/H49.webp b/data/cards/homestead/H49.webp similarity index 100% rename from cards/homestead/H49.webp rename to data/cards/homestead/H49.webp diff --git a/cards/homestead/H5.webp b/data/cards/homestead/H5.webp similarity index 100% rename from cards/homestead/H5.webp rename to data/cards/homestead/H5.webp diff --git a/cards/homestead/H50.webp b/data/cards/homestead/H50.webp similarity index 100% rename from cards/homestead/H50.webp rename to data/cards/homestead/H50.webp diff --git a/cards/homestead/H51.webp b/data/cards/homestead/H51.webp similarity index 100% rename from cards/homestead/H51.webp rename to data/cards/homestead/H51.webp diff --git a/cards/homestead/H52.webp b/data/cards/homestead/H52.webp similarity index 100% rename from cards/homestead/H52.webp rename to data/cards/homestead/H52.webp diff --git a/cards/homestead/H6.webp b/data/cards/homestead/H6.webp similarity index 100% rename from cards/homestead/H6.webp rename to data/cards/homestead/H6.webp diff --git a/cards/homestead/H7.webp b/data/cards/homestead/H7.webp similarity index 100% rename from cards/homestead/H7.webp rename to data/cards/homestead/H7.webp diff --git a/cards/homestead/H8.webp b/data/cards/homestead/H8.webp similarity index 100% rename from cards/homestead/H8.webp rename to data/cards/homestead/H8.webp diff --git a/cards/homestead/H9.webp b/data/cards/homestead/H9.webp similarity index 100% rename from cards/homestead/H9.webp rename to data/cards/homestead/H9.webp diff --git a/cards/house/T1.webp b/data/cards/house/T1.webp similarity index 100% rename from cards/house/T1.webp rename to data/cards/house/T1.webp diff --git a/cards/house/T10.webp b/data/cards/house/T10.webp similarity index 100% rename from cards/house/T10.webp rename to data/cards/house/T10.webp diff --git a/cards/house/T11.webp b/data/cards/house/T11.webp similarity index 100% rename from cards/house/T11.webp rename to data/cards/house/T11.webp diff --git a/cards/house/T12.webp b/data/cards/house/T12.webp similarity index 100% rename from cards/house/T12.webp rename to data/cards/house/T12.webp diff --git a/cards/house/T13.webp b/data/cards/house/T13.webp similarity index 100% rename from cards/house/T13.webp rename to data/cards/house/T13.webp diff --git a/cards/house/T14.webp b/data/cards/house/T14.webp similarity index 100% rename from cards/house/T14.webp rename to data/cards/house/T14.webp diff --git a/cards/house/T15.webp b/data/cards/house/T15.webp similarity index 100% rename from cards/house/T15.webp rename to data/cards/house/T15.webp diff --git a/cards/house/T16.webp b/data/cards/house/T16.webp similarity index 100% rename from cards/house/T16.webp rename to data/cards/house/T16.webp diff --git a/cards/house/T17.webp b/data/cards/house/T17.webp similarity index 100% rename from cards/house/T17.webp rename to data/cards/house/T17.webp diff --git a/cards/house/T18.webp b/data/cards/house/T18.webp similarity index 100% rename from cards/house/T18.webp rename to data/cards/house/T18.webp diff --git a/cards/house/T19.webp b/data/cards/house/T19.webp similarity index 100% rename from cards/house/T19.webp rename to data/cards/house/T19.webp diff --git a/cards/house/T2.webp b/data/cards/house/T2.webp similarity index 100% rename from cards/house/T2.webp rename to data/cards/house/T2.webp diff --git a/cards/house/T20.webp b/data/cards/house/T20.webp similarity index 100% rename from cards/house/T20.webp rename to data/cards/house/T20.webp diff --git a/cards/house/T21.webp b/data/cards/house/T21.webp similarity index 100% rename from cards/house/T21.webp rename to data/cards/house/T21.webp diff --git a/cards/house/T22.webp b/data/cards/house/T22.webp similarity index 100% rename from cards/house/T22.webp rename to data/cards/house/T22.webp diff --git a/cards/house/T23.webp b/data/cards/house/T23.webp similarity index 100% rename from cards/house/T23.webp rename to data/cards/house/T23.webp diff --git a/cards/house/T25.webp b/data/cards/house/T25.webp similarity index 100% rename from cards/house/T25.webp rename to data/cards/house/T25.webp diff --git a/cards/house/T26.webp b/data/cards/house/T26.webp similarity index 100% rename from cards/house/T26.webp rename to data/cards/house/T26.webp diff --git a/cards/house/T28.webp b/data/cards/house/T28.webp similarity index 100% rename from cards/house/T28.webp rename to data/cards/house/T28.webp diff --git a/cards/house/T29.webp b/data/cards/house/T29.webp similarity index 100% rename from cards/house/T29.webp rename to data/cards/house/T29.webp diff --git a/cards/house/T3.webp b/data/cards/house/T3.webp similarity index 100% rename from cards/house/T3.webp rename to data/cards/house/T3.webp diff --git a/cards/house/T30.webp b/data/cards/house/T30.webp similarity index 100% rename from cards/house/T30.webp rename to data/cards/house/T30.webp diff --git a/cards/house/T31.webp b/data/cards/house/T31.webp similarity index 100% rename from cards/house/T31.webp rename to data/cards/house/T31.webp diff --git a/cards/house/T32.webp b/data/cards/house/T32.webp similarity index 100% rename from cards/house/T32.webp rename to data/cards/house/T32.webp diff --git a/cards/house/T33.webp b/data/cards/house/T33.webp similarity index 100% rename from cards/house/T33.webp rename to data/cards/house/T33.webp diff --git a/cards/house/T34.webp b/data/cards/house/T34.webp similarity index 100% rename from cards/house/T34.webp rename to data/cards/house/T34.webp diff --git a/cards/house/T35.webp b/data/cards/house/T35.webp similarity index 100% rename from cards/house/T35.webp rename to data/cards/house/T35.webp diff --git a/cards/house/T36.webp b/data/cards/house/T36.webp similarity index 100% rename from cards/house/T36.webp rename to data/cards/house/T36.webp diff --git a/cards/house/T37.webp b/data/cards/house/T37.webp similarity index 100% rename from cards/house/T37.webp rename to data/cards/house/T37.webp diff --git a/cards/house/T38.webp b/data/cards/house/T38.webp similarity index 100% rename from cards/house/T38.webp rename to data/cards/house/T38.webp diff --git a/cards/house/T39.webp b/data/cards/house/T39.webp similarity index 100% rename from cards/house/T39.webp rename to data/cards/house/T39.webp diff --git a/cards/house/T4.webp b/data/cards/house/T4.webp similarity index 100% rename from cards/house/T4.webp rename to data/cards/house/T4.webp diff --git a/cards/house/T40.webp b/data/cards/house/T40.webp similarity index 100% rename from cards/house/T40.webp rename to data/cards/house/T40.webp diff --git a/cards/house/T41.webp b/data/cards/house/T41.webp similarity index 100% rename from cards/house/T41.webp rename to data/cards/house/T41.webp diff --git a/cards/house/T42.webp b/data/cards/house/T42.webp similarity index 100% rename from cards/house/T42.webp rename to data/cards/house/T42.webp diff --git a/cards/house/T43.webp b/data/cards/house/T43.webp similarity index 100% rename from cards/house/T43.webp rename to data/cards/house/T43.webp diff --git a/cards/house/T44.webp b/data/cards/house/T44.webp similarity index 100% rename from cards/house/T44.webp rename to data/cards/house/T44.webp diff --git a/cards/house/T45.webp b/data/cards/house/T45.webp similarity index 100% rename from cards/house/T45.webp rename to data/cards/house/T45.webp diff --git a/cards/house/T46.webp b/data/cards/house/T46.webp similarity index 100% rename from cards/house/T46.webp rename to data/cards/house/T46.webp diff --git a/cards/house/T47.webp b/data/cards/house/T47.webp similarity index 100% rename from cards/house/T47.webp rename to data/cards/house/T47.webp diff --git a/cards/house/T48.webp b/data/cards/house/T48.webp similarity index 100% rename from cards/house/T48.webp rename to data/cards/house/T48.webp diff --git a/cards/house/T49.webp b/data/cards/house/T49.webp similarity index 100% rename from cards/house/T49.webp rename to data/cards/house/T49.webp diff --git a/cards/house/T5.webp b/data/cards/house/T5.webp similarity index 100% rename from cards/house/T5.webp rename to data/cards/house/T5.webp diff --git a/cards/house/T50.webp b/data/cards/house/T50.webp similarity index 100% rename from cards/house/T50.webp rename to data/cards/house/T50.webp diff --git a/cards/house/T51.webp b/data/cards/house/T51.webp similarity index 100% rename from cards/house/T51.webp rename to data/cards/house/T51.webp diff --git a/cards/house/T52.webp b/data/cards/house/T52.webp similarity index 100% rename from cards/house/T52.webp rename to data/cards/house/T52.webp diff --git a/cards/house/T53.webp b/data/cards/house/T53.webp similarity index 100% rename from cards/house/T53.webp rename to data/cards/house/T53.webp diff --git a/cards/house/T54.webp b/data/cards/house/T54.webp similarity index 100% rename from cards/house/T54.webp rename to data/cards/house/T54.webp diff --git a/cards/house/T55.webp b/data/cards/house/T55.webp similarity index 100% rename from cards/house/T55.webp rename to data/cards/house/T55.webp diff --git a/cards/house/T56.webp b/data/cards/house/T56.webp similarity index 100% rename from cards/house/T56.webp rename to data/cards/house/T56.webp diff --git a/cards/house/T57.webp b/data/cards/house/T57.webp similarity index 100% rename from cards/house/T57.webp rename to data/cards/house/T57.webp diff --git a/cards/house/T58.webp b/data/cards/house/T58.webp similarity index 100% rename from cards/house/T58.webp rename to data/cards/house/T58.webp diff --git a/cards/house/T59.webp b/data/cards/house/T59.webp similarity index 100% rename from cards/house/T59.webp rename to data/cards/house/T59.webp diff --git a/cards/house/T6.webp b/data/cards/house/T6.webp similarity index 100% rename from cards/house/T6.webp rename to data/cards/house/T6.webp diff --git a/cards/house/T60.webp b/data/cards/house/T60.webp similarity index 100% rename from cards/house/T60.webp rename to data/cards/house/T60.webp diff --git a/cards/house/T61.webp b/data/cards/house/T61.webp similarity index 100% rename from cards/house/T61.webp rename to data/cards/house/T61.webp diff --git a/cards/house/T62.webp b/data/cards/house/T62.webp similarity index 100% rename from cards/house/T62.webp rename to data/cards/house/T62.webp diff --git a/cards/house/T63.webp b/data/cards/house/T63.webp similarity index 100% rename from cards/house/T63.webp rename to data/cards/house/T63.webp diff --git a/cards/house/T64.webp b/data/cards/house/T64.webp similarity index 100% rename from cards/house/T64.webp rename to data/cards/house/T64.webp diff --git a/cards/house/T65.webp b/data/cards/house/T65.webp similarity index 100% rename from cards/house/T65.webp rename to data/cards/house/T65.webp diff --git a/cards/house/T66.webp b/data/cards/house/T66.webp similarity index 100% rename from cards/house/T66.webp rename to data/cards/house/T66.webp diff --git a/cards/house/T67.webp b/data/cards/house/T67.webp similarity index 100% rename from cards/house/T67.webp rename to data/cards/house/T67.webp diff --git a/cards/house/T68.webp b/data/cards/house/T68.webp similarity index 100% rename from cards/house/T68.webp rename to data/cards/house/T68.webp diff --git a/cards/house/T69.webp b/data/cards/house/T69.webp similarity index 100% rename from cards/house/T69.webp rename to data/cards/house/T69.webp diff --git a/cards/house/T7.webp b/data/cards/house/T7.webp similarity index 100% rename from cards/house/T7.webp rename to data/cards/house/T7.webp diff --git a/cards/house/T70.webp b/data/cards/house/T70.webp similarity index 100% rename from cards/house/T70.webp rename to data/cards/house/T70.webp diff --git a/cards/house/T71.webp b/data/cards/house/T71.webp similarity index 100% rename from cards/house/T71.webp rename to data/cards/house/T71.webp diff --git a/cards/house/T72.webp b/data/cards/house/T72.webp similarity index 100% rename from cards/house/T72.webp rename to data/cards/house/T72.webp diff --git a/cards/house/T73.webp b/data/cards/house/T73.webp similarity index 100% rename from cards/house/T73.webp rename to data/cards/house/T73.webp diff --git a/cards/house/T74.webp b/data/cards/house/T74.webp similarity index 100% rename from cards/house/T74.webp rename to data/cards/house/T74.webp diff --git a/cards/house/T75.webp b/data/cards/house/T75.webp similarity index 100% rename from cards/house/T75.webp rename to data/cards/house/T75.webp diff --git a/cards/house/T76.webp b/data/cards/house/T76.webp similarity index 100% rename from cards/house/T76.webp rename to data/cards/house/T76.webp diff --git a/cards/house/T77.webp b/data/cards/house/T77.webp similarity index 100% rename from cards/house/T77.webp rename to data/cards/house/T77.webp diff --git a/cards/house/T78.webp b/data/cards/house/T78.webp similarity index 100% rename from cards/house/T78.webp rename to data/cards/house/T78.webp diff --git a/cards/house/T79.webp b/data/cards/house/T79.webp similarity index 100% rename from cards/house/T79.webp rename to data/cards/house/T79.webp diff --git a/cards/house/T8.webp b/data/cards/house/T8.webp similarity index 100% rename from cards/house/T8.webp rename to data/cards/house/T8.webp diff --git a/cards/house/T80.webp b/data/cards/house/T80.webp similarity index 100% rename from cards/house/T80.webp rename to data/cards/house/T80.webp diff --git a/cards/house/T9.webp b/data/cards/house/T9.webp similarity index 100% rename from cards/house/T9.webp rename to data/cards/house/T9.webp diff --git a/dock/Sheep-Service.dbml b/dock/Sheep-Service.dbml index 38801d2..1c85ec4 100644 --- a/dock/Sheep-Service.dbml +++ b/dock/Sheep-Service.dbml @@ -172,6 +172,7 @@ Table stand_list [note: 'Таблиця місць розташування ст processing_time real [default: 1, note: 'Час тривалості зміни вісників'] status bool [default: false, note: 'Активація чи деактивація стенду'] updated_at timestamp [note: 'Дата зміни запису'] + created_at timestamp [note: 'Дата створення запису'] } Table stand_schedule [note: 'Таблиця записів служіння зі стендом'] { @@ -182,13 +183,14 @@ Table stand_schedule [note: 'Таблиця записів служіння зі hour integer [note: 'Година запису'] number_sheep text [note: 'Номер вісника, що одночасно стоїть'] updated_at timestamp [note: 'Дата зміни запису'] + created_at timestamp [note: 'Дата створення запису'] } Table stand_schedule_history [note: 'Таблиця записів служіння зі стендом'] { id integer [primary key] stand_schedule_id integer [note: 'ID стенду'] sheep_id integer [note: 'ID вісника'] - created_at timestamp [note: 'Дата зміни запису'] + created_at timestamp [note: 'Дата створення запису'] } Ref: sheeps.id - possibilities.sheep_id // one-to-one diff --git a/docker-compose.yml b/docker-compose.yml index 17aa20e..3a9a534 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,9 +6,9 @@ services: expose: - "4002" volumes: - - "${CARDS_PATH:-./data}:/app/data/cards" - - "${MAP_PATH:-./data}:/app/data/map" + - "${DATA_PATH:-./data}:/app/data" environment: + - TZ=${TZ} - CARDS_PATH=/app/data/cards/ - MAP_PATH=/app/data/map/ networks: @@ -21,16 +21,15 @@ services: expose: - "4003" volumes: - - "${DB_PATH:-./data}:/app/data" - - "${CARDS_PATH:-./data}:/app/data/cards" + - "${DATA_PATH:-./data}:/app/data" environment: + - TZ=${TZ} - DATABASE_PATH=/app/data/ - CARDS_PATH=/app/data/cards/ - PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium - VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY} - VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY} - DOMAIN=${DOMAIN} - shm_size: '1gb' networks: - network @@ -41,8 +40,9 @@ services: expose: - "4004" volumes: - - "${DB_PATH:-./data}:/app/data" + - "${DATA_PATH:-./data}:/app/data" environment: + - TZ=${TZ} - DATABASE_PATH=/app/data/ networks: - network @@ -59,11 +59,26 @@ services: - ./nginx/html:/usr/share/nginx/html - ./nginx/log:/var/log/nginx environment: + - TZ=${TZ} - DOMAIN=${DOMAIN} command: /bin/sh -c "envsubst '\$DOMAIN' < /etc/nginx/templates/default.conf.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'" networks: - network + cron: + image: sheep-service/cron + build: ./cron + restart: always + volumes: + - "${DATA_PATH:-./data}:/app/data" + environment: + - TZ=${TZ} + - DATABASE_PATH=/app/data/ + - TELEGRAM_TOKEN=${TELEGRAM_TOKEN} + - CHAT_ID=${CHAT_ID} + networks: + - network + volumes: data: diff --git a/scripts/generatorExcel.js b/scripts/generatorExcel.js deleted file mode 100644 index cc6eba3..0000000 --- a/scripts/generatorExcel.js +++ /dev/null @@ -1,242 +0,0 @@ -const sqlite3 = require('sqlite3').verbose(); -const ExcelJS = require('exceljs'); - -async function exportData() { - const db = new sqlite3.Database('database.sqlite'); - const workbook = new ExcelJS.Workbook(); - const sheet = workbook.addWorksheet('Опрацювання територій'); - - // Обычная тонкая рамка - function setThinBorder(cell) { - cell.border = { - top: { style: 'thin', color: { argb: 'FF000000' } }, - left: { style: 'thin', color: { argb: 'FF000000' } }, - bottom: { style: 'thin', color: { argb: 'FF000000' } }, - right: { style: 'thin', color: { argb: 'FF000000' } }, - }; - } - - // Жирные рамки для Вісників - function setTopCellBorder(cell) { - cell.border = { - top: { style: 'thick', color: { argb: 'FF000000' } }, - left: { style: 'thick', color: { argb: 'FF000000' } }, - right: { style: 'thick', color: { argb: 'FF000000' } }, - bottom: { style: 'thin', color: { argb: 'FF000000' } }, - }; - } - - function setStartColBorder(cell) { - cell.border = { - top: { style: 'thin', color: { argb: 'FF000000' } }, - left: { style: 'thick', color: { argb: 'FF000000' } }, - bottom: { style: 'thick', color: { argb: 'FF000000' } }, - right: { style: 'thin', color: { argb: 'FF000000' } }, - }; - } - - function setEndColBorder(cell) { - cell.border = { - top: { style: 'thin', color: { argb: 'FF000000' } }, - left: { style: 'thin', color: { argb: 'FF000000' } }, - bottom: { style: 'thick', color: { argb: 'FF000000' } }, - right: { style: 'thick', color: { argb: 'FF000000' } }, - }; - } - - sheet.addRow([]); - sheet.addRow([]); - - // № объекта - sheet.getCell('A1').value = '№'; - sheet.mergeCells('A1:A2'); - sheet.getCell('A1').alignment = { vertical: 'middle', horizontal: 'center' }; - sheet.getCell('A1').font = { bold: true }; - setThinBorder(sheet.getCell('A1')); - sheet.getColumn(1).width = 5; - - // "Об’єкт" - sheet.getCell('B1').value = 'Територія'; - sheet.mergeCells('B1:B2'); - sheet.getCell('B1').alignment = { vertical: 'middle', horizontal: 'center' }; - sheet.getCell('B1').font = { bold: true }; - setThinBorder(sheet.getCell('B1')); - sheet.getColumn(2).width = 40; - - // "Остання дата опрацювання" - sheet.getCell('C1').value = 'Остання дата опрацювання'; - sheet.mergeCells('C1:C2'); - sheet.getCell('C1').alignment = { vertical: 'middle', horizontal: 'center', wrapText: true }; - sheet.getCell('C1').font = { bold: true }; - setThinBorder(sheet.getCell('C1')); - sheet.getColumn(3).width = 20; - - // Вісники - for (let i = 0; i < 10; i++) { - const startCol = 4 + i * 2; - const endCol = startCol + 1; - - sheet.mergeCells(1, startCol, 1, endCol); - const topCell = sheet.getCell(1, startCol); - topCell.value = `Вісник (група) ${i + 1}`; - topCell.alignment = { horizontal: 'center', vertical: 'middle' }; - topCell.font = { bold: true }; - setThinBorder(topCell); - - const recvCell = sheet.getCell(2, startCol); - recvCell.value = 'Дата отримання'; - recvCell.alignment = { horizontal: 'center', vertical: 'middle', wrapText: true }; - recvCell.font = { bold: true }; - setThinBorder(recvCell); - - const procCell = sheet.getCell(2, endCol); - procCell.value = 'Дата опрацювання'; - procCell.alignment = { horizontal: 'center', vertical: 'middle', wrapText: true }; - procCell.font = { bold: true }; - setThinBorder(procCell); - - sheet.getColumn(startCol).width = 16; - sheet.getColumn(endCol).width = 16; - } - - const objects = await new Promise((resolve, reject) => { - db.all(` - SELECT - e.id as object_id, - e.entrance_number as number, - h.number as house_number, - h.title as house_title, - NULL as settlement, - 'entrance' as type - FROM entrance e - JOIN house h ON e.house_id = h.id - UNION ALL - SELECT - hm.id as object_id, - hm.number as number, - NULL as house_number, - hm.title as house_title, - hm.settlement, - 'homestead' as type - FROM homestead hm - `, (err, rows) => { - if (err) return reject(err); - resolve(rows); - }); - }); - - let currentRow = 3; - let objIndex = 1; - - for (const obj of objects) { - const table = obj.type === 'entrance' ? 'entrance_history' : 'homestead_history'; - const idField = obj.type === 'entrance' ? 'entrance_id' : 'homestead_id'; - - const history = await new Promise((resolve, reject) => { - db.all(` - SELECT date_start, date_end, name, group_id - FROM ${table} - WHERE ${idField} = ? - ORDER BY date_start DESC - `, [obj.object_id], (err, rows) => { - if (err) return reject(err); - resolve(rows); - }); - }); - - // № объекта - const numCell = sheet.getCell(currentRow, 1); - numCell.value = objIndex; - numCell.alignment = { vertical: 'middle', horizontal: 'center' }; - setThinBorder(numCell); - sheet.mergeCells(currentRow, 1, currentRow + 1, 1); - - // Название объекта - let objectName; - if (obj.type === 'homestead' && obj.settlement) { - objectName = `(${obj.settlement}) ${obj.house_title} ${obj.number}`; - } else if (obj.type === 'homestead') { - objectName = `${obj.house_title} ${obj.number}`; - } else { - objectName = `${obj.house_title} ${obj.house_number} (П. ${obj.number + 1})`; - } - - const objCell = sheet.getCell(currentRow, 2); - objCell.value = objectName; - sheet.mergeCells(currentRow, 2, currentRow + 1, 2); - objCell.alignment = { vertical: 'middle', horizontal: 'left' }; - setThinBorder(objCell); - - // Последняя дата обработки - let lastDate = null; - for (const h of history) { - if (h.date_end && h.date_end !== 0) { - lastDate = new Date(h.date_end); - break; - } - } - const lastDateCell = sheet.getCell(currentRow, 3); - lastDateCell.value = lastDate; - lastDateCell.numFmt = 'dd.mm.yyyy'; - sheet.mergeCells(currentRow, 3, currentRow + 1, 3); - lastDateCell.alignment = { vertical: 'middle', horizontal: 'center' }; - setThinBorder(lastDateCell); - - // История Вісників - history.forEach((h, idx) => { - const startCol = 4 + idx * 2; - const endCol = startCol + 1; - - let name = h.name; - if (h.name === 'Групова') name = `${h.name} (${h.group_id})`; - - // Верхняя ячейка имени - const nameCell = sheet.getCell(currentRow, startCol); - sheet.mergeCells(currentRow, startCol, currentRow, endCol); - nameCell.value = name; - nameCell.alignment = { horizontal: 'center' }; - setTopCellBorder(nameCell); - - // Дата получения - const startDate = h.date_start ? new Date(h.date_start) : null; - const recvCell = sheet.getCell(currentRow + 1, startCol); - recvCell.value = startDate; - recvCell.numFmt = 'dd.mm.yyyy'; - recvCell.alignment = { horizontal: 'center' }; - setStartColBorder(recvCell); - - // Дата опрацювання - const endDate = h.date_end ? new Date(h.date_end) : null; - const procCell = sheet.getCell(currentRow + 1, endCol); - procCell.value = endDate; - procCell.numFmt = 'dd.mm.yyyy'; - procCell.alignment = { horizontal: 'center' }; - setEndColBorder(procCell); - }); - - // Чётное затемнение только для блока данных - if (objIndex % 2 === 0) { - for (let col = 1; col <= 11; col++) { - sheet.getCell(currentRow, col).fill = { - type: 'pattern', - pattern: 'solid', - fgColor: { argb: 'FFEFEFEF' }, - }; - sheet.getCell(currentRow + 1, col).fill = { - type: 'pattern', - pattern: 'solid', - fgColor: { argb: 'FFEFEFEF' }, - }; - } - } - - currentRow += 2; - objIndex++; - } - - await workbook.xlsx.writeFile('Опрацювання територій.xlsx'); - console.log('Файл создан: Опрацювання територій.xlsx'); - db.close(); -} - -exportData(); \ No newline at end of file diff --git a/scripts/import.js b/scripts/import.js deleted file mode 100644 index 4714f31..0000000 --- a/scripts/import.js +++ /dev/null @@ -1,170 +0,0 @@ -const sqlite3 = require('sqlite3'); -const crypto = require('crypto'); - -// Данные для записи -const data = [ - { "name": "Богданова Л.", "group": "1", "status": "lamb" }, - { "name": "Ботюк Л.", "group": "1", "status": "lamb" }, - { "name": "Ботюк М.", "group": "1", "status": "elder" }, - { "name": "Венгер С.", "group": "1", "status": "lamb" }, - { "name": "Гловюк С.", "group": "1", "status": "lamb" }, - { "name": "Гнатюк П.", "group": "1", "status": "lamb" }, - { "name": "Дуньковська Г.", "group": "1", "status": "lamb" }, - { "name": "Корінь О.", "group": "1", "status": "lamb" }, - { "name": "Медецька Л.", "group": "1", "status": "lamb" }, - { "name": "Меладзе А.", "group": "1", "status": "lamb" }, - { "name": "Меладзе М.", "group": "1", "status": "lamb" }, - { "name": "Нуждіна Н.", "group": "1", "status": "lamb" }, - { "name": "Сидорчук І.", "group": "1", "status": "lamb" }, - { "name": "Сидорчук О.", "group": "1", "status": "elder" }, - { "name": "Смірнов Б.", "group": "1", "status": "lamb" }, - { "name": "Смірнова В.", "group": "1", "status": "lamb" }, - { "name": "Смірнов Л.", "group": "1", "status": "lamb" }, - { "name": "Ткаченко Н.", "group": "1", "status": "lamb" }, - { "name": "Медецький Р.", "group": "1", "status": "lamb" }, - { "name": "Заболотний В.", "group": "1", "status": "lamb" }, - { "name": "Власюк Т.", "group": "2", "status": "lamb" }, - { "name": "Демків В.", "group": "2", "status": "lamb" }, - { "name": "Іващенко А.", "group": "2", "status": "lamb" }, - { "name": "Кіналь Г.", "group": "2", "status": "lamb" }, - { "name": "Кіналь М.", "group": "2", "status": "lamb" }, - { "name": "Кіналь Т.", "group": "2", "status": "lamb" }, - { "name": "Ковчук Д.", "group": "2", "status": "lamb" }, - { "name": "Кушнірук Н.", "group": "2", "status": "lamb" }, - { "name": "Муц М.", "group": "2", "status": "elder" }, - { "name": "Муц Н.", "group": "2", "status": "lamb" }, - { "name": "Муц О.", "group": "2", "status": "lamb" }, - { "name": "Подвірна О.", "group": "2", "status": "lamb" }, - { "name": "Позовиков М.", "group": "2", "status": "elder" }, - { "name": "Позовиков О.", "group": "2", "status": "lamb" }, - { "name": "Позовикова Е.", "group": "2", "status": "lamb" }, - { "name": "Позовикова Л.", "group": "2", "status": "lamb" }, - { "name": "Позовикова М.", "group": "2", "status": "lamb" }, - { "name": "Резніченко А.", "group": "2", "status": "lamb" }, - { "name": "Резніченко В.", "group": "2", "status": "lamb" }, - { "name": "Хоптій Л.", "group": "2", "status": "lamb" }, - { "name": "Авдєєва В.", "group": "3", "status": "lamb" }, - { "name": "Авдєєв П.", "group": "3", "status": "lamb" }, - { "name": "Гречило Л.", "group": "3", "status": "lamb" }, - { "name": "Гушатей З.", "group": "3", "status": "lamb" }, - { "name": "Дворянська Н.", "group": "3", "status": "lamb" }, - { "name": "Дворянський М.", "group": "3", "status": "lamb" }, - { "name": "Дворянська М.", "group": "3", "status": "lamb" }, - { "name": "Дуньковська Ол.", "group": "3", "status": "lamb" }, - { "name": "Дуньковський В.", "group": "3", "status": "elder" }, - { "name": "Дуньковська Л.", "group": "3", "status": "lamb" }, - { "name": "Кавюк Н.", "group": "3", "status": "lamb" }, - { "name": "Ковалюк Е.", "group": "3", "status": "lamb" }, - { "name": "Ковалюк С.", "group": "3", "status": "lamb" }, - { "name": "Липа А.", "group": "3", "status": "lamb" }, - { "name": "Липа Н.", "group": "3", "status": "lamb" }, - { "name": "Музика С.", "group": "3", "status": "elder" }, - { "name": "Музика Св.", "group": "3", "status": "lamb" }, - { "name": "Філь Н.", "group": "3", "status": "lamb" }, - { "name": "Червенко Л.", "group": "3", "status": "lamb" }, - { "name": "Майка М.", "group": "3", "status": "lamb" }, - { "name": "Петрович І.", "group": "3", "status": "lamb" }, - { "name": "Буняк Н.", "group": "4", "status": "lamb" }, - { "name": "Буярська А.", "group": "4", "status": "lamb" }, - { "name": "Буярська Н.", "group": "4", "status": "lamb" }, - { "name": "Буярський М.", "group": "4", "status": "elder" }, - { "name": "Грищук Т.", "group": "4", "status": "lamb" }, - { "name": "Карелін І.", "group": "4", "status": "lamb" }, - { "name": "Кареліна Ір.", "group": "4", "status": "lamb" }, - { "name": "Кареліна С.", "group": "4", "status": "lamb" }, - { "name": "Ковальчук Н.", "group": "4", "status": "lamb" }, - { "name": "Ковальчук Р.", "group": "4", "status": "lamb" }, - { "name": "Ковчук Р.", "group": "4", "status": "lamb" }, - { "name": "Резніченко Т.", "group": "4", "status": "lamb" }, - { "name": "Сергієнко О.", "group": "4", "status": "lamb" }, - { "name": "Сергієнко С.", "group": "4", "status": "lamb" }, - { "name": "Стойкевич М.", "group": "4", "status": "lamb" }, - { "name": "Чапайло Г.", "group": "4", "status": "lamb" }, - { "name": "Шептицька В.", "group": "4", "status": "lamb" }, - { "name": "Шептицький І.", "group": "4", "status": "lamb" }, - { "name": "Благов Я.", "group": "5", "status": "lamb" }, - { "name": "Благова П.", "group": "5", "status": "lamb" }, - { "name": "Богів Г.", "group": "5", "status": "lamb" }, - { "name": "Богів Т.", "group": "5", "status": "lamb" }, - { "name": "Галка А.", "group": "5", "status": "lamb" }, - { "name": "Домбрович О.", "group": "5", "status": "lamb" }, - { "name": "Кавюк А.", "group": "5", "status": "lamb" }, - { "name": "Кавюк В.", "group": "5", "status": "elder" }, - { "name": "Кузнєцова Н.", "group": "5", "status": "lamb" }, - { "name": "Луців І.", "group": "5", "status": "lamb" }, - { "name": "Луців О.", "group": "5", "status": "lamb" }, - { "name": "Сиротюк В.", "group": "5", "status": "lamb" }, - { "name": "Сиротюк О.", "group": "5", "status": "lamb" }, - { "name": "Солонинка С.", "group": "5", "status": "lamb" }, - { "name": "Ульянич І.", "group": "5", "status": "lamb" }, - { "name": "Ульянич О.", "group": "5", "status": "lamb" }, - { "name": "Шмигельська С.", "group": "5", "status": "lamb" }, - { "name": "Сидорчук Т.", "group": "5", "status": "lamb" }, - { "name": "Білоліпецький І.", "group": "6", "status": "lamb" }, - { "name": "Винниченко Г.", "group": "6", "status": "lamb" }, - { "name": "Воронцов Д.", "group": "6", "status": "lamb" }, - { "name": "Дуньковська О.", "group": "6", "status": "lamb" }, - { "name": "Загурська О.", "group": "6", "status": "lamb" }, - { "name": "Іваненко К.", "group": "6", "status": "lamb" }, - { "name": "Кравчук Н.", "group": "6", "status": "lamb" }, - { "name": "Кузюк В.", "group": "6", "status": "lamb" }, - { "name": "Кузюк С.", "group": "6", "status": "lamb" }, - { "name": "Маняхіна А.", "group": "6", "status": "lamb" }, - { "name": "Мельник Н.", "group": "6", "status": "lamb" }, - { "name": "Мінтенко М.", "group": "6", "status": "lamb" }, - { "name": "Мінтенко Н.", "group": "6", "status": "lamb" }, - { "name": "Наворинська Н.", "group": "6", "status": "lamb" }, - { "name": "Носевич І.", "group": "6", "status": "lamb" }, - { "name": "Носевич Т.", "group": "6", "status": "lamb" }, - { "name": "Страшок М.", "group": "6", "status": "elder" }, - { "name": "Страшок О.", "group": "6", "status": "lamb" }, - { "name": "Мельник О.", "group": "6", "status": "lamb" }, - { "name": "Бугайов Д.", "group": "7", "status": "lamb" }, - { "name": "Гергель Л.", "group": "7", "status": "lamb" }, - { "name": "Гергель О.", "group": "7", "status": "lamb" }, - { "name": "Горун А.", "group": "7", "status": "lamb" }, - { "name": "Ковчук Л.", "group": "7", "status": "lamb" }, - { "name": "Ковчук Н.", "group": "7", "status": "lamb" }, - { "name": "Михайлів С.", "group": "7", "status": "lamb" }, - { "name": "Музика І.", "group": "7", "status": "lamb" }, - { "name": "Музика О.", "group": "7", "status": "lamb" }, - { "name": "Наворинський Р.", "group": "7", "status": "lamb" }, - { "name": "Парила І.", "group": "7", "status": "lamb" }, - { "name": "Резніченко А.", "group": "7", "status": "elder" }, - { "name": "Резніченко В.", "group": "7", "status": "lamb" }, - { "name": "Семчишин Ф.", "group": "7", "status": "elder" }, - { "name": "Сувалко В.", "group": "7", "status": "elder" }, - { "name": "Сувалко Н.", "group": "7", "status": "lamb" }, - { "name": "Якубович Л.", "group": "7", "status": "lamb" } -]; - -// Подключение к базе данных (или создание, если не существует) -const db = new sqlite3.Database('../database.sqlite', (err) => { - if (err) { - console.error('Ошибка при подключении к БД:', err.message); - } else { - console.log('Подключение к SQLite успешно'); - } -}); - -// Вставка данных -const insertData = () => { - const stmt = db.prepare("INSERT INTO sheep (name, group_id, appointment, hash) VALUES (?, ?, ?, ?)"); - data.forEach(user => { - stmt.run(user.name, user.group, user.status, crypto.randomUUID()); - }); - stmt.finalize(); - console.log('Данные успешно записаны'); -}; - -// Запуск вставки данных после создания таблицы -insertData(); - -// Закрытие соединения с БД -db.close((err) => { - if (err) { - console.error('Ошибка при закрытии БД:', err.message); - } else { - console.log('Соединение с БД закрыто'); - } -}); \ No newline at end of file diff --git a/scripts/migrator.js b/scripts/migrator.js deleted file mode 100644 index 06dc977..0000000 --- a/scripts/migrator.js +++ /dev/null @@ -1,208 +0,0 @@ -const sqlite3 = require('sqlite3').verbose(); - -const db = new sqlite3.Database('database.sqlite'); -const db_old = new sqlite3.Database('db_old.sqlite'); - - -// Створення підїздів -// const sql_1 = `SELECT * FROM areas`; -// db_old.all(sql_1, [], (err, areas) => { -// if (err) { -// throw err; -// } - -// for (let i = 0; i < areas.length; i++) { -// const area = areas[i]; - -// if(area.type == "house"){ -// // console.log(JSON.parse(area.entrance)); - -// db.get('SELECT * FROM house WHERE title = ? AND number = ?', [area.address_title, area.address_number], (err, house) => { -// if (err) { -// console.error(err.message); -// } else { -// let entrances = JSON.parse(area.entrance); -// let entrance_numbers = JSON.parse(area.entrance_number); - -// for (let q = 0; q < entrances.length; q++) { -// const entrance = entrances[q]; -// const number = entrance_numbers[q]; -// console.log(entrance, number); - -// db.run(`INSERT INTO entrance(house_id, entrance_number, title, points, points_number) VALUES(?, ?, ?, ?, ?)`, -// [ -// house.id, -// q, -// `Під'їзд ${q+1}`, -// JSON.stringify(entrance), -// JSON.stringify(number) -// ], -// function (err) { -// if (err) { -// console.error(err.message); -// } else { -// console.log("New user entrance added with id " + this.lastID); -// } -// } -// ); -// } - -// // console.log(JSON.parse(area.entrance)); -// } -// }) -// } -// } -// }); - - - -// Міграція історії з старої БД в нову -// const sql_1 = `SELECT * FROM history WHERE date_start >= 1737667735000 ORDER BY date_start`; -// db_old.all(sql_1, [], (err, historys) => { -// if (err) { -// throw err; -// } - -// for (let i = 0; i < historys.length; i++) { -// const history = historys[i]; - -// db_old.get('SELECT * FROM territory WHERE number = ?', [history.territory_number], (err, territory) => { -// if (err) { -// console.error(err.message); -// } else { -// // console.log(territory); -// let areas_id = JSON.parse(territory.areas_id) - -// for (let index = 0; index < areas_id.length; index++) { -// const element = areas_id[index]; - -// db_old.get('SELECT * FROM areas WHERE id = ?', [element[0]], (err, area) => { -// if (err) { -// console.error(err.message); -// } else { -// if (area.type == "house") { -// console.log(area.address_title, area.address_number); - -// db.get('SELECT * FROM house WHERE title = ? AND number = ?', [area.address_title, area.address_number], (err, house) => { -// if (err) { -// console.error(err.message); -// } else { -// console.log(area.address_title, area.address_number); -// console.log(house.id, element[1]); - -// db.get('SELECT * FROM entrance WHERE house_id = ? AND entrance_number = ?', [house.id, element[1]], (err, entrance) => { -// if (err) { -// console.error(err.message); -// } else { -// console.log(house.id, element[1]); - -// console.log(entrance.id, house.title, house.number, entrance.title); - -// db.run(`INSERT INTO entrance_history(entrance_id, name, date_start, date_end, group_id, working) VALUES(?, ?, ?, ?, ?, ?)`, -// [ -// entrance.id, -// history.name, -// history.date_start, -// history.date_end, -// history.group_number, -// history.working, -// ], -// function (err) { -// if (err) { -// console.error(err.message); -// } else { -// console.log("New user history added with id " + this.lastID); -// } -// } -// ); -// } -// }) -// } -// }) - -// } else { -// db.get('SELECT * FROM homestead WHERE title = ? AND number = ?', [area.address_title, area.address_number], (err, homestead) => { -// if (err) { -// console.error(err.message); -// } else { -// // console.log(house.id, house.title, house.number); - -// db.run(`INSERT INTO homestead_history(homestead_id, name, date_start, date_end, group_id, working) VALUES(?, ?, ?, ?, ?, ?)`, -// [ -// homestead.id, -// history.name, -// history.date_start, -// history.date_end, -// history.group_number, -// history.working, -// ], -// function (err) { -// if (err) { -// console.error(err.message); -// } else { -// console.log("New user history added with id " + this.lastID); -// } -// } -// ); -// } -// }) -// } -// } -// }) - - -// } - - -// } -// }) -// } -// }); - - -// Додавання ID вісника в entrance_history -// Оновлення кожного запису в entrance_history -db.serialize(() => { - db.all(`SELECT id, name FROM entrance_history`, (err, rows) => { - if (err) return console.error('Read error:', err.message); - - const updateStmt = db.prepare(`UPDATE entrance_history SET sheep_id = ? WHERE id = ?`); - let pending = rows.length; - - if (pending === 0) { - updateStmt.finalize(); - db.close(); - console.log('Нема записів для оновлення.'); - return; - } - - rows.forEach((row) => { - db.get(`SELECT id FROM sheeps WHERE name = ?`, [row.name], (err, sheep) => { - if (err) { - console.error('Search error:', err.message); - if (--pending === 0) { - updateStmt.finalize(); - db.close(); - console.log('Оновлення завершено (з помилками).'); - } - return; - } - - const sheepId = sheep ? sheep.id : 0; - - updateStmt.run(sheepId, row.id, (err) => { - if (err) { - console.error(`Помилка оновлення запису ID ${row.id}:`, err.message); - } - - if (--pending === 0) { - updateStmt.finalize(); - db.close(); - console.log('Оновлення завершено'); - } - }); - }); - }); - }); -}); - diff --git a/scripts/package-lock.json b/scripts/package-lock.json deleted file mode 100644 index 3811614..0000000 --- a/scripts/package-lock.json +++ /dev/null @@ -1,1969 +0,0 @@ -{ - "name": "import", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "import", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "exceljs": "^4.4.0", - "sqlite3": "^5.1.7" - } - }, - "node_modules/@fast-csv/format": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@fast-csv/format/-/format-4.3.5.tgz", - "integrity": "sha512-8iRn6QF3I8Ak78lNAa+Gdl5MJJBM5vRHivFtMRUWINdevNo00K7OXxS2PshawLKTejVwieIlPmK5YlLu6w4u8A==", - "dependencies": { - "@types/node": "^14.0.1", - "lodash.escaperegexp": "^4.1.2", - "lodash.isboolean": "^3.0.3", - "lodash.isequal": "^4.5.0", - "lodash.isfunction": "^3.0.9", - "lodash.isnil": "^4.0.0" - } - }, - "node_modules/@fast-csv/parse": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/@fast-csv/parse/-/parse-4.3.6.tgz", - "integrity": "sha512-uRsLYksqpbDmWaSmzvJcuApSEe38+6NQZBUsuAyMZKqHxH0g1wcJgsKUvN3WC8tewaqFjBMMGrkHmC+T7k8LvA==", - "dependencies": { - "@types/node": "^14.0.1", - "lodash.escaperegexp": "^4.1.2", - "lodash.groupby": "^4.6.0", - "lodash.isfunction": "^3.0.9", - "lodash.isnil": "^4.0.0", - "lodash.isundefined": "^3.0.1", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "optional": true - }, - "node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "optional": true, - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "optional": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "optional": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@types/node": { - "version": "14.18.63", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", - "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==" - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "optional": true - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "optional": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/agentkeepalive": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", - "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", - "optional": true, - "dependencies": { - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "optional": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/aproba": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.1.0.tgz", - "integrity": "sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==", - "optional": true - }, - "node_modules/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", - "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "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/archiver-utils/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "deprecated": "This package is no longer supported.", - "optional": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "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/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/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "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/big-integer": { - "version": "1.6.52", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", - "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", - "dependencies": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bluebird": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", - "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==" - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "engines": { - "node": "*" - } - }, - "node_modules/buffer-indexof-polyfill": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", - "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", - "engines": { - "node": ">=0.2.0" - } - }, - "node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "optional": true, - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", - "dependencies": { - "traverse": ">=0.3.0 <0.4" - }, - "engines": { - "node": "*" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "optional": true, - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/compress-commons": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", - "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "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/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "optional": true - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/crc32-stream": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", - "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/dayjs": { - "version": "1.11.18", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz", - "integrity": "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==" - }, - "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "optional": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "optional": true - }, - "node_modules/detect-libc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/duplexer2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "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/duplexer2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/duplexer2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "optional": true - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "optional": true - }, - "node_modules/exceljs": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/exceljs/-/exceljs-4.4.0.tgz", - "integrity": "sha512-XctvKaEMaj1Ii9oDOqbW/6e1gXknSY4g/aLCDicOXqBE4M0nRWkUu0PTp++UPNzoFY12BNHMfs/VadKIS6llvg==", - "dependencies": { - "archiver": "^5.0.0", - "dayjs": "^1.8.34", - "fast-csv": "^4.3.1", - "jszip": "^3.10.1", - "readable-stream": "^3.6.0", - "saxes": "^5.0.1", - "tmp": "^0.2.0", - "unzipper": "^0.10.11", - "uuid": "^8.3.0" - }, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fast-csv": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/fast-csv/-/fast-csv-4.3.6.tgz", - "integrity": "sha512-2RNSpuwwsJGP0frGsOmTb9oUF+VkFSM4SyLTDgwf2ciHWTarN0lQTC+F2f/t5J9QjW+c65VFIAAu85GsvMIusw==", - "dependencies": { - "@fast-csv/format": "4.3.5", - "@fast-csv/parse": "4.3.6" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "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/fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "deprecated": "This package is no longer supported.", - "dependencies": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/fstream/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/fstream/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "deprecated": "This package is no longer supported.", - "optional": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" - }, - "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/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-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "optional": true - }, - "node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "optional": true - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "optional": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "optional": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "optional": true, - "dependencies": { - "ms": "^2.0.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "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/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "optional": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "optional": true - }, - "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/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/ip-address": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", - "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", - "optional": true, - "engines": { - "node": ">= 12" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "optional": true - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "optional": true - }, - "node_modules/jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, - "node_modules/jszip/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "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/jszip/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/jszip/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "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/lazystream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/listenercount": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==" - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" - }, - "node_modules/lodash.escaperegexp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", - "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==" - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" - }, - "node_modules/lodash.groupby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", - "integrity": "sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead." - }, - "node_modules/lodash.isfunction": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", - "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==" - }, - "node_modules/lodash.isnil": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/lodash.isnil/-/lodash.isnil-4.0.0.tgz", - "integrity": "sha512-up2Mzq3545mwVnMhTDMdfoG1OurpA/s5t88JmQX809eH3C8491iu2sfKhTfhQtKY78oPNhiaHJUpT/dUDAAtng==" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - }, - "node_modules/lodash.isundefined": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz", - "integrity": "sha512-MXB1is3s899/cD8jheYYE2V9qTHwKvt+npCwpD+1Sxm3Q3cECXCiYHjeHWXNwr6Q0SOBPrYUDxendrO6goVTEA==" - }, - "node_modules/lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "optional": true, - "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "optional": true, - "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "optionalDependencies": { - "encoding": "^0.1.12" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "optional": true - }, - "node_modules/napi-build-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", - "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==" - }, - "node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-abi": { - "version": "3.77.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.77.0.tgz", - "integrity": "sha512-DSmt0OEcLoK4i3NuscSbGjOf3bqiDEutejqENSplMSFA/gmB8mkED9G4pKWnPl7MDU4rSHebKPHeitpDfyH0cQ==", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==" - }, - "node_modules/node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", - "optional": true, - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 10.12.0" - } - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "optional": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "deprecated": "This package is no longer supported.", - "optional": true, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "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/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "optional": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "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/prebuild-install": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", - "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", - "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": "^2.0.0", - "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", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "optional": true - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "optional": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pump": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", - "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "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": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", - "dependencies": { - "minimatch": "^5.1.0" - } - }, - "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/readdir-glob/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/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "optional": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "optional": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "optional": true - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "optional": true - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "optional": true - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "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/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "optional": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", - "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", - "optional": true, - "dependencies": { - "ip-address": "^10.0.1", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", - "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", - "optional": true, - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/sqlite3": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", - "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "node-addon-api": "^7.0.0", - "prebuild-install": "^7.1.1", - "tar": "^6.1.11" - }, - "optionalDependencies": { - "node-gyp": "8.x" - }, - "peerDependencies": { - "node-gyp": "8.x" - }, - "peerDependenciesMeta": { - "node-gyp": { - "optional": true - } - } - }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "optional": true, - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "optional": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "optional": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar-fs": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz", - "integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "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/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/tmp": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", - "engines": { - "node": ">=14.14" - } - }, - "node_modules/traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", - "engines": { - "node": "*" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "optional": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "optional": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/unzipper": { - "version": "0.10.14", - "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz", - "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==", - "dependencies": { - "big-integer": "^1.6.17", - "binary": "~0.3.0", - "bluebird": "~3.4.1", - "buffer-indexof-polyfill": "~1.0.0", - "duplexer2": "~0.1.4", - "fstream": "^1.0.12", - "graceful-fs": "^4.2.2", - "listenercount": "~1.0.1", - "readable-stream": "~2.3.6", - "setimmediate": "~1.0.4" - } - }, - "node_modules/unzipper/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "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/unzipper/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/unzipper/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "optional": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "optional": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "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/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/zip-stream": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", - "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", - "dependencies": { - "archiver-utils": "^3.0.4", - "compress-commons": "^4.1.2", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/zip-stream/node_modules/archiver-utils": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", - "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", - "dependencies": { - "glob": "^7.2.3", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - } - } -} diff --git a/scripts/package.json b/scripts/package.json deleted file mode 100644 index 7e891ba..0000000 --- a/scripts/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "import", - "version": "1.0.0", - "main": "generatorExcel.js", - "scripts": { - "start": "node generatorExcel.js" - }, - "author": "", - "license": "ISC", - "description": "", - "dependencies": { - "exceljs": "^4.4.0", - "sqlite3": "^5.1.7" - } -} diff --git a/scripts/updateDB.py b/scripts/updateDB.py deleted file mode 100644 index dfa095a..0000000 --- a/scripts/updateDB.py +++ /dev/null @@ -1,181 +0,0 @@ -import sqlite3 - -def table_exists(cursor, table_name): - cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name=?;", (table_name,)) - return cursor.fetchone() is not None - -def create_tables(): - conn = sqlite3.connect("database.sqlite") - cursor = conn.cursor() - - tables = { - "sheep": """ - CREATE TABLE IF NOT EXISTS sheep ( - id INTEGER PRIMARY KEY, - group_id INTEGER, - name TEXT, - icon TEXT, - hash TEXT, - appointment TEXT DEFAULT 'lamb', - mode INTEGER DEFAULT 0, - cu_access INTEGER DEFAULT 0, - mt_access INTEGER DEFAULT 0, - ct_access INTEGER DEFAULT 0, - ms_access INTEGER DEFAULT 0, - sm_access INTEGER DEFAULT 0, - FOREIGN KEY (group_id) REFERENCES groups(id) - );""", - "groups": """ - CREATE TABLE IF NOT EXISTS groups ( - id INTEGER PRIMARY KEY, - group_number INTEGER, - share_hash TEXT - );""", - "subscription": """ - CREATE TABLE IF NOT EXISTS subscription ( - id INTEGER PRIMARY KEY, - sheep_id INTEGER, - token TEXT, - FOREIGN KEY (sheep_id) REFERENCES sheep(id) - );""", - "house": """ - CREATE TABLE IF NOT EXISTS house ( - id INTEGER PRIMARY KEY, - group_id INTEGER, - title TEXT, - number TEXT, - points TEXT DEFAULT '[]', - points_number TEXT DEFAULT '[]', - geo TEXT DEFAULT '[]', - osm_id TEXT DEFAULT '[]', - settlement TEXT, - description TEXT, - created_at TIMESTAMP, - updated_at TIMESTAMP, - FOREIGN KEY (group_id) REFERENCES groups(id) - );""", - "entrance": """ - CREATE TABLE IF NOT EXISTS entrance ( - id INTEGER PRIMARY KEY, - house_id INTEGER, - entrance_number INTEGER, - title TEXT, - points TEXT DEFAULT '[]', - points_number TEXT DEFAULT '[]', - floors_quantity TEXT, - apartments_quantity TEXT, - description TEXT, - created_at TIMESTAMP, - updated_at TIMESTAMP, - FOREIGN KEY (house_id) REFERENCES house(id) - );""", - "entrance_history": """ - CREATE TABLE IF NOT EXISTS entrance_history ( - id INTEGER PRIMARY KEY, - entrance_id INTEGER, - name TEXT, - date_start TIMESTAMP, - date_end TIMESTAMP, - group_number INTEGER, - sheep_id TEXT, - working INTEGER DEFAULT 0, - FOREIGN KEY (entrance_id) REFERENCES entrance(id), - FOREIGN KEY (sheep_id) REFERENCES sheep(id) - );""", - "apartments": """ - CREATE TABLE IF NOT EXISTS apartments ( - id INTEGER PRIMARY KEY, - entrance_id INTEGER, - apartment_number INTEGER, - title TEXT, - floors_number INTEGER, - status INTEGER, - description TEXT, - sheep_id TEXT, - updated_at TIMESTAMP, - FOREIGN KEY (entrance_id) REFERENCES entrance(id), - FOREIGN KEY (sheep_id) REFERENCES sheep(id) - );""", - "apartments_history": """ - CREATE TABLE IF NOT EXISTS apartments_history ( - id INTEGER PRIMARY KEY, - apartments_id INTEGER, - status INTEGER, - description TEXT, - sheep_id TEXT, - created_at TIMESTAMP, - FOREIGN KEY (apartments_id) REFERENCES apartments(id) - );""", - "homestead": """ - CREATE TABLE IF NOT EXISTS homestead ( - id INTEGER PRIMARY KEY, - group_id INTEGER, - title TEXT, - number TEXT, - points TEXT DEFAULT '[]', - point_icons TEXT DEFAULT '[]', - geo TEXT DEFAULT '[]', - osm_id TEXT DEFAULT '[]', - settlement TEXT, - description TEXT, - created_at TIMESTAMP, - updated_at TIMESTAMP, - FOREIGN KEY (group_id) REFERENCES groups(id) - );""", - "homestead_history": """ - CREATE TABLE IF NOT EXISTS homestead_history ( - id INTEGER PRIMARY KEY, - homestead_id INTEGER, - name TEXT, - date_start TIMESTAMP, - date_end TIMESTAMP, - group_number INTEGER, - sheep_id TEXT, - working INTEGER DEFAULT 0, - FOREIGN KEY (homestead_id) REFERENCES homestead(id), - FOREIGN KEY (sheep_id) REFERENCES sheep(id) - );""", - "meetings_schedule": """ - CREATE TABLE IF NOT EXISTS meetings_schedule ( - id INTEGER PRIMARY KEY, - date TIMESTAMP, - type INTEGER, - name TEXT, - sheep_id TEXT, - title TEXT, - number TEXT, - FOREIGN KEY (sheep_id) REFERENCES sheep(id) - );""", - "stand_list": """ - CREATE TABLE IF NOT EXISTS stand_list ( - id INTEGER PRIMARY KEY, - title TEXT, - hour_start INTEGER DEFAULT 10, - hour_end INTEGER DEFAULT 16, - quantity_sheep INTEGER DEFAULT 2, - week_days TEXT DEFAULT '[0, 1, 2, 3, 4, 5, 6]' - );""", - "stand_schedule": """ - CREATE TABLE IF NOT EXISTS stand_schedule ( - id INTEGER PRIMARY KEY, - stand INTEGER, - date TIMESTAMP, - hour INTEGER, - sheep_id TEXT, - number_sheep TEXT, - updated_at TIMESTAMP, - FOREIGN KEY (sheep_id) REFERENCES sheep(id), - FOREIGN KEY (stand) REFERENCES stand_list(id) - );""" - } - - for name, sql in tables.items(): - if not table_exists(cursor, name): - cursor.execute(sql) - - conn.commit() - conn.close() - -if __name__ == "__main__": - create_tables() - print("Database setup complete.") \ No newline at end of file diff --git a/web/css/main.css b/web/css/main.css index c1fe9a0..25ff46e 100644 --- a/web/css/main.css +++ b/web/css/main.css @@ -151,6 +151,12 @@ select { font-size: var(--FontSize2); } +details summary::-webkit-details-marker, +details summary::marker { + display: none; + content: ""; +} + .hold-button { user-select: none; } diff --git a/web/img/stand_0.png b/web/img/stand_0.png new file mode 100644 index 0000000000000000000000000000000000000000..caa75c04677ce535369822b2fb6a9ecb7daa121e GIT binary patch literal 2115824 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 z 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 z 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